@codeleap/web 6.3.0 → 6.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ActivityIndicator/index.d.ts +6 -2
- package/dist/components/ActivityIndicator/index.d.ts.map +1 -0
- package/dist/components/ActivityIndicator/styles.d.ts +1 -0
- package/dist/components/ActivityIndicator/styles.d.ts.map +1 -0
- package/dist/components/ActivityIndicator/types.d.ts +13 -2
- package/dist/components/ActivityIndicator/types.d.ts.map +1 -0
- package/dist/components/Badge/index.d.ts +8 -1
- package/dist/components/Badge/index.d.ts.map +1 -0
- package/dist/components/Badge/styles.d.ts +1 -0
- package/dist/components/Badge/styles.d.ts.map +1 -0
- package/dist/components/Badge/types.d.ts +17 -2
- package/dist/components/Badge/types.d.ts.map +1 -0
- package/dist/components/Button/index.d.ts +12 -9
- package/dist/components/Button/index.d.ts.map +1 -0
- package/dist/components/Button/styles.d.ts +7 -4
- package/dist/components/Button/styles.d.ts.map +1 -0
- package/dist/components/Button/types.d.ts +9 -5
- package/dist/components/Button/types.d.ts.map +1 -0
- package/dist/components/Calendar/index.d.ts +18 -0
- package/dist/components/Calendar/index.d.ts.map +1 -0
- package/dist/components/Calendar/styles.d.ts +3 -0
- package/dist/components/Calendar/styles.d.ts.map +1 -0
- package/dist/components/Calendar/types.d.ts +20 -0
- package/dist/components/Calendar/types.d.ts.map +1 -0
- package/dist/components/Carousel/index.d.ts +6 -0
- package/dist/components/Carousel/index.d.ts.map +1 -0
- package/dist/components/Carousel/styles.d.ts +1 -0
- package/dist/components/Carousel/styles.d.ts.map +1 -0
- package/dist/components/Carousel/types.d.ts +14 -2
- package/dist/components/Carousel/types.d.ts.map +1 -0
- package/dist/components/Checkbox/index.d.ts +6 -2
- package/dist/components/Checkbox/index.d.ts.map +1 -0
- package/dist/components/Checkbox/styles.d.ts +4 -6
- package/dist/components/Checkbox/styles.d.ts.map +1 -0
- package/dist/components/Checkbox/types.d.ts +20 -5
- package/dist/components/Checkbox/types.d.ts.map +1 -0
- package/dist/components/Collapse/index.d.ts +5 -0
- package/dist/components/Collapse/index.d.ts.map +1 -0
- package/dist/components/Collapse/styles.d.ts +1 -0
- package/dist/components/Collapse/styles.d.ts.map +1 -0
- package/dist/components/Collapse/types.d.ts +6 -2
- package/dist/components/Collapse/types.d.ts.map +1 -0
- package/dist/components/ColorPicker/index.d.ts +6 -0
- package/dist/components/ColorPicker/index.d.ts.map +1 -0
- package/dist/components/ColorPicker/styles.d.ts +1 -0
- package/dist/components/ColorPicker/styles.d.ts.map +1 -0
- package/dist/components/ColorPicker/types.d.ts +17 -4
- package/dist/components/ColorPicker/types.d.ts.map +1 -0
- package/dist/components/CropPicker/hooks.d.ts +12 -2
- package/dist/components/CropPicker/hooks.d.ts.map +1 -0
- package/dist/components/CropPicker/index.d.ts +6 -2
- package/dist/components/CropPicker/index.d.ts.map +1 -0
- package/dist/components/CropPicker/styles.d.ts +2 -2
- package/dist/components/CropPicker/styles.d.ts.map +1 -0
- package/dist/components/CropPicker/types.d.ts +8 -4
- package/dist/components/CropPicker/types.d.ts.map +1 -0
- package/dist/components/CropPicker/utils.d.ts +10 -0
- package/dist/components/CropPicker/utils.d.ts.map +1 -0
- package/dist/components/DatePicker/index.d.ts +7 -2
- package/dist/components/DatePicker/index.d.ts.map +1 -0
- package/dist/components/DatePicker/styles.d.ts +3 -6
- package/dist/components/DatePicker/styles.d.ts.map +1 -0
- package/dist/components/DatePicker/types.d.ts +46 -50
- package/dist/components/DatePicker/types.d.ts.map +1 -0
- package/dist/components/Drawer/index.d.ts +7 -1
- package/dist/components/Drawer/index.d.ts.map +1 -0
- package/dist/components/Drawer/styles.d.ts +2 -2
- package/dist/components/Drawer/styles.d.ts.map +1 -0
- package/dist/components/Drawer/types.d.ts +8 -17
- package/dist/components/Drawer/types.d.ts.map +1 -0
- package/dist/components/Dropzone/context.d.ts +17 -0
- package/dist/components/Dropzone/context.d.ts.map +1 -0
- package/dist/components/Dropzone/elements.d.ts +32 -0
- package/dist/components/Dropzone/elements.d.ts.map +1 -0
- package/dist/components/Dropzone/index.d.ts +21 -0
- package/dist/components/Dropzone/index.d.ts.map +1 -0
- package/dist/components/Dropzone/styles.d.ts +3 -2
- package/dist/components/Dropzone/styles.d.ts.map +1 -0
- package/dist/components/Dropzone/types.d.ts +69 -33
- package/dist/components/Dropzone/types.d.ts.map +1 -0
- package/dist/components/Dropzone/useDropzone.d.ts +14 -0
- package/dist/components/Dropzone/useDropzone.d.ts.map +1 -0
- package/dist/components/EmptyPlaceholder/index.d.ts +6 -0
- package/dist/components/EmptyPlaceholder/index.d.ts.map +1 -0
- package/dist/components/EmptyPlaceholder/styles.d.ts +1 -0
- package/dist/components/EmptyPlaceholder/styles.d.ts.map +1 -0
- package/dist/components/EmptyPlaceholder/types.d.ts +12 -2
- package/dist/components/EmptyPlaceholder/types.d.ts.map +1 -0
- package/dist/components/Field/context.d.ts +26 -0
- package/dist/components/Field/context.d.ts.map +1 -0
- package/dist/components/Field/elements.d.ts +63 -0
- package/dist/components/Field/elements.d.ts.map +1 -0
- package/dist/components/Field/index.d.ts +66 -0
- package/dist/components/Field/index.d.ts.map +1 -0
- package/dist/components/Field/styles.d.ts +15 -0
- package/dist/components/Field/styles.d.ts.map +1 -0
- package/dist/components/Field/types.d.ts +46 -0
- package/dist/components/Field/types.d.ts.map +1 -0
- package/dist/components/{InputBase/useInputBase.d.ts → Field/useFieldInput.d.ts} +17 -6
- package/dist/components/Field/useFieldInput.d.ts.map +1 -0
- package/dist/components/FileInput/index.d.ts +6 -0
- package/dist/components/FileInput/index.d.ts.map +1 -0
- package/dist/components/FileInput/types.d.ts +8 -0
- package/dist/components/FileInput/types.d.ts.map +1 -0
- package/dist/components/Icon/index.d.ts +8 -1
- package/dist/components/Icon/index.d.ts.map +1 -0
- package/dist/components/Icon/styles.d.ts +1 -0
- package/dist/components/Icon/styles.d.ts.map +1 -0
- package/dist/components/Icon/types.d.ts +13 -3
- package/dist/components/Icon/types.d.ts.map +1 -0
- package/dist/components/List/context.d.ts +44 -0
- package/dist/components/List/context.d.ts.map +1 -0
- package/dist/components/List/elements.d.ts +29 -0
- package/dist/components/List/elements.d.ts.map +1 -0
- package/dist/components/List/index.d.ts +18 -2
- package/dist/components/List/index.d.ts.map +1 -0
- package/dist/components/List/scroll.d.ts +14 -0
- package/dist/components/List/scroll.d.ts.map +1 -0
- package/dist/components/List/styles.d.ts +2 -1
- package/dist/components/List/styles.d.ts.map +1 -0
- package/dist/components/List/types.d.ts +73 -13
- package/dist/components/List/types.d.ts.map +1 -0
- package/dist/components/LoadingOverlay/index.d.ts +7 -0
- package/dist/components/LoadingOverlay/index.d.ts.map +1 -0
- package/dist/components/LoadingOverlay/styles.d.ts +1 -0
- package/dist/components/LoadingOverlay/styles.d.ts.map +1 -0
- package/dist/components/LoadingOverlay/types.d.ts +8 -2
- package/dist/components/LoadingOverlay/types.d.ts.map +1 -0
- package/dist/components/MaskedTextInput/index.d.ts +7 -5
- package/dist/components/MaskedTextInput/index.d.ts.map +1 -0
- package/dist/components/MaskedTextInput/mask.d.ts +1 -0
- package/dist/components/MaskedTextInput/mask.d.ts.map +1 -0
- package/dist/components/MaskedTextInput/types.d.ts +12 -0
- package/dist/components/MaskedTextInput/types.d.ts.map +1 -0
- package/dist/components/Modal/context.d.ts +59 -0
- package/dist/components/Modal/context.d.ts.map +1 -0
- package/dist/components/Modal/elements.d.ts +38 -0
- package/dist/components/Modal/elements.d.ts.map +1 -0
- package/dist/components/Modal/index.d.ts +19 -2
- package/dist/components/Modal/index.d.ts.map +1 -0
- package/dist/components/Modal/styles.d.ts +3 -4
- package/dist/components/Modal/styles.d.ts.map +1 -0
- package/dist/components/Modal/types.d.ts +21 -36
- package/dist/components/Modal/types.d.ts.map +1 -0
- package/dist/components/NumberIncrement/index.d.ts +6 -2
- package/dist/components/NumberIncrement/index.d.ts.map +1 -0
- package/dist/components/NumberIncrement/styles.d.ts +4 -4
- package/dist/components/NumberIncrement/styles.d.ts.map +1 -0
- package/dist/components/NumberIncrement/types.d.ts +16 -4
- package/dist/components/NumberIncrement/types.d.ts.map +1 -0
- package/dist/components/NumberIncrement/useNumberIncrement.d.ts +10 -4
- package/dist/components/NumberIncrement/useNumberIncrement.d.ts.map +1 -0
- package/dist/components/Overlay/index.d.ts +7 -0
- package/dist/components/Overlay/index.d.ts.map +1 -0
- package/dist/components/Overlay/styles.d.ts +1 -0
- package/dist/components/Overlay/styles.d.ts.map +1 -0
- package/dist/components/Overlay/types.d.ts +8 -2
- package/dist/components/Overlay/types.d.ts.map +1 -0
- package/dist/components/PaginationButtons/index.d.ts +6 -0
- package/dist/components/PaginationButtons/index.d.ts.map +1 -0
- package/dist/components/PaginationButtons/styles.d.ts +1 -0
- package/dist/components/PaginationButtons/styles.d.ts.map +1 -0
- package/dist/components/PaginationButtons/types.d.ts +12 -2
- package/dist/components/PaginationButtons/types.d.ts.map +1 -0
- package/dist/components/PaginationIndicator/index.d.ts +6 -1
- package/dist/components/PaginationIndicator/index.d.ts.map +1 -0
- package/dist/components/PaginationIndicator/styles.d.ts +1 -0
- package/dist/components/PaginationIndicator/styles.d.ts.map +1 -0
- package/dist/components/PaginationIndicator/types.d.ts +11 -2
- package/dist/components/PaginationIndicator/types.d.ts.map +1 -0
- package/dist/components/Progress/Bar/Segmented.d.ts +16 -0
- package/dist/components/Progress/Bar/Segmented.d.ts.map +1 -0
- package/dist/components/Progress/Bar/index.d.ts +14 -0
- package/dist/components/Progress/Bar/index.d.ts.map +1 -0
- package/dist/components/Progress/Bar/styles.d.ts +3 -1
- package/dist/components/Progress/Bar/styles.d.ts.map +1 -0
- package/dist/components/Progress/Bar/types.d.ts +36 -6
- package/dist/components/Progress/Bar/types.d.ts.map +1 -0
- package/dist/components/Progress/Circle/Segmented.d.ts +16 -0
- package/dist/components/Progress/Circle/Segmented.d.ts.map +1 -0
- package/dist/components/Progress/Circle/index.d.ts +15 -0
- package/dist/components/Progress/Circle/index.d.ts.map +1 -0
- package/dist/components/Progress/Circle/styles.d.ts +3 -1
- package/dist/components/Progress/Circle/styles.d.ts.map +1 -0
- package/dist/components/Progress/Circle/types.d.ts +47 -7
- package/dist/components/Progress/Circle/types.d.ts.map +1 -0
- package/dist/components/Progress/index.d.ts +2 -0
- package/dist/components/Progress/index.d.ts.map +1 -0
- package/dist/components/Progress/utils.d.ts +1 -0
- package/dist/components/Progress/utils.d.ts.map +1 -0
- package/dist/components/RadioInput/index.d.ts +6 -2
- package/dist/components/RadioInput/index.d.ts.map +1 -0
- package/dist/components/RadioInput/styles.d.ts +4 -5
- package/dist/components/RadioInput/styles.d.ts.map +1 -0
- package/dist/components/RadioInput/types.d.ts +16 -7
- package/dist/components/RadioInput/types.d.ts.map +1 -0
- package/dist/components/SearchInput/index.d.ts +17 -0
- package/dist/components/SearchInput/index.d.ts.map +1 -0
- package/dist/components/SectionFilters/index.d.ts +8 -1
- package/dist/components/SectionFilters/index.d.ts.map +1 -0
- package/dist/components/SectionFilters/styles.d.ts +1 -0
- package/dist/components/SectionFilters/styles.d.ts.map +1 -0
- package/dist/components/SectionFilters/types.d.ts +28 -5
- package/dist/components/SectionFilters/types.d.ts.map +1 -0
- package/dist/components/Select/context.d.ts +61 -0
- package/dist/components/Select/context.d.ts.map +1 -0
- package/dist/components/Select/elements.d.ts +26 -0
- package/dist/components/Select/elements.d.ts.map +1 -0
- package/dist/components/Select/index.d.ts +71 -3
- package/dist/components/Select/index.d.ts.map +1 -0
- package/dist/components/Select/styles.d.ts +4 -51
- package/dist/components/Select/styles.d.ts.map +1 -0
- package/dist/components/Select/types.d.ts +79 -101
- package/dist/components/Select/types.d.ts.map +1 -0
- package/dist/components/Select/useTriggerWidth.d.ts +8 -0
- package/dist/components/Select/useTriggerWidth.d.ts.map +1 -0
- package/dist/components/Slider/index.d.ts +6 -2
- package/dist/components/Slider/index.d.ts.map +1 -0
- package/dist/components/Slider/styles.d.ts +4 -4
- package/dist/components/Slider/styles.d.ts.map +1 -0
- package/dist/components/Slider/types.d.ts +18 -4
- package/dist/components/Slider/types.d.ts.map +1 -0
- package/dist/components/Switch/index.d.ts +6 -2
- package/dist/components/Switch/index.d.ts.map +1 -0
- package/dist/components/Switch/styles.d.ts +4 -6
- package/dist/components/Switch/styles.d.ts.map +1 -0
- package/dist/components/Switch/types.d.ts +20 -5
- package/dist/components/Switch/types.d.ts.map +1 -0
- package/dist/components/Tag/index.d.ts +6 -0
- package/dist/components/Tag/index.d.ts.map +1 -0
- package/dist/components/Tag/styles.d.ts +1 -0
- package/dist/components/Tag/styles.d.ts.map +1 -0
- package/dist/components/Tag/types.d.ts +15 -2
- package/dist/components/Tag/types.d.ts.map +1 -0
- package/dist/components/Text/index.d.ts +8 -0
- package/dist/components/Text/index.d.ts.map +1 -0
- package/dist/components/Text/styles.d.ts +2 -1
- package/dist/components/Text/styles.d.ts.map +1 -0
- package/dist/components/Text/types.d.ts +18 -2
- package/dist/components/Text/types.d.ts.map +1 -0
- package/dist/components/TextEditor/index.d.ts +7 -1
- package/dist/components/TextEditor/index.d.ts.map +1 -0
- package/dist/components/TextEditor/styles.d.ts +1 -0
- package/dist/components/TextEditor/styles.d.ts.map +1 -0
- package/dist/components/TextEditor/types.d.ts +10 -2
- package/dist/components/TextEditor/types.d.ts.map +1 -0
- package/dist/components/TextInput/index.d.ts +6 -0
- package/dist/components/TextInput/index.d.ts.map +1 -0
- package/dist/components/TextInput/styles.d.ts +4 -6
- package/dist/components/TextInput/styles.d.ts.map +1 -0
- package/dist/components/TextInput/types.d.ts +20 -11
- package/dist/components/TextInput/types.d.ts.map +1 -0
- package/dist/components/TextInput/useTextInput.d.ts +22 -14
- package/dist/components/TextInput/useTextInput.d.ts.map +1 -0
- package/dist/components/Tooltip/index.d.ts +6 -0
- package/dist/components/Tooltip/index.d.ts.map +1 -0
- package/dist/components/Tooltip/styles.d.ts +1 -0
- package/dist/components/Tooltip/styles.d.ts.map +1 -0
- package/dist/components/Tooltip/types.d.ts +12 -2
- package/dist/components/Tooltip/types.d.ts.map +1 -0
- package/dist/components/Touchable/index.d.ts +13 -9
- package/dist/components/Touchable/index.d.ts.map +1 -0
- package/dist/components/Touchable/styles.d.ts +1 -0
- package/dist/components/Touchable/styles.d.ts.map +1 -0
- package/dist/components/Touchable/types.d.ts +14 -3
- package/dist/components/Touchable/types.d.ts.map +1 -0
- package/dist/components/View/index.d.ts +13 -9
- package/dist/components/View/index.d.ts.map +1 -0
- package/dist/components/View/styles.d.ts +1 -0
- package/dist/components/View/styles.d.ts.map +1 -0
- package/dist/components/View/types.d.ts +15 -2
- package/dist/components/View/types.d.ts.map +1 -0
- package/dist/components/components.d.ts +3 -4
- package/dist/components/components.d.ts.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/lib/ListMasonry.d.ts +1 -0
- package/dist/lib/ListMasonry.d.ts.map +1 -0
- package/dist/lib/ThemeVariables.d.ts +10 -0
- package/dist/lib/ThemeVariables.d.ts.map +1 -0
- package/dist/lib/WebStyleRegistry.d.ts +21 -0
- package/dist/lib/WebStyleRegistry.d.ts.map +1 -0
- package/dist/lib/hooks/index.d.ts +4 -0
- package/dist/lib/hooks/index.d.ts.map +1 -0
- package/dist/lib/hooks/useAnimatedStyle.d.ts +8 -0
- package/dist/lib/hooks/useAnimatedStyle.d.ts.map +1 -0
- package/dist/lib/hooks/useAnimatedVariantStyles.d.ts +7 -0
- package/dist/lib/hooks/useAnimatedVariantStyles.d.ts.map +1 -0
- package/dist/lib/hooks/useAsyncSelect.d.ts +71 -0
- package/dist/lib/hooks/useAsyncSelect.d.ts.map +1 -0
- package/dist/lib/hooks/useBreakpointMatch.d.ts +12 -0
- package/dist/lib/hooks/useBreakpointMatch.d.ts.map +1 -0
- package/dist/lib/hooks/useClick.d.ts +7 -0
- package/dist/lib/hooks/useClick.d.ts.map +1 -0
- package/dist/lib/hooks/useClickOutside.d.ts +10 -1
- package/dist/lib/hooks/useClickOutside.d.ts.map +1 -0
- package/dist/lib/hooks/useFileInput.d.ts +8 -2
- package/dist/lib/hooks/useFileInput.d.ts.map +1 -0
- package/dist/lib/hooks/useIsomorphicEffect.d.ts +5 -0
- package/dist/lib/hooks/useIsomorphicEffect.d.ts.map +1 -0
- package/dist/lib/hooks/useKeydown.d.ts +9 -0
- package/dist/lib/hooks/useKeydown.d.ts.map +1 -0
- package/dist/lib/hooks/useListFocus.d.ts +19 -0
- package/dist/lib/hooks/useListFocus.d.ts.map +1 -0
- package/dist/lib/hooks/useMediaQuery.d.ts +8 -0
- package/dist/lib/hooks/useMediaQuery.d.ts.map +1 -0
- package/dist/lib/hooks/usePageExitBlocker.d.ts +11 -0
- package/dist/lib/hooks/usePageExitBlocker.d.ts.map +1 -0
- package/dist/lib/hooks/usePagination.d.ts +20 -5
- package/dist/lib/hooks/usePagination.d.ts.map +1 -0
- package/dist/lib/hooks/usePopState.d.ts +12 -0
- package/dist/lib/hooks/usePopState.d.ts.map +1 -0
- package/dist/lib/hooks/usePopoverDismiss.d.ts +20 -0
- package/dist/lib/hooks/usePopoverDismiss.d.ts.map +1 -0
- package/dist/lib/hooks/useRefresh.d.ts +12 -2
- package/dist/lib/hooks/useRefresh.d.ts.map +1 -0
- package/dist/lib/hooks/useScrollEffect.d.ts +7 -1
- package/dist/lib/hooks/useScrollEffect.d.ts.map +1 -0
- package/dist/lib/hooks/useSearchParams.d.ts +14 -0
- package/dist/lib/hooks/useSearchParams.d.ts.map +1 -0
- package/dist/lib/hooks/useStaticAnimationStyles.d.ts +7 -0
- package/dist/lib/hooks/useStaticAnimationStyles.d.ts.map +1 -0
- package/dist/lib/hooks/useStylesFor.d.ts +12 -2
- package/dist/lib/hooks/useStylesFor.d.ts.map +1 -0
- package/dist/lib/hooks/useTouchableEvents.d.ts +19 -0
- package/dist/lib/hooks/useTouchableEvents.d.ts.map +1 -0
- package/dist/lib/hooks/useWindowFocus.d.ts +6 -0
- package/dist/lib/hooks/useWindowFocus.d.ts.map +1 -0
- package/dist/lib/hooks/useWindowSize.d.ts +8 -1
- package/dist/lib/hooks/useWindowSize.d.ts.map +1 -0
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/tools/index.d.ts +1 -0
- package/dist/lib/tools/index.d.ts.map +1 -0
- package/dist/lib/tools/localStorage.d.ts +13 -0
- package/dist/lib/tools/localStorage.d.ts.map +1 -0
- package/dist/lib/tools/mediaQuery.d.ts +10 -3
- package/dist/lib/tools/mediaQuery.d.ts.map +1 -0
- package/dist/lib/tools/modal.d.ts +12 -0
- package/dist/lib/tools/modal.d.ts.map +1 -0
- package/dist/lib/utils/attributes.d.ts +15 -0
- package/dist/lib/utils/attributes.d.ts.map +1 -0
- package/dist/lib/utils/cache.d.ts +5 -2
- package/dist/lib/utils/cache.d.ts.map +1 -0
- package/dist/lib/utils/index.d.ts +2 -0
- package/dist/lib/utils/index.d.ts.map +1 -0
- package/dist/lib/utils/pollyfils/scroll.d.ts +7 -0
- package/dist/lib/utils/pollyfils/scroll.d.ts.map +1 -0
- package/dist/lib/utils/stopPropagation.d.ts +6 -0
- package/dist/lib/utils/stopPropagation.d.ts.map +1 -0
- package/dist/lib/utils/test.d.ts +6 -0
- package/dist/lib/utils/test.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/utility.d.ts +19 -0
- package/dist/types/utility.d.ts.map +1 -0
- package/package.json +37 -23
- package/src/components/ActivityIndicator/index.tsx +8 -12
- package/src/components/ActivityIndicator/types.ts +12 -2
- package/src/components/Badge/index.tsx +8 -2
- package/src/components/Badge/types.ts +16 -2
- package/src/components/Button/index.tsx +28 -14
- package/src/components/Button/styles.ts +8 -4
- package/src/components/Button/types.ts +11 -5
- package/src/components/Calendar/index.tsx +121 -0
- package/src/components/Calendar/styles.ts +14 -0
- package/src/components/Calendar/types.ts +23 -0
- package/src/components/Carousel/index.tsx +5 -0
- package/src/components/Carousel/types.ts +13 -2
- package/src/components/Checkbox/index.tsx +62 -134
- package/src/components/Checkbox/styles.ts +3 -15
- package/src/components/Checkbox/types.ts +21 -7
- package/src/components/Collapse/index.tsx +4 -1
- package/src/components/Collapse/types.ts +5 -2
- package/src/components/ColorPicker/index.tsx +11 -4
- package/src/components/ColorPicker/types.ts +16 -4
- package/src/components/CropPicker/hooks.ts +9 -0
- package/src/components/CropPicker/index.tsx +28 -37
- package/src/components/CropPicker/styles.ts +1 -5
- package/src/components/CropPicker/types.ts +7 -4
- package/src/components/CropPicker/utils.ts +9 -0
- package/src/components/DatePicker/index.tsx +77 -130
- package/src/components/DatePicker/styles.ts +2 -22
- package/src/components/DatePicker/types.ts +45 -57
- package/src/components/Drawer/index.tsx +55 -167
- package/src/components/Drawer/styles.ts +4 -7
- package/src/components/Drawer/types.ts +9 -21
- package/src/components/Dropzone/context.tsx +52 -0
- package/src/components/Dropzone/elements.tsx +79 -0
- package/src/components/Dropzone/index.tsx +67 -213
- package/src/components/Dropzone/styles.ts +7 -12
- package/src/components/Dropzone/types.ts +92 -39
- package/src/components/Dropzone/useDropzone.ts +18 -0
- package/src/components/EmptyPlaceholder/index.tsx +6 -1
- package/src/components/EmptyPlaceholder/types.ts +11 -2
- package/src/components/Field/context.tsx +66 -0
- package/src/components/Field/elements.tsx +159 -0
- package/src/components/Field/index.tsx +55 -0
- package/src/components/Field/styles.ts +18 -0
- package/src/components/Field/types.ts +51 -0
- package/src/components/{InputBase/useInputBase.ts → Field/useFieldInput.ts} +13 -10
- package/src/components/FileInput/index.tsx +7 -2
- package/src/components/FileInput/types.ts +9 -2
- package/src/components/Icon/index.tsx +33 -5
- package/src/components/Icon/types.ts +14 -5
- package/src/components/List/context.tsx +97 -0
- package/src/components/List/elements.tsx +173 -0
- package/src/components/List/index.tsx +37 -74
- package/src/components/List/scroll.ts +83 -0
- package/src/components/List/styles.ts +1 -1
- package/src/components/List/types.ts +83 -19
- package/src/components/LoadingOverlay/index.tsx +6 -0
- package/src/components/LoadingOverlay/types.ts +7 -2
- package/src/components/MaskedTextInput/index.tsx +6 -4
- package/src/components/MaskedTextInput/types.ts +11 -0
- package/src/components/Modal/context.tsx +48 -0
- package/src/components/Modal/elements.tsx +119 -0
- package/src/components/Modal/index.tsx +38 -325
- package/src/components/Modal/styles.ts +4 -14
- package/src/components/Modal/types.ts +23 -45
- package/src/components/NumberIncrement/index.tsx +87 -88
- package/src/components/NumberIncrement/styles.ts +3 -8
- package/src/components/NumberIncrement/types.ts +16 -4
- package/src/components/NumberIncrement/useNumberIncrement.ts +7 -2
- package/src/components/Overlay/index.tsx +20 -3
- package/src/components/Overlay/types.ts +7 -2
- package/src/components/PaginationButtons/index.tsx +5 -0
- package/src/components/PaginationButtons/types.ts +11 -2
- package/src/components/PaginationIndicator/index.tsx +4 -0
- package/src/components/PaginationIndicator/types.ts +11 -3
- package/src/components/Progress/Bar/Segmented.tsx +66 -0
- package/src/components/Progress/Bar/index.tsx +31 -15
- package/src/components/Progress/Bar/styles.ts +6 -1
- package/src/components/Progress/Bar/types.ts +39 -7
- package/src/components/Progress/Circle/Segmented.tsx +114 -0
- package/src/components/Progress/Circle/index.tsx +89 -39
- package/src/components/Progress/Circle/styles.ts +7 -1
- package/src/components/Progress/Circle/types.ts +49 -7
- package/src/components/Progress/index.tsx +1 -0
- package/src/components/RadioInput/index.tsx +63 -56
- package/src/components/RadioInput/styles.ts +3 -7
- package/src/components/RadioInput/types.ts +16 -8
- package/src/components/SearchInput/index.tsx +31 -10
- package/src/components/SectionFilters/index.tsx +6 -0
- package/src/components/SectionFilters/types.ts +27 -5
- package/src/components/Select/context.tsx +262 -0
- package/src/components/Select/elements.tsx +126 -0
- package/src/components/Select/index.tsx +64 -494
- package/src/components/Select/styles.ts +7 -169
- package/src/components/Select/types.ts +68 -101
- package/src/components/Select/useTriggerWidth.ts +29 -0
- package/src/components/Slider/index.tsx +118 -116
- package/src/components/Slider/styles.ts +4 -9
- package/src/components/Slider/types.ts +19 -6
- package/src/components/Switch/index.tsx +60 -96
- package/src/components/Switch/styles.ts +3 -14
- package/src/components/Switch/types.ts +22 -7
- package/src/components/Tag/index.tsx +18 -5
- package/src/components/Tag/types.ts +15 -2
- package/src/components/Text/index.tsx +35 -3
- package/src/components/Text/styles.ts +1 -1
- package/src/components/Text/types.ts +19 -2
- package/src/components/TextEditor/index.tsx +7 -1
- package/src/components/TextEditor/types.ts +9 -2
- package/src/components/TextInput/index.tsx +94 -109
- package/src/components/TextInput/styles.ts +4 -8
- package/src/components/TextInput/types.ts +24 -11
- package/src/components/TextInput/useTextInput.ts +33 -17
- package/src/components/Tooltip/index.tsx +5 -3
- package/src/components/Tooltip/types.ts +11 -2
- package/src/components/Touchable/index.tsx +23 -25
- package/src/components/Touchable/types.ts +31 -19
- package/src/components/View/index.tsx +7 -5
- package/src/components/View/types.ts +14 -2
- package/src/components/components.ts +3 -4
- package/src/css.d.ts +10 -0
- package/src/lib/ThemeVariables.tsx +38 -0
- package/src/lib/WebStyleRegistry.ts +27 -0
- package/src/lib/hooks/index.ts +4 -0
- package/src/lib/hooks/useAnimatedStyle.ts +7 -0
- package/src/lib/hooks/useAnimatedVariantStyles.ts +6 -0
- package/src/lib/hooks/useAsyncSelect.ts +126 -0
- package/src/lib/hooks/useBreakpointMatch.ts +11 -0
- package/src/lib/hooks/useClick.ts +7 -1
- package/src/lib/hooks/useClickOutside.ts +8 -0
- package/src/lib/hooks/useFileInput.ts +5 -0
- package/src/lib/hooks/useIsomorphicEffect.ts +4 -0
- package/src/lib/hooks/useKeydown.ts +8 -0
- package/src/lib/hooks/useListFocus.ts +59 -0
- package/src/lib/hooks/useMediaQuery.ts +7 -0
- package/src/lib/hooks/usePageExitBlocker.ts +10 -0
- package/src/lib/hooks/usePagination.ts +14 -0
- package/src/lib/hooks/usePopState.ts +11 -0
- package/src/lib/hooks/usePopoverDismiss.ts +42 -0
- package/src/lib/hooks/useRefresh.ts +9 -0
- package/src/lib/hooks/useScrollEffect.ts +5 -0
- package/src/lib/hooks/useSearchParams.ts +13 -0
- package/src/lib/hooks/useStaticAnimationStyles.ts +6 -0
- package/src/lib/hooks/useStylesFor.ts +32 -21
- package/src/lib/hooks/useTouchableEvents.ts +41 -0
- package/src/lib/hooks/useWindowFocus.ts +5 -0
- package/src/lib/hooks/useWindowSize.ts +21 -6
- package/src/lib/index.ts +1 -0
- package/src/lib/tools/localStorage.ts +12 -0
- package/src/lib/tools/mediaQuery.ts +9 -3
- package/src/lib/tools/modal.ts +11 -0
- package/src/lib/utils/attributes.ts +53 -0
- package/src/lib/utils/cache.ts +2 -0
- package/src/lib/utils/index.ts +1 -0
- package/src/lib/utils/pollyfils/scroll.ts +6 -0
- package/src/lib/utils/stopPropagation.ts +5 -0
- package/src/lib/utils/test.ts +5 -0
- package/src/types/utility.ts +18 -2
- package/dist/components/ActionIcon/index.d.ts +0 -12
- package/dist/components/ActionIcon/index.js +0 -88
- package/dist/components/ActionIcon/index.js.map +0 -1
- package/dist/components/ActionIcon/styles.d.ts +0 -5
- package/dist/components/ActionIcon/styles.js +0 -3
- package/dist/components/ActionIcon/styles.js.map +0 -1
- package/dist/components/ActionIcon/types.d.ts +0 -11
- package/dist/components/ActionIcon/types.js +0 -3
- package/dist/components/ActionIcon/types.js.map +0 -1
- package/dist/components/ActivityIndicator/index.js +0 -74
- package/dist/components/ActivityIndicator/index.js.map +0 -1
- package/dist/components/ActivityIndicator/styles.js +0 -3
- package/dist/components/ActivityIndicator/styles.js.map +0 -1
- package/dist/components/ActivityIndicator/types.js +0 -3
- package/dist/components/ActivityIndicator/types.js.map +0 -1
- package/dist/components/Badge/index.js +0 -100
- package/dist/components/Badge/index.js.map +0 -1
- package/dist/components/Badge/styles.js +0 -3
- package/dist/components/Badge/styles.js.map +0 -1
- package/dist/components/Badge/types.js +0 -3
- package/dist/components/Badge/types.js.map +0 -1
- package/dist/components/Button/index.js +0 -91
- package/dist/components/Button/index.js.map +0 -1
- package/dist/components/Button/styles.js +0 -3
- package/dist/components/Button/styles.js.map +0 -1
- package/dist/components/Button/types.js +0 -3
- package/dist/components/Button/types.js.map +0 -1
- package/dist/components/Carousel/index.js +0 -168
- package/dist/components/Carousel/index.js.map +0 -1
- package/dist/components/Carousel/styles.js +0 -3
- package/dist/components/Carousel/styles.js.map +0 -1
- package/dist/components/Carousel/types.js +0 -3
- package/dist/components/Carousel/types.js.map +0 -1
- package/dist/components/Checkbox/index.js +0 -129
- package/dist/components/Checkbox/index.js.map +0 -1
- package/dist/components/Checkbox/styles.js +0 -3
- package/dist/components/Checkbox/styles.js.map +0 -1
- package/dist/components/Checkbox/types.js +0 -3
- package/dist/components/Checkbox/types.js.map +0 -1
- package/dist/components/Collapse/index.js +0 -62
- package/dist/components/Collapse/index.js.map +0 -1
- package/dist/components/Collapse/styles.js +0 -3
- package/dist/components/Collapse/styles.js.map +0 -1
- package/dist/components/Collapse/types.js +0 -3
- package/dist/components/Collapse/types.js.map +0 -1
- package/dist/components/ColorPicker/index.js +0 -84
- package/dist/components/ColorPicker/index.js.map +0 -1
- package/dist/components/ColorPicker/styles.js +0 -3
- package/dist/components/ColorPicker/styles.js.map +0 -1
- package/dist/components/ColorPicker/types.js +0 -3
- package/dist/components/ColorPicker/types.js.map +0 -1
- package/dist/components/CropPicker/components/CropPickerFooter.d.ts +0 -11
- package/dist/components/CropPicker/components/CropPickerFooter.js +0 -12
- package/dist/components/CropPicker/components/CropPickerFooter.js.map +0 -1
- package/dist/components/CropPicker/hooks.js +0 -184
- package/dist/components/CropPicker/hooks.js.map +0 -1
- package/dist/components/CropPicker/index.js +0 -66
- package/dist/components/CropPicker/index.js.map +0 -1
- package/dist/components/CropPicker/styles.js +0 -3
- package/dist/components/CropPicker/styles.js.map +0 -1
- package/dist/components/CropPicker/types.js +0 -3
- package/dist/components/CropPicker/types.js.map +0 -1
- package/dist/components/CropPicker/utils.js +0 -117
- package/dist/components/CropPicker/utils.js.map +0 -1
- package/dist/components/DatePicker/components/DayContent.d.ts +0 -11
- package/dist/components/DatePicker/components/DayContent.js +0 -43
- package/dist/components/DatePicker/components/DayContent.js.map +0 -1
- package/dist/components/DatePicker/components/Header.d.ts +0 -3
- package/dist/components/DatePicker/components/Header.js +0 -50
- package/dist/components/DatePicker/components/Header.js.map +0 -1
- package/dist/components/DatePicker/components/OuterInput.d.ts +0 -2
- package/dist/components/DatePicker/components/OuterInput.js +0 -36
- package/dist/components/DatePicker/components/OuterInput.js.map +0 -1
- package/dist/components/DatePicker/components/YearContent.d.ts +0 -9
- package/dist/components/DatePicker/components/YearContent.js +0 -33
- package/dist/components/DatePicker/components/YearContent.js.map +0 -1
- package/dist/components/DatePicker/components/index.d.ts +0 -4
- package/dist/components/DatePicker/components/index.js +0 -21
- package/dist/components/DatePicker/components/index.js.map +0 -1
- package/dist/components/DatePicker/index.js +0 -102
- package/dist/components/DatePicker/index.js.map +0 -1
- package/dist/components/DatePicker/styles.js +0 -3
- package/dist/components/DatePicker/styles.js.map +0 -1
- package/dist/components/DatePicker/types.js +0 -3
- package/dist/components/DatePicker/types.js.map +0 -1
- package/dist/components/Drawer/index.js +0 -139
- package/dist/components/Drawer/index.js.map +0 -1
- package/dist/components/Drawer/styles.js +0 -3
- package/dist/components/Drawer/styles.js.map +0 -1
- package/dist/components/Drawer/types.js +0 -3
- package/dist/components/Drawer/types.js.map +0 -1
- package/dist/components/Dropzone/index.js +0 -167
- package/dist/components/Dropzone/index.js.map +0 -1
- package/dist/components/Dropzone/styles.js +0 -3
- package/dist/components/Dropzone/styles.js.map +0 -1
- package/dist/components/Dropzone/types.js +0 -3
- package/dist/components/Dropzone/types.js.map +0 -1
- package/dist/components/EmptyPlaceholder/index.js +0 -86
- package/dist/components/EmptyPlaceholder/index.js.map +0 -1
- package/dist/components/EmptyPlaceholder/styles.js +0 -3
- package/dist/components/EmptyPlaceholder/styles.js.map +0 -1
- package/dist/components/EmptyPlaceholder/types.js +0 -3
- package/dist/components/EmptyPlaceholder/types.js.map +0 -1
- package/dist/components/FileInput/index.js +0 -136
- package/dist/components/FileInput/index.js.map +0 -1
- package/dist/components/FileInput/types.js +0 -3
- package/dist/components/FileInput/types.js.map +0 -1
- package/dist/components/Icon/index.js +0 -73
- package/dist/components/Icon/index.js.map +0 -1
- package/dist/components/Icon/styles.js +0 -3
- package/dist/components/Icon/styles.js.map +0 -1
- package/dist/components/Icon/types.js +0 -3
- package/dist/components/Icon/types.js.map +0 -1
- package/dist/components/InputBase/index.d.ts +0 -7
- package/dist/components/InputBase/index.js +0 -120
- package/dist/components/InputBase/index.js.map +0 -1
- package/dist/components/InputBase/styles.d.ts +0 -30
- package/dist/components/InputBase/styles.js +0 -73
- package/dist/components/InputBase/styles.js.map +0 -1
- package/dist/components/InputBase/types.d.ts +0 -37
- package/dist/components/InputBase/types.js +0 -3
- package/dist/components/InputBase/types.js.map +0 -1
- package/dist/components/InputBase/useInputBase.js +0 -54
- package/dist/components/InputBase/useInputBase.js.map +0 -1
- package/dist/components/InputBase/useInputBasePartialStyles.d.ts +0 -2
- package/dist/components/InputBase/useInputBasePartialStyles.js +0 -39
- package/dist/components/InputBase/useInputBasePartialStyles.js.map +0 -1
- package/dist/components/InputBase/utils.d.ts +0 -18
- package/dist/components/InputBase/utils.js +0 -63
- package/dist/components/InputBase/utils.js.map +0 -1
- package/dist/components/List/index.js +0 -138
- package/dist/components/List/index.js.map +0 -1
- package/dist/components/List/styles.js +0 -3
- package/dist/components/List/styles.js.map +0 -1
- package/dist/components/List/types.js +0 -3
- package/dist/components/List/types.js.map +0 -1
- package/dist/components/LoadingOverlay/index.js +0 -63
- package/dist/components/LoadingOverlay/index.js.map +0 -1
- package/dist/components/LoadingOverlay/styles.js +0 -3
- package/dist/components/LoadingOverlay/styles.js.map +0 -1
- package/dist/components/LoadingOverlay/types.js +0 -3
- package/dist/components/LoadingOverlay/types.js.map +0 -1
- package/dist/components/MaskedTextInput/index.js +0 -69
- package/dist/components/MaskedTextInput/index.js.map +0 -1
- package/dist/components/MaskedTextInput/mask.js +0 -37
- package/dist/components/MaskedTextInput/mask.js.map +0 -1
- package/dist/components/MaskedTextInput/types.js +0 -3
- package/dist/components/MaskedTextInput/types.js.map +0 -1
- package/dist/components/Modal/index.js +0 -217
- package/dist/components/Modal/index.js.map +0 -1
- package/dist/components/Modal/styles.js +0 -3
- package/dist/components/Modal/styles.js.map +0 -1
- package/dist/components/Modal/types.js +0 -3
- package/dist/components/Modal/types.js.map +0 -1
- package/dist/components/NumberIncrement/index.js +0 -102
- package/dist/components/NumberIncrement/index.js.map +0 -1
- package/dist/components/NumberIncrement/styles.js +0 -3
- package/dist/components/NumberIncrement/styles.js.map +0 -1
- package/dist/components/NumberIncrement/types.js +0 -3
- package/dist/components/NumberIncrement/types.js.map +0 -1
- package/dist/components/NumberIncrement/useNumberIncrement.js +0 -114
- package/dist/components/NumberIncrement/useNumberIncrement.js.map +0 -1
- package/dist/components/Overlay/index.js +0 -71
- package/dist/components/Overlay/index.js.map +0 -1
- package/dist/components/Overlay/styles.js +0 -3
- package/dist/components/Overlay/styles.js.map +0 -1
- package/dist/components/Overlay/types.js +0 -3
- package/dist/components/Overlay/types.js.map +0 -1
- package/dist/components/PaginationButtons/index.js +0 -131
- package/dist/components/PaginationButtons/index.js.map +0 -1
- package/dist/components/PaginationButtons/styles.js +0 -3
- package/dist/components/PaginationButtons/styles.js.map +0 -1
- package/dist/components/PaginationButtons/types.js +0 -3
- package/dist/components/PaginationButtons/types.js.map +0 -1
- package/dist/components/PaginationIndicator/index.js +0 -63
- package/dist/components/PaginationIndicator/index.js.map +0 -1
- package/dist/components/PaginationIndicator/styles.js +0 -3
- package/dist/components/PaginationIndicator/styles.js.map +0 -1
- package/dist/components/PaginationIndicator/types.js +0 -3
- package/dist/components/PaginationIndicator/types.js.map +0 -1
- package/dist/components/Progress/Bar/index.js +0 -76
- package/dist/components/Progress/Bar/index.js.map +0 -1
- package/dist/components/Progress/Bar/styles.js +0 -3
- package/dist/components/Progress/Bar/styles.js.map +0 -1
- package/dist/components/Progress/Bar/types.js +0 -3
- package/dist/components/Progress/Bar/types.js.map +0 -1
- package/dist/components/Progress/Circle/index.js +0 -82
- package/dist/components/Progress/Circle/index.js.map +0 -1
- package/dist/components/Progress/Circle/styles.js +0 -3
- package/dist/components/Progress/Circle/styles.js.map +0 -1
- package/dist/components/Progress/Circle/types.js +0 -3
- package/dist/components/Progress/Circle/types.js.map +0 -1
- package/dist/components/Progress/index.js +0 -19
- package/dist/components/Progress/index.js.map +0 -1
- package/dist/components/Progress/utils.js +0 -7
- package/dist/components/Progress/utils.js.map +0 -1
- package/dist/components/RadioInput/index.js +0 -83
- package/dist/components/RadioInput/index.js.map +0 -1
- package/dist/components/RadioInput/styles.js +0 -3
- package/dist/components/RadioInput/styles.js.map +0 -1
- package/dist/components/RadioInput/types.js +0 -3
- package/dist/components/RadioInput/types.js.map +0 -1
- package/dist/components/SearchInput/index.js +0 -101
- package/dist/components/SearchInput/index.js.map +0 -1
- package/dist/components/SectionFilters/index.js +0 -179
- package/dist/components/SectionFilters/index.js.map +0 -1
- package/dist/components/SectionFilters/styles.js +0 -3
- package/dist/components/SectionFilters/styles.js.map +0 -1
- package/dist/components/SectionFilters/types.js +0 -3
- package/dist/components/SectionFilters/types.js.map +0 -1
- package/dist/components/SegmentedControl/index.d.ts +0 -12
- package/dist/components/SegmentedControl/index.js +0 -149
- package/dist/components/SegmentedControl/index.js.map +0 -1
- package/dist/components/SegmentedControl/styles.d.ts +0 -4
- package/dist/components/SegmentedControl/styles.js +0 -3
- package/dist/components/SegmentedControl/styles.js.map +0 -1
- package/dist/components/SegmentedControl/types.d.ts +0 -39
- package/dist/components/SegmentedControl/types.js +0 -3
- package/dist/components/SegmentedControl/types.js.map +0 -1
- package/dist/components/Select/index.js +0 -383
- package/dist/components/Select/index.js.map +0 -1
- package/dist/components/Select/styles.js +0 -96
- package/dist/components/Select/styles.js.map +0 -1
- package/dist/components/Select/types.js +0 -3
- package/dist/components/Select/types.js.map +0 -1
- package/dist/components/Slider/index.js +0 -193
- package/dist/components/Slider/index.js.map +0 -1
- package/dist/components/Slider/styles.js +0 -3
- package/dist/components/Slider/styles.js.map +0 -1
- package/dist/components/Slider/types.js +0 -3
- package/dist/components/Slider/types.js.map +0 -1
- package/dist/components/Switch/index.js +0 -108
- package/dist/components/Switch/index.js.map +0 -1
- package/dist/components/Switch/styles.js +0 -3
- package/dist/components/Switch/styles.js.map +0 -1
- package/dist/components/Switch/types.js +0 -3
- package/dist/components/Switch/types.js.map +0 -1
- package/dist/components/Tag/index.js +0 -86
- package/dist/components/Tag/index.js.map +0 -1
- package/dist/components/Tag/styles.js +0 -3
- package/dist/components/Tag/styles.js.map +0 -1
- package/dist/components/Tag/types.js +0 -3
- package/dist/components/Tag/types.js.map +0 -1
- package/dist/components/Text/index.js +0 -102
- package/dist/components/Text/index.js.map +0 -1
- package/dist/components/Text/styles.js +0 -3
- package/dist/components/Text/styles.js.map +0 -1
- package/dist/components/Text/types.js +0 -3
- package/dist/components/Text/types.js.map +0 -1
- package/dist/components/TextEditor/index.js +0 -114
- package/dist/components/TextEditor/index.js.map +0 -1
- package/dist/components/TextEditor/styles.js +0 -3
- package/dist/components/TextEditor/styles.js.map +0 -1
- package/dist/components/TextEditor/types.js +0 -3
- package/dist/components/TextEditor/types.js.map +0 -1
- package/dist/components/TextInput/index.js +0 -141
- package/dist/components/TextInput/index.js.map +0 -1
- package/dist/components/TextInput/styles.js +0 -3
- package/dist/components/TextInput/styles.js.map +0 -1
- package/dist/components/TextInput/types.js +0 -3
- package/dist/components/TextInput/types.js.map +0 -1
- package/dist/components/TextInput/useTextInput.js +0 -65
- package/dist/components/TextInput/useTextInput.js.map +0 -1
- package/dist/components/Tooltip/index.js +0 -134
- package/dist/components/Tooltip/index.js.map +0 -1
- package/dist/components/Tooltip/styles.js +0 -3
- package/dist/components/Tooltip/styles.js.map +0 -1
- package/dist/components/Tooltip/types.js +0 -3
- package/dist/components/Tooltip/types.js.map +0 -1
- package/dist/components/Touchable/index.js +0 -125
- package/dist/components/Touchable/index.js.map +0 -1
- package/dist/components/Touchable/styles.js +0 -3
- package/dist/components/Touchable/styles.js.map +0 -1
- package/dist/components/Touchable/types.js +0 -3
- package/dist/components/Touchable/types.js.map +0 -1
- package/dist/components/View/index.js +0 -74
- package/dist/components/View/index.js.map +0 -1
- package/dist/components/View/styles.js +0 -3
- package/dist/components/View/styles.js.map +0 -1
- package/dist/components/View/types.js +0 -3
- package/dist/components/View/types.js.map +0 -1
- package/dist/components/VirtualList/context.d.ts +0 -3
- package/dist/components/VirtualList/context.js +0 -93
- package/dist/components/VirtualList/context.js.map +0 -1
- package/dist/components/VirtualList/index.d.ts +0 -5
- package/dist/components/VirtualList/index.js +0 -14
- package/dist/components/VirtualList/index.js.map +0 -1
- package/dist/components/VirtualList/list.d.ts +0 -3
- package/dist/components/VirtualList/list.js +0 -102
- package/dist/components/VirtualList/list.js.map +0 -1
- package/dist/components/VirtualList/types.d.ts +0 -33
- package/dist/components/VirtualList/types.js +0 -3
- package/dist/components/VirtualList/types.js.map +0 -1
- package/dist/components/components.js +0 -60
- package/dist/components/components.js.map +0 -1
- package/dist/index.js +0 -21
- package/dist/index.js.map +0 -1
- package/dist/lib/ListMasonry.js +0 -103
- package/dist/lib/ListMasonry.js.map +0 -1
- package/dist/lib/WebStyleRegistry.js +0 -70
- package/dist/lib/WebStyleRegistry.js.map +0 -1
- package/dist/lib/hooks/index.js +0 -36
- package/dist/lib/hooks/index.js.map +0 -1
- package/dist/lib/hooks/useAnimatedStyle.js +0 -20
- package/dist/lib/hooks/useAnimatedStyle.js.map +0 -1
- package/dist/lib/hooks/useAnimatedVariantStyles.js +0 -17
- package/dist/lib/hooks/useAnimatedVariantStyles.js.map +0 -1
- package/dist/lib/hooks/useBreakpointMatch.js +0 -124
- package/dist/lib/hooks/useBreakpointMatch.js.map +0 -1
- package/dist/lib/hooks/useClick.js +0 -36
- package/dist/lib/hooks/useClick.js.map +0 -1
- package/dist/lib/hooks/useClickOutside.js +0 -27
- package/dist/lib/hooks/useClickOutside.js.map +0 -1
- package/dist/lib/hooks/useFileInput.js +0 -17
- package/dist/lib/hooks/useFileInput.js.map +0 -1
- package/dist/lib/hooks/useIsomorphicEffect.js +0 -6
- package/dist/lib/hooks/useIsomorphicEffect.js.map +0 -1
- package/dist/lib/hooks/useKeydown.js +0 -37
- package/dist/lib/hooks/useKeydown.js.map +0 -1
- package/dist/lib/hooks/useMediaQuery.js +0 -21
- package/dist/lib/hooks/useMediaQuery.js.map +0 -1
- package/dist/lib/hooks/usePageExitBlocker.js +0 -41
- package/dist/lib/hooks/usePageExitBlocker.js.map +0 -1
- package/dist/lib/hooks/usePagination.js +0 -82
- package/dist/lib/hooks/usePagination.js.map +0 -1
- package/dist/lib/hooks/usePopState.js +0 -24
- package/dist/lib/hooks/usePopState.js.map +0 -1
- package/dist/lib/hooks/useRefresh.js +0 -115
- package/dist/lib/hooks/useRefresh.js.map +0 -1
- package/dist/lib/hooks/useScrollEffect.js +0 -27
- package/dist/lib/hooks/useScrollEffect.js.map +0 -1
- package/dist/lib/hooks/useSearchParams.js +0 -55
- package/dist/lib/hooks/useSearchParams.js.map +0 -1
- package/dist/lib/hooks/useStaticAnimationStyles.js +0 -24
- package/dist/lib/hooks/useStaticAnimationStyles.js.map +0 -1
- package/dist/lib/hooks/useStylesFor.js +0 -41
- package/dist/lib/hooks/useStylesFor.js.map +0 -1
- package/dist/lib/hooks/useWindowFocus.js +0 -31
- package/dist/lib/hooks/useWindowFocus.js.map +0 -1
- package/dist/lib/hooks/useWindowSize.js +0 -19
- package/dist/lib/hooks/useWindowSize.js.map +0 -1
- package/dist/lib/index.js +0 -22
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/tools/index.js +0 -20
- package/dist/lib/tools/index.js.map +0 -1
- package/dist/lib/tools/localStorage.js +0 -158
- package/dist/lib/tools/localStorage.js.map +0 -1
- package/dist/lib/tools/mediaQuery.js +0 -34
- package/dist/lib/tools/mediaQuery.js.map +0 -1
- package/dist/lib/tools/modal.js +0 -62
- package/dist/lib/tools/modal.js.map +0 -1
- package/dist/lib/utils/cache.js +0 -15
- package/dist/lib/utils/cache.js.map +0 -1
- package/dist/lib/utils/index.js +0 -21
- package/dist/lib/utils/index.js.map +0 -1
- package/dist/lib/utils/pollyfils/scroll.js +0 -66
- package/dist/lib/utils/pollyfils/scroll.js.map +0 -1
- package/dist/lib/utils/stopPropagation.js +0 -19
- package/dist/lib/utils/stopPropagation.js.map +0 -1
- package/dist/lib/utils/test.js +0 -13
- package/dist/lib/utils/test.js.map +0 -1
- package/dist/types/index.js +0 -18
- package/dist/types/index.js.map +0 -1
- package/dist/types/utility.js +0 -3
- package/dist/types/utility.js.map +0 -1
- package/package.json.bak +0 -65
- package/src/components/ActionIcon/index.tsx +0 -93
- package/src/components/ActionIcon/styles.ts +0 -8
- package/src/components/ActionIcon/types.ts +0 -15
- package/src/components/CropPicker/components/CropPickerFooter.tsx +0 -39
- package/src/components/DatePicker/components/DayContent.tsx +0 -52
- package/src/components/DatePicker/components/Header.tsx +0 -79
- package/src/components/DatePicker/components/OuterInput.tsx +0 -17
- package/src/components/DatePicker/components/YearContent.tsx +0 -39
- package/src/components/DatePicker/components/index.tsx +0 -4
- package/src/components/InputBase/index.tsx +0 -138
- package/src/components/InputBase/styles.ts +0 -109
- package/src/components/InputBase/types.ts +0 -42
- package/src/components/InputBase/useInputBasePartialStyles.ts +0 -37
- package/src/components/InputBase/utils.ts +0 -84
- package/src/components/SegmentedControl/index.tsx +0 -223
- package/src/components/SegmentedControl/styles.ts +0 -12
- package/src/components/SegmentedControl/types.ts +0 -44
- package/src/components/VirtualList/context.tsx +0 -93
- package/src/components/VirtualList/index.tsx +0 -11
- package/src/components/VirtualList/list.tsx +0 -85
- package/src/components/VirtualList/types.ts +0 -38
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import React, { useState, useId, useCallback } from 'react'
|
|
2
|
+
import { useQuery, type UseQueryOptions, type UseQueryResult } from '@tanstack/react-query'
|
|
3
|
+
import { type ICSS } from '@codeleap/styles'
|
|
4
|
+
|
|
5
|
+
/** Shape that `load` must resolve to in `useAsyncSelect`. */
|
|
6
|
+
export type AsyncSelectLoadResult<TOption> = {
|
|
7
|
+
data: any
|
|
8
|
+
results: TOption[]
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/** Options for `useAsyncSelect`. */
|
|
12
|
+
export type UseAsyncSelectOptions<
|
|
13
|
+
TOption extends { label: string; value: any },
|
|
14
|
+
TQuery = string
|
|
15
|
+
> = {
|
|
16
|
+
queryKey?: readonly unknown[]
|
|
17
|
+
load: (query: TQuery) => Promise<AsyncSelectLoadResult<TOption>>
|
|
18
|
+
/**
|
|
19
|
+
* Controls when load() is triggered. Defaults to non-empty/non-null check.
|
|
20
|
+
* Pass `() => true` to load on mount with an empty query.
|
|
21
|
+
*/
|
|
22
|
+
isSearchValid?: (query: TQuery) => boolean
|
|
23
|
+
renderError?: (error: unknown, style: ICSS) => React.ReactNode
|
|
24
|
+
renderNoResults?: (query: TQuery, style: ICSS) => React.ReactNode
|
|
25
|
+
renderLoading?: (style: ICSS) => React.ReactNode
|
|
26
|
+
queryOptions?: Omit<
|
|
27
|
+
UseQueryOptions<AsyncSelectLoadResult<TOption>, Error>,
|
|
28
|
+
'queryKey' | 'queryFn' | 'enabled'
|
|
29
|
+
>
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
type SelectCompatibleProps<TOption extends { label: string; value: any }> = {
|
|
33
|
+
options: TOption[]
|
|
34
|
+
renderEmpty: (props: { style: ICSS }) => React.ReactNode
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
type AsyncSelectState<TOption extends { label: string; value: any }, TQuery> = {
|
|
38
|
+
query: (q: TQuery) => void
|
|
39
|
+
searchQuery: TQuery
|
|
40
|
+
data: any
|
|
41
|
+
isLoading: boolean
|
|
42
|
+
error: unknown
|
|
43
|
+
queryResult: UseQueryResult<AsyncSelectLoadResult<TOption>, Error>
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Tuple returned by `useAsyncSelect`.
|
|
48
|
+
* Index 0 contains the props to spread onto a `Select` component;
|
|
49
|
+
* index 1 exposes the raw query state and the underlying `useQuery` result.
|
|
50
|
+
*/
|
|
51
|
+
export type UseAsyncSelectReturn<
|
|
52
|
+
TOption extends { label: string; value: any },
|
|
53
|
+
TQuery
|
|
54
|
+
> = [SelectCompatibleProps<TOption>, AsyncSelectState<TOption, TQuery>]
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Wraps TanStack Query to power a search-driven async Select component.
|
|
58
|
+
*
|
|
59
|
+
* Returns a `[selectProps, state]` tuple. Spread the first element onto a
|
|
60
|
+
* `Select` component; use the second to drive the search query and inspect
|
|
61
|
+
* loading / error state.
|
|
62
|
+
*
|
|
63
|
+
* The query is gated by `isSearchValid` (defaults to non-empty/non-null).
|
|
64
|
+
* Pass `isSearchValid: () => true` to fetch on mount with an empty query.
|
|
65
|
+
* Requires a TanStack Query `QueryClientProvider` in the tree.
|
|
66
|
+
*/
|
|
67
|
+
export function useAsyncSelect<
|
|
68
|
+
TOption extends { label: string; value: any },
|
|
69
|
+
TQuery = string
|
|
70
|
+
>(
|
|
71
|
+
opts: UseAsyncSelectOptions<TOption, TQuery>
|
|
72
|
+
): UseAsyncSelectReturn<TOption, TQuery> {
|
|
73
|
+
const {
|
|
74
|
+
load, isSearchValid, renderError, renderNoResults, renderLoading, queryOptions,
|
|
75
|
+
} = opts
|
|
76
|
+
|
|
77
|
+
const hookId = useId()
|
|
78
|
+
const baseKey = opts.queryKey ?? [hookId]
|
|
79
|
+
|
|
80
|
+
const [searchQuery, setSearchQuery] = useState<TQuery>('' as TQuery)
|
|
81
|
+
|
|
82
|
+
const defaultIsValid = (q: TQuery) => q != null && q !== ('' as TQuery)
|
|
83
|
+
const enabled = isSearchValid ? isSearchValid(searchQuery) : defaultIsValid(searchQuery)
|
|
84
|
+
|
|
85
|
+
const queryResult = useQuery({
|
|
86
|
+
queryKey: ['asyncSelect', ...baseKey, searchQuery],
|
|
87
|
+
queryFn: () => load(searchQuery),
|
|
88
|
+
enabled,
|
|
89
|
+
placeholderData: (prev) => prev,
|
|
90
|
+
...queryOptions,
|
|
91
|
+
})
|
|
92
|
+
|
|
93
|
+
const query = useCallback((q: TQuery) => setSearchQuery(q), [])
|
|
94
|
+
|
|
95
|
+
const renderEmpty = useCallback(
|
|
96
|
+
({ style }: { style: ICSS }): React.ReactNode => {
|
|
97
|
+
if (queryResult.isLoading || queryResult.isFetching) {
|
|
98
|
+
return renderLoading?.(style) ?? null
|
|
99
|
+
}
|
|
100
|
+
if (queryResult.isError) {
|
|
101
|
+
return renderError?.(queryResult.error, style) ?? null
|
|
102
|
+
}
|
|
103
|
+
return renderNoResults?.(searchQuery, style) ?? null
|
|
104
|
+
},
|
|
105
|
+
[
|
|
106
|
+
queryResult.isLoading, queryResult.isFetching,
|
|
107
|
+
queryResult.isError, queryResult.error,
|
|
108
|
+
renderLoading, renderError, renderNoResults, searchQuery,
|
|
109
|
+
]
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
return [
|
|
113
|
+
{
|
|
114
|
+
options: (queryResult.data?.results ?? []) as TOption[],
|
|
115
|
+
renderEmpty,
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
query,
|
|
119
|
+
searchQuery,
|
|
120
|
+
data: queryResult.data?.data ?? null,
|
|
121
|
+
isLoading: queryResult.isLoading,
|
|
122
|
+
error: queryResult.error,
|
|
123
|
+
queryResult,
|
|
124
|
+
},
|
|
125
|
+
]
|
|
126
|
+
}
|
|
@@ -82,6 +82,17 @@ function useBreakpointListeners() {
|
|
|
82
82
|
return breakpointMatches
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
+
/**
|
|
86
|
+
* Returns the value mapped to the currently active breakpoint.
|
|
87
|
+
*
|
|
88
|
+
* Reads breakpoint definitions from the active `themeStore` theme and attaches
|
|
89
|
+
* `matchMedia` listeners to track viewport changes reactively. The lookup walks
|
|
90
|
+
* up from the current breakpoint until it finds a key present in `values`, so
|
|
91
|
+
* you can omit smaller breakpoints and let them fall back to the next larger one.
|
|
92
|
+
*
|
|
93
|
+
* Must be rendered in a browser context; SSR always resolves to the fallback
|
|
94
|
+
* value (the largest defined key in `values`).
|
|
95
|
+
*/
|
|
85
96
|
export function useBreakpointMatch<T = string>(values: Partial<Record<Breakpoint, T>>): T {
|
|
86
97
|
const breakpointMatches = useBreakpointListeners()
|
|
87
98
|
|
|
@@ -5,8 +5,14 @@ type HandlerClickOutside = (clickedOutside: boolean) => void
|
|
|
5
5
|
|
|
6
6
|
type UseClickOutsideElementReturn = React.MutableRefObject<any>
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* Attaches a global `click` listener and calls `handler` with `true` when the
|
|
10
|
+
* user clicks outside the returned ref's element, or `false` when they click
|
|
11
|
+
* inside it. Pass additional `elements` refs to treat those nodes as "inside"
|
|
12
|
+
* as well — the handler fires `false` if any of them contains the click target.
|
|
13
|
+
*/
|
|
8
14
|
export function useClickOutsideElement(
|
|
9
|
-
handler: HandlerClickOutside,
|
|
15
|
+
handler: HandlerClickOutside,
|
|
10
16
|
elements: Array<React.MutableRefObject<any>> = null,
|
|
11
17
|
): UseClickOutsideElementReturn {
|
|
12
18
|
const elementRef = useRef(null)
|
|
@@ -2,6 +2,14 @@ import { useEffect, useRef } from 'react'
|
|
|
2
2
|
|
|
3
3
|
const DEFAULT_EVENTS = ['mousedown', 'touchstart']
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
* Calls `handler` when a pointer event fires outside the returned ref's element.
|
|
7
|
+
*
|
|
8
|
+
* Listens for `mousedown` and `touchstart` by default; pass `events` to
|
|
9
|
+
* override. Supply `nodes` to bypass the ref entirely and check a fixed set of
|
|
10
|
+
* elements instead — useful when the trigger lives outside the component tree.
|
|
11
|
+
* Elements with `data-ignore-outside-clicks` are always ignored.
|
|
12
|
+
*/
|
|
5
13
|
export function useClickOutside<T extends HTMLElement = any>(
|
|
6
14
|
handler: () => void,
|
|
7
15
|
events?: string[] | null,
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { useRef } from 'react'
|
|
2
2
|
import { FileInputRef } from '../../components/FileInput/types'
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Provides an imperative ref and `openFilePicker` helper for a `FileInput`
|
|
6
|
+
* component. Attach the returned `ref` to `<FileInput ref={ref} />` and call
|
|
7
|
+
* `openFilePicker()` from a button or any other trigger.
|
|
8
|
+
*/
|
|
4
9
|
export const useFileInput = () => {
|
|
5
10
|
const inputRef = useRef<FileInputRef | null>(null)
|
|
6
11
|
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { useEffect, useLayoutEffect } from 'react'
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* `useLayoutEffect` in the browser; `useEffect` on the server.
|
|
5
|
+
* Avoids the React SSR warning about `useLayoutEffect` in non-browser environments.
|
|
6
|
+
*/
|
|
3
7
|
export const useIsomorphicEffect = typeof document !== 'undefined' ? useLayoutEffect : useEffect
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { TypeGuards } from '@codeleap/types'
|
|
2
2
|
import { useEffect } from 'react'
|
|
3
3
|
|
|
4
|
+
/** Convenience key descriptors available as `useKeydown.keys`. */
|
|
4
5
|
export const keydownDefaultKeyOptions = {
|
|
5
6
|
ArrowLeft: 'ArrowLeft',
|
|
6
7
|
ArrowRight: 'ArrowRight',
|
|
@@ -13,6 +14,13 @@ export const keydownDefaultKeyOptions = {
|
|
|
13
14
|
},
|
|
14
15
|
}
|
|
15
16
|
|
|
17
|
+
/**
|
|
18
|
+
* Adds a `keydown` listener on `document` for a single key.
|
|
19
|
+
*
|
|
20
|
+
* `expectedKey` can be a shorthand from `useKeydown.keys` (e.g. `'Enter'`) or
|
|
21
|
+
* an explicit `{ key, code }` object. The listener is re-registered whenever
|
|
22
|
+
* `deps` change.
|
|
23
|
+
*/
|
|
16
24
|
export function useKeydown(
|
|
17
25
|
expectedKey: keyof typeof useKeydown.keys | { key: string; code: string },
|
|
18
26
|
handler: (event: KeyboardEvent) => void,
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { useEffect, useMemo, type RefObject } from 'react'
|
|
2
|
+
|
|
3
|
+
/** Determines which option receives focus when `ListFocusHandle.focus` is called. */
|
|
4
|
+
export type ListFocusStrategy = 'first' | 'last' | 'selected'
|
|
5
|
+
|
|
6
|
+
export interface ListFocusHandle {
|
|
7
|
+
focus(strategy?: ListFocusStrategy): void
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Creates a stable imperative focus handle for a ListBox DOM ref and returns it.
|
|
12
|
+
*
|
|
13
|
+
* The handle queries [role="option"] elements directly. When the chosen item
|
|
14
|
+
* receives DOM focus, react-aria's own useSelectableItem onFocus handler calls
|
|
15
|
+
* manager.setFocusedKey(key), so internal keyboard-navigation state stays in
|
|
16
|
+
* sync without needing access to ListStateContext.
|
|
17
|
+
*
|
|
18
|
+
* Pass the same listBoxRef to <ListBox ref={...}>.
|
|
19
|
+
* Pass externalRef to also expose the handle to a consumer-provided ref.
|
|
20
|
+
*/
|
|
21
|
+
export function useListFocus(
|
|
22
|
+
listBoxRef: RefObject<HTMLElement | null>,
|
|
23
|
+
externalRef?: RefObject<ListFocusHandle | null>,
|
|
24
|
+
): ListFocusHandle {
|
|
25
|
+
const handle = useMemo<ListFocusHandle>(() => ({
|
|
26
|
+
focus(strategy: ListFocusStrategy = 'selected') {
|
|
27
|
+
const list = listBoxRef.current
|
|
28
|
+
if (!list) return
|
|
29
|
+
|
|
30
|
+
const options = Array.from(
|
|
31
|
+
list.querySelectorAll<HTMLElement>('[role="option"]:not([data-disabled])')
|
|
32
|
+
)
|
|
33
|
+
if (!options.length) return
|
|
34
|
+
|
|
35
|
+
let target: HTMLElement | null = null
|
|
36
|
+
|
|
37
|
+
if (strategy === 'last') {
|
|
38
|
+
target = options.at(-1) ?? null
|
|
39
|
+
} else if (strategy === 'selected') {
|
|
40
|
+
target =
|
|
41
|
+
list.querySelector<HTMLElement>('[role="option"][aria-selected="true"]') ??
|
|
42
|
+
options[0] ??
|
|
43
|
+
null
|
|
44
|
+
} else {
|
|
45
|
+
target = options[0] ?? null
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
target?.focus()
|
|
49
|
+
},
|
|
50
|
+
}), [listBoxRef])
|
|
51
|
+
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
if (!externalRef) return
|
|
54
|
+
externalRef.current = handle
|
|
55
|
+
return () => { externalRef.current = null }
|
|
56
|
+
}, [handle, externalRef])
|
|
57
|
+
|
|
58
|
+
return handle
|
|
59
|
+
}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { useEffect, useRef, useState } from 'react'
|
|
2
2
|
import { attachMediaListener, getMediaQuery, isMediaQuery } from '../tools'
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Subscribes to a CSS media query string and returns whether it currently matches.
|
|
6
|
+
*
|
|
7
|
+
* Falls back to a static check via `isMediaQuery` on SSR or when `matchMedia` is
|
|
8
|
+
* unavailable. The query string may include the `@media screen and ` prefix —
|
|
9
|
+
* it is stripped internally before passing to `window.matchMedia`.
|
|
10
|
+
*/
|
|
4
11
|
export function useMediaQuery(query: string) {
|
|
5
12
|
const [matches, setMatches] = useState(isMediaQuery(query))
|
|
6
13
|
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import { globalHistory } from '@reach/router'
|
|
2
2
|
import { useEffect } from 'react'
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Blocks the user from leaving the current page without confirmation.
|
|
6
|
+
*
|
|
7
|
+
* Intercepts both browser tab-close / reload (`beforeunload`) and in-app
|
|
8
|
+
* navigation via `@reach/router`'s `globalHistory`. When a PUSH or POP
|
|
9
|
+
* navigation is detected, a `window.confirm` dialog is shown; `handler` is
|
|
10
|
+
* called with `true` if the user confirmed, `false` if they cancelled.
|
|
11
|
+
*
|
|
12
|
+
* Requires `@reach/router` to be present in the application.
|
|
13
|
+
*/
|
|
4
14
|
export const usePageExitBlocker = (
|
|
5
15
|
handler: (willLeavePage: boolean) => void,
|
|
6
16
|
deps: Array<any> = [],
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { useMemo, useUncontrolled } from '@codeleap/hooks'
|
|
2
2
|
import { range } from '@codeleap/utils'
|
|
3
3
|
|
|
4
|
+
/** Parameters accepted by `usePagination`. */
|
|
4
5
|
export type PaginationParams = {
|
|
5
6
|
initialPage?: number
|
|
6
7
|
page?: number
|
|
@@ -15,6 +16,19 @@ export type PaginationParams = {
|
|
|
15
16
|
abbreviationSymbol?: any
|
|
16
17
|
}
|
|
17
18
|
|
|
19
|
+
/**
|
|
20
|
+
* Manages pagination state and computes the visible page range for a
|
|
21
|
+
* `PaginationButtons` component.
|
|
22
|
+
*
|
|
23
|
+
* Supports controlled (`page` + `onChangePage`) and uncontrolled modes. When
|
|
24
|
+
* `shouldAbbreviate` is true (default) and `total` exceeds
|
|
25
|
+
* `abbreviationMinimumAmount`, the range collapses middle pages into
|
|
26
|
+
* `abbreviationSymbol` entries. Mobile mode reduces the boundary count and
|
|
27
|
+
* forces abbreviation.
|
|
28
|
+
*
|
|
29
|
+
* Arrow buttons at positions `0` and `total + 1` are reserved for the
|
|
30
|
+
* previous/next controls and are not selectable as page numbers.
|
|
31
|
+
*/
|
|
18
32
|
export function usePagination(props: PaginationParams) {
|
|
19
33
|
|
|
20
34
|
const { isMobile } = props
|
|
@@ -2,6 +2,17 @@ import { AnyFunction } from '@codeleap/types'
|
|
|
2
2
|
import { useUnmount } from '@codeleap/hooks'
|
|
3
3
|
import { useIsomorphicEffect } from './useIsomorphicEffect'
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
* Conditionally attaches a `popstate` listener while `dependence` is `true`.
|
|
7
|
+
*
|
|
8
|
+
* When `dependence` becomes `true`, pushes the current URL onto the history
|
|
9
|
+
* stack so the browser back button triggers `popstate` rather than navigating
|
|
10
|
+
* away. When `dependence` becomes `false` (or the component unmounts), the
|
|
11
|
+
* listener is removed.
|
|
12
|
+
*
|
|
13
|
+
* Useful for keeping overlays (modals, drawers) dismissable via the browser
|
|
14
|
+
* back button.
|
|
15
|
+
*/
|
|
5
16
|
export const usePopState = (dependence: boolean, handler: AnyFunction) => {
|
|
6
17
|
useIsomorphicEffect(() => {
|
|
7
18
|
if (dependence) {
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { useEffect, useRef, type RefObject } from 'react'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Restores outside-click dismissal for a Popover rendered with isNonModal=true.
|
|
5
|
+
*
|
|
6
|
+
* react-aria's usePopover sets isDismissable=!isNonModal, which disables its own
|
|
7
|
+
* useInteractOutside listener. This hook adds an equivalent pointerdown capture
|
|
8
|
+
* listener directly on the document.
|
|
9
|
+
*
|
|
10
|
+
* The trigger element is excluded so its own press handler can handle the toggle.
|
|
11
|
+
* The blur-based close (shouldCloseOnBlur=true in useOverlay) still handles the
|
|
12
|
+
* case where focus is inside the popover and moves elsewhere, so this hook only
|
|
13
|
+
* needs to cover the unfocused-popover scenario.
|
|
14
|
+
*/
|
|
15
|
+
export function usePopoverDismiss({
|
|
16
|
+
popoverRef,
|
|
17
|
+
triggerRef,
|
|
18
|
+
isOpen,
|
|
19
|
+
onClose,
|
|
20
|
+
}: {
|
|
21
|
+
popoverRef: RefObject<Element | null>
|
|
22
|
+
triggerRef: RefObject<Element | null>
|
|
23
|
+
isOpen: boolean
|
|
24
|
+
onClose: () => void
|
|
25
|
+
}) {
|
|
26
|
+
const onCloseRef = useRef(onClose)
|
|
27
|
+
useEffect(() => { onCloseRef.current = onClose })
|
|
28
|
+
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
if (!isOpen) return
|
|
31
|
+
|
|
32
|
+
const handle = (e: PointerEvent) => {
|
|
33
|
+
const target = e.target as Node
|
|
34
|
+
if (popoverRef.current?.contains(target)) return
|
|
35
|
+
if (triggerRef.current?.contains(target)) return
|
|
36
|
+
onCloseRef.current()
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
document.addEventListener('pointerdown', handle, { capture: true })
|
|
40
|
+
return () => document.removeEventListener('pointerdown', handle, { capture: true })
|
|
41
|
+
}, [isOpen, popoverRef, triggerRef])
|
|
42
|
+
}
|
|
@@ -21,6 +21,15 @@ const scrollDebounce = (func, delay) => {
|
|
|
21
21
|
return scrollDebounce
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
/**
|
|
25
|
+
* Implements a pull-to-refresh pattern for web scroll containers.
|
|
26
|
+
*
|
|
27
|
+
* Monitors the window `scroll` event and fires `onRefresh` when the container
|
|
28
|
+
* has been scrolled above `threshold` (percentage) twice in quick succession.
|
|
29
|
+
* After `onRefresh` resolves, the refresh state is reset after 2.5 s. Set
|
|
30
|
+
* `enabled: false` to disable the listener entirely (e.g. while a request is
|
|
31
|
+
* already in flight). Attach `scrollableRef` to the scrollable container element.
|
|
32
|
+
*/
|
|
24
33
|
export const useRefresh = (onRefresh = () => null, options: UseRefreshOptions) => {
|
|
25
34
|
|
|
26
35
|
const {
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { useEffect } from 'react'
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Calls `effect` on every window scroll event, passing whether `window.scrollY`
|
|
5
|
+
* has passed `breakpoint` and the current scroll position. The listener is
|
|
6
|
+
* re-registered when `breakpoint` or any `extraDependencies` change.
|
|
7
|
+
*/
|
|
3
8
|
export function useScrollEffect(
|
|
4
9
|
effect: (passed: boolean, current: number) => any,
|
|
5
10
|
breakpoint: number,
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { useEffect, useRef, useState } from 'react'
|
|
2
2
|
import { usePrevious } from '@codeleap/hooks'
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Tuple returned by `useSearchParams`:
|
|
6
|
+
* `[params, setParams, reset, rawURLSearchParams]`.
|
|
7
|
+
*/
|
|
4
8
|
export type UseSearchParamsReturn<T> = [
|
|
5
9
|
T,
|
|
6
10
|
React.Dispatch<React.SetStateAction<T>>,
|
|
@@ -8,6 +12,15 @@ export type UseSearchParamsReturn<T> = [
|
|
|
8
12
|
URLSearchParams
|
|
9
13
|
]
|
|
10
14
|
|
|
15
|
+
/**
|
|
16
|
+
* Syncs a typed record of string params with the URL query string via
|
|
17
|
+
* `window.history.replaceState`. On mount, reads the current URL params and
|
|
18
|
+
* merges them with `initial` defaults (initial values are only applied when the
|
|
19
|
+
* URL param is absent or empty). Call `reset()` to restore `initial`.
|
|
20
|
+
*
|
|
21
|
+
* Not a router integration — changes do not trigger a navigation event, and the
|
|
22
|
+
* hook does not react to external URL changes after mount.
|
|
23
|
+
*/
|
|
11
24
|
export function useSearchParams<
|
|
12
25
|
T extends Record<string, string> = Record<string, string>
|
|
13
26
|
>(initial?: T): UseSearchParamsReturn<T> {
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { useRef } from 'react'
|
|
2
2
|
import { SelectProperties } from '../../types'
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Captures a frozen snapshot of the selected `keys` from `obj` on the first
|
|
6
|
+
* render and never updates it. Used by `useAnimatedVariantStyles` to keep the
|
|
7
|
+
* non-animated style values stable across re-renders so Framer Motion does not
|
|
8
|
+
* re-create animation targets unnecessarily.
|
|
9
|
+
*/
|
|
4
10
|
export function useStaticAnimationStyles<T extends Record<string | number | symbol, any>, K extends keyof T>(obj: T, keys: K[]) {
|
|
5
11
|
const styles = useRef({})
|
|
6
12
|
|
|
@@ -1,34 +1,45 @@
|
|
|
1
|
-
import { StyleProp, useStyleObserver } from '@codeleap/styles'
|
|
1
|
+
import { ComponentContext, ICSS, StyleProp, useStyleObserver } from '@codeleap/styles'
|
|
2
2
|
import { useMemo } from 'react'
|
|
3
3
|
import { WebStyleRegistry } from '../WebStyleRegistry'
|
|
4
|
-
import { useIsMounted } from '@codeleap/hooks'
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
import { useIsMounted, useStableReference } from '@codeleap/hooks'
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Resolves a component's style parts from `WebStyleRegistry` and re-evaluates
|
|
8
|
+
* whenever the `style` prop or `context` changes.
|
|
9
|
+
*
|
|
10
|
+
* Must be called inside a component that has a `WebStyleRegistry` instance
|
|
11
|
+
* available (created once per app via `new WebStyleRegistry()`). Pass the
|
|
12
|
+
* component's registered name as `componentName` — it must match the name used
|
|
13
|
+
* in `WebStyleRegistry.registerComponent`.
|
|
14
|
+
*/
|
|
15
|
+
export const useStylesFor = <C extends string>(componentName: string, style: StyleProp<C, string>, context?: ComponentContext): Record<C, ICSS> => {
|
|
7
16
|
const styleObserver = useStyleObserver(style)
|
|
8
17
|
|
|
9
|
-
const isMounted = useIsMounted()
|
|
18
|
+
// const isMounted = useIsMounted()
|
|
19
|
+
|
|
20
|
+
const stableContext = useStableReference(context ?? {})
|
|
10
21
|
|
|
11
22
|
const styles = useMemo(() => {
|
|
12
|
-
return WebStyleRegistry.current.styleFor(componentName, style)
|
|
13
|
-
}, [styleObserver])
|
|
23
|
+
return WebStyleRegistry.current.styleFor(componentName, style, true, stableContext)
|
|
24
|
+
}, [styleObserver, stableContext])
|
|
14
25
|
|
|
15
|
-
const processedStyles = useMemo(() => {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
26
|
+
// const processedStyles = useMemo(() => {
|
|
27
|
+
// // this is strange, but necessary to recalculate the pre-set styles from SSR
|
|
28
|
+
// return Object.entries(styles).reduce((acc, [key, styleValue]) => {
|
|
29
|
+
// const isServer = typeof window === 'undefined'
|
|
30
|
+
// const inEnvTransition = isServer ? false : !isMounted
|
|
20
31
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
32
|
+
// acc[key] = inEnvTransition ? {
|
|
33
|
+
// // Despite what it may look like, this is not (just) a joke. The "orphans" property is almost completely useless,
|
|
34
|
+
// // so we set it just to force the styles to recompute after hydration. Also picked for comedic impact.
|
|
35
|
+
// orphans: 1,
|
|
25
36
|
|
|
26
|
-
|
|
37
|
+
// ...styleValue } : styleValue
|
|
27
38
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}, [styles, isMounted])
|
|
39
|
+
// return acc
|
|
40
|
+
// }, {} as Record<C, ICSS>)
|
|
41
|
+
// }, [styles, isMounted])
|
|
31
42
|
|
|
32
|
-
return
|
|
43
|
+
return styles as Record<C, ICSS>
|
|
33
44
|
|
|
34
45
|
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { useState } from 'react'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Tracks hover and pressed interaction states for a `Touchable`-like element
|
|
5
|
+
* using pointer events. Uses `setPointerCapture` / `releasePointerCapture` so
|
|
6
|
+
* that `isPressed` stays accurate even when the pointer leaves the element
|
|
7
|
+
* while held down. Both states are forced to `false` when `disabled` is `true`.
|
|
8
|
+
*/
|
|
9
|
+
export function useTouchableInteraction(disabled = false) {
|
|
10
|
+
const [isHovering, setIsHovering] = useState(false)
|
|
11
|
+
const [isPressed, setIsPressed] = useState(false)
|
|
12
|
+
|
|
13
|
+
return {
|
|
14
|
+
eventHandlers: {
|
|
15
|
+
onPointerEnter: () => setIsHovering(true),
|
|
16
|
+
|
|
17
|
+
onPointerLeave: () => {
|
|
18
|
+
setIsHovering(false)
|
|
19
|
+
setIsPressed(false)
|
|
20
|
+
},
|
|
21
|
+
|
|
22
|
+
onPointerDown: (e) => {
|
|
23
|
+
setIsPressed(true)
|
|
24
|
+
e.currentTarget.setPointerCapture(e.pointerId)
|
|
25
|
+
},
|
|
26
|
+
|
|
27
|
+
onPointerUp: (e) => {
|
|
28
|
+
setIsPressed(false)
|
|
29
|
+
e.currentTarget.releasePointerCapture(e.pointerId)
|
|
30
|
+
},
|
|
31
|
+
|
|
32
|
+
onPointerCancel: () => {
|
|
33
|
+
setIsPressed(false)
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
isHovering: isHovering && !disabled,
|
|
37
|
+
isPressed: isPressed && !disabled,
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export type TouchableInteractionHandler = ReturnType<typeof useTouchableInteraction>
|
|
@@ -6,6 +6,11 @@ type UseWindowFocusOptions = {
|
|
|
6
6
|
onBlur?: AnyFunction
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* Returns `true` when the browser window has focus, `false` when it is blurred.
|
|
11
|
+
* Calls `options.onFocus` and `options.onBlur` side-effect callbacks as needed.
|
|
12
|
+
* The listeners are re-registered when `deps` change.
|
|
13
|
+
*/
|
|
9
14
|
export const useWindowFocus = (options: UseWindowFocusOptions = {}, deps: Array<any> = []): boolean => {
|
|
10
15
|
const [focused, setFocused] = useState(true)
|
|
11
16
|
|
|
@@ -1,11 +1,26 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useDebounceCallback } from '@codeleap/hooks'
|
|
2
|
+
import { useState, useEffect, useCallback } from 'react'
|
|
2
3
|
|
|
3
|
-
export function useWindowSize() {
|
|
4
|
-
const [size, setSize] = useState([])
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Returns `[innerWidth, innerHeight]` and keeps the value in sync with window
|
|
7
|
+
* resize events. When `live` is `false` (default), resize updates are debounced
|
|
8
|
+
* by 300 ms to avoid flooding renders. Pass `live: true` for immediate updates.
|
|
9
|
+
* SSR returns `[1920, 1080]` as a placeholder.
|
|
10
|
+
*/
|
|
11
|
+
export function useWindowSize(live=false) {
|
|
12
|
+
const [size, setSize] = useState(() => {
|
|
13
|
+
if(typeof window === 'undefined') return [1920,1080]
|
|
14
|
+
return [window.innerWidth, window.innerHeight]
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
const handler = useCallback(() => {
|
|
7
18
|
setSize([window.innerWidth, window.innerHeight])
|
|
8
|
-
}
|
|
19
|
+
},[setSize])
|
|
20
|
+
|
|
21
|
+
const debouncedHandleResize = useDebounceCallback(handler, 300)
|
|
22
|
+
|
|
23
|
+
const handleResize = live ? handler : debouncedHandleResize.debounce
|
|
9
24
|
|
|
10
25
|
useEffect(() => {
|
|
11
26
|
handleResize()
|
|
@@ -15,7 +30,7 @@ export function useWindowSize() {
|
|
|
15
30
|
return () => {
|
|
16
31
|
window.removeEventListener('resize', handleResize)
|
|
17
32
|
}
|
|
18
|
-
}, [])
|
|
33
|
+
}, [handleResize])
|
|
19
34
|
|
|
20
35
|
return size
|
|
21
36
|
}
|
package/src/lib/index.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { useEffect, useState } from 'react'
|
|
2
2
|
import { TypeGuards } from '@codeleap/types'
|
|
3
3
|
|
|
4
|
+
/** Callback signature for `LocalStorage.listen`. Receives the key, the raw `StorageEvent`, and the parsed new value. */
|
|
4
5
|
export type LocalStorageHandler<T> = (key: T, event: StorageEvent, value: any) => void
|
|
5
6
|
export type Key<T> = keyof T
|
|
6
7
|
|
|
@@ -11,6 +12,17 @@ type UseLocalStorageOptions = {
|
|
|
11
12
|
parseValueOnGet?: boolean
|
|
12
13
|
}
|
|
13
14
|
|
|
15
|
+
/**
|
|
16
|
+
* Type-safe wrapper around `window.localStorage`.
|
|
17
|
+
*
|
|
18
|
+
* Instantiate with a key map (`{ tokenKey: 'auth_token', ... }`) so all reads
|
|
19
|
+
* and writes are validated against the map's keys at compile time. Values are
|
|
20
|
+
* automatically JSON-serialised on write and JSON-parsed on read; strings are
|
|
21
|
+
* stored as-is. Returns safe no-ops when called server-side.
|
|
22
|
+
*
|
|
23
|
+
* Use `use()` to get a React state pair that stays in sync with storage across
|
|
24
|
+
* tabs via the `storage` event.
|
|
25
|
+
*/
|
|
14
26
|
export class LocalStorage<T extends Record<string, string>> {
|
|
15
27
|
public storageKeys: T
|
|
16
28
|
|