@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,39 @@
1
+ import { getWithSelector } from "../selectors/getWithSelector.js";
2
+ import { findOptionById } from "./findOptionById.js";
3
+ //#region ../lumx-core/src/js/utils/select/toggleSelection.ts
4
+ /**
5
+ * Compute the next selection state after a user toggles an option.
6
+ *
7
+ * Single-mode behaviour (`isMultiple=false`):
8
+ * - Returns the option matched by id (or `undefined` if none matches the id —
9
+ * e.g. when the consumer triggers a custom action via `beforeOptions`).
10
+ *
11
+ * Multi-mode behaviour (`isMultiple=true`):
12
+ * - If the option is already in the current value array → returns a new array with it removed.
13
+ * - Otherwise → returns a new array with the option appended.
14
+ * - If the id matches no option in `options` (e.g. custom actions), the current array is returned unchanged.
15
+ *
16
+ * Pure function: never mutates `currentValue`.
17
+ *
18
+ * @param options The list of options.
19
+ * @param getOptionId Selector returning the option id (matches `<Combobox.Option value>`).
20
+ * @param currentValue Current selection (option, array of options, or undefined).
21
+ * @param selectedOptionId Id of the option the user just selected.
22
+ * @param isMultiple Whether to use multi-select semantics.
23
+ * @return The new selection — `O | undefined` in single mode, `O[]` in multi mode.
24
+ */
25
+ function toggleSelection(options, getOptionId, currentValue, selectedOptionId, isMultiple) {
26
+ const newOption = findOptionById(options, getOptionId, selectedOptionId);
27
+ if (!isMultiple) return newOption;
28
+ const currentArray = Array.isArray(currentValue) ? currentValue : [];
29
+ const existingIndex = currentArray.findIndex((item) => getWithSelector(getOptionId, item) === selectedOptionId);
30
+ if (existingIndex === -1) {
31
+ if (!newOption) return currentArray;
32
+ return [...currentArray, newOption];
33
+ }
34
+ const updated = [...currentArray];
35
+ updated.splice(existingIndex, 1);
36
+ return updated;
37
+ }
38
+ //#endregion
39
+ export { toggleSelection };
@@ -0,0 +1,203 @@
1
+ import { HasTheme } from "../../types/HasTheme.js";
2
+ import { JSXElement } from "../../types/JSXElement.js";
3
+ import { HasAriaDisabled } from "../../types/HasAriaDisabled.js";
4
+ import { Selector } from "../../types/Selector.js";
5
+ //#region ../lumx-core/src/js/utils/select/types.d.ts
6
+ /**
7
+ * Status of the select dropdown list.
8
+ *
9
+ * - `'idle'` — Default state, no loading indicators.
10
+ * - `'loading'` — Full loading: shows skeleton placeholders, hides real options.
11
+ * - `'loadingMore'` — Paginated loading: appends a skeleton after existing options.
12
+ * - `'error'` — Error state: shows an error message in the dropdown.
13
+ */
14
+ type SelectListStatus = 'idle' | 'loading' | 'loadingMore' | 'error';
15
+ /**
16
+ * Context passed to the `renderOption` callback alongside the option object.
17
+ * Contains core-computed values that the consumer should forward to `<Combobox.Option>`.
18
+ */
19
+ interface RenderOptionContext {
20
+ /** Index of the option in the current (possibly section-filtered) list. */
21
+ index: number;
22
+ /** Resolved option id (from `getOptionId`). Should be passed as `value` to `<Combobox.Option>`. */
23
+ value: any;
24
+ /** Resolved option name (from `getOptionName`, falling back to `getOptionId`). */
25
+ name: string;
26
+ /** Whether this option is currently selected. Should be forwarded as `isSelected`. */
27
+ isSelected: boolean;
28
+ /** Resolved description string (from `getOptionDescription`), if any. Should be forwarded as `description`. */
29
+ description?: string | null;
30
+ }
31
+ interface BaseSelectProps<O> {
32
+ /** List of option objects. */
33
+ options?: Array<O>;
34
+ /** Option object id selector. */
35
+ getOptionId: Selector<O>;
36
+ /** Option object name selector (falls back to id if not defined). */
37
+ getOptionName?: Selector<O, string | undefined | null>;
38
+ /** Option object description selector. */
39
+ getOptionDescription?: Selector<O, string | undefined | null>;
40
+ /**
41
+ * Custom option render function (core/Vue contract).
42
+ * Receives the option object and a `RenderOptionContext` with core-computed props (`value`,
43
+ * `isSelected`, `description`, `index`). The callee must render a `<Combobox.Option>` and
44
+ * forward those context values, including a unique `key`.
45
+ *
46
+ * @example (Vue / core level)
47
+ * renderOption={(fruit, { value, isSelected, description }) => (
48
+ * <Combobox.Option key={value} value={value} isSelected={isSelected} description={description}>
49
+ * <strong>{fruit.name}</strong>
50
+ * </Combobox.Option>
51
+ * )}
52
+ */
53
+ renderOption?: (option: O, context: RenderOptionContext) => JSXElement;
54
+ /**
55
+ * Selector returning a section id string for each option. Options with the same
56
+ * section id are grouped together. The id is also used as the default displayed
57
+ * label unless `renderSectionTitle` is provided.
58
+ */
59
+ getSectionId?: Selector<O, string | undefined>;
60
+ /**
61
+ * Custom section title render function. Receives the section id and the options
62
+ * in that section. Returns custom JSX to display as the section header.
63
+ * When not provided, the section id is used as a plain text label.
64
+ */
65
+ renderSectionTitle?: (sectionId: string | undefined, options: O[]) => JSXElement;
66
+ }
67
+ /**
68
+ * Shared translation labels for SelectTextField wrappers (React and Vue).
69
+ */
70
+ interface SelectTextFieldTranslations {
71
+ /** Accessible label for the clear button. */
72
+ clearLabel?: string;
73
+ /** Accessible label for the show-suggestions toggle button. When omitted, the toggle button is not rendered. */
74
+ showSuggestionsLabel?: string;
75
+ /** Accessible label for the chip group. */
76
+ chipGroupLabel?: string;
77
+ /** Accessible label for the remove action on chips (used in visually hidden text). */
78
+ chipRemoveLabel?: string;
79
+ /** Screen reader loading announcement (e.g. "Loading…"). */
80
+ loadingMessage?: string;
81
+ /**
82
+ * Message to display when the list has no visible options.
83
+ * Can be a plain string or a function receiving the current input value (for dynamic messages).
84
+ * When omitted, the empty state is not shown.
85
+ */
86
+ emptyMessage?: string | ((inputValue: string) => string);
87
+ /**
88
+ * Message callback to display the number of available options.
89
+ * Called with the current visible option count and should return a human-readable string
90
+ * (e.g. `(n) => \`${n} result(s) available\``).
91
+ * Displayed when the combobox is open, not empty, not loading, and not in error.
92
+ * When omitted, no option count message is shown.
93
+ */
94
+ nbOptionMessage?: (optionsLength: number) => string;
95
+ /** Error title displayed in the dropdown (e.g. "Failed to load"). */
96
+ errorMessage?: string;
97
+ /** Secondary error message (e.g. "Please try again"). */
98
+ errorTryReloadMessage?: string;
99
+ }
100
+ /**
101
+ * Shared translation labels for SelectButton wrappers (React and Vue).
102
+ */
103
+ interface SelectButtonTranslations {
104
+ /** Screen reader loading announcement (e.g. "Loading…"). */
105
+ loadingMessage?: string;
106
+ /**
107
+ * Message to display when the list has no visible options.
108
+ * Can be a plain string or a function receiving the current input value (for dynamic messages).
109
+ * When omitted, the empty state is not shown.
110
+ */
111
+ emptyMessage?: string | ((inputValue: string) => string);
112
+ /**
113
+ * Message callback to display the number of available options.
114
+ * Called with the current visible option count and should return a human-readable string.
115
+ * Displayed when the dropdown is open, not empty, not loading, and not in error.
116
+ * When omitted, no option count message is shown.
117
+ */
118
+ nbOptionMessage?: (optionsLength: number) => string;
119
+ /** Error title displayed in the dropdown (e.g. "Failed to load"). */
120
+ errorMessage?: string;
121
+ /** Secondary error message (e.g. "Please try again"). */
122
+ errorTryReloadMessage?: string;
123
+ }
124
+ /**
125
+ * Wrapper-level props shared between React and Vue SelectTextField implementations.
126
+ * These are framework-specific concerns (not part of the core template) that both
127
+ * wrappers need — extracted here to avoid duplication.
128
+ */
129
+ interface BaseSelectTextFieldWrapperProps<O> extends Pick<BaseSelectProps<O>, 'options' | 'getOptionId' | 'getOptionName' | 'getOptionDescription' | 'getSectionId'>, HasAriaDisabled, HasTheme {
130
+ /** Selection type: 'single' or 'multiple'. */
131
+ selectionType: 'single' | 'multiple';
132
+ /**
133
+ * Status of the dropdown list.
134
+ * @default 'idle'
135
+ */
136
+ listStatus?: SelectListStatus;
137
+ /**
138
+ * Controls how the combobox filters options as the user types.
139
+ *
140
+ * - `'auto'` — Options that do not match the input value are hidden client-side.
141
+ * - `'manual'` — All options remain visible; filtering is the consumer's
142
+ * responsibility (e.g. by updating the `options` prop in response to `onSearch`).
143
+ * - `'off'` — Like `'manual'`, but the input is also set to `readOnly` and
144
+ * `openOnFocus` defaults to `true` (useful for static dropdowns / pure pickers).
145
+ *
146
+ * This prop is independent of `onSearch`: you can use both together (e.g. client-side
147
+ * filtering + tracking search text for a "create" action), or use `filter: 'manual'`
148
+ * without `onSearch` for static dropdowns.
149
+ */
150
+ filter: 'auto' | 'manual' | 'off';
151
+ /**
152
+ * Controlled search input value.
153
+ * When provided, this value seeds (and resets) the visible search text in the input.
154
+ * Setting it to `''` (empty string) resets the input.
155
+ */
156
+ searchInputValue?: string;
157
+ /**
158
+ * Whether to show a clear button when a value is selected.
159
+ * @default true
160
+ */
161
+ hasClearButton?: boolean;
162
+ /**
163
+ * When true, the dropdown opens automatically when the input receives focus.
164
+ * When false (default), the dropdown only opens on click, typing, or keyboard navigation.
165
+ *
166
+ * @default false
167
+ */
168
+ openOnFocus?: boolean;
169
+ /** Field label (required). Also used as aria-label for the listbox. */
170
+ label: string;
171
+ /** Input placeholder text. */
172
+ placeholder?: string;
173
+ /** Leading icon (SVG path). */
174
+ icon?: string;
175
+ /** Disabled state. */
176
+ isDisabled?: boolean;
177
+ /** Required field indicator. */
178
+ isRequired?: boolean;
179
+ /** Error state flag. */
180
+ hasError?: boolean;
181
+ /** Error message text. */
182
+ error?: string;
183
+ /** Helper text below the field. */
184
+ helper?: string;
185
+ /** Native input id attribute. */
186
+ id?: string;
187
+ /** Native input name attribute. */
188
+ name?: string;
189
+ /** Whether displayed with valid style. */
190
+ isValid?: boolean;
191
+ /** Maximum string length (shows character counter). */
192
+ maxLength?: number;
193
+ /** Accessible label for the input element (overrides the visual label for screen readers). */
194
+ ariaLabel?: string;
195
+ /** Additional props forwarded to the Combobox.Input (and ultimately to TextField). */
196
+ inputProps?: Record<string, any>;
197
+ /** Props forwarded to the Combobox.Popover. */
198
+ popoverProps?: Record<string, any>;
199
+ /** Labels for the clear button, toggle button, and chip group. */
200
+ translations: SelectTextFieldTranslations;
201
+ }
202
+ //#endregion
203
+ export { BaseSelectProps, BaseSelectTextFieldWrapperProps, SelectButtonTranslations, SelectListStatus, SelectTextFieldTranslations };
@@ -0,0 +1,9 @@
1
+ //#region ../lumx-core/src/js/utils/selectors/getWithSelector.ts
2
+ /** Get value with a string of function selector */
3
+ var getWithSelector = (selector, object) => {
4
+ if (typeof selector === "function") return selector(object);
5
+ if (typeof selector === "string") return object[selector];
6
+ return String(object);
7
+ };
8
+ //#endregion
9
+ export { getWithSelector };
@@ -0,0 +1,21 @@
1
+ import { getWithSelector } from "./getWithSelector.js";
2
+ //#region ../lumx-core/src/js/utils/selectors/groupBySelector.ts
3
+ /**
4
+ * Equivalent to `lodash/groupBy` but returns a `Map` of groups items (instead of an object)
5
+ * (has the major advantage to not forcing the keys to be string!)
6
+ */
7
+ function groupBySelector(array, selector) {
8
+ const groups = /* @__PURE__ */ new Map();
9
+ for (const item of array) {
10
+ const key = getWithSelector(selector, item);
11
+ let group = groups.get(key);
12
+ if (!group) {
13
+ group = [];
14
+ groups.set(key, group);
15
+ }
16
+ group.push(item);
17
+ }
18
+ return groups;
19
+ }
20
+ //#endregion
21
+ export { groupBySelector };
@@ -0,0 +1,20 @@
1
+ //#region ../lumx-core/src/js/utils/time/buildTimeList.d.ts
2
+ /**
3
+ * A time-of-day (24h), independent of any date or time zone. Canonical
4
+ * exchange shape for the time utilities and `TimePickerField`.
5
+ */
6
+ interface TimeOfDay {
7
+ /** 0–23 */
8
+ hour: number;
9
+ /** 0–59 */
10
+ minute: number;
11
+ /** Locale-aware short display string. Populated by `buildTimeList` when `locale` is set. */
12
+ name?: string;
13
+ /**
14
+ * `true` when strictly outside `[minTime, maxTime]`. Set by `buildTimeList`;
15
+ * consumers typically forward this as `isDisabled` on the rendered option.
16
+ */
17
+ outOfRange?: boolean;
18
+ }
19
+ //#endregion
20
+ export { TimeOfDay };
@@ -0,0 +1,36 @@
1
+ import { formatTime } from "./formatTime.js";
2
+ import { getDateAtTime } from "./getDateAtTime.js";
3
+ import { timeOfDayMinutes } from "./timeOfDayMinutes.js";
4
+ //#region ../lumx-core/src/js/utils/time/buildTimeList.ts
5
+ var MINUTES_IN_HOUR = 60;
6
+ var MINUTES_IN_DAY = 24 * MINUTES_IN_HOUR;
7
+ /**
8
+ * Build a full-day list of `TimeOfDay` entries spaced `step` minutes apart.
9
+ * Out-of-bounds entries are kept (with `outOfRange: true`) so consumers can
10
+ * render them as visible-but-unselectable. Returns `[]` for invalid `step`.
11
+ */
12
+ function buildTimeList(options = {}) {
13
+ const { step = 30, minTime, maxTime, locale } = options;
14
+ if (!Number.isInteger(step) || step <= 0) return [];
15
+ const minMinutes = minTime ? timeOfDayMinutes(minTime) : void 0;
16
+ const maxMinutes = maxTime ? timeOfDayMinutes(maxTime) : void 0;
17
+ const list = [];
18
+ for (let minutes = 0; minutes < MINUTES_IN_DAY; minutes += step) {
19
+ const hour = Math.floor(minutes / MINUTES_IN_HOUR);
20
+ const minute = minutes % MINUTES_IN_HOUR;
21
+ const outOfRange = minMinutes !== void 0 && minutes < minMinutes || maxMinutes !== void 0 && minutes > maxMinutes || void 0;
22
+ const name = locale ? formatTime(getDateAtTime({
23
+ hour,
24
+ minute
25
+ }), locale) : void 0;
26
+ list.push({
27
+ hour,
28
+ minute,
29
+ name,
30
+ outOfRange
31
+ });
32
+ }
33
+ return list;
34
+ }
35
+ //#endregion
36
+ export { buildTimeList };
@@ -0,0 +1,14 @@
1
+ //#region ../lumx-core/src/js/utils/time/formatTime.ts
2
+ /**
3
+ * Format a time-of-day as a locale-aware short time (e.g. `'10:30 AM'`,
4
+ * `'10:30'`). Hour is `numeric` (not `'2-digit'`); some locales insert a
5
+ * narrow no-break space (U+202F) before AM/PM.
6
+ */
7
+ function formatTime(date, locale) {
8
+ return date.toLocaleTimeString(locale, {
9
+ hour: "numeric",
10
+ minute: "2-digit"
11
+ });
12
+ }
13
+ //#endregion
14
+ export { formatTime };
@@ -0,0 +1,12 @@
1
+ //#region ../lumx-core/src/js/utils/time/getDateAtTime.ts
2
+ /**
3
+ * Build a new `Date` with the given time-of-day, inheriting the date part of
4
+ * `reference` (or today). Seconds/ms zeroed; `reference` is not mutated.
5
+ */
6
+ function getDateAtTime({ hour, minute }, reference) {
7
+ const next = reference ? new Date(reference) : /* @__PURE__ */ new Date();
8
+ next.setHours(hour, minute, 0, 0);
9
+ return next;
10
+ }
11
+ //#endregion
12
+ export { getDateAtTime };
@@ -0,0 +1,10 @@
1
+ //#region ../lumx-core/src/js/utils/time/isDateOnTime.ts
2
+ /**
3
+ * Returns `true` when the time-of-day of `date` matches `time` (hour and
4
+ * minute). Seconds and milliseconds are ignored.
5
+ */
6
+ function isDateOnTime(date, time) {
7
+ return date.getHours() === time.hour && date.getMinutes() === time.minute;
8
+ }
9
+ //#endregion
10
+ export { isDateOnTime };
@@ -0,0 +1,46 @@
1
+ //#region ../lumx-core/src/js/utils/time/parseTimeInput.ts
2
+ /**
3
+ * Match a free-form time. Supports:
4
+ * - 12h with am/pm suffix (`a`, `am`, `p`, `pm`, `a.m.`, `p.m.`), optional whitespace
5
+ * - 24h with colon (`15:45`), dot (`15.45`), `h` (`15h45`) or no separator (`1545`)
6
+ * - Optional seconds segment (ignored): `15:45:00`, `15.45.00`
7
+ * - Optional ISO `T` prefix and trailing `Z` (UTC marker)
8
+ *
9
+ * Capture groups:
10
+ * 1: hour, 2: minutes (optional), 3: am/pm marker (optional)
11
+ */
12
+ var RE_TIME = /^T?(\d{1,2})(?:[:.h]?([0-5]\d)(?:[:.]?[0-5]\d)?)?\s*(a\.?m?\.?|p\.?m?\.?)?Z?$/i;
13
+ /**
14
+ * Parse a free-form user time input into a 24h `TimeOfDay`. Accepts a wide
15
+ * range of formats:
16
+ *
17
+ * - 12h AM/PM: `'2pm'`, `'2 PM'`, `'2:30pm'`, `'3.45 PM'`, `'3:45 p.m.'`
18
+ * - 24h colon: `'10:30'`, `'15:45'`
19
+ * - 24h dot (DE/FR/IT): `'15.45'`
20
+ * - 24h French: `'15h45'`
21
+ * - Military / no separator: `'1545'`, `'1030pm'`
22
+ * - With seconds (ignored): `'15:45:00'`
23
+ * - ISO 8601: `'T15:45'`, `'15:45Z'`
24
+ *
25
+ * Whitespace is trimmed. Returns `undefined` if no format matches.
26
+ */
27
+ function parseTimeInput(raw) {
28
+ if (typeof raw !== "string") return void 0;
29
+ const match = raw.trim().match(RE_TIME);
30
+ if (!match) return void 0;
31
+ const [, rawHour, rawMinute, ampm] = match;
32
+ let hour = Number(rawHour);
33
+ const minute = rawMinute ? Number(rawMinute) : 0;
34
+ if (ampm) {
35
+ if (hour < 1 || hour > 12) return void 0;
36
+ const isPm = ampm[0].toLowerCase() === "p";
37
+ if (hour === 12) hour = isPm ? 12 : 0;
38
+ else if (isPm) hour += 12;
39
+ } else if (hour > 23) return;
40
+ return {
41
+ hour,
42
+ minute
43
+ };
44
+ }
45
+ //#endregion
46
+ export { parseTimeInput };
@@ -0,0 +1,21 @@
1
+ import { timeOfDayMinutes } from "./timeOfDayMinutes.js";
2
+ //#region ../lumx-core/src/js/utils/time/snapTimeToBounds.ts
3
+ /**
4
+ * Clamp `time` to `[minTime, maxTime]`. Inputs strictly before `minTime` snap
5
+ * up; inputs strictly after `maxTime` snap down; otherwise returned unchanged.
6
+ * Only the time-of-day of `minTime`/`maxTime` is used.
7
+ */
8
+ function snapTimeToBounds(time, minTime, maxTime) {
9
+ const totalMinutes = time.hour * 60 + time.minute;
10
+ if (minTime && totalMinutes < timeOfDayMinutes(minTime)) return {
11
+ hour: minTime.getHours(),
12
+ minute: minTime.getMinutes()
13
+ };
14
+ if (maxTime && totalMinutes > timeOfDayMinutes(maxTime)) return {
15
+ hour: maxTime.getHours(),
16
+ minute: maxTime.getMinutes()
17
+ };
18
+ return time;
19
+ }
20
+ //#endregion
21
+ export { snapTimeToBounds };
@@ -0,0 +1,9 @@
1
+ //#region ../lumx-core/src/js/utils/time/timeOfDayMinutes.ts
2
+ /**
3
+ * Return the time-of-day of `date` in minutes since 00:00 (date part ignored).
4
+ */
5
+ function timeOfDayMinutes(date) {
6
+ return date.getHours() * 60 + date.getMinutes();
7
+ }
8
+ //#endregion
9
+ export { timeOfDayMinutes };
@@ -0,0 +1,77 @@
1
+ //#region ../lumx-core/src/js/utils/typeahead/index.ts
2
+ /** Timeout in ms after which the accumulated search string is cleared. */
3
+ var SEARCH_TIMEOUT = 500;
4
+ /**
5
+ * Create a typeahead controller for keyboard navigation in list-like widgets
6
+ * (combobox, menu, listbox, tree, etc.).
7
+ *
8
+ * Accumulates typed characters and matches them against item labels.
9
+ * Supports single-char cycling (e.g. pressing "a" repeatedly cycles through
10
+ * items starting with "a") and multi-char prefix matching.
11
+ *
12
+ * Uses a {@link TreeWalker} for lazy DOM traversal — items are visited one
13
+ * at a time without materializing the full list.
14
+ *
15
+ * @param getWalker Callback returning a fresh TreeWalker over navigable items, or null if unavailable.
16
+ * @param getItemValue Callback extracting the text label from an item element.
17
+ * @param signal AbortSignal for cleanup.
18
+ * @returns Typeahead instance.
19
+ */
20
+ function createTypeahead(getWalker, getItemValue, signal) {
21
+ let searchString = "";
22
+ let searchTimeout;
23
+ function reset() {
24
+ searchString = "";
25
+ if (searchTimeout !== void 0) {
26
+ clearTimeout(searchTimeout);
27
+ searchTimeout = void 0;
28
+ }
29
+ }
30
+ signal.addEventListener("abort", reset);
31
+ function match(currentItem) {
32
+ if (!searchString) return null;
33
+ const walker = getWalker();
34
+ if (!walker) return null;
35
+ const firstItem = walker.nextNode();
36
+ if (!firstItem) return null;
37
+ const allSameChar = searchString.split("").every((ch) => ch === searchString[0]);
38
+ const searchText = allSameChar ? searchString[0] : searchString;
39
+ const validCurrent = currentItem && walker.root.contains(currentItem) ? currentItem : null;
40
+ let startItem;
41
+ if (validCurrent) {
42
+ walker.currentNode = validCurrent;
43
+ if (allSameChar) startItem = walker.nextNode() ?? firstItem;
44
+ else startItem = validCurrent;
45
+ } else startItem = firstItem;
46
+ walker.currentNode = startItem;
47
+ let candidate = startItem;
48
+ while (true) {
49
+ if (getItemValue(candidate).toLowerCase().startsWith(searchText)) return candidate;
50
+ const next = walker.nextNode();
51
+ if (next) candidate = next;
52
+ else {
53
+ walker.currentNode = walker.root;
54
+ const wrapped = walker.nextNode();
55
+ if (!wrapped) return null;
56
+ candidate = wrapped;
57
+ }
58
+ if (candidate === startItem) return null;
59
+ }
60
+ }
61
+ function handle(key, currentItem) {
62
+ if (searchTimeout !== void 0) clearTimeout(searchTimeout);
63
+ searchString += key.toLowerCase();
64
+ searchTimeout = setTimeout(reset, SEARCH_TIMEOUT);
65
+ return match(currentItem);
66
+ }
67
+ function rematch(currentItem) {
68
+ return match(currentItem);
69
+ }
70
+ return {
71
+ handle,
72
+ rematch,
73
+ reset
74
+ };
75
+ }
76
+ //#endregion
77
+ export { createTypeahead };
@@ -0,0 +1,50 @@
1
+ import React, { AriaAttributes, ReactNode } from "react";
2
+
3
+ //#region src/utils/A11YLiveMessage/index.d.ts
4
+ interface A11YLiveMessageProps {
5
+ /** The message that will be read. */
6
+ children?: ReactNode;
7
+ /** Whether the message should be hidden */
8
+ hidden?: boolean;
9
+ /**
10
+ * The type of message.
11
+ * Default to "polite"
12
+ * Assertive should only be used for messages than need immediate attention.
13
+ */
14
+ type?: AriaAttributes['aria-live'];
15
+ /**
16
+ * Indicates whether assistive technologies will present all, or only parts of, the changed region based on
17
+ * the change notifications defined by the aria-relevant attribute.
18
+ */
19
+ atomic?: AriaAttributes['aria-atomic'];
20
+ /**
21
+ * Indicates what notifications the user agent will trigger when the accessibility tree within a live region is modified.
22
+ * @see atomic.
23
+ */
24
+ relevant?: AriaAttributes['aria-relevant'];
25
+ /**
26
+ * Whether the live region reads a current status or
27
+ * raises an alert.
28
+ * Only use `alert` for time sensitive information that should be read immediately
29
+ * as it will interrupt anything being currently read.
30
+ */
31
+ role?: 'status' | 'alert';
32
+ /** Scope, for tracking purposes */
33
+ scope?: string;
34
+ /** Optionnal classname */
35
+ className?: string;
36
+ }
37
+ /**
38
+ * Live region to read a message to screen readers.
39
+ * Messages can be "polite" and be read when possible or
40
+ * "assertive" and interrupt any message currently be read. (To be used sparingly)
41
+ *
42
+ * More information here: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Live_Regions
43
+ *
44
+ * @family A11Y
45
+ * @param A11YLiveMessageProps
46
+ * @returns A11YLiveMessage
47
+ */
48
+ declare const A11YLiveMessage: React.FC<A11YLiveMessageProps>;
49
+ //#endregion
50
+ export { A11YLiveMessage, A11YLiveMessageProps };
@@ -0,0 +1,28 @@
1
+ import "react";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { join, visuallyHidden } from "@lumx/core/js/utils/classNames";
4
+ //#region src/utils/A11YLiveMessage/index.tsx
5
+ /**
6
+ * Live region to read a message to screen readers.
7
+ * Messages can be "polite" and be read when possible or
8
+ * "assertive" and interrupt any message currently be read. (To be used sparingly)
9
+ *
10
+ * More information here: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Live_Regions
11
+ *
12
+ * @family A11Y
13
+ * @param A11YLiveMessageProps
14
+ * @returns A11YLiveMessage
15
+ */
16
+ var A11YLiveMessage = ({ type = "polite", atomic, role, hidden, relevant, children, className, ...forwardedProps }) => {
17
+ return /* @__PURE__ */ jsx("div", {
18
+ ...forwardedProps,
19
+ className: join(hidden ? visuallyHidden() : void 0, className),
20
+ role,
21
+ "aria-live": type,
22
+ "aria-atomic": atomic,
23
+ "aria-relevant": relevant,
24
+ children
25
+ });
26
+ };
27
+ //#endregion
28
+ export { A11YLiveMessage };
@@ -0,0 +1,23 @@
1
+ import { ClickAwayParameters } from "../../hooks/useClickAway.js";
2
+ import { RefObject } from "react";
3
+
4
+ //#region src/utils/ClickAwayProvider/ClickAwayProvider.d.ts
5
+ interface ClickAwayProviderProps extends ClickAwayParameters {
6
+ /**
7
+ * (Optional) Element that should be considered as part of the parent
8
+ */
9
+ parentRef?: RefObject<HTMLElement>;
10
+ /**
11
+ * Children
12
+ */
13
+ children?: React.ReactNode;
14
+ }
15
+ /**
16
+ * Component combining the `useClickAway` hook with a React context to hook into the React component tree and make sure
17
+ * we take into account both the DOM tree and the React tree to detect click away.
18
+ *
19
+ * @return the react component.
20
+ */
21
+ declare const ClickAwayProvider: React.FC<ClickAwayProviderProps>;
22
+ //#endregion
23
+ export { ClickAwayProvider };