@lumx/react 3.20.1-alpha.32 → 3.20.1-alpha.33
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.
- package/_internal/_virtual/_commonjsHelpers-d57d3fc6.js +6 -0
- package/_internal/_virtual/_commonjsHelpers-d57d3fc6.js.map +1 -0
- package/_internal/_virtual/index-0d23cc6a.js +8 -0
- package/_internal/_virtual/index-0d23cc6a.js.map +1 -0
- package/_internal/_virtual/index-3f54fe9e.js +4 -0
- package/_internal/_virtual/index-3f54fe9e.js.map +1 -0
- package/_internal/_virtual/index-4b633603.js +6 -0
- package/_internal/_virtual/index-4b633603.js.map +1 -0
- package/_internal/_virtual/react-is.development-0f849025.js +4 -0
- package/_internal/_virtual/react-is.development-0f849025.js.map +1 -0
- package/_internal/_virtual/react-is.production.min-42b26576.js +4 -0
- package/_internal/_virtual/react-is.production.min-42b26576.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/createPopper-53c3ecaa.js +258 -0
- package/_internal/node_modules/@popperjs/core/lib/createPopper-53c3ecaa.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/contains-814049c5.js +27 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/contains-814049c5.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect-07f6dc7c.js +16 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect-07f6dc7c.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getClippingRect-ce686041.js +72 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getClippingRect-ce686041.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect-1c7842bd.js +52 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getCompositeRect-1c7842bd.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle-368dcd7b.js +8 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getComputedStyle-368dcd7b.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement-7a1e1a70.js +9 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getDocumentElement-7a1e1a70.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect-77338b42.js +30 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getDocumentRect-77338b42.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll-30ecdee3.js +9 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll-30ecdee3.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect-e7aa44d1.js +13 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getLayoutRect-e7aa44d1.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getNodeName-879fa64d.js +6 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getNodeName-879fa64d.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll-b32b4fa3.js +15 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getNodeScroll-b32b4fa3.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent-4b7b3db4.js +65 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getOffsetParent-4b7b3db4.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getParentNode-a8800612.js +21 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getParentNode-a8800612.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getScrollParent-ce447857.js +20 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getScrollParent-ce447857.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getViewportRect-b03adce5.js +44 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getViewportRect-b03adce5.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getWindow-a0a42aca.js +14 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getWindow-a0a42aca.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll-3206cb97.js +14 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getWindowScroll-3206cb97.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX-8be98570.js +17 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX-8be98570.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/instanceOf-d54ebfaa.js +28 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/instanceOf-d54ebfaa.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/isScrollParent-d888d2df.js +14 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/isScrollParent-d888d2df.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/isTableElement-e97ecc33.js +8 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/isTableElement-e97ecc33.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/listScrollParents-7ac31122.js +29 -0
- package/_internal/node_modules/@popperjs/core/lib/dom-utils/listScrollParents-7ac31122.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/enums-f4baa1da.js +34 -0
- package/_internal/node_modules/@popperjs/core/lib/enums-f4baa1da.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/modifiers/applyStyles-e5cd080b.js +90 -0
- package/_internal/node_modules/@popperjs/core/lib/modifiers/applyStyles-e5cd080b.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/modifiers/arrow-f15e8999.js +102 -0
- package/_internal/node_modules/@popperjs/core/lib/modifiers/arrow-f15e8999.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/modifiers/computeStyles-fce107d1.js +141 -0
- package/_internal/node_modules/@popperjs/core/lib/modifiers/computeStyles-fce107d1.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/modifiers/eventListeners-a7214f2f.js +52 -0
- package/_internal/node_modules/@popperjs/core/lib/modifiers/eventListeners-a7214f2f.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/modifiers/flip-e3fed99a.js +150 -0
- package/_internal/node_modules/@popperjs/core/lib/modifiers/flip-e3fed99a.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/modifiers/hide-415890f0.js +64 -0
- package/_internal/node_modules/@popperjs/core/lib/modifiers/hide-415890f0.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/modifiers/offset-cde1ce5c.js +57 -0
- package/_internal/node_modules/@popperjs/core/lib/modifiers/offset-cde1ce5c.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/modifiers/popperOffsets-1f0d11fe.js +28 -0
- package/_internal/node_modules/@popperjs/core/lib/modifiers/popperOffsets-1f0d11fe.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/modifiers/preventOverflow-698df0f8.js +122 -0
- package/_internal/node_modules/@popperjs/core/lib/modifiers/preventOverflow-698df0f8.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/popper-e7d46b35.js +18 -0
- package/_internal/node_modules/@popperjs/core/lib/popper-e7d46b35.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/computeAutoPlacement-b8f3134e.js +55 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/computeAutoPlacement-b8f3134e.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/computeOffsets-00ceeb21.js +72 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/computeOffsets-00ceeb21.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/debounce-d5f5f3f5.js +18 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/debounce-d5f5f3f5.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/detectOverflow-70184010.js +67 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/detectOverflow-70184010.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/expandToHashMap-722ea461.js +9 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/expandToHashMap-722ea461.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/format-c01c3bec.js +12 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/format-c01c3bec.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/getAltAxis-c9a3b27f.js +6 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/getAltAxis-c9a3b27f.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/getBasePlacement-215781b4.js +6 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/getBasePlacement-215781b4.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/getFreshSideObject-b402784b.js +11 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/getFreshSideObject-b402784b.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement-728684f6.js +6 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement-728684f6.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/getOppositePlacement-20f07616.js +14 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/getOppositePlacement-20f07616.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement-37f5ba95.js +12 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement-37f5ba95.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/getVariation-9a5db774.js +6 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/getVariation-9a5db774.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/mergeByName-200c2ce1.js +17 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/mergeByName-200c2ce1.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/mergePaddingObject-6e22c702.js +8 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/mergePaddingObject-6e22c702.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/orderModifiers-14404061.js +47 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/orderModifiers-14404061.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/rectToClientRect-00560d40.js +11 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/rectToClientRect-00560d40.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/uniqueBy-c625d242.js +14 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/uniqueBy-c625d242.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/validateModifiers-4c621f83.js +80 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/validateModifiers-4c621f83.js.map +1 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/within-9361ef65.js +6 -0
- package/_internal/node_modules/@popperjs/core/lib/utils/within-9361ef65.js.map +1 -0
- package/_internal/{useDisableBodyScroll-36bd7352.js → node_modules/body-scroll-lock/lib/bodyScrollLock.esm-8e8c5ab6.js} +2 -29
- package/_internal/node_modules/body-scroll-lock/lib/bodyScrollLock.esm-8e8c5ab6.js.map +1 -0
- package/_internal/node_modules/react-fast-compare/index-99513933.js +145 -0
- package/_internal/node_modules/react-fast-compare/index-99513933.js.map +1 -0
- package/_internal/node_modules/react-is/cjs/react-is.development-14e01ef0.js +231 -0
- package/_internal/node_modules/react-is/cjs/react-is.development-14e01ef0.js.map +1 -0
- package/_internal/node_modules/react-is/cjs/react-is.production.min-e9383e8b.js +27 -0
- package/_internal/node_modules/react-is/cjs/react-is.production.min-e9383e8b.js.map +1 -0
- package/_internal/node_modules/react-is/index-9764fb9f.js +20 -0
- package/_internal/node_modules/react-is/index-9764fb9f.js.map +1 -0
- package/_internal/node_modules/react-popper/lib/esm/usePopper-83c4b46f.js +100 -0
- package/_internal/node_modules/react-popper/lib/esm/usePopper-83c4b46f.js.map +1 -0
- package/_internal/node_modules/react-popper/lib/esm/utils-e142a98d.js +22 -0
- package/_internal/node_modules/react-popper/lib/esm/utils-e142a98d.js.map +1 -0
- package/_internal/packages/lumx-icons/dist/esm/alert-circle-893eb653.js +4 -0
- package/_internal/packages/lumx-icons/dist/esm/alert-circle-893eb653.js.map +1 -0
- package/_internal/packages/lumx-icons/dist/esm/alert-f419ecef.js +4 -0
- package/_internal/packages/lumx-icons/dist/esm/alert-f419ecef.js.map +1 -0
- package/_internal/packages/lumx-icons/dist/esm/arrow-down-a32628a1.js +4 -0
- package/_internal/packages/lumx-icons/dist/esm/arrow-down-a32628a1.js.map +1 -0
- package/_internal/packages/lumx-icons/dist/esm/arrow-up-78a9c3cd.js +4 -0
- package/_internal/packages/lumx-icons/dist/esm/arrow-up-78a9c3cd.js.map +1 -0
- package/_internal/packages/lumx-icons/dist/esm/check-1c3b349b.js +4 -0
- package/_internal/packages/lumx-icons/dist/esm/check-1c3b349b.js.map +1 -0
- package/_internal/{check-circle-de24f857.js → packages/lumx-icons/dist/esm/check-circle-e47dacb8.js} +2 -2
- package/_internal/packages/lumx-icons/dist/esm/check-circle-e47dacb8.js.map +1 -0
- package/_internal/packages/lumx-icons/dist/esm/chevron-down-256f8eff.js +4 -0
- package/_internal/packages/lumx-icons/dist/esm/chevron-down-256f8eff.js.map +1 -0
- package/_internal/packages/lumx-icons/dist/esm/chevron-left-e9c3b1e0.js +4 -0
- package/_internal/packages/lumx-icons/dist/esm/chevron-left-e9c3b1e0.js.map +1 -0
- package/_internal/packages/lumx-icons/dist/esm/chevron-right-aeba575c.js +4 -0
- package/_internal/packages/lumx-icons/dist/esm/chevron-right-aeba575c.js.map +1 -0
- package/_internal/packages/lumx-icons/dist/esm/chevron-up-0846b7f3.js +4 -0
- package/_internal/packages/lumx-icons/dist/esm/chevron-up-0846b7f3.js.map +1 -0
- package/_internal/{close-eaf6c45a.js → packages/lumx-icons/dist/esm/close-ad7c38b0.js} +2 -2
- package/_internal/packages/lumx-icons/dist/esm/close-ad7c38b0.js.map +1 -0
- package/_internal/{close-circle-ef5d1aac.js → packages/lumx-icons/dist/esm/close-circle-6f37d603.js} +2 -2
- package/_internal/packages/lumx-icons/dist/esm/close-circle-6f37d603.js.map +1 -0
- package/_internal/packages/lumx-icons/dist/esm/drag-vertical-c72d4f8b.js +4 -0
- package/_internal/packages/lumx-icons/dist/esm/drag-vertical-c72d4f8b.js.map +1 -0
- package/_internal/packages/lumx-icons/dist/esm/image-broken-1060c47e.js +4 -0
- package/_internal/packages/lumx-icons/dist/esm/image-broken-1060c47e.js.map +1 -0
- package/_internal/packages/lumx-icons/dist/esm/information-68f13c1c.js +4 -0
- package/_internal/packages/lumx-icons/dist/esm/information-68f13c1c.js.map +1 -0
- package/_internal/packages/lumx-icons/dist/esm/magnify-minus-outline-2d69d0f5.js +4 -0
- package/_internal/packages/lumx-icons/dist/esm/magnify-minus-outline-2d69d0f5.js.map +1 -0
- package/_internal/packages/lumx-icons/dist/esm/magnify-plus-outline-341ceaa9.js +4 -0
- package/_internal/packages/lumx-icons/dist/esm/magnify-plus-outline-341ceaa9.js.map +1 -0
- package/_internal/packages/lumx-icons/dist/esm/menu-down-b0846836.js +4 -0
- package/_internal/packages/lumx-icons/dist/esm/menu-down-b0846836.js.map +1 -0
- package/_internal/packages/lumx-icons/dist/esm/minus-b9ed1f7a.js +4 -0
- package/_internal/packages/lumx-icons/dist/esm/minus-b9ed1f7a.js.map +1 -0
- package/_internal/packages/lumx-icons/dist/esm/pause-circle-outline-4bb19934.js +4 -0
- package/_internal/packages/lumx-icons/dist/esm/pause-circle-outline-4bb19934.js.map +1 -0
- package/_internal/packages/lumx-icons/dist/esm/play-circle-outline-185778b8.js +4 -0
- package/_internal/packages/lumx-icons/dist/esm/play-circle-outline-185778b8.js.map +1 -0
- package/_internal/packages/lumx-icons/dist/esm/radiobox-blank-4f71fd36.js +4 -0
- package/_internal/packages/lumx-icons/dist/esm/radiobox-blank-4f71fd36.js.map +1 -0
- package/_internal/packages/lumx-icons/dist/esm/radiobox-marked-a2c7c463.js +4 -0
- package/_internal/packages/lumx-icons/dist/esm/radiobox-marked-a2c7c463.js.map +1 -0
- package/_internal/{components/alert-dialog-5326cf04.js → packages/lumx-react/src/components/alert-dialog/AlertDialog-9cbbc6b1.js} +11 -9
- package/_internal/packages/lumx-react/src/components/alert-dialog/AlertDialog-9cbbc6b1.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/autocomplete/Autocomplete-d2b59692.js +133 -0
- package/_internal/packages/lumx-react/src/components/autocomplete/Autocomplete-d2b59692.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/autocomplete/AutocompleteMultiple-3ea98830.js +139 -0
- package/_internal/packages/lumx-react/src/components/autocomplete/AutocompleteMultiple-3ea98830.js.map +1 -0
- package/_internal/{components/avatar-52bb217f.js → packages/lumx-react/src/components/avatar/Avatar-a875f5a5.js} +4 -4
- package/_internal/packages/lumx-react/src/components/avatar/Avatar-a875f5a5.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/badge/Badge-2a365bd5.js +53 -0
- package/_internal/packages/lumx-react/src/components/badge/Badge-2a365bd5.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/badge/BadgeWrapper-884b7745.js +36 -0
- package/_internal/packages/lumx-react/src/components/badge/BadgeWrapper-884b7745.js.map +1 -0
- package/_internal/{Button-1b7d3b79.js → packages/lumx-react/src/components/button/Button-86d16087.js} +8 -8
- package/_internal/packages/lumx-react/src/components/button/Button-86d16087.js.map +1 -0
- package/_internal/{components/button-c4127e86.js → packages/lumx-react/src/components/button/ButtonGroup-637b48c7.js} +2 -4
- package/_internal/packages/lumx-react/src/components/button/ButtonGroup-637b48c7.js.map +1 -0
- package/_internal/{ButtonRoot-a70baf82.js → packages/lumx-react/src/components/button/ButtonRoot-c88195b6.js} +6 -6
- package/_internal/packages/lumx-react/src/components/button/ButtonRoot-c88195b6.js.map +1 -0
- package/_internal/{IconButton-e11b5e74.js → packages/lumx-react/src/components/button/IconButton-a740ce59.js} +7 -7
- package/_internal/packages/lumx-react/src/components/button/IconButton-a740ce59.js.map +1 -0
- package/_internal/{components/checkbox-f7751583.js → packages/lumx-react/src/components/checkbox/Checkbox-b7f3676e.js} +11 -13
- package/_internal/packages/lumx-react/src/components/checkbox/Checkbox-b7f3676e.js.map +1 -0
- package/_internal/{Chip-8fbedc93.js → packages/lumx-react/src/components/chip/Chip-f1a3942a.js} +6 -22
- package/_internal/packages/lumx-react/src/components/chip/Chip-f1a3942a.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/chip/ChipGroup-1e9b0941.js +51 -0
- package/_internal/packages/lumx-react/src/components/chip/ChipGroup-1e9b0941.js.map +1 -0
- package/_internal/{components/comment-block-343e1922.js → packages/lumx-react/src/components/comment-block/CommentBlock-998d4a27.js} +5 -5
- package/_internal/packages/lumx-react/src/components/comment-block/CommentBlock-998d4a27.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/date-picker/DatePicker-f7f5c82d.js +53 -0
- package/_internal/packages/lumx-react/src/components/date-picker/DatePicker-f7f5c82d.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/date-picker/DatePickerControlled-4af66187.js +223 -0
- package/_internal/packages/lumx-react/src/components/date-picker/DatePickerControlled-4af66187.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/date-picker/DatePickerField-3c9c1ba5.js +107 -0
- package/_internal/packages/lumx-react/src/components/date-picker/DatePickerField-3c9c1ba5.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/date-picker/constants-f8c49b24.js +14 -0
- package/_internal/packages/lumx-react/src/components/date-picker/constants-f8c49b24.js.map +1 -0
- package/_internal/{components/dialog-d0e090b1.js → packages/lumx-react/src/components/dialog/Dialog-c1d85c51.js} +17 -47
- package/_internal/packages/lumx-react/src/components/dialog/Dialog-c1d85c51.js.map +1 -0
- package/_internal/{components/divider-0e93aa3d.js → packages/lumx-react/src/components/divider/Divider-450f85bf.js} +3 -3
- package/_internal/packages/lumx-react/src/components/divider/Divider-450f85bf.js.map +1 -0
- package/_internal/{components/drag-handle-eec23fc2.js → packages/lumx-react/src/components/drag-handle/DragHandle-ce52ef0b.js} +5 -6
- package/_internal/packages/lumx-react/src/components/drag-handle/DragHandle-ce52ef0b.js.map +1 -0
- package/_internal/{components/dropdown-25170b7c.js → packages/lumx-react/src/components/dropdown/Dropdown-ae2605cb.js} +8 -48
- package/_internal/packages/lumx-react/src/components/dropdown/Dropdown-ae2605cb.js.map +1 -0
- package/_internal/{components/expansion-panel-df812318.js → packages/lumx-react/src/components/expansion-panel/ExpansionPanel-b5b6cd76.js} +10 -9
- package/_internal/packages/lumx-react/src/components/expansion-panel/ExpansionPanel-b5b6cd76.js.map +1 -0
- package/_internal/{components/flag-c8d690bc.js → packages/lumx-react/src/components/flag/Flag-636dab49.js} +5 -5
- package/_internal/packages/lumx-react/src/components/flag/Flag-636dab49.js.map +1 -0
- package/_internal/{components/flex-box-4eeba972.js → packages/lumx-react/src/components/flex-box/FlexBox-57fe8191.js} +2 -2
- package/_internal/packages/lumx-react/src/components/flex-box/FlexBox-57fe8191.js.map +1 -0
- package/_internal/{components/generic-block-964b2724.js → packages/lumx-react/src/components/generic-block/GenericBlock-4eaab530.js} +6 -12
- package/_internal/packages/lumx-react/src/components/generic-block/GenericBlock-4eaab530.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/generic-block/constants-57f2079b.js +10 -0
- package/_internal/packages/lumx-react/src/components/generic-block/constants-57f2079b.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/grid/Grid-4bff53d3.js +64 -0
- package/_internal/packages/lumx-react/src/components/grid/Grid-4bff53d3.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/grid/GridItem-643ce4f2.js +48 -0
- package/_internal/packages/lumx-react/src/components/grid/GridItem-643ce4f2.js.map +1 -0
- package/_internal/{components/grid-column-99652545.js → packages/lumx-react/src/components/grid-column/GridColumn-7c04edfd.js} +2 -2
- package/_internal/packages/lumx-react/src/components/grid-column/GridColumn-7c04edfd.js.map +1 -0
- package/_internal/{components/heading-6cc0f178.js → packages/lumx-react/src/components/heading/Heading-8a472527.js} +6 -6
- package/_internal/packages/lumx-react/src/components/heading/Heading-8a472527.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/heading/HeadingLevelProvider-7bd8f886.js +30 -0
- package/_internal/packages/lumx-react/src/components/heading/HeadingLevelProvider-7bd8f886.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/heading/constants-82c6852b.js +19 -0
- package/_internal/packages/lumx-react/src/components/heading/constants-82c6852b.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/heading/context-0aa9027f.js +10 -0
- package/_internal/packages/lumx-react/src/components/heading/context-0aa9027f.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/heading/useHeadingLevel-953ba707.js +16 -0
- package/_internal/packages/lumx-react/src/components/heading/useHeadingLevel-953ba707.js.map +1 -0
- package/_internal/{index-d3e86bd8.js → packages/lumx-react/src/components/icon/Icon-21a83e8c.js} +5 -6
- package/_internal/packages/lumx-react/src/components/icon/Icon-21a83e8c.js.map +1 -0
- package/_internal/{components/image-block-4f3fe64c.js → packages/lumx-react/src/components/image-block/ImageBlock-403e75e0.js} +5 -5
- package/_internal/packages/lumx-react/src/components/image-block/ImageBlock-403e75e0.js.map +1 -0
- package/_internal/{ImageCaption-6f2f4131.js → packages/lumx-react/src/components/image-block/ImageCaption-f59f00d0.js} +5 -5
- package/_internal/packages/lumx-react/src/components/image-block/ImageCaption-f59f00d0.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/image-lightbox/ImageLightbox-5986e26a.js +87 -0
- package/_internal/packages/lumx-react/src/components/image-lightbox/ImageLightbox-5986e26a.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/image-lightbox/constants-31b6784b.js +14 -0
- package/_internal/packages/lumx-react/src/components/image-lightbox/constants-31b6784b.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/image-lightbox/internal/ImageSlide-9cfe18c6.js +104 -0
- package/_internal/packages/lumx-react/src/components/image-lightbox/internal/ImageSlide-9cfe18c6.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/image-lightbox/internal/ImageSlideshow-a185b234.js +150 -0
- package/_internal/packages/lumx-react/src/components/image-lightbox/internal/ImageSlideshow-a185b234.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/image-lightbox/internal/useAnimateScroll-0db022d6.js +58 -0
- package/_internal/packages/lumx-react/src/components/image-lightbox/internal/useAnimateScroll-0db022d6.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/image-lightbox/internal/usePointerZoom-8d318b2b.js +138 -0
- package/_internal/packages/lumx-react/src/components/image-lightbox/internal/usePointerZoom-8d318b2b.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/image-lightbox/useImageLightbox-4a785dc6.js +133 -0
- package/_internal/packages/lumx-react/src/components/image-lightbox/useImageLightbox-4a785dc6.js.map +1 -0
- package/_internal/{components/inline-list-5ba8bb0f.js → packages/lumx-react/src/components/inline-list/InlineList-c2daf1d2.js} +2 -2
- package/_internal/packages/lumx-react/src/components/inline-list/InlineList-c2daf1d2.js.map +1 -0
- package/_internal/{components/input-helper-2e4e49fd.js → packages/lumx-react/src/components/input-helper/InputHelper-a6c7ec2d.js} +4 -15
- package/_internal/packages/lumx-react/src/components/input-helper/InputHelper-a6c7ec2d.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/input-helper/constants-08b0de35.js +14 -0
- package/_internal/packages/lumx-react/src/components/input-helper/constants-08b0de35.js.map +1 -0
- package/_internal/{components/input-label-30d199c3.js → packages/lumx-react/src/components/input-label/InputLabel-7ce8e604.js} +3 -3
- package/_internal/packages/lumx-react/src/components/input-label/InputLabel-7ce8e604.js.map +1 -0
- package/_internal/{components/lightbox-10ff28f9.js → packages/lumx-react/src/components/lightbox/Lightbox-198bb478.js} +14 -14
- package/_internal/packages/lumx-react/src/components/lightbox/Lightbox-198bb478.js.map +1 -0
- package/_internal/{components/link-9d1bd2f6.js → packages/lumx-react/src/components/link/Link-f8b5025c.js} +6 -6
- package/_internal/packages/lumx-react/src/components/link/Link-f8b5025c.js.map +1 -0
- package/_internal/{components/link-preview-9525e97f.js → packages/lumx-react/src/components/link-preview/LinkPreview-777017cb.js} +5 -5
- package/_internal/packages/lumx-react/src/components/link-preview/LinkPreview-777017cb.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/list/List-83b50e25.js +75 -0
- package/_internal/packages/lumx-react/src/components/list/List-83b50e25.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/list/ListDivider-0cf94491.js +38 -0
- package/_internal/packages/lumx-react/src/components/list/ListDivider-0cf94491.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/list/ListItem-6278e6a0.js +126 -0
- package/_internal/packages/lumx-react/src/components/list/ListItem-6278e6a0.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/list/ListSubheader-8600d84d.js +40 -0
- package/_internal/packages/lumx-react/src/components/list/ListSubheader-8600d84d.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/list/useInteractiveList-2c23640c.js +157 -0
- package/_internal/packages/lumx-react/src/components/list/useInteractiveList-2c23640c.js.map +1 -0
- package/_internal/{components/message-edd6a28a.js → packages/lumx-react/src/components/message/Message-cfc1519a.js} +9 -7
- package/_internal/packages/lumx-react/src/components/message/Message-cfc1519a.js.map +1 -0
- package/_internal/{components/mosaic-c8084ee8.js → packages/lumx-react/src/components/mosaic/Mosaic-3af68efe.js} +4 -4
- package/_internal/packages/lumx-react/src/components/mosaic/Mosaic-3af68efe.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/navigation/Navigation-8455772e.js +67 -0
- package/_internal/packages/lumx-react/src/components/navigation/Navigation-8455772e.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/navigation/NavigationItem-66855e7e.js +75 -0
- package/_internal/packages/lumx-react/src/components/navigation/NavigationItem-66855e7e.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/navigation/NavigationSection-3f8ca10e.js +109 -0
- package/_internal/packages/lumx-react/src/components/navigation/NavigationSection-3f8ca10e.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/navigation/context-6b61b268.js +9 -0
- package/_internal/packages/lumx-react/src/components/navigation/context-6b61b268.js.map +1 -0
- package/_internal/{components/notification-97a8a04a.js → packages/lumx-react/src/components/notification/Notification-de96c6ff.js} +10 -33
- package/_internal/packages/lumx-react/src/components/notification/Notification-de96c6ff.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/notification/constants-363d85b8.js +29 -0
- package/_internal/packages/lumx-react/src/components/notification/constants-363d85b8.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/popover/Popover-341f65fb.js +155 -0
- package/_internal/packages/lumx-react/src/components/popover/Popover-341f65fb.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/popover/constants-9d063548.js +49 -0
- package/_internal/packages/lumx-react/src/components/popover/constants-9d063548.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/popover/usePopoverStyle-e067fbfc.js +198 -0
- package/_internal/packages/lumx-react/src/components/popover/usePopoverStyle-e067fbfc.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/popover/useRestoreFocusOnClose-36ed4d2a.js +47 -0
- package/_internal/packages/lumx-react/src/components/popover/useRestoreFocusOnClose-36ed4d2a.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/popover-dialog/PopoverDialog-ffd6c5a1.js +67 -0
- package/_internal/packages/lumx-react/src/components/popover-dialog/PopoverDialog-ffd6c5a1.js.map +1 -0
- package/_internal/{components/post-block-7e63c4f4.js → packages/lumx-react/src/components/post-block/PostBlock-91fd05ab.js} +5 -5
- package/_internal/packages/lumx-react/src/components/post-block/PostBlock-91fd05ab.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/progress/Progress-73bac34d.js +72 -0
- package/_internal/packages/lumx-react/src/components/progress/Progress-73bac34d.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/progress/ProgressCircular-e997908d.js +75 -0
- package/_internal/packages/lumx-react/src/components/progress/ProgressCircular-e997908d.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/progress/ProgressLinear-db03319f.js +56 -0
- package/_internal/packages/lumx-react/src/components/progress/ProgressLinear-db03319f.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/progress-tracker/ProgressTracker-78a62175.js +82 -0
- package/_internal/packages/lumx-react/src/components/progress-tracker/ProgressTracker-78a62175.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/progress-tracker/ProgressTrackerProvider-31e02258.js +60 -0
- package/_internal/packages/lumx-react/src/components/progress-tracker/ProgressTrackerProvider-31e02258.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/progress-tracker/ProgressTrackerStep-c80756f3.js +129 -0
- package/_internal/packages/lumx-react/src/components/progress-tracker/ProgressTrackerStep-c80756f3.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/progress-tracker/ProgressTrackerStepPanel-6f2d394e.js +62 -0
- package/_internal/packages/lumx-react/src/components/progress-tracker/ProgressTrackerStepPanel-6f2d394e.js.map +1 -0
- package/_internal/{components/radio-button-929c7bee.js → packages/lumx-react/src/components/radio-button/RadioButton-0a59ffbf.js} +21 -54
- package/_internal/packages/lumx-react/src/components/radio-button/RadioButton-0a59ffbf.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/radio-button/RadioGroup-7957765c.js +40 -0
- package/_internal/packages/lumx-react/src/components/radio-button/RadioGroup-7957765c.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/select/Select-530565a4.js +165 -0
- package/_internal/packages/lumx-react/src/components/select/Select-530565a4.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/select/SelectMultiple-d7fa1cf7.js +165 -0
- package/_internal/packages/lumx-react/src/components/select/SelectMultiple-d7fa1cf7.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/select/WithSelectContext-864d6be2.js +128 -0
- package/_internal/packages/lumx-react/src/components/select/WithSelectContext-864d6be2.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/select/constants-5178b7ba.js +10 -0
- package/_internal/packages/lumx-react/src/components/select/constants-5178b7ba.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/side-navigation/SideNavigation-b3267a19.js +48 -0
- package/_internal/packages/lumx-react/src/components/side-navigation/SideNavigation-b3267a19.js.map +1 -0
- package/_internal/{components/side-navigation-385825d4.js → packages/lumx-react/src/components/side-navigation/SideNavigationItem-2de35ba7.js} +13 -49
- package/_internal/packages/lumx-react/src/components/side-navigation/SideNavigationItem-2de35ba7.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/skeleton/SkeletonCircle-9ff29a07.js +52 -0
- package/_internal/packages/lumx-react/src/components/skeleton/SkeletonCircle-9ff29a07.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/skeleton/SkeletonRectangle-4d602e83.js +73 -0
- package/_internal/packages/lumx-react/src/components/skeleton/SkeletonRectangle-4d602e83.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/skeleton/SkeletonTypography-2b402be3.js +60 -0
- package/_internal/packages/lumx-react/src/components/skeleton/SkeletonTypography-2b402be3.js.map +1 -0
- package/_internal/{components/slider-78cfaa67.js → packages/lumx-react/src/components/slider/Slider-59996a75.js} +11 -43
- package/_internal/packages/lumx-react/src/components/slider/Slider-59996a75.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/slideshow/Slides-c8517dcb.js +95 -0
- package/_internal/packages/lumx-react/src/components/slideshow/Slides-c8517dcb.js.map +1 -0
- package/_internal/{components/slideshow-e0880d40.js → packages/lumx-react/src/components/slideshow/Slideshow-a21bfd66.js} +11 -32
- package/_internal/packages/lumx-react/src/components/slideshow/Slideshow-a21bfd66.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/slideshow/SlideshowControls-ecca54c4.js +173 -0
- package/_internal/packages/lumx-react/src/components/slideshow/SlideshowControls-ecca54c4.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/slideshow/SlideshowItem-59ca2aee.js +40 -0
- package/_internal/packages/lumx-react/src/components/slideshow/SlideshowItem-59ca2aee.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/slideshow/SlideshowItemGroup-ce6a30cd.js +55 -0
- package/_internal/packages/lumx-react/src/components/slideshow/SlideshowItemGroup-ce6a30cd.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/slideshow/constants-e50f2a75.js +27 -0
- package/_internal/packages/lumx-react/src/components/slideshow/constants-e50f2a75.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/slideshow/usePaginationVisibleRange-afe733eb.js +47 -0
- package/_internal/packages/lumx-react/src/components/slideshow/usePaginationVisibleRange-afe733eb.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/slideshow/useSlideFocusManagement-6380f9c4.js +93 -0
- package/_internal/packages/lumx-react/src/components/slideshow/useSlideFocusManagement-6380f9c4.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/slideshow/useSwipeNavigate-de52a4b9.js +20 -0
- package/_internal/packages/lumx-react/src/components/slideshow/useSwipeNavigate-de52a4b9.js.map +1 -0
- package/_internal/{components/switch-24fea8d7.js → packages/lumx-react/src/components/switch/Switch-22529b38.js} +7 -7
- package/_internal/packages/lumx-react/src/components/switch/Switch-22529b38.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/table/Table-ad4f6991.js +57 -0
- package/_internal/packages/lumx-react/src/components/table/Table-ad4f6991.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/table/TableBody-c6d71a78.js +40 -0
- package/_internal/packages/lumx-react/src/components/table/TableBody-c6d71a78.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/table/TableCell-8b038969.js +121 -0
- package/_internal/packages/lumx-react/src/components/table/TableCell-8b038969.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/table/TableHeader-50745c5b.js +46 -0
- package/_internal/packages/lumx-react/src/components/table/TableHeader-50745c5b.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/table/TableRow-1194f809.js +61 -0
- package/_internal/packages/lumx-react/src/components/table/TableRow-1194f809.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/tabs/Tab-24093fe0.js +109 -0
- package/_internal/packages/lumx-react/src/components/tabs/Tab-24093fe0.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/tabs/TabList-f0a286a1.js +89 -0
- package/_internal/packages/lumx-react/src/components/tabs/TabList-f0a286a1.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/tabs/TabPanel-18b761f5.js +62 -0
- package/_internal/packages/lumx-react/src/components/tabs/TabPanel-18b761f5.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/tabs/TabProvider-5349e230.js +65 -0
- package/_internal/packages/lumx-react/src/components/tabs/TabProvider-5349e230.js.map +1 -0
- package/_internal/{state-db358714.js → packages/lumx-react/src/components/tabs/state-af53c50e.js} +3 -3
- package/_internal/packages/lumx-react/src/components/tabs/state-af53c50e.js.map +1 -0
- package/_internal/{index-77f213b1.js → packages/lumx-react/src/components/text/Text-d8efb3ca.js} +6 -36
- package/_internal/packages/lumx-react/src/components/text/Text-d8efb3ca.js.map +1 -0
- package/_internal/{components/text-field-8597b7f7.js → packages/lumx-react/src/components/text-field/TextField-843f8e28.js} +13 -12
- package/_internal/packages/lumx-react/src/components/text-field/TextField-843f8e28.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/thumbnail/Thumbnail-49bab66c.js +179 -0
- package/_internal/packages/lumx-react/src/components/thumbnail/Thumbnail-49bab66c.js.map +1 -0
- package/_internal/{components/thumbnail-4928bba2.js → packages/lumx-react/src/components/thumbnail/types-58418448.js} +1 -2
- package/_internal/packages/lumx-react/src/components/thumbnail/types-58418448.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/thumbnail/useFocusPointStyle-b4018f8d.js +107 -0
- package/_internal/packages/lumx-react/src/components/thumbnail/useFocusPointStyle-b4018f8d.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/thumbnail/useImageLoad-7af4a428.js +39 -0
- package/_internal/packages/lumx-react/src/components/thumbnail/useImageLoad-7af4a428.js.map +1 -0
- package/_internal/{components/toolbar-e7c984e6.js → packages/lumx-react/src/components/toolbar/Toolbar-b30ac67a.js} +2 -2
- package/_internal/packages/lumx-react/src/components/toolbar/Toolbar-b30ac67a.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/tooltip/Tooltip-aabcaa4a.js +144 -0
- package/_internal/packages/lumx-react/src/components/tooltip/Tooltip-aabcaa4a.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/tooltip/constants-e5b346fd.js +9 -0
- package/_internal/packages/lumx-react/src/components/tooltip/constants-e5b346fd.js.map +1 -0
- package/_internal/{context-9d1336a1.js → packages/lumx-react/src/components/tooltip/context-841c2303.js} +2 -2
- package/_internal/packages/lumx-react/src/components/tooltip/context-841c2303.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/tooltip/useInjectTooltipRef-d245b414.js +52 -0
- package/_internal/packages/lumx-react/src/components/tooltip/useInjectTooltipRef-d245b414.js.map +1 -0
- package/_internal/packages/lumx-react/src/components/tooltip/useTooltipOpen-e3bae967.js +131 -0
- package/_internal/packages/lumx-react/src/components/tooltip/useTooltipOpen-e3bae967.js.map +1 -0
- package/_internal/{components/uploader-2e1b080e.js → packages/lumx-react/src/components/uploader/Uploader-6489c1ae.js} +8 -8
- package/_internal/packages/lumx-react/src/components/uploader/Uploader-6489c1ae.js.map +1 -0
- package/_internal/{components/user-block-5fd51607.js → packages/lumx-react/src/components/user-block/UserBlock-9b72469f.js} +5 -5
- package/_internal/packages/lumx-react/src/components/user-block/UserBlock-9b72469f.js.map +1 -0
- package/_internal/{constants-d0e3f49e.js → packages/lumx-react/src/constants-6af61e2f.js} +3 -3
- package/_internal/packages/lumx-react/src/constants-6af61e2f.js.map +1 -0
- package/_internal/{useBooleanState-2a3d237c.js → packages/lumx-react/src/hooks/useBooleanState-3e2f0517.js} +2 -2
- package/_internal/packages/lumx-react/src/hooks/useBooleanState-3e2f0517.js.map +1 -0
- package/_internal/packages/lumx-react/src/hooks/useCallbackOnEscape-80f4407b.js +34 -0
- package/_internal/packages/lumx-react/src/hooks/useCallbackOnEscape-80f4407b.js.map +1 -0
- package/_internal/{components/chip-1ed080fb.js → packages/lumx-react/src/hooks/useChipGroupNavigation-7d9c0855.js} +2 -50
- package/_internal/packages/lumx-react/src/hooks/useChipGroupNavigation-7d9c0855.js.map +1 -0
- package/_internal/packages/lumx-react/src/hooks/useClickAway-ab3e5463.js +39 -0
- package/_internal/packages/lumx-react/src/hooks/useClickAway-ab3e5463.js.map +1 -0
- package/_internal/packages/lumx-react/src/hooks/useDisableBodyScroll-5d576cdc.js +30 -0
- package/_internal/packages/lumx-react/src/hooks/useDisableBodyScroll-5d576cdc.js.map +1 -0
- package/_internal/packages/lumx-react/src/hooks/useEventCallback-a7abe967.js +20 -0
- package/_internal/packages/lumx-react/src/hooks/useEventCallback-a7abe967.js.map +1 -0
- package/_internal/packages/lumx-react/src/hooks/useFocus-89ee5eb2.js +22 -0
- package/_internal/packages/lumx-react/src/hooks/useFocus-89ee5eb2.js.map +1 -0
- package/_internal/{useFocusTrap-c3c6378b.js → packages/lumx-react/src/hooks/useFocusTrap-3a8a959d.js} +5 -27
- package/_internal/packages/lumx-react/src/hooks/useFocusTrap-3a8a959d.js.map +1 -0
- package/_internal/packages/lumx-react/src/hooks/useFocusWithin-9976fe9a.js +28 -0
- package/_internal/packages/lumx-react/src/hooks/useFocusWithin-9976fe9a.js.map +1 -0
- package/_internal/{useId-3a1facc0.js → packages/lumx-react/src/hooks/useId-11687649.js} +2 -2
- package/_internal/packages/lumx-react/src/hooks/useId-11687649.js.map +1 -0
- package/_internal/packages/lumx-react/src/hooks/useImageSize-d672fc0e.js +24 -0
- package/_internal/packages/lumx-react/src/hooks/useImageSize-d672fc0e.js.map +1 -0
- package/_internal/packages/lumx-react/src/hooks/useInfiniteScroll-dbc379f8.js +45 -0
- package/_internal/packages/lumx-react/src/hooks/useInfiniteScroll-dbc379f8.js.map +1 -0
- package/_internal/packages/lumx-react/src/hooks/useIntersectionObserver-dfa00cf7.js +35 -0
- package/_internal/packages/lumx-react/src/hooks/useIntersectionObserver-dfa00cf7.js.map +1 -0
- package/_internal/packages/lumx-react/src/hooks/useInterval-45ef51db.js +29 -0
- package/_internal/packages/lumx-react/src/hooks/useInterval-45ef51db.js.map +1 -0
- package/_internal/packages/lumx-react/src/hooks/useKeyboardListNavigation-2040beb8.js +169 -0
- package/_internal/packages/lumx-react/src/hooks/useKeyboardListNavigation-2040beb8.js.map +1 -0
- package/_internal/packages/lumx-react/src/hooks/useListenFocus-bb5fb0f9.js +28 -0
- package/_internal/packages/lumx-react/src/hooks/useListenFocus-bb5fb0f9.js.map +1 -0
- package/_internal/packages/lumx-react/src/hooks/useOverflowTooltipLabel-251ac3e6.js +34 -0
- package/_internal/packages/lumx-react/src/hooks/useOverflowTooltipLabel-251ac3e6.js.map +1 -0
- package/_internal/packages/lumx-react/src/hooks/usePopper-3e9a7aa1.js +24 -0
- package/_internal/packages/lumx-react/src/hooks/usePopper-3e9a7aa1.js.map +1 -0
- package/_internal/packages/lumx-react/src/hooks/usePreviousValue-6f3bb7d6.js +16 -0
- package/_internal/packages/lumx-react/src/hooks/usePreviousValue-6f3bb7d6.js.map +1 -0
- package/_internal/{useRovingTabIndex-7daf0f24.js → packages/lumx-react/src/hooks/useRovingTabIndex-bb8088e1.js} +2 -2
- package/_internal/packages/lumx-react/src/hooks/useRovingTabIndex-bb8088e1.js.map +1 -0
- package/_internal/packages/lumx-react/src/hooks/useSizeOnWindowResize-1ee5415f.js +27 -0
- package/_internal/packages/lumx-react/src/hooks/useSizeOnWindowResize-1ee5415f.js.map +1 -0
- package/_internal/packages/lumx-react/src/hooks/useSlideshowControls-9c881480.js +159 -0
- package/_internal/packages/lumx-react/src/hooks/useSlideshowControls-9c881480.js.map +1 -0
- package/_internal/packages/lumx-react/src/hooks/useStopPropagation-eef5d63f.js +21 -0
- package/_internal/packages/lumx-react/src/hooks/useStopPropagation-eef5d63f.js.map +1 -0
- package/_internal/{useTransitionVisibility-321fdbfa.js → packages/lumx-react/src/hooks/useTransitionVisibility-2beba0ac.js} +3 -8
- package/_internal/packages/lumx-react/src/hooks/useTransitionVisibility-2beba0ac.js.map +1 -0
- package/_internal/{ClickAwayProvider-7093ba23.js → packages/lumx-react/src/utils/ClickAwayProvider/ClickAwayProvider-ec55d284.js} +4 -38
- package/_internal/packages/lumx-react/src/utils/ClickAwayProvider/ClickAwayProvider-ec55d284.js.map +1 -0
- package/_internal/{Portal-3f86608e.js → packages/lumx-react/src/utils/Portal/Portal-9e38cfd0.js} +3 -15
- package/_internal/packages/lumx-react/src/utils/Portal/Portal-9e38cfd0.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/Portal/PortalProvider-883321fd.js +17 -0
- package/_internal/packages/lumx-react/src/utils/Portal/PortalProvider-883321fd.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/browser/DOM/findImage-b977b471.js +5 -0
- package/_internal/packages/lumx-react/src/utils/browser/DOM/findImage-b977b471.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/browser/DOM/startViewTransition-5cbc03c1.js +59 -0
- package/_internal/packages/lumx-react/src/utils/browser/DOM/startViewTransition-5cbc03c1.js.map +1 -0
- package/_internal/{getFocusableElements-230173a8.js → packages/lumx-react/src/utils/browser/focus/constants-c0a6dba6.js} +2 -7
- package/_internal/packages/lumx-react/src/utils/browser/focus/constants-c0a6dba6.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/browser/focus/getFirstAndLastFocusable-394b48f4.js +26 -0
- package/_internal/packages/lumx-react/src/utils/browser/focus/getFirstAndLastFocusable-394b48f4.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/browser/focus/getFocusableElements-14bf3ce5.js +9 -0
- package/_internal/packages/lumx-react/src/utils/browser/focus/getFocusableElements-14bf3ce5.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/browser/isFocusVisible-5745f198.js +12 -0
- package/_internal/packages/lumx-react/src/utils/browser/isFocusVisible-5745f198.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/browser/isHoverNotSupported-1ff933af.js +5 -0
- package/_internal/packages/lumx-react/src/utils/browser/isHoverNotSupported-1ff933af.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/browser/isReducedMotion-aca1229c.js +9 -0
- package/_internal/packages/lumx-react/src/utils/browser/isReducedMotion-aca1229c.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/date/addMonthResetDay-e429bd82.js +12 -0
- package/_internal/packages/lumx-react/src/utils/date/addMonthResetDay-e429bd82.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/date/formatDayNumber-db88500d.js +10 -0
- package/_internal/packages/lumx-react/src/utils/date/formatDayNumber-db88500d.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/date/getFirstDayOfWeek-b0780b33.js +60 -0
- package/_internal/packages/lumx-react/src/utils/date/getFirstDayOfWeek-b0780b33.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/date/getMonthCalendar-f0443cdb.js +55 -0
- package/_internal/packages/lumx-react/src/utils/date/getMonthCalendar-f0443cdb.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/date/getWeekDays-b4620c07.js +41 -0
- package/_internal/packages/lumx-react/src/utils/date/getWeekDays-b4620c07.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/date/getYearDisplayName-ed03c692.js +17 -0
- package/_internal/packages/lumx-react/src/utils/date/getYearDisplayName-ed03c692.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/date/isDateValid-658e09de.js +7 -0
- package/_internal/packages/lumx-react/src/utils/date/isDateValid-658e09de.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/date/isSameDay-487527e8.js +9 -0
- package/_internal/packages/lumx-react/src/utils/date/isSameDay-487527e8.js.map +1 -0
- package/_internal/{DisabledStateContext-ea04260d.js → packages/lumx-react/src/utils/disabled/DisabledStateContext-536517c5.js} +2 -2
- package/_internal/packages/lumx-react/src/utils/disabled/DisabledStateContext-536517c5.js.map +1 -0
- package/_internal/{useDisableStateProps-69e16b7c.js → packages/lumx-react/src/utils/disabled/useDisableStateProps-2391c02d.js} +3 -3
- package/_internal/packages/lumx-react/src/utils/disabled/useDisableStateProps-2391c02d.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/function/makeListenerTowerContext-b4dfa648.js +32 -0
- package/_internal/packages/lumx-react/src/utils/function/makeListenerTowerContext-b4dfa648.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/locale/getCurrentLocale-14390eeb.js +7 -0
- package/_internal/packages/lumx-react/src/utils/locale/getCurrentLocale-14390eeb.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/locale/parseLocale-7eca7fcd.js +28 -0
- package/_internal/packages/lumx-react/src/utils/locale/parseLocale-7eca7fcd.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/number/clamp-c3ccd387.js +20 -0
- package/_internal/packages/lumx-react/src/utils/number/clamp-c3ccd387.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/object/isEqual-b1154f4b.js +14 -0
- package/_internal/packages/lumx-react/src/utils/object/isEqual-b1154f4b.js.map +1 -0
- package/_internal/{partitionMulti-4daccdd5.js → packages/lumx-react/src/utils/partitionMulti-cb19eca6.js} +2 -2
- package/_internal/packages/lumx-react/src/utils/partitionMulti-cb19eca6.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/react/OnBeforeUnmount-6417ddb1.js +24 -0
- package/_internal/packages/lumx-react/src/utils/react/OnBeforeUnmount-6417ddb1.js.map +1 -0
- package/_internal/{RawClickable-2c2b6a89.js → packages/lumx-react/src/utils/react/RawClickable-e5e3e5c6.js} +3 -6
- package/_internal/packages/lumx-react/src/utils/react/RawClickable-e5e3e5c6.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/react/flattenChildren-f25e4a2f.js +37 -0
- package/_internal/packages/lumx-react/src/utils/react/flattenChildren-f25e4a2f.js.map +1 -0
- package/_internal/{forwardRef-8bce732e.js → packages/lumx-react/src/utils/react/forwardRef-bd8b3ec8.js} +2 -2
- package/_internal/packages/lumx-react/src/utils/react/forwardRef-bd8b3ec8.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/react/forwardRefPolymorphic-ebd44733.js +7 -0
- package/_internal/packages/lumx-react/src/utils/react/forwardRefPolymorphic-ebd44733.js.map +1 -0
- package/_internal/{mergeRefs-f0d7d6ea.js → packages/lumx-react/src/utils/react/mergeRefs-27df0cb6.js} +2 -2
- package/_internal/packages/lumx-react/src/utils/react/mergeRefs-27df0cb6.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/react/renderLink-09d97180.js +18 -0
- package/_internal/packages/lumx-react/src/utils/react/renderLink-09d97180.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/react/skipRender-9ed13067.js +24 -0
- package/_internal/packages/lumx-react/src/utils/react/skipRender-9ed13067.js.map +1 -0
- package/_internal/packages/lumx-react/src/utils/react/unref-bc393aec.js +8 -0
- package/_internal/packages/lumx-react/src/utils/react/unref-bc393aec.js.map +1 -0
- package/_internal/{wrapChildrenIconWithSpaces-fb85a743.js → packages/lumx-react/src/utils/react/wrapChildrenIconWithSpaces-5de82619.js} +4 -4
- package/_internal/packages/lumx-react/src/utils/react/wrapChildrenIconWithSpaces-5de82619.js.map +1 -0
- package/_internal/{ThemeContext-3181f000.js → packages/lumx-react/src/utils/theme/ThemeContext-d8ee966d.js} +2 -2
- package/_internal/packages/lumx-react/src/utils/theme/ThemeContext-d8ee966d.js.map +1 -0
- package/_internal/{isComponent-78df9309.js → packages/lumx-react/src/utils/type/isComponent-ebe24fd7.js} +2 -2
- package/_internal/packages/lumx-react/src/utils/type/isComponent-ebe24fd7.js.map +1 -0
- package/_internal/{isComponentType-e806b848.js → packages/lumx-react/src/utils/type/isComponentType-111e65e5.js} +2 -2
- package/_internal/packages/lumx-react/src/utils/type/isComponentType-111e65e5.js.map +1 -0
- package/index.js +95 -63
- package/index.js.map +1 -1
- package/package.json +3 -3
- package/utils/index.js +4 -3
- package/utils/index.js.map +1 -1
- package/_internal/Button-1b7d3b79.js.map +0 -1
- package/_internal/ButtonRoot-a70baf82.js.map +0 -1
- package/_internal/Chip-8fbedc93.js.map +0 -1
- package/_internal/ClickAwayProvider-7093ba23.js.map +0 -1
- package/_internal/DisabledStateContext-ea04260d.js.map +0 -1
- package/_internal/HeadingLevelProvider-ebdcb0c7.js +0 -61
- package/_internal/HeadingLevelProvider-ebdcb0c7.js.map +0 -1
- package/_internal/IconButton-e11b5e74.js.map +0 -1
- package/_internal/ImageCaption-6f2f4131.js.map +0 -1
- package/_internal/List-4e95288a.js +0 -820
- package/_internal/List-4e95288a.js.map +0 -1
- package/_internal/PopoverDialog-d85ff977.js +0 -656
- package/_internal/PopoverDialog-d85ff977.js.map +0 -1
- package/_internal/Portal-3f86608e.js.map +0 -1
- package/_internal/RawClickable-2c2b6a89.js.map +0 -1
- package/_internal/Slides-68a7d0e6.js +0 -683
- package/_internal/Slides-68a7d0e6.js.map +0 -1
- package/_internal/ThemeContext-3181f000.js.map +0 -1
- package/_internal/Thumbnail-22bbea7e.js +0 -315
- package/_internal/Thumbnail-22bbea7e.js.map +0 -1
- package/_internal/check-circle-de24f857.js.map +0 -1
- package/_internal/chevron-right-827b804a.js +0 -6
- package/_internal/chevron-right-827b804a.js.map +0 -1
- package/_internal/chevron-up-0b9c76cb.js +0 -6
- package/_internal/chevron-up-0b9c76cb.js.map +0 -1
- package/_internal/close-circle-ef5d1aac.js.map +0 -1
- package/_internal/close-eaf6c45a.js.map +0 -1
- package/_internal/components/alert-dialog-5326cf04.js.map +0 -1
- package/_internal/components/autocomplete-7d9581e8.js +0 -262
- package/_internal/components/autocomplete-7d9581e8.js.map +0 -1
- package/_internal/components/avatar-52bb217f.js.map +0 -1
- package/_internal/components/badge-ccf47147.js +0 -82
- package/_internal/components/badge-ccf47147.js.map +0 -1
- package/_internal/components/button-c4127e86.js.map +0 -1
- package/_internal/components/checkbox-f7751583.js.map +0 -1
- package/_internal/components/chip-1ed080fb.js.map +0 -1
- package/_internal/components/comment-block-343e1922.js.map +0 -1
- package/_internal/components/date-picker-b6b3dc77.js +0 -2
- package/_internal/components/date-picker-b6b3dc77.js.map +0 -1
- package/_internal/components/dialog-d0e090b1.js.map +0 -1
- package/_internal/components/divider-0e93aa3d.js.map +0 -1
- package/_internal/components/drag-handle-eec23fc2.js.map +0 -1
- package/_internal/components/dropdown-25170b7c.js.map +0 -1
- package/_internal/components/expansion-panel-df812318.js.map +0 -1
- package/_internal/components/flag-c8d690bc.js.map +0 -1
- package/_internal/components/flex-box-4eeba972.js.map +0 -1
- package/_internal/components/generic-block-964b2724.js.map +0 -1
- package/_internal/components/grid-8c08dc4b.js +0 -105
- package/_internal/components/grid-8c08dc4b.js.map +0 -1
- package/_internal/components/grid-column-99652545.js.map +0 -1
- package/_internal/components/heading-6cc0f178.js.map +0 -1
- package/_internal/components/icon-9cf785b1.js +0 -2
- package/_internal/components/icon-9cf785b1.js.map +0 -1
- package/_internal/components/image-block-4f3fe64c.js.map +0 -1
- package/_internal/components/image-lightbox-7b172571.js +0 -760
- package/_internal/components/image-lightbox-7b172571.js.map +0 -1
- package/_internal/components/inline-list-5ba8bb0f.js.map +0 -1
- package/_internal/components/input-helper-2e4e49fd.js.map +0 -1
- package/_internal/components/input-label-30d199c3.js.map +0 -1
- package/_internal/components/lightbox-10ff28f9.js.map +0 -1
- package/_internal/components/link-9d1bd2f6.js.map +0 -1
- package/_internal/components/link-preview-9525e97f.js.map +0 -1
- package/_internal/components/list-c8c7a6eb.js +0 -72
- package/_internal/components/list-c8c7a6eb.js.map +0 -1
- package/_internal/components/message-edd6a28a.js.map +0 -1
- package/_internal/components/mosaic-c8084ee8.js.map +0 -1
- package/_internal/components/navigation-c9121998.js +0 -226
- package/_internal/components/navigation-c9121998.js.map +0 -1
- package/_internal/components/notification-97a8a04a.js.map +0 -1
- package/_internal/components/popover-f93484cd.js +0 -3
- package/_internal/components/popover-f93484cd.js.map +0 -1
- package/_internal/components/post-block-7e63c4f4.js.map +0 -1
- package/_internal/components/progress-44bb0301.js +0 -183
- package/_internal/components/progress-44bb0301.js.map +0 -1
- package/_internal/components/progress-tracker-c9758d83.js +0 -310
- package/_internal/components/progress-tracker-c9758d83.js.map +0 -1
- package/_internal/components/radio-button-929c7bee.js.map +0 -1
- package/_internal/components/select-bea40e77.js +0 -459
- package/_internal/components/select-bea40e77.js.map +0 -1
- package/_internal/components/side-navigation-385825d4.js.map +0 -1
- package/_internal/components/skeleton-1ea8c82a.js +0 -167
- package/_internal/components/skeleton-1ea8c82a.js.map +0 -1
- package/_internal/components/slider-78cfaa67.js.map +0 -1
- package/_internal/components/slideshow-e0880d40.js.map +0 -1
- package/_internal/components/switch-24fea8d7.js.map +0 -1
- package/_internal/components/table-834af792.js +0 -298
- package/_internal/components/table-834af792.js.map +0 -1
- package/_internal/components/tabs-bebfe959.js +0 -299
- package/_internal/components/tabs-bebfe959.js.map +0 -1
- package/_internal/components/text-9074f440.js +0 -2
- package/_internal/components/text-9074f440.js.map +0 -1
- package/_internal/components/text-field-8597b7f7.js.map +0 -1
- package/_internal/components/thumbnail-4928bba2.js.map +0 -1
- package/_internal/components/toolbar-e7c984e6.js.map +0 -1
- package/_internal/components/tooltip-21018736.js +0 -328
- package/_internal/components/tooltip-21018736.js.map +0 -1
- package/_internal/components/uploader-2e1b080e.js.map +0 -1
- package/_internal/components/user-block-5fd51607.js.map +0 -1
- package/_internal/constants-43721918.js +0 -2170
- package/_internal/constants-43721918.js.map +0 -1
- package/_internal/constants-d0e3f49e.js.map +0 -1
- package/_internal/context-9d1336a1.js.map +0 -1
- package/_internal/forwardRef-8bce732e.js.map +0 -1
- package/_internal/getFocusableElements-230173a8.js.map +0 -1
- package/_internal/index-77f213b1.js.map +0 -1
- package/_internal/index-aa6d1d90.js +0 -437
- package/_internal/index-aa6d1d90.js.map +0 -1
- package/_internal/index-d3e86bd8.js.map +0 -1
- package/_internal/information-49bbeed3.js +0 -6
- package/_internal/information-49bbeed3.js.map +0 -1
- package/_internal/isComponent-78df9309.js.map +0 -1
- package/_internal/isComponentType-e806b848.js.map +0 -1
- package/_internal/mergeRefs-f0d7d6ea.js.map +0 -1
- package/_internal/partitionMulti-4daccdd5.js.map +0 -1
- package/_internal/state-db358714.js.map +0 -1
- package/_internal/useBooleanState-2a3d237c.js.map +0 -1
- package/_internal/useCallbackOnEscape-ea4d9eb4.js +0 -62
- package/_internal/useCallbackOnEscape-ea4d9eb4.js.map +0 -1
- package/_internal/useDisableBodyScroll-36bd7352.js.map +0 -1
- package/_internal/useDisableStateProps-69e16b7c.js.map +0 -1
- package/_internal/useFocusTrap-c3c6378b.js.map +0 -1
- package/_internal/useId-3a1facc0.js.map +0 -1
- package/_internal/useRovingTabIndex-7daf0f24.js.map +0 -1
- package/_internal/useTransitionVisibility-321fdbfa.js.map +0 -1
- package/_internal/wrapChildrenIconWithSpaces-fb85a743.js.map +0 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { useState, useEffect } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Convenient hook to create interaction observers.
|
|
5
|
+
*
|
|
6
|
+
* @param elements Elements to observe.
|
|
7
|
+
* @param options IntersectionObserver options.
|
|
8
|
+
* @return Map of intersections.
|
|
9
|
+
*/
|
|
10
|
+
function useIntersectionObserver(elements, options) {
|
|
11
|
+
const [intersections, setIntersections] = useState(() => new Map());
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
if (elements.length < 1 || !elements.some(Boolean)) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
const observer = new IntersectionObserver(entries => {
|
|
17
|
+
for (const entry of entries) {
|
|
18
|
+
intersections.set(entry.target, entry);
|
|
19
|
+
}
|
|
20
|
+
setIntersections(new Map(intersections));
|
|
21
|
+
}, options);
|
|
22
|
+
for (const element of elements) {
|
|
23
|
+
if (element) {
|
|
24
|
+
observer.observe(element);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return () => observer.disconnect();
|
|
28
|
+
},
|
|
29
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
30
|
+
[...elements]);
|
|
31
|
+
return intersections;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export { useIntersectionObserver };
|
|
35
|
+
//# sourceMappingURL=useIntersectionObserver-dfa00cf7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIntersectionObserver-dfa00cf7.js","sources":["../../../../../../src/hooks/useIntersectionObserver.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport type Intersections<T> = Map<T, IntersectionObserverEntry>;\n\n/**\n * Convenient hook to create interaction observers.\n *\n * @param elements Elements to observe.\n * @param options IntersectionObserver options.\n * @return Map of intersections.\n */\nexport function useIntersectionObserver<T extends Element>(\n elements: Array<T | null | undefined>,\n options?: IntersectionObserverInit,\n): Intersections<T> {\n const [intersections, setIntersections] = useState<Intersections<T>>(() => new Map());\n\n useEffect(\n () => {\n if (elements.length < 1 || !elements.some(Boolean)) {\n return undefined;\n }\n\n const observer = new IntersectionObserver((entries) => {\n for (const entry of entries) {\n intersections.set(entry.target as T, entry);\n }\n setIntersections(new Map(intersections));\n }, options);\n\n for (const element of elements) {\n if (element) {\n observer.observe(element);\n }\n }\n return () => observer.disconnect();\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [...elements],\n );\n\n return intersections;\n}\n"],"names":["useIntersectionObserver","elements","options","intersections","setIntersections","useState","Map","useEffect","length","some","Boolean","undefined","observer","IntersectionObserver","entries","entry","set","target","element","observe","disconnect"],"mappings":";;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,uBAAuBA,CACnCC,QAAqC,EACrCC,OAAkC,EAClB;AAChB,EAAA,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGC,QAAQ,CAAmB,MAAM,IAAIC,GAAG,EAAE,CAAC,CAAA;AAErFC,EAAAA,SAAS,CACL,MAAM;AACF,IAAA,IAAIN,QAAQ,CAACO,MAAM,GAAG,CAAC,IAAI,CAACP,QAAQ,CAACQ,IAAI,CAACC,OAAO,CAAC,EAAE;AAChD,MAAA,OAAOC,SAAS,CAAA;AACpB,KAAA;AAEA,IAAA,MAAMC,QAAQ,GAAG,IAAIC,oBAAoB,CAAEC,OAAO,IAAK;AACnD,MAAA,KAAK,MAAMC,KAAK,IAAID,OAAO,EAAE;QACzBX,aAAa,CAACa,GAAG,CAACD,KAAK,CAACE,MAAM,EAAOF,KAAK,CAAC,CAAA;AAC/C,OAAA;AACAX,MAAAA,gBAAgB,CAAC,IAAIE,GAAG,CAACH,aAAa,CAAC,CAAC,CAAA;KAC3C,EAAED,OAAO,CAAC,CAAA;AAEX,IAAA,KAAK,MAAMgB,OAAO,IAAIjB,QAAQ,EAAE;AAC5B,MAAA,IAAIiB,OAAO,EAAE;AACTN,QAAAA,QAAQ,CAACO,OAAO,CAACD,OAAO,CAAC,CAAA;AAC7B,OAAA;AACJ,KAAA;AACA,IAAA,OAAO,MAAMN,QAAQ,CAACQ,UAAU,EAAE,CAAA;GACrC;AACD;EACA,CAAC,GAAGnB,QAAQ,CAChB,CAAC,CAAA;AAED,EAAA,OAAOE,aAAa,CAAA;AACxB;;;;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useRef, useEffect } from 'react';
|
|
2
|
+
import isFunction from 'lodash/isFunction';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Making setInterval Declarative with React Hooks.
|
|
6
|
+
* Credits: https://overreacted.io/making-setinterval-declarative-with-react-hooks/
|
|
7
|
+
*
|
|
8
|
+
* @param callback Function called by setInterval.
|
|
9
|
+
* @param delay Delay for setInterval.
|
|
10
|
+
*/
|
|
11
|
+
function useInterval(callback, delay) {
|
|
12
|
+
const savedCallback = useRef();
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
savedCallback.current = callback;
|
|
15
|
+
});
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
if (delay === null) return undefined;
|
|
18
|
+
function tick() {
|
|
19
|
+
if (isFunction(savedCallback.current)) {
|
|
20
|
+
savedCallback.current();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
const id = setInterval(tick, delay);
|
|
24
|
+
return () => clearInterval(id);
|
|
25
|
+
}, [delay]);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { useInterval };
|
|
29
|
+
//# sourceMappingURL=useInterval-45ef51db.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInterval-45ef51db.js","sources":["../../../../../../src/hooks/useInterval.tsx"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport isFunction from 'lodash/isFunction';\nimport { Callback } from '@lumx/react/utils/type';\n\n/**\n * Making setInterval Declarative with React Hooks.\n * Credits: https://overreacted.io/making-setinterval-declarative-with-react-hooks/\n *\n * @param callback Function called by setInterval.\n * @param delay Delay for setInterval.\n */\nexport function useInterval(callback: Callback, delay: number | null): void {\n const savedCallback = useRef<Callback>();\n\n useEffect(() => {\n savedCallback.current = callback;\n });\n\n useEffect(() => {\n if (delay === null) return undefined;\n\n function tick() {\n if (isFunction(savedCallback.current)) {\n savedCallback.current();\n }\n }\n const id = setInterval(tick, delay);\n return () => clearInterval(id);\n }, [delay]);\n}\n"],"names":["useInterval","callback","delay","savedCallback","useRef","useEffect","current","undefined","tick","isFunction","id","setInterval","clearInterval"],"mappings":";;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,WAAWA,CAACC,QAAkB,EAAEC,KAAoB,EAAQ;AACxE,EAAA,MAAMC,aAAa,GAAGC,MAAM,EAAY,CAAA;AAExCC,EAAAA,SAAS,CAAC,MAAM;IACZF,aAAa,CAACG,OAAO,GAAGL,QAAQ,CAAA;AACpC,GAAC,CAAC,CAAA;AAEFI,EAAAA,SAAS,CAAC,MAAM;AACZ,IAAA,IAAIH,KAAK,KAAK,IAAI,EAAE,OAAOK,SAAS,CAAA;IAEpC,SAASC,IAAIA,GAAG;AACZ,MAAA,IAAIC,UAAU,CAACN,aAAa,CAACG,OAAO,CAAC,EAAE;QACnCH,aAAa,CAACG,OAAO,EAAE,CAAA;AAC3B,OAAA;AACJ,KAAA;AACA,IAAA,MAAMI,EAAE,GAAGC,WAAW,CAACH,IAAI,EAAEN,KAAK,CAAC,CAAA;AACnC,IAAA,OAAO,MAAMU,aAAa,CAACF,EAAE,CAAC,CAAA;AAClC,GAAC,EAAE,CAACR,KAAK,CAAC,CAAC,CAAA;AACf;;;;"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { useState, useEffect } from 'react';
|
|
2
|
+
import get from 'lodash/get';
|
|
3
|
+
|
|
4
|
+
const INITIAL_INDEX = -1;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* This custom hook provides the necessary set of functions and values to properly navigate
|
|
8
|
+
* a list using the keyboard.
|
|
9
|
+
*
|
|
10
|
+
* @param items the list of items that will be navigated using the keyboard.
|
|
11
|
+
* @param ref A reference to the element that is controlling the navigation.
|
|
12
|
+
* @param onListItemSelected callback to be executed when the ENTER key is pressed on an item.
|
|
13
|
+
* @param onListItemNavigated callback to be executed when the Arrow keys are pressed.
|
|
14
|
+
* @param onEnterPressed callback to be executed when the ENTER key is pressed.
|
|
15
|
+
* @param onBackspacePressed callback to be executed when the BACKSPACE key is pressed.
|
|
16
|
+
* @param keepFocusAfterSelection determines whether after selecting an item, the focus should be maintained on the current target or not.
|
|
17
|
+
* @param initialIndex where should the navigation start from. it defaults to `-1`, so the first item navigated is the item on position `0`.
|
|
18
|
+
* @param preventTabOnEnteredValue determines whether upon TAB, if there is a value entered, the event is prevented or not.
|
|
19
|
+
* @return useKeyboardListNavigation helpers.
|
|
20
|
+
*/
|
|
21
|
+
const useKeyboardListNavigation = (items, ref, onListItemSelected, onListItemNavigated, onEnterPressed, onBackspacePressed, keepFocusAfterSelection = false, initialIndex = INITIAL_INDEX, preventTabOnEnteredValue = true) => {
|
|
22
|
+
const [activeItemIndex, setActiveItemIndex] = useState(initialIndex);
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* This function calculates the next index in the list to be highlighted
|
|
26
|
+
* @param key - key code pressed
|
|
27
|
+
* @return next active index
|
|
28
|
+
*/
|
|
29
|
+
const calculateActiveIndex = key => {
|
|
30
|
+
switch (key) {
|
|
31
|
+
case 'ArrowDown':
|
|
32
|
+
return activeItemIndex + 1 < items.length ? activeItemIndex + 1 : 0;
|
|
33
|
+
case 'ArrowUp':
|
|
34
|
+
return activeItemIndex - 1 >= 0 ? activeItemIndex - 1 : items.length - 1;
|
|
35
|
+
default:
|
|
36
|
+
return initialIndex;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Resets the active index to the initial state
|
|
42
|
+
*/
|
|
43
|
+
const resetActiveIndex = () => {
|
|
44
|
+
setActiveItemIndex(initialIndex);
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Prevents the default event and stops the propagation of said event
|
|
49
|
+
* @param evt - key pressed event
|
|
50
|
+
*/
|
|
51
|
+
const preventDefaultAndStopPropagation = evt => {
|
|
52
|
+
evt.preventDefault();
|
|
53
|
+
evt.stopPropagation();
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Handles navigation with the arrows using the keyboard
|
|
58
|
+
* @param evt - key pressed event
|
|
59
|
+
*/
|
|
60
|
+
const onArrowPressed = evt => {
|
|
61
|
+
const {
|
|
62
|
+
key
|
|
63
|
+
} = evt;
|
|
64
|
+
const nextActiveIndex = calculateActiveIndex(key);
|
|
65
|
+
setActiveItemIndex(nextActiveIndex);
|
|
66
|
+
preventDefaultAndStopPropagation(evt);
|
|
67
|
+
if (onListItemNavigated) {
|
|
68
|
+
const selectedItem = items[nextActiveIndex];
|
|
69
|
+
onListItemNavigated(selectedItem);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Handles the event when the backspace key is pressed
|
|
75
|
+
* @param evt - key pressed event
|
|
76
|
+
*/
|
|
77
|
+
const onBackspaceKeyPressed = evt => {
|
|
78
|
+
if (onBackspacePressed) {
|
|
79
|
+
onBackspacePressed(evt);
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Handles when the ENTER key is pressed
|
|
85
|
+
* @param evt - key pressed event
|
|
86
|
+
*/
|
|
87
|
+
const onEnterKeyPressed = evt => {
|
|
88
|
+
if (!onListItemSelected) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
preventDefaultAndStopPropagation(evt);
|
|
92
|
+
if (!keepFocusAfterSelection) {
|
|
93
|
+
evt.currentTarget.blur();
|
|
94
|
+
}
|
|
95
|
+
const selectedItem = items[activeItemIndex];
|
|
96
|
+
if (selectedItem) {
|
|
97
|
+
onListItemSelected(selectedItem);
|
|
98
|
+
resetActiveIndex();
|
|
99
|
+
} else if (activeItemIndex === initialIndex && onEnterPressed) {
|
|
100
|
+
const value = get(evt, 'target.value');
|
|
101
|
+
onEnterPressed(value);
|
|
102
|
+
resetActiveIndex();
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Handles when the TAB key is pressed
|
|
108
|
+
* @param evt - key pressed event
|
|
109
|
+
*/
|
|
110
|
+
const onTabKeyPressed = evt => {
|
|
111
|
+
const value = get(evt, 'target.value');
|
|
112
|
+
if (preventTabOnEnteredValue && value && value.length > 0) {
|
|
113
|
+
preventDefaultAndStopPropagation(evt);
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* In order to make it easier in the future to add new events depending on the key
|
|
119
|
+
* a map was created to add these handlers. In the future, if there is another event
|
|
120
|
+
* that we need to manage depending on a specific key, we just need to add the key code
|
|
121
|
+
* here, and as a value, the handler for said key.
|
|
122
|
+
*/
|
|
123
|
+
const eventsForKeyPressed = {
|
|
124
|
+
ArrowDown: onArrowPressed,
|
|
125
|
+
Tab: onTabKeyPressed,
|
|
126
|
+
ArrowUp: onArrowPressed,
|
|
127
|
+
Enter: onEnterKeyPressed,
|
|
128
|
+
Backspace: onBackspaceKeyPressed
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Calculates the next active item index depending on the key pressed.
|
|
133
|
+
* If the key pressed was ENTER, the function executes the callback `onListItemSelected`
|
|
134
|
+
* and resets the active index, since an item was selected.
|
|
135
|
+
* @param evt - key pressed or key down event
|
|
136
|
+
*/
|
|
137
|
+
const onKeyboardNavigation = evt => {
|
|
138
|
+
const {
|
|
139
|
+
key
|
|
140
|
+
} = evt;
|
|
141
|
+
const handler = eventsForKeyPressed[key];
|
|
142
|
+
if (handler) {
|
|
143
|
+
handler(evt);
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
useEffect(() => {
|
|
147
|
+
const {
|
|
148
|
+
current: currentElement
|
|
149
|
+
} = ref;
|
|
150
|
+
if (!currentElement) {
|
|
151
|
+
return undefined;
|
|
152
|
+
}
|
|
153
|
+
currentElement.addEventListener('focus', resetActiveIndex);
|
|
154
|
+
currentElement.addEventListener('keydown', onKeyboardNavigation);
|
|
155
|
+
return () => {
|
|
156
|
+
currentElement.removeEventListener('focus', resetActiveIndex);
|
|
157
|
+
currentElement.removeEventListener('keydown', onKeyboardNavigation);
|
|
158
|
+
};
|
|
159
|
+
});
|
|
160
|
+
return {
|
|
161
|
+
activeItemIndex,
|
|
162
|
+
onKeyboardNavigation,
|
|
163
|
+
resetActiveIndex,
|
|
164
|
+
setActiveItemIndex
|
|
165
|
+
};
|
|
166
|
+
};
|
|
167
|
+
|
|
168
|
+
export { useKeyboardListNavigation };
|
|
169
|
+
//# sourceMappingURL=useKeyboardListNavigation-2040beb8.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useKeyboardListNavigation-2040beb8.js","sources":["../../../../../../src/hooks/useKeyboardListNavigation.tsx"],"sourcesContent":["import { RefObject, SetStateAction, useEffect, useState } from 'react';\n\nimport get from 'lodash/get';\n\ntype Listener = (evt: KeyboardEvent) => void;\n\ninterface UseKeyboardListNavigationType {\n /** the current active index */\n activeItemIndex: number;\n /** callback to be used when a key is pressed. usually used with the native prop `onKeyDown` */\n onKeyboardNavigation: Listener;\n /** Resets the active index to the initial state */\n resetActiveIndex(): void;\n /** Sets the active index to a given value */\n setActiveItemIndex(value: SetStateAction<number>): void;\n}\n\nexport type useKeyboardListNavigationType = <I>(\n items: I[],\n ref: RefObject<HTMLElement>,\n onListItemSelected: (itemSelected: I) => void,\n onListItemNavigated?: (itemSelected: I) => void,\n onEnterPressed?: (itemSelected: string) => void,\n onBackspacePressed?: Listener,\n keepFocusAfterSelection?: boolean,\n initialIndex?: number,\n preventTabOnEnteredValue?: boolean,\n) => UseKeyboardListNavigationType;\n\nconst INITIAL_INDEX = -1;\n\n/**\n * This custom hook provides the necessary set of functions and values to properly navigate\n * a list using the keyboard.\n *\n * @param items the list of items that will be navigated using the keyboard.\n * @param ref A reference to the element that is controlling the navigation.\n * @param onListItemSelected callback to be executed when the ENTER key is pressed on an item.\n * @param onListItemNavigated callback to be executed when the Arrow keys are pressed.\n * @param onEnterPressed callback to be executed when the ENTER key is pressed.\n * @param onBackspacePressed callback to be executed when the BACKSPACE key is pressed.\n * @param keepFocusAfterSelection determines whether after selecting an item, the focus should be maintained on the current target or not.\n * @param initialIndex where should the navigation start from. it defaults to `-1`, so the first item navigated is the item on position `0`.\n * @param preventTabOnEnteredValue determines whether upon TAB, if there is a value entered, the event is prevented or not.\n * @return useKeyboardListNavigation helpers.\n */\nexport const useKeyboardListNavigation: useKeyboardListNavigationType = (\n items,\n ref,\n onListItemSelected,\n onListItemNavigated,\n onEnterPressed,\n onBackspacePressed,\n keepFocusAfterSelection = false,\n initialIndex = INITIAL_INDEX,\n preventTabOnEnteredValue = true,\n) => {\n const [activeItemIndex, setActiveItemIndex] = useState(initialIndex);\n\n /**\n * This function calculates the next index in the list to be highlighted\n * @param key - key code pressed\n * @return next active index\n */\n const calculateActiveIndex = (key: string): number => {\n switch (key) {\n case 'ArrowDown':\n return activeItemIndex + 1 < items.length ? activeItemIndex + 1 : 0;\n case 'ArrowUp':\n return activeItemIndex - 1 >= 0 ? activeItemIndex - 1 : items.length - 1;\n default:\n return initialIndex;\n }\n };\n\n /**\n * Resets the active index to the initial state\n */\n const resetActiveIndex = () => {\n setActiveItemIndex(initialIndex);\n };\n\n /**\n * Prevents the default event and stops the propagation of said event\n * @param evt - key pressed event\n */\n const preventDefaultAndStopPropagation: Listener = (evt) => {\n evt.preventDefault();\n evt.stopPropagation();\n };\n\n /**\n * Handles navigation with the arrows using the keyboard\n * @param evt - key pressed event\n */\n const onArrowPressed: Listener = (evt) => {\n const { key } = evt;\n const nextActiveIndex = calculateActiveIndex(key);\n setActiveItemIndex(nextActiveIndex);\n preventDefaultAndStopPropagation(evt);\n if (onListItemNavigated) {\n const selectedItem = items[nextActiveIndex];\n onListItemNavigated(selectedItem);\n }\n };\n\n /**\n * Handles the event when the backspace key is pressed\n * @param evt - key pressed event\n */\n const onBackspaceKeyPressed: Listener = (evt) => {\n if (onBackspacePressed) {\n onBackspacePressed(evt);\n }\n };\n\n /**\n * Handles when the ENTER key is pressed\n * @param evt - key pressed event\n */\n const onEnterKeyPressed: Listener = (evt) => {\n if (!onListItemSelected) {\n return;\n }\n\n preventDefaultAndStopPropagation(evt);\n\n if (!keepFocusAfterSelection) {\n (evt.currentTarget as HTMLElement).blur();\n }\n\n const selectedItem = items[activeItemIndex];\n\n if (selectedItem) {\n onListItemSelected(selectedItem);\n resetActiveIndex();\n } else if (activeItemIndex === initialIndex && onEnterPressed) {\n const value = get(evt, 'target.value');\n onEnterPressed(value);\n resetActiveIndex();\n }\n };\n\n /**\n * Handles when the TAB key is pressed\n * @param evt - key pressed event\n */\n const onTabKeyPressed: Listener = (evt) => {\n const value = get(evt, 'target.value');\n\n if (preventTabOnEnteredValue && value && value.length > 0) {\n preventDefaultAndStopPropagation(evt);\n }\n };\n\n /**\n * In order to make it easier in the future to add new events depending on the key\n * a map was created to add these handlers. In the future, if there is another event\n * that we need to manage depending on a specific key, we just need to add the key code\n * here, and as a value, the handler for said key.\n */\n const eventsForKeyPressed: Record<string, Listener> = {\n ArrowDown: onArrowPressed,\n Tab: onTabKeyPressed,\n ArrowUp: onArrowPressed,\n Enter: onEnterKeyPressed,\n Backspace: onBackspaceKeyPressed,\n };\n\n /**\n * Calculates the next active item index depending on the key pressed.\n * If the key pressed was ENTER, the function executes the callback `onListItemSelected`\n * and resets the active index, since an item was selected.\n * @param evt - key pressed or key down event\n */\n const onKeyboardNavigation: Listener = (evt) => {\n const { key } = evt;\n const handler = eventsForKeyPressed[key];\n\n if (handler) {\n handler(evt);\n }\n };\n\n useEffect(() => {\n const { current: currentElement } = ref;\n if (!currentElement) {\n return undefined;\n }\n currentElement.addEventListener('focus', resetActiveIndex);\n currentElement.addEventListener('keydown', onKeyboardNavigation);\n return () => {\n currentElement.removeEventListener('focus', resetActiveIndex);\n currentElement.removeEventListener('keydown', onKeyboardNavigation);\n };\n });\n\n return {\n activeItemIndex,\n onKeyboardNavigation,\n resetActiveIndex,\n setActiveItemIndex,\n };\n};\n"],"names":["INITIAL_INDEX","useKeyboardListNavigation","items","ref","onListItemSelected","onListItemNavigated","onEnterPressed","onBackspacePressed","keepFocusAfterSelection","initialIndex","preventTabOnEnteredValue","activeItemIndex","setActiveItemIndex","useState","calculateActiveIndex","key","length","resetActiveIndex","preventDefaultAndStopPropagation","evt","preventDefault","stopPropagation","onArrowPressed","nextActiveIndex","selectedItem","onBackspaceKeyPressed","onEnterKeyPressed","currentTarget","blur","value","get","onTabKeyPressed","eventsForKeyPressed","ArrowDown","Tab","ArrowUp","Enter","Backspace","onKeyboardNavigation","handler","useEffect","current","currentElement","undefined","addEventListener","removeEventListener"],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { useState, useEffect } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Listen on element focus to store the focus status.
|
|
5
|
+
*/
|
|
6
|
+
function useListenFocus(ref) {
|
|
7
|
+
const [isFocus, setFocus] = useState(false);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
const {
|
|
10
|
+
current: element
|
|
11
|
+
} = ref;
|
|
12
|
+
if (!element) {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
const onFocus = () => setFocus(true);
|
|
16
|
+
const onBlur = () => setFocus(false);
|
|
17
|
+
element.addEventListener('focus', onFocus);
|
|
18
|
+
element.addEventListener('blur', onBlur);
|
|
19
|
+
return () => {
|
|
20
|
+
element.removeEventListener('focus', onFocus);
|
|
21
|
+
element.removeEventListener('blur', onBlur);
|
|
22
|
+
};
|
|
23
|
+
}, [ref, setFocus]);
|
|
24
|
+
return isFocus;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export { useListenFocus };
|
|
28
|
+
//# sourceMappingURL=useListenFocus-bb5fb0f9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useListenFocus-bb5fb0f9.js","sources":["../../../../../../src/hooks/useListenFocus.tsx"],"sourcesContent":["import { RefObject, useEffect, useState } from 'react';\n\n/**\n * Listen on element focus to store the focus status.\n */\nexport function useListenFocus(ref: RefObject<HTMLElement>) {\n const [isFocus, setFocus] = useState(false);\n\n useEffect(() => {\n const { current: element } = ref;\n if (!element) {\n return undefined;\n }\n\n const onFocus = () => setFocus(true);\n const onBlur = () => setFocus(false);\n element.addEventListener('focus', onFocus);\n element.addEventListener('blur', onBlur);\n return () => {\n element.removeEventListener('focus', onFocus);\n element.removeEventListener('blur', onBlur);\n };\n }, [ref, setFocus]);\n\n return isFocus;\n}\n"],"names":["useListenFocus","ref","isFocus","setFocus","useState","useEffect","current","element","undefined","onFocus","onBlur","addEventListener","removeEventListener"],"mappings":";;AAEA;AACA;AACA;AACO,SAASA,cAAcA,CAACC,GAA2B,EAAE;EACxD,MAAM,CAACC,OAAO,EAAEC,QAAQ,CAAC,GAAGC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAE3CC,EAAAA,SAAS,CAAC,MAAM;IACZ,MAAM;AAAEC,MAAAA,OAAO,EAAEC,OAAAA;AAAQ,KAAC,GAAGN,GAAG,CAAA;IAChC,IAAI,CAACM,OAAO,EAAE;AACV,MAAA,OAAOC,SAAS,CAAA;AACpB,KAAA;AAEA,IAAA,MAAMC,OAAO,GAAGA,MAAMN,QAAQ,CAAC,IAAI,CAAC,CAAA;AACpC,IAAA,MAAMO,MAAM,GAAGA,MAAMP,QAAQ,CAAC,KAAK,CAAC,CAAA;AACpCI,IAAAA,OAAO,CAACI,gBAAgB,CAAC,OAAO,EAAEF,OAAO,CAAC,CAAA;AAC1CF,IAAAA,OAAO,CAACI,gBAAgB,CAAC,MAAM,EAAED,MAAM,CAAC,CAAA;AACxC,IAAA,OAAO,MAAM;AACTH,MAAAA,OAAO,CAACK,mBAAmB,CAAC,OAAO,EAAEH,OAAO,CAAC,CAAA;AAC7CF,MAAAA,OAAO,CAACK,mBAAmB,CAAC,MAAM,EAAEF,MAAM,CAAC,CAAA;KAC9C,CAAA;AACL,GAAC,EAAE,CAACT,GAAG,EAAEE,QAAQ,CAAC,CAAC,CAAA;AAEnB,EAAA,OAAOD,OAAO,CAAA;AAClB;;;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { useTooltipContext } from '../components/tooltip/context-841c2303.js';
|
|
3
|
+
import { VISUALLY_HIDDEN } from '../constants-6af61e2f.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Compute a tooltip label based on a label element `innerText` if the text overflows.
|
|
7
|
+
* Updates dynamically on content changes (but not on resize!)
|
|
8
|
+
*/
|
|
9
|
+
const useOverflowTooltipLabel = content => {
|
|
10
|
+
const parentTooltip = useTooltipContext();
|
|
11
|
+
const [tooltipLabel, setTooltipLabel] = React__default.useState(undefined);
|
|
12
|
+
const [labelElement, setLabelElement] = React__default.useState(null);
|
|
13
|
+
React__default.useLayoutEffect(() => {
|
|
14
|
+
if (
|
|
15
|
+
// Not inside a tooltip
|
|
16
|
+
!parentTooltip && labelElement &&
|
|
17
|
+
// Not inside a visually hidden
|
|
18
|
+
!labelElement?.closest(`.${VISUALLY_HIDDEN}`) &&
|
|
19
|
+
// Text overflows
|
|
20
|
+
labelElement.offsetWidth < labelElement.scrollWidth) {
|
|
21
|
+
// Set tooltip label
|
|
22
|
+
setTooltipLabel(labelElement.innerText);
|
|
23
|
+
} else {
|
|
24
|
+
setTooltipLabel(undefined);
|
|
25
|
+
}
|
|
26
|
+
}, [labelElement, parentTooltip, content]);
|
|
27
|
+
return {
|
|
28
|
+
labelRef: setLabelElement,
|
|
29
|
+
tooltipLabel
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export { useOverflowTooltipLabel };
|
|
34
|
+
//# sourceMappingURL=useOverflowTooltipLabel-251ac3e6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOverflowTooltipLabel-251ac3e6.js","sources":["../../../../../../src/hooks/useOverflowTooltipLabel.tsx"],"sourcesContent":["import React from 'react';\nimport { useTooltipContext } from '@lumx/react/components/tooltip/context';\nimport { VISUALLY_HIDDEN } from '@lumx/react/constants';\n\n/**\n * Compute a tooltip label based on a label element `innerText` if the text overflows.\n * Updates dynamically on content changes (but not on resize!)\n */\nexport const useOverflowTooltipLabel = (content: React.ReactNode) => {\n const parentTooltip = useTooltipContext();\n const [tooltipLabel, setTooltipLabel] = React.useState<string | undefined>(undefined);\n const [labelElement, setLabelElement] = React.useState<HTMLElement | null>(null);\n\n React.useLayoutEffect(() => {\n if (\n // Not inside a tooltip\n !parentTooltip &&\n labelElement &&\n // Not inside a visually hidden\n !labelElement?.closest(`.${VISUALLY_HIDDEN}`) &&\n // Text overflows\n labelElement.offsetWidth < labelElement.scrollWidth\n ) {\n // Set tooltip label\n setTooltipLabel(labelElement.innerText);\n } else {\n setTooltipLabel(undefined);\n }\n }, [labelElement, parentTooltip, content]);\n\n return { labelRef: setLabelElement, tooltipLabel };\n};\n"],"names":["useOverflowTooltipLabel","content","parentTooltip","useTooltipContext","tooltipLabel","setTooltipLabel","React","useState","undefined","labelElement","setLabelElement","useLayoutEffect","closest","VISUALLY_HIDDEN","offsetWidth","scrollWidth","innerText","labelRef"],"mappings":";;;;AAIA;AACA;AACA;AACA;AACaA,MAAAA,uBAAuB,GAAIC,OAAwB,IAAK;AACjE,EAAA,MAAMC,aAAa,GAAGC,iBAAiB,EAAE,CAAA;EACzC,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAqBC,SAAS,CAAC,CAAA;EACrF,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGJ,cAAK,CAACC,QAAQ,CAAqB,IAAI,CAAC,CAAA;EAEhFD,cAAK,CAACK,eAAe,CAAC,MAAM;AACxB,IAAA;AACI;IACA,CAACT,aAAa,IACdO,YAAY;AACZ;AACA,IAAA,CAACA,YAAY,EAAEG,OAAO,CAAC,CAAIC,CAAAA,EAAAA,eAAe,EAAE,CAAC;AAC7C;AACAJ,IAAAA,YAAY,CAACK,WAAW,GAAGL,YAAY,CAACM,WAAW,EACrD;AACE;AACAV,MAAAA,eAAe,CAACI,YAAY,CAACO,SAAS,CAAC,CAAA;AAC3C,KAAC,MAAM;MACHX,eAAe,CAACG,SAAS,CAAC,CAAA;AAC9B,KAAA;GACH,EAAE,CAACC,YAAY,EAAEP,aAAa,EAAED,OAAO,CAAC,CAAC,CAAA;EAE1C,OAAO;AAAEgB,IAAAA,QAAQ,EAAEP,eAAe;AAAEN,IAAAA,YAAAA;GAAc,CAAA;AACtD;;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { usePopper as usePopper$1 } from '../../../../node_modules/react-popper/lib/esm/usePopper-83c4b46f.js';
|
|
2
|
+
import { IS_BROWSER } from '../constants-6af61e2f.js';
|
|
3
|
+
|
|
4
|
+
/** Stub usePopper for use outside of browsers */
|
|
5
|
+
const useStubPopper = (_a, _p, {
|
|
6
|
+
placement
|
|
7
|
+
}) => ({
|
|
8
|
+
attributes: {
|
|
9
|
+
popper: {
|
|
10
|
+
'data-popper-placement': placement
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
styles: {
|
|
14
|
+
popper: {
|
|
15
|
+
transform: 'translate(1, 1)'
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
/** Switch hook implementation between environment */
|
|
21
|
+
const usePopper = IS_BROWSER ? usePopper$1 : useStubPopper;
|
|
22
|
+
|
|
23
|
+
export { usePopper };
|
|
24
|
+
//# sourceMappingURL=usePopper-3e9a7aa1.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePopper-3e9a7aa1.js","sources":["../../../../../../src/hooks/usePopper.ts"],"sourcesContent":["import { usePopper as usePopperHook } from 'react-popper';\nimport { IS_BROWSER } from '@lumx/react/constants';\n\n/** Stub usePopper for use outside of browsers */\nconst useStubPopper: typeof usePopperHook = (_a, _p, { placement }: any) =>\n ({\n attributes: { popper: { 'data-popper-placement': placement } },\n styles: { popper: { transform: 'translate(1, 1)' } },\n }) as any;\n\n/** Switch hook implementation between environment */\nexport const usePopper: typeof usePopperHook = IS_BROWSER ? usePopperHook : useStubPopper;\n"],"names":["useStubPopper","_a","_p","placement","attributes","popper","styles","transform","usePopper","IS_BROWSER","usePopperHook"],"mappings":";;;AAGA;AACA,MAAMA,aAAmC,GAAGA,CAACC,EAAE,EAAEC,EAAE,EAAE;AAAEC,EAAAA,SAAAA;AAAe,CAAC,MAClE;AACGC,EAAAA,UAAU,EAAE;AAAEC,IAAAA,MAAM,EAAE;AAAE,MAAA,uBAAuB,EAAEF,SAAAA;AAAU,KAAA;GAAG;AAC9DG,EAAAA,MAAM,EAAE;AAAED,IAAAA,MAAM,EAAE;AAAEE,MAAAA,SAAS,EAAE,iBAAA;AAAkB,KAAA;AAAE,GAAA;AACvD,CAAC,CAAQ,CAAA;;AAEb;MACaC,SAA+B,GAAGC,UAAU,GAAGC,WAAa,GAAGV;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Returns the value from the previous render.
|
|
5
|
+
*/
|
|
6
|
+
function usePreviousValue(value) {
|
|
7
|
+
const prevValueRef = React__default.useRef();
|
|
8
|
+
const prevValue = prevValueRef.current;
|
|
9
|
+
React__default.useEffect(() => {
|
|
10
|
+
prevValueRef.current = value;
|
|
11
|
+
}, [value]);
|
|
12
|
+
return prevValue;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { usePreviousValue };
|
|
16
|
+
//# sourceMappingURL=usePreviousValue-6f3bb7d6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePreviousValue-6f3bb7d6.js","sources":["../../../../../../src/hooks/usePreviousValue.ts"],"sourcesContent":["import React from 'react';\n/**\n * Returns the value from the previous render.\n */\nexport function usePreviousValue<V>(value: V): V | undefined {\n const prevValueRef = React.useRef<V>();\n const prevValue = prevValueRef.current;\n React.useEffect(() => {\n prevValueRef.current = value;\n }, [value]);\n return prevValue;\n}\n"],"names":["usePreviousValue","value","prevValueRef","React","useRef","prevValue","current","useEffect"],"mappings":";;AACA;AACA;AACA;AACO,SAASA,gBAAgBA,CAAIC,KAAQ,EAAiB;AACzD,EAAA,MAAMC,YAAY,GAAGC,cAAK,CAACC,MAAM,EAAK,CAAA;AACtC,EAAA,MAAMC,SAAS,GAAGH,YAAY,CAACI,OAAO,CAAA;EACtCH,cAAK,CAACI,SAAS,CAAC,MAAM;IAClBL,YAAY,CAACI,OAAO,GAAGL,KAAK,CAAA;AAChC,GAAC,EAAE,CAACA,KAAK,CAAC,CAAC,CAAA;AACX,EAAA,OAAOI,SAAS,CAAA;AACpB;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRovingTabIndex-bb8088e1.js","sources":["../../../../../../src/hooks/useRovingTabIndex.tsx"],"sourcesContent":["import { RefObject, useEffect } from 'react';\n\ninterface UseRovingTabIndexOptions {\n parentRef: RefObject<HTMLElement>;\n elementSelector: string;\n keepTabIndex?: boolean;\n /** Action to trigger when an element is focused using roving tab index */\n onElementFocus?: (element: HTMLElement) => void;\n /** List of values to be used as extra dependencies of the useEffect */\n extraDependencies?: any[];\n}\n\nexport const useRovingTabIndex = ({\n parentRef,\n elementSelector,\n keepTabIndex,\n onElementFocus,\n extraDependencies = [],\n}: UseRovingTabIndexOptions): void => {\n useEffect(\n () => {\n const parent = parentRef?.current;\n if (!parent) {\n return undefined;\n }\n\n const elements = parent.querySelectorAll(elementSelector) as NodeListOf<HTMLElement>;\n const initialFocusableElement = parent?.querySelector(`${elementSelector}[tabindex=\"0\"]`);\n\n const handleKeyDown = (index: number) => (evt: KeyboardEvent) => {\n let newTabFocus = index;\n if (!(evt.key === 'ArrowRight' || evt.key === 'ArrowLeft')) {\n return;\n }\n\n if (evt.key === 'ArrowRight') {\n // Move right\n newTabFocus += 1;\n // If we're at the end, go to the start\n if (newTabFocus >= elements.length) {\n newTabFocus = 0;\n }\n } else if (evt.key === 'ArrowLeft') {\n // Move left\n newTabFocus -= 1;\n if (newTabFocus < 0) {\n // If we're at the start, move to the end\n newTabFocus = elements.length - 1;\n }\n }\n const newElement = elements[newTabFocus];\n newElement?.focus();\n\n // When an element is focused using roving tab index, trigger the onElementFocus callback\n if (newElement && onElementFocus) {\n onElementFocus(newElement);\n }\n\n if (keepTabIndex) {\n (evt.currentTarget as HTMLElement).setAttribute('tabindex', '-1');\n newElement?.setAttribute('tabindex', '0');\n }\n };\n\n if (elements?.length > 0) {\n elements.forEach((el, key) => {\n // if no element has tabindex set to 0, set the first element as focusable\n if (!initialFocusableElement && key === 0) {\n el.setAttribute('tabindex', '0');\n // set all other to -1\n } else if (initialFocusableElement !== el) {\n el.setAttribute('tabindex', '-1');\n }\n // add event listener\n el.addEventListener('keydown', handleKeyDown(key) as EventListener);\n });\n }\n\n // Cleanup listeners\n return () => {\n if (elements?.length > 0) {\n elements.forEach((el, key) => {\n el.removeEventListener('keydown', handleKeyDown(key) as EventListener);\n });\n }\n };\n }, // eslint-disable-next-line react-hooks/exhaustive-deps\n [parentRef, ...extraDependencies],\n );\n};\n"],"names":["useRovingTabIndex","parentRef","elementSelector","keepTabIndex","onElementFocus","extraDependencies","useEffect","parent","current","undefined","elements","querySelectorAll","initialFocusableElement","querySelector","handleKeyDown","index","evt","newTabFocus","key","length","newElement","focus","currentTarget","setAttribute","forEach","el","addEventListener","removeEventListener"],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import throttle from 'lodash/throttle';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Observe element size (only works if it's size depends on the window size).
|
|
6
|
+
*
|
|
7
|
+
* (Not using ResizeObserver for better browser backward compat)
|
|
8
|
+
*
|
|
9
|
+
* @param elementRef Element to observe
|
|
10
|
+
* @return the size and a manual update callback
|
|
11
|
+
*/
|
|
12
|
+
function useSizeOnWindowResize(elementRef) {
|
|
13
|
+
const [size, setSize] = React__default.useState(null);
|
|
14
|
+
const updateSize = React__default.useMemo(() => throttle(() => {
|
|
15
|
+
const newSize = elementRef.current?.getBoundingClientRect();
|
|
16
|
+
if (newSize) setSize(newSize);
|
|
17
|
+
}, 10), [elementRef]);
|
|
18
|
+
React__default.useEffect(() => {
|
|
19
|
+
updateSize();
|
|
20
|
+
window.addEventListener('resize', updateSize);
|
|
21
|
+
return () => window.removeEventListener('resize', updateSize);
|
|
22
|
+
}, [updateSize]);
|
|
23
|
+
return [size, updateSize];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { useSizeOnWindowResize };
|
|
27
|
+
//# sourceMappingURL=useSizeOnWindowResize-1ee5415f.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSizeOnWindowResize-1ee5415f.js","sources":["../../../../../../src/hooks/useSizeOnWindowResize.ts"],"sourcesContent":["import React from 'react';\n\nimport throttle from 'lodash/throttle';\nimport { RectSize } from '@lumx/react/utils/type';\n\n/**\n * Observe element size (only works if it's size depends on the window size).\n *\n * (Not using ResizeObserver for better browser backward compat)\n *\n * @param elementRef Element to observe\n * @return the size and a manual update callback\n */\nexport function useSizeOnWindowResize(elementRef: React.RefObject<HTMLElement>): [RectSize | null, () => void] {\n const [size, setSize] = React.useState<null | RectSize>(null);\n const updateSize = React.useMemo(\n () =>\n throttle(() => {\n const newSize = elementRef.current?.getBoundingClientRect();\n if (newSize) setSize(newSize);\n }, 10),\n [elementRef],\n );\n React.useEffect(() => {\n updateSize();\n window.addEventListener('resize', updateSize);\n return () => window.removeEventListener('resize', updateSize);\n }, [updateSize]);\n return [size, updateSize];\n}\n"],"names":["useSizeOnWindowResize","elementRef","size","setSize","React","useState","updateSize","useMemo","throttle","newSize","current","getBoundingClientRect","useEffect","window","addEventListener","removeEventListener"],"mappings":";;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,qBAAqBA,CAACC,UAAwC,EAAiC;EAC3G,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGC,cAAK,CAACC,QAAQ,CAAkB,IAAI,CAAC,CAAA;EAC7D,MAAMC,UAAU,GAAGF,cAAK,CAACG,OAAO,CAC5B,MACIC,QAAQ,CAAC,MAAM;IACX,MAAMC,OAAO,GAAGR,UAAU,CAACS,OAAO,EAAEC,qBAAqB,EAAE,CAAA;AAC3D,IAAA,IAAIF,OAAO,EAAEN,OAAO,CAACM,OAAO,CAAC,CAAA;AACjC,GAAC,EAAE,EAAE,CAAC,EACV,CAACR,UAAU,CACf,CAAC,CAAA;EACDG,cAAK,CAACQ,SAAS,CAAC,MAAM;AAClBN,IAAAA,UAAU,EAAE,CAAA;AACZO,IAAAA,MAAM,CAACC,gBAAgB,CAAC,QAAQ,EAAER,UAAU,CAAC,CAAA;IAC7C,OAAO,MAAMO,MAAM,CAACE,mBAAmB,CAAC,QAAQ,EAAET,UAAU,CAAC,CAAA;AACjE,GAAC,EAAE,CAACA,UAAU,CAAC,CAAC,CAAA;AAChB,EAAA,OAAO,CAACJ,IAAI,EAAEI,UAAU,CAAC,CAAA;AAC7B;;;;"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { useState, useCallback, useEffect } from 'react';
|
|
2
|
+
import { useInterval } from './useInterval-45ef51db.js';
|
|
3
|
+
import { AUTOPLAY_DEFAULT_INTERVAL } from '../components/slideshow/constants-e50f2a75.js';
|
|
4
|
+
import { useId } from './useId-11687649.js';
|
|
5
|
+
|
|
6
|
+
const DEFAULT_OPTIONS = {
|
|
7
|
+
activeIndex: 0,
|
|
8
|
+
groupBy: 1,
|
|
9
|
+
interval: AUTOPLAY_DEFAULT_INTERVAL
|
|
10
|
+
};
|
|
11
|
+
const useSlideshowControls = ({
|
|
12
|
+
activeIndex = DEFAULT_OPTIONS.activeIndex,
|
|
13
|
+
groupBy = DEFAULT_OPTIONS.groupBy,
|
|
14
|
+
interval = DEFAULT_OPTIONS.interval,
|
|
15
|
+
autoPlay,
|
|
16
|
+
defaultActiveIndex,
|
|
17
|
+
onChange,
|
|
18
|
+
itemsCount,
|
|
19
|
+
id,
|
|
20
|
+
slidesId
|
|
21
|
+
}) => {
|
|
22
|
+
const [currentIndex, setCurrentIndex] = useState(activeIndex);
|
|
23
|
+
// Use state instead of a ref to make the slideshow controls update directly when the element is set.
|
|
24
|
+
const [element, setElement] = useState(null);
|
|
25
|
+
|
|
26
|
+
// Number of slides when using groupBy prop.
|
|
27
|
+
const slidesCount = Math.ceil(itemsCount / Math.min(groupBy, itemsCount));
|
|
28
|
+
|
|
29
|
+
// Change current index to display next slide.
|
|
30
|
+
const goToNextSlide = useCallback((loopback = true) => {
|
|
31
|
+
setCurrentIndex(index => {
|
|
32
|
+
if (loopback && index === slidesCount - 1) {
|
|
33
|
+
// Loopback to the start.
|
|
34
|
+
return 0;
|
|
35
|
+
}
|
|
36
|
+
if (index < slidesCount - 1) {
|
|
37
|
+
// Next slide.
|
|
38
|
+
return index + 1;
|
|
39
|
+
}
|
|
40
|
+
return index;
|
|
41
|
+
});
|
|
42
|
+
}, [slidesCount, setCurrentIndex]);
|
|
43
|
+
|
|
44
|
+
// Change current index to display previous slide.
|
|
45
|
+
const goToPreviousSlide = useCallback((loopback = true) => {
|
|
46
|
+
setCurrentIndex(index => {
|
|
47
|
+
if (loopback && index === 0) {
|
|
48
|
+
// Loopback to the end.
|
|
49
|
+
return slidesCount - 1;
|
|
50
|
+
}
|
|
51
|
+
if (index > 0) {
|
|
52
|
+
// Previous slide.
|
|
53
|
+
return index - 1;
|
|
54
|
+
}
|
|
55
|
+
return index;
|
|
56
|
+
});
|
|
57
|
+
}, [slidesCount, setCurrentIndex]);
|
|
58
|
+
|
|
59
|
+
// Auto play
|
|
60
|
+
const [isAutoPlaying, setIsAutoPlaying] = useState(Boolean(autoPlay));
|
|
61
|
+
const [isForcePaused, setIsForcePaused] = useState(false);
|
|
62
|
+
const isSlideshowAutoPlaying = isForcePaused ? false : isAutoPlaying;
|
|
63
|
+
// Start
|
|
64
|
+
useInterval(goToNextSlide, isSlideshowAutoPlaying && slidesCount > 1 ? interval : null);
|
|
65
|
+
|
|
66
|
+
// Reset current index if it become invalid.
|
|
67
|
+
useEffect(() => {
|
|
68
|
+
if (currentIndex > slidesCount - 1) {
|
|
69
|
+
setCurrentIndex(defaultActiveIndex);
|
|
70
|
+
}
|
|
71
|
+
}, [currentIndex, slidesCount, defaultActiveIndex]);
|
|
72
|
+
const startAutoPlay = () => {
|
|
73
|
+
setIsAutoPlaying(Boolean(autoPlay));
|
|
74
|
+
};
|
|
75
|
+
const stopAutoPlay = () => {
|
|
76
|
+
setIsAutoPlaying(false);
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
// Handle click on a bullet to go to a specific slide.
|
|
80
|
+
const onPaginationClick = useCallback(index => {
|
|
81
|
+
stopAutoPlay();
|
|
82
|
+
setIsForcePaused(true);
|
|
83
|
+
if (index >= 0 && index < slidesCount) {
|
|
84
|
+
setCurrentIndex(index);
|
|
85
|
+
}
|
|
86
|
+
}, [slidesCount, setCurrentIndex]);
|
|
87
|
+
|
|
88
|
+
// Handle click or keyboard event to go to next slide.
|
|
89
|
+
const onNextClick = useCallback((loopback = true) => {
|
|
90
|
+
stopAutoPlay();
|
|
91
|
+
setIsForcePaused(true);
|
|
92
|
+
goToNextSlide(loopback);
|
|
93
|
+
}, [goToNextSlide]);
|
|
94
|
+
|
|
95
|
+
// Handle click or keyboard event to go to previous slide.
|
|
96
|
+
const onPreviousClick = useCallback((loopback = true) => {
|
|
97
|
+
stopAutoPlay();
|
|
98
|
+
setIsForcePaused(true);
|
|
99
|
+
goToPreviousSlide(loopback);
|
|
100
|
+
}, [goToPreviousSlide]);
|
|
101
|
+
|
|
102
|
+
// If the activeIndex props changes, update the current slide
|
|
103
|
+
useEffect(() => {
|
|
104
|
+
setCurrentIndex(activeIndex);
|
|
105
|
+
}, [activeIndex]);
|
|
106
|
+
|
|
107
|
+
// If the slide changes, with autoplay for example, trigger "onChange"
|
|
108
|
+
useEffect(() => {
|
|
109
|
+
if (!onChange) return;
|
|
110
|
+
onChange(currentIndex);
|
|
111
|
+
}, [currentIndex, onChange]);
|
|
112
|
+
const generatedSlideshowId = useId();
|
|
113
|
+
const slideshowId = id || generatedSlideshowId;
|
|
114
|
+
const generatedSlidesId = useId();
|
|
115
|
+
const slideshowSlidesId = slidesId || generatedSlidesId;
|
|
116
|
+
const toggleAutoPlay = () => {
|
|
117
|
+
if (isSlideshowAutoPlaying) {
|
|
118
|
+
stopAutoPlay();
|
|
119
|
+
} else {
|
|
120
|
+
startAutoPlay();
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
const toggleForcePause = () => {
|
|
124
|
+
const shouldBePaused = !isForcePaused;
|
|
125
|
+
setIsForcePaused(shouldBePaused);
|
|
126
|
+
if (!shouldBePaused) {
|
|
127
|
+
startAutoPlay();
|
|
128
|
+
} else {
|
|
129
|
+
stopAutoPlay();
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
// Start index and end index of visible slides.
|
|
134
|
+
const startIndexVisible = currentIndex * groupBy;
|
|
135
|
+
const endIndexVisible = startIndexVisible + groupBy;
|
|
136
|
+
return {
|
|
137
|
+
startIndexVisible,
|
|
138
|
+
endIndexVisible,
|
|
139
|
+
setSlideshow: setElement,
|
|
140
|
+
slideshow: element,
|
|
141
|
+
slideshowId,
|
|
142
|
+
slideshowSlidesId,
|
|
143
|
+
onPreviousClick,
|
|
144
|
+
onNextClick,
|
|
145
|
+
onPaginationClick,
|
|
146
|
+
isAutoPlaying: isSlideshowAutoPlaying,
|
|
147
|
+
toggleAutoPlay,
|
|
148
|
+
activeIndex: currentIndex,
|
|
149
|
+
slidesCount,
|
|
150
|
+
setActiveIndex: setCurrentIndex,
|
|
151
|
+
startAutoPlay,
|
|
152
|
+
stopAutoPlay,
|
|
153
|
+
isForcePaused,
|
|
154
|
+
toggleForcePause
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
export { DEFAULT_OPTIONS, useSlideshowControls };
|
|
159
|
+
//# sourceMappingURL=useSlideshowControls-9c881480.js.map
|