@lumx/react 4.17.1-alpha.2 → 4.17.1-alpha.3

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 (748) hide show
  1. package/_internal/_virtual/_rolldown/runtime.js +34 -0
  2. package/_internal/components/alert-dialog/AlertDialog.d.ts +30 -0
  3. package/_internal/components/alert-dialog/AlertDialog.js +49 -0
  4. package/_internal/components/alert-dialog/index.d.ts +1 -0
  5. package/_internal/components/autocomplete/Autocomplete.d.ts +181 -0
  6. package/_internal/components/autocomplete/Autocomplete.js +92 -0
  7. package/_internal/components/autocomplete/AutocompleteMultiple.d.ts +28 -0
  8. package/_internal/components/autocomplete/AutocompleteMultiple.js +95 -0
  9. package/_internal/components/autocomplete/index.d.ts +2 -0
  10. package/_internal/components/avatar/Avatar.d.ts +39 -0
  11. package/_internal/components/avatar/Avatar.js +46 -0
  12. package/_internal/components/avatar/index.d.ts +2 -0
  13. package/_internal/components/badge/Badge.d.ts +24 -0
  14. package/_internal/components/badge/Badge.js +21 -0
  15. package/_internal/components/badge/BadgeWrapper.d.ts +16 -0
  16. package/_internal/components/badge/BadgeWrapper.js +13 -0
  17. package/_internal/components/badge/index.d.ts +2 -0
  18. package/_internal/components/button/Button.d.ts +22 -0
  19. package/_internal/components/button/Button.js +49 -0
  20. package/_internal/components/button/ButtonGroup.d.ts +17 -0
  21. package/_internal/components/button/ButtonGroup.js +21 -0
  22. package/_internal/components/button/ButtonRoot.d.ts +1 -0
  23. package/_internal/components/button/IconButton.d.ts +30 -0
  24. package/_internal/components/button/IconButton.js +40 -0
  25. package/_internal/components/button/index.d.ts +5 -0
  26. package/_internal/components/checkbox/Checkbox.d.ts +24 -0
  27. package/_internal/components/checkbox/Checkbox.js +58 -0
  28. package/_internal/components/checkbox/index.d.ts +1 -0
  29. package/_internal/components/chip/Chip.d.ts +34 -0
  30. package/_internal/components/chip/Chip.js +43 -0
  31. package/_internal/components/chip/ChipGroup.d.ts +20 -0
  32. package/_internal/components/chip/ChipGroup.js +25 -0
  33. package/_internal/components/chip/SelectionChipGroup.d.ts +43 -0
  34. package/_internal/components/chip/SelectionChipGroup.js +78 -0
  35. package/_internal/components/chip/index.d.ts +3 -0
  36. package/_internal/components/combobox/ComboboxButton.d.ts +17 -0
  37. package/_internal/components/combobox/ComboboxButton.js +59 -0
  38. package/_internal/components/combobox/ComboboxInput.d.ts +19 -0
  39. package/_internal/components/combobox/ComboboxInput.js +79 -0
  40. package/_internal/components/combobox/ComboboxList.d.ts +8 -0
  41. package/_internal/components/combobox/ComboboxList.js +64 -0
  42. package/_internal/components/combobox/ComboboxOption.d.ts +36 -0
  43. package/_internal/components/combobox/ComboboxOption.js +76 -0
  44. package/_internal/components/combobox/ComboboxOptionAction.d.ts +18 -0
  45. package/_internal/components/combobox/ComboboxOptionAction.js +38 -0
  46. package/_internal/components/combobox/ComboboxOptionMoreInfo.d.ts +19 -0
  47. package/_internal/components/combobox/ComboboxOptionMoreInfo.js +49 -0
  48. package/_internal/components/combobox/ComboboxOptionSkeleton.d.ts +19 -0
  49. package/_internal/components/combobox/ComboboxOptionSkeleton.js +38 -0
  50. package/_internal/components/combobox/ComboboxPopover.d.ts +18 -0
  51. package/_internal/components/combobox/ComboboxPopover.js +32 -0
  52. package/_internal/components/combobox/ComboboxProvider.d.ts +27 -0
  53. package/_internal/components/combobox/ComboboxProvider.js +41 -0
  54. package/_internal/components/combobox/ComboboxSection.d.ts +15 -0
  55. package/_internal/components/combobox/ComboboxSection.js +47 -0
  56. package/_internal/components/combobox/ComboboxState.d.ts +14 -0
  57. package/_internal/components/combobox/ComboboxState.js +70 -0
  58. package/_internal/components/combobox/context/ComboboxContext.js +15 -0
  59. package/_internal/components/combobox/context/ComboboxListContext.js +12 -0
  60. package/_internal/components/combobox/context/ComboboxOptionContext.js +16 -0
  61. package/_internal/components/combobox/context/useComboboxEvent.d.ts +10 -0
  62. package/_internal/components/combobox/context/useComboboxEvent.js +17 -0
  63. package/_internal/components/combobox/context/useComboboxOpen.js +13 -0
  64. package/_internal/components/combobox/index.d.ts +73 -0
  65. package/_internal/components/combobox/index.js +47 -0
  66. package/_internal/components/combobox/wrapRenderOption.js +38 -0
  67. package/_internal/components/comment-block/CommentBlock.d.ts +68 -0
  68. package/_internal/components/comment-block/CommentBlock.js +109 -0
  69. package/_internal/components/comment-block/index.d.ts +1 -0
  70. package/_internal/components/date-picker/DatePicker.d.ts +14 -0
  71. package/_internal/components/date-picker/DatePicker.js +45 -0
  72. package/_internal/components/date-picker/DatePickerControlled.d.ts +26 -0
  73. package/_internal/components/date-picker/DatePickerControlled.js +177 -0
  74. package/_internal/components/date-picker/DatePickerField.d.ts +38 -0
  75. package/_internal/components/date-picker/DatePickerField.js +83 -0
  76. package/_internal/components/date-picker/constants.js +11 -0
  77. package/_internal/components/date-picker/index.d.ts +4 -0
  78. package/_internal/components/date-picker/types.d.ts +30 -0
  79. package/_internal/components/dialog/Dialog.d.ts +47 -0
  80. package/_internal/components/dialog/Dialog.js +110 -0
  81. package/_internal/components/dialog/index.d.ts +2 -0
  82. package/_internal/components/divider/Divider.d.ts +20 -0
  83. package/_internal/components/divider/Divider.js +30 -0
  84. package/_internal/components/divider/index.d.ts +1 -0
  85. package/_internal/components/drag-handle/DragHandle.d.ts +20 -0
  86. package/_internal/components/drag-handle/DragHandle.js +29 -0
  87. package/_internal/components/drag-handle/index.d.ts +1 -0
  88. package/_internal/components/dropdown/Dropdown.d.ts +89 -0
  89. package/_internal/components/dropdown/Dropdown.js +89 -0
  90. package/_internal/components/dropdown/index.d.ts +1 -0
  91. package/_internal/components/expansion-panel/ExpansionPanel.d.ts +31 -0
  92. package/_internal/components/expansion-panel/ExpansionPanel.js +80 -0
  93. package/_internal/components/expansion-panel/index.d.ts +1 -0
  94. package/_internal/components/flag/Flag.d.ts +20 -0
  95. package/_internal/components/flag/Flag.js +28 -0
  96. package/_internal/components/flag/index.d.ts +1 -0
  97. package/_internal/components/flex-box/FlexBox.d.ts +25 -0
  98. package/_internal/components/flex-box/FlexBox.js +24 -0
  99. package/_internal/components/flex-box/index.d.ts +2 -0
  100. package/_internal/components/generic-block/GenericBlock.d.ts +51 -0
  101. package/_internal/components/generic-block/GenericBlock.js +90 -0
  102. package/_internal/components/generic-block/index.d.ts +2 -0
  103. package/_internal/components/grid/Grid.d.ts +33 -0
  104. package/_internal/components/grid/Grid.js +48 -0
  105. package/_internal/components/grid/GridItem.d.ts +29 -0
  106. package/_internal/components/grid/GridItem.js +37 -0
  107. package/_internal/components/grid/index.d.ts +2 -0
  108. package/_internal/components/grid-column/GridColumn.d.ts +24 -0
  109. package/_internal/components/grid-column/GridColumn.js +27 -0
  110. package/_internal/components/grid-column/index.d.ts +2 -0
  111. package/_internal/components/heading/Heading.d.ts +14 -0
  112. package/_internal/components/heading/Heading.js +25 -0
  113. package/_internal/components/heading/HeadingLevelProvider.d.ts +15 -0
  114. package/_internal/components/heading/HeadingLevelProvider.js +22 -0
  115. package/_internal/components/heading/context.js +6 -0
  116. package/_internal/components/heading/index.d.ts +3 -0
  117. package/_internal/components/heading/useHeadingLevel.d.ts +7 -0
  118. package/_internal/components/heading/useHeadingLevel.js +12 -0
  119. package/_internal/components/icon/Icon.d.ts +17 -0
  120. package/_internal/components/icon/Icon.js +24 -0
  121. package/_internal/components/icon/index.d.ts +2 -0
  122. package/_internal/components/image-block/ImageBlock.d.ts +29 -0
  123. package/_internal/components/image-block/ImageBlock.js +30 -0
  124. package/_internal/components/image-block/ImageCaption.d.ts +13 -0
  125. package/_internal/components/image-block/ImageCaption.js +18 -0
  126. package/_internal/components/image-block/index.d.ts +2 -0
  127. package/_internal/components/image-lightbox/ImageLightbox.d.ts +17 -0
  128. package/_internal/components/image-lightbox/ImageLightbox.js +66 -0
  129. package/_internal/components/image-lightbox/constants.js +11 -0
  130. package/_internal/components/image-lightbox/index.d.ts +2 -0
  131. package/_internal/components/image-lightbox/internal/ImageSlide.js +81 -0
  132. package/_internal/components/image-lightbox/internal/ImageSlideshow.js +112 -0
  133. package/_internal/components/image-lightbox/internal/useAnimateScroll.js +40 -0
  134. package/_internal/components/image-lightbox/internal/usePointerZoom.js +98 -0
  135. package/_internal/components/image-lightbox/types.d.ts +33 -0
  136. package/_internal/components/image-lightbox/useImageLightbox.d.ts +29 -0
  137. package/_internal/components/image-lightbox/useImageLightbox.js +102 -0
  138. package/_internal/components/inline-list/InlineList.d.ts +25 -0
  139. package/_internal/components/inline-list/InlineList.js +24 -0
  140. package/_internal/components/inline-list/index.d.ts +1 -0
  141. package/_internal/components/input-helper/InputHelper.d.ts +17 -0
  142. package/_internal/components/input-helper/InputHelper.js +25 -0
  143. package/_internal/components/input-helper/index.d.ts +1 -0
  144. package/_internal/components/input-label/InputLabel.d.ts +17 -0
  145. package/_internal/components/input-label/InputLabel.js +25 -0
  146. package/_internal/components/input-label/index.d.ts +1 -0
  147. package/_internal/components/lightbox/Lightbox.d.ts +33 -0
  148. package/_internal/components/lightbox/Lightbox.js +69 -0
  149. package/_internal/components/lightbox/index.d.ts +1 -0
  150. package/_internal/components/link/Link.d.ts +35 -0
  151. package/_internal/components/link/Link.js +45 -0
  152. package/_internal/components/link/index.d.ts +1 -0
  153. package/_internal/components/link-preview/LinkPreview.d.ts +25 -0
  154. package/_internal/components/link-preview/LinkPreview.js +31 -0
  155. package/_internal/components/link-preview/index.d.ts +1 -0
  156. package/_internal/components/list/List.d.ts +27 -0
  157. package/_internal/components/list/List.js +28 -0
  158. package/_internal/components/list/ListDivider.d.ts +21 -0
  159. package/_internal/components/list/ListDivider.js +22 -0
  160. package/_internal/components/list/ListItem.d.ts +47 -0
  161. package/_internal/components/list/ListItem.js +39 -0
  162. package/_internal/components/list/ListItemAction.js +30 -0
  163. package/_internal/components/list/ListSection.d.ts +24 -0
  164. package/_internal/components/list/ListSection.js +26 -0
  165. package/_internal/components/list/ListSubheader.d.ts +23 -0
  166. package/_internal/components/list/ListSubheader.js +33 -0
  167. package/_internal/components/list/index.d.ts +6 -0
  168. package/_internal/components/menu-button/MenuButton.d.ts +34 -0
  169. package/_internal/components/menu-button/MenuButton.js +48 -0
  170. package/_internal/components/menu-button/MenuItem.d.ts +46 -0
  171. package/_internal/components/menu-button/MenuItem.js +62 -0
  172. package/_internal/components/menu-button/MenuList.js +39 -0
  173. package/_internal/components/menu-button/MenuPopover.d.ts +13 -0
  174. package/_internal/components/menu-button/MenuPopover.js +31 -0
  175. package/_internal/components/menu-button/MenuProvider.js +45 -0
  176. package/_internal/components/menu-button/MenuTrigger.js +40 -0
  177. package/_internal/components/menu-button/context/MenuContext.js +11 -0
  178. package/_internal/components/menu-button/context/useMenuEvent.js +21 -0
  179. package/_internal/components/menu-button/context/useMenuOpen.js +15 -0
  180. package/_internal/components/menu-button/index.d.ts +3 -0
  181. package/_internal/components/message/Message.d.ts +17 -0
  182. package/_internal/components/message/Message.js +20 -0
  183. package/_internal/components/message/index.d.ts +1 -0
  184. package/_internal/components/mosaic/Mosaic.d.ts +25 -0
  185. package/_internal/components/mosaic/Mosaic.js +29 -0
  186. package/_internal/components/mosaic/index.d.ts +1 -0
  187. package/_internal/components/navigation/Navigation.d.ts +18 -0
  188. package/_internal/components/navigation/Navigation.js +51 -0
  189. package/_internal/components/navigation/NavigationItem.d.ts +23 -0
  190. package/_internal/components/navigation/NavigationItem.js +52 -0
  191. package/_internal/components/navigation/NavigationSection.d.ts +15 -0
  192. package/_internal/components/navigation/NavigationSection.js +100 -0
  193. package/_internal/components/navigation/constants.js +11 -0
  194. package/_internal/components/navigation/context.js +6 -0
  195. package/_internal/components/navigation/index.d.ts +1 -0
  196. package/_internal/components/notification/Notification.d.ts +36 -0
  197. package/_internal/components/notification/Notification.js +97 -0
  198. package/_internal/components/notification/constants.js +28 -0
  199. package/_internal/components/notification/index.d.ts +1 -0
  200. package/_internal/components/popover/Popover.d.ts +43 -0
  201. package/_internal/components/popover/Popover.js +86 -0
  202. package/_internal/components/popover/index.d.ts +3 -0
  203. package/_internal/components/popover/usePopoverStyle.js +82 -0
  204. package/_internal/components/popover-dialog/PopoverDialog.d.ts +22 -0
  205. package/_internal/components/popover-dialog/PopoverDialog.js +42 -0
  206. package/_internal/components/popover-dialog/index.d.ts +1 -0
  207. package/_internal/components/post-block/PostBlock.d.ts +44 -0
  208. package/_internal/components/post-block/PostBlock.js +92 -0
  209. package/_internal/components/post-block/index.d.ts +1 -0
  210. package/_internal/components/progress/Progress.d.ts +30 -0
  211. package/_internal/components/progress/Progress.js +54 -0
  212. package/_internal/components/progress/ProgressCircular.d.ts +20 -0
  213. package/_internal/components/progress/ProgressCircular.js +31 -0
  214. package/_internal/components/progress/ProgressLinear.d.ts +20 -0
  215. package/_internal/components/progress/ProgressLinear.js +26 -0
  216. package/_internal/components/progress/index.d.ts +4 -0
  217. package/_internal/components/progress-tracker/ProgressTracker.d.ts +26 -0
  218. package/_internal/components/progress-tracker/ProgressTracker.js +75 -0
  219. package/_internal/components/progress-tracker/ProgressTrackerProvider.d.ts +29 -0
  220. package/_internal/components/progress-tracker/ProgressTrackerProvider.js +45 -0
  221. package/_internal/components/progress-tracker/ProgressTrackerStep.d.ts +37 -0
  222. package/_internal/components/progress-tracker/ProgressTrackerStep.js +107 -0
  223. package/_internal/components/progress-tracker/ProgressTrackerStepPanel.d.ts +27 -0
  224. package/_internal/components/progress-tracker/ProgressTrackerStepPanel.js +47 -0
  225. package/_internal/components/progress-tracker/index.d.ts +4 -0
  226. package/_internal/components/radio-button/RadioButton.d.ts +23 -0
  227. package/_internal/components/radio-button/RadioButton.js +50 -0
  228. package/_internal/components/radio-button/RadioGroup.d.ts +20 -0
  229. package/_internal/components/radio-button/RadioGroup.js +23 -0
  230. package/_internal/components/radio-button/index.d.ts +2 -0
  231. package/_internal/components/select/Select.d.ts +20 -0
  232. package/_internal/components/select/Select.js +130 -0
  233. package/_internal/components/select/SelectMultiple.d.ts +24 -0
  234. package/_internal/components/select/SelectMultiple.js +128 -0
  235. package/_internal/components/select/WithSelectContext.js +96 -0
  236. package/_internal/components/select/constants.d.ts +59 -0
  237. package/_internal/components/select/constants.js +10 -0
  238. package/_internal/components/select/index.d.ts +3 -0
  239. package/_internal/components/select-button/SelectButton.d.ts +93 -0
  240. package/_internal/components/select-button/SelectButton.js +73 -0
  241. package/_internal/components/select-button/index.d.ts +18 -0
  242. package/_internal/components/select-button/index.js +11 -0
  243. package/_internal/components/select-text-field/SelectTextField.d.ts +80 -0
  244. package/_internal/components/select-text-field/SelectTextField.js +167 -0
  245. package/_internal/components/select-text-field/index.d.ts +33 -0
  246. package/_internal/components/select-text-field/index.js +24 -0
  247. package/_internal/components/side-navigation/SideNavigation.d.ts +22 -0
  248. package/_internal/components/side-navigation/SideNavigation.js +39 -0
  249. package/_internal/components/side-navigation/SideNavigationItem.d.ts +44 -0
  250. package/_internal/components/side-navigation/SideNavigationItem.js +111 -0
  251. package/_internal/components/side-navigation/index.d.ts +2 -0
  252. package/_internal/components/skeleton/SkeletonCircle.d.ts +19 -0
  253. package/_internal/components/skeleton/SkeletonCircle.js +30 -0
  254. package/_internal/components/skeleton/SkeletonRectangle.d.ts +19 -0
  255. package/_internal/components/skeleton/SkeletonRectangle.js +33 -0
  256. package/_internal/components/skeleton/SkeletonTypography.d.ts +19 -0
  257. package/_internal/components/skeleton/SkeletonTypography.js +31 -0
  258. package/_internal/components/skeleton/index.d.ts +4 -0
  259. package/_internal/components/slider/Slider.d.ts +44 -0
  260. package/_internal/components/slider/Slider.js +232 -0
  261. package/_internal/components/slider/index.d.ts +2 -0
  262. package/_internal/components/slideshow/Slides.d.ts +49 -0
  263. package/_internal/components/slideshow/Slides.js +86 -0
  264. package/_internal/components/slideshow/Slideshow.d.ts +35 -0
  265. package/_internal/components/slideshow/Slideshow.js +104 -0
  266. package/_internal/components/slideshow/SlideshowControls.d.ts +65 -0
  267. package/_internal/components/slideshow/SlideshowControls.js +139 -0
  268. package/_internal/components/slideshow/SlideshowItem.d.ts +23 -0
  269. package/_internal/components/slideshow/SlideshowItem.js +32 -0
  270. package/_internal/components/slideshow/SlideshowItemGroup.js +44 -0
  271. package/_internal/components/slideshow/constants.d.ts +13 -0
  272. package/_internal/components/slideshow/constants.js +16 -0
  273. package/_internal/components/slideshow/index.d.ts +4 -0
  274. package/_internal/components/slideshow/usePaginationVisibleRange.js +41 -0
  275. package/_internal/components/slideshow/useSlideFocusManagement.js +64 -0
  276. package/_internal/components/slideshow/useSlideScroll.js +57 -0
  277. package/_internal/components/slideshow/useSwipeNavigate.js +21 -0
  278. package/_internal/components/switch/Switch.d.ts +24 -0
  279. package/_internal/components/switch/Switch.js +54 -0
  280. package/_internal/components/switch/index.d.ts +1 -0
  281. package/_internal/components/table/Table.d.ts +20 -0
  282. package/_internal/components/table/Table.js +28 -0
  283. package/_internal/components/table/TableBody.d.ts +20 -0
  284. package/_internal/components/table/TableBody.js +22 -0
  285. package/_internal/components/table/TableCell.d.ts +23 -0
  286. package/_internal/components/table/TableCell.js +23 -0
  287. package/_internal/components/table/TableHeader.d.ts +20 -0
  288. package/_internal/components/table/TableHeader.js +23 -0
  289. package/_internal/components/table/TableRow.d.ts +23 -0
  290. package/_internal/components/table/TableRow.js +28 -0
  291. package/_internal/components/table/index.d.ts +6 -0
  292. package/_internal/components/tabs/Tab.d.ts +39 -0
  293. package/_internal/components/tabs/Tab.js +39 -0
  294. package/_internal/components/tabs/TabList.d.ts +22 -0
  295. package/_internal/components/tabs/TabList.js +37 -0
  296. package/_internal/components/tabs/TabPanel.d.ts +25 -0
  297. package/_internal/components/tabs/TabPanel.js +30 -0
  298. package/_internal/components/tabs/TabProvider.d.ts +27 -0
  299. package/_internal/components/tabs/TabProvider.js +51 -0
  300. package/_internal/components/tabs/index.d.ts +5 -0
  301. package/_internal/components/tabs/state.js +55 -0
  302. package/_internal/components/text/Text.d.ts +17 -0
  303. package/_internal/components/text/Text.js +33 -0
  304. package/_internal/components/text/index.d.ts +1 -0
  305. package/_internal/components/text-field/RawInputText.d.ts +20 -0
  306. package/_internal/components/text-field/RawInputText.js +23 -0
  307. package/_internal/components/text-field/RawInputTextarea.d.ts +21 -0
  308. package/_internal/components/text-field/RawInputTextarea.js +34 -0
  309. package/_internal/components/text-field/TextField.d.ts +46 -0
  310. package/_internal/components/text-field/TextField.js +122 -0
  311. package/_internal/components/text-field/index.d.ts +3 -0
  312. package/_internal/components/text-field/useFitRowsToContent.js +27 -0
  313. package/_internal/components/thumbnail/Thumbnail.d.ts +31 -0
  314. package/_internal/components/thumbnail/Thumbnail.js +45 -0
  315. package/_internal/components/thumbnail/index.d.ts +3 -0
  316. package/_internal/components/thumbnail/types.d.ts +49 -0
  317. package/_internal/components/thumbnail/types.js +23 -0
  318. package/_internal/components/thumbnail/useFocusPointStyle.d.ts +15 -0
  319. package/_internal/components/thumbnail/useFocusPointStyle.js +53 -0
  320. package/_internal/components/thumbnail/useImageLoad.js +23 -0
  321. package/_internal/components/time-picker-field/TimePickerField.d.ts +38 -0
  322. package/_internal/components/time-picker-field/TimePickerField.js +103 -0
  323. package/_internal/components/time-picker-field/index.d.ts +2 -0
  324. package/_internal/components/toolbar/Toolbar.d.ts +28 -0
  325. package/_internal/components/toolbar/Toolbar.js +21 -0
  326. package/_internal/components/toolbar/index.d.ts +1 -0
  327. package/_internal/components/tooltip/Tooltip.d.ts +23 -0
  328. package/_internal/components/tooltip/Tooltip.js +69 -0
  329. package/_internal/components/tooltip/context.js +15 -0
  330. package/_internal/components/tooltip/index.d.ts +2 -0
  331. package/_internal/components/tooltip/useInjectTooltipRef.js +43 -0
  332. package/_internal/components/tooltip/useTooltipOpen.js +36 -0
  333. package/_internal/components/uploader/Uploader.d.ts +29 -0
  334. package/_internal/components/uploader/Uploader.js +71 -0
  335. package/_internal/components/uploader/index.d.ts +2 -0
  336. package/_internal/components/user-block/UserBlock.d.ts +33 -0
  337. package/_internal/components/user-block/UserBlock.js +88 -0
  338. package/_internal/components/user-block/index.d.ts +2 -0
  339. package/_internal/constants.js +2 -0
  340. package/_internal/hooks/useBooleanState.js +13 -0
  341. package/_internal/hooks/useCallbackOnEscape.js +30 -0
  342. package/_internal/hooks/useChipGroupNavigation.d.ts +12 -0
  343. package/_internal/hooks/useChipGroupNavigation.js +49 -0
  344. package/_internal/hooks/useClickAway.d.ts +16 -0
  345. package/_internal/hooks/useClickAway.js +20 -0
  346. package/_internal/hooks/useDisableBodyScroll.js +25 -0
  347. package/_internal/hooks/useEventCallback.js +21 -0
  348. package/_internal/hooks/useFocus.js +19 -0
  349. package/_internal/hooks/useFocusTrap.js +28 -0
  350. package/_internal/hooks/useFocusWithin.js +27 -0
  351. package/_internal/hooks/useId.js +16 -0
  352. package/_internal/hooks/useImageSize.js +19 -0
  353. package/_internal/hooks/useInfiniteScroll.js +36 -0
  354. package/_internal/hooks/useIntersectionObserver.js +24 -0
  355. package/_internal/hooks/useInterval.js +26 -0
  356. package/_internal/hooks/useIsomorphicLayoutEffect.js +9 -0
  357. package/_internal/hooks/useKeyboardListNavigation.d.ts +17 -0
  358. package/_internal/hooks/useKeyboardListNavigation.js +136 -0
  359. package/_internal/hooks/useListenFocus.js +23 -0
  360. package/_internal/hooks/useOverflowTooltipLabel.js +27 -0
  361. package/_internal/hooks/usePreviousValue.js +15 -0
  362. package/_internal/hooks/useRestoreFocusOnClose.js +47 -0
  363. package/_internal/hooks/useRovingTabIndexContainer.js +31 -0
  364. package/_internal/hooks/useSizeOnWindowResize.js +26 -0
  365. package/_internal/hooks/useSlideshowControls.d.ts +63 -0
  366. package/_internal/hooks/useSlideshowControls.js +105 -0
  367. package/_internal/hooks/useStopPropagation.js +18 -0
  368. package/_internal/hooks/useTransitionVisibility.js +41 -0
  369. package/_internal/node_modules/@floating-ui/core/dist/floating-ui.core.js +536 -0
  370. package/_internal/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +528 -0
  371. package/_internal/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +209 -0
  372. package/_internal/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +144 -0
  373. package/_internal/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +135 -0
  374. package/_internal/node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js +114 -0
  375. package/_internal/node_modules/classnames/index.js +45 -0
  376. package/_internal/packages/lumx-core/src/js/components/AlertDialog/index.d.ts +15 -0
  377. package/_internal/packages/lumx-core/src/js/components/AlertDialog/index.js +116 -0
  378. package/_internal/packages/lumx-core/src/js/components/Avatar/index.d.ts +27 -0
  379. package/_internal/packages/lumx-core/src/js/components/Avatar/index.js +49 -0
  380. package/_internal/packages/lumx-core/src/js/components/Badge/BadgeWrapper.d.ts +14 -0
  381. package/_internal/packages/lumx-core/src/js/components/Badge/BadgeWrapper.js +21 -0
  382. package/_internal/packages/lumx-core/src/js/components/Badge/index.d.ts +18 -0
  383. package/_internal/packages/lumx-core/src/js/components/Badge/index.js +38 -0
  384. package/_internal/packages/lumx-core/src/js/components/Button/Button.d.ts +41 -0
  385. package/_internal/packages/lumx-core/src/js/components/Button/Button.js +46 -0
  386. package/_internal/packages/lumx-core/src/js/components/Button/ButtonGroup.d.ts +17 -0
  387. package/_internal/packages/lumx-core/src/js/components/Button/ButtonGroup.js +34 -0
  388. package/_internal/packages/lumx-core/src/js/components/Button/ButtonRoot.d.ts +46 -0
  389. package/_internal/packages/lumx-core/src/js/components/Button/ButtonRoot.js +75 -0
  390. package/_internal/packages/lumx-core/src/js/components/Button/IconButton.d.ts +24 -0
  391. package/_internal/packages/lumx-core/src/js/components/Button/IconButton.js +46 -0
  392. package/_internal/packages/lumx-core/src/js/components/Checkbox/index.d.ts +35 -0
  393. package/_internal/packages/lumx-core/src/js/components/Checkbox/index.js +83 -0
  394. package/_internal/packages/lumx-core/src/js/components/Chip/ChipGroup.d.ts +21 -0
  395. package/_internal/packages/lumx-core/src/js/components/Chip/ChipGroup.js +32 -0
  396. package/_internal/packages/lumx-core/src/js/components/Chip/SelectionChipGroup.d.ts +29 -0
  397. package/_internal/packages/lumx-core/src/js/components/Chip/SelectionChipGroup.js +66 -0
  398. package/_internal/packages/lumx-core/src/js/components/Chip/index.d.ts +63 -0
  399. package/_internal/packages/lumx-core/src/js/components/Chip/index.js +78 -0
  400. package/_internal/packages/lumx-core/src/js/components/Chip/setupSelectionChipGroupEvents.js +97 -0
  401. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxButton.d.ts +34 -0
  402. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxButton.js +51 -0
  403. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxInput.d.ts +34 -0
  404. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxInput.js +56 -0
  405. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxList.d.ts +36 -0
  406. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxList.js +34 -0
  407. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxOption.d.ts +53 -0
  408. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxOption.js +73 -0
  409. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxOptionAction.js +33 -0
  410. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxOptionMoreInfo.d.ts +29 -0
  411. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxOptionMoreInfo.js +53 -0
  412. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxOptionSkeleton.d.ts +32 -0
  413. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxOptionSkeleton.js +44 -0
  414. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxPopover.js +47 -0
  415. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxSection.d.ts +36 -0
  416. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxSection.js +36 -0
  417. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxState.d.ts +64 -0
  418. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxState.js +86 -0
  419. package/_internal/packages/lumx-core/src/js/components/Combobox/constants.js +4 -0
  420. package/_internal/packages/lumx-core/src/js/components/Combobox/setupCombobox.js +350 -0
  421. package/_internal/packages/lumx-core/src/js/components/Combobox/setupComboboxButton.js +84 -0
  422. package/_internal/packages/lumx-core/src/js/components/Combobox/setupComboboxInput.js +95 -0
  423. package/_internal/packages/lumx-core/src/js/components/Combobox/setupListbox.js +84 -0
  424. package/_internal/packages/lumx-core/src/js/components/Combobox/subscribeComboboxState.js +43 -0
  425. package/_internal/packages/lumx-core/src/js/components/Combobox/types.d.ts +59 -0
  426. package/_internal/packages/lumx-core/src/js/components/Combobox/utils.js +63 -0
  427. package/_internal/packages/lumx-core/src/js/components/Dialog/index.d.ts +20 -0
  428. package/_internal/packages/lumx-core/src/js/components/Dialog/index.js +93 -0
  429. package/_internal/packages/lumx-core/src/js/components/Divider/index.d.ts +13 -0
  430. package/_internal/packages/lumx-core/src/js/components/Divider/index.js +29 -0
  431. package/_internal/packages/lumx-core/src/js/components/DragHandle/index.d.ts +13 -0
  432. package/_internal/packages/lumx-core/src/js/components/DragHandle/index.js +37 -0
  433. package/_internal/packages/lumx-core/src/js/components/ExpansionPanel/index.d.ts +51 -0
  434. package/_internal/packages/lumx-core/src/js/components/ExpansionPanel/index.js +92 -0
  435. package/_internal/packages/lumx-core/src/js/components/Flag/index.d.ts +24 -0
  436. package/_internal/packages/lumx-core/src/js/components/Flag/index.js +41 -0
  437. package/_internal/packages/lumx-core/src/js/components/FlexBox/index.d.ts +34 -0
  438. package/_internal/packages/lumx-core/src/js/components/FlexBox/index.js +39 -0
  439. package/_internal/packages/lumx-core/src/js/components/FlexBox/types.d.ts +9 -0
  440. package/_internal/packages/lumx-core/src/js/components/GenericBlock/constants.d.ts +22 -0
  441. package/_internal/packages/lumx-core/src/js/components/GenericBlock/constants.js +15 -0
  442. package/_internal/packages/lumx-core/src/js/components/GenericBlock/index.d.ts +66 -0
  443. package/_internal/packages/lumx-core/src/js/components/GenericBlock/index.js +63 -0
  444. package/_internal/packages/lumx-core/src/js/components/GridColumn/GridColumn.d.ts +27 -0
  445. package/_internal/packages/lumx-core/src/js/components/GridColumn/GridColumn.js +44 -0
  446. package/_internal/packages/lumx-core/src/js/components/GridColumn/index.d.ts +1 -0
  447. package/_internal/packages/lumx-core/src/js/components/Heading/constants.js +19 -0
  448. package/_internal/packages/lumx-core/src/js/components/Heading/index.d.ts +14 -0
  449. package/_internal/packages/lumx-core/src/js/components/Heading/index.js +34 -0
  450. package/_internal/packages/lumx-core/src/js/components/Heading/utils.js +14 -0
  451. package/_internal/packages/lumx-core/src/js/components/Icon/constants.d.ts +4 -0
  452. package/_internal/packages/lumx-core/src/js/components/Icon/index.d.ts +34 -0
  453. package/_internal/packages/lumx-core/src/js/components/Icon/index.js +66 -0
  454. package/_internal/packages/lumx-core/src/js/components/ImageBlock/ImageCaption.d.ts +19 -0
  455. package/_internal/packages/lumx-core/src/js/components/ImageBlock/ImageCaption.js +61 -0
  456. package/_internal/packages/lumx-core/src/js/components/ImageBlock/index.d.ts +52 -0
  457. package/_internal/packages/lumx-core/src/js/components/ImageBlock/index.js +80 -0
  458. package/_internal/packages/lumx-core/src/js/components/InlineList/index.d.ts +34 -0
  459. package/_internal/packages/lumx-core/src/js/components/InlineList/index.js +48 -0
  460. package/_internal/packages/lumx-core/src/js/components/InputHelper/constants.js +9 -0
  461. package/_internal/packages/lumx-core/src/js/components/InputHelper/index.d.ts +21 -0
  462. package/_internal/packages/lumx-core/src/js/components/InputHelper/index.js +34 -0
  463. package/_internal/packages/lumx-core/src/js/components/InputLabel/index.d.ts +24 -0
  464. package/_internal/packages/lumx-core/src/js/components/InputLabel/index.js +31 -0
  465. package/_internal/packages/lumx-core/src/js/components/Lightbox/index.d.ts +14 -0
  466. package/_internal/packages/lumx-core/src/js/components/Lightbox/index.js +70 -0
  467. package/_internal/packages/lumx-core/src/js/components/Link/index.d.ts +34 -0
  468. package/_internal/packages/lumx-core/src/js/components/Link/index.js +40 -0
  469. package/_internal/packages/lumx-core/src/js/components/LinkPreview/index.d.ts +36 -0
  470. package/_internal/packages/lumx-core/src/js/components/LinkPreview/index.js +94 -0
  471. package/_internal/packages/lumx-core/src/js/components/List/ListDivider.d.ts +12 -0
  472. package/_internal/packages/lumx-core/src/js/components/List/ListDivider.js +36 -0
  473. package/_internal/packages/lumx-core/src/js/components/List/ListItem.d.ts +41 -0
  474. package/_internal/packages/lumx-core/src/js/components/List/ListItem.js +66 -0
  475. package/_internal/packages/lumx-core/src/js/components/List/ListItemAction.d.ts +10 -0
  476. package/_internal/packages/lumx-core/src/js/components/List/ListItemAction.js +36 -0
  477. package/_internal/packages/lumx-core/src/js/components/List/ListSection.d.ts +27 -0
  478. package/_internal/packages/lumx-core/src/js/components/List/ListSection.js +51 -0
  479. package/_internal/packages/lumx-core/src/js/components/List/index.d.ts +20 -0
  480. package/_internal/packages/lumx-core/src/js/components/List/index.js +37 -0
  481. package/_internal/packages/lumx-core/src/js/components/Menu/MenuButton.d.ts +28 -0
  482. package/_internal/packages/lumx-core/src/js/components/Menu/MenuButton.js +29 -0
  483. package/_internal/packages/lumx-core/src/js/components/Menu/MenuItem.d.ts +30 -0
  484. package/_internal/packages/lumx-core/src/js/components/Menu/MenuItem.js +34 -0
  485. package/_internal/packages/lumx-core/src/js/components/Menu/MenuList.js +20 -0
  486. package/_internal/packages/lumx-core/src/js/components/Menu/MenuPopover.d.ts +12 -0
  487. package/_internal/packages/lumx-core/src/js/components/Menu/MenuPopover.js +32 -0
  488. package/_internal/packages/lumx-core/src/js/components/Menu/MenuTrigger.js +20 -0
  489. package/_internal/packages/lumx-core/src/js/components/Menu/setupMenu.js +256 -0
  490. package/_internal/packages/lumx-core/src/js/components/Menu/utils.js +16 -0
  491. package/_internal/packages/lumx-core/src/js/components/Message/index.d.ts +31 -0
  492. package/_internal/packages/lumx-core/src/js/components/Message/index.js +85 -0
  493. package/_internal/packages/lumx-core/src/js/components/Mosaic/index.d.ts +18 -0
  494. package/_internal/packages/lumx-core/src/js/components/Mosaic/index.js +70 -0
  495. package/_internal/packages/lumx-core/src/js/components/Popover/constants.d.ts +39 -0
  496. package/_internal/packages/lumx-core/src/js/components/Popover/constants.js +37 -0
  497. package/_internal/packages/lumx-core/src/js/components/Popover/index.d.ts +65 -0
  498. package/_internal/packages/lumx-core/src/js/components/Popover/index.js +74 -0
  499. package/_internal/packages/lumx-core/src/js/components/Popover/types.d.ts +39 -0
  500. package/_internal/packages/lumx-core/src/js/components/Popover/utils/buildPopoverMiddleware.js +53 -0
  501. package/_internal/packages/lumx-core/src/js/components/Popover/utils/computeArrowStyles.js +13 -0
  502. package/_internal/packages/lumx-core/src/js/components/Popover/utils/getFloatingPlacement.js +10 -0
  503. package/_internal/packages/lumx-core/src/js/components/Popover/utils/parseAutoPlacement.js +21 -0
  504. package/_internal/packages/lumx-core/src/js/components/Popover/utils/parseFitWidth.js +12 -0
  505. package/_internal/packages/lumx-core/src/js/components/PopoverDialog/index.d.ts +13 -0
  506. package/_internal/packages/lumx-core/src/js/components/PopoverDialog/index.js +15 -0
  507. package/_internal/packages/lumx-core/src/js/components/ProgressCircular/index.d.ts +32 -0
  508. package/_internal/packages/lumx-core/src/js/components/ProgressCircular/index.js +57 -0
  509. package/_internal/packages/lumx-core/src/js/components/ProgressLinear/index.d.ts +13 -0
  510. package/_internal/packages/lumx-core/src/js/components/ProgressLinear/index.js +34 -0
  511. package/_internal/packages/lumx-core/src/js/components/RadioButton/index.d.ts +35 -0
  512. package/_internal/packages/lumx-core/src/js/components/RadioButton/index.js +71 -0
  513. package/_internal/packages/lumx-core/src/js/components/RadioGroup/index.d.ts +15 -0
  514. package/_internal/packages/lumx-core/src/js/components/RadioGroup/index.js +35 -0
  515. package/_internal/packages/lumx-core/src/js/components/RawClickable/index.d.ts +17 -0
  516. package/_internal/packages/lumx-core/src/js/components/RawClickable/index.js +34 -0
  517. package/_internal/packages/lumx-core/src/js/components/SelectButton/index.d.ts +58 -0
  518. package/_internal/packages/lumx-core/src/js/components/SelectButton/index.js +85 -0
  519. package/_internal/packages/lumx-core/src/js/components/SelectTextField/index.js +78 -0
  520. package/_internal/packages/lumx-core/src/js/components/Skeleton/SkeletonCircle.d.ts +18 -0
  521. package/_internal/packages/lumx-core/src/js/components/Skeleton/SkeletonCircle.js +33 -0
  522. package/_internal/packages/lumx-core/src/js/components/Skeleton/SkeletonRectangle.d.ts +34 -0
  523. package/_internal/packages/lumx-core/src/js/components/Skeleton/SkeletonRectangle.js +49 -0
  524. package/_internal/packages/lumx-core/src/js/components/Skeleton/SkeletonTypography.d.ts +24 -0
  525. package/_internal/packages/lumx-core/src/js/components/Skeleton/SkeletonTypography.js +38 -0
  526. package/_internal/packages/lumx-core/src/js/components/Skeleton/index.d.ts +3 -0
  527. package/_internal/packages/lumx-core/src/js/components/Switch/index.d.ts +37 -0
  528. package/_internal/packages/lumx-core/src/js/components/Switch/index.js +78 -0
  529. package/_internal/packages/lumx-core/src/js/components/Table/TableBody.d.ts +15 -0
  530. package/_internal/packages/lumx-core/src/js/components/Table/TableBody.js +29 -0
  531. package/_internal/packages/lumx-core/src/js/components/Table/TableCell.d.ts +42 -0
  532. package/_internal/packages/lumx-core/src/js/components/Table/TableCell.js +101 -0
  533. package/_internal/packages/lumx-core/src/js/components/Table/TableHeader.d.ts +15 -0
  534. package/_internal/packages/lumx-core/src/js/components/Table/TableHeader.js +33 -0
  535. package/_internal/packages/lumx-core/src/js/components/Table/TableRow.d.ts +22 -0
  536. package/_internal/packages/lumx-core/src/js/components/Table/TableRow.js +42 -0
  537. package/_internal/packages/lumx-core/src/js/components/Table/constants.d.ts +1 -0
  538. package/_internal/packages/lumx-core/src/js/components/Table/constants.js +11 -0
  539. package/_internal/packages/lumx-core/src/js/components/Table/index.d.ts +20 -0
  540. package/_internal/packages/lumx-core/src/js/components/Table/index.js +31 -0
  541. package/_internal/packages/lumx-core/src/js/components/Tabs/Tab.d.ts +54 -0
  542. package/_internal/packages/lumx-core/src/js/components/Tabs/Tab.js +69 -0
  543. package/_internal/packages/lumx-core/src/js/components/Tabs/TabList.d.ts +27 -0
  544. package/_internal/packages/lumx-core/src/js/components/Tabs/TabList.js +52 -0
  545. package/_internal/packages/lumx-core/src/js/components/Tabs/TabPanel.d.ts +26 -0
  546. package/_internal/packages/lumx-core/src/js/components/Tabs/TabPanel.js +41 -0
  547. package/_internal/packages/lumx-core/src/js/components/Tabs/constants.js +7 -0
  548. package/_internal/packages/lumx-core/src/js/components/Tabs/state.js +53 -0
  549. package/_internal/packages/lumx-core/src/js/components/Text/index.d.ts +55 -0
  550. package/_internal/packages/lumx-core/src/js/components/Text/index.js +50 -0
  551. package/_internal/packages/lumx-core/src/js/components/TextField/RawInputText.d.ts +21 -0
  552. package/_internal/packages/lumx-core/src/js/components/TextField/RawInputText.js +40 -0
  553. package/_internal/packages/lumx-core/src/js/components/TextField/RawInputTextarea.d.ts +19 -0
  554. package/_internal/packages/lumx-core/src/js/components/TextField/RawInputTextarea.js +40 -0
  555. package/_internal/packages/lumx-core/src/js/components/TextField/TextField.d.ts +70 -0
  556. package/_internal/packages/lumx-core/src/js/components/TextField/TextField.js +143 -0
  557. package/_internal/packages/lumx-core/src/js/components/TextField/constants.js +15 -0
  558. package/_internal/packages/lumx-core/src/js/components/Thumbnail/index.d.ts +60 -0
  559. package/_internal/packages/lumx-core/src/js/components/Thumbnail/index.js +114 -0
  560. package/_internal/packages/lumx-core/src/js/components/Thumbnail/types.d.ts +39 -0
  561. package/_internal/packages/lumx-core/src/js/components/Thumbnail/utils.d.ts +1 -0
  562. package/_internal/packages/lumx-core/src/js/components/Thumbnail/utils.js +76 -0
  563. package/_internal/packages/lumx-core/src/js/components/TimePickerField/index.d.ts +70 -0
  564. package/_internal/packages/lumx-core/src/js/components/TimePickerField/index.js +53 -0
  565. package/_internal/packages/lumx-core/src/js/components/Toolbar/index.d.ts +19 -0
  566. package/_internal/packages/lumx-core/src/js/components/Toolbar/index.js +51 -0
  567. package/_internal/packages/lumx-core/src/js/components/Tooltip/constants.d.ts +4 -0
  568. package/_internal/packages/lumx-core/src/js/components/Tooltip/constants.js +8 -0
  569. package/_internal/packages/lumx-core/src/js/components/Tooltip/index.d.ts +25 -0
  570. package/_internal/packages/lumx-core/src/js/components/Tooltip/index.js +55 -0
  571. package/_internal/packages/lumx-core/src/js/components/Tooltip/tooltipOpenManager.js +93 -0
  572. package/_internal/packages/lumx-core/src/js/components/Uploader/index.d.ts +59 -0
  573. package/_internal/packages/lumx-core/src/js/components/Uploader/index.js +79 -0
  574. package/_internal/packages/lumx-core/src/js/components/UserBlock/index.d.ts +124 -0
  575. package/_internal/packages/lumx-core/src/js/components/UserBlock/index.js +101 -0
  576. package/_internal/packages/lumx-core/src/js/constants/browser/index.js +7 -0
  577. package/_internal/packages/lumx-core/src/js/constants/components/index.js +19 -0
  578. package/_internal/packages/lumx-core/src/js/constants/enums/index.d.ts +184 -0
  579. package/_internal/packages/lumx-core/src/js/constants/enums/index.js +140 -0
  580. package/_internal/packages/lumx-core/src/js/constants/index.d.ts +1 -0
  581. package/_internal/packages/lumx-core/src/js/types/AriaAttributes.d.ts +32 -0
  582. package/_internal/packages/lumx-core/src/js/types/Booleanish.d.ts +4 -0
  583. package/_internal/packages/lumx-core/src/js/types/CommonRef.d.ts +4 -0
  584. package/_internal/packages/lumx-core/src/js/types/GenericProps.d.ts +14 -0
  585. package/_internal/packages/lumx-core/src/js/types/HasAriaDisabled.d.ts +9 -0
  586. package/_internal/packages/lumx-core/src/js/types/HasAriaLabelOrLabelledBy.d.ts +19 -0
  587. package/_internal/packages/lumx-core/src/js/types/HasChecked.d.ts +9 -0
  588. package/_internal/packages/lumx-core/src/js/types/HasClassName.d.ts +9 -0
  589. package/_internal/packages/lumx-core/src/js/types/HasCloseMode.d.ts +10 -0
  590. package/_internal/packages/lumx-core/src/js/types/HasDisabled.d.ts +9 -0
  591. package/_internal/packages/lumx-core/src/js/types/HasPolymorphicAs.d.ts +12 -0
  592. package/_internal/packages/lumx-core/src/js/types/HasRequiredLinkHref.d.ts +6 -0
  593. package/_internal/packages/lumx-core/src/js/types/HasTheme.d.ts +10 -0
  594. package/_internal/packages/lumx-core/src/js/types/HeadingElement.d.ts +5 -0
  595. package/_internal/packages/lumx-core/src/js/types/JSXElement.d.ts +13 -0
  596. package/_internal/packages/lumx-core/src/js/types/KebabCase.d.ts +5 -0
  597. package/_internal/packages/lumx-core/src/js/types/LumxClassName.d.ts +7 -0
  598. package/_internal/packages/lumx-core/src/js/types/Selector.d.ts +11 -0
  599. package/_internal/packages/lumx-core/src/js/types/TextElement.d.ts +7 -0
  600. package/_internal/packages/lumx-core/src/js/types/ValueOf.d.ts +5 -0
  601. package/_internal/packages/lumx-core/src/js/types/index.d.ts +18 -0
  602. package/_internal/packages/lumx-core/src/js/utils/ClickAway/index.js +37 -0
  603. package/_internal/packages/lumx-core/src/js/utils/InfiniteScroll/index.d.ts +9 -0
  604. package/_internal/packages/lumx-core/src/js/utils/InfiniteScroll/index.js +21 -0
  605. package/_internal/packages/lumx-core/src/js/utils/InfiniteScroll/setupInfiniteScrollObserver.js +18 -0
  606. package/_internal/packages/lumx-core/src/js/utils/Portal/index.d.ts +28 -0
  607. package/_internal/packages/lumx-core/src/js/utils/_internal/color/resolveColorWithVariants.js +9 -0
  608. package/_internal/packages/lumx-core/src/js/utils/browser/createSelectorTreeWalker.js +20 -0
  609. package/_internal/packages/lumx-core/src/js/utils/browser/css/combineSize.js +14 -0
  610. package/_internal/packages/lumx-core/src/js/utils/browser/css/resolveCssSize.js +8 -0
  611. package/_internal/packages/lumx-core/src/js/utils/browser/css/types.d.ts +7 -0
  612. package/_internal/packages/lumx-core/src/js/utils/browser/isFocusVisible.js +11 -0
  613. package/_internal/packages/lumx-core/src/js/utils/browser/isHoverNotSupported.js +5 -0
  614. package/_internal/packages/lumx-core/src/js/utils/browser/isPrintableKey.js +12 -0
  615. package/_internal/packages/lumx-core/src/js/utils/browser/lastDescendant.js +9 -0
  616. package/_internal/packages/lumx-core/src/js/utils/browser/querySelectorInclusive.js +18 -0
  617. package/_internal/packages/lumx-core/src/js/utils/browser/trackContainerFocus.js +28 -0
  618. package/_internal/packages/lumx-core/src/js/utils/classNames/action-area/index.js +22 -0
  619. package/_internal/packages/lumx-core/src/js/utils/classNames/bem/block.js +18 -0
  620. package/_internal/packages/lumx-core/src/js/utils/classNames/bem/element.js +7 -0
  621. package/_internal/packages/lumx-core/src/js/utils/classNames/bem/index.js +22 -0
  622. package/_internal/packages/lumx-core/src/js/utils/classNames/bem/modifier.js +19 -0
  623. package/_internal/packages/lumx-core/src/js/utils/classNames/color/index.js +38 -0
  624. package/_internal/packages/lumx-core/src/js/utils/classNames/index.js +12 -0
  625. package/_internal/packages/lumx-core/src/js/utils/classNames/spacing/index.js +31 -0
  626. package/_internal/packages/lumx-core/src/js/utils/classNames/typography/index.js +10 -0
  627. package/_internal/packages/lumx-core/src/js/utils/classNames/visually-hidden/index.js +9 -0
  628. package/_internal/packages/lumx-core/src/js/utils/disabledState/index.js +13 -0
  629. package/_internal/packages/lumx-core/src/js/utils/events/keyboard.js +15 -0
  630. package/_internal/packages/lumx-core/src/js/utils/focus/constants.js +13 -0
  631. package/_internal/packages/lumx-core/src/js/utils/focus/getFirstAndLastFocusable.js +20 -0
  632. package/_internal/packages/lumx-core/src/js/utils/focus/getFocusableElements.js +8 -0
  633. package/_internal/packages/lumx-core/src/js/utils/focus/setupFocusTrap.js +83 -0
  634. package/_internal/packages/lumx-core/src/js/utils/focusNavigation/createActiveItemState.js +38 -0
  635. package/_internal/packages/lumx-core/src/js/utils/focusNavigation/createGridFocusNavigation.js +182 -0
  636. package/_internal/packages/lumx-core/src/js/utils/focusNavigation/createListFocusNavigation.js +151 -0
  637. package/_internal/packages/lumx-core/src/js/utils/focusNavigation/createPendingNavigation.js +23 -0
  638. package/_internal/packages/lumx-core/src/js/utils/focusNavigation/setupRovingTabIndex.js +167 -0
  639. package/_internal/packages/lumx-core/src/js/utils/function/listenerTower.js +25 -0
  640. package/_internal/packages/lumx-core/src/js/utils/iterable/first.js +8 -0
  641. package/_internal/packages/lumx-core/src/js/utils/locale/getCurrentLocale.js +10 -0
  642. package/_internal/packages/lumx-core/src/js/utils/select/findOptionById.js +19 -0
  643. package/_internal/packages/lumx-core/src/js/utils/select/getOptionDisplayName.js +19 -0
  644. package/_internal/packages/lumx-core/src/js/utils/select/renderSelectOptions.js +51 -0
  645. package/_internal/packages/lumx-core/src/js/utils/select/toggleSelection.js +39 -0
  646. package/_internal/packages/lumx-core/src/js/utils/select/types.d.ts +203 -0
  647. package/_internal/packages/lumx-core/src/js/utils/selectors/getWithSelector.js +9 -0
  648. package/_internal/packages/lumx-core/src/js/utils/selectors/groupBySelector.js +21 -0
  649. package/_internal/packages/lumx-core/src/js/utils/time/buildTimeList.d.ts +20 -0
  650. package/_internal/packages/lumx-core/src/js/utils/time/buildTimeList.js +36 -0
  651. package/_internal/packages/lumx-core/src/js/utils/time/formatTime.js +14 -0
  652. package/_internal/packages/lumx-core/src/js/utils/time/getDateAtTime.js +12 -0
  653. package/_internal/packages/lumx-core/src/js/utils/time/isDateOnTime.js +10 -0
  654. package/_internal/packages/lumx-core/src/js/utils/time/parseTimeInput.js +46 -0
  655. package/_internal/packages/lumx-core/src/js/utils/time/snapTimeToBounds.js +21 -0
  656. package/_internal/packages/lumx-core/src/js/utils/time/timeOfDayMinutes.js +9 -0
  657. package/_internal/packages/lumx-core/src/js/utils/typeahead/index.js +77 -0
  658. package/_internal/utils/A11YLiveMessage/index.d.ts +50 -0
  659. package/_internal/utils/A11YLiveMessage/index.js +28 -0
  660. package/_internal/utils/ClickAwayProvider/ClickAwayProvider.d.ts +23 -0
  661. package/_internal/utils/ClickAwayProvider/ClickAwayProvider.js +46 -0
  662. package/_internal/utils/ClickAwayProvider/index.d.ts +1 -0
  663. package/_internal/utils/InfiniteScroll/InfiniteScroll.d.ts +10 -0
  664. package/_internal/utils/InfiniteScroll/InfiniteScroll.js +18 -0
  665. package/_internal/utils/InfiniteScroll/index.d.ts +2 -0
  666. package/_internal/utils/Portal/Portal.d.ts +15 -0
  667. package/_internal/utils/Portal/Portal.js +23 -0
  668. package/_internal/utils/Portal/PortalProvider.d.ts +14 -0
  669. package/_internal/utils/Portal/PortalProvider.js +9 -0
  670. package/_internal/utils/Portal/index.d.ts +3 -0
  671. package/_internal/utils/browser/DOM/findImage.js +5 -0
  672. package/_internal/utils/browser/DOM/startViewTransition.js +47 -0
  673. package/_internal/utils/browser/isReducedMotion.js +8 -0
  674. package/_internal/utils/browser/isScrollSnapSupported.js +8 -0
  675. package/_internal/utils/browser/onScrollEnd.js +25 -0
  676. package/_internal/utils/date/addMonthResetDay.js +12 -0
  677. package/_internal/utils/date/formatDayNumber.js +8 -0
  678. package/_internal/utils/date/getFirstDayOfWeek.js +42 -0
  679. package/_internal/utils/date/getMonthCalendar.js +43 -0
  680. package/_internal/utils/date/getWeekDays.js +25 -0
  681. package/_internal/utils/date/getYearDisplayName.js +12 -0
  682. package/_internal/utils/date/isDateValid.js +7 -0
  683. package/_internal/utils/date/isSameDay.js +8 -0
  684. package/_internal/utils/disabled/DisabledStateContext.d.ts +21 -0
  685. package/_internal/utils/disabled/DisabledStateContext.js +22 -0
  686. package/_internal/utils/disabled/index.d.ts +1 -0
  687. package/_internal/utils/disabled/useDisableStateProps.d.ts +1 -0
  688. package/_internal/utils/disabled/useDisableStateProps.js +29 -0
  689. package/_internal/utils/locale/parseLocale.js +26 -0
  690. package/_internal/utils/moving-focus/components/MovingFocusProvider/context.d.ts +14 -0
  691. package/_internal/utils/moving-focus/components/MovingFocusProvider/context.js +10 -0
  692. package/_internal/utils/moving-focus/components/MovingFocusProvider/index.d.ts +21 -0
  693. package/_internal/utils/moving-focus/components/MovingFocusProvider/index.js +58 -0
  694. package/_internal/utils/moving-focus/constants.d.ts +19 -0
  695. package/_internal/utils/moving-focus/constants.js +25 -0
  696. package/_internal/utils/moving-focus/ducks/keyboard-navigation.js +453 -0
  697. package/_internal/utils/moving-focus/ducks/slice.js +50 -0
  698. package/_internal/utils/moving-focus/ducks/tab-stop.js +109 -0
  699. package/_internal/utils/moving-focus/hooks/useRovingTabIndex/index.d.ts +1 -0
  700. package/_internal/utils/moving-focus/hooks/useRovingTabIndex/useRovingTabIndex.d.ts +19 -0
  701. package/_internal/utils/moving-focus/hooks/useRovingTabIndex/useRovingTabIndex.js +81 -0
  702. package/_internal/utils/moving-focus/hooks/useVirtualFocus/index.d.ts +2 -0
  703. package/_internal/utils/moving-focus/hooks/useVirtualFocus/useVirtualFocus.d.ts +15 -0
  704. package/_internal/utils/moving-focus/hooks/useVirtualFocus/useVirtualFocus.js +83 -0
  705. package/_internal/utils/moving-focus/hooks/useVirtualFocus/useVirtualFocusParent.d.ts +10 -0
  706. package/_internal/utils/moving-focus/hooks/useVirtualFocus/useVirtualFocusParent.js +47 -0
  707. package/_internal/utils/moving-focus/index.d.ts +5 -0
  708. package/_internal/utils/moving-focus/types.d.ts +177 -0
  709. package/_internal/utils/moving-focus/utils/buildLoopAroundObject.js +22 -0
  710. package/_internal/utils/moving-focus/utils/createGridMap.js +17 -0
  711. package/_internal/utils/moving-focus/utils/getCell.js +94 -0
  712. package/_internal/utils/moving-focus/utils/getCellCoordinates.js +16 -0
  713. package/_internal/utils/moving-focus/utils/getPointerTypeFromEvent.js +11 -0
  714. package/_internal/utils/moving-focus/utils/shouldLoopListHorizontally.js +7 -0
  715. package/_internal/utils/moving-focus/utils/shouldLoopListVertically.js +7 -0
  716. package/_internal/utils/moving-focus/utils/tabStopIsEnabled.js +5 -0
  717. package/_internal/utils/number/clamp.d.ts +12 -0
  718. package/_internal/utils/number/clamp.js +16 -0
  719. package/_internal/utils/object/isEqual.js +14 -0
  720. package/_internal/utils/partitionMulti.js +24 -0
  721. package/_internal/utils/react/OnBeforeUnmount.js +17 -0
  722. package/_internal/utils/react/forwardRef.js +8 -0
  723. package/_internal/utils/react/forwardRefPolymorphic.js +6 -0
  724. package/_internal/utils/react/mergeRefs.js +22 -0
  725. package/_internal/utils/react/skipRender.js +19 -0
  726. package/_internal/utils/react/unref.js +8 -0
  727. package/_internal/utils/react/wrapChildrenIconWithSpaces.js +19 -0
  728. package/_internal/utils/theme/ThemeContext.d.ts +14 -0
  729. package/_internal/utils/theme/ThemeContext.js +11 -0
  730. package/_internal/utils/type/Comp.d.ts +15 -0
  731. package/_internal/utils/type/ComponentRef.d.ts +15 -0
  732. package/_internal/utils/type/HasPolymorphicAs.d.ts +9 -0
  733. package/_internal/utils/type/MaybeElementOrRef.d.ts +9 -0
  734. package/_internal/utils/type/ReactToJSX.d.ts +13 -0
  735. package/_internal/utils/type/index.d.ts +15 -0
  736. package/_internal/utils/type/isComponent.d.ts +13 -0
  737. package/_internal/utils/type/isComponent.js +27 -0
  738. package/_internal/utils/type/isComponentType.d.ts +9 -0
  739. package/_internal/utils/type/isComponentType.js +8 -0
  740. package/index.d.ts +150 -5788
  741. package/index.js +247 -22493
  742. package/package.json +8 -21
  743. package/utils/index.d.ts +14 -413
  744. package/utils/index.js +12 -1440
  745. package/_internal/BvaFEHZn.js +0 -262
  746. package/_internal/BvaFEHZn.js.map +0 -1
  747. package/index.js.map +0 -1
  748. package/utils/index.js.map +0 -1
@@ -0,0 +1,36 @@
1
+ import { actionArea } from "../../utils/classNames/action-area/index.js";
2
+ import { import_classnames } from "../../utils/classNames/index.js";
3
+ import { RawClickable } from "../RawClickable/index.js";
4
+ //#region ../lumx-core/src/js/components/List/ListItemAction.tsx
5
+ /**
6
+ * Component display name.
7
+ */
8
+ var COMPONENT_NAME = "ListItemAction";
9
+ /**
10
+ * Component classname (used by action area CSS pattern).
11
+ */
12
+ var CLASSNAME = "lumx-action-area__action";
13
+ var DEFAULT_PROPS = {};
14
+ /**
15
+ * ListItemAction component.
16
+ *
17
+ * Renders a button or link with action area classes.
18
+ * When placed as a child of ListItem, it activates the action area pattern:
19
+ * the entire list item becomes visually clickable, while other interactive
20
+ * elements (in `before`/`after` slots) remain independently clickable.
21
+ */
22
+ var ListItemAction = (props) => {
23
+ const { children, className, as: Element = "button", handleClick, ...forwardedProps } = props;
24
+ return RawClickable({
25
+ as: Element,
26
+ ...forwardedProps,
27
+ className: import_classnames.default(className, actionArea.action({
28
+ "has-overlay": true,
29
+ "focus-inset": true
30
+ })),
31
+ handleClick,
32
+ children
33
+ });
34
+ };
35
+ //#endregion
36
+ export { CLASSNAME, COMPONENT_NAME, DEFAULT_PROPS, ListItemAction };
@@ -0,0 +1,27 @@
1
+ import { HasClassName } from "../../types/HasClassName.js";
2
+ import { JSXElement } from "../../types/JSXElement.js";
3
+ import { CommonRef } from "../../types/CommonRef.js";
4
+ import { TextProps } from "../Text/index.js";
5
+
6
+ //#region ../lumx-core/src/js/components/List/ListSection.d.ts
7
+ /**
8
+ * Defines the props of the component.
9
+ */
10
+ interface ListSectionProps extends HasClassName {
11
+ /** Section label displayed as the group title. Accepts a plain string or custom JSX content. */
12
+ label?: string | JSXElement;
13
+ /** Section icon */
14
+ icon?: string;
15
+ /** List items (should be ListItem, ListDivider, etc.). */
16
+ children: JSXElement;
17
+ /** Items wrapper forwarded props */
18
+ itemsWrapperProps?: Record<string, any>;
19
+ /** ID for the label element (used for aria-labelledby). */
20
+ id: string;
21
+ /** ref to the root element */
22
+ ref?: CommonRef;
23
+ /** Text component to use for rendering the label */
24
+ Text: (props: TextProps & Record<string, any>) => any;
25
+ }
26
+ //#endregion
27
+ export { ListSectionProps };
@@ -0,0 +1,51 @@
1
+ import { bem } from "../../utils/classNames/bem/index.js";
2
+ import { import_classnames } from "../../utils/classNames/index.js";
3
+ import { Icon } from "../Icon/index.js";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ //#region ../lumx-core/src/js/components/List/ListSection.tsx
6
+ /**
7
+ * Component display name.
8
+ */
9
+ var COMPONENT_NAME = "ListSection";
10
+ /**
11
+ * Component default class name and class prefix.
12
+ */
13
+ var CLASSNAME = "lumx-list-section";
14
+ var { block, element } = bem(CLASSNAME);
15
+ /**
16
+ * Component default props.
17
+ */
18
+ var DEFAULT_PROPS = {};
19
+ /**
20
+ * ListSection component.
21
+ *
22
+ * @param props Component props.
23
+ * @return JSX element.
24
+ */
25
+ var ListSection = (props) => {
26
+ const { children, className, label, icon, itemsWrapperProps, id, ref, Text, ...forwardedProps } = props;
27
+ const labelId = `${id}-label`;
28
+ const hasHeader = !!label;
29
+ return /* @__PURE__ */ jsxs("li", {
30
+ ref,
31
+ ...forwardedProps,
32
+ className: import_classnames.default(className, block()),
33
+ children: [hasHeader && /* @__PURE__ */ jsxs(Text, {
34
+ as: "p",
35
+ typography: "overline",
36
+ className: element("title"),
37
+ id: labelId,
38
+ children: [icon && Icon({ icon }), label]
39
+ }), /* @__PURE__ */ jsx("ul", {
40
+ ...itemsWrapperProps,
41
+ className: element("items"),
42
+ "aria-labelledby": hasHeader ? labelId : void 0,
43
+ children
44
+ })]
45
+ });
46
+ };
47
+ ListSection.displayName = COMPONENT_NAME;
48
+ ListSection.className = CLASSNAME;
49
+ ListSection.defaultProps = DEFAULT_PROPS;
50
+ //#endregion
51
+ export { CLASSNAME, COMPONENT_NAME, DEFAULT_PROPS, ListSection };
@@ -0,0 +1,20 @@
1
+ import { Size } from "../../constants/enums/index.js";
2
+ import { HasClassName } from "../../types/HasClassName.js";
3
+ import { JSXElement } from "../../types/JSXElement.js";
4
+ import { CommonRef } from "../../types/CommonRef.js";
5
+ //#region ../lumx-core/src/js/components/List/index.d.ts
6
+ /** List item padding size. */
7
+ type ListItemPadding = Extract<Size, 'big' | 'huge'>;
8
+ /**
9
+ * Defines the props of the component.
10
+ */
11
+ interface ListProps extends HasClassName {
12
+ /** List content (should be ListItem, ListDivider, etc.). */
13
+ children?: JSXElement;
14
+ /** Item padding size. */
15
+ itemPadding?: ListItemPadding;
16
+ /** ref to the root element */
17
+ ref?: CommonRef;
18
+ }
19
+ //#endregion
20
+ export { ListProps };
@@ -0,0 +1,37 @@
1
+ import { bem } from "../../utils/classNames/bem/index.js";
2
+ import { import_classnames } from "../../utils/classNames/index.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region ../lumx-core/src/js/components/List/index.tsx
5
+ /**
6
+ * Component display name.
7
+ */
8
+ var COMPONENT_NAME = "List";
9
+ /**
10
+ * Component default class name and class prefix.
11
+ */
12
+ var CLASSNAME = "lumx-list";
13
+ var { block } = bem(CLASSNAME);
14
+ /**
15
+ * Component default props.
16
+ */
17
+ var DEFAULT_PROPS = {};
18
+ /**
19
+ * List component.
20
+ *
21
+ * @param props Component props.
22
+ * @return JSX element.
23
+ */
24
+ var List = (props) => {
25
+ const { children, className, itemPadding, ref, ...forwardedProps } = props;
26
+ return /* @__PURE__ */ jsx("ul", {
27
+ ...forwardedProps,
28
+ className: import_classnames.default(className, block({ [`item-padding-${itemPadding}`]: Boolean(itemPadding) })),
29
+ ref,
30
+ children
31
+ });
32
+ };
33
+ List.displayName = COMPONENT_NAME;
34
+ List.className = CLASSNAME;
35
+ List.defaultProps = DEFAULT_PROPS;
36
+ //#endregion
37
+ export { CLASSNAME, COMPONENT_NAME, DEFAULT_PROPS, List };
@@ -0,0 +1,28 @@
1
+ import { JSXElement } from "../../types/JSXElement.js";
2
+ //#region ../lumx-core/src/js/components/Menu/MenuButton.d.ts
3
+ type MenuButtonVariant = 'button' | 'icon-button' | 'chip' | 'link';
4
+ /** ARIA keys set by MenuButton on the trigger — omitted from variant component props. */
5
+ type MenuButtonAriaKeys = 'aria-haspopup' | 'aria-controls' | 'aria-expanded';
6
+ /** Per-variant keys internally managed by MenuButton — omitted from variant component props. */
7
+ type MenuButtonVariantsInternalKeys = {
8
+ button: MenuButtonAriaKeys;
9
+ 'icon-button': MenuButtonAriaKeys;
10
+ chip: MenuButtonAriaKeys | 'isClickable';
11
+ link: MenuButtonAriaKeys | 'href' | 'linkAs';
12
+ };
13
+ /** Discriminated union of MenuButton props across all trigger variants. */
14
+ type MenuButtonVariantsProps<TBase, TVariantProps extends Record<MenuButtonVariant, any>> = { [V in MenuButtonVariant]: TBase & (V extends 'button' ? {
15
+ variant?: V;
16
+ } : {
17
+ variant: V;
18
+ }) & Omit<TVariantProps[V], MenuButtonVariantsInternalKeys[V] | keyof TBase> }[MenuButtonVariant];
19
+ interface MenuButtonProps {
20
+ variant?: MenuButtonVariant;
21
+ label?: JSXElement;
22
+ children?: JSXElement;
23
+ triggerProps?: Record<string, any>;
24
+ popoverProps?: Record<string, any>;
25
+ onOpen?: (isOpen: boolean) => void;
26
+ }
27
+ //#endregion
28
+ export { MenuButtonProps, MenuButtonVariantsProps };
@@ -0,0 +1,29 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { mdiDotsVertical } from "@lumx/icons/esm/dots-vertical.js";
3
+ //#region ../lumx-core/src/js/components/Menu/MenuButton.tsx
4
+ var DEFAULT_PROPS = { variant: "button" };
5
+ var COMPONENT_NAME = "MenuButton";
6
+ /** Menu button core template (composition of menu provider, trigger, popover and list) */
7
+ var MenuButton = (props, { MenuProvider, MenuTrigger, MenuPopover, MenuList }) => {
8
+ const { label, children, triggerProps, popoverProps, onOpen, variant } = props;
9
+ const extraTriggerProps = {};
10
+ if (variant === "chip") extraTriggerProps.isClickable = true;
11
+ let triggerChildren;
12
+ if (variant === "icon-button") {
13
+ extraTriggerProps.label = label;
14
+ if (!triggerProps?.icon) extraTriggerProps.icon = mdiDotsVertical;
15
+ } else triggerChildren = label;
16
+ return /* @__PURE__ */ jsxs(MenuProvider, {
17
+ onOpen,
18
+ children: [/* @__PURE__ */ jsx(MenuTrigger, {
19
+ ...triggerProps,
20
+ ...extraTriggerProps,
21
+ children: triggerChildren
22
+ }), /* @__PURE__ */ jsx(MenuPopover, {
23
+ ...popoverProps,
24
+ children: /* @__PURE__ */ jsx(MenuList, { children })
25
+ })]
26
+ });
27
+ };
28
+ //#endregion
29
+ export { COMPONENT_NAME, DEFAULT_PROPS, MenuButton };
@@ -0,0 +1,30 @@
1
+ import { HasClassName } from "../../types/HasClassName.js";
2
+ import { JSXElement } from "../../types/JSXElement.js";
3
+ import { LumxClassName } from "../../types/LumxClassName.js";
4
+ import { CommonRef } from "../../types/CommonRef.js";
5
+ //#region ../lumx-core/src/js/components/Menu/MenuItem.d.ts
6
+ /** MenuItem props. */
7
+ interface MenuItemProps extends HasClassName {
8
+ /** Item label content. */
9
+ children?: JSXElement;
10
+ /** Content rendered before the label (e.g. an icon). */
11
+ before?: JSXElement;
12
+ /** Content rendered after the label (e.g. a shortcut hint). */
13
+ after?: JSXElement;
14
+ /** Whether the item is disabled. Skipped by Tab and arrow nav. */
15
+ isDisabled?: boolean;
16
+ /** Click handler for the action element. */
17
+ handleClick?(event: any): void;
18
+ /** Extra props forwarded to the inner action element (e.g. link props when `as="a"`). */
19
+ actionProps?: Record<string, any>;
20
+ /** ref to the inner action element (the focusable `<button>` / `<a>`). */
21
+ actionRef?: CommonRef;
22
+ /** ref to the root `<li>` element. */
23
+ ref?: CommonRef;
24
+ }
25
+ /** Props overridden by framework wrappers. */
26
+ type MenuItemPropsToOverride = 'before' | 'after' | 'children' | 'handleClick' | 'actionProps' | 'actionRef';
27
+ declare const COMPONENT_NAME = "MenuItem";
28
+ declare const CLASSNAME: LumxClassName<typeof COMPONENT_NAME>;
29
+ //#endregion
30
+ export { CLASSNAME, COMPONENT_NAME, MenuItemProps, MenuItemPropsToOverride };
@@ -0,0 +1,34 @@
1
+ import { bem } from "../../utils/classNames/bem/index.js";
2
+ import { import_classnames } from "../../utils/classNames/index.js";
3
+ import { ListItem } from "../List/ListItem.js";
4
+ import { ListItemAction } from "../List/ListItemAction.js";
5
+ //#region ../lumx-core/src/js/components/Menu/MenuItem.tsx
6
+ var COMPONENT_NAME = "MenuItem";
7
+ var CLASSNAME = "lumx-menu-item";
8
+ var { block, element } = bem(CLASSNAME);
9
+ /** MenuItem core template. Renders a `ListItem` with a `ListItemAction`. */
10
+ var MenuItem = (props) => {
11
+ const { children, className, before, after, isDisabled, handleClick, actionProps, actionRef, ref, ...rest } = props;
12
+ const actionElement = ListItemAction({
13
+ as: "button",
14
+ type: "button",
15
+ ...actionProps,
16
+ ref: actionRef,
17
+ className: element("action"),
18
+ handleClick,
19
+ "data-menu-item": "",
20
+ "aria-disabled": isDisabled ? "true" : void 0,
21
+ children
22
+ });
23
+ return ListItem({
24
+ ref,
25
+ size: "tiny",
26
+ ...rest,
27
+ className: import_classnames.default(className, block()),
28
+ before,
29
+ after,
30
+ children: actionElement
31
+ });
32
+ };
33
+ //#endregion
34
+ export { CLASSNAME, COMPONENT_NAME, MenuItem };
@@ -0,0 +1,20 @@
1
+ import { import_classnames } from "../../utils/classNames/index.js";
2
+ import { List } from "../List/index.js";
3
+ //#region ../lumx-core/src/js/components/Menu/MenuList.tsx
4
+ var COMPONENT_NAME = "Menu";
5
+ var CLASSNAME = "lumx-menu";
6
+ /** MenuList core template. Wraps `List` with menu-specific class and ARIA labelling. */
7
+ var MenuList = (props) => {
8
+ const { "aria-labelledby": ariaLabelledby, children, className, id, ref, ...rest } = props;
9
+ return List({
10
+ ...rest,
11
+ ref,
12
+ id,
13
+ className: import_classnames.default(className, CLASSNAME),
14
+ itemPadding: "big",
15
+ "aria-labelledby": ariaLabelledby,
16
+ children
17
+ });
18
+ };
19
+ //#endregion
20
+ export { CLASSNAME, COMPONENT_NAME, MenuList };
@@ -0,0 +1,12 @@
1
+ import { HasClassName } from "../../types/HasClassName.js";
2
+ import { JSXElement } from "../../types/JSXElement.js";
3
+ import { PopoverProps } from "../Popover/index.js";
4
+
5
+ //#region ../lumx-core/src/js/components/Menu/MenuPopover.d.ts
6
+ /** MenuPopover props. */
7
+ interface MenuPopoverProps extends HasClassName, Pick<PopoverProps, 'placement' | 'anchorRef' | 'isOpen' | 'handleClose'> {
8
+ /** Popover content (a `Menu`). */
9
+ children?: JSXElement;
10
+ }
11
+ //#endregion
12
+ export { MenuPopoverProps };
@@ -0,0 +1,32 @@
1
+ import { bem } from "../../utils/classNames/bem/index.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+ //#region ../lumx-core/src/js/components/Menu/MenuPopover.tsx
4
+ var COMPONENT_NAME = "MenuPopover";
5
+ var CLASSNAME = "lumx-menu-popover";
6
+ var { block, element } = bem(CLASSNAME);
7
+ /** MenuPopover core template. Renders a `Popover` with menu-friendly defaults. */
8
+ var MenuPopover = (props, { Popover, FlexBox }) => {
9
+ const { children, className, isOpen, placement = "bottom-start", anchorRef, handleClose, ...forwardedProps } = props;
10
+ return /* @__PURE__ */ jsx(Popover, {
11
+ ...forwardedProps,
12
+ placement,
13
+ anchorRef,
14
+ isOpen,
15
+ onClose: handleClose,
16
+ closeOnClickAway: true,
17
+ closeOnEscape: true,
18
+ usePortal: false,
19
+ focusAnchorOnClose: true,
20
+ withFocusTrap: false,
21
+ closeMode: "hide",
22
+ fitToAnchorWidth: false,
23
+ className: block([className]),
24
+ children: /* @__PURE__ */ jsx(FlexBox, {
25
+ orientation: "vertical",
26
+ className: element("scroll"),
27
+ children
28
+ })
29
+ });
30
+ };
31
+ //#endregion
32
+ export { CLASSNAME, COMPONENT_NAME, MenuPopover };
@@ -0,0 +1,20 @@
1
+ import { import_classnames } from "../../utils/classNames/index.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+ //#region ../lumx-core/src/js/components/Menu/MenuTrigger.tsx
4
+ var COMPONENT_NAME = "MenuTrigger";
5
+ var CLASSNAME = "lumx-menu-trigger";
6
+ /** MenuTrigger core template. Renders `Trigger` with disclosure ARIA attributes. */
7
+ var MenuTrigger = (props, { Trigger }) => {
8
+ const { children, className, menuId, isOpen, ref, ...forwardedProps } = props;
9
+ return /* @__PURE__ */ jsx(Trigger, {
10
+ ref,
11
+ ...forwardedProps,
12
+ className: import_classnames.default(className, CLASSNAME),
13
+ "aria-haspopup": "true",
14
+ "aria-controls": menuId,
15
+ "aria-expanded": isOpen ? "true" : "false",
16
+ children
17
+ });
18
+ };
19
+ //#endregion
20
+ export { CLASSNAME, COMPONENT_NAME, MenuTrigger };
@@ -0,0 +1,256 @@
1
+ import { createSelectorTreeWalker } from "../../utils/browser/createSelectorTreeWalker.js";
2
+ import { createListFocusNavigation } from "../../utils/focusNavigation/createListFocusNavigation.js";
3
+ import { createTypeahead } from "../../utils/typeahead/index.js";
4
+ import { isPrintableKey } from "../../utils/browser/isPrintableKey.js";
5
+ import { TABBABLE_ELEMENTS_SELECTOR } from "../../utils/focus/constants.js";
6
+ import { MENU_ITEM_SELECTOR, getItemText, getItems } from "./utils.js";
7
+ //#region ../lumx-core/src/js/components/Menu/setupMenu.ts
8
+ /**
9
+ * Find and focus the next sequential focusable element after the given trigger
10
+ * in document tab order. Used by Tab-at-last-item to move focus forward past
11
+ * the (now-closed) menu.
12
+ */
13
+ function moveFocusAfterTrigger(trigger) {
14
+ const allFocusable = Array.from(document.querySelectorAll(TABBABLE_ELEMENTS_SELECTOR)).filter((el) => !el.matches("[hidden], [tabindex=\"-1\"], [disabled]:not([disabled=\"false\"])") && el.tabIndex >= 0);
15
+ const triggerIdx = allFocusable.indexOf(trigger);
16
+ if (triggerIdx === -1) return;
17
+ allFocusable[triggerIdx + 1]?.focus();
18
+ }
19
+ /**
20
+ * Set up a disclosure-pattern menu handle.
21
+ *
22
+ * The trigger is registered separately via {@link MenuHandle.registerTrigger}
23
+ * once the trigger mounts. The menu container is registered separately via
24
+ * {@link MenuHandle.registerMenu} once on mount — the popover uses
25
+ * `closeMode="hide"` so the `<ul>` stays in the DOM at all times.
26
+ *
27
+ * IMPORTANT: this is the **disclosure widget** pattern, NOT WAI-ARIA's
28
+ * `role="menu"`. Items are native `<button>` / `<a>` elements with `tabindex="0"`,
29
+ * so screen readers announce them naturally and Tab navigates between them in
30
+ * DOM order. There is no focus trap.
31
+ *
32
+ * @param options Options (menuId for `aria-controls`).
33
+ * @returns A {@link MenuHandle} for interacting with the menu.
34
+ */
35
+ function setupMenu(options = {}) {
36
+ const { menuId } = options;
37
+ let trigger = null;
38
+ let menu = null;
39
+ let isOpenState = false;
40
+ /** Handle-lifetime abort controller (typeahead, etc.). */
41
+ const handleAbort = new AbortController();
42
+ /** Per-registration controller for trigger listeners. */
43
+ let triggerAbort = null;
44
+ /** Per-registration controller for menu list listeners. */
45
+ let menuAbort = null;
46
+ /** List focus nav controller */
47
+ let focusNav = null;
48
+ /** Menu handle */
49
+ let handle;
50
+ /**
51
+ * Shared typeahead controller (handle lifetime). Shared between the trigger and the
52
+ * menu list so a character typed on the closed trigger lands in the same buffer that
53
+ * in-menu typing reads.
54
+ */
55
+ const typeahead = createTypeahead(() => menu ? createSelectorTreeWalker(menu, MENU_ITEM_SELECTOR) : null, getItemText, handleAbort.signal);
56
+ const subscribers = { open: /* @__PURE__ */ new Set() };
57
+ function notify(event, value) {
58
+ subscribers[event].forEach((cb) => cb(value));
59
+ }
60
+ /** Open the menu (if not already open), then navigate */
61
+ function openAndGoTo(resolve) {
62
+ if (!isOpenState) handle.setOpen(true);
63
+ focusNav?.goTo(resolve);
64
+ }
65
+ /**
66
+ * Accumulate a printable key into the shared typeahead buffer, then navigate to the
67
+ * matching item using `goToItem` (immediate, for use inside the open menu).
68
+ * Returns the matched item, or `null` when nothing matches.
69
+ */
70
+ function handleTypeaheadInMenu(key, currentItem) {
71
+ const match = typeahead.handle(key, currentItem);
72
+ if (match) focusNav?.goTo(() => match);
73
+ return match;
74
+ }
75
+ handle = {
76
+ get trigger() {
77
+ return trigger;
78
+ },
79
+ setOpen(open) {
80
+ if (isOpenState === open) return;
81
+ isOpenState = open;
82
+ if (trigger) trigger.setAttribute("aria-expanded", String(open));
83
+ notify("open", open);
84
+ },
85
+ registerTrigger(el) {
86
+ if (trigger && trigger !== el) {
87
+ triggerAbort?.abort();
88
+ triggerAbort = null;
89
+ }
90
+ trigger = el;
91
+ triggerAbort = new AbortController();
92
+ const { signal } = triggerAbort;
93
+ trigger.setAttribute("aria-haspopup", "true");
94
+ trigger.setAttribute("aria-expanded", String(isOpenState));
95
+ if (menuId) trigger.setAttribute("aria-controls", menuId);
96
+ trigger.addEventListener("click", () => {
97
+ if (!isOpenState) openAndGoTo((n) => n.getFirst());
98
+ else handle.setOpen(false);
99
+ }, { signal });
100
+ const needsManualActivation = trigger.tagName !== "BUTTON";
101
+ trigger.addEventListener("keydown", (event) => {
102
+ switch (event.key) {
103
+ case "ArrowDown":
104
+ event.preventDefault();
105
+ event.stopPropagation();
106
+ openAndGoTo((n) => n.getFirst());
107
+ break;
108
+ case "ArrowUp":
109
+ event.preventDefault();
110
+ event.stopPropagation();
111
+ openAndGoTo((n) => n.getLast());
112
+ break;
113
+ case "Enter":
114
+ case " ":
115
+ if (!needsManualActivation) break;
116
+ event.preventDefault();
117
+ event.stopPropagation();
118
+ el.click();
119
+ break;
120
+ default:
121
+ if (!isOpenState && isPrintableKey(event)) {
122
+ event.preventDefault();
123
+ event.stopPropagation();
124
+ typeahead.handle(event.key, null);
125
+ focusNav?.goTo((n) => typeahead.rematch(n.activeItem) ?? n.getFirst());
126
+ handle.setOpen(true);
127
+ }
128
+ break;
129
+ }
130
+ }, { signal });
131
+ return () => {
132
+ if (trigger === el) {
133
+ triggerAbort?.abort();
134
+ triggerAbort = null;
135
+ trigger = null;
136
+ }
137
+ };
138
+ },
139
+ registerMenu(el) {
140
+ if (menu && menu !== el) {
141
+ menuAbort?.abort();
142
+ menuAbort = null;
143
+ }
144
+ menu = el;
145
+ menuAbort = new AbortController();
146
+ const { signal } = menuAbort;
147
+ focusNav = createListFocusNavigation({
148
+ type: "list",
149
+ container: menu,
150
+ itemSelector: MENU_ITEM_SELECTOR,
151
+ wrap: true,
152
+ getActiveItem: () => {
153
+ const active = document.activeElement;
154
+ if (!active || !el.contains(active)) return null;
155
+ return active;
156
+ }
157
+ }, {
158
+ onActivate: (item) => {
159
+ item.focus({ preventScroll: false });
160
+ },
161
+ onDeactivate: () => {},
162
+ onClear: () => {}
163
+ }, signal);
164
+ menu.addEventListener("keydown", (event) => {
165
+ if (event.altKey || event.ctrlKey || event.metaKey) return;
166
+ switch (event.key) {
167
+ case "ArrowDown":
168
+ event.preventDefault();
169
+ event.stopPropagation();
170
+ focusNav?.goDown();
171
+ break;
172
+ case "ArrowUp":
173
+ event.preventDefault();
174
+ event.stopPropagation();
175
+ focusNav?.goUp();
176
+ break;
177
+ case "Home":
178
+ event.preventDefault();
179
+ event.stopPropagation();
180
+ focusNav?.goTo((s) => s.getFirst());
181
+ break;
182
+ case "End":
183
+ event.preventDefault();
184
+ event.stopPropagation();
185
+ focusNav?.goTo((s) => s.getLast());
186
+ break;
187
+ case "Escape":
188
+ event.preventDefault();
189
+ event.stopPropagation();
190
+ trigger?.focus();
191
+ handle.setOpen(false);
192
+ break;
193
+ case "Tab": {
194
+ const items = getItems(el);
195
+ if (items.length === 0) return;
196
+ const idx = items.indexOf(document.activeElement);
197
+ if (idx === -1) return;
198
+ if (event.shiftKey && idx === 0) {
199
+ event.preventDefault();
200
+ trigger?.focus();
201
+ handle.setOpen(false);
202
+ } else if (!event.shiftKey && idx === items.length - 1) {
203
+ event.preventDefault();
204
+ document.activeElement?.blur();
205
+ handle.setOpen(false);
206
+ setTimeout(() => {
207
+ if (trigger) moveFocusAfterTrigger(trigger);
208
+ }, 0);
209
+ }
210
+ break;
211
+ }
212
+ default:
213
+ if (isPrintableKey(event)) {
214
+ const active = document.activeElement;
215
+ const currentItem = active && el.contains(active) ? active : null;
216
+ if (handleTypeaheadInMenu(event.key, currentItem)) {
217
+ event.preventDefault();
218
+ event.stopPropagation();
219
+ }
220
+ }
221
+ break;
222
+ }
223
+ }, { signal });
224
+ return () => {
225
+ if (menu === el) {
226
+ menuAbort?.abort();
227
+ menuAbort = null;
228
+ menu = null;
229
+ }
230
+ };
231
+ },
232
+ flushPendingNavigation() {
233
+ focusNav?.flushPendingNavigation();
234
+ },
235
+ subscribe(event, listener) {
236
+ subscribers[event].add(listener);
237
+ return () => {
238
+ subscribers[event].delete(listener);
239
+ };
240
+ },
241
+ destroy() {
242
+ handleAbort.abort();
243
+ triggerAbort?.abort();
244
+ menuAbort?.abort();
245
+ triggerAbort = null;
246
+ menuAbort = null;
247
+ trigger = null;
248
+ menu = null;
249
+ isOpenState = false;
250
+ for (const set of Object.values(subscribers)) set.clear();
251
+ }
252
+ };
253
+ return handle;
254
+ }
255
+ //#endregion
256
+ export { setupMenu };
@@ -0,0 +1,16 @@
1
+ //#region ../lumx-core/src/js/components/Menu/utils.ts
2
+ /**
3
+ * CSS selector for menu items (inner focusable element). Includes disabled items: per
4
+ * WAI-ARIA APG they stay focusable so AT announces them; click is no-op'd via `aria-disabled`.
5
+ */
6
+ var MENU_ITEM_SELECTOR = "[data-menu-item]";
7
+ /** Get an item's text label (trimmed `textContent`) for typeahead matching. */
8
+ function getItemText(item) {
9
+ return item.textContent?.trim() ?? "";
10
+ }
11
+ /** Get all item elements within a menu container, in DOM order (includes disabled). */
12
+ function getItems(menu) {
13
+ return Array.from(menu.querySelectorAll(MENU_ITEM_SELECTOR));
14
+ }
15
+ //#endregion
16
+ export { MENU_ITEM_SELECTOR, getItemText, getItems };