@apia/components 2.0.9 → 2.0.11
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 +70 -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 +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 -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 +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 +8 -8
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
+
import { EventEmitter, useSubscription } from '@apia/util';
|
|
3
|
+
import { createContext, useMemo, useContext, Children, isValidElement, useRef, useCallback } from 'react';
|
|
4
|
+
import { Box } from '@apia/theme';
|
|
5
|
+
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __publicField = (obj, key, value) => {
|
|
9
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
10
|
+
return value;
|
|
11
|
+
};
|
|
12
|
+
var __accessCheck = (obj, member, msg) => {
|
|
13
|
+
if (!member.has(obj))
|
|
14
|
+
throw TypeError("Cannot " + msg);
|
|
15
|
+
};
|
|
16
|
+
var __privateGet = (obj, member, getter) => {
|
|
17
|
+
__accessCheck(obj, member, "read from private field");
|
|
18
|
+
return getter ? getter.call(obj) : member.get(obj);
|
|
19
|
+
};
|
|
20
|
+
var __privateAdd = (obj, member, value) => {
|
|
21
|
+
if (member.has(obj))
|
|
22
|
+
throw TypeError("Cannot add the same private member more than once");
|
|
23
|
+
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
24
|
+
};
|
|
25
|
+
var __privateSet = (obj, member, value, setter) => {
|
|
26
|
+
__accessCheck(obj, member, "write to private field");
|
|
27
|
+
setter ? setter.call(obj, value) : member.set(obj, value);
|
|
28
|
+
return value;
|
|
29
|
+
};
|
|
30
|
+
var _emitter, _items, _moveItem;
|
|
31
|
+
function getTargetItem(ev) {
|
|
32
|
+
return ev.target.closest(
|
|
33
|
+
".sortableList__item"
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
class SortableListHandler {
|
|
37
|
+
constructor() {
|
|
38
|
+
__privateAdd(this, _emitter, new EventEmitter());
|
|
39
|
+
__privateAdd(this, _items, []);
|
|
40
|
+
__publicField(this, "updateChildren", (items) => {
|
|
41
|
+
__privateSet(this, _items, Children.toArray(items).filter(
|
|
42
|
+
(el) => isValidElement(el)
|
|
43
|
+
));
|
|
44
|
+
});
|
|
45
|
+
__privateAdd(this, _moveItem, (movingId, idBefore, after) => {
|
|
46
|
+
if (movingId === idBefore)
|
|
47
|
+
return;
|
|
48
|
+
const itemIndex = __privateGet(this, _items).findIndex(
|
|
49
|
+
(search) => search.props.id === movingId
|
|
50
|
+
);
|
|
51
|
+
const item = __privateGet(this, _items).splice(itemIndex, 1)[0];
|
|
52
|
+
const insertIndex = __privateGet(this, _items).findIndex(
|
|
53
|
+
(search) => search.props.id === idBefore
|
|
54
|
+
);
|
|
55
|
+
__privateGet(this, _items).splice(insertIndex + (after ? 1 : 0), 0, item);
|
|
56
|
+
__privateGet(this, _emitter).emit("sort", null);
|
|
57
|
+
});
|
|
58
|
+
__publicField(this, "useItemEvents", () => {
|
|
59
|
+
const unsuscribe = useRef(() => {
|
|
60
|
+
});
|
|
61
|
+
const ref = useCallback((el) => {
|
|
62
|
+
unsuscribe.current();
|
|
63
|
+
if (el) {
|
|
64
|
+
const handleDragEnd = (ev) => {
|
|
65
|
+
getTargetItem(ev).classList.remove("dragging");
|
|
66
|
+
};
|
|
67
|
+
const handleDrop = (ev) => {
|
|
68
|
+
const target = getTargetItem(ev);
|
|
69
|
+
__privateGet(this, _moveItem).call(this, ev.dataTransfer.getData("text"), target.id, target.classList.contains("after"));
|
|
70
|
+
target.classList.remove("dragover");
|
|
71
|
+
target.classList.remove("after");
|
|
72
|
+
};
|
|
73
|
+
const handleDragLeave = (ev) => {
|
|
74
|
+
getTargetItem(ev).classList.remove("dragover");
|
|
75
|
+
};
|
|
76
|
+
const handleDragOver = (ev) => {
|
|
77
|
+
ev.preventDefault();
|
|
78
|
+
ev.dataTransfer.dropEffect = "move";
|
|
79
|
+
getTargetItem(ev).classList.add("dragover");
|
|
80
|
+
const bounding = getTargetItem(ev).getBoundingClientRect();
|
|
81
|
+
if (ev.clientY - bounding.top > bounding.height / 2)
|
|
82
|
+
getTargetItem(ev).classList.add("after");
|
|
83
|
+
else
|
|
84
|
+
getTargetItem(ev).classList.remove("after");
|
|
85
|
+
};
|
|
86
|
+
document.addEventListener("dragend", handleDragEnd);
|
|
87
|
+
el.addEventListener("drop", handleDrop);
|
|
88
|
+
el.addEventListener("dragleave", handleDragLeave);
|
|
89
|
+
el.addEventListener("dragover", handleDragOver);
|
|
90
|
+
unsuscribe.current = () => {
|
|
91
|
+
document.removeEventListener("dragend", handleDragEnd);
|
|
92
|
+
el.removeEventListener("drop", handleDrop);
|
|
93
|
+
el.removeEventListener("dragleave", handleDragLeave);
|
|
94
|
+
el.removeEventListener("dragover", handleDragOver);
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
}, []);
|
|
98
|
+
return ref;
|
|
99
|
+
});
|
|
100
|
+
__publicField(this, "useSortChange", (onSortChange) => {
|
|
101
|
+
useSubscription({
|
|
102
|
+
makeSubscription: () => {
|
|
103
|
+
return __privateGet(this, _emitter).on("sort", () => {
|
|
104
|
+
onSortChange?.([...__privateGet(this, _items)]);
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
__publicField(this, "useWrapperEvents", () => {
|
|
110
|
+
const unsuscribe = useRef(() => {
|
|
111
|
+
});
|
|
112
|
+
const ref = useCallback((el) => {
|
|
113
|
+
unsuscribe.current();
|
|
114
|
+
if (el) {
|
|
115
|
+
let handleDrag2 = function(ev) {
|
|
116
|
+
const target = ev.target;
|
|
117
|
+
if (ev.dataTransfer) {
|
|
118
|
+
ev.dataTransfer.effectAllowed = "all";
|
|
119
|
+
ev.dataTransfer.setData("text", target.id);
|
|
120
|
+
target.classList.add("dragging");
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
el.addEventListener("dragstart", handleDrag2);
|
|
124
|
+
unsuscribe.current = () => {
|
|
125
|
+
el.removeEventListener("dragstart", handleDrag2);
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
}, []);
|
|
129
|
+
return ref;
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
_emitter = new WeakMap();
|
|
134
|
+
_items = new WeakMap();
|
|
135
|
+
_moveItem = new WeakMap();
|
|
136
|
+
const con = createContext({});
|
|
137
|
+
const SortableListContext = ({
|
|
138
|
+
boxProps,
|
|
139
|
+
children,
|
|
140
|
+
onSortChange
|
|
141
|
+
}) => {
|
|
142
|
+
const handler = useMemo(() => new SortableListHandler(), []);
|
|
143
|
+
handler.useSortChange(onSortChange);
|
|
144
|
+
handler.updateChildren(children);
|
|
145
|
+
return /* @__PURE__ */ jsx(
|
|
146
|
+
Box,
|
|
147
|
+
{
|
|
148
|
+
...boxProps,
|
|
149
|
+
as: boxProps?.as ?? "ul",
|
|
150
|
+
className: `sortableList ${boxProps?.className ?? ""}`,
|
|
151
|
+
ref: handler.useWrapperEvents(),
|
|
152
|
+
children: /* @__PURE__ */ jsx(con.Provider, { value: handler, children })
|
|
153
|
+
}
|
|
154
|
+
);
|
|
155
|
+
};
|
|
156
|
+
function useSortableListHandler() {
|
|
157
|
+
return useContext(con);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
export { SortableListContext, SortableListHandler, useSortableListHandler };
|
|
161
|
+
//# sourceMappingURL=SortableListHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SortableListHandler.js","sources":["../../../src/components/SortableList/SortableListHandler.tsx"],"sourcesContent":["import { EventEmitter } from '@apia/util';\r\nimport {\r\n Children,\r\n ReactElement,\r\n ReactNode,\r\n createContext,\r\n isValidElement,\r\n useCallback,\r\n useContext,\r\n useMemo,\r\n useRef,\r\n} from 'react';\r\nimport { useSubscription } from '@apia/util';\r\nimport { Box, BoxProps } from '@apia/theme';\r\nimport { TSortableListItem } from './SortableListItem';\r\n\r\ntype THover = { id: string; after: boolean };\r\n\r\nfunction getTargetItem(ev: Event) {\r\n return (ev.target as HTMLElement).closest(\r\n '.sortableList__item',\r\n ) as HTMLElement;\r\n}\r\n\r\nexport class SortableListHandler {\r\n #emitter = new EventEmitter<{ hover: THover; sort: null }>();\r\n\r\n #items: ReactElement<{ id: string }>[] = [];\r\n\r\n updateChildren = (items: ReactNode) => {\r\n this.#items = Children.toArray(items).filter((el): el is ReactElement =>\r\n isValidElement(el),\r\n );\r\n };\r\n\r\n #moveItem = (movingId: string, idBefore: string, after: boolean) => {\r\n if (movingId === idBefore) return;\r\n\r\n const itemIndex = this.#items.findIndex(\r\n (search) => search.props.id === movingId,\r\n );\r\n const item = this.#items.splice(itemIndex, 1)![0]!;\r\n const insertIndex = this.#items.findIndex(\r\n (search) => search.props.id === idBefore,\r\n );\r\n\r\n this.#items.splice(insertIndex + (after ? 1 : 0), 0, item);\r\n this.#emitter.emit('sort', null);\r\n };\r\n\r\n useItemEvents = () => {\r\n const unsuscribe = useRef(() => {});\r\n const ref = useCallback((el: HTMLElement) => {\r\n unsuscribe.current();\r\n\r\n if (el) {\r\n const handleDragEnd = (ev: DragEvent) => {\r\n getTargetItem(ev).classList.remove('dragging');\r\n };\r\n\r\n const handleDrop = (ev: DragEvent) => {\r\n const target = getTargetItem(ev);\r\n\r\n this.#moveItem(\r\n ev.dataTransfer!.getData('text'),\r\n target.id,\r\n target.classList.contains('after'),\r\n );\r\n\r\n target.classList.remove('dragover');\r\n target.classList.remove('after');\r\n };\r\n\r\n const handleDragLeave = (ev: DragEvent) => {\r\n getTargetItem(ev).classList.remove('dragover');\r\n };\r\n\r\n const handleDragOver = (ev: DragEvent) => {\r\n ev.preventDefault();\r\n // eslint-disable-next-line no-param-reassign\r\n ev.dataTransfer!.dropEffect = 'move';\r\n getTargetItem(ev).classList.add('dragover');\r\n\r\n const bounding = getTargetItem(ev).getBoundingClientRect();\r\n if (ev.clientY - bounding.top > bounding.height / 2)\r\n getTargetItem(ev).classList.add('after');\r\n else getTargetItem(ev).classList.remove('after');\r\n };\r\n\r\n document.addEventListener('dragend', handleDragEnd);\r\n el.addEventListener('drop', handleDrop);\r\n el.addEventListener('dragleave', handleDragLeave);\r\n el.addEventListener('dragover', handleDragOver);\r\n\r\n unsuscribe.current = () => {\r\n document.removeEventListener('dragend', handleDragEnd);\r\n el.removeEventListener('drop', handleDrop);\r\n el.removeEventListener('dragleave', handleDragLeave);\r\n el.removeEventListener('dragover', handleDragOver);\r\n };\r\n }\r\n }, []);\r\n\r\n return ref;\r\n };\r\n\r\n useSortChange = (onSortChange?: (items: ReactElement[]) => unknown) => {\r\n useSubscription({\r\n makeSubscription: () => {\r\n return this.#emitter.on('sort', () => {\r\n onSortChange?.([...this.#items]);\r\n });\r\n },\r\n });\r\n };\r\n\r\n useWrapperEvents = () => {\r\n const unsuscribe = useRef(() => {});\r\n const ref = useCallback((el: HTMLElement) => {\r\n unsuscribe.current();\r\n\r\n if (el) {\r\n function handleDrag(ev: DragEvent) {\r\n const target = ev.target as HTMLElement;\r\n\r\n if (ev.dataTransfer) {\r\n // eslint-disable-next-line no-param-reassign\r\n ev.dataTransfer.effectAllowed = 'all';\r\n ev.dataTransfer.setData('text', target.id);\r\n target.classList.add('dragging');\r\n }\r\n }\r\n\r\n el.addEventListener('dragstart', handleDrag);\r\n\r\n unsuscribe.current = () => {\r\n el.removeEventListener('dragstart', handleDrag);\r\n };\r\n }\r\n }, []);\r\n\r\n return ref;\r\n };\r\n}\r\n\r\nconst con = createContext<SortableListHandler>({} as SortableListHandler);\r\n\r\nexport const SortableListContext = ({\r\n boxProps,\r\n children,\r\n onSortChange,\r\n}: {\r\n boxProps?: BoxProps;\r\n children: ReactNode;\r\n onSortChange?: (items: ReactElement<TSortableListItem>[]) => unknown;\r\n}) => {\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n const handler = useMemo(() => new SortableListHandler(), []);\r\n handler.useSortChange(onSortChange);\r\n handler.updateChildren(children);\r\n\r\n return (\r\n <Box\r\n {...boxProps}\r\n as={boxProps?.as ?? 'ul'}\r\n className={`sortableList ${boxProps?.className ?? ''}`}\r\n ref={handler.useWrapperEvents()}\r\n >\r\n <con.Provider value={handler}>{children}</con.Provider>\r\n </Box>\r\n );\r\n};\r\n\r\nexport function useSortableListHandler() {\r\n return useContext(con);\r\n}\r\n\r\nexport type { TSortableListItem };\r\n"],"names":["handleDrag"],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { BoxProps } from '@apia/theme';
|
|
4
|
+
|
|
5
|
+
type TSortableListItem = {
|
|
6
|
+
additionalProps?: any;
|
|
7
|
+
boxProps?: Omit<BoxProps, 'id'>;
|
|
8
|
+
id: string;
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
};
|
|
11
|
+
declare const SortableListItem: React.MemoExoticComponent<({ boxProps, id, children }: TSortableListItem) => React.JSX.Element>;
|
|
12
|
+
|
|
13
|
+
export { SortableListItem, type TSortableListItem };
|
|
14
|
+
//# sourceMappingURL=SortableListItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SortableListItem.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
+
import { Box } from '@apia/theme';
|
|
3
|
+
import { memo } from 'react';
|
|
4
|
+
import { useSortableListHandler } from './SortableListHandler.js';
|
|
5
|
+
|
|
6
|
+
const SortableListItem = memo(
|
|
7
|
+
({ boxProps, id, children }) => {
|
|
8
|
+
return /* @__PURE__ */ jsx(
|
|
9
|
+
Box,
|
|
10
|
+
{
|
|
11
|
+
...boxProps,
|
|
12
|
+
as: boxProps?.as ?? "li",
|
|
13
|
+
className: `sortableList__item ${boxProps?.className ?? ""}`,
|
|
14
|
+
draggable: true,
|
|
15
|
+
id,
|
|
16
|
+
ref: useSortableListHandler().useItemEvents(),
|
|
17
|
+
children
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
export { SortableListItem };
|
|
24
|
+
//# sourceMappingURL=SortableListItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SortableListItem.js","sources":["../../../src/components/SortableList/SortableListItem.tsx"],"sourcesContent":["import { Box, BoxProps } from '@apia/theme';\r\nimport { ReactNode, memo } from 'react';\r\nimport { useSortableListHandler } from './SortableListHandler';\r\n\r\nexport type TSortableListItem = {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n additionalProps?: any;\r\n boxProps?: Omit<BoxProps, 'id'>;\r\n id: string;\r\n children: ReactNode;\r\n};\r\n\r\nexport const SortableListItem = memo(\r\n ({ boxProps, id, children }: TSortableListItem) => {\r\n return (\r\n <Box\r\n {...boxProps}\r\n as={boxProps?.as ?? 'li'}\r\n className={`sortableList__item ${boxProps?.className ?? ''}`}\r\n draggable\r\n id={id}\r\n ref={useSortableListHandler().useItemEvents()}\r\n >\r\n {children}\r\n </Box>\r\n );\r\n },\r\n);\r\n"],"names":[],"mappings":";;;;;AAYO,MAAM,gBAAmB,GAAA,IAAA;AAAA,EAC9B,CAAC,EAAE,QAAU,EAAA,EAAA,EAAI,UAAkC,KAAA;AACjD,IACE,uBAAA,GAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACE,GAAG,QAAA;AAAA,QACJ,EAAA,EAAI,UAAU,EAAM,IAAA,IAAA;AAAA,QACpB,SAAW,EAAA,CAAA,mBAAA,EAAsB,QAAU,EAAA,SAAA,IAAa,EAAE,CAAA,CAAA;AAAA,QAC1D,SAAS,EAAA,IAAA;AAAA,QACT,EAAA;AAAA,QACA,GAAA,EAAK,sBAAuB,EAAA,CAAE,aAAc,EAAA;AAAA,QAE3C,QAAA;AAAA,OAAA;AAAA,KACH,CAAA;AAAA,GAEJ;AACF;;;;"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ReactNode, ReactElement } from 'react';
|
|
3
|
+
import { BoxProps } from '@apia/theme';
|
|
4
|
+
import { TSortableListItem } from './SortableListItem.js';
|
|
5
|
+
export { SortableListItem } from './SortableListItem.js';
|
|
6
|
+
|
|
7
|
+
declare const UnstyledSortableList: ({ boxProps, children, onSortChange, }: {
|
|
8
|
+
boxProps?: BoxProps | undefined;
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
onSortChange?: ((items: ReactElement<TSortableListItem>[]) => unknown) | undefined;
|
|
11
|
+
}) => React.JSX.Element;
|
|
12
|
+
declare const SortableList: ((props: {
|
|
13
|
+
boxProps?: BoxProps | undefined;
|
|
14
|
+
children: ReactNode;
|
|
15
|
+
onSortChange?: ((items: ReactElement<TSortableListItem>[]) => unknown) | undefined;
|
|
16
|
+
}) => React.JSX.Element) & {
|
|
17
|
+
displayName: string;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export { SortableList, UnstyledSortableList };
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
+
import { makeStyledComponent } from '@apia/theme';
|
|
3
|
+
import { Children } from 'react';
|
|
4
|
+
import { SortableListContext } from './SortableListHandler.js';
|
|
5
|
+
import { SortableListItem } from './SortableListItem.js';
|
|
6
|
+
|
|
7
|
+
const UnstyledSortableList = ({
|
|
8
|
+
boxProps,
|
|
9
|
+
children,
|
|
10
|
+
onSortChange
|
|
11
|
+
}) => {
|
|
12
|
+
Children.forEach(children, (el) => {
|
|
13
|
+
if (el?.type !== SortableListItem)
|
|
14
|
+
throw new Error(
|
|
15
|
+
`Every children of a SortableList must be of type SortableListItem`
|
|
16
|
+
);
|
|
17
|
+
});
|
|
18
|
+
return /* @__PURE__ */ jsx(SortableListContext, { onSortChange, boxProps, children });
|
|
19
|
+
};
|
|
20
|
+
const SortableList = makeStyledComponent(
|
|
21
|
+
"SortableList",
|
|
22
|
+
"layout.common.components.sortableList",
|
|
23
|
+
{
|
|
24
|
+
".sortableList": { display: "flex", flexDirection: "column" },
|
|
25
|
+
".sortableList__item": {
|
|
26
|
+
cursor: "pointer"
|
|
27
|
+
},
|
|
28
|
+
".dragging": {
|
|
29
|
+
opacity: "0.3"
|
|
30
|
+
},
|
|
31
|
+
".dragover": { position: "relative" },
|
|
32
|
+
".dragover:after": {
|
|
33
|
+
display: "block",
|
|
34
|
+
content: '""',
|
|
35
|
+
position: "absolute",
|
|
36
|
+
height: "4px",
|
|
37
|
+
left: "0",
|
|
38
|
+
top: "-4px",
|
|
39
|
+
bottom: "auto",
|
|
40
|
+
width: "100%",
|
|
41
|
+
backgroundColor: "palette.background.default",
|
|
42
|
+
zIndex: 9
|
|
43
|
+
},
|
|
44
|
+
".dragover.after:after": {
|
|
45
|
+
top: "auto",
|
|
46
|
+
bottom: "-4px"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
UnstyledSortableList
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
export { SortableList, SortableListItem, UnstyledSortableList };
|
|
53
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/SortableList/index.tsx"],"sourcesContent":["import { BoxProps, makeStyledComponent } from '@apia/theme';\r\nimport { Children, ReactElement, ReactNode } from 'react';\r\nimport { SortableListContext } from './SortableListHandler';\r\nimport { SortableListItem, TSortableListItem } from './SortableListItem';\r\n\r\nexport const UnstyledSortableList = ({\r\n boxProps,\r\n children,\r\n onSortChange,\r\n}: {\r\n boxProps?: BoxProps;\r\n children: ReactNode;\r\n onSortChange?: (items: ReactElement<TSortableListItem>[]) => unknown;\r\n}) => {\r\n Children.forEach(children, (el) => {\r\n if ((el as ReactElement<TSortableListItem>)?.type !== SortableListItem)\r\n throw new Error(\r\n `Every children of a SortableList must be of type SortableListItem`,\r\n );\r\n });\r\n\r\n return (\r\n <SortableListContext onSortChange={onSortChange} boxProps={boxProps}>\r\n {children}\r\n </SortableListContext>\r\n );\r\n};\r\n\r\nexport const SortableList = makeStyledComponent(\r\n 'SortableList',\r\n 'layout.common.components.sortableList',\r\n {\r\n '.sortableList': { display: 'flex', flexDirection: 'column' },\r\n '.sortableList__item': {\r\n cursor: 'pointer',\r\n },\r\n '.dragging': {\r\n opacity: '0.3',\r\n },\r\n '.dragover': { position: 'relative' },\r\n '.dragover:after': {\r\n display: 'block',\r\n content: '\"\"',\r\n position: 'absolute',\r\n height: '4px',\r\n left: '0',\r\n top: '-4px',\r\n bottom: 'auto',\r\n width: '100%',\r\n backgroundColor: 'palette.background.default',\r\n zIndex: 9,\r\n },\r\n '.dragover.after:after': {\r\n top: 'auto',\r\n bottom: '-4px',\r\n },\r\n },\r\n UnstyledSortableList,\r\n);\r\n\r\nexport { SortableListItem };\r\n"],"names":[],"mappings":";;;;;;AAKO,MAAM,uBAAuB,CAAC;AAAA,EACnC,QAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA;AACF,CAIM,KAAA;AACJ,EAAS,QAAA,CAAA,OAAA,CAAQ,QAAU,EAAA,CAAC,EAAO,KAAA;AACjC,IAAA,IAAK,IAAwC,IAAS,KAAA,gBAAA;AACpD,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,CAAA,iEAAA,CAAA;AAAA,OACF,CAAA;AAAA,GACH,CAAA,CAAA;AAED,EAAA,uBACG,GAAA,CAAA,mBAAA,EAAA,EAAoB,YAA4B,EAAA,QAAA,EAC9C,QACH,EAAA,CAAA,CAAA;AAEJ,EAAA;AAEO,MAAM,YAAe,GAAA,mBAAA;AAAA,EAC1B,cAAA;AAAA,EACA,uCAAA;AAAA,EACA;AAAA,IACE,eAAiB,EAAA,EAAE,OAAS,EAAA,MAAA,EAAQ,eAAe,QAAS,EAAA;AAAA,IAC5D,qBAAuB,EAAA;AAAA,MACrB,MAAQ,EAAA,SAAA;AAAA,KACV;AAAA,IACA,WAAa,EAAA;AAAA,MACX,OAAS,EAAA,KAAA;AAAA,KACX;AAAA,IACA,WAAA,EAAa,EAAE,QAAA,EAAU,UAAW,EAAA;AAAA,IACpC,iBAAmB,EAAA;AAAA,MACjB,OAAS,EAAA,OAAA;AAAA,MACT,OAAS,EAAA,IAAA;AAAA,MACT,QAAU,EAAA,UAAA;AAAA,MACV,MAAQ,EAAA,KAAA;AAAA,MACR,IAAM,EAAA,GAAA;AAAA,MACN,GAAK,EAAA,MAAA;AAAA,MACL,MAAQ,EAAA,MAAA;AAAA,MACR,KAAO,EAAA,MAAA;AAAA,MACP,eAAiB,EAAA,4BAAA;AAAA,MACjB,MAAQ,EAAA,CAAA;AAAA,KACV;AAAA,IACA,uBAAyB,EAAA;AAAA,MACvB,GAAK,EAAA,MAAA;AAAA,MACL,MAAQ,EAAA,MAAA;AAAA,KACV;AAAA,GACF;AAAA,EACA,oBAAA;AACF;;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { EventEmitter } from '@apia/util';
|
|
4
|
+
import { TToolbarIconButton } from './types.js';
|
|
5
|
+
|
|
6
|
+
type TClickListener = () => unknown;
|
|
7
|
+
type TItemState = Pick<TToolbarIconButton, 'disabled' | 'toggled' | 'isLoading'>;
|
|
8
|
+
declare class ToolbarController extends EventEmitter<{
|
|
9
|
+
pressEnter: string;
|
|
10
|
+
updateItemState: string;
|
|
11
|
+
}> {
|
|
12
|
+
eventListeners: Record<string, TClickListener[]>;
|
|
13
|
+
itemsState: Record<string, TItemState>;
|
|
14
|
+
hooks: {
|
|
15
|
+
useItemState: (id: string, initialState: TItemState) => TItemState;
|
|
16
|
+
};
|
|
17
|
+
setItemState: (id: string, newState: Partial<TItemState>) => void;
|
|
18
|
+
Context: ({ children }: {
|
|
19
|
+
children: ReactNode;
|
|
20
|
+
}) => React.JSX.Element;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { ToolbarController };
|
|
24
|
+
//# sourceMappingURL=ToolbarController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarController.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
+
import { EventEmitter } from '@apia/util';
|
|
3
|
+
import { createContext, useState, useEffect, useContext } from 'react';
|
|
4
|
+
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
|
+
var __publicField = (obj, key, value) => {
|
|
8
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
9
|
+
return value;
|
|
10
|
+
};
|
|
11
|
+
class ToolbarController extends EventEmitter {
|
|
12
|
+
constructor() {
|
|
13
|
+
super(...arguments);
|
|
14
|
+
__publicField(this, "eventListeners", {});
|
|
15
|
+
__publicField(this, "itemsState", {});
|
|
16
|
+
__publicField(this, "hooks", {
|
|
17
|
+
useItemState: (id, initialState) => {
|
|
18
|
+
const [state, setState] = useState(initialState);
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
this.itemsState[id] = initialState;
|
|
21
|
+
this.on("updateItemState", (evId) => {
|
|
22
|
+
if (evId === id) {
|
|
23
|
+
setState({ ...this.itemsState[id] });
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}, []);
|
|
27
|
+
return state;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
__publicField(this, "setItemState", (id, newState) => {
|
|
31
|
+
this.itemsState[id] = { ...this.itemsState[id], ...newState };
|
|
32
|
+
this.emit("updateItemState", id);
|
|
33
|
+
});
|
|
34
|
+
__publicField(this, "Context", ({ children }) => {
|
|
35
|
+
return /* @__PURE__ */ jsx(ToolbarControllerContext.Provider, { value: this, children });
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
const ToolbarControllerContext = createContext(
|
|
40
|
+
null
|
|
41
|
+
);
|
|
42
|
+
const useToolbarControllerContext = () => {
|
|
43
|
+
const context = useContext(ToolbarControllerContext);
|
|
44
|
+
if (!context)
|
|
45
|
+
throw new Error("There is no Toolbar controller context");
|
|
46
|
+
return context;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export { ToolbarController, ToolbarControllerContext, useToolbarControllerContext };
|
|
50
|
+
//# sourceMappingURL=ToolbarController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarController.js","sources":["../../../src/components/Toolbar/ToolbarController.tsx"],"sourcesContent":["import { EventEmitter } from '@apia/util';\r\nimport {\r\n createContext,\r\n useContext,\r\n ReactNode,\r\n useEffect,\r\n useState,\r\n} from 'react';\r\nimport { TToolbarIconButton } from './types';\r\n\r\ntype TClickListener = () => unknown;\r\ntype TItemState = Pick<\r\n TToolbarIconButton,\r\n 'disabled' | 'toggled' | 'isLoading'\r\n>;\r\n\r\nexport class ToolbarController extends EventEmitter<{\r\n pressEnter: string;\r\n updateItemState: string;\r\n}> {\r\n eventListeners: Record<string, TClickListener[]> = {};\r\n itemsState: Record<string, TItemState> = {};\r\n\r\n hooks = {\r\n useItemState: (id: string, initialState: TItemState) => {\r\n const [state, setState] = useState(initialState);\r\n\r\n useEffect(() => {\r\n this.itemsState[id] = initialState;\r\n this.on('updateItemState', (evId) => {\r\n if (evId === id) {\r\n setState({ ...this.itemsState[id] });\r\n }\r\n });\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n return state;\r\n },\r\n };\r\n\r\n setItemState = (id: string, newState: Partial<TItemState>) => {\r\n this.itemsState[id] = { ...this.itemsState[id], ...newState };\r\n this.emit('updateItemState', id);\r\n };\r\n\r\n Context = ({ children }: { children: ReactNode }) => {\r\n return (\r\n <ToolbarControllerContext.Provider value={this}>\r\n {children}\r\n </ToolbarControllerContext.Provider>\r\n );\r\n };\r\n}\r\n\r\nexport const ToolbarControllerContext = createContext<ToolbarController | null>(\r\n null,\r\n);\r\n\r\nexport const useToolbarControllerContext = () => {\r\n const context = useContext(ToolbarControllerContext);\r\n\r\n if (!context) throw new Error('There is no Toolbar controller context');\r\n\r\n return context;\r\n};\r\n"],"names":[],"mappings":";;;;;;;;;;AAgBO,MAAM,0BAA0B,YAGpC,CAAA;AAAA,EAHI,WAAA,GAAA;AAAA,IAAA,KAAA,CAAA,GAAA,SAAA,CAAA,CAAA;AAIL,IAAA,aAAA,CAAA,IAAA,EAAA,gBAAA,EAAmD,EAAC,CAAA,CAAA;AACpD,IAAA,aAAA,CAAA,IAAA,EAAA,YAAA,EAAyC,EAAC,CAAA,CAAA;AAE1C,IAAQ,aAAA,CAAA,IAAA,EAAA,OAAA,EAAA;AAAA,MACN,YAAA,EAAc,CAAC,EAAA,EAAY,YAA6B,KAAA;AACtD,QAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,YAAY,CAAA,CAAA;AAE/C,QAAA,SAAA,CAAU,MAAM;AACd,UAAK,IAAA,CAAA,UAAA,CAAW,EAAE,CAAI,GAAA,YAAA,CAAA;AACtB,UAAK,IAAA,CAAA,EAAA,CAAG,iBAAmB,EAAA,CAAC,IAAS,KAAA;AACnC,YAAA,IAAI,SAAS,EAAI,EAAA;AACf,cAAA,QAAA,CAAS,EAAE,GAAG,IAAA,CAAK,UAAW,CAAA,EAAE,GAAG,CAAA,CAAA;AAAA,aACrC;AAAA,WACD,CAAA,CAAA;AAAA,SAEH,EAAG,EAAE,CAAA,CAAA;AAEL,QAAO,OAAA,KAAA,CAAA;AAAA,OACT;AAAA,KACF,CAAA,CAAA;AAEA,IAAe,aAAA,CAAA,IAAA,EAAA,cAAA,EAAA,CAAC,IAAY,QAAkC,KAAA;AAC5D,MAAK,IAAA,CAAA,UAAA,CAAW,EAAE,CAAA,GAAI,EAAE,GAAG,KAAK,UAAW,CAAA,EAAE,CAAG,EAAA,GAAG,QAAS,EAAA,CAAA;AAC5D,MAAK,IAAA,CAAA,IAAA,CAAK,mBAAmB,EAAE,CAAA,CAAA;AAAA,KACjC,CAAA,CAAA;AAEA,IAAU,aAAA,CAAA,IAAA,EAAA,SAAA,EAAA,CAAC,EAAE,QAAA,EAAwC,KAAA;AACnD,MAAA,2BACG,wBAAyB,CAAA,QAAA,EAAzB,EAAkC,KAAA,EAAO,MACvC,QACH,EAAA,CAAA,CAAA;AAAA,KAEJ,CAAA,CAAA;AAAA,GAAA;AACF,CAAA;AAEO,MAAM,wBAA2B,GAAA,aAAA;AAAA,EACtC,IAAA;AACF,EAAA;AAEO,MAAM,8BAA8B,MAAM;AAC/C,EAAM,MAAA,OAAA,GAAU,WAAW,wBAAwB,CAAA,CAAA;AAEnD,EAAA,IAAI,CAAC,OAAA;AAAS,IAAM,MAAA,IAAI,MAAM,wCAAwC,CAAA,CAAA;AAEtE,EAAO,OAAA,OAAA,CAAA;AACT;;;;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { TToolbarIconButton } from './types.js';
|
|
3
|
+
|
|
4
|
+
declare const ToolbarIconButton: ({ id, action, allowToggle, defaultToggled, disabled, icon, iconSize, isLoading: outerIsLoading, title, toggled: toggledProp, }: TToolbarIconButton) => React.JSX.Element;
|
|
5
|
+
|
|
6
|
+
export { ToolbarIconButton };
|
|
7
|
+
//# sourceMappingURL=ToolbarIconButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarIconButton.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
+
import { useState, useRef, useCallback, useEffect } from 'react';
|
|
3
|
+
import { useToolbarControllerContext } from './ToolbarController.js';
|
|
4
|
+
import { usePrevious, useMount } from '@apia/util';
|
|
5
|
+
import { IconButton } from '../forms/buttons/IconButton.js';
|
|
6
|
+
|
|
7
|
+
const ToolbarIconButton = ({
|
|
8
|
+
id,
|
|
9
|
+
action,
|
|
10
|
+
allowToggle,
|
|
11
|
+
defaultToggled,
|
|
12
|
+
disabled,
|
|
13
|
+
icon,
|
|
14
|
+
iconSize,
|
|
15
|
+
isLoading: outerIsLoading,
|
|
16
|
+
title,
|
|
17
|
+
toggled: toggledProp
|
|
18
|
+
}) => {
|
|
19
|
+
const [innerIsToggled, setInnerIsToggled] = useState(
|
|
20
|
+
toggledProp ?? (allowToggle ? defaultToggled ?? false : false)
|
|
21
|
+
);
|
|
22
|
+
const [isDisabled, setIsDisabled] = useState(!!disabled);
|
|
23
|
+
const context = useToolbarControllerContext();
|
|
24
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
25
|
+
const previousIsLoading = usePrevious(outerIsLoading);
|
|
26
|
+
if (previousIsLoading.current !== outerIsLoading)
|
|
27
|
+
setIsLoading(!!outerIsLoading);
|
|
28
|
+
const lastDisabledProp = usePrevious(disabled);
|
|
29
|
+
if (lastDisabledProp.current !== disabled) {
|
|
30
|
+
setIsDisabled(!!disabled);
|
|
31
|
+
}
|
|
32
|
+
const lastToggledProp = useRef(toggledProp);
|
|
33
|
+
if (toggledProp !== void 0 && innerIsToggled !== toggledProp && lastToggledProp.current !== toggledProp) {
|
|
34
|
+
lastToggledProp.current = toggledProp;
|
|
35
|
+
setInnerIsToggled(toggledProp);
|
|
36
|
+
}
|
|
37
|
+
const handleClick = useCallback(async () => {
|
|
38
|
+
setIsLoading(true);
|
|
39
|
+
try {
|
|
40
|
+
if (lastToggledProp.current !== void 0) {
|
|
41
|
+
await action(
|
|
42
|
+
{ isToggled: !lastToggledProp.current, isLoading },
|
|
43
|
+
context
|
|
44
|
+
);
|
|
45
|
+
} else if (allowToggle) {
|
|
46
|
+
let isToggled = false;
|
|
47
|
+
setInnerIsToggled((current) => {
|
|
48
|
+
isToggled = !current;
|
|
49
|
+
return isToggled;
|
|
50
|
+
});
|
|
51
|
+
await action({ isToggled, isLoading }, context);
|
|
52
|
+
} else {
|
|
53
|
+
await action({ isToggled: false, isLoading }, context);
|
|
54
|
+
}
|
|
55
|
+
} catch (e) {
|
|
56
|
+
console.error(e);
|
|
57
|
+
}
|
|
58
|
+
setIsLoading(false);
|
|
59
|
+
}, [action, allowToggle, context, isLoading]);
|
|
60
|
+
useEffect(() => {
|
|
61
|
+
const unsuscribe1 = context.on("updateItemState", (evId) => {
|
|
62
|
+
if (evId === id) {
|
|
63
|
+
setInnerIsToggled(!!context.itemsState[evId].toggled);
|
|
64
|
+
setIsDisabled(!!context.itemsState[evId].disabled);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
const unsuscribe2 = context.on("pressEnter", (evId) => {
|
|
68
|
+
if (evId === id)
|
|
69
|
+
void handleClick();
|
|
70
|
+
});
|
|
71
|
+
return () => {
|
|
72
|
+
unsuscribe1();
|
|
73
|
+
unsuscribe2();
|
|
74
|
+
};
|
|
75
|
+
}, [context, id, handleClick]);
|
|
76
|
+
useMount(() => {
|
|
77
|
+
if (context.itemsState[id]) {
|
|
78
|
+
if (context.itemsState[id].disabled !== void 0) {
|
|
79
|
+
setIsDisabled(!!context.itemsState[id].disabled);
|
|
80
|
+
}
|
|
81
|
+
if (context.itemsState[id].toggled !== void 0) {
|
|
82
|
+
setInnerIsToggled(!!context.itemsState[id].toggled);
|
|
83
|
+
}
|
|
84
|
+
} else
|
|
85
|
+
context.itemsState[id] = {
|
|
86
|
+
disabled: isDisabled,
|
|
87
|
+
toggled: innerIsToggled,
|
|
88
|
+
...context.itemsState[id]
|
|
89
|
+
};
|
|
90
|
+
});
|
|
91
|
+
return /* @__PURE__ */ jsx(
|
|
92
|
+
IconButton,
|
|
93
|
+
{
|
|
94
|
+
className: `toolbar__button ${innerIsToggled ? "toggled" : ""}`,
|
|
95
|
+
size: iconSize ?? "Md",
|
|
96
|
+
icon,
|
|
97
|
+
onClick: handleClick,
|
|
98
|
+
"data-id": id,
|
|
99
|
+
title,
|
|
100
|
+
disabled: isDisabled,
|
|
101
|
+
variant: "icon-outline",
|
|
102
|
+
isLoading
|
|
103
|
+
}
|
|
104
|
+
);
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
export { ToolbarIconButton };
|
|
108
|
+
//# sourceMappingURL=ToolbarIconButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarIconButton.js","sources":["../../../src/components/Toolbar/ToolbarIconButton.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\r\nimport { useToolbarControllerContext } from './ToolbarController';\r\nimport { TToolbarIconButton } from './types';\r\nimport { useMount, usePrevious } from '@apia/util';\r\nimport { IconButton } from '../forms';\r\n\r\nexport const ToolbarIconButton = ({\r\n id,\r\n action,\r\n allowToggle,\r\n defaultToggled,\r\n disabled,\r\n icon,\r\n iconSize,\r\n isLoading: outerIsLoading,\r\n title,\r\n toggled: toggledProp,\r\n}: TToolbarIconButton) => {\r\n const [innerIsToggled, setInnerIsToggled] = useState<boolean>(\r\n toggledProp ?? (allowToggle ? defaultToggled ?? false : false),\r\n );\r\n const [isDisabled, setIsDisabled] = useState(!!disabled);\r\n const context = useToolbarControllerContext();\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n const previousIsLoading = usePrevious(outerIsLoading);\r\n if (previousIsLoading.current !== outerIsLoading)\r\n setIsLoading(!!outerIsLoading);\r\n\r\n const lastDisabledProp = usePrevious(disabled);\r\n if (lastDisabledProp.current !== disabled) {\r\n setIsDisabled(!!disabled);\r\n }\r\n\r\n /**\r\n * Si la prop toggled cambia y no está undefined, se debe actualizar el\r\n * estado interno.\r\n */\r\n const lastToggledProp = useRef<boolean | undefined>(toggledProp);\r\n if (\r\n toggledProp !== undefined &&\r\n innerIsToggled !== toggledProp &&\r\n lastToggledProp.current !== toggledProp\r\n ) {\r\n lastToggledProp.current = toggledProp;\r\n setInnerIsToggled(toggledProp);\r\n }\r\n\r\n const handleClick = useCallback(async () => {\r\n setIsLoading(true);\r\n try {\r\n if (lastToggledProp.current !== undefined) {\r\n await action(\r\n { isToggled: !lastToggledProp.current, isLoading },\r\n context,\r\n );\r\n } else if (allowToggle) {\r\n let isToggled = false;\r\n setInnerIsToggled((current) => {\r\n isToggled = !current;\r\n return isToggled;\r\n });\r\n await action({ isToggled, isLoading }, context);\r\n } else {\r\n await action({ isToggled: false, isLoading }, context);\r\n }\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n setIsLoading(false);\r\n }, [action, allowToggle, context, isLoading]);\r\n\r\n /**\r\n * Se maneja el uso de teclado para hacer click sobre el elemento\r\n */\r\n useEffect(() => {\r\n const unsuscribe1 = context.on('updateItemState', (evId) => {\r\n if (evId === id) {\r\n setInnerIsToggled(!!context.itemsState[evId].toggled);\r\n setIsDisabled(!!context.itemsState[evId].disabled);\r\n }\r\n });\r\n const unsuscribe2 = context.on('pressEnter', (evId) => {\r\n if (evId === id) void handleClick();\r\n });\r\n\r\n return () => {\r\n unsuscribe1();\r\n unsuscribe2();\r\n };\r\n }, [context, id, handleClick]);\r\n\r\n useMount(() => {\r\n if (context.itemsState[id]) {\r\n if (context.itemsState[id].disabled !== undefined) {\r\n setIsDisabled(!!context.itemsState[id].disabled);\r\n }\r\n if (context.itemsState[id].toggled !== undefined) {\r\n setInnerIsToggled(!!context.itemsState[id].toggled);\r\n }\r\n } else\r\n context.itemsState[id] = {\r\n disabled: isDisabled,\r\n toggled: innerIsToggled,\r\n ...context.itemsState[id],\r\n };\r\n });\r\n\r\n return (\r\n <IconButton\r\n className={`toolbar__button ${innerIsToggled ? 'toggled' : ''}`}\r\n size={iconSize ?? 'Md'}\r\n icon={icon}\r\n onClick={handleClick}\r\n data-id={id}\r\n title={title}\r\n disabled={isDisabled}\r\n variant=\"icon-outline\"\r\n isLoading={isLoading}\r\n />\r\n );\r\n};\r\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarInput.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
+
import { Input } from '@apia/theme';
|
|
3
|
+
import { FieldLabel } from '../forms/FieldLabel.js';
|
|
4
|
+
|
|
5
|
+
const ToolbarInput = (tool) => {
|
|
6
|
+
const input = /* @__PURE__ */ jsx(Input, { className: "toolbar__input", ...tool.inputProps });
|
|
7
|
+
if (tool.label)
|
|
8
|
+
return /* @__PURE__ */ jsx(FieldLabel, { label: tool.label, children: input });
|
|
9
|
+
return input;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export { ToolbarInput };
|
|
13
|
+
//# sourceMappingURL=ToolbarInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarInput.js","sources":["../../../src/components/Toolbar/ToolbarInput.tsx"],"sourcesContent":["import { FieldLabel } from '../forms';\r\nimport { TToolInput } from './types';\r\nimport { Input } from '@apia/theme';\r\n\r\nexport const ToolbarInput = (tool: TToolInput) => {\r\n const input = <Input className=\"toolbar__input\" {...tool.inputProps} />;\r\n\r\n if (tool.label) return <FieldLabel label={tool.label}>{input}</FieldLabel>;\r\n\r\n return input;\r\n};\r\n"],"names":[],"mappings":";;;;AAIa,MAAA,YAAA,GAAe,CAAC,IAAqB,KAAA;AAChD,EAAA,MAAM,wBAAS,GAAA,CAAA,KAAA,EAAA,EAAM,WAAU,gBAAkB,EAAA,GAAG,KAAK,UAAY,EAAA,CAAA,CAAA;AAErE,EAAA,IAAI,IAAK,CAAA,KAAA;AAAO,IAAA,uBAAQ,GAAA,CAAA,UAAA,EAAA,EAAW,KAAO,EAAA,IAAA,CAAK,OAAQ,QAAM,EAAA,KAAA,EAAA,CAAA,CAAA;AAE7D,EAAO,OAAA,KAAA,CAAA;AACT;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarSelect.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
+
import { Select, getVariant } from '@apia/theme';
|
|
3
|
+
|
|
4
|
+
const ToolbarSelect = (props) => {
|
|
5
|
+
return /* @__PURE__ */ jsx(
|
|
6
|
+
Select,
|
|
7
|
+
{
|
|
8
|
+
...props,
|
|
9
|
+
className: `toolbar__select ${props?.className ?? ""}`,
|
|
10
|
+
...props.variant ? getVariant(props.variant) : null,
|
|
11
|
+
children: props.children
|
|
12
|
+
}
|
|
13
|
+
);
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export { ToolbarSelect };
|
|
17
|
+
//# sourceMappingURL=ToolbarSelect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarSelect.js","sources":["../../../src/components/Toolbar/ToolbarSelect.tsx"],"sourcesContent":["import { Select, SelectProps, getVariant } from '@apia/theme';\r\n\r\nexport const ToolbarSelect = (props: SelectProps) => {\r\n return (\r\n <Select\r\n {...props}\r\n className={`toolbar__select ${props?.className ?? ''}`}\r\n {...(props.variant ? getVariant(props.variant) : null)}\r\n >\r\n {props.children}\r\n </Select>\r\n );\r\n};\r\n"],"names":[],"mappings":";;;AAEa,MAAA,aAAA,GAAgB,CAAC,KAAuB,KAAA;AACnD,EACE,uBAAA,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,SAAW,EAAA,CAAA,gBAAA,EAAmB,KAAO,EAAA,SAAA,IAAa,EAAE,CAAA,CAAA;AAAA,MACnD,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 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarSeparator.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx } from '@apia/theme/jsx-runtime';
|
|
2
|
+
import { Box } from '@apia/theme';
|
|
3
|
+
|
|
4
|
+
const ToolbarSeparator = () => {
|
|
5
|
+
return /* @__PURE__ */ jsx(Box, { className: "toolbar__separator", children: "\xA0" });
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export { ToolbarSeparator };
|
|
9
|
+
//# sourceMappingURL=ToolbarSeparator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarSeparator.js","sources":["../../../src/components/Toolbar/ToolbarSeparator.tsx"],"sourcesContent":["import { Box } from '@apia/theme';\r\n\r\nexport const ToolbarSeparator = () => {\r\n return <Box className=\"toolbar__separator\"> </Box>;\r\n};\r\n"],"names":[],"mappings":";;;AAEO,MAAM,mBAAmB,MAAM;AACpC,EAAA,uBAAQ,GAAA,CAAA,GAAA,EAAA,EAAI,SAAU,EAAA,oBAAA,EAAqB,QAAM,EAAA,MAAA,EAAA,CAAA,CAAA;AACnD;;;;"}
|