@webjsdev/ui 0.3.4 → 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -2
- package/package.json +1 -1
- package/packages/registry/components/alert-dialog.ts +49 -32
- package/packages/registry/components/alert.ts +5 -0
- package/packages/registry/components/avatar.ts +5 -0
- package/packages/registry/components/badge.ts +4 -0
- package/packages/registry/components/breadcrumb.ts +5 -0
- package/packages/registry/components/button.ts +6 -0
- package/packages/registry/components/dialog.ts +44 -22
- package/packages/registry/components/dropdown-menu.ts +82 -32
- package/packages/registry/components/hover-card.ts +44 -13
- package/packages/registry/components/pagination.ts +5 -0
- package/packages/registry/components/progress.ts +5 -0
- package/packages/registry/components/separator.ts +5 -0
- package/packages/registry/components/skeleton.ts +5 -0
- package/packages/registry/components/sonner.ts +14 -6
- package/packages/registry/components/table.ts +7 -2
- package/packages/registry/components/tabs.ts +52 -33
- package/packages/registry/components/toggle-group.ts +73 -31
- package/packages/registry/components/toggle.ts +7 -13
- package/packages/registry/components/tooltip.ts +37 -11
- package/packages/registry/lib/utils.ts +27 -0
- package/packages/registry/registry.json +14 -1
|
@@ -100,6 +100,33 @@ function variantPrefix(token: string): string {
|
|
|
100
100
|
return i === -1 ? '' : token.slice(0, i + 1);
|
|
101
101
|
}
|
|
102
102
|
|
|
103
|
+
// ---------------------------------------------------------------------------
|
|
104
|
+
// Stable DOM ids for wiring ARIA relationships (aria-controls /
|
|
105
|
+
// aria-labelledby / aria-describedby) between sibling light-DOM nodes.
|
|
106
|
+
// A monotonic counter is fine for uniqueness within a document: the id is
|
|
107
|
+
// only consumed as an attribute value, never persisted. When SSR emits an
|
|
108
|
+
// id on a host element, the upgraded element reuses it (ensureId is a no-op
|
|
109
|
+
// when an id is already present), so the server and client agree.
|
|
110
|
+
// ---------------------------------------------------------------------------
|
|
111
|
+
|
|
112
|
+
let _idSeq = 0;
|
|
113
|
+
|
|
114
|
+
/** A fresh, document-unique id string with a readable prefix. */
|
|
115
|
+
export function domId(prefix = 'ui'): string {
|
|
116
|
+
_idSeq += 1;
|
|
117
|
+
return `${prefix}-${_idSeq}`;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Returns `el.id`, assigning a generated one (prefix-based) when absent.
|
|
122
|
+
* Idempotent, so an id already present (author-set, or carried over from
|
|
123
|
+
* SSR) is reused unchanged.
|
|
124
|
+
*/
|
|
125
|
+
export function ensureId(el: { id: string }, prefix = 'ui'): string {
|
|
126
|
+
if (!el.id) el.id = domId(prefix);
|
|
127
|
+
return el.id;
|
|
128
|
+
}
|
|
129
|
+
|
|
103
130
|
// ---------------------------------------------------------------------------
|
|
104
131
|
// Custom-element base: SSR-safe. In the browser `Base = HTMLElement`. On
|
|
105
132
|
// the server (Node, during SSR) `HTMLElement` is undefined; we substitute
|
|
@@ -188,7 +188,8 @@
|
|
|
188
188
|
"name": "dialog",
|
|
189
189
|
"type": "registry:ui",
|
|
190
190
|
"registryDependencies": [
|
|
191
|
-
"lib-utils"
|
|
191
|
+
"lib-utils",
|
|
192
|
+
"button"
|
|
192
193
|
],
|
|
193
194
|
"dependencies": [
|
|
194
195
|
"@webjsdev/core"
|
|
@@ -203,6 +204,9 @@
|
|
|
203
204
|
{
|
|
204
205
|
"name": "dropdown-menu",
|
|
205
206
|
"type": "registry:ui",
|
|
207
|
+
"registryDependencies": [
|
|
208
|
+
"popover"
|
|
209
|
+
],
|
|
206
210
|
"dependencies": [
|
|
207
211
|
"@webjsdev/core"
|
|
208
212
|
],
|
|
@@ -216,6 +220,9 @@
|
|
|
216
220
|
{
|
|
217
221
|
"name": "hover-card",
|
|
218
222
|
"type": "registry:ui",
|
|
223
|
+
"registryDependencies": [
|
|
224
|
+
"popover"
|
|
225
|
+
],
|
|
219
226
|
"dependencies": [
|
|
220
227
|
"@webjsdev/core"
|
|
221
228
|
],
|
|
@@ -452,6 +459,9 @@
|
|
|
452
459
|
{
|
|
453
460
|
"name": "toggle-group",
|
|
454
461
|
"type": "registry:ui",
|
|
462
|
+
"registryDependencies": [
|
|
463
|
+
"toggle"
|
|
464
|
+
],
|
|
455
465
|
"dependencies": [
|
|
456
466
|
"@webjsdev/core"
|
|
457
467
|
],
|
|
@@ -465,6 +475,9 @@
|
|
|
465
475
|
{
|
|
466
476
|
"name": "tooltip",
|
|
467
477
|
"type": "registry:ui",
|
|
478
|
+
"registryDependencies": [
|
|
479
|
+
"popover"
|
|
480
|
+
],
|
|
468
481
|
"dependencies": [
|
|
469
482
|
"@webjsdev/core"
|
|
470
483
|
],
|