@oneplatformdev/ui 0.1.0-5 → 0.1.0-8
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/.babelrc +12 -0
- package/.storybook/main.ts +48 -0
- package/.storybook/manager.ts +6 -0
- package/.storybook/preview.ts +29 -0
- package/CHANGELOG.md +38 -0
- package/dist/CHANGELOG.md +14 -0
- package/dist/index.js +14 -13
- package/dist/package.json +2 -1
- package/external.ts +78 -0
- package/kit/MultiSelectCombobox/MultiSelectCombobox.tsx +211 -0
- package/kit/MultiSelectCombobox/index.tsx +2 -0
- package/kit/MultiSelectCombobox/types.ts +22 -0
- package/kit/NLTDateRangePicker/index.tsx +85 -0
- package/kit/NLTFilesDropZone/imageList/index.tsx +86 -0
- package/kit/NLTFilesDropZone/index.tsx +52 -0
- package/kit/NLTFormDateRangePicker/index.tsx +29 -0
- package/kit/NLTFormFilesDropZone/index.tsx +73 -0
- package/kit/NLTFormPhoneField/index.tsx +36 -0
- package/kit/NLTFormPhoneInput/index.tsx +32 -0
- package/kit/NLTImageDropZone/index.tsx +105 -0
- package/kit/NLTModal/index.tsx +36 -0
- package/kit/NLTModal/useModal.ts +10 -0
- package/kit/NLTModalHeader/index.tsx +48 -0
- package/kit/NLTModalHeader/useModal.ts +10 -0
- package/kit/NLTMonthYearPicker/index.tsx +66 -0
- package/kit/NLTMonthYearPicker/useMonthYearPicker.ts +37 -0
- package/kit/NLTPhoneInput/index.tsx +153 -0
- package/kit/NLTPieChart/index.tsx +62 -0
- package/kit/NLTSidebar/app-sidebar.tsx +39 -0
- package/kit/NLTSidebar/nav-main.tsx +68 -0
- package/kit/NLTSidebar/nav-projects.tsx +89 -0
- package/kit/NLTSidebar/nav-user.tsx +114 -0
- package/kit/NLTSidebar/team-switcher.tsx +89 -0
- package/kit/NLTTable/NLTTable.tsx +50 -0
- package/kit/NLTTable/index.tsx +1 -0
- package/kit/NLTTablePagination/index.tsx +75 -0
- package/kit/Sidebar/SidebarNav/SidebarNavGroup.tsx +27 -0
- package/kit/Sidebar/SidebarNav/SidebarNavGroupItem.tsx +120 -0
- package/kit/Sidebar/SidebarNav/index.ts +3 -0
- package/kit/Sidebar/SidebarNav/types.ts +19 -0
- package/kit/Sidebar/index.ts +1 -0
- package/kit/Stepper/LinearStepper.tsx +91 -0
- package/kit/Stepper/Stepper.tsx +17 -0
- package/kit/Stepper/VerticalStepper.tsx +91 -0
- package/kit/Stepper/index.ts +1 -0
- package/kit/Stepper/types.ts +21 -0
- package/kit/Stepper/useStepper.ts +40 -0
- package/node_modules/@oneplatformdev/hooks/.babelrc +12 -0
- package/node_modules/@oneplatformdev/hooks/CHANGELOG.md +23 -0
- package/node_modules/@oneplatformdev/hooks/LICENSE +21 -0
- package/node_modules/@oneplatformdev/hooks/README.md +7 -0
- package/node_modules/@oneplatformdev/hooks/dist/CHANGELOG.md +19 -0
- package/node_modules/@oneplatformdev/hooks/dist/LICENSE +21 -0
- package/node_modules/@oneplatformdev/hooks/dist/README.md +7 -0
- package/node_modules/@oneplatformdev/hooks/dist/index.d.ts +37 -0
- package/node_modules/@oneplatformdev/hooks/dist/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/index.js +74 -0
- package/node_modules/@oneplatformdev/hooks/dist/package.json +68 -0
- package/node_modules/@oneplatformdev/hooks/dist/useBoolean/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useBoolean/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useBoolean/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useBoolean/useBoolean.d.ts +29 -0
- package/node_modules/@oneplatformdev/hooks/dist/useBoolean/useBoolean.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useBoolean/useBoolean.js +16 -0
- package/node_modules/@oneplatformdev/hooks/dist/useClickAnyWhere/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useClickAnyWhere/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useClickAnyWhere/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useClickAnyWhere/useClickAnyWhere.d.ts +17 -0
- package/node_modules/@oneplatformdev/hooks/dist/useClickAnyWhere/useClickAnyWhere.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useClickAnyWhere/useClickAnyWhere.js +9 -0
- package/node_modules/@oneplatformdev/hooks/dist/useCopyToClipboard/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useCopyToClipboard/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useCopyToClipboard/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useCopyToClipboard/useCopyToClipboard.d.ts +34 -0
- package/node_modules/@oneplatformdev/hooks/dist/useCopyToClipboard/useCopyToClipboard.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useCopyToClipboard/useCopyToClipboard.js +16 -0
- package/node_modules/@oneplatformdev/hooks/dist/useCountdown/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useCountdown/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useCountdown/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useCountdown/useCountdown.d.ts +47 -0
- package/node_modules/@oneplatformdev/hooks/dist/useCountdown/useCountdown.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useCountdown/useCountdown.js +33 -0
- package/node_modules/@oneplatformdev/hooks/dist/useCounter/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useCounter/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useCounter/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useCounter/useCounter.d.ts +28 -0
- package/node_modules/@oneplatformdev/hooks/dist/useCounter/useCounter.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useCounter/useCounter.js +20 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDarkMode/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDarkMode/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDarkMode/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDarkMode/useDarkMode.d.ts +46 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDarkMode/useDarkMode.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDarkMode/useDarkMode.js +38 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDebounceCallback/index.d.ts +3 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDebounceCallback/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDebounceCallback/index.js +5 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDebounceCallback/useDebounceCallback.d.ts +62 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDebounceCallback/useDebounceCallback.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDebounceCallback/useDebounceCallback.js +21 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDebounceValue/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDebounceValue/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDebounceValue/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDebounceValue/useDebounceValue.d.ts +40 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDebounceValue/useDebounceValue.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDebounceValue/useDebounceValue.js +13 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDocumentTitle/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDocumentTitle/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDocumentTitle/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDocumentTitle/useDocumentTitle.d.ts +19 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDocumentTitle/useDocumentTitle.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useDocumentTitle/useDocumentTitle.js +16 -0
- package/node_modules/@oneplatformdev/hooks/dist/useEventCallback/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useEventCallback/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useEventCallback/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useEventCallback/useEventCallback.d.ts +18 -0
- package/node_modules/@oneplatformdev/hooks/dist/useEventCallback/useEventCallback.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useEventCallback/useEventCallback.js +13 -0
- package/node_modules/@oneplatformdev/hooks/dist/useEventListener/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useEventListener/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useEventListener/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useEventListener/useEventListener.d.ts +7 -0
- package/node_modules/@oneplatformdev/hooks/dist/useEventListener/useEventListener.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useEventListener/useEventListener.js +20 -0
- package/node_modules/@oneplatformdev/hooks/dist/useHover/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useHover/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useHover/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useHover/useHover.d.ts +17 -0
- package/node_modules/@oneplatformdev/hooks/dist/useHover/useHover.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useHover/useHover.js +13 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIntersectionObserver/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIntersectionObserver/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIntersectionObserver/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIntersectionObserver/useIntersectionObserver.d.ts +72 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIntersectionObserver/useIntersectionObserver.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIntersectionObserver/useIntersectionObserver.js +53 -0
- package/node_modules/@oneplatformdev/hooks/dist/useInterval/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useInterval/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useInterval/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useInterval/useInterval.d.ts +16 -0
- package/node_modules/@oneplatformdev/hooks/dist/useInterval/useInterval.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useInterval/useInterval.js +20 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsClient/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsClient/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsClient/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsClient/useIsClient.d.ts +13 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsClient/useIsClient.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsClient/useIsClient.js +10 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsMobile/index.d.ts +3 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsMobile/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsMobile/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsMobile/types.d.ts +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsMobile/types.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsMobile/types.js +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsMobile/useIsMobile.d.ts +3 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsMobile/useIsMobile.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsMobile/useIsMobile.js +16 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsMounted/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsMounted/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsMounted/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsMounted/useIsMounted.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsMounted/useIsMounted.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsMounted/useIsMounted.js +10 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsomorphicLayoutEffect/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsomorphicLayoutEffect/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsomorphicLayoutEffect/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.ts +16 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.js +5 -0
- package/node_modules/@oneplatformdev/hooks/dist/useLocalStorage/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useLocalStorage/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useLocalStorage/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useLocalStorage/useLocalStorage.d.ts +39 -0
- package/node_modules/@oneplatformdev/hooks/dist/useLocalStorage/useLocalStorage.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useLocalStorage/useLocalStorage.js +65 -0
- package/node_modules/@oneplatformdev/hooks/dist/useLockBody/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useLockBody/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useLockBody/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useLockBody/useLockBody.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useLockBody/useLockBody.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useLockBody/useLockBody.js +12 -0
- package/node_modules/@oneplatformdev/hooks/dist/useMap/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useMap/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useMap/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useMap/useMap.d.ts +48 -0
- package/node_modules/@oneplatformdev/hooks/dist/useMap/useMap.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useMap/useMap.js +27 -0
- package/node_modules/@oneplatformdev/hooks/dist/useMediaQuery/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useMediaQuery/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useMediaQuery/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useMediaQuery/useMediaQuery.d.ts +29 -0
- package/node_modules/@oneplatformdev/hooks/dist/useMediaQuery/useMediaQuery.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useMediaQuery/useMediaQuery.js +21 -0
- package/node_modules/@oneplatformdev/hooks/dist/useOnClickOutside/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useOnClickOutside/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useOnClickOutside/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useOnClickOutside/useOnClickOutside.d.ts +24 -0
- package/node_modules/@oneplatformdev/hooks/dist/useOnClickOutside/useOnClickOutside.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useOnClickOutside/useOnClickOutside.js +17 -0
- package/node_modules/@oneplatformdev/hooks/dist/useQueryString/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useQueryString/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useQueryString/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useQueryString/useQueryString.d.ts +10 -0
- package/node_modules/@oneplatformdev/hooks/dist/useQueryString/useQueryString.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useQueryString/useQueryString.js +10 -0
- package/node_modules/@oneplatformdev/hooks/dist/useReadLocalStorage/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useReadLocalStorage/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useReadLocalStorage/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useReadLocalStorage/useReadLocalStorage.d.ts +14 -0
- package/node_modules/@oneplatformdev/hooks/dist/useReadLocalStorage/useReadLocalStorage.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useReadLocalStorage/useReadLocalStorage.js +48 -0
- package/node_modules/@oneplatformdev/hooks/dist/useResizeObserver/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useResizeObserver/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useResizeObserver/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useResizeObserver/useResizeObserver.d.ts +44 -0
- package/node_modules/@oneplatformdev/hooks/dist/useResizeObserver/useResizeObserver.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useResizeObserver/useResizeObserver.js +31 -0
- package/node_modules/@oneplatformdev/hooks/dist/useScreen/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useScreen/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useScreen/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useScreen/useScreen.d.ts +20 -0
- package/node_modules/@oneplatformdev/hooks/dist/useScreen/useScreen.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useScreen/useScreen.js +48 -0
- package/node_modules/@oneplatformdev/hooks/dist/useScript/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useScript/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useScript/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useScript/useScript.d.ts +24 -0
- package/node_modules/@oneplatformdev/hooks/dist/useScript/useScript.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useScript/useScript.js +45 -0
- package/node_modules/@oneplatformdev/hooks/dist/useScrollLock/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useScrollLock/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useScrollLock/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useScrollLock/useScrollLock.d.ts +54 -0
- package/node_modules/@oneplatformdev/hooks/dist/useScrollLock/useScrollLock.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useScrollLock/useScrollLock.js +26 -0
- package/node_modules/@oneplatformdev/hooks/dist/useSessionStorage/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useSessionStorage/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useSessionStorage/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useSessionStorage/useSessionStorage.d.ts +39 -0
- package/node_modules/@oneplatformdev/hooks/dist/useSessionStorage/useSessionStorage.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useSessionStorage/useSessionStorage.js +65 -0
- package/node_modules/@oneplatformdev/hooks/dist/useStep/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useStep/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useStep/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useStep/useStep.d.ts +31 -0
- package/node_modules/@oneplatformdev/hooks/dist/useStep/useStep.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useStep/useStep.js +34 -0
- package/node_modules/@oneplatformdev/hooks/dist/useTernaryDarkMode/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useTernaryDarkMode/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useTernaryDarkMode/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useTernaryDarkMode/useTernaryDarkMode.d.ts +46 -0
- package/node_modules/@oneplatformdev/hooks/dist/useTernaryDarkMode/useTernaryDarkMode.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useTernaryDarkMode/useTernaryDarkMode.js +27 -0
- package/node_modules/@oneplatformdev/hooks/dist/useTimeout/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useTimeout/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useTimeout/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useTimeout/useTimeout.d.ts +17 -0
- package/node_modules/@oneplatformdev/hooks/dist/useTimeout/useTimeout.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useTimeout/useTimeout.js +20 -0
- package/node_modules/@oneplatformdev/hooks/dist/useToggle/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useToggle/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useToggle/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useToggle/useToggle.d.ts +18 -0
- package/node_modules/@oneplatformdev/hooks/dist/useToggle/useToggle.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useToggle/useToggle.js +10 -0
- package/node_modules/@oneplatformdev/hooks/dist/useUnmount/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useUnmount/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useUnmount/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useUnmount/useUnmount.d.ts +14 -0
- package/node_modules/@oneplatformdev/hooks/dist/useUnmount/useUnmount.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useUnmount/useUnmount.js +13 -0
- package/node_modules/@oneplatformdev/hooks/dist/useWindowSize/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/dist/useWindowSize/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useWindowSize/index.js +4 -0
- package/node_modules/@oneplatformdev/hooks/dist/useWindowSize/useWindowSize.d.ts +30 -0
- package/node_modules/@oneplatformdev/hooks/dist/useWindowSize/useWindowSize.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/hooks/dist/useWindowSize/useWindowSize.js +31 -0
- package/node_modules/@oneplatformdev/hooks/package.json +68 -0
- package/node_modules/@oneplatformdev/hooks/src/index.ts +36 -0
- package/node_modules/@oneplatformdev/hooks/src/useBoolean/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useBoolean/useBoolean.ts +50 -0
- package/node_modules/@oneplatformdev/hooks/src/useClickAnyWhere/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useClickAnyWhere/useClickAnyWhere.ts +22 -0
- package/node_modules/@oneplatformdev/hooks/src/useCopyToClipboard/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useCopyToClipboard/useCopyToClipboard.ts +58 -0
- package/node_modules/@oneplatformdev/hooks/src/useCountdown/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useCountdown/useCountdown.ts +102 -0
- package/node_modules/@oneplatformdev/hooks/src/useCounter/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useCounter/useCounter.ts +52 -0
- package/node_modules/@oneplatformdev/hooks/src/useDarkMode/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useDarkMode/useDarkMode.ts +92 -0
- package/node_modules/@oneplatformdev/hooks/src/useDebounceCallback/index.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/src/useDebounceCallback/useDebounceCallback.ts +115 -0
- package/node_modules/@oneplatformdev/hooks/src/useDebounceValue/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useDebounceValue/useDebounceValue.ts +67 -0
- package/node_modules/@oneplatformdev/hooks/src/useDocumentTitle/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useDocumentTitle/useDocumentTitle.ts +43 -0
- package/node_modules/@oneplatformdev/hooks/src/useEventCallback/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useEventCallback/useEventCallback.ts +40 -0
- package/node_modules/@oneplatformdev/hooks/src/useEventListener/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useEventListener/useEventListener.ts +121 -0
- package/node_modules/@oneplatformdev/hooks/src/useHover/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useHover/useHover.ts +37 -0
- package/node_modules/@oneplatformdev/hooks/src/useIntersectionObserver/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useIntersectionObserver/useIntersectionObserver.ts +186 -0
- package/node_modules/@oneplatformdev/hooks/src/useInterval/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useInterval/useInterval.ts +43 -0
- package/node_modules/@oneplatformdev/hooks/src/useIsClient/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useIsClient/useIsClient.ts +22 -0
- package/node_modules/@oneplatformdev/hooks/src/useIsMobile/index.ts +2 -0
- package/node_modules/@oneplatformdev/hooks/src/useIsMobile/types.ts +3 -0
- package/node_modules/@oneplatformdev/hooks/src/useIsMobile/useIsMobile.tsx +23 -0
- package/node_modules/@oneplatformdev/hooks/src/useIsMounted/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useIsMounted/useIsMounted.ts +15 -0
- package/node_modules/@oneplatformdev/hooks/src/useIsomorphicLayoutEffect/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useIsomorphicLayoutEffect/useIsomorphicLayoutEffect.ts +17 -0
- package/node_modules/@oneplatformdev/hooks/src/useLocalStorage/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useLocalStorage/useLocalStorage.ts +191 -0
- package/node_modules/@oneplatformdev/hooks/src/useLockBody/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useLockBody/useLockBody.tsx +12 -0
- package/node_modules/@oneplatformdev/hooks/src/useMap/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useMap/useMap.ts +83 -0
- package/node_modules/@oneplatformdev/hooks/src/useMediaQuery/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useMediaQuery/useMediaQuery.ts +83 -0
- package/node_modules/@oneplatformdev/hooks/src/useOnClickOutside/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useOnClickOutside/useOnClickOutside.ts +61 -0
- package/node_modules/@oneplatformdev/hooks/src/useQueryString/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useQueryString/useQueryString.ts +26 -0
- package/node_modules/@oneplatformdev/hooks/src/useReadLocalStorage/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useReadLocalStorage/useReadLocalStorage.ts +122 -0
- package/node_modules/@oneplatformdev/hooks/src/useResizeObserver/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useResizeObserver/useResizeObserver.ts +131 -0
- package/node_modules/@oneplatformdev/hooks/src/useScreen/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useScreen/useScreen.ts +106 -0
- package/node_modules/@oneplatformdev/hooks/src/useScript/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useScript/useScript.ts +142 -0
- package/node_modules/@oneplatformdev/hooks/src/useScrollLock/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useScrollLock/useScrollLock.ts +141 -0
- package/node_modules/@oneplatformdev/hooks/src/useSessionStorage/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useSessionStorage/useSessionStorage.ts +191 -0
- package/node_modules/@oneplatformdev/hooks/src/useStep/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useStep/useStep.ts +83 -0
- package/node_modules/@oneplatformdev/hooks/src/useTernaryDarkMode/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useTernaryDarkMode/useTernaryDarkMode.ts +81 -0
- package/node_modules/@oneplatformdev/hooks/src/useTimeout/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useTimeout/useTimeout.ts +44 -0
- package/node_modules/@oneplatformdev/hooks/src/useToggle/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useToggle/useToggle.ts +30 -0
- package/node_modules/@oneplatformdev/hooks/src/useUnmount/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useUnmount/useUnmount.ts +26 -0
- package/node_modules/@oneplatformdev/hooks/src/useWindowSize/index.ts +1 -0
- package/node_modules/@oneplatformdev/hooks/src/useWindowSize/useWindowSize.ts +100 -0
- package/node_modules/@oneplatformdev/hooks/tsconfig.json +10 -0
- package/node_modules/@oneplatformdev/hooks/tsconfig.lib.json +33 -0
- package/node_modules/@oneplatformdev/hooks/vite.config.ts +62 -0
- package/node_modules/@oneplatformdev/utils/.babelrc +12 -0
- package/node_modules/@oneplatformdev/utils/CHANGELOG.md +23 -0
- package/node_modules/@oneplatformdev/utils/LICENSE +21 -0
- package/node_modules/@oneplatformdev/utils/README.md +7 -0
- package/node_modules/@oneplatformdev/utils/dist/CHANGELOG.md +19 -0
- package/node_modules/@oneplatformdev/utils/dist/LICENSE +21 -0
- package/node_modules/@oneplatformdev/utils/dist/README.md +7 -0
- package/node_modules/@oneplatformdev/utils/dist/cn/cn.d.ts +4 -0
- package/node_modules/@oneplatformdev/utils/dist/cn/cn.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/utils/dist/cn/cn.js +9 -0
- package/node_modules/@oneplatformdev/utils/dist/cn/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/utils/dist/cn/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/utils/dist/cn/index.js +5 -0
- package/node_modules/@oneplatformdev/utils/dist/composeRefs/composeRefs.d.ts +4 -0
- package/node_modules/@oneplatformdev/utils/dist/composeRefs/composeRefs.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/utils/dist/composeRefs/composeRefs.js +10 -0
- package/node_modules/@oneplatformdev/utils/dist/composeRefs/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/utils/dist/composeRefs/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/utils/dist/composeRefs/index.js +5 -0
- package/node_modules/@oneplatformdev/utils/dist/index.d.ts +4 -0
- package/node_modules/@oneplatformdev/utils/dist/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/utils/dist/index.js +6 -0
- package/node_modules/@oneplatformdev/utils/dist/package.json +64 -0
- package/node_modules/@oneplatformdev/utils/dist/types/PartialOne.d.ts +2 -0
- package/node_modules/@oneplatformdev/utils/dist/types/PartialOne.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/utils/dist/types/PartialOne.js +1 -0
- package/node_modules/@oneplatformdev/utils/dist/types/index.d.ts +2 -0
- package/node_modules/@oneplatformdev/utils/dist/types/index.d.ts.map +1 -0
- package/node_modules/@oneplatformdev/utils/dist/types/index.js +1 -0
- package/node_modules/@oneplatformdev/utils/package.json +64 -0
- package/node_modules/@oneplatformdev/utils/src/cn/cn.ts +7 -0
- package/node_modules/@oneplatformdev/utils/src/cn/index.ts +1 -0
- package/node_modules/@oneplatformdev/utils/src/composeRefs/composeRefs.ts +12 -0
- package/node_modules/@oneplatformdev/utils/src/composeRefs/index.ts +1 -0
- package/node_modules/@oneplatformdev/utils/src/index.ts +3 -0
- package/node_modules/@oneplatformdev/utils/src/types/PartialOne.ts +1 -0
- package/node_modules/@oneplatformdev/utils/src/types/index.ts +1 -0
- package/node_modules/@oneplatformdev/utils/tsconfig.json +10 -0
- package/node_modules/@oneplatformdev/utils/tsconfig.lib.json +34 -0
- package/node_modules/@oneplatformdev/utils/vite.config.ts +60 -0
- package/node_modules/@radix-ui/react-slot/README.md +13 -0
- package/node_modules/@radix-ui/react-slot/dist/index.d.mts +13 -0
- package/node_modules/@radix-ui/react-slot/dist/index.d.ts +13 -0
- package/node_modules/@radix-ui/react-slot/dist/index.js +118 -0
- package/node_modules/@radix-ui/react-slot/dist/index.js.map +7 -0
- package/node_modules/@radix-ui/react-slot/dist/index.mjs +85 -0
- package/node_modules/@radix-ui/react-slot/dist/index.mjs.map +7 -0
- package/node_modules/@radix-ui/react-slot/package.json +50 -0
- package/node_modules/@radix-ui/react-tooltip/LICENSE +21 -0
- package/node_modules/@radix-ui/react-tooltip/README.md +3 -0
- package/node_modules/@radix-ui/react-tooltip/dist/index.d.mts +101 -0
- package/node_modules/@radix-ui/react-tooltip/dist/index.d.ts +101 -0
- package/node_modules/@radix-ui/react-tooltip/dist/index.js +540 -0
- package/node_modules/@radix-ui/react-tooltip/dist/index.js.map +7 -0
- package/node_modules/@radix-ui/react-tooltip/dist/index.mjs +508 -0
- package/node_modules/@radix-ui/react-tooltip/dist/index.mjs.map +7 -0
- package/node_modules/@radix-ui/react-tooltip/package.json +79 -0
- package/package.json +4 -3
- package/src/Button/Button.stories.tsx +33 -0
- package/src/Button/Button.tsx +33 -0
- package/src/Button/Button.types.ts +11 -0
- package/src/Button/buttonVariants.ts +38 -0
- package/src/Button/index.ts +3 -0
- package/src/ButtonIcon/ButtonIcon.stories.tsx +186 -0
- package/src/ButtonIcon/ButtonIcon.tsx +28 -0
- package/src/ButtonIcon/ButtonIcon.types.ts +10 -0
- package/src/ButtonIcon/buttonIconVariants.ts +137 -0
- package/src/ButtonIcon/index.ts +3 -0
- package/src/Tooltip/Tooltip.tsx +20 -0
- package/src/Tooltip/Tooltip.types.tsx +9 -0
- package/src/Tooltip/TooltipRoot.tsx +32 -0
- package/src/Tooltip/index.ts +3 -0
- package/src/global.css +123 -0
- package/src/index.ts +5 -0
- package/src_old/Accordion/Accordion.tsx +62 -0
- package/src_old/Accordion/index.ts +1 -0
- package/src_old/Alert/Alert.tsx +42 -0
- package/src_old/Alert/alertVariants.ts +19 -0
- package/src_old/Alert/index.ts +1 -0
- package/src_old/AlertDialog/AlertDialog.stories.tsx +131 -0
- package/src_old/AlertDialog/AlertDialog.tsx +257 -0
- package/src_old/AlertDialog/AlertDialog.types.tsx +66 -0
- package/src_old/AlertDialog/AlertDialogRoot.tsx +141 -0
- package/src_old/AlertDialog/index.ts +15 -0
- package/src_old/AreaChart/AreaChart.tsx +39 -0
- package/src_old/AreaChart/AreaChart.types.ts +18 -0
- package/src_old/AreaChart/index.tsx +2 -0
- package/src_old/Aside/Aside.tsx +26 -0
- package/src_old/Aside/Aside.types.ts +21 -0
- package/src_old/Aside/AsideSidebar.tsx +78 -0
- package/src_old/Aside/index.ts +3 -0
- package/src_old/AspectRatio/AspectRatio.tsx +5 -0
- package/src_old/AspectRatio/index.ts +1 -0
- package/src_old/Avatar/Avatar.tsx +48 -0
- package/src_old/Avatar/index.ts +1 -0
- package/src_old/Badge/Badge.tsx +13 -0
- package/src_old/Badge/Badge.types.ts +8 -0
- package/src_old/Badge/badgeVariants.ts +21 -0
- package/src_old/Badge/index.ts +3 -0
- package/src_old/Breadcrumb/Breadcrumb.tsx +115 -0
- package/src_old/Breadcrumb/index.ts +1 -0
- package/src_old/Calendar/Calendar.tsx +77 -0
- package/src_old/Calendar/index.ts +1 -0
- package/src_old/Card/Card.tsx +77 -0
- package/src_old/Card/index.ts +1 -0
- package/src_old/Carousel/Carousel.tsx +262 -0
- package/src_old/Carousel/index.ts +1 -0
- package/src_old/Chart/Chart.tsx +365 -0
- package/src_old/Chart/index.ts +1 -0
- package/src_old/Checkbox/Checkbox.tsx +62 -0
- package/src_old/Checkbox/Checkbox.types.ts +15 -0
- package/src_old/Checkbox/index.ts +2 -0
- package/src_old/Collapsible/Collapsible.tsx +11 -0
- package/src_old/Collapsible/index.ts +1 -0
- package/src_old/Combobox/Combobox.tsx +256 -0
- package/src_old/Combobox/Combobox.types.ts +55 -0
- package/src_old/Combobox/ComboboxOptionItem.tsx +46 -0
- package/src_old/Combobox/ComboboxOptions.tsx +90 -0
- package/src_old/Combobox/index.tsx +2 -0
- package/src_old/Command/Command.tsx +161 -0
- package/src_old/Command/index.ts +1 -0
- package/src_old/DataTable/DataTable.tsx +118 -0
- package/src_old/DataTable/DataTable.types.tsx +14 -0
- package/src_old/DataTable/DataTableColumnFilter.tsx +57 -0
- package/src_old/DataTable/index.tsx +2 -0
- package/src_old/DataTable/useDataTable.ts +44 -0
- package/src_old/DatePicker/DatePicker.tsx +56 -0
- package/src_old/DatePicker/DatePicker.types.tsx +7 -0
- package/src_old/DatePicker/index.tsx +3 -0
- package/src_old/Dialog/Dialog.tsx +182 -0
- package/src_old/Dialog/DialogOverlayScope.tsx +19 -0
- package/src_old/Dialog/index.ts +2 -0
- package/src_old/Drawer/Drawer.tsx +118 -0
- package/src_old/Drawer/index.ts +1 -0
- package/src_old/DropdownMenu/DropdownMenu.tsx +206 -0
- package/src_old/DropdownMenu/index.ts +1 -0
- package/src_old/Dropzone/Dropzone.tsx +229 -0
- package/src_old/Dropzone/Dropzone.types.tsx +69 -0
- package/src_old/Dropzone/DropzoneFilePreview.tsx +69 -0
- package/src_old/Dropzone/DropzoneSinglePickPreview.tsx +64 -0
- package/src_old/Dropzone/DropzoneUtils.tsx +31 -0
- package/src_old/Dropzone/index.tsx +2 -0
- package/src_old/Form/Form.tsx +181 -0
- package/src_old/Form/FormRenderControl.tsx +23 -0
- package/src_old/Form/FormRenderControl.types.tsx +29 -0
- package/src_old/Form/index.ts +4 -0
- package/src_old/FormCheckbox/FormCheckbox.tsx +34 -0
- package/src_old/FormCheckbox/FormCheckbox.types.tsx +10 -0
- package/src_old/FormCheckbox/index.tsx +2 -0
- package/src_old/FormCombobox/FormCombobox.tsx +27 -0
- package/src_old/FormCombobox/FormCombobox.types.ts +7 -0
- package/src_old/FormCombobox/index.tsx +2 -0
- package/src_old/FormDatePicker/FormDatePicker.tsx +33 -0
- package/src_old/FormDatePicker/FormDatePicker.types.ts +9 -0
- package/src_old/FormDatePicker/index.tsx +3 -0
- package/src_old/FormDropzone/FormDropzone.tsx +23 -0
- package/src_old/FormDropzone/FormDropzone.types.ts +7 -0
- package/src_old/FormDropzone/index.tsx +2 -0
- package/src_old/FormInput/FormInput.tsx +109 -0
- package/src_old/FormInput/FormInput.types.tsx +7 -0
- package/src_old/FormInput/index.tsx +2 -0
- package/src_old/FormRadio/FormRadio.tsx +54 -0
- package/src_old/FormRadio/FormRadio.types.ts +11 -0
- package/src_old/FormRadio/index.ts +2 -0
- package/src_old/FormSelect/FormSelect.tsx +44 -0
- package/src_old/FormSelect/FormSelect.types.ts +8 -0
- package/src_old/FormSelect/index.tsx +2 -0
- package/src_old/FormTextarea/FormTextarea.tsx +28 -0
- package/src_old/FormTextarea/FormTextarea.types.tsx +7 -0
- package/src_old/FormTextarea/index.tsx +2 -0
- package/src_old/Header/Header.tsx +34 -0
- package/src_old/Header/Header.types.tsx +3 -0
- package/src_old/Header/index.ts +2 -0
- package/src_old/HoverCard/HoverCard.tsx +29 -0
- package/src_old/HoverCard/index.ts +1 -0
- package/src_old/Input/Input.tsx +95 -0
- package/src_old/Input/Input.types.ts +26 -0
- package/src_old/Input/index.ts +3 -0
- package/src_old/Input/inputVariants.tsx +22 -0
- package/src_old/InputOTP/InputOTP.tsx +71 -0
- package/src_old/InputOTP/index.ts +1 -0
- package/src_old/Label/Label.tsx +23 -0
- package/src_old/Label/index.ts +2 -0
- package/src_old/Label/labelVariants.ts +8 -0
- package/src_old/LazyLoader/LazyLoader.tsx +30 -0
- package/src_old/LazyLoader/index.ts +1 -0
- package/src_old/LoadedIcon/LoadedIcon.tsx +36 -0
- package/src_old/LoadedIcon/index.ts +1 -0
- package/src_old/LoadingMask/LoadingMask.tsx +21 -0
- package/src_old/LoadingMask/LoadingMask.types.ts +5 -0
- package/src_old/LoadingMask/RenderLoadingMask.tsx +80 -0
- package/src_old/LoadingMask/index.ts +3 -0
- package/src_old/LoadingProgress/LoadingProgress.tsx +36 -0
- package/src_old/LoadingProgress/LoadingProgress.types.tsx +8 -0
- package/src_old/LoadingProgress/index.ts +3 -0
- package/src_old/LoadingProgress/loadingProgressVariants.ts +22 -0
- package/src_old/Menubar/Menubar.tsx +232 -0
- package/src_old/Menubar/index.ts +1 -0
- package/src_old/NavigationMenu/NavigationMenu.tsx +123 -0
- package/src_old/NavigationMenu/index.ts +2 -0
- package/src_old/NavigationMenu/navigationMenuVariants.ts +5 -0
- package/src_old/Pagination/Pagination.tsx +117 -0
- package/src_old/Pagination/index.ts +1 -0
- package/src_old/Popover/Popover.tsx +47 -0
- package/src_old/Popover/index.ts +1 -0
- package/src_old/Progress/Progress.tsx +28 -0
- package/src_old/Progress/index.ts +1 -0
- package/src_old/Radio/Radio.tsx +23 -0
- package/src_old/Radio/Radio.types.ts +17 -0
- package/src_old/Radio/index.ts +2 -0
- package/src_old/RadioGroup/RadioGroup.tsx +67 -0
- package/src_old/RadioGroup/index.ts +1 -0
- package/src_old/Resizable/Resizable.tsx +45 -0
- package/src_old/Resizable/index.ts +1 -0
- package/src_old/ScrollArea/ScrollArea.tsx +58 -0
- package/src_old/ScrollArea/index.ts +1 -0
- package/src_old/Search/Search.tsx +57 -0
- package/src_old/Search/Search.types.tsx +9 -0
- package/src_old/Search/index.tsx +3 -0
- package/src_old/Select/Select.stories.tsx +45 -0
- package/src_old/Select/Select.tsx +171 -0
- package/src_old/Select/Select.types.ts +46 -0
- package/src_old/Select/SelectRoot.tsx +164 -0
- package/src_old/Select/index.ts +3 -0
- package/src_old/Separator/Separator.tsx +31 -0
- package/src_old/Separator/index.ts +1 -0
- package/src_old/Sheet/Sheet.tsx +144 -0
- package/src_old/Sheet/index.ts +1 -0
- package/src_old/Sidebar/Sidebar.tsx +763 -0
- package/src_old/Sidebar/index.ts +1 -0
- package/src_old/Skeleton/Skeleton.tsx +17 -0
- package/src_old/Skeleton/index.ts +1 -0
- package/src_old/Slider/Slider.tsx +28 -0
- package/src_old/Slider/index.ts +1 -0
- package/src_old/Sonner/Sonner.tsx +31 -0
- package/src_old/Sonner/index.ts +1 -0
- package/src_old/Switch/Switch.tsx +29 -0
- package/src_old/Switch/index.ts +1 -0
- package/src_old/Table/Table.tsx +120 -0
- package/src_old/Table/index.ts +1 -0
- package/src_old/TablePagination/TablePagination.tsx +96 -0
- package/src_old/TablePagination/index.ts +1 -0
- package/src_old/Tabs/Tabs.tsx +35 -0
- package/src_old/Tabs/Tabs.types.tsx +13 -0
- package/src_old/Tabs/TabsRoot.tsx +55 -0
- package/src_old/Tabs/index.ts +2 -0
- package/src_old/Textarea/Textarea.tsx +78 -0
- package/src_old/Textarea/Textarea.types.tsx +21 -0
- package/src_old/Textarea/index.ts +2 -0
- package/src_old/Textarea/useAutosizeTextArea.ts +33 -0
- package/src_old/Theme/ThemeModeToggle.tsx +71 -0
- package/src_old/Theme/ThemeProvider.tsx +29 -0
- package/src_old/Theme/index.ts +2 -0
- package/src_old/Toast/Toast.tsx +109 -0
- package/src_old/Toast/Toast.types.tsx +45 -0
- package/src_old/Toast/index.ts +3 -0
- package/src_old/Toast/toast.constants.tsx +6 -0
- package/src_old/Toast/toastVariants.ts +20 -0
- package/src_old/Toast/useToast.ts +156 -0
- package/src_old/Toaster/Toaster.tsx +35 -0
- package/src_old/Toaster/index.ts +1 -0
- package/src_old/Toggle/Toggle.tsx +45 -0
- package/src_old/Toggle/index.ts +1 -0
- package/src_old/ToggleGroup/ToggleGroup.tsx +61 -0
- package/src_old/ToggleGroup/index.ts +1 -0
- package/src_old/global.css +275 -0
- package/src_old/index.ts +72 -0
- package/tsconfig.json +16 -0
- package/tsconfig.lib.json +41 -0
- package/vite.config.ts +67 -0
@@ -0,0 +1,83 @@
|
|
1
|
+
import { useState } from 'react'
|
2
|
+
|
3
|
+
import { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect'
|
4
|
+
|
5
|
+
/** Hook options. */
|
6
|
+
type UseMediaQueryOptions = {
|
7
|
+
/**
|
8
|
+
* The default value to return if the hook is being run on the server.
|
9
|
+
* @default false
|
10
|
+
*/
|
11
|
+
defaultValue?: boolean
|
12
|
+
/**
|
13
|
+
* If `true` (default), the hook will initialize reading the media query. In SSR, you should set it to `false`, returning `options.defaultValue` or `false` initially.
|
14
|
+
* @default true
|
15
|
+
*/
|
16
|
+
initializeWithValue?: boolean
|
17
|
+
}
|
18
|
+
|
19
|
+
const IS_SERVER = typeof window === 'undefined'
|
20
|
+
|
21
|
+
/**
|
22
|
+
* Custom hook that tracks the state of a media query using the [`Match Media API`](https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia).
|
23
|
+
* @param {string} query - The media query to track.
|
24
|
+
* @param {?UseMediaQueryOptions} [options] - The options for customizing the behavior of the hook (optional).
|
25
|
+
* @returns {boolean} The current state of the media query (true if the query matches, false otherwise).
|
26
|
+
* @public
|
27
|
+
* @see [Documentation](https://usehooks-ts.com/react-hook/use-media-query)
|
28
|
+
* @example
|
29
|
+
* ```tsx
|
30
|
+
* const isSmallScreen = useMediaQuery('(max-width: 600px)');
|
31
|
+
* // Use `isSmallScreen` to conditionally apply styles or logic based on the screen size.
|
32
|
+
* ```
|
33
|
+
*/
|
34
|
+
export function useMediaQuery(
|
35
|
+
query: string,
|
36
|
+
{
|
37
|
+
defaultValue = false,
|
38
|
+
initializeWithValue = true,
|
39
|
+
}: UseMediaQueryOptions = {},
|
40
|
+
): boolean {
|
41
|
+
const getMatches = (query: string): boolean => {
|
42
|
+
if (IS_SERVER) {
|
43
|
+
return defaultValue
|
44
|
+
}
|
45
|
+
return window.matchMedia(query).matches
|
46
|
+
}
|
47
|
+
|
48
|
+
const [matches, setMatches] = useState<boolean>(() => {
|
49
|
+
if (initializeWithValue) {
|
50
|
+
return getMatches(query)
|
51
|
+
}
|
52
|
+
return defaultValue
|
53
|
+
})
|
54
|
+
|
55
|
+
// Handles the change event of the media query.
|
56
|
+
function handleChange() {
|
57
|
+
setMatches(getMatches(query))
|
58
|
+
}
|
59
|
+
|
60
|
+
useIsomorphicLayoutEffect(() => {
|
61
|
+
const matchMedia = window.matchMedia(query)
|
62
|
+
|
63
|
+
// Triggered at the first client-side load and if query changes
|
64
|
+
handleChange()
|
65
|
+
|
66
|
+
// Use deprecated `addListener` and `removeListener` to support Safari < 14 (#135)
|
67
|
+
if (matchMedia.addListener) {
|
68
|
+
matchMedia.addListener(handleChange)
|
69
|
+
} else {
|
70
|
+
matchMedia.addEventListener('change', handleChange)
|
71
|
+
}
|
72
|
+
|
73
|
+
return () => {
|
74
|
+
if (matchMedia.removeListener) {
|
75
|
+
matchMedia.removeListener(handleChange)
|
76
|
+
} else {
|
77
|
+
matchMedia.removeEventListener('change', handleChange)
|
78
|
+
}
|
79
|
+
}
|
80
|
+
}, [query])
|
81
|
+
|
82
|
+
return matches
|
83
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './useOnClickOutside'
|
@@ -0,0 +1,61 @@
|
|
1
|
+
import type { RefObject } from 'react'
|
2
|
+
|
3
|
+
import { useEventListener } from '../useEventListener'
|
4
|
+
|
5
|
+
/** Supported event types. */
|
6
|
+
type EventType =
|
7
|
+
| 'mousedown'
|
8
|
+
| 'mouseup'
|
9
|
+
| 'touchstart'
|
10
|
+
| 'touchend'
|
11
|
+
| 'focusin'
|
12
|
+
| 'focusout'
|
13
|
+
|
14
|
+
/**
|
15
|
+
* Custom hook that handles clicks outside a specified element.
|
16
|
+
* @template T - The type of the element's reference.
|
17
|
+
* @param {RefObject<T> | RefObject<T>[]} ref - The React ref object(s) representing the element(s) to watch for outside clicks.
|
18
|
+
* @param {(event: MouseEvent | TouchEvent | FocusEvent) => void} handler - The callback function to be executed when a click outside the element occurs.
|
19
|
+
* @param {EventType} [eventType] - The mouse event type to listen for (optional, default is 'mousedown').
|
20
|
+
* @param {?AddEventListenerOptions} [eventListenerOptions] - The options object to be passed to the `addEventListener` method (optional).
|
21
|
+
* @returns {void}
|
22
|
+
* @public
|
23
|
+
* @see [Documentation](https://usehooks-ts.com/react-hook/use-on-click-outside)
|
24
|
+
* @example
|
25
|
+
* ```tsx
|
26
|
+
* const containerRef = useRef(null);
|
27
|
+
* useOnClickOutside([containerRef], () => {
|
28
|
+
* // Handle clicks outside the container.
|
29
|
+
* });
|
30
|
+
* ```
|
31
|
+
*/
|
32
|
+
export function useOnClickOutside<T extends HTMLElement = HTMLElement>(
|
33
|
+
ref: RefObject<T> | RefObject<T>[],
|
34
|
+
handler: (event: MouseEvent | TouchEvent | FocusEvent) => void,
|
35
|
+
eventType: EventType = 'mousedown',
|
36
|
+
eventListenerOptions: AddEventListenerOptions = {},
|
37
|
+
): void {
|
38
|
+
useEventListener(
|
39
|
+
eventType,
|
40
|
+
event => {
|
41
|
+
const target = event.target as Node
|
42
|
+
|
43
|
+
// Do nothing if the target is not connected element with document
|
44
|
+
if (!target || !target.isConnected) {
|
45
|
+
return
|
46
|
+
}
|
47
|
+
|
48
|
+
const isOutside = Array.isArray(ref)
|
49
|
+
? ref
|
50
|
+
.filter(r => Boolean(r.current))
|
51
|
+
.every(r => r.current && !r.current.contains(target))
|
52
|
+
: ref.current && !ref.current.contains(target)
|
53
|
+
|
54
|
+
if (isOutside) {
|
55
|
+
handler(event)
|
56
|
+
}
|
57
|
+
},
|
58
|
+
undefined,
|
59
|
+
eventListenerOptions,
|
60
|
+
)
|
61
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from "./useQueryString"
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { useCallback } from 'react';
|
2
|
+
|
3
|
+
type Nullable<T> = {
|
4
|
+
[P in keyof T]: T[P] | null;
|
5
|
+
};
|
6
|
+
type QueryParamsValue = Nullable<string | number | boolean | undefined>
|
7
|
+
type QueryParams = Record<string, QueryParamsValue>
|
8
|
+
|
9
|
+
export const useQueryString = (searchParams: URLSearchParams) => {
|
10
|
+
|
11
|
+
const createQueryString = useCallback((baseUrl: string, params: QueryParams) => {
|
12
|
+
const newSearchParams = new URLSearchParams(searchParams?.toString());
|
13
|
+
|
14
|
+
Object.entries(params).forEach(([key, value]) => {
|
15
|
+
if (value === null || value === "" || value === undefined) {
|
16
|
+
newSearchParams.delete(key);
|
17
|
+
} else {
|
18
|
+
newSearchParams.set(key, String(value));
|
19
|
+
}
|
20
|
+
});
|
21
|
+
|
22
|
+
return `${baseUrl}?${newSearchParams.toString()}`;
|
23
|
+
}, [searchParams],);
|
24
|
+
|
25
|
+
return { createQueryString, };
|
26
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './useReadLocalStorage'
|
@@ -0,0 +1,122 @@
|
|
1
|
+
import { useCallback, useEffect, useState } from 'react'
|
2
|
+
|
3
|
+
import { useEventListener } from '../useEventListener'
|
4
|
+
|
5
|
+
const IS_SERVER = typeof window === 'undefined'
|
6
|
+
|
7
|
+
/**
|
8
|
+
* Represents the type for the options available when reading from local storage.
|
9
|
+
* @template T - The type of the stored value.
|
10
|
+
*/
|
11
|
+
type Options<T, InitializeWithValue extends boolean | undefined> = {
|
12
|
+
/** Custom deserializer function to convert the stored string value to the desired type (optional). */
|
13
|
+
deserializer?: (value: string) => T
|
14
|
+
/** If `true` (default), the hook will initialize reading the local storage. In SSR, you should set it to `false`, returning `undefined` initially. */
|
15
|
+
initializeWithValue: InitializeWithValue
|
16
|
+
}
|
17
|
+
|
18
|
+
// SSR version
|
19
|
+
export function useReadLocalStorage<T>(
|
20
|
+
key: string,
|
21
|
+
options: Options<T, false>,
|
22
|
+
): T | null | undefined
|
23
|
+
// CSR version
|
24
|
+
export function useReadLocalStorage<T>(
|
25
|
+
key: string,
|
26
|
+
options?: Partial<Options<T, true>>,
|
27
|
+
): T | null
|
28
|
+
/**
|
29
|
+
* Custom hook that reads a value from [`localStorage`](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage), closely related to [`useLocalStorage()`](https://usehooks-ts.com/react-hook/use-local-storage).
|
30
|
+
* @template T - The type of the stored value.
|
31
|
+
* @param {string} key - The key associated with the value in local storage.
|
32
|
+
* @param {Options<T>} [options] - Additional options for reading the value (optional).
|
33
|
+
* @returns {T | null | undefined} The stored value, or null if the key is not present or an error occurs.
|
34
|
+
* @public
|
35
|
+
* @see [Documentation](https://usehooks-ts.com/react-hook/use-read-local-storage)
|
36
|
+
* @example
|
37
|
+
* ```tsx
|
38
|
+
* const storedData = useReadLocalStorage('myKey');
|
39
|
+
* // Access the stored data from local storage.
|
40
|
+
* ```
|
41
|
+
*/
|
42
|
+
export function useReadLocalStorage<T>(
|
43
|
+
key: string,
|
44
|
+
options: Partial<Options<T, boolean>> = {},
|
45
|
+
): T | null | undefined {
|
46
|
+
let { initializeWithValue = true } = options
|
47
|
+
if (IS_SERVER) {
|
48
|
+
initializeWithValue = false
|
49
|
+
}
|
50
|
+
|
51
|
+
const deserializer = useCallback<(value: string) => T | null>(
|
52
|
+
value => {
|
53
|
+
if (options.deserializer) {
|
54
|
+
return options.deserializer(value)
|
55
|
+
}
|
56
|
+
// Support 'undefined' as a value
|
57
|
+
if (value === 'undefined') {
|
58
|
+
return undefined as unknown as T
|
59
|
+
}
|
60
|
+
|
61
|
+
let parsed: unknown
|
62
|
+
try {
|
63
|
+
parsed = JSON.parse(value)
|
64
|
+
} catch (error) {
|
65
|
+
console.error('Error parsing JSON:', error)
|
66
|
+
return null
|
67
|
+
}
|
68
|
+
|
69
|
+
return parsed as T
|
70
|
+
},
|
71
|
+
[options],
|
72
|
+
)
|
73
|
+
|
74
|
+
// Get from local storage then
|
75
|
+
// parse stored json or return initialValue
|
76
|
+
const readValue = useCallback((): T | null => {
|
77
|
+
// Prevent build error "window is undefined" but keep keep working
|
78
|
+
if (IS_SERVER) {
|
79
|
+
return null
|
80
|
+
}
|
81
|
+
|
82
|
+
try {
|
83
|
+
const raw = window.localStorage.getItem(key)
|
84
|
+
return raw ? deserializer(raw) : null
|
85
|
+
} catch (error) {
|
86
|
+
console.warn(`Error reading localStorage key “${key}”:`, error)
|
87
|
+
return null
|
88
|
+
}
|
89
|
+
}, [key, deserializer])
|
90
|
+
|
91
|
+
const [storedValue, setStoredValue] = useState(() => {
|
92
|
+
if (initializeWithValue) {
|
93
|
+
return readValue()
|
94
|
+
}
|
95
|
+
return undefined
|
96
|
+
})
|
97
|
+
|
98
|
+
// Listen if localStorage changes
|
99
|
+
useEffect(() => {
|
100
|
+
setStoredValue(readValue())
|
101
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
102
|
+
}, [key])
|
103
|
+
|
104
|
+
const handleStorageChange = useCallback(
|
105
|
+
(event: StorageEvent | CustomEvent) => {
|
106
|
+
if ((event as StorageEvent).key && (event as StorageEvent).key !== key) {
|
107
|
+
return
|
108
|
+
}
|
109
|
+
setStoredValue(readValue())
|
110
|
+
},
|
111
|
+
[key, readValue],
|
112
|
+
)
|
113
|
+
|
114
|
+
// this only works for other documents, not the current one
|
115
|
+
useEventListener('storage', handleStorageChange)
|
116
|
+
|
117
|
+
// this is a custom event, triggered in writeValueToLocalStorage
|
118
|
+
// See: useLocalStorage()
|
119
|
+
useEventListener('local-storage', handleStorageChange)
|
120
|
+
|
121
|
+
return storedValue
|
122
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './useResizeObserver'
|
@@ -0,0 +1,131 @@
|
|
1
|
+
import { useEffect, useRef, useState } from 'react'
|
2
|
+
|
3
|
+
import type { RefObject } from 'react'
|
4
|
+
|
5
|
+
import { useIsMounted } from '../useIsMounted'
|
6
|
+
|
7
|
+
/** The size of the observed element. */
|
8
|
+
type Size = {
|
9
|
+
/** The width of the observed element. */
|
10
|
+
width: number | undefined
|
11
|
+
/** The height of the observed element. */
|
12
|
+
height: number | undefined
|
13
|
+
}
|
14
|
+
|
15
|
+
/** The options for the ResizeObserver. */
|
16
|
+
type UseResizeObserverOptions<T extends HTMLElement = HTMLElement> = {
|
17
|
+
/** The ref of the element to observe. */
|
18
|
+
ref: RefObject<T>
|
19
|
+
/**
|
20
|
+
* When using `onResize`, the hook doesn't re-render on element size changes; it delegates handling to the provided callback.
|
21
|
+
* @default undefined
|
22
|
+
*/
|
23
|
+
onResize?: (size: Size) => void
|
24
|
+
/**
|
25
|
+
* The box model to use for the ResizeObserver.
|
26
|
+
* @default 'content-box'
|
27
|
+
*/
|
28
|
+
box?: 'border-box' | 'content-box' | 'device-pixel-content-box'
|
29
|
+
}
|
30
|
+
|
31
|
+
const initialSize: Size = {
|
32
|
+
width: undefined,
|
33
|
+
height: undefined,
|
34
|
+
}
|
35
|
+
|
36
|
+
/**
|
37
|
+
* Custom hook that observes the size of an element using the [`ResizeObserver API`](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver).
|
38
|
+
* @template T - The type of the element to observe.
|
39
|
+
* @param {UseResizeObserverOptions<T>} options - The options for the ResizeObserver.
|
40
|
+
* @returns {Size} - The size of the observed element.
|
41
|
+
* @public
|
42
|
+
* @see [Documentation](https://usehooks-ts.com/react-hook/use-resize-observer)
|
43
|
+
* @example
|
44
|
+
* ```tsx
|
45
|
+
* const myRef = useRef(null);
|
46
|
+
* const { width = 0, height = 0 } = useResizeObserver({
|
47
|
+
* ref: myRef,
|
48
|
+
* box: 'content-box',
|
49
|
+
* });
|
50
|
+
*
|
51
|
+
* <div ref={myRef}>Hello, world!</div>
|
52
|
+
* ```
|
53
|
+
*/
|
54
|
+
export function useResizeObserver<T extends HTMLElement = HTMLElement>(
|
55
|
+
options: UseResizeObserverOptions<T>,
|
56
|
+
): Size {
|
57
|
+
const { ref, box = 'content-box' } = options
|
58
|
+
const [{ width, height }, setSize] = useState<Size>(initialSize)
|
59
|
+
const isMounted = useIsMounted()
|
60
|
+
const previousSize = useRef<Size>({ ...initialSize })
|
61
|
+
const onResize = useRef<((size: Size) => void) | undefined>(undefined)
|
62
|
+
onResize.current = options.onResize
|
63
|
+
|
64
|
+
useEffect(() => {
|
65
|
+
if (!ref.current) return
|
66
|
+
|
67
|
+
if (typeof window === 'undefined' || !('ResizeObserver' in window)) return
|
68
|
+
|
69
|
+
const observer = new ResizeObserver(([entry]) => {
|
70
|
+
const boxProp =
|
71
|
+
box === 'border-box'
|
72
|
+
? 'borderBoxSize'
|
73
|
+
: box === 'device-pixel-content-box'
|
74
|
+
? 'devicePixelContentBoxSize'
|
75
|
+
: 'contentBoxSize'
|
76
|
+
|
77
|
+
const newWidth = extractSize(entry, boxProp, 'inlineSize')
|
78
|
+
const newHeight = extractSize(entry, boxProp, 'blockSize')
|
79
|
+
|
80
|
+
const hasChanged =
|
81
|
+
previousSize.current.width !== newWidth ||
|
82
|
+
previousSize.current.height !== newHeight
|
83
|
+
|
84
|
+
if (hasChanged) {
|
85
|
+
const newSize: Size = { width: newWidth, height: newHeight }
|
86
|
+
previousSize.current.width = newWidth
|
87
|
+
previousSize.current.height = newHeight
|
88
|
+
|
89
|
+
if (onResize.current) {
|
90
|
+
onResize.current(newSize)
|
91
|
+
} else {
|
92
|
+
if (isMounted()) {
|
93
|
+
setSize(newSize)
|
94
|
+
}
|
95
|
+
}
|
96
|
+
}
|
97
|
+
})
|
98
|
+
|
99
|
+
observer.observe(ref.current, { box })
|
100
|
+
|
101
|
+
return () => {
|
102
|
+
observer.disconnect()
|
103
|
+
}
|
104
|
+
}, [box, ref, isMounted])
|
105
|
+
|
106
|
+
return { width, height }
|
107
|
+
}
|
108
|
+
|
109
|
+
/** @private */
|
110
|
+
type BoxSizesKey = keyof Pick<
|
111
|
+
ResizeObserverEntry,
|
112
|
+
'borderBoxSize' | 'contentBoxSize' | 'devicePixelContentBoxSize'
|
113
|
+
>
|
114
|
+
|
115
|
+
function extractSize(
|
116
|
+
entry: ResizeObserverEntry,
|
117
|
+
box: BoxSizesKey,
|
118
|
+
sizeType: keyof ResizeObserverSize,
|
119
|
+
): number | undefined {
|
120
|
+
if (!entry[box]) {
|
121
|
+
if (box === 'contentBoxSize') {
|
122
|
+
return entry.contentRect[sizeType === 'inlineSize' ? 'width' : 'height']
|
123
|
+
}
|
124
|
+
return undefined
|
125
|
+
}
|
126
|
+
|
127
|
+
return Array.isArray(entry[box])
|
128
|
+
? entry[box][0][sizeType]
|
129
|
+
: // @ts-ignore Support Firefox's non-standard behavior
|
130
|
+
(entry[box][sizeType] as number)
|
131
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './useScreen'
|
@@ -0,0 +1,106 @@
|
|
1
|
+
import { useState } from 'react'
|
2
|
+
|
3
|
+
import { useDebounceCallback } from '../useDebounceCallback'
|
4
|
+
import { useEventListener } from '../useEventListener'
|
5
|
+
import { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect'
|
6
|
+
|
7
|
+
/**
|
8
|
+
* The hooks options.
|
9
|
+
* @template InitializeWithValue - If `true` (default), the hook will initialize reading the screen dimensions. In SSR, you should set it to `false`, returning `undefined` initially.
|
10
|
+
*/
|
11
|
+
type UseScreenOptions<InitializeWithValue extends boolean | undefined> = {
|
12
|
+
/**
|
13
|
+
* If `true` (default), the hook will initialize reading the screen dimensions. In SSR, you should set it to `false`, returning `undefined` initially.
|
14
|
+
* @default true
|
15
|
+
*/
|
16
|
+
initializeWithValue: InitializeWithValue
|
17
|
+
/**
|
18
|
+
* The delay in milliseconds before the state is updated (disabled by default for retro-compatibility).
|
19
|
+
* @default undefined
|
20
|
+
*/
|
21
|
+
debounceDelay?: number
|
22
|
+
}
|
23
|
+
|
24
|
+
const IS_SERVER = typeof window === 'undefined'
|
25
|
+
|
26
|
+
// SSR version of useScreen.
|
27
|
+
export function useScreen(options: UseScreenOptions<false>): Screen | undefined
|
28
|
+
// CSR version of useScreen.
|
29
|
+
export function useScreen(options?: Partial<UseScreenOptions<true>>): Screen
|
30
|
+
/**
|
31
|
+
* Custom hook that tracks the [`screen`](https://developer.mozilla.org/en-US/docs/Web/API/Window/screen) dimensions and properties.
|
32
|
+
* @param {?UseScreenOptions} [options] - The options for customizing the behavior of the hook (optional).
|
33
|
+
* @returns {Screen | undefined} The current `Screen` object representing the screen dimensions and properties, or `undefined` if not available.
|
34
|
+
* @public
|
35
|
+
* @see [Documentation](https://usehooks-ts.com/react-hook/use-screen)
|
36
|
+
* @example
|
37
|
+
* ```tsx
|
38
|
+
* const currentScreen = useScreen();
|
39
|
+
* // Access properties of the current screen, such as width and height.
|
40
|
+
* ```
|
41
|
+
*/
|
42
|
+
export function useScreen(
|
43
|
+
options: Partial<UseScreenOptions<boolean>> = {},
|
44
|
+
): Screen | undefined {
|
45
|
+
let { initializeWithValue = true } = options
|
46
|
+
if (IS_SERVER) {
|
47
|
+
initializeWithValue = false
|
48
|
+
}
|
49
|
+
|
50
|
+
const readScreen = () => {
|
51
|
+
if (IS_SERVER) {
|
52
|
+
return undefined
|
53
|
+
}
|
54
|
+
return window.screen
|
55
|
+
}
|
56
|
+
|
57
|
+
const [screen, setScreen] = useState<Screen | undefined>(() => {
|
58
|
+
if (initializeWithValue) {
|
59
|
+
return readScreen()
|
60
|
+
}
|
61
|
+
return undefined
|
62
|
+
})
|
63
|
+
|
64
|
+
const debouncedSetScreen = useDebounceCallback(
|
65
|
+
setScreen,
|
66
|
+
options.debounceDelay,
|
67
|
+
)
|
68
|
+
|
69
|
+
// Handles the resize event of the window.
|
70
|
+
function handleSize() {
|
71
|
+
const newScreen = readScreen()
|
72
|
+
const setSize = options.debounceDelay ? debouncedSetScreen : setScreen
|
73
|
+
|
74
|
+
if (newScreen) {
|
75
|
+
// Create a shallow clone to trigger a re-render (#280).
|
76
|
+
const {
|
77
|
+
width,
|
78
|
+
height,
|
79
|
+
availHeight,
|
80
|
+
availWidth,
|
81
|
+
colorDepth,
|
82
|
+
orientation,
|
83
|
+
pixelDepth,
|
84
|
+
} = newScreen
|
85
|
+
|
86
|
+
setSize({
|
87
|
+
width,
|
88
|
+
height,
|
89
|
+
availHeight,
|
90
|
+
availWidth,
|
91
|
+
colorDepth,
|
92
|
+
orientation,
|
93
|
+
pixelDepth,
|
94
|
+
})
|
95
|
+
}
|
96
|
+
}
|
97
|
+
|
98
|
+
useEventListener('resize', handleSize)
|
99
|
+
|
100
|
+
// Set size at the first client-side load
|
101
|
+
useIsomorphicLayoutEffect(() => {
|
102
|
+
handleSize()
|
103
|
+
}, [])
|
104
|
+
|
105
|
+
return screen
|
106
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './useScript'
|
@@ -0,0 +1,142 @@
|
|
1
|
+
import { useEffect, useState } from 'react'
|
2
|
+
|
3
|
+
/** Script loading status. */
|
4
|
+
type UseScriptStatus = 'idle' | 'loading' | 'ready' | 'error'
|
5
|
+
|
6
|
+
/** Hook options. */
|
7
|
+
type UseScriptOptions = {
|
8
|
+
/** If `true`, prevents the script from being loaded (optional). */
|
9
|
+
shouldPreventLoad?: boolean
|
10
|
+
/** If `true`, removes the script from the DOM when the component unmounts (optional). */
|
11
|
+
removeOnUnmount?: boolean
|
12
|
+
/** Script's `id` (optional). */
|
13
|
+
id?: string
|
14
|
+
}
|
15
|
+
|
16
|
+
// Cached script statuses
|
17
|
+
const cachedScriptStatuses = new Map<string, UseScriptStatus | undefined>()
|
18
|
+
|
19
|
+
/**
|
20
|
+
* Gets the script element with the specified source URL.
|
21
|
+
* @param {string} src - The source URL of the script to get.
|
22
|
+
* @returns {{ node: HTMLScriptElement | null, status: UseScriptStatus | undefined }} The script element and its loading status.
|
23
|
+
* @public
|
24
|
+
* @example
|
25
|
+
* ```tsx
|
26
|
+
* const script = getScriptNode(src);
|
27
|
+
* ```
|
28
|
+
*/
|
29
|
+
function getScriptNode(src: string) {
|
30
|
+
const node: HTMLScriptElement | null = document.querySelector(
|
31
|
+
`script[src="${src}"]`,
|
32
|
+
)
|
33
|
+
const status = node?.getAttribute('data-status') as
|
34
|
+
| UseScriptStatus
|
35
|
+
| undefined
|
36
|
+
|
37
|
+
return {
|
38
|
+
node,
|
39
|
+
status,
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
/**
|
44
|
+
* Custom hook that dynamically loads scripts and tracking their loading status.
|
45
|
+
* @param {string | null} src - The source URL of the script to load. Set to `null` or omit to prevent loading (optional).
|
46
|
+
* @param {UseScriptOptions} [options] - Additional options for controlling script loading (optional).
|
47
|
+
* @returns {UseScriptStatus} The status of the script loading, which can be one of 'idle', 'loading', 'ready', or 'error'.
|
48
|
+
* @see [Documentation](https://usehooks-ts.com/react-hook/use-script)
|
49
|
+
* @example
|
50
|
+
* const scriptStatus = useScript('https://example.com/script.js', { removeOnUnmount: true });
|
51
|
+
* // Access the status of the script loading (e.g., 'loading', 'ready', 'error').
|
52
|
+
*/
|
53
|
+
export function useScript(
|
54
|
+
src: string | null,
|
55
|
+
options?: UseScriptOptions,
|
56
|
+
): UseScriptStatus {
|
57
|
+
const [status, setStatus] = useState<UseScriptStatus>(() => {
|
58
|
+
if (!src || options?.shouldPreventLoad) {
|
59
|
+
return 'idle'
|
60
|
+
}
|
61
|
+
|
62
|
+
if (typeof window === 'undefined') {
|
63
|
+
// SSR Handling - always return 'loading'
|
64
|
+
return 'loading'
|
65
|
+
}
|
66
|
+
|
67
|
+
return cachedScriptStatuses.get(src) ?? 'loading'
|
68
|
+
})
|
69
|
+
|
70
|
+
useEffect(() => {
|
71
|
+
if (!src || options?.shouldPreventLoad) {
|
72
|
+
return
|
73
|
+
}
|
74
|
+
|
75
|
+
const cachedScriptStatus = cachedScriptStatuses.get(src)
|
76
|
+
if (cachedScriptStatus === 'ready' || cachedScriptStatus === 'error') {
|
77
|
+
// If the script is already cached, set its status immediately
|
78
|
+
setStatus(cachedScriptStatus)
|
79
|
+
return
|
80
|
+
}
|
81
|
+
|
82
|
+
// Fetch existing script element by src
|
83
|
+
// It may have been added by another instance of this hook
|
84
|
+
const script = getScriptNode(src)
|
85
|
+
let scriptNode = script.node
|
86
|
+
|
87
|
+
if (!scriptNode) {
|
88
|
+
// Create script element and add it to document body
|
89
|
+
scriptNode = document.createElement('script')
|
90
|
+
scriptNode.src = src
|
91
|
+
scriptNode.async = true
|
92
|
+
if (options?.id) {
|
93
|
+
scriptNode.id = options.id
|
94
|
+
}
|
95
|
+
scriptNode.setAttribute('data-status', 'loading')
|
96
|
+
document.body.appendChild(scriptNode)
|
97
|
+
|
98
|
+
// Store status in attribute on script
|
99
|
+
// This can be read by other instances of this hook
|
100
|
+
const setAttributeFromEvent = (event: Event) => {
|
101
|
+
const scriptStatus: UseScriptStatus =
|
102
|
+
event.type === 'load' ? 'ready' : 'error'
|
103
|
+
|
104
|
+
scriptNode?.setAttribute('data-status', scriptStatus)
|
105
|
+
}
|
106
|
+
|
107
|
+
scriptNode.addEventListener('load', setAttributeFromEvent)
|
108
|
+
scriptNode.addEventListener('error', setAttributeFromEvent)
|
109
|
+
} else {
|
110
|
+
// Grab existing script status from attribute and set to state.
|
111
|
+
setStatus(script.status ?? cachedScriptStatus ?? 'loading')
|
112
|
+
}
|
113
|
+
|
114
|
+
// Script event handler to update status in state
|
115
|
+
// Note: Even if the script already exists we still need to add
|
116
|
+
// event handlers to update the state for *this* hook instance.
|
117
|
+
const setStateFromEvent = (event: Event) => {
|
118
|
+
const newStatus = event.type === 'load' ? 'ready' : 'error'
|
119
|
+
setStatus(newStatus)
|
120
|
+
cachedScriptStatuses.set(src, newStatus)
|
121
|
+
}
|
122
|
+
|
123
|
+
// Add event listeners
|
124
|
+
scriptNode.addEventListener('load', setStateFromEvent)
|
125
|
+
scriptNode.addEventListener('error', setStateFromEvent)
|
126
|
+
|
127
|
+
// Remove event listeners on cleanup
|
128
|
+
return () => {
|
129
|
+
if (scriptNode) {
|
130
|
+
scriptNode.removeEventListener('load', setStateFromEvent)
|
131
|
+
scriptNode.removeEventListener('error', setStateFromEvent)
|
132
|
+
}
|
133
|
+
|
134
|
+
if (scriptNode && options?.removeOnUnmount) {
|
135
|
+
scriptNode.remove()
|
136
|
+
cachedScriptStatuses.delete(src)
|
137
|
+
}
|
138
|
+
}
|
139
|
+
}, [src, options?.shouldPreventLoad, options?.removeOnUnmount, options?.id])
|
140
|
+
|
141
|
+
return status
|
142
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './useScrollLock'
|