@nqmcreative/ui 0.1.1 → 0.2.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 (308) hide show
  1. package/README.md +89 -34
  2. package/cli/index.mjs +67 -30
  3. package/dist/core/calendar.d.ts +3 -0
  4. package/dist/core/calendar.js +36 -0
  5. package/dist/core/dialog.svelte.d.ts +14 -0
  6. package/dist/core/dialog.svelte.js +23 -0
  7. package/dist/core/files.d.ts +35 -0
  8. package/dist/core/files.js +62 -0
  9. package/dist/core/index.d.ts +37 -0
  10. package/dist/core/index.js +35 -0
  11. package/dist/core/list.svelte.d.ts +41 -0
  12. package/dist/core/list.svelte.js +77 -0
  13. package/dist/core/number.d.ts +7 -0
  14. package/dist/core/number.js +17 -0
  15. package/dist/core/pagination.d.ts +6 -0
  16. package/dist/core/pagination.js +21 -0
  17. package/dist/core/password.d.ts +8 -0
  18. package/dist/core/password.js +23 -0
  19. package/dist/core/table.d.ts +22 -0
  20. package/dist/core/table.js +41 -0
  21. package/dist/core/theme.svelte.d.ts +16 -0
  22. package/dist/core/theme.svelte.js +34 -0
  23. package/dist/core/trigger.d.ts +35 -0
  24. package/dist/core/trigger.js +77 -0
  25. package/dist/index.d.ts +11 -103
  26. package/dist/index.js +11 -75
  27. package/dist/{components → styles/matte}/AccordionItem.svelte +1 -1
  28. package/dist/{components → styles/matte}/AccordionItem.svelte.d.ts +1 -1
  29. package/dist/{components → styles/matte}/Alert.svelte +8 -2
  30. package/dist/{components → styles/matte}/Alert.svelte.d.ts +1 -1
  31. package/dist/{components → styles/matte}/Avatar.svelte +1 -1
  32. package/dist/{components → styles/matte}/Avatar.svelte.d.ts +1 -1
  33. package/dist/{components → styles/matte}/Badge.svelte +8 -3
  34. package/dist/{components → styles/matte}/Badge.svelte.d.ts +1 -3
  35. package/dist/{components → styles/matte}/Breadcrumb.svelte +2 -2
  36. package/dist/{components → styles/matte}/Breadcrumb.svelte.d.ts +1 -1
  37. package/dist/{components → styles/matte}/Button.svelte +1 -1
  38. package/dist/{components → styles/matte}/Button.svelte.d.ts +1 -1
  39. package/dist/styles/matte/CTASection.svelte +76 -0
  40. package/dist/styles/matte/CTASection.svelte.d.ts +18 -0
  41. package/dist/{components → styles/matte}/Calendar.svelte +7 -17
  42. package/dist/{components → styles/matte}/Calendar.svelte.d.ts +1 -1
  43. package/dist/{components → styles/matte}/Card.svelte +1 -1
  44. package/dist/{components → styles/matte}/Card.svelte.d.ts +1 -1
  45. package/dist/{components → styles/matte}/Checkbox.svelte +1 -1
  46. package/dist/{components → styles/matte}/Checkbox.svelte.d.ts +1 -1
  47. package/dist/{components → styles/matte}/CheckboxGroup.svelte +1 -1
  48. package/dist/{components → styles/matte}/CheckboxGroup.svelte.d.ts +1 -1
  49. package/dist/{components → styles/matte}/Combobox.svelte +31 -42
  50. package/dist/{components → styles/matte}/Combobox.svelte.d.ts +1 -1
  51. package/dist/{components → styles/matte}/CommandPalette.svelte +26 -41
  52. package/dist/{components → styles/matte}/CommandPalette.svelte.d.ts +1 -1
  53. package/dist/{components → styles/matte}/ConfirmDialog.svelte +2 -2
  54. package/dist/{components → styles/matte}/ConfirmDialog.svelte.d.ts +2 -2
  55. package/dist/{components → styles/matte}/ContextMenu.svelte +5 -7
  56. package/dist/{components → styles/matte}/DatePicker.svelte +7 -11
  57. package/dist/{components → styles/matte}/DatePicker.svelte.d.ts +1 -1
  58. package/dist/{components → styles/matte}/Drawer.svelte +4 -7
  59. package/dist/{components → styles/matte}/Dropdown.svelte +18 -36
  60. package/dist/{components → styles/matte}/Dropdown.svelte.d.ts +1 -1
  61. package/dist/{components → styles/matte}/Dropzone.svelte +11 -43
  62. package/dist/{components → styles/matte}/Dropzone.svelte.d.ts +2 -5
  63. package/dist/{components → styles/matte}/EmptyState.svelte +1 -1
  64. package/dist/{components → styles/matte}/EmptyState.svelte.d.ts +1 -1
  65. package/dist/styles/matte/FeatureCard.svelte +58 -0
  66. package/dist/styles/matte/FeatureCard.svelte.d.ts +16 -0
  67. package/dist/styles/matte/FeatureGrid.svelte +62 -0
  68. package/dist/styles/matte/FeatureGrid.svelte.d.ts +16 -0
  69. package/dist/{components → styles/matte}/Footer.svelte +1 -1
  70. package/dist/{components → styles/matte}/Footer.svelte.d.ts +1 -1
  71. package/dist/styles/matte/HeroSection.svelte +80 -0
  72. package/dist/styles/matte/HeroSection.svelte.d.ts +21 -0
  73. package/dist/{components → styles/matte}/Input.svelte +1 -1
  74. package/dist/{components → styles/matte}/Input.svelte.d.ts +1 -1
  75. package/dist/{components → styles/matte}/Link.svelte +1 -1
  76. package/dist/{components → styles/matte}/Link.svelte.d.ts +1 -1
  77. package/dist/{components → styles/matte}/LocaleProvider.svelte +1 -1
  78. package/dist/{components → styles/matte}/LocaleProvider.svelte.d.ts +1 -1
  79. package/dist/styles/matte/LogoCloud.svelte +61 -0
  80. package/dist/styles/matte/LogoCloud.svelte.d.ts +19 -0
  81. package/dist/{components → styles/matte}/MenuItem.svelte +1 -1
  82. package/dist/{components → styles/matte}/MenuItem.svelte.d.ts +1 -1
  83. package/dist/{components → styles/matte}/Modal.svelte +4 -7
  84. package/dist/{components → styles/matte}/MultiSelect.svelte +18 -37
  85. package/dist/{components → styles/matte}/MultiSelect.svelte.d.ts +1 -1
  86. package/dist/{components → styles/matte}/Navbar.svelte +2 -2
  87. package/dist/{components → styles/matte}/Navbar.svelte.d.ts +1 -1
  88. package/dist/{components → styles/matte}/NumberInput.svelte +4 -8
  89. package/dist/{components → styles/matte}/NumberInput.svelte.d.ts +1 -1
  90. package/dist/{components → styles/matte}/Pagination.svelte +4 -15
  91. package/dist/{components → styles/matte}/Pagination.svelte.d.ts +1 -1
  92. package/dist/{components → styles/matte}/PasswordInput.svelte +4 -13
  93. package/dist/{components → styles/matte}/PasswordInput.svelte.d.ts +1 -1
  94. package/dist/{components → styles/matte}/Popover.svelte +16 -41
  95. package/dist/{components → styles/matte}/Popover.svelte.d.ts +1 -1
  96. package/dist/styles/matte/PricingCard.svelte +107 -0
  97. package/dist/styles/matte/PricingCard.svelte.d.ts +25 -0
  98. package/dist/{components → styles/matte}/Progress.svelte +3 -2
  99. package/dist/{components → styles/matte}/Progress.svelte.d.ts +1 -1
  100. package/dist/{components → styles/matte}/Radio.svelte +1 -1
  101. package/dist/{components → styles/matte}/Radio.svelte.d.ts +1 -1
  102. package/dist/{components → styles/matte}/RadioGroup.svelte +1 -1
  103. package/dist/{components → styles/matte}/RadioGroup.svelte.d.ts +1 -1
  104. package/dist/{components → styles/matte}/SegmentedControl.svelte +1 -1
  105. package/dist/{components → styles/matte}/SegmentedControl.svelte.d.ts +1 -1
  106. package/dist/{components → styles/matte}/Select.svelte +1 -1
  107. package/dist/{components → styles/matte}/Select.svelte.d.ts +1 -1
  108. package/dist/{components → styles/matte}/Sidebar.svelte +2 -2
  109. package/dist/{components → styles/matte}/Sidebar.svelte.d.ts +1 -1
  110. package/dist/{components → styles/matte}/Slider.svelte +3 -2
  111. package/dist/{components → styles/matte}/Slider.svelte.d.ts +1 -1
  112. package/dist/{components → styles/matte}/Spinner.svelte +2 -2
  113. package/dist/{components → styles/matte}/Spinner.svelte.d.ts +1 -1
  114. package/dist/{components → styles/matte}/Stat.svelte +1 -1
  115. package/dist/{components → styles/matte}/Stat.svelte.d.ts +1 -1
  116. package/dist/styles/matte/StatsBand.svelte +57 -0
  117. package/dist/styles/matte/StatsBand.svelte.d.ts +20 -0
  118. package/dist/{components → styles/matte}/Steps.svelte +1 -1
  119. package/dist/{components → styles/matte}/Steps.svelte.d.ts +1 -1
  120. package/dist/{components → styles/matte}/Switch.svelte +1 -1
  121. package/dist/{components → styles/matte}/Switch.svelte.d.ts +1 -1
  122. package/dist/{components → styles/matte}/Table.svelte +6 -28
  123. package/dist/{components → styles/matte}/Table.svelte.d.ts +2 -6
  124. package/dist/{components → styles/matte}/Tabs.svelte +8 -1
  125. package/dist/{components → styles/matte}/Tabs.svelte.d.ts +1 -1
  126. package/dist/styles/matte/Testimonial.svelte +67 -0
  127. package/dist/styles/matte/Testimonial.svelte.d.ts +19 -0
  128. package/dist/{components → styles/matte}/Textarea.svelte +1 -1
  129. package/dist/{components → styles/matte}/Textarea.svelte.d.ts +1 -1
  130. package/dist/{components → styles/matte}/ThemeToggle.svelte +14 -27
  131. package/dist/{components → styles/matte}/ThemeToggle.svelte.d.ts +2 -6
  132. package/dist/{components → styles/matte}/Toaster.svelte +4 -4
  133. package/dist/styles/matte/index.d.ts +109 -0
  134. package/dist/styles/matte/index.js +83 -0
  135. package/dist/styles/paper/Accordion.svelte +17 -0
  136. package/dist/styles/paper/Accordion.svelte.d.ts +8 -0
  137. package/dist/styles/paper/AccordionItem.svelte +46 -0
  138. package/dist/styles/paper/AccordionItem.svelte.d.ts +14 -0
  139. package/dist/styles/paper/Alert.svelte +99 -0
  140. package/dist/styles/paper/Alert.svelte.d.ts +18 -0
  141. package/dist/styles/paper/Avatar.svelte +60 -0
  142. package/dist/styles/paper/Avatar.svelte.d.ts +16 -0
  143. package/dist/styles/paper/AvatarGroup.svelte +17 -0
  144. package/dist/styles/paper/AvatarGroup.svelte.d.ts +8 -0
  145. package/dist/styles/paper/Badge.svelte +58 -0
  146. package/dist/styles/paper/Badge.svelte.d.ts +16 -0
  147. package/dist/styles/paper/Breadcrumb.svelte +49 -0
  148. package/dist/styles/paper/Breadcrumb.svelte.d.ts +14 -0
  149. package/dist/styles/paper/Button.svelte +96 -0
  150. package/dist/styles/paper/Button.svelte.d.ts +21 -0
  151. package/dist/styles/paper/CTASection.svelte +76 -0
  152. package/dist/styles/paper/CTASection.svelte.d.ts +18 -0
  153. package/dist/styles/paper/Calendar.svelte +202 -0
  154. package/dist/styles/paper/Calendar.svelte.d.ts +22 -0
  155. package/dist/styles/paper/Card.svelte +78 -0
  156. package/dist/styles/paper/Card.svelte.d.ts +21 -0
  157. package/dist/styles/paper/Checkbox.svelte +75 -0
  158. package/dist/styles/paper/Checkbox.svelte.d.ts +15 -0
  159. package/dist/styles/paper/CheckboxGroup.svelte +111 -0
  160. package/dist/styles/paper/CheckboxGroup.svelte.d.ts +30 -0
  161. package/dist/styles/paper/Combobox.svelte +266 -0
  162. package/dist/styles/paper/Combobox.svelte.d.ts +29 -0
  163. package/dist/styles/paper/CommandPalette.svelte +209 -0
  164. package/dist/styles/paper/CommandPalette.svelte.d.ts +32 -0
  165. package/dist/styles/paper/ConfirmDialog.svelte +97 -0
  166. package/dist/styles/paper/ConfirmDialog.svelte.d.ts +22 -0
  167. package/dist/styles/paper/ContextMenu.svelte +88 -0
  168. package/dist/styles/paper/ContextMenu.svelte.d.ts +15 -0
  169. package/dist/styles/paper/DatePicker.svelte +192 -0
  170. package/dist/styles/paper/DatePicker.svelte.d.ts +23 -0
  171. package/dist/styles/paper/Divider.svelte +30 -0
  172. package/dist/styles/paper/Divider.svelte.d.ts +10 -0
  173. package/dist/styles/paper/Drawer.svelte +165 -0
  174. package/dist/styles/paper/Drawer.svelte.d.ts +20 -0
  175. package/dist/styles/paper/Dropdown.svelte +94 -0
  176. package/dist/styles/paper/Dropdown.svelte.d.ts +23 -0
  177. package/dist/styles/paper/Dropzone.svelte +210 -0
  178. package/dist/styles/paper/Dropzone.svelte.d.ts +29 -0
  179. package/dist/styles/paper/EmptyState.svelte +71 -0
  180. package/dist/styles/paper/EmptyState.svelte.d.ts +18 -0
  181. package/dist/styles/paper/FeatureCard.svelte +58 -0
  182. package/dist/styles/paper/FeatureCard.svelte.d.ts +16 -0
  183. package/dist/styles/paper/FeatureGrid.svelte +62 -0
  184. package/dist/styles/paper/FeatureGrid.svelte.d.ts +16 -0
  185. package/dist/styles/paper/Field.svelte +42 -0
  186. package/dist/styles/paper/Field.svelte.d.ts +16 -0
  187. package/dist/styles/paper/Footer.svelte +91 -0
  188. package/dist/styles/paper/Footer.svelte.d.ts +25 -0
  189. package/dist/styles/paper/HeroSection.svelte +86 -0
  190. package/dist/styles/paper/HeroSection.svelte.d.ts +21 -0
  191. package/dist/styles/paper/Input.svelte +60 -0
  192. package/dist/styles/paper/Input.svelte.d.ts +18 -0
  193. package/dist/styles/paper/InputGroup.svelte +20 -0
  194. package/dist/styles/paper/InputGroup.svelte.d.ts +11 -0
  195. package/dist/styles/paper/Kbd.svelte +17 -0
  196. package/dist/styles/paper/Kbd.svelte.d.ts +8 -0
  197. package/dist/styles/paper/Label.svelte +16 -0
  198. package/dist/styles/paper/Label.svelte.d.ts +9 -0
  199. package/dist/styles/paper/Link.svelte +44 -0
  200. package/dist/styles/paper/Link.svelte.d.ts +16 -0
  201. package/dist/styles/paper/LocaleProvider.svelte +24 -0
  202. package/dist/styles/paper/LocaleProvider.svelte.d.ts +10 -0
  203. package/dist/styles/paper/LogoCloud.svelte +61 -0
  204. package/dist/styles/paper/LogoCloud.svelte.d.ts +19 -0
  205. package/dist/styles/paper/MenuItem.svelte +64 -0
  206. package/dist/styles/paper/MenuItem.svelte.d.ts +18 -0
  207. package/dist/styles/paper/MenuSeparator.svelte +22 -0
  208. package/dist/styles/paper/MenuSeparator.svelte.d.ts +8 -0
  209. package/dist/styles/paper/Modal.svelte +118 -0
  210. package/dist/styles/paper/Modal.svelte.d.ts +21 -0
  211. package/dist/styles/paper/MultiSelect.svelte +287 -0
  212. package/dist/styles/paper/MultiSelect.svelte.d.ts +31 -0
  213. package/dist/styles/paper/Navbar.svelte +201 -0
  214. package/dist/styles/paper/Navbar.svelte.d.ts +33 -0
  215. package/dist/styles/paper/NumberInput.svelte +96 -0
  216. package/dist/styles/paper/NumberInput.svelte.d.ts +15 -0
  217. package/dist/styles/paper/Pagination.svelte +83 -0
  218. package/dist/styles/paper/Pagination.svelte.d.ts +15 -0
  219. package/dist/styles/paper/PasswordInput.svelte +100 -0
  220. package/dist/styles/paper/PasswordInput.svelte.d.ts +12 -0
  221. package/dist/styles/paper/Popover.svelte +89 -0
  222. package/dist/styles/paper/Popover.svelte.d.ts +19 -0
  223. package/dist/styles/paper/PricingCard.svelte +108 -0
  224. package/dist/styles/paper/PricingCard.svelte.d.ts +25 -0
  225. package/dist/styles/paper/Progress.svelte +59 -0
  226. package/dist/styles/paper/Progress.svelte.d.ts +17 -0
  227. package/dist/styles/paper/Radio.svelte +55 -0
  228. package/dist/styles/paper/Radio.svelte.d.ts +15 -0
  229. package/dist/styles/paper/RadioGroup.svelte +95 -0
  230. package/dist/styles/paper/RadioGroup.svelte.d.ts +27 -0
  231. package/dist/styles/paper/SegmentedControl.svelte +88 -0
  232. package/dist/styles/paper/SegmentedControl.svelte.d.ts +25 -0
  233. package/dist/styles/paper/Select.svelte +61 -0
  234. package/dist/styles/paper/Select.svelte.d.ts +20 -0
  235. package/dist/styles/paper/Sidebar.svelte +206 -0
  236. package/dist/styles/paper/Sidebar.svelte.d.ts +36 -0
  237. package/dist/styles/paper/Skeleton.svelte +46 -0
  238. package/dist/styles/paper/Skeleton.svelte.d.ts +13 -0
  239. package/dist/styles/paper/Slider.svelte +80 -0
  240. package/dist/styles/paper/Slider.svelte.d.ts +19 -0
  241. package/dist/styles/paper/Spinner.svelte +34 -0
  242. package/dist/styles/paper/Spinner.svelte.d.ts +13 -0
  243. package/dist/styles/paper/Stat.svelte +51 -0
  244. package/dist/styles/paper/Stat.svelte.d.ts +16 -0
  245. package/dist/styles/paper/StatsBand.svelte +63 -0
  246. package/dist/styles/paper/StatsBand.svelte.d.ts +20 -0
  247. package/dist/styles/paper/Steps.svelte +141 -0
  248. package/dist/styles/paper/Steps.svelte.d.ts +24 -0
  249. package/dist/styles/paper/Switch.svelte +64 -0
  250. package/dist/styles/paper/Switch.svelte.d.ts +14 -0
  251. package/dist/styles/paper/Table.svelte +217 -0
  252. package/dist/styles/paper/Table.svelte.d.ts +66 -0
  253. package/dist/styles/paper/Tabs.svelte +102 -0
  254. package/dist/styles/paper/Tabs.svelte.d.ts +23 -0
  255. package/dist/styles/paper/Testimonial.svelte +64 -0
  256. package/dist/styles/paper/Testimonial.svelte.d.ts +19 -0
  257. package/dist/styles/paper/Textarea.svelte +54 -0
  258. package/dist/styles/paper/Textarea.svelte.d.ts +12 -0
  259. package/dist/styles/paper/ThemeToggle.svelte +130 -0
  260. package/dist/styles/paper/ThemeToggle.svelte.d.ts +16 -0
  261. package/dist/styles/paper/Toaster.svelte +132 -0
  262. package/dist/styles/paper/Toaster.svelte.d.ts +8 -0
  263. package/dist/styles/paper/Tooltip.svelte +33 -0
  264. package/dist/styles/paper/Tooltip.svelte.d.ts +12 -0
  265. package/dist/styles/paper/fonts.css +46 -0
  266. package/dist/styles/paper/index.d.ts +109 -0
  267. package/dist/styles/paper/index.js +83 -0
  268. package/dist/styles/paper/theme.css +222 -0
  269. package/package.json +531 -201
  270. package/registry.json +658 -339
  271. /package/dist/{actions → core/actions}/anchor.d.ts +0 -0
  272. /package/dist/{actions → core/actions}/anchor.js +0 -0
  273. /package/dist/{actions → core/actions}/dismissable.d.ts +0 -0
  274. /package/dist/{actions → core/actions}/dismissable.js +0 -0
  275. /package/dist/{date.d.ts → core/date.d.ts} +0 -0
  276. /package/dist/{date.js → core/date.js} +0 -0
  277. /package/dist/{locale.svelte.d.ts → core/locale.svelte.d.ts} +0 -0
  278. /package/dist/{locale.svelte.js → core/locale.svelte.js} +0 -0
  279. /package/dist/{toast.svelte.d.ts → core/toast.svelte.d.ts} +0 -0
  280. /package/dist/{toast.svelte.js → core/toast.svelte.js} +0 -0
  281. /package/dist/{tones.d.ts → core/tones.d.ts} +0 -0
  282. /package/dist/{tones.js → core/tones.js} +0 -0
  283. /package/dist/{components → styles/matte}/Accordion.svelte +0 -0
  284. /package/dist/{components → styles/matte}/Accordion.svelte.d.ts +0 -0
  285. /package/dist/{components → styles/matte}/AvatarGroup.svelte +0 -0
  286. /package/dist/{components → styles/matte}/AvatarGroup.svelte.d.ts +0 -0
  287. /package/dist/{components → styles/matte}/ContextMenu.svelte.d.ts +0 -0
  288. /package/dist/{components → styles/matte}/Divider.svelte +0 -0
  289. /package/dist/{components → styles/matte}/Divider.svelte.d.ts +0 -0
  290. /package/dist/{components → styles/matte}/Drawer.svelte.d.ts +0 -0
  291. /package/dist/{components → styles/matte}/Field.svelte +0 -0
  292. /package/dist/{components → styles/matte}/Field.svelte.d.ts +0 -0
  293. /package/dist/{components → styles/matte}/InputGroup.svelte +0 -0
  294. /package/dist/{components → styles/matte}/InputGroup.svelte.d.ts +0 -0
  295. /package/dist/{components → styles/matte}/Kbd.svelte +0 -0
  296. /package/dist/{components → styles/matte}/Kbd.svelte.d.ts +0 -0
  297. /package/dist/{components → styles/matte}/Label.svelte +0 -0
  298. /package/dist/{components → styles/matte}/Label.svelte.d.ts +0 -0
  299. /package/dist/{components → styles/matte}/MenuSeparator.svelte +0 -0
  300. /package/dist/{components → styles/matte}/MenuSeparator.svelte.d.ts +0 -0
  301. /package/dist/{components → styles/matte}/Modal.svelte.d.ts +0 -0
  302. /package/dist/{components → styles/matte}/Skeleton.svelte +0 -0
  303. /package/dist/{components → styles/matte}/Skeleton.svelte.d.ts +0 -0
  304. /package/dist/{components → styles/matte}/Toaster.svelte.d.ts +0 -0
  305. /package/dist/{components → styles/matte}/Tooltip.svelte +0 -0
  306. /package/dist/{components → styles/matte}/Tooltip.svelte.d.ts +0 -0
  307. /package/dist/{fonts.css → styles/matte/fonts.css} +0 -0
  308. /package/dist/{theme.css → styles/matte/theme.css} +0 -0
package/registry.json CHANGED
@@ -1,137 +1,249 @@
1
1
  {
2
2
  "name": "@nqmcreative/ui",
3
3
  "homepage": "https://github.com/mukhsamr/nqmcreative-ui",
4
- "count": 57,
4
+ "count": 65,
5
+ "demoStyle": "matte",
6
+ "styles": [
7
+ {
8
+ "name": "matte",
9
+ "title": "Matte",
10
+ "description": "Flat and sharp-cornered — no radius, no shadow, no gloss. Hairline rules and mono micro-labels do the work borders usually do.",
11
+ "fonts": true,
12
+ "extra": []
13
+ },
14
+ {
15
+ "name": "paper",
16
+ "title": "Paper",
17
+ "description": "The neutral one. Start here if unsure: soft corners, light shadows, generous spacing, and nothing that fights the content.",
18
+ "fonts": true,
19
+ "extra": []
20
+ }
21
+ ],
5
22
  "components": [
6
23
  {
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.",
24
+ "name": "LocaleProvider",
25
+ "slug": "locale-provider",
26
+ "category": "locale",
27
+ "description": "Scopes a locale to a subtree — the SSR-safe way to translate.",
28
+ "subpaths": {
29
+ "matte": "@nqmcreative/ui/matte/locale-provider",
30
+ "paper": "@nqmcreative/ui/paper/locale-provider"
31
+ },
12
32
  "uses": [],
13
- "modules": []
33
+ "modules": [
34
+ "locale"
35
+ ]
14
36
  },
15
37
  {
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.",
38
+ "name": "Button",
39
+ "slug": "button",
40
+ "category": "actions",
41
+ "description": "Five variants and four sizes, with a loading state and an href mode.",
42
+ "subpaths": {
43
+ "matte": "@nqmcreative/ui/matte/button",
44
+ "paper": "@nqmcreative/ui/paper/button"
45
+ },
46
+ "uses": [
47
+ "Spinner"
48
+ ],
49
+ "modules": [
50
+ "tones"
51
+ ]
52
+ },
53
+ {
54
+ "name": "Link",
55
+ "slug": "link",
56
+ "category": "actions",
57
+ "description": "Anchor in any tone, with an external variant.",
58
+ "subpaths": {
59
+ "matte": "@nqmcreative/ui/matte/link",
60
+ "paper": "@nqmcreative/ui/paper/link"
61
+ },
21
62
  "uses": [],
22
63
  "modules": [
23
64
  "tones"
24
65
  ]
25
66
  },
26
67
  {
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.",
68
+ "name": "Input",
69
+ "slug": "input",
70
+ "category": "forms",
71
+ "description": "Text field with prefix and suffix slots, sizes and an invalid state.",
72
+ "subpaths": {
73
+ "matte": "@nqmcreative/ui/matte/input",
74
+ "paper": "@nqmcreative/ui/paper/input"
75
+ },
32
76
  "uses": [],
33
77
  "modules": [
34
- "locale",
35
78
  "tones"
36
79
  ]
37
80
  },
38
81
  {
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.",
82
+ "name": "Textarea",
83
+ "slug": "textarea",
84
+ "category": "forms",
85
+ "description": "Multi-line field that can grow with its content.",
86
+ "subpaths": {
87
+ "matte": "@nqmcreative/ui/matte/textarea",
88
+ "paper": "@nqmcreative/ui/paper/textarea"
89
+ },
44
90
  "uses": [],
45
91
  "modules": [
46
92
  "tones"
47
93
  ]
48
94
  },
49
95
  {
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.",
96
+ "name": "Select",
97
+ "slug": "select",
98
+ "category": "forms",
99
+ "description": "Native select with a chevron and data-driven options.",
100
+ "subpaths": {
101
+ "matte": "@nqmcreative/ui/matte/select",
102
+ "paper": "@nqmcreative/ui/paper/select"
103
+ },
55
104
  "uses": [],
56
- "modules": []
105
+ "modules": [
106
+ "tones"
107
+ ]
57
108
  },
58
109
  {
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.",
110
+ "name": "Checkbox",
111
+ "slug": "checkbox",
112
+ "category": "forms",
113
+ "description": "Single checkbox with a label, description and indeterminate state.",
114
+ "subpaths": {
115
+ "matte": "@nqmcreative/ui/matte/checkbox",
116
+ "paper": "@nqmcreative/ui/paper/checkbox"
117
+ },
64
118
  "uses": [],
65
119
  "modules": [
66
120
  "tones"
67
121
  ]
68
122
  },
69
123
  {
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.",
124
+ "name": "Radio",
125
+ "slug": "radio",
126
+ "category": "forms",
127
+ "description": "Single radio bound to a shared group value.",
128
+ "subpaths": {
129
+ "matte": "@nqmcreative/ui/matte/radio",
130
+ "paper": "@nqmcreative/ui/paper/radio"
131
+ },
75
132
  "uses": [],
76
133
  "modules": [
77
- "locale",
78
134
  "tones"
79
135
  ]
80
136
  },
81
137
  {
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
- ],
138
+ "name": "Switch",
139
+ "slug": "switch",
140
+ "category": "forms",
141
+ "description": "On/off toggle with a label and description.",
142
+ "subpaths": {
143
+ "matte": "@nqmcreative/ui/matte/switch",
144
+ "paper": "@nqmcreative/ui/paper/switch"
145
+ },
146
+ "uses": [],
90
147
  "modules": [
91
148
  "tones"
92
149
  ]
93
150
  },
94
151
  {
95
- "name": "Calendar",
96
- "subpath": "@nqmcreative/ui/calendar",
97
- "file": "src/lib/components/Calendar.svelte",
152
+ "name": "Field",
153
+ "slug": "field",
98
154
  "category": "forms",
99
- "description": "Month grid with keyboard navigation, bounds and disabled days.",
155
+ "description": "Wraps any control with a label, hint and error message.",
156
+ "subpaths": {
157
+ "matte": "@nqmcreative/ui/matte/field",
158
+ "paper": "@nqmcreative/ui/paper/field"
159
+ },
160
+ "uses": [],
161
+ "modules": []
162
+ },
163
+ {
164
+ "name": "Label",
165
+ "slug": "label",
166
+ "category": "forms",
167
+ "description": "Form label with an optional required marker.",
168
+ "subpaths": {
169
+ "matte": "@nqmcreative/ui/matte/label",
170
+ "paper": "@nqmcreative/ui/paper/label"
171
+ },
172
+ "uses": [],
173
+ "modules": []
174
+ },
175
+ {
176
+ "name": "PasswordInput",
177
+ "slug": "password-input",
178
+ "category": "forms",
179
+ "description": "Password field with a visibility toggle and a strength meter.",
180
+ "subpaths": {
181
+ "matte": "@nqmcreative/ui/matte/password-input",
182
+ "paper": "@nqmcreative/ui/paper/password-input"
183
+ },
100
184
  "uses": [],
101
185
  "modules": [
102
- "date",
103
186
  "locale",
187
+ "password",
104
188
  "tones"
105
189
  ]
106
190
  },
107
191
  {
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.",
192
+ "name": "NumberInput",
193
+ "slug": "number-input",
194
+ "category": "forms",
195
+ "description": "Number field with steppers, clamping and decimal handling.",
196
+ "subpaths": {
197
+ "matte": "@nqmcreative/ui/matte/number-input",
198
+ "paper": "@nqmcreative/ui/paper/number-input"
199
+ },
113
200
  "uses": [],
114
201
  "modules": [
202
+ "locale",
203
+ "number",
115
204
  "tones"
116
205
  ]
117
206
  },
118
207
  {
119
- "name": "Checkbox",
120
- "subpath": "@nqmcreative/ui/checkbox",
121
- "file": "src/lib/components/Checkbox.svelte",
208
+ "name": "Slider",
209
+ "slug": "slider",
122
210
  "category": "forms",
123
- "description": "Single checkbox with a label, description and indeterminate state.",
211
+ "description": "Range input with ticks and a printed value.",
212
+ "subpaths": {
213
+ "matte": "@nqmcreative/ui/matte/slider",
214
+ "paper": "@nqmcreative/ui/paper/slider"
215
+ },
124
216
  "uses": [],
217
+ "modules": [
218
+ "number",
219
+ "tones"
220
+ ]
221
+ },
222
+ {
223
+ "name": "RadioGroup",
224
+ "slug": "radio-group",
225
+ "category": "forms",
226
+ "description": "A set of radios, optionally rendered as selectable cards.",
227
+ "subpaths": {
228
+ "matte": "@nqmcreative/ui/matte/radio-group",
229
+ "paper": "@nqmcreative/ui/paper/radio-group"
230
+ },
231
+ "uses": [
232
+ "Radio"
233
+ ],
125
234
  "modules": [
126
235
  "tones"
127
236
  ]
128
237
  },
129
238
  {
130
239
  "name": "CheckboxGroup",
131
- "subpath": "@nqmcreative/ui/checkbox-group",
132
- "file": "src/lib/components/CheckboxGroup.svelte",
240
+ "slug": "checkbox-group",
133
241
  "category": "forms",
134
242
  "description": "A set of checkboxes bound to a string array, with an optional cap.",
243
+ "subpaths": {
244
+ "matte": "@nqmcreative/ui/matte/checkbox-group",
245
+ "paper": "@nqmcreative/ui/paper/checkbox-group"
246
+ },
135
247
  "uses": [
136
248
  "Checkbox"
137
249
  ],
@@ -140,282 +252,370 @@
140
252
  ]
141
253
  },
142
254
  {
143
- "name": "Combobox",
144
- "subpath": "@nqmcreative/ui/combobox",
145
- "file": "src/lib/components/Combobox.svelte",
255
+ "name": "SegmentedControl",
256
+ "slug": "segmented-control",
146
257
  "category": "forms",
147
- "description": "Single-select with a text filter and keyboard navigation.",
258
+ "description": "Exclusive choice as one joined row, with arrow-key movement.",
259
+ "subpaths": {
260
+ "matte": "@nqmcreative/ui/matte/segmented-control",
261
+ "paper": "@nqmcreative/ui/paper/segmented-control"
262
+ },
148
263
  "uses": [],
149
264
  "modules": [
150
- "actions/anchor",
151
- "actions/dismissable",
152
- "locale",
153
265
  "tones"
154
266
  ]
155
267
  },
156
268
  {
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
- ]
269
+ "name": "InputGroup",
270
+ "slug": "input-group",
271
+ "category": "forms",
272
+ "description": "Joins an input to a button or addon with a single shared border.",
273
+ "subpaths": {
274
+ "matte": "@nqmcreative/ui/matte/input-group",
275
+ "paper": "@nqmcreative/ui/paper/input-group"
276
+ },
277
+ "uses": [],
278
+ "modules": []
170
279
  },
171
280
  {
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
- ],
281
+ "name": "Combobox",
282
+ "slug": "combobox",
283
+ "category": "forms",
284
+ "description": "Single-select with a text filter and keyboard navigation.",
285
+ "subpaths": {
286
+ "matte": "@nqmcreative/ui/matte/combobox",
287
+ "paper": "@nqmcreative/ui/paper/combobox"
288
+ },
289
+ "uses": [],
181
290
  "modules": [
291
+ "actions/anchor",
292
+ "actions/dismissable",
293
+ "list",
182
294
  "locale",
183
295
  "tones"
184
296
  ]
185
297
  },
186
298
  {
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.",
299
+ "name": "MultiSelect",
300
+ "slug": "multi-select",
301
+ "category": "forms",
302
+ "description": "Multi-select with chips, grouping and a selection cap.",
303
+ "subpaths": {
304
+ "matte": "@nqmcreative/ui/matte/multi-select",
305
+ "paper": "@nqmcreative/ui/paper/multi-select"
306
+ },
192
307
  "uses": [],
193
308
  "modules": [
194
309
  "actions/anchor",
195
310
  "actions/dismissable",
196
- "locale"
311
+ "list",
312
+ "locale",
313
+ "tones"
197
314
  ]
198
315
  },
199
316
  {
200
317
  "name": "DatePicker",
201
- "subpath": "@nqmcreative/ui/date-picker",
202
- "file": "src/lib/components/DatePicker.svelte",
318
+ "slug": "date-picker",
203
319
  "category": "forms",
204
320
  "description": "Text field plus a calendar popover. Value is a YYYY-MM-DD string.",
321
+ "subpaths": {
322
+ "matte": "@nqmcreative/ui/matte/date-picker",
323
+ "paper": "@nqmcreative/ui/paper/date-picker"
324
+ },
205
325
  "uses": [
206
326
  "Calendar"
207
327
  ],
208
328
  "modules": [
209
329
  "actions/anchor",
210
330
  "actions/dismissable",
331
+ "calendar",
211
332
  "date",
212
333
  "locale",
213
334
  "tones"
214
335
  ]
215
336
  },
216
337
  {
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.",
338
+ "name": "Calendar",
339
+ "slug": "calendar",
340
+ "category": "forms",
341
+ "description": "Month grid with keyboard navigation, bounds and disabled days.",
342
+ "subpaths": {
343
+ "matte": "@nqmcreative/ui/matte/calendar",
344
+ "paper": "@nqmcreative/ui/paper/calendar"
345
+ },
231
346
  "uses": [],
232
347
  "modules": [
233
- "locale"
348
+ "calendar",
349
+ "date",
350
+ "locale",
351
+ "tones"
234
352
  ]
235
353
  },
236
354
  {
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.",
355
+ "name": "Dropzone",
356
+ "slug": "dropzone",
357
+ "category": "forms",
358
+ "description": "Drag-and-drop file input with type, size and count validation.",
359
+ "subpaths": {
360
+ "matte": "@nqmcreative/ui/matte/dropzone",
361
+ "paper": "@nqmcreative/ui/paper/dropzone"
362
+ },
242
363
  "uses": [],
243
364
  "modules": [
244
- "actions/anchor",
245
- "actions/dismissable",
246
- "locale"
365
+ "files",
366
+ "locale",
367
+ "tones"
247
368
  ]
248
369
  },
249
370
  {
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.",
371
+ "name": "Badge",
372
+ "slug": "badge",
373
+ "category": "data display",
374
+ "description": "Pill label for status and counts. Solid, soft or outline.",
375
+ "subpaths": {
376
+ "matte": "@nqmcreative/ui/matte/badge",
377
+ "paper": "@nqmcreative/ui/paper/badge"
378
+ },
255
379
  "uses": [],
256
380
  "modules": [
257
- "locale",
258
381
  "tones"
259
382
  ]
260
383
  },
261
384
  {
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.",
385
+ "name": "Avatar",
386
+ "slug": "avatar",
387
+ "category": "data display",
388
+ "description": "Image or initials, circular or squared, in five sizes.",
389
+ "subpaths": {
390
+ "matte": "@nqmcreative/ui/matte/avatar",
391
+ "paper": "@nqmcreative/ui/paper/avatar"
392
+ },
267
393
  "uses": [],
268
394
  "modules": [
269
395
  "tones"
270
396
  ]
271
397
  },
272
398
  {
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.",
399
+ "name": "AvatarGroup",
400
+ "slug": "avatar-group",
401
+ "category": "data display",
402
+ "description": "Overlapping row of avatars, each ringed in the background.",
403
+ "subpaths": {
404
+ "matte": "@nqmcreative/ui/matte/avatar-group",
405
+ "paper": "@nqmcreative/ui/paper/avatar-group"
406
+ },
278
407
  "uses": [],
279
408
  "modules": []
280
409
  },
281
410
  {
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.",
411
+ "name": "Card",
412
+ "slug": "card",
413
+ "category": "data display",
414
+ "description": "Surface with an optional header and footer, in three variants.",
415
+ "subpaths": {
416
+ "matte": "@nqmcreative/ui/matte/card",
417
+ "paper": "@nqmcreative/ui/paper/card"
418
+ },
287
419
  "uses": [],
288
420
  "modules": [
289
421
  "tones"
290
422
  ]
291
423
  },
292
424
  {
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.",
425
+ "name": "Stat",
426
+ "slug": "stat",
427
+ "category": "data display",
428
+ "description": "Figure with a label, delta and trend arrow.",
429
+ "subpaths": {
430
+ "matte": "@nqmcreative/ui/matte/stat",
431
+ "paper": "@nqmcreative/ui/paper/stat"
432
+ },
298
433
  "uses": [],
299
434
  "modules": [
300
435
  "tones"
301
436
  ]
302
437
  },
303
438
  {
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": []
439
+ "name": "Table",
440
+ "slug": "table",
441
+ "category": "data display",
442
+ "description": "Data-driven table with sorting, row selection and a cell snippet.",
443
+ "subpaths": {
444
+ "matte": "@nqmcreative/ui/matte/table",
445
+ "paper": "@nqmcreative/ui/paper/table"
446
+ },
447
+ "uses": [
448
+ "Checkbox"
449
+ ],
450
+ "modules": [
451
+ "locale",
452
+ "table",
453
+ "tones"
454
+ ]
311
455
  },
312
456
  {
313
457
  "name": "Kbd",
314
- "subpath": "@nqmcreative/ui/kbd",
315
- "file": "src/lib/components/Kbd.svelte",
458
+ "slug": "kbd",
316
459
  "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.",
460
+ "description": "Keyboard key.",
461
+ "subpaths": {
462
+ "matte": "@nqmcreative/ui/matte/kbd",
463
+ "paper": "@nqmcreative/ui/paper/kbd"
464
+ },
327
465
  "uses": [],
328
466
  "modules": []
329
467
  },
330
468
  {
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.",
469
+ "name": "Alert",
470
+ "slug": "alert",
471
+ "category": "feedback",
472
+ "description": "Inline message in any tone, optionally dismissible.",
473
+ "subpaths": {
474
+ "matte": "@nqmcreative/ui/matte/alert",
475
+ "paper": "@nqmcreative/ui/paper/alert"
476
+ },
336
477
  "uses": [],
337
478
  "modules": [
479
+ "locale",
338
480
  "tones"
339
481
  ]
340
482
  },
341
483
  {
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.",
484
+ "name": "Progress",
485
+ "slug": "progress",
486
+ "category": "feedback",
487
+ "description": "Determinate or indeterminate bar, in three sizes.",
488
+ "subpaths": {
489
+ "matte": "@nqmcreative/ui/matte/progress",
490
+ "paper": "@nqmcreative/ui/paper/progress"
491
+ },
347
492
  "uses": [],
348
493
  "modules": [
349
- "locale"
494
+ "number",
495
+ "tones"
350
496
  ]
351
497
  },
352
498
  {
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.",
499
+ "name": "Spinner",
500
+ "slug": "spinner",
501
+ "category": "feedback",
502
+ "description": "Rotating ring that inherits the surrounding colour.",
503
+ "subpaths": {
504
+ "matte": "@nqmcreative/ui/matte/spinner",
505
+ "paper": "@nqmcreative/ui/paper/spinner"
506
+ },
358
507
  "uses": [],
359
508
  "modules": [
509
+ "locale",
360
510
  "tones"
361
511
  ]
362
512
  },
363
513
  {
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.",
514
+ "name": "Skeleton",
515
+ "slug": "skeleton",
516
+ "category": "feedback",
517
+ "description": "Pulsing placeholder in text, block or circle form.",
518
+ "subpaths": {
519
+ "matte": "@nqmcreative/ui/matte/skeleton",
520
+ "paper": "@nqmcreative/ui/paper/skeleton"
521
+ },
369
522
  "uses": [],
370
523
  "modules": []
371
524
  },
372
525
  {
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.",
526
+ "name": "EmptyState",
527
+ "slug": "empty-state",
528
+ "category": "feedback",
529
+ "description": "Placeholder for an empty list, with a glyph and an action slot.",
530
+ "subpaths": {
531
+ "matte": "@nqmcreative/ui/matte/empty-state",
532
+ "paper": "@nqmcreative/ui/paper/empty-state"
533
+ },
378
534
  "uses": [],
379
535
  "modules": [
380
- "locale"
536
+ "tones"
381
537
  ]
382
538
  },
383
539
  {
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": [],
540
+ "name": "Toaster",
541
+ "slug": "toaster",
542
+ "category": "feedback",
543
+ "description": "Renders the toast queue. Mount once, near the root.",
544
+ "subpaths": {
545
+ "matte": "@nqmcreative/ui/matte/toaster",
546
+ "paper": "@nqmcreative/ui/paper/toaster"
547
+ },
548
+ "uses": [
549
+ "Spinner"
550
+ ],
390
551
  "modules": [
391
- "actions/anchor",
392
552
  "actions/dismissable",
393
553
  "locale",
554
+ "toast",
394
555
  "tones"
395
556
  ]
396
557
  },
397
558
  {
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
- ],
559
+ "name": "Divider",
560
+ "slug": "divider",
561
+ "category": "layout & navigation",
562
+ "description": "Rule, horizontal or vertical, with an optional caption.",
563
+ "subpaths": {
564
+ "matte": "@nqmcreative/ui/matte/divider",
565
+ "paper": "@nqmcreative/ui/paper/divider"
566
+ },
567
+ "uses": [],
568
+ "modules": []
569
+ },
570
+ {
571
+ "name": "Tabs",
572
+ "slug": "tabs",
573
+ "category": "layout & navigation",
574
+ "description": "Underline, pill or segmented tabs bound to a value.",
575
+ "subpaths": {
576
+ "matte": "@nqmcreative/ui/matte/tabs",
577
+ "paper": "@nqmcreative/ui/paper/tabs"
578
+ },
579
+ "uses": [],
408
580
  "modules": [
409
- "locale",
410
581
  "tones"
411
582
  ]
412
583
  },
413
584
  {
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.",
585
+ "name": "Accordion",
586
+ "slug": "accordion",
587
+ "category": "layout & navigation",
588
+ "description": "Wrapper that stacks collapsible items.",
589
+ "subpaths": {
590
+ "matte": "@nqmcreative/ui/matte/accordion",
591
+ "paper": "@nqmcreative/ui/paper/accordion"
592
+ },
593
+ "uses": [],
594
+ "modules": []
595
+ },
596
+ {
597
+ "name": "AccordionItem",
598
+ "slug": "accordion-item",
599
+ "category": "layout & navigation",
600
+ "description": "A single collapsible row, built on <details> so it works without JS.",
601
+ "subpaths": {
602
+ "matte": "@nqmcreative/ui/matte/accordion-item",
603
+ "paper": "@nqmcreative/ui/paper/accordion-item"
604
+ },
605
+ "uses": [],
606
+ "modules": [
607
+ "tones"
608
+ ]
609
+ },
610
+ {
611
+ "name": "Breadcrumb",
612
+ "slug": "breadcrumb",
613
+ "category": "layout & navigation",
614
+ "description": "Trail of links to the current page.",
615
+ "subpaths": {
616
+ "matte": "@nqmcreative/ui/matte/breadcrumb",
617
+ "paper": "@nqmcreative/ui/paper/breadcrumb"
618
+ },
419
619
  "uses": [],
420
620
  "modules": [
421
621
  "locale",
@@ -424,244 +624,363 @@
424
624
  },
425
625
  {
426
626
  "name": "Pagination",
427
- "subpath": "@nqmcreative/ui/pagination",
428
- "file": "src/lib/components/Pagination.svelte",
627
+ "slug": "pagination",
429
628
  "category": "layout & navigation",
430
629
  "description": "Page numbers that collapse to an ellipsis around the current one.",
630
+ "subpaths": {
631
+ "matte": "@nqmcreative/ui/matte/pagination",
632
+ "paper": "@nqmcreative/ui/paper/pagination"
633
+ },
431
634
  "uses": [],
432
635
  "modules": [
433
636
  "locale",
637
+ "pagination",
434
638
  "tones"
435
639
  ]
436
640
  },
437
641
  {
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.",
642
+ "name": "Steps",
643
+ "slug": "steps",
644
+ "category": "layout & navigation",
645
+ "description": "Progress through a flow, horizontal or vertical, with a failed state.",
646
+ "subpaths": {
647
+ "matte": "@nqmcreative/ui/matte/steps",
648
+ "paper": "@nqmcreative/ui/paper/steps"
649
+ },
443
650
  "uses": [],
444
651
  "modules": [
445
- "locale",
446
652
  "tones"
447
653
  ]
448
654
  },
449
655
  {
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": [],
656
+ "name": "Navbar",
657
+ "slug": "navbar",
658
+ "category": "app shell",
659
+ "description": "Top bar that collapses into a drawer below the md breakpoint.",
660
+ "subpaths": {
661
+ "matte": "@nqmcreative/ui/matte/navbar",
662
+ "paper": "@nqmcreative/ui/paper/navbar"
663
+ },
664
+ "uses": [
665
+ "Drawer",
666
+ "Dropdown",
667
+ "MenuItem"
668
+ ],
456
669
  "modules": [
457
- "actions/anchor",
458
- "actions/dismissable"
670
+ "locale",
671
+ "tones"
459
672
  ]
460
673
  },
461
674
  {
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.",
675
+ "name": "Sidebar",
676
+ "slug": "sidebar",
677
+ "category": "app shell",
678
+ "description": "Nested, collapsible navigation rail for an app shell.",
679
+ "subpaths": {
680
+ "matte": "@nqmcreative/ui/matte/sidebar",
681
+ "paper": "@nqmcreative/ui/paper/sidebar"
682
+ },
467
683
  "uses": [],
468
684
  "modules": [
685
+ "locale",
469
686
  "tones"
470
687
  ]
471
688
  },
472
689
  {
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.",
690
+ "name": "Footer",
691
+ "slug": "footer",
692
+ "category": "app shell",
693
+ "description": "Site footer with link columns and a bottom bar.",
694
+ "subpaths": {
695
+ "matte": "@nqmcreative/ui/matte/footer",
696
+ "paper": "@nqmcreative/ui/paper/footer"
697
+ },
478
698
  "uses": [],
479
699
  "modules": [
480
700
  "tones"
481
701
  ]
482
702
  },
483
703
  {
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
- ],
704
+ "name": "HeroSection",
705
+ "slug": "hero-section",
706
+ "category": "marketing",
707
+ "description": "Page opener — eyebrow, headline, copy, actions, optional media column.",
708
+ "subpaths": {
709
+ "matte": "@nqmcreative/ui/matte/hero-section",
710
+ "paper": "@nqmcreative/ui/paper/hero-section"
711
+ },
712
+ "uses": [],
492
713
  "modules": [
493
714
  "tones"
494
715
  ]
495
716
  },
496
717
  {
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.",
718
+ "name": "FeatureGrid",
719
+ "slug": "feature-grid",
720
+ "category": "marketing",
721
+ "description": "Section wrapper that lays feature cards out in 2, 3 or 4 columns.",
722
+ "subpaths": {
723
+ "matte": "@nqmcreative/ui/matte/feature-grid",
724
+ "paper": "@nqmcreative/ui/paper/feature-grid"
725
+ },
726
+ "uses": [],
727
+ "modules": []
728
+ },
729
+ {
730
+ "name": "FeatureCard",
731
+ "slug": "feature-card",
732
+ "category": "marketing",
733
+ "description": "One feature: glyph, heading, copy. Optionally a whole link.",
734
+ "subpaths": {
735
+ "matte": "@nqmcreative/ui/matte/feature-card",
736
+ "paper": "@nqmcreative/ui/paper/feature-card"
737
+ },
502
738
  "uses": [],
503
739
  "modules": [
504
740
  "tones"
505
741
  ]
506
742
  },
507
743
  {
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.",
744
+ "name": "PricingCard",
745
+ "slug": "pricing-card",
746
+ "category": "marketing",
747
+ "description": "One plan: price, period, ticked feature list, optional featured styling.",
748
+ "subpaths": {
749
+ "matte": "@nqmcreative/ui/matte/pricing-card",
750
+ "paper": "@nqmcreative/ui/paper/pricing-card"
751
+ },
513
752
  "uses": [],
514
753
  "modules": [
515
754
  "tones"
516
755
  ]
517
756
  },
518
757
  {
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": [],
758
+ "name": "Testimonial",
759
+ "slug": "testimonial",
760
+ "category": "marketing",
761
+ "description": "A quote with an attributed author.",
762
+ "subpaths": {
763
+ "matte": "@nqmcreative/ui/matte/testimonial",
764
+ "paper": "@nqmcreative/ui/paper/testimonial"
765
+ },
766
+ "uses": [
767
+ "Avatar"
768
+ ],
525
769
  "modules": [
526
- "locale",
527
770
  "tones"
528
771
  ]
529
772
  },
530
773
  {
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.",
774
+ "name": "LogoCloud",
775
+ "slug": "logo-cloud",
776
+ "category": "marketing",
777
+ "description": "Row of client or partner marks, dimmed until hovered.",
778
+ "subpaths": {
779
+ "matte": "@nqmcreative/ui/matte/logo-cloud",
780
+ "paper": "@nqmcreative/ui/paper/logo-cloud"
781
+ },
536
782
  "uses": [],
537
783
  "modules": []
538
784
  },
539
785
  {
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.",
786
+ "name": "CTASection",
787
+ "slug": "cta-section",
788
+ "category": "marketing",
789
+ "description": "Closing call to action, in three variants.",
790
+ "subpaths": {
791
+ "matte": "@nqmcreative/ui/matte/cta-section",
792
+ "paper": "@nqmcreative/ui/paper/cta-section"
793
+ },
545
794
  "uses": [],
546
795
  "modules": [
547
796
  "tones"
548
797
  ]
549
798
  },
550
799
  {
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": [],
800
+ "name": "StatsBand",
801
+ "slug": "stats-band",
802
+ "category": "marketing",
803
+ "description": "A row of figures, built on Stat.",
804
+ "subpaths": {
805
+ "matte": "@nqmcreative/ui/matte/stats-band",
806
+ "paper": "@nqmcreative/ui/paper/stats-band"
807
+ },
808
+ "uses": [
809
+ "Stat"
810
+ ],
557
811
  "modules": [
558
- "locale",
559
812
  "tones"
560
813
  ]
561
814
  },
562
815
  {
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.",
816
+ "name": "Modal",
817
+ "slug": "modal",
818
+ "category": "overlay",
819
+ "description": "Centred dialog on the native top layer, with a footer slot.",
820
+ "subpaths": {
821
+ "matte": "@nqmcreative/ui/matte/modal",
822
+ "paper": "@nqmcreative/ui/paper/modal"
823
+ },
568
824
  "uses": [],
569
825
  "modules": [
570
- "tones"
826
+ "dialog",
827
+ "locale"
571
828
  ]
572
829
  },
573
830
  {
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.",
831
+ "name": "Drawer",
832
+ "slug": "drawer",
833
+ "category": "overlay",
834
+ "description": "Panel that slides in from any edge, on the native dialog top layer.",
835
+ "subpaths": {
836
+ "matte": "@nqmcreative/ui/matte/drawer",
837
+ "paper": "@nqmcreative/ui/paper/drawer"
838
+ },
579
839
  "uses": [],
580
840
  "modules": [
581
- "tones"
841
+ "dialog",
842
+ "locale"
582
843
  ]
583
844
  },
584
845
  {
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": [],
846
+ "name": "ConfirmDialog",
847
+ "slug": "confirm-dialog",
848
+ "category": "overlay",
849
+ "description": "Small dialog that stays busy until an async confirm settles.",
850
+ "subpaths": {
851
+ "matte": "@nqmcreative/ui/matte/confirm-dialog",
852
+ "paper": "@nqmcreative/ui/paper/confirm-dialog"
853
+ },
854
+ "uses": [
855
+ "Button",
856
+ "Modal"
857
+ ],
591
858
  "modules": [
859
+ "locale",
592
860
  "tones"
593
861
  ]
594
862
  },
595
863
  {
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.",
864
+ "name": "CommandPalette",
865
+ "slug": "command-palette",
866
+ "category": "overlay",
867
+ "description": "Cmd+K launcher with grouping, shortcuts and hidden keywords.",
868
+ "subpaths": {
869
+ "matte": "@nqmcreative/ui/matte/command-palette",
870
+ "paper": "@nqmcreative/ui/paper/command-palette"
871
+ },
601
872
  "uses": [
602
- "Checkbox"
873
+ "Kbd"
603
874
  ],
604
875
  "modules": [
876
+ "actions/dismissable",
877
+ "dialog",
878
+ "list",
605
879
  "locale",
606
880
  "tones"
607
881
  ]
608
882
  },
609
883
  {
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.",
884
+ "name": "ContextMenu",
885
+ "slug": "context-menu",
886
+ "category": "overlay",
887
+ "description": "Right-click menu placed at the pointer, flipped near the edges.",
888
+ "subpaths": {
889
+ "matte": "@nqmcreative/ui/matte/context-menu",
890
+ "paper": "@nqmcreative/ui/paper/context-menu"
891
+ },
615
892
  "uses": [],
616
893
  "modules": [
617
- "tones"
894
+ "actions/anchor",
895
+ "actions/dismissable",
896
+ "locale",
897
+ "trigger"
618
898
  ]
619
899
  },
620
900
  {
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.",
901
+ "name": "Dropdown",
902
+ "slug": "dropdown",
903
+ "category": "overlay",
904
+ "description": "Menu anchored to a trigger, with focus trap and viewport flipping.",
905
+ "subpaths": {
906
+ "matte": "@nqmcreative/ui/matte/dropdown",
907
+ "paper": "@nqmcreative/ui/paper/dropdown"
908
+ },
626
909
  "uses": [],
627
910
  "modules": [
628
- "tones"
911
+ "actions/anchor",
912
+ "actions/dismissable",
913
+ "locale",
914
+ "trigger"
629
915
  ]
630
916
  },
631
917
  {
632
- "name": "ThemeToggle",
633
- "subpath": "@nqmcreative/ui/theme-toggle",
634
- "file": "src/lib/components/ThemeToggle.svelte",
918
+ "name": "MenuItem",
919
+ "slug": "menu-item",
635
920
  "category": "overlay",
636
- "description": "Light, dark and system, remembered in localStorage.",
921
+ "description": "Row inside a Dropdown or ContextMenu, with a shortcut hint.",
922
+ "subpaths": {
923
+ "matte": "@nqmcreative/ui/matte/menu-item",
924
+ "paper": "@nqmcreative/ui/paper/menu-item"
925
+ },
637
926
  "uses": [],
638
927
  "modules": [
639
- "locale",
640
928
  "tones"
641
929
  ]
642
930
  },
643
931
  {
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
- ],
932
+ "name": "MenuSeparator",
933
+ "slug": "menu-separator",
934
+ "category": "overlay",
935
+ "description": "Rule between menu groups, with an optional caption.",
936
+ "subpaths": {
937
+ "matte": "@nqmcreative/ui/matte/menu-separator",
938
+ "paper": "@nqmcreative/ui/paper/menu-separator"
939
+ },
940
+ "uses": [],
941
+ "modules": []
942
+ },
943
+ {
944
+ "name": "Popover",
945
+ "slug": "popover",
946
+ "category": "overlay",
947
+ "description": "Anchored panel that opens on click or hover.",
948
+ "subpaths": {
949
+ "matte": "@nqmcreative/ui/matte/popover",
950
+ "paper": "@nqmcreative/ui/paper/popover"
951
+ },
952
+ "uses": [],
652
953
  "modules": [
954
+ "actions/anchor",
653
955
  "actions/dismissable",
956
+ "trigger"
957
+ ]
958
+ },
959
+ {
960
+ "name": "ThemeToggle",
961
+ "slug": "theme-toggle",
962
+ "category": "overlay",
963
+ "description": "Light, dark and system, remembered in localStorage.",
964
+ "subpaths": {
965
+ "matte": "@nqmcreative/ui/matte/theme-toggle",
966
+ "paper": "@nqmcreative/ui/paper/theme-toggle"
967
+ },
968
+ "uses": [],
969
+ "modules": [
654
970
  "locale",
655
- "toast",
971
+ "theme",
656
972
  "tones"
657
973
  ]
658
974
  },
659
975
  {
660
976
  "name": "Tooltip",
661
- "subpath": "@nqmcreative/ui/tooltip",
662
- "file": "src/lib/components/Tooltip.svelte",
977
+ "slug": "tooltip",
663
978
  "category": "overlay",
664
979
  "description": "CSS-only label on hover and focus, in four placements.",
980
+ "subpaths": {
981
+ "matte": "@nqmcreative/ui/matte/tooltip",
982
+ "paper": "@nqmcreative/ui/paper/tooltip"
983
+ },
665
984
  "uses": [],
666
985
  "modules": []
667
986
  }