@intlayer/design-system 7.2.1-canary.1 → 7.2.3
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/esm/components/Accordion/Accordion.mjs +1 -2
- package/dist/esm/components/Accordion/Accordion.mjs.map +1 -1
- package/dist/esm/components/Avatar/index.mjs +1 -1
- package/dist/esm/components/Breadcrumb/index.mjs +1 -2
- package/dist/esm/components/Breadcrumb/index.mjs.map +1 -1
- package/dist/esm/components/Browser/Browser.mjs +1 -2
- package/dist/esm/components/Browser/Browser.mjs.map +1 -1
- package/dist/esm/components/ClickOutsideDiv/index.mjs +0 -1
- package/dist/esm/components/ClickOutsideDiv/index.mjs.map +1 -1
- package/dist/esm/components/CollapsibleTable/CollapsibleTable.mjs +1 -2
- package/dist/esm/components/CollapsibleTable/CollapsibleTable.mjs.map +1 -1
- package/dist/esm/components/Command/index.mjs +0 -1
- package/dist/esm/components/Command/index.mjs.map +1 -1
- package/dist/esm/components/ContentEditor/ContentEditor.mjs +1 -2
- package/dist/esm/components/ContentEditor/ContentEditor.mjs.map +1 -1
- package/dist/esm/components/ContentEditor/ContentEditorInput.mjs +1 -2
- package/dist/esm/components/ContentEditor/ContentEditorInput.mjs.map +1 -1
- package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs +2 -3
- package/dist/esm/components/ContentEditor/ContentEditorTextArea.mjs.map +1 -1
- package/dist/esm/components/ContentSelector/ContentSelector.mjs +0 -1
- package/dist/esm/components/ContentSelector/ContentSelector.mjs.map +1 -1
- package/dist/esm/components/CopyButton/index.mjs +1 -2
- package/dist/esm/components/CopyButton/index.mjs.map +1 -1
- package/dist/esm/components/CopyToClipboard/index.mjs +1 -2
- package/dist/esm/components/CopyToClipboard/index.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/DictionaryEditor.mjs +1 -2
- package/dist/esm/components/DictionaryEditor/DictionaryEditor.mjs.map +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/FileWrapper.mjs +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/StringWrapper.mjs +1 -1
- package/dist/esm/components/DictionaryEditor/NodeWrapper/index.mjs +1 -2
- package/dist/esm/components/DictionaryEditor/NodeWrapper/index.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/ContentEditor.mjs +1 -2
- package/dist/esm/components/DictionaryFieldEditor/ContentEditor.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs +3 -4
- package/dist/esm/components/DictionaryFieldEditor/ContentEditorView/TextEditor.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs +1 -2
- package/dist/esm/components/DictionaryFieldEditor/DictionaryCreationForm/DictionaryCreationForm.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs +4 -5
- package/dist/esm/components/DictionaryFieldEditor/DictionaryDetails/DictionaryDetailsForm.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs +2 -3
- package/dist/esm/components/DictionaryFieldEditor/DictionaryFieldEditor.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/EnumKeyInput.mjs +0 -1
- package/dist/esm/components/DictionaryFieldEditor/EnumKeyInput.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/JSONEditor.mjs +1 -1
- package/dist/esm/components/DictionaryFieldEditor/NavigationView/NavigationViewNode.mjs +2 -2
- package/dist/esm/components/DictionaryFieldEditor/NodeTypeSelector.mjs +0 -1
- package/dist/esm/components/DictionaryFieldEditor/NodeTypeSelector.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs +4 -5
- package/dist/esm/components/DictionaryFieldEditor/SaveForm/SaveForm.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/StructureEditor.mjs +1 -2
- package/dist/esm/components/DictionaryFieldEditor/StructureEditor.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs +1 -2
- package/dist/esm/components/DictionaryFieldEditor/StructureView/StructureView.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.mjs +0 -1
- package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcher.mjs.map +1 -1
- package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.mjs +0 -1
- package/dist/esm/components/DictionaryFieldEditor/VersionSwitcherDropDown/VersionSwitcherContext.mjs.map +1 -1
- package/dist/esm/components/EditableField/EditableFieldInput.mjs +0 -1
- package/dist/esm/components/EditableField/EditableFieldInput.mjs.map +1 -1
- package/dist/esm/components/EditableField/EditableFieldLayout.mjs +1 -2
- package/dist/esm/components/EditableField/EditableFieldLayout.mjs.map +1 -1
- package/dist/esm/components/EditableField/EditableFieldTextArea.mjs +0 -1
- package/dist/esm/components/EditableField/EditableFieldTextArea.mjs.map +1 -1
- package/dist/esm/components/ExpandCollapse/ExpandCollapse.mjs +0 -1
- package/dist/esm/components/ExpandCollapse/ExpandCollapse.mjs.map +1 -1
- package/dist/esm/components/Form/FormBase.mjs +0 -1
- package/dist/esm/components/Form/FormBase.mjs.map +1 -1
- package/dist/esm/components/Form/FormControl.mjs +0 -1
- package/dist/esm/components/Form/FormControl.mjs.map +1 -1
- package/dist/esm/components/Form/FormDescription.mjs +0 -1
- package/dist/esm/components/Form/FormDescription.mjs.map +1 -1
- package/dist/esm/components/Form/FormField.mjs +0 -1
- package/dist/esm/components/Form/FormField.mjs.map +1 -1
- package/dist/esm/components/Form/FormItem.mjs +0 -1
- package/dist/esm/components/Form/FormItem.mjs.map +1 -1
- package/dist/esm/components/Form/FormLabel.mjs +0 -1
- package/dist/esm/components/Form/FormLabel.mjs.map +1 -1
- package/dist/esm/components/Form/FormMessage.mjs +0 -1
- package/dist/esm/components/Form/FormMessage.mjs.map +1 -1
- package/dist/esm/components/Form/elements/FormElement.mjs +0 -1
- package/dist/esm/components/Form/elements/FormElement.mjs.map +1 -1
- package/dist/esm/components/Form/elements/FormElementWrapper.mjs +0 -1
- package/dist/esm/components/Form/elements/FormElementWrapper.mjs.map +1 -1
- package/dist/esm/components/Form/elements/MultiselectElement.mjs +0 -1
- package/dist/esm/components/Form/elements/MultiselectElement.mjs.map +1 -1
- package/dist/esm/components/Form/elements/OTPElement.mjs +0 -1
- package/dist/esm/components/Form/elements/OTPElement.mjs.map +1 -1
- package/dist/esm/components/Form/elements/SelectElement.mjs +0 -1
- package/dist/esm/components/Form/elements/SelectElement.mjs.map +1 -1
- package/dist/esm/components/Form/elements/SwitchSelectorElement.mjs +0 -1
- package/dist/esm/components/Form/elements/SwitchSelectorElement.mjs.map +1 -1
- package/dist/esm/components/HeightResizer/index.mjs +0 -1
- package/dist/esm/components/HeightResizer/index.mjs.map +1 -1
- package/dist/esm/components/HideShow/index.mjs +1 -2
- package/dist/esm/components/HideShow/index.mjs.map +1 -1
- package/dist/esm/components/IDE/CodeBlockShiki.mjs +0 -1
- package/dist/esm/components/IDE/CodeBlockShiki.mjs.map +1 -1
- package/dist/esm/components/IDE/CodeConditionalRenderer.mjs +0 -1
- package/dist/esm/components/IDE/CodeConditionalRenderer.mjs.map +1 -1
- package/dist/esm/components/IDE/CodeContext.mjs +0 -1
- package/dist/esm/components/IDE/CodeContext.mjs.map +1 -1
- package/dist/esm/components/IDE/CodeFormatSelector.mjs +0 -1
- package/dist/esm/components/IDE/CodeFormatSelector.mjs.map +1 -1
- package/dist/esm/components/IDE/ContentDeclarationFormatSelector.mjs +0 -1
- package/dist/esm/components/IDE/ContentDeclarationFormatSelector.mjs.map +1 -1
- package/dist/esm/components/IDE/CopyCode.mjs +0 -1
- package/dist/esm/components/IDE/CopyCode.mjs.map +1 -1
- package/dist/esm/components/IDE/FileTree.mjs +1 -2
- package/dist/esm/components/IDE/FileTree.mjs.map +1 -1
- package/dist/esm/components/IDE/IDE.mjs +0 -1
- package/dist/esm/components/IDE/IDE.mjs.map +1 -1
- package/dist/esm/components/IDE/MonacoCode.mjs +0 -1
- package/dist/esm/components/IDE/MonacoCode.mjs.map +1 -1
- package/dist/esm/components/IDE/PackageManagerSelector.mjs +0 -1
- package/dist/esm/components/IDE/PackageManagerSelector.mjs.map +1 -1
- package/dist/esm/components/Input/InputPassword.mjs +1 -2
- package/dist/esm/components/Input/InputPassword.mjs.map +1 -1
- package/dist/esm/components/Input/OTPInput.mjs +1 -2
- package/dist/esm/components/Input/OTPInput.mjs.map +1 -1
- package/dist/esm/components/KeyboardScreenAdapter/index.mjs +1 -2
- package/dist/esm/components/KeyboardScreenAdapter/index.mjs.map +1 -1
- package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs +2 -3
- package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContent.mjs.map +1 -1
- package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.mjs +0 -1
- package/dist/esm/components/LocaleSwitcherContentDropDown/LocaleSwitcherContentContext.mjs.map +1 -1
- package/dist/esm/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs +1 -2
- package/dist/esm/components/LocaleSwitcherDropDown/LocaleSwitcher.mjs.map +1 -1
- package/dist/esm/components/Modal/Modal.mjs +3 -4
- package/dist/esm/components/Modal/Modal.mjs.map +1 -1
- package/dist/esm/components/Navbar/DesktopNavbar.mjs +0 -1
- package/dist/esm/components/Navbar/DesktopNavbar.mjs.map +1 -1
- package/dist/esm/components/Navbar/MobileNavbar.mjs +2 -3
- package/dist/esm/components/Navbar/MobileNavbar.mjs.map +1 -1
- package/dist/esm/components/Navbar/index.mjs +0 -1
- package/dist/esm/components/Navbar/index.mjs.map +1 -1
- package/dist/esm/components/Navbar/useNavigation.mjs +0 -1
- package/dist/esm/components/Navbar/useNavigation.mjs.map +1 -1
- package/dist/esm/components/Pagination/NumberItemsSelector.mjs +0 -1
- package/dist/esm/components/Pagination/NumberItemsSelector.mjs.map +1 -1
- package/dist/esm/components/Pagination/Pagination.mjs +0 -1
- package/dist/esm/components/Pagination/Pagination.mjs.map +1 -1
- package/dist/esm/components/Pagination/ShowingResultsNumberItems.mjs +0 -1
- package/dist/esm/components/Pagination/ShowingResultsNumberItems.mjs.map +1 -1
- package/dist/esm/components/Popover/dynamic.mjs +0 -1
- package/dist/esm/components/Popover/dynamic.mjs.map +1 -1
- package/dist/esm/components/PressableSpan/PressableSpan.mjs +0 -1
- package/dist/esm/components/PressableSpan/PressableSpan.mjs.map +1 -1
- package/dist/esm/components/RightDrawer/RightDrawer.mjs +3 -4
- package/dist/esm/components/RightDrawer/RightDrawer.mjs.map +1 -1
- package/dist/esm/components/Select/Multiselect.mjs +1 -2
- package/dist/esm/components/Select/Multiselect.mjs.map +1 -1
- package/dist/esm/components/Select/Select.mjs +0 -1
- package/dist/esm/components/Select/Select.mjs.map +1 -1
- package/dist/esm/components/SwitchSelector/index.mjs +1 -2
- package/dist/esm/components/SwitchSelector/index.mjs.map +1 -1
- package/dist/esm/components/Tab/Tab.mjs +1 -2
- package/dist/esm/components/Tab/Tab.mjs.map +1 -1
- package/dist/esm/components/Tab/TabContext.mjs +0 -1
- package/dist/esm/components/Tab/TabContext.mjs.map +1 -1
- package/dist/esm/components/TabSelector/TabSelector.mjs +1 -2
- package/dist/esm/components/TabSelector/TabSelector.mjs.map +1 -1
- package/dist/esm/components/Table/Table.mjs +1 -2
- package/dist/esm/components/Table/Table.mjs.map +1 -1
- package/dist/esm/components/TextArea/AutoSizeTextArea.mjs +0 -1
- package/dist/esm/components/TextArea/AutoSizeTextArea.mjs.map +1 -1
- package/dist/esm/components/TextArea/AutocompleteTextArea.mjs +1 -2
- package/dist/esm/components/TextArea/AutocompleteTextArea.mjs.map +1 -1
- package/dist/esm/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs +1 -2
- package/dist/esm/components/ThemeSwitcherDropDown/DesktopThemeSwitcher.mjs.map +1 -1
- package/dist/esm/components/ThemeSwitcherDropDown/MobileThemeSwitcher.mjs +1 -2
- package/dist/esm/components/ThemeSwitcherDropDown/MobileThemeSwitcher.mjs.map +1 -1
- package/dist/esm/components/Toaster/Toast.mjs +0 -1
- package/dist/esm/components/Toaster/Toast.mjs.map +1 -1
- package/dist/esm/components/Toaster/Toaster.mjs +0 -1
- package/dist/esm/components/Toaster/Toaster.mjs.map +1 -1
- package/dist/esm/components/Toaster/useToast.mjs +0 -1
- package/dist/esm/components/Toaster/useToast.mjs.map +1 -1
- package/dist/esm/components/WithResizer/index.mjs +0 -1
- package/dist/esm/components/WithResizer/index.mjs.map +1 -1
- package/dist/esm/hooks/reactQuery.mjs +0 -1
- package/dist/esm/hooks/reactQuery.mjs.map +1 -1
- package/dist/esm/hooks/useAuth/useAuth.mjs +0 -1
- package/dist/esm/hooks/useAuth/useAuth.mjs.map +1 -1
- package/dist/esm/hooks/useAuth/useOAuth2.mjs +0 -1
- package/dist/esm/hooks/useAuth/useOAuth2.mjs.map +1 -1
- package/dist/esm/hooks/useAuth/useSession.mjs +0 -1
- package/dist/esm/hooks/useAuth/useSession.mjs.map +1 -1
- package/dist/esm/hooks/useDevice.mjs +0 -1
- package/dist/esm/hooks/useDevice.mjs.map +1 -1
- package/dist/esm/hooks/useGetElementOrWindow.mjs +0 -1
- package/dist/esm/hooks/useGetElementOrWindow.mjs.map +1 -1
- package/dist/esm/hooks/useHorizontalSwipe.mjs +0 -1
- package/dist/esm/hooks/useHorizontalSwipe.mjs.map +1 -1
- package/dist/esm/hooks/useIsDarkMode.mjs +0 -1
- package/dist/esm/hooks/useIsDarkMode.mjs.map +1 -1
- package/dist/esm/hooks/useIsMounted.mjs +0 -1
- package/dist/esm/hooks/useIsMounted.mjs.map +1 -1
- package/dist/esm/hooks/useItemSelector.mjs +0 -1
- package/dist/esm/hooks/useItemSelector.mjs.map +1 -1
- package/dist/esm/hooks/useKeyboardDetector.mjs +0 -1
- package/dist/esm/hooks/useKeyboardDetector.mjs.map +1 -1
- package/dist/esm/hooks/usePersistedStore.mjs +0 -1
- package/dist/esm/hooks/usePersistedStore.mjs.map +1 -1
- package/dist/esm/hooks/useScreenWidth.mjs +0 -1
- package/dist/esm/hooks/useScreenWidth.mjs.map +1 -1
- package/dist/esm/hooks/useScrollBlockage/index.mjs +0 -1
- package/dist/esm/hooks/useScrollBlockage/index.mjs.map +1 -1
- package/dist/esm/hooks/useScrollDetection.mjs +0 -1
- package/dist/esm/hooks/useScrollDetection.mjs.map +1 -1
- package/dist/esm/hooks/useScrollY.mjs +0 -1
- package/dist/esm/hooks/useScrollY.mjs.map +1 -1
- package/dist/esm/hooks/useSearch.mjs +0 -1
- package/dist/esm/hooks/useSearch.mjs.map +1 -1
- package/dist/esm/hooks/useUser/index.mjs +0 -1
- package/dist/esm/hooks/useUser/index.mjs.map +1 -1
- package/dist/esm/providers/ReactQueryProvider.mjs +1 -2
- package/dist/esm/providers/ReactQueryProvider.mjs.map +1 -1
- package/dist/types/components/Badge/index.d.ts +2 -2
- package/dist/types/components/Breadcrumb/index.d.ts +2 -2
- package/dist/types/components/Breadcrumb/index.d.ts.map +1 -1
- package/dist/types/components/Browser/Browser.content.d.ts +11 -11
- package/dist/types/components/Browser/Browser.content.d.ts.map +1 -1
- package/dist/types/components/Button/Button.d.ts +6 -6
- package/dist/types/components/Button/Button.d.ts.map +1 -1
- package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts +4 -4
- package/dist/types/components/CollapsibleTable/CollapsibleTable.d.ts.map +1 -1
- package/dist/types/components/Command/index.d.ts +17 -17
- package/dist/types/components/Command/index.d.ts.map +1 -1
- package/dist/types/components/Container/index.d.ts +8 -8
- package/dist/types/components/Container/index.d.ts.map +1 -1
- package/dist/types/components/CopyButton/CopyButton.content.d.ts +3 -3
- package/dist/types/components/CopyButton/CopyButton.content.d.ts.map +1 -1
- package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/dictionaryCreationForm.content.d.ts +25 -25
- package/dist/types/components/DictionaryFieldEditor/DictionaryCreationForm/useDictionaryFormSchema.content.d.ts +9 -9
- package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/dictionaryDetails.content.d.ts +33 -33
- package/dist/types/components/DictionaryFieldEditor/DictionaryDetails/useDictionaryDetailsSchema.content.d.ts +25 -25
- package/dist/types/components/DictionaryFieldEditor/NavigationView/navigationViewNode.content.d.ts +25 -25
- package/dist/types/components/DictionaryFieldEditor/SaveForm/saveForm.content.d.ts +33 -33
- package/dist/types/components/DictionaryFieldEditor/StructureView/structureView.content.d.ts +9 -9
- package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.d.ts +7 -7
- package/dist/types/components/DictionaryFieldEditor/VersionSwitcherDropDown/versionSwitcherDropDown.content.d.ts.map +1 -1
- package/dist/types/components/DictionaryFieldEditor/dictionaryFieldEditor.content.d.ts +5 -5
- package/dist/types/components/DictionaryFieldEditor/nodeTypeSelector.content.d.ts +31 -31
- package/dist/types/components/DictionaryFieldEditor/nodeTypeSelector.content.d.ts.map +1 -1
- package/dist/types/components/ExpandCollapse/expandCollapse.content.d.ts +3 -3
- package/dist/types/components/Form/FormBase.d.ts +2 -2
- package/dist/types/components/Form/FormField.d.ts +2 -2
- package/dist/types/components/Form/FormItem.d.ts +2 -2
- package/dist/types/components/Form/elements/EditableFieldInputElement.d.ts +2 -2
- package/dist/types/components/Form/elements/EditableFieldTextAreaElement.d.ts +2 -2
- package/dist/types/components/Form/elements/EditableFieldTextAreaElement.d.ts.map +1 -1
- package/dist/types/components/Form/elements/FormElement.d.ts +2 -2
- package/dist/types/components/Form/elements/FormElement.d.ts.map +1 -1
- package/dist/types/components/Form/elements/MultiselectElement.d.ts +2 -2
- package/dist/types/components/Form/elements/MultiselectElement.d.ts.map +1 -1
- package/dist/types/components/Form/elements/OTPElement.d.ts +2 -2
- package/dist/types/components/Form/elements/OTPElement.d.ts.map +1 -1
- package/dist/types/components/Form/elements/SelectElement.d.ts +2 -2
- package/dist/types/components/Form/elements/SelectElement.d.ts.map +1 -1
- package/dist/types/components/Form/elements/SwitchSelectorElement.d.ts +2 -2
- package/dist/types/components/Form/elements/SwitchSelectorElement.d.ts.map +1 -1
- package/dist/types/components/IDE/CodeContext.d.ts +2 -2
- package/dist/types/components/IDE/code.content.d.ts +5 -5
- package/dist/types/components/IDE/copyCode.content.d.ts +5 -5
- package/dist/types/components/Input/Checkbox.d.ts +4 -4
- package/dist/types/components/Input/Checkbox.d.ts.map +1 -1
- package/dist/types/components/Input/Input.d.ts +2 -2
- package/dist/types/components/Input/Input.d.ts.map +1 -1
- package/dist/types/components/Input/OTPInput.d.ts +7 -7
- package/dist/types/components/Input/OTPInput.d.ts.map +1 -1
- package/dist/types/components/Input/SearchInput.d.ts +2 -2
- package/dist/types/components/Link/Link.d.ts +3 -3
- package/dist/types/components/Loader/index.content.d.ts +3 -3
- package/dist/types/components/LocaleSwitcherContentDropDown/localeSwitcher.content.d.ts +17 -17
- package/dist/types/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts +13 -13
- package/dist/types/components/LocaleSwitcherDropDown/localeSwitcher.content.d.ts.map +1 -1
- package/dist/types/components/MarkDownRender/processor.d.ts.map +1 -1
- package/dist/types/components/MaxWidthSmoother/index.d.ts +2 -2
- package/dist/types/components/Navbar/Burger.d.ts +2 -2
- package/dist/types/components/Navbar/Burger.d.ts.map +1 -1
- package/dist/types/components/Navbar/DesktopNavbar.d.ts +2 -2
- package/dist/types/components/Navbar/MobileNavbar.d.ts +2 -2
- package/dist/types/components/Navbar/MobileNavbar.d.ts.map +1 -1
- package/dist/types/components/Navbar/index.d.ts +2 -2
- package/dist/types/components/Navbar/index.d.ts.map +1 -1
- package/dist/types/components/Pagination/Pagination.d.ts +5 -5
- package/dist/types/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/types/components/Pagination/pagination.content.d.ts +11 -11
- package/dist/types/components/Popover/static.d.ts +3 -3
- package/dist/types/components/Popover/static.d.ts.map +1 -1
- package/dist/types/components/RightDrawer/useRightDrawerStore.d.ts +2 -2
- package/dist/types/components/Select/Select.d.ts +3 -3
- package/dist/types/components/SocialNetworks/index.d.ts +2 -2
- package/dist/types/components/SocialNetworks/index.d.ts.map +1 -1
- package/dist/types/components/SwitchSelector/index.d.ts +5 -5
- package/dist/types/components/SwitchSelector/index.d.ts.map +1 -1
- package/dist/types/components/Tab/Tab.d.ts +6 -6
- package/dist/types/components/Tab/Tab.d.ts.map +1 -1
- package/dist/types/components/Tab/TabContext.d.ts +2 -2
- package/dist/types/components/Tab/TabContext.d.ts.map +1 -1
- package/dist/types/components/TabSelector/TabSelector.d.ts +5 -5
- package/dist/types/components/TabSelector/TabSelector.d.ts.map +1 -1
- package/dist/types/components/Table/table.content.d.ts +3 -3
- package/dist/types/components/Table/table.content.d.ts.map +1 -1
- package/dist/types/components/Tag/index.d.ts +5 -5
- package/dist/types/components/Tag/index.d.ts.map +1 -1
- package/dist/types/components/Toaster/Toast.d.ts +2 -2
- package/dist/types/components/Toaster/Toaster.d.ts +2 -2
- package/dist/types/components/Toaster/Toaster.d.ts.map +1 -1
- package/dist/types/hooks/useScrollBlockage/useScrollBlockageStore.d.ts +2 -2
- package/dist/types/hooks/useScrollY.d.ts.map +1 -1
- package/package.json +17 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHorizontalSwipe.mjs","names":["onPointerDown: PointerEventHandler<HTMLDivElement>","onPointerMove: PointerEventHandler<HTMLDivElement>","onPointerUp: PointerEventHandler<HTMLDivElement>","onPointerCancel: PointerEventHandler<HTMLDivElement>"],"sources":["../../../src/hooks/useHorizontalSwipe.ts"],"sourcesContent":["'use client';\n\nimport {\n type CSSProperties,\n type PointerEvent,\n type PointerEventHandler,\n type RefObject,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nexport type HorizontalSwipeConfig = {\n onSwipeLeft?: () => void; // move to next item\n onSwipeRight?: () => void; // move to previous item\n enable?: boolean;\n itemIndex: number;\n itemCount: number;\n thresholdPct?: number; // percentage of width required to trigger\n touchAction?: string; // CSS touch-action for the container, defaults to 'pan-y'\n disableWhenSelectingText?: boolean; // if true, do not swipe while text selection is active\n};\n\nexport type HorizontalSwipeHook = {\n containerRef: RefObject<HTMLDivElement>;\n isDragging: boolean;\n dragDeltaPct: number;\n containerProps: {\n ref: RefObject<HTMLDivElement>;\n onPointerDown: PointerEventHandler<HTMLDivElement>;\n onPointerMove: PointerEventHandler<HTMLDivElement>;\n onPointerUp: PointerEventHandler<HTMLDivElement>;\n onPointerCancel: PointerEventHandler<HTMLDivElement>;\n style: CSSProperties;\n };\n};\n\nexport const useHorizontalSwipe = (\n config: HorizontalSwipeConfig\n): HorizontalSwipeHook => {\n const {\n enable = true,\n onSwipeLeft,\n onSwipeRight,\n itemIndex,\n itemCount,\n thresholdPct = 20,\n touchAction = 'pan-y',\n disableWhenSelectingText = true,\n } = config;\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n const [isDragging, setIsDragging] = useState(false);\n const [dragDeltaPct, setDragDeltaPct] = useState(0);\n const pointerStateRef = useRef<{\n pointerId: number | null;\n startX: number;\n startY: number;\n lastX: number;\n axisLocked: boolean;\n isHorizontal: boolean;\n }>({\n pointerId: null,\n startX: 0,\n startY: 0,\n lastX: 0,\n axisLocked: false,\n isHorizontal: false,\n });\n\n const isTextSelectingRef = useRef<boolean>(false);\n\n const getContainerWidth = () => {\n const node = containerRef.current;\n return node ? node.clientWidth : 0;\n };\n\n const applyEdgeResistance = (pct: number) => {\n const atFirst = itemIndex <= 0;\n const atLast = itemIndex >= itemCount - 1;\n\n if ((atFirst && pct > 0) || (atLast && pct < 0)) {\n const magnitude = Math.abs(pct);\n const resistance = 1 + magnitude / 30;\n return pct / resistance;\n }\n\n return pct;\n };\n\n const onPointerDown: PointerEventHandler<HTMLDivElement> = (e) => {\n if (!enable) return;\n if (pointerStateRef.current.pointerId !== null) return;\n pointerStateRef.current.pointerId = e.pointerId;\n pointerStateRef.current.startX = e.clientX;\n pointerStateRef.current.startY = e.clientY;\n pointerStateRef.current.lastX = e.clientX;\n pointerStateRef.current.axisLocked = false;\n pointerStateRef.current.isHorizontal = false;\n isTextSelectingRef.current = false;\n setIsDragging(false);\n setDragDeltaPct(0);\n };\n\n const onPointerMove: PointerEventHandler<HTMLDivElement> = (e) => {\n if (!enable) return;\n if (pointerStateRef.current.pointerId !== e.pointerId) return;\n\n const width = getContainerWidth();\n if (!width) return;\n\n const dx = e.clientX - pointerStateRef.current.startX;\n const dy = e.clientY - pointerStateRef.current.startY;\n\n // If user is selecting text, do not engage swipe\n if (disableWhenSelectingText) {\n const sel =\n typeof window !== 'undefined' ? window.getSelection?.() : null;\n const isSelecting = !!sel && sel.rangeCount > 0 && !sel.isCollapsed;\n if (isSelecting) {\n isTextSelectingRef.current = true;\n return;\n }\n }\n\n if (!pointerStateRef.current.axisLocked) {\n const absDx = Math.abs(dx);\n const absDy = Math.abs(dy);\n if (absDx > 6 || absDy > 6) {\n pointerStateRef.current.axisLocked = true;\n pointerStateRef.current.isHorizontal = absDx > absDy;\n }\n }\n\n if (!pointerStateRef.current.isHorizontal) {\n return;\n }\n\n // Defer pointer capture until a horizontal gesture is confirmed\n try {\n (\n e.currentTarget as Element & { setPointerCapture: (id: number) => void }\n ).setPointerCapture(e.pointerId);\n } catch {}\n\n e.preventDefault();\n\n if (!isDragging) setIsDragging(true);\n\n const pct = (dx / width) * 100;\n setDragDeltaPct(applyEdgeResistance(pct));\n pointerStateRef.current.lastX = e.clientX;\n };\n\n const endDrag = (e: PointerEvent<HTMLDivElement>) => {\n try {\n (\n e.currentTarget as Element & {\n releasePointerCapture: (id: number) => void;\n }\n ).releasePointerCapture(e.pointerId);\n } catch {}\n\n const wasHorizontal = pointerStateRef.current.isHorizontal;\n const delta = dragDeltaPct;\n\n setIsDragging(false);\n setDragDeltaPct(0);\n pointerStateRef.current.pointerId = null;\n pointerStateRef.current.axisLocked = false;\n pointerStateRef.current.isHorizontal = false;\n\n if (isTextSelectingRef.current) {\n isTextSelectingRef.current = false;\n return;\n }\n\n if (!wasHorizontal) return;\n\n if (delta > thresholdPct) {\n onSwipeRight?.();\n } else if (delta < -thresholdPct) {\n onSwipeLeft?.();\n }\n };\n\n const onPointerUp: PointerEventHandler<HTMLDivElement> = (e) => {\n if (!enable) return;\n if (pointerStateRef.current.pointerId !== e.pointerId) return;\n endDrag(e);\n };\n\n const onPointerCancel: PointerEventHandler<HTMLDivElement> = (e) => {\n if (!enable) return;\n if (pointerStateRef.current.pointerId !== e.pointerId) return;\n endDrag(e);\n };\n\n useEffect(() => {\n setDragDeltaPct(0);\n setIsDragging(false);\n }, [itemIndex]);\n\n const style: CSSProperties = { touchAction };\n\n return {\n containerRef: containerRef as RefObject<HTMLDivElement>,\n isDragging,\n dragDeltaPct,\n containerProps: {\n ref: containerRef as RefObject<HTMLDivElement>,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n onPointerCancel,\n style,\n },\n };\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useHorizontalSwipe.mjs","names":["onPointerDown: PointerEventHandler<HTMLDivElement>","onPointerMove: PointerEventHandler<HTMLDivElement>","onPointerUp: PointerEventHandler<HTMLDivElement>","onPointerCancel: PointerEventHandler<HTMLDivElement>"],"sources":["../../../src/hooks/useHorizontalSwipe.ts"],"sourcesContent":["'use client';\n\nimport {\n type CSSProperties,\n type PointerEvent,\n type PointerEventHandler,\n type RefObject,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nexport type HorizontalSwipeConfig = {\n onSwipeLeft?: () => void; // move to next item\n onSwipeRight?: () => void; // move to previous item\n enable?: boolean;\n itemIndex: number;\n itemCount: number;\n thresholdPct?: number; // percentage of width required to trigger\n touchAction?: string; // CSS touch-action for the container, defaults to 'pan-y'\n disableWhenSelectingText?: boolean; // if true, do not swipe while text selection is active\n};\n\nexport type HorizontalSwipeHook = {\n containerRef: RefObject<HTMLDivElement>;\n isDragging: boolean;\n dragDeltaPct: number;\n containerProps: {\n ref: RefObject<HTMLDivElement>;\n onPointerDown: PointerEventHandler<HTMLDivElement>;\n onPointerMove: PointerEventHandler<HTMLDivElement>;\n onPointerUp: PointerEventHandler<HTMLDivElement>;\n onPointerCancel: PointerEventHandler<HTMLDivElement>;\n style: CSSProperties;\n };\n};\n\nexport const useHorizontalSwipe = (\n config: HorizontalSwipeConfig\n): HorizontalSwipeHook => {\n const {\n enable = true,\n onSwipeLeft,\n onSwipeRight,\n itemIndex,\n itemCount,\n thresholdPct = 20,\n touchAction = 'pan-y',\n disableWhenSelectingText = true,\n } = config;\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n const [isDragging, setIsDragging] = useState(false);\n const [dragDeltaPct, setDragDeltaPct] = useState(0);\n const pointerStateRef = useRef<{\n pointerId: number | null;\n startX: number;\n startY: number;\n lastX: number;\n axisLocked: boolean;\n isHorizontal: boolean;\n }>({\n pointerId: null,\n startX: 0,\n startY: 0,\n lastX: 0,\n axisLocked: false,\n isHorizontal: false,\n });\n\n const isTextSelectingRef = useRef<boolean>(false);\n\n const getContainerWidth = () => {\n const node = containerRef.current;\n return node ? node.clientWidth : 0;\n };\n\n const applyEdgeResistance = (pct: number) => {\n const atFirst = itemIndex <= 0;\n const atLast = itemIndex >= itemCount - 1;\n\n if ((atFirst && pct > 0) || (atLast && pct < 0)) {\n const magnitude = Math.abs(pct);\n const resistance = 1 + magnitude / 30;\n return pct / resistance;\n }\n\n return pct;\n };\n\n const onPointerDown: PointerEventHandler<HTMLDivElement> = (e) => {\n if (!enable) return;\n if (pointerStateRef.current.pointerId !== null) return;\n pointerStateRef.current.pointerId = e.pointerId;\n pointerStateRef.current.startX = e.clientX;\n pointerStateRef.current.startY = e.clientY;\n pointerStateRef.current.lastX = e.clientX;\n pointerStateRef.current.axisLocked = false;\n pointerStateRef.current.isHorizontal = false;\n isTextSelectingRef.current = false;\n setIsDragging(false);\n setDragDeltaPct(0);\n };\n\n const onPointerMove: PointerEventHandler<HTMLDivElement> = (e) => {\n if (!enable) return;\n if (pointerStateRef.current.pointerId !== e.pointerId) return;\n\n const width = getContainerWidth();\n if (!width) return;\n\n const dx = e.clientX - pointerStateRef.current.startX;\n const dy = e.clientY - pointerStateRef.current.startY;\n\n // If user is selecting text, do not engage swipe\n if (disableWhenSelectingText) {\n const sel =\n typeof window !== 'undefined' ? window.getSelection?.() : null;\n const isSelecting = !!sel && sel.rangeCount > 0 && !sel.isCollapsed;\n if (isSelecting) {\n isTextSelectingRef.current = true;\n return;\n }\n }\n\n if (!pointerStateRef.current.axisLocked) {\n const absDx = Math.abs(dx);\n const absDy = Math.abs(dy);\n if (absDx > 6 || absDy > 6) {\n pointerStateRef.current.axisLocked = true;\n pointerStateRef.current.isHorizontal = absDx > absDy;\n }\n }\n\n if (!pointerStateRef.current.isHorizontal) {\n return;\n }\n\n // Defer pointer capture until a horizontal gesture is confirmed\n try {\n (\n e.currentTarget as Element & { setPointerCapture: (id: number) => void }\n ).setPointerCapture(e.pointerId);\n } catch {}\n\n e.preventDefault();\n\n if (!isDragging) setIsDragging(true);\n\n const pct = (dx / width) * 100;\n setDragDeltaPct(applyEdgeResistance(pct));\n pointerStateRef.current.lastX = e.clientX;\n };\n\n const endDrag = (e: PointerEvent<HTMLDivElement>) => {\n try {\n (\n e.currentTarget as Element & {\n releasePointerCapture: (id: number) => void;\n }\n ).releasePointerCapture(e.pointerId);\n } catch {}\n\n const wasHorizontal = pointerStateRef.current.isHorizontal;\n const delta = dragDeltaPct;\n\n setIsDragging(false);\n setDragDeltaPct(0);\n pointerStateRef.current.pointerId = null;\n pointerStateRef.current.axisLocked = false;\n pointerStateRef.current.isHorizontal = false;\n\n if (isTextSelectingRef.current) {\n isTextSelectingRef.current = false;\n return;\n }\n\n if (!wasHorizontal) return;\n\n if (delta > thresholdPct) {\n onSwipeRight?.();\n } else if (delta < -thresholdPct) {\n onSwipeLeft?.();\n }\n };\n\n const onPointerUp: PointerEventHandler<HTMLDivElement> = (e) => {\n if (!enable) return;\n if (pointerStateRef.current.pointerId !== e.pointerId) return;\n endDrag(e);\n };\n\n const onPointerCancel: PointerEventHandler<HTMLDivElement> = (e) => {\n if (!enable) return;\n if (pointerStateRef.current.pointerId !== e.pointerId) return;\n endDrag(e);\n };\n\n useEffect(() => {\n setDragDeltaPct(0);\n setIsDragging(false);\n }, [itemIndex]);\n\n const style: CSSProperties = { touchAction };\n\n return {\n containerRef: containerRef as RefObject<HTMLDivElement>,\n isDragging,\n dragDeltaPct,\n containerProps: {\n ref: containerRef as RefObject<HTMLDivElement>,\n onPointerDown,\n onPointerMove,\n onPointerUp,\n onPointerCancel,\n style,\n },\n };\n};\n"],"mappings":";;;;;AAqCA,MAAa,sBACX,WACwB;CACxB,MAAM,EACJ,SAAS,MACT,aACA,cACA,WACA,WACA,eAAe,IACf,cAAc,SACd,2BAA2B,SACzB;CAEJ,MAAM,eAAe,OAA8B,KAAK;CACxD,MAAM,CAAC,YAAY,iBAAiB,SAAS,MAAM;CACnD,MAAM,CAAC,cAAc,mBAAmB,SAAS,EAAE;CACnD,MAAM,kBAAkB,OAOrB;EACD,WAAW;EACX,QAAQ;EACR,QAAQ;EACR,OAAO;EACP,YAAY;EACZ,cAAc;EACf,CAAC;CAEF,MAAM,qBAAqB,OAAgB,MAAM;CAEjD,MAAM,0BAA0B;EAC9B,MAAM,OAAO,aAAa;AAC1B,SAAO,OAAO,KAAK,cAAc;;CAGnC,MAAM,uBAAuB,QAAgB;EAC3C,MAAM,UAAU,aAAa;EAC7B,MAAM,SAAS,aAAa,YAAY;AAExC,MAAK,WAAW,MAAM,KAAO,UAAU,MAAM,EAG3C,QAAO,OADY,IADD,KAAK,IAAI,IAAI,GACI;AAIrC,SAAO;;CAGT,MAAMA,iBAAsD,MAAM;AAChE,MAAI,CAAC,OAAQ;AACb,MAAI,gBAAgB,QAAQ,cAAc,KAAM;AAChD,kBAAgB,QAAQ,YAAY,EAAE;AACtC,kBAAgB,QAAQ,SAAS,EAAE;AACnC,kBAAgB,QAAQ,SAAS,EAAE;AACnC,kBAAgB,QAAQ,QAAQ,EAAE;AAClC,kBAAgB,QAAQ,aAAa;AACrC,kBAAgB,QAAQ,eAAe;AACvC,qBAAmB,UAAU;AAC7B,gBAAc,MAAM;AACpB,kBAAgB,EAAE;;CAGpB,MAAMC,iBAAsD,MAAM;AAChE,MAAI,CAAC,OAAQ;AACb,MAAI,gBAAgB,QAAQ,cAAc,EAAE,UAAW;EAEvD,MAAM,QAAQ,mBAAmB;AACjC,MAAI,CAAC,MAAO;EAEZ,MAAM,KAAK,EAAE,UAAU,gBAAgB,QAAQ;EAC/C,MAAM,KAAK,EAAE,UAAU,gBAAgB,QAAQ;AAG/C,MAAI,0BAA0B;GAC5B,MAAM,MACJ,OAAO,WAAW,cAAc,OAAO,gBAAgB,GAAG;AAE5D,OADoB,CAAC,CAAC,OAAO,IAAI,aAAa,KAAK,CAAC,IAAI,aACvC;AACf,uBAAmB,UAAU;AAC7B;;;AAIJ,MAAI,CAAC,gBAAgB,QAAQ,YAAY;GACvC,MAAM,QAAQ,KAAK,IAAI,GAAG;GAC1B,MAAM,QAAQ,KAAK,IAAI,GAAG;AAC1B,OAAI,QAAQ,KAAK,QAAQ,GAAG;AAC1B,oBAAgB,QAAQ,aAAa;AACrC,oBAAgB,QAAQ,eAAe,QAAQ;;;AAInD,MAAI,CAAC,gBAAgB,QAAQ,aAC3B;AAIF,MAAI;AACF,GACE,EAAE,cACF,kBAAkB,EAAE,UAAU;UAC1B;AAER,IAAE,gBAAgB;AAElB,MAAI,CAAC,WAAY,eAAc,KAAK;AAGpC,kBAAgB,oBADH,KAAK,QAAS,IACa,CAAC;AACzC,kBAAgB,QAAQ,QAAQ,EAAE;;CAGpC,MAAM,WAAW,MAAoC;AACnD,MAAI;AACF,GACE,EAAE,cAGF,sBAAsB,EAAE,UAAU;UAC9B;EAER,MAAM,gBAAgB,gBAAgB,QAAQ;EAC9C,MAAM,QAAQ;AAEd,gBAAc,MAAM;AACpB,kBAAgB,EAAE;AAClB,kBAAgB,QAAQ,YAAY;AACpC,kBAAgB,QAAQ,aAAa;AACrC,kBAAgB,QAAQ,eAAe;AAEvC,MAAI,mBAAmB,SAAS;AAC9B,sBAAmB,UAAU;AAC7B;;AAGF,MAAI,CAAC,cAAe;AAEpB,MAAI,QAAQ,aACV,iBAAgB;WACP,QAAQ,CAAC,aAClB,gBAAe;;CAInB,MAAMC,eAAoD,MAAM;AAC9D,MAAI,CAAC,OAAQ;AACb,MAAI,gBAAgB,QAAQ,cAAc,EAAE,UAAW;AACvD,UAAQ,EAAE;;CAGZ,MAAMC,mBAAwD,MAAM;AAClE,MAAI,CAAC,OAAQ;AACb,MAAI,gBAAgB,QAAQ,cAAc,EAAE,UAAW;AACvD,UAAQ,EAAE;;AAGZ,iBAAgB;AACd,kBAAgB,EAAE;AAClB,gBAAc,MAAM;IACnB,CAAC,UAAU,CAAC;AAIf,QAAO;EACS;EACd;EACA;EACA,gBAAgB;GACd,KAAK;GACL;GACA;GACA;GACA;GACA,OAZyB,EAAE,aAAa;GAazC;EACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIsDarkMode.mjs","names":[],"sources":["../../../src/hooks/useIsDarkMode.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport const useIsDarkMode = () => {\n const [isDarkMode, setIsDarkMode] = useState(false);\n\n useEffect(() => {\n const htmlElement = document.querySelector('html');\n const isDarkMode = htmlElement?.getAttribute('data-theme') === 'dark';\n setIsDarkMode(isDarkMode);\n }, []);\n\n return isDarkMode;\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useIsDarkMode.mjs","names":[],"sources":["../../../src/hooks/useIsDarkMode.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport const useIsDarkMode = () => {\n const [isDarkMode, setIsDarkMode] = useState(false);\n\n useEffect(() => {\n const htmlElement = document.querySelector('html');\n const isDarkMode = htmlElement?.getAttribute('data-theme') === 'dark';\n setIsDarkMode(isDarkMode);\n }, []);\n\n return isDarkMode;\n};\n"],"mappings":";;;;;AAIA,MAAa,sBAAsB;CACjC,MAAM,CAAC,YAAY,iBAAiB,SAAS,MAAM;AAEnD,iBAAgB;AAGd,gBAFoB,SAAS,cAAc,OAAO,EAClB,aAAa,aAAa,KAAK,OACtC;IACxB,EAAE,CAAC;AAEN,QAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIsMounted.mjs","names":[],"sources":["../../../src/hooks/useIsMounted.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport const useIsMounted = () => {\n const [isMounted, setIsMounted] = useState(false);\n\n useEffect(() => {\n setIsMounted(true);\n }, []);\n\n return isMounted;\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useIsMounted.mjs","names":[],"sources":["../../../src/hooks/useIsMounted.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport const useIsMounted = () => {\n const [isMounted, setIsMounted] = useState(false);\n\n useEffect(() => {\n setIsMounted(true);\n }, []);\n\n return isMounted;\n};\n"],"mappings":";;;;;AAIA,MAAa,qBAAqB;CAChC,MAAM,CAAC,WAAW,gBAAgB,SAAS,MAAM;AAEjD,iBAAgB;AACd,eAAa,KAAK;IACjB,EAAE,CAAC;AAEN,QAAO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useItemSelector.mjs","names":["targetElement: HTMLElement | null","mutationObservers: MutationObserver[]","resizeObservers: ResizeObserver[]"],"sources":["../../../src/hooks/useItemSelector.ts"],"sourcesContent":["'use client';\n\nimport { type RefObject, useEffect, useState } from 'react';\n\ntype StyleState = {\n left: number;\n width: number;\n opacity: number;\n};\n\nconst selectorDefault = (option: HTMLElement) =>\n option?.getAttribute('aria-selected') === 'true';\n\ntype Options = {\n selector?: (option: HTMLElement, index: number) => boolean;\n isHoverable?: boolean;\n};\n\nexport const useItemSelector = (\n optionsRefs: RefObject<HTMLElement[]>,\n { selector = selectorDefault, isHoverable = false }: Options = {\n selector: selectorDefault,\n isHoverable: false,\n }\n) => {\n const [choiceIndicatorPosition, setChoiceIndicatorPosition] =\n useState<StyleState | null>(null);\n\n const [hoveredItem, setHoveredItem] = useState<HTMLElement | null>(null);\n\n const itemsLength = optionsRefs.current.length;\n\n const calculatePosition = () => {\n let targetElement: HTMLElement | null = null;\n\n if (hoveredItem) {\n targetElement = hoveredItem;\n } else {\n targetElement = optionsRefs.current.find(selector) ?? null;\n }\n\n if (!targetElement) {\n setChoiceIndicatorPosition((prev) => ({\n left: 0,\n width: 0,\n ...prev,\n opacity: 0,\n }));\n return;\n }\n\n const left = targetElement.offsetLeft;\n const width = targetElement.offsetWidth;\n\n setChoiceIndicatorPosition({\n left,\n width,\n opacity: 1,\n });\n };\n\n useEffect(() => {\n calculatePosition();\n\n // Event listeners for window events\n window.addEventListener('resize', calculatePosition);\n window.addEventListener('DOMContentLoaded', calculatePosition);\n\n // MutationObserver to watch for 'aria-selected' changes\n const mutationObservers: MutationObserver[] = [];\n\n optionsRefs.current.forEach((option) => {\n if (option) {\n const observer = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n if (\n mutation.type === 'attributes' &&\n mutation.attributeName === 'aria-selected'\n ) {\n calculatePosition();\n break;\n }\n }\n });\n\n observer.observe(option, {\n attributes: true,\n attributeFilter: ['aria-selected'],\n });\n\n mutationObservers.push(observer);\n }\n });\n\n // ResizeObserver to watch for size changes\n const resizeObservers: ResizeObserver[] = [];\n\n const observeSize = (element: HTMLElement) => {\n if (!element) return;\n const resizeObserver = new ResizeObserver(() => {\n calculatePosition();\n });\n resizeObserver.observe(element);\n resizeObservers.push(resizeObserver);\n };\n\n // Observe the selected item\n const selectedItem = optionsRefs.current.find(selector) ?? null;\n\n if (selectedItem) {\n observeSize(selectedItem);\n }\n\n // Observe the hovered item\n if (hoveredItem) {\n observeSize(hoveredItem);\n }\n\n // Add hover event listeners\n const handleMouseEnter = (event: Event) => {\n setHoveredItem(event.currentTarget as HTMLElement);\n };\n\n const handleMouseLeave = () => {\n setHoveredItem(null);\n };\n\n if (isHoverable) {\n optionsRefs.current.forEach((option) => {\n option?.addEventListener('mouseenter', handleMouseEnter, {\n passive: true,\n });\n option?.addEventListener('mouseleave', handleMouseLeave, {\n passive: true,\n });\n });\n }\n\n return () => {\n // Cleanup window event listeners\n window.removeEventListener('resize', calculatePosition);\n window.removeEventListener('DOMContentLoaded', calculatePosition);\n\n // Disconnect MutationObservers\n mutationObservers.forEach((observer) => {\n observer.disconnect();\n });\n\n // Disconnect ResizeObservers\n resizeObservers.forEach((observer) => {\n observer.disconnect();\n });\n\n // Remove hover event listeners\n optionsRefs.current.forEach((option) => {\n option?.removeEventListener('mouseenter', handleMouseEnter);\n option?.removeEventListener('mouseleave', handleMouseLeave);\n });\n };\n }, [optionsRefs, selector, hoveredItem, itemsLength]);\n\n return { choiceIndicatorPosition, calculatePosition };\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useItemSelector.mjs","names":["targetElement: HTMLElement | null","mutationObservers: MutationObserver[]","resizeObservers: ResizeObserver[]"],"sources":["../../../src/hooks/useItemSelector.ts"],"sourcesContent":["'use client';\n\nimport { type RefObject, useEffect, useState } from 'react';\n\ntype StyleState = {\n left: number;\n width: number;\n opacity: number;\n};\n\nconst selectorDefault = (option: HTMLElement) =>\n option?.getAttribute('aria-selected') === 'true';\n\ntype Options = {\n selector?: (option: HTMLElement, index: number) => boolean;\n isHoverable?: boolean;\n};\n\nexport const useItemSelector = (\n optionsRefs: RefObject<HTMLElement[]>,\n { selector = selectorDefault, isHoverable = false }: Options = {\n selector: selectorDefault,\n isHoverable: false,\n }\n) => {\n const [choiceIndicatorPosition, setChoiceIndicatorPosition] =\n useState<StyleState | null>(null);\n\n const [hoveredItem, setHoveredItem] = useState<HTMLElement | null>(null);\n\n const itemsLength = optionsRefs.current.length;\n\n const calculatePosition = () => {\n let targetElement: HTMLElement | null = null;\n\n if (hoveredItem) {\n targetElement = hoveredItem;\n } else {\n targetElement = optionsRefs.current.find(selector) ?? null;\n }\n\n if (!targetElement) {\n setChoiceIndicatorPosition((prev) => ({\n left: 0,\n width: 0,\n ...prev,\n opacity: 0,\n }));\n return;\n }\n\n const left = targetElement.offsetLeft;\n const width = targetElement.offsetWidth;\n\n setChoiceIndicatorPosition({\n left,\n width,\n opacity: 1,\n });\n };\n\n useEffect(() => {\n calculatePosition();\n\n // Event listeners for window events\n window.addEventListener('resize', calculatePosition);\n window.addEventListener('DOMContentLoaded', calculatePosition);\n\n // MutationObserver to watch for 'aria-selected' changes\n const mutationObservers: MutationObserver[] = [];\n\n optionsRefs.current.forEach((option) => {\n if (option) {\n const observer = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n if (\n mutation.type === 'attributes' &&\n mutation.attributeName === 'aria-selected'\n ) {\n calculatePosition();\n break;\n }\n }\n });\n\n observer.observe(option, {\n attributes: true,\n attributeFilter: ['aria-selected'],\n });\n\n mutationObservers.push(observer);\n }\n });\n\n // ResizeObserver to watch for size changes\n const resizeObservers: ResizeObserver[] = [];\n\n const observeSize = (element: HTMLElement) => {\n if (!element) return;\n const resizeObserver = new ResizeObserver(() => {\n calculatePosition();\n });\n resizeObserver.observe(element);\n resizeObservers.push(resizeObserver);\n };\n\n // Observe the selected item\n const selectedItem = optionsRefs.current.find(selector) ?? null;\n\n if (selectedItem) {\n observeSize(selectedItem);\n }\n\n // Observe the hovered item\n if (hoveredItem) {\n observeSize(hoveredItem);\n }\n\n // Add hover event listeners\n const handleMouseEnter = (event: Event) => {\n setHoveredItem(event.currentTarget as HTMLElement);\n };\n\n const handleMouseLeave = () => {\n setHoveredItem(null);\n };\n\n if (isHoverable) {\n optionsRefs.current.forEach((option) => {\n option?.addEventListener('mouseenter', handleMouseEnter, {\n passive: true,\n });\n option?.addEventListener('mouseleave', handleMouseLeave, {\n passive: true,\n });\n });\n }\n\n return () => {\n // Cleanup window event listeners\n window.removeEventListener('resize', calculatePosition);\n window.removeEventListener('DOMContentLoaded', calculatePosition);\n\n // Disconnect MutationObservers\n mutationObservers.forEach((observer) => {\n observer.disconnect();\n });\n\n // Disconnect ResizeObservers\n resizeObservers.forEach((observer) => {\n observer.disconnect();\n });\n\n // Remove hover event listeners\n optionsRefs.current.forEach((option) => {\n option?.removeEventListener('mouseenter', handleMouseEnter);\n option?.removeEventListener('mouseleave', handleMouseLeave);\n });\n };\n }, [optionsRefs, selector, hoveredItem, itemsLength]);\n\n return { choiceIndicatorPosition, calculatePosition };\n};\n"],"mappings":";;;;;AAUA,MAAM,mBAAmB,WACvB,QAAQ,aAAa,gBAAgB,KAAK;AAO5C,MAAa,mBACX,aACA,EAAE,WAAW,iBAAiB,cAAc,UAAmB;CAC7D,UAAU;CACV,aAAa;CACd,KACE;CACH,MAAM,CAAC,yBAAyB,8BAC9B,SAA4B,KAAK;CAEnC,MAAM,CAAC,aAAa,kBAAkB,SAA6B,KAAK;CAExE,MAAM,cAAc,YAAY,QAAQ;CAExC,MAAM,0BAA0B;EAC9B,IAAIA,gBAAoC;AAExC,MAAI,YACF,iBAAgB;MAEhB,iBAAgB,YAAY,QAAQ,KAAK,SAAS,IAAI;AAGxD,MAAI,CAAC,eAAe;AAClB,+BAA4B,UAAU;IACpC,MAAM;IACN,OAAO;IACP,GAAG;IACH,SAAS;IACV,EAAE;AACH;;EAGF,MAAM,OAAO,cAAc;EAC3B,MAAM,QAAQ,cAAc;AAE5B,6BAA2B;GACzB;GACA;GACA,SAAS;GACV,CAAC;;AAGJ,iBAAgB;AACd,qBAAmB;AAGnB,SAAO,iBAAiB,UAAU,kBAAkB;AACpD,SAAO,iBAAiB,oBAAoB,kBAAkB;EAG9D,MAAMC,oBAAwC,EAAE;AAEhD,cAAY,QAAQ,SAAS,WAAW;AACtC,OAAI,QAAQ;IACV,MAAM,WAAW,IAAI,kBAAkB,cAAc;AACnD,UAAK,MAAM,YAAY,UACrB,KACE,SAAS,SAAS,gBAClB,SAAS,kBAAkB,iBAC3B;AACA,yBAAmB;AACnB;;MAGJ;AAEF,aAAS,QAAQ,QAAQ;KACvB,YAAY;KACZ,iBAAiB,CAAC,gBAAgB;KACnC,CAAC;AAEF,sBAAkB,KAAK,SAAS;;IAElC;EAGF,MAAMC,kBAAoC,EAAE;EAE5C,MAAM,eAAe,YAAyB;AAC5C,OAAI,CAAC,QAAS;GACd,MAAM,iBAAiB,IAAI,qBAAqB;AAC9C,uBAAmB;KACnB;AACF,kBAAe,QAAQ,QAAQ;AAC/B,mBAAgB,KAAK,eAAe;;EAItC,MAAM,eAAe,YAAY,QAAQ,KAAK,SAAS,IAAI;AAE3D,MAAI,aACF,aAAY,aAAa;AAI3B,MAAI,YACF,aAAY,YAAY;EAI1B,MAAM,oBAAoB,UAAiB;AACzC,kBAAe,MAAM,cAA6B;;EAGpD,MAAM,yBAAyB;AAC7B,kBAAe,KAAK;;AAGtB,MAAI,YACF,aAAY,QAAQ,SAAS,WAAW;AACtC,WAAQ,iBAAiB,cAAc,kBAAkB,EACvD,SAAS,MACV,CAAC;AACF,WAAQ,iBAAiB,cAAc,kBAAkB,EACvD,SAAS,MACV,CAAC;IACF;AAGJ,eAAa;AAEX,UAAO,oBAAoB,UAAU,kBAAkB;AACvD,UAAO,oBAAoB,oBAAoB,kBAAkB;AAGjE,qBAAkB,SAAS,aAAa;AACtC,aAAS,YAAY;KACrB;AAGF,mBAAgB,SAAS,aAAa;AACpC,aAAS,YAAY;KACrB;AAGF,eAAY,QAAQ,SAAS,WAAW;AACtC,YAAQ,oBAAoB,cAAc,iBAAiB;AAC3D,YAAQ,oBAAoB,cAAc,iBAAiB;KAC3D;;IAEH;EAAC;EAAa;EAAU;EAAa;EAAY,CAAC;AAErD,QAAO;EAAE;EAAyB;EAAmB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useKeyboardDetector.mjs","names":[],"sources":["../../../src/hooks/useKeyboardDetector.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport const useKeyboardDetector = () => {\n const [windowHeight, setWindowHeight] = useState<number | null>(null);\n\n useEffect(() => {\n const updateHeight = () => {\n const isKeyboardOpen = Boolean(\n window.visualViewport?.height &&\n window.visualViewport.height < window.innerHeight - 100\n );\n\n if (isKeyboardOpen && window.visualViewport) {\n setWindowHeight(window.visualViewport.height);\n } else {\n setWindowHeight(null);\n }\n };\n\n // Listen for changes in visualViewport height\n window.visualViewport?.addEventListener('resize', updateHeight, {\n passive: true,\n });\n updateHeight(); // Set initial height\n\n return () => {\n window.visualViewport?.removeEventListener('resize', updateHeight);\n };\n }, []);\n\n return { windowHeight, isKeyboardOpen: windowHeight !== null };\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useKeyboardDetector.mjs","names":[],"sources":["../../../src/hooks/useKeyboardDetector.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport const useKeyboardDetector = () => {\n const [windowHeight, setWindowHeight] = useState<number | null>(null);\n\n useEffect(() => {\n const updateHeight = () => {\n const isKeyboardOpen = Boolean(\n window.visualViewport?.height &&\n window.visualViewport.height < window.innerHeight - 100\n );\n\n if (isKeyboardOpen && window.visualViewport) {\n setWindowHeight(window.visualViewport.height);\n } else {\n setWindowHeight(null);\n }\n };\n\n // Listen for changes in visualViewport height\n window.visualViewport?.addEventListener('resize', updateHeight, {\n passive: true,\n });\n updateHeight(); // Set initial height\n\n return () => {\n window.visualViewport?.removeEventListener('resize', updateHeight);\n };\n }, []);\n\n return { windowHeight, isKeyboardOpen: windowHeight !== null };\n};\n"],"mappings":";;;;;AAIA,MAAa,4BAA4B;CACvC,MAAM,CAAC,cAAc,mBAAmB,SAAwB,KAAK;AAErE,iBAAgB;EACd,MAAM,qBAAqB;AAMzB,OALuB,QACrB,OAAO,gBAAgB,UACrB,OAAO,eAAe,SAAS,OAAO,cAAc,IACvD,IAEqB,OAAO,eAC3B,iBAAgB,OAAO,eAAe,OAAO;OAE7C,iBAAgB,KAAK;;AAKzB,SAAO,gBAAgB,iBAAiB,UAAU,cAAc,EAC9D,SAAS,MACV,CAAC;AACF,gBAAc;AAEd,eAAa;AACX,UAAO,gBAAgB,oBAAoB,UAAU,aAAa;;IAEnE,EAAE,CAAC;AAEN,QAAO;EAAE;EAAc,gBAAgB,iBAAiB;EAAM"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePersistedStore.mjs","names":["result: S","setStateWrapper: typeof setState","newValue: S"],"sources":["../../../src/hooks/usePersistedStore.ts"],"sourcesContent":["'use client';\n\nimport {\n type Dispatch,\n type SetStateAction,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react';\n\nexport const usePersistedStore = <S>(\n key: string,\n initialState?: S | (() => S)\n): [S, Dispatch<SetStateAction<S>>, () => void] => {\n const [state, setState] = useState<S>(() => {\n // If you have an initial value on the client, send a message out immediately\n if (initialState !== undefined) {\n const result: S =\n typeof initialState === 'function'\n ? (initialState as () => S)()\n : initialState;\n\n if (typeof window === 'undefined') return result;\n\n const persistedState = localStorage?.getItem(key);\n\n if (persistedState) {\n try {\n return JSON.parse(persistedState);\n } catch (e) {\n console.error(e);\n }\n }\n\n return result;\n }\n\n return undefined as S;\n });\n\n useEffect(() => {\n const persistedState = localStorage?.getItem(key);\n\n if (persistedState && state === undefined) {\n try {\n setState(JSON.parse(persistedState));\n } catch (e) {\n console.error(e);\n }\n } else if (initialState !== undefined && state === undefined) {\n setState(initialState);\n }\n }, [key, state]);\n\n /**\n * Allows setting state either directly or via a functional update.\n * If passed a function, we merge/update based on the previous state.\n */\n const setStateWrapper: typeof setState = useCallback(\n (valueOrUpdater: SetStateAction<S>) => {\n setState((prev) => {\n const newValue: S =\n typeof valueOrUpdater === 'function'\n ? (valueOrUpdater as (prevVal: S) => S)(prev)\n : valueOrUpdater;\n\n localStorage?.setItem(key, JSON.stringify(newValue));\n\n return newValue;\n });\n },\n [key, setState]\n );\n\n const loadState = useCallback(() => {\n const savedState = localStorage?.getItem(key);\n if (savedState) {\n setState(JSON.parse(savedState));\n }\n }, [key, setState]);\n\n return useMemo(\n () => [state, setStateWrapper, loadState],\n [state, setStateWrapper, loadState]\n );\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"usePersistedStore.mjs","names":["result: S","setStateWrapper: typeof setState","newValue: S"],"sources":["../../../src/hooks/usePersistedStore.ts"],"sourcesContent":["'use client';\n\nimport {\n type Dispatch,\n type SetStateAction,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from 'react';\n\nexport const usePersistedStore = <S>(\n key: string,\n initialState?: S | (() => S)\n): [S, Dispatch<SetStateAction<S>>, () => void] => {\n const [state, setState] = useState<S>(() => {\n // If you have an initial value on the client, send a message out immediately\n if (initialState !== undefined) {\n const result: S =\n typeof initialState === 'function'\n ? (initialState as () => S)()\n : initialState;\n\n if (typeof window === 'undefined') return result;\n\n const persistedState = localStorage?.getItem(key);\n\n if (persistedState) {\n try {\n return JSON.parse(persistedState);\n } catch (e) {\n console.error(e);\n }\n }\n\n return result;\n }\n\n return undefined as S;\n });\n\n useEffect(() => {\n const persistedState = localStorage?.getItem(key);\n\n if (persistedState && state === undefined) {\n try {\n setState(JSON.parse(persistedState));\n } catch (e) {\n console.error(e);\n }\n } else if (initialState !== undefined && state === undefined) {\n setState(initialState);\n }\n }, [key, state]);\n\n /**\n * Allows setting state either directly or via a functional update.\n * If passed a function, we merge/update based on the previous state.\n */\n const setStateWrapper: typeof setState = useCallback(\n (valueOrUpdater: SetStateAction<S>) => {\n setState((prev) => {\n const newValue: S =\n typeof valueOrUpdater === 'function'\n ? (valueOrUpdater as (prevVal: S) => S)(prev)\n : valueOrUpdater;\n\n localStorage?.setItem(key, JSON.stringify(newValue));\n\n return newValue;\n });\n },\n [key, setState]\n );\n\n const loadState = useCallback(() => {\n const savedState = localStorage?.getItem(key);\n if (savedState) {\n setState(JSON.parse(savedState));\n }\n }, [key, setState]);\n\n return useMemo(\n () => [state, setStateWrapper, loadState],\n [state, setStateWrapper, loadState]\n );\n};\n"],"mappings":";;;;;AAWA,MAAa,qBACX,KACA,iBACiD;CACjD,MAAM,CAAC,OAAO,YAAY,eAAkB;AAE1C,MAAI,iBAAiB,QAAW;GAC9B,MAAMA,SACJ,OAAO,iBAAiB,aACnB,cAA0B,GAC3B;AAEN,OAAI,OAAO,WAAW,YAAa,QAAO;GAE1C,MAAM,iBAAiB,cAAc,QAAQ,IAAI;AAEjD,OAAI,eACF,KAAI;AACF,WAAO,KAAK,MAAM,eAAe;YAC1B,GAAG;AACV,YAAQ,MAAM,EAAE;;AAIpB,UAAO;;GAIT;AAEF,iBAAgB;EACd,MAAM,iBAAiB,cAAc,QAAQ,IAAI;AAEjD,MAAI,kBAAkB,UAAU,OAC9B,KAAI;AACF,YAAS,KAAK,MAAM,eAAe,CAAC;WAC7B,GAAG;AACV,WAAQ,MAAM,EAAE;;WAET,iBAAiB,UAAa,UAAU,OACjD,UAAS,aAAa;IAEvB,CAAC,KAAK,MAAM,CAAC;;;;;CAMhB,MAAMC,kBAAmC,aACtC,mBAAsC;AACrC,YAAU,SAAS;GACjB,MAAMC,WACJ,OAAO,mBAAmB,aACrB,eAAqC,KAAK,GAC3C;AAEN,iBAAc,QAAQ,KAAK,KAAK,UAAU,SAAS,CAAC;AAEpD,UAAO;IACP;IAEJ,CAAC,KAAK,SAAS,CAChB;CAED,MAAM,YAAY,kBAAkB;EAClC,MAAM,aAAa,cAAc,QAAQ,IAAI;AAC7C,MAAI,WACF,UAAS,KAAK,MAAM,WAAW,CAAC;IAEjC,CAAC,KAAK,SAAS,CAAC;AAEnB,QAAO,cACC;EAAC;EAAO;EAAiB;EAAU,EACzC;EAAC;EAAO;EAAiB;EAAU,CACpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useScreenWidth.mjs","names":[],"sources":["../../../src/hooks/useScreenWidth.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport const useScreenWidth = () => {\n const [screenWidth, setScreenWith] = useState<number>(0);\n\n useEffect(() => {\n const handleResize = () => {\n setScreenWith(window.innerWidth);\n };\n\n handleResize();\n\n window.addEventListener('resize', handleResize, { passive: true });\n\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n return { screenWidth };\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useScreenWidth.mjs","names":[],"sources":["../../../src/hooks/useScreenWidth.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useState } from 'react';\n\nexport const useScreenWidth = () => {\n const [screenWidth, setScreenWith] = useState<number>(0);\n\n useEffect(() => {\n const handleResize = () => {\n setScreenWith(window.innerWidth);\n };\n\n handleResize();\n\n window.addEventListener('resize', handleResize, { passive: true });\n\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n return { screenWidth };\n};\n"],"mappings":";;;;;AAIA,MAAa,uBAAuB;CAClC,MAAM,CAAC,aAAa,iBAAiB,SAAiB,EAAE;AAExD,iBAAgB;EACd,MAAM,qBAAqB;AACzB,iBAAc,OAAO,WAAW;;AAGlC,gBAAc;AAEd,SAAO,iBAAiB,UAAU,cAAc,EAAE,SAAS,MAAM,CAAC;AAElE,eAAa,OAAO,oBAAoB,UAAU,aAAa;IAC9D,EAAE,CAAC;AAEN,QAAO,EAAE,aAAa"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/hooks/useScrollBlockage/index.tsx"],"sourcesContent":["'use client';\n\nimport { useEffect } from 'react';\nimport { useShallow } from 'zustand/react/shallow';\nimport { useGetElementOrWindow } from '../useGetElementOrWindow';\n\nimport { useScrollBlockageStore } from './useScrollBlockageStore';\n\ntype useScrollBlockagePropsReadOnly = {\n disableScroll: undefined;\n key: undefined;\n element?: HTMLElement; // The element to block the scroll. If not defined, the window will be used\n};\n\ntype useScrollBlockageProps = {\n disableScroll: boolean;\n key: string; // The key to identify the blockage to avoid conflicts. Required if disableScroll is defined\n element?: HTMLElement; // The element to block the scroll. If not defined, the window will be used\n};\n\nexport const useScrollBlockage = (\n props?: useScrollBlockageProps | useScrollBlockagePropsReadOnly\n) => {\n const {\n disableScroll = false,\n element,\n key = 'unnamed_blocker',\n } = props ?? {};\n\n const { isElementScrollBlocked, addBlockage, removeBlockage } =\n useScrollBlockageStore(\n useShallow((s) => ({\n isElementScrollBlocked: s.isElementScrollBlocked,\n addBlockage: s.addBlockage,\n removeBlockage: s.removeBlockage,\n }))\n );\n\n const containerElement = useGetElementOrWindow(element);\n\n useEffect(() => {\n const el = element ?? window.document.body;\n\n if (disableScroll) {\n addBlockage(key, el);\n } else {\n removeBlockage(key, el);\n }\n }, [addBlockage, disableScroll, element, key, removeBlockage]);\n\n const isScrollBlocked = containerElement\n ? isElementScrollBlocked(containerElement)\n : false;\n\n return { isScrollBlocked };\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/hooks/useScrollBlockage/index.tsx"],"sourcesContent":["'use client';\n\nimport { useEffect } from 'react';\nimport { useShallow } from 'zustand/react/shallow';\nimport { useGetElementOrWindow } from '../useGetElementOrWindow';\n\nimport { useScrollBlockageStore } from './useScrollBlockageStore';\n\ntype useScrollBlockagePropsReadOnly = {\n disableScroll: undefined;\n key: undefined;\n element?: HTMLElement; // The element to block the scroll. If not defined, the window will be used\n};\n\ntype useScrollBlockageProps = {\n disableScroll: boolean;\n key: string; // The key to identify the blockage to avoid conflicts. Required if disableScroll is defined\n element?: HTMLElement; // The element to block the scroll. If not defined, the window will be used\n};\n\nexport const useScrollBlockage = (\n props?: useScrollBlockageProps | useScrollBlockagePropsReadOnly\n) => {\n const {\n disableScroll = false,\n element,\n key = 'unnamed_blocker',\n } = props ?? {};\n\n const { isElementScrollBlocked, addBlockage, removeBlockage } =\n useScrollBlockageStore(\n useShallow((s) => ({\n isElementScrollBlocked: s.isElementScrollBlocked,\n addBlockage: s.addBlockage,\n removeBlockage: s.removeBlockage,\n }))\n );\n\n const containerElement = useGetElementOrWindow(element);\n\n useEffect(() => {\n const el = element ?? window.document.body;\n\n if (disableScroll) {\n addBlockage(key, el);\n } else {\n removeBlockage(key, el);\n }\n }, [addBlockage, disableScroll, element, key, removeBlockage]);\n\n const isScrollBlocked = containerElement\n ? isElementScrollBlocked(containerElement)\n : false;\n\n return { isScrollBlocked };\n};\n"],"mappings":";;;;;;;;AAoBA,MAAa,qBACX,UACG;CACH,MAAM,EACJ,gBAAgB,OAChB,SACA,MAAM,sBACJ,SAAS,EAAE;CAEf,MAAM,EAAE,wBAAwB,aAAa,mBAC3C,uBACE,YAAY,OAAO;EACjB,wBAAwB,EAAE;EAC1B,aAAa,EAAE;EACf,gBAAgB,EAAE;EACnB,EAAE,CACJ;CAEH,MAAM,mBAAmB,sBAAsB,QAAQ;AAEvD,iBAAgB;EACd,MAAM,KAAK,WAAW,OAAO,SAAS;AAEtC,MAAI,cACF,aAAY,KAAK,GAAG;MAEpB,gBAAe,KAAK,GAAG;IAExB;EAAC;EAAa;EAAe;EAAS;EAAK;EAAe,CAAC;AAM9D,QAAO,EAAE,iBAJe,mBACpB,uBAAuB,iBAAiB,GACxC,OAEsB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useScrollDetection.mjs","names":["event"],"sources":["../../../src/hooks/useScrollDetection.ts"],"sourcesContent":["'use client';\n\nimport { useCallback, useEffect, useState } from 'react';\n\nimport { useGetElementOrWindow } from './useGetElementOrWindow';\nimport { useScrollBlockage } from './useScrollBlockage';\n\ntype useScrollDetectionProps = {\n isEnabled?: boolean;\n delta?: number; // how much user has to scroll to trigger the event\n deltaFromTop?: number; // how much user has to scroll from top to detect if the user has been scrolled\n onScrollDown?: (e: WheelEvent) => void;\n onScrollUp?: (e: WheelEvent) => void;\n element?: HTMLElement; // The element to detect the scroll on. If not defined, the window.document.body will be used\n};\n\nexport const useScrollDetection = (props?: useScrollDetectionProps) => {\n const {\n isEnabled = true,\n delta = 5,\n deltaFromTop = 0,\n onScrollDown,\n onScrollUp,\n element,\n } = props ?? {};\n\n const [isScrolled, setIsScrolled] = useState<boolean>(false);\n const [isScrollable, setIsScrollable] = useState<boolean>(false);\n\n const { isScrollBlocked } = useScrollBlockage();\n const containerElement = useGetElementOrWindow(element);\n\n const onMobileMove = useCallback(\n (event: globalThis.TouchEvent) => {\n const startY = event.touches?.[0]?.clientY ?? 0;\n\n const onMove = (event: globalThis.TouchEvent) => {\n if (isEnabled) {\n const currentY = event.touches?.[0]?.clientY ?? 0;\n const deltaY = startY - currentY;\n\n setIsScrolled(deltaY > 0);\n\n containerElement?.removeEventListener('touchmove', onMove);\n }\n };\n\n containerElement?.addEventListener('touchmove', onMove);\n },\n [isEnabled, containerElement]\n );\n\n const onScroll = useCallback(\n (e: WheelEvent) => {\n const isScrolledDown = e.deltaY > 0;\n\n if (isEnabled && !isScrollBlocked && isScrollable) {\n const isDeTected = Math.abs(e.deltaY) > Math.abs(delta);\n\n if (isDeTected) {\n if (isScrolledDown) {\n onScrollDown?.(e);\n } else {\n onScrollUp?.(e);\n }\n }\n\n setIsScrolled(window.scrollY > deltaFromTop);\n }\n },\n [isEnabled, isScrollBlocked, isScrollable]\n );\n\n useEffect(() => {\n if (isEnabled) {\n containerElement?.addEventListener('wheel', onScroll, { passive: true });\n containerElement?.addEventListener('touchstart', onMobileMove, {\n passive: true,\n });\n } else {\n setIsScrolled(false);\n }\n\n return () => {\n containerElement?.removeEventListener('wheel', onScroll);\n containerElement?.removeEventListener('touchstart', onMobileMove);\n };\n }, [isEnabled, onScroll, onMobileMove, containerElement]);\n\n useEffect(() => {\n const isScrollable = window.innerHeight < window.document.body.scrollHeight;\n\n setIsScrollable(isScrollable);\n }, []);\n\n return { isScrolled, isScrollable };\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useScrollDetection.mjs","names":["event"],"sources":["../../../src/hooks/useScrollDetection.ts"],"sourcesContent":["'use client';\n\nimport { useCallback, useEffect, useState } from 'react';\n\nimport { useGetElementOrWindow } from './useGetElementOrWindow';\nimport { useScrollBlockage } from './useScrollBlockage';\n\ntype useScrollDetectionProps = {\n isEnabled?: boolean;\n delta?: number; // how much user has to scroll to trigger the event\n deltaFromTop?: number; // how much user has to scroll from top to detect if the user has been scrolled\n onScrollDown?: (e: WheelEvent) => void;\n onScrollUp?: (e: WheelEvent) => void;\n element?: HTMLElement; // The element to detect the scroll on. If not defined, the window.document.body will be used\n};\n\nexport const useScrollDetection = (props?: useScrollDetectionProps) => {\n const {\n isEnabled = true,\n delta = 5,\n deltaFromTop = 0,\n onScrollDown,\n onScrollUp,\n element,\n } = props ?? {};\n\n const [isScrolled, setIsScrolled] = useState<boolean>(false);\n const [isScrollable, setIsScrollable] = useState<boolean>(false);\n\n const { isScrollBlocked } = useScrollBlockage();\n const containerElement = useGetElementOrWindow(element);\n\n const onMobileMove = useCallback(\n (event: globalThis.TouchEvent) => {\n const startY = event.touches?.[0]?.clientY ?? 0;\n\n const onMove = (event: globalThis.TouchEvent) => {\n if (isEnabled) {\n const currentY = event.touches?.[0]?.clientY ?? 0;\n const deltaY = startY - currentY;\n\n setIsScrolled(deltaY > 0);\n\n containerElement?.removeEventListener('touchmove', onMove);\n }\n };\n\n containerElement?.addEventListener('touchmove', onMove);\n },\n [isEnabled, containerElement]\n );\n\n const onScroll = useCallback(\n (e: WheelEvent) => {\n const isScrolledDown = e.deltaY > 0;\n\n if (isEnabled && !isScrollBlocked && isScrollable) {\n const isDeTected = Math.abs(e.deltaY) > Math.abs(delta);\n\n if (isDeTected) {\n if (isScrolledDown) {\n onScrollDown?.(e);\n } else {\n onScrollUp?.(e);\n }\n }\n\n setIsScrolled(window.scrollY > deltaFromTop);\n }\n },\n [isEnabled, isScrollBlocked, isScrollable]\n );\n\n useEffect(() => {\n if (isEnabled) {\n containerElement?.addEventListener('wheel', onScroll, { passive: true });\n containerElement?.addEventListener('touchstart', onMobileMove, {\n passive: true,\n });\n } else {\n setIsScrolled(false);\n }\n\n return () => {\n containerElement?.removeEventListener('wheel', onScroll);\n containerElement?.removeEventListener('touchstart', onMobileMove);\n };\n }, [isEnabled, onScroll, onMobileMove, containerElement]);\n\n useEffect(() => {\n const isScrollable = window.innerHeight < window.document.body.scrollHeight;\n\n setIsScrollable(isScrollable);\n }, []);\n\n return { isScrolled, isScrollable };\n};\n"],"mappings":";;;;;;;AAgBA,MAAa,sBAAsB,UAAoC;CACrE,MAAM,EACJ,YAAY,MACZ,QAAQ,GACR,eAAe,GACf,cACA,YACA,YACE,SAAS,EAAE;CAEf,MAAM,CAAC,YAAY,iBAAiB,SAAkB,MAAM;CAC5D,MAAM,CAAC,cAAc,mBAAmB,SAAkB,MAAM;CAEhE,MAAM,EAAE,oBAAoB,mBAAmB;CAC/C,MAAM,mBAAmB,sBAAsB,QAAQ;CAEvD,MAAM,eAAe,aAClB,UAAiC;EAChC,MAAM,SAAS,MAAM,UAAU,IAAI,WAAW;EAE9C,MAAM,UAAU,YAAiC;AAC/C,OAAI,WAAW;AAIb,kBAFe,UADEA,QAAM,UAAU,IAAI,WAAW,KAGzB,EAAE;AAEzB,sBAAkB,oBAAoB,aAAa,OAAO;;;AAI9D,oBAAkB,iBAAiB,aAAa,OAAO;IAEzD,CAAC,WAAW,iBAAiB,CAC9B;CAED,MAAM,WAAW,aACd,MAAkB;EACjB,MAAM,iBAAiB,EAAE,SAAS;AAElC,MAAI,aAAa,CAAC,mBAAmB,cAAc;AAGjD,OAFmB,KAAK,IAAI,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAGrD,KAAI,eACF,gBAAe,EAAE;OAEjB,cAAa,EAAE;AAInB,iBAAc,OAAO,UAAU,aAAa;;IAGhD;EAAC;EAAW;EAAiB;EAAa,CAC3C;AAED,iBAAgB;AACd,MAAI,WAAW;AACb,qBAAkB,iBAAiB,SAAS,UAAU,EAAE,SAAS,MAAM,CAAC;AACxE,qBAAkB,iBAAiB,cAAc,cAAc,EAC7D,SAAS,MACV,CAAC;QAEF,eAAc,MAAM;AAGtB,eAAa;AACX,qBAAkB,oBAAoB,SAAS,SAAS;AACxD,qBAAkB,oBAAoB,cAAc,aAAa;;IAElE;EAAC;EAAW;EAAU;EAAc;EAAiB,CAAC;AAEzD,iBAAgB;AAGd,kBAFqB,OAAO,cAAc,OAAO,SAAS,KAAK,aAElC;IAC5B,EAAE,CAAC;AAEN,QAAO;EAAE;EAAY;EAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useScrollY.mjs","names":["INITIAL_SCROLL_STATE: UseScrollYResult","lastSnapshot: UseScrollYResult"],"sources":["../../../src/hooks/useScrollY.ts"],"sourcesContent":["'use client';\n\nimport { useCallback, useSyncExternalStore } from 'react';\n\ntype UseScrollYResult = {\n scrollY: number;\n scrollPercentage: number;\n scrollYMax: number;\n};\n\nconst INITIAL_SCROLL_STATE: UseScrollYResult = {\n scrollY: 0,\n scrollPercentage: 0,\n scrollYMax: 0,\n};\n\nlet lastSnapshot: UseScrollYResult = INITIAL_SCROLL_STATE;\n\nexport const useScrollY = (): UseScrollYResult => {\n const subscribe = useCallback((onChange: () => void) => {\n if (typeof window === 'undefined') return () => {};\n let raf = 0;\n\n const handler = () => {\n if (raf) return;\n raf = window.requestAnimationFrame(() => {\n raf = 0;\n onChange();\n });\n };\n\n window.addEventListener('scroll', handler, { passive: true });\n\n return () => {\n window.removeEventListener('scroll', handler);\n if (raf) window.cancelAnimationFrame(raf);\n };\n }, []);\n\n const getSnapshot = (): UseScrollYResult => {\n if (typeof window === 'undefined') {\n return INITIAL_SCROLL_STATE; // SSR/hydration-safe\n }\n\n const doc = document.documentElement;\n const body = document.body;\n\n const scrollY =\n window.scrollY ??\n window.pageYOffset ??\n doc?.scrollTop ??\n body?.scrollTop ??\n 0;\n\n const scrollHeight = doc?.scrollHeight ?? body?.scrollHeight ?? 0;\n const clientHeight = doc?.clientHeight ?? window.innerHeight ?? 0;\n const scrollYMax = Math.max(0, scrollHeight - clientHeight);\n const scrollPercentage = scrollYMax > 0 ? scrollY / scrollYMax : 0;\n\n if (\n lastSnapshot.scrollY === scrollY &&\n lastSnapshot.scrollPercentage === scrollPercentage &&\n lastSnapshot.scrollYMax === scrollYMax\n ) {\n return lastSnapshot;\n }\n\n lastSnapshot = { scrollY, scrollPercentage, scrollYMax };\n return lastSnapshot;\n };\n\n const getServerSnapshot = (): UseScrollYResult => INITIAL_SCROLL_STATE;\n\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useScrollY.mjs","names":["INITIAL_SCROLL_STATE: UseScrollYResult","lastSnapshot: UseScrollYResult"],"sources":["../../../src/hooks/useScrollY.ts"],"sourcesContent":["'use client';\n\nimport { useCallback, useSyncExternalStore } from 'react';\n\ntype UseScrollYResult = {\n scrollY: number;\n scrollPercentage: number;\n scrollYMax: number;\n};\n\nconst INITIAL_SCROLL_STATE: UseScrollYResult = {\n scrollY: 0,\n scrollPercentage: 0,\n scrollYMax: 0,\n};\n\nlet lastSnapshot: UseScrollYResult = INITIAL_SCROLL_STATE;\n\nexport const useScrollY = (): UseScrollYResult => {\n const subscribe = useCallback((onChange: () => void) => {\n if (typeof window === 'undefined') return () => {};\n let raf = 0;\n\n const handler = () => {\n if (raf) return;\n raf = window.requestAnimationFrame(() => {\n raf = 0;\n onChange();\n });\n };\n\n window.addEventListener('scroll', handler, { passive: true });\n\n return () => {\n window.removeEventListener('scroll', handler);\n if (raf) window.cancelAnimationFrame(raf);\n };\n }, []);\n\n const getSnapshot = (): UseScrollYResult => {\n if (typeof window === 'undefined') {\n return INITIAL_SCROLL_STATE; // SSR/hydration-safe\n }\n\n const doc = document.documentElement;\n const body = document.body;\n\n const scrollY =\n window.scrollY ??\n window.pageYOffset ??\n doc?.scrollTop ??\n body?.scrollTop ??\n 0;\n\n const scrollHeight = doc?.scrollHeight ?? body?.scrollHeight ?? 0;\n const clientHeight = doc?.clientHeight ?? window.innerHeight ?? 0;\n const scrollYMax = Math.max(0, scrollHeight - clientHeight);\n const scrollPercentage = scrollYMax > 0 ? scrollY / scrollYMax : 0;\n\n if (\n lastSnapshot.scrollY === scrollY &&\n lastSnapshot.scrollPercentage === scrollPercentage &&\n lastSnapshot.scrollYMax === scrollYMax\n ) {\n return lastSnapshot;\n }\n\n lastSnapshot = { scrollY, scrollPercentage, scrollYMax };\n return lastSnapshot;\n };\n\n const getServerSnapshot = (): UseScrollYResult => INITIAL_SCROLL_STATE;\n\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n};\n"],"mappings":";;;;;AAUA,MAAMA,uBAAyC;CAC7C,SAAS;CACT,kBAAkB;CAClB,YAAY;CACb;AAED,IAAIC,eAAiC;AAErC,MAAa,mBAAqC;CAChD,MAAM,YAAY,aAAa,aAAyB;AACtD,MAAI,OAAO,WAAW,YAAa,cAAa;EAChD,IAAI,MAAM;EAEV,MAAM,gBAAgB;AACpB,OAAI,IAAK;AACT,SAAM,OAAO,4BAA4B;AACvC,UAAM;AACN,cAAU;KACV;;AAGJ,SAAO,iBAAiB,UAAU,SAAS,EAAE,SAAS,MAAM,CAAC;AAE7D,eAAa;AACX,UAAO,oBAAoB,UAAU,QAAQ;AAC7C,OAAI,IAAK,QAAO,qBAAqB,IAAI;;IAE1C,EAAE,CAAC;CAEN,MAAM,oBAAsC;AAC1C,MAAI,OAAO,WAAW,YACpB,QAAO;EAGT,MAAM,MAAM,SAAS;EACrB,MAAM,OAAO,SAAS;EAEtB,MAAM,UACJ,OAAO,WACP,OAAO,eACP,KAAK,aACL,MAAM,aACN;EAEF,MAAM,eAAe,KAAK,gBAAgB,MAAM,gBAAgB;EAChE,MAAM,eAAe,KAAK,gBAAgB,OAAO,eAAe;EAChE,MAAM,aAAa,KAAK,IAAI,GAAG,eAAe,aAAa;EAC3D,MAAM,mBAAmB,aAAa,IAAI,UAAU,aAAa;AAEjE,MACE,aAAa,YAAY,WACzB,aAAa,qBAAqB,oBAClC,aAAa,eAAe,WAE5B,QAAO;AAGT,iBAAe;GAAE;GAAS;GAAkB;GAAY;AACxD,SAAO;;CAGT,MAAM,0BAA4C;AAElD,QAAO,qBAAqB,WAAW,aAAa,kBAAkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSearch.mjs","names":[],"sources":["../../../src/hooks/useSearch.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useRef, useState } from 'react';\n\ntype UseSearchProps = {\n minChars?: number;\n debounceMs?: number;\n trim?: boolean;\n defaultValue?: string | null;\n onSearch?: (value: string) => void;\n onClear?: () => void;\n};\n\nexport const useSearch = (options?: UseSearchProps) => {\n const {\n minChars = 3,\n debounceMs = 300,\n trim = true,\n defaultValue,\n onSearch,\n onClear,\n } = options ?? {};\n const searchRef = useRef('');\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const [search, setDebouncedSearch] = useState<string>(defaultValue ?? '');\n\n const clearTimer = () => {\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n timerRef.current = null;\n }\n };\n\n const setSearch = (value: string) => {\n searchRef.current = value;\n const normalized = trim ? value.trim() : value;\n\n clearTimer();\n\n if (normalized.length < minChars) {\n setDebouncedSearch('');\n onClear?.();\n return;\n }\n\n timerRef.current = setTimeout(() => {\n const current = trim ? searchRef.current.trim() : searchRef.current;\n if (current.length >= minChars) {\n setDebouncedSearch(current);\n onSearch?.(current);\n } else {\n setDebouncedSearch('');\n onClear?.();\n }\n }, debounceMs);\n };\n\n useEffect(() => {\n return () => {\n clearTimer();\n };\n }, []);\n\n const hasMinChars = search.length >= minChars;\n\n return { setSearch, search, hasMinChars };\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useSearch.mjs","names":[],"sources":["../../../src/hooks/useSearch.ts"],"sourcesContent":["'use client';\n\nimport { useEffect, useRef, useState } from 'react';\n\ntype UseSearchProps = {\n minChars?: number;\n debounceMs?: number;\n trim?: boolean;\n defaultValue?: string | null;\n onSearch?: (value: string) => void;\n onClear?: () => void;\n};\n\nexport const useSearch = (options?: UseSearchProps) => {\n const {\n minChars = 3,\n debounceMs = 300,\n trim = true,\n defaultValue,\n onSearch,\n onClear,\n } = options ?? {};\n const searchRef = useRef('');\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const [search, setDebouncedSearch] = useState<string>(defaultValue ?? '');\n\n const clearTimer = () => {\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n timerRef.current = null;\n }\n };\n\n const setSearch = (value: string) => {\n searchRef.current = value;\n const normalized = trim ? value.trim() : value;\n\n clearTimer();\n\n if (normalized.length < minChars) {\n setDebouncedSearch('');\n onClear?.();\n return;\n }\n\n timerRef.current = setTimeout(() => {\n const current = trim ? searchRef.current.trim() : searchRef.current;\n if (current.length >= minChars) {\n setDebouncedSearch(current);\n onSearch?.(current);\n } else {\n setDebouncedSearch('');\n onClear?.();\n }\n }, debounceMs);\n };\n\n useEffect(() => {\n return () => {\n clearTimer();\n };\n }, []);\n\n const hasMinChars = search.length >= minChars;\n\n return { setSearch, search, hasMinChars };\n};\n"],"mappings":";;;;;AAaA,MAAa,aAAa,YAA6B;CACrD,MAAM,EACJ,WAAW,GACX,aAAa,KACb,OAAO,MACP,cACA,UACA,YACE,WAAW,EAAE;CACjB,MAAM,YAAY,OAAO,GAAG;CAC5B,MAAM,WAAW,OAA6C,KAAK;CACnE,MAAM,CAAC,QAAQ,sBAAsB,SAAiB,gBAAgB,GAAG;CAEzE,MAAM,mBAAmB;AACvB,MAAI,SAAS,SAAS;AACpB,gBAAa,SAAS,QAAQ;AAC9B,YAAS,UAAU;;;CAIvB,MAAM,aAAa,UAAkB;AACnC,YAAU,UAAU;EACpB,MAAM,aAAa,OAAO,MAAM,MAAM,GAAG;AAEzC,cAAY;AAEZ,MAAI,WAAW,SAAS,UAAU;AAChC,sBAAmB,GAAG;AACtB,cAAW;AACX;;AAGF,WAAS,UAAU,iBAAiB;GAClC,MAAM,UAAU,OAAO,UAAU,QAAQ,MAAM,GAAG,UAAU;AAC5D,OAAI,QAAQ,UAAU,UAAU;AAC9B,uBAAmB,QAAQ;AAC3B,eAAW,QAAQ;UACd;AACL,uBAAmB,GAAG;AACtB,eAAW;;KAEZ,WAAW;;AAGhB,iBAAgB;AACd,eAAa;AACX,eAAY;;IAEb,EAAE,CAAC;AAIN,QAAO;EAAE;EAAW;EAAQ,aAFR,OAAO,UAAU;EAEI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/hooks/useUser/index.ts"],"sourcesContent":["'use client';\n\nimport { useLogout } from '../reactQuery';\nimport { useAuth } from '../useAuth';\n\nexport const useUser = () => {\n const { session, revalidateSession, setSession } = useAuth();\n const { mutate: logout } = useLogout();\n\n const status = session?.user ? 'authenticated' : 'unauthenticated';\n\n const isAuthenticated = status === 'authenticated';\n const isUnauthenticated = status === 'unauthenticated';\n\n const user = session?.user;\n\n const logoutHandle = async () => {\n setSession(null);\n logout();\n };\n\n return {\n isAuthenticated,\n isUnauthenticated,\n user,\n revalidateSession,\n logout: logoutHandle,\n };\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/hooks/useUser/index.ts"],"sourcesContent":["'use client';\n\nimport { useLogout } from '../reactQuery';\nimport { useAuth } from '../useAuth';\n\nexport const useUser = () => {\n const { session, revalidateSession, setSession } = useAuth();\n const { mutate: logout } = useLogout();\n\n const status = session?.user ? 'authenticated' : 'unauthenticated';\n\n const isAuthenticated = status === 'authenticated';\n const isUnauthenticated = status === 'unauthenticated';\n\n const user = session?.user;\n\n const logoutHandle = async () => {\n setSession(null);\n logout();\n };\n\n return {\n isAuthenticated,\n isUnauthenticated,\n user,\n revalidateSession,\n logout: logoutHandle,\n };\n};\n"],"mappings":";;;;;;AAKA,MAAa,gBAAgB;CAC3B,MAAM,EAAE,SAAS,mBAAmB,eAAe,SAAS;CAC5D,MAAM,EAAE,QAAQ,WAAW,WAAW;CAEtC,MAAM,SAAS,SAAS,OAAO,kBAAkB;CAEjD,MAAM,kBAAkB,WAAW;CACnC,MAAM,oBAAoB,WAAW;CAErC,MAAM,OAAO,SAAS;CAEtB,MAAM,eAAe,YAAY;AAC/B,aAAW,KAAK;AAChB,UAAQ;;AAGV,QAAO;EACL;EACA;EACA;EACA;EACA,QAAQ;EACT"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
|
|
4
3
|
import { useToast } from "../components/Toaster/useToast.mjs";
|
|
5
|
-
import { MutationCache, QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
6
4
|
import { useRef } from "react";
|
|
7
5
|
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
import { MutationCache, QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
8
7
|
|
|
9
8
|
//#region src/providers/ReactQueryProvider.tsx
|
|
10
9
|
const defaultQueryOptions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactQueryProvider.mjs","names":["defaultQueryOptions: DefaultOptions","onError: MutationCache['config']['onError']","onSuccess: MutationCache['config']['onSuccess']","ReactQueryProvider: FC<PropsWithChildren>"],"sources":["../../../src/providers/ReactQueryProvider.tsx"],"sourcesContent":["'use client';\n\nimport {\n type DefaultOptions,\n MutationCache,\n QueryClient,\n QueryClientProvider,\n type QueryKey,\n type UseMutationOptions,\n} from '@tanstack/react-query';\nimport { type FC, type PropsWithChildren, useRef } from 'react';\nimport { useToast } from '../components/Toaster';\n\nconst defaultQueryOptions: DefaultOptions = {\n queries: {\n retry: 1,\n staleTime: 0,\n // Give the cache a little breathing room across route transitions:\n gcTime: 5 * 60 * 1000, // e.g. 5 minutes\n // You likely want to refetch on mount if data is stale (default is true).\n // Remove your overrides or force it:\n refetchOnMount: 'always',\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n },\n mutations: {\n retry: 0,\n },\n};\n\ndeclare module '@tanstack/react-query' {\n interface Register {\n mutationMeta: {\n onSuccess?: UseMutationOptions['onSuccess'];\n onError?: UseMutationOptions['onError'];\n invalidateQueries?: QueryKey[];\n resetQueries?: QueryKey[];\n };\n }\n}\n\nconst formatErrorCode = (errorCode: string) => errorCode.split('_').join(' ');\n\n/**\n * Hook to handle error logging and toast notifications\n */\nconst useToastEvents = () => {\n const { toast } = useToast();\n\n const onError: MutationCache['config']['onError'] = (error: any) => {\n const parsed = (() => {\n try {\n if (typeof error === 'string') return JSON.parse(error);\n } catch (_) {}\n return error;\n })();\n\n [parsed].flat().forEach((err: any) => {\n toast({\n title: formatErrorCode(\n (process.env.NODE_ENV === 'production' ? err?.title : err?.code) ??\n 'Error'\n ),\n description: err?.message ?? String(err ?? 'An error occurred'),\n variant: 'error',\n });\n });\n };\n\n const onSuccess: MutationCache['config']['onSuccess'] = (data: any) => {\n if (data?.error) {\n toast({\n title: formatErrorCode(data.error.title ?? data.error.code ?? 'Error'),\n description:\n data.error.message ?? data.error.code ?? 'An error occurred',\n variant: 'error',\n });\n }\n\n if (data?.message) {\n toast({\n title: data.message,\n description: data.description,\n variant: 'success',\n });\n }\n };\n\n return {\n onError,\n onSuccess,\n };\n};\n\nexport const ReactQueryProvider: FC<PropsWithChildren> = ({ children }) => {\n const { onError, onSuccess } = useToastEvents();\n const clientRef = useRef<QueryClient>(null);\n\n if (!clientRef.current) {\n const mutationCache = new MutationCache({\n onSuccess,\n onError,\n onSettled: (_data, _error, _variables, _context, mutation) => {\n if (mutation.meta?.invalidateQueries) {\n mutation.meta.invalidateQueries.forEach((queryKey) => {\n queryClient.invalidateQueries({\n queryKey,\n });\n });\n }\n\n if (mutation.meta?.resetQueries) {\n mutation.meta.resetQueries.forEach((queryKey) => {\n queryClient.resetQueries({\n queryKey,\n });\n });\n }\n },\n });\n\n const queryClient = new QueryClient({\n defaultOptions: defaultQueryOptions,\n mutationCache,\n });\n clientRef.current = queryClient;\n }\n\n return (\n <QueryClientProvider client={clientRef.current}>\n {children}\n </QueryClientProvider>\n );\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ReactQueryProvider.mjs","names":["defaultQueryOptions: DefaultOptions","onError: MutationCache['config']['onError']","onSuccess: MutationCache['config']['onSuccess']","ReactQueryProvider: FC<PropsWithChildren>"],"sources":["../../../src/providers/ReactQueryProvider.tsx"],"sourcesContent":["'use client';\n\nimport {\n type DefaultOptions,\n MutationCache,\n QueryClient,\n QueryClientProvider,\n type QueryKey,\n type UseMutationOptions,\n} from '@tanstack/react-query';\nimport { type FC, type PropsWithChildren, useRef } from 'react';\nimport { useToast } from '../components/Toaster';\n\nconst defaultQueryOptions: DefaultOptions = {\n queries: {\n retry: 1,\n staleTime: 0,\n // Give the cache a little breathing room across route transitions:\n gcTime: 5 * 60 * 1000, // e.g. 5 minutes\n // You likely want to refetch on mount if data is stale (default is true).\n // Remove your overrides or force it:\n refetchOnMount: 'always',\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n },\n mutations: {\n retry: 0,\n },\n};\n\ndeclare module '@tanstack/react-query' {\n interface Register {\n mutationMeta: {\n onSuccess?: UseMutationOptions['onSuccess'];\n onError?: UseMutationOptions['onError'];\n invalidateQueries?: QueryKey[];\n resetQueries?: QueryKey[];\n };\n }\n}\n\nconst formatErrorCode = (errorCode: string) => errorCode.split('_').join(' ');\n\n/**\n * Hook to handle error logging and toast notifications\n */\nconst useToastEvents = () => {\n const { toast } = useToast();\n\n const onError: MutationCache['config']['onError'] = (error: any) => {\n const parsed = (() => {\n try {\n if (typeof error === 'string') return JSON.parse(error);\n } catch (_) {}\n return error;\n })();\n\n [parsed].flat().forEach((err: any) => {\n toast({\n title: formatErrorCode(\n (process.env.NODE_ENV === 'production' ? err?.title : err?.code) ??\n 'Error'\n ),\n description: err?.message ?? String(err ?? 'An error occurred'),\n variant: 'error',\n });\n });\n };\n\n const onSuccess: MutationCache['config']['onSuccess'] = (data: any) => {\n if (data?.error) {\n toast({\n title: formatErrorCode(data.error.title ?? data.error.code ?? 'Error'),\n description:\n data.error.message ?? data.error.code ?? 'An error occurred',\n variant: 'error',\n });\n }\n\n if (data?.message) {\n toast({\n title: data.message,\n description: data.description,\n variant: 'success',\n });\n }\n };\n\n return {\n onError,\n onSuccess,\n };\n};\n\nexport const ReactQueryProvider: FC<PropsWithChildren> = ({ children }) => {\n const { onError, onSuccess } = useToastEvents();\n const clientRef = useRef<QueryClient>(null);\n\n if (!clientRef.current) {\n const mutationCache = new MutationCache({\n onSuccess,\n onError,\n onSettled: (_data, _error, _variables, _context, mutation) => {\n if (mutation.meta?.invalidateQueries) {\n mutation.meta.invalidateQueries.forEach((queryKey) => {\n queryClient.invalidateQueries({\n queryKey,\n });\n });\n }\n\n if (mutation.meta?.resetQueries) {\n mutation.meta.resetQueries.forEach((queryKey) => {\n queryClient.resetQueries({\n queryKey,\n });\n });\n }\n },\n });\n\n const queryClient = new QueryClient({\n defaultOptions: defaultQueryOptions,\n mutationCache,\n });\n clientRef.current = queryClient;\n }\n\n return (\n <QueryClientProvider client={clientRef.current}>\n {children}\n </QueryClientProvider>\n );\n};\n"],"mappings":";;;;;;;;AAaA,MAAMA,sBAAsC;CAC1C,SAAS;EACP,OAAO;EACP,WAAW;EAEX,QAAQ,MAAS;EAGjB,gBAAgB;EAChB,sBAAsB;EACtB,oBAAoB;EACrB;CACD,WAAW,EACT,OAAO,GACR;CACF;AAaD,MAAM,mBAAmB,cAAsB,UAAU,MAAM,IAAI,CAAC,KAAK,IAAI;;;;AAK7E,MAAM,uBAAuB;CAC3B,MAAM,EAAE,UAAU,UAAU;CAE5B,MAAMC,WAA+C,UAAe;AAQlE,UAPsB;AACpB,OAAI;AACF,QAAI,OAAO,UAAU,SAAU,QAAO,KAAK,MAAM,MAAM;YAChD,GAAG;AACZ,UAAO;MACL,CAEI,CAAC,MAAM,CAAC,SAAS,QAAa;AACpC,SAAM;IACJ,OAAO,iBACJ,QAAQ,IAAI,aAAa,eAAe,KAAK,QAAQ,KAAK,SACzD,QACH;IACD,aAAa,KAAK,WAAW,OAAO,OAAO,oBAAoB;IAC/D,SAAS;IACV,CAAC;IACF;;CAGJ,MAAMC,aAAmD,SAAc;AACrE,MAAI,MAAM,MACR,OAAM;GACJ,OAAO,gBAAgB,KAAK,MAAM,SAAS,KAAK,MAAM,QAAQ,QAAQ;GACtE,aACE,KAAK,MAAM,WAAW,KAAK,MAAM,QAAQ;GAC3C,SAAS;GACV,CAAC;AAGJ,MAAI,MAAM,QACR,OAAM;GACJ,OAAO,KAAK;GACZ,aAAa,KAAK;GAClB,SAAS;GACV,CAAC;;AAIN,QAAO;EACL;EACA;EACD;;AAGH,MAAaC,sBAA6C,EAAE,eAAe;CACzE,MAAM,EAAE,SAAS,cAAc,gBAAgB;CAC/C,MAAM,YAAY,OAAoB,KAAK;AAE3C,KAAI,CAAC,UAAU,SAAS;EAuBtB,MAAM,cAAc,IAAI,YAAY;GAClC,gBAAgB;GAChB,eAxBoB,IAAI,cAAc;IACtC;IACA;IACA,YAAY,OAAO,QAAQ,YAAY,UAAU,aAAa;AAC5D,SAAI,SAAS,MAAM,kBACjB,UAAS,KAAK,kBAAkB,SAAS,aAAa;AACpD,kBAAY,kBAAkB,EAC5B,UACD,CAAC;OACF;AAGJ,SAAI,SAAS,MAAM,aACjB,UAAS,KAAK,aAAa,SAAS,aAAa;AAC/C,kBAAY,aAAa,EACvB,UACD,CAAC;OACF;;IAGP,CAAC;GAKD,CAAC;AACF,YAAU,UAAU;;AAGtB,QACE,oBAAC;EAAoB,QAAQ,UAAU;EACpC;GACmB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HTMLAttributes } from "react";
|
|
2
|
-
import * as
|
|
2
|
+
import * as class_variance_authority_types6 from "class-variance-authority/types";
|
|
3
3
|
import { VariantProps } from "class-variance-authority";
|
|
4
4
|
|
|
5
5
|
//#region src/components/Badge/index.d.ts
|
|
@@ -47,7 +47,7 @@ declare const badgeVariants: (props?: {
|
|
|
47
47
|
color?: BadgeColor;
|
|
48
48
|
variant?: BadgeVariant;
|
|
49
49
|
size?: BadgeSize;
|
|
50
|
-
} &
|
|
50
|
+
} & class_variance_authority_types6.ClassProp) => string;
|
|
51
51
|
/**
|
|
52
52
|
* Badge component props interface
|
|
53
53
|
* @description Comprehensive props for the Badge component with accessibility and interactive features
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { LinkColor } from "../Link/Link.js";
|
|
2
2
|
import "../Link/index.js";
|
|
3
3
|
import { FC, HTMLAttributes, ReactNode } from "react";
|
|
4
|
-
import * as
|
|
4
|
+
import * as class_variance_authority_types0 from "class-variance-authority/types";
|
|
5
5
|
import { VariantProps } from "class-variance-authority";
|
|
6
6
|
import { LocalesValues } from "@intlayer/types";
|
|
7
7
|
|
|
@@ -12,7 +12,7 @@ import { LocalesValues } from "@intlayer/types";
|
|
|
12
12
|
declare const breadcrumbVariants: (props?: {
|
|
13
13
|
size?: "small" | "medium" | "large";
|
|
14
14
|
spacing?: "compact" | "normal" | "loose";
|
|
15
|
-
} &
|
|
15
|
+
} & class_variance_authority_types0.ClassProp) => string;
|
|
16
16
|
/**
|
|
17
17
|
* Detailed breadcrumb link configuration with optional href or onClick
|
|
18
18
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/components/Breadcrumb/index.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;;cAqDM,0BA+JgC;EA/JhC,IAAA,CAAA,EAAA,OAAA,GAAA,QAiBJ,GAAA,OAAA;EA0HG,OAAA,CAAA,EAAA,SAAA,GAAA,QAAsB,GAAA,OAAA;AAoB3B,CAAA,GA9IE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../../src/components/Breadcrumb/index.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;;cAqDM,0BA+JgC;EA/JhC,IAAA,CAAA,EAAA,OAAA,GAAA,QAiBJ,GAAA,OAAA;EA0HG,OAAA,CAAA,EAAA,SAAA,GAAA,QAAsB,GAAA,OAAA;AAoB3B,CAAA,GA9IE,+BAAA,CAAA,SA8IoC,EAAsB,GAAA,MAAA;AAE5D;;;KAtBK,sBAAA,GA+BoB;EAId;;;EAyBP,IAAA,CAAA,EAAA,MAAA;EACa;;;EA4BJ,IAAA,EAAA,MAAA;;;;;;;;;;;KArED,cAAA,YAA0B;KAE1B,eAAA;;;;SAIH;;;;;UAKC,eAAe;;;;WAId;;;;;;;;;;cAUG;;;;;;;;;;;;;;;IAeV,oBAAoB,sBACtB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;cA4BJ,YAAY,GAAG"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _intlayer_types8 from "@intlayer/types";
|
|
2
2
|
|
|
3
3
|
//#region src/components/Browser/Browser.content.d.ts
|
|
4
4
|
declare const browserContent: {
|
|
5
5
|
key: string;
|
|
6
6
|
content: {
|
|
7
|
-
ariaLabel:
|
|
7
|
+
ariaLabel: _intlayer_types8.TypedNodeModel<_intlayer_types8.NodeType.Translation, {
|
|
8
8
|
en: string;
|
|
9
9
|
'en-GB': string;
|
|
10
10
|
fr: string;
|
|
@@ -23,7 +23,7 @@ declare const browserContent: {
|
|
|
23
23
|
id: string;
|
|
24
24
|
vi: string;
|
|
25
25
|
}, {
|
|
26
|
-
nodeType:
|
|
26
|
+
nodeType: _intlayer_types8.NodeType.Translation | "translation";
|
|
27
27
|
} & {
|
|
28
28
|
translation: {
|
|
29
29
|
en: string;
|
|
@@ -45,7 +45,7 @@ declare const browserContent: {
|
|
|
45
45
|
vi: string;
|
|
46
46
|
};
|
|
47
47
|
}>;
|
|
48
|
-
urlLabel:
|
|
48
|
+
urlLabel: _intlayer_types8.TypedNodeModel<_intlayer_types8.NodeType.Translation, {
|
|
49
49
|
en: string;
|
|
50
50
|
'en-GB': string;
|
|
51
51
|
fr: string;
|
|
@@ -64,7 +64,7 @@ declare const browserContent: {
|
|
|
64
64
|
id: string;
|
|
65
65
|
vi: string;
|
|
66
66
|
}, {
|
|
67
|
-
nodeType:
|
|
67
|
+
nodeType: _intlayer_types8.NodeType.Translation | "translation";
|
|
68
68
|
} & {
|
|
69
69
|
translation: {
|
|
70
70
|
en: string;
|
|
@@ -87,7 +87,7 @@ declare const browserContent: {
|
|
|
87
87
|
};
|
|
88
88
|
}>;
|
|
89
89
|
urlPlaceholder: string;
|
|
90
|
-
errorMessage:
|
|
90
|
+
errorMessage: _intlayer_types8.TypedNodeModel<_intlayer_types8.NodeType.Translation, {
|
|
91
91
|
en: string;
|
|
92
92
|
'en-GB': string;
|
|
93
93
|
fr: string;
|
|
@@ -106,7 +106,7 @@ declare const browserContent: {
|
|
|
106
106
|
id: string;
|
|
107
107
|
vi: string;
|
|
108
108
|
}, {
|
|
109
|
-
nodeType:
|
|
109
|
+
nodeType: _intlayer_types8.NodeType.Translation | "translation";
|
|
110
110
|
} & {
|
|
111
111
|
translation: {
|
|
112
112
|
en: string;
|
|
@@ -128,7 +128,7 @@ declare const browserContent: {
|
|
|
128
128
|
vi: string;
|
|
129
129
|
};
|
|
130
130
|
}>;
|
|
131
|
-
reloadButtonTitle:
|
|
131
|
+
reloadButtonTitle: _intlayer_types8.TypedNodeModel<_intlayer_types8.NodeType.Translation, {
|
|
132
132
|
en: string;
|
|
133
133
|
'en-GB': string;
|
|
134
134
|
fr: string;
|
|
@@ -147,7 +147,7 @@ declare const browserContent: {
|
|
|
147
147
|
id: string;
|
|
148
148
|
vi: string;
|
|
149
149
|
}, {
|
|
150
|
-
nodeType:
|
|
150
|
+
nodeType: _intlayer_types8.NodeType.Translation | "translation";
|
|
151
151
|
} & {
|
|
152
152
|
translation: {
|
|
153
153
|
en: string;
|
|
@@ -169,7 +169,7 @@ declare const browserContent: {
|
|
|
169
169
|
vi: string;
|
|
170
170
|
};
|
|
171
171
|
}>;
|
|
172
|
-
iframeTitle:
|
|
172
|
+
iframeTitle: _intlayer_types8.TypedNodeModel<_intlayer_types8.NodeType.Translation, {
|
|
173
173
|
en: string;
|
|
174
174
|
'en-GB': string;
|
|
175
175
|
fr: string;
|
|
@@ -188,7 +188,7 @@ declare const browserContent: {
|
|
|
188
188
|
id: string;
|
|
189
189
|
vi: string;
|
|
190
190
|
}, {
|
|
191
|
-
nodeType:
|
|
191
|
+
nodeType: _intlayer_types8.NodeType.Translation | "translation";
|
|
192
192
|
} & {
|
|
193
193
|
translation: {
|
|
194
194
|
en: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Browser.content.d.ts","names":[],"sources":["../../../../src/components/Browser/Browser.content.ts"],"sourcesContent":[],"mappings":";;;cAEa;;;IAAA,SAAA,
|
|
1
|
+
{"version":3,"file":"Browser.content.d.ts","names":[],"sources":["../../../../src/components/Browser/Browser.content.ts"],"sourcesContent":[],"mappings":";;;cAEa;;;IAAA,SAAA,iCAwGS,wCAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ButtonHTMLAttributes, DetailedHTMLProps, FC } from "react";
|
|
2
|
-
import * as
|
|
2
|
+
import * as class_variance_authority_types3 from "class-variance-authority/types";
|
|
3
3
|
import { VariantProps } from "class-variance-authority";
|
|
4
4
|
import { LucideIcon } from "lucide-react";
|
|
5
5
|
|
|
@@ -60,13 +60,13 @@ declare enum ButtonTextAlign {
|
|
|
60
60
|
* Enhanced button variants with improved accessibility and focus states
|
|
61
61
|
*/
|
|
62
62
|
declare const buttonVariants: (props?: {
|
|
63
|
-
size?: "md" | "
|
|
64
|
-
color?: "
|
|
65
|
-
roundedSize?: "md" | "
|
|
66
|
-
variant?: "default" | "none" | "outline" | "link" | "invisible-link" | "hoverable" | "fade"
|
|
63
|
+
size?: "md" | "sm" | "lg" | "xl" | "icon-sm" | "icon-md" | "icon-lg" | "icon-xl";
|
|
64
|
+
color?: "error" | "primary" | "success" | "neutral" | "text" | "secondary" | "destructive" | "card" | "light" | "dark" | "current" | "text-inverse" | "custom";
|
|
65
|
+
roundedSize?: "md" | "none" | "sm" | "lg" | "xl";
|
|
66
|
+
variant?: "input" | "default" | "none" | "outline" | "link" | "invisible-link" | "hoverable" | "fade";
|
|
67
67
|
textAlign?: "left" | "center" | "right";
|
|
68
68
|
isFullWidth?: boolean;
|
|
69
|
-
} &
|
|
69
|
+
} & class_variance_authority_types3.ClassProp) => string;
|
|
70
70
|
/**
|
|
71
71
|
* Enhanced Button component props with comprehensive type safety and accessibility features
|
|
72
72
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","names":[],"sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;AAUY,aAAA,UAAA;EAgCA,EAAA,GAAA,IAAA;EAcA,EAAA,GAAA,IAAA;EAmBA,EAAA,GAAA,IAAA;EASC,EAAA,GAAA,IAAA;EA4ID,OAAA,GAAA,SAAW;EACA,OAAA,GAAA,SAAA;EAArB,OAAA,GAAA,SAAA;EACA,OAAA,GAAA,SAAA;;;;;AAYc,aApMJ,aAAA;EAyMI,OAAA,GAAA,SAAA;EAAK,IAAA,GAAA,MAAA;EAAU,OAAA,GAAA,SAAA;EA8FlB,IAAA,GAAA,MAkHZ;;;;;;;;;aA3YW,WAAA;;;;;;;;;;;;;;;;;;aAmBA,eAAA;;;;;;;;cASC;;;;;;;IAuIZ,
|
|
1
|
+
{"version":3,"file":"Button.d.ts","names":[],"sources":["../../../../src/components/Button/Button.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;AAUY,aAAA,UAAA;EAgCA,EAAA,GAAA,IAAA;EAcA,EAAA,GAAA,IAAA;EAmBA,EAAA,GAAA,IAAA;EASC,EAAA,GAAA,IAAA;EA4ID,OAAA,GAAA,SAAW;EACA,OAAA,GAAA,SAAA;EAArB,OAAA,GAAA,SAAA;EACA,OAAA,GAAA,SAAA;;;;;AAYc,aApMJ,aAAA;EAyMI,OAAA,GAAA,SAAA;EAAK,IAAA,GAAA,MAAA;EAAU,OAAA,GAAA,SAAA;EA8FlB,IAAA,GAAA,MAkHZ;;;;;;;;;aA3YW,WAAA;;;;;;;;;;;;;;;;;;aAmBA,eAAA;;;;;;;;cASC;;;;;;;IAuIZ,+BAAA,CAAA;;;;KAKW,WAAA,GAAc,kBACxB,qBAAqB,oBACrB,qBAEA,oBAAoB;;;;;;;;;SAUX,KAAK;;;;cAKA,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cA8FR,QAAQ,GAAG"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { FC, HTMLAttributes, ReactNode } from "react";
|
|
2
|
-
import * as
|
|
2
|
+
import * as class_variance_authority_types14 from "class-variance-authority/types";
|
|
3
3
|
import { VariantProps } from "class-variance-authority";
|
|
4
4
|
|
|
5
5
|
//#region src/components/CollapsibleTable/CollapsibleTable.d.ts
|
|
6
6
|
declare const collapsibleTableVariants: (props?: {
|
|
7
|
-
size?: "
|
|
7
|
+
size?: "full" | "md" | "lg" | "sm" | "xl";
|
|
8
8
|
variant?: "default" | "dark" | "ghost" | "outlined";
|
|
9
|
-
spacing?: "
|
|
10
|
-
} &
|
|
9
|
+
spacing?: "auto" | "md" | "lg" | "none" | "sm";
|
|
10
|
+
} & class_variance_authority_types14.ClassProp) => string;
|
|
11
11
|
interface CollapsibleTableProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title'>, VariantProps<typeof collapsibleTableVariants> {
|
|
12
12
|
/** Table title displayed in the header */
|
|
13
13
|
title: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollapsibleTable.d.ts","names":[],"sources":["../../../../src/components/CollapsibleTable/CollapsibleTable.tsx"],"sourcesContent":[],"mappings":";;;;;cASM,gCA8EJ;;;EA9EI,OAAA,CAAA,EAAA,
|
|
1
|
+
{"version":3,"file":"CollapsibleTable.d.ts","names":[],"sources":["../../../../src/components/CollapsibleTable/CollapsibleTable.tsx"],"sourcesContent":[],"mappings":";;;;;cASM,gCA8EJ;;;EA9EI,OAAA,CAAA,EAAA,MAAA,GAAA,IAAA,GAAA,IA+BL,GAAA,MAAA,GAAA,IAAA;AA8CD,CAAA,GA9CC,gCAAA,CAAA,SA+CC,EAAA,GAAA,MAAA;AAA4B,UADb,qBAAA,SACP,IAAoB,CAAf,cAAe,CAAA,cAAA,CAAA,EAAA,OAAA,CAAA,EAC1B,YAD0B,CAAA,OACN,wBADM,CAAA,CAAA;EAAf;EACS,KAAA,EAAA,MAAA;EAIhB;EAsBO,IAAA,EAtBP,MAsBO,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA;EAUW;EAA4B,SAAA,CAAA,EAAA,MAAA;EAFlC;EAnCV,eAAA,CAAA,EAAA,MAAA;EACN;EAAY,gBAAA,CAAA,EAAA,MAAA;EAoIH;;;;;;;;;;;;;;;eA1GE;;;;;;;;oBAQK,qCAEM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgGzC,kBAAkB,GAAG"}
|