@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,45 @@
1
+ //#region src/components/search-dialog/search-dialog.props.d.ts
2
+ /** A spreadable prop bag — the shape every `SearchDialog.*.props()` returns. */
3
+ type SearchDialogPartProps = {
4
+ /** The slot value the matching `search-dialog.css` rules anchor on. */"data-slot": string; /** Forwarded verbatim — styling is attribute-driven, so this is an optional consumer passthrough. */
5
+ className?: string; /** Other forwarded attributes (the row's `aria-selected` / `data-index`). */
6
+ [attr: string]: string | number | boolean | undefined;
7
+ };
8
+ /** Common shape: every part's `.props()` accepts an optional `className` passthrough. */
9
+ interface BasePropsArgs {
10
+ /** Forwarded verbatim onto the returned prop bag. */
11
+ className?: string;
12
+ }
13
+ /** Argument to `SearchDialog.Item.props(...)` — the row's keyboard-active state and list position. */
14
+ interface SearchDialogItemPropsArgs extends BasePropsArgs {
15
+ /** Whether this row is the keyboard-active one (drives the resting highlight via `aria-selected`). */
16
+ active?: boolean;
17
+ /** This row's zero-based position, exposed as `data-index` for the root's scroll-into-view. */
18
+ index?: number;
19
+ }
20
+ /** Argument to a stateless part's `.props(...)` — no state of its own; look flows from the slot. */
21
+ type SearchDialogStatelessPropsArgs = BasePropsArgs;
22
+ /** Root prop bag: the dialog popup's slot anchor (the `--_search-dialog-*` metrics key off it). */
23
+ declare function rootProps({
24
+ className
25
+ }?: SearchDialogStatelessPropsArgs): SearchDialogPartProps;
26
+ /** Input prop bag: the query-field slot anchor. */
27
+ declare function inputProps({
28
+ className
29
+ }?: SearchDialogStatelessPropsArgs): SearchDialogPartProps;
30
+ /** Results prop bag: the listbox slot anchor. */
31
+ declare function resultsProps({
32
+ className
33
+ }?: SearchDialogStatelessPropsArgs): SearchDialogPartProps;
34
+ /** Item prop bag: the row slot anchor plus the `aria-selected` highlight axis and `data-index`. */
35
+ declare function itemProps({
36
+ active,
37
+ index,
38
+ className
39
+ }?: SearchDialogItemPropsArgs): SearchDialogPartProps;
40
+ /** Footer prop bag: the keyboard-hints row slot anchor. */
41
+ declare function footerProps({
42
+ className
43
+ }?: SearchDialogStatelessPropsArgs): SearchDialogPartProps;
44
+ //#endregion
45
+ export { SearchDialogItemPropsArgs, SearchDialogPartProps, footerProps, inputProps, itemProps, resultsProps, rootProps };
@@ -0,0 +1,49 @@
1
+ import { SEARCH_DIALOG_SLOTS } from "./search-dialog.slots.js";
2
+ //#region src/components/search-dialog/search-dialog.props.ts
3
+ /**
4
+ * The D12 unified variant contract for SearchDialog — the data-attribute-native helpers a non-React
5
+ * (or escape-hatch) consumer hand-stamps the dialog's parts with.
6
+ *
7
+ * Each part exposes a `props(...)` builder returning a **spreadable props object** of the form
8
+ * `{ "data-slot": "noctis-search-dialog-<part>", ...dataAttrs }`. Under the single-`data-slot` anchor
9
+ * model the `data-slot` is the only styling hook needed — `search-dialog.css` keys every rule off it
10
+ * (plus the row's `aria-selected` highlight axis) — so spreading a part's `props()` onto a foreign
11
+ * element styles it as that part:
12
+ *
13
+ * <li {...SearchDialog.Item.props({ active: true, index: 0 })}>…</li>
14
+ * // → <li data-slot="noctis-search-dialog-result" aria-selected="true" data-index="0">
15
+ *
16
+ * Styling is attribute-driven, so these carry no className; an optional `className` passthrough is
17
+ * accepted and forwarded verbatim.
18
+ */
19
+ const withClassName = (bag, className) => className === void 0 ? bag : {
20
+ ...bag,
21
+ className
22
+ };
23
+ /** Root prop bag: the dialog popup's slot anchor (the `--_search-dialog-*` metrics key off it). */
24
+ function rootProps({ className } = {}) {
25
+ return withClassName({ "data-slot": SEARCH_DIALOG_SLOTS.root }, className);
26
+ }
27
+ /** Input prop bag: the query-field slot anchor. */
28
+ function inputProps({ className } = {}) {
29
+ return withClassName({ "data-slot": SEARCH_DIALOG_SLOTS.input }, className);
30
+ }
31
+ /** Results prop bag: the listbox slot anchor. */
32
+ function resultsProps({ className } = {}) {
33
+ return withClassName({ "data-slot": SEARCH_DIALOG_SLOTS.results }, className);
34
+ }
35
+ /** Item prop bag: the row slot anchor plus the `aria-selected` highlight axis and `data-index`. */
36
+ function itemProps({ active, index, className } = {}) {
37
+ const bag = {
38
+ "data-slot": SEARCH_DIALOG_SLOTS.result,
39
+ "aria-selected": active ? "true" : "false"
40
+ };
41
+ if (index !== void 0) bag["data-index"] = index;
42
+ return withClassName(bag, className);
43
+ }
44
+ /** Footer prop bag: the keyboard-hints row slot anchor. */
45
+ function footerProps({ className } = {}) {
46
+ return withClassName({ "data-slot": SEARCH_DIALOG_SLOTS.footer }, className);
47
+ }
48
+ //#endregion
49
+ export { footerProps, inputProps, itemProps, resultsProps, rootProps };
@@ -0,0 +1,16 @@
1
+ //#region src/components/search-dialog/search-dialog.slots.d.ts
2
+ /**
3
+ * The `data-*` hooks `SearchDialog` stamps on its parts, for host-side styling and tests. Slot values
4
+ * mark each rendered element; `data-elevation` rides the portalled popup (set by `Surface`), and the
5
+ * listbox rows expose their position and selection through `data-index` and `aria-selected`.
6
+ */
7
+ declare enum SearchDialogDataAttributes {
8
+ /** The slot marker on every rendered part. */
9
+ slot = "data-slot",
10
+ /** `menu` — the elevated surface scope on the portalled popup. */
11
+ elevation = "data-elevation",
12
+ /** The zero-based position of a result row in the list. */
13
+ index = "data-index"
14
+ }
15
+ //#endregion
16
+ export { SearchDialogDataAttributes };
@@ -0,0 +1,32 @@
1
+ //#region src/components/search-dialog/search-dialog.slots.ts
2
+ /**
3
+ * The slot vocabulary every `SearchDialog` part stamps as its `data-slot`. The authored source the
4
+ * parts read from, kebab-cased `{component}-{part}`; SLOTS.md still generates from the token-graph
5
+ * declarations. The empty, loading, searching, and no-results messages render inside the result pane
6
+ * without their own slot — the active state, not an element, distinguishes them.
7
+ */
8
+ const SEARCH_DIALOG_SLOTS = {
9
+ root: "noctis-search-dialog",
10
+ backdrop: "noctis-search-dialog-backdrop",
11
+ header: "noctis-search-dialog-header",
12
+ input: "noctis-search-dialog-input",
13
+ results: "noctis-search-dialog-results",
14
+ result: "noctis-search-dialog-result",
15
+ footer: "noctis-search-dialog-footer"
16
+ };
17
+ /**
18
+ * The `data-*` hooks `SearchDialog` stamps on its parts, for host-side styling and tests. Slot values
19
+ * mark each rendered element; `data-elevation` rides the portalled popup (set by `Surface`), and the
20
+ * listbox rows expose their position and selection through `data-index` and `aria-selected`.
21
+ */
22
+ let SearchDialogDataAttributes = /* @__PURE__ */ function(SearchDialogDataAttributes) {
23
+ /** The slot marker on every rendered part. */
24
+ SearchDialogDataAttributes["slot"] = "data-slot";
25
+ /** `menu` — the elevated surface scope on the portalled popup. */
26
+ SearchDialogDataAttributes["elevation"] = "data-elevation";
27
+ /** The zero-based position of a result row in the list. */
28
+ SearchDialogDataAttributes["index"] = "data-index";
29
+ return SearchDialogDataAttributes;
30
+ }({});
31
+ //#endregion
32
+ export { SEARCH_DIALOG_SLOTS, SearchDialogDataAttributes };
@@ -0,0 +1,2 @@
1
+ import { Select } from "./select.js";
2
+ import { SelectDataAttributes } from "./select.slots.js";
@@ -0,0 +1,17 @@
1
+ "use client";
2
+ import { createContext, use } from "react";
3
+ //#region src/components/select/select.context.ts
4
+ const SelectContext = createContext(null);
5
+ /** Provider for the select's shared state — mounted by `Select.Root`. */
6
+ const SelectContextProvider = SelectContext.Provider;
7
+ /**
8
+ * Read the select's shared state. Throws a part-named error when a part is rendered outside a
9
+ * `Select.Root`, so a misuse fails loudly instead of silently losing its size.
10
+ */
11
+ function useSelectContext(part) {
12
+ const context = use(SelectContext);
13
+ if (context === null) throw new Error(`Select.${part} must be rendered inside <Select.Root>.`);
14
+ return context;
15
+ }
16
+ //#endregion
17
+ export { SelectContextProvider, useSelectContext };
@@ -0,0 +1,356 @@
1
+ import { select_d_exports } from "../../primitives/select.js";
2
+ import { SelectPartProps, backdropProps, groupLabelProps, groupProps, iconProps, itemDescriptionProps, itemIconProps, itemIndicatorProps, itemProps, itemTextProps, listProps, popupProps, scrollDownArrowProps, scrollUpArrowProps, separatorProps, triggerProps, valueProps } from "./select.props.js";
3
+ import { ComponentPropsWithRef, ReactElement, ReactNode } from "react";
4
+
5
+ //#region src/components/select/select.d.ts
6
+ /**
7
+ * Owns the selected value and open state, sharing the control `size` (plus the `multiple` and `invalid`
8
+ * flags) with the trigger and rows. Wraps Base UI's Select. Pass `value`/`defaultValue` and
9
+ * `onValueChange` to control the selection, `items` to let `Select.Value` render a chosen item's label
10
+ * instead of its raw value, and `multiple` for a multi-select (the trigger then reads "N selected").
11
+ * `readOnly`, `required`, `disabled`, and `name` pass straight through to Base UI; `invalid` is an
12
+ * additive shell override (a `Field.Root` that turns invalid already marks the trigger). `modal`
13
+ * defaults to `false` so the page keeps scrolling while the popup is open — set it `true`
14
+ * to lock page scroll and render the `Backdrop`.
15
+ */
16
+ declare function SelectRoot<Value = unknown, Multiple extends boolean | undefined = false>({
17
+ size,
18
+ invalid,
19
+ modal,
20
+ children,
21
+ ...props
22
+ }: Select.Root.Props<Value, Multiple>): ReactElement;
23
+ /**
24
+ * The field-shaped control that opens the popup. Wears the field look (surface, hairline border, calm
25
+ * ring-less focus — the accent border lights on focus) and pairs a `Select.Value` with a
26
+ * trailing chevron; reads the root's `size` to size itself and the root's `invalid` to paint the danger
27
+ * border. Base UI stamps `data-disabled`/`data-readonly` for the disabled/read-only chrome.
28
+ */
29
+ declare function SelectTrigger({
30
+ className,
31
+ children,
32
+ ...props
33
+ }: Select.Trigger.Props): ReactElement;
34
+ /**
35
+ * Renders the selected item's label inside the trigger, falling back to `placeholder` when nothing is
36
+ * selected. Pass `items` on `Select.Root` (or a formatting child function) to map a raw value to a
37
+ * label. Under a `multiple` root it renders a localized "N selected" summary instead — pass a child
38
+ * function to override the trigger display entirely (e.g. mirror the chosen row's leading glyph).
39
+ */
40
+ declare function SelectValue({
41
+ className,
42
+ children,
43
+ placeholder,
44
+ ...props
45
+ }: Select.Value.Props): ReactElement;
46
+ /** The trailing chevron on the trigger — a vertical double-chevron marking the control as a select. */
47
+ declare function SelectIcon({
48
+ className,
49
+ children,
50
+ ...props
51
+ }: Select.Icon.Props): ReactElement;
52
+ /**
53
+ * The modal scrim painted beneath the popup. Auto-rendered inside `Select.Popup` while the select is
54
+ * `modal` (the default); transparent by default so the page is not dimmed, it still
55
+ * captures outside clicks. Re-point `--noctis-select-backdrop-background-color` to a scrim role to dim.
56
+ */
57
+ declare function SelectBackdrop({
58
+ className,
59
+ ...props
60
+ }: Select.Backdrop.Props): ReactElement;
61
+ /**
62
+ * The floating listbox — portaled, elevated through `<Surface>`, and animated — holding the items,
63
+ * groups, and separators. Opens aligned to the trigger and caps at the available viewport height,
64
+ * scrolling its list while keeping the keyboard highlight in view. By default it overlaps the trigger so
65
+ * the selected row lines up with the trigger's value (the "overlay" variant); pass
66
+ * `alignItemWithTrigger={false}` to open below the trigger instead (the "below" variant). Auto-renders
67
+ * the modal `Backdrop` (while modal), the sticky scroll arrows, and the scrollable `List` for you.
68
+ */
69
+ declare function SelectPopup({
70
+ side,
71
+ align,
72
+ sideOffset,
73
+ alignItemWithTrigger,
74
+ collisionPadding,
75
+ className,
76
+ style,
77
+ children,
78
+ ...props
79
+ }: Select.Popup.Props): ReactElement;
80
+ /**
81
+ * The sticky strip pinned to the popup's top edge that scrolls the list up on hover — a pointer
82
+ * affordance only (it never renders for touch, and keyboard nav scrolls via the arrow keys), so it is
83
+ * `aria-hidden`. Rendered for you inside `Select.Popup`; appears only while the list can scroll up.
84
+ */
85
+ declare function SelectScrollUpArrow({
86
+ className,
87
+ children,
88
+ ...props
89
+ }: Select.ScrollUpArrow.Props): ReactElement;
90
+ /**
91
+ * The sticky strip pinned to the popup's bottom edge that scrolls the list down on hover — a pointer
92
+ * affordance only (`aria-hidden`, like its sibling). Rendered for you inside `Select.Popup`; appears
93
+ * only while the list can scroll down.
94
+ */
95
+ declare function SelectScrollDownArrow({
96
+ className,
97
+ children,
98
+ ...props
99
+ }: Select.ScrollDownArrow.Props): ReactElement;
100
+ /**
101
+ * The scrollable list wrapping the popup's rows. Rendered for you inside `Select.Popup`. Its scrollbar
102
+ * is hidden — the sticky scroll arrows are the overflow affordance (Radix/macOS behaviour).
103
+ */
104
+ declare function SelectList({
105
+ className,
106
+ ...props
107
+ }: Select.List.Props): ReactElement;
108
+ /**
109
+ * A selectable option. Pass its `value` (any serialisable value, including an object) and label
110
+ * children; an optional leading `icon` (a glyph, colour dot, or avatar) sits in a reserved column, an
111
+ * optional `description` adds a muted second line, and a trailing check marks the selected row. Picking
112
+ * a row updates the value (and closes the popup for single selects).
113
+ *
114
+ * Renders its own `ItemIcon` / `ItemText` / `ItemDescription` / `ItemIndicator` from the props —
115
+ * compose those parts by hand only when a row needs custom inner structure.
116
+ */
117
+ declare function SelectItem({
118
+ className,
119
+ children,
120
+ icon,
121
+ description,
122
+ ...props
123
+ }: Select.Item.Props): ReactElement;
124
+ /** The row's leading content column (icon, colour dot, or avatar), reserved so labels align. */
125
+ declare function SelectItemIcon({
126
+ className,
127
+ ...props
128
+ }: Select.ItemIcon.Props): ReactElement;
129
+ /** The row's label text, mirrored into the trigger's `Select.Value` when the row is selected. */
130
+ declare function SelectItemText({
131
+ className,
132
+ ...props
133
+ }: Select.ItemText.Props): ReactElement;
134
+ /** A row's muted second line — a short hint beneath the label on a two-line row. */
135
+ declare function SelectItemDescription({
136
+ className,
137
+ ...props
138
+ }: Select.ItemDescription.Props): ReactElement;
139
+ /** The trailing check marking the selected row; Base UI mounts it only while the row is selected. */
140
+ declare function SelectItemIndicator({
141
+ className,
142
+ ...props
143
+ }: Select.ItemIndicator.Props): ReactElement;
144
+ /** A labelled section of related items. Put a `GroupLabel` inside to name it for screen readers. */
145
+ declare function SelectGroup({
146
+ className,
147
+ ...props
148
+ }: Select.Group.Props): ReactElement;
149
+ /** The group's muted, non-interactive heading — announced as the group's accessible name. */
150
+ declare function SelectGroupLabel({
151
+ className,
152
+ ...props
153
+ }: Select.GroupLabel.Props): ReactElement;
154
+ /**
155
+ * A hairline between groups of options. Presentational (`aria-hidden`) — a `role="separator"` is not a
156
+ * valid `listbox` child, and the grouping is already conveyed by the `Group`/`GroupLabel` structure.
157
+ */
158
+ declare function SelectSeparator({
159
+ className,
160
+ ...props
161
+ }: Select.Separator.Props): ReactElement;
162
+ /**
163
+ * A select: a field-shaped `Trigger` opens a floating listbox of options. Built on Base UI's Select for
164
+ * listbox semantics, keyboard navigation (arrows, Home/End, PageUp/PageDown, typeahead), focus
165
+ * management, scroll arrows, the modal backdrop, and `Escape`/outside-click dismissal, plus native form
166
+ * integration via the hidden input.
167
+ *
168
+ * Compose from parts: `Select.Root` owns the value and open state, `Select.Trigger` (holding a
169
+ * `Select.Value` and a `Select.Icon`) opens it, and `Select.Popup` holds the rows — `Item`s with their
170
+ * leading `icon`, label, optional `description`, and trailing check, `Group`s with a `GroupLabel`, and
171
+ * `Separator`s. The trigger wears the field look (calm ring-less accent-border focus); the popup is an
172
+ * elevated `<Surface>`, the highlighted row picks up a neutral fill, and the selected row is marked by
173
+ * its trailing check (the accent reserved for that check, not a row tint).
174
+ *
175
+ * Styling is precompiled in `select.css`, keyed off each part's prefixed `data-slot`. Each part also
176
+ * carries the D12 `props()` escape hatch via `Object.assign` (e.g. `Select.Item.props({ selected })`),
177
+ * returning a spreadable `{ "data-slot": "noctis-select-<part>", ...dataAttrs }` bag for a foreign
178
+ * element a `<Select.*>` can't wrap.
179
+ *
180
+ * The runtime compound is a plain object (kept tree-shakeable); per-part prop and state types are
181
+ * exposed through the matching `Select` namespace — e.g. `Select.Item.Props`.
182
+ */
183
+ declare const Select: {
184
+ Root: typeof SelectRoot;
185
+ Trigger: typeof SelectTrigger & {
186
+ props: typeof triggerProps;
187
+ };
188
+ Value: typeof SelectValue & {
189
+ props: typeof valueProps;
190
+ };
191
+ Icon: typeof SelectIcon & {
192
+ props: typeof iconProps;
193
+ };
194
+ Backdrop: typeof SelectBackdrop & {
195
+ props: typeof backdropProps;
196
+ };
197
+ Popup: typeof SelectPopup & {
198
+ props: typeof popupProps;
199
+ };
200
+ ScrollUpArrow: typeof SelectScrollUpArrow & {
201
+ props: typeof scrollUpArrowProps;
202
+ };
203
+ ScrollDownArrow: typeof SelectScrollDownArrow & {
204
+ props: typeof scrollDownArrowProps;
205
+ };
206
+ List: typeof SelectList & {
207
+ props: typeof listProps;
208
+ };
209
+ Item: typeof SelectItem & {
210
+ props: typeof itemProps;
211
+ };
212
+ ItemIcon: typeof SelectItemIcon & {
213
+ props: typeof itemIconProps;
214
+ };
215
+ ItemText: typeof SelectItemText & {
216
+ props: typeof itemTextProps;
217
+ };
218
+ ItemDescription: typeof SelectItemDescription & {
219
+ props: typeof itemDescriptionProps;
220
+ };
221
+ ItemIndicator: typeof SelectItemIndicator & {
222
+ props: typeof itemIndicatorProps;
223
+ };
224
+ Group: typeof SelectGroup & {
225
+ props: typeof groupProps;
226
+ };
227
+ GroupLabel: typeof SelectGroupLabel & {
228
+ props: typeof groupLabelProps;
229
+ };
230
+ Separator: typeof SelectSeparator & {
231
+ props: typeof separatorProps;
232
+ };
233
+ };
234
+ /**
235
+ * Per-part prop and state types, mirroring Base UI's `Component.Part.Props` convention. Types-only —
236
+ * it emits no runtime code and merges with the `Select` object above, so `Select.Item` is the
237
+ * component value while `Select.Item.Props` is its prop type.
238
+ */
239
+ declare namespace Select {
240
+ /** The spreadable data-attribute prop bag every `Select.*.props()` returns (D12). */
241
+ type PartProps = SelectPartProps;
242
+ /** The control size shared from the root to the trigger. */
243
+ type Size = "md" | "lg";
244
+ namespace Root {
245
+ type Props<Value = unknown, Multiple extends boolean | undefined = false> = select_d_exports.Select.Root.Props<Value, Multiple> & {
246
+ /**
247
+ * The control size, shared with the trigger.
248
+ * @default "md"
249
+ */
250
+ size?: Size;
251
+ /**
252
+ * Additive shell override that marks the trigger invalid (danger border). The default path is
253
+ * control-driven — a `Field.Root` that turns invalid already marks the trigger.
254
+ * @default false
255
+ */
256
+ invalid?: boolean;
257
+ };
258
+ type State = select_d_exports.Select.Root.State;
259
+ }
260
+ namespace Trigger {
261
+ type Props = select_d_exports.Select.Trigger.Props;
262
+ type State = select_d_exports.Select.Trigger.State;
263
+ }
264
+ namespace Value {
265
+ type Props = select_d_exports.Select.Value.Props;
266
+ type State = select_d_exports.Select.Value.State;
267
+ }
268
+ namespace Icon {
269
+ type Props = select_d_exports.Select.Icon.Props;
270
+ type State = select_d_exports.Select.Icon.State;
271
+ }
272
+ namespace Backdrop {
273
+ type Props = select_d_exports.Select.Backdrop.Props;
274
+ type State = select_d_exports.Select.Backdrop.State;
275
+ }
276
+ namespace Popup {
277
+ type Props = select_d_exports.Select.Popup.Props & {
278
+ /**
279
+ * Which side of the anchor to open on.
280
+ * @default "bottom"
281
+ */
282
+ side?: select_d_exports.Select.Positioner.Props["side"];
283
+ /**
284
+ * Alignment along that side.
285
+ * @default "start"
286
+ */
287
+ align?: select_d_exports.Select.Positioner.Props["align"];
288
+ /**
289
+ * Gap from the anchor, in px. Ignored while the popup overlaps the trigger.
290
+ * @default 6
291
+ */
292
+ sideOffset?: number;
293
+ /**
294
+ * Overlap the trigger so the selected row's text lines up with the trigger's value (the
295
+ * "overlay" variant; mouse input only, auto-disabled when there isn't room). Set `false` to
296
+ * always open below the trigger (the "below" variant).
297
+ * @default true
298
+ */
299
+ alignItemWithTrigger?: select_d_exports.Select.Positioner.Props["alignItemWithTrigger"];
300
+ /**
301
+ * Minimum space kept from the viewport edge when avoiding collisions, in px.
302
+ * @default 8
303
+ */
304
+ collisionPadding?: select_d_exports.Select.Positioner.Props["collisionPadding"];
305
+ };
306
+ }
307
+ namespace ScrollUpArrow {
308
+ type Props = select_d_exports.Select.ScrollUpArrow.Props;
309
+ type State = select_d_exports.Select.ScrollUpArrow.State;
310
+ }
311
+ namespace ScrollDownArrow {
312
+ type Props = select_d_exports.Select.ScrollDownArrow.Props;
313
+ type State = select_d_exports.Select.ScrollDownArrow.State;
314
+ }
315
+ namespace List {
316
+ type Props = select_d_exports.Select.List.Props;
317
+ type State = select_d_exports.Select.List.State;
318
+ }
319
+ namespace Item {
320
+ type Props = select_d_exports.Select.Item.Props & {
321
+ /** Optional leading content for the row — a glyph, colour dot, or avatar in a reserved column. */icon?: ReactNode; /** Optional muted second line beneath the label (a short hint), turning the row two-line. */
322
+ description?: ReactNode;
323
+ };
324
+ type State = select_d_exports.Select.Item.State;
325
+ }
326
+ namespace ItemIcon {
327
+ /** The row's leading content column — a plain `<span>` wrapper; accepts the native span props. */
328
+ type Props = ComponentPropsWithRef<"span">;
329
+ }
330
+ namespace ItemText {
331
+ type Props = select_d_exports.Select.ItemText.Props;
332
+ type State = select_d_exports.Select.ItemText.State;
333
+ }
334
+ namespace ItemDescription {
335
+ /** The row's muted second line — a plain `<span>`; accepts the native span props. */
336
+ type Props = ComponentPropsWithRef<"span">;
337
+ }
338
+ namespace ItemIndicator {
339
+ type Props = select_d_exports.Select.ItemIndicator.Props;
340
+ type State = select_d_exports.Select.ItemIndicator.State;
341
+ }
342
+ namespace Group {
343
+ type Props = select_d_exports.Select.Group.Props;
344
+ type State = select_d_exports.Select.Group.State;
345
+ }
346
+ namespace GroupLabel {
347
+ type Props = select_d_exports.Select.GroupLabel.Props;
348
+ type State = select_d_exports.Select.GroupLabel.State;
349
+ }
350
+ namespace Separator {
351
+ /** A plain `<div role="separator">` between groups; accepts the native div props. */
352
+ type Props = ComponentPropsWithRef<"div">;
353
+ }
354
+ }
355
+ //#endregion
356
+ export { Select };