neba 1.5.0 → 1.7.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 (438) hide show
  1. package/README.md +36 -5
  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/area-chart/AreaChart.d.ts +3 -3
  55. package/dist/components/area-chart/AreaChart.js +1 -1
  56. package/dist/components/area-chart/index.d.ts +2 -2
  57. package/dist/components/area-chart/index.js +1 -1
  58. package/dist/components/aspect-ratio/AspectRatio.d.ts +1 -1
  59. package/dist/components/aspect-ratio/AspectRatio.js +1 -1
  60. package/dist/components/aspect-ratio/index.d.ts +2 -2
  61. package/dist/components/aspect-ratio/index.js +1 -1
  62. package/dist/components/avatar/Avatar.d.ts +1 -1
  63. package/dist/components/avatar/Avatar.js +1 -1
  64. package/dist/components/avatar/index.d.ts +2 -2
  65. package/dist/components/avatar/index.js +1 -1
  66. package/dist/components/badge/Badge.d.ts +1 -1
  67. package/dist/components/badge/Badge.js +1 -1
  68. package/dist/components/badge/index.d.ts +2 -2
  69. package/dist/components/badge/index.js +1 -1
  70. package/dist/components/bar-chart/BarChart.d.ts +2 -2
  71. package/dist/components/bar-chart/BarChart.js +1 -1
  72. package/dist/components/bar-chart/index.d.ts +2 -2
  73. package/dist/components/bar-chart/index.js +1 -1
  74. package/dist/components/blockquote/Blockquote.d.ts +1 -1
  75. package/dist/components/blockquote/Blockquote.js +1 -1
  76. package/dist/components/blockquote/index.d.ts +2 -2
  77. package/dist/components/blockquote/index.js +1 -1
  78. package/dist/components/bottom-navigation/BottomNavigation.d.ts +3 -15
  79. package/dist/components/bottom-navigation/BottomNavigation.js +1 -1
  80. package/dist/components/bottom-navigation/index.d.ts +1 -1
  81. package/dist/components/bottom-navigation/index.js +1 -1
  82. package/dist/components/box/Box.d.ts +1 -1
  83. package/dist/components/box/Box.js +1 -1
  84. package/dist/components/box/index.d.ts +2 -2
  85. package/dist/components/box/index.js +1 -1
  86. package/dist/components/breadcrumb/Breadcrumb.d.ts +1 -1
  87. package/dist/components/breadcrumb/Breadcrumb.js +1 -1
  88. package/dist/components/breadcrumb/index.d.ts +2 -2
  89. package/dist/components/breadcrumb/index.js +1 -1
  90. package/dist/components/button/Button.d.ts +1 -1
  91. package/dist/components/button/Button.js +1 -1
  92. package/dist/components/button/index.d.ts +2 -2
  93. package/dist/components/button/index.js +1 -1
  94. package/dist/components/button-group/ButtonGroup.d.ts +1 -1
  95. package/dist/components/button-group/ButtonGroup.js +1 -1
  96. package/dist/components/button-group/index.d.ts +2 -2
  97. package/dist/components/button-group/index.js +1 -1
  98. package/dist/components/card/Card.d.ts +1 -1
  99. package/dist/components/card/Card.js +1 -1
  100. package/dist/components/card/index.d.ts +2 -2
  101. package/dist/components/card/index.js +1 -1
  102. package/dist/components/carousel/Carousel.d.ts +1 -1
  103. package/dist/components/carousel/Carousel.js +1 -1
  104. package/dist/components/carousel/index.d.ts +2 -2
  105. package/dist/components/carousel/index.js +1 -1
  106. package/dist/components/chat-bubble/ChatBubble.d.ts +1 -1
  107. package/dist/components/chat-bubble/ChatBubble.js +1 -1
  108. package/dist/components/chat-bubble/index.d.ts +2 -2
  109. package/dist/components/chat-bubble/index.js +1 -1
  110. package/dist/components/checkbox/Checkbox.d.ts +1 -1
  111. package/dist/components/checkbox/Checkbox.js +1 -1
  112. package/dist/components/checkbox/index.d.ts +2 -2
  113. package/dist/components/checkbox/index.js +1 -1
  114. package/dist/components/chip/Chip.d.ts +1 -1
  115. package/dist/components/chip/Chip.js +1 -1
  116. package/dist/components/chip/index.d.ts +2 -2
  117. package/dist/components/chip/index.js +1 -1
  118. package/dist/components/collapsible/Collapsible.d.ts +1 -1
  119. package/dist/components/collapsible/Collapsible.js +1 -1
  120. package/dist/components/collapsible/index.d.ts +1 -1
  121. package/dist/components/collapsible/index.js +1 -1
  122. package/dist/components/color-picker/ColorPicker.d.ts +2 -2
  123. package/dist/components/color-picker/ColorPicker.js +1 -1
  124. package/dist/components/color-picker/index.d.ts +2 -2
  125. package/dist/components/color-picker/index.js +1 -1
  126. package/dist/components/combobox/Combobox.d.ts +1 -1
  127. package/dist/components/combobox/Combobox.js +1 -1
  128. package/dist/components/combobox/index.d.ts +2 -2
  129. package/dist/components/combobox/index.js +1 -1
  130. package/dist/components/container/Container.d.ts +1 -1
  131. package/dist/components/container/Container.js +1 -1
  132. package/dist/components/container/index.d.ts +2 -2
  133. package/dist/components/container/index.js +1 -1
  134. package/dist/components/data-table/DataTable.d.ts +1 -1
  135. package/dist/components/data-table/DataTable.js +1 -1
  136. package/dist/components/data-table/index.d.ts +2 -2
  137. package/dist/components/data-table/index.js +1 -1
  138. package/dist/components/date-picker/DatePicker.d.ts +3 -3
  139. package/dist/components/date-picker/DatePicker.js +1 -1
  140. package/dist/components/date-picker/index.d.ts +2 -2
  141. package/dist/components/date-picker/index.js +1 -1
  142. package/dist/components/date-range-picker/DateRangePicker.d.ts +3 -3
  143. package/dist/components/date-range-picker/DateRangePicker.js +1 -1
  144. package/dist/components/date-range-picker/index.d.ts +2 -2
  145. package/dist/components/date-range-picker/index.js +1 -1
  146. package/dist/components/date-time-picker/DateTimePicker.d.ts +4 -4
  147. package/dist/components/date-time-picker/DateTimePicker.js +1 -1
  148. package/dist/components/date-time-picker/index.d.ts +2 -2
  149. package/dist/components/date-time-picker/index.js +1 -1
  150. package/dist/components/dialog/Dialog.d.ts +1 -1
  151. package/dist/components/dialog/Dialog.js +1 -1
  152. package/dist/components/dialog/index.d.ts +2 -2
  153. package/dist/components/dialog/index.js +1 -1
  154. package/dist/components/divider/Divider.d.ts +1 -1
  155. package/dist/components/divider/Divider.js +1 -1
  156. package/dist/components/divider/index.d.ts +2 -2
  157. package/dist/components/divider/index.js +1 -1
  158. package/dist/components/drawer/Drawer.d.ts +1 -1
  159. package/dist/components/drawer/Drawer.js +1 -1
  160. package/dist/components/drawer/index.d.ts +2 -2
  161. package/dist/components/drawer/index.js +1 -1
  162. package/dist/components/empty/Empty.d.ts +1 -1
  163. package/dist/components/empty/Empty.js +1 -1
  164. package/dist/components/empty/index.d.ts +2 -2
  165. package/dist/components/empty/index.js +1 -1
  166. package/dist/components/file-picker/FilePicker.d.ts +1 -1
  167. package/dist/components/file-picker/FilePicker.js +1 -1
  168. package/dist/components/file-picker/index.d.ts +2 -2
  169. package/dist/components/file-picker/index.js +1 -1
  170. package/dist/components/floating-action-button/FloatingActionButton.d.ts +1 -1
  171. package/dist/components/floating-action-button/FloatingActionButton.js +1 -1
  172. package/dist/components/floating-action-button/index.d.ts +1 -1
  173. package/dist/components/floating-action-button/index.js +1 -1
  174. package/dist/components/floating-bottom-navigation/FloatingBottomNavigation.d.ts +91 -0
  175. package/dist/components/floating-bottom-navigation/FloatingBottomNavigation.js +1 -0
  176. package/dist/components/floating-bottom-navigation/index.d.ts +2 -0
  177. package/dist/components/floating-bottom-navigation/index.js +1 -0
  178. package/dist/components/grid/Grid.d.ts +1 -1
  179. package/dist/components/grid/Grid.js +1 -1
  180. package/dist/components/grid/index.d.ts +2 -2
  181. package/dist/components/grid/index.js +1 -1
  182. package/dist/components/grid-container/GridContainer.d.ts +1 -1
  183. package/dist/components/grid-container/GridContainer.js +1 -1
  184. package/dist/components/grid-container/index.d.ts +2 -2
  185. package/dist/components/grid-container/index.js +1 -1
  186. package/dist/components/heatmap-chart/HeatmapChart.d.ts +3 -3
  187. package/dist/components/heatmap-chart/HeatmapChart.js +1 -1
  188. package/dist/components/heatmap-chart/index.d.ts +2 -2
  189. package/dist/components/heatmap-chart/index.js +1 -1
  190. package/dist/components/highlight/Highlight.d.ts +2 -2
  191. package/dist/components/highlight/Highlight.js +1 -1
  192. package/dist/components/highlight/index.d.ts +2 -2
  193. package/dist/components/highlight/index.js +1 -1
  194. package/dist/components/icon/Icon.d.ts +1 -1
  195. package/dist/components/icon/Icon.js +1 -1
  196. package/dist/components/icon/index.d.ts +2 -2
  197. package/dist/components/icon/index.js +1 -1
  198. package/dist/components/icon-button/IconButton.d.ts +1 -1
  199. package/dist/components/icon-button/IconButton.js +1 -1
  200. package/dist/components/icon-button/index.d.ts +2 -2
  201. package/dist/components/icon-button/index.js +1 -1
  202. package/dist/components/line-chart/LineChart.d.ts +3 -3
  203. package/dist/components/line-chart/LineChart.js +1 -1
  204. package/dist/components/line-chart/index.d.ts +2 -2
  205. package/dist/components/line-chart/index.js +1 -1
  206. package/dist/components/list/List.d.ts +1 -1
  207. package/dist/components/list/List.js +1 -1
  208. package/dist/components/list/index.d.ts +2 -2
  209. package/dist/components/list/index.js +1 -1
  210. package/dist/components/menu/Menu.d.ts +1 -1
  211. package/dist/components/menu/Menu.js +1 -1
  212. package/dist/components/menu/index.d.ts +2 -2
  213. package/dist/components/menu/index.js +1 -1
  214. package/dist/components/mockup/Mockup.d.ts +3 -3
  215. package/dist/components/mockup/Mockup.js +1 -1
  216. package/dist/components/mockup/index.d.ts +2 -2
  217. package/dist/components/mockup/index.js +1 -1
  218. package/dist/components/number-field/NumberField.d.ts +1 -1
  219. package/dist/components/number-field/NumberField.js +1 -1
  220. package/dist/components/number-field/index.d.ts +2 -2
  221. package/dist/components/number-field/index.js +1 -1
  222. package/dist/components/otp-field/OtpField.d.ts +1 -1
  223. package/dist/components/otp-field/OtpField.js +1 -1
  224. package/dist/components/otp-field/index.d.ts +2 -2
  225. package/dist/components/otp-field/index.js +1 -1
  226. package/dist/components/overlay/Overlay.d.ts +1 -1
  227. package/dist/components/overlay/Overlay.js +1 -1
  228. package/dist/components/overlay/index.d.ts +2 -2
  229. package/dist/components/overlay/index.js +1 -1
  230. package/dist/components/pagination/Pagination.d.ts +1 -1
  231. package/dist/components/pagination/Pagination.js +1 -1
  232. package/dist/components/pagination/index.d.ts +2 -2
  233. package/dist/components/pagination/index.js +1 -1
  234. package/dist/components/panes/Panes.d.ts +1 -1
  235. package/dist/components/panes/Panes.js +1 -1
  236. package/dist/components/panes/index.d.ts +2 -2
  237. package/dist/components/panes/index.js +1 -1
  238. package/dist/components/pie-chart/PieChart.d.ts +2 -2
  239. package/dist/components/pie-chart/PieChart.js +1 -1
  240. package/dist/components/pie-chart/index.d.ts +2 -2
  241. package/dist/components/pie-chart/index.js +1 -1
  242. package/dist/components/pill/Pill.d.ts +1 -1
  243. package/dist/components/pill/Pill.js +1 -1
  244. package/dist/components/pill/index.d.ts +2 -2
  245. package/dist/components/pill/index.js +1 -1
  246. package/dist/components/popover/Popover.d.ts +1 -1
  247. package/dist/components/popover/Popover.js +1 -1
  248. package/dist/components/popover/index.d.ts +2 -2
  249. package/dist/components/popover/index.js +1 -1
  250. package/dist/components/progress-box/ProgressBox.d.ts +2 -2
  251. package/dist/components/progress-box/ProgressBox.js +1 -1
  252. package/dist/components/progress-box/index.d.ts +2 -2
  253. package/dist/components/progress-box/index.js +1 -1
  254. package/dist/components/progress-circular/ProgressCircular.d.ts +2 -2
  255. package/dist/components/progress-circular/ProgressCircular.js +1 -1
  256. package/dist/components/progress-circular/index.d.ts +2 -2
  257. package/dist/components/progress-circular/index.js +1 -1
  258. package/dist/components/progress-linear/ProgressLinear.d.ts +2 -2
  259. package/dist/components/progress-linear/ProgressLinear.js +1 -1
  260. package/dist/components/progress-linear/index.d.ts +2 -2
  261. package/dist/components/progress-linear/index.js +1 -1
  262. package/dist/components/radio-group/RadioGroup.d.ts +1 -1
  263. package/dist/components/radio-group/RadioGroup.js +1 -1
  264. package/dist/components/radio-group/index.d.ts +2 -2
  265. package/dist/components/radio-group/index.js +1 -1
  266. package/dist/components/rating/Rating.d.ts +1 -1
  267. package/dist/components/rating/Rating.js +1 -1
  268. package/dist/components/rating/index.d.ts +1 -1
  269. package/dist/components/rating/index.js +1 -1
  270. package/dist/components/scatter-chart/ScatterChart.d.ts +2 -2
  271. package/dist/components/scatter-chart/ScatterChart.js +1 -1
  272. package/dist/components/scatter-chart/index.d.ts +2 -2
  273. package/dist/components/scatter-chart/index.js +1 -1
  274. package/dist/components/scroll-zone/ScrollZone.d.ts +126 -0
  275. package/dist/components/scroll-zone/ScrollZone.js +1 -0
  276. package/dist/components/scroll-zone/index.d.ts +2 -0
  277. package/dist/components/scroll-zone/index.js +1 -0
  278. package/dist/components/segmented-button/SegmentedButton.d.ts +1 -1
  279. package/dist/components/segmented-button/SegmentedButton.js +1 -1
  280. package/dist/components/segmented-button/index.d.ts +2 -2
  281. package/dist/components/segmented-button/index.js +1 -1
  282. package/dist/components/select/Select.d.ts +1 -1
  283. package/dist/components/select/Select.js +1 -1
  284. package/dist/components/select/index.d.ts +2 -2
  285. package/dist/components/select/index.js +1 -1
  286. package/dist/components/shortcut/Shortcut.d.ts +1 -1
  287. package/dist/components/shortcut/Shortcut.js +1 -1
  288. package/dist/components/shortcut/index.d.ts +2 -2
  289. package/dist/components/shortcut/index.js +1 -1
  290. package/dist/components/skeleton/Skeleton.d.ts +1 -1
  291. package/dist/components/skeleton/Skeleton.js +1 -1
  292. package/dist/components/skeleton/index.d.ts +2 -2
  293. package/dist/components/skeleton/index.js +1 -1
  294. package/dist/components/slider/Slider.d.ts +1 -1
  295. package/dist/components/slider/Slider.js +1 -1
  296. package/dist/components/slider/index.d.ts +2 -2
  297. package/dist/components/slider/index.js +1 -1
  298. package/dist/components/sparkline/Sparkline.d.ts +1 -1
  299. package/dist/components/sparkline/Sparkline.js +1 -1
  300. package/dist/components/sparkline/index.d.ts +2 -2
  301. package/dist/components/sparkline/index.js +1 -1
  302. package/dist/components/spoiler/Spoiler.d.ts +1 -1
  303. package/dist/components/spoiler/Spoiler.js +1 -1
  304. package/dist/components/spoiler/index.d.ts +2 -2
  305. package/dist/components/spoiler/index.js +1 -1
  306. package/dist/components/statistic/Statistic.d.ts +2 -2
  307. package/dist/components/statistic/Statistic.js +1 -1
  308. package/dist/components/statistic/index.d.ts +2 -2
  309. package/dist/components/statistic/index.js +1 -1
  310. package/dist/components/switch/Switch.d.ts +1 -1
  311. package/dist/components/switch/Switch.js +1 -1
  312. package/dist/components/switch/index.d.ts +2 -2
  313. package/dist/components/switch/index.js +1 -1
  314. package/dist/components/table/Table.d.ts +2 -2
  315. package/dist/components/table/Table.js +1 -1
  316. package/dist/components/table/index.d.ts +2 -2
  317. package/dist/components/table/index.js +1 -1
  318. package/dist/components/tabs/Tabs.d.ts +1 -1
  319. package/dist/components/tabs/Tabs.js +1 -1
  320. package/dist/components/tabs/index.d.ts +2 -2
  321. package/dist/components/tabs/index.js +1 -1
  322. package/dist/components/text-field/TextField.d.ts +1 -1
  323. package/dist/components/text-field/TextField.js +1 -1
  324. package/dist/components/text-field/index.d.ts +2 -2
  325. package/dist/components/text-field/index.js +1 -1
  326. package/dist/components/text-link/TextLink.d.ts +1 -1
  327. package/dist/components/text-link/TextLink.js +1 -1
  328. package/dist/components/text-link/index.d.ts +2 -2
  329. package/dist/components/text-link/index.js +1 -1
  330. package/dist/components/time-picker/TimePicker.d.ts +2 -2
  331. package/dist/components/time-picker/TimePicker.js +1 -1
  332. package/dist/components/time-picker/index.d.ts +2 -2
  333. package/dist/components/time-picker/index.js +1 -1
  334. package/dist/components/timeline/Timeline.d.ts +1 -1
  335. package/dist/components/timeline/Timeline.js +1 -1
  336. package/dist/components/timeline/index.d.ts +2 -2
  337. package/dist/components/timeline/index.js +1 -1
  338. package/dist/components/timeline-chart/TimelineChart.d.ts +2 -2
  339. package/dist/components/timeline-chart/TimelineChart.js +1 -1
  340. package/dist/components/timeline-chart/index.d.ts +2 -2
  341. package/dist/components/timeline-chart/index.js +1 -1
  342. package/dist/components/toast/Toast.d.ts +1 -1
  343. package/dist/components/toast/Toast.js +1 -1
  344. package/dist/components/toast/index.d.ts +2 -2
  345. package/dist/components/toast/index.js +1 -1
  346. package/dist/components/toolbar/Toolbar.d.ts +1 -1
  347. package/dist/components/toolbar/Toolbar.js +1 -1
  348. package/dist/components/toolbar/index.d.ts +2 -2
  349. package/dist/components/toolbar/index.js +1 -1
  350. package/dist/components/tooltip/Tooltip.d.ts +1 -1
  351. package/dist/components/tooltip/Tooltip.js +1 -1
  352. package/dist/components/tooltip/index.d.ts +2 -2
  353. package/dist/components/tooltip/index.js +1 -1
  354. package/dist/components/tree-view/TreeView.d.ts +1 -1
  355. package/dist/components/tree-view/TreeView.js +1 -1
  356. package/dist/components/tree-view/index.d.ts +2 -2
  357. package/dist/components/tree-view/index.js +1 -1
  358. package/dist/components/typography/Typography.d.ts +1 -1
  359. package/dist/components/typography/Typography.js +1 -1
  360. package/dist/components/typography/index.d.ts +2 -2
  361. package/dist/components/typography/index.js +1 -1
  362. package/dist/components/window-pane/WindowPane.d.ts +178 -0
  363. package/dist/components/window-pane/WindowPane.js +1 -0
  364. package/dist/components/window-pane/index.d.ts +2 -0
  365. package/dist/components/window-pane/index.js +1 -0
  366. package/dist/index.d.ts +92 -89
  367. package/dist/index.js +1 -1
  368. package/dist/internal/animate.d.ts +1 -1
  369. package/dist/internal/bottom-navigation.d.ts +57 -0
  370. package/dist/internal/bottom-navigation.js +1 -0
  371. package/dist/internal/button-group.d.ts +1 -1
  372. package/dist/internal/button-group.js +1 -1
  373. package/dist/internal/calendar.d.ts +2 -2
  374. package/dist/internal/calendar.js +1 -1
  375. package/dist/internal/chart-frame.d.ts +3 -3
  376. package/dist/internal/chart-frame.js +1 -1
  377. package/dist/internal/chart-line.d.ts +2 -2
  378. package/dist/internal/chart-line.js +1 -1
  379. package/dist/internal/chart.d.ts +1 -1
  380. package/dist/internal/chart.js +1 -1
  381. package/dist/internal/data-table.d.ts +1 -1
  382. package/dist/internal/date.d.ts +1 -1
  383. package/dist/internal/date.js +1 -1
  384. package/dist/internal/grid.d.ts +1 -1
  385. package/dist/internal/i18n.d.ts +346 -205
  386. package/dist/internal/i18n.js +1 -1
  387. package/dist/internal/icons.d.ts +18 -2
  388. package/dist/internal/icons.js +1 -1
  389. package/dist/internal/menu.d.ts +1 -1
  390. package/dist/internal/menu.js +1 -1
  391. package/dist/internal/mockup.d.ts +1 -1
  392. package/dist/internal/picker.d.ts +2 -2
  393. package/dist/internal/picker.js +1 -1
  394. package/dist/internal/progress.d.ts +1 -1
  395. package/dist/internal/styles.d.ts +1 -1
  396. package/dist/internal/window.d.ts +201 -0
  397. package/dist/internal/window.js +1 -0
  398. package/dist/locales/ar.d.ts +14 -0
  399. package/dist/locales/ar.js +1 -0
  400. package/dist/locales/de.d.ts +14 -0
  401. package/dist/locales/de.js +1 -0
  402. package/dist/locales/es.d.ts +14 -0
  403. package/dist/locales/es.js +1 -0
  404. package/dist/locales/fr.d.ts +14 -0
  405. package/dist/locales/fr.js +1 -0
  406. package/dist/locales/hi.d.ts +14 -0
  407. package/dist/locales/hi.js +1 -0
  408. package/dist/locales/id.d.ts +14 -0
  409. package/dist/locales/id.js +1 -0
  410. package/dist/locales/index.d.ts +45 -0
  411. package/dist/locales/index.js +1 -0
  412. package/dist/locales/it.d.ts +14 -0
  413. package/dist/locales/it.js +1 -0
  414. package/dist/locales/ja.d.ts +14 -0
  415. package/dist/locales/ja.js +1 -0
  416. package/dist/locales/ko.d.ts +14 -0
  417. package/dist/locales/ko.js +1 -0
  418. package/dist/locales/nl.d.ts +14 -0
  419. package/dist/locales/nl.js +1 -0
  420. package/dist/locales/pl.d.ts +14 -0
  421. package/dist/locales/pl.js +1 -0
  422. package/dist/locales/pt.d.ts +14 -0
  423. package/dist/locales/pt.js +1 -0
  424. package/dist/locales/ru.d.ts +14 -0
  425. package/dist/locales/ru.js +1 -0
  426. package/dist/locales/th.d.ts +14 -0
  427. package/dist/locales/th.js +1 -0
  428. package/dist/locales/tr.d.ts +14 -0
  429. package/dist/locales/tr.js +1 -0
  430. package/dist/locales/vi.d.ts +14 -0
  431. package/dist/locales/vi.js +1 -0
  432. package/dist/locales/zh-hans.d.ts +17 -0
  433. package/dist/locales/zh-hans.js +1 -0
  434. package/dist/locales/zh-hant.d.ts +17 -0
  435. package/dist/locales/zh-hant.js +1 -0
  436. package/dist/styles.css +1 -1
  437. package/dist/tailwind.css +6 -0
  438. package/package.json +41 -11
@@ -1 +1 @@
1
- import{jsx as e,jsxs as r,Fragment as a}from"react/jsx-runtime";import{Dialog as n}from"@base-ui/react/dialog";import{boxPaddingXClasses as l,boxPaddingYClasses as o}from"../box/Box";import{useMessages as s}from"../../internal/i18n";import{CloseIcon as i}from"../../internal/icons";import{hasContent as d,metaTextClasses as t,sheetBodyClasses as u,sheetHeaderGapClasses as b,sheetSectionGapClasses as m,sheetTitleClasses as c,surfaceClasses as f,surfaceSlots as x}from"../../internal/styles";const p={xs:"w-56",sm:"w-64",md:"w-80",lg:"w-96",xl:"w-[28rem]"},g={left:{xs:"rounded-r-(--neba-radius-xs)",sm:"rounded-r-(--neba-radius-sm)",md:"rounded-r-(--neba-radius-md)",lg:"rounded-r-(--neba-radius-lg)",xl:"rounded-r-(--neba-radius-xl)"},right:{xs:"rounded-l-(--neba-radius-xs)",sm:"rounded-l-(--neba-radius-sm)",md:"rounded-l-(--neba-radius-md)",lg:"rounded-l-(--neba-radius-lg)",xl:"rounded-l-(--neba-radius-xl)"},top:{xs:"rounded-b-(--neba-radius-xs)",sm:"rounded-b-(--neba-radius-sm)",md:"rounded-b-(--neba-radius-md)",lg:"rounded-b-(--neba-radius-lg)",xl:"rounded-b-(--neba-radius-xl)"},bottom:{xs:"rounded-t-(--neba-radius-xs)",sm:"rounded-t-(--neba-radius-sm)",md:"rounded-t-(--neba-radius-md)",lg:"rounded-t-(--neba-radius-lg)",xl:"rounded-t-(--neba-radius-xl)"}},h={left:"border-r",right:"border-l",top:"border-b",bottom:"border-t"},v={left:"flex-row justify-start",right:"flex-row justify-end",top:"flex-col justify-start",bottom:"flex-col justify-end"},y=[f,"relative flex flex-col overflow-hidden","text-(--neba-fg) bg-(--n-panel-press)","[border-color:var(--n-line)]","[outline:none]"].join(" "),w=["[transition:opacity_var(--neba-duration)_var(--neba-ease)]","data-[starting-style]:opacity-0 data-[ending-style]:opacity-0"].join(" "),j=["fixed inset-0 z-50 bg-(--neba-scrim)","[backdrop-filter:blur(2px)]",w].join(" "),N="border-t [border-color:var(--n-line)]",$=["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(" ");export const DrawerClose=n.Close;export function Drawer({side:f="left",mode:_="overlay",size:k="md",color:C="primary",density:z="default",open:B,defaultOpen:D,onOpenChange:O,trigger:P,title:T,description:F,actions:L,dividers:R=!1,showClose:V,locale:q,closeLabel:A,extent:E,rounded:G=!0,modal:H=!0,dismissible:I=!0,className:J,style:K,children:M,...Q}){const S=s(q),U="overlay"===_,W="left"===f||"right"===f,X=V??U,Y=l[z][k],Z=o[z][k],ee=R?`${Y} ${Z}`:Y,re=d(T)||d(F),ae=d(L),ne=void 0===E?null:{[W?"width":"height"]:"number"==typeof E?`${E}px`:E},le=[y,u[k],h[f],G?g[f][k]:"",U?"[box-shadow:var(--neba-shadow-3),var(--neba-plate-glass)]":"[box-shadow:var(--neba-plate-glass)]",U?w:"",W?`h-full max-w-full ${void 0===E?p[k]:""}`:"w-full "+(void 0===E?"max-h-[85%]":""),R?"":`${Z} ${m[k]}`,J??""].filter(Boolean).join(" "),oe=U?n.Title:"h2",se=U?n.Description:"p",ie=r(a,{children:[re||X?r("div",{className:`flex shrink-0 items-start gap-3 ${ee}`,children:[r("div",{className:`flex min-w-0 flex-1 flex-col ${b[k]}`,children:[d(T)?e(oe,{className:`m-0 font-semibold ${c[k]}`,children:T}):null,d(F)?e(se,{className:`m-0 text-(--neba-muted-fg) ${t[k]}`,children:F}):null]}),X?U?e(n.Close,{"aria-label":A??S.action.close,className:$,children:e(i,{})}):e("button",{type:"button","aria-label":A??S.action.close,className:$,onClick:()=>O?.(!1),children:e(i,{})}):null]}):null,d(M)?e("div",{className:["min-h-0 flex-1 overflow-y-auto overscroll-contain",ee,R&&(re||X)?N:"",R?"":"py-1 -my-1"].filter(Boolean).join(" "),children:M}):null,ae?e("div",{className:["flex shrink-0 flex-wrap items-center justify-end gap-2",ee,R?N:""].filter(Boolean).join(" "),children:L}):null]});return U?r(n.Root,{open:B,defaultOpen:D,modal:H,disablePointerDismissal:!I,onOpenChange:(e,r)=>{I||e||"escape-key"!==r.reason?O?.(e):r.cancel()},children:[P?e(n.Trigger,{render:P}):null,r(n.Portal,{children:[e(n.Backdrop,{className:`neba-portal ${j}`}),e(n.Viewport,{className:`neba-portal fixed inset-0 z-50 flex ${v[f]}`,children:e(n.Popup,{className:le,style:{...x(C,3),...ne,...K},...Q,children:ie})})]})]}):B??D??1?e("div",{className:le,style:{...x(C,0),...ne,...K},children:ie}):null}
1
+ import{jsx as e,jsxs as r,Fragment as a}from"react/jsx-runtime";import{Dialog as l}from"@base-ui/react/dialog";import{boxPaddingXClasses as n,boxPaddingYClasses as o}from"../box/Box.js";import{actionMessages as s,useMessages as i}from"../../internal/i18n.js";import{CloseIcon as d}from"../../internal/icons.js";import{hasContent as t,metaTextClasses as u,sheetBodyClasses as b,sheetHeaderGapClasses as m,sheetSectionGapClasses as c,sheetTitleClasses as f,surfaceClasses as x,surfaceSlots as p}from"../../internal/styles.js";const g={xs:"w-56",sm:"w-64",md:"w-80",lg:"w-96",xl:"w-[28rem]"},h={left:{xs:"rounded-r-(--neba-radius-xs)",sm:"rounded-r-(--neba-radius-sm)",md:"rounded-r-(--neba-radius-md)",lg:"rounded-r-(--neba-radius-lg)",xl:"rounded-r-(--neba-radius-xl)"},right:{xs:"rounded-l-(--neba-radius-xs)",sm:"rounded-l-(--neba-radius-sm)",md:"rounded-l-(--neba-radius-md)",lg:"rounded-l-(--neba-radius-lg)",xl:"rounded-l-(--neba-radius-xl)"},top:{xs:"rounded-b-(--neba-radius-xs)",sm:"rounded-b-(--neba-radius-sm)",md:"rounded-b-(--neba-radius-md)",lg:"rounded-b-(--neba-radius-lg)",xl:"rounded-b-(--neba-radius-xl)"},bottom:{xs:"rounded-t-(--neba-radius-xs)",sm:"rounded-t-(--neba-radius-sm)",md:"rounded-t-(--neba-radius-md)",lg:"rounded-t-(--neba-radius-lg)",xl:"rounded-t-(--neba-radius-xl)"}},v={left:"border-r",right:"border-l",top:"border-b",bottom:"border-t"},y={left:"flex-row justify-start",right:"flex-row justify-end",top:"flex-col justify-start",bottom:"flex-col justify-end"},w=[x,"relative flex flex-col overflow-hidden","text-(--neba-fg) bg-(--n-panel-press)","[border-color:var(--n-line)]","[outline:none]"].join(" "),j=["[transition:opacity_var(--neba-duration)_var(--neba-ease)]","data-[starting-style]:opacity-0 data-[ending-style]:opacity-0"].join(" "),N=["fixed inset-0 z-50 bg-(--neba-scrim)","[backdrop-filter:blur(2px)]",j].join(" "),$="border-t [border-color:var(--n-line)]",_=["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(" ");export const DrawerClose=l.Close;export function Drawer({side:x="left",mode:k="overlay",size:C="md",color:z="primary",density:B="default",open:D,defaultOpen:O,onOpenChange:P,trigger:T,title:F,description:L,actions:R,dividers:V=!1,showClose:q,locale:A,closeLabel:E,extent:G,rounded:H=!0,modal:I=!0,dismissible:J=!0,className:K,style:M,children:Q,...S}){const U=i(s,A),W="overlay"===k,X="left"===x||"right"===x,Y=q??W,Z=n[B][C],ee=o[B][C],re=V?`${Z} ${ee}`:Z,ae=t(F)||t(L),le=t(R),ne=void 0===G?null:{[X?"width":"height"]:"number"==typeof G?`${G}px`:G},oe=[w,b[C],v[x],H?h[x][C]:"",W?"[box-shadow:var(--neba-shadow-3),var(--neba-plate-glass)]":"[box-shadow:var(--neba-plate-glass)]",W?j:"",X?`h-full max-w-full ${void 0===G?g[C]:""}`:"w-full "+(void 0===G?"max-h-[85%]":""),V?"":`${ee} ${c[C]}`,K??""].filter(Boolean).join(" "),se=W?l.Title:"h2",ie=W?l.Description:"p",de=r(a,{children:[ae||Y?r("div",{className:`flex shrink-0 items-start gap-3 ${re}`,children:[r("div",{className:`flex min-w-0 flex-1 flex-col ${m[C]}`,children:[t(F)?e(se,{className:`m-0 font-semibold ${f[C]}`,children:F}):null,t(L)?e(ie,{className:`m-0 text-(--neba-muted-fg) ${u[C]}`,children:L}):null]}),Y?W?e(l.Close,{"aria-label":E??U.close,className:_,children:e(d,{})}):e("button",{type:"button","aria-label":E??U.close,className:_,onClick:()=>P?.(!1),children:e(d,{})}):null]}):null,t(Q)?e("div",{className:["min-h-0 flex-1 overflow-y-auto overscroll-contain",re,V&&(ae||Y)?$:"",V?"":"py-1 -my-1"].filter(Boolean).join(" "),children:Q}):null,le?e("div",{className:["flex shrink-0 flex-wrap items-center justify-end gap-2",re,V?$:""].filter(Boolean).join(" "),children:R}):null]});return W?r(l.Root,{open:D,defaultOpen:O,modal:I,disablePointerDismissal:!J,onOpenChange:(e,r)=>{J||e||"escape-key"!==r.reason?P?.(e):r.cancel()},children:[T?e(l.Trigger,{render:T}):null,r(l.Portal,{children:[e(l.Backdrop,{className:`neba-portal ${N}`}),e(l.Viewport,{className:`neba-portal fixed inset-0 z-50 flex ${y[x]}`,children:e(l.Popup,{className:oe,style:{...p(z,3),...ne,...M},...S,children:de})})]})]}):D??O??1?e("div",{className:oe,style:{...p(z,0),...ne,...M},children:de}):null}
@@ -1,2 +1,2 @@
1
- export { Drawer, DrawerClose } from './Drawer';
2
- export type { DrawerCloseProps, DrawerProps, NebaDrawerMode } from './Drawer';
1
+ export { Drawer, DrawerClose } from './Drawer.js';
2
+ export type { DrawerCloseProps, DrawerProps, NebaDrawerMode } from './Drawer.js';
@@ -1 +1 @@
1
- export{Drawer,DrawerClose}from"./Drawer";
1
+ export{Drawer,DrawerClose}from"./Drawer.js";
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { useRender } from '@base-ui/react/use-render';
3
- import type { NebaElevation, NebaStyleProps, NebaTransition } from '../../types';
3
+ import type { NebaElevation, NebaStyleProps, NebaTransition } from '../../types.js';
4
4
  export interface EmptyProps extends NebaStyleProps, Omit<React.ComponentPropsWithoutRef<'div'>, 'color' | 'title'> {
5
5
  /**
6
6
  * The headline. Defaults to the `locale`'s way of saying that there is
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import*as n from"react";import{useRender as l}from"@base-ui/react/use-render";import{boxPaddingXClasses as a}from"../box/Box";import{transitionProps as o}from"../../internal/animate";import{useMessages as s}from"../../internal/i18n";import{hasContent as i,iconClasses as m,radiusClasses as c,sheetBodyClasses as d,sheetHeaderGapClasses as x,sheetSectionGapClasses as p,sheetTitleClasses as f,surfaceClasses as u,surfaceSlots as h,transitionClasses as y}from"../../internal/styles";const v={default:{xs:"py-5",sm:"py-6",md:"py-8",lg:"py-10",xl:"py-12"},compact:{xs:"py-3",sm:"py-3.5",md:"py-4",lg:"py-5",xl:"py-6"}},b={xs:"text-[1.25rem]",sm:"text-[1.5rem]",md:"text-[1.75rem]",lg:"text-[2.125rem]",xl:"text-[2.5rem]"},g={solid:[u,"text-(--neba-fg) bg-(--n-panel-hover)","[box-shadow:var(--n-elev),var(--neba-plate-solid)]"].join(" "),outline:[u,"border text-(--neba-fg) bg-(--n-panel)","[border-color:var(--n-line)]","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),text:"text-(--neba-fg) bg-transparent"};function j(){return t("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[e("path",{d:"M1.75 9.75h3l.9 1.6h4.7l.9-1.6h3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"m1.75 9.75 2.1-6a1.5 1.5 0 0 1 1.42-1h5.46a1.5 1.5 0 0 1 1.42 1l2.1 6v2a1.5 1.5 0 0 1-1.5 1.5h-9.5a1.5 1.5 0 0 1-1.5-1.5Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinejoin:"round"})]})}export const Empty=n.forwardRef(function({variant:n="text",size:u="md",color:N="secondary",density:k="default",elevation:w=0,title:$,icon:B,action:L,locale:C,transition:W,render:z,className:E,style:F,children:M,...R},Z){const q=s(C),A=void 0===$?q.empty.title:$,D=void 0===B?e(j,{}):B,G=o(W),H=i(A),I=["flex w-full flex-col items-center justify-center text-center",a[k][u],v[k][u],c[u],p[u],y,g[n],G.className,E??""].filter(Boolean).join(" ");return l({render:z,ref:Z,props:{role:"status",className:I,style:{...h(N,w),...G.style,...F},children:t(r,{children:[i(D)?e("span",{className:`flex items-center text-(--neba-muted-fg) ${b[u]} ${m}`,children:D}):null,H||i(M)?t("div",{className:`flex max-w-prose flex-col items-center ${x[u]}`,children:[H?e("div",{className:`neba-title font-semibold ${f[u]}`,children:A}):null,i(M)?e("div",{className:`${d[u]} ${H?"text-(--neba-muted-fg)":""}`,children:M}):null]}):null,i(L)?e("div",{className:"flex flex-wrap items-center justify-center gap-2",children:L}):null]}),...R}})});
1
+ import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import*as n from"react";import{useRender as l}from"@base-ui/react/use-render";import{boxPaddingXClasses as a}from"../box/Box.js";import{transitionProps as o}from"../../internal/animate.js";import{emptyMessages as s,useMessages as i}from"../../internal/i18n.js";import{hasContent as m,iconClasses as c,radiusClasses as d,sheetBodyClasses as x,sheetHeaderGapClasses as p,sheetSectionGapClasses as f,sheetTitleClasses as u,surfaceClasses as h,surfaceSlots as v,transitionClasses as y}from"../../internal/styles.js";const b={default:{xs:"py-5",sm:"py-6",md:"py-8",lg:"py-10",xl:"py-12"},compact:{xs:"py-3",sm:"py-3.5",md:"py-4",lg:"py-5",xl:"py-6"}},g={xs:"text-[1.25rem]",sm:"text-[1.5rem]",md:"text-[1.75rem]",lg:"text-[2.125rem]",xl:"text-[2.5rem]"},j={solid:[h,"text-(--neba-fg) bg-(--n-panel-hover)","[box-shadow:var(--n-elev),var(--neba-plate-solid)]"].join(" "),outline:[h,"border text-(--neba-fg) bg-(--n-panel)","[border-color:var(--n-line)]","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),text:"text-(--neba-fg) bg-transparent"};function N(){return t("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[e("path",{d:"M1.75 9.75h3l.9 1.6h4.7l.9-1.6h3",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"m1.75 9.75 2.1-6a1.5 1.5 0 0 1 1.42-1h5.46a1.5 1.5 0 0 1 1.42 1l2.1 6v2a1.5 1.5 0 0 1-1.5 1.5h-9.5a1.5 1.5 0 0 1-1.5-1.5Z",stroke:"currentColor",strokeWidth:"1.5",strokeLinejoin:"round"})]})}export const Empty=/*@__PURE__*/n.forwardRef(function({variant:n="text",size:h="md",color:k="secondary",density:w="default",elevation:$=0,title:B,icon:L,action:C,locale:W,transition:z,render:E,className:F,style:M,children:R,...Z},q){const A=i(s,W),D=void 0===B?A.title:B,G=void 0===L?e(N,{}):L,H=o(z),I=m(D),J=["flex w-full flex-col items-center justify-center text-center",a[w][h],b[w][h],d[h],f[h],y,j[n],H.className,F??""].filter(Boolean).join(" ");return l({render:E,ref:q,props:{role:"status",className:J,style:{...v(k,$),...H.style,...M},children:t(r,{children:[m(G)?e("span",{className:`flex items-center text-(--neba-muted-fg) ${g[h]} ${c}`,children:G}):null,I||m(R)?t("div",{className:`flex max-w-prose flex-col items-center ${p[h]}`,children:[I?e("div",{className:`neba-title font-semibold ${u[h]}`,children:D}):null,m(R)?e("div",{className:`${x[h]} ${I?"text-(--neba-muted-fg)":""}`,children:R}):null]}):null,m(C)?e("div",{className:"flex flex-wrap items-center justify-center gap-2",children:C}):null]}),...Z}})});
@@ -1,2 +1,2 @@
1
- export { Empty } from './Empty';
2
- export type { EmptyProps } from './Empty';
1
+ export { Empty } from './Empty.js';
2
+ export type { EmptyProps } from './Empty.js';
@@ -1 +1 @@
1
- export{Empty}from"./Empty";
1
+ export{Empty}from"./Empty.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
  /** Why a file was turned away. One reason per file, in the order they are checked. */
4
4
  export type FileRejectionReason = 'type' | 'size' | 'count';
5
5
  export interface FileRejection {
@@ -1 +1 @@
1
- import{jsx as e,jsxs as r}from"react/jsx-runtime";import*as n from"react";import{CloseIcon as t}from"../../internal/icons";import{controlTextLeadingClasses as a,disabledClasses as l,gapClasses as o,hasContent as i,iconClasses as s,metaTextClasses as c,radiusClasses as d,readOnlyFilterClasses as u,sheetTitleClasses as f,stackGapClasses as p,surfaceClasses as m,surfaceSlots as h,transitionClasses as b}from"../../internal/styles";const v={default:{xs:"p-4",sm:"p-5",md:"p-6",lg:"p-8",xl:"p-10"},compact:{xs:"p-2",sm:"p-3",md:"p-4",lg:"p-5",xl:"p-6"}},x={solid:[m,"border-2 border-dashed text-(--neba-fg) bg-(--n-panel-hover)","[border-color:var(--n-line)]","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),outline:[m,"border-2 border-dashed text-(--neba-fg) bg-(--n-panel)","[border-color:var(--n-line)]","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),text:"border-2 border-dashed text-(--neba-fg) bg-transparent [border-color:var(--n-line)]"},g={solid:"hover:bg-(--n-panel-press) hover:[border-color:var(--n-line-hover)]",outline:"hover:bg-(--n-panel-hover) hover:[border-color:var(--n-line-hover)]",text:"hover:bg-(--n-soft) hover:[border-color:var(--n-line-hover)]"};function y(){return r("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[e("path",{d:"M8 10.5V2.75m0 0L5.25 5.5M8 2.75 10.75 5.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"M2.75 9.75v1.75a1.75 1.75 0 0 0 1.75 1.75h7a1.75 1.75 0 0 0 1.75-1.75V9.75",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}export function formatFileSize(e){if(e<1e3)return`${e} B`;const r=["kB","MB","GB","TB"];let n=e/1e3,t=0;for(;n>=1e3&&t<r.length-1;)n/=1e3,t+=1;return`${n<10?n.toFixed(1):Math.round(n)} ${r[t]}`}function k(e,r){const n=e.name.toLowerCase(),t=e.type.toLowerCase();return r.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean).some(e=>e.startsWith(".")?n.endsWith(e):e.endsWith("/*")?t.startsWith(`${e.slice(0,-1)}`):t===e)}export const FilePicker=n.forwardRef(function({variant:m="outline",size:N="md",color:$="primary",density:j="default",elevation:w=0,accept:z,multiple:C=!1,maxSize:_,maxFiles:L,value:B,defaultValue:D,onFilesChange:I,onReject:M,label:F,description:W,error:S,invalid:R,title:T,hint:V,icon:E,showList:O=!0,removeLabel:q=e=>`Remove ${e}`,fullWidth:A=!0,disabled:P=!1,readOnly:G=!1,required:H=!1,name:Y,id:J,className:K,style:Q,...U},X){const Z=n.useRef(null);n.useImperativeHandle(X,()=>Z.current);const[ee,re]=n.useState(()=>[...D??[]]),ne=n.useMemo(()=>B?[...B]:ee,[B,ee]),te=n.useRef(0),[ae,le]=n.useState(!1),oe=i(S),ie=R??oe,se=ie?"danger":$,ce=P||G,de=n.useId(),ue=n.useCallback(e=>{B||re(e),I?.(e)},[I,B]),fe=n.useCallback(e=>{const r=[],n=[],t=C?L??Number.POSITIVE_INFINITY:1,a=C?ne.length:0;for(const l of e)z&&!k(l,z)?n.push({file:l,reason:"type"}):void 0!==_&&l.size>_?n.push({file:l,reason:"size"}):a+r.length>=t?n.push({file:l,reason:"count"}):r.push(l);return{kept:r,rejections:n}},[z,ne.length,L,_,C]),pe=n.useCallback(e=>{const{kept:r,rejections:n}=fe(e);n.length>0&&M?.(n),r.length>0&&ue(C?[...ne,...r]:r)},[fe,ue,ne,C,M]),me=["flex w-full flex-col items-center justify-center text-center","cursor-pointer select-none",v[j][N],d[N],o[N],b,s,"focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-2",P?`${l[m]} border-2 border-dashed`:G?`${x[m]} ${u} cursor-default`:x[m],ce?"":g[m],ae&&!ce?"bg-(--n-soft-press) [border-color:var(--n-ring)]":""].filter(Boolean).join(" ");return r("div",{className:["flex-col align-top",p[N],A?"flex w-full":"inline-flex",K??""].filter(Boolean).join(" "),style:{...h(se,w),...Q},...U,children:[i(F)?e("span",{className:[c[N],"font-medium",P?"text-(--neba-disabled-fg)":"text-(--neba-fg)"].join(" "),children:F}):null,r("div",{className:"flex w-full flex-col",onDragEnter:e=>{ce||(e.preventDefault(),te.current+=1,le(!0))},onDragOver:e=>{ce||(e.preventDefault(),e.dataTransfer.dropEffect="copy")},onDragLeave:()=>{ce||(te.current=Math.max(0,te.current-1),0===te.current&&le(!1))},onDrop:e=>{ce||(e.preventDefault(),te.current=0,le(!1),pe(Array.from(e.dataTransfer.files)))},children:[r("button",{type:"button",id:J,disabled:P,"aria-describedby":i(W)||oe?de:void 0,"aria-invalid":ie||void 0,className:me,onClick:()=>{ce||Z.current&&(Z.current.value="",Z.current.click())},children:[void 0===E?e("span",{className:"flex items-center text-(--n-accent) [&_svg]:size-[1.8em]",children:e(y,{})}):i(E)?e("span",{className:"flex items-center text-(--n-accent) [&_svg]:size-[1.8em]",children:E}):null,e("span",{className:`font-medium ${f[N]}`,children:T??"Drop files here, or click to browse"}),i(V)?e("span",{className:`text-(--neba-muted-fg) ${c[N]}`,children:V}):null]}),e("input",{ref:Z,type:"file",name:Y,accept:z,multiple:C,required:H&&0===ne.length,disabled:ce,tabIndex:-1,"aria-hidden":"true",className:"absolute size-px overflow-hidden opacity-0 [clip-path:inset(50%)]",onChange:e=>pe(Array.from(e.target.files??[]))})]}),O&&ne.length>0?e("ul",{role:"list",className:`flex w-full flex-col ${p[N]} m-0 list-none p-0`,children:ne.map((n,l)=>r("li",{className:["flex w-full items-center gap-2 px-2 py-1.5",d.xs,a[N],"bg-(--n-soft) text-(--neba-fg)"].join(" "),children:[e("span",{className:"min-w-0 flex-1 truncate",children:n.name}),e("span",{className:`shrink-0 text-(--neba-muted-fg) tabular-nums ${c[N]}`,children:formatFileSize(n.size)}),ce?null:e("button",{type:"button","aria-label":q(n.name),className:["inline-flex shrink-0 cursor-pointer items-center justify-center rounded-full","size-[1.3em] text-(--neba-muted-fg) opacity-70","[transition:opacity_var(--neba-duration)_var(--neba-ease),color_var(--neba-duration)_var(--neba-ease)]","[&_svg]:size-[0.9em]","hover:text-(--neba-fg) hover:opacity-100 focus-visible:opacity-100","focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-1"].join(" "),onClick:()=>ue(ne.filter((e,r)=>r!==l)),children:e(t,{})})]},`${n.name}-${n.size}-${n.lastModified}-${l}`))}):null,i(W)&&!oe?e("span",{id:de,className:`${c[N]} text-(--neba-muted-fg)`,children:W}):null,oe?e("span",{id:de,className:`${c[N]} text-(--n-accent)`,children:S}):null]})});
1
+ import{jsx as e,jsxs as r}from"react/jsx-runtime";import*as n from"react";import{CloseIcon as t}from"../../internal/icons.js";import{controlTextLeadingClasses as a,disabledClasses as l,gapClasses as o,hasContent as i,iconClasses as s,metaTextClasses as c,radiusClasses as d,readOnlyFilterClasses as u,sheetTitleClasses as f,stackGapClasses as p,surfaceClasses as m,surfaceSlots as h,transitionClasses as b}from"../../internal/styles.js";const v={default:{xs:"p-4",sm:"p-5",md:"p-6",lg:"p-8",xl:"p-10"},compact:{xs:"p-2",sm:"p-3",md:"p-4",lg:"p-5",xl:"p-6"}},x={solid:[m,"border-2 border-dashed text-(--neba-fg) bg-(--n-panel-hover)","[border-color:var(--n-line)]","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),outline:[m,"border-2 border-dashed text-(--neba-fg) bg-(--n-panel)","[border-color:var(--n-line)]","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),text:"border-2 border-dashed text-(--neba-fg) bg-transparent [border-color:var(--n-line)]"},g={solid:"hover:bg-(--n-panel-press) hover:[border-color:var(--n-line-hover)]",outline:"hover:bg-(--n-panel-hover) hover:[border-color:var(--n-line-hover)]",text:"hover:bg-(--n-soft) hover:[border-color:var(--n-line-hover)]"};function y(){return r("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[e("path",{d:"M8 10.5V2.75m0 0L5.25 5.5M8 2.75 10.75 5.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),e("path",{d:"M2.75 9.75v1.75a1.75 1.75 0 0 0 1.75 1.75h7a1.75 1.75 0 0 0 1.75-1.75V9.75",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}export function formatFileSize(e){if(e<1e3)return`${e} B`;const r=["kB","MB","GB","TB"];let n=e/1e3,t=0;for(;n>=1e3&&t<r.length-1;)n/=1e3,t+=1;return`${n<10?n.toFixed(1):Math.round(n)} ${r[t]}`}function k(e,r){const n=e.name.toLowerCase(),t=e.type.toLowerCase();return r.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean).some(e=>e.startsWith(".")?n.endsWith(e):e.endsWith("/*")?t.startsWith(`${e.slice(0,-1)}`):t===e)}export const FilePicker=/*@__PURE__*/n.forwardRef(function({variant:m="outline",size:N="md",color:j="primary",density:$="default",elevation:w=0,accept:z,multiple:C=!1,maxSize:_,maxFiles:L,value:B,defaultValue:D,onFilesChange:I,onReject:M,label:F,description:W,error:S,invalid:R,title:T,hint:V,icon:E,showList:O=!0,removeLabel:q=e=>`Remove ${e}`,fullWidth:A=!0,disabled:P=!1,readOnly:G=!1,required:H=!1,name:Y,id:J,className:K,style:Q,...U},X){const Z=n.useRef(null);n.useImperativeHandle(X,()=>Z.current);const[ee,re]=n.useState(()=>[...D??[]]),ne=n.useMemo(()=>B?[...B]:ee,[B,ee]),te=n.useRef(0),[ae,le]=n.useState(!1),oe=i(S),ie=R??oe,se=ie?"danger":j,ce=P||G,de=n.useId(),ue=n.useCallback(e=>{B||re(e),I?.(e)},[I,B]),fe=n.useCallback(e=>{const r=[],n=[],t=C?L??Number.POSITIVE_INFINITY:1,a=C?ne.length:0;for(const l of e)z&&!k(l,z)?n.push({file:l,reason:"type"}):void 0!==_&&l.size>_?n.push({file:l,reason:"size"}):a+r.length>=t?n.push({file:l,reason:"count"}):r.push(l);return{kept:r,rejections:n}},[z,ne.length,L,_,C]),pe=n.useCallback(e=>{const{kept:r,rejections:n}=fe(e);n.length>0&&M?.(n),r.length>0&&ue(C?[...ne,...r]:r)},[fe,ue,ne,C,M]),me=["flex w-full flex-col items-center justify-center text-center","cursor-pointer select-none",v[$][N],d[N],o[N],b,s,"focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-2",P?`${l[m]} border-2 border-dashed`:G?`${x[m]} ${u} cursor-default`:x[m],ce?"":g[m],ae&&!ce?"bg-(--n-soft-press) [border-color:var(--n-ring)]":""].filter(Boolean).join(" ");return r("div",{className:["flex-col align-top",p[N],A?"flex w-full":"inline-flex",K??""].filter(Boolean).join(" "),style:{...h(se,w),...Q},...U,children:[i(F)?e("span",{className:[c[N],"font-medium",P?"text-(--neba-disabled-fg)":"text-(--neba-fg)"].join(" "),children:F}):null,r("div",{className:"flex w-full flex-col",onDragEnter:e=>{ce||(e.preventDefault(),te.current+=1,le(!0))},onDragOver:e=>{ce||(e.preventDefault(),e.dataTransfer.dropEffect="copy")},onDragLeave:()=>{ce||(te.current=Math.max(0,te.current-1),0===te.current&&le(!1))},onDrop:e=>{ce||(e.preventDefault(),te.current=0,le(!1),pe(Array.from(e.dataTransfer.files)))},children:[r("button",{type:"button",id:J,disabled:P,"aria-describedby":i(W)||oe?de:void 0,"aria-invalid":ie||void 0,className:me,onClick:()=>{ce||Z.current&&(Z.current.value="",Z.current.click())},children:[void 0===E?e("span",{className:"flex items-center text-(--n-accent) [&_svg]:size-[1.8em]",children:e(y,{})}):i(E)?e("span",{className:"flex items-center text-(--n-accent) [&_svg]:size-[1.8em]",children:E}):null,e("span",{className:`font-medium ${f[N]}`,children:T??"Drop files here, or click to browse"}),i(V)?e("span",{className:`text-(--neba-muted-fg) ${c[N]}`,children:V}):null]}),e("input",{ref:Z,type:"file",name:Y,accept:z,multiple:C,required:H&&0===ne.length,disabled:ce,tabIndex:-1,"aria-hidden":"true",className:"absolute size-px overflow-hidden opacity-0 [clip-path:inset(50%)]",onChange:e=>pe(Array.from(e.target.files??[]))})]}),O&&ne.length>0?e("ul",{role:"list",className:`flex w-full flex-col ${p[N]} m-0 list-none p-0`,children:ne.map((n,l)=>r("li",{className:["flex w-full items-center gap-2 px-2 py-1.5",d.xs,a[N],"bg-(--n-soft) text-(--neba-fg)"].join(" "),children:[e("span",{className:"min-w-0 flex-1 truncate",children:n.name}),e("span",{className:`shrink-0 text-(--neba-muted-fg) tabular-nums ${c[N]}`,children:formatFileSize(n.size)}),ce?null:e("button",{type:"button","aria-label":q(n.name),className:["inline-flex shrink-0 cursor-pointer items-center justify-center rounded-full","size-[1.3em] text-(--neba-muted-fg) opacity-70","[transition:opacity_var(--neba-duration)_var(--neba-ease),color_var(--neba-duration)_var(--neba-ease)]","[&_svg]:size-[0.9em]","hover:text-(--neba-fg) hover:opacity-100 focus-visible:opacity-100","focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-1"].join(" "),onClick:()=>ue(ne.filter((e,r)=>r!==l)),children:e(t,{})})]},`${n.name}-${n.size}-${n.lastModified}-${l}`))}):null,i(W)&&!oe?e("span",{id:de,className:`${c[N]} text-(--neba-muted-fg)`,children:W}):null,oe?e("span",{id:de,className:`${c[N]} text-(--n-accent)`,children:S}):null]})});
@@ -1,2 +1,2 @@
1
- export { FilePicker, formatFileSize } from './FilePicker';
2
- export type { FilePickerProps, FileRejection, FileRejectionReason } from './FilePicker';
1
+ export { FilePicker, formatFileSize } from './FilePicker.js';
2
+ export type { FilePickerProps, FileRejection, FileRejectionReason } from './FilePicker.js';
@@ -1 +1 @@
1
- export{FilePicker,formatFileSize}from"./FilePicker";
1
+ export{FilePicker,formatFileSize}from"./FilePicker.js";
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { NebaCorner, NebaElevation, NebaPosition, NebaStyleProps } from '../../types';
2
+ import type { NebaCorner, NebaElevation, NebaPosition, NebaStyleProps } from '../../types.js';
3
3
  /**
4
4
  * Where a floating button sits, with one value the shared vocabulary does not
5
5
  * have.
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as o from"react";import{Button as n}from"../button/Button";import{CloseIcon as s,PlusIcon as a}from"../../internal/icons";import{cx as r,hasContent as i,metaTextClasses as l,radiusClasses as c,surfaceClasses as d}from"../../internal/styles";const f=o.createContext({variant:"solid",size:"md",color:"primary",density:"default",elevation:1,showLabels:!0,reversed:!0,close:()=>{}}),p={xs:"xs",sm:"xs",md:"sm",lg:"md",xl:"lg"},m={static:"",absolute:"absolute z-30",sticky:"sticky z-30",fixed:"fixed z-40"},u={"top-start":"top-(--n-fab-offset) start-(--n-fab-offset)","top-end":"top-(--n-fab-offset) end-(--n-fab-offset)","bottom-start":"bottom-(--n-fab-offset) start-(--n-fab-offset)","bottom-end":"bottom-(--n-fab-offset) end-(--n-fab-offset)"},b=r("pointer-events-none max-w-40 truncate select-none","px-2 py-0.5 text-(--neba-fg) bg-(--n-panel)",d,c.xs,"[box-shadow:var(--neba-shadow-1),var(--neba-plate-glass)]");export const FloatingActionButton=o.forwardRef(function({variant:i="solid",size:l="lg",color:c="primary",density:d="default",elevation:b=2,icon:v,label:x,extended:y=!1,openIcon:h,position:g="fixed",corner:w="bottom-end",offset:z=16,direction:C,open:k,defaultOpen:L=!1,onOpenChange:N,openOnHover:E=!0,closeOnAction:P=!0,showLabels:R=!0,disabled:A=!1,className:I,style:O,children:j,onClick:B,onKeyDown:D,onPointerEnter:F,onPointerLeave:K,...T},W){const H=o.useId(),M=o.useRef(null),S=o.useRef(null),[$,q]=o.useState(L),G=void 0!==k,J=o.Children.toArray(j).length>0,Q=(G?k:$)&&J&&!A,U=o.useCallback(e=>{G||q(e),N?.(e)},[G,N]),V=o.useCallback(()=>U(!1),[U]);o.useEffect(()=>{if(!Q)return;const e=e=>{const t=S.current;t&&e.target instanceof Node&&!t.contains(e.target)&&V()};return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e)},[Q,V]);const X=C??(w.startsWith("bottom")?"top":"bottom"),Y=w.endsWith("end"),Z=o.useMemo(()=>({variant:i,size:p[l],color:c,density:d,elevation:b,showLabels:R,reversed:Y,close:P?V:()=>{}}),[i,l,c,d,b,R,Y,P,V]),_=Q&&!1!==h?h??e(s,{}):v??e(a,{});return t("div",{ref:e=>{S.current=e,"function"==typeof W?W(e):W&&(W.current=e)},className:r("flex w-fit","top"===X?"flex-col-reverse":"flex-col",Y?"items-end":"items-start","xs"===l||"sm"===l?"gap-1.5":"gap-2",m[g],"static"===g?"":u[w],I),style:{"--n-fab-offset":"number"==typeof z?`${z}px`:z,...O},onKeyDown:e=>{"Escape"===e.key&&Q&&(e.stopPropagation(),V(),M.current?.focus()),D?.(e)},onPointerEnter:e=>{E&&J&&!A&&"mouse"===e.pointerType&&U(!0),F?.(e)},onPointerLeave:e=>{E&&"mouse"===e.pointerType&&V(),K?.(e)},...T,children:[e(n,{ref:M,variant:i,size:l,color:c,density:d,elevation:b,disabled:A,"aria-label":x,"aria-expanded":J?Q:void 0,"aria-controls":J&&Q?H:void 0,startIcon:_,style:{borderRadius:"9999px"},onClick:e=>{J&&U(!Q),B?.(e)},children:y?x:void 0}),Q?e("div",{id:H,className:r("flex","top"===X?"flex-col-reverse":"flex-col",Y?"items-end":"items-start","xs"===l||"sm"===l?"gap-1.5":"gap-2"),children:e(f.Provider,{value:Z,children:j})}):null]})});export const FloatingAction=o.forwardRef(function({icon:s,label:a,disabled:c=!1,className:d,onClick:p,...m},u){const v=o.useContext(f);return t("div",{className:r("flex items-center gap-2",v.reversed?"flex-row-reverse":"flex-row",d),children:[e(n,{ref:u,variant:v.variant,size:v.size,color:v.color,density:v.density,elevation:v.elevation,disabled:c,"aria-label":a,startIcon:s,style:{borderRadius:"9999px"},onClick:e=>{p?.(e),v.close()},...m}),v.showLabels&&i(a)?e("span",{"aria-hidden":"true",className:r(b,l[v.size]),children:a}):null]})});
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as o from"react";import{Button as n}from"../button/Button.js";import{CloseIcon as s,PlusIcon as a}from"../../internal/icons.js";import{cx as r,hasContent as i,metaTextClasses as l,radiusClasses as c,surfaceClasses as d}from"../../internal/styles.js";const f=/*@__PURE__*/o.createContext({variant:"solid",size:"md",color:"primary",density:"default",elevation:1,showLabels:!0,reversed:!0,close:()=>{}}),p={xs:"xs",sm:"xs",md:"sm",lg:"md",xl:"lg"},m={static:"",absolute:"absolute z-30",sticky:"sticky z-30",fixed:"fixed z-40"},u={"top-start":"top-(--n-fab-offset) start-(--n-fab-offset)","top-end":"top-(--n-fab-offset) end-(--n-fab-offset)","bottom-start":"bottom-(--n-fab-offset) start-(--n-fab-offset)","bottom-end":"bottom-(--n-fab-offset) end-(--n-fab-offset)"},b=r("pointer-events-none max-w-40 truncate select-none","px-2 py-0.5 text-(--neba-fg) bg-(--n-panel)",d,c.xs,"[box-shadow:var(--neba-shadow-1),var(--neba-plate-glass)]");export const FloatingActionButton=/*@__PURE__*/o.forwardRef(function({variant:i="solid",size:l="lg",color:c="primary",density:d="default",elevation:b=2,icon:v,label:x,extended:y=!1,openIcon:h,position:g="fixed",corner:w="bottom-end",offset:z=16,direction:C,open:k,defaultOpen:L=!1,onOpenChange:N,openOnHover:j=!0,closeOnAction:E=!0,showLabels:P=!0,disabled:R=!1,className:A,style:I,children:O,onClick:B,onKeyDown:D,onPointerEnter:F,onPointerLeave:K,...T},W){const H=o.useId(),M=o.useRef(null),S=o.useRef(null),[$,q]=o.useState(L),G=void 0!==k,J=o.Children.toArray(O).length>0,Q=(G?k:$)&&J&&!R,U=o.useCallback(e=>{G||q(e),N?.(e)},[G,N]),V=o.useCallback(()=>U(!1),[U]);o.useEffect(()=>{if(!Q)return;const e=e=>{const t=S.current;t&&e.target instanceof Node&&!t.contains(e.target)&&V()};return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e)},[Q,V]);const X=C??(w.startsWith("bottom")?"top":"bottom"),Y=w.endsWith("end"),Z=o.useMemo(()=>({variant:i,size:p[l],color:c,density:d,elevation:b,showLabels:P,reversed:Y,close:E?V:()=>{}}),[i,l,c,d,b,P,Y,E,V]),_=Q&&!1!==h?h??e(s,{}):v??e(a,{});return t("div",{ref:e=>{S.current=e,"function"==typeof W?W(e):W&&(W.current=e)},className:r("flex w-fit","top"===X?"flex-col-reverse":"flex-col",Y?"items-end":"items-start","xs"===l||"sm"===l?"gap-1.5":"gap-2",m[g],"static"===g?"":u[w],A),style:{"--n-fab-offset":"number"==typeof z?`${z}px`:z,...I},onKeyDown:e=>{"Escape"===e.key&&Q&&(e.stopPropagation(),V(),M.current?.focus()),D?.(e)},onPointerEnter:e=>{j&&J&&!R&&"mouse"===e.pointerType&&U(!0),F?.(e)},onPointerLeave:e=>{j&&"mouse"===e.pointerType&&V(),K?.(e)},...T,children:[e(n,{ref:M,variant:i,size:l,color:c,density:d,elevation:b,disabled:R,"aria-label":x,"aria-expanded":J?Q:void 0,"aria-controls":J&&Q?H:void 0,startIcon:_,style:{borderRadius:"9999px"},onClick:e=>{J&&U(!Q),B?.(e)},children:y?x:void 0}),Q?e("div",{id:H,className:r("flex","top"===X?"flex-col-reverse":"flex-col",Y?"items-end":"items-start","xs"===l||"sm"===l?"gap-1.5":"gap-2"),children:e(f.Provider,{value:Z,children:O})}):null]})});export const FloatingAction=/*@__PURE__*/o.forwardRef(function({icon:s,label:a,disabled:c=!1,className:d,onClick:p,...m},u){const v=o.useContext(f);return t("div",{className:r("flex items-center gap-2",v.reversed?"flex-row-reverse":"flex-row",d),children:[e(n,{ref:u,variant:v.variant,size:v.size,color:v.color,density:v.density,elevation:v.elevation,disabled:c,"aria-label":a,startIcon:s,style:{borderRadius:"9999px"},onClick:e=>{p?.(e),v.close()},...m}),v.showLabels&&i(a)?e("span",{"aria-hidden":"true",className:r(b,l[v.size]),children:a}):null]})});
@@ -1 +1 @@
1
- export * from './FloatingActionButton';
1
+ export * from './FloatingActionButton.js';
@@ -1 +1 @@
1
- export*from"./FloatingActionButton";
1
+ export*from"./FloatingActionButton.js";
@@ -0,0 +1,91 @@
1
+ import * as React from 'react';
2
+ import { useRender } from '@base-ui/react/use-render';
3
+ import type { BottomNavigationLabels, BottomNavigationValue } from '../../internal/bottom-navigation.js';
4
+ import type { NebaElevation, NebaPosition, NebaStyleProps } from '../../types.js';
5
+ /**
6
+ * Where a floating bar sits, with one value the shared vocabulary does not have.
7
+ *
8
+ * `absolute` is not a second spelling of anything in `NebaPosition` — it is the
9
+ * fourth CSS value, and it is the one that makes the bar belong to a *region*
10
+ * rather than to the window: a bar inside a Mockup's screen, inside a card,
11
+ * inside a preview. The same addition FloatingActionButton makes, for the same
12
+ * reason.
13
+ */
14
+ export type FloatingBottomNavigationPosition = NebaPosition | 'absolute';
15
+ export interface FloatingBottomNavigationProps extends NebaStyleProps, Omit<React.ComponentPropsWithoutRef<'nav'>, 'color' | 'defaultValue' | 'onChange'> {
16
+ /** The destination the reader is on. Use with `onValueChange` for a controlled bar. */
17
+ value?: BottomNavigationValue | null;
18
+ /** Which starts current, for an uncontrolled bar. */
19
+ defaultValue?: BottomNavigationValue | null;
20
+ onValueChange?: (value: BottomNavigationValue) => void;
21
+ /**
22
+ * How the bar sits in the page's scroll. `fixed` — the default — holds it
23
+ * against the bottom of the window; `sticky` holds it against the bottom of
24
+ * whatever is scrolling; `absolute` holds it against the bottom of the
25
+ * nearest positioned ancestor, which is what a bar inside a screen of its own
26
+ * wants; `static` puts it back in the flow, centred.
27
+ * @default 'fixed'
28
+ */
29
+ position?: FloatingBottomNavigationPosition;
30
+ /**
31
+ * How far the bar floats above the bottom edge — a number in pixels or any
32
+ * CSS length. This is the whole difference between this component and
33
+ * [BottomNavigation]: the gap under it is what makes the page keep going
34
+ * underneath rather than stop at a bar.
35
+ * @default 16
36
+ */
37
+ offset?: number | string;
38
+ /**
39
+ * Which names are drawn. `selected` here, against the `all` a full-width bar
40
+ * defaults to: this bar is only as wide as what is in it, so five drawn names
41
+ * would stretch it across the screen and it would stop being a lozenge.
42
+ * @default 'selected'
43
+ */
44
+ labels?: BottomNavigationLabels;
45
+ /**
46
+ * Adds `env(safe-area-inset-bottom)` to `offset`, so the bar clears a phone's
47
+ * home indicator rather than sitting on it. Unlike on BottomNavigation this
48
+ * moves the whole sheet: there is nothing under it to keep covered.
49
+ * @default true
50
+ */
51
+ safeArea?: boolean;
52
+ /**
53
+ * Drop shadow depth. `2` here, against the `0` everything else defaults to
54
+ * and against BottomNavigation's own `0`, for the reason Pill's is `2`: this
55
+ * bar is defined by not being part of the page. A lozenge floating flat over
56
+ * the content it is floating over reads as a mistake.
57
+ * @default 2
58
+ */
59
+ elevation?: NebaElevation;
60
+ /** Every destination stops answering. */
61
+ disabled?: boolean;
62
+ /** The name the bar is announced by — "Main", "Sections". */
63
+ label?: string;
64
+ /**
65
+ * Renders something other than a `<nav>`. Base UI's own escape hatch, and
66
+ * rarely what you want here: a row of destinations is navigation.
67
+ */
68
+ render?: useRender.RenderProp;
69
+ /** The BottomNavigationItems. The same item both bars take. */
70
+ children?: React.ReactNode;
71
+ }
72
+ /**
73
+ * A row of destinations floating clear of the bottom edge of the window.
74
+ *
75
+ * It is [BottomNavigation] lifted off the page: the same `<nav>`, the same
76
+ * `aria-current`, the same BottomNavigationItem children, and deliberately not
77
+ * a `role="tablist"` for the same reason — a bottom navigation changes what the
78
+ * page is, not which panel of one is showing.
79
+ *
80
+ * What differs is the shape, and everything about the shape follows from
81
+ * `offset`. Because the page keeps going underneath, the sheet is a stadium
82
+ * rather than a bar with two corners, it is only as wide as its destinations,
83
+ * it carries a shadow, and it names only the destination the reader is on —
84
+ * five drawn names would stretch it back into a bar.
85
+ *
86
+ * The stadium is the exception the house radius rule is drawn against, exactly
87
+ * as Pill is: a control is held short of the 50% that would make it a pill
88
+ * because the flat run along its edge is what reads as a sheet with the corners
89
+ * cut off. Nothing here is lying on the page.
90
+ */
91
+ export declare const FloatingBottomNavigation: React.ForwardRefExoticComponent<FloatingBottomNavigationProps & React.RefAttributes<HTMLElement>>;
@@ -0,0 +1 @@
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as a from"react";import{useRender as n}from"@base-ui/react/use-render";import{barMinHeightClasses as r,BottomNavigationContext as o}from"../../internal/bottom-navigation.js";import{cx as s,surfaceClasses as l,surfaceSlots as i,transitionClasses as f}from"../../internal/styles.js";const u={solid:[l,"text-(--neba-fg) bg-(--n-panel-press)","[box-shadow:var(--n-elev),var(--neba-plate-solid)]"].join(" "),outline:[l,"border text-(--neba-fg) bg-(--n-panel-hover)","[border-color:var(--n-line)]","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),text:"text-(--neba-fg) bg-transparent"},d={static:"relative mx-auto w-fit",absolute:"absolute inset-x-0 bottom-(--n-nav-offset) z-30 mx-auto w-fit",sticky:"sticky bottom-(--n-nav-offset) z-30 mx-auto w-fit",fixed:"fixed inset-x-0 bottom-(--n-nav-offset) z-40 mx-auto w-fit"},p={default:{xs:"p-1",sm:"p-1",md:"p-1.5",lg:"p-1.5",xl:"p-2"},compact:{xs:"p-0.5",sm:"p-0.5",md:"p-1",lg:"p-1",xl:"p-1"}},c={solid:`${l} bg-(--n-panel-hover) [box-shadow:var(--neba-shadow-1),var(--neba-plate-glass)]`,outline:`${l} bg-(--n-soft-hover) [box-shadow:var(--neba-shadow-1),var(--neba-plate-glass)]`,text:"bg-(--n-soft-hover)"},b={xs:"gap-0.5",sm:"gap-0.5",md:"gap-1",lg:"gap-1",xl:"gap-1.5"};export const FloatingBottomNavigation=/*@__PURE__*/a.forwardRef(function({variant:l="outline",size:v="md",color:m="primary",density:x="default",elevation:g=2,value:y,defaultValue:h=null,onValueChange:w,position:$="fixed",offset:j=16,labels:z="selected",safeArea:k=!0,disabled:P=!1,label:A,render:C,className:N,style:R,children:E,...L},S){const[V,W]=a.useState(h),q=void 0!==y,B=q?y:V,F=a.useCallback(e=>{q||W(e),w?.(e)},[q,w]),H=a.useMemo(()=>({value:B??null,change:F,size:v,density:x,labels:z,disabled:P,floating:!0}),[B,F,v,x,z,P]),M=a.useRef(null),O=a.useRef(null),T=a.useCallback(e=>{M.current=e,"function"==typeof S?S(e):S&&(S.current=e)},[S]),D=a.useCallback(e=>{const t=M.current,a=O.current;if(!t||!a)return;const n=t.querySelector("[data-nav-item][aria-current]");if(!n)return;const r=!e||!a.hasAttribute("data-ready");r&&a.removeAttribute("data-ready"),a.style.setProperty("--n-nav-x",`${n.offsetLeft}px`),a.style.setProperty("--n-nav-y",`${n.offsetTop}px`),a.style.setProperty("--n-nav-w",`${n.offsetWidth}px`),a.style.setProperty("--n-nav-h",`${n.offsetHeight}px`),r&&a.offsetWidth,a.setAttribute("data-ready","")},[]);a.useLayoutEffect(()=>{D(!0)},[D,B,l,v,x,z,E]),a.useEffect(()=>{const e=M.current;if(!e)return;const t=new ResizeObserver(()=>D(!1));return t.observe(e),()=>t.disconnect()},[D]);const G="number"==typeof j?`${j}px`:j,I=s("flex max-w-full min-w-0 items-center rounded-full",r[v],p[x][v],b[v],u[l],d[$],f,N);return n({render:C??e("nav",{}),ref:T,props:{"aria-label":A,className:I,style:{...i(m,g),"--n-nav-offset":k?`calc(${G} + env(safe-area-inset-bottom))`:G,...R},children:t(o.Provider,{value:H,children:[null!=B?e("span",{ref:O,"aria-hidden":"true",className:s("pointer-events-none absolute rounded-full","top-(--n-nav-y) left-(--n-nav-x) h-(--n-nav-h) w-(--n-nav-w)",c[l],"[transition-property:left,top,width,height]","[transition-timing-function:var(--neba-ease)]","[transition-duration:0ms] data-[ready]:[transition-duration:var(--neba-duration)]","motion-reduce:[transition-duration:0ms]")}):null,E]}),...L}})});
@@ -0,0 +1,2 @@
1
+ export { FloatingBottomNavigation } from './FloatingBottomNavigation.js';
2
+ export type { FloatingBottomNavigationPosition, FloatingBottomNavigationProps } from './FloatingBottomNavigation.js';
@@ -0,0 +1 @@
1
+ export{FloatingBottomNavigation}from"./FloatingBottomNavigation.js";
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { useRender } from '@base-ui/react/use-render';
3
- import type { NebaAlignSelf, NebaResponsive } from '../../types';
3
+ import type { NebaAlignSelf, NebaResponsive } from '../../types.js';
4
4
  export interface GridProps extends React.ComponentPropsWithoutRef<'div'> {
5
5
  /**
6
6
  * How many of the container's columns the item takes. Read against the
@@ -1 +1 @@
1
- import*as e from"react";import{useRender as r}from"@base-ui/react/use-render";import{alignSelfClasses as n,offsetValue as o,responsiveSlots as t,spanValue as s}from"../../internal/grid";export const Grid=e.forwardRef(function({span:e,offset:a,alignSelf:i,render:f,className:l,style:c,children:d,...m},p){const u=["neba-grid-item",i?n[i]:"",l??""].filter(Boolean).join(" ");return r({render:f,ref:p,props:{className:u,style:{...t("span",e,s),...t("offset",a,o),...c},children:d,...m}})});
1
+ import*as e from"react";import{useRender as r}from"@base-ui/react/use-render";import{alignSelfClasses as n,offsetValue as o,responsiveSlots as s,spanValue as t}from"../../internal/grid.js";export const Grid=/*@__PURE__*/e.forwardRef(function({span:e,offset:a,alignSelf:i,render:f,className:l,style:c,children:d,...m},p){const u=["neba-grid-item",i?n[i]:"",l??""].filter(Boolean).join(" ");return r({render:f,ref:p,props:{className:u,style:{...s("span",e,t),...s("offset",a,o),...c},children:d,...m}})});
@@ -1,2 +1,2 @@
1
- export { Grid } from './Grid';
2
- export type { GridProps } from './Grid';
1
+ export { Grid } from './Grid.js';
2
+ export type { GridProps } from './Grid.js';
@@ -1 +1 @@
1
- export{Grid}from"./Grid";
1
+ export{Grid}from"./Grid.js";
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { useRender } from '@base-ui/react/use-render';
3
- import type { NebaAlignItems, NebaDensity, NebaJustifyContent, NebaResponsive, NebaSize } from '../../types';
3
+ import type { NebaAlignItems, NebaDensity, NebaJustifyContent, NebaResponsive, NebaSize } from '../../types.js';
4
4
  export interface GridContainerProps extends React.ComponentPropsWithoutRef<'div'> {
5
5
  /**
6
6
  * How many columns a row is divided into. Every `span` and every `offset`
@@ -1 +1 @@
1
- import*as e from"react";import{useRender as r}from"@base-ui/react/use-render";import{alignContentClasses as n,alignItemsClasses as a,columnCount as o,justifyContentClasses as t,responsiveSlots as i,spacingValue as p,withBaseline as s}from"../../internal/grid";import{boxPaddingClasses as l}from"../box/Box";export const GridContainer=e.forwardRef(function({columns:e,spacing:c,rowSpacing:d,columnSpacing:f,justifyContent:m,alignItems:g,alignContent:x,wrap:u=!0,padded:y=!0,size:w="md",density:b="default",render:C,className:h,style:j,children:B,...N},S){const z=["neba-grid flex",u?"flex-wrap":"flex-nowrap","gap-x-(--n-gap-x) gap-y-(--n-gap-y)",y?l[b][w]:"",m?t[m]:"",g?a[g]:"",x?n[x]:"",h??""].filter(Boolean).join(" ");return r({render:C,ref:S,props:{className:z,style:{...i("cols",s(e,12),o),...i("gap-x",s(f??c,2),p),...i("gap-y",s(d??c,2),p),...j},children:B,...N}})});
1
+ import*as e from"react";import{useRender as r}from"@base-ui/react/use-render";import{alignContentClasses as n,alignItemsClasses as a,columnCount as o,justifyContentClasses as t,responsiveSlots as i,spacingValue as s,withBaseline as p}from"../../internal/grid.js";import{boxPaddingClasses as l}from"../box/Box.js";export const GridContainer=/*@__PURE__*/e.forwardRef(function({columns:e,spacing:c,rowSpacing:d,columnSpacing:f,justifyContent:m,alignItems:g,alignContent:x,wrap:u=!0,padded:y=!0,size:w="md",density:j="default",render:b,className:C,style:h,children:B,...N},S){const z=["neba-grid flex",u?"flex-wrap":"flex-nowrap","gap-x-(--n-gap-x) gap-y-(--n-gap-y)",y?l[j][w]:"",m?t[m]:"",g?a[g]:"",x?n[x]:"",C??""].filter(Boolean).join(" ");return r({render:b,ref:S,props:{className:z,style:{...i("cols",p(e,12),o),...i("gap-x",p(f??c,2),s),...i("gap-y",p(d??c,2),s),...h},children:B,...N}})});
@@ -1,2 +1,2 @@
1
- export { GridContainer } from './GridContainer';
2
- export type { GridContainerProps } from './GridContainer';
1
+ export { GridContainer } from './GridContainer.js';
2
+ export type { GridContainerProps } from './GridContainer.js';
@@ -1 +1 @@
1
- export{GridContainer}from"./GridContainer";
1
+ export{GridContainer}from"./GridContainer.js";
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
- import { type ChartScaleKind } from '../../internal/chart';
3
- import type { NebaChartCategory, NebaChartLegend, NebaChartSeries } from '../../types';
4
- import type { ChartBaseProps } from '../../internal/chart-frame';
2
+ import { type ChartScaleKind } from '../../internal/chart.js';
3
+ import type { NebaChartCategory, NebaChartLegend, NebaChartSeries } from '../../types.js';
4
+ import type { ChartBaseProps } from '../../internal/chart-frame.js';
5
5
  export interface HeatmapChartProps extends Omit<ChartBaseProps, 'legend'> {
6
6
  /**
7
7
  * The rows. Each series is a row of the grid or a group of the treemap, and
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as l from"react";import{ChartScaleLegend as n,ChartSurface as i,ChartTooltipPanel as a,useMeasuredWidth as r}from"../../internal/chart-frame";import{categoryAt as o,chartFontSizes as d,compactNumber as h,formatCategory as c,markGap as s,plotHeights as m,rampFill as u,rampInk as x,rampStep as f,rampSteps as g,squarify as p,textWidth as v,toValues as w,truncate as b}from"../../internal/chart";import{numberFormatter as y}from"../../internal/format";import{cx as M,metaTextClasses as k,srOnlyClasses as A}from"../../internal/styles";import{useMessages as N}from"../../internal/i18n";export function HeatmapChart({series:z,categories:E,shape:S="grid",scale:j="sequential",midpoint:B=0,min:C,max:I,valueLabels:_="none",height:D,format:L,locale:P,label:R,legend:q,tooltip:H,empty:K,size:U="md",variant:W="text",padded:F=!1,className:G,...J}){const O=l.useRef(null),Q=r(O),T=N(P),V=l.useId(),[X,Y]=l.useState(null),Z=l.useCallback(e=>L?y(P,L).format(e):h(e,P),[L,P]),ee=l.useMemo(()=>w(z),[z]),te=ee.reduce((e,t)=>Math.max(e,t.length),0),le=l.useMemo(()=>Array.from({length:te},(e,t)=>o(t,E,ee)),[te,E,ee]),ne=l.useMemo(()=>z.map((e,t)=>e.name??`${t+1}`),[z]),ie=l.useMemo(()=>{let e=1/0,t=-1/0,l=!1;for(const n of ee)for(const i of n)null!==i.value&&(l=!0,e=Math.min(e,i.value),t=Math.max(t,i.value));return l?{min:e,max:t}:null},[ee]),ae=C??ie?.min??0,re=I??ie?.max??1,oe=l.useCallback(e=>f(e,ae,re,j,B),[ae,re,j,B]),de="number"==typeof D?D:m[U]??220,he=d[U],ce=!0===q||void 0===q||!1===q?{}:q,se=!1!==q,me=ce.side??"bottom",ue=!1===H?{mode:"none"}:!0===H||void 0===H?{}:H,xe="none"===ue.mode,fe=null===ie||0===te||0===z.length,ge=l.useMemo(()=>{if("treemap"===S||Q<=0)return{texts:[],band:0};const e=Math.min(150,.25*Q),t=ne.map(t=>b(t,e,he));return{texts:t,band:t.reduce((e,t)=>Math.max(e,v(t,he)),0)+10}},[S,ne,Q,he]),pe="treemap"===S?0:he+8,ve={left:ge.band,width:Math.max(0,Q-ge.band),height:Math.max(0,de-pe)},we=l.useMemo(()=>{if(ve.width<=0||ve.height<=0)return[];if("treemap"===S){const e=[];return ee.forEach((t,l)=>t.forEach((t,n)=>{null!==t.value&&e.push({row:l,index:n,cell:t})})),p(e.map(e=>Math.max(0,e.cell.value??0)),ve.width,ve.height).map(t=>({row:e[t.index].row,index:e[t.index].index,cell:e[t.index].cell,x:ve.left+t.x,y:t.y,width:t.width,height:t.height}))}const e=ve.height/Math.max(1,z.length),t=ve.width/Math.max(1,te),l=[];return ee.forEach((n,i)=>n.forEach((n,a)=>{null!==n.value&&l.push({row:i,index:a,cell:n,x:ve.left+a*t,y:i*e,width:t,height:e})})),l},[S,ee,z.length,te,ve.left,ve.width,ve.height]),be=l.useCallback(e=>c(e.cell.x??E?.[e.index]??le[e.index]??e.index,P),[E,le,P]),ye=null===X?null:we.find(e=>e.row===X.row&&e.index===X.index)??null,Me=null===ye?[]:[{seriesIndex:ye.row,color:ye.cell.color??u(oe(ye.cell.value??0),j),value:ye.cell.value,formatted:Z(ye.cell.value??0),label:ye.cell.label}],ke=Array.from({length:g},(e,t)=>u(t,j));return e(i,{...J,size:U,variant:W,padded:F,className:G,legendSide:me,legend:se&&!fe?e(n,{steps:ke,from:Z("diverging"===j?-$(ae,re,B)+B:ae),to:Z("diverging"===j?$(ae,re,B)+B:re),middle:"diverging"===j?Z(B):void 0,align:ce.align??"center",vertical:"left"===me||"right"===me,size:U}):null,table:fe?null:t("table",{id:V,className:A,children:[R?e("caption",{children:R}):null,e("thead",{children:t("tr",{children:[e("th",{scope:"col"}),le.map((t,l)=>e("th",{scope:"col",children:c(t,P)},l))]})}),e("tbody",{children:ee.map((l,n)=>t("tr",{children:[e("th",{scope:"row",children:ne[n]}),le.map((t,n)=>{const i=l[n];return e("td",{children:void 0!==i?.label?i.label:null==i?.value?"":Z(i.value)},n)})]},n))})]}),children:t("div",{ref:O,role:"img",tabIndex:fe?void 0:0,"aria-label":R,"aria-describedby":fe?void 0:V,onPointerLeave:()=>Y(null),onBlur:()=>Y(null),onKeyDown:e=>{if(xe||0===we.length)return;const t=null===X?-1:we.findIndex(e=>e.row===X.row&&e.index===X.index);if("ArrowRight"===e.key||"ArrowDown"===e.key){const e=we[Math.min(we.length-1,t+1)];Y({row:e.row,index:e.index})}else if("ArrowLeft"===e.key||"ArrowUp"===e.key){const e=we[Math.max(0,(-1===t?we.length:t)-1)];Y({row:e.row,index:e.index})}else{if("Escape"!==e.key)return;Y(null)}e.preventDefault()},className:M("relative w-full rounded-(--neba-radius-xs)","focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-2"),style:{height:de},children:[fe?e("div",{className:M("flex h-full items-center justify-center text-(--neba-muted-fg)",k[U]),children:K??T.empty.title}):Q>0?t("svg",{width:Q,height:de,viewBox:`0 0 ${Q} ${de}`,"aria-hidden":"true",className:"block",children:[we.map(l=>{const n=oe(l.cell.value??0),i=X?.row===l.row&&X?.index===l.index,a=Math.max(0,l.width-s),r=Math.max(0,l.height-s);if(a<=0||r<=0)return null;const o=Z(l.cell.value??0),d="treemap"===S?"all"===_?[be(l),o]:[be(l)]:"all"===_?[o]:[],h=d.filter(e=>function(e,t,l,n){return l>=1.8*n&&t>=Math.min(v(e,n),2.5*n)+8}(e,a,r/d.length,he)),c=l.cell.color?"var(--neba-surface)":x(n,j);return t("g",{children:[e("rect",{x:l.x+s/2,y:l.y+s/2,width:a,height:r,rx:Math.min(3,a/2,r/2),fill:l.cell.color??u(n,j),opacity:i?1:.94,onPointerEnter:xe?void 0:()=>Y({row:l.row,index:l.index}),className:"[transition:opacity_var(--neba-duration)_var(--neba-ease)]"}),h.map((t,n)=>e("text",{x:l.x+l.width/2,y:l.y+l.height/2+(n-(h.length-1)/2)*(he+2),textAnchor:"middle",dominantBaseline:"central",fontSize:he,fontWeight:0===n?500:400,fill:c,opacity:0===n?1:.85,pointerEvents:"none",className:0===n&&"treemap"===S?void 0:"tabular-nums",children:b(t,l.width-8,he)},n))]},`${l.row}-${l.index}`)}),"grid"===S?ge.texts.map((t,l)=>e("text",{x:ve.left-8,y:(l+.5)*ve.height/Math.max(1,z.length),textAnchor:"end",dominantBaseline:"central",fontSize:he,fill:"var(--neba-muted-fg)",children:t},`row-${l}`)):null,"grid"===S?le.map((t,l)=>{const n=ve.width/Math.max(1,te),i=c(t,P);return l%Math.max(1,Math.ceil((v(i,he)+8)/Math.max(1,n)))!==0?null:e("text",{x:ve.left+(l+.5)*n,y:ve.height+he,textAnchor:"middle",fontSize:he,fill:"var(--neba-muted-fg)",children:i},`col-${l}`)}):null]}):null,ye&&!xe?ue.render?e("div",{className:"pointer-events-none absolute z-10",style:{left:ye.x+ye.width/2,top:ye.y},children:ue.render({index:ye.index,category:ye.cell.x??le[ye.index]??ye.index,items:Me})}):e(a,{heading:`${ne[ye.row]} · ${be(ye)}`,items:Me,x:ye.x+ye.width/2,y:ye.y,flip:ye.x+ye.width/2>.6*Q,size:U}):null]})})}function $(e,t,l){return Math.max(Math.abs(t-l),Math.abs(l-e))}
1
+ import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as l from"react";import{ChartScaleLegend as n,ChartSurface as i,ChartTooltipPanel as a,useMeasuredWidth as r}from"../../internal/chart-frame.js";import{categoryAt as o,chartFontSizes as d,compactNumber as h,formatCategory as s,markGap as c,plotHeights as m,rampFill as u,rampInk as x,rampStep as f,rampSteps as g,squarify as p,textWidth as v,toValues as w,truncate as b}from"../../internal/chart.js";import{numberFormatter as y}from"../../internal/format.js";import{cx as M,metaTextClasses as j,srOnlyClasses as k}from"../../internal/styles.js";import{emptyMessages as A,useMessages as N}from"../../internal/i18n.js";export function HeatmapChart({series:z,categories:E,shape:S="grid",scale:B="sequential",midpoint:C=0,min:I,max:_,valueLabels:D="none",height:L,format:P,locale:R,label:q,legend:H,tooltip:K,empty:U,size:W="md",variant:F="text",padded:G=!1,className:J,...O}){const Q=l.useRef(null),T=r(Q),V=N(A,R),X=l.useId(),[Y,Z]=l.useState(null),ee=l.useCallback(e=>P?y(R,P).format(e):h(e,R),[P,R]),te=l.useMemo(()=>w(z),[z]),le=te.reduce((e,t)=>Math.max(e,t.length),0),ne=l.useMemo(()=>Array.from({length:le},(e,t)=>o(t,E,te)),[le,E,te]),ie=l.useMemo(()=>z.map((e,t)=>e.name??`${t+1}`),[z]),ae=l.useMemo(()=>{let e=1/0,t=-1/0,l=!1;for(const n of te)for(const i of n)null!==i.value&&(l=!0,e=Math.min(e,i.value),t=Math.max(t,i.value));return l?{min:e,max:t}:null},[te]),re=I??ae?.min??0,oe=_??ae?.max??1,de=l.useCallback(e=>f(e,re,oe,B,C),[re,oe,B,C]),he="number"==typeof L?L:m[W]??220,se=d[W],ce=!0===H||void 0===H||!1===H?{}:H,me=!1!==H,ue=ce.side??"bottom",xe=!1===K?{mode:"none"}:!0===K||void 0===K?{}:K,fe="none"===xe.mode,ge=null===ae||0===le||0===z.length,pe=l.useMemo(()=>{if("treemap"===S||T<=0)return{texts:[],band:0};const e=Math.min(150,.25*T),t=ie.map(t=>b(t,e,se));return{texts:t,band:t.reduce((e,t)=>Math.max(e,v(t,se)),0)+10}},[S,ie,T,se]),ve="treemap"===S?0:se+8,we={left:pe.band,width:Math.max(0,T-pe.band),height:Math.max(0,he-ve)},be=l.useMemo(()=>{if(we.width<=0||we.height<=0)return[];if("treemap"===S){const e=[];return te.forEach((t,l)=>t.forEach((t,n)=>{null!==t.value&&e.push({row:l,index:n,cell:t})})),p(e.map(e=>Math.max(0,e.cell.value??0)),we.width,we.height).map(t=>({row:e[t.index].row,index:e[t.index].index,cell:e[t.index].cell,x:we.left+t.x,y:t.y,width:t.width,height:t.height}))}const e=we.height/Math.max(1,z.length),t=we.width/Math.max(1,le),l=[];return te.forEach((n,i)=>n.forEach((n,a)=>{null!==n.value&&l.push({row:i,index:a,cell:n,x:we.left+a*t,y:i*e,width:t,height:e})})),l},[S,te,z.length,le,we.left,we.width,we.height]),ye=l.useCallback(e=>s(e.cell.x??E?.[e.index]??ne[e.index]??e.index,R),[E,ne,R]),Me=null===Y?null:be.find(e=>e.row===Y.row&&e.index===Y.index)??null,je=null===Me?[]:[{seriesIndex:Me.row,color:Me.cell.color??u(de(Me.cell.value??0),B),value:Me.cell.value,formatted:ee(Me.cell.value??0),label:Me.cell.label}],ke=Array.from({length:g},(e,t)=>u(t,B));return e(i,{...O,size:W,variant:F,padded:G,className:J,legendSide:ue,legend:me&&!ge?e(n,{steps:ke,from:ee("diverging"===B?-$(re,oe,C)+C:re),to:ee("diverging"===B?$(re,oe,C)+C:oe),middle:"diverging"===B?ee(C):void 0,align:ce.align??"center",vertical:"left"===ue||"right"===ue,size:W}):null,table:ge?null:t("table",{id:X,className:k,children:[q?e("caption",{children:q}):null,e("thead",{children:t("tr",{children:[e("th",{scope:"col"}),ne.map((t,l)=>e("th",{scope:"col",children:s(t,R)},l))]})}),e("tbody",{children:te.map((l,n)=>t("tr",{children:[e("th",{scope:"row",children:ie[n]}),ne.map((t,n)=>{const i=l[n];return e("td",{children:void 0!==i?.label?i.label:null==i?.value?"":ee(i.value)},n)})]},n))})]}),children:t("div",{ref:Q,role:"img",tabIndex:ge?void 0:0,"aria-label":q,"aria-describedby":ge?void 0:X,onPointerLeave:()=>Z(null),onBlur:()=>Z(null),onKeyDown:e=>{if(fe||0===be.length)return;const t=null===Y?-1:be.findIndex(e=>e.row===Y.row&&e.index===Y.index);if("ArrowRight"===e.key||"ArrowDown"===e.key){const e=be[Math.min(be.length-1,t+1)];Z({row:e.row,index:e.index})}else if("ArrowLeft"===e.key||"ArrowUp"===e.key){const e=be[Math.max(0,(-1===t?be.length:t)-1)];Z({row:e.row,index:e.index})}else{if("Escape"!==e.key)return;Z(null)}e.preventDefault()},className:M("relative w-full rounded-(--neba-radius-xs)","focus-visible:[outline:2px_solid_var(--n-ring)] focus-visible:outline-offset-2"),style:{height:he},children:[ge?e("div",{className:M("flex h-full items-center justify-center text-(--neba-muted-fg)",j[W]),children:U??V.title}):T>0?t("svg",{width:T,height:he,viewBox:`0 0 ${T} ${he}`,"aria-hidden":"true",className:"block",children:[be.map(l=>{const n=de(l.cell.value??0),i=Y?.row===l.row&&Y?.index===l.index,a=Math.max(0,l.width-c),r=Math.max(0,l.height-c);if(a<=0||r<=0)return null;const o=ee(l.cell.value??0),d="treemap"===S?"all"===D?[ye(l),o]:[ye(l)]:"all"===D?[o]:[],h=d.filter(e=>function(e,t,l,n){return l>=1.8*n&&t>=Math.min(v(e,n),2.5*n)+8}(e,a,r/d.length,se)),s=l.cell.color?"var(--neba-surface)":x(n,B);return t("g",{children:[e("rect",{x:l.x+c/2,y:l.y+c/2,width:a,height:r,rx:Math.min(3,a/2,r/2),fill:l.cell.color??u(n,B),opacity:i?1:.94,onPointerEnter:fe?void 0:()=>Z({row:l.row,index:l.index}),className:"[transition:opacity_var(--neba-duration)_var(--neba-ease)]"}),h.map((t,n)=>e("text",{x:l.x+l.width/2,y:l.y+l.height/2+(n-(h.length-1)/2)*(se+2),textAnchor:"middle",dominantBaseline:"central",fontSize:se,fontWeight:0===n?500:400,fill:s,opacity:0===n?1:.85,pointerEvents:"none",className:0===n&&"treemap"===S?void 0:"tabular-nums",children:b(t,l.width-8,se)},n))]},`${l.row}-${l.index}`)}),"grid"===S?pe.texts.map((t,l)=>e("text",{x:we.left-8,y:(l+.5)*we.height/Math.max(1,z.length),textAnchor:"end",dominantBaseline:"central",fontSize:se,fill:"var(--neba-muted-fg)",children:t},`row-${l}`)):null,"grid"===S?ne.map((t,l)=>{const n=we.width/Math.max(1,le),i=s(t,R);return l%Math.max(1,Math.ceil((v(i,se)+8)/Math.max(1,n)))!==0?null:e("text",{x:we.left+(l+.5)*n,y:we.height+se,textAnchor:"middle",fontSize:se,fill:"var(--neba-muted-fg)",children:i},`col-${l}`)}):null]}):null,Me&&!fe?xe.render?e("div",{className:"pointer-events-none absolute z-10",style:{left:Me.x+Me.width/2,top:Me.y},children:xe.render({index:Me.index,category:Me.cell.x??ne[Me.index]??Me.index,items:je})}):e(a,{heading:`${ie[Me.row]} · ${ye(Me)}`,items:je,x:Me.x+Me.width/2,y:Me.y,flip:Me.x+Me.width/2>.6*T,size:W}):null]})})}function $(e,t,l){return Math.max(Math.abs(t-l),Math.abs(l-e))}
@@ -1,2 +1,2 @@
1
- export { HeatmapChart } from './HeatmapChart';
2
- export type { HeatmapChartProps } from './HeatmapChart';
1
+ export { HeatmapChart } from './HeatmapChart.js';
2
+ export type { HeatmapChartProps } from './HeatmapChart.js';
@@ -1 +1 @@
1
- export{HeatmapChart}from"./HeatmapChart";
1
+ export{HeatmapChart}from"./HeatmapChart.js";
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import type { TypographyWeight } from '../typography/Typography';
3
- import type { NebaColor, NebaVariant } from '../../types';
2
+ import type { TypographyWeight } from '../typography/Typography.js';
3
+ import type { NebaColor, NebaVariant } from '../../types.js';
4
4
  export interface HighlightProps extends Omit<React.ComponentPropsWithoutRef<'span'>, 'color'> {
5
5
  /**
6
6
  * What to find.
@@ -1 +1 @@
1
- import{jsx as n}from"react/jsx-runtime";import*as e from"react";import{transitionClasses as t}from"../../internal/styles";const r={solid:"bg-(--n-fill) text-(--n-on-solid)",outline:"border bg-(--n-panel) text-(--n-accent) [border-color:var(--n-line)]",text:"bg-transparent text-(--n-accent)"},o={regular:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold"},l=/[\p{L}\p{N}_]/u;function i(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function a(n,e,t){const r=e>0?n[e-1]:"",o=t<n.length?n[t]:"";return!l.test(r)&&!l.test(o)}function s(n,e,t,r){e.lastIndex=0;const o=[];let l,i=0;for(;null!==(l=e.exec(n));){if(""===l[0]){e.lastIndex+=1;continue}const s=l.index,c=s+l[0].length;t&&!a(n,s,c)||(s>i&&o.push(n.slice(i,s)),o.push(r(l[0],`${s}`)),i=c)}return 0===o.length?n:(i<n.length&&o.push(n.slice(i)),o)}function c(n,t,r,o){if("string"==typeof n)return s(n,t,r,o);if("number"==typeof n)return s(String(n),t,r,o);if(Array.isArray(n))return e.Children.map(n,n=>c(n,t,r,o));if(e.isValidElement(n)){const l=n.props.children;return void 0===l||"function"==typeof l?n:e.cloneElement(n,void 0,c(l,t,r,o))}return n}export const Highlight=e.forwardRef(function({query:l,variant:a="solid",color:s="warning",caseSensitive:u=!1,wholeWord:f=!1,underline:d=!1,weight:m,className:g,style:p,children:h,...b},x){const y=e.useMemo(()=>function(n,e){if(n instanceof RegExp)return new RegExp(n.source,n.global?n.flags:`${n.flags}g`);const t=(Array.isArray(n)?n:[n]).map(n=>n.trim()).filter(Boolean).sort((n,e)=>e.length-n.length);return 0===t.length?null:new RegExp(t.map(i).join("|"),e?"gu":"giu")}(l,u),[l,u]),v=["rounded-[0.25rem] px-0.5 -mx-0.5","box-decoration-clone",r[a],d?"underline decoration-2 underline-offset-2":"",m?o[m]:"",t].filter(Boolean).join(" "),$=y?c(h,y,f,(e,t)=>n("mark",{className:v,children:e},t)):h;return n("span",{ref:x,className:g,style:{"--n-fill":`var(--neba-${s}-fill)`,"--n-on-solid":`var(--neba-${s}-on-solid)`,"--n-accent":`var(--neba-${s}-accent)`,"--n-panel":`var(--neba-${s}-panel)`,"--n-line":`var(--neba-${s}-line)`,...p},...b,children:$})});
1
+ import{jsx as n}from"react/jsx-runtime";import*as e from"react";import{transitionClasses as t}from"../../internal/styles.js";const r={solid:"bg-(--n-fill) text-(--n-on-solid)",outline:"border bg-(--n-panel) text-(--n-accent) [border-color:var(--n-line)]",text:"bg-transparent text-(--n-accent)"},o={regular:"font-normal",medium:"font-medium",semibold:"font-semibold",bold:"font-bold"},l=/[\p{L}\p{N}_]/u;function i(n){return n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function a(n,e,t){const r=e>0?n[e-1]:"",o=t<n.length?n[t]:"";return!l.test(r)&&!l.test(o)}function s(n,e,t,r){e.lastIndex=0;const o=[];let l,i=0;for(;null!==(l=e.exec(n));){if(""===l[0]){e.lastIndex+=1;continue}const s=l.index,c=s+l[0].length;t&&!a(n,s,c)||(s>i&&o.push(n.slice(i,s)),o.push(r(l[0],`${s}`)),i=c)}return 0===o.length?n:(i<n.length&&o.push(n.slice(i)),o)}function c(n,t,r,o){if("string"==typeof n)return s(n,t,r,o);if("number"==typeof n)return s(String(n),t,r,o);if(Array.isArray(n))return e.Children.map(n,n=>c(n,t,r,o));if(e.isValidElement(n)){const l=n.props.children;return void 0===l||"function"==typeof l?n:e.cloneElement(n,void 0,c(l,t,r,o))}return n}export const Highlight=/*@__PURE__*/e.forwardRef(function({query:l,variant:a="solid",color:s="warning",caseSensitive:u=!1,wholeWord:f=!1,underline:d=!1,weight:m,className:g,style:p,children:h,...b},x){const y=e.useMemo(()=>function(n,e){if(n instanceof RegExp)return new RegExp(n.source,n.global?n.flags:`${n.flags}g`);const t=(Array.isArray(n)?n:[n]).map(n=>n.trim()).filter(Boolean).sort((n,e)=>e.length-n.length);return 0===t.length?null:new RegExp(t.map(i).join("|"),e?"gu":"giu")}(l,u),[l,u]),v=["rounded-[0.25rem] px-0.5 -mx-0.5","box-decoration-clone",r[a],d?"underline decoration-2 underline-offset-2":"",m?o[m]:"",t].filter(Boolean).join(" "),$=y?c(h,y,f,(e,t)=>n("mark",{className:v,children:e},t)):h;return n("span",{ref:x,className:g,style:{"--n-fill":`var(--neba-${s}-fill)`,"--n-on-solid":`var(--neba-${s}-on-solid)`,"--n-accent":`var(--neba-${s}-accent)`,"--n-panel":`var(--neba-${s}-panel)`,"--n-line":`var(--neba-${s}-line)`,...p},...b,children:$})});
@@ -1,2 +1,2 @@
1
- export { Highlight } from './Highlight';
2
- export type { HighlightProps } from './Highlight';
1
+ export { Highlight } from './Highlight.js';
2
+ export type { HighlightProps } from './Highlight.js';
@@ -1 +1 @@
1
- export{Highlight}from"./Highlight";
1
+ export{Highlight}from"./Highlight.js";
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import type { NebaColor, NebaSize, NebaTransition } from '../../types';
2
+ import type { NebaColor, NebaSize, NebaTransition } from '../../types.js';
3
3
  export interface IconProps extends Omit<React.ComponentPropsWithoutRef<'span'>, 'color'> {
4
4
  /**
5
5
  * The glyph. An `<svg>` element, an `<img>`, a component from an icon set, or
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import*as t from"react";import{transitionProps as i}from"../../internal/animate";import{iconSizeClasses as n}from"../../internal/styles";const r={xs:"text-[0.875rem]",sm:"text-[1rem]",md:"text-[1.25rem]",lg:"text-[1.5rem]",xl:"text-[1.75rem]"};export const Icon=t.forwardRef(function({icon:t,size:l="md",color:a="inherit",label:s,transition:o,className:m,style:c,...f},x){const d=i(o),g=["inline-flex shrink-0 items-center justify-center align-middle",n[l],"[&>svg]:block [&>svg]:size-full [&>img]:block [&>img]:size-full",`leading-none ${r[l]}`,"inherit"===a?"":"text-(--n-accent)",d.className,m??""].filter(Boolean).join(" ");return e("span",{ref:x,className:g,style:"inherit"===a?{...d.style,...c}:{"--n-accent":`var(--neba-${a}-accent)`,...d.style,...c},role:s?"img":void 0,"aria-label":s,"aria-hidden":!s||void 0,...f,children:t})});
1
+ import{jsx as e}from"react/jsx-runtime";import*as t from"react";import{transitionProps as i}from"../../internal/animate.js";import{iconSizeClasses as n}from"../../internal/styles.js";const r={xs:"text-[0.875rem]",sm:"text-[1rem]",md:"text-[1.25rem]",lg:"text-[1.5rem]",xl:"text-[1.75rem]"};export const Icon=/*@__PURE__*/t.forwardRef(function({icon:t,size:s="md",color:l="inherit",label:a,transition:o,className:m,style:c,...f},x){const d=i(o),g=["inline-flex shrink-0 items-center justify-center align-middle",n[s],"[&>svg]:block [&>svg]:size-full [&>img]:block [&>img]:size-full",`leading-none ${r[s]}`,"inherit"===l?"":"text-(--n-accent)",d.className,m??""].filter(Boolean).join(" ");return e("span",{ref:x,className:g,style:"inherit"===l?{...d.style,...c}:{"--n-accent":`var(--neba-${l}-accent)`,...d.style,...c},role:a?"img":void 0,"aria-label":a,"aria-hidden":!a||void 0,...f,children:t})});
@@ -1,2 +1,2 @@
1
- export { Icon } from './Icon';
2
- export type { IconProps } from './Icon';
1
+ export { Icon } from './Icon.js';
2
+ export type { IconProps } from './Icon.js';
@@ -1 +1 @@
1
- export{Icon}from"./Icon";
1
+ export{Icon}from"./Icon.js";
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { type ButtonProps } from '../button/Button';
2
+ import { type ButtonProps } from '../button/Button.js';
3
3
  export interface IconButtonProps extends Omit<ButtonProps, 'children' | 'startIcon' | 'endIcon'> {
4
4
  /**
5
5
  * The glyph. Wrap it in an `Icon` when it needs a size of its own; passed bare
@@ -1 +1 @@
1
- import{jsx as t}from"react/jsx-runtime";import*as r from"react";import{Button as o}from"../button/Button";export const IconButton=r.forwardRef(function({icon:r,label:e,style:a,...n},s){return t(o,{ref:s,"aria-label":e,startIcon:r,style:{borderRadius:"9999px",...a},...n})});
1
+ import{jsx as t}from"react/jsx-runtime";import*as r from"react";import{Button as o}from"../button/Button.js";export const IconButton=/*@__PURE__*/r.forwardRef(function({icon:r,label:e,style:a,...n},s){return t(o,{ref:s,"aria-label":e,startIcon:r,style:{borderRadius:"9999px",...a},...n})});
@@ -1,2 +1,2 @@
1
- export { IconButton } from './IconButton';
2
- export type { IconButtonProps } from './IconButton';
1
+ export { IconButton } from './IconButton.js';
2
+ export type { IconButtonProps } from './IconButton.js';
@@ -1 +1 @@
1
- export{IconButton}from"./IconButton";
1
+ export{IconButton}from"./IconButton.js";
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
- import { type CartesianChartProps } from '../../internal/chart-frame';
3
- import { type ChartMarkers } from '../../internal/chart-line';
4
- import type { NebaChartCurve, NebaChartValueLabels } from '../../types';
2
+ import { type CartesianChartProps } from '../../internal/chart-frame.js';
3
+ import { type ChartMarkers } from '../../internal/chart-line.js';
4
+ import type { NebaChartCurve, NebaChartValueLabels } from '../../types.js';
5
5
  export interface LineChartProps extends CartesianChartProps {
6
6
  /**
7
7
  * How the line gets from one point to the next.
@@ -1 +1 @@
1
- import{jsx as e}from"react/jsx-runtime";import*as r from"react";import{CartesianChart as t}from"../../internal/chart-frame";import{LineSeries as n}from"../../internal/chart-line";export function LineChart({curve:a="linear",markers:o="auto",gradient:c=!1,connectNulls:i=!1,valueLabels:l="none",stacked:s=!1,...m}){const u=r.useId().replace(/:/g,"");return e(t,{...m,stacked:s,inset:!0,includeZero:!1,headroom:"none"===l?0:10,children:r=>e(n,{context:r,curve:a,filled:!1,stacked:s,markers:o,valueLabels:l,connectNulls:i,gradient:c,idPrefix:u})})}
1
+ import{jsx as e}from"react/jsx-runtime";import*as r from"react";import{CartesianChart as t}from"../../internal/chart-frame.js";import{LineSeries as n}from"../../internal/chart-line.js";export function LineChart({curve:a="linear",markers:o="auto",gradient:c=!1,connectNulls:i=!1,valueLabels:s="none",stacked:l=!1,...m}){const u=r.useId().replace(/:/g,"");return e(t,{...m,stacked:l,inset:!0,includeZero:!1,headroom:"none"===s?0:10,children:r=>e(n,{context:r,curve:a,filled:!1,stacked:l,markers:o,valueLabels:s,connectNulls:i,gradient:c,idPrefix:u})})}
@@ -1,2 +1,2 @@
1
- export { LineChart } from './LineChart';
2
- export type { LineChartProps } from './LineChart';
1
+ export { LineChart } from './LineChart.js';
2
+ export type { LineChartProps } from './LineChart.js';
@@ -1 +1 @@
1
- export{LineChart}from"./LineChart";
1
+ export{LineChart}from"./LineChart.js";
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { useRender } from '@base-ui/react/use-render';
3
- import type { NebaElevation, NebaStyleProps } from '../../types';
3
+ import type { NebaElevation, NebaStyleProps } from '../../types.js';
4
4
  export interface ListProps extends NebaStyleProps, Omit<React.ComponentPropsWithoutRef<'ul'>, 'color'> {
5
5
  /**
6
6
  * Drop shadow depth. `0` (the default) is flat.
@@ -1 +1 @@
1
- import{jsx as e,jsxs as n,Fragment as r}from"react/jsx-runtime";import*as t from"react";import{useRender as l}from"@base-ui/react/use-render";import{boxPaddingXClasses as s}from"../box/Box";import{focusRingClasses as a,gapClasses as i,hasContent as o,iconClasses as d,metaTextClasses as c,radiusClasses as m,sheetBodyClasses as f,surfaceClasses as x,surfaceSlots as p,transitionClasses as u}from"../../internal/styles";const h=t.createContext({size:"md",density:"default",dividers:!1}),b={solid:[x,"text-(--neba-fg) bg-(--n-panel-hover)","[box-shadow:var(--n-elev),var(--neba-plate-solid)]"].join(" "),outline:[x,"border text-(--neba-fg) bg-(--n-panel)","[border-color:var(--n-line)]","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),text:"text-(--neba-fg) bg-transparent"},v={default:{xs:"py-1",sm:"py-1.5",md:"py-2",lg:"py-2.5",xl:"py-3"},compact:{xs:"py-0.5",sm:"py-0.5",md:"py-1",lg:"py-1.5",xl:"py-2"}},g={xs:m.xs,sm:m.xs,md:m.sm,lg:m.sm,xl:m.md};export const List=t.forwardRef(function({variant:n="outline",size:r="md",color:s="primary",density:a="default",elevation:i=0,dividers:o=!1,render:d,className:c,style:f,children:x,...v},g){const y=t.useMemo(()=>({size:r,density:a,dividers:o}),[r,a,o]),N=["flex flex-col",m[r],b[n],u,o?"overflow-hidden [&>li+li]:border-t [&>li+li]:[border-color:var(--n-line)]":"p-1",c??""].filter(Boolean).join(" "),w=l({render:d,ref:g,props:{role:"list",className:N,style:{...p(s,i),...f},children:x,...v}});return e(h.Provider,{value:y,children:w})});export const ListItem=t.forwardRef(function({startIcon:l,endIcon:m,description:x,action:p,href:b,selected:y=!1,disabled:N=!1,className:w,children:j,onClick:k,...B},C){const{size:z,density:I,dividers:$}=t.useContext(h),L=Boolean(k||b)&&!N,R=s[I][z],F=["flex min-w-0 flex-1 items-center text-start",R,v[I][z],i[z],f[z],u,d,$?"":g[z],N?"cursor-not-allowed text-(--neba-disabled-fg)":y?"bg-(--n-soft-press) font-medium text-(--n-accent)":"",L?`cursor-pointer ${a}`:"",L&&!y?"hover:bg-(--n-soft)":"",L&&y?"hover:bg-(--n-soft-press)":""].filter(Boolean).join(" "),M=n(r,{children:[o(l)?e("span",{className:"flex h-[1lh] shrink-0 items-center text-(--neba-muted-fg)",children:l}):null,n("span",{className:"flex min-w-0 flex-1 flex-col",children:[o(j)?e("span",{className:"truncate",children:j}):null,o(x)?e("span",{className:`truncate text-(--neba-muted-fg) ${c[z]}`,children:x}):null]}),o(m)?e("span",{className:"flex h-[1lh] shrink-0 items-center text-(--neba-muted-fg)",children:m}):null]});return n("li",{ref:C,className:["flex w-full items-center",w??""].filter(Boolean).join(" "),...B,children:[L&&b?e("a",{href:b,className:F,"aria-current":y?"page":void 0,onClick:k,children:M}):L?e("button",{type:"button",className:F,"aria-current":!!y||void 0,onClick:k,children:M}):e("div",{className:F,"aria-disabled":N||void 0,children:M}),o(p)?e("div",{className:`flex shrink-0 items-center ${R}`,children:p}):null]})});
1
+ import{jsx as e,jsxs as n,Fragment as r}from"react/jsx-runtime";import*as t from"react";import{useRender as s}from"@base-ui/react/use-render";import{boxPaddingXClasses as l}from"../box/Box.js";import{focusRingClasses as a,gapClasses as i,hasContent as o,iconClasses as d,metaTextClasses as c,radiusClasses as m,sheetBodyClasses as f,surfaceClasses as x,surfaceSlots as p,transitionClasses as u}from"../../internal/styles.js";const h=/*@__PURE__*/t.createContext({size:"md",density:"default",dividers:!1}),b={solid:[x,"text-(--neba-fg) bg-(--n-panel-hover)","[box-shadow:var(--n-elev),var(--neba-plate-solid)]"].join(" "),outline:[x,"border text-(--neba-fg) bg-(--n-panel)","[border-color:var(--n-line)]","[box-shadow:var(--n-elev),var(--neba-plate-glass)]"].join(" "),text:"text-(--neba-fg) bg-transparent"},v={default:{xs:"py-1",sm:"py-1.5",md:"py-2",lg:"py-2.5",xl:"py-3"},compact:{xs:"py-0.5",sm:"py-0.5",md:"py-1",lg:"py-1.5",xl:"py-2"}},g={xs:m.xs,sm:m.xs,md:m.sm,lg:m.sm,xl:m.md};export const List=/*@__PURE__*/t.forwardRef(function({variant:n="outline",size:r="md",color:l="primary",density:a="default",elevation:i=0,dividers:o=!1,render:d,className:c,style:f,children:x,...v},g){const y=t.useMemo(()=>({size:r,density:a,dividers:o}),[r,a,o]),N=["flex flex-col",m[r],b[n],u,o?"overflow-hidden [&>li+li]:border-t [&>li+li]:[border-color:var(--n-line)]":"p-1",c??""].filter(Boolean).join(" "),j=s({render:d,ref:g,props:{role:"list",className:N,style:{...p(l,i),...f},children:x,...v}});return e(h.Provider,{value:y,children:j})});export const ListItem=/*@__PURE__*/t.forwardRef(function({startIcon:s,endIcon:m,description:x,action:p,href:b,selected:y=!1,disabled:N=!1,className:j,children:w,onClick:k,...B},C){const{size:z,density:I,dividers:$}=t.useContext(h),L=Boolean(k||b)&&!N,R=l[I][z],F=["flex min-w-0 flex-1 items-center text-start",R,v[I][z],i[z],f[z],u,d,$?"":g[z],N?"cursor-not-allowed text-(--neba-disabled-fg)":y?"bg-(--n-soft-press) font-medium text-(--n-accent)":"",L?`cursor-pointer ${a}`:"",L&&!y?"hover:bg-(--n-soft)":"",L&&y?"hover:bg-(--n-soft-press)":""].filter(Boolean).join(" "),M=n(r,{children:[o(s)?e("span",{className:"flex h-[1lh] shrink-0 items-center text-(--neba-muted-fg)",children:s}):null,n("span",{className:"flex min-w-0 flex-1 flex-col",children:[o(w)?e("span",{className:"truncate",children:w}):null,o(x)?e("span",{className:`truncate text-(--neba-muted-fg) ${c[z]}`,children:x}):null]}),o(m)?e("span",{className:"flex h-[1lh] shrink-0 items-center text-(--neba-muted-fg)",children:m}):null]});return n("li",{ref:C,className:["flex w-full items-center",j??""].filter(Boolean).join(" "),...B,children:[L&&b?e("a",{href:b,className:F,"aria-current":y?"page":void 0,onClick:k,children:M}):L?e("button",{type:"button",className:F,"aria-current":!!y||void 0,onClick:k,children:M}):e("div",{className:F,"aria-disabled":N||void 0,children:M}),o(p)?e("div",{className:`flex shrink-0 items-center ${R}`,children:p}):null]})});
@@ -1,2 +1,2 @@
1
- export { List, ListItem } from './List';
2
- export type { ListItemProps, ListProps } from './List';
1
+ export { List, ListItem } from './List.js';
2
+ export type { ListItemProps, ListProps } from './List.js';