refactor: migrate legacy wire namespace to wrn
This commit is contained in:
@@ -14,7 +14,7 @@ Stepper has no steps or progress, Pagination has no pages.
|
||||
Of the remaining four, Breadcrumb is genuinely built (323 lines, own style
|
||||
block). Navbar and Sidebar render but have no keyboard handling and keep their
|
||||
styles in `ui.css`. Tabs works but is off-pattern in three ways: it is the only
|
||||
component in the library using Tailwind utility classes rather than `wire-*` +
|
||||
component in the library using Tailwind utility classes rather than `wrn-*` +
|
||||
a local style block, it has no `outputs` block and fires raw `CustomEvent`s via
|
||||
`dispatchEvent`, and it sets a roving `tabindex` with no `@keydown` handler at
|
||||
all — which is worse than having no keyboard support, because the roving
|
||||
@@ -28,7 +28,7 @@ All nine components, delivered in three phases.
|
||||
|
||||
### Styling
|
||||
|
||||
Every navigation component gets a local `style {}` block using `wire-*`
|
||||
Every navigation component gets a local `style {}` block using `wrn-*`
|
||||
classes. This matches DataTable, Toaster, Modal, Drawer, ContextMenu and
|
||||
Breadcrumb — the 22 of 108 components that carry local styles are exactly the
|
||||
recently built ones. Navbar and Sidebar styles move out of `ui.css` as part of
|
||||
@@ -116,7 +116,7 @@ scroll lock rather than duplicating them.
|
||||
| Component | Work |
|
||||
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Nav | Build. Flat or multi-level (3 deep), horizontal/vertical, `items[{label,href,value,icon,badge,disabled,items}]`, `aria-current="page"`, roving focus, animated arrows, collapses on mobile. `outputs: select` |
|
||||
| Tabs | Rewrite off Tailwind onto `wire-*` + local styles. Real `outputs {change, select}` replacing raw `dispatchEvent`. Roving + Home/End. `mode="client"\|"url"`. Panel transition. Fix the `<slot>` that renders regardless of active tab |
|
||||
| Tabs | Rewrite off Tailwind onto `wrn-*` + local styles. Real `outputs {change, select}` replacing raw `dispatchEvent`. Roving + Home/End. `mode="client"\|"url"`. Panel transition. Fix the `<slot>` that renders regardless of active tab |
|
||||
| Pagination | Build standalone. `page`/`pageSize`/`total`, compact + numbered styles, windowed page numbers. `outputs: change, previous, next` |
|
||||
| Stepper | Build. `<ol>`/`<li>`, status derived from `active` index, horizontal/vertical, optionally clickable, `aria-current="step"`. Indexed named slots (`data-slot="step-0"`, `step-1`, …) for custom per-step content, falling back to built-in rendering |
|
||||
| MegaMenu | Build. Trigger plus a single-level panel of link columns. Panel marked `data-wrn-anchored` so the existing clamp handles viewport containment. Hover and focus open, Escape closes, click-outside closes |
|
||||
|
||||
@@ -10,7 +10,7 @@ Two problems, in different proportions to the navigation group.
|
||||
**Three components advertise behaviour they do not have.**
|
||||
|
||||
`LayoutSplitter` is the worst component in the library. It declares
|
||||
`resizeStart`, `resize` and `resizeEnd`, so a caller reasonably wires up
|
||||
`resizeStart`, `resize` and `resizeEnd`, so a caller reasonably connects up
|
||||
`@resize` and receives nothing, forever, with no error. It has no pointer
|
||||
handling at all, and its props are `columns`, `gap` and `maxWidth`, copied
|
||||
wholesale from a grid scaffold. `CustomScrollbar` is the same shape: a
|
||||
@@ -22,9 +22,9 @@ genuinely does not need more. It is thin, not dishonest.
|
||||
**Most of the group is built on Tailwind utilities.**
|
||||
|
||||
Seven of the ten use utility classes and `class:` conditionals rather than
|
||||
`wire-*` classes and a local style block. They are theme-aware, because the
|
||||
`wrn-*` classes and a local style block. They are theme-aware, because the
|
||||
utilities carry arbitrary values bound to tokens
|
||||
(`bg-[var(--wire-color-surface-soft)]`), but they depend on Tailwind being
|
||||
(`bg-[var(--wrn-color-surface-soft)]`), but they depend on Tailwind being
|
||||
present and produce a class explosion. `SectionHeader` has 38 such lines.
|
||||
|
||||
A correction that shaped this survey: when Tabs was rewritten it was described
|
||||
@@ -50,7 +50,7 @@ audit rather than a rewrite.
|
||||
|
||||
### Styling
|
||||
|
||||
Every component in scope moves to `wire-*` classes with a local `style {}`
|
||||
Every component in scope moves to `wrn-*` classes with a local `style {}`
|
||||
block and `data-*` attributes for variants, matching PageHeader, DataTable,
|
||||
Toaster and the navigation group.
|
||||
|
||||
@@ -95,7 +95,7 @@ something: `axis`, `thickness`, `thumb`, `track`, `maxHeight`.
|
||||
|
||||
### Kbd
|
||||
|
||||
Left as it is, beyond the `wire-*` migration. It is thin because a `<kbd>`
|
||||
Left as it is, beyond the `wrn-*` migration. It is thin because a `<kbd>`
|
||||
is thin.
|
||||
|
||||
### Runtime budget
|
||||
|
||||
Reference in New Issue
Block a user