@apia/components 2.0.9 → 2.0.10
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 +108 -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 +19 -0
- package/dist/components/Toolbar/index.d.ts.map +1 -0
- package/dist/components/Toolbar/index.js +23 -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 +39 -0
- package/dist/components/Toolbar/types.d.ts.map +1 -0
- package/dist/components/accordion/Accordion.d.ts +21 -0
- package/dist/components/accordion/Accordion.d.ts.map +1 -0
- package/dist/components/accordion/Accordion.js +66 -0
- package/dist/components/accordion/Accordion.js.map +1 -0
- package/dist/components/accordion/AccordionItem.d.ts +20 -0
- package/dist/components/accordion/AccordionItem.d.ts.map +1 -0
- package/dist/components/accordion/AccordionItem.js +26 -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 +82 -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 +77 -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 +126 -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 +178 -0
- package/dist/components/modals/Modal.d.ts.map +1 -0
- package/dist/components/modals/Modal.js +19 -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 +74 -0
- package/dist/components/modals/Overlay.js.map +1 -0
- package/dist/components/modals/StaticModal.js +203 -0
- package/dist/components/modals/StaticModal.js.map +1 -0
- package/dist/components/modals/WindowModal.js +229 -0
- package/dist/components/modals/WindowModal.js.map +1 -0
- package/dist/components/modals/hooks/useEscapeKey.js +36 -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 +116 -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 -1658
- package/dist/index.js +58 -7198
- 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 +89 -0
- package/dist/objects/ApiaUtil/index.js.map +1 -0
- package/dist/objects/ApiaUtil/menu/ApiaUtilMenu.d.ts +23 -0
- package/dist/objects/ApiaUtil/menu/ApiaUtilMenu.d.ts.map +1 -0
- package/dist/objects/ApiaUtil/menu/ApiaUtilMenu.js +108 -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 +38 -0
- package/dist/objects/ApiaUtil/modals/OpenModal.d.ts.map +1 -0
- package/dist/objects/ApiaUtil/modals/OpenModal.js +37 -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 +76 -0
- package/dist/tabs/ContextMenu.js.map +1 -0
- package/dist/tabs/Item.js +63 -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 +2 -2
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ISimpleButton } from '../forms/buttons/SimpleButton.js';
|
|
3
|
+
import '../forms/DateInput.js';
|
|
4
|
+
import '../forms/NumberInput.js';
|
|
5
|
+
|
|
6
|
+
declare const ToolbarTextButton: (props: ISimpleButton) => React.JSX.Element;
|
|
7
|
+
|
|
8
|
+
export { ToolbarTextButton };
|
|
9
|
+
//# sourceMappingURL=ToolbarTextButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarTextButton.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
+
import { getVariant } from '@apia/theme';
|
|
3
|
+
import { SimpleButton } from '../forms/buttons/SimpleButton.js';
|
|
4
|
+
|
|
5
|
+
const ToolbarTextButton = (props) => {
|
|
6
|
+
return /* @__PURE__ */ jsx(
|
|
7
|
+
SimpleButton,
|
|
8
|
+
{
|
|
9
|
+
...props,
|
|
10
|
+
className: `toolbar__textButton ${props?.className ?? ""}`,
|
|
11
|
+
...props.variant ? getVariant(props.variant) : null,
|
|
12
|
+
children: props.children
|
|
13
|
+
}
|
|
14
|
+
);
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export { ToolbarTextButton };
|
|
18
|
+
//# sourceMappingURL=ToolbarTextButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarTextButton.js","sources":["../../../src/components/Toolbar/ToolbarTextButton.tsx"],"sourcesContent":["import { getVariant } from '@apia/theme';\r\nimport { ISimpleButton, SimpleButton } from '../forms';\r\n\r\nexport const ToolbarTextButton = (props: ISimpleButton) => {\r\n return (\r\n <SimpleButton\r\n {...props}\r\n className={`toolbar__textButton ${props?.className ?? ''}`}\r\n {...(props.variant ? getVariant(props.variant) : null)}\r\n >\r\n {props.children}\r\n </SimpleButton>\r\n );\r\n};\r\n"],"names":[],"mappings":";;;;AAGa,MAAA,iBAAA,GAAoB,CAAC,KAAyB,KAAA;AACzD,EACE,uBAAA,GAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,SAAW,EAAA,CAAA,oBAAA,EAAuB,KAAO,EAAA,SAAA,IAAa,EAAE,CAAA,CAAA;AAAA,MACvD,GAAI,KAAM,CAAA,OAAA,GAAU,UAAW,CAAA,KAAA,CAAM,OAAO,CAAI,GAAA,IAAA;AAAA,MAEhD,QAAM,EAAA,KAAA,CAAA,QAAA;AAAA,KAAA;AAAA,GACT,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { ToolbarController } from './ToolbarController.js';
|
|
4
|
+
import '../forms/DateInput.js';
|
|
5
|
+
import '../forms/NumberInput.js';
|
|
6
|
+
|
|
7
|
+
declare const Toolbar: ((props: {
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
/**
|
|
10
|
+
* El controlador permite gestionar el estado de los distintos elementos de
|
|
11
|
+
* la toolbar
|
|
12
|
+
*/
|
|
13
|
+
getController?: ((newController: ToolbarController) => unknown) | undefined;
|
|
14
|
+
}) => React.JSX.Element) & {
|
|
15
|
+
displayName: string;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export { Toolbar, ToolbarController };
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
+
import { useMount } from '@apia/util';
|
|
3
|
+
import { makeStyledComponent, Box, getVariant } from '@apia/theme';
|
|
4
|
+
import { styles } from './styles.js';
|
|
5
|
+
import { useMemo } from 'react';
|
|
6
|
+
import { ToolbarController } from './ToolbarController.js';
|
|
7
|
+
|
|
8
|
+
const Toolbar = makeStyledComponent(
|
|
9
|
+
"toolbar",
|
|
10
|
+
"layout.components.toolbar",
|
|
11
|
+
styles,
|
|
12
|
+
({ children, getController }) => {
|
|
13
|
+
const controller = useMemo(() => new ToolbarController(), []);
|
|
14
|
+
useMount(() => {
|
|
15
|
+
getController?.(controller);
|
|
16
|
+
});
|
|
17
|
+
return /* @__PURE__ */ jsx(controller.Context, { children: /* @__PURE__ */ jsx(Box, { className: "toolbar", ...getVariant("layout.components.toolbar"), children }) });
|
|
18
|
+
},
|
|
19
|
+
true
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
export { Toolbar, ToolbarController };
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/Toolbar/index.tsx"],"sourcesContent":["import { useMount } from '@apia/util';\r\nimport { TToolbarIconButton } from './types';\r\nimport { Box, getVariant, makeStyledComponent } from '@apia/theme';\r\nimport { styles } from './styles';\r\nimport { ReactNode, useMemo } from 'react';\r\nimport { ToolbarController } from './ToolbarController';\r\nimport { ToolbarTextButton } from './ToolbarTextButton';\r\nimport { ToolbarIconButton } from './ToolbarIconButton';\r\nimport { ToolbarInput } from './ToolbarInput';\r\nimport { ToolbarSeparator } from './ToolbarSeparator';\r\nimport { ToolbarSelect } from './ToolbarSelect';\r\n\r\nconst Toolbar = makeStyledComponent<{\r\n children: ReactNode;\r\n /**\r\n * El controlador permite gestionar el estado de los distintos elementos de\r\n * la toolbar\r\n */\r\n getController?: (newController: ToolbarController) => unknown;\r\n}>(\r\n 'toolbar',\r\n 'layout.components.toolbar',\r\n styles,\r\n ({ children, getController }) => {\r\n const controller = useMemo(() => new ToolbarController(), []);\r\n\r\n useMount(() => {\r\n getController?.(controller);\r\n });\r\n\r\n return (\r\n <controller.Context>\r\n <Box className=\"toolbar\" {...getVariant('layout.components.toolbar')}>\r\n {children}\r\n </Box>\r\n </controller.Context>\r\n );\r\n },\r\n true,\r\n);\r\n\r\nexport type { TToolbarIconButton as TToolDefinition };\r\nexport {\r\n ToolbarIconButton,\r\n ToolbarInput,\r\n ToolbarTextButton,\r\n Toolbar,\r\n ToolbarController,\r\n ToolbarSeparator,\r\n ToolbarSelect,\r\n};\r\n"],"names":[],"mappings":";;;;;;;AAYA,MAAM,OAAU,GAAA,mBAAA;AAAA,EAQd,SAAA;AAAA,EACA,2BAAA;AAAA,EACA,MAAA;AAAA,EACA,CAAC,EAAE,QAAU,EAAA,aAAA,EAAoB,KAAA;AAC/B,IAAA,MAAM,aAAa,OAAQ,CAAA,MAAM,IAAI,iBAAkB,EAAA,EAAG,EAAE,CAAA,CAAA;AAE5D,IAAA,QAAA,CAAS,MAAM;AACb,MAAA,aAAA,GAAgB,UAAU,CAAA,CAAA;AAAA,KAC3B,CAAA,CAAA;AAED,IAAA,uBACG,GAAA,CAAA,UAAA,CAAW,OAAX,EAAA,EACC,QAAC,kBAAA,GAAA,CAAA,GAAA,EAAA,EAAI,SAAU,EAAA,SAAA,EAAW,GAAG,UAAA,CAAW,2BAA2B,CAAA,EAChE,UACH,CACF,EAAA,CAAA,CAAA;AAAA,GAEJ;AAAA,EACA,IAAA;AACF;;;;"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
const styles = {
|
|
2
|
+
alignItems: "center",
|
|
3
|
+
backgroundColor: "palette.background.default",
|
|
4
|
+
display: "flex",
|
|
5
|
+
gap: "2px",
|
|
6
|
+
py: "4px",
|
|
7
|
+
px: "8px",
|
|
8
|
+
"& > *": {
|
|
9
|
+
alignItems: "center",
|
|
10
|
+
borderRadius: "4px",
|
|
11
|
+
display: "flex",
|
|
12
|
+
flexShrink: 0,
|
|
13
|
+
justifyContent: "center",
|
|
14
|
+
outline: "none !important",
|
|
15
|
+
p: 0
|
|
16
|
+
},
|
|
17
|
+
".toolbar__textButton": (theme) => ({
|
|
18
|
+
variant: "buttons.primary-sm",
|
|
19
|
+
background: "transparent",
|
|
20
|
+
border: "none",
|
|
21
|
+
color: "palette.text.primary",
|
|
22
|
+
...theme.palette.getStatesFromDefinition(
|
|
23
|
+
{
|
|
24
|
+
backgroundColor: theme.palette.background.default
|
|
25
|
+
},
|
|
26
|
+
{ states: { default: false } }
|
|
27
|
+
),
|
|
28
|
+
"&.primary": theme.palette.getStatesFromPath("buttons.primary")
|
|
29
|
+
}),
|
|
30
|
+
".toolbar__select": () => ({
|
|
31
|
+
padding: "4px",
|
|
32
|
+
paddingLeft: "8px",
|
|
33
|
+
paddingRight: "32px"
|
|
34
|
+
}),
|
|
35
|
+
".toolbar__button": {
|
|
36
|
+
border: "none",
|
|
37
|
+
borderRadius: "4px",
|
|
38
|
+
height: "32px",
|
|
39
|
+
width: "32px",
|
|
40
|
+
background: "transparent",
|
|
41
|
+
svg: {
|
|
42
|
+
path: {
|
|
43
|
+
fill: "palette.text.primary"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"&:disabled": {
|
|
47
|
+
svg: {
|
|
48
|
+
path: {
|
|
49
|
+
fill: "palette.border.section"
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
".fieldLabel": {
|
|
55
|
+
display: "flex",
|
|
56
|
+
flexDirection: "row",
|
|
57
|
+
gap: 3,
|
|
58
|
+
alignItems: "center",
|
|
59
|
+
justifyContent: "center"
|
|
60
|
+
},
|
|
61
|
+
".toolbar__input": {
|
|
62
|
+
borderRadius: "4px",
|
|
63
|
+
p: 3,
|
|
64
|
+
width: "80px"
|
|
65
|
+
},
|
|
66
|
+
".toolbar__separator": {
|
|
67
|
+
borderLeft: "1px solid",
|
|
68
|
+
borderRight: "1px solid",
|
|
69
|
+
borderColor: "palette.gray.750",
|
|
70
|
+
height: "60%",
|
|
71
|
+
width: "3px"
|
|
72
|
+
},
|
|
73
|
+
".toggled": (theme) => {
|
|
74
|
+
return {
|
|
75
|
+
...theme.palette.getOneState(
|
|
76
|
+
{ backgroundColor: theme.palette.background.default },
|
|
77
|
+
"selected"
|
|
78
|
+
)
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
export { styles };
|
|
84
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../src/components/Toolbar/styles.ts"],"sourcesContent":["import { ThemeUICSSObject } from '@apia/theme';\r\n\r\nexport const styles: ThemeUICSSObject = {\r\n alignItems: 'center',\r\n backgroundColor: 'palette.background.default',\r\n display: 'flex',\r\n gap: '2px',\r\n py: '4px',\r\n px: '8px',\r\n\r\n '& > *': {\r\n alignItems: 'center',\r\n borderRadius: '4px',\r\n display: 'flex',\r\n flexShrink: 0,\r\n justifyContent: 'center',\r\n outline: 'none !important',\r\n p: 0,\r\n },\r\n\r\n '.toolbar__textButton': (theme) => ({\r\n variant: 'buttons.primary-sm',\r\n background: 'transparent',\r\n border: 'none',\r\n color: 'palette.text.primary',\r\n\r\n ...theme.palette.getStatesFromDefinition(\r\n {\r\n backgroundColor: theme.palette.background.default,\r\n },\r\n { states: { default: false } },\r\n ),\r\n\r\n '&.primary': theme.palette.getStatesFromPath('buttons.primary'),\r\n }),\r\n\r\n '.toolbar__select': () => ({\r\n padding: '4px',\r\n paddingLeft: '8px',\r\n paddingRight: '32px',\r\n }),\r\n\r\n '.toolbar__button': {\r\n border: 'none',\r\n borderRadius: '4px',\r\n height: '32px',\r\n width: '32px',\r\n background: 'transparent',\r\n svg: {\r\n path: {\r\n fill: 'palette.text.primary',\r\n },\r\n },\r\n\r\n '&:disabled': {\r\n svg: {\r\n path: {\r\n fill: 'palette.border.section',\r\n },\r\n },\r\n },\r\n },\r\n\r\n '.fieldLabel': {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n gap: 3,\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n },\r\n\r\n '.toolbar__input': {\r\n borderRadius: '4px',\r\n p: 3,\r\n width: '80px',\r\n },\r\n\r\n '.toolbar__separator': {\r\n borderLeft: '1px solid',\r\n borderRight: '1px solid',\r\n borderColor: 'palette.gray.750',\r\n height: '60%',\r\n width: '3px',\r\n },\r\n\r\n '.toggled': (theme) => {\r\n return {\r\n ...theme.palette.getOneState(\r\n { backgroundColor: theme.palette.background.default },\r\n 'selected',\r\n ),\r\n };\r\n },\r\n};\r\n"],"names":[],"mappings":"AAEO,MAAM,MAA2B,GAAA;AAAA,EACtC,UAAY,EAAA,QAAA;AAAA,EACZ,eAAiB,EAAA,4BAAA;AAAA,EACjB,OAAS,EAAA,MAAA;AAAA,EACT,GAAK,EAAA,KAAA;AAAA,EACL,EAAI,EAAA,KAAA;AAAA,EACJ,EAAI,EAAA,KAAA;AAAA,EAEJ,OAAS,EAAA;AAAA,IACP,UAAY,EAAA,QAAA;AAAA,IACZ,YAAc,EAAA,KAAA;AAAA,IACd,OAAS,EAAA,MAAA;AAAA,IACT,UAAY,EAAA,CAAA;AAAA,IACZ,cAAgB,EAAA,QAAA;AAAA,IAChB,OAAS,EAAA,iBAAA;AAAA,IACT,CAAG,EAAA,CAAA;AAAA,GACL;AAAA,EAEA,sBAAA,EAAwB,CAAC,KAAW,MAAA;AAAA,IAClC,OAAS,EAAA,oBAAA;AAAA,IACT,UAAY,EAAA,aAAA;AAAA,IACZ,MAAQ,EAAA,MAAA;AAAA,IACR,KAAO,EAAA,sBAAA;AAAA,IAEP,GAAG,MAAM,OAAQ,CAAA,uBAAA;AAAA,MACf;AAAA,QACE,eAAA,EAAiB,KAAM,CAAA,OAAA,CAAQ,UAAW,CAAA,OAAA;AAAA,OAC5C;AAAA,MACA,EAAE,MAAA,EAAQ,EAAE,OAAA,EAAS,OAAQ,EAAA;AAAA,KAC/B;AAAA,IAEA,WAAa,EAAA,KAAA,CAAM,OAAQ,CAAA,iBAAA,CAAkB,iBAAiB,CAAA;AAAA,GAChE,CAAA;AAAA,EAEA,oBAAoB,OAAO;AAAA,IACzB,OAAS,EAAA,KAAA;AAAA,IACT,WAAa,EAAA,KAAA;AAAA,IACb,YAAc,EAAA,MAAA;AAAA,GAChB,CAAA;AAAA,EAEA,kBAAoB,EAAA;AAAA,IAClB,MAAQ,EAAA,MAAA;AAAA,IACR,YAAc,EAAA,KAAA;AAAA,IACd,MAAQ,EAAA,MAAA;AAAA,IACR,KAAO,EAAA,MAAA;AAAA,IACP,UAAY,EAAA,aAAA;AAAA,IACZ,GAAK,EAAA;AAAA,MACH,IAAM,EAAA;AAAA,QACJ,IAAM,EAAA,sBAAA;AAAA,OACR;AAAA,KACF;AAAA,IAEA,YAAc,EAAA;AAAA,MACZ,GAAK,EAAA;AAAA,QACH,IAAM,EAAA;AAAA,UACJ,IAAM,EAAA,wBAAA;AAAA,SACR;AAAA,OACF;AAAA,KACF;AAAA,GACF;AAAA,EAEA,aAAe,EAAA;AAAA,IACb,OAAS,EAAA,MAAA;AAAA,IACT,aAAe,EAAA,KAAA;AAAA,IACf,GAAK,EAAA,CAAA;AAAA,IACL,UAAY,EAAA,QAAA;AAAA,IACZ,cAAgB,EAAA,QAAA;AAAA,GAClB;AAAA,EAEA,iBAAmB,EAAA;AAAA,IACjB,YAAc,EAAA,KAAA;AAAA,IACd,CAAG,EAAA,CAAA;AAAA,IACH,KAAO,EAAA,MAAA;AAAA,GACT;AAAA,EAEA,qBAAuB,EAAA;AAAA,IACrB,UAAY,EAAA,WAAA;AAAA,IACZ,WAAa,EAAA,WAAA;AAAA,IACb,WAAa,EAAA,kBAAA;AAAA,IACb,MAAQ,EAAA,KAAA;AAAA,IACR,KAAO,EAAA,KAAA;AAAA,GACT;AAAA,EAEA,UAAA,EAAY,CAAC,KAAU,KAAA;AACrB,IAAO,OAAA;AAAA,MACL,GAAG,MAAM,OAAQ,CAAA,WAAA;AAAA,QACf,EAAE,eAAA,EAAiB,KAAM,CAAA,OAAA,CAAQ,WAAW,OAAQ,EAAA;AAAA,QACpD,UAAA;AAAA,OACF;AAAA,KACF,CAAA;AAAA,GACF;AACF;;;;"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { TIconType, TIconName } from '@apia/icons';
|
|
2
|
+
import { ToolbarController } from './ToolbarController.js';
|
|
3
|
+
import { InputProps } from '@apia/theme';
|
|
4
|
+
|
|
5
|
+
type TToolEventState = {
|
|
6
|
+
isLoading: boolean;
|
|
7
|
+
isToggled: boolean;
|
|
8
|
+
};
|
|
9
|
+
type TToolbarIconButton = {
|
|
10
|
+
action: (props: TToolEventState, controller: ToolbarController) => unknown;
|
|
11
|
+
/**
|
|
12
|
+
* Si se pasa allowToggle y no se pasa toggled ( ni en true ni en false ),
|
|
13
|
+
* entonces el estado de toggle será controlado internamente en el toolbar
|
|
14
|
+
*/
|
|
15
|
+
allowToggle?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Si se desea usar defaultToggled, debería pasarse también allowToggle
|
|
18
|
+
*/
|
|
19
|
+
defaultToggled?: boolean;
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
icon: TIconType | TIconName;
|
|
22
|
+
id: string;
|
|
23
|
+
isLoading?: boolean;
|
|
24
|
+
title: string;
|
|
25
|
+
iconSize?: 'Xs' | 'Sm' | 'Md' | 'Lg' | 'Xl' | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Siempre que se pase toggled, no importa si en true o en false, el
|
|
28
|
+
* usuario del toolbar deberá mantener la lógica de persistencia del
|
|
29
|
+
* toggle
|
|
30
|
+
*/
|
|
31
|
+
toggled?: boolean;
|
|
32
|
+
};
|
|
33
|
+
type TToolInput = {
|
|
34
|
+
inputProps?: InputProps;
|
|
35
|
+
label?: string;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export type { TToolEventState, TToolInput, TToolbarIconButton };
|
|
39
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ReactNode, FC } from 'react';
|
|
2
|
+
import { AccordionHandler } from './handler.js';
|
|
3
|
+
|
|
4
|
+
interface IAccordionProps {
|
|
5
|
+
/**
|
|
6
|
+
* Tiempo en ms que dura la animación. Por defecto se usa 150.
|
|
7
|
+
*/
|
|
8
|
+
animationDuration?: number;
|
|
9
|
+
children?: ReactNode;
|
|
10
|
+
className?: string;
|
|
11
|
+
getHandler?: (handler: AccordionHandler) => unknown;
|
|
12
|
+
singleExpand?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Por defecto usa la variante layout.common.components.accordion.primary
|
|
15
|
+
*/
|
|
16
|
+
variant?: string;
|
|
17
|
+
}
|
|
18
|
+
declare const Accordion: FC<IAccordionProps>;
|
|
19
|
+
|
|
20
|
+
export { Accordion, type IAccordionProps };
|
|
21
|
+
//# sourceMappingURL=Accordion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Accordion.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
+
import { useMemo, useState, useRef, useEffect } from 'react';
|
|
3
|
+
import { AccordionHandler } from './handler.js';
|
|
4
|
+
import { KeyHandler } from './KeyHandler.js';
|
|
5
|
+
import { shallowEqual } from '@apia/store';
|
|
6
|
+
import { uniqueId } from '../ListBox/common.js';
|
|
7
|
+
|
|
8
|
+
const Accordion = ({
|
|
9
|
+
animationDuration = 150,
|
|
10
|
+
children,
|
|
11
|
+
className,
|
|
12
|
+
getHandler,
|
|
13
|
+
singleExpand,
|
|
14
|
+
variant = "layout.common.components.accordion.primary"
|
|
15
|
+
}) => {
|
|
16
|
+
const id = useMemo(() => uniqueId(), []);
|
|
17
|
+
const [handler] = useState(() => {
|
|
18
|
+
return new AccordionHandler(id, {
|
|
19
|
+
animationDuration,
|
|
20
|
+
children,
|
|
21
|
+
getHandler,
|
|
22
|
+
singleExpand,
|
|
23
|
+
variant
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
const propsRef = useRef({
|
|
27
|
+
animationDuration,
|
|
28
|
+
children,
|
|
29
|
+
getHandler,
|
|
30
|
+
singleExpand,
|
|
31
|
+
variant
|
|
32
|
+
});
|
|
33
|
+
if (!shallowEqual(
|
|
34
|
+
{
|
|
35
|
+
animationDuration,
|
|
36
|
+
children,
|
|
37
|
+
getHandler,
|
|
38
|
+
singleExpand,
|
|
39
|
+
variant
|
|
40
|
+
},
|
|
41
|
+
propsRef.current
|
|
42
|
+
)) {
|
|
43
|
+
propsRef.current = {
|
|
44
|
+
animationDuration,
|
|
45
|
+
children,
|
|
46
|
+
getHandler,
|
|
47
|
+
singleExpand,
|
|
48
|
+
variant
|
|
49
|
+
};
|
|
50
|
+
handler.updateProps({
|
|
51
|
+
animationDuration,
|
|
52
|
+
children,
|
|
53
|
+
getHandler,
|
|
54
|
+
singleExpand,
|
|
55
|
+
variant
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
const Provider = handler.hooks.useAccordionContextProvider();
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
getHandler?.(handler);
|
|
61
|
+
}, [getHandler, handler]);
|
|
62
|
+
return /* @__PURE__ */ jsx(Provider, { children: /* @__PURE__ */ jsx(KeyHandler, { className: `accordion ${className ?? ""}`, children }) });
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export { Accordion };
|
|
66
|
+
//# sourceMappingURL=Accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Accordion.js","sources":["../../../src/components/accordion/Accordion.tsx"],"sourcesContent":["import { useRef, FC, ReactNode, useEffect, useState, useMemo } from 'react';\r\nimport { AccordionHandler } from './handler';\r\nimport { KeyHandler } from './KeyHandler';\r\nimport { shallowEqual } from '@apia/store';\r\nimport { uniqueId } from '../ListBox/common';\r\n\r\nexport interface IAccordionProps {\r\n /**\r\n * Tiempo en ms que dura la animación. Por defecto se usa 150.\r\n */\r\n animationDuration?: number;\r\n children?: ReactNode;\r\n className?: string;\r\n getHandler?: (handler: AccordionHandler) => unknown;\r\n singleExpand?: boolean;\r\n /**\r\n * Por defecto usa la variante layout.common.components.accordion.primary\r\n */\r\n variant?: string;\r\n}\r\n\r\nexport const Accordion: FC<IAccordionProps> = ({\r\n animationDuration = 150,\r\n children,\r\n className,\r\n getHandler,\r\n singleExpand,\r\n variant = 'layout.common.components.accordion.primary',\r\n}) => {\r\n const id = useMemo(() => uniqueId(), []);\r\n\r\n const [handler] = useState(() => {\r\n return new AccordionHandler(id, {\r\n animationDuration,\r\n children,\r\n getHandler,\r\n singleExpand,\r\n variant,\r\n });\r\n });\r\n const propsRef = useRef({\r\n animationDuration,\r\n children,\r\n getHandler,\r\n singleExpand,\r\n variant,\r\n });\r\n if (\r\n !shallowEqual(\r\n {\r\n animationDuration,\r\n children,\r\n getHandler,\r\n singleExpand,\r\n variant,\r\n },\r\n propsRef.current,\r\n )\r\n ) {\r\n propsRef.current = {\r\n animationDuration,\r\n children,\r\n getHandler,\r\n singleExpand,\r\n variant,\r\n };\r\n handler.updateProps({\r\n animationDuration,\r\n children,\r\n getHandler,\r\n singleExpand,\r\n variant,\r\n });\r\n }\r\n\r\n const Provider = handler.hooks.useAccordionContextProvider();\r\n\r\n useEffect(() => {\r\n getHandler?.(handler);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [getHandler, handler]);\r\n\r\n return (\r\n <Provider>\r\n <KeyHandler className={`accordion ${className ?? ''}`}>\r\n {children}\r\n </KeyHandler>\r\n </Provider>\r\n );\r\n};\r\n"],"names":[],"mappings":";;;;;;;AAqBO,MAAM,YAAiC,CAAC;AAAA,EAC7C,iBAAoB,GAAA,GAAA;AAAA,EACpB,QAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,OAAU,GAAA,4CAAA;AACZ,CAAM,KAAA;AACJ,EAAA,MAAM,KAAK,OAAQ,CAAA,MAAM,QAAS,EAAA,EAAG,EAAE,CAAA,CAAA;AAEvC,EAAA,MAAM,CAAC,OAAO,CAAI,GAAA,QAAA,CAAS,MAAM;AAC/B,IAAO,OAAA,IAAI,iBAAiB,EAAI,EAAA;AAAA,MAC9B,iBAAA;AAAA,MACA,QAAA;AAAA,MACA,UAAA;AAAA,MACA,YAAA;AAAA,MACA,OAAA;AAAA,KACD,CAAA,CAAA;AAAA,GACF,CAAA,CAAA;AACD,EAAA,MAAM,WAAW,MAAO,CAAA;AAAA,IACtB,iBAAA;AAAA,IACA,QAAA;AAAA,IACA,UAAA;AAAA,IACA,YAAA;AAAA,IACA,OAAA;AAAA,GACD,CAAA,CAAA;AACD,EAAA,IACE,CAAC,YAAA;AAAA,IACC;AAAA,MACE,iBAAA;AAAA,MACA,QAAA;AAAA,MACA,UAAA;AAAA,MACA,YAAA;AAAA,MACA,OAAA;AAAA,KACF;AAAA,IACA,QAAS,CAAA,OAAA;AAAA,GAEX,EAAA;AACA,IAAA,QAAA,CAAS,OAAU,GAAA;AAAA,MACjB,iBAAA;AAAA,MACA,QAAA;AAAA,MACA,UAAA;AAAA,MACA,YAAA;AAAA,MACA,OAAA;AAAA,KACF,CAAA;AACA,IAAA,OAAA,CAAQ,WAAY,CAAA;AAAA,MAClB,iBAAA;AAAA,MACA,QAAA;AAAA,MACA,UAAA;AAAA,MACA,YAAA;AAAA,MACA,OAAA;AAAA,KACD,CAAA,CAAA;AAAA,GACH;AAEA,EAAM,MAAA,QAAA,GAAW,OAAQ,CAAA,KAAA,CAAM,2BAA4B,EAAA,CAAA;AAE3D,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,UAAA,GAAa,OAAO,CAAA,CAAA;AAAA,GAEnB,EAAA,CAAC,UAAY,EAAA,OAAO,CAAC,CAAA,CAAA;AAExB,EACE,uBAAA,GAAA,CAAC,QACC,EAAA,EAAA,QAAA,kBAAA,GAAA,CAAC,UAAW,EAAA,EAAA,SAAA,EAAW,aAAa,SAAa,IAAA,EAAE,CAChD,CAAA,EAAA,QAAA,EACH,CACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { TId } from '@apia/util';
|
|
4
|
+
import { IAccordionItemButton } from './defaultElements/DefaultAccordionItemButton.js';
|
|
5
|
+
|
|
6
|
+
interface IAccordionItemProps {
|
|
7
|
+
/**
|
|
8
|
+
* Cada elemento del acordeón tiene dos formas de renderizar el botón. O bien
|
|
9
|
+
* se pasa un elemento AccordionItemButton como hijo o bien se pasan
|
|
10
|
+
* buttonProps. En caso contrario, el elemento no tendrá botón.
|
|
11
|
+
*/
|
|
12
|
+
buttonProps?: IAccordionItemButton;
|
|
13
|
+
children?: ReactNode;
|
|
14
|
+
defaultExpanded?: boolean;
|
|
15
|
+
id: TId;
|
|
16
|
+
}
|
|
17
|
+
declare const AccordionItem: ({ children, defaultExpanded, id, ...props }: IAccordionItemProps) => React.JSX.Element;
|
|
18
|
+
|
|
19
|
+
export { AccordionItem, type IAccordionItemProps };
|
|
20
|
+
//# sourceMappingURL=AccordionItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccordionItem.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
+
import { useRef } from 'react';
|
|
3
|
+
import { AccordionItemContent } from './AccordionItemContent.js';
|
|
4
|
+
import { useAccordionContext } from './context.js';
|
|
5
|
+
|
|
6
|
+
const AccordionItem = ({
|
|
7
|
+
children,
|
|
8
|
+
defaultExpanded,
|
|
9
|
+
id,
|
|
10
|
+
...props
|
|
11
|
+
}) => {
|
|
12
|
+
const context = useAccordionContext();
|
|
13
|
+
const Provider = context.hooks.useItemContextProvider(id);
|
|
14
|
+
const hasRegistered = useRef(false);
|
|
15
|
+
if (!hasRegistered.current) {
|
|
16
|
+
hasRegistered.current = true;
|
|
17
|
+
context.registerItem(id, {
|
|
18
|
+
isChecked: false,
|
|
19
|
+
isExpanded: !!defaultExpanded
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return /* @__PURE__ */ jsx(Provider, { children: /* @__PURE__ */ jsx(AccordionItemContent, { id, ...props, children }) });
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export { AccordionItem };
|
|
26
|
+
//# sourceMappingURL=AccordionItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccordionItem.js","sources":["../../../src/components/accordion/AccordionItem.tsx"],"sourcesContent":["import { ReactNode, useRef } from 'react';\r\nimport { AccordionItemContent } from './AccordionItemContent';\r\nimport { useAccordionContext } from './context';\r\nimport { TId } from '@apia/util';\r\nimport { IAccordionItemButton } from './defaultElements/DefaultAccordionItemButton';\r\n\r\nexport interface IAccordionItemProps {\r\n /**\r\n * Cada elemento del acordeón tiene dos formas de renderizar el botón. O bien\r\n * se pasa un elemento AccordionItemButton como hijo o bien se pasan\r\n * buttonProps. En caso contrario, el elemento no tendrá botón.\r\n */\r\n buttonProps?: IAccordionItemButton;\r\n children?: ReactNode;\r\n defaultExpanded?: boolean;\r\n id: TId;\r\n}\r\n\r\nexport const AccordionItem = ({\r\n children,\r\n defaultExpanded,\r\n id,\r\n ...props\r\n}: IAccordionItemProps) => {\r\n const context = useAccordionContext();\r\n const Provider = context.hooks.useItemContextProvider(id);\r\n const hasRegistered = useRef(false);\r\n\r\n if (!hasRegistered.current) {\r\n hasRegistered.current = true;\r\n context.registerItem(id, {\r\n isChecked: false,\r\n isExpanded: !!defaultExpanded,\r\n });\r\n }\r\n\r\n return (\r\n <Provider>\r\n <AccordionItemContent id={id} {...props}>\r\n {children}\r\n </AccordionItemContent>\r\n </Provider>\r\n );\r\n};\r\n"],"names":[],"mappings":";;;;;AAkBO,MAAM,gBAAgB,CAAC;AAAA,EAC5B,QAAA;AAAA,EACA,eAAA;AAAA,EACA,EAAA;AAAA,EACA,GAAG,KAAA;AACL,CAA2B,KAAA;AACzB,EAAA,MAAM,UAAU,mBAAoB,EAAA,CAAA;AACpC,EAAA,MAAM,QAAW,GAAA,OAAA,CAAQ,KAAM,CAAA,sBAAA,CAAuB,EAAE,CAAA,CAAA;AACxD,EAAM,MAAA,aAAA,GAAgB,OAAO,KAAK,CAAA,CAAA;AAElC,EAAI,IAAA,CAAC,cAAc,OAAS,EAAA;AAC1B,IAAA,aAAA,CAAc,OAAU,GAAA,IAAA,CAAA;AACxB,IAAA,OAAA,CAAQ,aAAa,EAAI,EAAA;AAAA,MACvB,SAAW,EAAA,KAAA;AAAA,MACX,UAAA,EAAY,CAAC,CAAC,eAAA;AAAA,KACf,CAAA,CAAA;AAAA,GACH;AAEA,EACE,uBAAA,GAAA,CAAC,YACC,QAAC,kBAAA,GAAA,CAAA,oBAAA,EAAA,EAAqB,IAAS,GAAG,KAAA,EAC/B,UACH,CACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
type TAccordionItemButton = {
|
|
5
|
+
children?: ReactNode;
|
|
6
|
+
};
|
|
7
|
+
declare const AccordionItemButton: ({ children }: TAccordionItemButton) => React.JSX.Element;
|
|
8
|
+
|
|
9
|
+
export { AccordionItemButton, type TAccordionItemButton };
|
|
10
|
+
//# sourceMappingURL=AccordionItemButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccordionItemButton.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccordionItemButton.js","sources":["../../../src/components/accordion/AccordionItemButton.tsx"],"sourcesContent":["import { ReactNode } from 'react';\r\n\r\nexport type TAccordionItemButton = {\r\n children?: ReactNode;\r\n};\r\n\r\nexport const AccordionItemButton = ({ children }: TAccordionItemButton) => {\r\n return <>{children}</>;\r\n};\r\n"],"names":[],"mappings":";;AAMO,MAAM,mBAAsB,GAAA,CAAC,EAAE,QAAA,EAAqC,KAAA;AACzE,EAAA,uCAAU,QAAS,EAAA,CAAA,CAAA;AACrB;;;;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { IAccordionItemProps } from './AccordionItem.js';
|
|
3
|
+
|
|
4
|
+
declare const AccordionItemContent: ({ children, buttonProps, }: IAccordionItemProps) => React.JSX.Element;
|
|
5
|
+
|
|
6
|
+
export { AccordionItemContent };
|
|
7
|
+
//# sourceMappingURL=AccordionItemContent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccordionItemContent.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { jsxs, jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
+
import { Children } from 'react';
|
|
3
|
+
import { AccordionItemButton } from './AccordionItemButton.js';
|
|
4
|
+
import { DefaultAccordionItemButton } from './defaultElements/DefaultAccordionItemButton.js';
|
|
5
|
+
import AnimateHeight from 'react-animate-height';
|
|
6
|
+
import { useAccordionContext } from './context.js';
|
|
7
|
+
import { Box } from '@apia/theme';
|
|
8
|
+
|
|
9
|
+
const AccordionItemContent = ({
|
|
10
|
+
children,
|
|
11
|
+
buttonProps
|
|
12
|
+
}) => {
|
|
13
|
+
let button = null;
|
|
14
|
+
const actualChildren = Children.toArray(children).filter((current) => {
|
|
15
|
+
if (typeof current !== "string" && typeof current !== "number") {
|
|
16
|
+
const element = current;
|
|
17
|
+
if (element.type === AccordionItemButton) {
|
|
18
|
+
button = element;
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return true;
|
|
23
|
+
});
|
|
24
|
+
if (button === null && buttonProps)
|
|
25
|
+
button = /* @__PURE__ */ jsx(DefaultAccordionItemButton, { ...buttonProps });
|
|
26
|
+
const handler = useAccordionContext();
|
|
27
|
+
const isExpanded = handler.hooks.useItemStateSelector(
|
|
28
|
+
(current) => current.isExpanded
|
|
29
|
+
);
|
|
30
|
+
const duration = handler.hooks.usePropsSelector(
|
|
31
|
+
(current) => current.animationDuration
|
|
32
|
+
);
|
|
33
|
+
const id = handler.hooks.useItemId();
|
|
34
|
+
return /* @__PURE__ */ jsxs(Box, { className: "accordion__item", "data-id": id, children: [
|
|
35
|
+
button,
|
|
36
|
+
/* @__PURE__ */ jsx(
|
|
37
|
+
AnimateHeight,
|
|
38
|
+
{
|
|
39
|
+
className: "accordion__item__content",
|
|
40
|
+
height: isExpanded ? "auto" : 0,
|
|
41
|
+
duration,
|
|
42
|
+
id: `accordion__${handler.id}__${id}`,
|
|
43
|
+
children: actualChildren
|
|
44
|
+
}
|
|
45
|
+
)
|
|
46
|
+
] });
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export { AccordionItemContent };
|
|
50
|
+
//# sourceMappingURL=AccordionItemContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccordionItemContent.js","sources":["../../../src/components/accordion/AccordionItemContent.tsx"],"sourcesContent":["import { Children, ReactElement } from 'react';\r\nimport { AccordionItemButton } from './AccordionItemButton';\r\nimport { DefaultAccordionItemButton } from './defaultElements/DefaultAccordionItemButton';\r\nimport { IAccordionItemProps } from './AccordionItem';\r\nimport AnimateHeight from 'react-animate-height';\r\nimport { useAccordionContext } from './context';\r\nimport { Box } from '@apia/theme';\r\n\r\nexport const AccordionItemContent = ({\r\n children,\r\n buttonProps,\r\n}: IAccordionItemProps) => {\r\n let button = null;\r\n\r\n const actualChildren = Children.toArray(children).filter((current) => {\r\n if (typeof current !== 'string' && typeof current !== 'number') {\r\n const element = current as ReactElement;\r\n\r\n if (element.type === AccordionItemButton) {\r\n button = element;\r\n return false;\r\n }\r\n }\r\n return true;\r\n });\r\n\r\n if (button === null && buttonProps)\r\n button = <DefaultAccordionItemButton {...buttonProps} />;\r\n\r\n const handler = useAccordionContext();\r\n const isExpanded = handler.hooks.useItemStateSelector(\r\n (current) => current.isExpanded,\r\n );\r\n const duration = handler.hooks.usePropsSelector(\r\n (current) => current.animationDuration,\r\n );\r\n const id = handler.hooks.useItemId();\r\n\r\n return (\r\n <Box className=\"accordion__item\" data-id={id}>\r\n {button}\r\n <AnimateHeight\r\n className=\"accordion__item__content\"\r\n height={isExpanded ? 'auto' : 0}\r\n duration={duration}\r\n id={`accordion__${handler.id}__${id}`}\r\n >\r\n {actualChildren}\r\n </AnimateHeight>\r\n </Box>\r\n );\r\n};\r\n"],"names":[],"mappings":";;;;;;;;AAQO,MAAM,uBAAuB,CAAC;AAAA,EACnC,QAAA;AAAA,EACA,WAAA;AACF,CAA2B,KAAA;AACzB,EAAA,IAAI,MAAS,GAAA,IAAA,CAAA;AAEb,EAAA,MAAM,iBAAiB,QAAS,CAAA,OAAA,CAAQ,QAAQ,CAAE,CAAA,MAAA,CAAO,CAAC,OAAY,KAAA;AACpE,IAAA,IAAI,OAAO,OAAA,KAAY,QAAY,IAAA,OAAO,YAAY,QAAU,EAAA;AAC9D,MAAA,MAAM,OAAU,GAAA,OAAA,CAAA;AAEhB,MAAI,IAAA,OAAA,CAAQ,SAAS,mBAAqB,EAAA;AACxC,QAAS,MAAA,GAAA,OAAA,CAAA;AACT,QAAO,OAAA,KAAA,CAAA;AAAA,OACT;AAAA,KACF;AACA,IAAO,OAAA,IAAA,CAAA;AAAA,GACR,CAAA,CAAA;AAED,EAAA,IAAI,WAAW,IAAQ,IAAA,WAAA;AACrB,IAAS,MAAA,mBAAA,GAAA,CAAC,0BAA4B,EAAA,EAAA,GAAG,WAAa,EAAA,CAAA,CAAA;AAExD,EAAA,MAAM,UAAU,mBAAoB,EAAA,CAAA;AACpC,EAAM,MAAA,UAAA,GAAa,QAAQ,KAAM,CAAA,oBAAA;AAAA,IAC/B,CAAC,YAAY,OAAQ,CAAA,UAAA;AAAA,GACvB,CAAA;AACA,EAAM,MAAA,QAAA,GAAW,QAAQ,KAAM,CAAA,gBAAA;AAAA,IAC7B,CAAC,YAAY,OAAQ,CAAA,iBAAA;AAAA,GACvB,CAAA;AACA,EAAM,MAAA,EAAA,GAAK,OAAQ,CAAA,KAAA,CAAM,SAAU,EAAA,CAAA;AAEnC,EAAA,uBACG,IAAA,CAAA,GAAA,EAAA,EAAI,SAAU,EAAA,iBAAA,EAAkB,WAAS,EACvC,EAAA,QAAA,EAAA;AAAA,IAAA,MAAA;AAAA,oBACD,GAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACC,SAAU,EAAA,0BAAA;AAAA,QACV,MAAA,EAAQ,aAAa,MAAS,GAAA,CAAA;AAAA,QAC9B,QAAA;AAAA,QACA,EAAI,EAAA,CAAA,WAAA,EAAc,OAAQ,CAAA,EAAE,KAAK,EAAE,CAAA,CAAA;AAAA,QAElC,QAAA,EAAA,cAAA;AAAA,OAAA;AAAA,KACH;AAAA,GACF,EAAA,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
+
import { Box, getVariant } from '@apia/theme';
|
|
3
|
+
import { useAccordionContext } from './context.js';
|
|
4
|
+
import { useCallback } from 'react';
|
|
5
|
+
|
|
6
|
+
const KeyHandler = (props) => {
|
|
7
|
+
const handler = useAccordionContext();
|
|
8
|
+
const variant = handler.hooks.usePropsSelector((current) => current.variant);
|
|
9
|
+
return /* @__PURE__ */ jsx(
|
|
10
|
+
Box,
|
|
11
|
+
{
|
|
12
|
+
...props,
|
|
13
|
+
ref: useCallback(
|
|
14
|
+
(ref) => {
|
|
15
|
+
if (ref) {
|
|
16
|
+
ref.addEventListener("keydown", (ev) => {
|
|
17
|
+
if (ev.target.closest(".accordion__item__content"))
|
|
18
|
+
return;
|
|
19
|
+
const accordionItem = ev.target?.closest(
|
|
20
|
+
".accordion__item"
|
|
21
|
+
);
|
|
22
|
+
const accordion = ev.target?.closest(
|
|
23
|
+
".accordion"
|
|
24
|
+
);
|
|
25
|
+
const allItems = [
|
|
26
|
+
...accordion?.querySelectorAll(".accordion__item") ?? []
|
|
27
|
+
];
|
|
28
|
+
const currentIndex = allItems.findIndex(
|
|
29
|
+
(current) => current === accordionItem
|
|
30
|
+
);
|
|
31
|
+
if (ev.code === "ArrowDown") {
|
|
32
|
+
if (currentIndex < allItems.length - 1) {
|
|
33
|
+
ev.preventDefault();
|
|
34
|
+
allItems[currentIndex + 1]?.querySelector(
|
|
35
|
+
".accordion__item__button"
|
|
36
|
+
)?.focus();
|
|
37
|
+
}
|
|
38
|
+
} else if (ev.code === "ArrowUp") {
|
|
39
|
+
if (currentIndex > 0) {
|
|
40
|
+
ev.preventDefault();
|
|
41
|
+
allItems[currentIndex - 1]?.querySelector(
|
|
42
|
+
".accordion__item__button"
|
|
43
|
+
)?.focus();
|
|
44
|
+
}
|
|
45
|
+
} else if (ev.code === "ArrowLeft") {
|
|
46
|
+
if (allItems[currentIndex]?.querySelector(
|
|
47
|
+
'[aria-expanded="true"]'
|
|
48
|
+
)) {
|
|
49
|
+
ev.preventDefault();
|
|
50
|
+
allItems[currentIndex]?.querySelector(
|
|
51
|
+
".accordion__item__button"
|
|
52
|
+
)?.click();
|
|
53
|
+
}
|
|
54
|
+
} else if (ev.code === "ArrowRight") {
|
|
55
|
+
if (allItems[currentIndex]?.querySelector(
|
|
56
|
+
'[aria-expanded="false"]'
|
|
57
|
+
)) {
|
|
58
|
+
ev.preventDefault();
|
|
59
|
+
allItems[currentIndex]?.querySelector(
|
|
60
|
+
".accordion__item__button"
|
|
61
|
+
)?.click();
|
|
62
|
+
}
|
|
63
|
+
} else if (ev.code === "Space") {
|
|
64
|
+
ev.preventDefault();
|
|
65
|
+
ev.stopPropagation();
|
|
66
|
+
const id = accordionItem.dataset.id;
|
|
67
|
+
handler.udpateItem(id, {
|
|
68
|
+
isChecked: !handler.itemsState[id].isChecked
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
[handler]
|
|
75
|
+
),
|
|
76
|
+
...variant ? getVariant(variant) : void 0
|
|
77
|
+
}
|
|
78
|
+
);
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export { KeyHandler };
|
|
82
|
+
//# sourceMappingURL=KeyHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeyHandler.js","sources":["../../../src/components/accordion/KeyHandler.tsx"],"sourcesContent":["import { Box, type BoxProps } from '@apia/theme';\r\nimport { useAccordionContext } from './context';\r\nimport { getVariant } from '@apia/theme';\r\nimport { useCallback } from 'react';\r\n\r\nexport const KeyHandler = (props: BoxProps) => {\r\n const handler = useAccordionContext();\r\n\r\n const variant = handler.hooks.usePropsSelector((current) => current.variant);\r\n\r\n return (\r\n <Box\r\n {...props}\r\n ref={useCallback(\r\n (ref: HTMLElement | null) => {\r\n if (ref) {\r\n ref.addEventListener('keydown', (ev) => {\r\n if (\r\n (ev.target as HTMLElement).closest('.accordion__item__content')\r\n )\r\n return;\r\n\r\n const accordionItem = (ev.target as HTMLElement)?.closest(\r\n '.accordion__item',\r\n ) as HTMLElement;\r\n const accordion = (ev.target as HTMLElement)?.closest(\r\n '.accordion',\r\n );\r\n const allItems = [\r\n ...(accordion?.querySelectorAll('.accordion__item') ?? []),\r\n ];\r\n const currentIndex = allItems.findIndex(\r\n (current) => current === accordionItem,\r\n );\r\n\r\n if (ev.code === 'ArrowDown') {\r\n if (currentIndex < allItems.length - 1) {\r\n ev.preventDefault();\r\n (\r\n (allItems[currentIndex + 1] as HTMLElement)?.querySelector(\r\n '.accordion__item__button',\r\n ) as HTMLElement\r\n )?.focus();\r\n }\r\n } else if (ev.code === 'ArrowUp') {\r\n if (currentIndex > 0) {\r\n ev.preventDefault();\r\n (\r\n (allItems[currentIndex - 1] as HTMLElement)?.querySelector(\r\n '.accordion__item__button',\r\n ) as HTMLElement\r\n )?.focus();\r\n }\r\n } else if (ev.code === 'ArrowLeft') {\r\n if (\r\n (allItems[currentIndex] as HTMLElement)?.querySelector(\r\n '[aria-expanded=\"true\"]',\r\n ) as HTMLElement\r\n ) {\r\n ev.preventDefault();\r\n (\r\n (allItems[currentIndex] as HTMLElement)?.querySelector(\r\n '.accordion__item__button',\r\n ) as HTMLElement\r\n )?.click();\r\n }\r\n } else if (ev.code === 'ArrowRight') {\r\n if (\r\n (allItems[currentIndex] as HTMLElement)?.querySelector(\r\n '[aria-expanded=\"false\"]',\r\n ) as HTMLElement\r\n ) {\r\n ev.preventDefault();\r\n (\r\n (allItems[currentIndex] as HTMLElement)?.querySelector(\r\n '.accordion__item__button',\r\n ) as HTMLElement\r\n )?.click();\r\n }\r\n } else if (ev.code === 'Space') {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n const id = accordionItem.dataset.id as string;\r\n handler.udpateItem(id, {\r\n isChecked: !handler.itemsState[id].isChecked,\r\n });\r\n }\r\n });\r\n }\r\n },\r\n [handler],\r\n )}\r\n {...(variant ? getVariant(variant) : undefined)}\r\n />\r\n );\r\n};\r\n"],"names":[],"mappings":";;;;;AAKa,MAAA,UAAA,GAAa,CAAC,KAAoB,KAAA;AAC7C,EAAA,MAAM,UAAU,mBAAoB,EAAA,CAAA;AAEpC,EAAA,MAAM,UAAU,OAAQ,CAAA,KAAA,CAAM,iBAAiB,CAAC,OAAA,KAAY,QAAQ,OAAO,CAAA,CAAA;AAE3E,EACE,uBAAA,GAAA;AAAA,IAAC,GAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,GAAK,EAAA,WAAA;AAAA,QACH,CAAC,GAA4B,KAAA;AAC3B,UAAA,IAAI,GAAK,EAAA;AACP,YAAI,GAAA,CAAA,gBAAA,CAAiB,SAAW,EAAA,CAAC,EAAO,KAAA;AACtC,cACG,IAAA,EAAA,CAAG,MAAuB,CAAA,OAAA,CAAQ,2BAA2B,CAAA;AAE9D,gBAAA,OAAA;AAEF,cAAM,MAAA,aAAA,GAAiB,GAAG,MAAwB,EAAA,OAAA;AAAA,gBAChD,kBAAA;AAAA,eACF,CAAA;AACA,cAAM,MAAA,SAAA,GAAa,GAAG,MAAwB,EAAA,OAAA;AAAA,gBAC5C,YAAA;AAAA,eACF,CAAA;AACA,cAAA,MAAM,QAAW,GAAA;AAAA,gBACf,GAAI,SAAA,EAAW,gBAAiB,CAAA,kBAAkB,KAAK,EAAC;AAAA,eAC1D,CAAA;AACA,cAAA,MAAM,eAAe,QAAS,CAAA,SAAA;AAAA,gBAC5B,CAAC,YAAY,OAAY,KAAA,aAAA;AAAA,eAC3B,CAAA;AAEA,cAAI,IAAA,EAAA,CAAG,SAAS,WAAa,EAAA;AAC3B,gBAAI,IAAA,YAAA,GAAe,QAAS,CAAA,MAAA,GAAS,CAAG,EAAA;AACtC,kBAAA,EAAA,CAAG,cAAe,EAAA,CAAA;AAClB,kBACG,QAAA,CAAS,YAAe,GAAA,CAAC,CAAmB,EAAA,aAAA;AAAA,oBAC3C,0BAAA;AAAA,qBAED,KAAM,EAAA,CAAA;AAAA,iBACX;AAAA,eACF,MAAA,IAAW,EAAG,CAAA,IAAA,KAAS,SAAW,EAAA;AAChC,gBAAA,IAAI,eAAe,CAAG,EAAA;AACpB,kBAAA,EAAA,CAAG,cAAe,EAAA,CAAA;AAClB,kBACG,QAAA,CAAS,YAAe,GAAA,CAAC,CAAmB,EAAA,aAAA;AAAA,oBAC3C,0BAAA;AAAA,qBAED,KAAM,EAAA,CAAA;AAAA,iBACX;AAAA,eACF,MAAA,IAAW,EAAG,CAAA,IAAA,KAAS,WAAa,EAAA;AAClC,gBACG,IAAA,QAAA,CAAS,YAAY,CAAmB,EAAA,aAAA;AAAA,kBACvC,wBAAA;AAAA,iBAEF,EAAA;AACA,kBAAA,EAAA,CAAG,cAAe,EAAA,CAAA;AAClB,kBACG,QAAA,CAAS,YAAY,CAAmB,EAAA,aAAA;AAAA,oBACvC,0BAAA;AAAA,qBAED,KAAM,EAAA,CAAA;AAAA,iBACX;AAAA,eACF,MAAA,IAAW,EAAG,CAAA,IAAA,KAAS,YAAc,EAAA;AACnC,gBACG,IAAA,QAAA,CAAS,YAAY,CAAmB,EAAA,aAAA;AAAA,kBACvC,yBAAA;AAAA,iBAEF,EAAA;AACA,kBAAA,EAAA,CAAG,cAAe,EAAA,CAAA;AAClB,kBACG,QAAA,CAAS,YAAY,CAAmB,EAAA,aAAA;AAAA,oBACvC,0BAAA;AAAA,qBAED,KAAM,EAAA,CAAA;AAAA,iBACX;AAAA,eACF,MAAA,IAAW,EAAG,CAAA,IAAA,KAAS,OAAS,EAAA;AAC9B,gBAAA,EAAA,CAAG,cAAe,EAAA,CAAA;AAClB,gBAAA,EAAA,CAAG,eAAgB,EAAA,CAAA;AACnB,gBAAM,MAAA,EAAA,GAAK,cAAc,OAAQ,CAAA,EAAA,CAAA;AACjC,gBAAA,OAAA,CAAQ,WAAW,EAAI,EAAA;AAAA,kBACrB,SAAW,EAAA,CAAC,OAAQ,CAAA,UAAA,CAAW,EAAE,CAAE,CAAA,SAAA;AAAA,iBACpC,CAAA,CAAA;AAAA,eACH;AAAA,aACD,CAAA,CAAA;AAAA,WACH;AAAA,SACF;AAAA,QACA,CAAC,OAAO,CAAA;AAAA,OACV;AAAA,MACC,GAAI,OAAA,GAAU,UAAW,CAAA,OAAO,CAAI,GAAA,KAAA,CAAA;AAAA,KAAA;AAAA,GACvC,CAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { AccordionHandler } from './handler.js';
|
|
3
|
+
import { TId } from '@apia/util';
|
|
4
|
+
|
|
5
|
+
declare const AccordionContext: React.Context<AccordionHandler | null>;
|
|
6
|
+
declare const AccordionItemContext: React.Context<TId | null>;
|
|
7
|
+
declare const useAccordionContext: () => AccordionHandler;
|
|
8
|
+
|
|
9
|
+
export { AccordionContext, AccordionItemContext, useAccordionContext };
|
|
10
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createContext, useContext } from 'react';
|
|
2
|
+
|
|
3
|
+
const AccordionContext = createContext(null);
|
|
4
|
+
const AccordionItemContext = createContext(null);
|
|
5
|
+
const useAccordionContext = () => {
|
|
6
|
+
const context = useContext(AccordionContext);
|
|
7
|
+
if (!context)
|
|
8
|
+
throw new Error("There is no AccordionContext");
|
|
9
|
+
return context;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export { AccordionContext, AccordionItemContext, useAccordionContext };
|
|
13
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../../src/components/accordion/context.ts"],"sourcesContent":["import { TId } from '@apia/util';\r\nimport { createContext, useContext } from 'react';\r\nimport { TAccordionHandler } from '.';\r\n\r\nexport const AccordionContext = createContext<TAccordionHandler | null>(null);\r\nexport const AccordionItemContext = createContext<TId | null>(null);\r\n\r\nexport const useAccordionContext = () => {\r\n const context = useContext(AccordionContext);\r\n if (!context) throw new Error('There is no AccordionContext');\r\n return context;\r\n};\r\n"],"names":[],"mappings":";;AAIa,MAAA,gBAAA,GAAmB,cAAwC,IAAI,EAAA;AAC/D,MAAA,oBAAA,GAAuB,cAA0B,IAAI,EAAA;AAE3D,MAAM,sBAAsB,MAAM;AACvC,EAAM,MAAA,OAAA,GAAU,WAAW,gBAAgB,CAAA,CAAA;AAC3C,EAAA,IAAI,CAAC,OAAA;AAAS,IAAM,MAAA,IAAI,MAAM,8BAA8B,CAAA,CAAA;AAC5D,EAAO,OAAA,OAAA,CAAA;AACT;;;;"}
|