@stridge/noctis 1.0.0-beta.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 (565) hide show
  1. package/README.md +60 -0
  2. package/dist/_virtual/_rolldown/runtime.js +27 -0
  3. package/dist/components/accordion/accordion.context.js +15 -0
  4. package/dist/components/accordion/accordion.d.ts +136 -0
  5. package/dist/components/accordion/accordion.js +132 -0
  6. package/dist/components/accordion/accordion.props.d.ts +45 -0
  7. package/dist/components/accordion/accordion.props.js +53 -0
  8. package/dist/components/accordion/accordion.slots.d.ts +24 -0
  9. package/dist/components/accordion/accordion.slots.js +39 -0
  10. package/dist/components/accordion/accordion.types.d.ts +11 -0
  11. package/dist/components/accordion/index.d.ts +3 -0
  12. package/dist/components/alert-dialog/alert-dialog.context.js +16 -0
  13. package/dist/components/alert-dialog/alert-dialog.d.ts +324 -0
  14. package/dist/components/alert-dialog/alert-dialog.js +279 -0
  15. package/dist/components/alert-dialog/alert-dialog.props.d.ts +85 -0
  16. package/dist/components/alert-dialog/alert-dialog.props.js +84 -0
  17. package/dist/components/alert-dialog/alert-dialog.slots.d.ts +29 -0
  18. package/dist/components/alert-dialog/alert-dialog.slots.js +52 -0
  19. package/dist/components/alert-dialog/alert-dialog.types.d.ts +22 -0
  20. package/dist/components/alert-dialog/index.d.ts +3 -0
  21. package/dist/components/autocomplete/autocomplete.context.d.ts +5 -0
  22. package/dist/components/autocomplete/autocomplete.context.js +13 -0
  23. package/dist/components/autocomplete/autocomplete.d.ts +364 -0
  24. package/dist/components/autocomplete/autocomplete.js +373 -0
  25. package/dist/components/autocomplete/autocomplete.props.d.ts +83 -0
  26. package/dist/components/autocomplete/autocomplete.props.js +63 -0
  27. package/dist/components/autocomplete/autocomplete.slots.d.ts +32 -0
  28. package/dist/components/autocomplete/autocomplete.slots.js +61 -0
  29. package/dist/components/autocomplete/index.d.ts +3 -0
  30. package/dist/components/avatar/avatar.context.js +21 -0
  31. package/dist/components/avatar/avatar.d.ts +235 -0
  32. package/dist/components/avatar/avatar.js +208 -0
  33. package/dist/components/avatar/avatar.props.d.ts +86 -0
  34. package/dist/components/avatar/avatar.props.js +78 -0
  35. package/dist/components/avatar/avatar.slots.d.ts +35 -0
  36. package/dist/components/avatar/avatar.slots.js +49 -0
  37. package/dist/components/avatar/avatar.types.d.ts +28 -0
  38. package/dist/components/avatar/index.d.ts +2 -0
  39. package/dist/components/button/button.d.ts +91 -0
  40. package/dist/components/button/button.js +82 -0
  41. package/dist/components/button/button.props.d.ts +48 -0
  42. package/dist/components/button/button.props.js +25 -0
  43. package/dist/components/button/button.slots.d.ts +30 -0
  44. package/dist/components/button/button.slots.js +40 -0
  45. package/dist/components/button/button.types.d.ts +12 -0
  46. package/dist/components/button/index.d.ts +2 -0
  47. package/dist/components/button-group/button-group.context.js +15 -0
  48. package/dist/components/button-group/button-group.d.ts +60 -0
  49. package/dist/components/button-group/button-group.js +50 -0
  50. package/dist/components/button-group/button-group.props.d.ts +22 -0
  51. package/dist/components/button-group/button-group.props.js +33 -0
  52. package/dist/components/button-group/button-group.slots.d.ts +12 -0
  53. package/dist/components/button-group/button-group.slots.js +18 -0
  54. package/dist/components/button-group/index.d.ts +2 -0
  55. package/dist/components/checkbox/checkbox-group.d.ts +46 -0
  56. package/dist/components/checkbox/checkbox-group.js +31 -0
  57. package/dist/components/checkbox/checkbox.context.js +15 -0
  58. package/dist/components/checkbox/checkbox.d.ts +130 -0
  59. package/dist/components/checkbox/checkbox.js +117 -0
  60. package/dist/components/checkbox/checkbox.props.d.ts +84 -0
  61. package/dist/components/checkbox/checkbox.props.js +49 -0
  62. package/dist/components/checkbox/checkbox.slots.d.ts +27 -0
  63. package/dist/components/checkbox/checkbox.slots.js +40 -0
  64. package/dist/components/checkbox/index.d.ts +3 -0
  65. package/dist/components/code-block/brand-logo.d.ts +37 -0
  66. package/dist/components/code-block/brand-logo.js +212 -0
  67. package/dist/components/code-block/code-block.context.js +13 -0
  68. package/dist/components/code-block/code-block.d.ts +190 -0
  69. package/dist/components/code-block/code-block.js +267 -0
  70. package/dist/components/code-block/code-block.props.d.ts +42 -0
  71. package/dist/components/code-block/code-block.props.js +51 -0
  72. package/dist/components/code-block/code-block.slots.d.ts +16 -0
  73. package/dist/components/code-block/code-block.slots.js +31 -0
  74. package/dist/components/code-block/index.d.ts +3 -0
  75. package/dist/components/code-block/language-label.js +43 -0
  76. package/dist/components/collapsible/collapsible.context.js +18 -0
  77. package/dist/components/collapsible/collapsible.d.ts +167 -0
  78. package/dist/components/collapsible/collapsible.js +182 -0
  79. package/dist/components/collapsible/collapsible.props.d.ts +33 -0
  80. package/dist/components/collapsible/collapsible.props.js +44 -0
  81. package/dist/components/collapsible/collapsible.slots.d.ts +25 -0
  82. package/dist/components/collapsible/collapsible.slots.js +40 -0
  83. package/dist/components/collapsible/collapsible.types.d.ts +23 -0
  84. package/dist/components/collapsible/index.d.ts +2 -0
  85. package/dist/components/color-picker/area.d.ts +11 -0
  86. package/dist/components/color-picker/area.js +148 -0
  87. package/dist/components/color-picker/color-picker.d.ts +110 -0
  88. package/dist/components/color-picker/color-picker.js +149 -0
  89. package/dist/components/color-picker/color-picker.props.d.ts +69 -0
  90. package/dist/components/color-picker/color-picker.props.js +74 -0
  91. package/dist/components/color-picker/color-picker.slots.js +21 -0
  92. package/dist/components/color-picker/color.d.ts +18 -0
  93. package/dist/components/color-picker/color.js +224 -0
  94. package/dist/components/color-picker/context.d.ts +25 -0
  95. package/dist/components/color-picker/context.js +23 -0
  96. package/dist/components/color-picker/eyedropper.d.ts +14 -0
  97. package/dist/components/color-picker/eyedropper.js +50 -0
  98. package/dist/components/color-picker/format-tabs.d.ts +11 -0
  99. package/dist/components/color-picker/format-tabs.js +35 -0
  100. package/dist/components/color-picker/index.d.ts +3 -0
  101. package/dist/components/color-picker/inputs.d.ts +16 -0
  102. package/dist/components/color-picker/inputs.js +61 -0
  103. package/dist/components/color-picker/sliders.d.ts +17 -0
  104. package/dist/components/color-picker/sliders.js +94 -0
  105. package/dist/components/color-picker/store.js +48 -0
  106. package/dist/components/color-picker/swatch.d.ts +15 -0
  107. package/dist/components/color-picker/swatch.js +25 -0
  108. package/dist/components/color-swatch/color-swatch-picker.d.ts +87 -0
  109. package/dist/components/color-swatch/color-swatch-picker.js +73 -0
  110. package/dist/components/color-swatch/color-swatch.context.js +8 -0
  111. package/dist/components/color-swatch/color-swatch.d.ts +55 -0
  112. package/dist/components/color-swatch/color-swatch.js +48 -0
  113. package/dist/components/color-swatch/color-swatch.props.d.ts +54 -0
  114. package/dist/components/color-swatch/color-swatch.props.js +32 -0
  115. package/dist/components/color-swatch/color-swatch.slots.js +13 -0
  116. package/dist/components/color-swatch/index.d.ts +2 -0
  117. package/dist/components/combobox/combobox.context.js +13 -0
  118. package/dist/components/combobox/combobox.d.ts +328 -0
  119. package/dist/components/combobox/combobox.js +315 -0
  120. package/dist/components/combobox/combobox.props.d.ts +85 -0
  121. package/dist/components/combobox/combobox.props.js +79 -0
  122. package/dist/components/combobox/combobox.slots.d.ts +28 -0
  123. package/dist/components/combobox/combobox.slots.js +63 -0
  124. package/dist/components/combobox/index.d.ts +2 -0
  125. package/dist/components/context-menu/context-menu.d.ts +254 -0
  126. package/dist/components/context-menu/context-menu.js +150 -0
  127. package/dist/components/context-menu/context-menu.props.d.ts +22 -0
  128. package/dist/components/context-menu/context-menu.props.js +32 -0
  129. package/dist/components/context-menu/context-menu.slots.d.ts +24 -0
  130. package/dist/components/context-menu/context-menu.slots.js +42 -0
  131. package/dist/components/context-menu/index.d.ts +2 -0
  132. package/dist/components/copy-button/copy-button.d.ts +56 -0
  133. package/dist/components/copy-button/copy-button.js +88 -0
  134. package/dist/components/copy-button/copy-button.props.d.ts +27 -0
  135. package/dist/components/copy-button/copy-button.props.js +51 -0
  136. package/dist/components/copy-button/copy-button.slots.d.ts +20 -0
  137. package/dist/components/copy-button/copy-button.slots.js +36 -0
  138. package/dist/components/copy-button/index.d.ts +2 -0
  139. package/dist/components/dialog/dialog.context.js +15 -0
  140. package/dist/components/dialog/dialog.d.ts +299 -0
  141. package/dist/components/dialog/dialog.js +263 -0
  142. package/dist/components/dialog/dialog.props.d.ts +71 -0
  143. package/dist/components/dialog/dialog.props.js +75 -0
  144. package/dist/components/dialog/dialog.slots.d.ts +26 -0
  145. package/dist/components/dialog/dialog.slots.js +46 -0
  146. package/dist/components/dialog/dialog.types.d.ts +16 -0
  147. package/dist/components/dialog/index.d.ts +3 -0
  148. package/dist/components/field/field.d.ts +221 -0
  149. package/dist/components/field/field.js +192 -0
  150. package/dist/components/field/field.props.d.ts +66 -0
  151. package/dist/components/field/field.props.js +65 -0
  152. package/dist/components/field/field.slots.d.ts +35 -0
  153. package/dist/components/field/field.slots.js +54 -0
  154. package/dist/components/field/field.types.d.ts +5 -0
  155. package/dist/components/field/index.d.ts +4 -0
  156. package/dist/components/inline-code/index.d.ts +1 -0
  157. package/dist/components/inline-code/inline-code.d.ts +46 -0
  158. package/dist/components/inline-code/inline-code.js +36 -0
  159. package/dist/components/inline-code/inline-code.props.d.ts +17 -0
  160. package/dist/components/inline-code/inline-code.props.js +27 -0
  161. package/dist/components/inline-code/inline-code.slots.js +8 -0
  162. package/dist/components/input/index.d.ts +3 -0
  163. package/dist/components/input/input.context.js +13 -0
  164. package/dist/components/input/input.d.ts +161 -0
  165. package/dist/components/input/input.js +117 -0
  166. package/dist/components/input/input.props.d.ts +51 -0
  167. package/dist/components/input/input.props.js +50 -0
  168. package/dist/components/input/input.slots.d.ts +35 -0
  169. package/dist/components/input/input.slots.js +46 -0
  170. package/dist/components/input/input.types.d.ts +12 -0
  171. package/dist/components/kbd/glyphs.js +45 -0
  172. package/dist/components/kbd/index.d.ts +1 -0
  173. package/dist/components/kbd/kbd.d.ts +61 -0
  174. package/dist/components/kbd/kbd.js +233 -0
  175. package/dist/components/kbd/kbd.props.d.ts +30 -0
  176. package/dist/components/kbd/kbd.props.js +39 -0
  177. package/dist/components/kbd/kbd.slots.js +14 -0
  178. package/dist/components/kbd/use-apple-platform.js +25 -0
  179. package/dist/components/menu/index.d.ts +2 -0
  180. package/dist/components/menu/menu.d.ts +355 -0
  181. package/dist/components/menu/menu.js +263 -0
  182. package/dist/components/menu/menu.props.d.ts +92 -0
  183. package/dist/components/menu/menu.props.js +97 -0
  184. package/dist/components/menu/menu.slots.d.ts +32 -0
  185. package/dist/components/menu/menu.slots.js +60 -0
  186. package/dist/components/menubar/index.d.ts +2 -0
  187. package/dist/components/menubar/menubar.context.js +13 -0
  188. package/dist/components/menubar/menubar.d.ts +162 -0
  189. package/dist/components/menubar/menubar.js +122 -0
  190. package/dist/components/menubar/menubar.props.d.ts +41 -0
  191. package/dist/components/menubar/menubar.props.js +45 -0
  192. package/dist/components/menubar/menubar.slots.d.ts +26 -0
  193. package/dist/components/menubar/menubar.slots.js +40 -0
  194. package/dist/components/meter/index.d.ts +2 -0
  195. package/dist/components/meter/meter.context.d.ts +9 -0
  196. package/dist/components/meter/meter.context.js +13 -0
  197. package/dist/components/meter/meter.d.ts +163 -0
  198. package/dist/components/meter/meter.js +121 -0
  199. package/dist/components/meter/meter.props.d.ts +50 -0
  200. package/dist/components/meter/meter.props.js +33 -0
  201. package/dist/components/meter/meter.slots.d.ts +18 -0
  202. package/dist/components/meter/meter.slots.js +31 -0
  203. package/dist/components/navigation-menu/index.d.ts +2 -0
  204. package/dist/components/navigation-menu/navigation-menu.d.ts +328 -0
  205. package/dist/components/navigation-menu/navigation-menu.js +274 -0
  206. package/dist/components/navigation-menu/navigation-menu.props.d.ts +98 -0
  207. package/dist/components/navigation-menu/navigation-menu.props.js +90 -0
  208. package/dist/components/navigation-menu/navigation-menu.slots.d.ts +34 -0
  209. package/dist/components/navigation-menu/navigation-menu.slots.js +60 -0
  210. package/dist/components/number-field/index.d.ts +2 -0
  211. package/dist/components/number-field/number-field.context.d.ts +13 -0
  212. package/dist/components/number-field/number-field.context.js +13 -0
  213. package/dist/components/number-field/number-field.d.ts +197 -0
  214. package/dist/components/number-field/number-field.js +187 -0
  215. package/dist/components/number-field/number-field.props.d.ts +66 -0
  216. package/dist/components/number-field/number-field.props.js +50 -0
  217. package/dist/components/number-field/number-field.slots.d.ts +31 -0
  218. package/dist/components/number-field/number-field.slots.js +48 -0
  219. package/dist/components/otp-field/index.d.ts +3 -0
  220. package/dist/components/otp-field/otp-field.context.js +13 -0
  221. package/dist/components/otp-field/otp-field.d.ts +99 -0
  222. package/dist/components/otp-field/otp-field.js +76 -0
  223. package/dist/components/otp-field/otp-field.props.d.ts +48 -0
  224. package/dist/components/otp-field/otp-field.props.js +43 -0
  225. package/dist/components/otp-field/otp-field.slots.d.ts +28 -0
  226. package/dist/components/otp-field/otp-field.slots.js +39 -0
  227. package/dist/components/popover/index.d.ts +2 -0
  228. package/dist/components/popover/popover.d.ts +192 -0
  229. package/dist/components/popover/popover.js +152 -0
  230. package/dist/components/popover/popover.props.d.ts +34 -0
  231. package/dist/components/popover/popover.props.js +44 -0
  232. package/dist/components/popover/popover.slots.d.ts +22 -0
  233. package/dist/components/popover/popover.slots.js +42 -0
  234. package/dist/components/preview-card/index.d.ts +2 -0
  235. package/dist/components/preview-card/preview-card.d.ts +182 -0
  236. package/dist/components/preview-card/preview-card.js +146 -0
  237. package/dist/components/preview-card/preview-card.props.d.ts +37 -0
  238. package/dist/components/preview-card/preview-card.props.js +48 -0
  239. package/dist/components/preview-card/preview-card.slots.d.ts +22 -0
  240. package/dist/components/preview-card/preview-card.slots.js +39 -0
  241. package/dist/components/progress/index.d.ts +3 -0
  242. package/dist/components/progress/progress.context.d.ts +9 -0
  243. package/dist/components/progress/progress.context.js +13 -0
  244. package/dist/components/progress/progress.d.ts +139 -0
  245. package/dist/components/progress/progress.js +92 -0
  246. package/dist/components/progress/progress.props.d.ts +56 -0
  247. package/dist/components/progress/progress.props.js +38 -0
  248. package/dist/components/progress/progress.slots.d.ts +24 -0
  249. package/dist/components/progress/progress.slots.js +37 -0
  250. package/dist/components/radio/index.d.ts +2 -0
  251. package/dist/components/radio/radio.context.js +5 -0
  252. package/dist/components/radio/radio.d.ts +205 -0
  253. package/dist/components/radio/radio.js +168 -0
  254. package/dist/components/radio/radio.props.d.ts +106 -0
  255. package/dist/components/radio/radio.props.js +65 -0
  256. package/dist/components/radio/radio.slots.d.ts +29 -0
  257. package/dist/components/radio/radio.slots.js +44 -0
  258. package/dist/components/rail/index.d.ts +3 -0
  259. package/dist/components/rail/rail.context.d.ts +17 -0
  260. package/dist/components/rail/rail.context.js +23 -0
  261. package/dist/components/rail/rail.d.ts +232 -0
  262. package/dist/components/rail/rail.js +254 -0
  263. package/dist/components/rail/rail.props.d.ts +98 -0
  264. package/dist/components/rail/rail.props.js +64 -0
  265. package/dist/components/rail/rail.slots.d.ts +20 -0
  266. package/dist/components/rail/rail.slots.js +40 -0
  267. package/dist/components/scroll-area/index.d.ts +2 -0
  268. package/dist/components/scroll-area/scroll-area.context.js +15 -0
  269. package/dist/components/scroll-area/scroll-area.d.ts +217 -0
  270. package/dist/components/scroll-area/scroll-area.js +153 -0
  271. package/dist/components/scroll-area/scroll-area.props.d.ts +73 -0
  272. package/dist/components/scroll-area/scroll-area.props.js +64 -0
  273. package/dist/components/scroll-area/scroll-area.slots.d.ts +40 -0
  274. package/dist/components/scroll-area/scroll-area.slots.js +54 -0
  275. package/dist/components/scroll-area/scroll-area.types.d.ts +24 -0
  276. package/dist/components/search-dialog/index.d.ts +3 -0
  277. package/dist/components/search-dialog/parts/input.d.ts +24 -0
  278. package/dist/components/search-dialog/parts/input.js +53 -0
  279. package/dist/components/search-dialog/parts/messages.d.ts +80 -0
  280. package/dist/components/search-dialog/parts/messages.js +75 -0
  281. package/dist/components/search-dialog/parts/results.d.ts +43 -0
  282. package/dist/components/search-dialog/parts/results.js +63 -0
  283. package/dist/components/search-dialog/parts/root.d.ts +54 -0
  284. package/dist/components/search-dialog/parts/root.js +99 -0
  285. package/dist/components/search-dialog/search-dialog.context.d.ts +15 -0
  286. package/dist/components/search-dialog/search-dialog.context.js +20 -0
  287. package/dist/components/search-dialog/search-dialog.d.ts +84 -0
  288. package/dist/components/search-dialog/search-dialog.js +43 -0
  289. package/dist/components/search-dialog/search-dialog.props.d.ts +45 -0
  290. package/dist/components/search-dialog/search-dialog.props.js +49 -0
  291. package/dist/components/search-dialog/search-dialog.slots.d.ts +16 -0
  292. package/dist/components/search-dialog/search-dialog.slots.js +32 -0
  293. package/dist/components/select/index.d.ts +2 -0
  294. package/dist/components/select/select.context.js +17 -0
  295. package/dist/components/select/select.d.ts +356 -0
  296. package/dist/components/select/select.js +314 -0
  297. package/dist/components/select/select.props.d.ts +110 -0
  298. package/dist/components/select/select.props.js +103 -0
  299. package/dist/components/select/select.slots.d.ts +38 -0
  300. package/dist/components/select/select.slots.js +67 -0
  301. package/dist/components/separator/index.d.ts +2 -0
  302. package/dist/components/separator/separator.d.ts +69 -0
  303. package/dist/components/separator/separator.js +44 -0
  304. package/dist/components/separator/separator.props.d.ts +30 -0
  305. package/dist/components/separator/separator.props.js +30 -0
  306. package/dist/components/separator/separator.slots.d.ts +22 -0
  307. package/dist/components/separator/separator.slots.js +21 -0
  308. package/dist/components/separator/separator.types.d.ts +5 -0
  309. package/dist/components/sheet/index.d.ts +3 -0
  310. package/dist/components/sheet/sheet-stack.d.ts +106 -0
  311. package/dist/components/sheet/sheet-stack.js +146 -0
  312. package/dist/components/sheet/sheet.d.ts +279 -0
  313. package/dist/components/sheet/sheet.js +264 -0
  314. package/dist/components/sheet/sheet.props.d.ts +74 -0
  315. package/dist/components/sheet/sheet.props.js +77 -0
  316. package/dist/components/sheet/sheet.slots.js +22 -0
  317. package/dist/components/sheet/sheet.types.d.ts +12 -0
  318. package/dist/components/slider/index.d.ts +3 -0
  319. package/dist/components/slider/slider.context.d.ts +5 -0
  320. package/dist/components/slider/slider.context.js +29 -0
  321. package/dist/components/slider/slider.d.ts +230 -0
  322. package/dist/components/slider/slider.js +274 -0
  323. package/dist/components/slider/slider.props.d.ts +72 -0
  324. package/dist/components/slider/slider.props.js +59 -0
  325. package/dist/components/slider/slider.slots.d.ts +30 -0
  326. package/dist/components/slider/slider.slots.js +50 -0
  327. package/dist/components/surface/index.d.ts +1 -0
  328. package/dist/components/surface/surface.d.ts +84 -0
  329. package/dist/components/surface/surface.js +48 -0
  330. package/dist/components/surface/surface.props.d.ts +35 -0
  331. package/dist/components/surface/surface.props.js +26 -0
  332. package/dist/components/surface/surface.slots.js +9 -0
  333. package/dist/components/surface/surface.types.d.ts +14 -0
  334. package/dist/components/switch/index.d.ts +2 -0
  335. package/dist/components/switch/switch.context.js +14 -0
  336. package/dist/components/switch/switch.d.ts +110 -0
  337. package/dist/components/switch/switch.js +92 -0
  338. package/dist/components/switch/switch.props.d.ts +68 -0
  339. package/dist/components/switch/switch.props.js +41 -0
  340. package/dist/components/switch/switch.slots.d.ts +23 -0
  341. package/dist/components/switch/switch.slots.js +35 -0
  342. package/dist/components/table/index.d.ts +1 -0
  343. package/dist/components/table/table.d.ts +104 -0
  344. package/dist/components/table/table.js +92 -0
  345. package/dist/components/table/table.props.d.ts +38 -0
  346. package/dist/components/table/table.props.js +49 -0
  347. package/dist/components/table/table.slots.js +17 -0
  348. package/dist/components/tabs/index.d.ts +2 -0
  349. package/dist/components/tabs/tabs.context.d.ts +9 -0
  350. package/dist/components/tabs/tabs.context.js +13 -0
  351. package/dist/components/tabs/tabs.d.ts +139 -0
  352. package/dist/components/tabs/tabs.js +118 -0
  353. package/dist/components/tabs/tabs.props.d.ts +59 -0
  354. package/dist/components/tabs/tabs.props.js +39 -0
  355. package/dist/components/tabs/tabs.slots.d.ts +20 -0
  356. package/dist/components/tabs/tabs.slots.js +33 -0
  357. package/dist/components/textarea/index.d.ts +3 -0
  358. package/dist/components/textarea/textarea.context.js +13 -0
  359. package/dist/components/textarea/textarea.d.ts +142 -0
  360. package/dist/components/textarea/textarea.js +129 -0
  361. package/dist/components/textarea/textarea.props.d.ts +44 -0
  362. package/dist/components/textarea/textarea.props.js +32 -0
  363. package/dist/components/textarea/textarea.slots.d.ts +23 -0
  364. package/dist/components/textarea/textarea.slots.js +33 -0
  365. package/dist/components/textarea/textarea.types.d.ts +5 -0
  366. package/dist/components/toast/index.d.ts +4 -0
  367. package/dist/components/toast/toast.d.ts +241 -0
  368. package/dist/components/toast/toast.js +193 -0
  369. package/dist/components/toast/toast.manager.d.ts +76 -0
  370. package/dist/components/toast/toast.manager.js +71 -0
  371. package/dist/components/toast/toast.props.d.ts +66 -0
  372. package/dist/components/toast/toast.props.js +74 -0
  373. package/dist/components/toast/toast.slots.d.ts +30 -0
  374. package/dist/components/toast/toast.slots.js +49 -0
  375. package/dist/components/toast/toast.types.d.ts +19 -0
  376. package/dist/components/toggle/index.d.ts +2 -0
  377. package/dist/components/toggle/toggle.context.d.ts +11 -0
  378. package/dist/components/toggle/toggle.context.js +14 -0
  379. package/dist/components/toggle/toggle.d.ts +136 -0
  380. package/dist/components/toggle/toggle.js +101 -0
  381. package/dist/components/toggle/toggle.props.d.ts +51 -0
  382. package/dist/components/toggle/toggle.props.js +29 -0
  383. package/dist/components/toggle/toggle.slots.d.ts +26 -0
  384. package/dist/components/toggle/toggle.slots.js +36 -0
  385. package/dist/components/toolbar/index.d.ts +3 -0
  386. package/dist/components/toolbar/toolbar.context.js +23 -0
  387. package/dist/components/toolbar/toolbar.d.ts +218 -0
  388. package/dist/components/toolbar/toolbar.js +197 -0
  389. package/dist/components/toolbar/toolbar.props.d.ts +54 -0
  390. package/dist/components/toolbar/toolbar.props.js +55 -0
  391. package/dist/components/toolbar/toolbar.slots.d.ts +24 -0
  392. package/dist/components/toolbar/toolbar.slots.js +37 -0
  393. package/dist/components/toolbar/toolbar.types.d.ts +15 -0
  394. package/dist/components/tooltip/index.d.ts +2 -0
  395. package/dist/components/tooltip/tooltip.d.ts +170 -0
  396. package/dist/components/tooltip/tooltip.js +143 -0
  397. package/dist/components/tooltip/tooltip.props.d.ts +36 -0
  398. package/dist/components/tooltip/tooltip.props.js +42 -0
  399. package/dist/components/tooltip/tooltip.slots.d.ts +26 -0
  400. package/dist/components/tooltip/tooltip.slots.js +42 -0
  401. package/dist/core/derive-threshold-tone.js +35 -0
  402. package/dist/core/merge-class-name.d.ts +17 -0
  403. package/dist/core/merge-class-name.js +16 -0
  404. package/dist/core/noctis-provider.d.ts +38 -0
  405. package/dist/core/noctis-provider.js +44 -0
  406. package/dist/core/primitive/index.d.ts +1 -0
  407. package/dist/core/primitive/primitive.d.ts +44 -0
  408. package/dist/core/primitive/primitive.js +27 -0
  409. package/dist/core/radius-scope/index.d.ts +2 -0
  410. package/dist/core/radius-scope/radius-scope.d.ts +43 -0
  411. package/dist/core/radius-scope/radius-scope.js +36 -0
  412. package/dist/core/radius-scope/radius-scope.styles.d.ts +13 -0
  413. package/dist/core/radius-scope/radius-scope.styles.js +11 -0
  414. package/dist/core/render.d.ts +24 -0
  415. package/dist/core/render.js +12 -0
  416. package/dist/core/use-copy.d.ts +13 -0
  417. package/dist/core/use-copy.js +30 -0
  418. package/dist/core/use-injected-labels.js +55 -0
  419. package/dist/core/use-reduced-motion.d.ts +9 -0
  420. package/dist/core/use-reduced-motion.js +26 -0
  421. package/dist/core/visually-hidden/index.d.ts +1 -0
  422. package/dist/core/visually-hidden/visually-hidden.d.ts +24 -0
  423. package/dist/core/visually-hidden/visually-hidden.js +19 -0
  424. package/dist/i18n/default-messages.d.ts +12 -0
  425. package/dist/i18n/default-messages.js +10 -0
  426. package/dist/i18n/index.d.ts +2 -0
  427. package/dist/i18n/index.js +2 -0
  428. package/dist/i18n/messages/index.d.ts +2 -0
  429. package/dist/i18n/messages/index.js +2 -0
  430. package/dist/icons/glyphs.d.ts +2 -0
  431. package/dist/icons/glyphs.js +2 -0
  432. package/dist/icons/icon.d.ts +40 -0
  433. package/dist/icons/icon.js +26 -0
  434. package/dist/icons/icon.styles.d.ts +9 -0
  435. package/dist/icons/index.d.ts +3 -0
  436. package/dist/index.d.ts +126 -0
  437. package/dist/index.js +112 -0
  438. package/dist/primitives/accordion.d.ts +7 -0
  439. package/dist/primitives/accordion.js +8 -0
  440. package/dist/primitives/alert-dialog.d.ts +7 -0
  441. package/dist/primitives/alert-dialog.js +8 -0
  442. package/dist/primitives/autocomplete/autocomplete.d.ts +58 -0
  443. package/dist/primitives/autocomplete/autocomplete.js +58 -0
  444. package/dist/primitives/autocomplete/index.d.ts +1 -0
  445. package/dist/primitives/autocomplete.d.ts +2 -0
  446. package/dist/primitives/autocomplete.js +2 -0
  447. package/dist/primitives/avatar.d.ts +7 -0
  448. package/dist/primitives/avatar.js +8 -0
  449. package/dist/primitives/button.d.ts +7 -0
  450. package/dist/primitives/button.js +8 -0
  451. package/dist/primitives/checkbox-group.d.ts +7 -0
  452. package/dist/primitives/checkbox-group.js +8 -0
  453. package/dist/primitives/checkbox.d.ts +7 -0
  454. package/dist/primitives/checkbox.js +8 -0
  455. package/dist/primitives/collapsible.d.ts +7 -0
  456. package/dist/primitives/collapsible.js +8 -0
  457. package/dist/primitives/combobox/combobox.d.ts +71 -0
  458. package/dist/primitives/combobox/combobox.js +66 -0
  459. package/dist/primitives/combobox/index.d.ts +1 -0
  460. package/dist/primitives/combobox.d.ts +2 -0
  461. package/dist/primitives/combobox.js +2 -0
  462. package/dist/primitives/context-menu.d.ts +7 -0
  463. package/dist/primitives/context-menu.js +8 -0
  464. package/dist/primitives/csp-provider.d.ts +1 -0
  465. package/dist/primitives/csp-provider.js +2 -0
  466. package/dist/primitives/dialog.d.ts +7 -0
  467. package/dist/primitives/dialog.js +8 -0
  468. package/dist/primitives/direction-provider.d.ts +1 -0
  469. package/dist/primitives/direction-provider.js +8 -0
  470. package/dist/primitives/drawer.d.ts +1 -0
  471. package/dist/primitives/drawer.js +2 -0
  472. package/dist/primitives/field.d.ts +7 -0
  473. package/dist/primitives/field.js +8 -0
  474. package/dist/primitives/fieldset.d.ts +7 -0
  475. package/dist/primitives/fieldset.js +8 -0
  476. package/dist/primitives/form.d.ts +7 -0
  477. package/dist/primitives/form.js +8 -0
  478. package/dist/primitives/index.d.ts +79 -0
  479. package/dist/primitives/index.js +113 -0
  480. package/dist/primitives/input.d.ts +7 -0
  481. package/dist/primitives/input.js +8 -0
  482. package/dist/primitives/menu.d.ts +7 -0
  483. package/dist/primitives/menu.js +8 -0
  484. package/dist/primitives/menubar.d.ts +7 -0
  485. package/dist/primitives/menubar.js +8 -0
  486. package/dist/primitives/meter/index.d.ts +1 -0
  487. package/dist/primitives/meter/meter.d.ts +56 -0
  488. package/dist/primitives/meter/meter.js +59 -0
  489. package/dist/primitives/meter.d.ts +2 -0
  490. package/dist/primitives/meter.js +2 -0
  491. package/dist/primitives/navigation-menu.d.ts +7 -0
  492. package/dist/primitives/navigation-menu.js +8 -0
  493. package/dist/primitives/number-field/context.d.ts +13 -0
  494. package/dist/primitives/number-field/context.js +36 -0
  495. package/dist/primitives/number-field/index.d.ts +2 -0
  496. package/dist/primitives/number-field/number-field.d.ts +90 -0
  497. package/dist/primitives/number-field/number-field.js +107 -0
  498. package/dist/primitives/number-field.d.ts +3 -0
  499. package/dist/primitives/number-field.js +2 -0
  500. package/dist/primitives/otp-field.d.ts +7 -0
  501. package/dist/primitives/otp-field.js +8 -0
  502. package/dist/primitives/popover.d.ts +7 -0
  503. package/dist/primitives/popover.js +8 -0
  504. package/dist/primitives/preview-card.d.ts +7 -0
  505. package/dist/primitives/preview-card.js +8 -0
  506. package/dist/primitives/progress/index.d.ts +1 -0
  507. package/dist/primitives/progress/progress.d.ts +56 -0
  508. package/dist/primitives/progress/progress.js +59 -0
  509. package/dist/primitives/progress.d.ts +2 -0
  510. package/dist/primitives/progress.js +2 -0
  511. package/dist/primitives/radio-group.d.ts +7 -0
  512. package/dist/primitives/radio-group.js +8 -0
  513. package/dist/primitives/radio.d.ts +7 -0
  514. package/dist/primitives/radio.js +8 -0
  515. package/dist/primitives/scroll-area.d.ts +7 -0
  516. package/dist/primitives/scroll-area.js +8 -0
  517. package/dist/primitives/select.d.ts +7 -0
  518. package/dist/primitives/select.js +8 -0
  519. package/dist/primitives/separator.d.ts +7 -0
  520. package/dist/primitives/separator.js +8 -0
  521. package/dist/primitives/slider/context.d.ts +12 -0
  522. package/dist/primitives/slider/context.js +18 -0
  523. package/dist/primitives/slider/index.d.ts +2 -0
  524. package/dist/primitives/slider/slider.d.ts +83 -0
  525. package/dist/primitives/slider/slider.js +99 -0
  526. package/dist/primitives/slider.d.ts +3 -0
  527. package/dist/primitives/slider.js +2 -0
  528. package/dist/primitives/switch.d.ts +1 -0
  529. package/dist/primitives/switch.js +2 -0
  530. package/dist/primitives/tabs.d.ts +7 -0
  531. package/dist/primitives/tabs.js +8 -0
  532. package/dist/primitives/toast/context.d.ts +11 -0
  533. package/dist/primitives/toast/context.js +18 -0
  534. package/dist/primitives/toast/index.d.ts +2 -0
  535. package/dist/primitives/toast/toast.d.ts +122 -0
  536. package/dist/primitives/toast/toast.js +133 -0
  537. package/dist/primitives/toast.d.ts +3 -0
  538. package/dist/primitives/toast.js +2 -0
  539. package/dist/primitives/toggle-group.d.ts +7 -0
  540. package/dist/primitives/toggle-group.js +8 -0
  541. package/dist/primitives/toggle.d.ts +7 -0
  542. package/dist/primitives/toggle.js +8 -0
  543. package/dist/primitives/toolbar.d.ts +7 -0
  544. package/dist/primitives/toolbar.js +8 -0
  545. package/dist/primitives/tooltip.d.ts +7 -0
  546. package/dist/primitives/tooltip.js +8 -0
  547. package/dist/props.d.ts +46 -0
  548. package/dist/props.js +46 -0
  549. package/dist/styles.css +11513 -0
  550. package/dist/tailwind/cn.d.ts +33 -0
  551. package/dist/tailwind/cn.js +42 -0
  552. package/dist/tailwind/index.d.ts +3 -0
  553. package/dist/tailwind/index.js +3 -0
  554. package/dist/tailwind/tv.d.ts +20 -0
  555. package/dist/tailwind/tv.js +11 -0
  556. package/dist/tailwind.css +485 -0
  557. package/dist/theme/react.d.ts +1 -0
  558. package/dist/theme/react.js +1 -0
  559. package/dist/theme.d.ts +1 -0
  560. package/dist/theme.js +1 -0
  561. package/dist/tokens/react.d.ts +1 -0
  562. package/dist/tokens/react.js +1 -0
  563. package/dist/tokens.d.ts +1 -0
  564. package/dist/tokens.js +1 -0
  565. package/package.json +121 -0
@@ -0,0 +1,87 @@
1
+ import { pickerItemProps, pickerProps } from "./color-swatch.props.js";
2
+ import { ColorSwatch } from "./color-swatch.js";
3
+ import { ReactElement, ReactNode } from "react";
4
+
5
+ //#region src/components/color-swatch/color-swatch-picker.d.ts
6
+ /**
7
+ * A grid of color swatches the user picks one of — a single-selection radio group with roving focus
8
+ * and arrow-key navigation (Base UI's `RadioGroup`). The selected swatch carries an accent ring set
9
+ * off the canvas by a gap, so it reads on any hue, including the accent itself. Swatch corners follow
10
+ * the design-system radius knob by default; override with `rounding`.
11
+ */
12
+ declare function ColorSwatchPickerRoot({
13
+ value,
14
+ defaultValue,
15
+ disabled,
16
+ size,
17
+ rounding,
18
+ onValueChange,
19
+ className,
20
+ children,
21
+ "aria-label": ariaLabel
22
+ }: ColorSwatchPicker.Root.Props): ReactElement;
23
+ /**
24
+ * One selectable swatch. Built on Base UI's `Radio`, so it is keyboard-reachable, single-select, and
25
+ * announces its name. Hover lifts it, focus draws the accent outline, and the checked state pins the
26
+ * accent selection ring — all following the swatch's own rounding. Base UI stamps the live
27
+ * `data-checked`/`data-disabled` the CSS keys off; the render contributes the slot anchor and the
28
+ * `data-rounding` axis.
29
+ */
30
+ declare function ColorSwatchPickerItem({
31
+ color,
32
+ value,
33
+ colorName,
34
+ className
35
+ }: ColorSwatchPicker.Item.Props): ReactElement;
36
+ /**
37
+ * A single-select grid of color swatches. Compose `ColorSwatchPicker.Root` (owns the value) with
38
+ * `ColorSwatchPicker.Item`s. Built on Base UI's `RadioGroup`/`Radio` for selection and a11y.
39
+ *
40
+ * Per-part `props(...)` builders expose the same slot/data-attribute mapping as spreadable statics for
41
+ * the escape-hatch path (D12) — `ColorSwatchPicker.Root.props()` / `ColorSwatchPicker.Item.props(...)`.
42
+ */
43
+ declare const ColorSwatchPicker: {
44
+ /** The picker grid. `ColorSwatchPicker.Root.props()` → its spreadable prop bag. */Root: typeof ColorSwatchPickerRoot & {
45
+ props: typeof pickerProps;
46
+ }; /** One selectable swatch. `ColorSwatchPicker.Item.props({ rounding, checked, disabled })` → its spreadable prop bag. */
47
+ Item: typeof ColorSwatchPickerItem & {
48
+ props: typeof pickerItemProps;
49
+ };
50
+ };
51
+ declare namespace ColorSwatchPicker {
52
+ namespace Root {
53
+ /** Props for {@link ColorSwatchPicker.Root}. */
54
+ interface Props {
55
+ /** Controlled selected value. Pair with `onValueChange`. */
56
+ value?: string;
57
+ /** Initial selected value for the uncontrolled case. */
58
+ defaultValue?: string;
59
+ /** Disable the whole group. */
60
+ disabled?: boolean;
61
+ /** Edge length of every swatch. Defaults to `sm` (24px). */
62
+ size?: ColorSwatch.Size;
63
+ /** Corner rounding of every swatch. Defaults to `control` — follows the radius knob. */
64
+ rounding?: ColorSwatch.Rounding;
65
+ /** The group's accessible name. */
66
+ "aria-label"?: string;
67
+ /** Fires with the selected value. */
68
+ onValueChange?: (value: string) => void;
69
+ className?: string;
70
+ children?: ReactNode;
71
+ }
72
+ }
73
+ namespace Item {
74
+ /** Props for {@link ColorSwatchPicker.Item}. */
75
+ interface Props {
76
+ /** The CSS color this swatch shows. */
77
+ color: string;
78
+ /** The value selected when this swatch is chosen. Defaults to `color`. */
79
+ value?: string;
80
+ /** Accessible name for the swatch (e.g. the color's name). Falls back to the value/colour. */
81
+ colorName?: string;
82
+ className?: string;
83
+ }
84
+ }
85
+ }
86
+ //#endregion
87
+ export { ColorSwatchPicker };
@@ -0,0 +1,73 @@
1
+ "use client";
2
+ import { COLOR_SWATCH_SLOTS } from "./color-swatch.slots.js";
3
+ import { pickerItemProps, pickerProps } from "./color-swatch.props.js";
4
+ import { ColorSwatch } from "./color-swatch.js";
5
+ import { radio_exports } from "../../primitives/radio.js";
6
+ import { radio_group_exports } from "../../primitives/radio-group.js";
7
+ import { SwatchShapeContext } from "./color-swatch.context.js";
8
+ import { use } from "react";
9
+ import { clsx } from "clsx";
10
+ import { jsx } from "react/jsx-runtime";
11
+ //#region src/components/color-swatch/color-swatch-picker.tsx
12
+ /**
13
+ * A grid of color swatches the user picks one of — a single-selection radio group with roving focus
14
+ * and arrow-key navigation (Base UI's `RadioGroup`). The selected swatch carries an accent ring set
15
+ * off the canvas by a gap, so it reads on any hue, including the accent itself. Swatch corners follow
16
+ * the design-system radius knob by default; override with `rounding`.
17
+ */
18
+ function ColorSwatchPickerRoot({ value, defaultValue, disabled, size = "sm", rounding = "control", onValueChange, className, children, "aria-label": ariaLabel }) {
19
+ return /* @__PURE__ */ jsx(radio_group_exports.RadioGroup, {
20
+ "data-slot": COLOR_SWATCH_SLOTS.picker,
21
+ "aria-label": ariaLabel,
22
+ value,
23
+ defaultValue,
24
+ disabled,
25
+ onValueChange: (next) => onValueChange?.(next),
26
+ className: clsx(className),
27
+ children: /* @__PURE__ */ jsx(SwatchShapeContext, {
28
+ value: {
29
+ size,
30
+ rounding
31
+ },
32
+ children
33
+ })
34
+ });
35
+ }
36
+ /**
37
+ * One selectable swatch. Built on Base UI's `Radio`, so it is keyboard-reachable, single-select, and
38
+ * announces its name. Hover lifts it, focus draws the accent outline, and the checked state pins the
39
+ * accent selection ring — all following the swatch's own rounding. Base UI stamps the live
40
+ * `data-checked`/`data-disabled` the CSS keys off; the render contributes the slot anchor and the
41
+ * `data-rounding` axis.
42
+ */
43
+ function ColorSwatchPickerItem({ color, value, colorName, className }) {
44
+ const { size, rounding } = use(SwatchShapeContext);
45
+ return /* @__PURE__ */ jsx(radio_exports.Radio.Root, {
46
+ "data-slot": COLOR_SWATCH_SLOTS.pickerItem,
47
+ "data-rounding": rounding,
48
+ value: value ?? color,
49
+ "aria-label": colorName ?? value ?? color,
50
+ className: clsx(className),
51
+ children: /* @__PURE__ */ jsx(ColorSwatch, {
52
+ decorative: true,
53
+ color,
54
+ size,
55
+ rounding
56
+ })
57
+ });
58
+ }
59
+ /**
60
+ * A single-select grid of color swatches. Compose `ColorSwatchPicker.Root` (owns the value) with
61
+ * `ColorSwatchPicker.Item`s. Built on Base UI's `RadioGroup`/`Radio` for selection and a11y.
62
+ *
63
+ * Per-part `props(...)` builders expose the same slot/data-attribute mapping as spreadable statics for
64
+ * the escape-hatch path (D12) — `ColorSwatchPicker.Root.props()` / `ColorSwatchPicker.Item.props(...)`.
65
+ */
66
+ const ColorSwatchPicker = {
67
+ /** The picker grid. `ColorSwatchPicker.Root.props()` → its spreadable prop bag. */
68
+ Root: Object.assign(ColorSwatchPickerRoot, { props: pickerProps }),
69
+ /** One selectable swatch. `ColorSwatchPicker.Item.props({ rounding, checked, disabled })` → its spreadable prop bag. */
70
+ Item: Object.assign(ColorSwatchPickerItem, { props: pickerItemProps })
71
+ };
72
+ //#endregion
73
+ export { ColorSwatchPicker };
@@ -0,0 +1,8 @@
1
+ "use client";
2
+ import { createContext } from "react";
3
+ const SwatchShapeContext = createContext({
4
+ size: "sm",
5
+ rounding: "control"
6
+ });
7
+ //#endregion
8
+ export { SwatchShapeContext };
@@ -0,0 +1,55 @@
1
+ import { swatchProps } from "./color-swatch.props.js";
2
+ import { ReactElement } from "react";
3
+
4
+ //#region src/components/color-swatch/color-swatch.d.ts
5
+ /** The corner-rounding options a swatch (and a swatch picker item) accepts. */
6
+ declare const ROUNDINGS: readonly ["control", "sharp", "soft", "full"];
7
+ /**
8
+ * A presentational chip previewing a single color: a solid fill when opaque, the color over a
9
+ * checkerboard when translucent, and a diagonal slash when fully transparent. A hairline keeps light
10
+ * swatches legible on the dark canvas. It carries no interaction — `ColorSwatchPicker` adds selection,
11
+ * and a `Popover` wrapped around a `ColorPicker` adds the floating-picker affordance.
12
+ *
13
+ * Single-part: the props and the `Rounding`/`Size` unions live on the matching `ColorSwatch` namespace.
14
+ * The render stamps the slot + `data-size`/`data-rounding`/`data-empty` axes the CSS keys off;
15
+ * `className` is a consumer passthrough. `ColorSwatch.props(...)` is the same mapping as a spreadable
16
+ * static for the escape-hatch path (D12) — see `color-swatch.props.ts`.
17
+ */
18
+ declare function ColorSwatchRoot({
19
+ color,
20
+ size,
21
+ rounding,
22
+ colorName,
23
+ decorative,
24
+ className
25
+ }: ColorSwatch.Props): ReactElement;
26
+ /**
27
+ * A presentational chip previewing a single color. `ColorSwatch.props({ size, rounding, empty })` →
28
+ * its spreadable prop bag for the escape-hatch path (D12).
29
+ */
30
+ declare const ColorSwatch: typeof ColorSwatchRoot & {
31
+ props: typeof swatchProps;
32
+ };
33
+ /** Per-part prop and shape types for the single-part `ColorSwatch`; merges with the value above. */
34
+ declare namespace ColorSwatch {
35
+ /** The corner-rounding options a swatch (and a swatch picker item) accepts. */
36
+ type Rounding = (typeof ROUNDINGS)[number];
37
+ /** Edge length — the shared control-height ladder (20 / 26 / 36 / 40px), stamped as `data-size`. */
38
+ type Size = "xs" | "sm" | "md" | "lg";
39
+ /** Props for {@link ColorSwatch}. */
40
+ interface Props {
41
+ /** Any CSS color string. A fully-transparent value renders the "no color" slash. */
42
+ color: string;
43
+ /** Edge length. Defaults to `md` (36px). */
44
+ size?: Size;
45
+ /** Corner rounding. Defaults to `control` — follows the radius knob, like a button. */
46
+ rounding?: Rounding;
47
+ /** Accessible name. Falls back to the raw color value. Ignored when `decorative`. */
48
+ colorName?: string;
49
+ /** Mark the swatch decorative — drops it from the a11y tree when an ancestor already names it. */
50
+ decorative?: boolean;
51
+ className?: string;
52
+ }
53
+ }
54
+ //#endregion
55
+ export { ColorSwatch };
@@ -0,0 +1,48 @@
1
+ "use client";
2
+ import { parseColor, slashCss, swatchFillCss } from "../color-picker/color.js";
3
+ import { COLOR_SWATCH_SLOTS } from "./color-swatch.slots.js";
4
+ import { swatchProps } from "./color-swatch.props.js";
5
+ import { clsx } from "clsx";
6
+ import { jsx } from "react/jsx-runtime";
7
+ //#region src/components/color-swatch/color-swatch.tsx
8
+ /** The fallback when a color can't be parsed — an opaque-black RGB so the chip still paints. */
9
+ const FALLBACK = {
10
+ r: 0,
11
+ g: 0,
12
+ b: 0,
13
+ a: 1
14
+ };
15
+ /**
16
+ * A presentational chip previewing a single color: a solid fill when opaque, the color over a
17
+ * checkerboard when translucent, and a diagonal slash when fully transparent. A hairline keeps light
18
+ * swatches legible on the dark canvas. It carries no interaction — `ColorSwatchPicker` adds selection,
19
+ * and a `Popover` wrapped around a `ColorPicker` adds the floating-picker affordance.
20
+ *
21
+ * Single-part: the props and the `Rounding`/`Size` unions live on the matching `ColorSwatch` namespace.
22
+ * The render stamps the slot + `data-size`/`data-rounding`/`data-empty` axes the CSS keys off;
23
+ * `className` is a consumer passthrough. `ColorSwatch.props(...)` is the same mapping as a spreadable
24
+ * static for the escape-hatch path (D12) — see `color-swatch.props.ts`.
25
+ */
26
+ function ColorSwatchRoot({ color, size = "md", rounding = "control", colorName, decorative = false, className }) {
27
+ const rgb = parseColor(color) ?? FALLBACK;
28
+ const empty = rgb.a <= 0;
29
+ const style = empty ? { background: slashCss() } : { background: swatchFillCss(rgb, true) };
30
+ return /* @__PURE__ */ jsx("span", {
31
+ "data-slot": COLOR_SWATCH_SLOTS.swatch,
32
+ "data-size": size,
33
+ "data-rounding": rounding,
34
+ "data-empty": empty ? "" : void 0,
35
+ role: decorative ? void 0 : "img",
36
+ "aria-hidden": decorative || void 0,
37
+ "aria-label": decorative ? void 0 : colorName ?? color,
38
+ style,
39
+ className: clsx(className)
40
+ });
41
+ }
42
+ /**
43
+ * A presentational chip previewing a single color. `ColorSwatch.props({ size, rounding, empty })` →
44
+ * its spreadable prop bag for the escape-hatch path (D12).
45
+ */
46
+ const ColorSwatch = Object.assign(ColorSwatchRoot, { props: swatchProps });
47
+ //#endregion
48
+ export { ColorSwatch };
@@ -0,0 +1,54 @@
1
+ import { ColorSwatch } from "./color-swatch.js";
2
+
3
+ //#region src/components/color-swatch/color-swatch.props.d.ts
4
+ /** A spreadable data-attribute prop bag — the shape every `ColorSwatch.*.props()` returns. */
5
+ type ColorSwatchPartProps = {
6
+ /** The slot value the matching `color-swatch.css` rules anchor on. */"data-slot": string; /** Forwarded verbatim — styling is attribute-driven, so this is an optional consumer passthrough. */
7
+ className?: string; /** A data-attribute present (empty string) or absent (`undefined`); never `false`. */
8
+ [attr: `data-${string}`]: string | undefined;
9
+ };
10
+ /** Common shape: every part's `.props()` accepts an optional `className` passthrough. */
11
+ interface BasePropsArgs {
12
+ /** Forwarded verbatim onto the returned prop bag. */
13
+ className?: string;
14
+ }
15
+ /** Argument to `ColorSwatch.props(...)` — the chip's size/rounding option axes plus the empty state. */
16
+ interface ColorSwatchPropsArgs extends BasePropsArgs {
17
+ /** Edge length — stamped as `data-size`, re-points the size internal. @default "md" */
18
+ size?: ColorSwatch.Size;
19
+ /** Corner rounding — stamped as `data-rounding`. @default "control" */
20
+ rounding?: ColorSwatch.Rounding;
21
+ /** Whether the swatch paints the transparent-color slash (tints it the danger colour via `data-empty`). */
22
+ empty?: boolean;
23
+ }
24
+ /** Argument to `ColorSwatch.Picker.props(...)` — the grid has no axes of its own; gap flows from the slot. */
25
+ type ColorSwatchPickerPropsArgs = BasePropsArgs;
26
+ /** Argument to `ColorSwatch.PickerItem.props(...)` — the per-item rounding plus the checked/disabled state. */
27
+ interface ColorSwatchPickerItemPropsArgs extends BasePropsArgs {
28
+ /** Corner rounding — stamped as `data-rounding`. @default "control" */
29
+ rounding?: ColorSwatch.Rounding;
30
+ /** Whether this item is the selected one (draws the accent ring via `data-checked`). */
31
+ checked?: boolean;
32
+ /** Whether this item is disabled (drives the not-allowed affordance via `data-disabled`). */
33
+ disabled?: boolean;
34
+ }
35
+ /** Swatch prop bag: slot anchor plus the `data-size`/`data-rounding`/`data-empty` the CSS keys off. */
36
+ declare function swatchProps({
37
+ size,
38
+ rounding,
39
+ empty,
40
+ className
41
+ }?: ColorSwatchPropsArgs): ColorSwatchPartProps;
42
+ /** Picker grid prop bag: just the slot anchor (gap flows from the slot). */
43
+ declare function pickerProps({
44
+ className
45
+ }?: ColorSwatchPickerPropsArgs): ColorSwatchPartProps;
46
+ /** Picker item prop bag: slot anchor plus the `data-rounding` and `data-checked`/`data-disabled` state. */
47
+ declare function pickerItemProps({
48
+ rounding,
49
+ checked,
50
+ disabled,
51
+ className
52
+ }?: ColorSwatchPickerItemPropsArgs): ColorSwatchPartProps;
53
+ //#endregion
54
+ export { pickerItemProps, pickerProps, swatchProps };
@@ -0,0 +1,32 @@
1
+ import { COLOR_SWATCH_SLOTS } from "./color-swatch.slots.js";
2
+ //#region src/components/color-swatch/color-swatch.props.ts
3
+ /** Stamp a boolean state as a bare data-attribute: present (`""`) when on, absent (`undefined`) when off. */
4
+ const flag = (on) => on ? "" : void 0;
5
+ const withClassName = (bag, className) => className === void 0 ? bag : {
6
+ ...bag,
7
+ className
8
+ };
9
+ /** Swatch prop bag: slot anchor plus the `data-size`/`data-rounding`/`data-empty` the CSS keys off. */
10
+ function swatchProps({ size = "md", rounding = "control", empty, className } = {}) {
11
+ return withClassName({
12
+ "data-slot": COLOR_SWATCH_SLOTS.swatch,
13
+ "data-size": size,
14
+ "data-rounding": rounding,
15
+ "data-empty": flag(empty)
16
+ }, className);
17
+ }
18
+ /** Picker grid prop bag: just the slot anchor (gap flows from the slot). */
19
+ function pickerProps({ className } = {}) {
20
+ return withClassName({ "data-slot": COLOR_SWATCH_SLOTS.picker }, className);
21
+ }
22
+ /** Picker item prop bag: slot anchor plus the `data-rounding` and `data-checked`/`data-disabled` state. */
23
+ function pickerItemProps({ rounding = "control", checked, disabled, className } = {}) {
24
+ return withClassName({
25
+ "data-slot": COLOR_SWATCH_SLOTS.pickerItem,
26
+ "data-rounding": rounding,
27
+ "data-checked": flag(checked),
28
+ "data-disabled": flag(disabled)
29
+ }, className);
30
+ }
31
+ //#endregion
32
+ export { pickerItemProps, pickerProps, swatchProps };
@@ -0,0 +1,13 @@
1
+ //#region src/components/color-swatch/color-swatch.slots.ts
2
+ /**
3
+ * The slot vocabulary every `ColorSwatch` part stamps as its `data-slot`. The authored source the
4
+ * orchestration files read from, kebab-cased `{component}-{part}`; SLOTS.md still generates from the
5
+ * token-graph declarations.
6
+ */
7
+ const COLOR_SWATCH_SLOTS = {
8
+ swatch: "noctis-color-swatch",
9
+ picker: "noctis-color-swatch-picker",
10
+ pickerItem: "noctis-color-swatch-picker-item"
11
+ };
12
+ //#endregion
13
+ export { COLOR_SWATCH_SLOTS };
@@ -0,0 +1,2 @@
1
+ import { ColorSwatch } from "./color-swatch.js";
2
+ import { ColorSwatchPicker } from "./color-swatch-picker.js";
@@ -0,0 +1,13 @@
1
+ "use client";
2
+ import { createContext, use } from "react";
3
+ //#region src/components/combobox/combobox.context.ts
4
+ const ComboboxContext = createContext(null);
5
+ const ComboboxProvider = ComboboxContext.Provider;
6
+ /** Read the combobox context, throwing a named error when a part renders outside `Combobox.Root`. */
7
+ function useComboboxContext(part) {
8
+ const context = use(ComboboxContext);
9
+ if (context === null) throw new Error(`Combobox.${part} must be rendered inside <Combobox.Root>.`);
10
+ return context;
11
+ }
12
+ //#endregion
13
+ export { ComboboxProvider, useComboboxContext };