@lumx/vue 4.17.1-alpha.1 → 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 (962) hide show
  1. package/README.md +31 -0
  2. package/_internal/_virtual/_rolldown/runtime.js +34 -0
  3. package/_internal/components/alert-dialog/AlertDialog.d.ts +45 -0
  4. package/_internal/components/alert-dialog/AlertDialog.js +79 -0
  5. package/_internal/components/alert-dialog/index.d.ts +1 -0
  6. package/_internal/components/avatar/Avatar.d.ts +30 -0
  7. package/_internal/components/avatar/Avatar.js +50 -0
  8. package/_internal/components/avatar/index.d.ts +2 -0
  9. package/_internal/components/badge/Badge.d.ts +16 -0
  10. package/_internal/components/badge/Badge.js +25 -0
  11. package/_internal/components/badge/BadgeWrapper.d.ts +10 -0
  12. package/_internal/components/badge/BadgeWrapper.js +22 -0
  13. package/_internal/components/badge/index.d.ts +2 -0
  14. package/_internal/components/button/Button.d.ts +18 -0
  15. package/_internal/components/button/Button.js +66 -0
  16. package/_internal/components/button/ButtonGroup.d.ts +16 -0
  17. package/_internal/components/button/ButtonGroup.js +25 -0
  18. package/_internal/components/button/IconButton.d.ts +33 -0
  19. package/_internal/components/button/IconButton.js +53 -0
  20. package/_internal/components/button/index.d.ts +4 -0
  21. package/_internal/components/checkbox/Checkbox.d.ts +20 -0
  22. package/_internal/components/checkbox/Checkbox.js +55 -0
  23. package/_internal/components/checkbox/index.d.ts +1 -0
  24. package/_internal/components/chip/Chip.d.ts +26 -0
  25. package/_internal/components/chip/Chip.js +74 -0
  26. package/_internal/components/chip/ChipGroup.d.ts +10 -0
  27. package/_internal/components/chip/ChipGroup.js +19 -0
  28. package/_internal/components/chip/SelectionChipGroup.d.ts +48 -0
  29. package/_internal/components/chip/SelectionChipGroup.js +91 -0
  30. package/_internal/components/chip/index.d.ts +3 -0
  31. package/_internal/components/combobox/ComboboxButton.d.ts +15 -0
  32. package/_internal/components/combobox/ComboboxButton.js +63 -0
  33. package/_internal/components/combobox/ComboboxInput.d.ts +20 -0
  34. package/_internal/components/combobox/ComboboxInput.js +97 -0
  35. package/_internal/components/combobox/ComboboxList.d.ts +7 -0
  36. package/_internal/components/combobox/ComboboxList.js +54 -0
  37. package/_internal/components/combobox/ComboboxOption.d.ts +11 -0
  38. package/_internal/components/combobox/ComboboxOption.js +79 -0
  39. package/_internal/components/combobox/ComboboxOptionAction.d.ts +9 -0
  40. package/_internal/components/combobox/ComboboxOptionAction.js +40 -0
  41. package/_internal/components/combobox/ComboboxOptionMoreInfo.d.ts +9 -0
  42. package/_internal/components/combobox/ComboboxOptionMoreInfo.js +78 -0
  43. package/_internal/components/combobox/ComboboxOptionSkeleton.d.ts +7 -0
  44. package/_internal/components/combobox/ComboboxOptionSkeleton.js +37 -0
  45. package/_internal/components/combobox/ComboboxPopover.d.ts +13 -0
  46. package/_internal/components/combobox/ComboboxPopover.js +46 -0
  47. package/_internal/components/combobox/ComboboxProvider.d.ts +7 -0
  48. package/_internal/components/combobox/ComboboxProvider.js +46 -0
  49. package/_internal/components/combobox/ComboboxSection.d.ts +7 -0
  50. package/_internal/components/combobox/ComboboxSection.js +51 -0
  51. package/_internal/components/combobox/ComboboxState.d.ts +7 -0
  52. package/_internal/components/combobox/ComboboxState.js +61 -0
  53. package/_internal/components/combobox/context/ComboboxContext.js +21 -0
  54. package/_internal/components/combobox/context/ComboboxListContext.js +19 -0
  55. package/_internal/components/combobox/context/ComboboxOptionContext.js +22 -0
  56. package/_internal/components/combobox/context/useComboboxEvent.js +20 -0
  57. package/_internal/components/combobox/context/useComboboxOpen.js +17 -0
  58. package/_internal/components/combobox/index.d.ts +115 -0
  59. package/_internal/components/combobox/index.js +44 -0
  60. package/_internal/components/combobox/useWrappedRenderOptionSlot.js +46 -0
  61. package/_internal/components/combobox/useWrappedRenderSectionTitleSlot.js +18 -0
  62. package/_internal/components/dialog/Dialog.d.ts +42 -0
  63. package/_internal/components/dialog/Dialog.js +109 -0
  64. package/_internal/components/dialog/index.d.ts +2 -0
  65. package/_internal/components/divider/Divider.d.ts +16 -0
  66. package/_internal/components/divider/Divider.js +29 -0
  67. package/_internal/components/divider/index.d.ts +1 -0
  68. package/_internal/components/drag-handle/DragHandle.d.ts +16 -0
  69. package/_internal/components/drag-handle/DragHandle.js +29 -0
  70. package/_internal/components/drag-handle/index.d.ts +1 -0
  71. package/_internal/components/expansion-panel/ExpansionPanel.d.ts +34 -0
  72. package/_internal/components/expansion-panel/ExpansionPanel.js +86 -0
  73. package/_internal/components/expansion-panel/index.d.ts +1 -0
  74. package/_internal/components/flag/Flag.d.ts +16 -0
  75. package/_internal/components/flag/Flag.js +30 -0
  76. package/_internal/components/flag/index.d.ts +2 -0
  77. package/_internal/components/flex-box/FlexBox.d.ts +24 -0
  78. package/_internal/components/flex-box/FlexBox.js +30 -0
  79. package/_internal/components/flex-box/index.d.ts +2 -0
  80. package/_internal/components/generic-block/GenericBlock.d.ts +59 -0
  81. package/_internal/components/generic-block/GenericBlock.js +55 -0
  82. package/_internal/components/generic-block/index.d.ts +2 -0
  83. package/_internal/components/grid-column/GridColumn.d.ts +9 -0
  84. package/_internal/components/grid-column/GridColumn.js +19 -0
  85. package/_internal/components/grid-column/index.d.ts +2 -0
  86. package/_internal/components/heading/Heading.d.ts +16 -0
  87. package/_internal/components/heading/Heading.js +36 -0
  88. package/_internal/components/heading/HeadingLevelProvider.d.ts +14 -0
  89. package/_internal/components/heading/HeadingLevelProvider.js +29 -0
  90. package/_internal/components/heading/context.js +4 -0
  91. package/_internal/components/heading/index.d.ts +4 -0
  92. package/_internal/components/heading/useHeadingLevel.d.ts +11 -0
  93. package/_internal/components/heading/useHeadingLevel.js +14 -0
  94. package/_internal/components/icon/Icon.d.ts +16 -0
  95. package/_internal/components/icon/Icon.js +27 -0
  96. package/_internal/components/icon/index.d.ts +2 -0
  97. package/_internal/components/image-block/ImageBlock.d.ts +19 -0
  98. package/_internal/components/image-block/ImageBlock.js +38 -0
  99. package/_internal/components/image-block/ImageCaption.js +30 -0
  100. package/_internal/components/image-block/index.d.ts +2 -0
  101. package/_internal/components/inline-list/InlineList.d.ts +16 -0
  102. package/_internal/components/inline-list/InlineList.js +25 -0
  103. package/_internal/components/inline-list/index.d.ts +1 -0
  104. package/_internal/components/input-helper/InputHelper.d.ts +16 -0
  105. package/_internal/components/input-helper/InputHelper.js +28 -0
  106. package/_internal/components/input-helper/index.d.ts +1 -0
  107. package/_internal/components/input-label/InputLabel.d.ts +16 -0
  108. package/_internal/components/input-label/InputLabel.js +28 -0
  109. package/_internal/components/input-label/index.d.ts +1 -0
  110. package/_internal/components/lightbox/Lightbox.d.ts +22 -0
  111. package/_internal/components/lightbox/Lightbox.js +63 -0
  112. package/_internal/components/lightbox/index.d.ts +1 -0
  113. package/_internal/components/link/Link.d.ts +20 -0
  114. package/_internal/components/link/Link.js +43 -0
  115. package/_internal/components/link/index.d.ts +1 -0
  116. package/_internal/components/link-preview/LinkPreview.d.ts +20 -0
  117. package/_internal/components/link-preview/LinkPreview.js +36 -0
  118. package/_internal/components/link-preview/index.d.ts +1 -0
  119. package/_internal/components/list/List.d.ts +16 -0
  120. package/_internal/components/list/List.js +25 -0
  121. package/_internal/components/list/ListDivider.d.ts +16 -0
  122. package/_internal/components/list/ListDivider.js +22 -0
  123. package/_internal/components/list/ListItem.d.ts +27 -0
  124. package/_internal/components/list/ListItem.js +47 -0
  125. package/_internal/components/list/ListItemAction.d.ts +27 -0
  126. package/_internal/components/list/ListItemAction.js +41 -0
  127. package/_internal/components/list/ListSection.d.ts +16 -0
  128. package/_internal/components/list/ListSection.js +30 -0
  129. package/_internal/components/list/index.d.ts +6 -0
  130. package/_internal/components/menu-button/MenuButton.d.ts +48 -0
  131. package/_internal/components/menu-button/MenuButton.js +59 -0
  132. package/_internal/components/menu-button/MenuItem.d.ts +40 -0
  133. package/_internal/components/menu-button/MenuItem.js +86 -0
  134. package/_internal/components/menu-button/MenuList.js +43 -0
  135. package/_internal/components/menu-button/MenuPopover.d.ts +8 -0
  136. package/_internal/components/menu-button/MenuPopover.js +36 -0
  137. package/_internal/components/menu-button/MenuProvider.js +49 -0
  138. package/_internal/components/menu-button/MenuTrigger.js +52 -0
  139. package/_internal/components/menu-button/context.js +15 -0
  140. package/_internal/components/menu-button/index.d.ts +3 -0
  141. package/_internal/components/menu-button/useMenuEvent.js +17 -0
  142. package/_internal/components/menu-button/useMenuOpen.js +11 -0
  143. package/_internal/components/message/Message.d.ts +22 -0
  144. package/_internal/components/message/Message.js +31 -0
  145. package/_internal/components/message/index.d.ts +1 -0
  146. package/_internal/components/mosaic/Mosaic.d.ts +28 -0
  147. package/_internal/components/mosaic/Mosaic.js +36 -0
  148. package/_internal/components/mosaic/index.d.ts +1 -0
  149. package/_internal/components/popover/Popover.d.ts +35 -0
  150. package/_internal/components/popover/Popover.js +76 -0
  151. package/_internal/components/popover/index.d.ts +3 -0
  152. package/_internal/components/popover/usePopoverStyle.js +55 -0
  153. package/_internal/components/popover-dialog/PopoverDialog.d.ts +28 -0
  154. package/_internal/components/popover-dialog/PopoverDialog.js +34 -0
  155. package/_internal/components/popover-dialog/index.d.ts +1 -0
  156. package/_internal/components/progress/ProgressCircular.d.ts +10 -0
  157. package/_internal/components/progress/ProgressCircular.js +28 -0
  158. package/_internal/components/progress/ProgressLinear.d.ts +10 -0
  159. package/_internal/components/progress/ProgressLinear.js +23 -0
  160. package/_internal/components/progress/index.d.ts +3 -0
  161. package/_internal/components/radio-button/RadioButton.d.ts +20 -0
  162. package/_internal/components/radio-button/RadioButton.js +50 -0
  163. package/_internal/components/radio-button/RadioGroup.d.ts +15 -0
  164. package/_internal/components/radio-button/RadioGroup.js +25 -0
  165. package/_internal/components/radio-button/index.d.ts +2 -0
  166. package/_internal/components/select-button/SelectButton.d.ts +172 -0
  167. package/_internal/components/select-button/SelectButton.js +164 -0
  168. package/_internal/components/select-button/index.d.ts +21 -0
  169. package/_internal/components/select-button/index.js +7 -0
  170. package/_internal/components/select-text-field/SelectTextField.d.ts +122 -0
  171. package/_internal/components/select-text-field/SelectTextField.js +195 -0
  172. package/_internal/components/select-text-field/index.d.ts +51 -0
  173. package/_internal/components/select-text-field/index.js +19 -0
  174. package/_internal/components/skeleton/SkeletonCircle.d.ts +15 -0
  175. package/_internal/components/skeleton/SkeletonCircle.js +29 -0
  176. package/_internal/components/skeleton/SkeletonRectangle.d.ts +15 -0
  177. package/_internal/components/skeleton/SkeletonRectangle.js +29 -0
  178. package/_internal/components/skeleton/SkeletonTypography.d.ts +15 -0
  179. package/_internal/components/skeleton/SkeletonTypography.js +29 -0
  180. package/_internal/components/skeleton/index.d.ts +4 -0
  181. package/_internal/components/switch/Switch.d.ts +20 -0
  182. package/_internal/components/switch/Switch.js +50 -0
  183. package/_internal/components/switch/index.d.ts +1 -0
  184. package/_internal/components/table/Table.d.ts +10 -0
  185. package/_internal/components/table/Table.js +24 -0
  186. package/_internal/components/table/TableBody.d.ts +10 -0
  187. package/_internal/components/table/TableBody.js +21 -0
  188. package/_internal/components/table/TableCell.d.ts +17 -0
  189. package/_internal/components/table/TableCell.js +28 -0
  190. package/_internal/components/table/TableHeader.d.ts +10 -0
  191. package/_internal/components/table/TableHeader.js +21 -0
  192. package/_internal/components/table/TableRow.d.ts +14 -0
  193. package/_internal/components/table/TableRow.js +28 -0
  194. package/_internal/components/table/index.d.ts +6 -0
  195. package/_internal/components/tabs/Tab.d.ts +16 -0
  196. package/_internal/components/tabs/Tab.js +52 -0
  197. package/_internal/components/tabs/TabList.d.ts +22 -0
  198. package/_internal/components/tabs/TabList.js +42 -0
  199. package/_internal/components/tabs/TabPanel.d.ts +18 -0
  200. package/_internal/components/tabs/TabPanel.js +36 -0
  201. package/_internal/components/tabs/TabProvider.d.ts +25 -0
  202. package/_internal/components/tabs/TabProvider.js +60 -0
  203. package/_internal/components/tabs/index.d.ts +5 -0
  204. package/_internal/components/tabs/state.js +53 -0
  205. package/_internal/components/text/Text.d.ts +16 -0
  206. package/_internal/components/text/Text.js +50 -0
  207. package/_internal/components/text/index.d.ts +1 -0
  208. package/_internal/components/text-field/RawInputText.d.ts +27 -0
  209. package/_internal/components/text-field/RawInputText.js +55 -0
  210. package/_internal/components/text-field/RawInputTextarea.d.ts +27 -0
  211. package/_internal/components/text-field/RawInputTextarea.js +59 -0
  212. package/_internal/components/text-field/TextField.d.ts +52 -0
  213. package/_internal/components/text-field/TextField.js +123 -0
  214. package/_internal/components/text-field/index.d.ts +3 -0
  215. package/_internal/components/text-field/useFitRowsToContent.js +25 -0
  216. package/_internal/components/thumbnail/Thumbnail.d.ts +29 -0
  217. package/_internal/components/thumbnail/Thumbnail.js +89 -0
  218. package/_internal/components/thumbnail/index.d.ts +2 -0
  219. package/_internal/components/thumbnail/useFocusPointStyle.js +50 -0
  220. package/_internal/components/thumbnail/useImageLoad.js +38 -0
  221. package/_internal/components/time-picker-field/TimePickerField.d.ts +37 -0
  222. package/_internal/components/time-picker-field/TimePickerField.js +104 -0
  223. package/_internal/components/time-picker-field/index.d.ts +2 -0
  224. package/_internal/components/toolbar/Toolbar.d.ts +10 -0
  225. package/_internal/components/toolbar/Toolbar.js +23 -0
  226. package/_internal/components/toolbar/index.d.ts +2 -0
  227. package/_internal/components/tooltip/Tooltip.d.ts +18 -0
  228. package/_internal/components/tooltip/Tooltip.js +77 -0
  229. package/_internal/components/tooltip/context.js +20 -0
  230. package/_internal/components/tooltip/index.d.ts +2 -0
  231. package/_internal/components/tooltip/useInjectTooltipRef.js +46 -0
  232. package/_internal/components/tooltip/useTooltipOpen.js +39 -0
  233. package/_internal/components/uploader/Uploader.d.ts +30 -0
  234. package/_internal/components/uploader/Uploader.js +77 -0
  235. package/_internal/components/uploader/index.d.ts +2 -0
  236. package/_internal/components/user-block/UserBlock.d.ts +31 -0
  237. package/_internal/components/user-block/UserBlock.js +120 -0
  238. package/_internal/components/user-block/index.d.ts +2 -0
  239. package/_internal/composables/useAttrFallback.js +39 -0
  240. package/_internal/composables/useCallbackOnEscape.js +42 -0
  241. package/_internal/composables/useClassName.js +21 -0
  242. package/_internal/composables/useDisableBodyScroll.js +17 -0
  243. package/_internal/composables/useDisableStateProps.js +36 -0
  244. package/_internal/composables/useDisabledState.js +8 -0
  245. package/_internal/composables/useFocus.js +23 -0
  246. package/_internal/composables/useFocusTrap.js +38 -0
  247. package/_internal/composables/useHasEventListener.js +13 -0
  248. package/_internal/composables/useId.js +14 -0
  249. package/_internal/composables/useOverflowTooltipLabel.js +28 -0
  250. package/_internal/composables/useRestoreFocusOnClose.js +37 -0
  251. package/_internal/composables/useRovingTabIndexContainer.js +26 -0
  252. package/_internal/composables/useSlot.js +15 -0
  253. package/_internal/composables/useTransitionVisibility.js +40 -0
  254. package/_internal/composables/useWatchDisposable.js +24 -0
  255. package/_internal/node_modules/@floating-ui/core/dist/floating-ui.core.js +536 -0
  256. package/_internal/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +528 -0
  257. package/_internal/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +144 -0
  258. package/_internal/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +135 -0
  259. package/_internal/node_modules/@floating-ui/vue/dist/floating-ui.vue.js +145 -0
  260. package/_internal/node_modules/@vue/reactivity/dist/reactivity.d.ts +104 -0
  261. package/_internal/node_modules/@vue/runtime-core/dist/runtime-core.d.ts +1179 -0
  262. package/_internal/node_modules/@vue/runtime-dom/dist/runtime-dom.d.ts +90 -0
  263. package/_internal/node_modules/@vue/shared/dist/shared.d.ts +7 -0
  264. package/_internal/node_modules/@vueuse/core/dist/index.js +289 -0
  265. package/_internal/node_modules/@vueuse/shared/dist/index.js +49 -0
  266. package/_internal/node_modules/classnames/index.js +45 -0
  267. package/_internal/node_modules/lodash/_DataView.js +10 -0
  268. package/_internal/node_modules/lodash/_Hash.js +34 -0
  269. package/_internal/node_modules/lodash/_ListCache.js +34 -0
  270. package/_internal/node_modules/lodash/_Map.js +10 -0
  271. package/_internal/node_modules/lodash/_MapCache.js +34 -0
  272. package/_internal/node_modules/lodash/_Promise.js +10 -0
  273. package/_internal/node_modules/lodash/_Set.js +10 -0
  274. package/_internal/node_modules/lodash/_Symbol.js +9 -0
  275. package/_internal/node_modules/lodash/_WeakMap.js +10 -0
  276. package/_internal/node_modules/lodash/_apply.js +27 -0
  277. package/_internal/node_modules/lodash/_arrayMap.js +22 -0
  278. package/_internal/node_modules/lodash/_arrayPush.js +21 -0
  279. package/_internal/node_modules/lodash/_assignValue.js +27 -0
  280. package/_internal/node_modules/lodash/_assocIndexOf.js +23 -0
  281. package/_internal/node_modules/lodash/_baseAssignValue.js +28 -0
  282. package/_internal/node_modules/lodash/_baseFindIndex.js +24 -0
  283. package/_internal/node_modules/lodash/_baseFlatten.js +34 -0
  284. package/_internal/node_modules/lodash/_baseGet.js +25 -0
  285. package/_internal/node_modules/lodash/_baseGetTag.js +27 -0
  286. package/_internal/node_modules/lodash/_baseHasIn.js +19 -0
  287. package/_internal/node_modules/lodash/_baseIndexOf.js +24 -0
  288. package/_internal/node_modules/lodash/_baseIndexOfWith.js +23 -0
  289. package/_internal/node_modules/lodash/_baseIsArguments.js +23 -0
  290. package/_internal/node_modules/lodash/_baseIsNaN.js +18 -0
  291. package/_internal/node_modules/lodash/_baseIsNative.js +40 -0
  292. package/_internal/node_modules/lodash/_baseIsTypedArray.js +29 -0
  293. package/_internal/node_modules/lodash/_baseKeys.js +26 -0
  294. package/_internal/node_modules/lodash/_basePick.js +25 -0
  295. package/_internal/node_modules/lodash/_basePickBy.js +29 -0
  296. package/_internal/node_modules/lodash/_basePullAll.js +40 -0
  297. package/_internal/node_modules/lodash/_baseRest.js +23 -0
  298. package/_internal/node_modules/lodash/_baseSet.js +41 -0
  299. package/_internal/node_modules/lodash/_baseSetToString.js +19 -0
  300. package/_internal/node_modules/lodash/_baseSlice.js +28 -0
  301. package/_internal/node_modules/lodash/_baseToString.js +32 -0
  302. package/_internal/node_modules/lodash/_baseTrim.js +22 -0
  303. package/_internal/node_modules/lodash/_baseUnary.js +20 -0
  304. package/_internal/node_modules/lodash/_castPath.js +25 -0
  305. package/_internal/node_modules/lodash/_copyArray.js +22 -0
  306. package/_internal/node_modules/lodash/_coreJsData.js +9 -0
  307. package/_internal/node_modules/lodash/_defineProperty.js +16 -0
  308. package/_internal/node_modules/lodash/_flatRest.js +22 -0
  309. package/_internal/node_modules/lodash/_freeGlobal.js +8 -0
  310. package/_internal/node_modules/lodash/_getMapData.js +22 -0
  311. package/_internal/node_modules/lodash/_getNative.js +23 -0
  312. package/_internal/node_modules/lodash/_getRawTag.js +40 -0
  313. package/_internal/node_modules/lodash/_getTag.js +40 -0
  314. package/_internal/node_modules/lodash/_getValue.js +19 -0
  315. package/_internal/node_modules/lodash/_hasPath.js +36 -0
  316. package/_internal/node_modules/lodash/_hashClear.js +21 -0
  317. package/_internal/node_modules/lodash/_hashDelete.js +23 -0
  318. package/_internal/node_modules/lodash/_hashGet.js +31 -0
  319. package/_internal/node_modules/lodash/_hashHas.js +25 -0
  320. package/_internal/node_modules/lodash/_hashSet.js +28 -0
  321. package/_internal/node_modules/lodash/_isFlattenable.js +24 -0
  322. package/_internal/node_modules/lodash/_isIndex.js +25 -0
  323. package/_internal/node_modules/lodash/_isKey.js +27 -0
  324. package/_internal/node_modules/lodash/_isKeyable.js +19 -0
  325. package/_internal/node_modules/lodash/_isMasked.js +25 -0
  326. package/_internal/node_modules/lodash/_isPrototype.js +21 -0
  327. package/_internal/node_modules/lodash/_listCacheClear.js +19 -0
  328. package/_internal/node_modules/lodash/_listCacheDelete.js +29 -0
  329. package/_internal/node_modules/lodash/_listCacheGet.js +23 -0
  330. package/_internal/node_modules/lodash/_listCacheHas.js +22 -0
  331. package/_internal/node_modules/lodash/_listCacheSet.js +28 -0
  332. package/_internal/node_modules/lodash/_mapCacheClear.js +27 -0
  333. package/_internal/node_modules/lodash/_mapCacheDelete.js +24 -0
  334. package/_internal/node_modules/lodash/_mapCacheGet.js +22 -0
  335. package/_internal/node_modules/lodash/_mapCacheHas.js +22 -0
  336. package/_internal/node_modules/lodash/_mapCacheSet.js +26 -0
  337. package/_internal/node_modules/lodash/_memoizeCapped.js +28 -0
  338. package/_internal/node_modules/lodash/_nativeCreate.js +9 -0
  339. package/_internal/node_modules/lodash/_nativeKeys.js +9 -0
  340. package/_internal/node_modules/lodash/_nodeUtil.js +22 -0
  341. package/_internal/node_modules/lodash/_objectToString.js +24 -0
  342. package/_internal/node_modules/lodash/_overArg.js +21 -0
  343. package/_internal/node_modules/lodash/_overRest.js +32 -0
  344. package/_internal/node_modules/lodash/_root.js +12 -0
  345. package/_internal/node_modules/lodash/_setToString.js +11 -0
  346. package/_internal/node_modules/lodash/_shortOut.js +31 -0
  347. package/_internal/node_modules/lodash/_strictIndexOf.js +23 -0
  348. package/_internal/node_modules/lodash/_stringToPath.js +21 -0
  349. package/_internal/node_modules/lodash/_toKey.js +24 -0
  350. package/_internal/node_modules/lodash/_toSource.js +28 -0
  351. package/_internal/node_modules/lodash/_trimmedEndIndex.js +23 -0
  352. package/_internal/node_modules/lodash/castArray.js +48 -0
  353. package/_internal/node_modules/lodash/constant.js +32 -0
  354. package/_internal/node_modules/lodash/eq.js +43 -0
  355. package/_internal/node_modules/lodash/flatten.js +27 -0
  356. package/_internal/node_modules/lodash/hasIn.js +40 -0
  357. package/_internal/node_modules/lodash/identity.js +27 -0
  358. package/_internal/node_modules/lodash/isArguments.js +21 -0
  359. package/_internal/node_modules/lodash/isArray.js +8 -0
  360. package/_internal/node_modules/lodash/isArrayLike.js +39 -0
  361. package/_internal/node_modules/lodash/isBuffer.js +17 -0
  362. package/_internal/node_modules/lodash/isEmpty.js +63 -0
  363. package/_internal/node_modules/lodash/isFunction.js +35 -0
  364. package/_internal/node_modules/lodash/isInteger.js +39 -0
  365. package/_internal/node_modules/lodash/isLength.js +39 -0
  366. package/_internal/node_modules/lodash/isObject.js +37 -0
  367. package/_internal/node_modules/lodash/isObjectLike.js +35 -0
  368. package/_internal/node_modules/lodash/isSymbol.js +33 -0
  369. package/_internal/node_modules/lodash/isTypedArray.js +13 -0
  370. package/_internal/node_modules/lodash/last.js +26 -0
  371. package/_internal/node_modules/lodash/memoize.js +69 -0
  372. package/_internal/node_modules/lodash/pick.js +13 -0
  373. package/_internal/node_modules/lodash/pull.js +10 -0
  374. package/_internal/node_modules/lodash/pullAll.js +33 -0
  375. package/_internal/node_modules/lodash/set.js +41 -0
  376. package/_internal/node_modules/lodash/stubFalse.js +24 -0
  377. package/_internal/node_modules/lodash/take.js +41 -0
  378. package/_internal/node_modules/lodash/toFinite.js +41 -0
  379. package/_internal/node_modules/lodash/toInteger.js +40 -0
  380. package/_internal/node_modules/lodash/toNumber.js +57 -0
  381. package/_internal/node_modules/lodash/toString.js +34 -0
  382. package/_internal/node_modules/vue/jsx-runtime/index.d.ts +1 -0
  383. package/_internal/node_modules/vue-demi/lib/index.js +34 -0
  384. package/_internal/packages/lumx-core/src/js/components/AlertDialog/index.d.ts +15 -0
  385. package/_internal/packages/lumx-core/src/js/components/AlertDialog/index.js +107 -0
  386. package/_internal/packages/lumx-core/src/js/components/Avatar/index.d.ts +27 -0
  387. package/_internal/packages/lumx-core/src/js/components/Avatar/index.js +29 -0
  388. package/_internal/packages/lumx-core/src/js/components/Badge/BadgeWrapper.d.ts +14 -0
  389. package/_internal/packages/lumx-core/src/js/components/Badge/BadgeWrapper.js +12 -0
  390. package/_internal/packages/lumx-core/src/js/components/Badge/index.d.ts +18 -0
  391. package/_internal/packages/lumx-core/src/js/components/Badge/index.js +36 -0
  392. package/_internal/packages/lumx-core/src/js/components/Button/Button.d.ts +19 -0
  393. package/_internal/packages/lumx-core/src/js/components/Button/Button.js +49 -0
  394. package/_internal/packages/lumx-core/src/js/components/Button/ButtonGroup.d.ts +17 -0
  395. package/_internal/packages/lumx-core/src/js/components/Button/ButtonGroup.js +33 -0
  396. package/_internal/packages/lumx-core/src/js/components/Button/ButtonRoot.d.ts +46 -0
  397. package/_internal/packages/lumx-core/src/js/components/Button/ButtonRoot.js +77 -0
  398. package/_internal/packages/lumx-core/src/js/components/Button/IconButton.d.ts +24 -0
  399. package/_internal/packages/lumx-core/src/js/components/Button/IconButton.js +46 -0
  400. package/_internal/packages/lumx-core/src/js/components/Checkbox/index.d.ts +35 -0
  401. package/_internal/packages/lumx-core/src/js/components/Checkbox/index.js +60 -0
  402. package/_internal/packages/lumx-core/src/js/components/Chip/ChipGroup.d.ts +21 -0
  403. package/_internal/packages/lumx-core/src/js/components/Chip/ChipGroup.js +19 -0
  404. package/_internal/packages/lumx-core/src/js/components/Chip/SelectionChipGroup.d.ts +29 -0
  405. package/_internal/packages/lumx-core/src/js/components/Chip/SelectionChipGroup.js +66 -0
  406. package/_internal/packages/lumx-core/src/js/components/Chip/index.d.ts +63 -0
  407. package/_internal/packages/lumx-core/src/js/components/Chip/index.js +65 -0
  408. package/_internal/packages/lumx-core/src/js/components/Chip/setupSelectionChipGroupEvents.js +97 -0
  409. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxButton.d.ts +34 -0
  410. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxButton.js +58 -0
  411. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxInput.d.ts +34 -0
  412. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxInput.js +47 -0
  413. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxList.d.ts +36 -0
  414. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxList.js +30 -0
  415. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxOption.d.ts +53 -0
  416. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxOption.js +75 -0
  417. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxOptionAction.d.ts +20 -0
  418. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxOptionAction.js +29 -0
  419. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxOptionMoreInfo.d.ts +29 -0
  420. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxOptionMoreInfo.js +60 -0
  421. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxOptionSkeleton.d.ts +32 -0
  422. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxOptionSkeleton.js +40 -0
  423. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxPopover.d.ts +16 -0
  424. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxPopover.js +52 -0
  425. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxSection.d.ts +36 -0
  426. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxSection.js +43 -0
  427. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxState.d.ts +64 -0
  428. package/_internal/packages/lumx-core/src/js/components/Combobox/ComboboxState.js +85 -0
  429. package/_internal/packages/lumx-core/src/js/components/Combobox/constants.js +4 -0
  430. package/_internal/packages/lumx-core/src/js/components/Combobox/setupCombobox.js +350 -0
  431. package/_internal/packages/lumx-core/src/js/components/Combobox/setupComboboxButton.js +84 -0
  432. package/_internal/packages/lumx-core/src/js/components/Combobox/setupComboboxInput.js +95 -0
  433. package/_internal/packages/lumx-core/src/js/components/Combobox/setupListbox.js +84 -0
  434. package/_internal/packages/lumx-core/src/js/components/Combobox/subscribeComboboxState.js +43 -0
  435. package/_internal/packages/lumx-core/src/js/components/Combobox/types.d.ts +142 -0
  436. package/_internal/packages/lumx-core/src/js/components/Combobox/utils.js +63 -0
  437. package/_internal/packages/lumx-core/src/js/components/Dialog/index.d.ts +20 -0
  438. package/_internal/packages/lumx-core/src/js/components/Dialog/index.js +59 -0
  439. package/_internal/packages/lumx-core/src/js/components/Divider/index.d.ts +13 -0
  440. package/_internal/packages/lumx-core/src/js/components/Divider/index.js +21 -0
  441. package/_internal/packages/lumx-core/src/js/components/DragHandle/index.d.ts +13 -0
  442. package/_internal/packages/lumx-core/src/js/components/DragHandle/index.js +28 -0
  443. package/_internal/packages/lumx-core/src/js/components/ExpansionPanel/index.d.ts +51 -0
  444. package/_internal/packages/lumx-core/src/js/components/ExpansionPanel/index.js +63 -0
  445. package/_internal/packages/lumx-core/src/js/components/Flag/index.d.ts +24 -0
  446. package/_internal/packages/lumx-core/src/js/components/Flag/index.js +36 -0
  447. package/_internal/packages/lumx-core/src/js/components/FlexBox/index.d.ts +34 -0
  448. package/_internal/packages/lumx-core/src/js/components/FlexBox/index.js +37 -0
  449. package/_internal/packages/lumx-core/src/js/components/FlexBox/types.d.ts +9 -0
  450. package/_internal/packages/lumx-core/src/js/components/GenericBlock/constants.d.ts +22 -0
  451. package/_internal/packages/lumx-core/src/js/components/GenericBlock/constants.js +15 -0
  452. package/_internal/packages/lumx-core/src/js/components/GenericBlock/index.d.ts +60 -0
  453. package/_internal/packages/lumx-core/src/js/components/GenericBlock/index.js +45 -0
  454. package/_internal/packages/lumx-core/src/js/components/GridColumn/GridColumn.d.ts +27 -0
  455. package/_internal/packages/lumx-core/src/js/components/GridColumn/GridColumn.js +50 -0
  456. package/_internal/packages/lumx-core/src/js/components/GridColumn/index.d.ts +1 -0
  457. package/_internal/packages/lumx-core/src/js/components/Heading/constants.d.ts +10 -0
  458. package/_internal/packages/lumx-core/src/js/components/Heading/constants.js +19 -0
  459. package/_internal/packages/lumx-core/src/js/components/Heading/index.d.ts +14 -0
  460. package/_internal/packages/lumx-core/src/js/components/Heading/index.js +26 -0
  461. package/_internal/packages/lumx-core/src/js/components/Heading/utils.js +14 -0
  462. package/_internal/packages/lumx-core/src/js/components/Icon/constants.d.ts +4 -0
  463. package/_internal/packages/lumx-core/src/js/components/Icon/index.d.ts +34 -0
  464. package/_internal/packages/lumx-core/src/js/components/Icon/index.js +63 -0
  465. package/_internal/packages/lumx-core/src/js/components/ImageBlock/ImageCaption.d.ts +19 -0
  466. package/_internal/packages/lumx-core/src/js/components/ImageBlock/ImageCaption.js +52 -0
  467. package/_internal/packages/lumx-core/src/js/components/ImageBlock/index.d.ts +52 -0
  468. package/_internal/packages/lumx-core/src/js/components/ImageBlock/index.js +67 -0
  469. package/_internal/packages/lumx-core/src/js/components/InlineList/index.d.ts +34 -0
  470. package/_internal/packages/lumx-core/src/js/components/InlineList/index.js +48 -0
  471. package/_internal/packages/lumx-core/src/js/components/InputHelper/constants.js +9 -0
  472. package/_internal/packages/lumx-core/src/js/components/InputHelper/index.d.ts +21 -0
  473. package/_internal/packages/lumx-core/src/js/components/InputHelper/index.js +32 -0
  474. package/_internal/packages/lumx-core/src/js/components/InputLabel/index.d.ts +24 -0
  475. package/_internal/packages/lumx-core/src/js/components/InputLabel/index.js +31 -0
  476. package/_internal/packages/lumx-core/src/js/components/Lightbox/index.d.ts +14 -0
  477. package/_internal/packages/lumx-core/src/js/components/Lightbox/index.js +46 -0
  478. package/_internal/packages/lumx-core/src/js/components/Link/index.d.ts +34 -0
  479. package/_internal/packages/lumx-core/src/js/components/Link/index.js +36 -0
  480. package/_internal/packages/lumx-core/src/js/components/LinkPreview/index.d.ts +35 -0
  481. package/_internal/packages/lumx-core/src/js/components/LinkPreview/index.js +64 -0
  482. package/_internal/packages/lumx-core/src/js/components/List/ListDivider.d.ts +12 -0
  483. package/_internal/packages/lumx-core/src/js/components/List/ListDivider.js +37 -0
  484. package/_internal/packages/lumx-core/src/js/components/List/ListItem.d.ts +40 -0
  485. package/_internal/packages/lumx-core/src/js/components/List/ListItem.js +56 -0
  486. package/_internal/packages/lumx-core/src/js/components/List/ListItemAction.js +27 -0
  487. package/_internal/packages/lumx-core/src/js/components/List/ListSection.d.ts +27 -0
  488. package/_internal/packages/lumx-core/src/js/components/List/ListSection.js +46 -0
  489. package/_internal/packages/lumx-core/src/js/components/List/index.d.ts +20 -0
  490. package/_internal/packages/lumx-core/src/js/components/List/index.js +39 -0
  491. package/_internal/packages/lumx-core/src/js/components/Menu/MenuButton.d.ts +28 -0
  492. package/_internal/packages/lumx-core/src/js/components/Menu/MenuButton.js +21 -0
  493. package/_internal/packages/lumx-core/src/js/components/Menu/MenuItem.d.ts +27 -0
  494. package/_internal/packages/lumx-core/src/js/components/Menu/MenuItem.js +33 -0
  495. package/_internal/packages/lumx-core/src/js/components/Menu/MenuList.js +19 -0
  496. package/_internal/packages/lumx-core/src/js/components/Menu/MenuPopover.d.ts +12 -0
  497. package/_internal/packages/lumx-core/src/js/components/Menu/MenuPopover.js +33 -0
  498. package/_internal/packages/lumx-core/src/js/components/Menu/MenuTrigger.js +21 -0
  499. package/_internal/packages/lumx-core/src/js/components/Menu/setupMenu.js +256 -0
  500. package/_internal/packages/lumx-core/src/js/components/Menu/utils.js +16 -0
  501. package/_internal/packages/lumx-core/src/js/components/Message/index.d.ts +31 -0
  502. package/_internal/packages/lumx-core/src/js/components/Message/index.js +83 -0
  503. package/_internal/packages/lumx-core/src/js/components/Mosaic/index.d.ts +18 -0
  504. package/_internal/packages/lumx-core/src/js/components/Mosaic/index.js +48 -0
  505. package/_internal/packages/lumx-core/src/js/components/Popover/constants.d.ts +39 -0
  506. package/_internal/packages/lumx-core/src/js/components/Popover/constants.js +37 -0
  507. package/_internal/packages/lumx-core/src/js/components/Popover/index.d.ts +65 -0
  508. package/_internal/packages/lumx-core/src/js/components/Popover/index.js +71 -0
  509. package/_internal/packages/lumx-core/src/js/components/Popover/types.d.ts +39 -0
  510. package/_internal/packages/lumx-core/src/js/components/Popover/utils/buildPopoverMiddleware.js +53 -0
  511. package/_internal/packages/lumx-core/src/js/components/Popover/utils/computeArrowStyles.js +13 -0
  512. package/_internal/packages/lumx-core/src/js/components/Popover/utils/getFloatingPlacement.js +10 -0
  513. package/_internal/packages/lumx-core/src/js/components/Popover/utils/parseAutoPlacement.js +21 -0
  514. package/_internal/packages/lumx-core/src/js/components/Popover/utils/parseFitWidth.js +12 -0
  515. package/_internal/packages/lumx-core/src/js/components/PopoverDialog/index.d.ts +13 -0
  516. package/_internal/packages/lumx-core/src/js/components/PopoverDialog/index.js +15 -0
  517. package/_internal/packages/lumx-core/src/js/components/ProgressCircular/index.d.ts +32 -0
  518. package/_internal/packages/lumx-core/src/js/components/ProgressCircular/index.js +43 -0
  519. package/_internal/packages/lumx-core/src/js/components/ProgressLinear/index.d.ts +13 -0
  520. package/_internal/packages/lumx-core/src/js/components/ProgressLinear/index.js +21 -0
  521. package/_internal/packages/lumx-core/src/js/components/RadioButton/index.d.ts +35 -0
  522. package/_internal/packages/lumx-core/src/js/components/RadioButton/index.js +51 -0
  523. package/_internal/packages/lumx-core/src/js/components/RadioGroup/index.d.ts +1 -0
  524. package/_internal/packages/lumx-core/src/js/components/RadioGroup/index.js +33 -0
  525. package/_internal/packages/lumx-core/src/js/components/RawClickable/index.d.ts +14 -0
  526. package/_internal/packages/lumx-core/src/js/components/RawClickable/index.js +33 -0
  527. package/_internal/packages/lumx-core/src/js/components/SelectButton/index.d.ts +58 -0
  528. package/_internal/packages/lumx-core/src/js/components/SelectButton/index.js +85 -0
  529. package/_internal/packages/lumx-core/src/js/components/SelectTextField/index.js +70 -0
  530. package/_internal/packages/lumx-core/src/js/components/Skeleton/SkeletonCircle.d.ts +18 -0
  531. package/_internal/packages/lumx-core/src/js/components/Skeleton/SkeletonCircle.js +25 -0
  532. package/_internal/packages/lumx-core/src/js/components/Skeleton/SkeletonRectangle.d.ts +34 -0
  533. package/_internal/packages/lumx-core/src/js/components/Skeleton/SkeletonRectangle.js +40 -0
  534. package/_internal/packages/lumx-core/src/js/components/Skeleton/SkeletonTypography.d.ts +24 -0
  535. package/_internal/packages/lumx-core/src/js/components/Skeleton/SkeletonTypography.js +31 -0
  536. package/_internal/packages/lumx-core/src/js/components/Skeleton/index.d.ts +3 -0
  537. package/_internal/packages/lumx-core/src/js/components/Switch/index.d.ts +37 -0
  538. package/_internal/packages/lumx-core/src/js/components/Switch/index.js +58 -0
  539. package/_internal/packages/lumx-core/src/js/components/Table/TableBody.d.ts +15 -0
  540. package/_internal/packages/lumx-core/src/js/components/Table/TableBody.js +20 -0
  541. package/_internal/packages/lumx-core/src/js/components/Table/TableCell.d.ts +42 -0
  542. package/_internal/packages/lumx-core/src/js/components/Table/TableCell.js +79 -0
  543. package/_internal/packages/lumx-core/src/js/components/Table/TableHeader.d.ts +15 -0
  544. package/_internal/packages/lumx-core/src/js/components/Table/TableHeader.js +20 -0
  545. package/_internal/packages/lumx-core/src/js/components/Table/TableRow.d.ts +22 -0
  546. package/_internal/packages/lumx-core/src/js/components/Table/TableRow.js +25 -0
  547. package/_internal/packages/lumx-core/src/js/components/Table/constants.d.ts +1 -0
  548. package/_internal/packages/lumx-core/src/js/components/Table/constants.js +7 -0
  549. package/_internal/packages/lumx-core/src/js/components/Table/index.d.ts +20 -0
  550. package/_internal/packages/lumx-core/src/js/components/Table/index.js +22 -0
  551. package/_internal/packages/lumx-core/src/js/components/Tabs/Tab.d.ts +54 -0
  552. package/_internal/packages/lumx-core/src/js/components/Tabs/Tab.js +66 -0
  553. package/_internal/packages/lumx-core/src/js/components/Tabs/TabList.d.ts +27 -0
  554. package/_internal/packages/lumx-core/src/js/components/Tabs/TabList.js +42 -0
  555. package/_internal/packages/lumx-core/src/js/components/Tabs/TabPanel.d.ts +26 -0
  556. package/_internal/packages/lumx-core/src/js/components/Tabs/TabPanel.js +28 -0
  557. package/_internal/packages/lumx-core/src/js/components/Tabs/constants.js +7 -0
  558. package/_internal/packages/lumx-core/src/js/components/Tabs/state.js +53 -0
  559. package/_internal/packages/lumx-core/src/js/components/Text/index.d.ts +55 -0
  560. package/_internal/packages/lumx-core/src/js/components/Text/index.js +37 -0
  561. package/_internal/packages/lumx-core/src/js/components/TextField/RawInputText.d.ts +21 -0
  562. package/_internal/packages/lumx-core/src/js/components/TextField/RawInputText.js +42 -0
  563. package/_internal/packages/lumx-core/src/js/components/TextField/RawInputTextarea.d.ts +19 -0
  564. package/_internal/packages/lumx-core/src/js/components/TextField/RawInputTextarea.js +42 -0
  565. package/_internal/packages/lumx-core/src/js/components/TextField/TextField.d.ts +70 -0
  566. package/_internal/packages/lumx-core/src/js/components/TextField/TextField.js +127 -0
  567. package/_internal/packages/lumx-core/src/js/components/TextField/constants.d.ts +1 -0
  568. package/_internal/packages/lumx-core/src/js/components/TextField/constants.js +11 -0
  569. package/_internal/packages/lumx-core/src/js/components/Thumbnail/index.d.ts +60 -0
  570. package/_internal/packages/lumx-core/src/js/components/Thumbnail/index.js +99 -0
  571. package/_internal/packages/lumx-core/src/js/components/Thumbnail/types.d.ts +47 -0
  572. package/_internal/packages/lumx-core/src/js/components/Thumbnail/types.js +18 -0
  573. package/_internal/packages/lumx-core/src/js/components/Thumbnail/utils.d.ts +1 -0
  574. package/_internal/packages/lumx-core/src/js/components/Thumbnail/utils.js +76 -0
  575. package/_internal/packages/lumx-core/src/js/components/TimePickerField/index.d.ts +61 -0
  576. package/_internal/packages/lumx-core/src/js/components/TimePickerField/index.js +72 -0
  577. package/_internal/packages/lumx-core/src/js/components/Toolbar/index.d.ts +23 -0
  578. package/_internal/packages/lumx-core/src/js/components/Toolbar/index.js +36 -0
  579. package/_internal/packages/lumx-core/src/js/components/Tooltip/constants.d.ts +4 -0
  580. package/_internal/packages/lumx-core/src/js/components/Tooltip/constants.js +8 -0
  581. package/_internal/packages/lumx-core/src/js/components/Tooltip/index.d.ts +25 -0
  582. package/_internal/packages/lumx-core/src/js/components/Tooltip/index.js +56 -0
  583. package/_internal/packages/lumx-core/src/js/components/Tooltip/tooltipOpenManager.js +93 -0
  584. package/_internal/packages/lumx-core/src/js/components/Uploader/index.d.ts +59 -0
  585. package/_internal/packages/lumx-core/src/js/components/Uploader/index.js +64 -0
  586. package/_internal/packages/lumx-core/src/js/components/UserBlock/index.d.ts +124 -0
  587. package/_internal/packages/lumx-core/src/js/components/UserBlock/index.js +88 -0
  588. package/_internal/packages/lumx-core/src/js/constants/browser/index.js +7 -0
  589. package/_internal/packages/lumx-core/src/js/constants/components/index.js +19 -0
  590. package/_internal/packages/lumx-core/src/js/constants/enums/index.d.ts +184 -0
  591. package/_internal/packages/lumx-core/src/js/constants/enums/index.js +140 -0
  592. package/_internal/packages/lumx-core/src/js/constants/index.d.ts +1 -0
  593. package/_internal/packages/lumx-core/src/js/types/AriaAttributes.d.ts +32 -0
  594. package/_internal/packages/lumx-core/src/js/types/Booleanish.d.ts +4 -0
  595. package/_internal/packages/lumx-core/src/js/types/CommonRef.d.ts +4 -0
  596. package/_internal/packages/lumx-core/src/js/types/GenericProps.d.ts +14 -0
  597. package/_internal/packages/lumx-core/src/js/types/HasAriaDisabled.d.ts +9 -0
  598. package/_internal/packages/lumx-core/src/js/types/HasAriaLabelOrLabelledBy.d.ts +19 -0
  599. package/_internal/packages/lumx-core/src/js/types/HasChecked.d.ts +9 -0
  600. package/_internal/packages/lumx-core/src/js/types/HasClassName.d.ts +9 -0
  601. package/_internal/packages/lumx-core/src/js/types/HasCloseMode.d.ts +10 -0
  602. package/_internal/packages/lumx-core/src/js/types/HasDisabled.d.ts +9 -0
  603. package/_internal/packages/lumx-core/src/js/types/HasPolymorphicAs.d.ts +12 -0
  604. package/_internal/packages/lumx-core/src/js/types/HasRequiredLinkHref.d.ts +6 -0
  605. package/_internal/packages/lumx-core/src/js/types/HasTheme.d.ts +10 -0
  606. package/_internal/packages/lumx-core/src/js/types/HeadingElement.d.ts +5 -0
  607. package/_internal/packages/lumx-core/src/js/types/JSXElement.d.ts +13 -0
  608. package/_internal/packages/lumx-core/src/js/types/Selector.d.ts +11 -0
  609. package/_internal/packages/lumx-core/src/js/types/TextElement.d.ts +7 -0
  610. package/_internal/packages/lumx-core/src/js/types/ValueOf.d.ts +5 -0
  611. package/_internal/packages/lumx-core/src/js/types/index.d.ts +17 -0
  612. package/_internal/packages/lumx-core/src/js/utils/ClickAway/index.d.ts +7 -0
  613. package/_internal/packages/lumx-core/src/js/utils/ClickAway/index.js +37 -0
  614. package/_internal/packages/lumx-core/src/js/utils/InfiniteScroll/index.d.ts +9 -0
  615. package/_internal/packages/lumx-core/src/js/utils/InfiniteScroll/index.js +21 -0
  616. package/_internal/packages/lumx-core/src/js/utils/InfiniteScroll/setupInfiniteScrollObserver.js +18 -0
  617. package/_internal/packages/lumx-core/src/js/utils/Portal/index.d.ts +28 -0
  618. package/_internal/packages/lumx-core/src/js/utils/_internal/color/resolveColorWithVariants.js +9 -0
  619. package/_internal/packages/lumx-core/src/js/utils/browser/createSelectorTreeWalker.js +20 -0
  620. package/_internal/packages/lumx-core/src/js/utils/browser/css/combineSize.js +14 -0
  621. package/_internal/packages/lumx-core/src/js/utils/browser/css/resolveCssSize.js +8 -0
  622. package/_internal/packages/lumx-core/src/js/utils/browser/css/types.d.ts +7 -0
  623. package/_internal/packages/lumx-core/src/js/utils/browser/isFocusVisible.js +11 -0
  624. package/_internal/packages/lumx-core/src/js/utils/browser/isHoverNotSupported.js +5 -0
  625. package/_internal/packages/lumx-core/src/js/utils/browser/isPrintableKey.js +12 -0
  626. package/_internal/packages/lumx-core/src/js/utils/browser/lastDescendant.js +9 -0
  627. package/_internal/packages/lumx-core/src/js/utils/browser/querySelectorInclusive.js +18 -0
  628. package/_internal/packages/lumx-core/src/js/utils/browser/trackContainerFocus.js +28 -0
  629. package/_internal/packages/lumx-core/src/js/utils/classNames/action-area/index.js +22 -0
  630. package/_internal/packages/lumx-core/src/js/utils/classNames/bem/block.js +18 -0
  631. package/_internal/packages/lumx-core/src/js/utils/classNames/bem/element.js +7 -0
  632. package/_internal/packages/lumx-core/src/js/utils/classNames/bem/index.js +22 -0
  633. package/_internal/packages/lumx-core/src/js/utils/classNames/bem/modifier.js +19 -0
  634. package/_internal/packages/lumx-core/src/js/utils/classNames/color/index.js +38 -0
  635. package/_internal/packages/lumx-core/src/js/utils/classNames/index.js +12 -0
  636. package/_internal/packages/lumx-core/src/js/utils/classNames/spacing/index.js +31 -0
  637. package/_internal/packages/lumx-core/src/js/utils/classNames/typography/index.js +10 -0
  638. package/_internal/packages/lumx-core/src/js/utils/classNames/visually-hidden/index.js +9 -0
  639. package/_internal/packages/lumx-core/src/js/utils/disabledState/index.js +13 -0
  640. package/_internal/packages/lumx-core/src/js/utils/events/keyboard.js +27 -0
  641. package/_internal/packages/lumx-core/src/js/utils/focus/constants.js +13 -0
  642. package/_internal/packages/lumx-core/src/js/utils/focus/getFirstAndLastFocusable.js +20 -0
  643. package/_internal/packages/lumx-core/src/js/utils/focus/getFocusableElements.js +8 -0
  644. package/_internal/packages/lumx-core/src/js/utils/focus/setupFocusTrap.js +83 -0
  645. package/_internal/packages/lumx-core/src/js/utils/focusNavigation/createActiveItemState.js +38 -0
  646. package/_internal/packages/lumx-core/src/js/utils/focusNavigation/createGridFocusNavigation.js +182 -0
  647. package/_internal/packages/lumx-core/src/js/utils/focusNavigation/createListFocusNavigation.js +151 -0
  648. package/_internal/packages/lumx-core/src/js/utils/focusNavigation/createPendingNavigation.js +23 -0
  649. package/_internal/packages/lumx-core/src/js/utils/focusNavigation/setupRovingTabIndex.js +167 -0
  650. package/_internal/packages/lumx-core/src/js/utils/focusNavigation/types.d.ts +40 -0
  651. package/_internal/packages/lumx-core/src/js/utils/function/listenerTower.js +28 -0
  652. package/_internal/packages/lumx-core/src/js/utils/iterable/first.js +8 -0
  653. package/_internal/packages/lumx-core/src/js/utils/locale/getCurrentLocale.js +10 -0
  654. package/_internal/packages/lumx-core/src/js/utils/select/findOptionById.js +19 -0
  655. package/_internal/packages/lumx-core/src/js/utils/select/getOptionDisplayName.js +19 -0
  656. package/_internal/packages/lumx-core/src/js/utils/select/renderSelectOptions.js +55 -0
  657. package/_internal/packages/lumx-core/src/js/utils/select/toggleSelection.js +39 -0
  658. package/_internal/packages/lumx-core/src/js/utils/select/types.d.ts +224 -0
  659. package/_internal/packages/lumx-core/src/js/utils/selectors/getWithSelector.js +9 -0
  660. package/_internal/packages/lumx-core/src/js/utils/selectors/groupBySelector.js +21 -0
  661. package/_internal/packages/lumx-core/src/js/utils/time/buildTimeList.js +36 -0
  662. package/_internal/packages/lumx-core/src/js/utils/time/formatTime.js +14 -0
  663. package/_internal/packages/lumx-core/src/js/utils/time/getDateAtTime.js +12 -0
  664. package/_internal/packages/lumx-core/src/js/utils/time/isDateOnTime.js +10 -0
  665. package/_internal/packages/lumx-core/src/js/utils/time/parseTimeInput.js +46 -0
  666. package/_internal/packages/lumx-core/src/js/utils/time/snapTimeToBounds.js +21 -0
  667. package/_internal/packages/lumx-core/src/js/utils/time/timeOfDayMinutes.js +9 -0
  668. package/_internal/packages/lumx-core/src/js/utils/typeahead/index.js +77 -0
  669. package/_internal/utils/ClickAway/ClickAwayProvider.d.ts +19 -0
  670. package/_internal/utils/ClickAway/ClickAwayProvider.js +58 -0
  671. package/_internal/utils/ClickAway/index.d.ts +2 -0
  672. package/_internal/utils/ClickAway/useClickAway.d.ts +25 -0
  673. package/_internal/utils/ClickAway/useClickAway.js +25 -0
  674. package/_internal/utils/InfiniteScroll/InfiniteScroll.d.ts +9 -0
  675. package/_internal/utils/InfiniteScroll/InfiniteScroll.js +23 -0
  676. package/_internal/utils/InfiniteScroll/index.d.ts +2 -0
  677. package/_internal/utils/Portal/Portal.d.ts +10 -0
  678. package/_internal/utils/Portal/Portal.js +37 -0
  679. package/_internal/utils/Portal/PortalProvider.d.ts +8 -0
  680. package/_internal/utils/Portal/PortalProvider.js +19 -0
  681. package/_internal/utils/Portal/index.d.ts +3 -0
  682. package/_internal/utils/VueToJSX.d.ts +38 -0
  683. package/_internal/utils/VueToJSX.js +11 -0
  684. package/_internal/utils/isComponentType.js +9 -0
  685. package/_internal/utils/theme/ResetTheme.js +11 -0
  686. package/_internal/utils/theme/ThemeProvider.d.ts +14 -0
  687. package/_internal/utils/theme/ThemeProvider.js +18 -0
  688. package/_internal/utils/theme/index.d.ts +2 -0
  689. package/_internal/utils/theme/useTheme.d.ts +14 -0
  690. package/_internal/utils/theme/useTheme.js +14 -0
  691. package/_internal/utils/wrapChildrenIconWithSpaces.js +37 -0
  692. package/index.d.ts +114 -48
  693. package/index.js +83 -11708
  694. package/package.json +6 -9
  695. package/utils/index.d.ts +10 -7
  696. package/utils/index.js +8 -24
  697. package/_internal/CHaqSUjw.js +0 -159
  698. package/_internal/CHaqSUjw.js.map +0 -1
  699. package/components/alert-dialog/AlertDialog.d.ts +0 -45
  700. package/components/alert-dialog/AlertDialog.stories.d.ts +0 -104
  701. package/components/alert-dialog/index.d.ts +0 -1
  702. package/components/avatar/Avatar.d.ts +0 -42
  703. package/components/avatar/Avatar.stories.d.ts +0 -146
  704. package/components/avatar/index.d.ts +0 -1
  705. package/components/badge/Badge.d.ts +0 -13
  706. package/components/badge/Badge.stories.d.ts +0 -34
  707. package/components/badge/BadgeWrapper.d.ts +0 -8
  708. package/components/badge/BadgeWrapper.stories.d.ts +0 -18
  709. package/components/badge/index.d.ts +0 -4
  710. package/components/button/Button.d.ts +0 -19
  711. package/components/button/ButtonGroup.d.ts +0 -13
  712. package/components/button/IconButton.d.ts +0 -35
  713. package/components/button/index.d.ts +0 -6
  714. package/components/checkbox/Checkbox.d.ts +0 -21
  715. package/components/checkbox/index.d.ts +0 -3
  716. package/components/chip/Chip.d.ts +0 -30
  717. package/components/chip/Chip.stories.d.ts +0 -121
  718. package/components/chip/ChipGroup.d.ts +0 -7
  719. package/components/chip/ChipGroup.stories.d.ts +0 -12
  720. package/components/chip/SelectionChipGroup.d.ts +0 -51
  721. package/components/chip/SelectionChipGroup.stories.d.ts +0 -66
  722. package/components/chip/Stories/CustomRender.vue.d.ts +0 -2
  723. package/components/chip/Stories/InTextField.vue.d.ts +0 -2
  724. package/components/chip/index.d.ts +0 -3
  725. package/components/combobox/Combobox.stories.d.ts +0 -153
  726. package/components/combobox/Combobox.test.stories.d.ts +0 -163
  727. package/components/combobox/ComboboxButton.d.ts +0 -48
  728. package/components/combobox/ComboboxInput.d.ts +0 -41
  729. package/components/combobox/ComboboxList.d.ts +0 -15
  730. package/components/combobox/ComboboxOption.d.ts +0 -32
  731. package/components/combobox/ComboboxOption.test.d.ts +0 -1
  732. package/components/combobox/ComboboxOptionAction.d.ts +0 -20
  733. package/components/combobox/ComboboxOptionMoreInfo.d.ts +0 -29
  734. package/components/combobox/ComboboxOptionSkeleton.d.ts +0 -14
  735. package/components/combobox/ComboboxPopover.d.ts +0 -20
  736. package/components/combobox/ComboboxProvider.d.ts +0 -20
  737. package/components/combobox/ComboboxSection.d.ts +0 -14
  738. package/components/combobox/ComboboxState.d.ts +0 -14
  739. package/components/combobox/context/ComboboxContext.d.ts +0 -23
  740. package/components/combobox/context/ComboboxListContext.d.ts +0 -14
  741. package/components/combobox/context/ComboboxOptionContext.d.ts +0 -16
  742. package/components/combobox/context/useComboboxEvent.d.ts +0 -7
  743. package/components/combobox/context/useComboboxOpen.d.ts +0 -7
  744. package/components/combobox/index.d.ts +0 -112
  745. package/components/combobox/useWrappedRenderOptionSlot.d.ts +0 -11
  746. package/components/combobox/useWrappedRenderSectionTitleSlot.d.ts +0 -10
  747. package/components/dialog/Dialog.d.ts +0 -67
  748. package/components/dialog/Dialog.stories.d.ts +0 -106
  749. package/components/dialog/index.d.ts +0 -2
  750. package/components/divider/Divider.d.ts +0 -14
  751. package/components/divider/index.d.ts +0 -2
  752. package/components/drag-handle/DragHandle.d.ts +0 -14
  753. package/components/drag-handle/index.d.ts +0 -2
  754. package/components/expansion-panel/ExpansionPanel.d.ts +0 -39
  755. package/components/expansion-panel/ExpansionPanel.stories.d.ts +0 -54
  756. package/components/expansion-panel/index.d.ts +0 -1
  757. package/components/flag/Flag.d.ts +0 -13
  758. package/components/flag/Flag.stories.d.ts +0 -108
  759. package/components/flag/index.d.ts +0 -4
  760. package/components/flex-box/FlexBox.d.ts +0 -28
  761. package/components/flex-box/index.d.ts +0 -4
  762. package/components/generic-block/GenericBlock.d.ts +0 -62
  763. package/components/generic-block/GenericBlock.stories.d.ts +0 -65
  764. package/components/generic-block/index.d.ts +0 -4
  765. package/components/grid-column/GridColumn.d.ts +0 -9
  766. package/components/grid-column/GridColumn.stories.d.ts +0 -42
  767. package/components/grid-column/index.d.ts +0 -2
  768. package/components/heading/Heading.d.ts +0 -13
  769. package/components/heading/HeadingLevelProvider.d.ts +0 -12
  770. package/components/heading/context.d.ts +0 -3
  771. package/components/heading/index.d.ts +0 -6
  772. package/components/heading/useHeadingLevel.d.ts +0 -7
  773. package/components/icon/Icon.d.ts +0 -13
  774. package/components/icon/index.d.ts +0 -4
  775. package/components/image-block/ImageBlock.d.ts +0 -19
  776. package/components/image-block/ImageBlock.stories.d.ts +0 -178
  777. package/components/image-block/ImageCaption.d.ts +0 -19
  778. package/components/image-block/index.d.ts +0 -1
  779. package/components/inline-list/InlineList.d.ts +0 -13
  780. package/components/inline-list/InlineList.stories.d.ts +0 -53
  781. package/components/inline-list/index.d.ts +0 -3
  782. package/components/input-helper/InputHelper.d.ts +0 -13
  783. package/components/input-helper/index.d.ts +0 -3
  784. package/components/input-label/InputLabel.d.ts +0 -13
  785. package/components/input-label/index.d.ts +0 -3
  786. package/components/lightbox/Lightbox.d.ts +0 -28
  787. package/components/lightbox/Lightbox.stories.d.ts +0 -27
  788. package/components/lightbox/index.d.ts +0 -1
  789. package/components/link/Link.d.ts +0 -20
  790. package/components/link/Link.stories.d.ts +0 -268
  791. package/components/link/index.d.ts +0 -3
  792. package/components/link-preview/LinkPreview.d.ts +0 -20
  793. package/components/link-preview/LinkPreview.stories.d.ts +0 -55
  794. package/components/link-preview/index.d.ts +0 -3
  795. package/components/list/List.d.ts +0 -13
  796. package/components/list/List.stories.d.ts +0 -24
  797. package/components/list/ListDivider.d.ts +0 -13
  798. package/components/list/ListDivider.stories.d.ts +0 -7
  799. package/components/list/ListItem.d.ts +0 -26
  800. package/components/list/ListItem.stories.d.ts +0 -80
  801. package/components/list/ListItemAction.d.ts +0 -31
  802. package/components/list/ListSection.d.ts +0 -13
  803. package/components/list/ListSection.stories.d.ts +0 -112
  804. package/components/list/index.d.ts +0 -5
  805. package/components/menu-button/MenuButton.d.ts +0 -52
  806. package/components/menu-button/MenuButton.stories.d.ts +0 -46
  807. package/components/menu-button/MenuButton.test.d.ts +0 -1
  808. package/components/menu-button/MenuButton.test.stories.d.ts +0 -26
  809. package/components/menu-button/MenuItem.d.ts +0 -44
  810. package/components/menu-button/MenuItem.test.d.ts +0 -1
  811. package/components/menu-button/MenuList.d.ts +0 -15
  812. package/components/menu-button/MenuPopover.d.ts +0 -15
  813. package/components/menu-button/MenuProvider.d.ts +0 -15
  814. package/components/menu-button/MenuTrigger.d.ts +0 -15
  815. package/components/menu-button/Stories/WithLinkItems.vue.d.ts +0 -8
  816. package/components/menu-button/context.d.ts +0 -13
  817. package/components/menu-button/index.d.ts +0 -3
  818. package/components/menu-button/useMenuEvent.d.ts +0 -3
  819. package/components/menu-button/useMenuOpen.d.ts +0 -2
  820. package/components/message/Message.d.ts +0 -25
  821. package/components/message/index.d.ts +0 -3
  822. package/components/mosaic/Mosaic.d.ts +0 -30
  823. package/components/mosaic/Mosaic.stories.d.ts +0 -93
  824. package/components/mosaic/index.d.ts +0 -1
  825. package/components/popover/Popover.d.ts +0 -47
  826. package/components/popover/Popover.stories.d.ts +0 -138
  827. package/components/popover/Popover.test.stories.d.ts +0 -26
  828. package/components/popover/index.d.ts +0 -3
  829. package/components/popover/usePopoverStyle.d.ts +0 -31
  830. package/components/popover-dialog/PopoverDialog.d.ts +0 -27
  831. package/components/popover-dialog/PopoverDialog.stories.d.ts +0 -32
  832. package/components/popover-dialog/PopoverDialog.test.stories.d.ts +0 -99
  833. package/components/popover-dialog/index.d.ts +0 -1
  834. package/components/progress/ProgressCircular.d.ts +0 -9
  835. package/components/progress/ProgressCircular.stories.d.ts +0 -22
  836. package/components/progress/ProgressLinear.d.ts +0 -8
  837. package/components/progress/index.d.ts +0 -4
  838. package/components/radio-button/RadioButton.d.ts +0 -21
  839. package/components/radio-button/RadioGroup.d.ts +0 -15
  840. package/components/radio-button/index.d.ts +0 -4
  841. package/components/select-button/SelectButton.d.ts +0 -176
  842. package/components/select-button/SelectButton.stories.d.ts +0 -126
  843. package/components/select-button/SelectButton.test.d.ts +0 -1
  844. package/components/select-button/SelectButton.test.stories.d.ts +0 -41
  845. package/components/select-button/Stories/CustomRender.vue.d.ts +0 -2
  846. package/components/select-button/Stories/WithInfiniteScroll.vue.d.ts +0 -2
  847. package/components/select-button/index.d.ts +0 -13
  848. package/components/select-text-field/SelectTextField.d.ts +0 -133
  849. package/components/select-text-field/SelectTextField.stories.d.ts +0 -203
  850. package/components/select-text-field/SelectTextField.test.d.ts +0 -1
  851. package/components/select-text-field/SelectTextField.test.stories.d.ts +0 -37
  852. package/components/select-text-field/Stories/CustomRender.vue.d.ts +0 -2
  853. package/components/select-text-field/Stories/MultipleWithSearch.vue.d.ts +0 -2
  854. package/components/select-text-field/Stories/WithCreatableOptions.vue.d.ts +0 -2
  855. package/components/select-text-field/Stories/WithInfiniteScroll.vue.d.ts +0 -2
  856. package/components/select-text-field/Stories/WithSearch.vue.d.ts +0 -2
  857. package/components/select-text-field/index.d.ts +0 -36
  858. package/components/skeleton/SkeletonCircle.d.ts +0 -14
  859. package/components/skeleton/SkeletonRectangle.d.ts +0 -14
  860. package/components/skeleton/SkeletonTypography.d.ts +0 -14
  861. package/components/skeleton/index.d.ts +0 -10
  862. package/components/switch/Switch.d.ts +0 -21
  863. package/components/switch/index.d.ts +0 -2
  864. package/components/table/Table.d.ts +0 -7
  865. package/components/table/TableBody.d.ts +0 -7
  866. package/components/table/TableCell.d.ts +0 -16
  867. package/components/table/TableHeader.d.ts +0 -7
  868. package/components/table/TableRow.d.ts +0 -13
  869. package/components/table/index.d.ts +0 -10
  870. package/components/tabs/Tab.d.ts +0 -26
  871. package/components/tabs/TabList.d.ts +0 -21
  872. package/components/tabs/TabPanel.d.ts +0 -16
  873. package/components/tabs/TabProvider.d.ts +0 -26
  874. package/components/tabs/TabProvider.stories.d.ts +0 -53
  875. package/components/tabs/TabProvider.test.d.ts +0 -1
  876. package/components/tabs/index.d.ts +0 -4
  877. package/components/tabs/state.d.ts +0 -19
  878. package/components/text/Text.d.ts +0 -13
  879. package/components/text/index.d.ts +0 -3
  880. package/components/text-field/RawInputText.d.ts +0 -30
  881. package/components/text-field/RawInputText.stories.d.ts +0 -13
  882. package/components/text-field/RawInputTextarea.d.ts +0 -30
  883. package/components/text-field/RawInputTextarea.stories.d.ts +0 -18
  884. package/components/text-field/Stories/WithChips.vue.d.ts +0 -2
  885. package/components/text-field/TextField.d.ts +0 -75
  886. package/components/text-field/TextField.stories.d.ts +0 -101
  887. package/components/text-field/index.d.ts +0 -3
  888. package/components/text-field/useFitRowsToContent.d.ts +0 -5
  889. package/components/thumbnail/Stories/ThumbnailClickable.vue.d.ts +0 -20
  890. package/components/thumbnail/Thumbnail.d.ts +0 -35
  891. package/components/thumbnail/Thumbnail.stories.d.ts +0 -169
  892. package/components/thumbnail/index.d.ts +0 -4
  893. package/components/thumbnail/useFocusPointStyle.d.ts +0 -20
  894. package/components/thumbnail/useImageLoad.d.ts +0 -10
  895. package/components/time-picker-field/TimePickerField.d.ts +0 -45
  896. package/components/time-picker-field/TimePickerField.stories.d.ts +0 -54
  897. package/components/time-picker-field/TimePickerField.test.d.ts +0 -1
  898. package/components/time-picker-field/index.d.ts +0 -2
  899. package/components/toolbar/Toolbar.d.ts +0 -8
  900. package/components/toolbar/Toolbar.stories.d.ts +0 -19
  901. package/components/toolbar/index.d.ts +0 -3
  902. package/components/tooltip/Tooltip.d.ts +0 -15
  903. package/components/tooltip/Tooltip.stories.d.ts +0 -51
  904. package/components/tooltip/Tooltip.test.stories.d.ts +0 -63
  905. package/components/tooltip/context.d.ts +0 -13
  906. package/components/tooltip/index.d.ts +0 -1
  907. package/components/tooltip/useInjectTooltipRef.d.ts +0 -22
  908. package/components/tooltip/useTooltipOpen.d.ts +0 -14
  909. package/components/uploader/Uploader.d.ts +0 -38
  910. package/components/uploader/index.d.ts +0 -2
  911. package/components/user-block/UserBlock.d.ts +0 -39
  912. package/components/user-block/UserBlock.stories.d.ts +0 -151
  913. package/components/user-block/index.d.ts +0 -1
  914. package/composables/useAttrFallback.d.ts +0 -28
  915. package/composables/useCallbackOnEscape.d.ts +0 -13
  916. package/composables/useClassName.d.ts +0 -16
  917. package/composables/useDisableBodyScroll.d.ts +0 -8
  918. package/composables/useDisableStateProps.d.ts +0 -16
  919. package/composables/useDisabledState.d.ts +0 -3
  920. package/composables/useFocus.d.ts +0 -9
  921. package/composables/useFocusTrap.d.ts +0 -13
  922. package/composables/useHasEventListener.d.ts +0 -7
  923. package/composables/useId.d.ts +0 -7
  924. package/composables/useOverflowTooltipLabel.d.ts +0 -7
  925. package/composables/useRestoreFocusOnClose.d.ts +0 -15
  926. package/composables/useRovingTabIndexContainer.d.ts +0 -32
  927. package/composables/useSlot.d.ts +0 -6
  928. package/composables/useTheme.d.ts +0 -1
  929. package/composables/useTransitionVisibility.d.ts +0 -11
  930. package/composables/useWatchDisposable.d.ts +0 -19
  931. package/index.js.map +0 -1
  932. package/stories/decorators/withChromaticForceScreenSize.d.ts +0 -2
  933. package/stories/decorators/withCombinations.d.ts +0 -6
  934. package/stories/decorators/withNestedProps.d.ts +0 -10
  935. package/stories/decorators/withResizableBox.d.ts +0 -12
  936. package/stories/decorators/withThemedBackground.d.ts +0 -12
  937. package/stories/decorators/withTheming.d.ts +0 -26
  938. package/stories/decorators/withValueOnChange.d.ts +0 -12
  939. package/stories/decorators/withWrapper.d.ts +0 -10
  940. package/stories/utils/CustomLink.vue.d.ts +0 -29
  941. package/stories/utils/useAttrsWithoutHandlers.d.ts +0 -27
  942. package/stories/utils/withRender.d.ts +0 -54
  943. package/utils/ClickAway/ClickAwayProvider.d.ts +0 -21
  944. package/utils/ClickAway/ClickAwayProvider.stories.d.ts +0 -25
  945. package/utils/ClickAway/index.d.ts +0 -2
  946. package/utils/ClickAway/useClickAway.d.ts +0 -18
  947. package/utils/InfiniteScroll/InfiniteScroll.d.ts +0 -7
  948. package/utils/InfiniteScroll/InfiniteScroll.test.stories.d.ts +0 -39
  949. package/utils/InfiniteScroll/index.d.ts +0 -1
  950. package/utils/Portal/Portal.d.ts +0 -7
  951. package/utils/Portal/PortalProvider.d.ts +0 -9
  952. package/utils/Portal/PortalProvider.stories.d.ts +0 -19
  953. package/utils/Portal/index.d.ts +0 -2
  954. package/utils/VueToJSX.d.ts +0 -40
  955. package/utils/action-area/ActionArea.stories.d.ts +0 -28
  956. package/utils/index.js.map +0 -1
  957. package/utils/isComponentType.d.ts +0 -6
  958. package/utils/theme/ResetTheme.d.ts +0 -3
  959. package/utils/theme/ThemeProvider.d.ts +0 -10
  960. package/utils/theme/index.d.ts +0 -3
  961. package/utils/theme/useTheme.d.ts +0 -10
  962. package/utils/wrapChildrenIconWithSpaces.d.ts +0 -3
@@ -0,0 +1,83 @@
1
+ import { makeListenerTowerContext } from "../function/listenerTower.js";
2
+ import { getFirstAndLastFocusable } from "./getFirstAndLastFocusable.js";
3
+ //#region ../lumx-core/src/js/utils/focus/setupFocusTrap.ts
4
+ /**
5
+ * Shared listener tower for focus traps.
6
+ *
7
+ * When multiple traps are activated, only the last registered one is active. When it tears down, the previously
8
+ * registered trap is re-enabled.
9
+ */
10
+ var FOCUS_TRAPS = makeListenerTowerContext();
11
+ /**
12
+ * Trap 'Tab' focus switch inside the `focusZoneElement`.
13
+ *
14
+ * Setup behavior:
15
+ * 1. Focus `focusElement` if provided and contained in the zone.
16
+ * 2. Otherwise focus the first focusable descendant.
17
+ * 3. Otherwise focus the zone element itself (falling back to setting `tabindex="-1"` if needed) so that
18
+ * keyboard users (especially screen reader users) land inside the trapped region (e.g. an empty dialog).
19
+ *
20
+ * Tab key behavior:
21
+ * - With at least one focusable descendant: focus cycles between the first and last focusable in the zone.
22
+ * - With no focusable descendant: Tab is swallowed and focus is restored to the zone element itself.
23
+ *
24
+ * Multiple traps stack — only the latest one is active; previous traps re-enable when the latest is torn down.
25
+ *
26
+ * @param options Trap configuration.
27
+ * @param signal AbortSignal used to tear down the trap.
28
+ */
29
+ function setupFocusTrap(options, signal) {
30
+ const { focusZoneElement, focusElement } = options;
31
+ if (!focusZoneElement || signal.aborted) return;
32
+ const rootNode = focusZoneElement.getRootNode();
33
+ let addedTabIndex = false;
34
+ /** Make the zone element programmatically focusable (so we can fall back to it). */
35
+ const ensureZoneIsFocusable = () => {
36
+ if (!focusZoneElement.hasAttribute("tabindex")) {
37
+ focusZoneElement.setAttribute("tabindex", "-1");
38
+ addedTabIndex = true;
39
+ }
40
+ };
41
+ /** Focus the zone element itself as a last-resort fallback. */
42
+ const focusZoneFallback = () => {
43
+ ensureZoneIsFocusable();
44
+ focusZoneElement.focus({ preventScroll: true });
45
+ };
46
+ const trapTabFocusInFocusZone = (evt) => {
47
+ if (evt.key !== "Tab") return;
48
+ const focusable = getFirstAndLastFocusable(focusZoneElement);
49
+ if (!focusable.first) {
50
+ evt.preventDefault();
51
+ focusZoneFallback();
52
+ return;
53
+ }
54
+ const { activeElement } = rootNode;
55
+ if (!activeElement || !evt.shiftKey && activeElement === focusable.last || !focusZoneElement.contains(activeElement)) {
56
+ focusable.first.focus();
57
+ evt.preventDefault();
58
+ return;
59
+ }
60
+ if (evt.shiftKey && activeElement === focusable.first) {
61
+ focusable.last.focus();
62
+ evt.preventDefault();
63
+ }
64
+ };
65
+ const keydownHandler = trapTabFocusInFocusZone;
66
+ const focusTrap = {
67
+ enable: () => rootNode.addEventListener("keydown", keydownHandler),
68
+ disable: () => rootNode.removeEventListener("keydown", keydownHandler)
69
+ };
70
+ if (focusElement && focusZoneElement.contains(focusElement)) focusElement.focus({ preventScroll: true });
71
+ else {
72
+ const firstFocusable = getFirstAndLastFocusable(focusZoneElement).first;
73
+ if (firstFocusable) firstFocusable.focus({ preventScroll: true });
74
+ else focusZoneFallback();
75
+ }
76
+ FOCUS_TRAPS.register(focusTrap);
77
+ signal.addEventListener("abort", () => {
78
+ FOCUS_TRAPS.unregister(focusTrap);
79
+ if (addedTabIndex) focusZoneElement.removeAttribute("tabindex");
80
+ }, { once: true });
81
+ }
82
+ //#endregion
83
+ export { setupFocusTrap };
@@ -0,0 +1,38 @@
1
+ //#region ../lumx-core/src/js/utils/focusNavigation/createActiveItemState.ts
2
+ /**
3
+ * Create shared active item state with cleanup on abort.
4
+ *
5
+ * Callback invocation:
6
+ * - `setActive(item)`: calls `onDeactivate(previous)` then `onActivate(item)`.
7
+ * - `clear()`: calls `onDeactivate(current)` then `onClear()`.
8
+ * - On `signal.abort()`: same as `clear()`.
9
+ *
10
+ * @param callbacks Focus state change callbacks.
11
+ * @param signal AbortSignal for cleanup.
12
+ * @param initialItem Optional item to silently pre-select on creation (no callbacks fired).
13
+ */
14
+ function createActiveItemState(callbacks, signal, initialItem) {
15
+ let activeItem = initialItem ?? null;
16
+ function clear() {
17
+ if (activeItem) {
18
+ callbacks.onDeactivate(activeItem);
19
+ activeItem = null;
20
+ }
21
+ callbacks.onClear?.();
22
+ }
23
+ signal.addEventListener("abort", clear);
24
+ return {
25
+ get active() {
26
+ return activeItem;
27
+ },
28
+ setActive(item) {
29
+ if (activeItem === item) return;
30
+ if (activeItem) callbacks.onDeactivate(activeItem);
31
+ activeItem = item;
32
+ if (item) callbacks.onActivate(item);
33
+ },
34
+ clear
35
+ };
36
+ }
37
+ //#endregion
38
+ export { createActiveItemState };
@@ -0,0 +1,182 @@
1
+ import { createPendingNavigation } from "./createPendingNavigation.js";
2
+ import { createSelectorTreeWalker } from "../browser/createSelectorTreeWalker.js";
3
+ import { createActiveItemState } from "./createActiveItemState.js";
4
+ import { lastDescendant } from "../browser/lastDescendant.js";
5
+ import { first } from "../iterable/first.js";
6
+ //#region ../lumx-core/src/js/utils/focusNavigation/createGridFocusNavigation.ts
7
+ /**
8
+ * Create a focus navigation controller for a 2D grid.
9
+ *
10
+ * Resolves rows and cells by querying the DOM and commits focus by updating the
11
+ * active-item state (which fires {@link FocusNavigationCallbacks}).
12
+ *
13
+ * Supports Up/Down between rows (with column memory) and Left/Right between cells
14
+ * (with wrapping across rows).
15
+ *
16
+ * @param options Grid navigation options (container, rowSelector, cellSelector, wrap).
17
+ * @param callbacks Callbacks for focus state changes.
18
+ * @param signal AbortSignal for cleanup.
19
+ * @returns FocusNavigationController instance.
20
+ */
21
+ function createGridFocusNavigation(options, callbacks, signal) {
22
+ const { container, rowSelector, cellSelector, wrap = false } = options;
23
+ const state = createActiveItemState(callbacks, signal);
24
+ const isNavigableRow = (row) => row.querySelector(cellSelector) !== null;
25
+ const getFirstCell = (row) => row.querySelector(cellSelector);
26
+ const getRowCells = (row) => Array.from(row.querySelectorAll(cellSelector));
27
+ /** Lazily walk navigable rows from `start` in a `direction`, projecting each row through `dive`. */
28
+ function* findRows(start = "first", direction = "next", dive) {
29
+ const walker = createSelectorTreeWalker(container, rowSelector);
30
+ if (start instanceof HTMLElement) walker.currentNode = start;
31
+ else if (start === "last") walker.currentNode = lastDescendant(container);
32
+ let node;
33
+ do {
34
+ node = direction === "next" ? walker.nextNode() : walker.previousNode();
35
+ if (node && isNavigableRow(node)) {
36
+ const result = dive ? dive(node) : node;
37
+ if (result) yield result;
38
+ }
39
+ } while (node);
40
+ }
41
+ const findFirstVisibleRow = () => first(findRows());
42
+ const findLastVisibleRow = () => first(findRows("last", "prev"));
43
+ function findParentRow(cell) {
44
+ const row = cell.closest(rowSelector);
45
+ return row && container.contains(row) ? row : null;
46
+ }
47
+ /** Deferred navigation intent (replayed once cells are committed to the DOM). */
48
+ const pending = createPendingNavigation(signal);
49
+ /** Remembered column index for Up/Down navigation (column memory). */
50
+ let rememberedCol = 0;
51
+ /** Activate the cell at the given column in a row element. */
52
+ function focusCellInRow(row, col) {
53
+ const cells = getRowCells(row);
54
+ if (cells.length === 0) return false;
55
+ const clampedCol = Math.min(col, cells.length - 1);
56
+ state.setActive(cells[clampedCol]);
57
+ return true;
58
+ }
59
+ /** Activate the given cell (validates it is in the grid, updates column memory). */
60
+ function activateCell(item) {
61
+ const row = findParentRow(item);
62
+ if (!row) return false;
63
+ const col = getRowCells(row).indexOf(item);
64
+ if (col === -1) return false;
65
+ rememberedCol = col;
66
+ state.setActive(item);
67
+ return true;
68
+ }
69
+ /** Got to first cell in first row */
70
+ function goToFirst() {
71
+ const row = findFirstVisibleRow();
72
+ if (!row) return false;
73
+ rememberedCol = 0;
74
+ return focusCellInRow(row, 0);
75
+ }
76
+ /** Got to first cell in last row */
77
+ function goToLast() {
78
+ const row = findLastVisibleRow();
79
+ if (!row) return false;
80
+ rememberedCol = 0;
81
+ return focusCellInRow(row, 0);
82
+ }
83
+ /** Navigate horizontally (left or right) within cells, wrapping across rows. */
84
+ function goHorizontal(step) {
85
+ if (!state.active) return false;
86
+ const currentRow = findParentRow(state.active);
87
+ if (!currentRow) return false;
88
+ const cells = getRowCells(currentRow);
89
+ const col = cells.indexOf(state.active);
90
+ if (col === -1) return false;
91
+ const nextCol = col + step;
92
+ if (nextCol >= 0 && nextCol < cells.length) {
93
+ rememberedCol = nextCol;
94
+ state.setActive(cells[nextCol]);
95
+ return true;
96
+ }
97
+ if (!wrap) return false;
98
+ const targetRow = first(findRows(currentRow, step > 0 ? "next" : "prev")) ?? (step > 0 ? findFirstVisibleRow() : findLastVisibleRow());
99
+ if (!targetRow) return false;
100
+ const targetCells = getRowCells(targetRow);
101
+ if (targetCells.length === 0) return false;
102
+ const targetCol = step > 0 ? 0 : targetCells.length - 1;
103
+ rememberedCol = targetCol;
104
+ state.setActive(targetCells[targetCol]);
105
+ return true;
106
+ }
107
+ /** Navigate vertically (up or down) between rows with column memory. */
108
+ function goVertical(direction) {
109
+ if (!state.active) return direction === "next" ? goToFirst() : goToLast();
110
+ const currentRow = findParentRow(state.active);
111
+ if (!currentRow) return false;
112
+ const adjacentRow = first(findRows(currentRow, direction));
113
+ if (adjacentRow) return focusCellInRow(adjacentRow, rememberedCol);
114
+ if (wrap) {
115
+ const wrapRow = direction === "next" ? findFirstVisibleRow() : findLastVisibleRow();
116
+ if (wrapRow) return focusCellInRow(wrapRow, rememberedCol);
117
+ }
118
+ return false;
119
+ }
120
+ const selectors = {
121
+ get activeItem() {
122
+ return state.active;
123
+ },
124
+ get hasNavigableItems() {
125
+ return first(findRows()) !== null;
126
+ },
127
+ getFirst: () => first(findRows("first", "next", getFirstCell)),
128
+ getLast: () => first(findRows("last", "prev", getFirstCell)),
129
+ getMatching: (predicate) => first(findRows("first", "next", (row) => getRowCells(row).find(predicate)))
130
+ };
131
+ return {
132
+ type: "grid",
133
+ selectors,
134
+ goToOffset(offset) {
135
+ if (offset === 0) return state.active !== null;
136
+ const visibleRows = Array.from(findRows());
137
+ if (visibleRows.length === 0) return false;
138
+ if (!state.active) {
139
+ const startIdx = offset > 0 ? 0 : visibleRows.length - 1;
140
+ const remainingOffset = offset > 0 ? offset - 1 : offset + 1;
141
+ return focusCellInRow(visibleRows[Math.max(0, Math.min(startIdx + remainingOffset, visibleRows.length - 1))], rememberedCol);
142
+ }
143
+ const currentRow = findParentRow(state.active);
144
+ if (!currentRow) return false;
145
+ const rowIdx = visibleRows.indexOf(currentRow);
146
+ if (rowIdx === -1) return false;
147
+ const targetIdx = Math.max(0, Math.min(rowIdx + offset, visibleRows.length - 1));
148
+ if (targetIdx === rowIdx) return false;
149
+ return focusCellInRow(visibleRows[targetIdx], rememberedCol);
150
+ },
151
+ clear() {
152
+ state.clear();
153
+ pending.clear();
154
+ },
155
+ goTo(resolve) {
156
+ const target = resolve(selectors);
157
+ if (target && activateCell(target)) {
158
+ pending.clear();
159
+ return true;
160
+ }
161
+ pending.defer(() => this.goTo(resolve));
162
+ return false;
163
+ },
164
+ flushPendingNavigation() {
165
+ pending.flush();
166
+ },
167
+ goUp() {
168
+ return goVertical("prev");
169
+ },
170
+ goDown() {
171
+ return goVertical("next");
172
+ },
173
+ goLeft() {
174
+ return goHorizontal(-1);
175
+ },
176
+ goRight() {
177
+ return goHorizontal(1);
178
+ }
179
+ };
180
+ }
181
+ //#endregion
182
+ export { createGridFocusNavigation };
@@ -0,0 +1,151 @@
1
+ import { createPendingNavigation } from "./createPendingNavigation.js";
2
+ import { createSelectorTreeWalker } from "../browser/createSelectorTreeWalker.js";
3
+ //#region ../lumx-core/src/js/utils/focusNavigation/createListFocusNavigation.ts
4
+ /**
5
+ * Create a focus navigation controller for a 1D list.
6
+ *
7
+ * This controller is **stateless** — it does not maintain an internal reference to
8
+ * the active item. Instead it reads the active item from the DOM each time via the
9
+ * `getActiveItem` callback provided in the options. This avoids any desync between
10
+ * the controller's internal state and the actual DOM.
11
+ *
12
+ * @param options List navigation options (container, itemSelector, direction, wrap, getActiveItem).
13
+ * @param callbacks Callbacks for focus state changes.
14
+ * @param signal AbortSignal for cleanup.
15
+ * @returns ListFocusNavigationController instance.
16
+ */
17
+ function createListFocusNavigation(options, callbacks, signal) {
18
+ const { container, itemSelector, direction = "vertical", wrap = false, itemDisabledSelector, getActiveItem = () => null } = options;
19
+ /** Combined CSS selector matching enabled (non-disabled) items. */
20
+ const enabledItemSelector = itemDisabledSelector ? `${itemSelector}:not(${itemDisabledSelector})` : itemSelector;
21
+ /** Create a TreeWalker over items in the container. */
22
+ function createItemWalker(enabledOnly = true) {
23
+ return createSelectorTreeWalker(container, enabledOnly ? enabledItemSelector : itemSelector);
24
+ }
25
+ /** Find the first enabled item in the container. */
26
+ function findFirstEnabled() {
27
+ return container.querySelector(enabledItemSelector);
28
+ }
29
+ /** Find the last enabled item in the container. */
30
+ function findLastEnabled() {
31
+ const items = container.querySelectorAll(enabledItemSelector);
32
+ return items.length > 0 ? items[items.length - 1] : null;
33
+ }
34
+ const pending = createPendingNavigation(signal);
35
+ /** Find item at offset (lazily walk nodes) */
36
+ function findAtOffset(offset) {
37
+ const forward = offset > 0;
38
+ const stepsNeeded = Math.abs(offset);
39
+ const active = getActiveItem();
40
+ const walker = createItemWalker();
41
+ const step = forward ? () => walker.nextNode() : () => walker.previousNode();
42
+ let target = null;
43
+ let remaining = stepsNeeded;
44
+ if (active) walker.currentNode = active;
45
+ else if (!forward) {
46
+ target = walker.lastChild();
47
+ if (!target) return null;
48
+ remaining -= 1;
49
+ }
50
+ for (let i = 0; i < remaining; i++) {
51
+ const next = step();
52
+ if (next) target = next;
53
+ else if (active && wrap) {
54
+ const wrapped = forward ? findFirstEnabled() : findLastEnabled();
55
+ if (!wrapped || wrapped === active) break;
56
+ target = wrapped;
57
+ walker.currentNode = wrapped;
58
+ } else break;
59
+ }
60
+ return target;
61
+ }
62
+ function findMatching(predicate) {
63
+ const walker = createItemWalker(false);
64
+ let node = walker.nextNode();
65
+ while (node) {
66
+ if (predicate(node)) return node;
67
+ node = walker.nextNode();
68
+ }
69
+ return null;
70
+ }
71
+ /** Clear the active item and discard any pending navigation intent. */
72
+ function clear() {
73
+ const current = getActiveItem();
74
+ if (current) callbacks.onDeactivate(current);
75
+ pending.clear();
76
+ callbacks.onClear?.();
77
+ }
78
+ signal.addEventListener("abort", clear);
79
+ const selectors = {
80
+ enabledItemSelector,
81
+ get activeItem() {
82
+ return getActiveItem();
83
+ },
84
+ get hasNavigableItems() {
85
+ return container.querySelector(enabledItemSelector) !== null;
86
+ },
87
+ getFirst: findFirstEnabled,
88
+ getLast: findLastEnabled,
89
+ getMatching: findMatching,
90
+ findNearestEnabled(anchor) {
91
+ if (!container.contains(anchor)) return findFirstEnabled();
92
+ if (anchor instanceof HTMLElement && anchor.matches(enabledItemSelector)) return anchor;
93
+ const walker = createItemWalker();
94
+ walker.currentNode = anchor;
95
+ const next = walker.nextNode();
96
+ if (next instanceof HTMLElement) return next;
97
+ walker.currentNode = anchor;
98
+ return walker.previousNode();
99
+ }
100
+ };
101
+ /**
102
+ * Navigate via a resolver. The resolver receives the selectors to find the target.
103
+ * If the target is valid, focus is committed (deactivate current, activate target).
104
+ * If the target is not resolvable yet, the intent is deferred for later replay.
105
+ */
106
+ function goTo(resolve) {
107
+ const target = resolve(selectors);
108
+ if (target && target.matches(itemSelector) && container.contains(target)) {
109
+ const current = getActiveItem();
110
+ if (current !== target) {
111
+ if (current) callbacks.onDeactivate(current);
112
+ callbacks.onActivate(target);
113
+ }
114
+ pending.clear();
115
+ return true;
116
+ }
117
+ pending.defer(() => goTo(resolve));
118
+ return false;
119
+ }
120
+ /** Go to the item at the given offset from the active item. */
121
+ function goToOffset(offset) {
122
+ if (offset === 0) return getActiveItem() !== null;
123
+ const target = findAtOffset(offset);
124
+ if (!target) return false;
125
+ return goTo(() => target);
126
+ }
127
+ return {
128
+ type: "list",
129
+ selectors,
130
+ goToOffset,
131
+ clear,
132
+ goTo,
133
+ flushPendingNavigation() {
134
+ pending.flush();
135
+ },
136
+ goUp() {
137
+ return direction === "vertical" ? goToOffset(-1) : false;
138
+ },
139
+ goDown() {
140
+ return direction === "vertical" ? goToOffset(1) : false;
141
+ },
142
+ goLeft() {
143
+ return direction === "horizontal" ? goToOffset(-1) : false;
144
+ },
145
+ goRight() {
146
+ return direction === "horizontal" ? goToOffset(1) : false;
147
+ }
148
+ };
149
+ }
150
+ //#endregion
151
+ export { createListFocusNavigation };
@@ -0,0 +1,23 @@
1
+ //#region ../lumx-core/src/js/utils/focusNavigation/createPendingNavigation.ts
2
+ /** Create a pending navigation store; discards intent on abort. */
3
+ function createPendingNavigation(signal) {
4
+ let pending = null;
5
+ const clear = () => {
6
+ pending = null;
7
+ };
8
+ signal.addEventListener("abort", clear);
9
+ return {
10
+ get hasPending() {
11
+ return pending !== null;
12
+ },
13
+ defer(navigate) {
14
+ pending = navigate;
15
+ },
16
+ flush() {
17
+ if (pending?.()) pending = null;
18
+ },
19
+ clear
20
+ };
21
+ }
22
+ //#endregion
23
+ export { createPendingNavigation };
@@ -0,0 +1,167 @@
1
+ import { createListFocusNavigation } from "./createListFocusNavigation.js";
2
+ import { querySelectorInclusive } from "../browser/querySelectorInclusive.js";
3
+ import { trackContainerFocus } from "../browser/trackContainerFocus.js";
4
+ //#region ../lumx-core/src/js/utils/focusNavigation/setupRovingTabIndex.ts
5
+ /**
6
+ * Set up the roving tabindex pattern on a container element.
7
+ *
8
+ * - Keyboard navigation (Arrow keys, Home, End)
9
+ * - tabindex management (`0` on active, `-1` on others)
10
+ * - Mount normalization (single-tabstop invariant)
11
+ * - DOM mutation handling via MutationObserver:
12
+ * removal recovery, insertion normalization, disabled-state changes
13
+ *
14
+ * Torn down when `signal` is aborted.
15
+ */
16
+ function setupRovingTabIndex(options, signal) {
17
+ const { container, itemSelector, direction = "horizontal", itemDisabledSelector, itemSelectedAttr = "aria-selected", onItemFocused } = options;
18
+ const itemActiveSelector = `${itemSelector}[tabindex="0"]`;
19
+ let itemSelectedSelector = `${itemSelector}[${itemSelectedAttr}=true]`;
20
+ if (itemDisabledSelector) itemSelectedSelector += `:not(${itemDisabledSelector})`;
21
+ const containerFocus = trackContainerFocus(container, signal);
22
+ const nav = createListFocusNavigation({
23
+ type: "list",
24
+ container,
25
+ itemSelector,
26
+ direction,
27
+ wrap: true,
28
+ itemDisabledSelector,
29
+ getActiveItem: () => container.querySelector(itemActiveSelector)
30
+ }, {
31
+ onActivate(item) {
32
+ item.setAttribute("tabindex", "0");
33
+ item.focus();
34
+ onItemFocused?.(item);
35
+ },
36
+ onDeactivate(item) {
37
+ item.setAttribute("tabindex", "-1");
38
+ }
39
+ }, signal);
40
+ /** Set tabindex only when the value actually changes to avoid unnecessary DOM mutations. */
41
+ function setTabIndex(item, value) {
42
+ if (item.getAttribute("tabindex") !== value) item.setAttribute("tabindex", value);
43
+ }
44
+ /** Assign tabindex across `items`, ensuring at most one `tabindex="0"` */
45
+ function normalizeItems(items, hasExistingTabStop) {
46
+ let hasTabStop = hasExistingTabStop;
47
+ for (const item of items) {
48
+ if (!container.contains(item)) continue;
49
+ if (!(itemDisabledSelector ? item.matches(itemDisabledSelector) : false) && !hasTabStop) {
50
+ setTabIndex(item, "0");
51
+ hasTabStop = true;
52
+ } else setTabIndex(item, "-1");
53
+ }
54
+ if (!hasTabStop) {
55
+ const fallback = container.querySelector(nav.selectors.enabledItemSelector);
56
+ if (fallback) setTabIndex(fallback, "0");
57
+ }
58
+ }
59
+ /** Enforce the single-tabstop invariant across all items. */
60
+ function normalizeAllItems() {
61
+ const items = Array.from(container.querySelectorAll(itemSelector));
62
+ const { activeItem } = nav.selectors;
63
+ let preferredTabStopIndex = activeItem && items.indexOf(activeItem);
64
+ if (!preferredTabStopIndex || preferredTabStopIndex === -1) preferredTabStopIndex = items.findIndex((item) => item.matches(itemSelectedSelector));
65
+ if (preferredTabStopIndex && preferredTabStopIndex > 0) {
66
+ const [preferredItem] = items.splice(preferredTabStopIndex, 1);
67
+ items.unshift(preferredItem);
68
+ }
69
+ normalizeItems(items, false);
70
+ }
71
+ /** Ensure a tab stop exists; find a fallback near `anchor` and optionally move focus to it. */
72
+ function ensureTabStop(shouldFocus, anchor) {
73
+ if (container.querySelector(itemActiveSelector)) return;
74
+ const fallback = (anchor && nav.selectors.findNearestEnabled(anchor)) ?? container.querySelector(nav.selectors.enabledItemSelector);
75
+ if (!fallback) return;
76
+ if (shouldFocus) nav.goTo(() => fallback);
77
+ else setTabIndex(fallback, "0");
78
+ }
79
+ normalizeAllItems();
80
+ const observer = new MutationObserver((mutations) => {
81
+ let removedActiveItem = null;
82
+ let removalAnchor = null;
83
+ let newSelectedItem = null;
84
+ const disabledTargets = [];
85
+ const insertedItems = [];
86
+ for (const mutation of mutations) {
87
+ if (mutation.type === "childList") {
88
+ if (!removedActiveItem) for (const removedNode of mutation.removedNodes) {
89
+ const { value: firstMatch } = querySelectorInclusive(removedNode, itemActiveSelector).next();
90
+ if (firstMatch) {
91
+ removedActiveItem = firstMatch;
92
+ removalAnchor = mutation.nextSibling ?? mutation.previousSibling ?? null;
93
+ break;
94
+ }
95
+ }
96
+ for (const addedNode of mutation.addedNodes) for (const item of querySelectorInclusive(addedNode, itemSelector)) insertedItems.push(item);
97
+ }
98
+ const target = mutation.target;
99
+ if (mutation.type === "attributes" && target.matches(itemSelector)) {
100
+ if (mutation.attributeName === itemSelectedAttr && target.getAttribute(itemSelectedAttr) === "true") newSelectedItem = target;
101
+ else if (itemDisabledSelector && target.matches(itemDisabledSelector)) disabledTargets.push(target);
102
+ }
103
+ }
104
+ if (removedActiveItem) {
105
+ const shouldMoveFocus = containerFocus.hasFocus;
106
+ containerFocus.reset();
107
+ ensureTabStop(shouldMoveFocus, removalAnchor);
108
+ }
109
+ if (insertedItems.length > 0) normalizeItems(insertedItems, container.querySelector(itemActiveSelector) !== null);
110
+ if (disabledTargets.length > 0) {
111
+ const currentActive = nav.selectors.activeItem;
112
+ for (const target of disabledTargets) setTabIndex(target, "-1");
113
+ ensureTabStop(!!(currentActive && disabledTargets.includes(currentActive) && containerFocus.hasFocus));
114
+ }
115
+ if (newSelectedItem) {
116
+ const currentTabStop = container.querySelector(itemActiveSelector);
117
+ if (currentTabStop && currentTabStop !== newSelectedItem) setTabIndex(currentTabStop, "-1");
118
+ setTabIndex(newSelectedItem, "0");
119
+ }
120
+ });
121
+ observer.observe(container, {
122
+ childList: true,
123
+ subtree: true,
124
+ attributes: true,
125
+ attributeFilter: [
126
+ "aria-disabled",
127
+ "disabled",
128
+ itemSelectedAttr
129
+ ]
130
+ });
131
+ signal.addEventListener("abort", () => observer.disconnect());
132
+ container.addEventListener("keydown", (evt) => {
133
+ if (!nav.selectors.activeItem) {
134
+ const target = evt.target;
135
+ if (target.matches(itemSelector) && container.contains(target)) nav.goTo(() => target);
136
+ }
137
+ let handled = false;
138
+ switch (evt.key) {
139
+ case "ArrowRight":
140
+ handled = nav.goRight();
141
+ break;
142
+ case "ArrowLeft":
143
+ handled = nav.goLeft();
144
+ break;
145
+ case "ArrowDown":
146
+ handled = nav.goDown();
147
+ break;
148
+ case "ArrowUp":
149
+ handled = nav.goUp();
150
+ break;
151
+ case "Home":
152
+ handled = nav.goTo((s) => s.getFirst());
153
+ break;
154
+ case "End":
155
+ handled = nav.goTo((s) => s.getLast());
156
+ break;
157
+ default: break;
158
+ }
159
+ if (handled) {
160
+ evt.preventDefault();
161
+ evt.stopPropagation();
162
+ }
163
+ }, { signal });
164
+ return nav;
165
+ }
166
+ //#endregion
167
+ export { setupRovingTabIndex };
@@ -0,0 +1,40 @@
1
+ //#region ../lumx-core/src/js/utils/focusNavigation/types.d.ts
2
+ /** Pure, side-effect-free selection layer for focus navigation. */
3
+ interface FocusNavigationSelectors {
4
+ readonly activeItem: HTMLElement | null;
5
+ readonly hasNavigableItems: boolean;
6
+ getFirst(): HTMLElement | null;
7
+ getLast(): HTMLElement | null;
8
+ getMatching(predicate: (item: HTMLElement) => boolean): HTMLElement | null;
9
+ }
10
+ /**
11
+ * Focus navigation controller — the mover layer. Every method commits focus via
12
+ * {@link FocusNavigationCallbacks}. The pure read layer lives behind {@link selectors}.
13
+ *
14
+ * To move focus to the first/last navigable item:
15
+ * `goTo((s) => s.getFirst())` / `goTo((s) => s.getLast())`.
16
+ */
17
+ interface FocusNavigationController<Selectors extends FocusNavigationSelectors = FocusNavigationSelectors> {
18
+ readonly type: 'list' | 'grid';
19
+ readonly selectors: Selectors;
20
+ goToOffset(offset: number): boolean;
21
+ clear(): void;
22
+ goUp(): boolean;
23
+ goDown(): boolean;
24
+ goLeft(): boolean;
25
+ goRight(): boolean;
26
+ /**
27
+ * Navigate via a resolver, deferring when the target is not yet in the DOM.
28
+ * ```ts
29
+ * nav.goTo((sel) => sel.getMatching(isSelected) ?? sel.getFirst());
30
+ * ```
31
+ */
32
+ goTo(resolve: (selectors: Selectors) => HTMLElement | null): boolean;
33
+ /**
34
+ * Replay the pending navigation intent stored by {@link goTo}.
35
+ * No-op when nothing is pending.
36
+ */
37
+ flushPendingNavigation(): void;
38
+ }
39
+ //#endregion
40
+ export { FocusNavigationController };