fix: replace PrimeVue FloatLabel in WidgetTextarea with CSS-only IFTA label#9076
fix: replace PrimeVue FloatLabel in WidgetTextarea with CSS-only IFTA label#9076christian-byrne merged 2 commits intomainfrom
Conversation
… label PrimeVue FloatLabel variant="in" obscures textarea content when text fills the area. Replace with a plain div wrapper, absolutely-positioned label, and a new shadcn-vue Textarea component wrapping native textarea. - Add src/components/ui/textarea/Textarea.vue (thin native wrapper) - Add Storybook stories (Default, Disabled, WithLabel) - Remove PrimeVue FloatLabel and Textarea imports from WidgetTextarea - Remove PrimeVue plugin setup from tests Amp-Thread-ID: https://ampcode.com/threads/T-019c8347-572e-778f-aab1-3eaea0f466c6
|
Playwright: ✅ 530 passed, 0 failed · 2 flaky 📊 Browser Reports
|
🎨 Storybook Build Status✅ Build completed successfully! ⏰ Completed at: 02/22/2026, 05:43:41 AM UTC 🔗 Links🎉 Your Storybook is ready for review! |
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (18)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including You can disable this status message by setting the Use the checkbox below for a quick retry:
📝 WalkthroughWalkthroughA new custom Textarea Vue component is introduced to replace PrimeVue's Textarea. The component supports v-model binding and custom styling. Storybook stories document three usage variants, and WidgetTextarea is migrated to use the new component while removing global plugin registration from tests. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~22 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
📦 Bundle: 4.37 MB gzip 🔴 +358 BDetailsSummary
Category Glance App Entry Points — 21.5 kB (baseline 21.5 kB) • ⚪ 0 BMain entry bundles and manifests
Status: 1 added / 1 removed Graph Workspace — 942 kB (baseline 942 kB) • ⚪ 0 BGraph editor runtime, canvas, workflow orchestration
Status: 1 added / 1 removed Views & Navigation — 68.8 kB (baseline 68.8 kB) • ⚪ 0 BTop-level views, pages, and routed surfaces
Status: 9 added / 9 removed Panels & Settings — 436 kB (baseline 436 kB) • ⚪ 0 BConfiguration panels, inspectors, and settings screens
Status: 10 added / 10 removed User & Accounts — 16 kB (baseline 16 kB) • ⚪ 0 BAuthentication, profile, and account management bundles
Status: 5 added / 5 removed Editors & Dialogs — 738 B (baseline 738 B) • ⚪ 0 BModals, dialogs, drawers, and in-app editors
Status: 1 added / 1 removed UI Components — 43.2 kB (baseline 43.2 kB) • ⚪ 0 BReusable component library chunks
Status: 5 added / 5 removed Data & Services — 2.51 MB (baseline 2.51 MB) • 🟢 -2 BStores, services, APIs, and repositories
Status: 13 added / 13 removed Utilities & Hooks — 58.3 kB (baseline 58.3 kB) • ⚪ 0 BHelpers, composables, and utility bundles
Status: 12 added / 12 removed Vendor & Third-Party — 8.83 MB (baseline 8.83 MB) • ⚪ 0 BExternal libraries and shared vendor chunks
Other — 7.61 MB (baseline 7.61 MB) • 🔴 +830 BBundles that do not match a named category
Status: 48 added / 48 removed |
|
Updating Playwright Expectations |
|
Verifying that all failed tests from previous runs were due to snapshot diffs and not signaling any actual regressions. |
|
Verdict: All 18 are expected snapshot mismatches. Regenerating the screenshots has fixed them - no logic changes needed in any test file. There are zero failures signaling an actual regression. |
Summary
Replace PrimeVue
FloatLabel+TextareainWidgetTextareawith a CSS-only IFTA label and a new shadcn-vue Textarea component, fixing the label-obscures-content bug.Changes
src/components/ui/textarea/Textarea.vue— thin wrapper around native<textarea>withcn()class merging anddefineModel. RewriteWidgetTextarea.vueto use a plain<div>wrapper with an absolutely-positioned label and the new Textarea, replacing PrimeVue'sFloatLabel variant="in". Add Storybook stories (Default, Disabled, WithLabel). Update tests to remove PrimeVue plugin setup.Review Focus
absolute left-3 top-1.5 z-10 text-xxspositioning — verify it clears textarea content withpt-5paddingfilteredPropsforwards widget options to a native textarea viav-bind="restAttrs"— unknown attrs are silently ignored by the browserSupersedes #8536
┆Issue is synchronized with this Notion page by Unito