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
@@ -0,0 +1,144 @@
1
+ import * as React from 'react';
2
+ import { type PageLayoutCollapse, type PageLayoutScroll, type PageLayoutSpan } from '../../internal/page-layout.js';
3
+ import type { NebaColor } from '../../types.js';
4
+ export type { PageLayoutCollapse, PageLayoutScroll, PageLayoutSpan } from '../../internal/page-layout.js';
5
+ export interface PageLayoutProps extends React.ComponentPropsWithoutRef<'div'> {
6
+ /** The bar across the top. A [Header], usually. */
7
+ header?: React.ReactNode;
8
+ /** The sheet at the end. A [Footer], usually. */
9
+ footer?: React.ReactNode;
10
+ /**
11
+ * The leading column — the left of an English page, the right of an Arabic
12
+ * one. A [Sidebar], which is told which end it is on and needs no `side` prop
13
+ * of its own here.
14
+ */
15
+ sidebar?: React.ReactNode;
16
+ /**
17
+ * The trailing column, for the layouts that have two: navigation down one
18
+ * side and a table of contents, an inspector or a filter panel down the
19
+ * other. Each is a Sidebar with its own width, its own drawer and its own
20
+ * trigger.
21
+ */
22
+ endSidebar?: React.ReactNode;
23
+ /**
24
+ * Which of the header and the sidebars takes the top corner.
25
+ *
26
+ * - `full` — the header spans the whole width and the sidebars begin
27
+ * underneath it. The arrangement of a website. The default.
28
+ * - `content` — the sidebars run the full height of the window and the header
29
+ * sits between them, belonging to the view rather than to the site. The
30
+ * arrangement of an application.
31
+ * @default 'full'
32
+ */
33
+ headerSpan?: PageLayoutSpan;
34
+ /**
35
+ * The same question for the footer, and it is worth answering separately: a
36
+ * dashboard with a full-height navigation rail still usually wants its
37
+ * copyright line under the content rather than under the rail.
38
+ * @default 'full'
39
+ */
40
+ footerSpan?: PageLayoutSpan;
41
+ /**
42
+ * What scrolls: the document, or only the region between the header and the
43
+ * footer.
44
+ *
45
+ * `page` is the default and is what almost every page wants — the browser's
46
+ * own address bar hides on a phone, the scroll position is restored on a back
47
+ * navigation, and the header holds its place with `position: sticky` without
48
+ * anything having to be padded out of its way. Reach for `content` when the
49
+ * page is a workspace rather than a document.
50
+ * @default 'page'
51
+ */
52
+ scroll?: PageLayoutScroll;
53
+ /**
54
+ * How tall the layout is.
55
+ *
56
+ * - `viewport` — the window's, which is what a page wants: a short page still
57
+ * pushes its footer to the bottom of the screen, and with `scroll="content"`
58
+ * the layout is exactly one screen tall. The default.
59
+ * - `auto` — its parent's, for a layout that is not the page. An app shell
60
+ * inside a [Mockup]'s screen, a preview, a pane of a larger tool.
61
+ * - a length — a number in pixels, or any CSS length.
62
+ *
63
+ * It sets a floor while the page scrolls and an exact height while only the
64
+ * content does, which is the same difference `scroll` makes everywhere else.
65
+ * @default 'viewport'
66
+ */
67
+ height?: 'viewport' | 'auto' | number | string;
68
+ /**
69
+ * The window width below which the sidebars stop being columns and become
70
+ * drawers, with a [SidebarTrigger] as the way to open them. `none` keeps them
71
+ * as columns at every width.
72
+ * @default 'md'
73
+ */
74
+ collapseBelow?: PageLayoutCollapse;
75
+ /**
76
+ * Whether the leading sidebar's drawer is open. Use with
77
+ * `onSidebarOpenChange` for a controlled layout — a route change that should
78
+ * close the drawer behind it, a state the app already stores.
79
+ */
80
+ sidebarOpen?: boolean;
81
+ /** Which state it starts in. @default false */
82
+ defaultSidebarOpen?: boolean;
83
+ onSidebarOpenChange?: (open: boolean) => void;
84
+ /** The same three for the trailing sidebar. */
85
+ endSidebarOpen?: boolean;
86
+ defaultEndSidebarOpen?: boolean;
87
+ onEndSidebarOpenChange?: (open: boolean) => void;
88
+ /**
89
+ * Puts a "Skip to content" link first in the document, drawn only while it
90
+ * holds the focus.
91
+ *
92
+ * On by default, and it is the one thing here that is not a style decision. A
93
+ * keyboard reader arriving on a page whose navigation holds forty links has
94
+ * to walk past all forty on every page before reaching the article, and this
95
+ * is the one link that spares them. It costs a sighted reader nothing,
96
+ * because it is invisible until it is tabbed to.
97
+ * @default true
98
+ */
99
+ skipLink?: boolean;
100
+ /** What that link says. Defaults to the `locale`'s word for it. */
101
+ skipLabel?: string;
102
+ /**
103
+ * The `id` the skip link jumps to, put on the `<main>`.
104
+ * @default 'main'
105
+ */
106
+ mainId?: string;
107
+ /** Anything else the `<main>` needs — a `className`, an `aria-label`. */
108
+ mainProps?: Omit<React.ComponentPropsWithoutRef<'main'>, 'id' | 'children'>;
109
+ /**
110
+ * Which language the layout's own words are in — a BCP 47 tag such as `ko`,
111
+ * `pt-BR` or `zh-Hant`. Inherited by every Sidebar and SidebarTrigger inside
112
+ * it, so it is written once per page.
113
+ */
114
+ locale?: string;
115
+ /** The colour family the skip link and the focus rings light up in. @default 'primary' */
116
+ color?: NebaColor;
117
+ /** The page. Rendered inside the `<main>`. */
118
+ children?: React.ReactNode;
119
+ }
120
+ /**
121
+ * The skeleton a page is hung on: a header, a footer, one sidebar or two, and
122
+ * the content between them.
123
+ *
124
+ * What it is really for is the landmarks. A page assembled out of divs is a
125
+ * page a screen reader offers as one undifferentiated region and a search
126
+ * engine reads as one undifferentiated blob; the same page built out of
127
+ * `<header>`, `<nav>`, `<aside>`, `<main>` and `<footer>` is a page with a
128
+ * table of contents. Those tags come from the four components this one arranges
129
+ * — it draws no surface of its own and contributes exactly one element to the
130
+ * document, plus the `<main>` and the skip link that jumps to it.
131
+ *
132
+ * The arrangement is flexbox and media queries, which is deliberate rather than
133
+ * incidental: everything that decides where a column goes is stated in CSS, so
134
+ * the layout is right in the first frame the browser paints and right in a page
135
+ * with JavaScript turned off. The only things measured are the header's and the
136
+ * footer's heights, and only because a sidebar that holds its place has to
137
+ * start below a bar whose height nobody but the bar knows.
138
+ *
139
+ * It draws no gutter and no measure. That is [Container]'s job, and a layout
140
+ * that also did it would be a second spelling of one idea — put a Container
141
+ * inside, where a page can have a wide dashboard on one route and a narrow
142
+ * article on the next.
143
+ */
144
+ export declare const PageLayout: React.ForwardRefExoticComponent<PageLayoutProps & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as n}from"react/jsx-runtime";import*as o from"react";import{layoutMessages as l,useMessages as t}from"../../internal/i18n.js";import{PageLayoutContext as r,SidebarSideContext as s}from"../../internal/page-layout.js";import{controlSlots as a,cx as i,hasContent as u,toLength as c}from"../../internal/styles.js";const d=["header","footer"];export const PageLayout=/*@__PURE__*/o.forwardRef(function({header:f,footer:p,sidebar:h,endSidebar:m,headerSpan:v="full",footerSpan:x="full",scroll:y="page",height:b="viewport",collapseBelow:w="md",sidebarOpen:g,defaultSidebarOpen:S=!1,onSidebarOpenChange:k,endSidebarOpen:C,defaultEndSidebarOpen:P=!1,onEndSidebarOpenChange:O,skipLink:N=!0,skipLabel:j,mainId:$="main",mainProps:R,locale:z,color:E="primary",className:L,style:B,children:H,...M},_){const I=t(l,z),[T,q]=o.useState(S),[A,D]=o.useState(P),F=o.useMemo(()=>({start:g??T,end:C??A}),[g,T,C,A]),G=o.useCallback((e,n)=>{if("start"===e)return void 0===g&&q(n),void k?.(n);void 0===C&&D(n),O?.(n)},[g,C,k,O]),J=o.useRef(null),K=o.useCallback(e=>{J.current=e,"function"==typeof _?_(e):_&&(_.current=e)},[_]),Q=o.useRef({header:null,footer:null}),U=o.useRef(null),V=o.useCallback(()=>{const e=J.current;if(e)for(const n of d){const o=Q.current[n],l="header"===n?v:x;if(!o){e.style.setProperty(`--n-layout-${n}`,"0px"),e.style.setProperty(`--n-layout-${n}-inset`,"0px");continue}const t=getComputedStyle(o).position,r=`${o.offsetHeight}px`,s="sticky"===t||"fixed"===t;e.style.setProperty(`--n-layout-${n}`,s&&"full"===l?r:"0px"),e.style.setProperty(`--n-layout-${n}-inset`,"fixed"===t?r:"0px")}},[v,x]),W=o.useCallback(()=>{const e=U.current;if(e){e.disconnect();for(const n of d){const o=Q.current[n];o&&e.observe(o)}}V()},[V]);o.useEffect(()=>(U.current=new ResizeObserver(()=>V()),W(),()=>{U.current?.disconnect(),U.current=null}),[V,W]);const X=o.useCallback((e,n)=>{Q.current[e]=n,W()},[W]),Y=o.useMemo(()=>({present:!0,register:X,collapseBelow:w,open:F,setOpen:G,scroll:y,locale:z}),[X,w,F,G,y,z]),Z="content"===y,ee=c("viewport"===b||"auto"===b?void 0:b),ne=void 0!==ee?"":"auto"===b?Z?"h-full":"min-h-full":Z?"h-dvh":"min-h-dvh",oe=u(f)?f:null,le=u(p)?p:null;return e(r.Provider,{value:Y,children:n("div",{ref:K,className:i("relative flex w-full flex-col",Z?"overflow-hidden":"",ne,"full"===v?"[padding-top:var(--n-layout-header-inset,0px)]":"","full"===x?"[padding-bottom:var(--n-layout-footer-inset,0px)]":"",L),style:void 0===ee?B:{...Z?{height:ee}:{minHeight:ee},...B},...M,children:[N?e("a",{href:`#${$}`,className:i("absolute start-3 top-3 z-50 size-px overflow-hidden whitespace-nowrap","[clip-path:inset(50%)] focus:size-auto focus:overflow-visible focus:[clip-path:none]","focus:rounded-(--neba-radius-md) focus:bg-(--n-fill) focus:px-4 focus:py-2","focus:font-medium focus:text-(--n-on-solid) focus:no-underline","focus:[box-shadow:var(--neba-shadow-2),var(--neba-plate-solid)]","focus:[outline:2px_solid_var(--n-ring)] focus:outline-offset-2"),style:a(E,2,"solid"),children:j??I.skipToContent}):null,"full"===v?oe:null,n("div",{className:i("flex w-full flex-1",Z?"min-h-0":""),children:[u(h)?e(s.Provider,{value:"start",children:h}):null,n("div",{className:i("flex min-w-0 flex-1 flex-col",Z?"min-h-0":"","content"===v?"[padding-top:var(--n-layout-header-inset,0px)]":"","content"===x?"[padding-bottom:var(--n-layout-footer-inset,0px)]":""),children:["content"===v?oe:null,e("main",{...R,id:$,className:i("min-w-0 flex-1",Z?"min-h-0 overflow-y-auto":"",R?.className),children:H}),"content"===x?le:null]}),u(m)?e(s.Provider,{value:"end",children:m}):null]}),"full"===x?le:null]})})});
@@ -0,0 +1,2 @@
1
+ export { PageLayout } from './PageLayout.js';
2
+ export type { PageLayoutCollapse, PageLayoutProps, PageLayoutScroll, PageLayoutSpan } from './PageLayout.js';
@@ -0,0 +1 @@
1
+ export{PageLayout}from"./PageLayout.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
  export interface PaginationProps extends NebaStyleProps, Omit<React.ComponentPropsWithoutRef<'nav'>, 'color' | 'onChange'> {
4
4
  /** How many pages there are. Fewer than two and the whole control renders nothing. */
5
5
  count: number;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as a from"react";import{Button as n}from"../button/Button";import{fillMessage as i,useMessages as r}from"../../internal/i18n";import{ChevronIcon as l}from"../../internal/icons";import{controlTextClasses as o,gapClasses as s,srOnlyClasses as m}from"../../internal/styles";function c(e,t){return Array.from({length:Math.max(0,t-e+1)},(t,a)=>e+a)}function u(){return e("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:e("path",{d:"m7.5 4.5 3.5 3.5-3.5 3.5M3.5 4.5 7 8l-3.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}const d={xs:"h-5.5 min-w-5.5",sm:"h-6.5 min-w-6.5",md:"h-8 min-w-8",lg:"h-10 min-w-10",xl:"h-12 min-w-12"};export const Pagination=a.forwardRef(function({variant:h="text",size:p="md",color:f="primary",density:g="compact",elevation:x=0,count:b,page:v,defaultPage:y=1,onPageChange:M,siblingCount:w=1,boundaryCount:N=1,showEdges:j=!1,showArrows:L=!0,disabled:k=!1,getPageHref:C,locale:K,label:P,pageLabel:S,previousLabel:z,nextLabel:B,firstLabel:$,lastLabel:A,className:D,children:E,...H},I){const R=r(K),W=S??(e=>i(R.pagination.page,{page:String(e)})),[q,F]=a.useState(y),G=Math.min(Math.max(v??q,1),Math.max(b,1));if(b<2)return null;const J=function(e,t,a,n){const i=c(1,Math.min(n,e)),r=c(Math.max(e-n+1,n+1),e),l=Math.max(Math.min(t-a,e-n-2*a-1),n+2),o=Math.min(Math.max(t+a,n+2*a+2),r.length>0?r[0]-2:e-1);return[...i,...l>n+2?["start-ellipsis"]:n+1<e-n?[n+1]:[],...c(l,o),...o<e-n-1?["end-ellipsis"]:e-n>n?[e-n]:[],...r]}(b,G,w,N),O=G<=1,Q=G>=b,T=(t,a,n)=>C&&!a?{render:e("a",{href:C(t),rel:n})}:null,U=(e,t)=>{e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||C&&!M||(e.preventDefault(),(e=>{const t=Math.min(Math.max(e,1),b);t!==G&&(void 0===v&&F(t),M?.(t))})(t))},V=(t,a,i,r,l,o,s)=>e("li",{className:"flex",children:e(n,{variant:h,size:p,color:f,density:g,elevation:x,disabled:k||r,"aria-label":a,startIcon:e("span",{className:`flex items-center ${l}`,children:o}),onClick:e=>U(e,i),...T(i,k||r,s)})},t);return t("nav",{ref:I,"aria-label":P??R.pagination.label,className:["flex items-center",D??""].filter(Boolean).join(" "),...H,children:[t("ul",{role:"list",className:`m-0 flex list-none items-center p-0 ${s[p]}`,children:[j?V("first",$??R.pagination.first,1,O,"rotate-180 rtl:rotate-0",e(u,{})):null,L?V("previous",z??R.pagination.previous,G-1,O,"rotate-90 rtl:-rotate-90",e(l,{}),"prev"):null,J.map((t,a)=>e("li","number"==typeof t?{className:"flex",children:e(n,{variant:t===G?"solid":h,size:p,color:f,density:g,elevation:x,disabled:k,"aria-label":W(t),"aria-current":t===G?"page":void 0,className:"tabular-nums",onClick:e=>U(e,t),...T(t,k||t===G),children:t})}:{"aria-hidden":"true",className:["flex select-none items-center justify-center","text-(--neba-muted-fg)",o[p],d[p]].join(" "),children:"…"},`slot-${a}`)),L?V("next",B??R.pagination.next,G+1,Q,"-rotate-90 rtl:rotate-90",e(l,{}),"next"):null,j?V("last",A??R.pagination.last,b,Q,"rtl:rotate-180",e(u,{})):null]}),e("span",{className:m,"aria-live":"polite",children:i(R.pagination.status,{page:String(G),total:String(b)})}),E]})});
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as a from"react";import{Button as n}from"../button/Button.js";import{fillMessage as r,paginationMessages as l,useMessages as i}from"../../internal/i18n.js";import{ChevronIcon as s}from"../../internal/icons.js";import{controlTextClasses as o,gapClasses as m,srOnlyClasses as c}from"../../internal/styles.js";function u(e,t){return Array.from({length:Math.max(0,t-e+1)},(t,a)=>e+a)}function d(){return e("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:e("path",{d:"m7.5 4.5 3.5 3.5-3.5 3.5M3.5 4.5 7 8l-3.5 3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}const h={xs:"h-5.5 min-w-5.5",sm:"h-6.5 min-w-6.5",md:"h-8 min-w-8",lg:"h-10 min-w-10",xl:"h-12 min-w-12"};export const Pagination=/*@__PURE__*/a.forwardRef(function({variant:f="text",size:p="md",color:x="primary",density:g="compact",elevation:b=0,count:v,page:y,defaultPage:M=1,onPageChange:j,siblingCount:w=1,boundaryCount:N=1,showEdges:L=!1,showArrows:k=!0,disabled:C=!1,getPageHref:K,locale:P,label:S,pageLabel:z,previousLabel:B,nextLabel:$,firstLabel:A,lastLabel:D,className:E,children:H,...I},R){const W=i(l,P),q=z??(e=>r(W.page,{page:String(e)})),[F,G]=a.useState(M),J=Math.min(Math.max(y??F,1),Math.max(v,1));if(v<2)return null;const O=function(e,t,a,n){const r=u(1,Math.min(n,e)),l=u(Math.max(e-n+1,n+1),e),i=Math.max(Math.min(t-a,e-n-2*a-1),n+2),s=Math.min(Math.max(t+a,n+2*a+2),l.length>0?l[0]-2:e-1);return[...r,...i>n+2?["start-ellipsis"]:n+1<e-n?[n+1]:[],...u(i,s),...s<e-n-1?["end-ellipsis"]:e-n>n?[e-n]:[],...l]}(v,J,w,N),Q=J<=1,T=J>=v,U=(t,a,n)=>K&&!a?{render:e("a",{href:K(t),rel:n})}:null,V=(e,t)=>{e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||K&&!j||(e.preventDefault(),(e=>{const t=Math.min(Math.max(e,1),v);t!==J&&(void 0===y&&G(t),j?.(t))})(t))},X=(t,a,r,l,i,s,o)=>e("li",{className:"flex",children:e(n,{variant:f,size:p,color:x,density:g,elevation:b,disabled:C||l,"aria-label":a,startIcon:e("span",{className:`flex items-center ${i}`,children:s}),onClick:e=>V(e,r),...U(r,C||l,o)})},t);return t("nav",{ref:R,"aria-label":S??W.label,className:["flex items-center",E??""].filter(Boolean).join(" "),...I,children:[t("ul",{role:"list",className:`m-0 flex list-none items-center p-0 ${m[p]}`,children:[L?X("first",A??W.first,1,Q,"rotate-180 rtl:rotate-0",e(d,{})):null,k?X("previous",B??W.previous,J-1,Q,"rotate-90 rtl:-rotate-90",e(s,{}),"prev"):null,O.map((t,a)=>e("li","number"==typeof t?{className:"flex",children:e(n,{variant:t===J?"solid":f,size:p,color:x,density:g,elevation:b,disabled:C,"aria-label":q(t),"aria-current":t===J?"page":void 0,className:"tabular-nums",onClick:e=>V(e,t),...U(t,C||t===J),children:t})}:{"aria-hidden":"true",className:["flex select-none items-center justify-center","text-(--neba-muted-fg)",o[p],h[p]].join(" "),children:"…"},`slot-${a}`)),k?X("next",$??W.next,J+1,T,"-rotate-90 rtl:rotate-90",e(s,{}),"next"):null,L?X("last",D??W.last,v,T,"rtl:rotate-180",e(d,{})):null]}),e("span",{className:c,"aria-live":"polite",children:r(W.status,{page:String(J),total:String(v)})}),H]})});
@@ -1,2 +1,2 @@
1
- export { Pagination } from './Pagination';
2
- export type { PaginationProps } from './Pagination';
1
+ export { Pagination } from './Pagination.js';
2
+ export type { PaginationProps } from './Pagination.js';
@@ -1 +1 @@
1
- export{Pagination}from"./Pagination";
1
+ export{Pagination}from"./Pagination.js";
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { NebaColor, NebaOrientation, NebaSize } from '../../types';
2
+ import type { NebaColor, NebaOrientation, NebaSize } from '../../types.js';
3
3
  /**
4
4
  * A pane's share of the split, as a percentage of the container or as a CSS
5
5
  * length.
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as n from"react";import{cx as r,transitionClasses as o}from"../../internal/styles";const i=n.createContext({basis:null}),s={xs:"basis-1",sm:"basis-1.5",md:"basis-2",lg:"basis-2.5",xl:"basis-3"},a={xs:4,sm:6,md:8,lg:10,xl:12};function l(e,t,n){if(null==e)return;if("number"==typeof e)return t*e/100;const r=/^\s*(-?[\d.]+)\s*(px|rem|em|%)\s*$/.exec(e);if(!r)return;const o=Number(r[1]);if(!Number.isNaN(o))switch(r[2]){case"px":return o;case"%":return t*o/100;case"rem":return o*parseFloat(getComputedStyle(document.documentElement).fontSize||"16");case"em":return o*parseFloat(n&&getComputedStyle(n).fontSize||"16");default:return}}export const Panes=n.forwardRef(function({orientation:c="horizontal",resizable:u=!0,color:d="primary",size:m="md",onResize:f,onResizeEnd:p,className:g,style:h,children:v,...b},x){const y=n.Children.toArray(v).filter(n.isValidElement),w=y.length,z=n.useRef(null),S=n.useCallback(e=>{z.current=e,"function"==typeof x?x(e):x&&(x.current=e)},[x]),R=n.useRef([]);R.current=y.map(e=>e.props);const[E,k]=n.useState(null),C=E&&E.length===w?E:null,N=n.useRef(null);N.current=C;const M="horizontal"===c,P=a[m]*Math.max(0,w-1);function L(e){const t=z.current,n=N.current;if(!u||!t||!n||void 0===n[e+1])return null;const r=t.getBoundingClientRect(),o=(M?r.width:r.height)-P;if(o<=0)return null;const i=R.current[e],s=R.current[e+1],a=n[e]*o,c=a+n[e+1]*o,d=Math.max(l(i?.minSize,o,t)??0,c-(l(s?.maxSize,o,t)??c)),m=Math.min(l(i?.maxSize,o,t)??c,c-(l(s?.minSize,o,t)??0));return m<d?null:{root:t,current:n,extent:o,start:a,pair:c,resize(t){const r=Math.min(m,Math.max(d,a+t)),i=[...n];return i[e]=r/o,i[e+1]=(c-r)/o,k(i),f?.(i.map(e=>100*e)),i}}}n.useEffect(()=>{const e=z.current;if(!e)return;const t=()=>{const t=e.getBoundingClientRect(),n=(M?t.width:t.height)-P;n<=0||k(t=>t&&t.length===w?t:function(e,t,n){const r=e.map(e=>l(e.defaultSize,t,n)),o=r.reduce((e,t)=>e+(t??0),0),i=r.filter(e=>void 0===e).length,s=i>0?Math.max(0,t-o)/i:0,a=r.map(e=>Math.max(0,e??s)),c=a.reduce((e,t)=>e+t,0);return c<=0?a.map(()=>1/Math.max(1,a.length)):a.map(e=>e/c)}(R.current,n,e))};t();const n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[w,M,P]);const $=n.useRef(null);n.useEffect(()=>()=>$.current?.(),[]);const A=r("group/handle relative z-1 flex shrink-0 grow-0 items-center justify-center",s[m],o,"[outline:none] focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-0",u?r(M?"cursor-col-resize":"cursor-row-resize","hover:bg-(--n-soft) data-[dragging]:bg-(--n-soft)"):"");return e("div",{ref:S,className:r("flex h-full w-full",M?"flex-row":"flex-col","min-h-0 min-w-0",g),style:{"--n-accent":`var(--neba-${d}-accent)`,"--n-soft":`var(--neba-${d}-soft)`,"--n-ring":`var(--neba-${d}-ring)`,...h},...b,children:y.map((s,a)=>t(n.Fragment,{children:[a>0?e("div",{role:"separator","aria-orientation":M?"vertical":"horizontal","aria-valuenow":C?Math.round(100*C[a-1]):void 0,"aria-valuemin":0,"aria-valuemax":100,"aria-disabled":!u||void 0,tabIndex:u?0:-1,className:A,onPointerDown:e=>{0===e.button&&function(e,t){const n=L(e);if(!n)return;const r=t.currentTarget;r.setPointerCapture(t.pointerId),r.dataset.dragging="true";const o=document.body.style.getPropertyValue("-webkit-user-select");document.body.style.setProperty("-webkit-user-select","none");const i=M?t.clientX:t.clientY,s=M&&"rtl"===getComputedStyle(n.root).direction?-1:1;let a=n.current;const l=e=>{const t=M?e.clientX:e.clientY;a=n.resize((t-i)*s)},c=()=>{$.current=null,r.removeEventListener("pointermove",l),r.removeEventListener("pointerup",u),r.removeEventListener("pointercancel",u),delete r.dataset.dragging,o?document.body.style.setProperty("-webkit-user-select",o):document.body.style.removeProperty("-webkit-user-select")},u=()=>{c(),p?.(a.map(e=>100*e))};$.current=c,r.addEventListener("pointermove",l),r.addEventListener("pointerup",u),r.addEventListener("pointercancel",u)}(a-1,e)},onKeyDown:e=>{const t=M?"ArrowLeft":"ArrowUp",n=M?"ArrowRight":"ArrowDown";e.key!==t&&e.key!==n||(e.preventDefault(),function(e,t){const n=L(e);if(!n)return;const r=n.resize(t);p?.(r.map(e=>100*e))}(a-1,e.key===n?16:-16))},children:e("span",{"aria-hidden":"true",className:r("pointer-events-none bg-(--neba-border)",o,M?"h-full w-px":"h-px w-full",u?"group-hover/handle:bg-(--n-accent) group-focus-visible/handle:bg-(--n-accent) group-data-[dragging]/handle:bg-(--n-accent)":"")})}):null,e(i.Provider,{value:{basis:C?`calc((100% - ${P}px) * ${C[a].toFixed(6)})`:null},children:s})]},s.key??a))})});export const Pane=n.forwardRef(function({defaultSize:t,minSize:o,maxSize:s,className:a,style:l,children:c,...u},d){const{basis:m}=n.useContext(i);return e("div",{ref:d,className:r("relative min-h-0 min-w-0 overflow-auto",a),style:{flex:m?`0 0 ${m}`:"1 1 0%",...l},...u,children:c})});
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as n from"react";import{cx as r,transitionClasses as o}from"../../internal/styles.js";const i=/*@__PURE__*/n.createContext({basis:null}),s={xs:"basis-1",sm:"basis-1.5",md:"basis-2",lg:"basis-2.5",xl:"basis-3"},a={xs:4,sm:6,md:8,lg:10,xl:12};function l(e,t,n){if(null==e)return;if("number"==typeof e)return t*e/100;const r=/^\s*(-?[\d.]+)\s*(px|rem|em|%)\s*$/.exec(e);if(!r)return;const o=Number(r[1]);if(!Number.isNaN(o))switch(r[2]){case"px":return o;case"%":return t*o/100;case"rem":return o*parseFloat(getComputedStyle(document.documentElement).fontSize||"16");case"em":return o*parseFloat(n&&getComputedStyle(n).fontSize||"16");default:return}}export const Panes=/*@__PURE__*/n.forwardRef(function({orientation:c="horizontal",resizable:u=!0,color:d="primary",size:m="md",onResize:f,onResizeEnd:p,className:g,style:h,children:v,...b},x){const y=n.Children.toArray(v).filter(n.isValidElement),w=y.length,z=n.useRef(null),S=n.useCallback(e=>{z.current=e,"function"==typeof x?x(e):x&&(x.current=e)},[x]),R=n.useRef([]);R.current=y.map(e=>e.props);const[E,k]=n.useState(null),C=E&&E.length===w?E:null,N=n.useRef(null);N.current=C;const M="horizontal"===c,P=a[m]*Math.max(0,w-1);function L(e){const t=z.current,n=N.current;if(!u||!t||!n||void 0===n[e+1])return null;const r=t.getBoundingClientRect(),o=(M?r.width:r.height)-P;if(o<=0)return null;const i=R.current[e],s=R.current[e+1],a=n[e]*o,c=a+n[e+1]*o,d=Math.max(l(i?.minSize,o,t)??0,c-(l(s?.maxSize,o,t)??c)),m=Math.min(l(i?.maxSize,o,t)??c,c-(l(s?.minSize,o,t)??0));return m<d?null:{root:t,current:n,extent:o,start:a,pair:c,resize(t){const r=Math.min(m,Math.max(d,a+t)),i=[...n];return i[e]=r/o,i[e+1]=(c-r)/o,k(i),f?.(i.map(e=>100*e)),i}}}n.useEffect(()=>{const e=z.current;if(!e)return;const t=()=>{const t=e.getBoundingClientRect(),n=(M?t.width:t.height)-P;n<=0||k(t=>t&&t.length===w?t:function(e,t,n){const r=e.map(e=>l(e.defaultSize,t,n)),o=r.reduce((e,t)=>e+(t??0),0),i=r.filter(e=>void 0===e).length,s=i>0?Math.max(0,t-o)/i:0,a=r.map(e=>Math.max(0,e??s)),c=a.reduce((e,t)=>e+t,0);return c<=0?a.map(()=>1/Math.max(1,a.length)):a.map(e=>e/c)}(R.current,n,e))};t();const n=new ResizeObserver(t);return n.observe(e),()=>n.disconnect()},[w,M,P]);const $=n.useRef(null);n.useEffect(()=>()=>$.current?.(),[]);const j=r("group/handle relative z-1 flex shrink-0 grow-0 items-center justify-center",s[m],o,"[outline:none] focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-0",u?r(M?"cursor-col-resize":"cursor-row-resize","hover:bg-(--n-soft) data-[dragging]:bg-(--n-soft)"):"");return e("div",{ref:S,className:r("flex h-full w-full",M?"flex-row":"flex-col","min-h-0 min-w-0",g),style:{"--n-accent":`var(--neba-${d}-accent)`,"--n-soft":`var(--neba-${d}-soft)`,"--n-ring":`var(--neba-${d}-ring)`,...h},...b,children:y.map((s,a)=>t(n.Fragment,{children:[a>0?e("div",{role:"separator","aria-orientation":M?"vertical":"horizontal","aria-valuenow":C?Math.round(100*C[a-1]):void 0,"aria-valuemin":0,"aria-valuemax":100,"aria-disabled":!u||void 0,tabIndex:u?0:-1,className:j,onPointerDown:e=>{0===e.button&&function(e,t){const n=L(e);if(!n)return;const r=t.currentTarget;r.setPointerCapture(t.pointerId),r.dataset.dragging="true";const o=document.body.style.getPropertyValue("-webkit-user-select");document.body.style.setProperty("-webkit-user-select","none");const i=M?t.clientX:t.clientY,s=M&&"rtl"===getComputedStyle(n.root).direction?-1:1;let a=n.current;const l=e=>{const t=M?e.clientX:e.clientY;a=n.resize((t-i)*s)},c=()=>{$.current=null,r.removeEventListener("pointermove",l),r.removeEventListener("pointerup",u),r.removeEventListener("pointercancel",u),delete r.dataset.dragging,o?document.body.style.setProperty("-webkit-user-select",o):document.body.style.removeProperty("-webkit-user-select")},u=()=>{c(),p?.(a.map(e=>100*e))};$.current=c,r.addEventListener("pointermove",l),r.addEventListener("pointerup",u),r.addEventListener("pointercancel",u)}(a-1,e)},onKeyDown:e=>{const t=M?"ArrowLeft":"ArrowUp",n=M?"ArrowRight":"ArrowDown";e.key!==t&&e.key!==n||(e.preventDefault(),function(e,t){const n=L(e);if(!n)return;const r=n.resize(t);p?.(r.map(e=>100*e))}(a-1,e.key===n?16:-16))},children:e("span",{"aria-hidden":"true",className:r("pointer-events-none bg-(--neba-border)",o,M?"h-full w-px":"h-px w-full",u?"group-hover/handle:bg-(--n-accent) group-focus-visible/handle:bg-(--n-accent) group-data-[dragging]/handle:bg-(--n-accent)":"")})}):null,e(i.Provider,{value:{basis:C?`calc((100% - ${P}px) * ${C[a].toFixed(6)})`:null},children:s})]},s.key??a))})});export const Pane=/*@__PURE__*/n.forwardRef(function({defaultSize:t,minSize:o,maxSize:s,className:a,style:l,children:c,...u},d){const{basis:m}=n.useContext(i);return e("div",{ref:d,className:r("relative min-h-0 min-w-0 overflow-auto",a),style:{flex:m?`0 0 ${m}`:"1 1 0%",...l},...u,children:c})});
@@ -1,2 +1,2 @@
1
- export { Pane, Panes } from './Panes';
2
- export type { PaneProps, PaneSize, PanesProps } from './Panes';
1
+ export { Pane, Panes } from './Panes.js';
2
+ export type { PaneProps, PaneSize, PanesProps } from './Panes.js';
@@ -1 +1 @@
1
- export{Pane,Panes}from"./Panes";
1
+ export{Pane,Panes}from"./Panes.js";
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { type ChartBaseProps } from '../../internal/chart-frame';
3
- import type { NebaChartCategory, NebaChartDatum } from '../../types';
2
+ import { type ChartBaseProps } from '../../internal/chart-frame.js';
3
+ import type { NebaChartCategory, NebaChartDatum } from '../../types.js';
4
4
  export interface PieChartProps extends ChartBaseProps {
5
5
  /**
6
6
  * The slices. Numbers, or points that carry their own name and colour.
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as a from"react";import{ChartDataTable as n,ChartLegendBar as l,ChartSurface as i,ChartTooltipPanel as r,useMeasuredWidth as o,useVisibility as s}from"../../internal/chart-frame";import{arcPath as d,categoryAt as u,chartFontSizes as m,compactNumber as c,formatCategory as h,markGap as v,plotHeights as f,seriesColor as p,toValue as x}from"../../internal/chart";import{numberFormatter as b}from"../../internal/format";import{cx as g,metaTextClasses as y}from"../../internal/styles";import{useMessages as M}from"../../internal/i18n";const N={pie:0,donut:.62,semi:.62};export function PieChart({data:w,categories:I,shape:P="pie",startAngle:z=0,center:j,valueLabels:k="none",height:A,format:$,locale:L,label:S,legend:_,tooltip:B,empty:E,size:R="md",variant:C="text",padded:D=!1,className:O,...K}){const V=a.useRef(null),W=o(V),q=M(L),F=a.useId(),G=a.useCallback(e=>$?b(L,$).format(e):c(e,L),[$,L]),H=a.useMemo(()=>w.map(x),[w]),J=a.useMemo(()=>H.map((e,t)=>({name:h(u(t,I,[H]),L),data:[w[t]],color:e.color})),[H,I,w,L]),Q=s(J),[T,U]=a.useState(null),X=J.map((e,t)=>p(e,t)),Y=H.reduce((e,t,a)=>Q.visible[a]&&null!==t.value?e+Math.abs(t.value):e,0),Z="semi"===P,ee="number"==typeof A?A:f[R],te=m[R],ae=!1===_?{interactive:!1}:!0===_||void 0===_?{}:_,ne=!1!==_&&J.length>1,le=ae.side??"bottom",ie=!1===B?{mode:"none"}:!0===B||void 0===B?{}:B,re="none"===ie.mode,oe=W/2,se=Math.max(0,Math.min(W/2,Z?ee:ee/2)-2),de=Z?Math.min(ee,ee/2+se/2):ee/2,ue=se*N[P],me=Y<=0||se<=0,ce=se>0?Math.min(4,v/se*(180/Math.PI)):0,he=Z?180:360,ve=[];let fe=Z?-90:z;H.forEach((e,t)=>{if(!Q.visible[t]||null===e.value||0===e.value)return;const a=Math.abs(e.value)/Y,n=a*he;ve.push({index:t,start:fe,end:fe+n,value:e.value,share:a}),fe+=n});const pe=null===T?[]:[{seriesIndex:T,name:J[T]?.name,color:H[T]?.color??X[T],value:H[T]?.value??null,formatted:`${G(H[T]?.value??0)} · ${Math.round(10*(Math.abs(H[T]?.value??0)/Y*100+Number.EPSILON))/10}%`,label:H[T]?.label}];return e(i,{...K,size:R,variant:C,padded:D,className:O,legendSide:le,legend:ne?e(l,{series:J,colors:X,options:ae,visibility:Q,size:R,values:ae.showValue?H.map(e=>null===e.value?void 0:G(e.value)):void 0}):null,table:me?null:e(n,{id:F,caption:S,categories:J.map(e=>e.name??""),series:[{name:S,data:w}],values:[H],format:G,locale:L}),children:t("div",{ref:V,role:"img",tabIndex:me?void 0:0,"aria-label":S,"aria-describedby":me?void 0:F,onPointerLeave:()=>U(null),onBlur:()=>U(null),onKeyDown:e=>{if("ArrowRight"!==e.key&&"ArrowLeft"!==e.key)return;const t=ve.map(e=>e.index);if(0===t.length)return;const a=null===T?-1:t.indexOf(T),n="ArrowRight"===e.key?a+1:a-1;U(t[(n+t.length)%t.length]),e.preventDefault()},className:g("relative w-full rounded-(--neba-radius-xs)","focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-2"),style:{height:ee},children:[me?e("div",{className:g("flex h-full items-center justify-center text-(--neba-muted-fg)",y[R]),children:E??q.empty.title}):W>0?t("svg",{width:W,height:ee,viewBox:`0 0 ${W} ${ee}`,"aria-hidden":"true",className:"block",children:[ve.map(t=>{const a=null!==Q.hovered&&Q.hovered!==t.index||null!==T&&T!==t.index,n=t.end-t.start>2*ce?ce/2:0;return e("path",{d:d(oe,de,se,ue,t.start+n,t.end-n),fill:H[t.index].color??X[t.index],opacity:a?.32:1,onPointerEnter:re?void 0:()=>U(t.index),className:"[transition:opacity_var(--neba-duration)_var(--neba-ease)]"},t.index)}),"all"===k?ve.map(t=>{const a=((t.start+t.end)/2-90)*(Math.PI/180),n=ue>0?(ue+se)/2:.68*se,l=`${Math.round(100*t.share)}%`;return(t.end-t.start)*(Math.PI/180)*n<2*te||se-ue<1.6*te?null:e("text",{x:oe+n*Math.cos(a),y:de+n*Math.sin(a),textAnchor:"middle",dominantBaseline:"central",fontSize:te,fontWeight:600,fill:"var(--neba-surface)",className:"tabular-nums",children:l},t.index)}):null]}):null,j&&ue>0?e("div",{className:"pointer-events-none absolute flex flex-col items-center justify-center text-center",style:{left:oe-ue,top:de-ue,width:2*ue,height:Z?ue:2*ue},children:j}):null,null===T||re?null:ie.render?e("div",{className:"pointer-events-none absolute top-0 left-1/2 z-10",children:ie.render({index:T,category:J[T]?.name??T,items:pe})}):e(r,{heading:J[T]?.name,items:pe,x:oe,y:8,flip:!1,size:R})]})})}
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as a from"react";import{ChartDataTable as n,ChartLegendBar as l,ChartSurface as i,ChartTooltipPanel as r,useMeasuredWidth as o,useVisibility as s}from"../../internal/chart-frame.js";import{arcPath as d,categoryAt as u,chartFontSizes as m,compactNumber as c,formatCategory as h,markGap as v,plotHeights as f,seriesColor as p,toValue as x}from"../../internal/chart.js";import{numberFormatter as b}from"../../internal/format.js";import{cx as g,metaTextClasses as y}from"../../internal/styles.js";import{emptyMessages as M,useMessages as N}from"../../internal/i18n.js";const j={pie:0,donut:.62,semi:.62};export function PieChart({data:w,categories:I,shape:P="pie",startAngle:z=0,center:k,valueLabels:A="none",height:$,format:L,locale:S,label:_,legend:B,tooltip:E,empty:R,size:C="md",variant:D="text",padded:O=!1,className:K,...V}){const W=a.useRef(null),q=o(W),F=N(M,S),G=a.useId(),H=a.useCallback(e=>L?b(S,L).format(e):c(e,S),[L,S]),J=a.useMemo(()=>w.map(x),[w]),Q=a.useMemo(()=>J.map((e,t)=>({name:h(u(t,I,[J]),S),data:[w[t]],color:e.color})),[J,I,w,S]),T=s(Q),[U,X]=a.useState(null),Y=Q.map((e,t)=>p(e,t)),Z=J.reduce((e,t,a)=>T.visible[a]&&null!==t.value?e+Math.abs(t.value):e,0),ee="semi"===P,te="number"==typeof $?$:f[C],ae=m[C],ne=!1===B?{interactive:!1}:!0===B||void 0===B?{}:B,le=!1!==B&&Q.length>1,ie=ne.side??"bottom",re=!1===E?{mode:"none"}:!0===E||void 0===E?{}:E,oe="none"===re.mode,se=q/2,de=Math.max(0,Math.min(q/2,ee?te:te/2)-2),ue=ee?Math.min(te,te/2+de/2):te/2,me=de*j[P],ce=Z<=0||de<=0,he=de>0?Math.min(4,v/de*(180/Math.PI)):0,ve=ee?180:360,fe=[];let pe=ee?-90:z;J.forEach((e,t)=>{if(!T.visible[t]||null===e.value||0===e.value)return;const a=Math.abs(e.value)/Z,n=a*ve;fe.push({index:t,start:pe,end:pe+n,value:e.value,share:a}),pe+=n});const xe=null===U?[]:[{seriesIndex:U,name:Q[U]?.name,color:J[U]?.color??Y[U],value:J[U]?.value??null,formatted:`${H(J[U]?.value??0)} · ${Math.round(10*(Math.abs(J[U]?.value??0)/Z*100+Number.EPSILON))/10}%`,label:J[U]?.label}];return e(i,{...V,size:C,variant:D,padded:O,className:K,legendSide:ie,legend:le?e(l,{series:Q,colors:Y,options:ne,visibility:T,size:C,values:ne.showValue?J.map(e=>null===e.value?void 0:H(e.value)):void 0}):null,table:ce?null:e(n,{id:G,caption:_,categories:Q.map(e=>e.name??""),series:[{name:_,data:w}],values:[J],format:H,locale:S}),children:t("div",{ref:W,role:"img",tabIndex:ce?void 0:0,"aria-label":_,"aria-describedby":ce?void 0:G,onPointerLeave:()=>X(null),onBlur:()=>X(null),onKeyDown:e=>{if("ArrowRight"!==e.key&&"ArrowLeft"!==e.key)return;const t=fe.map(e=>e.index);if(0===t.length)return;const a=null===U?-1:t.indexOf(U),n="ArrowRight"===e.key?a+1:a-1;X(t[(n+t.length)%t.length]),e.preventDefault()},className:g("relative w-full rounded-(--neba-radius-xs)","focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-2"),style:{height:te},children:[ce?e("div",{className:g("flex h-full items-center justify-center text-(--neba-muted-fg)",y[C]),children:R??F.title}):q>0?t("svg",{width:q,height:te,viewBox:`0 0 ${q} ${te}`,"aria-hidden":"true",className:"block",children:[fe.map(t=>{const a=null!==T.hovered&&T.hovered!==t.index||null!==U&&U!==t.index,n=t.end-t.start>2*he?he/2:0;return e("path",{d:d(se,ue,de,me,t.start+n,t.end-n),fill:J[t.index].color??Y[t.index],opacity:a?.32:1,onPointerEnter:oe?void 0:()=>X(t.index),className:"[transition:opacity_var(--neba-duration)_var(--neba-ease)]"},t.index)}),"all"===A?fe.map(t=>{const a=((t.start+t.end)/2-90)*(Math.PI/180),n=me>0?(me+de)/2:.68*de,l=`${Math.round(100*t.share)}%`;return(t.end-t.start)*(Math.PI/180)*n<2*ae||de-me<1.6*ae?null:e("text",{x:se+n*Math.cos(a),y:ue+n*Math.sin(a),textAnchor:"middle",dominantBaseline:"central",fontSize:ae,fontWeight:600,fill:"var(--neba-surface)",className:"tabular-nums",children:l},t.index)}):null]}):null,k&&me>0?e("div",{className:"pointer-events-none absolute flex flex-col items-center justify-center text-center",style:{left:se-me,top:ue-me,width:2*me,height:ee?me:2*me},children:k}):null,null===U||oe?null:re.render?e("div",{className:"pointer-events-none absolute top-0 left-1/2 z-10",children:re.render({index:U,category:Q[U]?.name??U,items:xe})}):e(r,{heading:Q[U]?.name,items:xe,x:se,y:8,flip:!1,size:C})]})})}
@@ -1,2 +1,2 @@
1
- export { PieChart } from './PieChart';
2
- export type { PieChartProps } from './PieChart';
1
+ export { PieChart } from './PieChart.js';
2
+ export type { PieChartProps } from './PieChart.js';
@@ -1 +1 @@
1
- export{PieChart}from"./PieChart";
1
+ export{PieChart}from"./PieChart.js";
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { NebaElevation, NebaPosition, NebaStyleProps } from '../../types';
2
+ import type { NebaElevation, NebaPosition, NebaStyleProps } from '../../types.js';
3
3
  export interface PillProps extends NebaStyleProps, Omit<React.ComponentPropsWithoutRef<'div'>, 'color' | 'onClick' | 'title'> {
4
4
  /**
5
5
  * Drop shadow depth. `2` here, against the `0` everything else defaults to.
@@ -1 +1 @@
1
- import{jsx as e,jsxs as n,Fragment as t}from"react/jsx-runtime";import*as o from"react";import{controlSlots as l,controlTextClasses as r,focusRingClasses as i,gapClasses as s,hasContent as a,iconClasses as c,iconSizeClasses as d,metaTextClasses as m,paddingXClasses as x,pressTransitionClasses as f,sheetBodyClasses as p,surfaceClasses as u,transitionClasses as h}from"../../internal/styles";const v={solid:[u,"text-(--n-on-solid) bg-(--n-fill)","[box-shadow:var(--n-elev),var(--neba-plate-solid)]"].join(" "),outline:[u,"border text-(--n-accent) bg-(--n-panel)","[border-color:var(--n-line)]","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),text:`${u} text-(--n-accent) bg-(--n-soft)`},b={solid:"hover:bg-(--n-fill-hover) active:bg-(--n-fill-active)",outline:"hover:bg-(--n-panel-hover) hover:[border-color:var(--n-line-hover)] active:bg-(--n-panel-press)",text:"hover:bg-(--n-soft-hover) active:bg-(--n-soft-press)"},g={xs:"min-h-5.5",sm:"min-h-6.5",md:"min-h-8",lg:"min-h-10",xl:"min-h-12"},w={xs:"rounded-[0.6875rem]",sm:"rounded-[0.8125rem]",md:"rounded-[1rem]",lg:"rounded-[1.25rem]",xl:"rounded-[1.5rem]"},j={default:{xs:"px-3",sm:"px-4",md:"px-5",lg:"px-6",xl:"px-8"},compact:{xs:"px-1.5",sm:"px-2",md:"px-2.5",lg:"px-3",xl:"px-4"}},y={static:{top:"",bottom:""},sticky:{top:"sticky top-3 z-20",bottom:"sticky bottom-3 z-20"},fixed:{top:"fixed inset-x-0 top-3 z-30 mx-auto w-fit",bottom:"fixed inset-x-0 bottom-3 z-30 mx-auto w-fit"}};export const Pill=o.forwardRef(function({variant:u="solid",size:N="md",color:k="secondary",density:z="default",elevation:$=2,startIcon:_,endIcon:C,title:R,description:B,details:H,expanded:I=!1,position:E="static",side:F="top",className:O,style:P,children:S,onClick:q,...A},D){const G=o.useRef(null),[J,K]=o.useState(0);o.useEffect(()=>{const e=G.current;if(!e)return;const n=new ResizeObserver(()=>{K(e.scrollHeight)});return n.observe(e),K(e.scrollHeight),()=>n.disconnect()},[H]);const L=Boolean(q),M=x[z][N],Q=n(t,{children:[a(_)?e("span",{className:`flex shrink-0 items-center justify-center overflow-hidden rounded-full [&_img]:size-full [&_img]:object-cover ${d[N]}`,children:_}):null,a(R)||a(B)||a(S)?n("span",{className:["flex min-w-0 flex-1 flex-col items-center justify-center text-center",j[z][N]].join(" "),children:[a(R)?e("span",{className:"max-w-full truncate",children:R}):null,a(B)?e("span",{className:`max-w-full truncate font-normal ${m[N]} [color:color-mix(in_oklab,currentColor_72%,transparent)]`,children:B}):null,S]}):null]});return n("div",{ref:D,className:["inline-flex max-w-full flex-col overflow-hidden align-middle",w[N],"font-medium whitespace-nowrap select-none",r[N],v[u],h,f,c,L?`neba-glow ${b[u]}`:"",y[E][F],O??""].filter(Boolean).join(" "),style:{...l(k,$,u),...P},...A,children:[n("div",{className:["flex shrink-0 items-center py-1",g[N],s[N],L?"ps-0":M,a(C)?"pe-1":L?"pe-0":""].join(" "),children:[L?e("button",{type:"button",className:["flex min-w-0 flex-1 cursor-pointer items-center justify-center self-stretch","rounded-[inherit]",s[N],M,i].join(" "),onClick:q,children:Q}):Q,a(C)?e("span",{className:"flex h-[1lh] shrink-0 items-center",children:C}):null]}),a(H)?e("div",{className:["overflow-hidden","[transition:height_var(--neba-duration)_var(--neba-ease)]","motion-reduce:[transition-duration:0ms]"].join(" "),style:{height:I?J:0},inert:!I,children:e("div",{ref:G,className:`whitespace-normal ${M} pb-2 ${p[N]}`,children:H})}):null]})});
1
+ import{jsx as e,jsxs as n,Fragment as t}from"react/jsx-runtime";import*as o from"react";import{controlSlots as l,controlTextClasses as r,focusRingClasses as i,gapClasses as s,hasContent as a,iconClasses as c,iconSizeClasses as d,metaTextClasses as m,paddingXClasses as x,pressTransitionClasses as f,sheetBodyClasses as p,surfaceClasses as u,transitionClasses as h}from"../../internal/styles.js";const v={solid:[u,"text-(--n-on-solid) bg-(--n-fill)","[box-shadow:var(--n-elev),var(--neba-plate-solid)]"].join(" "),outline:[u,"border text-(--n-accent) bg-(--n-panel)","[border-color:var(--n-line)]","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),text:`${u} text-(--n-accent) bg-(--n-soft)`},b={solid:"hover:bg-(--n-fill-hover) active:bg-(--n-fill-active)",outline:"hover:bg-(--n-panel-hover) hover:[border-color:var(--n-line-hover)] active:bg-(--n-panel-press)",text:"hover:bg-(--n-soft-hover) active:bg-(--n-soft-press)"},g={xs:"min-h-5.5",sm:"min-h-6.5",md:"min-h-8",lg:"min-h-10",xl:"min-h-12"},w={xs:"rounded-[0.6875rem]",sm:"rounded-[0.8125rem]",md:"rounded-[1rem]",lg:"rounded-[1.25rem]",xl:"rounded-[1.5rem]"},j={default:{xs:"px-3",sm:"px-4",md:"px-5",lg:"px-6",xl:"px-8"},compact:{xs:"px-1.5",sm:"px-2",md:"px-2.5",lg:"px-3",xl:"px-4"}},y={static:{top:"",bottom:""},sticky:{top:"sticky top-3 z-20",bottom:"sticky bottom-3 z-20"},fixed:{top:"fixed inset-x-0 top-3 z-30 mx-auto w-fit",bottom:"fixed inset-x-0 bottom-3 z-30 mx-auto w-fit"}};export const Pill=/*@__PURE__*/o.forwardRef(function({variant:u="solid",size:N="md",color:k="secondary",density:z="default",elevation:$=2,startIcon:_,endIcon:C,title:R,description:B,details:H,expanded:I=!1,position:E="static",side:F="top",className:O,style:P,children:S,onClick:q,...A},D){const G=o.useRef(null),[J,K]=o.useState(0);o.useEffect(()=>{const e=G.current;if(!e)return;const n=new ResizeObserver(()=>{K(e.scrollHeight)});return n.observe(e),K(e.scrollHeight),()=>n.disconnect()},[H]);const L=Boolean(q),M=x[z][N],Q=n(t,{children:[a(_)?e("span",{className:`flex shrink-0 items-center justify-center overflow-hidden rounded-full [&_img]:size-full [&_img]:object-cover ${d[N]}`,children:_}):null,a(R)||a(B)||a(S)?n("span",{className:["flex min-w-0 flex-1 flex-col items-center justify-center text-center",j[z][N]].join(" "),children:[a(R)?e("span",{className:"max-w-full truncate",children:R}):null,a(B)?e("span",{className:`max-w-full truncate font-normal ${m[N]} [color:color-mix(in_oklab,currentColor_72%,transparent)]`,children:B}):null,S]}):null]});return n("div",{ref:D,className:["inline-flex max-w-full flex-col overflow-hidden align-middle",w[N],"font-medium whitespace-nowrap select-none",r[N],v[u],h,f,c,L?`neba-glow ${b[u]}`:"",y[E][F],O??""].filter(Boolean).join(" "),style:{...l(k,$,u),...P},...A,children:[n("div",{className:["flex shrink-0 items-center py-1",g[N],s[N],L?"ps-0":M,a(C)?"pe-1":L?"pe-0":""].join(" "),children:[L?e("button",{type:"button",className:["flex min-w-0 flex-1 cursor-pointer items-center justify-center self-stretch","rounded-[inherit]",s[N],M,i].join(" "),onClick:q,children:Q}):Q,a(C)?e("span",{className:"flex h-[1lh] shrink-0 items-center",children:C}):null]}),a(H)?e("div",{className:["overflow-hidden","[transition:height_var(--neba-duration)_var(--neba-ease)]","motion-reduce:[transition-duration:0ms]"].join(" "),style:{height:I?J:0},inert:!I,children:e("div",{ref:G,className:`whitespace-normal ${M} pb-2 ${p[N]}`,children:H})}):null]})});
@@ -1,2 +1,2 @@
1
- export { Pill } from './Pill';
2
- export type { PillProps } from './Pill';
1
+ export { Pill } from './Pill.js';
2
+ export type { PillProps } from './Pill.js';
@@ -1 +1 @@
1
- export{Pill}from"./Pill";
1
+ export{Pill}from"./Pill.js";
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { Popover as BaseUIPopover } from '@base-ui/react/popover';
3
- import type { NebaAlign, NebaSide, NebaStyleProps } from '../../types';
3
+ import type { NebaAlign, NebaSide, NebaStyleProps } from '../../types.js';
4
4
  /**
5
5
  * A popover takes `size`, `color` and `density` and stops there.
6
6
  *
@@ -1 +1 @@
1
- import{jsx as e,jsxs as a}from"react/jsx-runtime";import{Popover as o}from"@base-ui/react/popover";import{boxPaddingXClasses as t,boxPaddingYClasses as n}from"../box/Box";import{useMessages as i}from"../../internal/i18n";import{CloseIcon as s}from"../../internal/icons";import{hasContent as l,metaTextClasses as r,radiusClasses as d,sheetBodyClasses as c,sheetHeaderGapClasses as m,sheetSectionGapClasses as p,sheetTitleClasses as f,surfaceClasses as u,surfaceSlots as h}from"../../internal/styles";const x={xs:"max-w-56",sm:"max-w-64",md:"max-w-80",lg:"max-w-96",xl:"max-w-lg"},b=[u,"relative flex flex-col","border text-(--neba-fg) bg-(--n-panel-press)","[border-color:var(--n-line)]","[box-shadow:var(--neba-shadow-3),var(--neba-plate-glass)]","[outline:none]","[transition:opacity_var(--neba-duration)_var(--neba-ease)]","data-[starting-style]:opacity-0 data-[ending-style]:opacity-0"].join(" "),g={xs:8,sm:9,md:10,lg:11,xl:12};export const PopoverClose=o.Close;export function Popover({size:u="md",color:v="primary",density:w="default",trigger:y,title:N,description:_,children:k,side:j="bottom",align:O="center",sideOffset:C=6,alignOffset:P=0,arrow:z=!1,open:$,defaultOpen:B,onOpenChange:L,modal:M=!1,dismissible:T=!0,showClose:W=!1,locale:A,closeLabel:D,width:E,className:R,style:q,...F}){const G=i(A),H=t[w][u],I=n[w][u],J=g[u],K=l(N)||l(_);return a(o.Root,{open:$,defaultOpen:B,modal:M,onOpenChange:(e,a)=>{T||e||"escape-key"!==a.reason&&"outside-press"!==a.reason&&"focus-out"!==a.reason?L?.(e):a.cancel()},children:[y?e(o.Trigger,{render:y}):null,e(o.Portal,{children:e(o.Positioner,{className:"neba-portal z-50 [outline:none]",side:j,align:O,sideOffset:C,alignOffset:P,children:a(o.Popup,{className:[b,d[u],c[u],p[u],H,I,void 0===E?x[u]:"",R??""].filter(Boolean).join(" "),style:{...h(v,3),...void 0===E?null:{maxWidth:"number"==typeof E?`${E}px`:E},...q},...F,children:[z?e(o.Arrow,{className:["data-[side=top]:bottom-[-1px]","data-[side=bottom]:top-[-1px] data-[side=bottom]:rotate-180","data-[side=left]:right-[-1px] data-[side=left]:-rotate-90","data-[side=right]:left-[-1px] data-[side=right]:rotate-90"].join(" "),children:a("svg",{width:J,height:J/2,viewBox:"0 0 10 5","aria-hidden":"true",className:"block",children:[e("path",{d:"M0 0h10L5 5z",fill:"var(--n-panel-press)"}),e("path",{d:"M0 0 5 5 10 0",fill:"none",stroke:"var(--n-line)",strokeWidth:"1",vectorEffect:"non-scaling-stroke"})]})}):null,K||W?a("div",{className:"flex shrink-0 items-start gap-3",children:[a("div",{className:`flex min-w-0 flex-1 flex-col ${m[u]}`,children:[l(N)?e(o.Title,{className:`m-0 font-semibold ${f[u]}`,children:N}):null,l(_)?e(o.Description,{className:`m-0 text-(--neba-muted-fg) ${r[u]}`,children:_}):null]}),W?e(o.Close,{"aria-label":D??G.action.close,className:["flex size-[1.6em] shrink-0 cursor-pointer items-center justify-center","rounded-full text-(--neba-muted-fg)","[&_svg]:size-[1.1em] [&_svg]:shrink-0","[transition:background-color_var(--neba-duration)_var(--neba-ease),color_var(--neba-duration)_var(--neba-ease)]","hover:bg-(--n-soft) hover:text-(--neba-fg)","focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-2"].join(" "),children:e(s,{})}):null]}):null,l(k)?e("div",{className:"min-w-0",children:k}):null]})})})]})}
1
+ import{jsx as e,jsxs as a}from"react/jsx-runtime";import{Popover as o}from"@base-ui/react/popover";import{boxPaddingXClasses as t,boxPaddingYClasses as n}from"../box/Box.js";import{actionMessages as s,useMessages as i}from"../../internal/i18n.js";import{CloseIcon as l}from"../../internal/icons.js";import{hasContent as r,metaTextClasses as d,radiusClasses as c,sheetBodyClasses as m,sheetHeaderGapClasses as p,sheetSectionGapClasses as f,sheetTitleClasses as u,surfaceClasses as h,surfaceSlots as x}from"../../internal/styles.js";const b={xs:"max-w-56",sm:"max-w-64",md:"max-w-80",lg:"max-w-96",xl:"max-w-lg"},g=[h,"relative flex flex-col","border text-(--neba-fg) bg-(--n-panel-press)","[border-color:var(--n-line)]","[box-shadow:var(--neba-shadow-3),var(--neba-plate-glass)]","[outline:none]","[transition:opacity_var(--neba-duration)_var(--neba-ease)]","data-[starting-style]:opacity-0 data-[ending-style]:opacity-0"].join(" "),v={xs:8,sm:9,md:10,lg:11,xl:12};export const PopoverClose=o.Close;export function Popover({size:h="md",color:w="primary",density:y="default",trigger:j,title:N,description:_,children:k,side:O="bottom",align:C="center",sideOffset:P=6,alignOffset:z=0,arrow:$=!1,open:B,defaultOpen:L,onOpenChange:M,modal:T=!1,dismissible:W=!0,showClose:A=!1,locale:D,closeLabel:E,width:R,className:q,style:F,...G}){const H=i(s,D),I=t[y][h],J=n[y][h],K=v[h],Q=r(N)||r(_);return a(o.Root,{open:B,defaultOpen:L,modal:T,onOpenChange:(e,a)=>{W||e||"escape-key"!==a.reason&&"outside-press"!==a.reason&&"focus-out"!==a.reason?M?.(e):a.cancel()},children:[j?e(o.Trigger,{render:j}):null,e(o.Portal,{children:e(o.Positioner,{className:"neba-portal z-50 [outline:none]",side:O,align:C,sideOffset:P,alignOffset:z,children:a(o.Popup,{className:[g,c[h],m[h],f[h],I,J,void 0===R?b[h]:"",q??""].filter(Boolean).join(" "),style:{...x(w,3),...void 0===R?null:{maxWidth:"number"==typeof R?`${R}px`:R},...F},...G,children:[$?e(o.Arrow,{className:["data-[side=top]:bottom-[-1px]","data-[side=bottom]:top-[-1px] data-[side=bottom]:rotate-180","data-[side=left]:right-[-1px] data-[side=left]:-rotate-90","data-[side=right]:left-[-1px] data-[side=right]:rotate-90"].join(" "),children:a("svg",{width:K,height:K/2,viewBox:"0 0 10 5","aria-hidden":"true",className:"block",children:[e("path",{d:"M0 0h10L5 5z",fill:"var(--n-panel-press)"}),e("path",{d:"M0 0 5 5 10 0",fill:"none",stroke:"var(--n-line)",strokeWidth:"1",vectorEffect:"non-scaling-stroke"})]})}):null,Q||A?a("div",{className:"flex shrink-0 items-start gap-3",children:[a("div",{className:`flex min-w-0 flex-1 flex-col ${p[h]}`,children:[r(N)?e(o.Title,{className:`m-0 font-semibold ${u[h]}`,children:N}):null,r(_)?e(o.Description,{className:`m-0 text-(--neba-muted-fg) ${d[h]}`,children:_}):null]}),A?e(o.Close,{"aria-label":E??H.close,className:["flex size-[1.6em] shrink-0 cursor-pointer items-center justify-center","rounded-full text-(--neba-muted-fg)","[&_svg]:size-[1.1em] [&_svg]:shrink-0","[transition:background-color_var(--neba-duration)_var(--neba-ease),color_var(--neba-duration)_var(--neba-ease)]","hover:bg-(--n-soft) hover:text-(--neba-fg)","focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-2"].join(" "),children:e(l,{})}):null]}):null,r(k)?e("div",{className:"min-w-0",children:k}):null]})})})]})}
@@ -1,2 +1,2 @@
1
- export { Popover, PopoverClose } from './Popover';
2
- export type { PopoverCloseProps, PopoverProps } from './Popover';
1
+ export { Popover, PopoverClose } from './Popover.js';
2
+ export type { PopoverCloseProps, PopoverProps } from './Popover.js';
@@ -1 +1 @@
1
- export{Popover,PopoverClose}from"./Popover";
1
+ export{Popover,PopoverClose}from"./Popover.js";
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { type ProgressSharedProps } from '../../internal/progress';
3
- import type { NebaColor, NebaSize } from '../../types';
2
+ import { type ProgressSharedProps } from '../../internal/progress.js';
3
+ import type { NebaColor, NebaSize } from '../../types.js';
4
4
  export interface ProgressBoxProps extends ProgressSharedProps {
5
5
  /** Size of one plate. */
6
6
  size?: NebaSize;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as a}from"react/jsx-runtime";import*as l from"react";import{Progress as t}from"@base-ui/react/progress";import{plateGapClasses as n,plateRadiusClasses as r,plateSizeClasses as s,progressAriaText as i,progressFraction as o,progressSlots as m,progressText as f}from"../../internal/progress";import{metaTextClasses as c,stackGapClasses as u}from"../../internal/styles";export const ProgressBox=l.forwardRef(function({size:l="md",color:d="primary",count:h=4,value:x=null,min:b=0,max:p=100,label:g,showValue:v=!1,format:y,className:w,style:j,...N},M){const B=o(x,b,p),V=null===B,k=void 0!==y,A=Math.max(1,Math.floor(h));return a(t.Root,{ref:M,value:x??null,min:b,max:p,format:y,getAriaValueText:i(B,k),className:["inline-flex flex-col",u[l],w??""].filter(Boolean).join(" "),style:{...m(d),...j},...N,children:[g||v?a("div",{className:["flex items-baseline gap-2",g?"justify-between":"justify-end",c[l]].join(" "),children:[g?e(t.Label,{className:"min-w-0 truncate text-(--neba-fg)",children:g}):null,v?e(t.Value,{className:"shrink-0 tabular-nums text-(--neba-muted-fg)",children:e=>f(B,e,k)}):null]}):null,e(t.Track,{className:`flex ${n[l]}`,children:Array.from({length:A},(a,t)=>e("span",{className:["relative overflow-hidden bg-(--n-soft)","[box-shadow:var(--neba-plate-glass)]",s[l],r[l],V?"neba-plate-wave":""].filter(Boolean).join(" "),style:V?{"--n-i":t}:void 0,children:V?null:e("span",{className:"absolute inset-y-0 start-0 bg-(--n-fill) [transition:width_var(--neba-duration-fill)_var(--neba-ease)]",style:{width:`${Math.min(100,Math.max(0,100*(B*A-t)))}%`}})},t))})]})});
1
+ import{jsx as e,jsxs as a}from"react/jsx-runtime";import*as l from"react";import{Progress as s}from"@base-ui/react/progress";import{plateGapClasses as t,plateRadiusClasses as n,plateSizeClasses as r,progressAriaText as i,progressFraction as o,progressSlots as m,progressText as f}from"../../internal/progress.js";import{metaTextClasses as c,stackGapClasses as u}from"../../internal/styles.js";export const ProgressBox=/*@__PURE__*/l.forwardRef(function({size:l="md",color:d="primary",count:h=4,value:x=null,min:b=0,max:p=100,label:g,showValue:v=!1,format:j,className:y,style:w,...N},M){const B=o(x,b,p),V=null===B,k=void 0!==j,A=Math.max(1,Math.floor(h));return a(s.Root,{ref:M,value:x??null,min:b,max:p,format:j,getAriaValueText:i(B,k),className:["inline-flex flex-col",u[l],y??""].filter(Boolean).join(" "),style:{...m(d),...w},...N,children:[g||v?a("div",{className:["flex items-baseline gap-2",g?"justify-between":"justify-end",c[l]].join(" "),children:[g?e(s.Label,{className:"min-w-0 truncate text-(--neba-fg)",children:g}):null,v?e(s.Value,{className:"shrink-0 tabular-nums text-(--neba-muted-fg)",children:e=>f(B,e,k)}):null]}):null,e(s.Track,{className:`flex ${t[l]}`,children:Array.from({length:A},(a,s)=>e("span",{className:["relative overflow-hidden bg-(--n-soft)","[box-shadow:var(--neba-plate-glass)]",r[l],n[l],V?"neba-plate-wave":""].filter(Boolean).join(" "),style:V?{"--n-i":s}:void 0,children:V?null:e("span",{className:"absolute inset-y-0 start-0 bg-(--n-fill) [transition:width_var(--neba-duration-fill)_var(--neba-ease)]",style:{width:`${Math.min(100,Math.max(0,100*(B*A-s)))}%`}})},s))})]})});
@@ -1,2 +1,2 @@
1
- export { ProgressBox } from './ProgressBox';
2
- export type { ProgressBoxProps } from './ProgressBox';
1
+ export { ProgressBox } from './ProgressBox.js';
2
+ export type { ProgressBoxProps } from './ProgressBox.js';
@@ -1 +1 @@
1
- export{ProgressBox}from"./ProgressBox";
1
+ export{ProgressBox}from"./ProgressBox.js";
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { type ProgressSharedProps } from '../../internal/progress';
3
- import type { NebaColor, NebaSize } from '../../types';
2
+ import { type ProgressSharedProps } from '../../internal/progress.js';
3
+ import type { NebaColor, NebaSize } from '../../types.js';
4
4
  export interface ProgressCircularProps extends ProgressSharedProps {
5
5
  /** Diameter of the ring. Sits just under the control ladder at every step. */
6
6
  size?: NebaSize;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as r}from"react/jsx-runtime";import*as a from"react";import{Progress as t}from"@base-ui/react/progress";import{progressAriaText as s,progressFraction as n,progressSlots as i,progressText as o,ringDiameters as l,ringStrokes as c}from"../../internal/progress";import{gapClasses as m,metaTextClasses as f}from"../../internal/styles";export const ProgressCircular=a.forwardRef(function({size:a="md",color:u="primary",value:h=null,min:d=0,max:x=100,label:k,showValue:p=!1,format:b,className:g,style:v,...y},$){const N=n(h,d,x),w=null===N,j=void 0!==b,V=l[a],B=c[a],D=V/2,L=D-B/2,P=2*Math.PI*L,R=w?`${.28*P} ${P}`:`${P}`,W=w?0:P*(1-N);return r(t.Root,{ref:$,value:h??null,min:d,max:x,format:b,getAriaValueText:s(N,j),className:["inline-flex items-center",m[a],f[a],g??""].filter(Boolean).join(" "),style:{...i(u),...v},...y,children:[r("svg",{className:w?"neba-ring-spin shrink-0":"shrink-0",width:V,height:V,viewBox:`0 0 ${V} ${V}`,fill:"none","aria-hidden":"true",children:[e("circle",{cx:D,cy:D,r:L,stroke:"var(--n-soft)",strokeWidth:B}),e("circle",{cx:D,cy:D,r:L,stroke:"var(--n-accent)",strokeWidth:B,strokeLinecap:"round",strokeDasharray:R,strokeDashoffset:W,transform:`rotate(-90 ${D} ${D})`,className:"[transition:stroke-dashoffset_var(--neba-duration-fill)_var(--neba-ease)]"})]}),k?e(t.Label,{className:"min-w-0 truncate text-(--neba-fg)",children:k}):null,p?e(t.Value,{className:"shrink-0 tabular-nums text-(--neba-muted-fg)",children:e=>o(N,e,j)}):null]})});
1
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import*as a from"react";import{Progress as s}from"@base-ui/react/progress";import{progressAriaText as t,progressFraction as n,progressSlots as i,progressText as o,ringDiameters as l,ringStrokes as c}from"../../internal/progress.js";import{gapClasses as m,metaTextClasses as f}from"../../internal/styles.js";export const ProgressCircular=/*@__PURE__*/a.forwardRef(function({size:a="md",color:u="primary",value:h=null,min:d=0,max:x=100,label:k,showValue:p=!1,format:b,className:g,style:v,...y},$){const j=n(h,d,x),N=null===j,w=void 0!==b,V=l[a],B=c[a],D=V/2,L=D-B/2,P=2*Math.PI*L,R=N?`${.28*P} ${P}`:`${P}`,W=N?0:P*(1-j);return r(s.Root,{ref:$,value:h??null,min:d,max:x,format:b,getAriaValueText:t(j,w),className:["inline-flex items-center",m[a],f[a],g??""].filter(Boolean).join(" "),style:{...i(u),...v},...y,children:[r("svg",{className:N?"neba-ring-spin shrink-0":"shrink-0",width:V,height:V,viewBox:`0 0 ${V} ${V}`,fill:"none","aria-hidden":"true",children:[e("circle",{cx:D,cy:D,r:L,stroke:"var(--n-soft)",strokeWidth:B}),e("circle",{cx:D,cy:D,r:L,stroke:"var(--n-accent)",strokeWidth:B,strokeLinecap:"round",strokeDasharray:R,strokeDashoffset:W,transform:`rotate(-90 ${D} ${D})`,className:"[transition:stroke-dashoffset_var(--neba-duration-fill)_var(--neba-ease)]"})]}),k?e(s.Label,{className:"min-w-0 truncate text-(--neba-fg)",children:k}):null,p?e(s.Value,{className:"shrink-0 tabular-nums text-(--neba-muted-fg)",children:e=>o(j,e,w)}):null]})});
@@ -1,2 +1,2 @@
1
- export { ProgressCircular } from './ProgressCircular';
2
- export type { ProgressCircularProps } from './ProgressCircular';
1
+ export { ProgressCircular } from './ProgressCircular.js';
2
+ export type { ProgressCircularProps } from './ProgressCircular.js';
@@ -1 +1 @@
1
- export{ProgressCircular}from"./ProgressCircular";
1
+ export{ProgressCircular}from"./ProgressCircular.js";
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { type ProgressSharedProps } from '../../internal/progress';
3
- import type { NebaColor, NebaSize } from '../../types';
2
+ import { type ProgressSharedProps } from '../../internal/progress.js';
3
+ import type { NebaColor, NebaSize } from '../../types.js';
4
4
  export interface ProgressLinearProps extends ProgressSharedProps {
5
5
  /** Thickness of the groove. Nothing else on a bar has a size. */
6
6
  size?: NebaSize;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as l}from"react/jsx-runtime";import*as a from"react";import{Progress as r}from"@base-ui/react/progress";import{barThicknessClasses as n,progressAriaText as s,progressFraction as t,progressSlots as i,progressText as o}from"../../internal/progress";import{metaTextClasses as m,stackGapClasses as u}from"../../internal/styles";export const ProgressLinear=a.forwardRef(function({size:a="md",color:f="primary",value:c=null,min:d=0,max:b=100,label:p,showValue:x=!1,format:g,className:h,style:w,...j},v){const N=t(c,d,b),y=null===N,V=void 0!==g;return l(r.Root,{ref:v,value:c??null,min:d,max:b,format:g,getAriaValueText:s(N,V),className:["flex w-full flex-col",u[a],h??""].filter(Boolean).join(" "),style:{...i(f),...w},...j,children:[p||x?l("div",{className:["flex items-baseline gap-2",p?"justify-between":"justify-end",m[a]].join(" "),children:[p?e(r.Label,{className:"min-w-0 truncate text-(--neba-fg)",children:p}):null,x?e(r.Value,{className:"shrink-0 tabular-nums text-(--neba-muted-fg)",children:e=>o(N,e,V)}):null]}):null,e(r.Track,{className:`relative w-full overflow-hidden rounded-full bg-(--n-soft) ${n[a]}`,children:e(r.Indicator,{className:["absolute rounded-full bg-(--n-fill)",y?"neba-sweep":"top-0 [transition:width_var(--neba-duration-fill)_var(--neba-ease)]"].join(" ")})})]})});
1
+ import{jsx as e,jsxs as l}from"react/jsx-runtime";import*as a from"react";import{Progress as r}from"@base-ui/react/progress";import{barThicknessClasses as n,progressAriaText as s,progressFraction as t,progressSlots as i,progressText as o}from"../../internal/progress.js";import{metaTextClasses as m,stackGapClasses as u}from"../../internal/styles.js";export const ProgressLinear=/*@__PURE__*/a.forwardRef(function({size:a="md",color:f="primary",value:c=null,min:d=0,max:b=100,label:p,showValue:x=!1,format:j,className:g,style:h,...w},v){const N=t(c,d,b),y=null===N,V=void 0!==j;return l(r.Root,{ref:v,value:c??null,min:d,max:b,format:j,getAriaValueText:s(N,V),className:["flex w-full flex-col",u[a],g??""].filter(Boolean).join(" "),style:{...i(f),...h},...w,children:[p||x?l("div",{className:["flex items-baseline gap-2",p?"justify-between":"justify-end",m[a]].join(" "),children:[p?e(r.Label,{className:"min-w-0 truncate text-(--neba-fg)",children:p}):null,x?e(r.Value,{className:"shrink-0 tabular-nums text-(--neba-muted-fg)",children:e=>o(N,e,V)}):null]}):null,e(r.Track,{className:`relative w-full overflow-hidden rounded-full bg-(--n-soft) ${n[a]}`,children:e(r.Indicator,{className:["absolute rounded-full bg-(--n-fill)",y?"neba-sweep":"top-0 [transition:width_var(--neba-duration-fill)_var(--neba-ease)]"].join(" ")})})]})});
@@ -1,2 +1,2 @@
1
- export { ProgressLinear } from './ProgressLinear';
2
- export type { ProgressLinearProps } from './ProgressLinear';
1
+ export { ProgressLinear } from './ProgressLinear.js';
2
+ export type { ProgressLinearProps } from './ProgressLinear.js';
@@ -1 +1 @@
1
- export{ProgressLinear}from"./ProgressLinear";
1
+ export{ProgressLinear}from"./ProgressLinear.js";
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { Radio as BaseUIRadio } from '@base-ui/react/radio';
3
3
  import { RadioGroup as BaseUIRadioGroup } from '@base-ui/react/radio-group';
4
- import type { NebaColor, NebaOrientation, NebaSize } from '../../types';
4
+ import type { NebaColor, NebaOrientation, NebaSize } from '../../types.js';
5
5
  export interface RadioGroupProps extends Omit<React.ComponentPropsWithoutRef<typeof BaseUIRadioGroup>, 'className' | 'style' | 'render'> {
6
6
  /** @default 'md' */
7
7
  size?: NebaSize;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as a}from"react/jsx-runtime";import*as r from"react";import{Radio as n}from"@base-ui/react/radio";import{RadioGroup as l}from"@base-ui/react/radio-group";import{Field as o}from"@base-ui/react/field";import{controlTextClasses as i,metaTextClasses as t,surfaceClasses as s,tickDotClasses as d,tickRowLeadingClasses as c,tickSizeClasses as b,transitionClasses as f}from"../../internal/styles";const h=r.createContext({size:"md",color:"primary",readOnly:!1}),m=["relative inline-flex shrink-0 items-center justify-center rounded-full border","[-webkit-tap-highlight-color:transparent] [touch-action:manipulation]",f,"active:[transition-duration:0ms]","focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-2"].join(" "),u=[s,"cursor-pointer bg-(--n-panel) [border-color:var(--n-line)]","hover:bg-(--n-panel-hover) hover:[border-color:var(--n-line-hover)]","data-[checked]:bg-(--n-fill) data-[checked]:text-(--n-on-solid)","data-[checked]:[border-color:transparent]","data-[checked]:hover:bg-(--n-fill-hover)"].join(" "),p=[s,"cursor-default bg-(--n-panel) [border-color:var(--n-line)]","[filter:saturate(0.55)]","data-[checked]:bg-(--n-fill) data-[checked]:text-(--n-on-solid)","data-[checked]:[border-color:transparent]"].join(" "),v=["cursor-not-allowed bg-transparent [border-color:var(--neba-disabled-border)] shadow-none","data-[checked]:bg-(--neba-disabled-bg)"].join(" ");export const Radio=r.forwardRef(function({label:l,description:s,disabled:f=!1,className:x,style:g,...y},N){const j=r.useContext(h),$=y.readOnly??j.readOnly;return e(o.Root,{disabled:f,className:["flex flex-col",x??""].filter(Boolean).join(" "),style:g,children:a("div",{className:`flex items-start gap-2 ${i[j.size]} ${c}`,children:[e("span",{className:"flex h-[1lh] shrink-0 items-center",children:e(n.Root,{ref:N,className:[m,b[j.size],f?v:$?p:u].join(" "),disabled:f,...y,children:e(n.Indicator,{className:`rounded-full bg-current ${d[j.size]}`})})}),l||s?a("span",{className:"flex min-w-0 flex-col gap-0.5",children:[l?e(o.Label,{className:["leading-[1.4]",f?"text-(--neba-disabled-fg)":"cursor-pointer text-(--neba-fg)"].join(" "),children:l}):null,s?e(o.Description,{className:`${t[j.size]} text-(--neba-muted-fg)`,children:s}):null]}):null]})})});export const RadioGroup=r.forwardRef(function({size:n="md",color:i="primary",orientation:s="vertical",label:d,description:c,error:b,invalid:f,disabled:m=!1,readOnly:u=!1,className:p,style:v,children:x,...g},y){const N=null!=b&&!1!==b&&""!==b,j=f??N,$=j?"danger":i,k={"--n-fill":`var(--neba-${$}-fill)`,"--n-fill-hover":`var(--neba-${$}-fill-hover)`,"--n-on-solid":`var(--neba-${$}-on-solid)`,"--n-accent":`var(--neba-${$}-accent)`,"--n-panel":"var(--neba-panel)","--n-panel-hover":"var(--neba-panel-hover)","--n-line":`var(--neba-${$}-line)`,"--n-line-hover":`var(--neba-${$}-line-hover)`,"--n-ring":`var(--neba-${$}-ring)`},R=r.useMemo(()=>({size:n,color:$,readOnly:u}),[n,$,u]);return e(h.Provider,{value:R,children:a(o.Root,{disabled:m,invalid:j,className:["flex flex-col gap-1.5",p??""].filter(Boolean).join(" "),style:{...k,...v},children:[d?e(o.Label,{className:[t[n],"font-medium",m?"text-(--neba-disabled-fg)":"text-(--neba-fg)"].join(" "),children:d}):null,c?e(o.Description,{className:`${t[n]} text-(--neba-muted-fg)`,children:c}):null,e(l,{ref:y,disabled:m,readOnly:u,className:["flex","horizontal"===s?"flex-row flex-wrap gap-x-5 gap-y-2":"flex-col gap-2"].join(" "),...g,children:x}),N?e(o.Error,{match:!0,className:`${t[n]} text-(--n-accent)`,children:b}):null]})})});
1
+ import{jsx as e,jsxs as a}from"react/jsx-runtime";import*as r from"react";import{Radio as n}from"@base-ui/react/radio";import{RadioGroup as l}from"@base-ui/react/radio-group";import{Field as o}from"@base-ui/react/field";import{controlTextClasses as i,metaTextClasses as t,surfaceClasses as s,tickDotClasses as d,tickRowLeadingClasses as c,tickSizeClasses as b,transitionClasses as f}from"../../internal/styles.js";const h=/*@__PURE__*/r.createContext({size:"md",color:"primary",readOnly:!1}),m=["relative inline-flex shrink-0 items-center justify-center rounded-full border","[-webkit-tap-highlight-color:transparent] [touch-action:manipulation]",f,"active:[transition-duration:0ms]","focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-2"].join(" "),u=[s,"cursor-pointer bg-(--n-panel) [border-color:var(--n-line)]","hover:bg-(--n-panel-hover) hover:[border-color:var(--n-line-hover)]","data-[checked]:bg-(--n-fill) data-[checked]:text-(--n-on-solid)","data-[checked]:[border-color:transparent]","data-[checked]:hover:bg-(--n-fill-hover)"].join(" "),p=[s,"cursor-default bg-(--n-panel) [border-color:var(--n-line)]","[filter:saturate(0.55)]","data-[checked]:bg-(--n-fill) data-[checked]:text-(--n-on-solid)","data-[checked]:[border-color:transparent]"].join(" "),v=["cursor-not-allowed bg-transparent [border-color:var(--neba-disabled-border)] shadow-none","data-[checked]:bg-(--neba-disabled-bg)"].join(" ");export const Radio=/*@__PURE__*/r.forwardRef(function({label:l,description:s,disabled:f=!1,className:x,style:g,...j},y){const N=r.useContext(h),$=j.readOnly??N.readOnly;return e(o.Root,{disabled:f,className:["flex flex-col",x??""].filter(Boolean).join(" "),style:g,children:a("div",{className:`flex items-start gap-2 ${i[N.size]} ${c}`,children:[e("span",{className:"flex h-[1lh] shrink-0 items-center",children:e(n.Root,{ref:y,className:[m,b[N.size],f?v:$?p:u].join(" "),disabled:f,...j,children:e(n.Indicator,{className:`rounded-full bg-current ${d[N.size]}`})})}),l||s?a("span",{className:"flex min-w-0 flex-col gap-0.5",children:[l?e(o.Label,{className:["leading-[1.4]",f?"text-(--neba-disabled-fg)":"cursor-pointer text-(--neba-fg)"].join(" "),children:l}):null,s?e(o.Description,{className:`${t[N.size]} text-(--neba-muted-fg)`,children:s}):null]}):null]})})});export const RadioGroup=/*@__PURE__*/r.forwardRef(function({size:n="md",color:i="primary",orientation:s="vertical",label:d,description:c,error:b,invalid:f,disabled:m=!1,readOnly:u=!1,className:p,style:v,children:x,...g},j){const y=null!=b&&!1!==b&&""!==b,N=f??y,$=N?"danger":i,k={"--n-fill":`var(--neba-${$}-fill)`,"--n-fill-hover":`var(--neba-${$}-fill-hover)`,"--n-on-solid":`var(--neba-${$}-on-solid)`,"--n-accent":`var(--neba-${$}-accent)`,"--n-panel":"var(--neba-panel)","--n-panel-hover":"var(--neba-panel-hover)","--n-line":`var(--neba-${$}-line)`,"--n-line-hover":`var(--neba-${$}-line-hover)`,"--n-ring":`var(--neba-${$}-ring)`},R=r.useMemo(()=>({size:n,color:$,readOnly:u}),[n,$,u]);return e(h.Provider,{value:R,children:a(o.Root,{disabled:m,invalid:N,className:["flex flex-col gap-1.5",p??""].filter(Boolean).join(" "),style:{...k,...v},children:[d?e(o.Label,{className:[t[n],"font-medium",m?"text-(--neba-disabled-fg)":"text-(--neba-fg)"].join(" "),children:d}):null,c?e(o.Description,{className:`${t[n]} text-(--neba-muted-fg)`,children:c}):null,e(l,{ref:j,disabled:m,readOnly:u,className:["flex","horizontal"===s?"flex-row flex-wrap gap-x-5 gap-y-2":"flex-col gap-2"].join(" "),...g,children:x}),y?e(o.Error,{match:!0,className:`${t[n]} text-(--n-accent)`,children:b}):null]})})});
@@ -1,2 +1,2 @@
1
- export { Radio, RadioGroup } from './RadioGroup';
2
- export type { RadioGroupProps, RadioProps } from './RadioGroup';
1
+ export { Radio, RadioGroup } from './RadioGroup.js';
2
+ export type { RadioGroupProps, RadioProps } from './RadioGroup.js';
@@ -1 +1 @@
1
- export{Radio,RadioGroup}from"./RadioGroup";
1
+ export{Radio,RadioGroup}from"./RadioGroup.js";
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { NebaColor, NebaSize } from '../../types';
2
+ import type { NebaColor, NebaSize } from '../../types.js';
3
3
  export interface RatingProps extends Omit<React.ComponentPropsWithoutRef<'div'>, 'color' | 'defaultValue' | 'onChange'> {
4
4
  /** How much is rated. Use with `onValueChange` for a controlled Rating. */
5
5
  value?: number;
@@ -1 +1 @@
1
- import{jsx as e,jsxs as a}from"react/jsx-runtime";import*as n from"react";import{StarIcon as t,StarOutlineIcon as r}from"../../internal/icons";import{fillMessage as l,useMessages as i}from"../../internal/i18n";import{controlSlots as o,focusWithinRingClasses as s,gapClasses as d,iconSizeClasses as m,radiusClasses as c,srOnlyClasses as u,transitionClasses as h}from"../../internal/styles";const f="flex items-center justify-center";export const Rating=n.forwardRef(function({value:b,defaultValue:p=0,onValueChange:x,count:g=5,precision:y=1,icon:v,emptyIcon:N,clearable:j=!0,readOnly:M=!1,disabled:w=!1,name:k,required:S=!1,size:C="md",color:L="warning",locale:P,label:q,valueLabel:I,className:A,style:B,onPointerLeave:R,...V},z){const E=i(P),F=n.useId(),O=k??F,[D,G]=n.useState(p),H=void 0!==b,J=H?b:D,[K,Q]=n.useState(null),T=Math.max(1,Math.floor(g)),U=y>0&&y<=1?y:1,W=Math.round(1/U),X=Math.max(0,Math.min(T,K??J)),Y=n.useCallback(e=>I?I(e,T):e<=0?E.rating.empty:l(E.rating.value,{value:String(e),max:String(T)}),[I,T,E]),Z=e=>{H||G(e),x?.(e)},$=Array.from({length:T},(n,l)=>{const i=Math.max(0,Math.min(1,X-l));return a("span",{className:["relative inline-flex shrink-0",m[C],c.xs,M||w?"":s].filter(Boolean).join(" "),children:[e("span",{className:[f,m[C],w?"text-(--neba-disabled-fg)":"text-(--n-empty)"].join(" "),children:N??e(r,{})}),e("span",{"aria-hidden":"true",className:"pointer-events-none absolute inset-y-0 start-0 overflow-hidden",style:{width:100*i+"%"},children:e("span",{className:[f,m[C],w?"text-(--neba-disabled-fg)":"text-(--n-fill)",h].join(" "),children:v??e(t,{})})}),M?null:Array.from({length:W},(a,n)=>{const t=Number((l+(n+1)*U).toFixed(4));return e("label",{className:["absolute inset-y-0",w?"cursor-not-allowed":"cursor-pointer"].join(" "),style:{insetInlineStart:100*n/W+"%",width:100/W+"%"},onPointerEnter:()=>{w||Q(t)},children:e("input",{type:"radio",className:u,name:O,value:t,checked:J===t,disabled:w,required:S,"aria-label":Y(t),onChange:()=>Z(t),onClick:()=>{j&&J===t&&Z(0)}})},t)})]},l)}),_=["inline-flex items-center align-middle",d[C],w?"cursor-not-allowed":"",A??""].filter(Boolean).join(" "),ee={...o(L,0,"solid"),"--n-empty":"color-mix(in oklab, var(--neba-muted-fg) 40%, transparent)",...B};return e("div",M?{ref:z,role:"img","aria-label":Y(Math.max(0,Math.min(T,J))),className:_,style:ee,onPointerLeave:R,...V,children:$}:{ref:z,role:"radiogroup","aria-label":q??E.rating.label,"aria-disabled":w||void 0,"aria-required":S||void 0,className:_,style:ee,onPointerLeave:e=>{Q(null),R?.(e)},...V,children:$})});
1
+ import{jsx as e,jsxs as a}from"react/jsx-runtime";import*as n from"react";import{StarIcon as l,StarOutlineIcon as t}from"../../internal/icons.js";import{fillMessage as r,ratingMessages as i,useMessages as o}from"../../internal/i18n.js";import{controlSlots as s,focusWithinRingClasses as d,gapClasses as m,iconSizeClasses as c,radiusClasses as u,srOnlyClasses as h,transitionClasses as f}from"../../internal/styles.js";const b="flex items-center justify-center";export const Rating=/*@__PURE__*/n.forwardRef(function({value:p,defaultValue:x=0,onValueChange:y,count:v=5,precision:g=1,icon:j,emptyIcon:N,clearable:M=!0,readOnly:w=!1,disabled:k=!1,name:S,required:C=!1,size:L="md",color:P="warning",locale:q,label:I,valueLabel:A,className:B,style:R,onPointerLeave:V,...z},E){const F=o(i,q),O=n.useId(),D=S??O,[G,H]=n.useState(x),J=void 0!==p,K=J?p:G,[Q,T]=n.useState(null),U=Math.max(1,Math.floor(v)),W=g>0&&g<=1?g:1,X=Math.round(1/W),Y=Math.max(0,Math.min(U,Q??K)),Z=n.useCallback(e=>A?A(e,U):e<=0?F.empty:r(F.value,{value:String(e),max:String(U)}),[A,U,F]),$=e=>{J||H(e),y?.(e)},_=Array.from({length:U},(n,r)=>{const i=Math.max(0,Math.min(1,Y-r));return a("span",{className:["relative inline-flex shrink-0",c[L],u.xs,w||k?"":d].filter(Boolean).join(" "),children:[e("span",{className:[b,c[L],k?"text-(--neba-disabled-fg)":"text-(--n-empty)"].join(" "),children:N??e(t,{})}),e("span",{"aria-hidden":"true",className:"pointer-events-none absolute inset-y-0 start-0 overflow-hidden",style:{width:100*i+"%"},children:e("span",{className:[b,c[L],k?"text-(--neba-disabled-fg)":"text-(--n-fill)",f].join(" "),children:j??e(l,{})})}),w?null:Array.from({length:X},(a,n)=>{const l=Number((r+(n+1)*W).toFixed(4));return e("label",{className:["absolute inset-y-0",k?"cursor-not-allowed":"cursor-pointer"].join(" "),style:{insetInlineStart:100*n/X+"%",width:100/X+"%"},onPointerEnter:()=>{k||T(l)},children:e("input",{type:"radio",className:h,name:D,value:l,checked:K===l,disabled:k,required:C,"aria-label":Z(l),onChange:()=>$(l),onClick:()=>{M&&K===l&&$(0)}})},l)})]},r)}),ee=["inline-flex items-center align-middle",m[L],k?"cursor-not-allowed":"",B??""].filter(Boolean).join(" "),ae={...s(P,0,"solid"),"--n-empty":"color-mix(in oklab, var(--neba-muted-fg) 40%, transparent)",...R};return e("div",w?{ref:E,role:"img","aria-label":Z(Math.max(0,Math.min(U,K))),className:ee,style:ae,onPointerLeave:V,...z,children:_}:{ref:E,role:"radiogroup","aria-label":I??F.label,"aria-disabled":k||void 0,"aria-required":C||void 0,className:ee,style:ae,onPointerLeave:e=>{T(null),V?.(e)},...z,children:_})});
@@ -1 +1 @@
1
- export * from './Rating';
1
+ export * from './Rating.js';
@@ -1 +1 @@
1
- export*from"./Rating";
1
+ export*from"./Rating.js";