fix(edit-content): resolve UI inconsistencies after Lara Theme migration#35319
fix(edit-content): resolve UI inconsistencies after Lara Theme migration#35319
Conversation
|
Claude finished @oidacra's task in 4m 18s —— View job PR Review
Findings1. &:hover:not(.ng-invalid):not(.ng-dirty) { ... }
&:focus-within:not(.ng-invalid):not(.ng-dirty) { ... }
2. <p-tablist class="border-b border-[var(--p-inputtext-border-color)] px-8">The 3. <p-tablist class="... px-8">
...
<div class="... -mr-8">The sidebar toggle uses 4. - class="rounded-md block h-full min-h-[150px] overflow-auto w-full"
+ class="rounded-md block h-full min-h-[150px] w-full px-[3px]"
5. :host ::ng-deep p-datepicker {
&:focus-within {
border-color: var(--p-inputtext-focus-border-color); // no-op
box-shadow: var(--p-focus-ring-shadow); // works
}
}
6. Sidebar always rendered in DOM The |
|
Claude finished @oidacra's task in 53s —— View job Rollback Safety Analysis
Result: Safe to Rollback ✅All 5 changed files are pure frontend (Angular/CSS/SCSS) — no backend, database, Elasticsearch, or API changes are present.
All changes are limited to:
Label |
|
Screenshot please :D |
Legal RiskThe following dependencies were released under a license that RecommendationWhile merging is not directly blocked, it's best to pause and consider what it means to use this license before continuing. If you are unsure, reach out to your security team or Semgrep admin to address this issue. GPL-2.0 MPL-2.0 |
…ra theme tokens - Add [fluid]="true" to tags field autocomplete for full-width rendering - Replace hardcoded outline styles on block editor with PrimeNG Lara input tokens for border, hover, focus, and error states - Replace $border-radius-md with var(--p-inputtext-border-radius) on binary field drop-zone elements
…ttom border - Wire [loading] and [disabled] bindings to workflow action buttons using the store's isSaving signal to prevent duplicate submissions - Add tabsPt passthrough config with bottom border on main content tabs to match sidebar tab styling
… align tabs Unifies hover/focus/transition and border-radius across non-native PrimeNG inputs (Binary, Block Editor, File/Image, JSON, WYSIWYG/TinyMCE + Monaco, Relationship, Category, Calendar) using Lara theme tokens so they move with the theme. Other fixes in the same pass: - Move date field focus/hover ring to the p-datepicker wrapper so it encloses the input and calendar button as one unit. - Category field: gray border, border-radius, stable 36px min-height. - JSON field: remove overflow-auto clipping the focus ring and reserve horizontal breathing room so the ring is not cut off on the sides. - Form and sidebar p-tablist: add matching gray bottom border and align both tablists at the same 51px height so their baselines match. - Form tablist: add px-8 so tabs and right-side actions align with the form body; drop redundant pr-4 on edit-content-actions.
- Keep sidebar always mounted with @defer (on idle) instead of @if, avoiding mount/unmount churn and the content squeeze during the grid transition. - Mark the sidebar inert and aria-hidden while collapsed so it stays focus-/AT-transparent. - Sync the external toggle with an Angular :enter/:leave width animation (150ms) so the Save group no longer snaps when the button appears or disappears; it now interpolates in step with the grid columns. - Match the external toggle's wrapper, button size, icon, and right placement (-mr-8) to the internal one so the icon does not jump between the open and closed states. - Force the sidebar tablist inner list and tabs to full height so the inactive tab background reaches the bottom border.
Replace shadow-md (all-sides) with a left-biased shadow so the sidebar reads as a floating panel over the body instead of a boxed pane.
Apply the left-cast shadow only when the sidebar is not inert so it stops bleeding into the body area while the sidebar is off-screen.
9b20df0 to
274d0f6
Compare
… flash Drop the @defer (on idle) around the sidebar: the component is statically imported, so deferring only delayed instantiation without reducing the bundle. The grid reserves the sidebar column from the first frame, so waiting for idle left ~200ms of empty white space on initial load.
Summary
Closes #35009
Changes
core-web/libs/edit-content/src/lib/fields/dot-edit-content-tag-field/components/tag-field/tag-field.component.html[fluid]="true"to<p-autoComplete>for 100% widthcore-web/libs/block-editor/src/lib/components/dot-block-editor/dot-block-editor.component.css--p-inputtext-*CSS custom properties for border, hover, focus, error, and border-radius statescore-web/libs/edit-content/src/lib/fields/dot-edit-content-binary-field/dot-edit-content-binary-field.component.scss$border-radius-mdwithvar(--p-inputtext-border-radius)on drop-zone elementscore-web/libs/edit-content/src/lib/components/dot-edit-content-form/dot-edit-content-form.component.html[loading]and[disabled]bindings on workflow action buttons; add[pt]="tabsPt"to tabscore-web/libs/edit-content/src/lib/components/dot-edit-content-form/dot-edit-content-form.component.tstabsPtpassthrough config with bottom border for main content tabsAcceptance Criteria
Test Plan
Visual Changes
Notes
Two atomic commits:
fix(edit-content): align tags, block editor, and binary field with Lara theme tokens— Pure CSS/SCSS/template styling fixesfix(edit-content): disable action buttons during save and add tabs bottom border— Component logic wiring for button state and tabs passthrough