@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,130 @@
1
+ import { forwardRef } from "../../utils/react/forwardRef.js";
2
+ import { mergeRefs } from "../../utils/react/mergeRefs.js";
3
+ import { useTheme } from "../../utils/theme/ThemeContext.js";
4
+ import { IconButton } from "../button/IconButton.js";
5
+ import { Chip } from "../chip/Chip.js";
6
+ import { Icon } from "../icon/Icon.js";
7
+ import { InputLabel } from "../input-label/InputLabel.js";
8
+ import { WithSelectContext } from "./WithSelectContext.js";
9
+ import { SelectVariant } from "./constants.js";
10
+ import { Emphasis, Size, Theme } from "@lumx/core/js/constants";
11
+ import { mdiAlertCircle } from "@lumx/icons/esm/alert-circle.js";
12
+ import { mdiCheckCircle } from "@lumx/icons/esm/check-circle.js";
13
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
14
+ import { classNames } from "@lumx/core/js/utils";
15
+ import isEmpty from "lodash/isEmpty.js";
16
+ import { mdiCloseCircle } from "@lumx/icons/esm/close-circle.js";
17
+ import { mdiMenuDown } from "@lumx/icons/esm/menu-down.js";
18
+ //#region src/components/select/Select.tsx
19
+ /** The display name of the component. */
20
+ var COMPONENT_NAME = "Select";
21
+ /** The default class name and classes prefix for this component. */
22
+ var CLASSNAME = "lumx-select";
23
+ var { block, element } = classNames.bem(CLASSNAME);
24
+ /** The default value of props. */
25
+ var DEFAULT_PROPS = {
26
+ selectedValueRender: (choice) => choice,
27
+ variant: SelectVariant.input
28
+ };
29
+ var stopPropagation = (evt) => evt.stopPropagation();
30
+ /**
31
+ * Select component.
32
+ */
33
+ var SelectField = (props) => {
34
+ const defaultTheme = useTheme();
35
+ const { anchorRef, clearButtonProps, handleKeyboardNav, hasError, hasInputClear, icon, id, isDisabled, isEmpty, isRequired, isValid, label, onClear, onInputClick, placeholder, selectedValueRender, theme = defaultTheme, value, variant, selectElementRef, ...forwardedProps } = props;
36
+ return /* @__PURE__ */ jsxs(Fragment, { children: [variant === SelectVariant.input && /* @__PURE__ */ jsxs(Fragment, { children: [label && /* @__PURE__ */ jsx("div", {
37
+ className: element("header"),
38
+ children: /* @__PURE__ */ jsx(InputLabel, {
39
+ htmlFor: id,
40
+ className: element("label"),
41
+ isRequired,
42
+ theme,
43
+ children: label
44
+ })
45
+ }), /* @__PURE__ */ jsxs("div", {
46
+ ref: mergeRefs(anchorRef, selectElementRef),
47
+ id,
48
+ className: element("wrapper"),
49
+ onClick: onInputClick,
50
+ onKeyDown: handleKeyboardNav,
51
+ tabIndex: isDisabled ? void 0 : 0,
52
+ "aria-disabled": isDisabled || void 0,
53
+ ...forwardedProps,
54
+ children: [
55
+ icon && /* @__PURE__ */ jsx(Icon, {
56
+ className: element("input-icon"),
57
+ color: theme === Theme.dark ? "light" : void 0,
58
+ icon,
59
+ size: Size.xs
60
+ }),
61
+ /* @__PURE__ */ jsxs("div", {
62
+ className: element("input-native", { placeholder: isEmpty && placeholder }),
63
+ children: [!isEmpty && /* @__PURE__ */ jsx("span", { children: selectedValueRender?.(value) }), isEmpty && placeholder && /* @__PURE__ */ jsx("span", { children: placeholder })]
64
+ }),
65
+ (isValid || hasError) && /* @__PURE__ */ jsx("div", {
66
+ className: element("input-validity"),
67
+ children: /* @__PURE__ */ jsx(Icon, {
68
+ icon: isValid ? mdiCheckCircle : mdiAlertCircle,
69
+ size: Size.xxs
70
+ })
71
+ }),
72
+ hasInputClear && clearButtonProps && /* @__PURE__ */ jsx(IconButton, {
73
+ ...clearButtonProps,
74
+ className: element("input-clear"),
75
+ icon: mdiCloseCircle,
76
+ emphasis: Emphasis.low,
77
+ size: Size.s,
78
+ theme,
79
+ onClick: onClear,
80
+ onKeyDown: stopPropagation
81
+ }),
82
+ /* @__PURE__ */ jsx("div", {
83
+ className: element("input-indicator"),
84
+ children: /* @__PURE__ */ jsx(Icon, {
85
+ icon: mdiMenuDown,
86
+ size: Size.s
87
+ })
88
+ })
89
+ ]
90
+ })] }), variant === SelectVariant.chip && /* @__PURE__ */ jsxs(Chip, {
91
+ id,
92
+ isSelected: !isEmpty,
93
+ isDisabled,
94
+ after: /* @__PURE__ */ jsx(Icon, { icon: isEmpty ? mdiMenuDown : mdiCloseCircle }),
95
+ onAfterClick: isEmpty ? onInputClick : onClear,
96
+ onClick: onInputClick,
97
+ ref: mergeRefs(anchorRef, selectElementRef),
98
+ theme,
99
+ ...forwardedProps,
100
+ children: [isEmpty && /* @__PURE__ */ jsx("span", { children: label }), !isEmpty && /* @__PURE__ */ jsx("span", { children: selectedValueRender?.(value) })]
101
+ })] });
102
+ };
103
+ /**
104
+ * Select component.
105
+ *
106
+ * @deprecated use `SelectTextField` instead
107
+ * @param props Component props.
108
+ * @param ref Component ref.
109
+ * @return React element.
110
+ */
111
+ var Select = forwardRef((props, ref) => {
112
+ const isEmpty$1 = isEmpty(props.value);
113
+ const hasInputClear = props.onClear && props.clearButtonProps && !isEmpty$1;
114
+ return WithSelectContext(SelectField, {
115
+ ...DEFAULT_PROPS,
116
+ ...props,
117
+ className: classNames.join(props.className, block({
118
+ "has-input-clear": hasInputClear,
119
+ "has-unique": !props.isEmpty
120
+ })),
121
+ hasInputClear,
122
+ isEmpty: isEmpty$1
123
+ }, ref);
124
+ });
125
+ Select.displayName = COMPONENT_NAME;
126
+ Select.className = CLASSNAME;
127
+ Select.defaultProps = DEFAULT_PROPS;
128
+ Select.className = CLASSNAME;
129
+ //#endregion
130
+ export { Select };
@@ -0,0 +1,24 @@
1
+ import { Comp } from "../../utils/type/Comp.js";
2
+ import { CoreSelectProps } from "./constants.js";
3
+ import { ReactNode, SyntheticEvent } from "react";
4
+
5
+ //#region src/components/select/SelectMultiple.d.ts
6
+ /** Defines the props of the component. */
7
+ interface SelectMultipleProps extends CoreSelectProps {
8
+ /** Selected values. */
9
+ value: string[];
10
+ /** Selected value render function. Default: Renders the value inside of a Chip. */
11
+ selectedChipRender?(choice: string, index: number, onClear?: (event?: SyntheticEvent, choice?: string) => void, isDisabled?: boolean, theme?: any): ReactNode | string;
12
+ }
13
+ declare const SelectMultipleField: React.FC<SelectMultipleProps>;
14
+ /**
15
+ * SelectMultiple component.
16
+ *
17
+ * @deprecated use `SelectTextField` instead
18
+ * @param props Component props.
19
+ * @param ref Component ref.
20
+ * @return React element.
21
+ */
22
+ declare const SelectMultiple: Comp<SelectMultipleProps, HTMLDivElement>;
23
+ //#endregion
24
+ export { SelectMultiple, SelectMultipleField, SelectMultipleProps };
@@ -0,0 +1,128 @@
1
+ import { forwardRef } from "../../utils/react/forwardRef.js";
2
+ import { mergeRefs } from "../../utils/react/mergeRefs.js";
3
+ import { useTheme } from "../../utils/theme/ThemeContext.js";
4
+ import { Chip } from "../chip/Chip.js";
5
+ import { Icon } from "../icon/Icon.js";
6
+ import { InputLabel } from "../input-label/InputLabel.js";
7
+ import { WithSelectContext } from "./WithSelectContext.js";
8
+ import { SelectVariant } from "./constants.js";
9
+ import { Size, Theme } from "@lumx/core/js/constants";
10
+ import { mdiAlertCircle } from "@lumx/icons/esm/alert-circle.js";
11
+ import { mdiCheckCircle } from "@lumx/icons/esm/check-circle.js";
12
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
13
+ import { classNames } from "@lumx/core/js/utils";
14
+ import { mdiClose } from "@lumx/icons/esm/close.js";
15
+ import { mdiCloseCircle } from "@lumx/icons/esm/close-circle.js";
16
+ import { mdiMenuDown } from "@lumx/icons/esm/menu-down.js";
17
+ //#region src/components/select/SelectMultiple.tsx
18
+ /** The display name of the component. */
19
+ var COMPONENT_NAME = "Select";
20
+ /** The default class name and classes prefix for this component. */
21
+ var CLASSNAME = "lumx-select";
22
+ var { block, element } = classNames.bem(CLASSNAME);
23
+ /** The default value of props. */
24
+ var DEFAULT_PROPS = {
25
+ selectedChipRender(choice, index, onClear, isDisabled, theme) {
26
+ const onClick = (event) => onClear && onClear(event, choice);
27
+ return /* @__PURE__ */ jsx(Chip, {
28
+ after: onClear && /* @__PURE__ */ jsx(Icon, {
29
+ icon: mdiClose,
30
+ size: Size.xxs
31
+ }),
32
+ isDisabled,
33
+ size: Size.s,
34
+ onAfterClick: onClick,
35
+ onClick,
36
+ theme,
37
+ children: choice
38
+ }, index);
39
+ },
40
+ selectedValueRender: (choice) => choice,
41
+ variant: SelectVariant.input
42
+ };
43
+ var SelectMultipleField = (props) => {
44
+ const defaultTheme = useTheme();
45
+ const { anchorRef, clearButtonProps, handleKeyboardNav, hasError, icon, id, isDisabled, isEmpty, isRequired, isValid, label, onClear, onInputClick, placeholder, selectedChipRender, selectedValueRender, theme = defaultTheme, value, variant, selectElementRef, ...forwardedProps } = props;
46
+ return /* @__PURE__ */ jsxs(Fragment, { children: [variant === SelectVariant.input && /* @__PURE__ */ jsxs(Fragment, { children: [label && /* @__PURE__ */ jsx("div", {
47
+ className: element("header"),
48
+ children: /* @__PURE__ */ jsx(InputLabel, {
49
+ htmlFor: id,
50
+ className: element("label"),
51
+ isRequired,
52
+ theme,
53
+ children: label
54
+ })
55
+ }), /* @__PURE__ */ jsxs("div", {
56
+ ref: mergeRefs(anchorRef, selectElementRef),
57
+ id,
58
+ className: element("wrapper"),
59
+ onClick: onInputClick,
60
+ onKeyDown: handleKeyboardNav,
61
+ tabIndex: isDisabled ? void 0 : 0,
62
+ "aria-disabled": isDisabled || void 0,
63
+ ...forwardedProps,
64
+ children: [
65
+ icon && /* @__PURE__ */ jsx(Icon, {
66
+ className: element("input-icon"),
67
+ color: theme === Theme.dark ? "light" : void 0,
68
+ icon,
69
+ size: Size.xs
70
+ }),
71
+ /* @__PURE__ */ jsx("div", {
72
+ className: element("chips"),
73
+ children: !isEmpty && value.map((val, index) => selectedChipRender?.(val, index, onClear, isDisabled, theme))
74
+ }),
75
+ isEmpty && placeholder && /* @__PURE__ */ jsx("div", {
76
+ className: element("input-native", { placeholder: true }),
77
+ children: /* @__PURE__ */ jsx("span", { children: placeholder })
78
+ }),
79
+ (isValid || hasError) && /* @__PURE__ */ jsx("div", {
80
+ className: `${CLASSNAME}__input-validity`,
81
+ children: /* @__PURE__ */ jsx(Icon, {
82
+ icon: isValid ? mdiCheckCircle : mdiAlertCircle,
83
+ size: Size.xxs
84
+ })
85
+ }),
86
+ /* @__PURE__ */ jsx("div", {
87
+ className: `${CLASSNAME}__input-indicator`,
88
+ children: /* @__PURE__ */ jsx(Icon, {
89
+ icon: mdiMenuDown,
90
+ size: Size.s
91
+ })
92
+ })
93
+ ]
94
+ })] }), variant === SelectVariant.chip && /* @__PURE__ */ jsxs(Chip, {
95
+ id,
96
+ isSelected: !isEmpty,
97
+ isDisabled,
98
+ after: /* @__PURE__ */ jsx(Icon, { icon: isEmpty ? mdiMenuDown : mdiCloseCircle }),
99
+ onAfterClick: isEmpty ? onInputClick : onClear,
100
+ onClick: onInputClick,
101
+ ref: mergeRefs(anchorRef, selectElementRef),
102
+ theme,
103
+ ...forwardedProps,
104
+ children: [isEmpty && /* @__PURE__ */ jsx("span", { children: label }), !isEmpty && /* @__PURE__ */ jsxs("span", { children: [/* @__PURE__ */ jsx("span", { children: selectedValueRender?.(value[0]) }), value.length > 1 && /* @__PURE__ */ jsxs("span", { children: ["\xA0+", value.length - 1] })] })]
105
+ })] });
106
+ };
107
+ /**
108
+ * SelectMultiple component.
109
+ *
110
+ * @deprecated use `SelectTextField` instead
111
+ * @param props Component props.
112
+ * @param ref Component ref.
113
+ * @return React element.
114
+ */
115
+ var SelectMultiple = forwardRef((props, ref) => {
116
+ return WithSelectContext(SelectMultipleField, {
117
+ ...DEFAULT_PROPS,
118
+ ...props,
119
+ className: classNames.join(props.className, block({ "has-multiple": !props.isEmpty })),
120
+ isEmpty: props.value.length === 0,
121
+ isMultiple: true
122
+ }, ref);
123
+ });
124
+ SelectMultiple.displayName = COMPONENT_NAME;
125
+ SelectMultiple.className = CLASSNAME;
126
+ SelectMultiple.defaultProps = DEFAULT_PROPS;
127
+ //#endregion
128
+ export { SelectMultiple, SelectMultipleField };
@@ -0,0 +1,96 @@
1
+ import { useId } from "../../hooks/useId.js";
2
+ import { mergeRefs } from "../../utils/react/mergeRefs.js";
3
+ import { useTheme } from "../../utils/theme/ThemeContext.js";
4
+ import { useFocusTrap } from "../../hooks/useFocusTrap.js";
5
+ import { Placement } from "../../packages/lumx-core/src/js/components/Popover/constants.js";
6
+ import { Dropdown } from "../dropdown/Dropdown.js";
7
+ import { InputHelper } from "../input-helper/InputHelper.js";
8
+ import { useListenFocus } from "../../hooks/useListenFocus.js";
9
+ import { Kind, Theme } from "@lumx/core/js/constants";
10
+ import { useCallback, useRef } from "react";
11
+ import { jsx, jsxs } from "react/jsx-runtime";
12
+ import { classNames } from "@lumx/core/js/utils";
13
+ //#region src/components/select/WithSelectContext.tsx
14
+ var { block, element } = classNames.bem("lumx-select");
15
+ var WithSelectContext = (SelectElement, props, ref) => {
16
+ const defaultTheme = useTheme() || Theme.light;
17
+ const { children, className, focusElement, isMultiple, closeOnClick = !isMultiple, disabled, error, hasError, helper, id, isDisabled = disabled, isEmpty, isOpen, isRequired, isValid, label, onClear, onDropdownClose, onInfiniteScroll, onInputClick, placeholder, theme = defaultTheme, value, variant, ...forwardedProps } = props;
18
+ const generatedSelectId = useId();
19
+ const selectId = id || generatedSelectId;
20
+ const anchorRef = useRef(null);
21
+ const selectRef = useRef(null);
22
+ const dropdownRef = useRef(null);
23
+ const isFocus = useListenFocus(anchorRef);
24
+ const handleKeyboardNav = useCallback((evt) => {
25
+ if ((evt.key === "Enter" || evt.key === " " || evt.key === "ArrowDown") && onInputClick) {
26
+ evt.preventDefault();
27
+ onInputClick();
28
+ }
29
+ }, [onInputClick]);
30
+ const onClose = () => {
31
+ if (onDropdownClose) onDropdownClose();
32
+ anchorRef?.current?.blur();
33
+ };
34
+ useFocusTrap(isOpen && dropdownRef.current, focusElement?.current);
35
+ return /* @__PURE__ */ jsxs("div", {
36
+ ref: mergeRefs(ref, selectRef),
37
+ className: classNames.join(className, block({
38
+ "has-error": hasError,
39
+ "has-label": Boolean(label),
40
+ "has-placeholder": Boolean(placeholder),
41
+ "has-value": !isEmpty,
42
+ "is-disabled": isDisabled,
43
+ "is-empty": isEmpty,
44
+ "is-focus": isFocus,
45
+ "is-open": isOpen,
46
+ "is-valid": isValid,
47
+ [`theme-${theme}`]: Boolean(theme)
48
+ })),
49
+ children: [
50
+ /* @__PURE__ */ jsx(SelectElement, {
51
+ ...forwardedProps,
52
+ anchorRef,
53
+ "aria-disabled": isDisabled,
54
+ handleKeyboardNav,
55
+ hasError,
56
+ isDisabled,
57
+ isEmpty,
58
+ isRequired,
59
+ isValid,
60
+ label,
61
+ placeholder,
62
+ id: selectId,
63
+ theme,
64
+ value,
65
+ variant,
66
+ onClear,
67
+ onInputClick
68
+ }),
69
+ /* @__PURE__ */ jsx(Dropdown, {
70
+ anchorRef,
71
+ closeOnClick,
72
+ closeOnClickAway: true,
73
+ closeOnEscape: true,
74
+ isOpen: !!isOpen,
75
+ placement: Placement.BOTTOM_START,
76
+ onClose,
77
+ onInfiniteScroll,
78
+ ref: dropdownRef,
79
+ children
80
+ }),
81
+ hasError && error && /* @__PURE__ */ jsx(InputHelper, {
82
+ className: element("helper"),
83
+ kind: Kind.error,
84
+ theme,
85
+ children: error
86
+ }),
87
+ helper && /* @__PURE__ */ jsx(InputHelper, {
88
+ className: element("helper"),
89
+ theme,
90
+ children: helper
91
+ })
92
+ ]
93
+ });
94
+ };
95
+ //#endregion
96
+ export { WithSelectContext };
@@ -0,0 +1,59 @@
1
+ import { index_d_exports } from "../../utils/type/index.js";
2
+ import { IconButtonProps } from "../button/IconButton.js";
3
+ import { ReactNode, SyntheticEvent } from "react";
4
+
5
+ //#region src/components/select/constants.d.ts
6
+ /**
7
+ * Select variants.
8
+ */
9
+ declare const SelectVariant: {
10
+ readonly input: "input";
11
+ readonly chip: "chip";
12
+ };
13
+ type SelectVariant = index_d_exports.ValueOf<typeof SelectVariant>;
14
+ interface CoreSelectProps extends index_d_exports.GenericProps, index_d_exports.HasTheme {
15
+ /** Props to pass to the clear button (minus those already set by the Select props). If not specified, the button won't be displayed. */
16
+ clearButtonProps?: Pick<IconButtonProps, 'label'> & Omit<IconButtonProps, 'label' | 'onClick' | 'icon' | 'emphasis'>;
17
+ /** Whether the select (input variant) is displayed with error style or not. */
18
+ hasError?: boolean;
19
+ /** Error message. */
20
+ error?: string | ReactNode;
21
+ /** Helper text. */
22
+ helper?: string;
23
+ /** Whether the select should close on click. */
24
+ closeOnClick?: boolean;
25
+ /** Icon (SVG path). */
26
+ icon?: string;
27
+ /** Whether the component is disabled or not. */
28
+ isDisabled?: boolean;
29
+ /** Whether the component is required or not. */
30
+ isRequired?: boolean;
31
+ /** Whether the component is open or not. */
32
+ isOpen?: boolean;
33
+ /** Whether the select (input variant) is displayed with valid style or not. */
34
+ isValid?: boolean;
35
+ /** Label text. */
36
+ label?: string;
37
+ /** Placeholder input text. */
38
+ placeholder?: string;
39
+ /** Select variant. */
40
+ variant?: SelectVariant;
41
+ /** On clear callback. */
42
+ onClear?(event?: SyntheticEvent, value?: string): void;
43
+ /** On blur callback. */
44
+ onBlur?(): void;
45
+ /** On filter text change callback (with 500ms debounce). */
46
+ onFilter?(): void;
47
+ /** On input click callback (can be used for dropdown toggle). */
48
+ onInputClick?(): void;
49
+ /** On dropdown close callback. */
50
+ onDropdownClose?(): void;
51
+ /** On scroll end callback. */
52
+ onInfiniteScroll?(): void;
53
+ /** Render value function. Default: Renders the value as a string. */
54
+ selectedValueRender?(choice: string): ReactNode | string;
55
+ /** Children */
56
+ children?: React.ReactNode;
57
+ }
58
+ //#endregion
59
+ export { CoreSelectProps, SelectVariant };
@@ -0,0 +1,10 @@
1
+ //#region src/components/select/constants.ts
2
+ /**
3
+ * Select variants.
4
+ */
5
+ var SelectVariant = {
6
+ input: "input",
7
+ chip: "chip"
8
+ };
9
+ //#endregion
10
+ export { SelectVariant };
@@ -0,0 +1,3 @@
1
+ import { SelectVariant } from "./constants.js";
2
+ import { Select, SelectProps } from "./Select.js";
3
+ import { SelectMultiple, SelectMultipleField, SelectMultipleProps } from "./SelectMultiple.js";
@@ -0,0 +1,93 @@
1
+ import { Comp } from "../../utils/type/Comp.js";
2
+ import { ComponentRef } from "../../utils/type/ComponentRef.js";
3
+ import { ReactToJSX } from "../../utils/type/ReactToJSX.js";
4
+ import { ButtonProps } from "../button/Button.js";
5
+ import { ComboboxButtonLabelDisplayMode } from "../../packages/lumx-core/src/js/components/Combobox/ComboboxButton.js";
6
+ import { ComboboxPopoverProps } from "../combobox/ComboboxPopover.js";
7
+ import { SelectButtonTranslations, SelectListStatus } from "../../packages/lumx-core/src/js/utils/select/types.js";
8
+ import { SelectButtonProps as SelectButtonProps$1 } from "../../packages/lumx-core/src/js/components/SelectButton/index.js";
9
+ import { GenericProps, NamedProps } from "@lumx/core/js/types";
10
+ import React, { ElementType } from "react";
11
+
12
+ //#region src/components/select-button/SelectButton.d.ts
13
+ /** Default trigger: LumX `Button` with the dropdown chevron pre-applied. */
14
+ declare const DefaultButton: Comp<ButtonProps, HTMLButtonElement>;
15
+ /** Keys managed internally — never forwarded to the trigger element. */
16
+ type OmittedKeys = 'value' | 'children' | 'role' | 'aria-controls' | 'aria-haspopup' | 'aria-expanded' | 'aria-activedescendant' | 'ref';
17
+ /** Select-specific props common to both single and multi modes. */
18
+ interface SelectButtonSelectProps<O> extends ReactToJSX<SelectButtonProps$1<O>, 'renderOption' | 'buttonProps' | 'value' | 'handleSelect' | 'listProps' | 'infiniteScrollOptions'> {
19
+ /** Called to load more options (infinite scroll). */
20
+ onLoadMore?: () => void;
21
+ /** Called when the dropdown opens or closes. */
22
+ onOpen?: (isOpen: boolean) => void;
23
+ /**
24
+ * Custom option renderer. It should return a `<SelectButton.Option>`.
25
+ * Props `value`, `isSelected`, `description` and `key` are merged in automatically.
26
+ */
27
+ renderOption?: (option: O, index: number) => React.ReactNode;
28
+ }
29
+ /**
30
+ * Forwarded trigger props for a given element `E`, minus the keys that the
31
+ * component manages internally.
32
+ */
33
+ type TriggerProps<E extends ElementType> = Omit<NamedProps<React.ComponentProps<E>>, OmittedKeys>;
34
+ /**
35
+ * Common base — Select-specific props plus the ARIA / label / popover layer.
36
+ * `as`, `ref`, `selectionType`, `value`, `onChange` are intentionally hoisted
37
+ * to the top-level `SelectButtonProps` shape (below) so that TS can infer
38
+ * `O`, `E`, and `S` directly from those JSX attributes.
39
+ */
40
+ type CommonSelectButtonProps<O> = SelectButtonSelectProps<O> & GenericProps & {
41
+ /** Button label, used for ARIA and as fallback when no option is selected. */label: string; /** Props forwarded to the popover. */
42
+ popoverProps?: ComboboxPopoverProps; /** How the selected option is shown in the trigger. */
43
+ labelDisplayMode?: ComboboxButtonLabelDisplayMode;
44
+ /**
45
+ * Status of the dropdown list (loading, error, etc.).
46
+ * @default 'idle'
47
+ */
48
+ listStatus?: SelectListStatus; /** Screen-reader translations (loading/empty/error/option count). */
49
+ translations?: SelectButtonTranslations;
50
+ };
51
+ /**
52
+ * Props for `SelectButton`.
53
+ *
54
+ * Polymorphic — pass `as` to render the trigger as a different component
55
+ * (e.g. `as={IconButton}`, `as={Chip}`, `as={Link}`). With no `as`, the trigger
56
+ * is the LumX `Button` with the dropdown chevron, so LumX `ButtonProps`
57
+ * (`emphasis`, `size`, `leftIcon`…) are accepted. With `as`, the trigger is
58
+ * fully replaced and only props valid for that component apply.
59
+ *
60
+ * Discriminated on `selectionType`:
61
+ * - default / `'single'` → `value?: O`, `onChange?: (newValue: O) => void`.
62
+ * - `'multiple'` → `value?: O[]`, `onChange?: (newValue: O[]) => void`.
63
+ *
64
+ * `as` and `selectionType` are top-level on this type (rather than buried in
65
+ * an intersection or union member) so that TS can infer `E` from `as` and
66
+ * `S` from `selectionType` without explicit generic annotations at the call site.
67
+ *
68
+ * @typeParam O - Option object type, inferred from `options` / `getOptionId`.
69
+ * @typeParam E - Trigger element type, inferred from `as`. Defaults to the LumX `Button`.
70
+ * @typeParam S - Selection mode, inferred from `selectionType`. Defaults to `'single'`.
71
+ */
72
+ type SelectButtonProps<O, E extends ElementType = typeof DefaultButton, S extends 'single' | 'multiple' = 'single'> = CommonSelectButtonProps<O> & TriggerProps<E> & {
73
+ /** Customize the rendered trigger component. Inference site for `E`. */as?: E; /** Ref for the trigger element. Type follows `as`. */
74
+ ref?: ComponentRef<E>;
75
+ /**
76
+ * Selection mode discriminator. Inference site for `S`.
77
+ * Optional — defaults to `'single'`. Set to `'multiple'` to opt into
78
+ * multi-select; this also switches `value` / `onChange` to array form.
79
+ */
80
+ selectionType?: S; /** Selected option(s). Shape depends on `selectionType`. */
81
+ value?: S extends 'multiple' ? O[] : O; /** Called when the selection changes. Shape depends on `selectionType`. */
82
+ onChange?: S extends 'multiple' ? (newValue: O[]) => void : (newValue: O) => void;
83
+ };
84
+ /**
85
+ * Single-selection props (`selectionType` defaults to `'single'`).
86
+ */
87
+ type SingleSelectButtonProps<O, E extends ElementType = typeof DefaultButton> = NamedProps<SelectButtonProps<O, E, 'single'>>;
88
+ /**
89
+ * Multi-selection props (`selectionType: 'multiple'` is required to opt in).
90
+ */
91
+ type MultipleSelectButtonProps<O, E extends ElementType = typeof DefaultButton> = NamedProps<SelectButtonProps<O, E, 'multiple'>>;
92
+ //#endregion
93
+ export { MultipleSelectButtonProps, SelectButtonProps, SingleSelectButtonProps };
@@ -0,0 +1,73 @@
1
+ import { forwardRef } from "../../utils/react/forwardRef.js";
2
+ import { Button } from "../button/Button.js";
3
+ import { InfiniteScroll } from "../../utils/InfiniteScroll/InfiniteScroll.js";
4
+ import { Combobox } from "../combobox/index.js";
5
+ import { toggleSelection } from "../../packages/lumx-core/src/js/utils/select/toggleSelection.js";
6
+ import { DEFAULT_PROPS, SelectButton as SelectButton$1 } from "../../packages/lumx-core/src/js/components/SelectButton/index.js";
7
+ import { wrapRenderOption } from "../combobox/wrapRenderOption.js";
8
+ import React, { useCallback, useState } from "react";
9
+ import { jsx } from "react/jsx-runtime";
10
+ import { mdiMenuDown } from "@lumx/icons/esm/menu-down.js";
11
+ //#region src/components/select-button/SelectButton.tsx
12
+ /** Default trigger: LumX `Button` with the dropdown chevron pre-applied. */
13
+ var DefaultButton = forwardRef((props, ref) => /* @__PURE__ */ jsx(Button, {
14
+ rightIcon: mdiMenuDown,
15
+ ...props,
16
+ ref
17
+ }));
18
+ /**
19
+ * A button trigger with a dropdown to select an option (single mode) or
20
+ * options (multi mode) from a list. Polymorphic — pass `as` to customize the trigger element.
21
+ */
22
+ var SelectButton = React.forwardRef((props, ref) => {
23
+ const { options, getOptionId, getOptionName, getOptionDescription, renderOption, getSectionId, renderSectionTitle, selectionType = DEFAULT_PROPS.selectionType, value, onChange, onLoadMore, onOpen, label, popoverProps, labelDisplayMode, listStatus, translations, as, ...buttonProps } = props;
24
+ const [listElement, setListElement] = useState(null);
25
+ const isMultiple = selectionType === "multiple";
26
+ const wrappedRenderOption = wrapRenderOption(renderOption);
27
+ const handleSelect = useCallback((selectedOption) => {
28
+ const next = toggleSelection(options, getOptionId, value, selectedOption?.value, isMultiple);
29
+ onChange?.(next);
30
+ }, [
31
+ getOptionId,
32
+ isMultiple,
33
+ onChange,
34
+ options,
35
+ value
36
+ ]);
37
+ const buttonAs = as && as !== Button ? as : DefaultButton;
38
+ return SelectButton$1({
39
+ options,
40
+ getOptionId,
41
+ getOptionName,
42
+ getOptionDescription,
43
+ renderOption: wrappedRenderOption,
44
+ getSectionId,
45
+ renderSectionTitle,
46
+ value,
47
+ selectionType,
48
+ label,
49
+ labelDisplayMode,
50
+ buttonProps: {
51
+ ...buttonProps,
52
+ as: buttonAs,
53
+ ref
54
+ },
55
+ popoverProps,
56
+ listProps: { ref: setListElement },
57
+ handleSelect,
58
+ listStatus,
59
+ onOpen,
60
+ translations,
61
+ onLoadMore,
62
+ infiniteScrollOptions: {
63
+ root: listElement,
64
+ rootMargin: "100px"
65
+ }
66
+ }, {
67
+ Combobox,
68
+ InfiniteScroll
69
+ });
70
+ });
71
+ SelectButton.displayName = "SelectButton";
72
+ //#endregion
73
+ export { SelectButton };
@@ -0,0 +1,18 @@
1
+ import { Comp } from "../../utils/type/Comp.js";
2
+ import { ButtonProps } from "../button/Button.js";
3
+ import { ComboboxOptionProps } from "../combobox/ComboboxOption.js";
4
+ import { SelectButtonTranslations, SelectListStatus } from "../../packages/lumx-core/src/js/utils/select/types.js";
5
+ import { MultipleSelectButtonProps, SelectButtonProps, SingleSelectButtonProps } from "./SelectButton.js";
6
+
7
+ //#region src/components/select-button/index.d.ts
8
+ /**
9
+ * SelectButton compound component.
10
+ */
11
+ declare const SelectButton: {
12
+ <O, E extends import("react").ElementType = Comp<ButtonProps, HTMLButtonElement>, S extends "single" | "multiple" = "single">(props: SelectButtonProps<O, E, S>): React.ReactNode;
13
+ displayName?: string;
14
+ } & {
15
+ /** Selectable option within the dropdown list. */Option: Comp<ComboboxOptionProps, HTMLLIElement>;
16
+ };
17
+ //#endregion
18
+ export { SelectButton };
@@ -0,0 +1,11 @@
1
+ import { ComboboxOption } from "../combobox/ComboboxOption.js";
2
+ import { SelectButton as SelectButton$1 } from "./SelectButton.js";
3
+ //#region src/components/select-button/index.ts
4
+ /**
5
+ * SelectButton compound component.
6
+ */
7
+ var SelectButton = Object.assign(SelectButton$1, {
8
+ /** Selectable option within the dropdown list. */
9
+ Option: ComboboxOption });
10
+ //#endregion
11
+ export { SelectButton };