@nqmcreative/ui 0.1.0

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.
Files changed (135) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +507 -0
  3. package/cli/index.mjs +410 -0
  4. package/dist/actions/anchor.d.ts +29 -0
  5. package/dist/actions/anchor.js +122 -0
  6. package/dist/actions/dismissable.d.ts +44 -0
  7. package/dist/actions/dismissable.js +147 -0
  8. package/dist/components/Accordion.svelte +14 -0
  9. package/dist/components/Accordion.svelte.d.ts +8 -0
  10. package/dist/components/AccordionItem.svelte +46 -0
  11. package/dist/components/AccordionItem.svelte.d.ts +14 -0
  12. package/dist/components/Alert.svelte +88 -0
  13. package/dist/components/Alert.svelte.d.ts +18 -0
  14. package/dist/components/Avatar.svelte +58 -0
  15. package/dist/components/Avatar.svelte.d.ts +16 -0
  16. package/dist/components/AvatarGroup.svelte +17 -0
  17. package/dist/components/AvatarGroup.svelte.d.ts +8 -0
  18. package/dist/components/Badge.svelte +53 -0
  19. package/dist/components/Badge.svelte.d.ts +18 -0
  20. package/dist/components/Breadcrumb.svelte +46 -0
  21. package/dist/components/Breadcrumb.svelte.d.ts +14 -0
  22. package/dist/components/Button.svelte +94 -0
  23. package/dist/components/Button.svelte.d.ts +21 -0
  24. package/dist/components/Calendar.svelte +206 -0
  25. package/dist/components/Calendar.svelte.d.ts +22 -0
  26. package/dist/components/Card.svelte +76 -0
  27. package/dist/components/Card.svelte.d.ts +21 -0
  28. package/dist/components/Checkbox.svelte +69 -0
  29. package/dist/components/Checkbox.svelte.d.ts +15 -0
  30. package/dist/components/CheckboxGroup.svelte +109 -0
  31. package/dist/components/CheckboxGroup.svelte.d.ts +30 -0
  32. package/dist/components/Combobox.svelte +268 -0
  33. package/dist/components/Combobox.svelte.d.ts +29 -0
  34. package/dist/components/CommandPalette.svelte +226 -0
  35. package/dist/components/CommandPalette.svelte.d.ts +32 -0
  36. package/dist/components/ConfirmDialog.svelte +97 -0
  37. package/dist/components/ConfirmDialog.svelte.d.ts +22 -0
  38. package/dist/components/ContextMenu.svelte +90 -0
  39. package/dist/components/ContextMenu.svelte.d.ts +15 -0
  40. package/dist/components/DatePicker.svelte +186 -0
  41. package/dist/components/DatePicker.svelte.d.ts +23 -0
  42. package/dist/components/Divider.svelte +30 -0
  43. package/dist/components/Divider.svelte.d.ts +10 -0
  44. package/dist/components/Drawer.svelte +161 -0
  45. package/dist/components/Drawer.svelte.d.ts +20 -0
  46. package/dist/components/Dropdown.svelte +112 -0
  47. package/dist/components/Dropdown.svelte.d.ts +23 -0
  48. package/dist/components/Dropzone.svelte +226 -0
  49. package/dist/components/Dropzone.svelte.d.ts +32 -0
  50. package/dist/components/EmptyState.svelte +57 -0
  51. package/dist/components/EmptyState.svelte.d.ts +18 -0
  52. package/dist/components/Field.svelte +42 -0
  53. package/dist/components/Field.svelte.d.ts +16 -0
  54. package/dist/components/Footer.svelte +93 -0
  55. package/dist/components/Footer.svelte.d.ts +25 -0
  56. package/dist/components/Input.svelte +60 -0
  57. package/dist/components/Input.svelte.d.ts +18 -0
  58. package/dist/components/InputGroup.svelte +19 -0
  59. package/dist/components/InputGroup.svelte.d.ts +10 -0
  60. package/dist/components/Kbd.svelte +17 -0
  61. package/dist/components/Kbd.svelte.d.ts +8 -0
  62. package/dist/components/Label.svelte +16 -0
  63. package/dist/components/Label.svelte.d.ts +9 -0
  64. package/dist/components/Link.svelte +44 -0
  65. package/dist/components/Link.svelte.d.ts +16 -0
  66. package/dist/components/LocaleProvider.svelte +24 -0
  67. package/dist/components/LocaleProvider.svelte.d.ts +10 -0
  68. package/dist/components/MenuItem.svelte +58 -0
  69. package/dist/components/MenuItem.svelte.d.ts +18 -0
  70. package/dist/components/MenuSeparator.svelte +22 -0
  71. package/dist/components/MenuSeparator.svelte.d.ts +8 -0
  72. package/dist/components/Modal.svelte +114 -0
  73. package/dist/components/Modal.svelte.d.ts +21 -0
  74. package/dist/components/MultiSelect.svelte +292 -0
  75. package/dist/components/MultiSelect.svelte.d.ts +31 -0
  76. package/dist/components/Navbar.svelte +190 -0
  77. package/dist/components/Navbar.svelte.d.ts +33 -0
  78. package/dist/components/NumberInput.svelte +100 -0
  79. package/dist/components/NumberInput.svelte.d.ts +15 -0
  80. package/dist/components/Pagination.svelte +90 -0
  81. package/dist/components/Pagination.svelte.d.ts +15 -0
  82. package/dist/components/PasswordInput.svelte +104 -0
  83. package/dist/components/PasswordInput.svelte.d.ts +12 -0
  84. package/dist/components/Popover.svelte +114 -0
  85. package/dist/components/Popover.svelte.d.ts +19 -0
  86. package/dist/components/Progress.svelte +56 -0
  87. package/dist/components/Progress.svelte.d.ts +17 -0
  88. package/dist/components/Radio.svelte +55 -0
  89. package/dist/components/Radio.svelte.d.ts +15 -0
  90. package/dist/components/RadioGroup.svelte +93 -0
  91. package/dist/components/RadioGroup.svelte.d.ts +27 -0
  92. package/dist/components/SegmentedControl.svelte +88 -0
  93. package/dist/components/SegmentedControl.svelte.d.ts +25 -0
  94. package/dist/components/Select.svelte +61 -0
  95. package/dist/components/Select.svelte.d.ts +20 -0
  96. package/dist/components/Sidebar.svelte +206 -0
  97. package/dist/components/Sidebar.svelte.d.ts +36 -0
  98. package/dist/components/Skeleton.svelte +46 -0
  99. package/dist/components/Skeleton.svelte.d.ts +13 -0
  100. package/dist/components/Slider.svelte +79 -0
  101. package/dist/components/Slider.svelte.d.ts +19 -0
  102. package/dist/components/Spinner.svelte +34 -0
  103. package/dist/components/Spinner.svelte.d.ts +13 -0
  104. package/dist/components/Stat.svelte +49 -0
  105. package/dist/components/Stat.svelte.d.ts +16 -0
  106. package/dist/components/Steps.svelte +136 -0
  107. package/dist/components/Steps.svelte.d.ts +24 -0
  108. package/dist/components/Switch.svelte +64 -0
  109. package/dist/components/Switch.svelte.d.ts +14 -0
  110. package/dist/components/Table.svelte +236 -0
  111. package/dist/components/Table.svelte.d.ts +70 -0
  112. package/dist/components/Tabs.svelte +91 -0
  113. package/dist/components/Tabs.svelte.d.ts +23 -0
  114. package/dist/components/Textarea.svelte +54 -0
  115. package/dist/components/Textarea.svelte.d.ts +12 -0
  116. package/dist/components/ThemeToggle.svelte +133 -0
  117. package/dist/components/ThemeToggle.svelte.d.ts +20 -0
  118. package/dist/components/Toaster.svelte +110 -0
  119. package/dist/components/Toaster.svelte.d.ts +8 -0
  120. package/dist/components/Tooltip.svelte +33 -0
  121. package/dist/components/Tooltip.svelte.d.ts +12 -0
  122. package/dist/date.d.ts +35 -0
  123. package/dist/date.js +108 -0
  124. package/dist/fonts.css +193 -0
  125. package/dist/index.d.ts +105 -0
  126. package/dist/index.js +77 -0
  127. package/dist/locale.svelte.d.ts +93 -0
  128. package/dist/locale.svelte.js +153 -0
  129. package/dist/theme.css +210 -0
  130. package/dist/toast.svelte.d.ts +47 -0
  131. package/dist/toast.svelte.js +60 -0
  132. package/dist/tones.d.ts +48 -0
  133. package/dist/tones.js +209 -0
  134. package/package.json +349 -0
  135. package/registry.json +669 -0
package/registry.json ADDED
@@ -0,0 +1,669 @@
1
+ {
2
+ "name": "@nqmcreative/ui",
3
+ "homepage": "https://github.com/mukhsamr/nqmcreative-ui",
4
+ "count": 57,
5
+ "components": [
6
+ {
7
+ "name": "Accordion",
8
+ "subpath": "@nqmcreative/ui/accordion",
9
+ "file": "src/lib/components/Accordion.svelte",
10
+ "category": "layout & navigation",
11
+ "description": "Wrapper that stacks collapsible items with hairlines between them.",
12
+ "uses": [],
13
+ "modules": []
14
+ },
15
+ {
16
+ "name": "AccordionItem",
17
+ "subpath": "@nqmcreative/ui/accordion-item",
18
+ "file": "src/lib/components/AccordionItem.svelte",
19
+ "category": "layout & navigation",
20
+ "description": "A single collapsible row, built on <details> so it works without JS.",
21
+ "uses": [],
22
+ "modules": [
23
+ "tones"
24
+ ]
25
+ },
26
+ {
27
+ "name": "Alert",
28
+ "subpath": "@nqmcreative/ui/alert",
29
+ "file": "src/lib/components/Alert.svelte",
30
+ "category": "feedback",
31
+ "description": "Inline message in any tone, optionally dismissible.",
32
+ "uses": [],
33
+ "modules": [
34
+ "locale",
35
+ "tones"
36
+ ]
37
+ },
38
+ {
39
+ "name": "Avatar",
40
+ "subpath": "@nqmcreative/ui/avatar",
41
+ "file": "src/lib/components/Avatar.svelte",
42
+ "category": "data display",
43
+ "description": "Image or initials, circular or squared, in five sizes.",
44
+ "uses": [],
45
+ "modules": [
46
+ "tones"
47
+ ]
48
+ },
49
+ {
50
+ "name": "AvatarGroup",
51
+ "subpath": "@nqmcreative/ui/avatar-group",
52
+ "file": "src/lib/components/AvatarGroup.svelte",
53
+ "category": "data display",
54
+ "description": "Overlapping row of avatars with a ring cut out of the background.",
55
+ "uses": [],
56
+ "modules": []
57
+ },
58
+ {
59
+ "name": "Badge",
60
+ "subpath": "@nqmcreative/ui/badge",
61
+ "file": "src/lib/components/Badge.svelte",
62
+ "category": "data display",
63
+ "description": "Pill label for status and counts. Solid, soft or outline.",
64
+ "uses": [],
65
+ "modules": [
66
+ "tones"
67
+ ]
68
+ },
69
+ {
70
+ "name": "Breadcrumb",
71
+ "subpath": "@nqmcreative/ui/breadcrumb",
72
+ "file": "src/lib/components/Breadcrumb.svelte",
73
+ "category": "layout & navigation",
74
+ "description": "Trail of links to the current page.",
75
+ "uses": [],
76
+ "modules": [
77
+ "locale",
78
+ "tones"
79
+ ]
80
+ },
81
+ {
82
+ "name": "Button",
83
+ "subpath": "@nqmcreative/ui/button",
84
+ "file": "src/lib/components/Button.svelte",
85
+ "category": "actions",
86
+ "description": "Five variants and four sizes, with a loading state and an href mode.",
87
+ "uses": [
88
+ "Spinner"
89
+ ],
90
+ "modules": [
91
+ "tones"
92
+ ]
93
+ },
94
+ {
95
+ "name": "Calendar",
96
+ "subpath": "@nqmcreative/ui/calendar",
97
+ "file": "src/lib/components/Calendar.svelte",
98
+ "category": "forms",
99
+ "description": "Month grid with keyboard navigation, bounds and disabled days.",
100
+ "uses": [],
101
+ "modules": [
102
+ "date",
103
+ "locale",
104
+ "tones"
105
+ ]
106
+ },
107
+ {
108
+ "name": "Card",
109
+ "subpath": "@nqmcreative/ui/card",
110
+ "file": "src/lib/components/Card.svelte",
111
+ "category": "data display",
112
+ "description": "Bordered, filled or tinted surface with an optional header and footer.",
113
+ "uses": [],
114
+ "modules": [
115
+ "tones"
116
+ ]
117
+ },
118
+ {
119
+ "name": "Checkbox",
120
+ "subpath": "@nqmcreative/ui/checkbox",
121
+ "file": "src/lib/components/Checkbox.svelte",
122
+ "category": "forms",
123
+ "description": "Single checkbox with a label, description and indeterminate state.",
124
+ "uses": [],
125
+ "modules": [
126
+ "tones"
127
+ ]
128
+ },
129
+ {
130
+ "name": "CheckboxGroup",
131
+ "subpath": "@nqmcreative/ui/checkbox-group",
132
+ "file": "src/lib/components/CheckboxGroup.svelte",
133
+ "category": "forms",
134
+ "description": "A set of checkboxes bound to a string array, with an optional cap.",
135
+ "uses": [
136
+ "Checkbox"
137
+ ],
138
+ "modules": [
139
+ "tones"
140
+ ]
141
+ },
142
+ {
143
+ "name": "Combobox",
144
+ "subpath": "@nqmcreative/ui/combobox",
145
+ "file": "src/lib/components/Combobox.svelte",
146
+ "category": "forms",
147
+ "description": "Single-select with a text filter and keyboard navigation.",
148
+ "uses": [],
149
+ "modules": [
150
+ "actions/anchor",
151
+ "actions/dismissable",
152
+ "locale",
153
+ "tones"
154
+ ]
155
+ },
156
+ {
157
+ "name": "CommandPalette",
158
+ "subpath": "@nqmcreative/ui/command-palette",
159
+ "file": "src/lib/components/CommandPalette.svelte",
160
+ "category": "overlay",
161
+ "description": "Cmd+K launcher with grouping, shortcuts and hidden keywords.",
162
+ "uses": [
163
+ "Kbd"
164
+ ],
165
+ "modules": [
166
+ "actions/dismissable",
167
+ "locale",
168
+ "tones"
169
+ ]
170
+ },
171
+ {
172
+ "name": "ConfirmDialog",
173
+ "subpath": "@nqmcreative/ui/confirm-dialog",
174
+ "file": "src/lib/components/ConfirmDialog.svelte",
175
+ "category": "overlay",
176
+ "description": "Small dialog that stays busy until an async confirm settles.",
177
+ "uses": [
178
+ "Button",
179
+ "Modal"
180
+ ],
181
+ "modules": [
182
+ "locale",
183
+ "tones"
184
+ ]
185
+ },
186
+ {
187
+ "name": "ContextMenu",
188
+ "subpath": "@nqmcreative/ui/context-menu",
189
+ "file": "src/lib/components/ContextMenu.svelte",
190
+ "category": "overlay",
191
+ "description": "Right-click menu placed at the pointer, flipped near the edges.",
192
+ "uses": [],
193
+ "modules": [
194
+ "actions/anchor",
195
+ "actions/dismissable",
196
+ "locale"
197
+ ]
198
+ },
199
+ {
200
+ "name": "DatePicker",
201
+ "subpath": "@nqmcreative/ui/date-picker",
202
+ "file": "src/lib/components/DatePicker.svelte",
203
+ "category": "forms",
204
+ "description": "Text field plus a calendar popover. Value is a YYYY-MM-DD string.",
205
+ "uses": [
206
+ "Calendar"
207
+ ],
208
+ "modules": [
209
+ "actions/anchor",
210
+ "actions/dismissable",
211
+ "date",
212
+ "locale",
213
+ "tones"
214
+ ]
215
+ },
216
+ {
217
+ "name": "Divider",
218
+ "subpath": "@nqmcreative/ui/divider",
219
+ "file": "src/lib/components/Divider.svelte",
220
+ "category": "layout & navigation",
221
+ "description": "Hairline rule, horizontal or vertical, with an optional caption.",
222
+ "uses": [],
223
+ "modules": []
224
+ },
225
+ {
226
+ "name": "Drawer",
227
+ "subpath": "@nqmcreative/ui/drawer",
228
+ "file": "src/lib/components/Drawer.svelte",
229
+ "category": "overlay",
230
+ "description": "Panel that slides in from any edge, on the native dialog top layer.",
231
+ "uses": [],
232
+ "modules": [
233
+ "locale"
234
+ ]
235
+ },
236
+ {
237
+ "name": "Dropdown",
238
+ "subpath": "@nqmcreative/ui/dropdown",
239
+ "file": "src/lib/components/Dropdown.svelte",
240
+ "category": "overlay",
241
+ "description": "Menu anchored to a trigger, with focus trap and viewport flipping.",
242
+ "uses": [],
243
+ "modules": [
244
+ "actions/anchor",
245
+ "actions/dismissable",
246
+ "locale"
247
+ ]
248
+ },
249
+ {
250
+ "name": "Dropzone",
251
+ "subpath": "@nqmcreative/ui/dropzone",
252
+ "file": "src/lib/components/Dropzone.svelte",
253
+ "category": "forms",
254
+ "description": "Drag-and-drop file input with type, size and count validation.",
255
+ "uses": [],
256
+ "modules": [
257
+ "locale",
258
+ "tones"
259
+ ]
260
+ },
261
+ {
262
+ "name": "EmptyState",
263
+ "subpath": "@nqmcreative/ui/empty-state",
264
+ "file": "src/lib/components/EmptyState.svelte",
265
+ "category": "feedback",
266
+ "description": "Placeholder for an empty list, with a glyph and an action slot.",
267
+ "uses": [],
268
+ "modules": [
269
+ "tones"
270
+ ]
271
+ },
272
+ {
273
+ "name": "Field",
274
+ "subpath": "@nqmcreative/ui/field",
275
+ "file": "src/lib/components/Field.svelte",
276
+ "category": "forms",
277
+ "description": "Wraps any control with a label, hint and error message.",
278
+ "uses": [],
279
+ "modules": []
280
+ },
281
+ {
282
+ "name": "Footer",
283
+ "subpath": "@nqmcreative/ui/footer",
284
+ "file": "src/lib/components/Footer.svelte",
285
+ "category": "app shell",
286
+ "description": "Site footer with link columns and a bottom bar.",
287
+ "uses": [],
288
+ "modules": [
289
+ "tones"
290
+ ]
291
+ },
292
+ {
293
+ "name": "Input",
294
+ "subpath": "@nqmcreative/ui/input",
295
+ "file": "src/lib/components/Input.svelte",
296
+ "category": "forms",
297
+ "description": "Text field with prefix and suffix slots, sizes and an invalid state.",
298
+ "uses": [],
299
+ "modules": [
300
+ "tones"
301
+ ]
302
+ },
303
+ {
304
+ "name": "InputGroup",
305
+ "subpath": "@nqmcreative/ui/input-group",
306
+ "file": "src/lib/components/InputGroup.svelte",
307
+ "category": "forms",
308
+ "description": "Joins an input to a button or addon with a single shared border.",
309
+ "uses": [],
310
+ "modules": []
311
+ },
312
+ {
313
+ "name": "Kbd",
314
+ "subpath": "@nqmcreative/ui/kbd",
315
+ "file": "src/lib/components/Kbd.svelte",
316
+ "category": "data display",
317
+ "description": "Keyboard key, styled with a thicker bottom edge.",
318
+ "uses": [],
319
+ "modules": []
320
+ },
321
+ {
322
+ "name": "Label",
323
+ "subpath": "@nqmcreative/ui/label",
324
+ "file": "src/lib/components/Label.svelte",
325
+ "category": "forms",
326
+ "description": "Form label with an optional required marker.",
327
+ "uses": [],
328
+ "modules": []
329
+ },
330
+ {
331
+ "name": "Link",
332
+ "subpath": "@nqmcreative/ui/link",
333
+ "file": "src/lib/components/Link.svelte",
334
+ "category": "actions",
335
+ "description": "Anchor in any tone, with an external variant.",
336
+ "uses": [],
337
+ "modules": [
338
+ "tones"
339
+ ]
340
+ },
341
+ {
342
+ "name": "LocaleProvider",
343
+ "subpath": "@nqmcreative/ui/locale-provider",
344
+ "file": "src/lib/components/LocaleProvider.svelte",
345
+ "category": "locale",
346
+ "description": "Scopes a locale to a subtree — the SSR-safe way to translate.",
347
+ "uses": [],
348
+ "modules": [
349
+ "locale"
350
+ ]
351
+ },
352
+ {
353
+ "name": "MenuItem",
354
+ "subpath": "@nqmcreative/ui/menu-item",
355
+ "file": "src/lib/components/MenuItem.svelte",
356
+ "category": "overlay",
357
+ "description": "Row inside a Dropdown or ContextMenu, with a shortcut hint.",
358
+ "uses": [],
359
+ "modules": [
360
+ "tones"
361
+ ]
362
+ },
363
+ {
364
+ "name": "MenuSeparator",
365
+ "subpath": "@nqmcreative/ui/menu-separator",
366
+ "file": "src/lib/components/MenuSeparator.svelte",
367
+ "category": "overlay",
368
+ "description": "Rule between menu groups, with an optional caption.",
369
+ "uses": [],
370
+ "modules": []
371
+ },
372
+ {
373
+ "name": "Modal",
374
+ "subpath": "@nqmcreative/ui/modal",
375
+ "file": "src/lib/components/Modal.svelte",
376
+ "category": "overlay",
377
+ "description": "Centred dialog on the native top layer, with a footer slot.",
378
+ "uses": [],
379
+ "modules": [
380
+ "locale"
381
+ ]
382
+ },
383
+ {
384
+ "name": "MultiSelect",
385
+ "subpath": "@nqmcreative/ui/multi-select",
386
+ "file": "src/lib/components/MultiSelect.svelte",
387
+ "category": "forms",
388
+ "description": "Multi-select with chips, grouping and a selection cap.",
389
+ "uses": [],
390
+ "modules": [
391
+ "actions/anchor",
392
+ "actions/dismissable",
393
+ "locale",
394
+ "tones"
395
+ ]
396
+ },
397
+ {
398
+ "name": "Navbar",
399
+ "subpath": "@nqmcreative/ui/navbar",
400
+ "file": "src/lib/components/Navbar.svelte",
401
+ "category": "app shell",
402
+ "description": "Top bar that collapses into a drawer below the md breakpoint.",
403
+ "uses": [
404
+ "Drawer",
405
+ "Dropdown",
406
+ "MenuItem"
407
+ ],
408
+ "modules": [
409
+ "locale",
410
+ "tones"
411
+ ]
412
+ },
413
+ {
414
+ "name": "NumberInput",
415
+ "subpath": "@nqmcreative/ui/number-input",
416
+ "file": "src/lib/components/NumberInput.svelte",
417
+ "category": "forms",
418
+ "description": "Number field with steppers, clamping and decimal handling.",
419
+ "uses": [],
420
+ "modules": [
421
+ "locale",
422
+ "tones"
423
+ ]
424
+ },
425
+ {
426
+ "name": "Pagination",
427
+ "subpath": "@nqmcreative/ui/pagination",
428
+ "file": "src/lib/components/Pagination.svelte",
429
+ "category": "layout & navigation",
430
+ "description": "Page numbers that collapse to an ellipsis around the current one.",
431
+ "uses": [],
432
+ "modules": [
433
+ "locale",
434
+ "tones"
435
+ ]
436
+ },
437
+ {
438
+ "name": "PasswordInput",
439
+ "subpath": "@nqmcreative/ui/password-input",
440
+ "file": "src/lib/components/PasswordInput.svelte",
441
+ "category": "forms",
442
+ "description": "Password field with a visibility toggle and a strength meter.",
443
+ "uses": [],
444
+ "modules": [
445
+ "locale",
446
+ "tones"
447
+ ]
448
+ },
449
+ {
450
+ "name": "Popover",
451
+ "subpath": "@nqmcreative/ui/popover",
452
+ "file": "src/lib/components/Popover.svelte",
453
+ "category": "overlay",
454
+ "description": "Anchored panel that opens on click or hover.",
455
+ "uses": [],
456
+ "modules": [
457
+ "actions/anchor",
458
+ "actions/dismissable"
459
+ ]
460
+ },
461
+ {
462
+ "name": "Progress",
463
+ "subpath": "@nqmcreative/ui/progress",
464
+ "file": "src/lib/components/Progress.svelte",
465
+ "category": "feedback",
466
+ "description": "Determinate or indeterminate bar, in three sizes.",
467
+ "uses": [],
468
+ "modules": [
469
+ "tones"
470
+ ]
471
+ },
472
+ {
473
+ "name": "Radio",
474
+ "subpath": "@nqmcreative/ui/radio",
475
+ "file": "src/lib/components/Radio.svelte",
476
+ "category": "forms",
477
+ "description": "Single radio bound to a shared group value.",
478
+ "uses": [],
479
+ "modules": [
480
+ "tones"
481
+ ]
482
+ },
483
+ {
484
+ "name": "RadioGroup",
485
+ "subpath": "@nqmcreative/ui/radio-group",
486
+ "file": "src/lib/components/RadioGroup.svelte",
487
+ "category": "forms",
488
+ "description": "A set of radios, optionally rendered as selectable cards.",
489
+ "uses": [
490
+ "Radio"
491
+ ],
492
+ "modules": [
493
+ "tones"
494
+ ]
495
+ },
496
+ {
497
+ "name": "SegmentedControl",
498
+ "subpath": "@nqmcreative/ui/segmented-control",
499
+ "file": "src/lib/components/SegmentedControl.svelte",
500
+ "category": "forms",
501
+ "description": "Exclusive choice as one joined row, with arrow-key movement.",
502
+ "uses": [],
503
+ "modules": [
504
+ "tones"
505
+ ]
506
+ },
507
+ {
508
+ "name": "Select",
509
+ "subpath": "@nqmcreative/ui/select",
510
+ "file": "src/lib/components/Select.svelte",
511
+ "category": "forms",
512
+ "description": "Native select with a chevron and data-driven options.",
513
+ "uses": [],
514
+ "modules": [
515
+ "tones"
516
+ ]
517
+ },
518
+ {
519
+ "name": "Sidebar",
520
+ "subpath": "@nqmcreative/ui/sidebar",
521
+ "file": "src/lib/components/Sidebar.svelte",
522
+ "category": "app shell",
523
+ "description": "Nested, collapsible navigation rail for an app shell.",
524
+ "uses": [],
525
+ "modules": [
526
+ "locale",
527
+ "tones"
528
+ ]
529
+ },
530
+ {
531
+ "name": "Skeleton",
532
+ "subpath": "@nqmcreative/ui/skeleton",
533
+ "file": "src/lib/components/Skeleton.svelte",
534
+ "category": "feedback",
535
+ "description": "Pulsing placeholder in text, block or circle form.",
536
+ "uses": [],
537
+ "modules": []
538
+ },
539
+ {
540
+ "name": "Slider",
541
+ "subpath": "@nqmcreative/ui/slider",
542
+ "file": "src/lib/components/Slider.svelte",
543
+ "category": "forms",
544
+ "description": "Range input with ticks, a value bubble and dual-handle mode.",
545
+ "uses": [],
546
+ "modules": [
547
+ "tones"
548
+ ]
549
+ },
550
+ {
551
+ "name": "Spinner",
552
+ "subpath": "@nqmcreative/ui/spinner",
553
+ "file": "src/lib/components/Spinner.svelte",
554
+ "category": "feedback",
555
+ "description": "Rotating ring that inherits the surrounding colour.",
556
+ "uses": [],
557
+ "modules": [
558
+ "locale",
559
+ "tones"
560
+ ]
561
+ },
562
+ {
563
+ "name": "Stat",
564
+ "subpath": "@nqmcreative/ui/stat",
565
+ "file": "src/lib/components/Stat.svelte",
566
+ "category": "data display",
567
+ "description": "Figure with a label, delta and trend arrow.",
568
+ "uses": [],
569
+ "modules": [
570
+ "tones"
571
+ ]
572
+ },
573
+ {
574
+ "name": "Steps",
575
+ "subpath": "@nqmcreative/ui/steps",
576
+ "file": "src/lib/components/Steps.svelte",
577
+ "category": "layout & navigation",
578
+ "description": "Progress through a flow, horizontal or vertical, with a failed state.",
579
+ "uses": [],
580
+ "modules": [
581
+ "tones"
582
+ ]
583
+ },
584
+ {
585
+ "name": "Switch",
586
+ "subpath": "@nqmcreative/ui/switch",
587
+ "file": "src/lib/components/Switch.svelte",
588
+ "category": "forms",
589
+ "description": "On/off toggle with a label and description.",
590
+ "uses": [],
591
+ "modules": [
592
+ "tones"
593
+ ]
594
+ },
595
+ {
596
+ "name": "Table",
597
+ "subpath": "@nqmcreative/ui/table",
598
+ "file": "src/lib/components/Table.svelte",
599
+ "category": "data display",
600
+ "description": "Data-driven table with sorting, row selection and a cell snippet.",
601
+ "uses": [
602
+ "Checkbox"
603
+ ],
604
+ "modules": [
605
+ "locale",
606
+ "tones"
607
+ ]
608
+ },
609
+ {
610
+ "name": "Tabs",
611
+ "subpath": "@nqmcreative/ui/tabs",
612
+ "file": "src/lib/components/Tabs.svelte",
613
+ "category": "layout & navigation",
614
+ "description": "Underline, pill or segmented tabs bound to a value.",
615
+ "uses": [],
616
+ "modules": [
617
+ "tones"
618
+ ]
619
+ },
620
+ {
621
+ "name": "Textarea",
622
+ "subpath": "@nqmcreative/ui/textarea",
623
+ "file": "src/lib/components/Textarea.svelte",
624
+ "category": "forms",
625
+ "description": "Multi-line field that can grow with its content.",
626
+ "uses": [],
627
+ "modules": [
628
+ "tones"
629
+ ]
630
+ },
631
+ {
632
+ "name": "ThemeToggle",
633
+ "subpath": "@nqmcreative/ui/theme-toggle",
634
+ "file": "src/lib/components/ThemeToggle.svelte",
635
+ "category": "overlay",
636
+ "description": "Light, dark and system, remembered in localStorage.",
637
+ "uses": [],
638
+ "modules": [
639
+ "locale",
640
+ "tones"
641
+ ]
642
+ },
643
+ {
644
+ "name": "Toaster",
645
+ "subpath": "@nqmcreative/ui/toaster",
646
+ "file": "src/lib/components/Toaster.svelte",
647
+ "category": "feedback",
648
+ "description": "Renders the toast queue. Mount once, near the root.",
649
+ "uses": [
650
+ "Spinner"
651
+ ],
652
+ "modules": [
653
+ "actions/dismissable",
654
+ "locale",
655
+ "toast",
656
+ "tones"
657
+ ]
658
+ },
659
+ {
660
+ "name": "Tooltip",
661
+ "subpath": "@nqmcreative/ui/tooltip",
662
+ "file": "src/lib/components/Tooltip.svelte",
663
+ "category": "overlay",
664
+ "description": "CSS-only label on hover and focus, in four placements.",
665
+ "uses": [],
666
+ "modules": []
667
+ }
668
+ ]
669
+ }