@apia/components 1.0.2 → 2.0.0
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/components/IconsList/Icon.js +42 -0
- package/dist/components/IconsList/Icon.js.map +1 -0
- package/dist/components/IconsList/IconWrapper.js +24 -0
- package/dist/components/IconsList/IconWrapper.js.map +1 -0
- package/dist/components/IconsList/KeyHandler.js +147 -0
- package/dist/components/IconsList/KeyHandler.js.map +1 -0
- package/dist/components/IconsList/context.js +14 -0
- package/dist/components/IconsList/context.js.map +1 -0
- package/dist/components/IconsList/index.d.ts +12 -0
- package/dist/components/IconsList/index.d.ts.map +1 -0
- package/dist/components/IconsList/index.js +119 -0
- package/dist/components/IconsList/index.js.map +1 -0
- package/dist/components/IconsList/renderers/DefaultIconRenderer.d.ts +7 -0
- package/dist/components/IconsList/renderers/DefaultIconRenderer.d.ts.map +1 -0
- package/dist/components/IconsList/renderers/DefaultIconRenderer.js +30 -0
- package/dist/components/IconsList/renderers/DefaultIconRenderer.js.map +1 -0
- package/dist/components/IconsList/store/context.js +9 -0
- package/dist/components/IconsList/store/context.js.map +1 -0
- package/dist/components/IconsList/store/distinctors.js +42 -0
- package/dist/components/IconsList/store/distinctors.js.map +1 -0
- package/dist/components/IconsList/store/keysMaker.js +8 -0
- package/dist/components/IconsList/store/keysMaker.js.map +1 -0
- package/dist/components/IconsList/store/operations.js +138 -0
- package/dist/components/IconsList/store/operations.js.map +1 -0
- package/dist/components/IconsList/store/state.js +9 -0
- package/dist/components/IconsList/store/state.js.map +1 -0
- package/dist/components/IconsList/store/useStore.js +52 -0
- package/dist/components/IconsList/store/useStore.js.map +1 -0
- package/dist/components/IconsList/styles.js +48 -0
- package/dist/components/IconsList/styles.js.map +1 -0
- package/dist/components/IconsList/types.d.ts +98 -0
- package/dist/components/IconsList/types.d.ts.map +1 -0
- package/dist/components/IconsList/util.js +46 -0
- package/dist/components/IconsList/util.js.map +1 -0
- package/dist/components/ListBox/Combobox.js +52 -0
- package/dist/components/ListBox/Combobox.js.map +1 -0
- package/dist/components/ListBox/ListboxContext.d.ts +35 -0
- package/dist/components/ListBox/ListboxContext.d.ts.map +1 -0
- package/dist/components/ListBox/ListboxContext.js +6 -0
- package/dist/components/ListBox/ListboxContext.js.map +1 -0
- package/dist/components/ListBox/ListboxItem.d.ts +17 -0
- package/dist/components/ListBox/ListboxItem.d.ts.map +1 -0
- package/dist/components/ListBox/ListboxItem.js +67 -0
- package/dist/components/ListBox/ListboxItem.js.map +1 -0
- package/dist/components/ListBox/ListboxKeyhandler.js +154 -0
- package/dist/components/ListBox/ListboxKeyhandler.js.map +1 -0
- package/dist/components/ListBox/common.d.ts +46 -0
- package/dist/components/ListBox/common.d.ts.map +1 -0
- package/dist/components/ListBox/common.js +118 -0
- package/dist/components/ListBox/common.js.map +1 -0
- package/dist/components/ListBox/index.d.ts +21 -0
- package/dist/components/ListBox/index.d.ts.map +1 -0
- package/dist/components/ListBox/index.js +71 -0
- package/dist/components/ListBox/index.js.map +1 -0
- package/dist/components/ListBox/listbox.js +46 -0
- package/dist/components/ListBox/listbox.js.map +1 -0
- package/dist/components/ListBox/operations.js +330 -0
- package/dist/components/ListBox/operations.js.map +1 -0
- package/dist/components/ListBox/useIndexedChildren.js +25 -0
- package/dist/components/ListBox/useIndexedChildren.js.map +1 -0
- package/dist/components/ListBox/useListboxAutofocus.js +48 -0
- package/dist/components/ListBox/useListboxAutofocus.js.map +1 -0
- package/dist/components/ListBox/useListboxContextValue.js +8 -0
- package/dist/components/ListBox/useListboxContextValue.js.map +1 -0
- package/dist/components/ListBox/useShoutSelectionChange.js +26 -0
- package/dist/components/ListBox/useShoutSelectionChange.js.map +1 -0
- package/dist/components/ListBox/useStore.js +36 -0
- package/dist/components/ListBox/useStore.js.map +1 -0
- package/dist/components/ListBox/useUpdateRowCount.js +19 -0
- package/dist/components/ListBox/useUpdateRowCount.js.map +1 -0
- package/dist/components/SortableList/SortableListHandler.js +161 -0
- package/dist/components/SortableList/SortableListHandler.js.map +1 -0
- package/dist/components/SortableList/SortableListItem.d.ts +14 -0
- package/dist/components/SortableList/SortableListItem.d.ts.map +1 -0
- package/dist/components/SortableList/SortableListItem.js +24 -0
- package/dist/components/SortableList/SortableListItem.js.map +1 -0
- package/dist/components/SortableList/index.d.ts +21 -0
- package/dist/components/SortableList/index.d.ts.map +1 -0
- package/dist/components/SortableList/index.js +53 -0
- package/dist/components/SortableList/index.js.map +1 -0
- package/dist/components/Toolbar/ToolbarController.d.ts +24 -0
- package/dist/components/Toolbar/ToolbarController.d.ts.map +1 -0
- package/dist/components/Toolbar/ToolbarController.js +50 -0
- package/dist/components/Toolbar/ToolbarController.js.map +1 -0
- package/dist/components/Toolbar/ToolbarIconButton.d.ts +7 -0
- package/dist/components/Toolbar/ToolbarIconButton.d.ts.map +1 -0
- package/dist/components/Toolbar/ToolbarIconButton.js +110 -0
- package/dist/components/Toolbar/ToolbarIconButton.js.map +1 -0
- package/dist/components/Toolbar/ToolbarInput.d.ts +7 -0
- package/dist/components/Toolbar/ToolbarInput.d.ts.map +1 -0
- package/dist/components/Toolbar/ToolbarInput.js +13 -0
- package/dist/components/Toolbar/ToolbarInput.js.map +1 -0
- package/dist/components/Toolbar/ToolbarSelect.d.ts +7 -0
- package/dist/components/Toolbar/ToolbarSelect.d.ts.map +1 -0
- package/dist/components/Toolbar/ToolbarSelect.js +17 -0
- package/dist/components/Toolbar/ToolbarSelect.js.map +1 -0
- package/dist/components/Toolbar/ToolbarSeparator.d.ts +6 -0
- package/dist/components/Toolbar/ToolbarSeparator.d.ts.map +1 -0
- package/dist/components/Toolbar/ToolbarSeparator.js +9 -0
- package/dist/components/Toolbar/ToolbarSeparator.js.map +1 -0
- package/dist/components/Toolbar/ToolbarTextButton.d.ts +9 -0
- package/dist/components/Toolbar/ToolbarTextButton.d.ts.map +1 -0
- package/dist/components/Toolbar/ToolbarTextButton.js +18 -0
- package/dist/components/Toolbar/ToolbarTextButton.js.map +1 -0
- package/dist/components/Toolbar/index.d.ts +17 -0
- package/dist/components/Toolbar/index.d.ts.map +1 -0
- package/dist/components/Toolbar/index.js +26 -0
- package/dist/components/Toolbar/index.js.map +1 -0
- package/dist/components/Toolbar/styles.js +84 -0
- package/dist/components/Toolbar/styles.js.map +1 -0
- package/dist/components/Toolbar/types.d.ts +40 -0
- package/dist/components/Toolbar/types.d.ts.map +1 -0
- package/dist/components/accordion/Accordion.d.ts +20 -0
- package/dist/components/accordion/Accordion.d.ts.map +1 -0
- package/dist/components/accordion/Accordion.js +60 -0
- package/dist/components/accordion/Accordion.js.map +1 -0
- package/dist/components/accordion/AccordionItem.d.ts +19 -0
- package/dist/components/accordion/AccordionItem.d.ts.map +1 -0
- package/dist/components/accordion/AccordionItem.js +22 -0
- package/dist/components/accordion/AccordionItem.js.map +1 -0
- package/dist/components/accordion/AccordionItemButton.d.ts +10 -0
- package/dist/components/accordion/AccordionItemButton.d.ts.map +1 -0
- package/dist/components/accordion/AccordionItemButton.js +8 -0
- package/dist/components/accordion/AccordionItemButton.js.map +1 -0
- package/dist/components/accordion/AccordionItemContent.d.ts +7 -0
- package/dist/components/accordion/AccordionItemContent.d.ts.map +1 -0
- package/dist/components/accordion/AccordionItemContent.js +50 -0
- package/dist/components/accordion/AccordionItemContent.js.map +1 -0
- package/dist/components/accordion/KeyHandler.js +77 -0
- package/dist/components/accordion/KeyHandler.js.map +1 -0
- package/dist/components/accordion/context.d.ts +10 -0
- package/dist/components/accordion/context.d.ts.map +1 -0
- package/dist/components/accordion/context.js +13 -0
- package/dist/components/accordion/context.js.map +1 -0
- package/dist/components/accordion/defaultElements/Checkbox.js +22 -0
- package/dist/components/accordion/defaultElements/Checkbox.js.map +1 -0
- package/dist/components/accordion/defaultElements/DefaultAccordionItemButton.d.ts +40 -0
- package/dist/components/accordion/defaultElements/DefaultAccordionItemButton.d.ts.map +1 -0
- package/dist/components/accordion/defaultElements/DefaultAccordionItemButton.js +79 -0
- package/dist/components/accordion/defaultElements/DefaultAccordionItemButton.js.map +1 -0
- package/dist/components/accordion/defaultElements/useIsChecked.js +25 -0
- package/dist/components/accordion/defaultElements/useIsChecked.js.map +1 -0
- package/dist/components/accordion/handler.d.ts +40 -0
- package/dist/components/accordion/handler.d.ts.map +1 -0
- package/dist/components/accordion/handler.js +118 -0
- package/dist/components/accordion/handler.js.map +1 -0
- package/dist/components/accordion/index.d.ts +8 -0
- package/dist/components/accordion/index.d.ts.map +1 -0
- package/dist/components/accordion/types.d.ts +11 -0
- package/dist/components/accordion/types.d.ts.map +1 -0
- package/dist/components/apia/ApiaDateFilter.js +57 -0
- package/dist/components/apia/ApiaDateFilter.js.map +1 -0
- package/dist/components/apia/ApiaFilter.d.ts +13 -0
- package/dist/components/apia/ApiaFilter.d.ts.map +1 -0
- package/dist/components/apia/ApiaFilter.js +128 -0
- package/dist/components/apia/ApiaFilter.js.map +1 -0
- package/dist/components/buttons/useOtherTagButton.d.ts +28 -0
- package/dist/components/buttons/useOtherTagButton.d.ts.map +1 -0
- package/dist/components/buttons/useOtherTagButton.js +38 -0
- package/dist/components/buttons/useOtherTagButton.js.map +1 -0
- package/dist/components/collapsiblePanel/index.d.ts +7 -0
- package/dist/components/collapsiblePanel/index.d.ts.map +1 -0
- package/dist/components/collapsiblePanel/index.js +130 -0
- package/dist/components/collapsiblePanel/index.js.map +1 -0
- package/dist/components/collapsiblePanel/styles.js +4 -0
- package/dist/components/collapsiblePanel/styles.js.map +1 -0
- package/dist/components/collapsiblePanel/types.d.ts +23 -0
- package/dist/components/collapsiblePanel/types.d.ts.map +1 -0
- package/dist/components/dialogs/AlertModal.d.ts +11 -0
- package/dist/components/dialogs/AlertModal.d.ts.map +1 -0
- package/dist/components/dialogs/AlertModal.js +42 -0
- package/dist/components/dialogs/AlertModal.js.map +1 -0
- package/dist/components/dialogs/ConfirmModal.d.ts +25 -0
- package/dist/components/dialogs/ConfirmModal.d.ts.map +1 -0
- package/dist/components/dialogs/ConfirmModal.js +45 -0
- package/dist/components/dialogs/ConfirmModal.js.map +1 -0
- package/dist/components/forms/Captcha.d.ts +12 -0
- package/dist/components/forms/Captcha.d.ts.map +1 -0
- package/dist/components/forms/Captcha.js +66 -0
- package/dist/components/forms/Captcha.js.map +1 -0
- package/dist/components/forms/Checkbox.d.ts +21 -0
- package/dist/components/forms/Checkbox.d.ts.map +1 -0
- package/dist/components/forms/Checkbox.js +124 -0
- package/dist/components/forms/Checkbox.js.map +1 -0
- package/dist/components/forms/DateInput.d.ts +44 -0
- package/dist/components/forms/DateInput.d.ts.map +1 -0
- package/dist/components/forms/DateInput.js +246 -0
- package/dist/components/forms/DateInput.js.map +1 -0
- package/dist/components/forms/FieldErrorMessage.d.ts +10 -0
- package/dist/components/forms/FieldErrorMessage.d.ts.map +1 -0
- package/dist/components/forms/FieldErrorMessage.js +34 -0
- package/dist/components/forms/FieldErrorMessage.js.map +1 -0
- package/dist/components/forms/FieldLabel.d.ts +40 -0
- package/dist/components/forms/FieldLabel.d.ts.map +1 -0
- package/dist/components/forms/FieldLabel.js +66 -0
- package/dist/components/forms/FieldLabel.js.map +1 -0
- package/dist/components/forms/IconInput.d.ts +28 -0
- package/dist/components/forms/IconInput.d.ts.map +1 -0
- package/dist/components/forms/IconInput.js +80 -0
- package/dist/components/forms/IconInput.js.map +1 -0
- package/dist/components/forms/NumberInput.d.ts +37 -0
- package/dist/components/forms/NumberInput.d.ts.map +1 -0
- package/dist/components/forms/NumberInput.js +149 -0
- package/dist/components/forms/NumberInput.js.map +1 -0
- package/dist/components/forms/RequiredMark.d.ts +14 -0
- package/dist/components/forms/RequiredMark.d.ts.map +1 -0
- package/dist/components/forms/RequiredMark.js +13 -0
- package/dist/components/forms/RequiredMark.js.map +1 -0
- package/dist/components/forms/buttons/BaseButton.d.ts +24 -0
- package/dist/components/forms/buttons/BaseButton.d.ts.map +1 -0
- package/dist/components/forms/buttons/BaseButton.js +58 -0
- package/dist/components/forms/buttons/BaseButton.js.map +1 -0
- package/dist/components/forms/buttons/IconButton.d.ts +37 -0
- package/dist/components/forms/buttons/IconButton.d.ts.map +1 -0
- package/dist/components/forms/buttons/IconButton.js +79 -0
- package/dist/components/forms/buttons/IconButton.js.map +1 -0
- package/dist/components/forms/buttons/SimpleButton.d.ts +21 -0
- package/dist/components/forms/buttons/SimpleButton.d.ts.map +1 -0
- package/dist/components/forms/buttons/SimpleButton.js +94 -0
- package/dist/components/forms/buttons/SimpleButton.js.map +1 -0
- package/dist/components/forms/util/style.d.ts +7 -0
- package/dist/components/forms/util/style.d.ts.map +1 -0
- package/dist/components/forms/util/style.js +17 -0
- package/dist/components/forms/util/style.js.map +1 -0
- package/dist/components/importComponent.d.ts +11 -0
- package/dist/components/importComponent.d.ts.map +1 -0
- package/dist/components/importComponent.js +25 -0
- package/dist/components/importComponent.js.map +1 -0
- package/dist/components/loaders/LinearLoader.d.ts +6 -0
- package/dist/components/loaders/LinearLoader.d.ts.map +1 -0
- package/dist/components/loaders/LinearLoader.js +33 -0
- package/dist/components/loaders/LinearLoader.js.map +1 -0
- package/dist/components/loaders/LoaderSpinner.d.ts +10 -0
- package/dist/components/loaders/LoaderSpinner.d.ts.map +1 -0
- package/dist/components/loaders/LoaderSpinner.js +26 -0
- package/dist/components/loaders/LoaderSpinner.js.map +1 -0
- package/dist/components/loaders/ProgressBar.d.ts +11 -0
- package/dist/components/loaders/ProgressBar.d.ts.map +1 -0
- package/dist/components/loaders/ProgressBar.js +39 -0
- package/dist/components/loaders/ProgressBar.js.map +1 -0
- package/dist/components/modals/CalendarModal.d.ts +13 -0
- package/dist/components/modals/CalendarModal.d.ts.map +1 -0
- package/dist/components/modals/CalendarModal.js +43 -0
- package/dist/components/modals/CalendarModal.js.map +1 -0
- package/dist/components/modals/Modal.d.ts +160 -0
- package/dist/components/modals/Modal.d.ts.map +1 -0
- package/dist/components/modals/Modal.js +17 -0
- package/dist/components/modals/Modal.js.map +1 -0
- package/dist/components/modals/ModalContext.d.ts +9 -0
- package/dist/components/modals/ModalContext.d.ts.map +1 -0
- package/dist/components/modals/ModalContext.js +12 -0
- package/dist/components/modals/ModalContext.js.map +1 -0
- package/dist/components/modals/Overlay.d.ts +21 -0
- package/dist/components/modals/Overlay.d.ts.map +1 -0
- package/dist/components/modals/Overlay.js +75 -0
- package/dist/components/modals/Overlay.js.map +1 -0
- package/dist/components/modals/StaticModal.js +175 -0
- package/dist/components/modals/StaticModal.js.map +1 -0
- package/dist/components/modals/WindowModal.js +214 -0
- package/dist/components/modals/WindowModal.js.map +1 -0
- package/dist/components/modals/hooks/useEscapeKey.js +32 -0
- package/dist/components/modals/hooks/useEscapeKey.js.map +1 -0
- package/dist/components/modals/hooks/useInitialFocus.js +37 -0
- package/dist/components/modals/hooks/useInitialFocus.js.map +1 -0
- package/dist/components/modals/hooks/useModal.d.ts +97 -0
- package/dist/components/modals/hooks/useModal.d.ts.map +1 -0
- package/dist/components/modals/hooks/useModal.js +73 -0
- package/dist/components/modals/hooks/useModal.js.map +1 -0
- package/dist/components/modals/hooks/useStyleState.js +44 -0
- package/dist/components/modals/hooks/useStyleState.js.map +1 -0
- package/dist/components/modals/layout/Confirm.d.ts +7 -0
- package/dist/components/modals/layout/Confirm.d.ts.map +1 -0
- package/dist/components/modals/layout/Confirm.js +96 -0
- package/dist/components/modals/layout/Confirm.js.map +1 -0
- package/dist/components/modals/layout/DialogButtonBar.d.ts +10 -0
- package/dist/components/modals/layout/DialogButtonBar.d.ts.map +1 -0
- package/dist/components/modals/layout/DialogButtonBar.js +19 -0
- package/dist/components/modals/layout/DialogButtonBar.js.map +1 -0
- package/dist/components/modals/layout/DialogHeader.d.ts +18 -0
- package/dist/components/modals/layout/DialogHeader.d.ts.map +1 -0
- package/dist/components/modals/layout/DialogHeader.js +117 -0
- package/dist/components/modals/layout/DialogHeader.js.map +1 -0
- package/dist/components/responsive/AutoEllipsis.d.ts +21 -0
- package/dist/components/responsive/AutoEllipsis.d.ts.map +1 -0
- package/dist/components/responsive/AutoEllipsis.js +128 -0
- package/dist/components/responsive/AutoEllipsis.js.map +1 -0
- package/dist/components/responsive/makeResponsiveComponent.d.ts +38 -0
- package/dist/components/responsive/makeResponsiveComponent.d.ts.map +1 -0
- package/dist/components/responsive/makeResponsiveComponent.js +88 -0
- package/dist/components/responsive/makeResponsiveComponent.js.map +1 -0
- package/dist/components/types.d.ts +5 -0
- package/dist/components/types.d.ts.map +1 -0
- package/dist/components/waiAriaHelpers/typeAhead.d.ts +44 -0
- package/dist/components/waiAriaHelpers/typeAhead.d.ts.map +1 -0
- package/dist/components/waiAriaHelpers/typeAhead.js +75 -0
- package/dist/components/waiAriaHelpers/typeAhead.js.map +1 -0
- package/dist/globalFocus.js +95 -0
- package/dist/globalFocus.js.map +1 -0
- package/dist/hooks/useBodyScrollLock.js +106 -0
- package/dist/hooks/useBodyScrollLock.js.map +1 -0
- package/dist/index.d.ts +69 -1531
- package/dist/index.js +59 -7898
- package/dist/index.js.map +1 -1
- package/dist/objects/ApiaUtil/dialogs/ApiaUtilDialogs.d.ts +18 -0
- package/dist/objects/ApiaUtil/dialogs/ApiaUtilDialogs.d.ts.map +1 -0
- package/dist/objects/ApiaUtil/dialogs/ApiaUtilDialogs.js +116 -0
- package/dist/objects/ApiaUtil/dialogs/ApiaUtilDialogs.js.map +1 -0
- package/dist/objects/ApiaUtil/index.d.ts +27 -0
- package/dist/objects/ApiaUtil/index.d.ts.map +1 -0
- package/dist/objects/ApiaUtil/index.js +76 -0
- package/dist/objects/ApiaUtil/index.js.map +1 -0
- package/dist/objects/ApiaUtil/menu/ApiaUtilMenu.d.ts +24 -0
- package/dist/objects/ApiaUtil/menu/ApiaUtilMenu.d.ts.map +1 -0
- package/dist/objects/ApiaUtil/menu/ApiaUtilMenu.js +110 -0
- package/dist/objects/ApiaUtil/menu/ApiaUtilMenu.js.map +1 -0
- package/dist/objects/ApiaUtil/modals/ApiaUtilModals.d.ts +17 -0
- package/dist/objects/ApiaUtil/modals/ApiaUtilModals.d.ts.map +1 -0
- package/dist/objects/ApiaUtil/modals/ApiaUtilModals.js +111 -0
- package/dist/objects/ApiaUtil/modals/ApiaUtilModals.js.map +1 -0
- package/dist/objects/ApiaUtil/modals/OpenModal.d.ts +8 -0
- package/dist/objects/ApiaUtil/modals/OpenModal.d.ts.map +1 -0
- package/dist/objects/ApiaUtil/modals/OpenModal.js +19 -0
- package/dist/objects/ApiaUtil/modals/OpenModal.js.map +1 -0
- package/dist/objects/ApiaUtil/mouse/ApiaUtilMouse.d.ts +19 -0
- package/dist/objects/ApiaUtil/mouse/ApiaUtilMouse.d.ts.map +1 -0
- package/dist/objects/ApiaUtil/mouse/ApiaUtilMouse.js +26 -0
- package/dist/objects/ApiaUtil/mouse/ApiaUtilMouse.js.map +1 -0
- package/dist/objects/ApiaUtil/notifications/ApiaUtilNotifications.d.ts +14 -0
- package/dist/objects/ApiaUtil/notifications/ApiaUtilNotifications.d.ts.map +1 -0
- package/dist/objects/ApiaUtil/notifications/ApiaUtilNotifications.js +33 -0
- package/dist/objects/ApiaUtil/notifications/ApiaUtilNotifications.js.map +1 -0
- package/dist/objects/ApiaUtil/parsers/ApiaUtilParsers.d.ts +23 -0
- package/dist/objects/ApiaUtil/parsers/ApiaUtilParsers.d.ts.map +1 -0
- package/dist/objects/ApiaUtil/parsers/ApiaUtilParsers.js +79 -0
- package/dist/objects/ApiaUtil/parsers/ApiaUtilParsers.js.map +1 -0
- package/dist/objects/ApiaUtil/tabs/ApiaUtilCurrentTab.d.ts +33 -0
- package/dist/objects/ApiaUtil/tabs/ApiaUtilCurrentTab.d.ts.map +1 -0
- package/dist/objects/ApiaUtil/tabs/ApiaUtilCurrentTab.js +50 -0
- package/dist/objects/ApiaUtil/tabs/ApiaUtilCurrentTab.js.map +1 -0
- package/dist/objects/ApiaUtil/tabs/ApiaUtilTabsController.d.ts +20 -0
- package/dist/objects/ApiaUtil/tabs/ApiaUtilTabsController.d.ts.map +1 -0
- package/dist/objects/ApiaUtil/tabs/ApiaUtilTabsController.js +37 -0
- package/dist/objects/ApiaUtil/tabs/ApiaUtilTabsController.js.map +1 -0
- package/dist/objects/ApiaUtil/tabs/util.js +17 -0
- package/dist/objects/ApiaUtil/tabs/util.js.map +1 -0
- package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltip.d.ts +11 -0
- package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltip.d.ts.map +1 -0
- package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltip.js +17 -0
- package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltip.js.map +1 -0
- package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltips.d.ts +22 -0
- package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltips.d.ts.map +1 -0
- package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltips.js +104 -0
- package/dist/objects/ApiaUtil/tooltips/ApiaUtilTooltips.js.map +1 -0
- package/dist/objects/ApiaUtil/tooltips/AutomaticTooltip.d.ts +13 -0
- package/dist/objects/ApiaUtil/tooltips/AutomaticTooltip.d.ts.map +1 -0
- package/dist/objects/ApiaUtil/tooltips/AutomaticTooltip.js +79 -0
- package/dist/objects/ApiaUtil/tooltips/AutomaticTooltip.js.map +1 -0
- package/dist/objects/ApiaUtil/tooltips/tooltip/Tooltip.js +62 -0
- package/dist/objects/ApiaUtil/tooltips/tooltip/Tooltip.js.map +1 -0
- package/dist/objects/ApiaUtil/tooltips/tooltip/types.d.ts +117 -0
- package/dist/objects/ApiaUtil/tooltips/tooltip/types.d.ts.map +1 -0
- package/dist/objects/ApiaUtil/tooltips/tooltip/util.js +273 -0
- package/dist/objects/ApiaUtil/tooltips/tooltip/util.js.map +1 -0
- package/dist/objects/ScreenLocker/index.d.ts +37 -0
- package/dist/objects/ScreenLocker/index.d.ts.map +1 -0
- package/dist/objects/ScreenLocker/index.js +92 -0
- package/dist/objects/ScreenLocker/index.js.map +1 -0
- package/dist/tabs/Content.d.ts +7 -0
- package/dist/tabs/Content.d.ts.map +1 -0
- package/dist/tabs/Content.js +52 -0
- package/dist/tabs/Content.js.map +1 -0
- package/dist/tabs/ContextMenu.js +77 -0
- package/dist/tabs/ContextMenu.js.map +1 -0
- package/dist/tabs/Item.js +64 -0
- package/dist/tabs/Item.js.map +1 -0
- package/dist/tabs/Tabs.d.ts +8 -0
- package/dist/tabs/Tabs.d.ts.map +1 -0
- package/dist/tabs/Tabs.js +78 -0
- package/dist/tabs/Tabs.js.map +1 -0
- package/dist/tabs/TabsList.d.ts +8 -0
- package/dist/tabs/TabsList.d.ts.map +1 -0
- package/dist/tabs/TabsList.js +138 -0
- package/dist/tabs/TabsList.js.map +1 -0
- package/dist/tabs/renderers/DefaultTabsLabelRenderer.d.ts +6 -0
- package/dist/tabs/renderers/DefaultTabsLabelRenderer.d.ts.map +1 -0
- package/dist/tabs/renderers/DefaultTabsLabelRenderer.js +71 -0
- package/dist/tabs/renderers/DefaultTabsLabelRenderer.js.map +1 -0
- package/dist/tabs/tabsController.d.ts +41 -0
- package/dist/tabs/tabsController.d.ts.map +1 -0
- package/dist/tabs/tabsController.js +303 -0
- package/dist/tabs/tabsController.js.map +1 -0
- package/dist/tabs/types.d.ts +115 -0
- package/dist/tabs/types.d.ts.map +1 -0
- package/dist/tabs/useTabsList.js +20 -0
- package/dist/tabs/useTabsList.js.map +1 -0
- package/dist/tabs/util.js +11 -0
- package/dist/tabs/util.js.map +1 -0
- package/package.json +29 -39
- package/LICENSE.md +0 -21
- package/README.md +0 -3
- package/cleanDist.json +0 -3
- package/entries.json +0 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { getSpecificParent } from '@apia/util';
|
|
2
|
+
import uniqueId from 'lodash-es/uniqueId';
|
|
3
|
+
import React__default from 'react';
|
|
4
|
+
|
|
5
|
+
function useOtherTagButton(props) {
|
|
6
|
+
const specificClass = React__default.useMemo(() => `otherTag${uniqueId()}`, []);
|
|
7
|
+
const actualOnClick = React__default.useCallback(
|
|
8
|
+
(ev) => {
|
|
9
|
+
props?.onClick?.(ev);
|
|
10
|
+
},
|
|
11
|
+
[props]
|
|
12
|
+
);
|
|
13
|
+
const actualOnKeyDown = React__default.useCallback(
|
|
14
|
+
(ev) => {
|
|
15
|
+
props?.onKeyDown?.(ev);
|
|
16
|
+
if (ev.code === "Enter" || ev.code === "Space") {
|
|
17
|
+
ev.preventDefault();
|
|
18
|
+
const button = getSpecificParent(
|
|
19
|
+
ev.target,
|
|
20
|
+
(current) => current.classList.contains(specificClass)
|
|
21
|
+
);
|
|
22
|
+
if (button)
|
|
23
|
+
button.click();
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
[props, specificClass]
|
|
27
|
+
);
|
|
28
|
+
return {
|
|
29
|
+
className: `${specificClass} ${props?.className ?? ""}`,
|
|
30
|
+
onClick: actualOnClick,
|
|
31
|
+
onKeyDown: actualOnKeyDown,
|
|
32
|
+
role: "button",
|
|
33
|
+
tabIndex: 0
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export { useOtherTagButton };
|
|
38
|
+
//# sourceMappingURL=useOtherTagButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOtherTagButton.js","sources":["../../../src/components/buttons/useOtherTagButton.ts"],"sourcesContent":["import { getSpecificParent } from '@apia/util';\nimport uniqueId from 'lodash-es/uniqueId';\nimport React from 'react';\n\n/**\n * Este hook está pensado para crear un botón utilizando un tag cualquiera.\n *\n * @example\n *\n * const buttonProps = useOtherTagButton(React.useMemo(()=>({\n * onClick(ev) { console.log(ev.target) },\n * onKeyDown(ev) { console.log(ev.code) }\n * }),[])\n *\n * return <div {...buttonProps}>Esto es un botón</div>\n */\nexport function useOtherTagButton(\n props?: Partial<{\n className?: string;\n onClick: React.MouseEventHandler;\n onKeyDown: React.KeyboardEventHandler;\n }>,\n) {\n const specificClass = React.useMemo(() => `otherTag${uniqueId()}`, []);\n\n const actualOnClick = React.useCallback(\n (ev: React.MouseEvent) => {\n props?.onClick?.(ev);\n },\n [props],\n );\n const actualOnKeyDown = React.useCallback(\n (ev: React.KeyboardEvent) => {\n props?.onKeyDown?.(ev);\n if (ev.code === 'Enter' || ev.code === 'Space') {\n ev.preventDefault();\n const button = getSpecificParent(ev.target as HTMLElement, (current) =>\n current.classList.contains(specificClass),\n );\n if (button) button.click();\n }\n },\n [props, specificClass],\n );\n\n return {\n className: `${specificClass} ${props?.className ?? ''}`,\n onClick: actualOnClick,\n onKeyDown: actualOnKeyDown,\n role: 'button',\n tabIndex: 0,\n };\n}\n"],"names":["React"],"mappings":";;;;AAgBO,SAAS,kBACd,KAKA,EAAA;AACA,EAAM,MAAA,aAAA,GAAgBA,eAAM,OAAQ,CAAA,MAAM,WAAW,QAAS,EAAC,CAAI,CAAA,EAAA,EAAE,CAAA,CAAA;AAErE,EAAA,MAAM,gBAAgBA,cAAM,CAAA,WAAA;AAAA,IAC1B,CAAC,EAAyB,KAAA;AACxB,MAAA,KAAA,EAAO,UAAU,EAAE,CAAA,CAAA;AAAA,KACrB;AAAA,IACA,CAAC,KAAK,CAAA;AAAA,GACR,CAAA;AACA,EAAA,MAAM,kBAAkBA,cAAM,CAAA,WAAA;AAAA,IAC5B,CAAC,EAA4B,KAAA;AAC3B,MAAA,KAAA,EAAO,YAAY,EAAE,CAAA,CAAA;AACrB,MAAA,IAAI,EAAG,CAAA,IAAA,KAAS,OAAW,IAAA,EAAA,CAAG,SAAS,OAAS,EAAA;AAC9C,QAAA,EAAA,CAAG,cAAe,EAAA,CAAA;AAClB,QAAA,MAAM,MAAS,GAAA,iBAAA;AAAA,UAAkB,EAAG,CAAA,MAAA;AAAA,UAAuB,CAAC,OAAA,KAC1D,OAAQ,CAAA,SAAA,CAAU,SAAS,aAAa,CAAA;AAAA,SAC1C,CAAA;AACA,QAAI,IAAA,MAAA;AAAQ,UAAA,MAAA,CAAO,KAAM,EAAA,CAAA;AAAA,OAC3B;AAAA,KACF;AAAA,IACA,CAAC,OAAO,aAAa,CAAA;AAAA,GACvB,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,WAAW,CAAG,EAAA,aAAa,CAAI,CAAA,EAAA,KAAA,EAAO,aAAa,EAAE,CAAA,CAAA;AAAA,IACrD,OAAS,EAAA,aAAA;AAAA,IACT,SAAW,EAAA,eAAA;AAAA,IACX,IAAM,EAAA,QAAA;AAAA,IACN,QAAU,EAAA,CAAA;AAAA,GACZ,CAAA;AACF;;;;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { ICollapsiblePanel } from './types.js';
|
|
3
|
+
|
|
4
|
+
declare const CollapsiblePanel: React__default.ForwardRefExoticComponent<ICollapsiblePanel & React__default.RefAttributes<HTMLDivElement>>;
|
|
5
|
+
|
|
6
|
+
export { CollapsiblePanel };
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { jsxs, jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
import { injectStyles, Box, getVariant, Button } from '@apia/theme';
|
|
4
|
+
import uniqueId from 'lodash-es/uniqueId';
|
|
5
|
+
import isFunction from 'lodash-es/isFunction';
|
|
6
|
+
import { persistentStorage, useUpdateEffect, disableChildrenFocus, enableChildrenFocus, customEvents } from '@apia/util';
|
|
7
|
+
import AnimateHeight from 'react-animate-height';
|
|
8
|
+
import { styles } from './styles.js';
|
|
9
|
+
import { Icon } from '@apia/icons';
|
|
10
|
+
|
|
11
|
+
injectStyles("layout.common.components.collapsiblePanel", styles);
|
|
12
|
+
const CollapsiblePanel = React__default.forwardRef(
|
|
13
|
+
({
|
|
14
|
+
children,
|
|
15
|
+
className,
|
|
16
|
+
closedIcon = "ArrowDownThin",
|
|
17
|
+
collapsed,
|
|
18
|
+
defaultCollapsed,
|
|
19
|
+
disableChildrenFocus: disableChildrenFocus$1,
|
|
20
|
+
iconSize = "20px",
|
|
21
|
+
id,
|
|
22
|
+
onClose,
|
|
23
|
+
onOpen,
|
|
24
|
+
openIcon = "ArrowRightThin",
|
|
25
|
+
label,
|
|
26
|
+
rememberCollapsedState,
|
|
27
|
+
titleButtons,
|
|
28
|
+
minHeight = 0,
|
|
29
|
+
"aria-hidden": ariaHidden
|
|
30
|
+
}, outerRef) => {
|
|
31
|
+
const prefix = React__default.useMemo(() => id ? "" : uniqueId(), []);
|
|
32
|
+
const actualId = `${prefix}_${id ?? "collapsiblePanel"}`;
|
|
33
|
+
const [isCollapsed, setIsCollapsed] = React__default.useState(
|
|
34
|
+
rememberCollapsedState ? persistentStorage[`collapsiblePanel${actualId}`] ?? defaultCollapsed ?? collapsed : defaultCollapsed ?? collapsed ?? persistentStorage[`collapsiblePanel${actualId}`]
|
|
35
|
+
);
|
|
36
|
+
const [ref, setRef] = React__default.useState(null);
|
|
37
|
+
const callOnOpen = React__default.useCallback(
|
|
38
|
+
(updateState, ev) => {
|
|
39
|
+
const onOpenResult = onOpen ? onOpen(ev) : null;
|
|
40
|
+
if (onOpenResult) {
|
|
41
|
+
void onOpenResult.then((result) => {
|
|
42
|
+
if (result) {
|
|
43
|
+
if (updateState)
|
|
44
|
+
setIsCollapsed((current) => !current);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
} else if (updateState)
|
|
48
|
+
setIsCollapsed((current) => !current);
|
|
49
|
+
},
|
|
50
|
+
[onOpen]
|
|
51
|
+
);
|
|
52
|
+
useUpdateEffect(() => {
|
|
53
|
+
if (collapsed !== void 0)
|
|
54
|
+
setIsCollapsed(collapsed);
|
|
55
|
+
if (collapsed === false)
|
|
56
|
+
callOnOpen(false);
|
|
57
|
+
}, [collapsed]);
|
|
58
|
+
useUpdateEffect(() => {
|
|
59
|
+
if (isCollapsed) {
|
|
60
|
+
if (onClose)
|
|
61
|
+
onClose();
|
|
62
|
+
persistentStorage[`collapsiblePanel${actualId}`] = true;
|
|
63
|
+
if (ref && disableChildrenFocus$1)
|
|
64
|
+
disableChildrenFocus(
|
|
65
|
+
ref.querySelector(".collapsiblePanel__content")
|
|
66
|
+
);
|
|
67
|
+
} else {
|
|
68
|
+
persistentStorage[`collapsiblePanel${actualId}`] = false;
|
|
69
|
+
if (ref && disableChildrenFocus$1)
|
|
70
|
+
enableChildrenFocus(
|
|
71
|
+
ref.querySelector(".collapsiblePanel__content")
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
}, [isCollapsed]);
|
|
75
|
+
React__default.useEffect(() => {
|
|
76
|
+
const handleCustomFocus = () => setIsCollapsed(false);
|
|
77
|
+
ref?.querySelector(".collapsiblePanel__content")?.addEventListener(customEvents.focus, handleCustomFocus);
|
|
78
|
+
return () => {
|
|
79
|
+
ref?.querySelector(".collapsiblePanel__content")?.removeEventListener(customEvents.focus, handleCustomFocus);
|
|
80
|
+
};
|
|
81
|
+
}, [id, isCollapsed, onClose, onOpen, ref]);
|
|
82
|
+
return /* @__PURE__ */ jsxs(
|
|
83
|
+
Box,
|
|
84
|
+
{
|
|
85
|
+
className: `collapsiblePanel ${className ?? ""}`,
|
|
86
|
+
...getVariant("layout.common.components.collapsiblePanel"),
|
|
87
|
+
ref: (el) => {
|
|
88
|
+
if (isFunction(outerRef))
|
|
89
|
+
outerRef(el);
|
|
90
|
+
setRef(el);
|
|
91
|
+
},
|
|
92
|
+
children: [
|
|
93
|
+
/* @__PURE__ */ jsxs(Box, { className: "collapsiblePanel__label", children: [
|
|
94
|
+
/* @__PURE__ */ jsxs(
|
|
95
|
+
Button,
|
|
96
|
+
{
|
|
97
|
+
...getVariant("inherit"),
|
|
98
|
+
"aria-expanded": !isCollapsed,
|
|
99
|
+
onClick: (ev) => callOnOpen(true, ev),
|
|
100
|
+
type: "button",
|
|
101
|
+
className: "collapsiblePanel__label__button",
|
|
102
|
+
children: [
|
|
103
|
+
isCollapsed ? /* @__PURE__ */ jsx(Icon, { title: "", icon: openIcon, size: iconSize }) : /* @__PURE__ */ jsx(Icon, { title: "", icon: closedIcon, size: iconSize }),
|
|
104
|
+
/* @__PURE__ */ jsx("span", { className: "title", children: label })
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
),
|
|
108
|
+
titleButtons
|
|
109
|
+
] }),
|
|
110
|
+
/* @__PURE__ */ jsx(
|
|
111
|
+
AnimateHeight,
|
|
112
|
+
{
|
|
113
|
+
id: actualId,
|
|
114
|
+
duration: 150,
|
|
115
|
+
height: isCollapsed ? minHeight : "auto",
|
|
116
|
+
sx: { "&>div": { display: "block " } },
|
|
117
|
+
"aria-hidden": ariaHidden ?? isCollapsed,
|
|
118
|
+
className: "collapsiblePanel__content",
|
|
119
|
+
children
|
|
120
|
+
}
|
|
121
|
+
)
|
|
122
|
+
]
|
|
123
|
+
}
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
);
|
|
127
|
+
CollapsiblePanel.displayName = "CollapsiblePanel";
|
|
128
|
+
|
|
129
|
+
export { CollapsiblePanel };
|
|
130
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/collapsiblePanel/index.tsx"],"sourcesContent":["import React from 'react';\nimport { Box, Button } from '@apia/theme';\nimport uniqueId from 'lodash-es/uniqueId';\nimport isFunction from 'lodash-es/isFunction';\nimport {\n customEvents,\n persistentStorage,\n enableChildrenFocus,\n disableChildrenFocus as disableChildrenFocusMethod,\n useUpdateEffect,\n} from '@apia/util';\nimport { getVariant, injectStyles } from '@apia/theme';\nimport AnimateHeight from 'react-animate-height';\nimport { styles } from './styles';\nimport { ICollapsiblePanel } from './types';\nimport { Icon } from '@apia/icons';\n\ninjectStyles('layout.common.components.collapsiblePanel', styles);\n\nexport const CollapsiblePanel = React.forwardRef<\n HTMLDivElement,\n ICollapsiblePanel\n>(\n (\n {\n children,\n className,\n closedIcon = 'ArrowDownThin',\n collapsed,\n defaultCollapsed,\n disableChildrenFocus,\n iconSize = '20px',\n id,\n onClose,\n onOpen,\n openIcon = 'ArrowRightThin',\n label,\n rememberCollapsedState,\n titleButtons,\n minHeight = 0,\n 'aria-hidden': ariaHidden,\n },\n outerRef,\n ) => {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const prefix = React.useMemo(() => (id ? '' : uniqueId()), []);\n const actualId = `${prefix}_${id ?? 'collapsiblePanel'}`;\n\n const [isCollapsed, setIsCollapsed] = React.useState<boolean>(\n rememberCollapsedState\n ? ((persistentStorage[`collapsiblePanel${actualId}`] ??\n defaultCollapsed ??\n collapsed) as boolean)\n : defaultCollapsed ??\n collapsed ??\n (persistentStorage[`collapsiblePanel${actualId}`] as boolean),\n );\n\n const [ref, setRef] = React.useState<HTMLDivElement | null>(null);\n\n const callOnOpen = React.useCallback(\n (updateState: unknown, ev?: React.MouseEvent) => {\n const onOpenResult = onOpen ? onOpen(ev) : null;\n if (onOpenResult) {\n void onOpenResult.then((result) => {\n if (result) if (updateState) setIsCollapsed((current) => !current);\n });\n } else if (updateState) setIsCollapsed((current) => !current);\n },\n [onOpen],\n );\n\n useUpdateEffect(() => {\n if (collapsed !== undefined) setIsCollapsed(collapsed);\n if (collapsed === false) callOnOpen(false);\n }, [collapsed]);\n\n useUpdateEffect(() => {\n if (isCollapsed) {\n if (onClose) onClose();\n persistentStorage[`collapsiblePanel${actualId}`] = true;\n if (ref && disableChildrenFocus)\n disableChildrenFocusMethod(\n ref.querySelector('.collapsiblePanel__content') as HTMLElement,\n );\n } else {\n persistentStorage[`collapsiblePanel${actualId}`] = false;\n if (ref && disableChildrenFocus)\n enableChildrenFocus(\n ref.querySelector('.collapsiblePanel__content') as HTMLElement,\n );\n }\n }, [isCollapsed]);\n\n React.useEffect(() => {\n const handleCustomFocus = () => setIsCollapsed(false);\n ref\n ?.querySelector('.collapsiblePanel__content')\n ?.addEventListener(customEvents.focus, handleCustomFocus);\n return () => {\n ref\n ?.querySelector('.collapsiblePanel__content')\n ?.removeEventListener(customEvents.focus, handleCustomFocus);\n };\n }, [id, isCollapsed, onClose, onOpen, ref]);\n\n return (\n <Box\n className={`collapsiblePanel ${className ?? ''}`}\n {...getVariant('layout.common.components.collapsiblePanel')}\n ref={(el: HTMLDivElement) => {\n if (isFunction(outerRef)) outerRef(el);\n setRef(el);\n }}\n >\n <Box className=\"collapsiblePanel__label\">\n <Button\n {...getVariant('inherit')}\n aria-expanded={!isCollapsed}\n onClick={(ev) => callOnOpen(true, ev)}\n type=\"button\"\n className=\"collapsiblePanel__label__button\"\n >\n {isCollapsed ? (\n <Icon title=\"\" icon={openIcon} size={iconSize} />\n ) : (\n <Icon title=\"\" icon={closedIcon} size={iconSize} />\n )}\n <span className=\"title\">{label}</span>\n </Button>\n {titleButtons}\n </Box>\n <AnimateHeight\n id={actualId}\n duration={150}\n height={isCollapsed ? minHeight : 'auto'}\n sx={{ '&>div': { display: 'block ' } }}\n aria-hidden={ariaHidden ?? isCollapsed}\n className=\"collapsiblePanel__content\"\n >\n {children}\n </AnimateHeight>\n </Box>\n );\n },\n);\n\nCollapsiblePanel.displayName = 'CollapsiblePanel';\n"],"names":["React","disableChildrenFocus","disableChildrenFocusMethod"],"mappings":";;;;;;;;;;AAiBA,YAAA,CAAa,6CAA6C,MAAM,CAAA,CAAA;AAEzD,MAAM,mBAAmBA,cAAM,CAAA,UAAA;AAAA,EAIpC,CACE;AAAA,IACE,QAAA;AAAA,IACA,SAAA;AAAA,IACA,UAAa,GAAA,eAAA;AAAA,IACb,SAAA;AAAA,IACA,gBAAA;AAAA,0BACAC,sBAAA;AAAA,IACA,QAAW,GAAA,MAAA;AAAA,IACX,EAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,QAAW,GAAA,gBAAA;AAAA,IACX,KAAA;AAAA,IACA,sBAAA;AAAA,IACA,YAAA;AAAA,IACA,SAAY,GAAA,CAAA;AAAA,IACZ,aAAe,EAAA,UAAA;AAAA,KAEjB,QACG,KAAA;AAEH,IAAM,MAAA,MAAA,GAASD,eAAM,OAAQ,CAAA,MAAO,KAAK,EAAK,GAAA,QAAA,EAAa,EAAA,EAAE,CAAA,CAAA;AAC7D,IAAA,MAAM,QAAW,GAAA,CAAA,EAAG,MAAM,CAAA,CAAA,EAAI,MAAM,kBAAkB,CAAA,CAAA,CAAA;AAEtD,IAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAIA,cAAM,CAAA,QAAA;AAAA,MAC1C,sBACM,GAAA,iBAAA,CAAkB,CAAmB,gBAAA,EAAA,QAAQ,CAAE,CAAA,CAAA,IAC/C,gBACA,IAAA,SAAA,GACF,gBACE,IAAA,SAAA,IACC,iBAAkB,CAAA,CAAA,gBAAA,EAAmB,QAAQ,CAAE,CAAA,CAAA;AAAA,KACxD,CAAA;AAEA,IAAA,MAAM,CAAC,GAAK,EAAA,MAAM,CAAI,GAAAA,cAAA,CAAM,SAAgC,IAAI,CAAA,CAAA;AAEhE,IAAA,MAAM,aAAaA,cAAM,CAAA,WAAA;AAAA,MACvB,CAAC,aAAsB,EAA0B,KAAA;AAC/C,QAAA,MAAM,YAAe,GAAA,MAAA,GAAS,MAAO,CAAA,EAAE,CAAI,GAAA,IAAA,CAAA;AAC3C,QAAA,IAAI,YAAc,EAAA;AAChB,UAAK,KAAA,YAAA,CAAa,IAAK,CAAA,CAAC,MAAW,KAAA;AACjC,YAAI,IAAA,MAAA,EAAA;AAAQ,cAAI,IAAA,WAAA;AAAa,gBAAe,cAAA,CAAA,CAAC,OAAY,KAAA,CAAC,OAAO,CAAA,CAAA;AAAA,aAAA;AAAA,WAClE,CAAA,CAAA;AAAA,SACQ,MAAA,IAAA,WAAA;AAAa,UAAe,cAAA,CAAA,CAAC,OAAY,KAAA,CAAC,OAAO,CAAA,CAAA;AAAA,OAC9D;AAAA,MACA,CAAC,MAAM,CAAA;AAAA,KACT,CAAA;AAEA,IAAA,eAAA,CAAgB,MAAM;AACpB,MAAA,IAAI,SAAc,KAAA,KAAA,CAAA;AAAW,QAAA,cAAA,CAAe,SAAS,CAAA,CAAA;AACrD,MAAA,IAAI,SAAc,KAAA,KAAA;AAAO,QAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AAAA,KAC3C,EAAG,CAAC,SAAS,CAAC,CAAA,CAAA;AAEd,IAAA,eAAA,CAAgB,MAAM;AACpB,MAAA,IAAI,WAAa,EAAA;AACf,QAAI,IAAA,OAAA;AAAS,UAAQ,OAAA,EAAA,CAAA;AACrB,QAAkB,iBAAA,CAAA,CAAA,gBAAA,EAAmB,QAAQ,CAAA,CAAE,CAAI,GAAA,IAAA,CAAA;AACnD,QAAA,IAAI,GAAO,IAAAC,sBAAA;AACT,UAAAC,oBAAA;AAAA,YACE,GAAA,CAAI,cAAc,4BAA4B,CAAA;AAAA,WAChD,CAAA;AAAA,OACG,MAAA;AACL,QAAkB,iBAAA,CAAA,CAAA,gBAAA,EAAmB,QAAQ,CAAA,CAAE,CAAI,GAAA,KAAA,CAAA;AACnD,QAAA,IAAI,GAAO,IAAAD,sBAAA;AACT,UAAA,mBAAA;AAAA,YACE,GAAA,CAAI,cAAc,4BAA4B,CAAA;AAAA,WAChD,CAAA;AAAA,OACJ;AAAA,KACF,EAAG,CAAC,WAAW,CAAC,CAAA,CAAA;AAEhB,IAAAD,cAAA,CAAM,UAAU,MAAM;AACpB,MAAM,MAAA,iBAAA,GAAoB,MAAM,cAAA,CAAe,KAAK,CAAA,CAAA;AACpD,MAAA,GAAA,EACI,cAAc,4BAA4B,CAAA,EAC1C,gBAAiB,CAAA,YAAA,CAAa,OAAO,iBAAiB,CAAA,CAAA;AAC1D,MAAA,OAAO,MAAM;AACX,QAAA,GAAA,EACI,cAAc,4BAA4B,CAAA,EAC1C,mBAAoB,CAAA,YAAA,CAAa,OAAO,iBAAiB,CAAA,CAAA;AAAA,OAC/D,CAAA;AAAA,OACC,CAAC,EAAA,EAAI,aAAa,OAAS,EAAA,MAAA,EAAQ,GAAG,CAAC,CAAA,CAAA;AAE1C,IACE,uBAAA,IAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,CAAoB,iBAAA,EAAA,SAAA,IAAa,EAAE,CAAA,CAAA;AAAA,QAC7C,GAAG,WAAW,2CAA2C,CAAA;AAAA,QAC1D,GAAA,EAAK,CAAC,EAAuB,KAAA;AAC3B,UAAA,IAAI,WAAW,QAAQ,CAAA;AAAG,YAAA,QAAA,CAAS,EAAE,CAAA,CAAA;AACrC,UAAA,MAAA,CAAO,EAAE,CAAA,CAAA;AAAA,SACX;AAAA,QAEA,QAAA,EAAA;AAAA,0BAAC,IAAA,CAAA,GAAA,EAAA,EAAI,WAAU,yBACb,EAAA,QAAA,EAAA;AAAA,4BAAA,IAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACE,GAAG,WAAW,SAAS,CAAA;AAAA,gBACxB,iBAAe,CAAC,WAAA;AAAA,gBAChB,OAAS,EAAA,CAAC,EAAO,KAAA,UAAA,CAAW,MAAM,EAAE,CAAA;AAAA,gBACpC,IAAK,EAAA,QAAA;AAAA,gBACL,SAAU,EAAA,iCAAA;AAAA,gBAET,QAAA,EAAA;AAAA,kBAAA,WAAA,uBACE,IAAK,EAAA,EAAA,KAAA,EAAM,EAAG,EAAA,IAAA,EAAM,UAAU,IAAM,EAAA,QAAA,EAAU,CAE/C,mBAAA,GAAA,CAAC,QAAK,KAAM,EAAA,EAAA,EAAG,IAAM,EAAA,UAAA,EAAY,MAAM,QAAU,EAAA,CAAA;AAAA,kCAElD,GAAA,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,OAAA,EAAS,QAAM,EAAA,KAAA,EAAA,CAAA;AAAA,iBAAA;AAAA,eAAA;AAAA,aACjC;AAAA,YACC,YAAA;AAAA,WACH,EAAA,CAAA;AAAA,0BACA,GAAA;AAAA,YAAC,aAAA;AAAA,YAAA;AAAA,cACC,EAAI,EAAA,QAAA;AAAA,cACJ,QAAU,EAAA,GAAA;AAAA,cACV,MAAA,EAAQ,cAAc,SAAY,GAAA,MAAA;AAAA,cAClC,IAAI,EAAE,OAAA,EAAS,EAAE,OAAA,EAAS,UAAW,EAAA;AAAA,cACrC,eAAa,UAAc,IAAA,WAAA;AAAA,cAC3B,SAAU,EAAA,2BAAA;AAAA,cAET,QAAA;AAAA,aAAA;AAAA,WACH;AAAA,SAAA;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,GAEJ;AACF,EAAA;AAEA,gBAAA,CAAiB,WAAc,GAAA,kBAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../src/components/collapsiblePanel/styles.ts"],"sourcesContent":["import { ThemeUICSSObject } from '@apia/theme';\n\nexport const styles: ThemeUICSSObject = {};\n"],"names":[],"mappings":"AAEO,MAAM,SAA2B;;;;"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { TIconType, TIconName } from '@apia/icons';
|
|
2
|
+
|
|
3
|
+
interface ICollapsiblePanel {
|
|
4
|
+
'aria-hidden'?: boolean;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
className?: string;
|
|
7
|
+
closedIcon?: TIconType | TIconName;
|
|
8
|
+
collapsed?: boolean;
|
|
9
|
+
defaultCollapsed?: boolean;
|
|
10
|
+
disableChildrenFocus?: boolean;
|
|
11
|
+
iconSize?: string | number;
|
|
12
|
+
id?: string;
|
|
13
|
+
minHeight?: number;
|
|
14
|
+
onClose?: () => unknown;
|
|
15
|
+
onOpen?: (ev?: React.MouseEvent) => void | Promise<boolean>;
|
|
16
|
+
openIcon?: TIconType | TIconName;
|
|
17
|
+
label: React.ReactNode;
|
|
18
|
+
rememberCollapsedState?: boolean;
|
|
19
|
+
titleButtons?: React.ReactNode;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export type { ICollapsiblePanel };
|
|
23
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React$1 from 'react';
|
|
2
|
+
|
|
3
|
+
interface IAlert {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
onClose: () => void;
|
|
6
|
+
title?: string;
|
|
7
|
+
}
|
|
8
|
+
declare const AlertModal: ({ children, onClose, title }: IAlert) => React$1.JSX.Element;
|
|
9
|
+
|
|
10
|
+
export { AlertModal, type IAlert };
|
|
11
|
+
//# sourceMappingURL=AlertModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlertModal.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
+
import { useMemo, useCallback } from 'react';
|
|
3
|
+
import { Modal } from '../modals/Modal.js';
|
|
4
|
+
import { Confirm } from '../modals/layout/Confirm.js';
|
|
5
|
+
import { useModal } from '../modals/hooks/useModal.js';
|
|
6
|
+
|
|
7
|
+
const AlertModal = ({ children, onClose, title }) => {
|
|
8
|
+
const { hide, ...modalProps } = useModal({
|
|
9
|
+
isDefaultOpen: true,
|
|
10
|
+
onExited: onClose
|
|
11
|
+
});
|
|
12
|
+
return /* @__PURE__ */ jsx(
|
|
13
|
+
Modal,
|
|
14
|
+
{
|
|
15
|
+
...modalProps,
|
|
16
|
+
sx: useMemo(
|
|
17
|
+
() => ({
|
|
18
|
+
".modal__content .confirm__content": {
|
|
19
|
+
overflow: "visible"
|
|
20
|
+
}
|
|
21
|
+
}),
|
|
22
|
+
[]
|
|
23
|
+
),
|
|
24
|
+
initialFocusGetter: useCallback((ref) => {
|
|
25
|
+
return ref?.querySelector(".confirm__confirmButton");
|
|
26
|
+
}, []),
|
|
27
|
+
title,
|
|
28
|
+
children: /* @__PURE__ */ jsx(
|
|
29
|
+
Confirm,
|
|
30
|
+
{
|
|
31
|
+
onConfirm: useCallback(() => {
|
|
32
|
+
hide();
|
|
33
|
+
}, [hide]),
|
|
34
|
+
children
|
|
35
|
+
}
|
|
36
|
+
)
|
|
37
|
+
}
|
|
38
|
+
);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export { AlertModal };
|
|
42
|
+
//# sourceMappingURL=AlertModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlertModal.js","sources":["../../../src/components/dialogs/AlertModal.tsx"],"sourcesContent":["import { useCallback, useMemo } from 'react';\nimport { Confirm, Modal, useModal } from '../modals';\n\nexport interface IAlert {\n children: React.ReactNode;\n onClose: () => void;\n title?: string;\n}\n\nexport const AlertModal = ({ children, onClose, title }: IAlert) => {\n const { hide, ...modalProps } = useModal({\n isDefaultOpen: true,\n onExited: onClose,\n });\n\n return (\n <Modal\n {...modalProps}\n sx={useMemo(\n () => ({\n '.modal__content .confirm__content': {\n overflow: 'visible',\n },\n }),\n [],\n )}\n initialFocusGetter={useCallback((ref: HTMLElement) => {\n return ref?.querySelector('.confirm__confirmButton') as HTMLElement;\n }, [])}\n title={title}\n >\n <Confirm\n onConfirm={useCallback(() => {\n hide();\n }, [hide])}\n >\n {children}\n </Confirm>\n </Modal>\n );\n};\n"],"names":[],"mappings":";;;;;;AASO,MAAM,aAAa,CAAC,EAAE,QAAU,EAAA,OAAA,EAAS,OAAoB,KAAA;AAClE,EAAA,MAAM,EAAE,IAAA,EAAM,GAAG,UAAA,KAAe,QAAS,CAAA;AAAA,IACvC,aAAe,EAAA,IAAA;AAAA,IACf,QAAU,EAAA,OAAA;AAAA,GACX,CAAA,CAAA;AAED,EACE,uBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,UAAA;AAAA,MACJ,EAAI,EAAA,OAAA;AAAA,QACF,OAAO;AAAA,UACL,mCAAqC,EAAA;AAAA,YACnC,QAAU,EAAA,SAAA;AAAA,WACZ;AAAA,SACF,CAAA;AAAA,QACA,EAAC;AAAA,OACH;AAAA,MACA,kBAAA,EAAoB,WAAY,CAAA,CAAC,GAAqB,KAAA;AACpD,QAAO,OAAA,GAAA,EAAK,cAAc,yBAAyB,CAAA,CAAA;AAAA,OACrD,EAAG,EAAE,CAAA;AAAA,MACL,KAAA;AAAA,MAEA,QAAA,kBAAA,GAAA;AAAA,QAAC,OAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAW,YAAY,MAAM;AAC3B,YAAK,IAAA,EAAA,CAAA;AAAA,WACP,EAAG,CAAC,IAAI,CAAC,CAAA;AAAA,UAER,QAAA;AAAA,SAAA;AAAA,OACH;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { TApiaButtonType } from '../types.js';
|
|
2
|
+
import { ReactNode, Ref } from 'react';
|
|
3
|
+
|
|
4
|
+
interface IConfirm {
|
|
5
|
+
additionalButtons?: ReactNode;
|
|
6
|
+
additionalButtonsOnRight?: ReactNode;
|
|
7
|
+
cancelButtonText?: string;
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
className?: string;
|
|
10
|
+
confirmButtonText?: string;
|
|
11
|
+
confirmButtonVariant?: TApiaButtonType;
|
|
12
|
+
contentRef?: Ref<HTMLDivElement>;
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
hideCancelButton?: boolean;
|
|
15
|
+
hideConfirmButton?: boolean;
|
|
16
|
+
isLoading?: boolean;
|
|
17
|
+
onConfirm?: () => unknown;
|
|
18
|
+
onCancel?: () => unknown;
|
|
19
|
+
title?: string;
|
|
20
|
+
variant?: string;
|
|
21
|
+
}
|
|
22
|
+
declare const ConfirmModal: ({ onConfirm, onCancel, title, ...props }: IConfirm) => JSX.Element;
|
|
23
|
+
|
|
24
|
+
export { ConfirmModal, type IConfirm };
|
|
25
|
+
//# sourceMappingURL=ConfirmModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfirmModal.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
+
import { useRef, useCallback } from 'react';
|
|
3
|
+
import { Confirm } from '../modals/layout/Confirm.js';
|
|
4
|
+
import { useModal } from '../modals/hooks/useModal.js';
|
|
5
|
+
import { Modal } from '../modals/Modal.js';
|
|
6
|
+
|
|
7
|
+
const ConfirmModal = ({
|
|
8
|
+
onConfirm,
|
|
9
|
+
onCancel,
|
|
10
|
+
title,
|
|
11
|
+
...props
|
|
12
|
+
}) => {
|
|
13
|
+
const hasConfirmed = useRef(false);
|
|
14
|
+
const { hide, ...modalProps } = useModal({
|
|
15
|
+
isDefaultOpen: true,
|
|
16
|
+
onExited: () => {
|
|
17
|
+
if (hasConfirmed.current)
|
|
18
|
+
onConfirm?.();
|
|
19
|
+
else
|
|
20
|
+
onCancel?.();
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
const handleCancel = useCallback(() => {
|
|
24
|
+
hide();
|
|
25
|
+
}, [hide]);
|
|
26
|
+
const handleConfirm = useCallback(() => {
|
|
27
|
+
hasConfirmed.current = true;
|
|
28
|
+
hide();
|
|
29
|
+
}, [hide]);
|
|
30
|
+
return /* @__PURE__ */ jsx(
|
|
31
|
+
Modal,
|
|
32
|
+
{
|
|
33
|
+
...modalProps,
|
|
34
|
+
initialFocusGetter: useCallback(
|
|
35
|
+
(current) => current.querySelector(".confirm__confirmButton"),
|
|
36
|
+
[]
|
|
37
|
+
),
|
|
38
|
+
title,
|
|
39
|
+
children: /* @__PURE__ */ jsx(Confirm, { ...props, onCancel: handleCancel, onConfirm: handleConfirm })
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export { ConfirmModal };
|
|
45
|
+
//# sourceMappingURL=ConfirmModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfirmModal.js","sources":["../../../src/components/dialogs/ConfirmModal.tsx"],"sourcesContent":["import { Modal, useModal } from '../modals';\nimport { TApiaButtonType } from '../types';\nimport { ReactNode, Ref, useCallback, useRef } from 'react';\nimport { Confirm } from '../modals/layout/Confirm';\n\nexport interface IConfirm {\n additionalButtons?: ReactNode;\n additionalButtonsOnRight?: ReactNode;\n cancelButtonText?: string;\n children: ReactNode;\n className?: string;\n confirmButtonText?: string;\n confirmButtonVariant?: TApiaButtonType;\n contentRef?: Ref<HTMLDivElement>;\n disabled?: boolean;\n hideCancelButton?: boolean;\n hideConfirmButton?: boolean;\n isLoading?: boolean;\n onConfirm?: () => unknown;\n onCancel?: () => unknown;\n title?: string;\n variant?: string;\n}\n\nexport const ConfirmModal = ({\n onConfirm,\n onCancel,\n title,\n ...props\n}: IConfirm): JSX.Element => {\n const hasConfirmed = useRef(false);\n\n const { hide, ...modalProps } = useModal({\n isDefaultOpen: true,\n onExited: () => {\n if (hasConfirmed.current) onConfirm?.();\n else onCancel?.();\n },\n });\n\n const handleCancel = useCallback(() => {\n hide();\n }, [hide]);\n\n const handleConfirm = useCallback(() => {\n hasConfirmed.current = true;\n hide();\n }, [hide]);\n\n return (\n <Modal\n {...modalProps}\n initialFocusGetter={useCallback(\n (current: HTMLElement) =>\n current.querySelector<HTMLElement>('.confirm__confirmButton'),\n [],\n )}\n title={title}\n >\n <Confirm {...props} onCancel={handleCancel} onConfirm={handleConfirm} />\n </Modal>\n );\n};\n"],"names":[],"mappings":";;;;;;AAwBO,MAAM,eAAe,CAAC;AAAA,EAC3B,SAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG,KAAA;AACL,CAA6B,KAAA;AAC3B,EAAM,MAAA,YAAA,GAAe,OAAO,KAAK,CAAA,CAAA;AAEjC,EAAA,MAAM,EAAE,IAAA,EAAM,GAAG,UAAA,KAAe,QAAS,CAAA;AAAA,IACvC,aAAe,EAAA,IAAA;AAAA,IACf,UAAU,MAAM;AACd,MAAA,IAAI,YAAa,CAAA,OAAA;AAAS,QAAY,SAAA,IAAA,CAAA;AAAA;AACjC,QAAW,QAAA,IAAA,CAAA;AAAA,KAClB;AAAA,GACD,CAAA,CAAA;AAED,EAAM,MAAA,YAAA,GAAe,YAAY,MAAM;AACrC,IAAK,IAAA,EAAA,CAAA;AAAA,GACP,EAAG,CAAC,IAAI,CAAC,CAAA,CAAA;AAET,EAAM,MAAA,aAAA,GAAgB,YAAY,MAAM;AACtC,IAAA,YAAA,CAAa,OAAU,GAAA,IAAA,CAAA;AACvB,IAAK,IAAA,EAAA,CAAA;AAAA,GACP,EAAG,CAAC,IAAI,CAAC,CAAA,CAAA;AAET,EACE,uBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACE,GAAG,UAAA;AAAA,MACJ,kBAAoB,EAAA,WAAA;AAAA,QAClB,CAAC,OAAA,KACC,OAAQ,CAAA,aAAA,CAA2B,yBAAyB,CAAA;AAAA,QAC9D,EAAC;AAAA,OACH;AAAA,MACA,KAAA;AAAA,MAEA,8BAAC,OAAS,EAAA,EAAA,GAAG,OAAO,QAAU,EAAA,YAAA,EAAc,WAAW,aAAe,EAAA,CAAA;AAAA,KAAA;AAAA,GACxE,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as React$1 from 'react';
|
|
2
|
+
|
|
3
|
+
declare const Captcha: ({ name, imageUrl, onChange, value, className, }: {
|
|
4
|
+
name: string;
|
|
5
|
+
className?: string | undefined;
|
|
6
|
+
imageUrl: string;
|
|
7
|
+
onChange: React.ChangeEventHandler<HTMLInputElement>;
|
|
8
|
+
value: string;
|
|
9
|
+
}) => React$1.JSX.Element;
|
|
10
|
+
|
|
11
|
+
export { Captcha };
|
|
12
|
+
//# sourceMappingURL=Captcha.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Captcha.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { jsxs, jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
+
import { Flex, getVariant, Image, Input } from '@apia/theme';
|
|
3
|
+
import { useState } from 'react';
|
|
4
|
+
import { getLabel } from '@apia/util';
|
|
5
|
+
import { IconButton } from './buttons/IconButton.js';
|
|
6
|
+
|
|
7
|
+
const Captcha = ({
|
|
8
|
+
name,
|
|
9
|
+
imageUrl,
|
|
10
|
+
onChange,
|
|
11
|
+
value,
|
|
12
|
+
className
|
|
13
|
+
}) => {
|
|
14
|
+
const [imgSrc, setImgSrc] = useState(`${imageUrl}?t=${Date.now()}`);
|
|
15
|
+
const handleSyncClick = () => {
|
|
16
|
+
setImgSrc(`${imageUrl}?t=${Date.now()}`);
|
|
17
|
+
};
|
|
18
|
+
return /* @__PURE__ */ jsxs(
|
|
19
|
+
Flex,
|
|
20
|
+
{
|
|
21
|
+
sx: {
|
|
22
|
+
flexDirection: "column"
|
|
23
|
+
},
|
|
24
|
+
className: "captcha__field",
|
|
25
|
+
...getVariant("layout.common.forms.captcha"),
|
|
26
|
+
children: [
|
|
27
|
+
/* @__PURE__ */ jsx(Flex, { className: "captcha__imageContainer", children: /* @__PURE__ */ jsx(Image, { alt: "", src: imgSrc }) }),
|
|
28
|
+
/* @__PURE__ */ jsxs(Flex, { className: `captcha__inputContainer ${className ?? ""}`, children: [
|
|
29
|
+
/* @__PURE__ */ jsx(
|
|
30
|
+
Input,
|
|
31
|
+
{
|
|
32
|
+
autoComplete: "off",
|
|
33
|
+
name,
|
|
34
|
+
onChange,
|
|
35
|
+
value
|
|
36
|
+
}
|
|
37
|
+
),
|
|
38
|
+
/* @__PURE__ */ jsxs(Flex, { className: "captcha__buttons", children: [
|
|
39
|
+
/* @__PURE__ */ jsx(
|
|
40
|
+
IconButton,
|
|
41
|
+
{
|
|
42
|
+
icon: "Refresh",
|
|
43
|
+
type: "button",
|
|
44
|
+
"aria-label": getLabel("lblCaptchaActivateAudio").text,
|
|
45
|
+
onClick: handleSyncClick
|
|
46
|
+
}
|
|
47
|
+
),
|
|
48
|
+
/* @__PURE__ */ jsx(
|
|
49
|
+
IconButton,
|
|
50
|
+
{
|
|
51
|
+
icon: "Volume",
|
|
52
|
+
type: "button",
|
|
53
|
+
"aria-label": getLabel("lblCaptchaActivateAudio").text,
|
|
54
|
+
onClick: () => {
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
)
|
|
58
|
+
] })
|
|
59
|
+
] })
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
);
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export { Captcha };
|
|
66
|
+
//# sourceMappingURL=Captcha.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Captcha.js","sources":["../../../src/components/forms/Captcha.tsx"],"sourcesContent":["import { Flex, Image, Input } from '@apia/theme';\nimport { useState } from 'react';\nimport { IconButton } from './buttons';\nimport { getVariant } from '@apia/theme';\nimport { getLabel } from '@apia/util';\n\nexport const Captcha = ({\n name,\n imageUrl,\n onChange,\n value,\n className,\n}: {\n name: string;\n className?: string;\n imageUrl: string;\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n value: string;\n}) => {\n const [imgSrc, setImgSrc] = useState<string>(`${imageUrl}?t=${Date.now()}`);\n\n const handleSyncClick = () => {\n // IMG reload\n setImgSrc(`${imageUrl}?t=${Date.now()}`);\n };\n\n return (\n <Flex\n sx={{\n flexDirection: 'column',\n }}\n className=\"captcha__field\"\n {...getVariant('layout.common.forms.captcha')}\n >\n <Flex className=\"captcha__imageContainer\">\n <Image alt=\"\" src={imgSrc} />\n </Flex>\n <Flex className={`captcha__inputContainer ${className ?? ''}`}>\n <Input\n autoComplete=\"off\"\n name={name}\n onChange={onChange}\n value={value}\n />\n\n <Flex className=\"captcha__buttons\">\n <IconButton\n icon=\"Refresh\"\n type=\"button\"\n aria-label={getLabel('lblCaptchaActivateAudio').text}\n onClick={handleSyncClick}\n ></IconButton>\n <IconButton\n icon=\"Volume\"\n type=\"button\"\n aria-label={getLabel('lblCaptchaActivateAudio').text}\n onClick={() => {}}\n ></IconButton>\n </Flex>\n </Flex>\n </Flex>\n );\n};\n"],"names":[],"mappings":";;;;;;AAMO,MAAM,UAAU,CAAC;AAAA,EACtB,IAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AACF,CAMM,KAAA;AACJ,EAAM,MAAA,CAAC,MAAQ,EAAA,SAAS,CAAI,GAAA,QAAA,CAAiB,CAAG,EAAA,QAAQ,CAAM,GAAA,EAAA,IAAA,CAAK,GAAI,EAAC,CAAE,CAAA,CAAA,CAAA;AAE1E,EAAA,MAAM,kBAAkB,MAAM;AAE5B,IAAA,SAAA,CAAU,GAAG,QAAQ,CAAA,GAAA,EAAM,IAAK,CAAA,GAAA,EAAK,CAAE,CAAA,CAAA,CAAA;AAAA,GACzC,CAAA;AAEA,EACE,uBAAA,IAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,EAAI,EAAA;AAAA,QACF,aAAe,EAAA,QAAA;AAAA,OACjB;AAAA,MACA,SAAU,EAAA,gBAAA;AAAA,MACT,GAAG,WAAW,6BAA6B,CAAA;AAAA,MAE5C,QAAA,EAAA;AAAA,wBAAC,GAAA,CAAA,IAAA,EAAA,EAAK,WAAU,yBACd,EAAA,QAAA,kBAAA,GAAA,CAAC,SAAM,GAAI,EAAA,EAAA,EAAG,GAAK,EAAA,MAAA,EAAQ,CAC7B,EAAA,CAAA;AAAA,6BACC,IAAK,EAAA,EAAA,SAAA,EAAW,CAA2B,wBAAA,EAAA,SAAA,IAAa,EAAE,CACzD,CAAA,EAAA,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,YAAa,EAAA,KAAA;AAAA,cACb,IAAA;AAAA,cACA,QAAA;AAAA,cACA,KAAA;AAAA,aAAA;AAAA,WACF;AAAA,0BAEA,IAAA,CAAC,IAAK,EAAA,EAAA,SAAA,EAAU,kBACd,EAAA,QAAA,EAAA;AAAA,4BAAA,GAAA;AAAA,cAAC,UAAA;AAAA,cAAA;AAAA,gBACC,IAAK,EAAA,SAAA;AAAA,gBACL,IAAK,EAAA,QAAA;AAAA,gBACL,YAAA,EAAY,QAAS,CAAA,yBAAyB,CAAE,CAAA,IAAA;AAAA,gBAChD,OAAS,EAAA,eAAA;AAAA,eAAA;AAAA,aACV;AAAA,4BACD,GAAA;AAAA,cAAC,UAAA;AAAA,cAAA;AAAA,gBACC,IAAK,EAAA,QAAA;AAAA,gBACL,IAAK,EAAA,QAAA;AAAA,gBACL,YAAA,EAAY,QAAS,CAAA,yBAAyB,CAAE,CAAA,IAAA;AAAA,gBAChD,SAAS,MAAM;AAAA,iBAAC;AAAA,eAAA;AAAA,aACjB;AAAA,WACH,EAAA,CAAA;AAAA,SACF,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA;AAAA,GACF,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ChangeEventHandler } from 'react';
|
|
3
|
+
import { ButtonProps } from '@apia/theme';
|
|
4
|
+
import { TModify } from '@apia/util';
|
|
5
|
+
|
|
6
|
+
type TCheckbox = TModify<ButtonProps, {
|
|
7
|
+
background?: string;
|
|
8
|
+
checked?: boolean;
|
|
9
|
+
color?: string;
|
|
10
|
+
defaultChecked?: boolean;
|
|
11
|
+
indeterminate?: boolean;
|
|
12
|
+
native?: boolean;
|
|
13
|
+
onChange?: ChangeEventHandler<HTMLInputElement>;
|
|
14
|
+
readOnly?: boolean;
|
|
15
|
+
required?: boolean;
|
|
16
|
+
type?: string;
|
|
17
|
+
}>;
|
|
18
|
+
declare const Checkbox: React.ForwardRefExoticComponent<Omit<TCheckbox, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
19
|
+
|
|
20
|
+
export { Checkbox, type TCheckbox };
|
|
21
|
+
//# sourceMappingURL=Checkbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from '@apia/theme/jsx-runtime';
|
|
2
|
+
import { Button, getVariant, Input } from '@apia/theme';
|
|
3
|
+
import { useUpdateEffect, getSpecificParent } from '@apia/util';
|
|
4
|
+
import { forwardRef, useState, useRef, useMemo, useEffect } from 'react';
|
|
5
|
+
import { Icon } from '@apia/icons';
|
|
6
|
+
|
|
7
|
+
const Checkbox = forwardRef(
|
|
8
|
+
({
|
|
9
|
+
onChange,
|
|
10
|
+
required,
|
|
11
|
+
disabled,
|
|
12
|
+
readOnly,
|
|
13
|
+
name,
|
|
14
|
+
native,
|
|
15
|
+
indeterminate,
|
|
16
|
+
...props
|
|
17
|
+
}, ref) => {
|
|
18
|
+
const [isChecked, setIsChecked] = useState(
|
|
19
|
+
props.defaultChecked ?? props.checked ?? false
|
|
20
|
+
);
|
|
21
|
+
const checkbox = useRef(null);
|
|
22
|
+
useUpdateEffect(
|
|
23
|
+
() => setIsChecked(props.checked ?? false),
|
|
24
|
+
[props.checked]
|
|
25
|
+
);
|
|
26
|
+
const sx = useMemo(
|
|
27
|
+
() => ({
|
|
28
|
+
bg: props.background ?? void 0,
|
|
29
|
+
color: props.color ?? void 0,
|
|
30
|
+
'&[aria-checked="false"]': {
|
|
31
|
+
bg: props.background ?? void 0,
|
|
32
|
+
color: "transparent"
|
|
33
|
+
}
|
|
34
|
+
}),
|
|
35
|
+
[props.background, props.color]
|
|
36
|
+
);
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
if (checkbox.current && indeterminate !== void 0)
|
|
39
|
+
checkbox.current.indeterminate = indeterminate;
|
|
40
|
+
}, [indeterminate]);
|
|
41
|
+
const nativeSx = useMemo(
|
|
42
|
+
() => ({ variant: "forms.checkbox" }),
|
|
43
|
+
[]
|
|
44
|
+
);
|
|
45
|
+
return native ? (
|
|
46
|
+
// eslint-disable-next-line react/forbid-elements
|
|
47
|
+
/* @__PURE__ */ jsx(
|
|
48
|
+
"input",
|
|
49
|
+
{
|
|
50
|
+
type: "checkbox",
|
|
51
|
+
onClick: props.onClick,
|
|
52
|
+
"aria-checked": isChecked,
|
|
53
|
+
sx: nativeSx,
|
|
54
|
+
ref: checkbox,
|
|
55
|
+
disabled,
|
|
56
|
+
name,
|
|
57
|
+
checked: isChecked,
|
|
58
|
+
onChange: (ev) => {
|
|
59
|
+
if (props.checked === void 0)
|
|
60
|
+
setIsChecked(ev.target.checked);
|
|
61
|
+
if (onChange)
|
|
62
|
+
onChange(ev);
|
|
63
|
+
},
|
|
64
|
+
required,
|
|
65
|
+
className: ` ${props.className ?? ""} nativeCheckbox `,
|
|
66
|
+
...props
|
|
67
|
+
}
|
|
68
|
+
)
|
|
69
|
+
) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
70
|
+
/* @__PURE__ */ jsx(
|
|
71
|
+
Button,
|
|
72
|
+
{
|
|
73
|
+
...props,
|
|
74
|
+
onClick: (ev) => {
|
|
75
|
+
if (readOnly) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
if (getSpecificParent(
|
|
79
|
+
ev.target,
|
|
80
|
+
(current) => current.type === "button"
|
|
81
|
+
)) {
|
|
82
|
+
if (props.onClick)
|
|
83
|
+
props.onClick(ev);
|
|
84
|
+
checkbox.current?.click();
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
type: "button",
|
|
88
|
+
...getVariant("forms.customCheckbox"),
|
|
89
|
+
role: "checkbox",
|
|
90
|
+
"aria-checked": isChecked,
|
|
91
|
+
sx,
|
|
92
|
+
ref,
|
|
93
|
+
disabled,
|
|
94
|
+
children: /* @__PURE__ */ jsx(Icon, { title: "", name: "Check", size: "32px" })
|
|
95
|
+
}
|
|
96
|
+
),
|
|
97
|
+
/* @__PURE__ */ jsx(
|
|
98
|
+
Input,
|
|
99
|
+
{
|
|
100
|
+
type: "checkbox",
|
|
101
|
+
sx: { display: "none" },
|
|
102
|
+
ref: checkbox,
|
|
103
|
+
onClick: (ev) => {
|
|
104
|
+
ev.stopPropagation();
|
|
105
|
+
},
|
|
106
|
+
name,
|
|
107
|
+
checked: isChecked,
|
|
108
|
+
onChange: (ev) => {
|
|
109
|
+
if (props.checked === void 0)
|
|
110
|
+
setIsChecked(ev.target.checked);
|
|
111
|
+
if (onChange)
|
|
112
|
+
onChange(ev);
|
|
113
|
+
},
|
|
114
|
+
required,
|
|
115
|
+
disabled
|
|
116
|
+
}
|
|
117
|
+
)
|
|
118
|
+
] });
|
|
119
|
+
}
|
|
120
|
+
);
|
|
121
|
+
Checkbox.displayName = "Checkbox";
|
|
122
|
+
|
|
123
|
+
export { Checkbox };
|
|
124
|
+
//# sourceMappingURL=Checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sources":["../../../src/components/forms/Checkbox.tsx"],"sourcesContent":["import {\n Button,\n ButtonProps,\n Input,\n InputProps,\n ThemeUIStyleObject,\n} from '@apia/theme';\nimport { TModify, getSpecificParent, useUpdateEffect } from '@apia/util';\nimport {\n ChangeEventHandler,\n forwardRef,\n MouseEventHandler,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { getVariant } from '@apia/theme';\nimport { Icon } from '@apia/icons';\n\nexport type TCheckbox = TModify<\n ButtonProps,\n {\n background?: string;\n checked?: boolean;\n color?: string;\n defaultChecked?: boolean;\n indeterminate?: boolean;\n native?: boolean;\n onChange?: ChangeEventHandler<HTMLInputElement>;\n readOnly?: boolean;\n required?: boolean;\n type?: string;\n }\n>;\n\nexport const Checkbox = forwardRef<HTMLButtonElement, TCheckbox>(\n (\n {\n onChange,\n required,\n disabled,\n readOnly,\n name,\n native,\n indeterminate,\n ...props\n },\n ref,\n ) => {\n const [isChecked, setIsChecked] = useState(\n props.defaultChecked ?? props.checked ?? false,\n );\n\n const checkbox = useRef<HTMLInputElement>(null);\n\n useUpdateEffect(\n () => setIsChecked(props.checked ?? false),\n [props.checked],\n );\n\n const sx = useMemo(\n () => ({\n bg: props.background ?? undefined,\n color: props.color ?? undefined,\n '&[aria-checked=\"false\"]': {\n bg: props.background ?? undefined,\n color: 'transparent',\n },\n }),\n [props.background, props.color],\n );\n\n useEffect(() => {\n if (checkbox.current && indeterminate !== undefined)\n checkbox.current.indeterminate = indeterminate;\n }, [indeterminate]);\n\n const nativeSx = useMemo(\n () => ({ variant: 'forms.checkbox' } as ThemeUIStyleObject),\n [],\n );\n\n return native ? (\n // eslint-disable-next-line react/forbid-elements\n <input\n type=\"checkbox\"\n onClick={props.onClick as unknown as MouseEventHandler}\n aria-checked={isChecked}\n sx={nativeSx}\n ref={checkbox}\n disabled={disabled}\n name={name}\n checked={isChecked}\n onChange={(ev) => {\n if (props.checked === undefined) setIsChecked(ev.target.checked);\n if (onChange) onChange(ev);\n }}\n required={required}\n className={` ${props.className ?? ''} nativeCheckbox `}\n {...(props as unknown as InputProps)}\n />\n ) : (\n <>\n <Button\n {...props}\n onClick={(ev) => {\n if (readOnly) {\n return;\n }\n if (\n getSpecificParent(\n ev.target as HTMLElement,\n (current) => (current as HTMLInputElement).type === 'button',\n )\n ) {\n if (props.onClick) props.onClick(ev);\n checkbox.current?.click();\n }\n }}\n type=\"button\"\n {...getVariant('forms.customCheckbox')}\n role=\"checkbox\"\n aria-checked={isChecked}\n sx={sx}\n ref={ref}\n disabled={disabled}\n >\n <Icon title=\"\" name=\"Check\" size=\"32px\" />\n </Button>\n <Input\n type=\"checkbox\"\n sx={{ display: 'none' }}\n ref={checkbox}\n onClick={(ev) => {\n ev.stopPropagation();\n }}\n name={name}\n checked={isChecked}\n onChange={(ev) => {\n if (props.checked === undefined) setIsChecked(ev.target.checked);\n if (onChange) onChange(ev);\n }}\n required={required}\n disabled={disabled}\n />\n </>\n );\n },\n);\n\nCheckbox.displayName = 'Checkbox';\n"],"names":[],"mappings":"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"}
|