@apia/components 2.0.8 → 2.0.9
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/dist/index.d.ts +1658 -69
- package/dist/index.js +7198 -58
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/components/IconsList/Icon.js +0 -42
- package/dist/components/IconsList/Icon.js.map +0 -1
- package/dist/components/IconsList/IconWrapper.js +0 -24
- package/dist/components/IconsList/IconWrapper.js.map +0 -1
- package/dist/components/IconsList/KeyHandler.js +0 -147
- package/dist/components/IconsList/KeyHandler.js.map +0 -1
- package/dist/components/IconsList/context.js +0 -14
- package/dist/components/IconsList/context.js.map +0 -1
- package/dist/components/IconsList/index.d.ts +0 -12
- package/dist/components/IconsList/index.d.ts.map +0 -1
- package/dist/components/IconsList/index.js +0 -119
- package/dist/components/IconsList/index.js.map +0 -1
- package/dist/components/IconsList/renderers/DefaultIconRenderer.d.ts +0 -7
- package/dist/components/IconsList/renderers/DefaultIconRenderer.d.ts.map +0 -1
- package/dist/components/IconsList/renderers/DefaultIconRenderer.js +0 -30
- package/dist/components/IconsList/renderers/DefaultIconRenderer.js.map +0 -1
- package/dist/components/IconsList/store/context.js +0 -9
- package/dist/components/IconsList/store/context.js.map +0 -1
- package/dist/components/IconsList/store/distinctors.js +0 -42
- package/dist/components/IconsList/store/distinctors.js.map +0 -1
- package/dist/components/IconsList/store/keysMaker.js +0 -8
- package/dist/components/IconsList/store/keysMaker.js.map +0 -1
- package/dist/components/IconsList/store/operations.js +0 -138
- package/dist/components/IconsList/store/operations.js.map +0 -1
- package/dist/components/IconsList/store/state.js +0 -9
- package/dist/components/IconsList/store/state.js.map +0 -1
- package/dist/components/IconsList/store/useStore.js +0 -52
- package/dist/components/IconsList/store/useStore.js.map +0 -1
- package/dist/components/IconsList/styles.js +0 -48
- package/dist/components/IconsList/styles.js.map +0 -1
- package/dist/components/IconsList/types.d.ts +0 -98
- package/dist/components/IconsList/types.d.ts.map +0 -1
- package/dist/components/IconsList/util.js +0 -46
- package/dist/components/IconsList/util.js.map +0 -1
- package/dist/components/ListBox/Combobox.js +0 -52
- package/dist/components/ListBox/Combobox.js.map +0 -1
- package/dist/components/ListBox/ListboxContext.d.ts +0 -35
- package/dist/components/ListBox/ListboxContext.d.ts.map +0 -1
- package/dist/components/ListBox/ListboxContext.js +0 -6
- package/dist/components/ListBox/ListboxContext.js.map +0 -1
- package/dist/components/ListBox/ListboxItem.d.ts +0 -17
- package/dist/components/ListBox/ListboxItem.d.ts.map +0 -1
- package/dist/components/ListBox/ListboxItem.js +0 -67
- package/dist/components/ListBox/ListboxItem.js.map +0 -1
- package/dist/components/ListBox/ListboxKeyhandler.js +0 -154
- package/dist/components/ListBox/ListboxKeyhandler.js.map +0 -1
- package/dist/components/ListBox/common.d.ts +0 -46
- package/dist/components/ListBox/common.d.ts.map +0 -1
- package/dist/components/ListBox/common.js +0 -118
- package/dist/components/ListBox/common.js.map +0 -1
- package/dist/components/ListBox/index.d.ts +0 -21
- package/dist/components/ListBox/index.d.ts.map +0 -1
- package/dist/components/ListBox/index.js +0 -71
- package/dist/components/ListBox/index.js.map +0 -1
- package/dist/components/ListBox/listbox.js +0 -46
- package/dist/components/ListBox/listbox.js.map +0 -1
- package/dist/components/ListBox/operations.js +0 -330
- package/dist/components/ListBox/operations.js.map +0 -1
- package/dist/components/ListBox/useIndexedChildren.js +0 -25
- package/dist/components/ListBox/useIndexedChildren.js.map +0 -1
- package/dist/components/ListBox/useListboxAutofocus.js +0 -48
- package/dist/components/ListBox/useListboxAutofocus.js.map +0 -1
- package/dist/components/ListBox/useListboxContextValue.js +0 -8
- package/dist/components/ListBox/useListboxContextValue.js.map +0 -1
- package/dist/components/ListBox/useShoutSelectionChange.js +0 -26
- package/dist/components/ListBox/useShoutSelectionChange.js.map +0 -1
- package/dist/components/ListBox/useStore.js +0 -36
- package/dist/components/ListBox/useStore.js.map +0 -1
- package/dist/components/ListBox/useUpdateRowCount.js +0 -19
- package/dist/components/ListBox/useUpdateRowCount.js.map +0 -1
- package/dist/components/SortableList/SortableListHandler.js +0 -161
- package/dist/components/SortableList/SortableListHandler.js.map +0 -1
- package/dist/components/SortableList/SortableListItem.d.ts +0 -14
- package/dist/components/SortableList/SortableListItem.d.ts.map +0 -1
- package/dist/components/SortableList/SortableListItem.js +0 -24
- package/dist/components/SortableList/SortableListItem.js.map +0 -1
- package/dist/components/SortableList/index.d.ts +0 -21
- package/dist/components/SortableList/index.d.ts.map +0 -1
- package/dist/components/SortableList/index.js +0 -53
- package/dist/components/SortableList/index.js.map +0 -1
- package/dist/components/Toolbar/ToolbarController.d.ts +0 -24
- package/dist/components/Toolbar/ToolbarController.d.ts.map +0 -1
- package/dist/components/Toolbar/ToolbarController.js +0 -50
- package/dist/components/Toolbar/ToolbarController.js.map +0 -1
- package/dist/components/Toolbar/ToolbarIconButton.d.ts +0 -7
- package/dist/components/Toolbar/ToolbarIconButton.d.ts.map +0 -1
- package/dist/components/Toolbar/ToolbarIconButton.js +0 -108
- package/dist/components/Toolbar/ToolbarIconButton.js.map +0 -1
- package/dist/components/Toolbar/ToolbarInput.d.ts +0 -7
- package/dist/components/Toolbar/ToolbarInput.d.ts.map +0 -1
- package/dist/components/Toolbar/ToolbarInput.js +0 -13
- package/dist/components/Toolbar/ToolbarInput.js.map +0 -1
- package/dist/components/Toolbar/ToolbarSelect.d.ts +0 -7
- package/dist/components/Toolbar/ToolbarSelect.d.ts.map +0 -1
- package/dist/components/Toolbar/ToolbarSelect.js +0 -17
- package/dist/components/Toolbar/ToolbarSelect.js.map +0 -1
- package/dist/components/Toolbar/ToolbarSeparator.d.ts +0 -6
- package/dist/components/Toolbar/ToolbarSeparator.d.ts.map +0 -1
- package/dist/components/Toolbar/ToolbarSeparator.js +0 -9
- package/dist/components/Toolbar/ToolbarSeparator.js.map +0 -1
- package/dist/components/Toolbar/ToolbarTextButton.d.ts +0 -9
- package/dist/components/Toolbar/ToolbarTextButton.d.ts.map +0 -1
- package/dist/components/Toolbar/ToolbarTextButton.js +0 -18
- package/dist/components/Toolbar/ToolbarTextButton.js.map +0 -1
- package/dist/components/Toolbar/index.d.ts +0 -19
- package/dist/components/Toolbar/index.d.ts.map +0 -1
- package/dist/components/Toolbar/index.js +0 -23
- package/dist/components/Toolbar/index.js.map +0 -1
- package/dist/components/Toolbar/styles.js +0 -84
- package/dist/components/Toolbar/styles.js.map +0 -1
- package/dist/components/Toolbar/types.d.ts +0 -39
- package/dist/components/Toolbar/types.d.ts.map +0 -1
- package/dist/components/accordion/Accordion.d.ts +0 -21
- package/dist/components/accordion/Accordion.d.ts.map +0 -1
- package/dist/components/accordion/Accordion.js +0 -66
- package/dist/components/accordion/Accordion.js.map +0 -1
- package/dist/components/accordion/AccordionItem.d.ts +0 -20
- package/dist/components/accordion/AccordionItem.d.ts.map +0 -1
- package/dist/components/accordion/AccordionItem.js +0 -26
- package/dist/components/accordion/AccordionItem.js.map +0 -1
- package/dist/components/accordion/AccordionItemButton.d.ts +0 -10
- package/dist/components/accordion/AccordionItemButton.d.ts.map +0 -1
- package/dist/components/accordion/AccordionItemButton.js +0 -8
- package/dist/components/accordion/AccordionItemButton.js.map +0 -1
- package/dist/components/accordion/AccordionItemContent.d.ts +0 -7
- package/dist/components/accordion/AccordionItemContent.d.ts.map +0 -1
- package/dist/components/accordion/AccordionItemContent.js +0 -50
- package/dist/components/accordion/AccordionItemContent.js.map +0 -1
- package/dist/components/accordion/KeyHandler.js +0 -82
- package/dist/components/accordion/KeyHandler.js.map +0 -1
- package/dist/components/accordion/context.d.ts +0 -10
- package/dist/components/accordion/context.d.ts.map +0 -1
- package/dist/components/accordion/context.js +0 -13
- package/dist/components/accordion/context.js.map +0 -1
- package/dist/components/accordion/defaultElements/Checkbox.js +0 -22
- package/dist/components/accordion/defaultElements/Checkbox.js.map +0 -1
- package/dist/components/accordion/defaultElements/DefaultAccordionItemButton.d.ts +0 -40
- package/dist/components/accordion/defaultElements/DefaultAccordionItemButton.d.ts.map +0 -1
- package/dist/components/accordion/defaultElements/DefaultAccordionItemButton.js +0 -77
- package/dist/components/accordion/defaultElements/DefaultAccordionItemButton.js.map +0 -1
- package/dist/components/accordion/defaultElements/useIsChecked.js +0 -25
- package/dist/components/accordion/defaultElements/useIsChecked.js.map +0 -1
- package/dist/components/accordion/handler.d.ts +0 -40
- package/dist/components/accordion/handler.d.ts.map +0 -1
- package/dist/components/accordion/handler.js +0 -126
- package/dist/components/accordion/handler.js.map +0 -1
- package/dist/components/accordion/index.d.ts +0 -8
- package/dist/components/accordion/index.d.ts.map +0 -1
- package/dist/components/accordion/types.d.ts +0 -11
- package/dist/components/accordion/types.d.ts.map +0 -1
- package/dist/components/apia/ApiaDateFilter.js +0 -57
- package/dist/components/apia/ApiaDateFilter.js.map +0 -1
- package/dist/components/apia/ApiaFilter.d.ts +0 -13
- package/dist/components/apia/ApiaFilter.d.ts.map +0 -1
- package/dist/components/apia/ApiaFilter.js +0 -128
- package/dist/components/apia/ApiaFilter.js.map +0 -1
- package/dist/components/buttons/useOtherTagButton.d.ts +0 -28
- package/dist/components/buttons/useOtherTagButton.d.ts.map +0 -1
- package/dist/components/buttons/useOtherTagButton.js +0 -38
- package/dist/components/buttons/useOtherTagButton.js.map +0 -1
- package/dist/components/collapsiblePanel/index.d.ts +0 -7
- package/dist/components/collapsiblePanel/index.d.ts.map +0 -1
- package/dist/components/collapsiblePanel/index.js +0 -130
- package/dist/components/collapsiblePanel/index.js.map +0 -1
- package/dist/components/collapsiblePanel/styles.js +0 -4
- package/dist/components/collapsiblePanel/styles.js.map +0 -1
- package/dist/components/collapsiblePanel/types.d.ts +0 -23
- package/dist/components/collapsiblePanel/types.d.ts.map +0 -1
- package/dist/components/dialogs/AlertModal.d.ts +0 -11
- package/dist/components/dialogs/AlertModal.d.ts.map +0 -1
- package/dist/components/dialogs/AlertModal.js +0 -42
- package/dist/components/dialogs/AlertModal.js.map +0 -1
- package/dist/components/dialogs/ConfirmModal.d.ts +0 -25
- package/dist/components/dialogs/ConfirmModal.d.ts.map +0 -1
- package/dist/components/dialogs/ConfirmModal.js +0 -45
- package/dist/components/dialogs/ConfirmModal.js.map +0 -1
- package/dist/components/forms/Captcha.d.ts +0 -12
- package/dist/components/forms/Captcha.d.ts.map +0 -1
- package/dist/components/forms/Captcha.js +0 -66
- package/dist/components/forms/Captcha.js.map +0 -1
- package/dist/components/forms/Checkbox.d.ts +0 -21
- package/dist/components/forms/Checkbox.d.ts.map +0 -1
- package/dist/components/forms/Checkbox.js +0 -124
- package/dist/components/forms/Checkbox.js.map +0 -1
- package/dist/components/forms/DateInput.d.ts +0 -44
- package/dist/components/forms/DateInput.d.ts.map +0 -1
- package/dist/components/forms/DateInput.js +0 -246
- package/dist/components/forms/DateInput.js.map +0 -1
- package/dist/components/forms/FieldErrorMessage.d.ts +0 -10
- package/dist/components/forms/FieldErrorMessage.d.ts.map +0 -1
- package/dist/components/forms/FieldErrorMessage.js +0 -34
- package/dist/components/forms/FieldErrorMessage.js.map +0 -1
- package/dist/components/forms/FieldLabel.d.ts +0 -40
- package/dist/components/forms/FieldLabel.d.ts.map +0 -1
- package/dist/components/forms/FieldLabel.js +0 -66
- package/dist/components/forms/FieldLabel.js.map +0 -1
- package/dist/components/forms/IconInput.d.ts +0 -28
- package/dist/components/forms/IconInput.d.ts.map +0 -1
- package/dist/components/forms/IconInput.js +0 -80
- package/dist/components/forms/IconInput.js.map +0 -1
- package/dist/components/forms/NumberInput.d.ts +0 -37
- package/dist/components/forms/NumberInput.d.ts.map +0 -1
- package/dist/components/forms/NumberInput.js +0 -149
- package/dist/components/forms/NumberInput.js.map +0 -1
- package/dist/components/forms/RequiredMark.d.ts +0 -14
- package/dist/components/forms/RequiredMark.d.ts.map +0 -1
- package/dist/components/forms/RequiredMark.js +0 -13
- package/dist/components/forms/RequiredMark.js.map +0 -1
- package/dist/components/forms/buttons/BaseButton.d.ts +0 -24
- package/dist/components/forms/buttons/BaseButton.d.ts.map +0 -1
- package/dist/components/forms/buttons/BaseButton.js +0 -58
- package/dist/components/forms/buttons/BaseButton.js.map +0 -1
- package/dist/components/forms/buttons/IconButton.d.ts +0 -37
- package/dist/components/forms/buttons/IconButton.d.ts.map +0 -1
- package/dist/components/forms/buttons/IconButton.js +0 -79
- package/dist/components/forms/buttons/IconButton.js.map +0 -1
- package/dist/components/forms/buttons/SimpleButton.d.ts +0 -21
- package/dist/components/forms/buttons/SimpleButton.d.ts.map +0 -1
- package/dist/components/forms/buttons/SimpleButton.js +0 -94
- package/dist/components/forms/buttons/SimpleButton.js.map +0 -1
- package/dist/components/forms/util/style.d.ts +0 -7
- package/dist/components/forms/util/style.d.ts.map +0 -1
- package/dist/components/forms/util/style.js +0 -17
- package/dist/components/forms/util/style.js.map +0 -1
- package/dist/components/importComponent.d.ts +0 -11
- package/dist/components/importComponent.d.ts.map +0 -1
- package/dist/components/importComponent.js +0 -25
- package/dist/components/importComponent.js.map +0 -1
- package/dist/components/loaders/LinearLoader.d.ts +0 -6
- package/dist/components/loaders/LinearLoader.d.ts.map +0 -1
- package/dist/components/loaders/LinearLoader.js +0 -33
- package/dist/components/loaders/LinearLoader.js.map +0 -1
- package/dist/components/loaders/LoaderSpinner.d.ts +0 -10
- package/dist/components/loaders/LoaderSpinner.d.ts.map +0 -1
- package/dist/components/loaders/LoaderSpinner.js +0 -26
- package/dist/components/loaders/LoaderSpinner.js.map +0 -1
- package/dist/components/loaders/ProgressBar.d.ts +0 -11
- package/dist/components/loaders/ProgressBar.d.ts.map +0 -1
- package/dist/components/loaders/ProgressBar.js +0 -39
- package/dist/components/loaders/ProgressBar.js.map +0 -1
- package/dist/components/modals/CalendarModal.d.ts +0 -13
- package/dist/components/modals/CalendarModal.d.ts.map +0 -1
- package/dist/components/modals/CalendarModal.js +0 -43
- package/dist/components/modals/CalendarModal.js.map +0 -1
- package/dist/components/modals/Modal.d.ts +0 -178
- package/dist/components/modals/Modal.d.ts.map +0 -1
- package/dist/components/modals/Modal.js +0 -19
- package/dist/components/modals/Modal.js.map +0 -1
- package/dist/components/modals/ModalContext.d.ts +0 -9
- package/dist/components/modals/ModalContext.d.ts.map +0 -1
- package/dist/components/modals/ModalContext.js +0 -12
- package/dist/components/modals/ModalContext.js.map +0 -1
- package/dist/components/modals/Overlay.d.ts +0 -21
- package/dist/components/modals/Overlay.d.ts.map +0 -1
- package/dist/components/modals/Overlay.js +0 -74
- package/dist/components/modals/Overlay.js.map +0 -1
- package/dist/components/modals/StaticModal.js +0 -203
- package/dist/components/modals/StaticModal.js.map +0 -1
- package/dist/components/modals/WindowModal.js +0 -229
- package/dist/components/modals/WindowModal.js.map +0 -1
- package/dist/components/modals/hooks/useEscapeKey.js +0 -36
- package/dist/components/modals/hooks/useEscapeKey.js.map +0 -1
- package/dist/components/modals/hooks/useInitialFocus.js +0 -37
- package/dist/components/modals/hooks/useInitialFocus.js.map +0 -1
- package/dist/components/modals/hooks/useModal.d.ts +0 -97
- package/dist/components/modals/hooks/useModal.d.ts.map +0 -1
- package/dist/components/modals/hooks/useModal.js +0 -73
- package/dist/components/modals/hooks/useModal.js.map +0 -1
- package/dist/components/modals/hooks/useStyleState.js +0 -44
- package/dist/components/modals/hooks/useStyleState.js.map +0 -1
- package/dist/components/modals/layout/Confirm.d.ts +0 -7
- package/dist/components/modals/layout/Confirm.d.ts.map +0 -1
- package/dist/components/modals/layout/Confirm.js +0 -96
- package/dist/components/modals/layout/Confirm.js.map +0 -1
- package/dist/components/modals/layout/DialogButtonBar.d.ts +0 -10
- package/dist/components/modals/layout/DialogButtonBar.d.ts.map +0 -1
- package/dist/components/modals/layout/DialogButtonBar.js +0 -19
- package/dist/components/modals/layout/DialogButtonBar.js.map +0 -1
- package/dist/components/modals/layout/DialogHeader.d.ts +0 -18
- package/dist/components/modals/layout/DialogHeader.d.ts.map +0 -1
- package/dist/components/modals/layout/DialogHeader.js +0 -116
- package/dist/components/modals/layout/DialogHeader.js.map +0 -1
- package/dist/components/responsive/AutoEllipsis.d.ts +0 -21
- package/dist/components/responsive/AutoEllipsis.d.ts.map +0 -1
- package/dist/components/responsive/AutoEllipsis.js +0 -128
- package/dist/components/responsive/AutoEllipsis.js.map +0 -1
- package/dist/components/responsive/makeResponsiveComponent.d.ts +0 -38
- package/dist/components/responsive/makeResponsiveComponent.d.ts.map +0 -1
- package/dist/components/responsive/makeResponsiveComponent.js +0 -88
- package/dist/components/responsive/makeResponsiveComponent.js.map +0 -1
- package/dist/components/types.d.ts +0 -5
- package/dist/components/types.d.ts.map +0 -1
- package/dist/components/waiAriaHelpers/typeAhead.d.ts +0 -44
- package/dist/components/waiAriaHelpers/typeAhead.d.ts.map +0 -1
- package/dist/components/waiAriaHelpers/typeAhead.js +0 -75
- package/dist/components/waiAriaHelpers/typeAhead.js.map +0 -1
- package/dist/globalFocus.js +0 -95
- package/dist/globalFocus.js.map +0 -1
- package/dist/hooks/useBodyScrollLock.js +0 -106
- package/dist/hooks/useBodyScrollLock.js.map +0 -1
- package/dist/objects/ApiaUtil/dialogs/ApiaUtilDialogs.d.ts +0 -18
- package/dist/objects/ApiaUtil/dialogs/ApiaUtilDialogs.d.ts.map +0 -1
- package/dist/objects/ApiaUtil/dialogs/ApiaUtilDialogs.js +0 -116
- package/dist/objects/ApiaUtil/dialogs/ApiaUtilDialogs.js.map +0 -1
- package/dist/objects/ApiaUtil/index.d.ts +0 -27
- package/dist/objects/ApiaUtil/index.d.ts.map +0 -1
- package/dist/objects/ApiaUtil/index.js +0 -89
- package/dist/objects/ApiaUtil/index.js.map +0 -1
- package/dist/objects/ApiaUtil/menu/ApiaUtilMenu.d.ts +0 -23
- package/dist/objects/ApiaUtil/menu/ApiaUtilMenu.d.ts.map +0 -1
- package/dist/objects/ApiaUtil/menu/ApiaUtilMenu.js +0 -108
- package/dist/objects/ApiaUtil/menu/ApiaUtilMenu.js.map +0 -1
- package/dist/objects/ApiaUtil/modals/ApiaUtilModals.d.ts +0 -17
- package/dist/objects/ApiaUtil/modals/ApiaUtilModals.d.ts.map +0 -1
- package/dist/objects/ApiaUtil/modals/ApiaUtilModals.js +0 -111
- package/dist/objects/ApiaUtil/modals/ApiaUtilModals.js.map +0 -1
- package/dist/objects/ApiaUtil/modals/OpenModal.d.ts +0 -38
- package/dist/objects/ApiaUtil/modals/OpenModal.d.ts.map +0 -1
- package/dist/objects/ApiaUtil/modals/OpenModal.js +0 -37
- package/dist/objects/ApiaUtil/modals/OpenModal.js.map +0 -1
- package/dist/objects/ApiaUtil/mouse/ApiaUtilMouse.d.ts +0 -19
- package/dist/objects/ApiaUtil/mouse/ApiaUtilMouse.d.ts.map +0 -1
- package/dist/objects/ApiaUtil/mouse/ApiaUtilMouse.js +0 -26
- package/dist/objects/ApiaUtil/mouse/ApiaUtilMouse.js.map +0 -1
- package/dist/objects/ApiaUtil/notifications/ApiaUtilNotifications.d.ts +0 -14
- package/dist/objects/ApiaUtil/notifications/ApiaUtilNotifications.d.ts.map +0 -1
- package/dist/objects/ApiaUtil/notifications/ApiaUtilNotifications.js +0 -33
- package/dist/objects/ApiaUtil/notifications/ApiaUtilNotifications.js.map +0 -1
- package/dist/objects/ApiaUtil/parsers/ApiaUtilParsers.d.ts +0 -23
- package/dist/objects/ApiaUtil/parsers/ApiaUtilParsers.d.ts.map +0 -1
- package/dist/objects/ApiaUtil/parsers/ApiaUtilParsers.js +0 -79
- package/dist/objects/ApiaUtil/parsers/ApiaUtilParsers.js.map +0 -1
- package/dist/objects/ApiaUtil/tabs/ApiaUtilCurrentTab.d.ts +0 -33
- package/dist/objects/ApiaUtil/tabs/ApiaUtilCurrentTab.d.ts.map +0 -1
- package/dist/objects/ApiaUtil/tabs/ApiaUtilCurrentTab.js +0 -50
- package/dist/objects/ApiaUtil/tabs/ApiaUtilCurrentTab.js.map +0 -1
- package/dist/objects/ApiaUtil/tabs/ApiaUtilTabsController.d.ts +0 -20
- package/dist/objects/ApiaUtil/tabs/ApiaUtilTabsController.d.ts.map +0 -1
- package/dist/objects/ApiaUtil/tabs/ApiaUtilTabsController.js +0 -37
- package/dist/objects/ApiaUtil/tabs/ApiaUtilTabsController.js.map +0 -1
- package/dist/objects/ApiaUtil/tabs/util.js +0 -17
- package/dist/objects/ApiaUtil/tabs/util.js.map +0 -1
- package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltip.d.ts +0 -11
- package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltip.d.ts.map +0 -1
- package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltip.js +0 -17
- package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltip.js.map +0 -1
- package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltips.d.ts +0 -22
- package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltips.d.ts.map +0 -1
- package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltips.js +0 -104
- package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltips.js.map +0 -1
- package/dist/objects/ApiaUtil/tooltips/AutomaticTooltip.d.ts +0 -13
- package/dist/objects/ApiaUtil/tooltips/AutomaticTooltip.d.ts.map +0 -1
- package/dist/objects/ApiaUtil/tooltips/AutomaticTooltip.js +0 -79
- package/dist/objects/ApiaUtil/tooltips/AutomaticTooltip.js.map +0 -1
- package/dist/objects/ApiaUtil/tooltips/tooltip/Tooltip.js +0 -62
- package/dist/objects/ApiaUtil/tooltips/tooltip/Tooltip.js.map +0 -1
- package/dist/objects/ApiaUtil/tooltips/tooltip/types.d.ts +0 -117
- package/dist/objects/ApiaUtil/tooltips/tooltip/types.d.ts.map +0 -1
- package/dist/objects/ApiaUtil/tooltips/tooltip/util.js +0 -273
- package/dist/objects/ApiaUtil/tooltips/tooltip/util.js.map +0 -1
- package/dist/objects/ScreenLocker/index.d.ts +0 -37
- package/dist/objects/ScreenLocker/index.d.ts.map +0 -1
- package/dist/objects/ScreenLocker/index.js +0 -92
- package/dist/objects/ScreenLocker/index.js.map +0 -1
- package/dist/tabs/Content.d.ts +0 -7
- package/dist/tabs/Content.d.ts.map +0 -1
- package/dist/tabs/Content.js +0 -52
- package/dist/tabs/Content.js.map +0 -1
- package/dist/tabs/ContextMenu.js +0 -76
- package/dist/tabs/ContextMenu.js.map +0 -1
- package/dist/tabs/Item.js +0 -63
- package/dist/tabs/Item.js.map +0 -1
- package/dist/tabs/Tabs.d.ts +0 -8
- package/dist/tabs/Tabs.d.ts.map +0 -1
- package/dist/tabs/Tabs.js +0 -78
- package/dist/tabs/Tabs.js.map +0 -1
- package/dist/tabs/TabsList.d.ts +0 -8
- package/dist/tabs/TabsList.d.ts.map +0 -1
- package/dist/tabs/TabsList.js +0 -138
- package/dist/tabs/TabsList.js.map +0 -1
- package/dist/tabs/renderers/DefaultTabsLabelRenderer.d.ts +0 -6
- package/dist/tabs/renderers/DefaultTabsLabelRenderer.d.ts.map +0 -1
- package/dist/tabs/renderers/DefaultTabsLabelRenderer.js +0 -71
- package/dist/tabs/renderers/DefaultTabsLabelRenderer.js.map +0 -1
- package/dist/tabs/tabsController.d.ts +0 -41
- package/dist/tabs/tabsController.d.ts.map +0 -1
- package/dist/tabs/tabsController.js +0 -303
- package/dist/tabs/tabsController.js.map +0 -1
- package/dist/tabs/types.d.ts +0 -115
- package/dist/tabs/types.d.ts.map +0 -1
- package/dist/tabs/useTabsList.js +0 -20
- package/dist/tabs/useTabsList.js.map +0 -1
- package/dist/tabs/util.js +0 -11
- package/dist/tabs/util.js.map +0 -1
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { createContext, useContext } from 'react';
|
|
2
|
-
|
|
3
|
-
const ModalContext = createContext(null);
|
|
4
|
-
function useModalContext() {
|
|
5
|
-
const context = useContext(ModalContext);
|
|
6
|
-
if (!context)
|
|
7
|
-
throw new Error("There is no ModalContext");
|
|
8
|
-
return context;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export { ModalContext, useModalContext };
|
|
12
|
-
//# sourceMappingURL=ModalContext.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ModalContext.js","sources":["../../../src/components/modals/ModalContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\r\n\r\nexport type TModalContext = {\r\n changeTitle: (newTitle: string) => void;\r\n close: () => unknown;\r\n descriptionId: string;\r\n};\r\n\r\nexport const ModalContext = createContext<TModalContext | null>(null);\r\n\r\nexport function useModalContext() {\r\n const context = useContext(ModalContext);\r\n\r\n if (!context) throw new Error('There is no ModalContext');\r\n\r\n return context;\r\n}\r\n"],"names":[],"mappings":";;AAQa,MAAA,YAAA,GAAe,cAAoC,IAAI,EAAA;AAE7D,SAAS,eAAkB,GAAA;AAChC,EAAM,MAAA,OAAA,GAAU,WAAW,YAAY,CAAA,CAAA;AAEvC,EAAA,IAAI,CAAC,OAAA;AAAS,IAAM,MAAA,IAAI,MAAM,0BAA0B,CAAA,CAAA;AAExD,EAAO,OAAA,OAAA,CAAA;AACT;;;;"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { BoxProps } from '@apia/theme';
|
|
3
|
-
|
|
4
|
-
interface IOverlay extends BoxProps {
|
|
5
|
-
children: React.ReactNode;
|
|
6
|
-
className?: string;
|
|
7
|
-
onOverlayClicked: (event: React.MouseEvent<HTMLDivElement>) => void;
|
|
8
|
-
/**
|
|
9
|
-
* Permite pasar un callback que será llamado una vez que el overlay termine
|
|
10
|
-
* de cerrarse.
|
|
11
|
-
*/
|
|
12
|
-
onExited: () => void;
|
|
13
|
-
isOpen?: boolean;
|
|
14
|
-
shouldAvoidInitialFocusTrap?: boolean;
|
|
15
|
-
stretch?: boolean;
|
|
16
|
-
transitionDuration?: number;
|
|
17
|
-
}
|
|
18
|
-
declare const Overlay: React.ForwardRefExoticComponent<IOverlay & React.RefAttributes<unknown>>;
|
|
19
|
-
|
|
20
|
-
export { type IOverlay, Overlay };
|
|
21
|
-
//# sourceMappingURL=Overlay.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Overlay.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import { CSSTransition } from 'react-transition-group';
|
|
4
|
-
import { Box, getVariant } from '@apia/theme';
|
|
5
|
-
import ReactFocusLock from 'react-focus-lock';
|
|
6
|
-
import { useCombinedRefs } from '@apia/util';
|
|
7
|
-
import { useBodyScrollLock } from '../../hooks/useBodyScrollLock.js';
|
|
8
|
-
|
|
9
|
-
const Overlay = React.forwardRef(
|
|
10
|
-
({
|
|
11
|
-
children,
|
|
12
|
-
className = "",
|
|
13
|
-
onExited,
|
|
14
|
-
onOverlayClicked,
|
|
15
|
-
isOpen: open = false,
|
|
16
|
-
shouldAvoidInitialFocusTrap,
|
|
17
|
-
stretch,
|
|
18
|
-
transitionDuration = 150,
|
|
19
|
-
...props
|
|
20
|
-
}, ref) => {
|
|
21
|
-
const innerRef = React.useRef(null);
|
|
22
|
-
const assignRefs = useCombinedRefs(innerRef, ref);
|
|
23
|
-
useBodyScrollLock(open);
|
|
24
|
-
return /* @__PURE__ */ jsx(
|
|
25
|
-
CSSTransition,
|
|
26
|
-
{
|
|
27
|
-
in: open,
|
|
28
|
-
timeout: transitionDuration,
|
|
29
|
-
onExited,
|
|
30
|
-
classNames: "overlayAnimation",
|
|
31
|
-
appear: true,
|
|
32
|
-
nodeRef: innerRef,
|
|
33
|
-
unmountOnExit: true,
|
|
34
|
-
children: /* @__PURE__ */ jsx(
|
|
35
|
-
Box,
|
|
36
|
-
{
|
|
37
|
-
className: `${className} overlay`,
|
|
38
|
-
ref: assignRefs,
|
|
39
|
-
...props,
|
|
40
|
-
"data-type": "overlay",
|
|
41
|
-
role: "presentation",
|
|
42
|
-
onClick: React.useCallback(
|
|
43
|
-
(ev) => {
|
|
44
|
-
if (ev.target === innerRef.current)
|
|
45
|
-
onOverlayClicked(ev);
|
|
46
|
-
},
|
|
47
|
-
[onOverlayClicked]
|
|
48
|
-
),
|
|
49
|
-
...getVariant(
|
|
50
|
-
props.variant ?? `layout.common.modals.overlay${stretch ? "--stretch" : ""}`
|
|
51
|
-
),
|
|
52
|
-
children: /* @__PURE__ */ jsx(
|
|
53
|
-
ReactFocusLock,
|
|
54
|
-
{
|
|
55
|
-
autoFocus: shouldAvoidInitialFocusTrap ? false : void 0,
|
|
56
|
-
returnFocus: false,
|
|
57
|
-
crossFrame: false,
|
|
58
|
-
disabled: document.activeElement?.classList.contains("filter") && document.activeElement.tagName === "INPUT",
|
|
59
|
-
whiteList: (el) => {
|
|
60
|
-
return !el.closest('[role="menu"]');
|
|
61
|
-
},
|
|
62
|
-
children
|
|
63
|
-
}
|
|
64
|
-
)
|
|
65
|
-
}
|
|
66
|
-
)
|
|
67
|
-
}
|
|
68
|
-
);
|
|
69
|
-
}
|
|
70
|
-
);
|
|
71
|
-
Overlay.displayName = "Overlay";
|
|
72
|
-
|
|
73
|
-
export { Overlay };
|
|
74
|
-
//# sourceMappingURL=Overlay.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Overlay.js","sources":["../../../src/components/modals/Overlay.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { CSSTransition } from 'react-transition-group';\r\nimport { Box, BoxProps } from '@apia/theme';\r\nimport ReactFocusLock from 'react-focus-lock';\r\nimport { getVariant } from '@apia/theme';\r\nimport { useCombinedRefs } from '@apia/util';\r\nimport { useBodyScrollLock } from '../../hooks';\r\n\r\nexport interface IOverlay extends BoxProps {\r\n children: React.ReactNode;\r\n className?: string;\r\n onOverlayClicked: (event: React.MouseEvent<HTMLDivElement>) => void;\r\n /**\r\n * Permite pasar un callback que será llamado una vez que el overlay termine\r\n * de cerrarse.\r\n */\r\n onExited: () => void;\r\n isOpen?: boolean;\r\n shouldAvoidInitialFocusTrap?: boolean;\r\n stretch?: boolean;\r\n transitionDuration?: number;\r\n}\r\n\r\nexport const Overlay = React.forwardRef<unknown, IOverlay>(\r\n (\r\n {\r\n children,\r\n className = '',\r\n onExited,\r\n onOverlayClicked,\r\n isOpen: open = false,\r\n shouldAvoidInitialFocusTrap,\r\n stretch,\r\n transitionDuration = 150,\r\n ...props\r\n },\r\n ref,\r\n ) => {\r\n const innerRef = React.useRef<HTMLDivElement>(null);\r\n const assignRefs = useCombinedRefs(innerRef, ref);\r\n useBodyScrollLock(open);\r\n return (\r\n <CSSTransition\r\n in={open}\r\n timeout={transitionDuration}\r\n onExited={onExited}\r\n classNames=\"overlayAnimation\"\r\n appear\r\n nodeRef={innerRef}\r\n unmountOnExit\r\n >\r\n <Box\r\n className={`${className} overlay`}\r\n ref={assignRefs}\r\n {...props}\r\n data-type=\"overlay\"\r\n role=\"presentation\"\r\n onClick={React.useCallback(\r\n (ev: React.MouseEvent<HTMLDivElement>) => {\r\n if (ev.target === innerRef.current) onOverlayClicked(ev);\r\n },\r\n [onOverlayClicked],\r\n )}\r\n {...getVariant(\r\n props.variant ??\r\n `layout.common.modals.overlay${stretch ? '--stretch' : ''}`,\r\n )}\r\n >\r\n <ReactFocusLock\r\n autoFocus={shouldAvoidInitialFocusTrap ? false : undefined}\r\n returnFocus={false}\r\n crossFrame={false}\r\n disabled={\r\n document.activeElement?.classList.contains('filter') &&\r\n document.activeElement.tagName === 'INPUT'\r\n }\r\n whiteList={(el) => {\r\n return !el.closest('[role=\"menu\"]');\r\n }}\r\n >\r\n {children}\r\n </ReactFocusLock>\r\n </Box>\r\n </CSSTransition>\r\n );\r\n },\r\n);\r\n\r\nOverlay.displayName = 'Overlay';\r\n"],"names":[],"mappings":";;;;;;;;AAuBO,MAAM,UAAU,KAAM,CAAA,UAAA;AAAA,EAC3B,CACE;AAAA,IACE,QAAA;AAAA,IACA,SAAY,GAAA,EAAA;AAAA,IACZ,QAAA;AAAA,IACA,gBAAA;AAAA,IACA,QAAQ,IAAO,GAAA,KAAA;AAAA,IACf,2BAAA;AAAA,IACA,OAAA;AAAA,IACA,kBAAqB,GAAA,GAAA;AAAA,IACrB,GAAG,KAAA;AAAA,KAEL,GACG,KAAA;AACH,IAAM,MAAA,QAAA,GAAW,KAAM,CAAA,MAAA,CAAuB,IAAI,CAAA,CAAA;AAClD,IAAM,MAAA,UAAA,GAAa,eAAgB,CAAA,QAAA,EAAU,GAAG,CAAA,CAAA;AAChD,IAAA,iBAAA,CAAkB,IAAI,CAAA,CAAA;AACtB,IACE,uBAAA,GAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACC,EAAI,EAAA,IAAA;AAAA,QACJ,OAAS,EAAA,kBAAA;AAAA,QACT,QAAA;AAAA,QACA,UAAW,EAAA,kBAAA;AAAA,QACX,MAAM,EAAA,IAAA;AAAA,QACN,OAAS,EAAA,QAAA;AAAA,QACT,aAAa,EAAA,IAAA;AAAA,QAEb,QAAA,kBAAA,GAAA;AAAA,UAAC,GAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,GAAG,SAAS,CAAA,QAAA,CAAA;AAAA,YACvB,GAAK,EAAA,UAAA;AAAA,YACJ,GAAG,KAAA;AAAA,YACJ,WAAU,EAAA,SAAA;AAAA,YACV,IAAK,EAAA,cAAA;AAAA,YACL,SAAS,KAAM,CAAA,WAAA;AAAA,cACb,CAAC,EAAyC,KAAA;AACxC,gBAAI,IAAA,EAAA,CAAG,WAAW,QAAS,CAAA,OAAA;AAAS,kBAAA,gBAAA,CAAiB,EAAE,CAAA,CAAA;AAAA,eACzD;AAAA,cACA,CAAC,gBAAgB,CAAA;AAAA,aACnB;AAAA,YACC,GAAG,UAAA;AAAA,cACF,KAAM,CAAA,OAAA,IACJ,CAA+B,4BAAA,EAAA,OAAA,GAAU,cAAc,EAAE,CAAA,CAAA;AAAA,aAC7D;AAAA,YAEA,QAAA,kBAAA,GAAA;AAAA,cAAC,cAAA;AAAA,cAAA;AAAA,gBACC,SAAA,EAAW,8BAA8B,KAAQ,GAAA,KAAA,CAAA;AAAA,gBACjD,WAAa,EAAA,KAAA;AAAA,gBACb,UAAY,EAAA,KAAA;AAAA,gBACZ,QAAA,EACE,SAAS,aAAe,EAAA,SAAA,CAAU,SAAS,QAAQ,CAAA,IACnD,QAAS,CAAA,aAAA,CAAc,OAAY,KAAA,OAAA;AAAA,gBAErC,SAAA,EAAW,CAAC,EAAO,KAAA;AACjB,kBAAO,OAAA,CAAC,EAAG,CAAA,OAAA,CAAQ,eAAe,CAAA,CAAA;AAAA,iBACpC;AAAA,gBAEC,QAAA;AAAA,eAAA;AAAA,aACH;AAAA,WAAA;AAAA,SACF;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,GAEJ;AACF,EAAA;AAEA,OAAA,CAAQ,WAAc,GAAA,SAAA;;;;"}
|
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
import { jsx, jsxs } from '@apia/theme/jsx-runtime';
|
|
2
|
-
import React__default, { forwardRef, useRef, useState, useEffect, useCallback } from 'react';
|
|
3
|
-
import { CSSTransition } from 'react-transition-group';
|
|
4
|
-
import { Box, getVariant } from '@apia/theme';
|
|
5
|
-
import uniqueId from 'lodash-es/uniqueId';
|
|
6
|
-
import { useCombinedRefs, focus, focusSelector, getFocusSelector } from '@apia/util';
|
|
7
|
-
import { Overlay } from './Overlay.js';
|
|
8
|
-
import DialogHeader from './layout/DialogHeader.js';
|
|
9
|
-
import { ModalContext } from './ModalContext.js';
|
|
10
|
-
|
|
11
|
-
const StaticModal = forwardRef(
|
|
12
|
-
({
|
|
13
|
-
animationDuration = 150,
|
|
14
|
-
children = null,
|
|
15
|
-
className,
|
|
16
|
-
hideCloseButton,
|
|
17
|
-
id,
|
|
18
|
-
initialFocusConfiguration,
|
|
19
|
-
initialFocusGetter,
|
|
20
|
-
initialFocusRef,
|
|
21
|
-
isOpen = false,
|
|
22
|
-
maxWidth,
|
|
23
|
-
NavBar,
|
|
24
|
-
noFocus,
|
|
25
|
-
noHeader = false,
|
|
26
|
-
onClose = () => {
|
|
27
|
-
},
|
|
28
|
-
onExited = () => {
|
|
29
|
-
},
|
|
30
|
-
Portal,
|
|
31
|
-
shouldCloseOnEsc = true,
|
|
32
|
-
shouldCloseOnOverlayClick = true,
|
|
33
|
-
size = "md",
|
|
34
|
-
stretch,
|
|
35
|
-
title = "",
|
|
36
|
-
variant
|
|
37
|
-
}, ref) => {
|
|
38
|
-
const lastTitle = useRef(title);
|
|
39
|
-
const [innerTitle, setInnerTitle] = useState(title);
|
|
40
|
-
if (lastTitle.current !== title && innerTitle !== title) {
|
|
41
|
-
setInnerTitle(title);
|
|
42
|
-
}
|
|
43
|
-
const [isOpenInner, setIsOpen] = useState(isOpen);
|
|
44
|
-
const innerId = React__default.useMemo(() => {
|
|
45
|
-
return `Modal${uniqueId()}`;
|
|
46
|
-
}, []);
|
|
47
|
-
useEffect(() => {
|
|
48
|
-
setIsOpen(isOpen);
|
|
49
|
-
}, [isOpen]);
|
|
50
|
-
const closeHandler = useCallback(() => {
|
|
51
|
-
setIsOpen(false);
|
|
52
|
-
onClose();
|
|
53
|
-
}, [onClose]);
|
|
54
|
-
const [overlayElement, setInnerRef] = React__default.useState();
|
|
55
|
-
const assignRefs = useCombinedRefs(
|
|
56
|
-
setInnerRef,
|
|
57
|
-
ref
|
|
58
|
-
);
|
|
59
|
-
const overlayClickedHandle = (event) => {
|
|
60
|
-
if (shouldCloseOnOverlayClick) {
|
|
61
|
-
if (event.target.getAttribute("data-type") === "overlay") {
|
|
62
|
-
closeHandler();
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
useEffect(() => {
|
|
67
|
-
function handleEscape(event) {
|
|
68
|
-
const overlays = [...document.querySelectorAll(".overlay")];
|
|
69
|
-
if (overlays.length > 0 && overlays[overlays.length - 1]?.id === innerId && event.key === "Escape") {
|
|
70
|
-
event.preventDefault();
|
|
71
|
-
event.stopPropagation();
|
|
72
|
-
closeHandler();
|
|
73
|
-
return false;
|
|
74
|
-
}
|
|
75
|
-
return true;
|
|
76
|
-
}
|
|
77
|
-
if (isOpenInner && shouldCloseOnEsc)
|
|
78
|
-
document.addEventListener("keydown", handleEscape, false);
|
|
79
|
-
return () => {
|
|
80
|
-
document.removeEventListener("keydown", handleEscape, false);
|
|
81
|
-
};
|
|
82
|
-
}, [shouldCloseOnEsc, isOpenInner, closeHandler, innerId]);
|
|
83
|
-
React__default.useEffect(
|
|
84
|
-
() => {
|
|
85
|
-
if (!noFocus && isOpenInner) {
|
|
86
|
-
if (overlayElement) {
|
|
87
|
-
void focus.on(
|
|
88
|
-
() => {
|
|
89
|
-
if (initialFocusGetter)
|
|
90
|
-
return initialFocusGetter(overlayElement);
|
|
91
|
-
if (initialFocusRef?.current)
|
|
92
|
-
return (initialFocusRef?.current || overlayElement).querySelector(focusSelector);
|
|
93
|
-
return overlayElement.querySelector(
|
|
94
|
-
getFocusSelector(":not(.modal__closeButton)")
|
|
95
|
-
);
|
|
96
|
-
},
|
|
97
|
-
{ ...initialFocusConfiguration, focusEvenWhenScreenLocked: true }
|
|
98
|
-
);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
},
|
|
102
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
103
|
-
[overlayElement]
|
|
104
|
-
);
|
|
105
|
-
const Wrapper = React__default.useMemo(() => {
|
|
106
|
-
return Portal ?? React__default.Fragment;
|
|
107
|
-
}, []);
|
|
108
|
-
const nodeRef = useRef(null);
|
|
109
|
-
return /* @__PURE__ */ jsx(
|
|
110
|
-
ModalContext.Provider,
|
|
111
|
-
{
|
|
112
|
-
value: React__default.useMemo(() => {
|
|
113
|
-
return {
|
|
114
|
-
changeTitle: (newTitle) => {
|
|
115
|
-
setInnerTitle(newTitle);
|
|
116
|
-
},
|
|
117
|
-
close: () => {
|
|
118
|
-
closeHandler();
|
|
119
|
-
},
|
|
120
|
-
descriptionId: `${innerId}_Description`
|
|
121
|
-
};
|
|
122
|
-
}, [closeHandler, innerId]),
|
|
123
|
-
children: /* @__PURE__ */ jsx(Wrapper, { children: /* @__PURE__ */ jsx(
|
|
124
|
-
Overlay,
|
|
125
|
-
{
|
|
126
|
-
onOverlayClicked: overlayClickedHandle,
|
|
127
|
-
isOpen,
|
|
128
|
-
className,
|
|
129
|
-
stretch,
|
|
130
|
-
ref: assignRefs,
|
|
131
|
-
onExited,
|
|
132
|
-
id: innerId,
|
|
133
|
-
shouldAvoidInitialFocusTrap: noFocus,
|
|
134
|
-
children: /* @__PURE__ */ jsx(
|
|
135
|
-
CSSTransition,
|
|
136
|
-
{
|
|
137
|
-
in: isOpen,
|
|
138
|
-
timeout: animationDuration,
|
|
139
|
-
classNames: "modal",
|
|
140
|
-
appear: true,
|
|
141
|
-
unmountOnExit: true,
|
|
142
|
-
nodeRef,
|
|
143
|
-
children: /* @__PURE__ */ jsx(
|
|
144
|
-
Box,
|
|
145
|
-
{
|
|
146
|
-
ref: nodeRef,
|
|
147
|
-
className: "modal__variantWrapper",
|
|
148
|
-
...variant ? getVariant(variant) : {},
|
|
149
|
-
children: /* @__PURE__ */ jsxs(
|
|
150
|
-
Box,
|
|
151
|
-
{
|
|
152
|
-
id,
|
|
153
|
-
role: "dialog",
|
|
154
|
-
"aria-modal": "true",
|
|
155
|
-
"aria-label": title,
|
|
156
|
-
"aria-describedby": `${innerId}_Description`,
|
|
157
|
-
"aria-hidden": "false",
|
|
158
|
-
className: "modal__main",
|
|
159
|
-
"data-scroll-lock-scrollable": true,
|
|
160
|
-
sx: React__default.useMemo(() => {
|
|
161
|
-
return {
|
|
162
|
-
variant: `layout.common.modals.${size}`,
|
|
163
|
-
...maxWidth !== void 0 ? { maxWidth } : {}
|
|
164
|
-
};
|
|
165
|
-
}, [maxWidth, size]),
|
|
166
|
-
"data-variant": `layout.common.modals.${size}`,
|
|
167
|
-
children: [
|
|
168
|
-
!noHeader && /* @__PURE__ */ jsx(
|
|
169
|
-
DialogHeader,
|
|
170
|
-
{
|
|
171
|
-
className: "modal__header",
|
|
172
|
-
NavBar,
|
|
173
|
-
title: innerTitle,
|
|
174
|
-
close: closeHandler,
|
|
175
|
-
hideCloseButton,
|
|
176
|
-
id: `${innerId}_Header`
|
|
177
|
-
}
|
|
178
|
-
),
|
|
179
|
-
/* @__PURE__ */ jsx(
|
|
180
|
-
Box,
|
|
181
|
-
{
|
|
182
|
-
className: "modal__content",
|
|
183
|
-
id: typeof children === "string" ? `${innerId}_Description` : void 0,
|
|
184
|
-
children
|
|
185
|
-
}
|
|
186
|
-
)
|
|
187
|
-
]
|
|
188
|
-
}
|
|
189
|
-
)
|
|
190
|
-
}
|
|
191
|
-
)
|
|
192
|
-
}
|
|
193
|
-
)
|
|
194
|
-
}
|
|
195
|
-
) })
|
|
196
|
-
}
|
|
197
|
-
);
|
|
198
|
-
}
|
|
199
|
-
);
|
|
200
|
-
StaticModal.displayName = "StaticModal";
|
|
201
|
-
|
|
202
|
-
export { StaticModal };
|
|
203
|
-
//# sourceMappingURL=StaticModal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StaticModal.js","sources":["../../../src/components/modals/StaticModal.tsx"],"sourcesContent":["import React, {\r\n useEffect,\r\n useState,\r\n useCallback,\r\n forwardRef,\r\n useRef,\r\n} from 'react';\r\nimport { CSSTransition } from 'react-transition-group';\r\nimport { Box } from '@apia/theme';\r\nimport uniqueId from 'lodash-es/uniqueId';\r\nimport {\r\n focus,\r\n focusSelector,\r\n getFocusSelector,\r\n useCombinedRefs,\r\n} from '@apia/util';\r\nimport { getVariant } from '@apia/theme';\r\nimport { Overlay } from './Overlay';\r\nimport DialogHeader from './layout/DialogHeader';\r\nimport { ModalContext } from './ModalContext';\r\nimport { TModal } from './Modal';\r\n\r\nexport const StaticModal = forwardRef(\r\n (\r\n {\r\n animationDuration = 150,\r\n children = null,\r\n className,\r\n hideCloseButton,\r\n id,\r\n initialFocusConfiguration,\r\n initialFocusGetter,\r\n initialFocusRef,\r\n isOpen = false,\r\n maxWidth,\r\n NavBar,\r\n noFocus,\r\n noHeader = false,\r\n onClose = () => {},\r\n onExited = () => {},\r\n Portal,\r\n shouldCloseOnEsc = true,\r\n shouldCloseOnOverlayClick = true,\r\n size = 'md',\r\n stretch,\r\n title = '',\r\n variant,\r\n }: Omit<TModal, 'asWindow'>,\r\n ref: React.Ref<HTMLDivElement>,\r\n ) => {\r\n const lastTitle = useRef(title);\r\n const [innerTitle, setInnerTitle] = useState(title);\r\n if (lastTitle.current !== title && innerTitle !== title) {\r\n setInnerTitle(title);\r\n }\r\n const [isOpenInner, setIsOpen] = useState(isOpen);\r\n const innerId = React.useMemo(() => {\r\n return `Modal${uniqueId()}`;\r\n }, []);\r\n\r\n useEffect(() => {\r\n setIsOpen(isOpen);\r\n }, [isOpen]);\r\n\r\n const closeHandler = useCallback(() => {\r\n setIsOpen(false);\r\n onClose();\r\n }, [onClose]);\r\n const [overlayElement, setInnerRef] = React.useState<HTMLElement>();\r\n const assignRefs = useCombinedRefs(\r\n setInnerRef as unknown as React.ForwardedRef<unknown>,\r\n ref as unknown as React.Ref<unknown>,\r\n );\r\n\r\n const overlayClickedHandle = (event: React.MouseEvent<HTMLDivElement>) => {\r\n if (shouldCloseOnOverlayClick) {\r\n if (\r\n (event.target as HTMLDivElement).getAttribute('data-type') ===\r\n 'overlay'\r\n ) {\r\n closeHandler();\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n function handleEscape(event: KeyboardEvent) {\r\n const overlays = [...document.querySelectorAll('.overlay')];\r\n\r\n if (\r\n overlays.length > 0 &&\r\n overlays[overlays.length - 1]?.id === innerId &&\r\n event.key === 'Escape'\r\n ) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n closeHandler();\r\n\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n if (isOpenInner && shouldCloseOnEsc)\r\n document.addEventListener('keydown', handleEscape, false);\r\n return () => {\r\n document.removeEventListener('keydown', handleEscape, false);\r\n };\r\n }, [shouldCloseOnEsc, isOpenInner, closeHandler, innerId]);\r\n\r\n React.useEffect(\r\n () => {\r\n if (!noFocus && isOpenInner) {\r\n if (overlayElement) {\r\n void focus.on(\r\n () => {\r\n if (initialFocusGetter)\r\n return initialFocusGetter(overlayElement);\r\n if (initialFocusRef?.current)\r\n return (\r\n (initialFocusRef?.current || overlayElement) as HTMLElement\r\n ).querySelector(focusSelector) as HTMLElement;\r\n return overlayElement.querySelector(\r\n getFocusSelector(':not(.modal__closeButton)'),\r\n ) as HTMLElement;\r\n },\r\n { ...initialFocusConfiguration, focusEvenWhenScreenLocked: true },\r\n );\r\n }\r\n }\r\n },\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n [overlayElement],\r\n );\r\n\r\n const Wrapper = React.useMemo(() => {\r\n return Portal ?? React.Fragment;\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const nodeRef = useRef<HTMLElement | null>(null);\r\n\r\n return (\r\n <ModalContext.Provider\r\n value={React.useMemo(() => {\r\n return {\r\n changeTitle: (newTitle) => {\r\n setInnerTitle(newTitle);\r\n },\r\n close: () => {\r\n closeHandler();\r\n },\r\n descriptionId: `${innerId}_Description`,\r\n };\r\n }, [closeHandler, innerId])}\r\n >\r\n <Wrapper>\r\n <Overlay\r\n onOverlayClicked={overlayClickedHandle}\r\n isOpen={isOpen}\r\n className={className}\r\n stretch={stretch}\r\n ref={assignRefs}\r\n onExited={onExited}\r\n id={innerId}\r\n shouldAvoidInitialFocusTrap={noFocus}\r\n >\r\n <CSSTransition\r\n in={isOpen}\r\n timeout={animationDuration}\r\n classNames=\"modal\"\r\n appear\r\n unmountOnExit\r\n nodeRef={nodeRef}\r\n >\r\n <Box\r\n ref={nodeRef}\r\n className=\"modal__variantWrapper\"\r\n {...(variant ? getVariant(variant) : {})}\r\n >\r\n <Box\r\n id={id}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-label={title}\r\n aria-describedby={`${innerId}_Description`}\r\n aria-hidden=\"false\"\r\n className=\"modal__main\"\r\n // allows scrolling within element, despite body lock\r\n data-scroll-lock-scrollable\r\n sx={React.useMemo(() => {\r\n return {\r\n variant: `layout.common.modals.${size}`,\r\n ...(maxWidth !== undefined ? { maxWidth } : {}),\r\n };\r\n }, [maxWidth, size])}\r\n data-variant={`layout.common.modals.${size}`}\r\n >\r\n {!noHeader && (\r\n <DialogHeader\r\n className=\"modal__header\"\r\n NavBar={NavBar}\r\n title={innerTitle}\r\n close={closeHandler}\r\n hideCloseButton={hideCloseButton}\r\n id={`${innerId}_Header`}\r\n />\r\n )}\r\n <Box\r\n className=\"modal__content\"\r\n id={\r\n typeof children === 'string'\r\n ? `${innerId}_Description`\r\n : undefined\r\n }\r\n >\r\n {children}\r\n </Box>\r\n </Box>\r\n </Box>\r\n </CSSTransition>\r\n </Overlay>\r\n </Wrapper>\r\n </ModalContext.Provider>\r\n );\r\n },\r\n);\r\n\r\nStaticModal.displayName = 'StaticModal';\r\n"],"names":["React"],"mappings":"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"}
|
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
import { jsx, jsxs } from '@apia/theme/jsx-runtime';
|
|
2
|
-
import { forwardRef, useMemo, useRef, useState, useEffect, useCallback, Fragment } from 'react';
|
|
3
|
-
import { CSSTransition } from 'react-transition-group';
|
|
4
|
-
import { Box, getVariant } from '@apia/theme';
|
|
5
|
-
import DialogHeader from './layout/DialogHeader.js';
|
|
6
|
-
import { ModalContext } from './ModalContext.js';
|
|
7
|
-
import { useEscapeKey } from './hooks/useEscapeKey.js';
|
|
8
|
-
import { useInitialFocus } from './hooks/useInitialFocus.js';
|
|
9
|
-
import { useCombinedRefs, addBoundary } from '@apia/util';
|
|
10
|
-
import { useStyleState } from './hooks/useStyleState.js';
|
|
11
|
-
import { uniqueId } from '@apia/notifications';
|
|
12
|
-
|
|
13
|
-
const WindowModal = forwardRef(
|
|
14
|
-
({
|
|
15
|
-
animationDuration = 150,
|
|
16
|
-
children = null,
|
|
17
|
-
className,
|
|
18
|
-
defaultPosition,
|
|
19
|
-
hideCloseButton,
|
|
20
|
-
id,
|
|
21
|
-
initialFocusConfiguration,
|
|
22
|
-
initialFocusGetter,
|
|
23
|
-
initialFocusRef,
|
|
24
|
-
isOpen = false,
|
|
25
|
-
maxWidth,
|
|
26
|
-
NavBar,
|
|
27
|
-
noFocus,
|
|
28
|
-
noHeader = false,
|
|
29
|
-
onClose = () => {
|
|
30
|
-
},
|
|
31
|
-
onDragStart = () => {
|
|
32
|
-
},
|
|
33
|
-
onExited = () => {
|
|
34
|
-
},
|
|
35
|
-
Portal,
|
|
36
|
-
shouldCloseOnEsc = true,
|
|
37
|
-
size = "md",
|
|
38
|
-
title = "",
|
|
39
|
-
variant
|
|
40
|
-
}, ref) => {
|
|
41
|
-
const innerId = useMemo(() => {
|
|
42
|
-
return `Modal${uniqueId()}`;
|
|
43
|
-
}, []);
|
|
44
|
-
const nodeRef = useRef(null);
|
|
45
|
-
const lastTitle = useRef(title);
|
|
46
|
-
const [innerTitle, setInnerTitle] = useState(title);
|
|
47
|
-
if (lastTitle.current !== title && innerTitle !== title) {
|
|
48
|
-
setInnerTitle(title);
|
|
49
|
-
}
|
|
50
|
-
const [isOpenInner, setIsOpen] = useState(isOpen);
|
|
51
|
-
useEffect(() => {
|
|
52
|
-
setIsOpen(isOpen);
|
|
53
|
-
}, [isOpen]);
|
|
54
|
-
const closeHandler = useCallback(() => {
|
|
55
|
-
setIsOpen(false);
|
|
56
|
-
onClose();
|
|
57
|
-
}, [onClose]);
|
|
58
|
-
useEscapeKey({ closeHandler, id: innerId, isOpenInner, shouldCloseOnEsc });
|
|
59
|
-
useInitialFocus({
|
|
60
|
-
isOpenInner,
|
|
61
|
-
initialFocusConfiguration,
|
|
62
|
-
initialFocusGetter,
|
|
63
|
-
initialFocusRef,
|
|
64
|
-
noFocus,
|
|
65
|
-
parentElement: nodeRef.current
|
|
66
|
-
});
|
|
67
|
-
const Wrapper = useMemo(() => {
|
|
68
|
-
return Portal ?? Fragment;
|
|
69
|
-
}, []);
|
|
70
|
-
const { ref: stylesRef, setState: setStyle } = useStyleState(() => {
|
|
71
|
-
return {
|
|
72
|
-
position: "fixed",
|
|
73
|
-
...defaultPosition ?? {
|
|
74
|
-
left: "50%",
|
|
75
|
-
top: "50%"
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
});
|
|
79
|
-
const unSubscribe = useRef(() => {
|
|
80
|
-
});
|
|
81
|
-
const initialPosition = useRef(null);
|
|
82
|
-
const initialMousePosition = useRef(null);
|
|
83
|
-
const assignRefs = useCombinedRefs(
|
|
84
|
-
nodeRef,
|
|
85
|
-
ref,
|
|
86
|
-
stylesRef
|
|
87
|
-
);
|
|
88
|
-
return /* @__PURE__ */ jsx(Wrapper, { children: /* @__PURE__ */ jsx(
|
|
89
|
-
ModalContext.Provider,
|
|
90
|
-
{
|
|
91
|
-
value: useMemo(() => {
|
|
92
|
-
return {
|
|
93
|
-
changeTitle: (newTitle) => {
|
|
94
|
-
setInnerTitle(newTitle);
|
|
95
|
-
},
|
|
96
|
-
close: () => {
|
|
97
|
-
closeHandler();
|
|
98
|
-
},
|
|
99
|
-
descriptionId: `${innerId}_Description`
|
|
100
|
-
};
|
|
101
|
-
}, [closeHandler, innerId]),
|
|
102
|
-
children: /* @__PURE__ */ jsx(
|
|
103
|
-
CSSTransition,
|
|
104
|
-
{
|
|
105
|
-
in: isOpen,
|
|
106
|
-
timeout: animationDuration,
|
|
107
|
-
classNames: "modal",
|
|
108
|
-
appear: true,
|
|
109
|
-
unmountOnExit: true,
|
|
110
|
-
nodeRef,
|
|
111
|
-
onExited,
|
|
112
|
-
children: /* @__PURE__ */ jsx(
|
|
113
|
-
Box,
|
|
114
|
-
{
|
|
115
|
-
ref: assignRefs,
|
|
116
|
-
className: `modal__variantWrapper window__modal ${className ?? ""}`,
|
|
117
|
-
id: `modal__${innerId}`,
|
|
118
|
-
...variant ? getVariant(variant) : {},
|
|
119
|
-
sx: { zIndex: "modal" },
|
|
120
|
-
children: /* @__PURE__ */ jsxs(
|
|
121
|
-
Box,
|
|
122
|
-
{
|
|
123
|
-
id,
|
|
124
|
-
role: "dialog",
|
|
125
|
-
"aria-modal": "true",
|
|
126
|
-
"aria-label": title,
|
|
127
|
-
"aria-describedby": `${innerId}_Description`,
|
|
128
|
-
"aria-hidden": "false",
|
|
129
|
-
className: "modal__main",
|
|
130
|
-
"data-scroll-lock-scrollable": true,
|
|
131
|
-
sx: useMemo(() => {
|
|
132
|
-
return {
|
|
133
|
-
variant: `layout.common.modals.${size}`,
|
|
134
|
-
...maxWidth !== void 0 ? { maxWidth } : {}
|
|
135
|
-
};
|
|
136
|
-
}, [maxWidth, size]),
|
|
137
|
-
"data-variant": `layout.common.modals.${size}`,
|
|
138
|
-
ref: useCallback(
|
|
139
|
-
(el) => {
|
|
140
|
-
unSubscribe.current();
|
|
141
|
-
unSubscribe.current = () => {
|
|
142
|
-
};
|
|
143
|
-
if (el) {
|
|
144
|
-
const handleMouseDown = (ev) => {
|
|
145
|
-
const res = onDragStart?.(ev);
|
|
146
|
-
if (res === false)
|
|
147
|
-
return;
|
|
148
|
-
const rect = el.getBoundingClientRect();
|
|
149
|
-
initialPosition.current = rect;
|
|
150
|
-
initialMousePosition.current = {
|
|
151
|
-
x: ev.clientX,
|
|
152
|
-
y: ev.clientY
|
|
153
|
-
};
|
|
154
|
-
};
|
|
155
|
-
const handleMouseMove = (ev) => {
|
|
156
|
-
if (initialPosition.current) {
|
|
157
|
-
ev.preventDefault();
|
|
158
|
-
const diffX = ev.clientX - initialMousePosition.current.x;
|
|
159
|
-
const diffY = ev.clientY - initialMousePosition.current.y;
|
|
160
|
-
const newLeft = addBoundary(
|
|
161
|
-
initialPosition.current.left + diffX,
|
|
162
|
-
0,
|
|
163
|
-
window.innerWidth - 50
|
|
164
|
-
);
|
|
165
|
-
const newTop = addBoundary(
|
|
166
|
-
initialPosition.current.top + diffY,
|
|
167
|
-
0,
|
|
168
|
-
window.innerHeight - 50
|
|
169
|
-
);
|
|
170
|
-
setStyle({
|
|
171
|
-
left: `${newLeft}px`,
|
|
172
|
-
top: `${newTop}px`,
|
|
173
|
-
right: "unset",
|
|
174
|
-
bottom: "unset"
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
};
|
|
178
|
-
const handleMouseUp = () => {
|
|
179
|
-
initialPosition.current = null;
|
|
180
|
-
};
|
|
181
|
-
el.addEventListener("mousedown", handleMouseDown);
|
|
182
|
-
document.addEventListener("mousemove", handleMouseMove);
|
|
183
|
-
document.addEventListener("mouseup", handleMouseUp);
|
|
184
|
-
unSubscribe.current = () => {
|
|
185
|
-
el.removeEventListener("mousedown", handleMouseDown);
|
|
186
|
-
document.removeEventListener(
|
|
187
|
-
"mousemove",
|
|
188
|
-
handleMouseMove
|
|
189
|
-
);
|
|
190
|
-
document.removeEventListener("mouseup", handleMouseUp);
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
},
|
|
194
|
-
[onDragStart, setStyle]
|
|
195
|
-
),
|
|
196
|
-
children: [
|
|
197
|
-
!noHeader && /* @__PURE__ */ jsx(
|
|
198
|
-
DialogHeader,
|
|
199
|
-
{
|
|
200
|
-
className: "modal__header",
|
|
201
|
-
NavBar,
|
|
202
|
-
title: innerTitle,
|
|
203
|
-
close: closeHandler,
|
|
204
|
-
hideCloseButton,
|
|
205
|
-
id: `${innerId}_Header`
|
|
206
|
-
}
|
|
207
|
-
),
|
|
208
|
-
/* @__PURE__ */ jsx(
|
|
209
|
-
Box,
|
|
210
|
-
{
|
|
211
|
-
className: "modal__content",
|
|
212
|
-
id: typeof children === "string" ? `${innerId}_Description` : void 0,
|
|
213
|
-
children
|
|
214
|
-
}
|
|
215
|
-
)
|
|
216
|
-
]
|
|
217
|
-
}
|
|
218
|
-
)
|
|
219
|
-
}
|
|
220
|
-
)
|
|
221
|
-
}
|
|
222
|
-
)
|
|
223
|
-
}
|
|
224
|
-
) });
|
|
225
|
-
}
|
|
226
|
-
);
|
|
227
|
-
|
|
228
|
-
export { WindowModal };
|
|
229
|
-
//# sourceMappingURL=WindowModal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WindowModal.js","sources":["../../../src/components/modals/WindowModal.tsx"],"sourcesContent":["import {\r\n forwardRef,\r\n useCallback,\r\n useEffect,\r\n useMemo,\r\n useRef,\r\n useState,\r\n Fragment,\r\n} from 'react';\r\nimport { TModal } from './Modal';\r\nimport { CSSTransition } from 'react-transition-group';\r\nimport { Box, getVariant } from '@apia/theme';\r\nimport DialogHeader from './layout/DialogHeader';\r\nimport { ModalContext } from './ModalContext';\r\nimport { useEscapeKey } from './hooks/useEscapeKey';\r\nimport { useInitialFocus } from './hooks/useInitialFocus';\r\nimport { addBoundary, useCombinedRefs } from '@apia/util';\r\nimport { useStyleState } from './hooks/useStyleState';\r\nimport { uniqueId } from '@apia/notifications';\r\n\r\nexport const WindowModal = forwardRef<HTMLDivElement, TModal>(\r\n (\r\n {\r\n animationDuration = 150,\r\n children = null,\r\n className,\r\n defaultPosition,\r\n hideCloseButton,\r\n id,\r\n initialFocusConfiguration,\r\n initialFocusGetter,\r\n initialFocusRef,\r\n isOpen = false,\r\n maxWidth,\r\n NavBar,\r\n noFocus,\r\n noHeader = false,\r\n onClose = () => {},\r\n onDragStart = () => {},\r\n onExited = () => {},\r\n Portal,\r\n shouldCloseOnEsc = true,\r\n size = 'md',\r\n title = '',\r\n variant,\r\n },\r\n ref,\r\n ) => {\r\n const innerId = useMemo(() => {\r\n return `Modal${uniqueId()}`;\r\n }, []);\r\n const nodeRef = useRef<HTMLElement | null>(null);\r\n\r\n const lastTitle = useRef(title);\r\n const [innerTitle, setInnerTitle] = useState(title);\r\n if (lastTitle.current !== title && innerTitle !== title) {\r\n setInnerTitle(title);\r\n }\r\n const [isOpenInner, setIsOpen] = useState(isOpen);\r\n useEffect(() => {\r\n setIsOpen(isOpen);\r\n }, [isOpen]);\r\n\r\n const closeHandler = useCallback(() => {\r\n setIsOpen(false);\r\n onClose();\r\n }, [onClose]);\r\n\r\n useEscapeKey({ closeHandler, id: innerId, isOpenInner, shouldCloseOnEsc });\r\n useInitialFocus({\r\n isOpenInner,\r\n initialFocusConfiguration,\r\n initialFocusGetter,\r\n initialFocusRef,\r\n noFocus,\r\n parentElement: nodeRef.current,\r\n });\r\n\r\n const Wrapper = useMemo(() => {\r\n return Portal ?? Fragment;\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const { ref: stylesRef, setState: setStyle } = useStyleState(() => {\r\n return {\r\n position: 'fixed',\r\n ...(defaultPosition ?? {\r\n left: '50%',\r\n top: '50%',\r\n }),\r\n };\r\n });\r\n\r\n const unSubscribe = useRef(() => {});\r\n const initialPosition = useRef<null | DOMRect>(null);\r\n const initialMousePosition = useRef<null | { x: number; y: number }>(null);\r\n const assignRefs = useCombinedRefs(\r\n nodeRef as unknown as React.ForwardedRef<unknown>,\r\n ref as unknown as React.Ref<unknown>,\r\n stylesRef as unknown as React.Ref<unknown>,\r\n );\r\n\r\n return (\r\n <Wrapper>\r\n <ModalContext.Provider\r\n value={useMemo(() => {\r\n return {\r\n changeTitle: (newTitle) => {\r\n setInnerTitle(newTitle);\r\n },\r\n close: () => {\r\n closeHandler();\r\n },\r\n descriptionId: `${innerId}_Description`,\r\n };\r\n }, [closeHandler, innerId])}\r\n >\r\n <CSSTransition\r\n in={isOpen}\r\n timeout={animationDuration}\r\n classNames=\"modal\"\r\n appear\r\n unmountOnExit\r\n nodeRef={nodeRef}\r\n onExited={onExited}\r\n >\r\n <Box\r\n ref={assignRefs}\r\n className={`modal__variantWrapper window__modal ${className ?? ''}`}\r\n id={`modal__${innerId}`}\r\n {...(variant ? getVariant(variant) : {})}\r\n sx={{ zIndex: 'modal' }}\r\n >\r\n <Box\r\n id={id}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-label={title}\r\n aria-describedby={`${innerId}_Description`}\r\n aria-hidden=\"false\"\r\n className=\"modal__main\"\r\n // allows scrolling within element, despite body lock\r\n data-scroll-lock-scrollable\r\n sx={useMemo(() => {\r\n return {\r\n variant: `layout.common.modals.${size}`,\r\n ...(maxWidth !== undefined ? { maxWidth } : {}),\r\n };\r\n }, [maxWidth, size])}\r\n data-variant={`layout.common.modals.${size}`}\r\n ref={useCallback(\r\n (el: null | HTMLElement) => {\r\n unSubscribe.current();\r\n unSubscribe.current = () => {};\r\n\r\n if (el) {\r\n const handleMouseDown = (ev: MouseEvent) => {\r\n const res = onDragStart?.(ev);\r\n if (res === false) return;\r\n\r\n const rect = el.getBoundingClientRect();\r\n initialPosition.current = rect;\r\n initialMousePosition.current = {\r\n x: ev.clientX,\r\n y: ev.clientY,\r\n };\r\n };\r\n const handleMouseMove = (ev: MouseEvent) => {\r\n if (initialPosition.current) {\r\n ev.preventDefault();\r\n const diffX =\r\n ev.clientX - initialMousePosition.current!.x;\r\n const diffY =\r\n ev.clientY - initialMousePosition.current!.y;\r\n\r\n const newLeft = addBoundary(\r\n initialPosition.current.left + diffX,\r\n 0,\r\n window.innerWidth - 50,\r\n );\r\n const newTop = addBoundary(\r\n initialPosition.current.top + diffY,\r\n 0,\r\n window.innerHeight - 50,\r\n );\r\n\r\n setStyle({\r\n left: `${newLeft}px`,\r\n top: `${newTop}px`,\r\n right: 'unset',\r\n bottom: 'unset',\r\n });\r\n }\r\n };\r\n\r\n const handleMouseUp = () => {\r\n initialPosition.current = null;\r\n };\r\n\r\n el.addEventListener('mousedown', handleMouseDown);\r\n document.addEventListener('mousemove', handleMouseMove);\r\n document.addEventListener('mouseup', handleMouseUp);\r\n\r\n unSubscribe.current = () => {\r\n el.removeEventListener('mousedown', handleMouseDown);\r\n document.removeEventListener(\r\n 'mousemove',\r\n handleMouseMove,\r\n );\r\n document.removeEventListener('mouseup', handleMouseUp);\r\n };\r\n }\r\n },\r\n [onDragStart, setStyle],\r\n )}\r\n >\r\n {!noHeader && (\r\n <DialogHeader\r\n className=\"modal__header\"\r\n NavBar={NavBar}\r\n title={innerTitle}\r\n close={closeHandler}\r\n hideCloseButton={hideCloseButton}\r\n id={`${innerId}_Header`}\r\n />\r\n )}\r\n <Box\r\n className=\"modal__content\"\r\n id={\r\n typeof children === 'string'\r\n ? `${innerId}_Description`\r\n : undefined\r\n }\r\n >\r\n {children}\r\n </Box>\r\n </Box>\r\n </Box>\r\n </CSSTransition>\r\n </ModalContext.Provider>\r\n </Wrapper>\r\n );\r\n },\r\n);\r\n"],"names":[],"mappings":";;;;;;;;;;;;AAoBO,MAAM,WAAc,GAAA,UAAA;AAAA,EACzB,CACE;AAAA,IACE,iBAAoB,GAAA,GAAA;AAAA,IACpB,QAAW,GAAA,IAAA;AAAA,IACX,SAAA;AAAA,IACA,eAAA;AAAA,IACA,eAAA;AAAA,IACA,EAAA;AAAA,IACA,yBAAA;AAAA,IACA,kBAAA;AAAA,IACA,eAAA;AAAA,IACA,MAAS,GAAA,KAAA;AAAA,IACT,QAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAW,GAAA,KAAA;AAAA,IACX,UAAU,MAAM;AAAA,KAAC;AAAA,IACjB,cAAc,MAAM;AAAA,KAAC;AAAA,IACrB,WAAW,MAAM;AAAA,KAAC;AAAA,IAClB,MAAA;AAAA,IACA,gBAAmB,GAAA,IAAA;AAAA,IACnB,IAAO,GAAA,IAAA;AAAA,IACP,KAAQ,GAAA,EAAA;AAAA,IACR,OAAA;AAAA,KAEF,GACG,KAAA;AACH,IAAM,MAAA,OAAA,GAAU,QAAQ,MAAM;AAC5B,MAAO,OAAA,CAAA,KAAA,EAAQ,UAAU,CAAA,CAAA,CAAA;AAAA,KAC3B,EAAG,EAAE,CAAA,CAAA;AACL,IAAM,MAAA,OAAA,GAAU,OAA2B,IAAI,CAAA,CAAA;AAE/C,IAAM,MAAA,SAAA,GAAY,OAAO,KAAK,CAAA,CAAA;AAC9B,IAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAS,KAAK,CAAA,CAAA;AAClD,IAAA,IAAI,SAAU,CAAA,OAAA,KAAY,KAAS,IAAA,UAAA,KAAe,KAAO,EAAA;AACvD,MAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AAAA,KACrB;AACA,IAAA,MAAM,CAAC,WAAA,EAAa,SAAS,CAAA,GAAI,SAAS,MAAM,CAAA,CAAA;AAChD,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,SAAA,CAAU,MAAM,CAAA,CAAA;AAAA,KAClB,EAAG,CAAC,MAAM,CAAC,CAAA,CAAA;AAEX,IAAM,MAAA,YAAA,GAAe,YAAY,MAAM;AACrC,MAAA,SAAA,CAAU,KAAK,CAAA,CAAA;AACf,MAAQ,OAAA,EAAA,CAAA;AAAA,KACV,EAAG,CAAC,OAAO,CAAC,CAAA,CAAA;AAEZ,IAAA,YAAA,CAAa,EAAE,YAAc,EAAA,EAAA,EAAI,OAAS,EAAA,WAAA,EAAa,kBAAkB,CAAA,CAAA;AACzE,IAAgB,eAAA,CAAA;AAAA,MACd,WAAA;AAAA,MACA,yBAAA;AAAA,MACA,kBAAA;AAAA,MACA,eAAA;AAAA,MACA,OAAA;AAAA,MACA,eAAe,OAAQ,CAAA,OAAA;AAAA,KACxB,CAAA,CAAA;AAED,IAAM,MAAA,OAAA,GAAU,QAAQ,MAAM;AAC5B,MAAA,OAAO,MAAU,IAAA,QAAA,CAAA;AAAA,KAEnB,EAAG,EAAE,CAAA,CAAA;AAEL,IAAA,MAAM,EAAE,GAAK,EAAA,SAAA,EAAW,UAAU,QAAS,EAAA,GAAI,cAAc,MAAM;AACjE,MAAO,OAAA;AAAA,QACL,QAAU,EAAA,OAAA;AAAA,QACV,GAAI,eAAmB,IAAA;AAAA,UACrB,IAAM,EAAA,KAAA;AAAA,UACN,GAAK,EAAA,KAAA;AAAA,SACP;AAAA,OACF,CAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAM,MAAA,WAAA,GAAc,OAAO,MAAM;AAAA,KAAE,CAAA,CAAA;AACnC,IAAM,MAAA,eAAA,GAAkB,OAAuB,IAAI,CAAA,CAAA;AACnD,IAAM,MAAA,oBAAA,GAAuB,OAAwC,IAAI,CAAA,CAAA;AACzE,IAAA,MAAM,UAAa,GAAA,eAAA;AAAA,MACjB,OAAA;AAAA,MACA,GAAA;AAAA,MACA,SAAA;AAAA,KACF,CAAA;AAEA,IAAA,2BACG,OACC,EAAA,EAAA,QAAA,kBAAA,GAAA;AAAA,MAAC,YAAa,CAAA,QAAA;AAAA,MAAb;AAAA,QACC,KAAA,EAAO,QAAQ,MAAM;AACnB,UAAO,OAAA;AAAA,YACL,WAAA,EAAa,CAAC,QAAa,KAAA;AACzB,cAAA,aAAA,CAAc,QAAQ,CAAA,CAAA;AAAA,aACxB;AAAA,YACA,OAAO,MAAM;AACX,cAAa,YAAA,EAAA,CAAA;AAAA,aACf;AAAA,YACA,aAAA,EAAe,GAAG,OAAO,CAAA,YAAA,CAAA;AAAA,WAC3B,CAAA;AAAA,SACC,EAAA,CAAC,YAAc,EAAA,OAAO,CAAC,CAAA;AAAA,QAE1B,QAAA,kBAAA,GAAA;AAAA,UAAC,aAAA;AAAA,UAAA;AAAA,YACC,EAAI,EAAA,MAAA;AAAA,YACJ,OAAS,EAAA,iBAAA;AAAA,YACT,UAAW,EAAA,OAAA;AAAA,YACX,MAAM,EAAA,IAAA;AAAA,YACN,aAAa,EAAA,IAAA;AAAA,YACb,OAAA;AAAA,YACA,QAAA;AAAA,YAEA,QAAA,kBAAA,GAAA;AAAA,cAAC,GAAA;AAAA,cAAA;AAAA,gBACC,GAAK,EAAA,UAAA;AAAA,gBACL,SAAA,EAAW,CAAuC,oCAAA,EAAA,SAAA,IAAa,EAAE,CAAA,CAAA;AAAA,gBACjE,EAAA,EAAI,UAAU,OAAO,CAAA,CAAA;AAAA,gBACpB,GAAI,OAAA,GAAU,UAAW,CAAA,OAAO,IAAI,EAAC;AAAA,gBACtC,EAAA,EAAI,EAAE,MAAA,EAAQ,OAAQ,EAAA;AAAA,gBAEtB,QAAA,kBAAA,IAAA;AAAA,kBAAC,GAAA;AAAA,kBAAA;AAAA,oBACC,EAAA;AAAA,oBACA,IAAK,EAAA,QAAA;AAAA,oBACL,YAAW,EAAA,MAAA;AAAA,oBACX,YAAY,EAAA,KAAA;AAAA,oBACZ,kBAAA,EAAkB,GAAG,OAAO,CAAA,YAAA,CAAA;AAAA,oBAC5B,aAAY,EAAA,OAAA;AAAA,oBACZ,SAAU,EAAA,aAAA;AAAA,oBAEV,6BAA2B,EAAA,IAAA;AAAA,oBAC3B,EAAA,EAAI,QAAQ,MAAM;AAChB,sBAAO,OAAA;AAAA,wBACL,OAAA,EAAS,wBAAwB,IAAI,CAAA,CAAA;AAAA,wBACrC,GAAI,QAAa,KAAA,KAAA,CAAA,GAAY,EAAE,QAAA,KAAa,EAAC;AAAA,uBAC/C,CAAA;AAAA,qBACC,EAAA,CAAC,QAAU,EAAA,IAAI,CAAC,CAAA;AAAA,oBACnB,cAAA,EAAc,wBAAwB,IAAI,CAAA,CAAA;AAAA,oBAC1C,GAAK,EAAA,WAAA;AAAA,sBACH,CAAC,EAA2B,KAAA;AAC1B,wBAAA,WAAA,CAAY,OAAQ,EAAA,CAAA;AACpB,wBAAA,WAAA,CAAY,UAAU,MAAM;AAAA,yBAAC,CAAA;AAE7B,wBAAA,IAAI,EAAI,EAAA;AACN,0BAAM,MAAA,eAAA,GAAkB,CAAC,EAAmB,KAAA;AAC1C,4BAAM,MAAA,GAAA,GAAM,cAAc,EAAE,CAAA,CAAA;AAC5B,4BAAA,IAAI,GAAQ,KAAA,KAAA;AAAO,8BAAA,OAAA;AAEnB,4BAAM,MAAA,IAAA,GAAO,GAAG,qBAAsB,EAAA,CAAA;AACtC,4BAAA,eAAA,CAAgB,OAAU,GAAA,IAAA,CAAA;AAC1B,4BAAA,oBAAA,CAAqB,OAAU,GAAA;AAAA,8BAC7B,GAAG,EAAG,CAAA,OAAA;AAAA,8BACN,GAAG,EAAG,CAAA,OAAA;AAAA,6BACR,CAAA;AAAA,2BACF,CAAA;AACA,0BAAM,MAAA,eAAA,GAAkB,CAAC,EAAmB,KAAA;AAC1C,4BAAA,IAAI,gBAAgB,OAAS,EAAA;AAC3B,8BAAA,EAAA,CAAG,cAAe,EAAA,CAAA;AAClB,8BAAA,MAAM,KACJ,GAAA,EAAA,CAAG,OAAU,GAAA,oBAAA,CAAqB,OAAS,CAAA,CAAA,CAAA;AAC7C,8BAAA,MAAM,KACJ,GAAA,EAAA,CAAG,OAAU,GAAA,oBAAA,CAAqB,OAAS,CAAA,CAAA,CAAA;AAE7C,8BAAA,MAAM,OAAU,GAAA,WAAA;AAAA,gCACd,eAAA,CAAgB,QAAQ,IAAO,GAAA,KAAA;AAAA,gCAC/B,CAAA;AAAA,gCACA,OAAO,UAAa,GAAA,EAAA;AAAA,+BACtB,CAAA;AACA,8BAAA,MAAM,MAAS,GAAA,WAAA;AAAA,gCACb,eAAA,CAAgB,QAAQ,GAAM,GAAA,KAAA;AAAA,gCAC9B,CAAA;AAAA,gCACA,OAAO,WAAc,GAAA,EAAA;AAAA,+BACvB,CAAA;AAEA,8BAAS,QAAA,CAAA;AAAA,gCACP,IAAA,EAAM,GAAG,OAAO,CAAA,EAAA,CAAA;AAAA,gCAChB,GAAA,EAAK,GAAG,MAAM,CAAA,EAAA,CAAA;AAAA,gCACd,KAAO,EAAA,OAAA;AAAA,gCACP,MAAQ,EAAA,OAAA;AAAA,+BACT,CAAA,CAAA;AAAA,6BACH;AAAA,2BACF,CAAA;AAEA,0BAAA,MAAM,gBAAgB,MAAM;AAC1B,4BAAA,eAAA,CAAgB,OAAU,GAAA,IAAA,CAAA;AAAA,2BAC5B,CAAA;AAEA,0BAAG,EAAA,CAAA,gBAAA,CAAiB,aAAa,eAAe,CAAA,CAAA;AAChD,0BAAS,QAAA,CAAA,gBAAA,CAAiB,aAAa,eAAe,CAAA,CAAA;AACtD,0BAAS,QAAA,CAAA,gBAAA,CAAiB,WAAW,aAAa,CAAA,CAAA;AAElD,0BAAA,WAAA,CAAY,UAAU,MAAM;AAC1B,4BAAG,EAAA,CAAA,mBAAA,CAAoB,aAAa,eAAe,CAAA,CAAA;AACnD,4BAAS,QAAA,CAAA,mBAAA;AAAA,8BACP,WAAA;AAAA,8BACA,eAAA;AAAA,6BACF,CAAA;AACA,4BAAS,QAAA,CAAA,mBAAA,CAAoB,WAAW,aAAa,CAAA,CAAA;AAAA,2BACvD,CAAA;AAAA,yBACF;AAAA,uBACF;AAAA,sBACA,CAAC,aAAa,QAAQ,CAAA;AAAA,qBACxB;AAAA,oBAEC,QAAA,EAAA;AAAA,sBAAA,CAAC,QACA,oBAAA,GAAA;AAAA,wBAAC,YAAA;AAAA,wBAAA;AAAA,0BACC,SAAU,EAAA,eAAA;AAAA,0BACV,MAAA;AAAA,0BACA,KAAO,EAAA,UAAA;AAAA,0BACP,KAAO,EAAA,YAAA;AAAA,0BACP,eAAA;AAAA,0BACA,EAAA,EAAI,GAAG,OAAO,CAAA,OAAA,CAAA;AAAA,yBAAA;AAAA,uBAChB;AAAA,sCAEF,GAAA;AAAA,wBAAC,GAAA;AAAA,wBAAA;AAAA,0BACC,SAAU,EAAA,gBAAA;AAAA,0BACV,IACE,OAAO,QAAA,KAAa,QAChB,GAAA,CAAA,EAAG,OAAO,CACV,YAAA,CAAA,GAAA,KAAA,CAAA;AAAA,0BAGL,QAAA;AAAA,yBAAA;AAAA,uBACH;AAAA,qBAAA;AAAA,mBAAA;AAAA,iBACF;AAAA,eAAA;AAAA,aACF;AAAA,WAAA;AAAA,SACF;AAAA,OAAA;AAAA,KAEJ,EAAA,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { useEffect } from 'react';
|
|
2
|
-
|
|
3
|
-
function useEscapeKey({
|
|
4
|
-
closeHandler,
|
|
5
|
-
id,
|
|
6
|
-
isOpenInner,
|
|
7
|
-
shouldCloseOnEsc
|
|
8
|
-
}) {
|
|
9
|
-
useEffect(() => {
|
|
10
|
-
function handleEscape(event) {
|
|
11
|
-
if (event.code !== "Escape")
|
|
12
|
-
return;
|
|
13
|
-
const overlays = [
|
|
14
|
-
...document.querySelectorAll(".overlay, .window__modal")
|
|
15
|
-
];
|
|
16
|
-
const modal = event.target.closest(`#modal__${id}`);
|
|
17
|
-
if (modal) {
|
|
18
|
-
event.preventDefault();
|
|
19
|
-
event.stopPropagation();
|
|
20
|
-
closeHandler();
|
|
21
|
-
} else if (overlays.length > 0 && (overlays[overlays.length - 1]?.id === id || overlays[overlays.length - 1]?.id === `modal__${id}`)) {
|
|
22
|
-
event.preventDefault();
|
|
23
|
-
event.stopPropagation();
|
|
24
|
-
closeHandler();
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
if (isOpenInner && shouldCloseOnEsc)
|
|
28
|
-
document.addEventListener("keydown", handleEscape, false);
|
|
29
|
-
return () => {
|
|
30
|
-
document.removeEventListener("keydown", handleEscape, false);
|
|
31
|
-
};
|
|
32
|
-
}, [shouldCloseOnEsc, isOpenInner, closeHandler, id]);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export { useEscapeKey };
|
|
36
|
-
//# sourceMappingURL=useEscapeKey.js.map
|