neba 1.6.0 → 1.8.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 (476) hide show
  1. package/README.md +37 -6
  2. package/dist/components/accordion/Accordion.d.ts +1 -1
  3. package/dist/components/accordion/Accordion.js +1 -1
  4. package/dist/components/accordion/index.d.ts +2 -2
  5. package/dist/components/accordion/index.js +1 -1
  6. package/dist/components/alert/Alert.d.ts +1 -1
  7. package/dist/components/alert/Alert.js +1 -1
  8. package/dist/components/alert/index.d.ts +2 -2
  9. package/dist/components/alert/index.js +1 -1
  10. package/dist/components/animate-appear/AnimateAppear.d.ts +1 -1
  11. package/dist/components/animate-appear/AnimateAppear.js +1 -1
  12. package/dist/components/animate-appear/index.d.ts +2 -2
  13. package/dist/components/animate-appear/index.js +1 -1
  14. package/dist/components/animate-blink/AnimateBlink.d.ts +1 -1
  15. package/dist/components/animate-blink/AnimateBlink.js +1 -1
  16. package/dist/components/animate-blink/index.d.ts +2 -2
  17. package/dist/components/animate-blink/index.js +1 -1
  18. package/dist/components/animate-fade/AnimateFade.d.ts +1 -1
  19. package/dist/components/animate-fade/AnimateFade.js +1 -1
  20. package/dist/components/animate-fade/index.d.ts +2 -2
  21. package/dist/components/animate-fade/index.js +1 -1
  22. package/dist/components/animate-grow/AnimateGrow.d.ts +1 -1
  23. package/dist/components/animate-grow/AnimateGrow.js +1 -1
  24. package/dist/components/animate-grow/index.d.ts +2 -2
  25. package/dist/components/animate-grow/index.js +1 -1
  26. package/dist/components/animate-headline/AnimateHeadline.d.ts +1 -1
  27. package/dist/components/animate-headline/AnimateHeadline.js +1 -1
  28. package/dist/components/animate-headline/index.d.ts +2 -2
  29. package/dist/components/animate-headline/index.js +1 -1
  30. package/dist/components/animate-lighting/AnimateLighting.d.ts +1 -1
  31. package/dist/components/animate-lighting/AnimateLighting.js +1 -1
  32. package/dist/components/animate-lighting/index.d.ts +2 -2
  33. package/dist/components/animate-lighting/index.js +1 -1
  34. package/dist/components/animate-marquee/AnimateMarquee.d.ts +1 -1
  35. package/dist/components/animate-marquee/AnimateMarquee.js +1 -1
  36. package/dist/components/animate-marquee/index.d.ts +2 -2
  37. package/dist/components/animate-marquee/index.js +1 -1
  38. package/dist/components/animate-rotate/AnimateRotate.d.ts +1 -1
  39. package/dist/components/animate-rotate/AnimateRotate.js +1 -1
  40. package/dist/components/animate-rotate/index.d.ts +2 -2
  41. package/dist/components/animate-rotate/index.js +1 -1
  42. package/dist/components/animate-slide/AnimateSlide.d.ts +1 -1
  43. package/dist/components/animate-slide/AnimateSlide.js +1 -1
  44. package/dist/components/animate-slide/index.d.ts +2 -2
  45. package/dist/components/animate-slide/index.js +1 -1
  46. package/dist/components/animate-typing/AnimateTyping.d.ts +1 -1
  47. package/dist/components/animate-typing/AnimateTyping.js +1 -1
  48. package/dist/components/animate-typing/index.d.ts +2 -2
  49. package/dist/components/animate-typing/index.js +1 -1
  50. package/dist/components/animate-zoom/AnimateZoom.d.ts +1 -1
  51. package/dist/components/animate-zoom/AnimateZoom.js +1 -1
  52. package/dist/components/animate-zoom/index.d.ts +2 -2
  53. package/dist/components/animate-zoom/index.js +1 -1
  54. package/dist/components/app-logo/AppLogo.d.ts +148 -0
  55. package/dist/components/app-logo/AppLogo.js +1 -0
  56. package/dist/components/app-logo/index.d.ts +2 -0
  57. package/dist/components/app-logo/index.js +1 -0
  58. package/dist/components/area-chart/AreaChart.d.ts +3 -3
  59. package/dist/components/area-chart/AreaChart.js +1 -1
  60. package/dist/components/area-chart/index.d.ts +2 -2
  61. package/dist/components/area-chart/index.js +1 -1
  62. package/dist/components/aspect-ratio/AspectRatio.d.ts +1 -1
  63. package/dist/components/aspect-ratio/AspectRatio.js +1 -1
  64. package/dist/components/aspect-ratio/index.d.ts +2 -2
  65. package/dist/components/aspect-ratio/index.js +1 -1
  66. package/dist/components/avatar/Avatar.d.ts +1 -1
  67. package/dist/components/avatar/Avatar.js +1 -1
  68. package/dist/components/avatar/index.d.ts +2 -2
  69. package/dist/components/avatar/index.js +1 -1
  70. package/dist/components/badge/Badge.d.ts +1 -1
  71. package/dist/components/badge/Badge.js +1 -1
  72. package/dist/components/badge/index.d.ts +2 -2
  73. package/dist/components/badge/index.js +1 -1
  74. package/dist/components/bar-chart/BarChart.d.ts +2 -2
  75. package/dist/components/bar-chart/BarChart.js +1 -1
  76. package/dist/components/bar-chart/index.d.ts +2 -2
  77. package/dist/components/bar-chart/index.js +1 -1
  78. package/dist/components/blockquote/Blockquote.d.ts +1 -1
  79. package/dist/components/blockquote/Blockquote.js +1 -1
  80. package/dist/components/blockquote/index.d.ts +2 -2
  81. package/dist/components/blockquote/index.js +1 -1
  82. package/dist/components/bottom-navigation/BottomNavigation.d.ts +3 -3
  83. package/dist/components/bottom-navigation/BottomNavigation.js +1 -1
  84. package/dist/components/bottom-navigation/index.d.ts +1 -1
  85. package/dist/components/bottom-navigation/index.js +1 -1
  86. package/dist/components/box/Box.d.ts +1 -1
  87. package/dist/components/box/Box.js +1 -1
  88. package/dist/components/box/index.d.ts +2 -2
  89. package/dist/components/box/index.js +1 -1
  90. package/dist/components/breadcrumb/Breadcrumb.d.ts +1 -1
  91. package/dist/components/breadcrumb/Breadcrumb.js +1 -1
  92. package/dist/components/breadcrumb/index.d.ts +2 -2
  93. package/dist/components/breadcrumb/index.js +1 -1
  94. package/dist/components/button/Button.d.ts +1 -1
  95. package/dist/components/button/Button.js +1 -1
  96. package/dist/components/button/index.d.ts +2 -2
  97. package/dist/components/button/index.js +1 -1
  98. package/dist/components/button-group/ButtonGroup.d.ts +1 -1
  99. package/dist/components/button-group/ButtonGroup.js +1 -1
  100. package/dist/components/button-group/index.d.ts +2 -2
  101. package/dist/components/button-group/index.js +1 -1
  102. package/dist/components/card/Card.d.ts +1 -1
  103. package/dist/components/card/Card.js +1 -1
  104. package/dist/components/card/index.d.ts +2 -2
  105. package/dist/components/card/index.js +1 -1
  106. package/dist/components/carousel/Carousel.d.ts +1 -1
  107. package/dist/components/carousel/Carousel.js +1 -1
  108. package/dist/components/carousel/index.d.ts +2 -2
  109. package/dist/components/carousel/index.js +1 -1
  110. package/dist/components/chat-bubble/ChatBubble.d.ts +1 -1
  111. package/dist/components/chat-bubble/ChatBubble.js +1 -1
  112. package/dist/components/chat-bubble/index.d.ts +2 -2
  113. package/dist/components/chat-bubble/index.js +1 -1
  114. package/dist/components/checkbox/Checkbox.d.ts +1 -1
  115. package/dist/components/checkbox/Checkbox.js +1 -1
  116. package/dist/components/checkbox/index.d.ts +2 -2
  117. package/dist/components/checkbox/index.js +1 -1
  118. package/dist/components/chip/Chip.d.ts +1 -1
  119. package/dist/components/chip/Chip.js +1 -1
  120. package/dist/components/chip/index.d.ts +2 -2
  121. package/dist/components/chip/index.js +1 -1
  122. package/dist/components/code-block/CodeBlock.d.ts +170 -0
  123. package/dist/components/code-block/CodeBlock.js +1 -0
  124. package/dist/components/code-block/index.d.ts +2 -0
  125. package/dist/components/code-block/index.js +1 -0
  126. package/dist/components/collapsible/Collapsible.d.ts +1 -1
  127. package/dist/components/collapsible/Collapsible.js +1 -1
  128. package/dist/components/collapsible/index.d.ts +1 -1
  129. package/dist/components/collapsible/index.js +1 -1
  130. package/dist/components/color-picker/ColorPicker.d.ts +3 -3
  131. package/dist/components/color-picker/ColorPicker.js +1 -1
  132. package/dist/components/color-picker/index.d.ts +2 -2
  133. package/dist/components/color-picker/index.js +1 -1
  134. package/dist/components/combobox/Combobox.d.ts +1 -1
  135. package/dist/components/combobox/Combobox.js +1 -1
  136. package/dist/components/combobox/index.d.ts +2 -2
  137. package/dist/components/combobox/index.js +1 -1
  138. package/dist/components/container/Container.d.ts +1 -1
  139. package/dist/components/container/Container.js +1 -1
  140. package/dist/components/container/index.d.ts +2 -2
  141. package/dist/components/container/index.js +1 -1
  142. package/dist/components/data-table/DataTable.d.ts +1 -1
  143. package/dist/components/data-table/DataTable.js +1 -1
  144. package/dist/components/data-table/index.d.ts +2 -2
  145. package/dist/components/data-table/index.js +1 -1
  146. package/dist/components/date-picker/DatePicker.d.ts +3 -3
  147. package/dist/components/date-picker/DatePicker.js +1 -1
  148. package/dist/components/date-picker/index.d.ts +2 -2
  149. package/dist/components/date-picker/index.js +1 -1
  150. package/dist/components/date-range-picker/DateRangePicker.d.ts +3 -3
  151. package/dist/components/date-range-picker/DateRangePicker.js +1 -1
  152. package/dist/components/date-range-picker/index.d.ts +2 -2
  153. package/dist/components/date-range-picker/index.js +1 -1
  154. package/dist/components/date-time-picker/DateTimePicker.d.ts +4 -4
  155. package/dist/components/date-time-picker/DateTimePicker.js +1 -1
  156. package/dist/components/date-time-picker/index.d.ts +2 -2
  157. package/dist/components/date-time-picker/index.js +1 -1
  158. package/dist/components/dialog/Dialog.d.ts +1 -1
  159. package/dist/components/dialog/Dialog.js +1 -1
  160. package/dist/components/dialog/index.d.ts +2 -2
  161. package/dist/components/dialog/index.js +1 -1
  162. package/dist/components/divider/Divider.d.ts +1 -1
  163. package/dist/components/divider/Divider.js +1 -1
  164. package/dist/components/divider/index.d.ts +2 -2
  165. package/dist/components/divider/index.js +1 -1
  166. package/dist/components/drawer/Drawer.d.ts +1 -1
  167. package/dist/components/drawer/Drawer.js +1 -1
  168. package/dist/components/drawer/index.d.ts +2 -2
  169. package/dist/components/drawer/index.js +1 -1
  170. package/dist/components/empty/Empty.d.ts +1 -1
  171. package/dist/components/empty/Empty.js +1 -1
  172. package/dist/components/empty/index.d.ts +2 -2
  173. package/dist/components/empty/index.js +1 -1
  174. package/dist/components/file-picker/FilePicker.d.ts +1 -1
  175. package/dist/components/file-picker/FilePicker.js +1 -1
  176. package/dist/components/file-picker/index.d.ts +2 -2
  177. package/dist/components/file-picker/index.js +1 -1
  178. package/dist/components/floating-action-button/FloatingActionButton.d.ts +1 -1
  179. package/dist/components/floating-action-button/FloatingActionButton.js +1 -1
  180. package/dist/components/floating-action-button/index.d.ts +1 -1
  181. package/dist/components/floating-action-button/index.js +1 -1
  182. package/dist/components/floating-bottom-navigation/FloatingBottomNavigation.d.ts +2 -2
  183. package/dist/components/floating-bottom-navigation/FloatingBottomNavigation.js +1 -1
  184. package/dist/components/floating-bottom-navigation/index.d.ts +2 -2
  185. package/dist/components/floating-bottom-navigation/index.js +1 -1
  186. package/dist/components/footer/Footer.d.ts +85 -0
  187. package/dist/components/footer/Footer.js +1 -0
  188. package/dist/components/footer/index.d.ts +2 -0
  189. package/dist/components/footer/index.js +1 -0
  190. package/dist/components/grid/Grid.d.ts +1 -1
  191. package/dist/components/grid/Grid.js +1 -1
  192. package/dist/components/grid/index.d.ts +2 -2
  193. package/dist/components/grid/index.js +1 -1
  194. package/dist/components/grid-container/GridContainer.d.ts +1 -1
  195. package/dist/components/grid-container/GridContainer.js +1 -1
  196. package/dist/components/grid-container/index.d.ts +2 -2
  197. package/dist/components/grid-container/index.js +1 -1
  198. package/dist/components/header/Header.d.ts +114 -0
  199. package/dist/components/header/Header.js +1 -0
  200. package/dist/components/header/index.d.ts +2 -0
  201. package/dist/components/header/index.js +1 -0
  202. package/dist/components/heatmap-chart/HeatmapChart.d.ts +3 -3
  203. package/dist/components/heatmap-chart/HeatmapChart.js +1 -1
  204. package/dist/components/heatmap-chart/index.d.ts +2 -2
  205. package/dist/components/heatmap-chart/index.js +1 -1
  206. package/dist/components/highlight/Highlight.d.ts +2 -2
  207. package/dist/components/highlight/Highlight.js +1 -1
  208. package/dist/components/highlight/index.d.ts +2 -2
  209. package/dist/components/highlight/index.js +1 -1
  210. package/dist/components/how-to-steps/HowToSteps.d.ts +167 -0
  211. package/dist/components/how-to-steps/HowToSteps.js +1 -0
  212. package/dist/components/how-to-steps/index.d.ts +2 -0
  213. package/dist/components/how-to-steps/index.js +1 -0
  214. package/dist/components/icon/Icon.d.ts +1 -1
  215. package/dist/components/icon/Icon.js +1 -1
  216. package/dist/components/icon/index.d.ts +2 -2
  217. package/dist/components/icon/index.js +1 -1
  218. package/dist/components/icon-button/IconButton.d.ts +1 -1
  219. package/dist/components/icon-button/IconButton.js +1 -1
  220. package/dist/components/icon-button/index.d.ts +2 -2
  221. package/dist/components/icon-button/index.js +1 -1
  222. package/dist/components/line-chart/LineChart.d.ts +3 -3
  223. package/dist/components/line-chart/LineChart.js +1 -1
  224. package/dist/components/line-chart/index.d.ts +2 -2
  225. package/dist/components/line-chart/index.js +1 -1
  226. package/dist/components/list/List.d.ts +1 -1
  227. package/dist/components/list/List.js +1 -1
  228. package/dist/components/list/index.d.ts +2 -2
  229. package/dist/components/list/index.js +1 -1
  230. package/dist/components/menu/Menu.d.ts +1 -1
  231. package/dist/components/menu/Menu.js +1 -1
  232. package/dist/components/menu/index.d.ts +2 -2
  233. package/dist/components/menu/index.js +1 -1
  234. package/dist/components/mockup/Mockup.d.ts +3 -3
  235. package/dist/components/mockup/Mockup.js +1 -1
  236. package/dist/components/mockup/index.d.ts +2 -2
  237. package/dist/components/mockup/index.js +1 -1
  238. package/dist/components/number-field/NumberField.d.ts +1 -1
  239. package/dist/components/number-field/NumberField.js +1 -1
  240. package/dist/components/number-field/index.d.ts +2 -2
  241. package/dist/components/number-field/index.js +1 -1
  242. package/dist/components/otp-field/OtpField.d.ts +1 -1
  243. package/dist/components/otp-field/OtpField.js +1 -1
  244. package/dist/components/otp-field/index.d.ts +2 -2
  245. package/dist/components/otp-field/index.js +1 -1
  246. package/dist/components/overlay/Overlay.d.ts +1 -1
  247. package/dist/components/overlay/Overlay.js +1 -1
  248. package/dist/components/overlay/index.d.ts +2 -2
  249. package/dist/components/overlay/index.js +1 -1
  250. package/dist/components/page-layout/PageLayout.d.ts +144 -0
  251. package/dist/components/page-layout/PageLayout.js +1 -0
  252. package/dist/components/page-layout/index.d.ts +2 -0
  253. package/dist/components/page-layout/index.js +1 -0
  254. package/dist/components/pagination/Pagination.d.ts +1 -1
  255. package/dist/components/pagination/Pagination.js +1 -1
  256. package/dist/components/pagination/index.d.ts +2 -2
  257. package/dist/components/pagination/index.js +1 -1
  258. package/dist/components/panes/Panes.d.ts +1 -1
  259. package/dist/components/panes/Panes.js +1 -1
  260. package/dist/components/panes/index.d.ts +2 -2
  261. package/dist/components/panes/index.js +1 -1
  262. package/dist/components/pie-chart/PieChart.d.ts +2 -2
  263. package/dist/components/pie-chart/PieChart.js +1 -1
  264. package/dist/components/pie-chart/index.d.ts +2 -2
  265. package/dist/components/pie-chart/index.js +1 -1
  266. package/dist/components/pill/Pill.d.ts +1 -1
  267. package/dist/components/pill/Pill.js +1 -1
  268. package/dist/components/pill/index.d.ts +2 -2
  269. package/dist/components/pill/index.js +1 -1
  270. package/dist/components/popover/Popover.d.ts +1 -1
  271. package/dist/components/popover/Popover.js +1 -1
  272. package/dist/components/popover/index.d.ts +2 -2
  273. package/dist/components/popover/index.js +1 -1
  274. package/dist/components/progress-box/ProgressBox.d.ts +2 -2
  275. package/dist/components/progress-box/ProgressBox.js +1 -1
  276. package/dist/components/progress-box/index.d.ts +2 -2
  277. package/dist/components/progress-box/index.js +1 -1
  278. package/dist/components/progress-circular/ProgressCircular.d.ts +2 -2
  279. package/dist/components/progress-circular/ProgressCircular.js +1 -1
  280. package/dist/components/progress-circular/index.d.ts +2 -2
  281. package/dist/components/progress-circular/index.js +1 -1
  282. package/dist/components/progress-linear/ProgressLinear.d.ts +2 -2
  283. package/dist/components/progress-linear/ProgressLinear.js +1 -1
  284. package/dist/components/progress-linear/index.d.ts +2 -2
  285. package/dist/components/progress-linear/index.js +1 -1
  286. package/dist/components/radio-group/RadioGroup.d.ts +1 -1
  287. package/dist/components/radio-group/RadioGroup.js +1 -1
  288. package/dist/components/radio-group/index.d.ts +2 -2
  289. package/dist/components/radio-group/index.js +1 -1
  290. package/dist/components/rating/Rating.d.ts +1 -1
  291. package/dist/components/rating/Rating.js +1 -1
  292. package/dist/components/rating/index.d.ts +1 -1
  293. package/dist/components/rating/index.js +1 -1
  294. package/dist/components/scatter-chart/ScatterChart.d.ts +2 -2
  295. package/dist/components/scatter-chart/ScatterChart.js +1 -1
  296. package/dist/components/scatter-chart/index.d.ts +2 -2
  297. package/dist/components/scatter-chart/index.js +1 -1
  298. package/dist/components/scroll-zone/ScrollZone.d.ts +1 -1
  299. package/dist/components/scroll-zone/ScrollZone.js +1 -1
  300. package/dist/components/scroll-zone/index.d.ts +2 -2
  301. package/dist/components/scroll-zone/index.js +1 -1
  302. package/dist/components/segmented-button/SegmentedButton.d.ts +1 -1
  303. package/dist/components/segmented-button/SegmentedButton.js +1 -1
  304. package/dist/components/segmented-button/index.d.ts +2 -2
  305. package/dist/components/segmented-button/index.js +1 -1
  306. package/dist/components/select/Select.d.ts +1 -1
  307. package/dist/components/select/Select.js +1 -1
  308. package/dist/components/select/index.d.ts +2 -2
  309. package/dist/components/select/index.js +1 -1
  310. package/dist/components/shortcut/Shortcut.d.ts +1 -1
  311. package/dist/components/shortcut/Shortcut.js +1 -1
  312. package/dist/components/shortcut/index.d.ts +2 -2
  313. package/dist/components/shortcut/index.js +1 -1
  314. package/dist/components/sidebar/Sidebar.d.ts +144 -0
  315. package/dist/components/sidebar/Sidebar.js +1 -0
  316. package/dist/components/sidebar/SidebarTrigger.d.ts +36 -0
  317. package/dist/components/sidebar/SidebarTrigger.js +1 -0
  318. package/dist/components/sidebar/index.d.ts +4 -0
  319. package/dist/components/sidebar/index.js +1 -0
  320. package/dist/components/skeleton/Skeleton.d.ts +1 -1
  321. package/dist/components/skeleton/Skeleton.js +1 -1
  322. package/dist/components/skeleton/index.d.ts +2 -2
  323. package/dist/components/skeleton/index.js +1 -1
  324. package/dist/components/slider/Slider.d.ts +1 -1
  325. package/dist/components/slider/Slider.js +1 -1
  326. package/dist/components/slider/index.d.ts +2 -2
  327. package/dist/components/slider/index.js +1 -1
  328. package/dist/components/sparkline/Sparkline.d.ts +1 -1
  329. package/dist/components/sparkline/Sparkline.js +1 -1
  330. package/dist/components/sparkline/index.d.ts +2 -2
  331. package/dist/components/sparkline/index.js +1 -1
  332. package/dist/components/spoiler/Spoiler.d.ts +1 -1
  333. package/dist/components/spoiler/Spoiler.js +1 -1
  334. package/dist/components/spoiler/index.d.ts +2 -2
  335. package/dist/components/spoiler/index.js +1 -1
  336. package/dist/components/statistic/Statistic.d.ts +2 -2
  337. package/dist/components/statistic/Statistic.js +1 -1
  338. package/dist/components/statistic/index.d.ts +2 -2
  339. package/dist/components/statistic/index.js +1 -1
  340. package/dist/components/switch/Switch.d.ts +1 -1
  341. package/dist/components/switch/Switch.js +1 -1
  342. package/dist/components/switch/index.d.ts +2 -2
  343. package/dist/components/switch/index.js +1 -1
  344. package/dist/components/table/Table.d.ts +2 -2
  345. package/dist/components/table/Table.js +1 -1
  346. package/dist/components/table/index.d.ts +2 -2
  347. package/dist/components/table/index.js +1 -1
  348. package/dist/components/tabs/Tabs.d.ts +1 -1
  349. package/dist/components/tabs/Tabs.js +1 -1
  350. package/dist/components/tabs/index.d.ts +2 -2
  351. package/dist/components/tabs/index.js +1 -1
  352. package/dist/components/text-field/TextField.d.ts +1 -1
  353. package/dist/components/text-field/TextField.js +1 -1
  354. package/dist/components/text-field/index.d.ts +2 -2
  355. package/dist/components/text-field/index.js +1 -1
  356. package/dist/components/text-link/TextLink.d.ts +1 -1
  357. package/dist/components/text-link/TextLink.js +1 -1
  358. package/dist/components/text-link/index.d.ts +2 -2
  359. package/dist/components/text-link/index.js +1 -1
  360. package/dist/components/time-picker/TimePicker.d.ts +2 -2
  361. package/dist/components/time-picker/TimePicker.js +1 -1
  362. package/dist/components/time-picker/index.d.ts +2 -2
  363. package/dist/components/time-picker/index.js +1 -1
  364. package/dist/components/timeline/Timeline.d.ts +1 -1
  365. package/dist/components/timeline/Timeline.js +1 -1
  366. package/dist/components/timeline/index.d.ts +2 -2
  367. package/dist/components/timeline/index.js +1 -1
  368. package/dist/components/timeline-chart/TimelineChart.d.ts +2 -2
  369. package/dist/components/timeline-chart/TimelineChart.js +1 -1
  370. package/dist/components/timeline-chart/index.d.ts +2 -2
  371. package/dist/components/timeline-chart/index.js +1 -1
  372. package/dist/components/toast/Toast.d.ts +1 -1
  373. package/dist/components/toast/Toast.js +1 -1
  374. package/dist/components/toast/index.d.ts +2 -2
  375. package/dist/components/toast/index.js +1 -1
  376. package/dist/components/toolbar/Toolbar.d.ts +1 -1
  377. package/dist/components/toolbar/Toolbar.js +1 -1
  378. package/dist/components/toolbar/index.d.ts +2 -2
  379. package/dist/components/toolbar/index.js +1 -1
  380. package/dist/components/tooltip/Tooltip.d.ts +1 -1
  381. package/dist/components/tooltip/Tooltip.js +1 -1
  382. package/dist/components/tooltip/index.d.ts +2 -2
  383. package/dist/components/tooltip/index.js +1 -1
  384. package/dist/components/tree-view/TreeView.d.ts +1 -1
  385. package/dist/components/tree-view/TreeView.js +1 -1
  386. package/dist/components/tree-view/index.d.ts +2 -2
  387. package/dist/components/tree-view/index.js +1 -1
  388. package/dist/components/typography/Typography.d.ts +1 -1
  389. package/dist/components/typography/Typography.js +1 -1
  390. package/dist/components/typography/index.d.ts +2 -2
  391. package/dist/components/typography/index.js +1 -1
  392. package/dist/components/window-pane/WindowPane.d.ts +3 -3
  393. package/dist/components/window-pane/WindowPane.js +1 -1
  394. package/dist/components/window-pane/index.d.ts +2 -2
  395. package/dist/components/window-pane/index.js +1 -1
  396. package/dist/index.d.ts +99 -92
  397. package/dist/index.js +1 -1
  398. package/dist/internal/animate.d.ts +1 -1
  399. package/dist/internal/bottom-navigation.d.ts +5 -4
  400. package/dist/internal/bottom-navigation.js +1 -1
  401. package/dist/internal/button-group.d.ts +1 -1
  402. package/dist/internal/button-group.js +1 -1
  403. package/dist/internal/calendar.d.ts +2 -2
  404. package/dist/internal/calendar.js +1 -1
  405. package/dist/internal/chart-frame.d.ts +3 -3
  406. package/dist/internal/chart-frame.js +1 -1
  407. package/dist/internal/chart-line.d.ts +2 -2
  408. package/dist/internal/chart-line.js +1 -1
  409. package/dist/internal/chart.d.ts +4 -3
  410. package/dist/internal/chart.js +1 -1
  411. package/dist/internal/color.d.ts +2 -2
  412. package/dist/internal/data-table.d.ts +1 -1
  413. package/dist/internal/date.d.ts +4 -5
  414. package/dist/internal/date.js +1 -1
  415. package/dist/internal/grid.d.ts +1 -1
  416. package/dist/internal/highlight.d.ts +97 -0
  417. package/dist/internal/highlight.js +1 -0
  418. package/dist/internal/i18n.d.ts +427 -229
  419. package/dist/internal/i18n.js +1 -1
  420. package/dist/internal/icons.d.ts +38 -2
  421. package/dist/internal/icons.js +1 -1
  422. package/dist/internal/initials.d.ts +24 -0
  423. package/dist/internal/initials.js +1 -0
  424. package/dist/internal/menu.d.ts +1 -1
  425. package/dist/internal/menu.js +1 -1
  426. package/dist/internal/mockup.d.ts +1 -1
  427. package/dist/internal/page-layout.d.ts +143 -0
  428. package/dist/internal/page-layout.js +1 -0
  429. package/dist/internal/picker.d.ts +2 -2
  430. package/dist/internal/picker.js +1 -1
  431. package/dist/internal/progress.d.ts +1 -1
  432. package/dist/internal/styles.d.ts +12 -1
  433. package/dist/internal/styles.js +1 -1
  434. package/dist/internal/window.d.ts +1 -1
  435. package/dist/internal/window.js +1 -1
  436. package/dist/locales/ar.d.ts +14 -0
  437. package/dist/locales/ar.js +1 -0
  438. package/dist/locales/de.d.ts +14 -0
  439. package/dist/locales/de.js +1 -0
  440. package/dist/locales/es.d.ts +14 -0
  441. package/dist/locales/es.js +1 -0
  442. package/dist/locales/fr.d.ts +14 -0
  443. package/dist/locales/fr.js +1 -0
  444. package/dist/locales/hi.d.ts +14 -0
  445. package/dist/locales/hi.js +1 -0
  446. package/dist/locales/id.d.ts +14 -0
  447. package/dist/locales/id.js +1 -0
  448. package/dist/locales/index.d.ts +45 -0
  449. package/dist/locales/index.js +1 -0
  450. package/dist/locales/it.d.ts +14 -0
  451. package/dist/locales/it.js +1 -0
  452. package/dist/locales/ja.d.ts +14 -0
  453. package/dist/locales/ja.js +1 -0
  454. package/dist/locales/ko.d.ts +14 -0
  455. package/dist/locales/ko.js +1 -0
  456. package/dist/locales/nl.d.ts +14 -0
  457. package/dist/locales/nl.js +1 -0
  458. package/dist/locales/pl.d.ts +14 -0
  459. package/dist/locales/pl.js +1 -0
  460. package/dist/locales/pt.d.ts +14 -0
  461. package/dist/locales/pt.js +1 -0
  462. package/dist/locales/ru.d.ts +14 -0
  463. package/dist/locales/ru.js +1 -0
  464. package/dist/locales/th.d.ts +14 -0
  465. package/dist/locales/th.js +1 -0
  466. package/dist/locales/tr.d.ts +14 -0
  467. package/dist/locales/tr.js +1 -0
  468. package/dist/locales/vi.d.ts +14 -0
  469. package/dist/locales/vi.js +1 -0
  470. package/dist/locales/zh-hans.d.ts +17 -0
  471. package/dist/locales/zh-hans.js +1 -0
  472. package/dist/locales/zh-hant.d.ts +17 -0
  473. package/dist/locales/zh-hant.js +1 -0
  474. package/dist/styles.css +1 -1
  475. package/dist/tailwind.css +473 -0
  476. package/package.json +40 -9
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { type CartesianChartProps } from '../../internal/chart-frame';
3
- import { type MarkShape } from '../../internal/chart';
2
+ import { type CartesianChartProps } from '../../internal/chart-frame.js';
3
+ import { type MarkShape } from '../../internal/chart.js';
4
4
  export interface ScatterChartProps extends CartesianChartProps {
5
5
  /**
6
6
  * What each mark is drawn as.
@@ -1 +1 @@
1
- import{jsx as e,jsxs as r}from"react/jsx-runtime";import*as a from"react";import{CartesianChart as l}from"../../internal/chart-frame";import{bubbleRadius as t,formatCategory as i,markerRadii as s,markGap as o,markPath as n,markShapes as c,plotHeights as u,pointX as d}from"../../internal/chart";import{cx as h,srOnlyClasses as m}from"../../internal/styles";export function ScatterChart({shape:r="auto",pointRadius:i,maxRadius:o,series:h,categories:m,size:p="md",xAxis:b,...v}){const y=i??s[p],g=o??Math.max(y+2,("number"==typeof v.height?v.height:u[p])/12),z=h.reduce((e,r)=>r.color?e:e+1,0),k="auto"===r||"varied"===r?"circle":r,M="varied"===r||"auto"===r&&z>3,j=a.useCallback(e=>M?c[e%c.length]:k,[M,k]),w=a.useCallback(e=>{const r=[];let a=0;return e.values.forEach(e=>{e.forEach(e=>{null!==e.value&&void 0!==e.z&&Number.isFinite(e.z)&&(a=Math.max(a,e.z))})}),e.values.forEach((l,i)=>{e.visible[i]&&l.forEach((l,s)=>{if(null===l.value)return;const o=d(l,s,m);null!==o&&r.push({series:i,index:s,x:e.categoryValuePx(o),y:e.valuePx(l.value),r:void 0===l.z?y:t(l.z,a,g,2)})})}),r},[m,y,g]);return e(l,{...v,series:h,categories:m,size:p,xScale:"value",xAxis:b,marks:w,markInset:g,includeZero:!1,swatch:(r,a)=>e("svg",{viewBox:"0 0 10 10",className:"size-2.5 overflow-visible","aria-hidden":"true",children:e("path",{d:n(j(r),5,5,4),fill:a})}),table:r=>e(f,{id:r,series:h,categories:m,label:v.label,xLabel:b?.label,yLabel:v.yAxis?.label,locale:v.locale,format:v.format}),children:r=>e(x,{context:r,shapeOf:j})})}function x({context:r,shapeOf:l}){const{marks:t,values:i,colors:s,hovered:c,activeMark:u}=r,d=a.useMemo(()=>[...t].sort((e,r)=>r.r-e.r),[t]);return e("g",{children:d.map(r=>{const a=i[r.series]?.[r.index],t=null!==c&&c!==r.series,d=u?.series===r.series&&u?.index===r.index;return e("path",{d:n(l(r.series),r.x,r.y,d?r.r+1:r.r),fill:a?.color??s[r.series],stroke:"var(--neba-chart-gap)",strokeWidth:o,opacity:t?.28:1},`${r.series}-${r.index}`)})})}function f({id:l,series:t,categories:s,label:o,xLabel:n,yLabel:c,locale:u,format:d}){const x=a.useMemo(()=>new Intl.NumberFormat(u,d??{maximumFractionDigits:2}),[u,d]),f=t.some(e=>e.data.some(e=>"object"==typeof e&&null!==e&&void 0!==e.z));return r("table",{id:l,className:h(m),children:[o?e("caption",{children:o}):null,e("thead",{children:r("tr",{children:[e("th",{scope:"col"}),e("th",{scope:"col",children:n??"x"}),e("th",{scope:"col",children:c??"y"}),f?e("th",{scope:"col",children:"z"}):null]})}),e("tbody",{children:t.flatMap((a,l)=>a.data.map((t,o)=>{const n="object"==typeof t&&null!==t?t:null,c=n?n.y:"number"==typeof t?t:null,d=n?.x??s?.[o]??o;return r("tr",{children:[e("th",{scope:"row",children:a.name??l+1}),e("td",{children:i(d,u)}),e("td",{children:null!==c&&Number.isFinite(c)?x.format(c):""}),f?e("td",{children:void 0===n?.z?"":x.format(n.z)}):null]},`${l}-${o}`)}))})]})}
1
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import*as a from"react";import{CartesianChart as l}from"../../internal/chart-frame.js";import{bubbleRadius as t,formatCategory as i,markerRadii as s,markGap as o,markPath as n,markShapes as c,plotHeights as u,pointX as d}from"../../internal/chart.js";import{cx as h,srOnlyClasses as m}from"../../internal/styles.js";export function ScatterChart({shape:r="auto",pointRadius:i,maxRadius:o,series:h,categories:m,size:p="md",xAxis:b,...v}){const y=i??s[p],g=o??Math.max(y+2,("number"==typeof v.height?v.height:u[p])/12),z=h.reduce((e,r)=>r.color?e:e+1,0),j="auto"===r||"varied"===r?"circle":r,k="varied"===r||"auto"===r&&z>3,M=a.useCallback(e=>k?c[e%c.length]:j,[k,j]),w=a.useCallback(e=>{const r=[];let a=0;return e.values.forEach(e=>{e.forEach(e=>{null!==e.value&&void 0!==e.z&&Number.isFinite(e.z)&&(a=Math.max(a,e.z))})}),e.values.forEach((l,i)=>{e.visible[i]&&l.forEach((l,s)=>{if(null===l.value)return;const o=d(l,s,m);null!==o&&r.push({series:i,index:s,x:e.categoryValuePx(o),y:e.valuePx(l.value),r:void 0===l.z?y:t(l.z,a,g,2)})})}),r},[m,y,g]);return e(l,{...v,series:h,categories:m,size:p,xScale:"value",xAxis:b,marks:w,markInset:g,includeZero:!1,swatch:(r,a)=>e("svg",{viewBox:"0 0 10 10",className:"size-2.5 overflow-visible","aria-hidden":"true",children:e("path",{d:n(M(r),5,5,4),fill:a})}),table:r=>e(f,{id:r,series:h,categories:m,label:v.label,xLabel:b?.label,yLabel:v.yAxis?.label,locale:v.locale,format:v.format}),children:r=>e(x,{context:r,shapeOf:M})})}function x({context:r,shapeOf:l}){const{marks:t,values:i,colors:s,hovered:c,activeMark:u}=r,d=a.useMemo(()=>[...t].sort((e,r)=>r.r-e.r),[t]);return e("g",{children:d.map(r=>{const a=i[r.series]?.[r.index],t=null!==c&&c!==r.series,d=u?.series===r.series&&u?.index===r.index;return e("path",{d:n(l(r.series),r.x,r.y,d?r.r+1:r.r),fill:a?.color??s[r.series],stroke:"var(--neba-chart-gap)",strokeWidth:o,opacity:t?.28:1},`${r.series}-${r.index}`)})})}function f({id:l,series:t,categories:s,label:o,xLabel:n,yLabel:c,locale:u,format:d}){const x=a.useMemo(()=>new Intl.NumberFormat(u,d??{maximumFractionDigits:2}),[u,d]),f=t.some(e=>e.data.some(e=>"object"==typeof e&&null!==e&&void 0!==e.z));return r("table",{id:l,className:h(m),children:[o?e("caption",{children:o}):null,e("thead",{children:r("tr",{children:[e("th",{scope:"col"}),e("th",{scope:"col",children:n??"x"}),e("th",{scope:"col",children:c??"y"}),f?e("th",{scope:"col",children:"z"}):null]})}),e("tbody",{children:t.flatMap((a,l)=>a.data.map((t,o)=>{const n="object"==typeof t&&null!==t?t:null,c=n?n.y:"number"==typeof t?t:null,d=n?.x??s?.[o]??o;return r("tr",{children:[e("th",{scope:"row",children:a.name??l+1}),e("td",{children:i(d,u)}),e("td",{children:null!==c&&Number.isFinite(c)?x.format(c):""}),f?e("td",{children:void 0===n?.z?"":x.format(n.z)}):null]},`${l}-${o}`)}))})]})}
@@ -1,2 +1,2 @@
1
- export { ScatterChart } from './ScatterChart';
2
- export type { ScatterChartProps } from './ScatterChart';
1
+ export { ScatterChart } from './ScatterChart.js';
2
+ export type { ScatterChartProps } from './ScatterChart.js';
@@ -1 +1 @@
1
- export{ScatterChart}from"./ScatterChart";
1
+ export{ScatterChart}from"./ScatterChart.js";
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { NebaOrientation, NebaStyleProps } from '../../types';
2
+ import type { NebaOrientation, NebaStyleProps } from '../../types.js';
3
3
  /**
4
4
  * When the scroll buttons are drawn.
5
5
  *
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as n from"react";import{IconButton as r}from"../icon-button/IconButton";import{spacingValue as o}from"../../internal/grid";import{useMessages as i}from"../../internal/i18n";import{ChevronIcon as s}from"../../internal/icons";import{cx as l}from"../../internal/styles";const a={xs:"p-1",sm:"p-1.5",md:"p-2",lg:"p-3",xl:"p-4"},c={xs:"gap-1",sm:"gap-1.5",md:"gap-2",lg:"gap-3",xl:"gap-4"};export const ScrollZone=n.forwardRef(function({orientation:u="horizontal",lines:d=1,spacing:m=2,buttons:p="auto",buttonPlacement:f="overlay",mode:v="item",step:b=1,speed:w=900,snap:g=!1,drag:h=!0,scrollbar:y=!1,variant:x="solid",size:k="md",color:L="primary",density:E="default",locale:C,label:R,previousLabel:P,nextLabel:M,className:N,style:T,children:A,...z},j){const D=i(C),S="horizontal"===u,B=Math.max(1,Math.round(d)),F=Math.max(1,Math.round(b)),H=n.useRef(null),I=n.useRef(null),[W,$]=n.useState({back:!1,forward:!1}),q=n.useCallback(()=>{const e=H.current;if(!e)return;const t=S?e.clientWidth:e.clientHeight,n=S?e.scrollWidth:e.scrollHeight,r=Math.abs(S?e.scrollLeft:e.scrollTop);$(e=>{const o=r>1,i=n-t-r>1;return e.back===o&&e.forward===i?e:{back:o,forward:i}})},[S]);n.useEffect(()=>{const e=H.current,t=I.current;if(!e)return;if(q(),"undefined"==typeof ResizeObserver)return;const n=new ResizeObserver(q);return n.observe(e),t&&n.observe(t),()=>n.disconnect()},[q]);const O=n.useCallback(()=>{const e=H.current;return e&&S&&"rtl"===getComputedStyle(e).direction?-1:1},[S]),X=n.useCallback((e,t)=>{const n=H.current;if(!n)return;const r=t?"undefined"!=typeof window&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches?"auto":"smooth":"auto";n.scrollBy(S?{left:e,behavior:r}:{top:e,behavior:r})},[S]),Y=n.useCallback(()=>{const e=H.current,t=I.current;if(!e||!t)return[];const n=S&&"rtl"===getComputedStyle(e).direction,r=S?n?"right":"left":"top",o=n?-1:1,i=e.getBoundingClientRect()[r],s=[];for(const e of Array.from(t.children)){const t=Math.round((e.getBoundingClientRect()[r]-i)*o);s.includes(t)||s.push(t)}return s.sort((e,t)=>e-t)},[S]),_=n.useCallback((e,t=v)=>{const n=H.current;if(!n)return;const r=O(),o=S?n.clientWidth:n.clientHeight;if("page"===t)return void X(o*(e?1:-1)*r,!0);const i=Y(),s=i.filter(e=>e>1),l=i.filter(e=>e<-1),a=e?s[F-1]:l[l.length-F];X(void 0!==a?a*r:o*(e?1:-1)*r,!0)},[O,S,Y,F,v,X]),K=n.useRef(null);n.useEffect(()=>()=>K.current?.(),[]);const V=n.useCallback((e,t)=>{if(K.current)return;const n=O(),r=performance.now();let o=r,i=0;const s=t=>{const r=t-o;o=t,X(w*r/1e3*(e?1:-1)*n,!1),i=requestAnimationFrame(s)};i=requestAnimationFrame(s);const l=()=>{cancelAnimationFrame(i),K.current=null,window.removeEventListener(t,l),window.removeEventListener("pointercancel",l),window.removeEventListener("blur",l),performance.now()-r<140&&_(e,"item")};K.current=l,window.addEventListener(t,l),window.addEventListener("pointercancel",l),window.addEventListener("blur",l)},[_,O,X,w]),Z=n.useRef(null);function G(e){return"hold"!==v?{onClick:()=>_(e)}:{onPointerDown:t=>{0===t.button&&V(e,"pointerup")},onKeyDown:t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),V(e,"keyup"))}}}n.useEffect(()=>()=>Z.current?.(),[]);const J="none"!==p&&("always"===p||W.back||W.forward),Q="inline"===f;function U(t){const n=t?W.forward:W.back;if("auto"===p&&!n&&!Q)return e("span",{});const o=S?t?"-rotate-90 rtl:rotate-90":"rotate-90 rtl:-rotate-90":t?"":"rotate-180",i="auto"===p&&!n,a=e(r,{variant:x,size:k,color:L,density:E,elevation:1,label:t?M??D.scroll.next:P??D.scroll.previous,disabled:!n,className:"pointer-events-auto",icon:e("span",{className:l("flex items-center",o),children:e(s,{})}),...G(t)});return Q?e("span",{className:l("flex shrink-0 items-center justify-center",i?"invisible":""),inert:i,children:a}):a}return t("div",{ref:j,className:l("relative flex min-w-0",Q&&S?"flex-row items-stretch":"flex-col",Q?c[k]:"",N),style:{"--n-ring":`var(--neba-${L}-ring)`,...T},...z,children:[J&&Q?U(!1):null,e("div",{ref:H,tabIndex:0,role:R?"group":void 0,"aria-label":R,className:l("min-h-0 min-w-0 grow",S?"overflow-x-auto overflow-y-hidden":"overflow-y-auto overflow-x-hidden",g?S?"snap-x snap-mandatory":"snap-y snap-mandatory":"",y?"":"[scrollbar-width:none] [&::-webkit-scrollbar]:hidden",h&&(W.back||W.forward)?"cursor-grab data-[dragging]:cursor-grabbing":"","focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:[outline-offset:-2px]"),onScroll:q,onPointerDown:function(e){if(!h||"touch"===e.pointerType||0!==e.button)return;Z.current?.();const t=e.currentTarget,n=e.clientX,r=e.clientY,o=t.scrollLeft,i=t.scrollTop;let s=!1;const l=document.body.style.getPropertyValue("-webkit-user-select"),a=e=>{const l=e.clientX-n,a=e.clientY-r;if(!s){if(Math.abs(S?l:a)<4)return;s=!0,t.setPointerCapture(e.pointerId),t.dataset.dragging="true",document.body.style.setProperty("-webkit-user-select","none")}S?t.scrollLeft=o-l:t.scrollTop=i-a},c=()=>{Z.current=null,t.removeEventListener("pointermove",a),t.removeEventListener("pointerup",u),t.removeEventListener("pointercancel",c),delete t.dataset.dragging,l?document.body.style.setProperty("-webkit-user-select",l):document.body.style.removeProperty("-webkit-user-select")},u=()=>{const e=s;if(c(),!e)return;const n=e=>{e.stopPropagation(),e.preventDefault()};t.addEventListener("click",n,{capture:!0,once:!0}),window.setTimeout(()=>t.removeEventListener("click",n,!0),0)};Z.current=c,t.addEventListener("pointermove",a),t.addEventListener("pointerup",u),t.addEventListener("pointercancel",c)},children:e("div",{ref:I,className:l(g?"[&>*]:snap-start":""),style:{display:"grid",gap:o(m),gridAutoFlow:S?"column":"row",...S?{width:"max-content",gridTemplateRows:`repeat(${B}, auto)`,gridAutoColumns:"max-content"}:{gridTemplateColumns:`repeat(${B}, minmax(0, 1fr))`,gridAutoRows:"max-content"}},children:A})}),J&&Q?U(!0):null,J&&!Q?t("div",{className:l("pointer-events-none absolute inset-0 flex justify-between",S?"items-center":"flex-col items-center",a[k]),children:[U(!1),U(!0)]}):null]})});
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as n from"react";import{IconButton as r}from"../icon-button/IconButton.js";import{spacingValue as o}from"../../internal/grid.js";import{scrollMessages as i,useMessages as s}from"../../internal/i18n.js";import{ChevronIcon as a}from"../../internal/icons.js";import{cx as l}from"../../internal/styles.js";const c={xs:"p-1",sm:"p-1.5",md:"p-2",lg:"p-3",xl:"p-4"},u={xs:"gap-1",sm:"gap-1.5",md:"gap-2",lg:"gap-3",xl:"gap-4"};export const ScrollZone=/*@__PURE__*/n.forwardRef(function({orientation:d="horizontal",lines:m=1,spacing:p=2,buttons:f="auto",buttonPlacement:v="overlay",mode:b="item",step:w=1,speed:g=900,snap:h=!1,drag:y=!0,scrollbar:x=!1,variant:k="solid",size:L="md",color:E="primary",density:C="default",locale:R,label:j,previousLabel:P,nextLabel:M,className:N,style:T,children:A,...z},D){const S=s(i,R),B="horizontal"===d,F=Math.max(1,Math.round(m)),H=Math.max(1,Math.round(w)),I=n.useRef(null),W=n.useRef(null),[$,q]=n.useState({back:!1,forward:!1}),O=n.useCallback(()=>{const e=I.current;if(!e)return;const t=B?e.clientWidth:e.clientHeight,n=B?e.scrollWidth:e.scrollHeight,r=Math.abs(B?e.scrollLeft:e.scrollTop);q(e=>{const o=r>1,i=n-t-r>1;return e.back===o&&e.forward===i?e:{back:o,forward:i}})},[B]);n.useEffect(()=>{const e=I.current,t=W.current;if(!e)return;if(O(),"undefined"==typeof ResizeObserver)return;const n=new ResizeObserver(O);return n.observe(e),t&&n.observe(t),()=>n.disconnect()},[O]);const X=n.useCallback(()=>{const e=I.current;return e&&B&&"rtl"===getComputedStyle(e).direction?-1:1},[B]),Y=n.useCallback((e,t)=>{const n=I.current;if(!n)return;const r=t?"undefined"!=typeof window&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches?"auto":"smooth":"auto";n.scrollBy(B?{left:e,behavior:r}:{top:e,behavior:r})},[B]),_=n.useCallback(()=>{const e=I.current,t=W.current;if(!e||!t)return[];const n=B&&"rtl"===getComputedStyle(e).direction,r=B?n?"right":"left":"top",o=n?-1:1,i=e.getBoundingClientRect()[r],s=[];for(const e of Array.from(t.children)){const t=Math.round((e.getBoundingClientRect()[r]-i)*o);s.includes(t)||s.push(t)}return s.sort((e,t)=>e-t)},[B]),K=n.useCallback((e,t=b)=>{const n=I.current;if(!n)return;const r=X(),o=B?n.clientWidth:n.clientHeight;if("page"===t)return void Y(o*(e?1:-1)*r,!0);const i=_(),s=i.filter(e=>e>1),a=i.filter(e=>e<-1),l=e?s[H-1]:a[a.length-H];Y(void 0!==l?l*r:o*(e?1:-1)*r,!0)},[X,B,_,H,b,Y]),V=n.useRef(null);n.useEffect(()=>()=>V.current?.(),[]);const Z=n.useCallback((e,t)=>{if(V.current)return;const n=X(),r=performance.now();let o=r,i=0;const s=t=>{const r=t-o;o=t,Y(g*r/1e3*(e?1:-1)*n,!1),i=requestAnimationFrame(s)};i=requestAnimationFrame(s);const a=()=>{cancelAnimationFrame(i),V.current=null,window.removeEventListener(t,a),window.removeEventListener("pointercancel",a),window.removeEventListener("blur",a),performance.now()-r<140&&K(e,"item")};V.current=a,window.addEventListener(t,a),window.addEventListener("pointercancel",a),window.addEventListener("blur",a)},[K,X,Y,g]),G=n.useRef(null);function J(e){return"hold"!==b?{onClick:()=>K(e)}:{onPointerDown:t=>{0===t.button&&Z(e,"pointerup")},onKeyDown:t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),Z(e,"keyup"))}}}n.useEffect(()=>()=>G.current?.(),[]);const Q="none"!==f&&("always"===f||$.back||$.forward),U="inline"===v;function ee(t){const n=t?$.forward:$.back;if("auto"===f&&!n&&!U)return e("span",{});const o=B?t?"-rotate-90 rtl:rotate-90":"rotate-90 rtl:-rotate-90":t?"":"rotate-180",i="auto"===f&&!n,s=e(r,{variant:k,size:L,color:E,density:C,elevation:1,label:t?M??S.next:P??S.previous,disabled:!n,className:"pointer-events-auto",icon:e("span",{className:l("flex items-center",o),children:e(a,{})}),...J(t)});return U?e("span",{className:l("flex shrink-0 items-center justify-center",i?"invisible":""),inert:i,children:s}):s}return t("div",{ref:D,className:l("relative flex min-w-0",U&&B?"flex-row items-stretch":"flex-col",U?u[L]:"",N),style:{"--n-ring":`var(--neba-${E}-ring)`,...T},...z,children:[Q&&U?ee(!1):null,e("div",{ref:I,tabIndex:0,role:j?"group":void 0,"aria-label":j,className:l("min-h-0 min-w-0 grow",B?"overflow-x-auto overflow-y-hidden":"overflow-y-auto overflow-x-hidden",h?B?"snap-x snap-mandatory":"snap-y snap-mandatory":"",x?"":"[scrollbar-width:none] [&::-webkit-scrollbar]:hidden",y&&($.back||$.forward)?"cursor-grab data-[dragging]:cursor-grabbing":"","focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:[outline-offset:-2px]"),onScroll:O,onPointerDown:function(e){if(!y||"touch"===e.pointerType||0!==e.button)return;G.current?.();const t=e.currentTarget,n=e.clientX,r=e.clientY,o=t.scrollLeft,i=t.scrollTop;let s=!1;const a=document.body.style.getPropertyValue("-webkit-user-select"),l=e=>{const a=e.clientX-n,l=e.clientY-r;if(!s){if(Math.abs(B?a:l)<4)return;s=!0,t.setPointerCapture(e.pointerId),t.dataset.dragging="true",document.body.style.setProperty("-webkit-user-select","none")}B?t.scrollLeft=o-a:t.scrollTop=i-l},c=()=>{G.current=null,t.removeEventListener("pointermove",l),t.removeEventListener("pointerup",u),t.removeEventListener("pointercancel",c),delete t.dataset.dragging,a?document.body.style.setProperty("-webkit-user-select",a):document.body.style.removeProperty("-webkit-user-select")},u=()=>{const e=s;if(c(),!e)return;const n=e=>{e.stopPropagation(),e.preventDefault()};t.addEventListener("click",n,{capture:!0,once:!0}),window.setTimeout(()=>t.removeEventListener("click",n,!0),0)};G.current=c,t.addEventListener("pointermove",l),t.addEventListener("pointerup",u),t.addEventListener("pointercancel",c)},children:e("div",{ref:W,className:l(h?"[&>*]:snap-start":""),style:{display:"grid",gap:o(p),gridAutoFlow:B?"column":"row",...B?{width:"max-content",gridTemplateRows:`repeat(${F}, auto)`,gridAutoColumns:"max-content"}:{gridTemplateColumns:`repeat(${F}, minmax(0, 1fr))`,gridAutoRows:"max-content"}},children:A})}),Q&&U?ee(!0):null,Q&&!U?t("div",{className:l("pointer-events-none absolute inset-0 flex justify-between",B?"items-center":"flex-col items-center",c[L]),children:[ee(!1),ee(!0)]}):null]})});
@@ -1,2 +1,2 @@
1
- export { ScrollZone } from './ScrollZone';
2
- export type { ScrollZoneButtonPlacement, ScrollZoneButtons, ScrollZoneMode, ScrollZoneProps } from './ScrollZone';
1
+ export { ScrollZone } from './ScrollZone.js';
2
+ export type { ScrollZoneButtonPlacement, ScrollZoneButtons, ScrollZoneMode, ScrollZoneProps } from './ScrollZone.js';
@@ -1 +1 @@
1
- export{ScrollZone}from"./ScrollZone";
1
+ export{ScrollZone}from"./ScrollZone.js";
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { NebaElevation, NebaStyleProps, NebaVariant } from '../../types';
2
+ import type { NebaElevation, NebaStyleProps, NebaVariant } from '../../types.js';
3
3
  /** A segment's value. The same restraint Tabs and Select put on theirs. */
4
4
  export type SegmentValue = string | number;
5
5
  export interface SegmentedButtonProps extends Omit<NebaStyleProps, 'variant'>, Omit<React.ComponentPropsWithoutRef<'div'>, 'color' | 'defaultValue' | 'onChange'> {
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as a from"react";import{Radio as n}from"@base-ui/react/radio";import{RadioGroup as r}from"@base-ui/react/radio-group";import{controlHeightClasses as s,controlSlots as l,controlTextClasses as o,gapClasses as i,hasContent as d,iconClasses as u,paddingXClasses as c,surfaceClasses as f,transitionClasses as h}from"../../internal/styles";const p=a.createContext({variant:"outline",size:"md",density:"default",fullWidth:!1}),b={solid:`${f} bg-(--n-panel) p-1 [box-shadow:var(--n-elev),var(--neba-plate-glass)]`,outline:`${f} border bg-(--n-panel) p-1 [border-color:var(--n-line)] [box-shadow:var(--n-elev),var(--neba-plate-glass)]`,text:""},m={solid:`${f} bg-(--n-fill) [box-shadow:var(--neba-shadow-1),var(--neba-plate-solid)]`,outline:`${f} bg-(--n-panel-press) [box-shadow:var(--neba-shadow-1),var(--neba-plate-glass)]`,text:`${f} bg-(--n-panel-press) [box-shadow:var(--neba-shadow-1),var(--neba-plate-glass)]`},v={solid:"data-[checked]:text-(--n-on-solid)",outline:"data-[checked]:text-(--n-accent)",text:"data-[checked]:text-(--n-accent)"};export const Segment=a.forwardRef(function({value:r,startIcon:l,endIcon:f,disabled:b=!1,className:m,children:x,...g},y){const{variant:w,size:k,density:$,fullWidth:R}=a.useContext(p);return t(n.Root,{ref:y,value:r,disabled:b,"data-segment":"",className:["relative z-10 inline-flex shrink-0 cursor-pointer items-center justify-center select-none","whitespace-nowrap font-medium","[-webkit-tap-highlight-color:transparent] [touch-action:manipulation]",s[k],o[k],i[k],c[$][k],"rounded-full",h,u,"text-(--neba-muted-fg) hover:text-(--neba-fg)",v[w],"focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:[outline-offset:-2px]","data-[disabled]:cursor-not-allowed data-[disabled]:text-(--neba-disabled-fg)","data-[readonly]:cursor-default",R?"flex-1":"",m??""].filter(Boolean).join(" "),...g,children:[d(l)?e("span",{className:"flex h-[1lh] shrink-0 items-center",children:l}):null,x,d(f)?e("span",{className:"flex h-[1lh] shrink-0 items-center",children:f}):null]})});export const SegmentedButton=a.forwardRef(function({variant:n="outline",size:s="md",color:o="primary",density:i="default",elevation:d=0,value:u,defaultValue:c=null,onValueChange:f,disabled:v=!1,readOnly:x=!1,name:g,fullWidth:y=!1,className:w,style:k,children:$,...R},j){const[N,z]=a.useState(c),W=void 0!==u,C=W?u:N,P=a.useRef(null),S=a.useRef(null),A=a.useCallback(e=>{const t=P.current,a=S.current;if(!t||!a)return;const n=t.querySelector("[data-segment][data-checked]");if(!n)return;const r=!e||!a.hasAttribute("data-ready");r&&a.removeAttribute("data-ready"),a.style.setProperty("--n-seg-x",`${n.offsetLeft}px`),a.style.setProperty("--n-seg-y",`${n.offsetTop}px`),a.style.setProperty("--n-seg-w",`${n.offsetWidth}px`),a.style.setProperty("--n-seg-h",`${n.offsetHeight}px`),r&&a.offsetWidth,a.setAttribute("data-ready","")},[]);a.useLayoutEffect(()=>{A(!0)},[A,C,n,s,i,y,$]),a.useEffect(()=>{const e=P.current;if(!e)return;const t=new ResizeObserver(()=>A(!1));return t.observe(e),()=>t.disconnect()},[A]);const B=a.useMemo(()=>({variant:n,size:s,density:i,fullWidth:y}),[n,s,i,y]);return e(p.Provider,{value:B,children:t(r,{ref:e=>{P.current=e,"function"==typeof j?j(e):j&&(j.current=e)},value:C,onValueChange:e=>{const t=e??null;W||z(t),f?.(t)},disabled:v,readOnly:x,name:g,className:["relative inline-flex items-center rounded-full",b[n],h,x?"[filter:saturate(0.55)]":"",y?"flex w-full":"",w??""].filter(Boolean).join(" "),style:{...l(o,d,n),...k},...R,children:[null!=C?e("span",{ref:S,"aria-hidden":"true",className:["pointer-events-none absolute rounded-full","left-(--n-seg-x) top-(--n-seg-y) h-(--n-seg-h) w-(--n-seg-w)",m[n],"[transition-property:left,top,width,height]","[transition-timing-function:var(--neba-ease)]","[transition-duration:0ms] data-[ready]:[transition-duration:var(--neba-duration)]"].join(" ")}):null,$]})})});
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as a from"react";import{Radio as n}from"@base-ui/react/radio";import{RadioGroup as r}from"@base-ui/react/radio-group";import{controlHeightClasses as s,controlSlots as l,controlTextClasses as o,gapClasses as i,hasContent as d,iconClasses as u,paddingXClasses as c,surfaceClasses as f,transitionClasses as h}from"../../internal/styles.js";const p=/*@__PURE__*/a.createContext({variant:"outline",size:"md",density:"default",fullWidth:!1}),b={solid:`${f} bg-(--n-panel) p-1 [box-shadow:var(--n-elev),var(--neba-plate-glass)]`,outline:`${f} border bg-(--n-panel) p-1 [border-color:var(--n-line)] [box-shadow:var(--n-elev),var(--neba-plate-glass)]`,text:""},m={solid:`${f} bg-(--n-fill) [box-shadow:var(--neba-shadow-1),var(--neba-plate-solid)]`,outline:`${f} bg-(--n-panel-press) [box-shadow:var(--neba-shadow-1),var(--neba-plate-glass)]`,text:`${f} bg-(--n-panel-press) [box-shadow:var(--neba-shadow-1),var(--neba-plate-glass)]`},v={solid:"data-[checked]:text-(--n-on-solid)",outline:"data-[checked]:text-(--n-accent)",text:"data-[checked]:text-(--n-accent)"};export const Segment=/*@__PURE__*/a.forwardRef(function({value:r,startIcon:l,endIcon:f,disabled:b=!1,className:m,children:x,...g},y){const{variant:w,size:k,density:$,fullWidth:j}=a.useContext(p);return t(n.Root,{ref:y,value:r,disabled:b,"data-segment":"",className:["relative z-10 inline-flex shrink-0 cursor-pointer items-center justify-center select-none","whitespace-nowrap font-medium","[-webkit-tap-highlight-color:transparent] [touch-action:manipulation]",s[k],o[k],i[k],c[$][k],"rounded-full",h,u,"text-(--neba-muted-fg) hover:text-(--neba-fg)",v[w],"focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:[outline-offset:-2px]","data-[disabled]:cursor-not-allowed data-[disabled]:text-(--neba-disabled-fg)","data-[readonly]:cursor-default",j?"flex-1":"",m??""].filter(Boolean).join(" "),...g,children:[d(l)?e("span",{className:"flex h-[1lh] shrink-0 items-center",children:l}):null,x,d(f)?e("span",{className:"flex h-[1lh] shrink-0 items-center",children:f}):null]})});export const SegmentedButton=/*@__PURE__*/a.forwardRef(function({variant:n="outline",size:s="md",color:o="primary",density:i="default",elevation:d=0,value:u,defaultValue:c=null,onValueChange:f,disabled:v=!1,readOnly:x=!1,name:g,fullWidth:y=!1,className:w,style:k,children:$,...j},R){const[N,z]=a.useState(c),W=void 0!==u,C=W?u:N,P=a.useRef(null),S=a.useRef(null),A=a.useCallback(e=>{const t=P.current,a=S.current;if(!t||!a)return;const n=t.querySelector("[data-segment][data-checked]");if(!n)return;const r=!e||!a.hasAttribute("data-ready");r&&a.removeAttribute("data-ready"),a.style.setProperty("--n-seg-x",`${n.offsetLeft}px`),a.style.setProperty("--n-seg-y",`${n.offsetTop}px`),a.style.setProperty("--n-seg-w",`${n.offsetWidth}px`),a.style.setProperty("--n-seg-h",`${n.offsetHeight}px`),r&&a.offsetWidth,a.setAttribute("data-ready","")},[]);a.useLayoutEffect(()=>{A(!0)},[A,C,n,s,i,y,$]),a.useEffect(()=>{const e=P.current;if(!e)return;const t=new ResizeObserver(()=>A(!1));return t.observe(e),()=>t.disconnect()},[A]);const B=a.useMemo(()=>({variant:n,size:s,density:i,fullWidth:y}),[n,s,i,y]);return e(p.Provider,{value:B,children:t(r,{ref:e=>{P.current=e,"function"==typeof R?R(e):R&&(R.current=e)},value:C,onValueChange:e=>{const t=e??null;W||z(t),f?.(t)},disabled:v,readOnly:x,name:g,className:["relative inline-flex items-center rounded-full",b[n],h,x?"[filter:saturate(0.55)]":"",y?"flex w-full":"",w??""].filter(Boolean).join(" "),style:{...l(o,d,n),...k},...j,children:[null!=C?e("span",{ref:S,"aria-hidden":"true",className:["pointer-events-none absolute rounded-full","left-(--n-seg-x) top-(--n-seg-y) h-(--n-seg-h) w-(--n-seg-w)",m[n],"[transition-property:left,top,width,height]","[transition-timing-function:var(--neba-ease)]","[transition-duration:0ms] data-[ready]:[transition-duration:var(--neba-duration)]"].join(" ")}):null,$]})})});
@@ -1,2 +1,2 @@
1
- export { Segment, SegmentedButton } from './SegmentedButton';
2
- export type { SegmentedButtonProps, SegmentProps, SegmentValue } from './SegmentedButton';
1
+ export { Segment, SegmentedButton } from './SegmentedButton.js';
2
+ export type { SegmentedButtonProps, SegmentProps, SegmentValue } from './SegmentedButton.js';
@@ -1 +1 @@
1
- export{Segment,SegmentedButton}from"./SegmentedButton";
1
+ export{Segment,SegmentedButton}from"./SegmentedButton.js";
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { NebaElevation, NebaStyleProps } from '../../types';
2
+ import type { NebaElevation, NebaStyleProps } from '../../types.js';
3
3
  /**
4
4
  * What a Select's value may be.
5
5
  *
@@ -1 +1 @@
1
- import{jsx as e,jsxs as a}from"react/jsx-runtime";import*as t from"react";import{Select as l}from"@base-ui/react/select";import{Field as n}from"@base-ui/react/field";import{CheckIcon as r,ChevronIcon as i}from"../../internal/icons";import{WidthSizer as s}from"../../internal/sizer";import{controlHeightClasses as o,controlTextLeadingClasses as d,disabledClasses as c,fieldReadOnlyClasses as m,fieldRestClasses as u,focusWithinRingClasses as h,gapClasses as f,hasContent as p,iconClasses as b,metaTextClasses as g,paddingXClasses as x,radiusClasses as v,stackGapClasses as N,surfaceClasses as w,surfaceSlots as j,transitionClasses as y}from"../../internal/styles";const I=["group relative flex w-full cursor-pointer items-center select-none","[-webkit-tap-highlight-color:transparent] [touch-action:manipulation]",y,"focus-within:[transition-duration:0ms]",h,b].join(" "),S=[w,"max-h-[min(20rem,var(--available-height))] overflow-y-auto overscroll-contain","min-w-[var(--anchor-width)] border bg-(--n-panel-press) p-1","[border-color:var(--n-line)]","[box-shadow:var(--neba-shadow-3),var(--neba-plate-glass)]","[outline:none]"].join(" "),$=["relative flex cursor-pointer items-center gap-2 select-none","rounded-(--neba-radius-xs) py-1.5 pe-2 ps-7",y,"data-[highlighted]:bg-(--n-soft-hover) data-[highlighted]:text-(--n-accent)","data-[selected]:text-(--n-accent) data-[selected]:font-medium","data-[disabled]:cursor-not-allowed data-[disabled]:text-(--neba-disabled-fg)","[outline:none]"].join(" ");export const Select=t.forwardRef(function({variant:h="outline",size:b="md",color:w="primary",density:y="default",elevation:V=0,items:z,value:k,defaultValue:O,onValueChange:P,placeholder:R,label:T,description:q,error:C,invalid:M,startIcon:W,fullWidth:_=!1,disabled:B=!1,readOnly:D=!1,required:E=!1,name:L,id:A,className:F,style:G,...H},J){const K=null!=C&&!1!==C&&""!==C,Q=M??K,U=Q?"danger":w,X=t.useMemo(()=>z.map(e=>({label:e.label??String(e.value),value:e.value})),[z]),Y=t.useMemo(()=>[...z.map(e=>e.label??String(e.value)),...p(R)?[R]:[]],[z,R]);return a(n.Root,{disabled:B,invalid:Q,className:["flex-col align-top",N[b],_?"flex w-full":"inline-flex",F??""].filter(Boolean).join(" "),style:{...j(U,V),...G},...H,children:[T?e(n.Label,{className:[g[b],"font-medium",B?"text-(--neba-disabled-fg)":"text-(--neba-fg)"].join(" "),children:T}):null,a(l.Root,{id:A,name:L,items:X,value:k,defaultValue:O,onValueChange:e=>P?.(e),disabled:B,readOnly:D,required:E,children:[a(l.Trigger,{ref:J,className:[I,o[b],d[b],v[b],f[b],x[y][b],B?c[h]:D?`${m[h]} cursor-default`:u[h]].join(" "),children:[W?e("span",{className:"flex h-[1lh] shrink-0 items-center text-(--neba-muted-fg)",children:W}):null,a("span",{className:"flex min-w-0 flex-1 flex-col",children:[e(l.Value,{className:["w-full truncate text-start","data-[placeholder]:text-(--neba-muted-fg)"].join(" "),placeholder:R}),e(s,{samples:Y})]}),e(l.Icon,{className:["flex h-[1lh] shrink-0 items-center text-(--neba-muted-fg)","[transition:rotate_var(--neba-duration)_var(--neba-ease)]","data-[popup-open]:rotate-180"].join(" "),children:e(i,{})})]}),e(l.Portal,{children:e(l.Positioner,{className:"neba-portal z-50 [outline:none]",sideOffset:6,alignItemWithTrigger:!1,children:e(l.Popup,{className:`${S} ${v[b]} ${d[b]}`,style:j(U,3),children:z.map(t=>a(l.Item,{value:t.value,disabled:t.disabled,className:$,children:[e(l.ItemIndicator,{className:"absolute start-1.5 flex size-4 items-center justify-center",children:e(r,{})}),e(l.ItemText,{className:"truncate",children:t.label??String(t.value)})]},String(t.value)))})})})]}),q?e(n.Description,{className:`${g[b]} text-(--neba-muted-fg)`,children:q}):null,K?e(n.Error,{match:!0,className:`${g[b]} text-(--n-accent)`,children:C}):null]})});
1
+ import{jsx as e,jsxs as a}from"react/jsx-runtime";import*as t from"react";import{Select as l}from"@base-ui/react/select";import{Field as n}from"@base-ui/react/field";import{CheckIcon as r,ChevronIcon as i}from"../../internal/icons.js";import{WidthSizer as s}from"../../internal/sizer.js";import{controlHeightClasses as o,controlTextLeadingClasses as d,disabledClasses as c,fieldReadOnlyClasses as m,fieldRestClasses as u,focusWithinRingClasses as h,gapClasses as f,hasContent as p,iconClasses as b,metaTextClasses as g,paddingXClasses as x,radiusClasses as v,stackGapClasses as j,surfaceClasses as N,surfaceSlots as w,transitionClasses as y}from"../../internal/styles.js";const I=["group relative flex w-full cursor-pointer items-center select-none","[-webkit-tap-highlight-color:transparent] [touch-action:manipulation]",y,"focus-within:[transition-duration:0ms]",h,b].join(" "),S=[N,"max-h-[min(20rem,var(--available-height))] overflow-y-auto overscroll-contain","min-w-[var(--anchor-width)] border bg-(--n-panel-press) p-1","[border-color:var(--n-line)]","[box-shadow:var(--neba-shadow-3),var(--neba-plate-glass)]","[outline:none]"].join(" "),$=["relative flex cursor-pointer items-center gap-2 select-none","rounded-(--neba-radius-xs) py-1.5 pe-2 ps-7",y,"data-[highlighted]:bg-(--n-soft-hover) data-[highlighted]:text-(--n-accent)","data-[selected]:text-(--n-accent) data-[selected]:font-medium","data-[disabled]:cursor-not-allowed data-[disabled]:text-(--neba-disabled-fg)","[outline:none]"].join(" ");export const Select=/*@__PURE__*/t.forwardRef(function({variant:h="outline",size:b="md",color:N="primary",density:y="default",elevation:V=0,items:z,value:k,defaultValue:O,onValueChange:P,placeholder:R,label:T,description:q,error:C,invalid:M,startIcon:W,fullWidth:_=!1,disabled:B=!1,readOnly:D=!1,required:E=!1,name:L,id:A,className:F,style:G,...H},J){const K=null!=C&&!1!==C&&""!==C,Q=M??K,U=Q?"danger":N,X=t.useMemo(()=>z.map(e=>({label:e.label??String(e.value),value:e.value})),[z]),Y=t.useMemo(()=>[...z.map(e=>e.label??String(e.value)),...p(R)?[R]:[]],[z,R]);return a(n.Root,{disabled:B,invalid:Q,className:["flex-col align-top",j[b],_?"flex w-full":"inline-flex",F??""].filter(Boolean).join(" "),style:{...w(U,V),...G},...H,children:[T?e(n.Label,{className:[g[b],"font-medium",B?"text-(--neba-disabled-fg)":"text-(--neba-fg)"].join(" "),children:T}):null,a(l.Root,{id:A,name:L,items:X,value:k,defaultValue:O,onValueChange:e=>P?.(e),disabled:B,readOnly:D,required:E,children:[a(l.Trigger,{ref:J,className:[I,o[b],d[b],v[b],f[b],x[y][b],B?c[h]:D?`${m[h]} cursor-default`:u[h]].join(" "),children:[W?e("span",{className:"flex h-[1lh] shrink-0 items-center text-(--neba-muted-fg)",children:W}):null,a("span",{className:"flex min-w-0 flex-1 flex-col",children:[e(l.Value,{className:["w-full truncate text-start","data-[placeholder]:text-(--neba-muted-fg)"].join(" "),placeholder:R}),e(s,{samples:Y})]}),e(l.Icon,{className:["flex h-[1lh] shrink-0 items-center text-(--neba-muted-fg)","[transition:rotate_var(--neba-duration)_var(--neba-ease)]","data-[popup-open]:rotate-180"].join(" "),children:e(i,{})})]}),e(l.Portal,{children:e(l.Positioner,{className:"neba-portal z-50 [outline:none]",sideOffset:6,alignItemWithTrigger:!1,children:e(l.Popup,{className:`${S} ${v[b]} ${d[b]}`,style:w(U,3),children:z.map(t=>a(l.Item,{value:t.value,disabled:t.disabled,className:$,children:[e(l.ItemIndicator,{className:"absolute start-1.5 flex size-4 items-center justify-center",children:e(r,{})}),e(l.ItemText,{className:"truncate",children:t.label??String(t.value)})]},String(t.value)))})})})]}),q?e(n.Description,{className:`${g[b]} text-(--neba-muted-fg)`,children:q}):null,K?e(n.Error,{match:!0,className:`${g[b]} text-(--n-accent)`,children:C}):null]})});
@@ -1,2 +1,2 @@
1
- export { Select } from './Select';
2
- export type { SelectOption, SelectProps, SelectValue } from './Select';
1
+ export { Select } from './Select.js';
2
+ export type { SelectOption, SelectProps, SelectValue } from './Select.js';
@@ -1 +1 @@
1
- export{Select}from"./Select";
1
+ export{Select}from"./Select.js";
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { NebaElevation, NebaStyleProps } from '../../types';
2
+ import type { NebaElevation, NebaStyleProps } from '../../types.js';
3
3
  /**
4
4
  * Which keyboard the shortcut is being read on.
5
5
  *
@@ -1 +1 @@
1
- import{jsx as n,Fragment as e,jsxs as a}from"react/jsx-runtime";import*as o from"react";import{controlHeightClasses as t,controlSlots as r,controlTextClasses as l,paddingXClasses as s,radiusClasses as m,srOnlyClasses as i,surfaceClasses as c,transitionClasses as d}from"../../internal/styles";const w=n=>({symbol:n,name:n}),u={mod:{mac:{symbol:"⌘",name:"Command"},windows:w("Ctrl"),linux:w("Ctrl")},meta:{mac:{symbol:"⌘",name:"Command"},windows:w("Win"),linux:w("Super")},ctrl:{mac:{symbol:"⌃",name:"Control"},windows:w("Ctrl"),linux:w("Ctrl")},alt:{mac:{symbol:"⌥",name:"Option"},windows:w("Alt"),linux:w("Alt")},shift:{mac:{symbol:"⇧",name:"Shift"},windows:w("Shift"),linux:w("Shift")},enter:{mac:{symbol:"↩",name:"Enter"},windows:w("Enter"),linux:w("Enter")},tab:{mac:{symbol:"⇥",name:"Tab"},windows:w("Tab"),linux:w("Tab")},escape:{mac:{symbol:"⎋",name:"Escape"},windows:w("Esc"),linux:w("Esc")},backspace:{mac:{symbol:"⌫",name:"Backspace"},windows:w("Backspace"),linux:w("Backspace")},delete:{mac:{symbol:"⌦",name:"Delete"},windows:w("Del"),linux:w("Del")},capslock:{mac:{symbol:"⇪",name:"Caps Lock"},windows:w("Caps Lock"),linux:w("Caps Lock")}},p={cmdorctrl:"mod",commandorcontrol:"mod",cmd:"meta",command:"meta",super:"meta",win:"meta",windows:"meta",control:"ctrl",option:"alt",opt:"alt",return:"enter",esc:"escape",del:"delete",caps:"capslock"},b={up:{symbol:"↑",name:"Arrow up"},down:{symbol:"↓",name:"Arrow down"},left:{symbol:"←",name:"Arrow left"},right:{symbol:"→",name:"Arrow right"},arrowup:{symbol:"↑",name:"Arrow up"},arrowdown:{symbol:"↓",name:"Arrow down"},arrowleft:{symbol:"←",name:"Arrow left"},arrowright:{symbol:"→",name:"Arrow right"}};function f(){if("undefined"==typeof navigator)return"windows";const n=navigator.userAgentData,e=`${n?.platform??""} ${navigator.platform??""} ${navigator.userAgent??""}`;return/mac|iphone|ipad|ipod/i.test(e)?"mac":/win/i.test(e)?"windows":"linux"}function y(){return()=>{}}function x(){return"windows"}const g={xs:"xs",sm:"xs",md:"sm",lg:"md",xl:"lg"},h={solid:[c,"text-(--n-on-solid) bg-(--n-fill)","[box-shadow:var(--n-elev),var(--neba-plate-solid)]"].join(" "),outline:[c,"border text-(--n-accent) bg-(--n-panel)","[border-color:var(--n-line)]","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),text:"text-(--n-accent) bg-(--n-soft)"},v={xs:"min-w-5.5",sm:"min-w-6.5",md:"min-w-8",lg:"min-w-10",xl:"min-w-12"};export const Shortcut=o.forwardRef(function({variant:c="outline",size:A="md",color:k="secondary",density:C="compact",elevation:j=0,keys:E,os:S="auto",separator:B,className:N,style:D,...L},T){const $=o.useSyncExternalStore(y,f,x),F="auto"===S?$:S,z=g[A],O=function(n){return Array.isArray(n)?n.map(n=>n.trim()).filter(Boolean):n.split("+").map(n=>n.trim()).filter(Boolean)}(E),R=O.map(n=>function(n,e){const a=n.toLowerCase().replace(/[\s_-]/g,""),o=p[a]??a,t=b[o];if(t)return t;const r=u[o];return r?r[e]:w(1===n.length?n.toUpperCase():n)}(n,F)),U=void 0===B?"mac"===F?null:"+":B,W=["inline-flex shrink-0 items-center justify-center","font-mono font-medium leading-none whitespace-nowrap tabular-nums",t[z],l[z],v[z],s[C][z],m[z],h[c],d].join(" ");return n("span",{ref:T,className:["inline-flex max-w-full items-center gap-1 align-middle",N??""].filter(Boolean).join(" "),style:{...r(k,j,c),...D},...L,children:R.map((t,r)=>a(o.Fragment,{children:[r>0&&null!==U?n("span",{"aria-hidden":"true",className:"text-(--neba-muted-fg)",children:U}):null,n("kbd",{className:W,children:t.symbol===t.name?t.symbol:a(e,{children:[n("span",{"aria-hidden":"true",children:t.symbol}),n("span",{className:i,children:t.name})]})})]},r))})});
1
+ import{jsx as n,Fragment as e,jsxs as a}from"react/jsx-runtime";import*as o from"react";import{controlHeightClasses as t,controlSlots as r,controlTextClasses as l,paddingXClasses as s,radiusClasses as m,srOnlyClasses as i,surfaceClasses as c,transitionClasses as d}from"../../internal/styles.js";const w=n=>({symbol:n,name:n}),u={mod:{mac:{symbol:"⌘",name:"Command"},windows:w("Ctrl"),linux:w("Ctrl")},meta:{mac:{symbol:"⌘",name:"Command"},windows:w("Win"),linux:w("Super")},ctrl:{mac:{symbol:"⌃",name:"Control"},windows:w("Ctrl"),linux:w("Ctrl")},alt:{mac:{symbol:"⌥",name:"Option"},windows:w("Alt"),linux:w("Alt")},shift:{mac:{symbol:"⇧",name:"Shift"},windows:w("Shift"),linux:w("Shift")},enter:{mac:{symbol:"↩",name:"Enter"},windows:w("Enter"),linux:w("Enter")},tab:{mac:{symbol:"⇥",name:"Tab"},windows:w("Tab"),linux:w("Tab")},escape:{mac:{symbol:"⎋",name:"Escape"},windows:w("Esc"),linux:w("Esc")},backspace:{mac:{symbol:"⌫",name:"Backspace"},windows:w("Backspace"),linux:w("Backspace")},delete:{mac:{symbol:"⌦",name:"Delete"},windows:w("Del"),linux:w("Del")},capslock:{mac:{symbol:"⇪",name:"Caps Lock"},windows:w("Caps Lock"),linux:w("Caps Lock")}},p={cmdorctrl:"mod",commandorcontrol:"mod",cmd:"meta",command:"meta",super:"meta",win:"meta",windows:"meta",control:"ctrl",option:"alt",opt:"alt",return:"enter",esc:"escape",del:"delete",caps:"capslock"},b={up:{symbol:"↑",name:"Arrow up"},down:{symbol:"↓",name:"Arrow down"},left:{symbol:"←",name:"Arrow left"},right:{symbol:"→",name:"Arrow right"},arrowup:{symbol:"↑",name:"Arrow up"},arrowdown:{symbol:"↓",name:"Arrow down"},arrowleft:{symbol:"←",name:"Arrow left"},arrowright:{symbol:"→",name:"Arrow right"}};function f(){if("undefined"==typeof navigator)return"windows";const n=navigator.userAgentData,e=`${n?.platform??""} ${navigator.platform??""} ${navigator.userAgent??""}`;return/mac|iphone|ipad|ipod/i.test(e)?"mac":/win/i.test(e)?"windows":"linux"}function y(){return()=>{}}function x(){return"windows"}const g={xs:"xs",sm:"xs",md:"sm",lg:"md",xl:"lg"},h={solid:[c,"text-(--n-on-solid) bg-(--n-fill)","[box-shadow:var(--n-elev),var(--neba-plate-solid)]"].join(" "),outline:[c,"border text-(--n-accent) bg-(--n-panel)","[border-color:var(--n-line)]","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),text:"text-(--n-accent) bg-(--n-soft)"},v={xs:"min-w-5.5",sm:"min-w-6.5",md:"min-w-8",lg:"min-w-10",xl:"min-w-12"};export const Shortcut=/*@__PURE__*/o.forwardRef(function({variant:c="outline",size:A="md",color:k="secondary",density:C="compact",elevation:j=0,keys:E,os:S="auto",separator:B,className:N,style:D,...L},T){const $=o.useSyncExternalStore(y,f,x),F="auto"===S?$:S,z=g[A],O=function(n){return Array.isArray(n)?n.map(n=>n.trim()).filter(Boolean):n.split("+").map(n=>n.trim()).filter(Boolean)}(E),R=O.map(n=>function(n,e){const a=n.toLowerCase().replace(/[\s_-]/g,""),o=p[a]??a,t=b[o];if(t)return t;const r=u[o];return r?r[e]:w(1===n.length?n.toUpperCase():n)}(n,F)),U=void 0===B?"mac"===F?null:"+":B,W=["inline-flex shrink-0 items-center justify-center","font-mono font-medium leading-none whitespace-nowrap tabular-nums",t[z],l[z],v[z],s[C][z],m[z],h[c],d].join(" ");return n("span",{ref:T,className:["inline-flex max-w-full items-center gap-1 align-middle",N??""].filter(Boolean).join(" "),style:{...r(k,j,c),...D},...L,children:R.map((t,r)=>a(o.Fragment,{children:[r>0&&null!==U?n("span",{"aria-hidden":"true",className:"text-(--neba-muted-fg)",children:U}):null,n("kbd",{className:W,children:t.symbol===t.name?t.symbol:a(e,{children:[n("span",{"aria-hidden":"true",children:t.symbol}),n("span",{className:i,children:t.name})]})})]},r))})});
@@ -1,2 +1,2 @@
1
- export { Shortcut } from './Shortcut';
2
- export type { ShortcutOS, ShortcutProps } from './Shortcut';
1
+ export { Shortcut } from './Shortcut.js';
2
+ export type { ShortcutOS, ShortcutProps } from './Shortcut.js';
@@ -1 +1 @@
1
- export{Shortcut}from"./Shortcut";
1
+ export{Shortcut}from"./Shortcut.js";
@@ -0,0 +1,144 @@
1
+ import * as React from 'react';
2
+ import type { PageLayoutCollapse, SidebarSide } from '../../internal/page-layout.js';
3
+ import type { NebaColor, NebaDensity, NebaElevation, NebaSize, NebaVariant } from '../../types.js';
4
+ export type { SidebarSide } from '../../internal/page-layout.js';
5
+ export interface SidebarProps extends Omit<React.ComponentPropsWithoutRef<'aside'>, 'color' | 'title'> {
6
+ /**
7
+ * Which end of the band it takes. Logical rather than physical — `start` is
8
+ * the left of an English page and the right of an Arabic one — because a
9
+ * navigation rail is beside the text it belongs to in every writing
10
+ * direction.
11
+ *
12
+ * Inside a [PageLayout] this is already decided by which slot the sidebar was
13
+ * handed to, and setting it again is only a way of disagreeing with the
14
+ * layout.
15
+ * @default 'start'
16
+ */
17
+ side?: SidebarSide;
18
+ /**
19
+ * How wide the column is — a number in pixels or any CSS length. Left out, it
20
+ * is the width `size` implies.
21
+ *
22
+ * With `resizable` it is only the width the sidebar *starts* at: dragging
23
+ * writes over it, and the caller hears about it through `onResize`.
24
+ */
25
+ width?: number | string;
26
+ /** How narrow it may be dragged. @default 160 */
27
+ minWidth?: number | string;
28
+ /** And how wide. @default 480 */
29
+ maxWidth?: number | string;
30
+ /**
31
+ * Lets the reader drag the inner edge to change the column's width.
32
+ *
33
+ * Off by default. A sidebar that can be resized is a sidebar whose width is
34
+ * the reader's to remember, which means a caller who turns this on usually
35
+ * also wants to store what `onResizeEnd` reports.
36
+ * @default false
37
+ */
38
+ resizable?: boolean;
39
+ /** Fires with the width in pixels while the edge is being dragged. */
40
+ onResize?: (width: number) => void;
41
+ /** Fires once, with the same number, when it is let go. */
42
+ onResizeEnd?: (width: number) => void;
43
+ /**
44
+ * The window width below which the sidebar stops being a column and becomes a
45
+ * drawer that is opened — with a [SidebarTrigger] somewhere on the page as
46
+ * the way to open it. `none` keeps it a column at every width.
47
+ *
48
+ * Defaults to the [PageLayout]'s own `collapseBelow`, and to `none` outside
49
+ * one: a sidebar that collapsed with nothing on the page able to bring it
50
+ * back would be a sidebar the reader has lost.
51
+ */
52
+ collapseBelow?: PageLayoutCollapse;
53
+ /**
54
+ * Whether the drawer is open. Only meaningful once the sidebar has collapsed;
55
+ * a column is not opened, it is there.
56
+ *
57
+ * Inside a [PageLayout] the layout owns this — it is what a SidebarTrigger
58
+ * anywhere on the page talks to — so control it there rather than here.
59
+ * `onOpenChange` still fires either way.
60
+ */
61
+ open?: boolean;
62
+ /** Which state it starts in, for an uncontrolled standalone sidebar. @default false */
63
+ defaultOpen?: boolean;
64
+ onOpenChange?: (open: boolean) => void;
65
+ /**
66
+ * Whether the column holds its place while the page scrolls past it.
67
+ *
68
+ * On by default, and it costs nothing when it is not needed: with the page
69
+ * scrolling it becomes a `sticky` column as tall as what is left of the
70
+ * window under the header, and with only the content scrolling it is already
71
+ * as tall as the layout and this changes nothing.
72
+ * @default true
73
+ */
74
+ sticky?: boolean;
75
+ /**
76
+ * The heading, drawn only while the sidebar is a drawer. A column has the
77
+ * page around it to say what it is; a panel that has covered the page does
78
+ * not.
79
+ */
80
+ title?: React.ReactNode;
81
+ /**
82
+ * Weight of the sheet, said the way a *container* says it: the panel is never
83
+ * dyed, because what is on it arrives with colours of its own.
84
+ * @default 'outline'
85
+ */
86
+ variant?: NebaVariant;
87
+ /** The panel's scale — its default width and the air around its content. @default 'md' */
88
+ size?: NebaSize;
89
+ /** @default 'primary' */
90
+ color?: NebaColor;
91
+ /** @default 'default' */
92
+ density?: NebaDensity;
93
+ /** Drop shadow depth. `0` (the default) is flat. @default 0 */
94
+ elevation?: NebaElevation;
95
+ /**
96
+ * Draws a hairline down the inner edge — the one facing the content. The
97
+ * outer edge is against the window, where there is nothing on the other side
98
+ * to be separated from.
99
+ * @default true
100
+ */
101
+ divider?: boolean;
102
+ /** The gutter and the air above and below the content. @default true */
103
+ padded?: boolean;
104
+ /**
105
+ * The name the region is announced by. Every `<aside>` on a page should have
106
+ * one, and a page with two sidebars *must*, or a screen reader offers two
107
+ * regions called "complementary".
108
+ *
109
+ * Defaults to the `locale`'s word for "Sidebar".
110
+ */
111
+ label?: string;
112
+ /**
113
+ * Which language the sidebar's own words are in — a BCP 47 tag such as `ko`,
114
+ * `pt-BR` or `zh-Hant`. Unsupported tags fall back to English. Inherited from
115
+ * the [PageLayout] when there is one.
116
+ */
117
+ locale?: string;
118
+ /** Everything in it: a nav, a filter panel, a table of contents. */
119
+ children?: React.ReactNode;
120
+ }
121
+ /**
122
+ * A column beside the page's content, and a drawer once the window is too
123
+ * narrow to hold one.
124
+ *
125
+ * Two presentations of one panel, exactly as [Drawer] is: above `collapseBelow`
126
+ * it is an `<aside>` in the layout that the content is laid out around, and
127
+ * below it the same children are a drawer over a scrim with a focus trap, an
128
+ * Escape and a way back to the trigger. They are one component because they are
129
+ * one thing — a caller should not have to swap components at a breakpoint — and
130
+ * because the children only exist once either way, so nothing inside is
131
+ * rendered twice into the document for a screen reader to read twice.
132
+ *
133
+ * Which of the two is showing is a media query, and it is answered in CSS for
134
+ * the first paint and in JavaScript from then on. That split is deliberate: the
135
+ * markup a server sends is the column, so a narrow screen would draw a full
136
+ * width sidebar and throw it away a moment later — the class that hides it
137
+ * below the breakpoint is what stops that, and `matchMedia` is what decides,
138
+ * once there is a window to ask, that the drawer should exist at all.
139
+ *
140
+ * A real `<aside>`, which is the `complementary` landmark: the region a screen
141
+ * reader offers as "related to the page but not the page", and what a search
142
+ * engine reads as navigation chrome rather than as the article.
143
+ */
144
+ export declare const Sidebar: React.ForwardRefExoticComponent<SidebarProps & React.RefAttributes<HTMLElement>>;
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as r from"react";import{boxPaddingXClasses as n,boxPaddingYClasses as o}from"../box/Box.js";import{Drawer as s}from"../drawer/Drawer.js";import{layoutMessages as i,useMessages as a}from"../../internal/i18n.js";import{drawerSide as l,expandedOnlyClasses as d,PageLayoutContext as c,SidebarSideContext as u,useCollapsed as p}from"../../internal/page-layout.js";import{cx as m,surfaceClasses as f,surfaceSlots as b,toLength as v,transitionClasses as y}from"../../internal/styles.js";const g={xs:"11rem",sm:"13rem",md:"16rem",lg:"18rem",xl:"21rem"},w={solid:[f,"text-(--neba-fg) bg-(--n-panel-press)","[box-shadow:var(--n-elev),var(--neba-plate-solid)]"].join(" "),outline:[f,"text-(--neba-fg) bg-(--n-panel)","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),text:"text-(--neba-fg) bg-transparent"};function x(e,t){if(null==e)return t;if("number"==typeof e)return e;const r=/^\s*(-?[\d.]+)\s*(px|rem|em|%)\s*$/.exec(e);if(!r)return t;const n=Number(r[1]);if(Number.isNaN(n))return t;switch(r[2]){case"px":return n;case"%":return"undefined"==typeof window?t:window.innerWidth*n/100;default:return n*parseFloat(("undefined"==typeof document?"":getComputedStyle(document.documentElement).fontSize)||"16")}}export const Sidebar=/*@__PURE__*/r.forwardRef(function({side:f,width:h,minWidth:k=160,maxWidth:C=480,resizable:j=!1,onResize:z,onResizeEnd:E,collapseBelow:N,open:R,defaultOpen:L=!1,onOpenChange:S,sticky:P=!0,title:B,variant:D="outline",size:O="md",color:A="primary",density:M="default",elevation:W=0,divider:I=!0,padded:T=!0,label:X,locale:$,className:_,style:F,children:K,...V},q){const G=r.useContext(c),H=r.useContext(u),J=f??H??"start",Q=$??G.locale,U=a(i,Q),Y=N??(G.present?G.collapseBelow:"none"),Z=p(Y),[ee,te]=r.useState(L),re=void 0!==R,ne=re?R:G.present?G.open[J]:ee,oe=e=>{re||(G.present?G.setOpen(J,e):te(e)),S?.(e)},se=v(h)??g[O],ie=r.useRef(null),ae=r.useCallback(e=>{ie.current=e,"function"==typeof q?q(e):q&&(q.current=e)},[q]),le=r.useRef(null);r.useEffect(()=>()=>le.current?.(),[]);const de=e=>{const t=ie.current;if(!t)return e;const r=Math.min(x(C,480),Math.max(x(k,160),Math.round(e)));return t.style.setProperty("--n-sidebar-w",`${r}px`),r},ce=e("div",{className:m("min-h-0 flex-1 overflow-y-auto overscroll-contain",T?m(n[M][O],o[M][O]):""),children:K});return Z?e(s,{side:l(J),mode:"overlay",open:ne,onOpenChange:oe,title:B,size:O,color:A,density:M,locale:Q,closeLabel:U.closeSidebar,extent:void 0===h?void 0:se,"aria-label":B?void 0:X??U.sidebar,className:_,style:F,children:K}):t("aside",{ref:ae,"aria-label":X??U.sidebar,className:m("relative flex min-w-0 shrink-0 flex-col","w-(--n-sidebar-w)",w[D],I?m("start"===J?"border-e":"border-s","[border-color:var(--n-line)]"):"","content"===G.scroll?"h-full":P?m("self-start","sticky [top:var(--n-layout-header,0px)]","[height:calc(100dvh-var(--n-layout-header,0px)-var(--n-layout-footer,0px))]"):"",d[Y],y,_),style:{...b(A,W),"--n-sidebar-w":se,...F},...V,children:[ce,j?e("div",{role:"separator","aria-orientation":"vertical","aria-label":U.resizeSidebar,tabIndex:0,className:m("absolute inset-y-0 z-1 w-2 cursor-col-resize","start"===J?"end-0 -me-1":"start-0 -ms-1","bg-transparent hover:bg-(--n-soft) data-[dragging]:bg-(--n-soft)",y,"[outline:none] focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-0"),onPointerDown:e=>{const t=ie.current;if(!t||0!==e.button)return;const r=e.currentTarget;r.setPointerCapture(e.pointerId),r.dataset.dragging="true";const n=document.body.style.getPropertyValue("-webkit-user-select");document.body.style.setProperty("-webkit-user-select","none");const o=e.clientX,s=t.getBoundingClientRect().width,i="rtl"===getComputedStyle(t).direction,a="start"===J===i?-1:1;let l=s;const d=e=>{l=de(s+(e.clientX-o)*a),z?.(l)},c=()=>{le.current=null,r.removeEventListener("pointermove",d),r.removeEventListener("pointerup",u),r.removeEventListener("pointercancel",u),delete r.dataset.dragging,n?document.body.style.setProperty("-webkit-user-select",n):document.body.style.removeProperty("-webkit-user-select")},u=()=>{c(),E?.(l)};le.current=c,r.addEventListener("pointermove",d),r.addEventListener("pointerup",u),r.addEventListener("pointercancel",u)},onKeyDown:e=>{if("ArrowLeft"!==e.key&&"ArrowRight"!==e.key)return;e.preventDefault();const t="rtl"===getComputedStyle(e.currentTarget).direction,r="start"===J===t?-1:1;(e=>{const t=ie.current;if(!t)return;const r=de(t.getBoundingClientRect().width+e);z?.(r),E?.(r)})(("ArrowRight"===e.key?16:-16)*r)}}):null]})});
@@ -0,0 +1,36 @@
1
+ import * as React from 'react';
2
+ import type { IconButtonProps } from '../icon-button/IconButton.js';
3
+ import type { PageLayoutCollapse, SidebarSide } from '../../internal/page-layout.js';
4
+ export interface SidebarTriggerProps extends Omit<IconButtonProps, 'icon' | 'label'> {
5
+ /** Which of the layout's two sidebars it opens. @default 'start' */
6
+ side?: SidebarSide;
7
+ /**
8
+ * The width below which the button appears — the same one the sidebar
9
+ * collapses at, since the button exists exactly while the sidebar does not.
10
+ * Inherited from the [PageLayout], which is where it should be set.
11
+ */
12
+ collapseBelow?: PageLayoutCollapse;
13
+ /** The glyph. A hamburger, drawn here, unless something else is given. */
14
+ icon?: React.ReactNode;
15
+ /** What it does, in words. Defaults to the `locale`'s "Open sidebar" / "Close sidebar". */
16
+ label?: string;
17
+ /** Which language that word is in. Inherited from the [PageLayout]. */
18
+ locale?: string;
19
+ }
20
+ /**
21
+ * The button that brings back a [Sidebar] the window has become too narrow to
22
+ * hold.
23
+ *
24
+ * It is drawn only while that is true, and the "while" is a media query rather
25
+ * than a piece of state: the button carries a class that hides it at and above
26
+ * the breakpoint. That matters more than it looks — a trigger whose presence
27
+ * depended on `matchMedia` would be absent from the markup a server sends and
28
+ * would pop into the header a moment after the page arrived, on every phone,
29
+ * every time.
30
+ *
31
+ * Put it in a [Header]'s `brand` slot, ahead of the logo, which is where thirty
32
+ * years of hamburgers have taught readers to look for it. It has to be inside a
33
+ * [PageLayout] to have something to open; outside one there is no sidebar it
34
+ * could be talking about, and it renders nothing.
35
+ */
36
+ export declare const SidebarTrigger: React.ForwardRefExoticComponent<SidebarTriggerProps & React.RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1 @@
1
+ import{jsx as e}from"react/jsx-runtime";import*as r from"react";import{IconButton as o}from"../icon-button/IconButton.js";import{layoutMessages as t,useMessages as n}from"../../internal/i18n.js";import{collapsedOnlyClasses as a,PageLayoutContext as i}from"../../internal/page-layout.js";import{cx as l}from"../../internal/styles.js";function s(){return e("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2","aria-hidden":"true",children:e("path",{d:"M4 7h16M4 12h16M4 17h16",strokeLinecap:"round"})})}export const SidebarTrigger=/*@__PURE__*/r.forwardRef(function({side:c="start",collapseBelow:p,icon:m,label:u,locale:d,variant:f="text",className:h,onClick:x,...b},j){const k=r.useContext(i),g=d??k.locale,v=n(t,g);if(!k.present)return null;const w=p??k.collapseBelow,B=k.open[c];return e(o,{ref:j,variant:f,icon:m??e(s,{}),label:u??(B?v.closeSidebar:v.openSidebar),"aria-expanded":B,className:l(a[w],h),onClick:e=>{k.setOpen(c,!B),x?.(e)},...b})});
@@ -0,0 +1,4 @@
1
+ export { Sidebar } from './Sidebar.js';
2
+ export type { SidebarProps, SidebarSide } from './Sidebar.js';
3
+ export { SidebarTrigger } from './SidebarTrigger.js';
4
+ export type { SidebarTriggerProps } from './SidebarTrigger.js';
@@ -0,0 +1 @@
1
+ export{Sidebar}from"./Sidebar.js";export{SidebarTrigger}from"./SidebarTrigger.js";
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { useRender } from '@base-ui/react/use-render';
3
- import type { NebaColor, NebaSize } from '../../types';
3
+ import type { NebaColor, NebaSize } from '../../types.js';
4
4
  /**
5
5
  * What the placeholder is standing in for.
6
6
  *
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import*as r from"react";import{useRender as l}from"@base-ui/react/use-render";import{controlHeightClasses as n,controlSquareClasses as d,surfaceSlots as o}from"../../internal/styles";const a={xs:"h-[0.6875rem]",sm:"h-[0.75rem]",md:"h-[0.8125rem]",lg:"h-[0.9375rem]",xl:"h-[1.0625rem]"},s={xs:"gap-[0.3125rem]",sm:"gap-[0.375rem]",md:"gap-[0.5625rem]",lg:"gap-[0.5625rem]",xl:"gap-[0.6875rem]"},m={xs:"rounded-[0.3125rem]",sm:"rounded-[0.3125rem]",md:"rounded-[0.375rem]",lg:"rounded-[0.4375rem]",xl:"rounded-[0.5rem]"},i={xs:"h-12",sm:"h-16",md:"h-20",lg:"h-28",xl:"h-36"},t={xs:"rounded-(--neba-radius-xs)",sm:"rounded-(--neba-radius-sm)",md:"rounded-(--neba-radius-md)",lg:"rounded-(--neba-radius-lg)",xl:"rounded-(--neba-radius-xl)"},u="relative overflow-hidden bg-(--n-soft-hover)";function f(e){if(void 0!==e)return"number"==typeof e?`${e}px`:e}export const Skeleton=r.forwardRef(function({shape:r="line",lines:h=1,size:c="md",color:x="secondary",width:g,height:p,animated:b=!0,label:w,render:y,className:$,style:v,...j},k){const N=b?"neba-skeleton":"",B="circle"===r?`rounded-full ${n[c]} ${d[c]} shrink-0`:"rect"===r?`w-full ${t[c]} ${void 0===p?i[c]:""}`:`w-full ${m[c]} ${a[c]}`,z=w?{role:"status","aria-busy":!0,"aria-label":w}:{"aria-hidden":!0},A="line"===r&&h>1;return l({render:y,ref:k,props:{className:(A?["flex w-full flex-col",s[c],$??""]:[u,N,B,$??""]).filter(Boolean).join(" "),style:{...o(x,0),width:f(g),height:f(p),...v},...z,...A?{children:Array.from({length:h},(r,l)=>e("div",{className:[u,N,m[c],a[c],l===h-1?"w-3/5":"w-full"].filter(Boolean).join(" ")},l))}:null,...j}})});
1
+ import{jsx as e}from"react/jsx-runtime";import*as r from"react";import{useRender as l}from"@base-ui/react/use-render";import{controlHeightClasses as n,controlSquareClasses as d,surfaceSlots as o}from"../../internal/styles.js";const s={xs:"h-[0.6875rem]",sm:"h-[0.75rem]",md:"h-[0.8125rem]",lg:"h-[0.9375rem]",xl:"h-[1.0625rem]"},a={xs:"gap-[0.3125rem]",sm:"gap-[0.375rem]",md:"gap-[0.5625rem]",lg:"gap-[0.5625rem]",xl:"gap-[0.6875rem]"},m={xs:"rounded-[0.3125rem]",sm:"rounded-[0.3125rem]",md:"rounded-[0.375rem]",lg:"rounded-[0.4375rem]",xl:"rounded-[0.5rem]"},i={xs:"h-12",sm:"h-16",md:"h-20",lg:"h-28",xl:"h-36"},t={xs:"rounded-(--neba-radius-xs)",sm:"rounded-(--neba-radius-sm)",md:"rounded-(--neba-radius-md)",lg:"rounded-(--neba-radius-lg)",xl:"rounded-(--neba-radius-xl)"},u="relative overflow-hidden bg-(--n-soft-hover)";function f(e){if(void 0!==e)return"number"==typeof e?`${e}px`:e}export const Skeleton=/*@__PURE__*/r.forwardRef(function({shape:r="line",lines:h=1,size:c="md",color:x="secondary",width:g,height:p,animated:b=!0,label:w,render:y,className:$,style:v,...j},k){const N=b?"neba-skeleton":"",B="circle"===r?`rounded-full ${n[c]} ${d[c]} shrink-0`:"rect"===r?`w-full ${t[c]} ${void 0===p?i[c]:""}`:`w-full ${m[c]} ${s[c]}`,z=w?{role:"status","aria-busy":!0,"aria-label":w}:{"aria-hidden":!0},A="line"===r&&h>1;return l({render:y,ref:k,props:{className:(A?["flex w-full flex-col",a[c],$??""]:[u,N,B,$??""]).filter(Boolean).join(" "),style:{...o(x,0),width:f(g),height:f(p),...v},...z,...A?{children:Array.from({length:h},(r,l)=>e("div",{className:[u,N,m[c],s[c],l===h-1?"w-3/5":"w-full"].filter(Boolean).join(" ")},l))}:null,...j}})});
@@ -1,2 +1,2 @@
1
- export { Skeleton } from './Skeleton';
2
- export type { NebaSkeletonShape, SkeletonProps } from './Skeleton';
1
+ export { Skeleton } from './Skeleton.js';
2
+ export type { NebaSkeletonShape, SkeletonProps } from './Skeleton.js';
@@ -1 +1 @@
1
- export{Skeleton}from"./Skeleton";
1
+ export{Skeleton}from"./Skeleton.js";
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { Slider as BaseUISlider } from '@base-ui/react/slider';
3
- import type { NebaColor, NebaOrientation, NebaSize } from '../../types';
3
+ import type { NebaColor, NebaOrientation, NebaSize } from '../../types.js';
4
4
  type BaseSliderProps = Omit<React.ComponentPropsWithoutRef<typeof BaseUISlider.Root>, 'className' | 'style' | 'render' | 'children' | 'orientation'>;
5
5
  export interface SliderProps extends BaseSliderProps {
6
6
  /** @default 'md' */
@@ -1 +1 @@
1
- import{jsx as e,jsxs as l}from"react/jsx-runtime";import*as a from"react";import{Slider as r}from"@base-ui/react/slider";import{metaTextClasses as n,surfaceClasses as s,transitionClasses as o}from"../../internal/styles";const t={xs:"h-1",sm:"h-1.5",md:"h-1.5",lg:"h-2",xl:"h-2.5"},i={xs:"w-1",sm:"w-1.5",md:"w-1.5",lg:"w-2",xl:"w-2.5"},c={xs:"size-3",sm:"size-3.5",md:"size-4",lg:"size-5",xl:"size-6"},d={xs:"h-4",sm:"h-4.5",md:"h-5",lg:"h-6",xl:"h-7"},f={xs:"w-4",sm:"w-4.5",md:"w-5",lg:"w-6",xl:"w-7"},u="rounded-full bg-(--n-soft)",m=`rounded-full bg-(--n-fill) ${o}`,h=["rounded-full border bg-(--neba-surface)",s,"[border-color:var(--n-line-hover)]","[box-shadow:var(--neba-shadow-1),var(--neba-plate-glass)]","cursor-grab select-none active:cursor-grabbing",o,"hover:[box-shadow:var(--neba-shadow-2),0_0_0_4px_var(--n-soft)]","focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-2","data-[dragging]:[box-shadow:var(--neba-shadow-1),0_0_0_6px_var(--n-soft-hover)]"].join(" ");export const Slider=a.forwardRef(function({size:a="md",color:s="primary",orientation:o="horizontal",label:b,description:x,showValue:v=!1,disabled:g=!1,className:w,style:p,...$},_){const y="vertical"===o,N={"--n-fill":`var(--neba-${s}-fill)`,"--n-accent":`var(--neba-${s}-accent)`,"--n-soft":`var(--neba-${s}-soft)`,"--n-soft-hover":`var(--neba-${s}-soft-hover)`,"--n-line-hover":`var(--neba-${s}-line-hover)`,"--n-ring":`var(--neba-${s}-ring)`},j=$.value??$.defaultValue,z=Array.isArray(j)?j.length:1;return l(r.Root,{ref:_,orientation:o,disabled:g,className:["flex",y?"w-fit flex-col items-center gap-2":"w-full flex-col gap-1.5",g?"[filter:saturate(0.25)] opacity-70 [&_*]:cursor-not-allowed":"",w??""].filter(Boolean).join(" "),style:{...N,...p},...$,children:[b||v?l("div",{className:`flex w-full items-baseline gap-2 ${n[a]}`,children:[b?e(r.Label,{className:g?"font-medium text-(--neba-disabled-fg)":"font-medium text-(--neba-fg)",children:b}):null,v?e(r.Value,{className:"ms-auto tabular-nums text-(--neba-muted-fg)",children:"function"==typeof v?v:null}):null]}):null,e(r.Control,{className:["flex touch-none select-none items-center justify-center",y?`${f[a]} h-40 flex-col`:`w-full ${d[a]}`].join(" "),children:l(r.Track,{className:[u,y?`${i[a]} h-full`:`${t[a]} w-full`].join(" "),children:[e(r.Indicator,{className:m}),Array.from({length:z},(l,n)=>e(r.Thumb,{index:n,className:`${h} ${c[a]}`},n))]})}),x?e("div",{className:`${n[a]} text-(--neba-muted-fg)`,children:x}):null]})});
1
+ import{jsx as e,jsxs as l}from"react/jsx-runtime";import*as a from"react";import{Slider as r}from"@base-ui/react/slider";import{metaTextClasses as n,surfaceClasses as s,transitionClasses as o}from"../../internal/styles.js";const t={xs:"h-1",sm:"h-1.5",md:"h-1.5",lg:"h-2",xl:"h-2.5"},i={xs:"w-1",sm:"w-1.5",md:"w-1.5",lg:"w-2",xl:"w-2.5"},c={xs:"size-3",sm:"size-3.5",md:"size-4",lg:"size-5",xl:"size-6"},d={xs:"h-4",sm:"h-4.5",md:"h-5",lg:"h-6",xl:"h-7"},f={xs:"w-4",sm:"w-4.5",md:"w-5",lg:"w-6",xl:"w-7"},u="rounded-full bg-(--n-soft)",m=`rounded-full bg-(--n-fill) ${o}`,h=["rounded-full border bg-(--neba-surface)",s,"[border-color:var(--n-line-hover)]","[box-shadow:var(--neba-shadow-1),var(--neba-plate-glass)]","cursor-grab select-none active:cursor-grabbing",o,"hover:[box-shadow:var(--neba-shadow-2),0_0_0_4px_var(--n-soft)]","focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-2","data-[dragging]:[box-shadow:var(--neba-shadow-1),0_0_0_6px_var(--n-soft-hover)]"].join(" ");export const Slider=/*@__PURE__*/a.forwardRef(function({size:a="md",color:s="primary",orientation:o="horizontal",label:b,description:x,showValue:v=!1,disabled:g=!1,className:w,style:p,...$},_){const y="vertical"===o,N={"--n-fill":`var(--neba-${s}-fill)`,"--n-accent":`var(--neba-${s}-accent)`,"--n-soft":`var(--neba-${s}-soft)`,"--n-soft-hover":`var(--neba-${s}-soft-hover)`,"--n-line-hover":`var(--neba-${s}-line-hover)`,"--n-ring":`var(--neba-${s}-ring)`},j=$.value??$.defaultValue,z=Array.isArray(j)?j.length:1;return l(r.Root,{ref:_,orientation:o,disabled:g,className:["flex",y?"w-fit flex-col items-center gap-2":"w-full flex-col gap-1.5",g?"[filter:saturate(0.25)] opacity-70 [&_*]:cursor-not-allowed":"",w??""].filter(Boolean).join(" "),style:{...N,...p},...$,children:[b||v?l("div",{className:`flex w-full items-baseline gap-2 ${n[a]}`,children:[b?e(r.Label,{className:g?"font-medium text-(--neba-disabled-fg)":"font-medium text-(--neba-fg)",children:b}):null,v?e(r.Value,{className:"ms-auto tabular-nums text-(--neba-muted-fg)",children:"function"==typeof v?v:null}):null]}):null,e(r.Control,{className:["flex touch-none select-none items-center justify-center",y?`${f[a]} h-40 flex-col`:`w-full ${d[a]}`].join(" "),children:l(r.Track,{className:[u,y?`${i[a]} h-full`:`${t[a]} w-full`].join(" "),children:[e(r.Indicator,{className:m}),Array.from({length:z},(l,n)=>e(r.Thumb,{index:n,className:`${h} ${c[a]}`},n))]})}),x?e("div",{className:`${n[a]} text-(--neba-muted-fg)`,children:x}):null]})});
@@ -1,2 +1,2 @@
1
- export { Slider } from './Slider';
2
- export type { SliderProps } from './Slider';
1
+ export { Slider } from './Slider.js';
2
+ export type { SliderProps } from './Slider.js';
@@ -1 +1 @@
1
- export{Slider}from"./Slider";
1
+ export{Slider}from"./Slider.js";
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { NebaChartCurve, NebaChartDatum, NebaColor, NebaSize } from '../../types';
2
+ import type { NebaChartCurve, NebaChartDatum, NebaColor, NebaSize } from '../../types.js';
3
3
  export interface SparklineProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'color' | 'children'> {
4
4
  /** The values. `null` is a gap, exactly as it is on every other chart. */
5
5
  data: readonly NebaChartDatum[];
@@ -1 +1 @@
1
- import{jsx as a,jsxs as e,Fragment as l}from"react/jsx-runtime";import*as r from"react";import{areaPath as t,barMaxThickness as n,barPath as i,barRadius as o,extentOf as s,lineWidths as h,markerRadii as m,markGap as c,resolveColor as u,sparklineHeights as d,toValue as p}from"../../internal/chart";import{useMeasuredWidth as f}from"../../internal/chart-frame";import{cx as x,srOnlyClasses as v}from"../../internal/styles";import{linePath as b}from"../../internal/chart";export const Sparkline=r.forwardRef(function({data:g,shape:M="line",curve:k="linear",size:y="md",color:w,endDot:$=!1,baseline:j,min:N,max:W,width:C,label:L,className:R,style:z,...B},D){const F=r.useRef(null),G=f(F),I=r.useId().replace(/:/g,""),S=r.useMemo(()=>g.map(p),[g]),q=d[y],A=h[y],E=m[y],H=s([S],!1),J=N??(H?Math.min(H.min,j??H.min):0),K=(W??(H?Math.max(H.max,j??H.max):1))-J||1,O="number"==typeof C?C:G,P=u(w??"var(--neba-chart-1)"),Q="bar"===M?0:A/2+($?E:0),T=Q,U=Math.max(1,q-2*Q),V=a=>T+(1-(a-J)/K)*U,X=S.length>1?O/(S.length-1):O,Y=S.map((a,e)=>null===a.value?null:{x:e*X,y:V(a.value)}),Z=(()=>{for(let a=S.length-1;a>=0;a--)if(null!==S[a].value)return a;return-1})(),_=Math.min(n[y]/2,Math.max(1,O/Math.max(1,S.length)-c));return e("div",{ref:D,className:x("relative block",R??void 0),style:{width:C??"100%",height:q,...z},...B,children:[a("div",{ref:F,className:"absolute inset-0",children:O>0&&S.length>0?e("svg",{width:O,height:q,viewBox:`0 0 ${O} ${q}`,role:L?"img":"presentation","aria-label":L,"aria-hidden":!L||void 0,className:"block overflow-visible",children:["area"===M?e(l,{children:[a("defs",{children:e("linearGradient",{id:`${I}-fill`,x1:"0",y1:"0",x2:"0",y2:"1",children:[a("stop",{offset:"0%",stopColor:`color-mix(in oklab, ${P} 32%, transparent)`}),a("stop",{offset:"100%",stopColor:`color-mix(in oklab, ${P} 2%, transparent)`})]})}),a("path",{d:t(Y,q,k),fill:`url(#${I}-fill)`})]}):null,void 0!==j?a("line",{x1:0,x2:O,y1:V(j),y2:V(j),stroke:"var(--neba-chart-baseline)",strokeWidth:1}):null,"bar"===M?S.map((e,l)=>null===e.value?null:a("path",{d:i(l*(O/Math.max(1,S.length))+(O/Math.max(1,S.length)-_)/2,Math.min(V(e.value),V(Math.max(J,0))),_,Math.max(1,Math.abs(V(e.value)-V(Math.max(J,0)))),o/2,e.value>=0?"up":"down"),fill:e.color??P},l)):a("path",{d:b(Y,k),fill:"none",stroke:P,strokeWidth:A,strokeLinecap:"round",strokeLinejoin:"round"}),$&&Z>=0&&"bar"!==M?a("circle",{cx:Y[Z].x,cy:Y[Z].y,r:E,fill:P,stroke:"var(--neba-chart-gap)",strokeWidth:c}):null]}):null}),L?a("span",{className:v,children:S.map(a=>null===a.value?"—":a.value).join(", ")}):null]})});
1
+ import{jsx as a,jsxs as e,Fragment as l}from"react/jsx-runtime";import*as r from"react";import{areaPath as t,barMaxThickness as n,barPath as i,barRadius as o,extentOf as s,lineWidths as h,markerRadii as m,markGap as c,resolveColor as u,sparklineHeights as d,toValue as p}from"../../internal/chart.js";import{useMeasuredWidth as f}from"../../internal/chart-frame.js";import{cx as x,srOnlyClasses as v}from"../../internal/styles.js";import{linePath as b}from"../../internal/chart.js";export const Sparkline=/*@__PURE__*/r.forwardRef(function({data:g,shape:M="line",curve:k="linear",size:y="md",color:j,endDot:w=!1,baseline:$,min:N,max:W,width:C,label:L,className:R,style:z,...B},D){const F=r.useRef(null),G=f(F),I=r.useId().replace(/:/g,""),S=r.useMemo(()=>g.map(p),[g]),q=d[y],A=h[y],E=m[y],H=s([S],!1),J=N??(H?Math.min(H.min,$??H.min):0),K=(W??(H?Math.max(H.max,$??H.max):1))-J||1,O="number"==typeof C?C:G,P=u(j??"var(--neba-chart-1)"),Q="bar"===M?0:A/2+(w?E:0),T=Q,U=Math.max(1,q-2*Q),V=a=>T+(1-(a-J)/K)*U,X=S.length>1?O/(S.length-1):O,Y=S.map((a,e)=>null===a.value?null:{x:e*X,y:V(a.value)}),Z=(()=>{for(let a=S.length-1;a>=0;a--)if(null!==S[a].value)return a;return-1})(),_=Math.min(n[y]/2,Math.max(1,O/Math.max(1,S.length)-c));return e("div",{ref:D,className:x("relative block",R??void 0),style:{width:C??"100%",height:q,...z},...B,children:[a("div",{ref:F,className:"absolute inset-0",children:O>0&&S.length>0?e("svg",{width:O,height:q,viewBox:`0 0 ${O} ${q}`,role:L?"img":"presentation","aria-label":L,"aria-hidden":!L||void 0,className:"block overflow-visible",children:["area"===M?e(l,{children:[a("defs",{children:e("linearGradient",{id:`${I}-fill`,x1:"0",y1:"0",x2:"0",y2:"1",children:[a("stop",{offset:"0%",stopColor:`color-mix(in oklab, ${P} 32%, transparent)`}),a("stop",{offset:"100%",stopColor:`color-mix(in oklab, ${P} 2%, transparent)`})]})}),a("path",{d:t(Y,q,k),fill:`url(#${I}-fill)`})]}):null,void 0!==$?a("line",{x1:0,x2:O,y1:V($),y2:V($),stroke:"var(--neba-chart-baseline)",strokeWidth:1}):null,"bar"===M?S.map((e,l)=>null===e.value?null:a("path",{d:i(l*(O/Math.max(1,S.length))+(O/Math.max(1,S.length)-_)/2,Math.min(V(e.value),V(Math.max(J,0))),_,Math.max(1,Math.abs(V(e.value)-V(Math.max(J,0)))),o/2,e.value>=0?"up":"down"),fill:e.color??P},l)):a("path",{d:b(Y,k),fill:"none",stroke:P,strokeWidth:A,strokeLinecap:"round",strokeLinejoin:"round"}),w&&Z>=0&&"bar"!==M?a("circle",{cx:Y[Z].x,cy:Y[Z].y,r:E,fill:P,stroke:"var(--neba-chart-gap)",strokeWidth:c}):null]}):null}),L?a("span",{className:v,children:S.map(a=>null===a.value?"—":a.value).join(", ")}):null]})});
@@ -1,2 +1,2 @@
1
- export { Sparkline } from './Sparkline';
2
- export type { SparklineProps } from './Sparkline';
1
+ export { Sparkline } from './Sparkline.js';
2
+ export type { SparklineProps } from './Sparkline.js';
@@ -1 +1 @@
1
- export{Sparkline}from"./Sparkline";
1
+ export{Sparkline}from"./Sparkline.js";
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { NebaColor, NebaDensity, NebaElevation, NebaSize, NebaVariant } from '../../types';
2
+ import type { NebaColor, NebaDensity, NebaElevation, NebaSize, NebaVariant } from '../../types.js';
3
3
  export interface SpoilerProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'color' | 'onChange'> {
4
4
  /** Whether the content is uncovered. Pass it to drive the Spoiler yourself. */
5
5
  revealed?: boolean;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as r}from"react/jsx-runtime";import*as i from"react";import{Button as n}from"../button/Button";import{useMessages as o}from"../../internal/i18n";import{boxPaddingClasses as a,boxPaddingXClasses as l,boxPaddingYClasses as t}from"../box/Box";import{hasContent as s,metaTextClasses as d,radiusClasses as c,surfaceClasses as m,surfaceSlots as v,transitionClasses as f}from"../../internal/styles";const p={solid:[m,"bg-(--n-panel-hover)","[box-shadow:var(--n-elev),var(--neba-plate-solid)]"].join(" "),outline:[m,"border bg-(--n-panel)","[border-color:var(--n-line)]","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),text:"bg-transparent"},u="[background-color:color-mix(in_oklab,var(--neba-surface)_55%,transparent)]";export const Spoiler=i.forwardRef(function({revealed:m,defaultRevealed:b=!1,onRevealedChange:x,locale:h,label:j,hideLabel:g,description:y,action:w,reversible:N=!1,maxHeight:k,blur:z=10,padded:B=!0,variant:_="outline",size:C="md",color:R="primary",density:H="default",elevation:S=0,className:$,style:I,children:L,...q},A){const D=o(h),E=i.useId(),[F,G]=i.useState(b),J=m??F,K=e=>{void 0===m&&G(e),x?.(e)},M=!1===y?null:y??D.spoiler.notice;return r("div",{ref:A,className:["relative isolate overflow-hidden",c[C],p[_],f,$??""].filter(Boolean).join(" "),style:{...v(R,S),...I},...q,children:[e("div",{id:E,className:["min-w-0",B?a[H][C]:"","[transition:filter_var(--neba-duration-fill)_var(--neba-ease)]","motion-reduce:[transition-duration:0ms]",J?"":"select-none"].filter(Boolean).join(" "),style:{filter:J?void 0:`blur(${z}px)`,maxHeight:J?void 0:k,overflow:J?void 0:"hidden"},inert:!J,children:L}),J?null:r("div",{className:["absolute inset-0 z-10 flex flex-col items-center justify-center gap-2 text-center",a[H][C],u].join(" "),children:[s(M)?e("p",{className:`m-0 text-(--neba-muted-fg) ${d[C]}`,children:M}):null,w??e(n,{size:C,color:R,density:H,onClick:()=>K(!0),"aria-expanded":!1,"aria-controls":E,children:j??D.spoiler.reveal})]}),J&&N?e("div",{className:["flex justify-end",l[H][C],t[H][C],"pt-0"].join(" "),children:e(n,{variant:"text",size:C,color:R,density:H,onClick:()=>K(!1),"aria-expanded":!0,"aria-controls":E,children:g??D.spoiler.hide})}):null]})});
1
+ import{jsx as e,jsxs as n}from"react/jsx-runtime";import*as a from"react";import{Button as r}from"../button/Button.js";import{spoilerMessages as i,useMessages as o}from"../../internal/i18n.js";import{boxPaddingClasses as l,boxPaddingXClasses as t,boxPaddingYClasses as s}from"../box/Box.js";import{hasContent as d,metaTextClasses as c,radiusClasses as m,surfaceClasses as v,surfaceSlots as f,transitionClasses as u}from"../../internal/styles.js";const b={solid:[v,"bg-(--n-panel-hover)","[box-shadow:var(--n-elev),var(--neba-plate-solid)]"].join(" "),outline:[v,"border bg-(--n-panel)","[border-color:var(--n-line)]","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),text:"bg-transparent"},p="[background-color:color-mix(in_oklab,var(--neba-surface)_55%,transparent)]";export const Spoiler=/*@__PURE__*/a.forwardRef(function({revealed:v,defaultRevealed:x=!1,onRevealedChange:h,locale:j,label:g,hideLabel:y,description:w,action:N,reversible:k=!1,maxHeight:z,blur:B=10,padded:_=!0,variant:C="outline",size:R="md",color:H="primary",density:S="default",elevation:$=0,className:I,style:L,children:q,...A},D){const E=o(i,j),F=a.useId(),[G,J]=a.useState(x),K=v??G,M=e=>{void 0===v&&J(e),h?.(e)},O=!1===w?null:w??E.notice;return n("div",{ref:D,className:["relative isolate overflow-hidden",m[R],b[C],u,I??""].filter(Boolean).join(" "),style:{...f(H,$),...L},...A,children:[e("div",{id:F,className:["min-w-0",_?l[S][R]:"","[transition:filter_var(--neba-duration-fill)_var(--neba-ease)]","motion-reduce:[transition-duration:0ms]",K?"":"select-none"].filter(Boolean).join(" "),style:{filter:K?void 0:`blur(${B}px)`,maxHeight:K?void 0:z,overflow:K?void 0:"hidden"},inert:!K,children:q}),K?null:n("div",{className:["absolute inset-0 z-10 flex flex-col items-center justify-center gap-2 text-center",l[S][R],p].join(" "),children:[d(O)?e("p",{className:`m-0 text-(--neba-muted-fg) ${c[R]}`,children:O}):null,N??e(r,{size:R,color:H,density:S,onClick:()=>M(!0),"aria-expanded":!1,"aria-controls":F,children:g??E.reveal})]}),K&&k?e("div",{className:["flex justify-end",t[S][R],s[S][R],"pt-0"].join(" "),children:e(r,{variant:"text",size:R,color:H,density:S,onClick:()=>M(!1),"aria-expanded":!0,"aria-controls":F,children:y??E.hide})}):null]})});
@@ -1,2 +1,2 @@
1
- export { Spoiler } from './Spoiler';
2
- export type { SpoilerProps } from './Spoiler';
1
+ export { Spoiler } from './Spoiler.js';
2
+ export type { SpoilerProps } from './Spoiler.js';
@@ -1 +1 @@
1
- export{Spoiler}from"./Spoiler";
1
+ export{Spoiler}from"./Spoiler.js";