@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,33 @@
1
+ import { ClassValue } from "clsx";
2
+
3
+ //#region src/tailwind/cn.d.ts
4
+ /**
5
+ * The design system's named font-size scale (mirrors `--text-*` in design-tokens' `tokens.css`).
6
+ * tailwind-merge needs it spelled out because these names are custom: without it `text-mini` reads
7
+ * as a color, so `cn("text-mini", "text-foreground")` would drop the size. Shared with {@link tv}
8
+ * so variant maps merge font sizes the same way.
9
+ *
10
+ * Keep in sync with the `--text-*` sizes in `@stridge/noctis-design-tokens` `tokens.css`.
11
+ */
12
+ declare const FONT_SIZE_CLASS_GROUP: {
13
+ readonly "font-size": readonly [{
14
+ readonly text: readonly ["micro", "mini", "small", "regular", "large", "title-1", "title-2", "title-3"];
15
+ }];
16
+ };
17
+ /** tailwind-merge configuration taught the named font-size and radius roles; shared by {@link cn} and {@link tv}. */
18
+ declare const TW_MERGE_CONFIG: {
19
+ readonly extend: {
20
+ readonly classGroups: {
21
+ readonly rounded: readonly [{
22
+ readonly rounded: readonly ["control"];
23
+ }];
24
+ readonly "font-size": readonly [{
25
+ readonly text: readonly ["micro", "mini", "small", "regular", "large", "title-1", "title-2", "title-3"];
26
+ }];
27
+ };
28
+ };
29
+ };
30
+ /** Tailwind-aware class merge (`clsx` + `tailwind-merge`) so later classes override earlier ones. */
31
+ declare function cn(...inputs: ClassValue[]): string;
32
+ //#endregion
33
+ export { FONT_SIZE_CLASS_GROUP, TW_MERGE_CONFIG, cn };
@@ -0,0 +1,42 @@
1
+ import { clsx } from "clsx";
2
+ import { extendTailwindMerge } from "tailwind-merge";
3
+ //#region src/tailwind/cn.ts
4
+ /**
5
+ * The design system's named font-size scale (mirrors `--text-*` in design-tokens' `tokens.css`).
6
+ * tailwind-merge needs it spelled out because these names are custom: without it `text-mini` reads
7
+ * as a color, so `cn("text-mini", "text-foreground")` would drop the size. Shared with {@link tv}
8
+ * so variant maps merge font sizes the same way.
9
+ *
10
+ * Keep in sync with the `--text-*` sizes in `@stridge/noctis-design-tokens` `tokens.css`.
11
+ */
12
+ const FONT_SIZE_CLASS_GROUP = { "font-size": [{ text: [
13
+ "micro",
14
+ "mini",
15
+ "small",
16
+ "regular",
17
+ "large",
18
+ "title-1",
19
+ "title-2",
20
+ "title-3"
21
+ ] }] };
22
+ /**
23
+ * The named radius role `rounded-control` (mirrors `--radius-control`) — the knob-following, uncapped
24
+ * corner used by buttons, chips, and swatches. tailwind-merge must be told it is a border-radius, or it
25
+ * treats the custom name as unknown and won't dedupe it: `cn("rounded-sm", "rounded-control")` would
26
+ * keep *both*, and the capped `rounded-sm` wins the cascade — so an override never reaches the knob.
27
+ *
28
+ * Keep in sync with `--radius-control` in `@stridge/noctis-design-tokens` `tokens.css`.
29
+ */
30
+ const RADIUS_CLASS_GROUP = { rounded: [{ rounded: ["control"] }] };
31
+ /** tailwind-merge configuration taught the named font-size and radius roles; shared by {@link cn} and {@link tv}. */
32
+ const TW_MERGE_CONFIG = { extend: { classGroups: {
33
+ ...FONT_SIZE_CLASS_GROUP,
34
+ ...RADIUS_CLASS_GROUP
35
+ } } };
36
+ const twMerge = extendTailwindMerge(TW_MERGE_CONFIG);
37
+ /** Tailwind-aware class merge (`clsx` + `tailwind-merge`) so later classes override earlier ones. */
38
+ function cn(...inputs) {
39
+ return twMerge(clsx(inputs));
40
+ }
41
+ //#endregion
42
+ export { FONT_SIZE_CLASS_GROUP, TW_MERGE_CONFIG, cn };
@@ -0,0 +1,3 @@
1
+ import { FONT_SIZE_CLASS_GROUP, TW_MERGE_CONFIG, cn } from "./cn.js";
2
+ import { tv } from "./tv.js";
3
+ export { FONT_SIZE_CLASS_GROUP, TW_MERGE_CONFIG, cn, tv };
@@ -0,0 +1,3 @@
1
+ import { FONT_SIZE_CLASS_GROUP, TW_MERGE_CONFIG, cn } from "./cn.js";
2
+ import { tv } from "./tv.js";
3
+ export { FONT_SIZE_CLASS_GROUP, TW_MERGE_CONFIG, cn, tv };
@@ -0,0 +1,20 @@
1
+ import * as _$tailwind_variants0 from "tailwind-variants";
2
+ import { VariantProps } from "tailwind-variants";
3
+
4
+ //#region src/tailwind/tv.d.ts
5
+ /**
6
+ * The variant utility for primitives — `tailwind-variants` configured with the same font-size-aware
7
+ * `tailwind-merge` rules as {@link cn}, so a variant that sets `text-small` and a consumer override
8
+ * resolve correctly. Use it for typed size/tone/variant/state maps driven by semantic tokens.
9
+ */
10
+ declare const tv: _$tailwind_variants0.TV;
11
+ /** Types-only namespace merged onto the {@link tv} value — `tv.VariantProps<typeof recipe>` derives a recipe's variant prop map. */
12
+ declare namespace tv {
13
+ /**
14
+ * The variant prop map a `tv` recipe accepts — the source for a component's `Variant`/`Size` unions.
15
+ * @public — part of the `@stridge/noctis/tailwind` adapter surface for consumers authoring recipes.
16
+ */
17
+ type VariantProps<Recipe extends (...args: never[]) => unknown> = VariantProps<Recipe>;
18
+ }
19
+ //#endregion
20
+ export { tv };
@@ -0,0 +1,11 @@
1
+ import { TW_MERGE_CONFIG } from "./cn.js";
2
+ import { createTV } from "tailwind-variants";
3
+ //#region src/tailwind/tv.ts
4
+ /**
5
+ * The variant utility for primitives — `tailwind-variants` configured with the same font-size-aware
6
+ * `tailwind-merge` rules as {@link cn}, so a variant that sets `text-small` and a consumer override
7
+ * resolve correctly. Use it for typed size/tone/variant/state maps driven by semantic tokens.
8
+ */
9
+ const tv = createTV({ twMergeConfig: TW_MERGE_CONFIG });
10
+ //#endregion
11
+ export { tv };
@@ -0,0 +1,485 @@
1
+ /* The opt-in Tailwind adapter stylesheet — the `@theme` reset, the `@theme inline` bridge, and the
2
+ * `@utility` rules that mint Noctis's semantic utilities (`bg-background`, `border-field`, …).
3
+ *
4
+ * Import only when authoring with Tailwind v4, after `@import "tailwindcss"` and alongside the
5
+ * framework-neutral `@stridge/noctis/styles.css` (which carries the canonical token declarations every
6
+ * utility here resolves against). Consumers who do not use Tailwind import none of this. */
7
+ /**
8
+ * The Noctis Tailwind adapter: the `@theme` reset, the `@theme inline` bridge, and the `@utility`
9
+ * rules that mint Noctis's semantic utilities (`bg-background`, `border-field`, …).
10
+ *
11
+ * Opt-in — import only when authoring with Tailwind v4, after `@import "tailwindcss"` and alongside
12
+ * the framework-neutral `tokens.css` (which carries the canonical `--noctis-*` declarations every alias
13
+ * here resolves against). Consumers who do not use Tailwind depend on none of this.
14
+ *
15
+ * Generated by `pnpm tokens:gen` — edit the graph in `src/graph/`, not this file.
16
+ */
17
+
18
+ /* ── Tailwind default-theme reset + literal breakpoints ─────────────────────────────────
19
+ * Reset-and-own: every Tailwind default namespace Noctis owns is dropped to `initial` so
20
+ * only the minted `@theme inline` keys below exist — `bg-red-500`, `p-17`, `shadow-2xl`,
21
+ * `blur-3xl` are not even available, and the build is the detection mechanism for unsanctioned
22
+ * usage. `--spacing: initial` kills the bare multiplier behind every numeric spacing utility.
23
+ * `--border-width-*`/`--opacity-*` have no v4 defaults — their resets are forward hygiene
24
+ * against future/plugin keys (the numeric utilities themselves are static bare-value handlers;
25
+ * the minted keys below shadow them). Static utilities with no theme lookup (`leading-none`,
26
+ * `shadow-none`, `animate-none`, `border-0`) survive every reset by construction.
27
+ * Breakpoints are the one family that cannot bridge through `var()` (media query preludes
28
+ * reject it), so each bare key carries the literal value its canonical `--noctis-breakpoint-*`
29
+ * twin declares — duplicated from the same graph node at generation time.
30
+ */
31
+ @theme {
32
+ --color-*: initial;
33
+ --spacing: initial;
34
+ --shadow-*: initial;
35
+ --inset-shadow-*: initial;
36
+ --drop-shadow-*: initial;
37
+ --text-shadow-*: initial;
38
+ --blur-*: initial;
39
+ --leading-*: initial;
40
+ --animate-*: initial;
41
+ --container-*: initial;
42
+ --perspective-*: initial;
43
+ --aspect-*: initial;
44
+ --border-width-*: initial;
45
+ --opacity-*: initial;
46
+
47
+ --breakpoint-sm: 40rem;
48
+ --breakpoint-md: 48rem;
49
+ --breakpoint-lg: 64rem;
50
+ --breakpoint-xl: 80rem;
51
+ --breakpoint-2xl: 96rem;
52
+ }
53
+
54
+ /* ── Tailwind bridge (the only color source) ────────────────────────────────────────────
55
+ * `inline` makes each utility reference the canonical variable directly
56
+ * (`bg-surface` → `background-color: var(--noctis-color-surface)`) instead of through a generated
57
+ * indirection, so live runtime updates to the canonical layer (and the engine primitives behind
58
+ * it) re-theme the app with no rebuild. The bare keys here exist only at build time — runtime
59
+ * overrides must target the `--noctis-*` canonicals, never these aliases.
60
+ */
61
+ @theme inline {
62
+ /* Color bridge — one `--color-*` key per bridged semantic role, aliasing its canonical
63
+ * `--noctis-color-*` twin. Roles whose fill and border are different values (selected, field,
64
+ * checkbox, kbd, tooltip, …) are dedicated `@utility` rules below instead. */
65
+ --color-background: var(--noctis-color-background);
66
+ --color-hover: var(--noctis-color-hover);
67
+ --color-surface: var(--noctis-color-surface);
68
+ --color-surface-hover: var(--noctis-color-surface-hover);
69
+ --color-surface-raised: var(--noctis-color-surface-raised);
70
+ --color-sunken: var(--noctis-color-sunken);
71
+ --color-selected-hover: var(--noctis-color-selected-hover);
72
+ --color-focus: var(--noctis-color-focus);
73
+ --color-overlay: var(--noctis-color-overlay);
74
+ --color-header: var(--noctis-color-header);
75
+ --color-sidebar-item: var(--noctis-color-sidebar-item);
76
+ --color-sidebar-item-active: var(--noctis-color-sidebar-item-active);
77
+ --color-code: var(--noctis-color-code);
78
+ --color-data-grid-header: var(--noctis-color-data-grid-header);
79
+ --color-data-grid-row-hover: var(--noctis-color-data-grid-row-hover);
80
+ --color-data-grid-row-hover-strong: var(--noctis-color-data-grid-row-hover-strong);
81
+ --color-foreground: var(--noctis-color-foreground);
82
+ --color-secondary: var(--noctis-color-secondary);
83
+ --color-muted: var(--noctis-color-muted);
84
+ --color-subtle: var(--noctis-color-subtle);
85
+ --color-placeholder: var(--noctis-color-placeholder);
86
+ --color-link: var(--noctis-color-link);
87
+ --color-code-foreground: var(--noctis-color-code-foreground);
88
+ --color-kbd-foreground: var(--noctis-color-kbd-foreground);
89
+ --color-menu-shortcut: var(--noctis-color-menu-shortcut);
90
+ --color-faint: var(--noctis-color-border-faint);
91
+ --color-border: var(--noctis-color-border);
92
+ --color-strong: var(--noctis-color-border-strong);
93
+ --color-divider: var(--noctis-color-divider);
94
+ --color-ring: var(--noctis-color-ring);
95
+ --color-primary: var(--noctis-color-primary);
96
+ --color-primary-foreground: var(--noctis-color-primary-foreground);
97
+ --color-primary-hover: var(--noctis-color-primary-hover);
98
+ --color-primary-active: var(--noctis-color-primary-active);
99
+ --color-accent: var(--noctis-color-accent);
100
+ --color-accent-foreground: var(--noctis-color-accent-foreground);
101
+ --color-accent-hover: var(--noctis-color-accent-hover);
102
+ --color-accent-active: var(--noctis-color-accent-active);
103
+ --color-accent-muted: var(--noctis-color-accent-muted);
104
+ --color-control: var(--noctis-color-control);
105
+ --color-control-foreground: var(--noctis-color-control-foreground);
106
+ --color-control-hover: var(--noctis-color-control-hover);
107
+ --color-control-selected: var(--noctis-color-control-selected);
108
+ --color-control-selected-hover: var(--noctis-color-control-selected-hover);
109
+ --color-control-ghost: var(--noctis-color-control-ghost);
110
+ --color-control-ghost-hover: var(--noctis-color-control-ghost-hover);
111
+ --color-control-ghost-selected: var(--noctis-color-control-ghost-selected);
112
+ --color-control-ghost-selected-hover: var(--noctis-color-control-ghost-selected-hover);
113
+ --color-toggle-track-off: var(--noctis-color-toggle-track-off);
114
+ --color-toggle-track-off-hover: var(--noctis-color-toggle-track-off-hover);
115
+ --color-toggle-track-on: var(--noctis-color-toggle-track-on);
116
+ --color-toggle-track-on-hover: var(--noctis-color-toggle-track-on-hover);
117
+ --color-toggle-track-on-disabled: var(--noctis-color-toggle-track-on-disabled);
118
+ --color-toggle-thumb: var(--noctis-color-toggle-thumb);
119
+ --color-checkbox-checked: var(--noctis-color-checkbox-checked);
120
+ --color-checkbox-check: var(--noctis-color-checkbox-check);
121
+ --color-radio-checked: var(--noctis-color-radio-checked);
122
+ --color-scrollbar-thumb: var(--noctis-color-scrollbar-thumb);
123
+ --color-scrollbar-track: var(--noctis-color-scrollbar-track);
124
+ --color-selection: var(--noctis-color-selection);
125
+ --color-chart-positive: var(--noctis-color-chart-positive);
126
+ --color-chart-negative: var(--noctis-color-chart-negative);
127
+ --color-chart-neutral: var(--noctis-color-chart-neutral);
128
+ --color-chart-axis: var(--noctis-color-chart-axis);
129
+ --color-chart-track: var(--noctis-color-chart-track);
130
+ --color-chart-tooltip: var(--noctis-color-chart-tooltip);
131
+ --color-danger: var(--noctis-color-danger);
132
+ --color-danger-foreground: var(--noctis-color-danger-foreground);
133
+ --color-danger-muted: var(--noctis-color-danger-muted);
134
+ --color-danger-muted-foreground: var(--noctis-color-danger-muted-foreground);
135
+ --color-danger-hover: var(--noctis-color-danger-hover);
136
+ --color-danger-faint: var(--noctis-color-danger-faint);
137
+ --color-success: var(--noctis-color-success);
138
+ --color-success-foreground: var(--noctis-color-success-foreground);
139
+ --color-success-muted: var(--noctis-color-success-muted);
140
+ --color-success-muted-foreground: var(--noctis-color-success-muted-foreground);
141
+ --color-success-hover: var(--noctis-color-success-hover);
142
+ --color-success-faint: var(--noctis-color-success-faint);
143
+ --color-warning: var(--noctis-color-warning);
144
+ --color-warning-foreground: var(--noctis-color-warning-foreground);
145
+ --color-warning-muted: var(--noctis-color-warning-muted);
146
+ --color-warning-muted-foreground: var(--noctis-color-warning-muted-foreground);
147
+ --color-warning-hover: var(--noctis-color-warning-hover);
148
+ --color-warning-faint: var(--noctis-color-warning-faint);
149
+ --color-info: var(--noctis-color-info);
150
+ --color-info-foreground: var(--noctis-color-info-foreground);
151
+ --color-info-muted: var(--noctis-color-info-muted);
152
+ --color-info-muted-foreground: var(--noctis-color-info-muted-foreground);
153
+ --color-info-hover: var(--noctis-color-info-hover);
154
+ --color-info-faint: var(--noctis-color-info-faint);
155
+ --color-presence-online: var(--noctis-color-presence-online);
156
+ --color-presence-busy: var(--noctis-color-presence-busy);
157
+ --color-presence-focus: var(--noctis-color-presence-focus);
158
+ --color-presence-away: var(--noctis-color-presence-away);
159
+ --color-presence-offline: var(--noctis-color-presence-offline);
160
+ --color-disabled: var(--noctis-color-text-disabled);
161
+ --color-well: var(--noctis-color-well);
162
+ --color-chart-1: var(--noctis-color-chart-1);
163
+ --color-chart-2: var(--noctis-color-chart-2);
164
+ --color-chart-3: var(--noctis-color-chart-3);
165
+ --color-chart-4: var(--noctis-color-chart-4);
166
+ --color-chart-5: var(--noctis-color-chart-5);
167
+ --color-chart-6: var(--noctis-color-chart-6);
168
+ --color-chart-7: var(--noctis-color-chart-7);
169
+ --color-chart-8: var(--noctis-color-chart-8);
170
+ --color-avatar-1: var(--noctis-color-avatar-1);
171
+ --color-avatar-2: var(--noctis-color-avatar-2);
172
+ --color-avatar-3: var(--noctis-color-avatar-3);
173
+ --color-avatar-4: var(--noctis-color-avatar-4);
174
+ --color-avatar-5: var(--noctis-color-avatar-5);
175
+ --color-avatar-6: var(--noctis-color-avatar-6);
176
+ --color-avatar-7: var(--noctis-color-avatar-7);
177
+ --color-avatar-8: var(--noctis-color-avatar-8);
178
+ --color-avatar-9: var(--noctis-color-avatar-9);
179
+ --color-avatar-10: var(--noctis-color-avatar-10);
180
+ --color-avatar-foreground: var(--noctis-color-avatar-foreground);
181
+
182
+ /* Named text sizes + their paired line-height keys (`--text-<size>--line-height`). */
183
+ --text-micro: var(--noctis-text-micro);
184
+ --text-micro--line-height: var(--noctis-leading-micro);
185
+ --text-mini: var(--noctis-text-mini);
186
+ --text-mini--line-height: var(--noctis-leading-mini);
187
+ --text-small: var(--noctis-text-small);
188
+ --text-small--line-height: var(--noctis-leading-small);
189
+ --text-regular: var(--noctis-text-regular);
190
+ --text-regular--line-height: var(--noctis-leading-regular);
191
+ --text-large: var(--noctis-text-large);
192
+ --text-large--line-height: var(--noctis-leading-large);
193
+ --text-title-1: var(--noctis-text-title-1);
194
+ --text-title-1--line-height: var(--noctis-leading-title-1);
195
+ --text-title-2: var(--noctis-text-title-2);
196
+ --text-title-2--line-height: var(--noctis-leading-title-2);
197
+ --text-title-3: var(--noctis-text-title-3);
198
+ --text-title-3--line-height: var(--noctis-leading-title-3);
199
+
200
+ /* Standalone leadings — `leading-snug`/`leading-relaxed` over the owned steps. */
201
+ --leading-snug: var(--noctis-leading-snug);
202
+ --leading-relaxed: var(--noctis-leading-relaxed);
203
+
204
+ /* Spacing ramp — every `p-*`/`m-*`/`gap-*`/`size-*`/`w-*`/… step resolves through the
205
+ * canonical density-scaled scale (fractional keys escaped: `--spacing-1\.5`). */
206
+ --spacing-0: var(--noctis-space-0);
207
+ --spacing-0\.5: var(--noctis-space-0\.5);
208
+ --spacing-1: var(--noctis-space-1);
209
+ --spacing-1\.5: var(--noctis-space-1\.5);
210
+ --spacing-2: var(--noctis-space-2);
211
+ --spacing-2\.5: var(--noctis-space-2\.5);
212
+ --spacing-3: var(--noctis-space-3);
213
+ --spacing-3\.5: var(--noctis-space-3\.5);
214
+ --spacing-4: var(--noctis-space-4);
215
+ --spacing-5: var(--noctis-space-5);
216
+ --spacing-6: var(--noctis-space-6);
217
+ --spacing-7: var(--noctis-space-7);
218
+ --spacing-8: var(--noctis-space-8);
219
+ --spacing-9: var(--noctis-space-9);
220
+ --spacing-10: var(--noctis-space-10);
221
+ --spacing-11: var(--noctis-space-11);
222
+ --spacing-12: var(--noctis-space-12);
223
+ --spacing-14: var(--noctis-space-14);
224
+ --spacing-16: var(--noctis-space-16);
225
+ --spacing-20: var(--noctis-space-20);
226
+ --spacing-24: var(--noctis-space-24);
227
+ --spacing-28: var(--noctis-space-28);
228
+ --spacing-32: var(--noctis-space-32);
229
+ --spacing-36: var(--noctis-space-36);
230
+ --spacing-40: var(--noctis-space-40);
231
+ --spacing-44: var(--noctis-space-44);
232
+ --spacing-48: var(--noctis-space-48);
233
+ --spacing-52: var(--noctis-space-52);
234
+ --spacing-56: var(--noctis-space-56);
235
+ --spacing-60: var(--noctis-space-60);
236
+ --spacing-64: var(--noctis-space-64);
237
+ --spacing-72: var(--noctis-space-72);
238
+ --spacing-80: var(--noctis-space-80);
239
+ --spacing-96: var(--noctis-space-96);
240
+ --spacing-px: var(--noctis-space-px);
241
+
242
+ /* Radius steps — `rounded-*` resolves through the canonical scale. */
243
+ --radius-xs: var(--noctis-radius-xs);
244
+ --radius-sm: var(--noctis-radius-sm);
245
+ --radius-md: var(--noctis-radius-md);
246
+ --radius-lg: var(--noctis-radius-lg);
247
+ --radius-xl: var(--noctis-radius-xl);
248
+ --radius-full: var(--noctis-radius-full);
249
+ --radius-control: var(--noctis-radius-control);
250
+
251
+ /* Easing curves. */
252
+ --ease-standard: var(--noctis-ease-standard);
253
+ --ease-in: var(--noctis-ease-in);
254
+ --ease-out: var(--noctis-ease-out);
255
+ --ease-in-out: var(--noctis-ease-in-out);
256
+ --ease-overlay: var(--noctis-ease-overlay);
257
+
258
+ /* Motion durations — `duration-fast|quick|regular|slow|overlay` read the named stops. */
259
+ --transition-duration-fast: var(--noctis-duration-fast);
260
+ --transition-duration-quick: var(--noctis-duration-quick);
261
+ --transition-duration-regular: var(--noctis-duration-regular);
262
+ --transition-duration-slow: var(--noctis-duration-slow);
263
+ --transition-duration-overlay: var(--noctis-duration-overlay);
264
+
265
+ /* Stacking — `z-raised|dropdown|sticky|overlay|modal|popover|toast` read the z ladder. */
266
+ --z-index-raised: var(--noctis-z-raised);
267
+ --z-index-dropdown: var(--noctis-z-dropdown);
268
+ --z-index-sticky: var(--noctis-z-sticky);
269
+ --z-index-overlay: var(--noctis-z-overlay);
270
+ --z-index-modal: var(--noctis-z-modal);
271
+ --z-index-popover: var(--noctis-z-popover);
272
+ --z-index-toast: var(--noctis-z-toast);
273
+
274
+ /* Typography — families, weights, tracking. */
275
+ --font-sans: var(--noctis-font-sans);
276
+ --font-mono: var(--noctis-font-mono);
277
+ --font-weight-light: var(--noctis-font-weight-light);
278
+ --font-weight-normal: var(--noctis-font-weight-normal);
279
+ --font-weight-medium: var(--noctis-font-weight-medium);
280
+ --font-weight-semibold: var(--noctis-font-weight-semibold);
281
+ --font-weight-bold: var(--noctis-font-weight-bold);
282
+ --font-weight-extrabold: var(--noctis-font-weight-extrabold);
283
+ --font-weight-black: var(--noctis-font-weight-black);
284
+ --tracking-tight: var(--noctis-tracking-tight);
285
+ --tracking-normal: var(--noctis-tracking-normal);
286
+ --tracking-wide: var(--noctis-tracking-wide);
287
+
288
+ /* Box-shadow ladder — semantic utility names over the composed shadow families (the
289
+ * geometry/alpha parts are canonical-only). Utilities: `shadow-card`, `shadow-popover`,
290
+ * `shadow-modal`, `shadow-inset`, `shadow-focus`, plus the mirrored `shadow-sm`. */
291
+ --shadow-card: var(--noctis-shadow-low);
292
+ --shadow-popover: var(--noctis-shadow-medium);
293
+ --shadow-modal: var(--noctis-shadow-high);
294
+ --shadow-inset: var(--noctis-shadow-inset);
295
+ --shadow-focus: var(--noctis-shadow-focus);
296
+ --shadow-sm: var(--noctis-shadow-sm);
297
+
298
+ /* Container widths — named `w-*`/`max-w-*`/`basis-*` sizes read the owned steps. */
299
+ --container-xs: var(--noctis-container-xs);
300
+ --container-sm: var(--noctis-container-sm);
301
+ --container-md: var(--noctis-container-md);
302
+ --container-xl: var(--noctis-container-xl);
303
+ --container-2xl: var(--noctis-container-2xl);
304
+ --container-3xl: var(--noctis-container-3xl);
305
+ --container-7xl: var(--noctis-container-7xl);
306
+
307
+ /* Border widths — `border`/`border-2`/`border-4` resolve through the minted steps. */
308
+ --border-width-1: var(--noctis-border-width-1);
309
+ --border-width-2: var(--noctis-border-width-2);
310
+ --border-width-4: var(--noctis-border-width-4);
311
+
312
+ /* Blur radii — `blur-*` and `backdrop-blur-*` read the owned steps. */
313
+ --blur-sm: var(--noctis-blur-sm);
314
+ --blur-md: var(--noctis-blur-md);
315
+
316
+ /* Animations — `animate-spin` reads the owned set; keyframes ship top-level. */
317
+ --animate-spin: var(--noctis-animate-spin);
318
+ }
319
+
320
+ /* ── Roles whose fill and border are different values ──────────────────────────────────
321
+ * A single Tailwind color shares one value across `bg-*`/`border-*`, so the selected-row
322
+ * surface vs its border, and the field fill vs its border, are defined as explicit
323
+ * utilities pointing at distinct roles.
324
+ */
325
+ @utility bg-selected {
326
+ background-color: var(--noctis-color-selected);
327
+ }
328
+ @utility border-selected {
329
+ border-color: var(--noctis-color-border-selected);
330
+ }
331
+ @utility bg-field {
332
+ background-color: var(--noctis-color-field);
333
+ }
334
+ @utility bg-field-hover {
335
+ background-color: var(--noctis-color-field-hover);
336
+ }
337
+ @utility bg-field-focus {
338
+ background-color: var(--noctis-color-field-focus);
339
+ }
340
+ @utility border-field {
341
+ border-color: var(--noctis-color-field-border);
342
+ }
343
+ @utility border-field-hover {
344
+ border-color: var(--noctis-color-field-border-hover);
345
+ }
346
+ @utility border-field-focus {
347
+ border-color: var(--noctis-color-field-border-focus);
348
+ }
349
+ @utility border-field-invalid {
350
+ border-color: var(--noctis-color-field-border-invalid);
351
+ }
352
+
353
+ /* Form-element fills + borders (a checkbox/radio fill and its border are different values). */
354
+ @utility bg-checkbox {
355
+ background-color: var(--noctis-color-checkbox);
356
+ }
357
+ @utility border-checkbox {
358
+ border-color: var(--noctis-color-checkbox-border);
359
+ }
360
+ @utility border-checkbox-hover {
361
+ border-color: var(--noctis-color-checkbox-border-hover);
362
+ }
363
+ @utility bg-radio {
364
+ background-color: var(--noctis-color-radio);
365
+ }
366
+ @utility border-radio {
367
+ border-color: var(--noctis-color-radio-border);
368
+ }
369
+
370
+ /* Kbd cap fill + 3D-edge border. */
371
+ @utility bg-kbd {
372
+ background-color: var(--noctis-color-kbd);
373
+ }
374
+ @utility border-kbd {
375
+ border-color: var(--noctis-color-kbd-border);
376
+ }
377
+
378
+ /* Status outline borders for muted callouts (`border-<status>` already gives the solid outline). */
379
+ @utility border-danger-subtle {
380
+ border-color: var(--noctis-color-danger-border);
381
+ }
382
+ @utility border-success-subtle {
383
+ border-color: var(--noctis-color-success-border);
384
+ }
385
+ @utility border-warning-subtle {
386
+ border-color: var(--noctis-color-warning-border);
387
+ }
388
+ @utility border-info-subtle {
389
+ border-color: var(--noctis-color-info-border);
390
+ }
391
+
392
+ /* Data-grid gridlines + the high-chroma selected-column border. */
393
+ @utility border-data-grid {
394
+ border-color: var(--noctis-color-data-grid-border);
395
+ }
396
+ @utility border-data-grid-selected {
397
+ border-color: var(--noctis-color-data-grid-column-selected-border);
398
+ }
399
+ @utility border-chart-grid {
400
+ border-color: var(--noctis-color-chart-grid);
401
+ }
402
+
403
+ /* Inverse surface (primary text as a surface) + its text (canvas). */
404
+ @utility bg-inverse {
405
+ background-color: var(--noctis-color-inverse);
406
+ }
407
+ @utility text-inverse {
408
+ color: var(--noctis-color-inverse-foreground);
409
+ }
410
+
411
+ /* Disabled = reduced opacity (the convention, not a color family). */
412
+ @utility opacity-disabled {
413
+ opacity: var(--noctis-opacity-disabled);
414
+ }
415
+
416
+ /* Status-tint gradient surfaces (faint hue → neutral) for status cards. */
417
+ @utility bg-danger-gradient {
418
+ background-image: linear-gradient(var(--noctis-color-danger-faint), var(--noctis-color-surface));
419
+ }
420
+ @utility bg-success-gradient {
421
+ background-image: linear-gradient(var(--noctis-color-success-faint), var(--noctis-color-surface));
422
+ }
423
+ @utility bg-warning-gradient {
424
+ background-image: linear-gradient(var(--noctis-color-warning-faint), var(--noctis-color-surface));
425
+ }
426
+ @utility bg-info-gradient {
427
+ background-image: linear-gradient(var(--noctis-color-info-faint), var(--noctis-color-surface));
428
+ }
429
+
430
+ /* Text selection uses the chromatic accent wash. */
431
+ ::selection {
432
+ background-color: var(--noctis-color-selection);
433
+ }
434
+
435
+ /* The text caret carries the chromatic accent. */
436
+ :where(input, textarea, [contenteditable]) {
437
+ caret-color: var(--noctis-color-accent);
438
+ }
439
+
440
+ /* ── Composite control idioms ───────────────────────────────────────────────────────────
441
+ * The keyboard focus ring (geometry only — pair with a color utility like `outline-ring` /
442
+ * `outline-danger`), the popup open/close chrome shared by floating panels, and the panel-region
443
+ * padding. `outline-style: solid` is set explicitly to sidestep the `--tw-outline-style` reset.
444
+ */
445
+ @utility focus-ring {
446
+ outline-width: var(--noctis-size-focus-ring-width);
447
+ outline-style: solid;
448
+ outline-offset: var(--noctis-size-focus-ring-offset);
449
+ }
450
+ @utility focus-ring-inset {
451
+ outline-width: var(--noctis-size-focus-ring-width);
452
+ outline-style: solid;
453
+ outline-offset: calc(-1 * var(--noctis-size-focus-ring-offset));
454
+ }
455
+ @utility focus-ring-field {
456
+ outline-width: var(--noctis-size-focus-ring-width);
457
+ outline-style: solid;
458
+ outline-offset: -1px;
459
+ }
460
+
461
+ /* Popup chrome: the radius + opacity/scale enter-exit a floating panel adopts (the elevated
462
+ * surface, border, and shadow stay on the Surface primitive). The transition names `scale` — not
463
+ * `transform` — because Tailwind v4's `scale-*` set the standalone `scale` property. */
464
+ @utility popup {
465
+ border-radius: var(--noctis-radius-md);
466
+ transition-property: opacity, scale;
467
+ transition-timing-function: var(--noctis-ease-out);
468
+ transition-duration: var(--noctis-duration-quick);
469
+ &[data-starting-style],
470
+ &[data-ending-style] {
471
+ scale: 0.96;
472
+ opacity: 0;
473
+ }
474
+ &[data-ending-style] {
475
+ transition-duration: var(--noctis-duration-fast);
476
+ }
477
+ @media (prefers-reduced-motion: reduce) {
478
+ transition: none;
479
+ }
480
+ }
481
+
482
+ /* Panel-region padding — the header/body/footer inset of a sheet or rail. */
483
+ @utility p-region {
484
+ padding: var(--noctis-space-region);
485
+ }
@@ -0,0 +1 @@
1
+ export * from "@stridge/noctis-theme-engine/react";
@@ -0,0 +1 @@
1
+ export * from "@stridge/noctis-theme-engine/react";
@@ -0,0 +1 @@
1
+ export * from "@stridge/noctis-theme-engine";
package/dist/theme.js ADDED
@@ -0,0 +1 @@
1
+ export * from "@stridge/noctis-theme-engine";
@@ -0,0 +1 @@
1
+ export * from "@stridge/noctis-design-tokens/react";
@@ -0,0 +1 @@
1
+ export * from "@stridge/noctis-design-tokens/react";
@@ -0,0 +1 @@
1
+ export * from "@stridge/noctis-design-tokens";
package/dist/tokens.js ADDED
@@ -0,0 +1 @@
1
+ export * from "@stridge/noctis-design-tokens";