@brycks/core-front 0.2.7 → 0.2.9
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/data/InfoItem/InfoItem.cjs +2 -0
- package/dist/components/data/InfoItem/InfoItem.cjs.map +1 -0
- package/dist/components/data/InfoItem/InfoItem.js +140 -0
- package/dist/components/data/InfoItem/InfoItem.js.map +1 -0
- package/dist/components/data/List/List.cjs +2 -0
- package/dist/components/data/List/List.cjs.map +1 -0
- package/dist/components/data/List/List.js +178 -0
- package/dist/components/data/List/List.js.map +1 -0
- package/dist/components/data/Table/Table.cjs +2 -0
- package/dist/components/data/Table/Table.cjs.map +1 -0
- package/dist/components/data/Table/Table.js +247 -0
- package/dist/components/data/Table/Table.js.map +1 -0
- package/dist/components/data.cjs +2 -0
- package/dist/components/data.cjs.map +1 -0
- package/dist/components/data.d.ts +2 -0
- package/dist/components/data.js +20 -0
- package/dist/components/data.js.map +1 -0
- package/dist/components/feedback/Alert/Alert.cjs +2 -0
- package/dist/components/feedback/Alert/Alert.cjs.map +1 -0
- package/dist/components/feedback/Alert/Alert.js +204 -0
- package/dist/components/feedback/Alert/Alert.js.map +1 -0
- package/dist/components/feedback/Drawer/Drawer.cjs +23 -0
- package/dist/components/feedback/Drawer/Drawer.cjs.map +1 -0
- package/dist/components/feedback/Drawer/Drawer.js +199 -0
- package/dist/components/feedback/Drawer/Drawer.js.map +1 -0
- package/dist/components/feedback/Modal/Modal.cjs +2 -0
- package/dist/components/feedback/Modal/Modal.cjs.map +1 -0
- package/dist/components/feedback/Modal/Modal.js +183 -0
- package/dist/components/feedback/Modal/Modal.js.map +1 -0
- package/dist/components/feedback/Popover/Popover.cjs +7 -0
- package/dist/components/feedback/Popover/Popover.cjs.map +1 -0
- package/dist/components/feedback/Popover/Popover.js +168 -0
- package/dist/components/feedback/Popover/Popover.js.map +1 -0
- package/dist/components/feedback/Progress/Progress.cjs +12 -0
- package/dist/components/feedback/Progress/Progress.cjs.map +1 -0
- package/dist/components/feedback/Progress/Progress.js +172 -0
- package/dist/components/feedback/Progress/Progress.js.map +1 -0
- package/dist/components/feedback/Toast/Toast.cjs +11 -0
- package/dist/components/feedback/Toast/Toast.cjs.map +1 -0
- package/dist/components/feedback/Toast/Toast.js +216 -0
- package/dist/components/feedback/Toast/Toast.js.map +1 -0
- package/dist/components/feedback/Toast/ToastContext.cjs +2 -0
- package/dist/components/feedback/Toast/ToastContext.cjs.map +1 -0
- package/dist/components/feedback/Toast/ToastContext.js +13 -0
- package/dist/components/feedback/Toast/ToastContext.js.map +1 -0
- package/dist/components/feedback/Tooltip/Tooltip.cjs +7 -0
- package/dist/components/feedback/Tooltip/Tooltip.cjs.map +1 -0
- package/dist/components/feedback/Tooltip/Tooltip.js +128 -0
- package/dist/components/feedback/Tooltip/Tooltip.js.map +1 -0
- package/dist/components/feedback.cjs +2 -0
- package/dist/components/feedback.cjs.map +1 -0
- package/dist/components/feedback.d.ts +2 -0
- package/dist/components/feedback.js +20 -0
- package/dist/components/feedback.js.map +1 -0
- package/dist/components/form/Checkbox/Checkbox.cjs +2 -0
- package/dist/components/form/Checkbox/Checkbox.cjs.map +1 -0
- package/dist/components/form/Checkbox/Checkbox.js +144 -0
- package/dist/components/form/Checkbox/Checkbox.js.map +1 -0
- package/dist/components/form/DateInput/DateInput.cjs +2 -0
- package/dist/components/form/DateInput/DateInput.cjs.map +1 -0
- package/dist/components/form/DateInput/DateInput.js +119 -0
- package/dist/components/form/DateInput/DateInput.js.map +1 -0
- package/dist/components/form/DropZone/DropZone.cjs +2 -0
- package/dist/components/form/DropZone/DropZone.cjs.map +1 -0
- package/dist/components/form/DropZone/DropZone.js +132 -0
- package/dist/components/form/DropZone/DropZone.js.map +1 -0
- package/dist/components/form/FieldError/FieldError.cjs +2 -0
- package/dist/components/form/FieldError/FieldError.cjs.map +1 -0
- package/dist/components/form/FieldError/FieldError.js +77 -0
- package/dist/components/form/FieldError/FieldError.js.map +1 -0
- package/dist/components/form/FileInput/FileInput.cjs +2 -0
- package/dist/components/form/FileInput/FileInput.cjs.map +1 -0
- package/dist/components/form/FileInput/FileInput.js +163 -0
- package/dist/components/form/FileInput/FileInput.js.map +1 -0
- package/dist/components/form/Form/Form.cjs +2 -0
- package/dist/components/form/Form/Form.cjs.map +1 -0
- package/dist/components/form/Form/Form.js +67 -0
- package/dist/components/form/Form/Form.js.map +1 -0
- package/dist/components/form/FormCard/FormCard.cjs +2 -0
- package/dist/components/form/FormCard/FormCard.cjs.map +1 -0
- package/dist/components/form/FormCard/FormCard.js +91 -0
- package/dist/components/form/FormCard/FormCard.js.map +1 -0
- package/dist/components/form/FormField/FormField.cjs +2 -0
- package/dist/components/form/FormField/FormField.cjs.map +1 -0
- package/dist/components/form/FormField/FormField.js +97 -0
- package/dist/components/form/FormField/FormField.js.map +1 -0
- package/dist/components/form/FormGroup/FormGroup.cjs +2 -0
- package/dist/components/form/FormGroup/FormGroup.cjs.map +1 -0
- package/dist/components/form/FormGroup/FormGroup.js +79 -0
- package/dist/components/form/FormGroup/FormGroup.js.map +1 -0
- package/dist/components/form/FormLabel/FormLabel.cjs +2 -0
- package/dist/components/form/FormLabel/FormLabel.cjs.map +1 -0
- package/dist/components/form/FormLabel/FormLabel.js +68 -0
- package/dist/components/form/FormLabel/FormLabel.js.map +1 -0
- package/dist/components/form/Input/Input.cjs +2 -0
- package/dist/components/form/Input/Input.cjs.map +1 -0
- package/dist/components/form/Input/Input.js +155 -0
- package/dist/components/form/Input/Input.js.map +1 -0
- package/dist/components/form/Radio/Radio.cjs +2 -0
- package/dist/components/form/Radio/Radio.cjs.map +1 -0
- package/dist/components/form/Radio/Radio.js +162 -0
- package/dist/components/form/Radio/Radio.js.map +1 -0
- package/dist/components/form/Select/Select.cjs +2 -0
- package/dist/components/form/Select/Select.cjs.map +1 -0
- package/dist/components/form/Select/Select.js +114 -0
- package/dist/components/form/Select/Select.js.map +1 -0
- package/dist/components/form/Slider/Slider.cjs +2 -0
- package/dist/components/form/Slider/Slider.cjs.map +1 -0
- package/dist/components/form/Slider/Slider.js +147 -0
- package/dist/components/form/Slider/Slider.js.map +1 -0
- package/dist/components/form/Switch/Switch.cjs +2 -0
- package/dist/components/form/Switch/Switch.cjs.map +1 -0
- package/dist/components/form/Switch/Switch.js +118 -0
- package/dist/components/form/Switch/Switch.js.map +1 -0
- package/dist/components/form/TextField/TextField.cjs +2 -0
- package/dist/components/form/TextField/TextField.cjs.map +1 -0
- package/dist/components/form/TextField/TextField.js +89 -0
- package/dist/components/form/TextField/TextField.js.map +1 -0
- package/dist/components/form/Textarea/Textarea.cjs +2 -0
- package/dist/components/form/Textarea/Textarea.cjs.map +1 -0
- package/dist/components/form/Textarea/Textarea.js +121 -0
- package/dist/components/form/Textarea/Textarea.js.map +1 -0
- package/dist/components/form.cjs +2 -0
- package/dist/components/form.cjs.map +1 -0
- package/dist/components/form.d.ts +2 -0
- package/dist/components/form.js +34 -0
- package/dist/components/form.js.map +1 -0
- package/dist/components/layout/AspectRatio/AspectRatio.cjs +2 -0
- package/dist/components/layout/AspectRatio/AspectRatio.cjs.map +1 -0
- package/dist/components/layout/AspectRatio/AspectRatio.js +50 -0
- package/dist/components/layout/AspectRatio/AspectRatio.js.map +1 -0
- package/dist/components/layout/Box/Box.cjs +2 -0
- package/dist/components/layout/Box/Box.cjs.map +1 -0
- package/dist/components/layout/Box/Box.js +58 -0
- package/dist/components/layout/Box/Box.js.map +1 -0
- package/dist/components/layout/Box/Box.styles.cjs +2 -0
- package/dist/components/layout/Box/Box.styles.cjs.map +1 -0
- package/dist/components/layout/Box/Box.styles.js +30 -0
- package/dist/components/layout/Box/Box.styles.js.map +1 -0
- package/dist/components/layout/Card/Card.cjs +2 -0
- package/dist/components/layout/Card/Card.cjs.map +1 -0
- package/dist/components/layout/Card/Card.js +135 -0
- package/dist/components/layout/Card/Card.js.map +1 -0
- package/dist/components/layout/Container/Container.cjs +2 -0
- package/dist/components/layout/Container/Container.cjs.map +1 -0
- package/dist/components/layout/Container/Container.js +57 -0
- package/dist/components/layout/Container/Container.js.map +1 -0
- package/dist/components/layout/Flex/Flex.cjs +2 -0
- package/dist/components/layout/Flex/Flex.cjs.map +1 -0
- package/dist/components/layout/Flex/Flex.js +101 -0
- package/dist/components/layout/Flex/Flex.js.map +1 -0
- package/dist/components/layout/Grid/Grid.cjs +2 -0
- package/dist/components/layout/Grid/Grid.cjs.map +1 -0
- package/dist/components/layout/Grid/Grid.js +92 -0
- package/dist/components/layout/Grid/Grid.js.map +1 -0
- package/dist/components/layout/Section/Section.cjs +2 -0
- package/dist/components/layout/Section/Section.cjs.map +1 -0
- package/dist/components/layout/Section/Section.js +85 -0
- package/dist/components/layout/Section/Section.js.map +1 -0
- package/dist/components/layout/Semantic/Semantic.cjs +2 -0
- package/dist/components/layout/Semantic/Semantic.cjs.map +1 -0
- package/dist/components/layout/Semantic/Semantic.js +103 -0
- package/dist/components/layout/Semantic/Semantic.js.map +1 -0
- package/dist/components/layout/Spacer/Spacer.cjs +2 -0
- package/dist/components/layout/Spacer/Spacer.cjs.map +1 -0
- package/dist/components/layout/Spacer/Spacer.js +38 -0
- package/dist/components/layout/Spacer/Spacer.js.map +1 -0
- package/dist/components/layout/Stack/Stack.cjs +2 -0
- package/dist/components/layout/Stack/Stack.cjs.map +1 -0
- package/dist/components/layout/Stack/Stack.js +67 -0
- package/dist/components/layout/Stack/Stack.js.map +1 -0
- package/dist/components/layout.cjs +2 -0
- package/dist/components/layout.cjs.map +1 -0
- package/dist/components/layout.d.ts +2 -0
- package/dist/components/layout.js +35 -0
- package/dist/components/layout.js.map +1 -0
- package/dist/components/media/Image/Image.cjs +2 -0
- package/dist/components/media/Image/Image.cjs.map +1 -0
- package/dist/components/media/Image/Image.js +171 -0
- package/dist/components/media/Image/Image.js.map +1 -0
- package/dist/components/media/ImageThumbnail/ImageThumbnail.cjs +2 -0
- package/dist/components/media/ImageThumbnail/ImageThumbnail.cjs.map +1 -0
- package/dist/components/media/ImageThumbnail/ImageThumbnail.js +112 -0
- package/dist/components/media/ImageThumbnail/ImageThumbnail.js.map +1 -0
- package/dist/components/media/Video/Video.cjs +2 -0
- package/dist/components/media/Video/Video.cjs.map +1 -0
- package/dist/components/media/Video/Video.js +185 -0
- package/dist/components/media/Video/Video.js.map +1 -0
- package/dist/components/navigation/Accordion/Accordion.cjs +2 -0
- package/dist/components/navigation/Accordion/Accordion.cjs.map +1 -0
- package/dist/components/navigation/Accordion/Accordion.js +180 -0
- package/dist/components/navigation/Accordion/Accordion.js.map +1 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.cjs +2 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.cjs.map +1 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.js +137 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.js.map +1 -0
- package/dist/components/navigation/Dropdown/Dropdown.cjs +7 -0
- package/dist/components/navigation/Dropdown/Dropdown.cjs.map +1 -0
- package/dist/components/navigation/Dropdown/Dropdown.js +259 -0
- package/dist/components/navigation/Dropdown/Dropdown.js.map +1 -0
- package/dist/components/navigation/Menu/Menu.cjs +2 -0
- package/dist/components/navigation/Menu/Menu.cjs.map +1 -0
- package/dist/components/navigation/Menu/Menu.js +151 -0
- package/dist/components/navigation/Menu/Menu.js.map +1 -0
- package/dist/components/navigation/Pagination/Pagination.cjs +2 -0
- package/dist/components/navigation/Pagination/Pagination.cjs.map +1 -0
- package/dist/components/navigation/Pagination/Pagination.js +201 -0
- package/dist/components/navigation/Pagination/Pagination.js.map +1 -0
- package/dist/components/navigation/Tabs/Tabs.cjs +7 -0
- package/dist/components/navigation/Tabs/Tabs.cjs.map +1 -0
- package/dist/components/navigation/Tabs/Tabs.js +196 -0
- package/dist/components/navigation/Tabs/Tabs.js.map +1 -0
- package/dist/components/navigation.cjs +2 -0
- package/dist/components/navigation.cjs.map +1 -0
- package/dist/components/navigation.d.ts +2 -0
- package/dist/components/navigation.js +29 -0
- package/dist/components/navigation.js.map +1 -0
- package/dist/components/primitives/Button/Button.cjs +2 -0
- package/dist/components/primitives/Button/Button.cjs.map +1 -0
- package/dist/components/primitives/Button/Button.js +173 -0
- package/dist/components/primitives/Button/Button.js.map +1 -0
- package/dist/components/primitives/Button/Button.styles.cjs +2 -0
- package/dist/components/primitives/Button/Button.styles.cjs.map +1 -0
- package/dist/components/primitives/Button/Button.styles.js +321 -0
- package/dist/components/primitives/Button/Button.styles.js.map +1 -0
- package/dist/components/primitives/Icon/Icon.cjs +2 -0
- package/dist/components/primitives/Icon/Icon.cjs.map +1 -0
- package/dist/components/primitives/Icon/Icon.js +58 -0
- package/dist/components/primitives/Icon/Icon.js.map +1 -0
- package/dist/components/primitives/Icon/iconPaths.cjs +2 -0
- package/dist/components/primitives/Icon/iconPaths.cjs.map +1 -0
- package/dist/components/primitives/Icon/iconPaths.js +63 -0
- package/dist/components/primitives/Icon/iconPaths.js.map +1 -0
- package/dist/components/typography/Heading/Heading.cjs +2 -0
- package/dist/components/typography/Heading/Heading.cjs.map +1 -0
- package/dist/components/typography/Heading/Heading.js +65 -0
- package/dist/components/typography/Heading/Heading.js.map +1 -0
- package/dist/components/typography/Text/Text.cjs +2 -0
- package/dist/components/typography/Text/Text.cjs.map +1 -0
- package/dist/components/typography/Text/Text.js +88 -0
- package/dist/components/typography/Text/Text.js.map +1 -0
- package/dist/components/utility/Avatar/Avatar.cjs +2 -0
- package/dist/components/utility/Avatar/Avatar.cjs.map +1 -0
- package/dist/components/utility/Avatar/Avatar.js +91 -0
- package/dist/components/utility/Avatar/Avatar.js.map +1 -0
- package/dist/components/utility/Badge/Badge.cjs +2 -0
- package/dist/components/utility/Badge/Badge.cjs.map +1 -0
- package/dist/components/utility/Badge/Badge.js +90 -0
- package/dist/components/utility/Badge/Badge.js.map +1 -0
- package/dist/components/utility/Divider/Divider.cjs +2 -0
- package/dist/components/utility/Divider/Divider.cjs.map +1 -0
- package/dist/components/utility/Divider/Divider.js +87 -0
- package/dist/components/utility/Divider/Divider.js.map +1 -0
- package/dist/components/utility/EmptyState/EmptyState.cjs +2 -0
- package/dist/components/utility/EmptyState/EmptyState.cjs.map +1 -0
- package/dist/components/utility/EmptyState/EmptyState.js +132 -0
- package/dist/components/utility/EmptyState/EmptyState.js.map +1 -0
- package/dist/components/utility/FocusTrap/FocusTrap.cjs +2 -0
- package/dist/components/utility/FocusTrap/FocusTrap.cjs.map +1 -0
- package/dist/components/utility/FocusTrap/FocusTrap.js +35 -0
- package/dist/components/utility/FocusTrap/FocusTrap.js.map +1 -0
- package/dist/components/utility/Loader/Loader.cjs +2 -0
- package/dist/components/utility/Loader/Loader.cjs.map +1 -0
- package/dist/components/utility/Loader/Loader.js +142 -0
- package/dist/components/utility/Loader/Loader.js.map +1 -0
- package/dist/components/utility/Logo/Logo.cjs +2 -0
- package/dist/components/utility/Logo/Logo.cjs.map +1 -0
- package/dist/components/utility/Logo/Logo.js +61 -0
- package/dist/components/utility/Logo/Logo.js.map +1 -0
- package/dist/components/utility/Overlay/Overlay.cjs +7 -0
- package/dist/components/utility/Overlay/Overlay.cjs.map +1 -0
- package/dist/components/utility/Overlay/Overlay.js +59 -0
- package/dist/components/utility/Overlay/Overlay.js.map +1 -0
- package/dist/components/utility/Portal/Portal.cjs +2 -0
- package/dist/components/utility/Portal/Portal.cjs.map +1 -0
- package/dist/components/utility/Portal/Portal.js +18 -0
- package/dist/components/utility/Portal/Portal.js.map +1 -0
- package/dist/components/utility/ScreenReaderOnly/ScreenReaderOnly.cjs +2 -0
- package/dist/components/utility/ScreenReaderOnly/ScreenReaderOnly.cjs.map +1 -0
- package/dist/components/utility/ScreenReaderOnly/ScreenReaderOnly.js +53 -0
- package/dist/components/utility/ScreenReaderOnly/ScreenReaderOnly.js.map +1 -0
- package/dist/components/utility/Skeleton/Skeleton.cjs +2 -0
- package/dist/components/utility/Skeleton/Skeleton.cjs.map +1 -0
- package/dist/components/utility/Skeleton/Skeleton.js +91 -0
- package/dist/components/utility/Skeleton/Skeleton.js.map +1 -0
- package/dist/components/utility.cjs +2 -0
- package/dist/components/utility.cjs.map +1 -0
- package/dist/components/utility.d.ts +2 -0
- package/dist/components/utility.js +29 -0
- package/dist/components/utility.js.map +1 -0
- package/dist/data.d.ts +198 -0
- package/dist/design-system/primitives/focus.cjs +2 -0
- package/dist/design-system/primitives/focus.cjs.map +1 -0
- package/dist/design-system/primitives/focus.js +42 -0
- package/dist/design-system/primitives/focus.js.map +1 -0
- package/dist/design-system/primitives/layout.cjs +2 -0
- package/dist/design-system/primitives/layout.cjs.map +1 -0
- package/dist/design-system/primitives/layout.js +79 -0
- package/dist/design-system/primitives/layout.js.map +1 -0
- package/dist/design-system/primitives/opacity.cjs +2 -0
- package/dist/design-system/primitives/opacity.cjs.map +1 -0
- package/dist/design-system/primitives/opacity.js +72 -0
- package/dist/design-system/primitives/opacity.js.map +1 -0
- package/dist/design-system/primitives/sizing.cjs +2 -0
- package/dist/design-system/primitives/sizing.cjs.map +1 -0
- package/dist/design-system/primitives/sizing.js +118 -0
- package/dist/design-system/primitives/sizing.js.map +1 -0
- package/dist/design-system/primitives/transitions.cjs +52 -0
- package/dist/design-system/primitives/transitions.cjs.map +1 -0
- package/dist/design-system/primitives/transitions.js +121 -0
- package/dist/design-system/primitives/transitions.js.map +1 -0
- package/dist/design-system/primitives/typography.cjs +2 -0
- package/dist/design-system/primitives/typography.cjs.map +1 -0
- package/dist/design-system/primitives/typography.js +146 -0
- package/dist/design-system/primitives/typography.js.map +1 -0
- package/dist/design-system/themes/ThemeProvider.cjs +2 -0
- package/dist/design-system/themes/ThemeProvider.cjs.map +1 -0
- package/dist/design-system/themes/ThemeProvider.js +78 -0
- package/dist/design-system/themes/ThemeProvider.js.map +1 -0
- package/dist/design-system/themes/cssVariables.cjs +2 -0
- package/dist/design-system/themes/cssVariables.cjs.map +1 -0
- package/dist/design-system/themes/cssVariables.js +57 -0
- package/dist/design-system/themes/cssVariables.js.map +1 -0
- package/dist/design-system/themes/darkTheme.cjs +2 -0
- package/dist/design-system/themes/darkTheme.cjs.map +1 -0
- package/dist/design-system/themes/darkTheme.js +76 -0
- package/dist/design-system/themes/darkTheme.js.map +1 -0
- package/dist/design-system/themes/lightTheme.cjs +2 -0
- package/dist/design-system/themes/lightTheme.cjs.map +1 -0
- package/dist/design-system/themes/lightTheme.js +76 -0
- package/dist/design-system/themes/lightTheme.js.map +1 -0
- package/dist/design-system/tokens/borders.cjs +2 -0
- package/dist/design-system/tokens/borders.cjs.map +1 -0
- package/dist/design-system/tokens/borders.js +78 -0
- package/dist/design-system/tokens/borders.js.map +1 -0
- package/dist/design-system/tokens/breakpoints.cjs +2 -0
- package/dist/design-system/tokens/breakpoints.cjs.map +1 -0
- package/dist/design-system/tokens/breakpoints.js +58 -0
- package/dist/design-system/tokens/breakpoints.js.map +1 -0
- package/dist/design-system/tokens/colors.cjs +2 -0
- package/dist/design-system/tokens/colors.cjs.map +1 -0
- package/dist/{colors-B_8a3coi.js → design-system/tokens/colors.js} +16 -16
- package/dist/design-system/tokens/colors.js.map +1 -0
- package/dist/design-system/tokens/motion.cjs +2 -0
- package/dist/design-system/tokens/motion.cjs.map +1 -0
- package/dist/design-system/tokens/motion.js +133 -0
- package/dist/design-system/tokens/motion.js.map +1 -0
- package/dist/design-system/tokens/shadows.cjs +2 -0
- package/dist/design-system/tokens/shadows.cjs.map +1 -0
- package/dist/design-system/tokens/shadows.js +46 -0
- package/dist/design-system/tokens/shadows.js.map +1 -0
- package/dist/design-system/tokens/spacing.cjs +2 -0
- package/dist/design-system/tokens/spacing.cjs.map +1 -0
- package/dist/design-system/tokens/spacing.js +96 -0
- package/dist/design-system/tokens/spacing.js.map +1 -0
- package/dist/design-system/tokens/typography.cjs +2 -0
- package/dist/design-system/tokens/typography.cjs.map +1 -0
- package/dist/design-system/tokens/typography.js +199 -0
- package/dist/design-system/tokens/typography.js.map +1 -0
- package/dist/design-system/tokens/zIndex.cjs +2 -0
- package/dist/design-system/tokens/zIndex.cjs.map +1 -0
- package/dist/design-system/tokens/zIndex.js +32 -0
- package/dist/design-system/tokens/zIndex.js.map +1 -0
- package/dist/feedback.d.ts +244 -0
- package/dist/form.d.ts +415 -0
- package/dist/hooks/useClickOutside.cjs +2 -0
- package/dist/hooks/useClickOutside.cjs.map +1 -0
- package/dist/hooks/useClickOutside.js +18 -0
- package/dist/hooks/useClickOutside.js.map +1 -0
- package/dist/hooks/useControllable.cjs +2 -0
- package/dist/hooks/useControllable.cjs.map +1 -0
- package/dist/hooks/useControllable.js +25 -0
- package/dist/hooks/useControllable.js.map +1 -0
- package/dist/hooks/useDisclosure.cjs +2 -0
- package/dist/hooks/useDisclosure.cjs.map +1 -0
- package/dist/hooks/useDisclosure.js +22 -0
- package/dist/hooks/useDisclosure.js.map +1 -0
- package/dist/hooks/useFocusTrap.cjs +2 -0
- package/dist/hooks/useFocusTrap.cjs.map +1 -0
- package/dist/hooks/useFocusTrap.js +56 -0
- package/dist/hooks/useFocusTrap.js.map +1 -0
- package/dist/hooks/useId.cjs +2 -0
- package/dist/hooks/useId.cjs.map +1 -0
- package/dist/hooks/useId.js +22 -0
- package/dist/hooks/useId.js.map +1 -0
- package/dist/hooks/useKeyboardNavigation.cjs +2 -0
- package/dist/hooks/useKeyboardNavigation.cjs.map +1 -0
- package/dist/hooks/useKeyboardNavigation.js +82 -0
- package/dist/hooks/useKeyboardNavigation.js.map +1 -0
- package/dist/hooks/useMediaQuery.cjs +2 -0
- package/dist/hooks/useMediaQuery.cjs.map +1 -0
- package/dist/hooks/useMediaQuery.js +33 -0
- package/dist/hooks/useMediaQuery.js.map +1 -0
- package/dist/hooks.cjs +2 -0
- package/dist/hooks.cjs.map +1 -0
- package/dist/hooks.d.ts +146 -0
- package/dist/hooks.js +23 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.cjs +1 -148
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +4311 -141
- package/dist/index.js +291 -8305
- package/dist/index.js.map +1 -1
- package/dist/layout.d.ts +543 -0
- package/dist/navigation.d.ts +290 -0
- package/dist/styles.css +1 -1
- package/dist/themes.cjs +1 -1
- package/dist/themes.d.ts +214 -2
- package/dist/themes.js +11 -8
- package/dist/themes.js.map +1 -1
- package/dist/tokens.cjs +1 -1
- package/dist/tokens.cjs.map +1 -1
- package/dist/tokens.d.ts +976 -2
- package/dist/tokens.js +38 -624
- package/dist/tokens.js.map +1 -1
- package/dist/utility.d.ts +259 -0
- package/dist/utils/lazyComponent.cjs +2 -0
- package/dist/utils/lazyComponent.cjs.map +1 -0
- package/dist/utils/lazyComponent.js +26 -0
- package/dist/utils/lazyComponent.js.map +1 -0
- package/dist/utils/styles.cjs +2 -0
- package/dist/utils/styles.cjs.map +1 -0
- package/dist/utils/styles.js +35 -0
- package/dist/utils/styles.js.map +1 -0
- package/package.json +37 -1
- package/dist/colors-B_8a3coi.js.map +0 -1
- package/dist/colors-Bp6ROxvx.cjs +0 -2
- package/dist/colors-Bp6ROxvx.cjs.map +0 -1
- package/dist/components/data/InfoItem/InfoItem.d.ts +0 -44
- package/dist/components/data/InfoItem/InfoItem.d.ts.map +0 -1
- package/dist/components/data/InfoItem/index.d.ts +0 -2
- package/dist/components/data/InfoItem/index.d.ts.map +0 -1
- package/dist/components/data/List/List.d.ts +0 -44
- package/dist/components/data/List/List.d.ts.map +0 -1
- package/dist/components/data/List/index.d.ts +0 -3
- package/dist/components/data/List/index.d.ts.map +0 -1
- package/dist/components/data/Table/Table.d.ts +0 -74
- package/dist/components/data/Table/Table.d.ts.map +0 -1
- package/dist/components/data/Table/index.d.ts +0 -3
- package/dist/components/data/Table/index.d.ts.map +0 -1
- package/dist/components/data/index.d.ts +0 -7
- package/dist/components/data/index.d.ts.map +0 -1
- package/dist/components/feedback/Alert/Alert.d.ts +0 -29
- package/dist/components/feedback/Alert/Alert.d.ts.map +0 -1
- package/dist/components/feedback/Alert/index.d.ts +0 -3
- package/dist/components/feedback/Alert/index.d.ts.map +0 -1
- package/dist/components/feedback/Drawer/Drawer.d.ts +0 -29
- package/dist/components/feedback/Drawer/Drawer.d.ts.map +0 -1
- package/dist/components/feedback/Drawer/index.d.ts +0 -3
- package/dist/components/feedback/Drawer/index.d.ts.map +0 -1
- package/dist/components/feedback/Modal/Modal.d.ts +0 -28
- package/dist/components/feedback/Modal/Modal.d.ts.map +0 -1
- package/dist/components/feedback/Modal/index.d.ts +0 -3
- package/dist/components/feedback/Modal/index.d.ts.map +0 -1
- package/dist/components/feedback/Popover/Popover.d.ts +0 -35
- package/dist/components/feedback/Popover/Popover.d.ts.map +0 -1
- package/dist/components/feedback/Popover/index.d.ts +0 -3
- package/dist/components/feedback/Popover/index.d.ts.map +0 -1
- package/dist/components/feedback/Progress/Progress.d.ts +0 -30
- package/dist/components/feedback/Progress/Progress.d.ts.map +0 -1
- package/dist/components/feedback/Progress/index.d.ts +0 -3
- package/dist/components/feedback/Progress/index.d.ts.map +0 -1
- package/dist/components/feedback/Toast/Toast.d.ts +0 -47
- package/dist/components/feedback/Toast/Toast.d.ts.map +0 -1
- package/dist/components/feedback/Toast/index.d.ts +0 -3
- package/dist/components/feedback/Toast/index.d.ts.map +0 -1
- package/dist/components/feedback/Tooltip/Tooltip.d.ts +0 -20
- package/dist/components/feedback/Tooltip/Tooltip.d.ts.map +0 -1
- package/dist/components/feedback/Tooltip/index.d.ts +0 -3
- package/dist/components/feedback/Tooltip/index.d.ts.map +0 -1
- package/dist/components/feedback/index.d.ts +0 -13
- package/dist/components/feedback/index.d.ts.map +0 -1
- package/dist/components/form/Checkbox/Checkbox.d.ts +0 -20
- package/dist/components/form/Checkbox/Checkbox.d.ts.map +0 -1
- package/dist/components/form/Checkbox/index.d.ts +0 -3
- package/dist/components/form/Checkbox/index.d.ts.map +0 -1
- package/dist/components/form/DateInput/DateInput.d.ts +0 -28
- package/dist/components/form/DateInput/DateInput.d.ts.map +0 -1
- package/dist/components/form/DateInput/index.d.ts +0 -3
- package/dist/components/form/DateInput/index.d.ts.map +0 -1
- package/dist/components/form/DropZone/DropZone.d.ts +0 -27
- package/dist/components/form/DropZone/DropZone.d.ts.map +0 -1
- package/dist/components/form/DropZone/index.d.ts +0 -2
- package/dist/components/form/DropZone/index.d.ts.map +0 -1
- package/dist/components/form/FieldError/FieldError.d.ts +0 -18
- package/dist/components/form/FieldError/FieldError.d.ts.map +0 -1
- package/dist/components/form/FieldError/index.d.ts +0 -3
- package/dist/components/form/FieldError/index.d.ts.map +0 -1
- package/dist/components/form/FileInput/FileInput.d.ts +0 -33
- package/dist/components/form/FileInput/FileInput.d.ts.map +0 -1
- package/dist/components/form/FileInput/index.d.ts +0 -3
- package/dist/components/form/FileInput/index.d.ts.map +0 -1
- package/dist/components/form/Form/Form.d.ts +0 -16
- package/dist/components/form/Form/Form.d.ts.map +0 -1
- package/dist/components/form/Form/index.d.ts +0 -2
- package/dist/components/form/Form/index.d.ts.map +0 -1
- package/dist/components/form/FormCard/FormCard.d.ts +0 -20
- package/dist/components/form/FormCard/FormCard.d.ts.map +0 -1
- package/dist/components/form/FormCard/index.d.ts +0 -2
- package/dist/components/form/FormCard/index.d.ts.map +0 -1
- package/dist/components/form/FormField/FormField.d.ts +0 -36
- package/dist/components/form/FormField/FormField.d.ts.map +0 -1
- package/dist/components/form/FormField/index.d.ts +0 -3
- package/dist/components/form/FormField/index.d.ts.map +0 -1
- package/dist/components/form/FormGroup/FormGroup.d.ts +0 -31
- package/dist/components/form/FormGroup/FormGroup.d.ts.map +0 -1
- package/dist/components/form/FormGroup/index.d.ts +0 -2
- package/dist/components/form/FormGroup/index.d.ts.map +0 -1
- package/dist/components/form/FormLabel/FormLabel.d.ts +0 -20
- package/dist/components/form/FormLabel/FormLabel.d.ts.map +0 -1
- package/dist/components/form/FormLabel/index.d.ts +0 -2
- package/dist/components/form/FormLabel/index.d.ts.map +0 -1
- package/dist/components/form/Input/Input.d.ts +0 -21
- package/dist/components/form/Input/Input.d.ts.map +0 -1
- package/dist/components/form/Input/index.d.ts +0 -3
- package/dist/components/form/Input/index.d.ts.map +0 -1
- package/dist/components/form/Radio/Radio.d.ts +0 -46
- package/dist/components/form/Radio/Radio.d.ts.map +0 -1
- package/dist/components/form/Radio/index.d.ts +0 -3
- package/dist/components/form/Radio/index.d.ts.map +0 -1
- package/dist/components/form/Select/Select.d.ts +0 -21
- package/dist/components/form/Select/Select.d.ts.map +0 -1
- package/dist/components/form/Select/index.d.ts +0 -3
- package/dist/components/form/Select/index.d.ts.map +0 -1
- package/dist/components/form/Slider/Slider.d.ts +0 -32
- package/dist/components/form/Slider/Slider.d.ts.map +0 -1
- package/dist/components/form/Slider/index.d.ts +0 -3
- package/dist/components/form/Slider/index.d.ts.map +0 -1
- package/dist/components/form/Switch/Switch.d.ts +0 -16
- package/dist/components/form/Switch/Switch.d.ts.map +0 -1
- package/dist/components/form/Switch/index.d.ts +0 -3
- package/dist/components/form/Switch/index.d.ts.map +0 -1
- package/dist/components/form/TextField/TextField.d.ts +0 -16
- package/dist/components/form/TextField/TextField.d.ts.map +0 -1
- package/dist/components/form/TextField/index.d.ts +0 -3
- package/dist/components/form/TextField/index.d.ts.map +0 -1
- package/dist/components/form/Textarea/Textarea.d.ts +0 -27
- package/dist/components/form/Textarea/Textarea.d.ts.map +0 -1
- package/dist/components/form/Textarea/index.d.ts +0 -3
- package/dist/components/form/Textarea/index.d.ts.map +0 -1
- package/dist/components/form/index.d.ts +0 -21
- package/dist/components/form/index.d.ts.map +0 -1
- package/dist/components/index.d.ts +0 -12
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/layout/AspectRatio/AspectRatio.d.ts +0 -19
- package/dist/components/layout/AspectRatio/AspectRatio.d.ts.map +0 -1
- package/dist/components/layout/AspectRatio/index.d.ts +0 -2
- package/dist/components/layout/AspectRatio/index.d.ts.map +0 -1
- package/dist/components/layout/Box/Box.d.ts +0 -11
- package/dist/components/layout/Box/Box.d.ts.map +0 -1
- package/dist/components/layout/Box/Box.styles.d.ts +0 -4
- package/dist/components/layout/Box/Box.styles.d.ts.map +0 -1
- package/dist/components/layout/Box/Box.types.d.ts +0 -38
- package/dist/components/layout/Box/Box.types.d.ts.map +0 -1
- package/dist/components/layout/Box/index.d.ts +0 -3
- package/dist/components/layout/Box/index.d.ts.map +0 -1
- package/dist/components/layout/Card/Card.d.ts +0 -40
- package/dist/components/layout/Card/Card.d.ts.map +0 -1
- package/dist/components/layout/Card/index.d.ts +0 -3
- package/dist/components/layout/Card/index.d.ts.map +0 -1
- package/dist/components/layout/Container/Container.d.ts +0 -31
- package/dist/components/layout/Container/Container.d.ts.map +0 -1
- package/dist/components/layout/Container/index.d.ts +0 -3
- package/dist/components/layout/Container/index.d.ts.map +0 -1
- package/dist/components/layout/Flex/Flex.d.ts +0 -63
- package/dist/components/layout/Flex/Flex.d.ts.map +0 -1
- package/dist/components/layout/Flex/index.d.ts +0 -3
- package/dist/components/layout/Flex/index.d.ts.map +0 -1
- package/dist/components/layout/Grid/Grid.d.ts +0 -80
- package/dist/components/layout/Grid/Grid.d.ts.map +0 -1
- package/dist/components/layout/Grid/index.d.ts +0 -3
- package/dist/components/layout/Grid/index.d.ts.map +0 -1
- package/dist/components/layout/Section/Section.d.ts +0 -22
- package/dist/components/layout/Section/Section.d.ts.map +0 -1
- package/dist/components/layout/Section/index.d.ts +0 -3
- package/dist/components/layout/Section/index.d.ts.map +0 -1
- package/dist/components/layout/Semantic/Semantic.d.ts +0 -32
- package/dist/components/layout/Semantic/Semantic.d.ts.map +0 -1
- package/dist/components/layout/Semantic/index.d.ts +0 -3
- package/dist/components/layout/Semantic/index.d.ts.map +0 -1
- package/dist/components/layout/Spacer/Spacer.d.ts +0 -18
- package/dist/components/layout/Spacer/Spacer.d.ts.map +0 -1
- package/dist/components/layout/Spacer/index.d.ts +0 -3
- package/dist/components/layout/Spacer/index.d.ts.map +0 -1
- package/dist/components/layout/Stack/Stack.d.ts +0 -13
- package/dist/components/layout/Stack/Stack.d.ts.map +0 -1
- package/dist/components/layout/Stack/Stack.types.d.ts +0 -33
- package/dist/components/layout/Stack/Stack.types.d.ts.map +0 -1
- package/dist/components/layout/Stack/index.d.ts +0 -3
- package/dist/components/layout/Stack/index.d.ts.map +0 -1
- package/dist/components/layout/index.d.ts +0 -16
- package/dist/components/layout/index.d.ts.map +0 -1
- package/dist/components/media/Image/Image.d.ts +0 -33
- package/dist/components/media/Image/Image.d.ts.map +0 -1
- package/dist/components/media/Image/index.d.ts +0 -2
- package/dist/components/media/Image/index.d.ts.map +0 -1
- package/dist/components/media/ImageThumbnail/ImageThumbnail.d.ts +0 -27
- package/dist/components/media/ImageThumbnail/ImageThumbnail.d.ts.map +0 -1
- package/dist/components/media/ImageThumbnail/index.d.ts +0 -2
- package/dist/components/media/ImageThumbnail/index.d.ts.map +0 -1
- package/dist/components/media/Video/Video.d.ts +0 -67
- package/dist/components/media/Video/Video.d.ts.map +0 -1
- package/dist/components/media/Video/index.d.ts +0 -2
- package/dist/components/media/Video/index.d.ts.map +0 -1
- package/dist/components/media/index.d.ts +0 -8
- package/dist/components/media/index.d.ts.map +0 -1
- package/dist/components/navigation/Accordion/Accordion.d.ts +0 -41
- package/dist/components/navigation/Accordion/Accordion.d.ts.map +0 -1
- package/dist/components/navigation/Accordion/index.d.ts +0 -3
- package/dist/components/navigation/Accordion/index.d.ts.map +0 -1
- package/dist/components/navigation/Breadcrumb/Breadcrumb.d.ts +0 -31
- package/dist/components/navigation/Breadcrumb/Breadcrumb.d.ts.map +0 -1
- package/dist/components/navigation/Breadcrumb/index.d.ts +0 -3
- package/dist/components/navigation/Breadcrumb/index.d.ts.map +0 -1
- package/dist/components/navigation/Dropdown/Dropdown.d.ts +0 -47
- package/dist/components/navigation/Dropdown/Dropdown.d.ts.map +0 -1
- package/dist/components/navigation/Dropdown/index.d.ts +0 -3
- package/dist/components/navigation/Dropdown/index.d.ts.map +0 -1
- package/dist/components/navigation/Menu/Menu.d.ts +0 -45
- package/dist/components/navigation/Menu/Menu.d.ts.map +0 -1
- package/dist/components/navigation/Menu/index.d.ts +0 -3
- package/dist/components/navigation/Menu/index.d.ts.map +0 -1
- package/dist/components/navigation/Pagination/Pagination.d.ts +0 -29
- package/dist/components/navigation/Pagination/Pagination.d.ts.map +0 -1
- package/dist/components/navigation/Pagination/index.d.ts +0 -3
- package/dist/components/navigation/Pagination/index.d.ts.map +0 -1
- package/dist/components/navigation/Tabs/Tabs.d.ts +0 -52
- package/dist/components/navigation/Tabs/Tabs.d.ts.map +0 -1
- package/dist/components/navigation/Tabs/index.d.ts +0 -3
- package/dist/components/navigation/Tabs/index.d.ts.map +0 -1
- package/dist/components/navigation/index.d.ts +0 -10
- package/dist/components/navigation/index.d.ts.map +0 -1
- package/dist/components/primitives/Button/Button.d.ts +0 -12
- package/dist/components/primitives/Button/Button.d.ts.map +0 -1
- package/dist/components/primitives/Button/Button.styles.d.ts +0 -29
- package/dist/components/primitives/Button/Button.styles.d.ts.map +0 -1
- package/dist/components/primitives/Button/Button.types.d.ts +0 -37
- package/dist/components/primitives/Button/Button.types.d.ts.map +0 -1
- package/dist/components/primitives/Button/index.d.ts +0 -3
- package/dist/components/primitives/Button/index.d.ts.map +0 -1
- package/dist/components/primitives/Icon/Icon.d.ts +0 -88
- package/dist/components/primitives/Icon/Icon.d.ts.map +0 -1
- package/dist/components/primitives/Icon/index.d.ts +0 -3
- package/dist/components/primitives/Icon/index.d.ts.map +0 -1
- package/dist/components/primitives/index.d.ts +0 -8
- package/dist/components/primitives/index.d.ts.map +0 -1
- package/dist/components/typography/Heading/Heading.d.ts +0 -38
- package/dist/components/typography/Heading/Heading.d.ts.map +0 -1
- package/dist/components/typography/Heading/index.d.ts +0 -3
- package/dist/components/typography/Heading/index.d.ts.map +0 -1
- package/dist/components/typography/Text/Text.d.ts +0 -43
- package/dist/components/typography/Text/Text.d.ts.map +0 -1
- package/dist/components/typography/Text/index.d.ts +0 -3
- package/dist/components/typography/Text/index.d.ts.map +0 -1
- package/dist/components/typography/index.d.ts +0 -8
- package/dist/components/typography/index.d.ts.map +0 -1
- package/dist/components/utility/Avatar/Avatar.d.ts +0 -22
- package/dist/components/utility/Avatar/Avatar.d.ts.map +0 -1
- package/dist/components/utility/Avatar/index.d.ts +0 -3
- package/dist/components/utility/Avatar/index.d.ts.map +0 -1
- package/dist/components/utility/Badge/Badge.d.ts +0 -20
- package/dist/components/utility/Badge/Badge.d.ts.map +0 -1
- package/dist/components/utility/Badge/index.d.ts +0 -3
- package/dist/components/utility/Badge/index.d.ts.map +0 -1
- package/dist/components/utility/Divider/Divider.d.ts +0 -19
- package/dist/components/utility/Divider/Divider.d.ts.map +0 -1
- package/dist/components/utility/Divider/index.d.ts +0 -3
- package/dist/components/utility/Divider/index.d.ts.map +0 -1
- package/dist/components/utility/EmptyState/EmptyState.d.ts +0 -26
- package/dist/components/utility/EmptyState/EmptyState.d.ts.map +0 -1
- package/dist/components/utility/EmptyState/index.d.ts +0 -3
- package/dist/components/utility/EmptyState/index.d.ts.map +0 -1
- package/dist/components/utility/FocusTrap/FocusTrap.d.ts +0 -19
- package/dist/components/utility/FocusTrap/FocusTrap.d.ts.map +0 -1
- package/dist/components/utility/FocusTrap/index.d.ts +0 -3
- package/dist/components/utility/FocusTrap/index.d.ts.map +0 -1
- package/dist/components/utility/Loader/Loader.d.ts +0 -21
- package/dist/components/utility/Loader/Loader.d.ts.map +0 -1
- package/dist/components/utility/Loader/index.d.ts +0 -3
- package/dist/components/utility/Loader/index.d.ts.map +0 -1
- package/dist/components/utility/Logo/Logo.d.ts +0 -14
- package/dist/components/utility/Logo/Logo.d.ts.map +0 -1
- package/dist/components/utility/Logo/index.d.ts +0 -3
- package/dist/components/utility/Logo/index.d.ts.map +0 -1
- package/dist/components/utility/Overlay/Overlay.d.ts +0 -25
- package/dist/components/utility/Overlay/Overlay.d.ts.map +0 -1
- package/dist/components/utility/Overlay/index.d.ts +0 -3
- package/dist/components/utility/Overlay/index.d.ts.map +0 -1
- package/dist/components/utility/Portal/Portal.d.ts +0 -14
- package/dist/components/utility/Portal/Portal.d.ts.map +0 -1
- package/dist/components/utility/Portal/index.d.ts +0 -3
- package/dist/components/utility/Portal/index.d.ts.map +0 -1
- package/dist/components/utility/ScreenReaderOnly/ScreenReaderOnly.d.ts +0 -17
- package/dist/components/utility/ScreenReaderOnly/ScreenReaderOnly.d.ts.map +0 -1
- package/dist/components/utility/ScreenReaderOnly/index.d.ts +0 -2
- package/dist/components/utility/ScreenReaderOnly/index.d.ts.map +0 -1
- package/dist/components/utility/Skeleton/Skeleton.d.ts +0 -35
- package/dist/components/utility/Skeleton/Skeleton.d.ts.map +0 -1
- package/dist/components/utility/Skeleton/index.d.ts +0 -3
- package/dist/components/utility/Skeleton/index.d.ts.map +0 -1
- package/dist/components/utility/index.d.ts +0 -17
- package/dist/components/utility/index.d.ts.map +0 -1
- package/dist/cssVariables-BguyVeCi.cjs +0 -2
- package/dist/cssVariables-BguyVeCi.cjs.map +0 -1
- package/dist/cssVariables-D9uw0uKO.js +0 -273
- package/dist/cssVariables-D9uw0uKO.js.map +0 -1
- package/dist/design-system/index.d.ts +0 -16
- package/dist/design-system/index.d.ts.map +0 -1
- package/dist/design-system/primitives/focus.d.ts +0 -67
- package/dist/design-system/primitives/focus.d.ts.map +0 -1
- package/dist/design-system/primitives/index.d.ts +0 -15
- package/dist/design-system/primitives/index.d.ts.map +0 -1
- package/dist/design-system/primitives/layout.d.ts +0 -114
- package/dist/design-system/primitives/layout.d.ts.map +0 -1
- package/dist/design-system/primitives/opacity.d.ts +0 -88
- package/dist/design-system/primitives/opacity.d.ts.map +0 -1
- package/dist/design-system/primitives/sizing.d.ts +0 -155
- package/dist/design-system/primitives/sizing.d.ts.map +0 -1
- package/dist/design-system/primitives/transitions.d.ts +0 -92
- package/dist/design-system/primitives/transitions.d.ts.map +0 -1
- package/dist/design-system/primitives/typography.d.ts +0 -164
- package/dist/design-system/primitives/typography.d.ts.map +0 -1
- package/dist/design-system/themes/ThemeProvider.d.ts +0 -18
- package/dist/design-system/themes/ThemeProvider.d.ts.map +0 -1
- package/dist/design-system/themes/cssVariables.d.ts +0 -52
- package/dist/design-system/themes/cssVariables.d.ts.map +0 -1
- package/dist/design-system/themes/darkTheme.d.ts +0 -3
- package/dist/design-system/themes/darkTheme.d.ts.map +0 -1
- package/dist/design-system/themes/index.d.ts +0 -11
- package/dist/design-system/themes/index.d.ts.map +0 -1
- package/dist/design-system/themes/lightTheme.d.ts +0 -3
- package/dist/design-system/themes/lightTheme.d.ts.map +0 -1
- package/dist/design-system/themes/types.d.ts +0 -134
- package/dist/design-system/themes/types.d.ts.map +0 -1
- package/dist/design-system/tokens/borders.d.ts +0 -86
- package/dist/design-system/tokens/borders.d.ts.map +0 -1
- package/dist/design-system/tokens/breakpoints.d.ts +0 -66
- package/dist/design-system/tokens/breakpoints.d.ts.map +0 -1
- package/dist/design-system/tokens/colors.d.ts +0 -206
- package/dist/design-system/tokens/colors.d.ts.map +0 -1
- package/dist/design-system/tokens/index.d.ts +0 -23
- package/dist/design-system/tokens/index.d.ts.map +0 -1
- package/dist/design-system/tokens/motion.d.ts +0 -204
- package/dist/design-system/tokens/motion.d.ts.map +0 -1
- package/dist/design-system/tokens/shadows.d.ts +0 -55
- package/dist/design-system/tokens/shadows.d.ts.map +0 -1
- package/dist/design-system/tokens/spacing.d.ts +0 -104
- package/dist/design-system/tokens/spacing.d.ts.map +0 -1
- package/dist/design-system/tokens/typography.d.ts +0 -214
- package/dist/design-system/tokens/typography.d.ts.map +0 -1
- package/dist/design-system/tokens/zIndex.d.ts +0 -36
- package/dist/design-system/tokens/zIndex.d.ts.map +0 -1
- package/dist/hooks/index.d.ts +0 -13
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/useClickOutside.d.ts +0 -9
- package/dist/hooks/useClickOutside.d.ts.map +0 -1
- package/dist/hooks/useControllable.d.ts +0 -24
- package/dist/hooks/useControllable.d.ts.map +0 -1
- package/dist/hooks/useDisclosure.d.ts +0 -19
- package/dist/hooks/useDisclosure.d.ts.map +0 -1
- package/dist/hooks/useFocusTrap.d.ts +0 -21
- package/dist/hooks/useFocusTrap.d.ts.map +0 -1
- package/dist/hooks/useId.d.ts +0 -9
- package/dist/hooks/useId.d.ts.map +0 -1
- package/dist/hooks/useKeyboardNavigation.d.ts +0 -35
- package/dist/hooks/useKeyboardNavigation.d.ts.map +0 -1
- package/dist/hooks/useMediaQuery.d.ts +0 -13
- package/dist/hooks/useMediaQuery.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/types/common.d.ts +0 -90
- package/dist/types/common.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -7
- package/dist/types/index.d.ts.map +0 -1
- package/dist/utils/index.d.ts +0 -7
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/styles.d.ts +0 -17
- package/dist/utils/styles.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useClickOutside.js","sources":["../../src/hooks/useClickOutside.ts"],"sourcesContent":["/**\n * useClickOutside Hook\n *\n * Detects clicks outside of a referenced element.\n * Useful for closing dropdowns, modals, and popovers.\n */\n\nimport { useEffect, useRef, type RefObject } from 'react'\n\nexport interface UseClickOutsideOptions {\n /** Whether the listener is active */\n enabled?: boolean\n /** Event type to listen for */\n eventType?: 'mousedown' | 'mouseup' | 'click'\n}\n\nexport function useClickOutside<T extends HTMLElement = HTMLElement>(\n handler: (event: MouseEvent | TouchEvent) => void,\n options: UseClickOutsideOptions = {}\n): RefObject<T | null> {\n const { enabled = true, eventType = 'mousedown' } = options\n const ref = useRef<T>(null)\n\n useEffect(() => {\n if (!enabled) return\n\n const listener = (event: MouseEvent | TouchEvent) => {\n const el = ref.current\n if (!el || el.contains(event.target as Node)) {\n return\n }\n handler(event)\n }\n\n document.addEventListener(eventType, listener)\n document.addEventListener('touchstart', listener)\n\n return () => {\n document.removeEventListener(eventType, listener)\n document.removeEventListener('touchstart', listener)\n }\n }, [handler, enabled, eventType])\n\n return ref\n}\n"],"names":["useClickOutside","handler","options","enabled","eventType","ref","useRef","useEffect","listener","event","el"],"mappings":";AAgBO,SAASA,EACdC,GACAC,IAAkC,IACb;AACrB,QAAM,EAAE,SAAAC,IAAU,IAAM,WAAAC,IAAY,gBAAgBF,GAC9CG,IAAMC,EAAU,IAAI;AAE1B,SAAAC,EAAU,MAAM;AACd,QAAI,CAACJ,EAAS;AAEd,UAAMK,IAAW,CAACC,MAAmC;AACnD,YAAMC,IAAKL,EAAI;AACf,MAAI,CAACK,KAAMA,EAAG,SAASD,EAAM,MAAc,KAG3CR,EAAQQ,CAAK;AAAA,IACf;AAEA,oBAAS,iBAAiBL,GAAWI,CAAQ,GAC7C,SAAS,iBAAiB,cAAcA,CAAQ,GAEzC,MAAM;AACX,eAAS,oBAAoBJ,GAAWI,CAAQ,GAChD,SAAS,oBAAoB,cAAcA,CAAQ;AAAA,IACrD;AAAA,EACF,GAAG,CAACP,GAASE,GAASC,CAAS,CAAC,GAEzBC;AACT;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react");function b(u){const{value:l,defaultValue:a,onChange:s}=u,e=l!==void 0,c=n.useRef(e);n.useEffect(()=>{c.current!==e&&console.warn("Component is switching between controlled and uncontrolled modes. This is not recommended and may cause unexpected behavior."),c.current=e},[e]);const[i,d]=n.useState(a),o=e?l:i,f=n.useCallback(t=>{const r=typeof t=="function"?t(o):t;e||d(r),s?.(r)},[e,s,o]);return{value:o,setValue:f,isControlled:e}}exports.useControllable=b;
|
|
2
|
+
//# sourceMappingURL=useControllable.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useControllable.cjs","sources":["../../src/hooks/useControllable.ts"],"sourcesContent":["/**\n * useControllable Hook\n *\n * Manages controlled vs uncontrolled state pattern.\n * Allows components to work in both controlled and uncontrolled modes.\n */\n\nimport { useState, useCallback, useRef, useEffect } from 'react'\n\nexport interface UseControllableOptions<T> {\n /** Controlled value (if provided, component is controlled) */\n value?: T\n /** Default value for uncontrolled mode */\n defaultValue: T\n /** Callback when value changes */\n onChange?: (value: T) => void\n}\n\nexport interface UseControllableReturn<T> {\n /** Current value */\n value: T\n /** Set the value */\n setValue: (value: T | ((prev: T) => T)) => void\n /** Whether the component is controlled */\n isControlled: boolean\n}\n\nexport function useControllable<T>(\n options: UseControllableOptions<T>\n): UseControllableReturn<T> {\n const { value: controlledValue, defaultValue, onChange } = options\n\n const isControlled = controlledValue !== undefined\n const isControlledRef = useRef(isControlled)\n\n // Warn if switching between controlled and uncontrolled\n useEffect(() => {\n if (isControlledRef.current !== isControlled) {\n console.warn(\n 'Component is switching between controlled and uncontrolled modes. ' +\n 'This is not recommended and may cause unexpected behavior.'\n )\n }\n isControlledRef.current = isControlled\n }, [isControlled])\n\n const [internalValue, setInternalValue] = useState(defaultValue)\n\n const value = isControlled ? controlledValue : internalValue\n\n const setValue = useCallback(\n (nextValue: T | ((prev: T) => T)) => {\n const resolvedValue =\n typeof nextValue === 'function'\n ? (nextValue as (prev: T) => T)(value)\n : nextValue\n\n if (!isControlled) {\n setInternalValue(resolvedValue)\n }\n onChange?.(resolvedValue)\n },\n [isControlled, onChange, value]\n )\n\n return {\n value,\n setValue,\n isControlled,\n }\n}\n"],"names":["useControllable","options","controlledValue","defaultValue","onChange","isControlled","isControlledRef","useRef","useEffect","internalValue","setInternalValue","useState","value","setValue","useCallback","nextValue","resolvedValue"],"mappings":"yGA2BO,SAASA,EACdC,EAC0B,CAC1B,KAAM,CAAE,MAAOC,EAAiB,aAAAC,EAAc,SAAAC,GAAaH,EAErDI,EAAeH,IAAoB,OACnCI,EAAkBC,EAAAA,OAAOF,CAAY,EAG3CG,EAAAA,UAAU,IAAM,CACVF,EAAgB,UAAYD,GAC9B,QAAQ,KACN,8HAAA,EAIJC,EAAgB,QAAUD,CAC5B,EAAG,CAACA,CAAY,CAAC,EAEjB,KAAM,CAACI,EAAeC,CAAgB,EAAIC,EAAAA,SAASR,CAAY,EAEzDS,EAAQP,EAAeH,EAAkBO,EAEzCI,EAAWC,EAAAA,YACdC,GAAoC,CACnC,MAAMC,EACJ,OAAOD,GAAc,WAChBA,EAA6BH,CAAK,EACnCG,EAEDV,GACHK,EAAiBM,CAAa,EAEhCZ,IAAWY,CAAa,CAC1B,EACA,CAACX,EAAcD,EAAUQ,CAAK,CAAA,EAGhC,MAAO,CACL,MAAAA,EACA,SAAAC,EACA,aAAAR,CAAA,CAEJ"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useRef as f, useEffect as m, useState as C, useCallback as p } from "react";
|
|
2
|
+
function b(r) {
|
|
3
|
+
const { value: t, defaultValue: a, onChange: l } = r, e = t !== void 0, s = f(e);
|
|
4
|
+
m(() => {
|
|
5
|
+
s.current !== e && console.warn(
|
|
6
|
+
"Component is switching between controlled and uncontrolled modes. This is not recommended and may cause unexpected behavior."
|
|
7
|
+
), s.current = e;
|
|
8
|
+
}, [e]);
|
|
9
|
+
const [u, i] = C(a), n = e ? t : u, d = p(
|
|
10
|
+
(o) => {
|
|
11
|
+
const c = typeof o == "function" ? o(n) : o;
|
|
12
|
+
e || i(c), l?.(c);
|
|
13
|
+
},
|
|
14
|
+
[e, l, n]
|
|
15
|
+
);
|
|
16
|
+
return {
|
|
17
|
+
value: n,
|
|
18
|
+
setValue: d,
|
|
19
|
+
isControlled: e
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
export {
|
|
23
|
+
b as useControllable
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=useControllable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useControllable.js","sources":["../../src/hooks/useControllable.ts"],"sourcesContent":["/**\n * useControllable Hook\n *\n * Manages controlled vs uncontrolled state pattern.\n * Allows components to work in both controlled and uncontrolled modes.\n */\n\nimport { useState, useCallback, useRef, useEffect } from 'react'\n\nexport interface UseControllableOptions<T> {\n /** Controlled value (if provided, component is controlled) */\n value?: T\n /** Default value for uncontrolled mode */\n defaultValue: T\n /** Callback when value changes */\n onChange?: (value: T) => void\n}\n\nexport interface UseControllableReturn<T> {\n /** Current value */\n value: T\n /** Set the value */\n setValue: (value: T | ((prev: T) => T)) => void\n /** Whether the component is controlled */\n isControlled: boolean\n}\n\nexport function useControllable<T>(\n options: UseControllableOptions<T>\n): UseControllableReturn<T> {\n const { value: controlledValue, defaultValue, onChange } = options\n\n const isControlled = controlledValue !== undefined\n const isControlledRef = useRef(isControlled)\n\n // Warn if switching between controlled and uncontrolled\n useEffect(() => {\n if (isControlledRef.current !== isControlled) {\n console.warn(\n 'Component is switching between controlled and uncontrolled modes. ' +\n 'This is not recommended and may cause unexpected behavior.'\n )\n }\n isControlledRef.current = isControlled\n }, [isControlled])\n\n const [internalValue, setInternalValue] = useState(defaultValue)\n\n const value = isControlled ? controlledValue : internalValue\n\n const setValue = useCallback(\n (nextValue: T | ((prev: T) => T)) => {\n const resolvedValue =\n typeof nextValue === 'function'\n ? (nextValue as (prev: T) => T)(value)\n : nextValue\n\n if (!isControlled) {\n setInternalValue(resolvedValue)\n }\n onChange?.(resolvedValue)\n },\n [isControlled, onChange, value]\n )\n\n return {\n value,\n setValue,\n isControlled,\n }\n}\n"],"names":["useControllable","options","controlledValue","defaultValue","onChange","isControlled","isControlledRef","useRef","useEffect","internalValue","setInternalValue","useState","value","setValue","useCallback","nextValue","resolvedValue"],"mappings":";AA2BO,SAASA,EACdC,GAC0B;AAC1B,QAAM,EAAE,OAAOC,GAAiB,cAAAC,GAAc,UAAAC,MAAaH,GAErDI,IAAeH,MAAoB,QACnCI,IAAkBC,EAAOF,CAAY;AAG3C,EAAAG,EAAU,MAAM;AACd,IAAIF,EAAgB,YAAYD,KAC9B,QAAQ;AAAA,MACN;AAAA,IAAA,GAIJC,EAAgB,UAAUD;AAAA,EAC5B,GAAG,CAACA,CAAY,CAAC;AAEjB,QAAM,CAACI,GAAeC,CAAgB,IAAIC,EAASR,CAAY,GAEzDS,IAAQP,IAAeH,IAAkBO,GAEzCI,IAAWC;AAAA,IACf,CAACC,MAAoC;AACnC,YAAMC,IACJ,OAAOD,KAAc,aAChBA,EAA6BH,CAAK,IACnCG;AAEN,MAAKV,KACHK,EAAiBM,CAAa,GAEhCZ,IAAWY,CAAa;AAAA,IAC1B;AAAA,IACA,CAACX,GAAcD,GAAUQ,CAAK;AAAA,EAAA;AAGhC,SAAO;AAAA,IACL,OAAAA;AAAA,IACA,UAAAC;AAAA,IACA,cAAAR;AAAA,EAAA;AAEJ;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react");function p(c={}){const{defaultIsOpen:u=!1,onOpen:e,onClose:s}=c,[t,o]=n.useState(u),a=n.useCallback(()=>{o(!0),e?.()},[e]),r=n.useCallback(()=>{o(!1),s?.()},[s]),i=n.useCallback(()=>{const l=!t;o(l),l?e?.():s?.()},[t,e,s]);return{isOpen:t,onOpen:a,onClose:r,onToggle:i,setIsOpen:o}}exports.useDisclosure=p;
|
|
2
|
+
//# sourceMappingURL=useDisclosure.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDisclosure.cjs","sources":["../../src/hooks/useDisclosure.ts"],"sourcesContent":["/**\r\n * useDisclosure Hook\r\n *\r\n * Manages open/closed state for modals, popovers, drawers, etc.\r\n */\r\n\r\nimport { useState, useCallback } from 'react'\r\n\r\nexport interface UseDisclosureReturn {\r\n isOpen: boolean\r\n onOpen: () => void\r\n onClose: () => void\r\n onToggle: () => void\r\n setIsOpen: React.Dispatch<React.SetStateAction<boolean>>\r\n}\r\n\r\nexport interface UseDisclosureOptions {\r\n defaultIsOpen?: boolean\r\n onOpen?: () => void\r\n onClose?: () => void\r\n}\r\n\r\nexport function useDisclosure(options: UseDisclosureOptions = {}): UseDisclosureReturn {\r\n const { defaultIsOpen = false, onOpen: onOpenProp, onClose: onCloseProp } = options\r\n const [isOpen, setIsOpen] = useState(defaultIsOpen)\r\n\r\n const onOpen = useCallback(() => {\r\n setIsOpen(true)\r\n onOpenProp?.()\r\n }, [onOpenProp])\r\n\r\n const onClose = useCallback(() => {\r\n setIsOpen(false)\r\n onCloseProp?.()\r\n }, [onCloseProp])\r\n\r\n const onToggle = useCallback(() => {\r\n const newState = !isOpen\r\n setIsOpen(newState)\r\n if (newState) {\r\n onOpenProp?.()\r\n } else {\r\n onCloseProp?.()\r\n }\r\n }, [isOpen, onOpenProp, onCloseProp])\r\n\r\n return {\r\n isOpen,\r\n onOpen,\r\n onClose,\r\n onToggle,\r\n setIsOpen,\r\n }\r\n}\r\n"],"names":["useDisclosure","options","defaultIsOpen","onOpenProp","onCloseProp","isOpen","setIsOpen","useState","onOpen","useCallback","onClose","onToggle","newState"],"mappings":"yGAsBO,SAASA,EAAcC,EAAgC,GAAyB,CACrF,KAAM,CAAE,cAAAC,EAAgB,GAAO,OAAQC,EAAY,QAASC,GAAgBH,EACtE,CAACI,EAAQC,CAAS,EAAIC,EAAAA,SAASL,CAAa,EAE5CM,EAASC,EAAAA,YAAY,IAAM,CAC/BH,EAAU,EAAI,EACdH,IAAA,CACF,EAAG,CAACA,CAAU,CAAC,EAETO,EAAUD,EAAAA,YAAY,IAAM,CAChCH,EAAU,EAAK,EACfF,IAAA,CACF,EAAG,CAACA,CAAW,CAAC,EAEVO,EAAWF,EAAAA,YAAY,IAAM,CACjC,MAAMG,EAAW,CAACP,EAClBC,EAAUM,CAAQ,EACdA,EACFT,IAAA,EAEAC,IAAA,CAEJ,EAAG,CAACC,EAAQF,EAAYC,CAAW,CAAC,EAEpC,MAAO,CACL,OAAAC,EACA,OAAAG,EACA,QAAAE,EACA,SAAAC,EACA,UAAAL,CAAA,CAEJ"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { useState as f, useCallback as t } from "react";
|
|
2
|
+
function i(p = {}) {
|
|
3
|
+
const { defaultIsOpen: c = !1, onOpen: e, onClose: o } = p, [s, n] = f(c), r = t(() => {
|
|
4
|
+
n(!0), e?.();
|
|
5
|
+
}, [e]), u = t(() => {
|
|
6
|
+
n(!1), o?.();
|
|
7
|
+
}, [o]), a = t(() => {
|
|
8
|
+
const l = !s;
|
|
9
|
+
n(l), l ? e?.() : o?.();
|
|
10
|
+
}, [s, e, o]);
|
|
11
|
+
return {
|
|
12
|
+
isOpen: s,
|
|
13
|
+
onOpen: r,
|
|
14
|
+
onClose: u,
|
|
15
|
+
onToggle: a,
|
|
16
|
+
setIsOpen: n
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export {
|
|
20
|
+
i as useDisclosure
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=useDisclosure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDisclosure.js","sources":["../../src/hooks/useDisclosure.ts"],"sourcesContent":["/**\r\n * useDisclosure Hook\r\n *\r\n * Manages open/closed state for modals, popovers, drawers, etc.\r\n */\r\n\r\nimport { useState, useCallback } from 'react'\r\n\r\nexport interface UseDisclosureReturn {\r\n isOpen: boolean\r\n onOpen: () => void\r\n onClose: () => void\r\n onToggle: () => void\r\n setIsOpen: React.Dispatch<React.SetStateAction<boolean>>\r\n}\r\n\r\nexport interface UseDisclosureOptions {\r\n defaultIsOpen?: boolean\r\n onOpen?: () => void\r\n onClose?: () => void\r\n}\r\n\r\nexport function useDisclosure(options: UseDisclosureOptions = {}): UseDisclosureReturn {\r\n const { defaultIsOpen = false, onOpen: onOpenProp, onClose: onCloseProp } = options\r\n const [isOpen, setIsOpen] = useState(defaultIsOpen)\r\n\r\n const onOpen = useCallback(() => {\r\n setIsOpen(true)\r\n onOpenProp?.()\r\n }, [onOpenProp])\r\n\r\n const onClose = useCallback(() => {\r\n setIsOpen(false)\r\n onCloseProp?.()\r\n }, [onCloseProp])\r\n\r\n const onToggle = useCallback(() => {\r\n const newState = !isOpen\r\n setIsOpen(newState)\r\n if (newState) {\r\n onOpenProp?.()\r\n } else {\r\n onCloseProp?.()\r\n }\r\n }, [isOpen, onOpenProp, onCloseProp])\r\n\r\n return {\r\n isOpen,\r\n onOpen,\r\n onClose,\r\n onToggle,\r\n setIsOpen,\r\n }\r\n}\r\n"],"names":["useDisclosure","options","defaultIsOpen","onOpenProp","onCloseProp","isOpen","setIsOpen","useState","onOpen","useCallback","onClose","onToggle","newState"],"mappings":";AAsBO,SAASA,EAAcC,IAAgC,IAAyB;AACrF,QAAM,EAAE,eAAAC,IAAgB,IAAO,QAAQC,GAAY,SAASC,MAAgBH,GACtE,CAACI,GAAQC,CAAS,IAAIC,EAASL,CAAa,GAE5CM,IAASC,EAAY,MAAM;AAC/B,IAAAH,EAAU,EAAI,GACdH,IAAA;AAAA,EACF,GAAG,CAACA,CAAU,CAAC,GAETO,IAAUD,EAAY,MAAM;AAChC,IAAAH,EAAU,EAAK,GACfF,IAAA;AAAA,EACF,GAAG,CAACA,CAAW,CAAC,GAEVO,IAAWF,EAAY,MAAM;AACjC,UAAMG,IAAW,CAACP;AAClB,IAAAC,EAAUM,CAAQ,GACdA,IACFT,IAAA,IAEAC,IAAA;AAAA,EAEJ,GAAG,CAACC,GAAQF,GAAYC,CAAW,CAAC;AAEpC,SAAO;AAAA,IACL,QAAAC;AAAA,IACA,QAAAG;AAAA,IACA,SAAAE;AAAA,IACA,UAAAC;AAAA,IACA,WAAAL;AAAA,EAAA;AAEJ;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react"),y=["button:not([disabled])","[href]","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(", ");function p(b={}){const{enabled:c=!0,autoFocus:f=!0,restoreFocus:a=!0,initialFocus:s}=b,u=n.useRef(null),i=n.useRef(null),r=n.useCallback(()=>u.current?Array.from(u.current.querySelectorAll(y)):[],[]),o=n.useCallback(()=>{r()[0]?.focus()},[r]),E=n.useCallback(()=>{const e=r();e[e.length-1]?.focus()},[r]);return n.useEffect(()=>{if(c){if(i.current=document.activeElement,f){const e=u.current;if(!e)return;if(s){const t=typeof s=="string"?e.querySelector(s):s;t?t.focus():o()}else o()}return()=>{a&&i.current&&i.current.focus()}}},[c,f,a,s,o]),n.useEffect(()=>{if(!c)return;const e=t=>{if(t.key!=="Tab"||!u.current)return;const l=r();if(l.length===0)return;const d=l[0],m=l[l.length-1];t.shiftKey?document.activeElement===d&&(t.preventDefault(),m.focus()):document.activeElement===m&&(t.preventDefault(),d.focus())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[c,r]),{ref:u,focusFirst:o,focusLast:E}}exports.useFocusTrap=p;
|
|
2
|
+
//# sourceMappingURL=useFocusTrap.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFocusTrap.cjs","sources":["../../src/hooks/useFocusTrap.ts"],"sourcesContent":["/**\n * useFocusTrap Hook\n *\n * Traps focus within a container element.\n * Useful for modals, drawers, and dialogs.\n */\n\nimport { useEffect, useRef, useCallback, type RefObject } from 'react'\n\nconst FOCUSABLE_SELECTORS = [\n 'button:not([disabled])',\n '[href]',\n 'input:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n '[tabindex]:not([tabindex=\"-1\"])',\n].join(', ')\n\nexport interface UseFocusTrapOptions {\n /** Whether the focus trap is active */\n enabled?: boolean\n /** Whether to auto-focus the first element */\n autoFocus?: boolean\n /** Whether to restore focus on unmount */\n restoreFocus?: boolean\n /** Initial element to focus (selector or element) */\n initialFocus?: string | HTMLElement | null\n}\n\nexport interface UseFocusTrapReturn<T extends HTMLElement> {\n /** Ref to attach to the container */\n ref: RefObject<T | null>\n /** Manually focus the first focusable element */\n focusFirst: () => void\n /** Manually focus the last focusable element */\n focusLast: () => void\n}\n\nexport function useFocusTrap<T extends HTMLElement = HTMLDivElement>(\n options: UseFocusTrapOptions = {}\n): UseFocusTrapReturn<T> {\n const {\n enabled = true,\n autoFocus = true,\n restoreFocus = true,\n initialFocus,\n } = options\n\n const ref = useRef<T>(null)\n const previousActiveElement = useRef<HTMLElement | null>(null)\n\n const getFocusableElements = useCallback((): HTMLElement[] => {\n if (!ref.current) return []\n return Array.from(ref.current.querySelectorAll<HTMLElement>(FOCUSABLE_SELECTORS))\n }, [])\n\n const focusFirst = useCallback(() => {\n const elements = getFocusableElements()\n elements[0]?.focus()\n }, [getFocusableElements])\n\n const focusLast = useCallback(() => {\n const elements = getFocusableElements()\n elements[elements.length - 1]?.focus()\n }, [getFocusableElements])\n\n useEffect(() => {\n if (!enabled) return\n\n // Store the previously focused element\n previousActiveElement.current = document.activeElement as HTMLElement\n\n // Auto-focus on mount\n if (autoFocus) {\n const container = ref.current\n if (!container) return\n\n // Try initial focus first\n if (initialFocus) {\n const element =\n typeof initialFocus === 'string'\n ? container.querySelector<HTMLElement>(initialFocus)\n : initialFocus\n if (element) {\n element.focus()\n } else {\n focusFirst()\n }\n } else {\n focusFirst()\n }\n }\n\n // Restore focus on unmount\n return () => {\n if (restoreFocus && previousActiveElement.current) {\n previousActiveElement.current.focus()\n }\n }\n }, [enabled, autoFocus, restoreFocus, initialFocus, focusFirst])\n\n useEffect(() => {\n if (!enabled) return\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== 'Tab') return\n\n const container = ref.current\n if (!container) return\n\n const focusableElements = getFocusableElements()\n if (focusableElements.length === 0) return\n\n const firstElement = focusableElements[0]\n const lastElement = focusableElements[focusableElements.length - 1]\n\n if (event.shiftKey) {\n // Shift + Tab: going backwards\n if (document.activeElement === firstElement) {\n event.preventDefault()\n lastElement.focus()\n }\n } else {\n // Tab: going forwards\n if (document.activeElement === lastElement) {\n event.preventDefault()\n firstElement.focus()\n }\n }\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [enabled, getFocusableElements])\n\n return {\n ref,\n focusFirst,\n focusLast,\n }\n}\n"],"names":["FOCUSABLE_SELECTORS","useFocusTrap","options","enabled","autoFocus","restoreFocus","initialFocus","ref","useRef","previousActiveElement","getFocusableElements","useCallback","focusFirst","focusLast","elements","useEffect","container","element","handleKeyDown","event","focusableElements","firstElement","lastElement"],"mappings":"yGASMA,EAAsB,CAC1B,yBACA,SACA,wBACA,yBACA,2BACA,iCACF,EAAE,KAAK,IAAI,EAsBJ,SAASC,EACdC,EAA+B,GACR,CACvB,KAAM,CACJ,QAAAC,EAAU,GACV,UAAAC,EAAY,GACZ,aAAAC,EAAe,GACf,aAAAC,CAAA,EACEJ,EAEEK,EAAMC,EAAAA,OAAU,IAAI,EACpBC,EAAwBD,EAAAA,OAA2B,IAAI,EAEvDE,EAAuBC,EAAAA,YAAY,IAClCJ,EAAI,QACF,MAAM,KAAKA,EAAI,QAAQ,iBAA8BP,CAAmB,CAAC,EADvD,CAAA,EAExB,CAAA,CAAE,EAECY,EAAaD,EAAAA,YAAY,IAAM,CAClBD,EAAA,EACR,CAAC,GAAG,MAAA,CACf,EAAG,CAACA,CAAoB,CAAC,EAEnBG,EAAYF,EAAAA,YAAY,IAAM,CAClC,MAAMG,EAAWJ,EAAA,EACjBI,EAASA,EAAS,OAAS,CAAC,GAAG,MAAA,CACjC,EAAG,CAACJ,CAAoB,CAAC,EAEzBK,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAKZ,EAML,IAHAM,EAAsB,QAAU,SAAS,cAGrCL,EAAW,CACb,MAAMY,EAAYT,EAAI,QACtB,GAAI,CAACS,EAAW,OAGhB,GAAIV,EAAc,CAChB,MAAMW,EACJ,OAAOX,GAAiB,SACpBU,EAAU,cAA2BV,CAAY,EACjDA,EACFW,EACFA,EAAQ,MAAA,EAERL,EAAA,CAEJ,MACEA,EAAA,CAEJ,CAGA,MAAO,IAAM,CACPP,GAAgBI,EAAsB,SACxCA,EAAsB,QAAQ,MAAA,CAElC,EACF,EAAG,CAACN,EAASC,EAAWC,EAAcC,EAAcM,CAAU,CAAC,EAE/DG,EAAAA,UAAU,IAAM,CACd,GAAI,CAACZ,EAAS,OAEd,MAAMe,EAAiBC,GAAyB,CAI9C,GAHIA,EAAM,MAAQ,OAGd,CADcZ,EAAI,QACN,OAEhB,MAAMa,EAAoBV,EAAA,EAC1B,GAAIU,EAAkB,SAAW,EAAG,OAEpC,MAAMC,EAAeD,EAAkB,CAAC,EAClCE,EAAcF,EAAkBA,EAAkB,OAAS,CAAC,EAE9DD,EAAM,SAEJ,SAAS,gBAAkBE,IAC7BF,EAAM,eAAA,EACNG,EAAY,MAAA,GAIV,SAAS,gBAAkBA,IAC7BH,EAAM,eAAA,EACNE,EAAa,MAAA,EAGnB,EAEA,gBAAS,iBAAiB,UAAWH,CAAa,EAC3C,IAAM,SAAS,oBAAoB,UAAWA,CAAa,CACpE,EAAG,CAACf,EAASO,CAAoB,CAAC,EAE3B,CACL,IAAAH,EACA,WAAAK,EACA,UAAAC,CAAA,CAEJ"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { useRef as E, useCallback as l, useEffect as b } from "react";
|
|
2
|
+
const v = [
|
|
3
|
+
"button:not([disabled])",
|
|
4
|
+
"[href]",
|
|
5
|
+
"input:not([disabled])",
|
|
6
|
+
"select:not([disabled])",
|
|
7
|
+
"textarea:not([disabled])",
|
|
8
|
+
'[tabindex]:not([tabindex="-1"])'
|
|
9
|
+
].join(", ");
|
|
10
|
+
function g(y = {}) {
|
|
11
|
+
const {
|
|
12
|
+
enabled: s = !0,
|
|
13
|
+
autoFocus: f = !0,
|
|
14
|
+
restoreFocus: a = !0,
|
|
15
|
+
initialFocus: r
|
|
16
|
+
} = y, o = E(null), i = E(null), n = l(() => o.current ? Array.from(o.current.querySelectorAll(v)) : [], []), c = l(() => {
|
|
17
|
+
n()[0]?.focus();
|
|
18
|
+
}, [n]), p = l(() => {
|
|
19
|
+
const e = n();
|
|
20
|
+
e[e.length - 1]?.focus();
|
|
21
|
+
}, [n]);
|
|
22
|
+
return b(() => {
|
|
23
|
+
if (s) {
|
|
24
|
+
if (i.current = document.activeElement, f) {
|
|
25
|
+
const e = o.current;
|
|
26
|
+
if (!e) return;
|
|
27
|
+
if (r) {
|
|
28
|
+
const t = typeof r == "string" ? e.querySelector(r) : r;
|
|
29
|
+
t ? t.focus() : c();
|
|
30
|
+
} else
|
|
31
|
+
c();
|
|
32
|
+
}
|
|
33
|
+
return () => {
|
|
34
|
+
a && i.current && i.current.focus();
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
}, [s, f, a, r, c]), b(() => {
|
|
38
|
+
if (!s) return;
|
|
39
|
+
const e = (t) => {
|
|
40
|
+
if (t.key !== "Tab" || !o.current) return;
|
|
41
|
+
const u = n();
|
|
42
|
+
if (u.length === 0) return;
|
|
43
|
+
const d = u[0], m = u[u.length - 1];
|
|
44
|
+
t.shiftKey ? document.activeElement === d && (t.preventDefault(), m.focus()) : document.activeElement === m && (t.preventDefault(), d.focus());
|
|
45
|
+
};
|
|
46
|
+
return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
|
|
47
|
+
}, [s, n]), {
|
|
48
|
+
ref: o,
|
|
49
|
+
focusFirst: c,
|
|
50
|
+
focusLast: p
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export {
|
|
54
|
+
g as useFocusTrap
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=useFocusTrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFocusTrap.js","sources":["../../src/hooks/useFocusTrap.ts"],"sourcesContent":["/**\n * useFocusTrap Hook\n *\n * Traps focus within a container element.\n * Useful for modals, drawers, and dialogs.\n */\n\nimport { useEffect, useRef, useCallback, type RefObject } from 'react'\n\nconst FOCUSABLE_SELECTORS = [\n 'button:not([disabled])',\n '[href]',\n 'input:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n '[tabindex]:not([tabindex=\"-1\"])',\n].join(', ')\n\nexport interface UseFocusTrapOptions {\n /** Whether the focus trap is active */\n enabled?: boolean\n /** Whether to auto-focus the first element */\n autoFocus?: boolean\n /** Whether to restore focus on unmount */\n restoreFocus?: boolean\n /** Initial element to focus (selector or element) */\n initialFocus?: string | HTMLElement | null\n}\n\nexport interface UseFocusTrapReturn<T extends HTMLElement> {\n /** Ref to attach to the container */\n ref: RefObject<T | null>\n /** Manually focus the first focusable element */\n focusFirst: () => void\n /** Manually focus the last focusable element */\n focusLast: () => void\n}\n\nexport function useFocusTrap<T extends HTMLElement = HTMLDivElement>(\n options: UseFocusTrapOptions = {}\n): UseFocusTrapReturn<T> {\n const {\n enabled = true,\n autoFocus = true,\n restoreFocus = true,\n initialFocus,\n } = options\n\n const ref = useRef<T>(null)\n const previousActiveElement = useRef<HTMLElement | null>(null)\n\n const getFocusableElements = useCallback((): HTMLElement[] => {\n if (!ref.current) return []\n return Array.from(ref.current.querySelectorAll<HTMLElement>(FOCUSABLE_SELECTORS))\n }, [])\n\n const focusFirst = useCallback(() => {\n const elements = getFocusableElements()\n elements[0]?.focus()\n }, [getFocusableElements])\n\n const focusLast = useCallback(() => {\n const elements = getFocusableElements()\n elements[elements.length - 1]?.focus()\n }, [getFocusableElements])\n\n useEffect(() => {\n if (!enabled) return\n\n // Store the previously focused element\n previousActiveElement.current = document.activeElement as HTMLElement\n\n // Auto-focus on mount\n if (autoFocus) {\n const container = ref.current\n if (!container) return\n\n // Try initial focus first\n if (initialFocus) {\n const element =\n typeof initialFocus === 'string'\n ? container.querySelector<HTMLElement>(initialFocus)\n : initialFocus\n if (element) {\n element.focus()\n } else {\n focusFirst()\n }\n } else {\n focusFirst()\n }\n }\n\n // Restore focus on unmount\n return () => {\n if (restoreFocus && previousActiveElement.current) {\n previousActiveElement.current.focus()\n }\n }\n }, [enabled, autoFocus, restoreFocus, initialFocus, focusFirst])\n\n useEffect(() => {\n if (!enabled) return\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== 'Tab') return\n\n const container = ref.current\n if (!container) return\n\n const focusableElements = getFocusableElements()\n if (focusableElements.length === 0) return\n\n const firstElement = focusableElements[0]\n const lastElement = focusableElements[focusableElements.length - 1]\n\n if (event.shiftKey) {\n // Shift + Tab: going backwards\n if (document.activeElement === firstElement) {\n event.preventDefault()\n lastElement.focus()\n }\n } else {\n // Tab: going forwards\n if (document.activeElement === lastElement) {\n event.preventDefault()\n firstElement.focus()\n }\n }\n }\n\n document.addEventListener('keydown', handleKeyDown)\n return () => document.removeEventListener('keydown', handleKeyDown)\n }, [enabled, getFocusableElements])\n\n return {\n ref,\n focusFirst,\n focusLast,\n }\n}\n"],"names":["FOCUSABLE_SELECTORS","useFocusTrap","options","enabled","autoFocus","restoreFocus","initialFocus","ref","useRef","previousActiveElement","getFocusableElements","useCallback","focusFirst","focusLast","elements","useEffect","container","element","handleKeyDown","event","focusableElements","firstElement","lastElement"],"mappings":";AASA,MAAMA,IAAsB;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,EAAE,KAAK,IAAI;AAsBJ,SAASC,EACdC,IAA+B,IACR;AACvB,QAAM;AAAA,IACJ,SAAAC,IAAU;AAAA,IACV,WAAAC,IAAY;AAAA,IACZ,cAAAC,IAAe;AAAA,IACf,cAAAC;AAAA,EAAA,IACEJ,GAEEK,IAAMC,EAAU,IAAI,GACpBC,IAAwBD,EAA2B,IAAI,GAEvDE,IAAuBC,EAAY,MAClCJ,EAAI,UACF,MAAM,KAAKA,EAAI,QAAQ,iBAA8BP,CAAmB,CAAC,IADvD,CAAA,GAExB,CAAA,CAAE,GAECY,IAAaD,EAAY,MAAM;AAEnC,IADiBD,EAAA,EACR,CAAC,GAAG,MAAA;AAAA,EACf,GAAG,CAACA,CAAoB,CAAC,GAEnBG,IAAYF,EAAY,MAAM;AAClC,UAAMG,IAAWJ,EAAA;AACjB,IAAAI,EAASA,EAAS,SAAS,CAAC,GAAG,MAAA;AAAA,EACjC,GAAG,CAACJ,CAAoB,CAAC;AAEzB,SAAAK,EAAU,MAAM;AACd,QAAKZ,GAML;AAAA,UAHAM,EAAsB,UAAU,SAAS,eAGrCL,GAAW;AACb,cAAMY,IAAYT,EAAI;AACtB,YAAI,CAACS,EAAW;AAGhB,YAAIV,GAAc;AAChB,gBAAMW,IACJ,OAAOX,KAAiB,WACpBU,EAAU,cAA2BV,CAAY,IACjDA;AACN,UAAIW,IACFA,EAAQ,MAAA,IAERL,EAAA;AAAA,QAEJ;AACE,UAAAA,EAAA;AAAA,MAEJ;AAGA,aAAO,MAAM;AACX,QAAIP,KAAgBI,EAAsB,WACxCA,EAAsB,QAAQ,MAAA;AAAA,MAElC;AAAA;AAAA,EACF,GAAG,CAACN,GAASC,GAAWC,GAAcC,GAAcM,CAAU,CAAC,GAE/DG,EAAU,MAAM;AACd,QAAI,CAACZ,EAAS;AAEd,UAAMe,IAAgB,CAACC,MAAyB;AAI9C,UAHIA,EAAM,QAAQ,SAGd,CADcZ,EAAI,QACN;AAEhB,YAAMa,IAAoBV,EAAA;AAC1B,UAAIU,EAAkB,WAAW,EAAG;AAEpC,YAAMC,IAAeD,EAAkB,CAAC,GAClCE,IAAcF,EAAkBA,EAAkB,SAAS,CAAC;AAElE,MAAID,EAAM,WAEJ,SAAS,kBAAkBE,MAC7BF,EAAM,eAAA,GACNG,EAAY,MAAA,KAIV,SAAS,kBAAkBA,MAC7BH,EAAM,eAAA,GACNE,EAAa,MAAA;AAAA,IAGnB;AAEA,oBAAS,iBAAiB,WAAWH,CAAa,GAC3C,MAAM,SAAS,oBAAoB,WAAWA,CAAa;AAAA,EACpE,GAAG,CAACf,GAASO,CAAoB,CAAC,GAE3B;AAAA,IACL,KAAAH;AAAA,IACA,YAAAK;AAAA,IACA,WAAAC;AAAA,EAAA;AAEJ;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react");let d=0;function r(e){return`${e}-${++d}`}function c(e="brycks"){const[t,s]=n.useState("");return n.useEffect(()=>{s(r(e))},[e]),t||r(e)}function o(e,t="brycks"){const[s,u]=n.useState([]);return n.useEffect(()=>{u(Array.from({length:e},()=>r(t)))},[e,t]),s.length?s:Array.from({length:e},()=>r(t))}exports.useId=c;exports.useIds=o;
|
|
2
|
+
//# sourceMappingURL=useId.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useId.cjs","sources":["../../src/hooks/useId.ts"],"sourcesContent":["/**\n * useId Hook\n *\n * Generates a stable unique ID for accessibility attributes.\n * Falls back to custom implementation for React < 18.\n */\n\nimport { useState, useEffect } from 'react'\n\nlet idCounter = 0\n\nfunction generateUniqueId(prefix: string): string {\n return `${prefix}-${++idCounter}`\n}\n\nexport function useId(prefix = 'brycks'): string {\n const [id, setId] = useState<string>('')\n\n useEffect(() => {\n setId(generateUniqueId(prefix))\n }, [prefix])\n\n // Return a stable ID even before effect runs\n return id || generateUniqueId(prefix)\n}\n\nexport function useIds(count: number, prefix = 'brycks'): string[] {\n const [ids, setIds] = useState<string[]>([])\n\n useEffect(() => {\n setIds(Array.from({ length: count }, () => generateUniqueId(prefix)))\n }, [count, prefix])\n\n return ids.length ? ids : Array.from({ length: count }, () => generateUniqueId(prefix))\n}\n"],"names":["idCounter","generateUniqueId","prefix","useId","id","setId","useState","useEffect","useIds","count","ids","setIds"],"mappings":"yGASA,IAAIA,EAAY,EAEhB,SAASC,EAAiBC,EAAwB,CAChD,MAAO,GAAGA,CAAM,IAAI,EAAEF,CAAS,EACjC,CAEO,SAASG,EAAMD,EAAS,SAAkB,CAC/C,KAAM,CAACE,EAAIC,CAAK,EAAIC,EAAAA,SAAiB,EAAE,EAEvCC,OAAAA,EAAAA,UAAU,IAAM,CACdF,EAAMJ,EAAiBC,CAAM,CAAC,CAChC,EAAG,CAACA,CAAM,CAAC,EAGJE,GAAMH,EAAiBC,CAAM,CACtC,CAEO,SAASM,EAAOC,EAAeP,EAAS,SAAoB,CACjE,KAAM,CAACQ,EAAKC,CAAM,EAAIL,EAAAA,SAAmB,CAAA,CAAE,EAE3CC,OAAAA,EAAAA,UAAU,IAAM,CACdI,EAAO,MAAM,KAAK,CAAE,OAAQF,CAAA,EAAS,IAAMR,EAAiBC,CAAM,CAAC,CAAC,CACtE,EAAG,CAACO,EAAOP,CAAM,CAAC,EAEXQ,EAAI,OAASA,EAAM,MAAM,KAAK,CAAE,OAAQD,CAAA,EAAS,IAAMR,EAAiBC,CAAM,CAAC,CACxF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { useState as s, useEffect as u } from "react";
|
|
2
|
+
let d = 0;
|
|
3
|
+
function r(t) {
|
|
4
|
+
return `${t}-${++d}`;
|
|
5
|
+
}
|
|
6
|
+
function I(t = "brycks") {
|
|
7
|
+
const [e, n] = s("");
|
|
8
|
+
return u(() => {
|
|
9
|
+
n(r(t));
|
|
10
|
+
}, [t]), e || r(t);
|
|
11
|
+
}
|
|
12
|
+
function a(t, e = "brycks") {
|
|
13
|
+
const [n, o] = s([]);
|
|
14
|
+
return u(() => {
|
|
15
|
+
o(Array.from({ length: t }, () => r(e)));
|
|
16
|
+
}, [t, e]), n.length ? n : Array.from({ length: t }, () => r(e));
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
I as useId,
|
|
20
|
+
a as useIds
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=useId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useId.js","sources":["../../src/hooks/useId.ts"],"sourcesContent":["/**\n * useId Hook\n *\n * Generates a stable unique ID for accessibility attributes.\n * Falls back to custom implementation for React < 18.\n */\n\nimport { useState, useEffect } from 'react'\n\nlet idCounter = 0\n\nfunction generateUniqueId(prefix: string): string {\n return `${prefix}-${++idCounter}`\n}\n\nexport function useId(prefix = 'brycks'): string {\n const [id, setId] = useState<string>('')\n\n useEffect(() => {\n setId(generateUniqueId(prefix))\n }, [prefix])\n\n // Return a stable ID even before effect runs\n return id || generateUniqueId(prefix)\n}\n\nexport function useIds(count: number, prefix = 'brycks'): string[] {\n const [ids, setIds] = useState<string[]>([])\n\n useEffect(() => {\n setIds(Array.from({ length: count }, () => generateUniqueId(prefix)))\n }, [count, prefix])\n\n return ids.length ? ids : Array.from({ length: count }, () => generateUniqueId(prefix))\n}\n"],"names":["idCounter","generateUniqueId","prefix","useId","id","setId","useState","useEffect","useIds","count","ids","setIds"],"mappings":";AASA,IAAIA,IAAY;AAEhB,SAASC,EAAiBC,GAAwB;AAChD,SAAO,GAAGA,CAAM,IAAI,EAAEF,CAAS;AACjC;AAEO,SAASG,EAAMD,IAAS,UAAkB;AAC/C,QAAM,CAACE,GAAIC,CAAK,IAAIC,EAAiB,EAAE;AAEvC,SAAAC,EAAU,MAAM;AACd,IAAAF,EAAMJ,EAAiBC,CAAM,CAAC;AAAA,EAChC,GAAG,CAACA,CAAM,CAAC,GAGJE,KAAMH,EAAiBC,CAAM;AACtC;AAEO,SAASM,EAAOC,GAAeP,IAAS,UAAoB;AACjE,QAAM,CAACQ,GAAKC,CAAM,IAAIL,EAAmB,CAAA,CAAE;AAE3C,SAAAC,EAAU,MAAM;AACd,IAAAI,EAAO,MAAM,KAAK,EAAE,QAAQF,EAAA,GAAS,MAAMR,EAAiBC,CAAM,CAAC,CAAC;AAAA,EACtE,GAAG,CAACO,GAAOP,CAAM,CAAC,GAEXQ,EAAI,SAASA,IAAM,MAAM,KAAK,EAAE,QAAQD,EAAA,GAAS,MAAMR,EAAiBC,CAAM,CAAC;AACxF;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react");function D(k){const{itemCount:n,initialIndex:d=0,loop:l=!0,orientation:s="vertical",onIndexChange:i,onSelect:u}=k,[t,p]=c.useState(d),o=c.useCallback(e=>{p(e),i?.(e)},[i]),r=c.useCallback(e=>{let a;switch(e){case"first":a=0;break;case"last":a=n-1;break;case"next":t>=n-1?a=l?0:t:a=t+1;break;case"prev":t<=0?a=l?n-1:t:a=t-1;break}o(a)},[t,n,l,o]),v=c.useCallback(e=>{const{key:a}=e,b=s==="vertical"||s==="both",f=s==="horizontal"||s==="both";switch(a){case"ArrowDown":b&&(e.preventDefault(),r("next"));break;case"ArrowUp":b&&(e.preventDefault(),r("prev"));break;case"ArrowRight":f&&(e.preventDefault(),r("next"));break;case"ArrowLeft":f&&(e.preventDefault(),r("prev"));break;case"Home":e.preventDefault(),r("first");break;case"End":e.preventDefault(),r("last");break;case"Enter":case" ":e.preventDefault(),u?.(t);break}},[s,r,u,t]),w=c.useCallback(e=>({tabIndex:e===t?0:-1,"data-focused":e===t,onFocus:()=>o(e)}),[t,o]);return{focusedIndex:t,setFocusedIndex:o,handleKeyDown:v,getItemProps:w}}exports.useKeyboardNavigation=D;
|
|
2
|
+
//# sourceMappingURL=useKeyboardNavigation.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useKeyboardNavigation.cjs","sources":["../../src/hooks/useKeyboardNavigation.ts"],"sourcesContent":["/**\n * useKeyboardNavigation Hook\n *\n * Handles keyboard navigation for lists, menus, and other navigable components.\n */\n\nimport { useCallback, useState } from 'react'\n\nexport interface UseKeyboardNavigationOptions {\n /** Total number of items */\n itemCount: number\n /** Initial focused index */\n initialIndex?: number\n /** Whether navigation wraps around */\n loop?: boolean\n /** Orientation of the list */\n orientation?: 'horizontal' | 'vertical' | 'both'\n /** Callback when index changes */\n onIndexChange?: (index: number) => void\n /** Callback when item is selected */\n onSelect?: (index: number) => void\n}\n\nexport interface UseKeyboardNavigationReturn {\n /** Current focused index */\n focusedIndex: number\n /** Set focused index */\n setFocusedIndex: (index: number) => void\n /** Handle keyboard events */\n handleKeyDown: (event: React.KeyboardEvent) => void\n /** Get props for an item */\n getItemProps: (index: number) => {\n tabIndex: number\n 'data-focused': boolean\n onFocus: () => void\n }\n}\n\nexport function useKeyboardNavigation(\n options: UseKeyboardNavigationOptions\n): UseKeyboardNavigationReturn {\n const {\n itemCount,\n initialIndex = 0,\n loop = true,\n orientation = 'vertical',\n onIndexChange,\n onSelect,\n } = options\n\n const [focusedIndex, setFocusedIndexState] = useState(initialIndex)\n\n const setFocusedIndex = useCallback(\n (index: number) => {\n setFocusedIndexState(index)\n onIndexChange?.(index)\n },\n [onIndexChange]\n )\n\n const moveFocus = useCallback(\n (direction: 'next' | 'prev' | 'first' | 'last') => {\n let newIndex: number\n\n switch (direction) {\n case 'first':\n newIndex = 0\n break\n case 'last':\n newIndex = itemCount - 1\n break\n case 'next':\n if (focusedIndex >= itemCount - 1) {\n newIndex = loop ? 0 : focusedIndex\n } else {\n newIndex = focusedIndex + 1\n }\n break\n case 'prev':\n if (focusedIndex <= 0) {\n newIndex = loop ? itemCount - 1 : focusedIndex\n } else {\n newIndex = focusedIndex - 1\n }\n break\n }\n\n setFocusedIndex(newIndex)\n },\n [focusedIndex, itemCount, loop, setFocusedIndex]\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n const { key } = event\n\n const isVertical = orientation === 'vertical' || orientation === 'both'\n const isHorizontal = orientation === 'horizontal' || orientation === 'both'\n\n switch (key) {\n case 'ArrowDown':\n if (isVertical) {\n event.preventDefault()\n moveFocus('next')\n }\n break\n case 'ArrowUp':\n if (isVertical) {\n event.preventDefault()\n moveFocus('prev')\n }\n break\n case 'ArrowRight':\n if (isHorizontal) {\n event.preventDefault()\n moveFocus('next')\n }\n break\n case 'ArrowLeft':\n if (isHorizontal) {\n event.preventDefault()\n moveFocus('prev')\n }\n break\n case 'Home':\n event.preventDefault()\n moveFocus('first')\n break\n case 'End':\n event.preventDefault()\n moveFocus('last')\n break\n case 'Enter':\n case ' ':\n event.preventDefault()\n onSelect?.(focusedIndex)\n break\n }\n },\n [orientation, moveFocus, onSelect, focusedIndex]\n )\n\n const getItemProps = useCallback(\n (index: number) => ({\n tabIndex: index === focusedIndex ? 0 : -1,\n 'data-focused': index === focusedIndex,\n onFocus: () => setFocusedIndex(index),\n }),\n [focusedIndex, setFocusedIndex]\n )\n\n return {\n focusedIndex,\n setFocusedIndex,\n handleKeyDown,\n getItemProps,\n }\n}\n"],"names":["useKeyboardNavigation","options","itemCount","initialIndex","loop","orientation","onIndexChange","onSelect","focusedIndex","setFocusedIndexState","useState","setFocusedIndex","useCallback","index","moveFocus","direction","newIndex","handleKeyDown","event","key","isVertical","isHorizontal","getItemProps"],"mappings":"yGAsCO,SAASA,EACdC,EAC6B,CAC7B,KAAM,CACJ,UAAAC,EACA,aAAAC,EAAe,EACf,KAAAC,EAAO,GACP,YAAAC,EAAc,WACd,cAAAC,EACA,SAAAC,CAAA,EACEN,EAEE,CAACO,EAAcC,CAAoB,EAAIC,EAAAA,SAASP,CAAY,EAE5DQ,EAAkBC,EAAAA,YACrBC,GAAkB,CACjBJ,EAAqBI,CAAK,EAC1BP,IAAgBO,CAAK,CACvB,EACA,CAACP,CAAa,CAAA,EAGVQ,EAAYF,EAAAA,YACfG,GAAkD,CACjD,IAAIC,EAEJ,OAAQD,EAAA,CACN,IAAK,QACHC,EAAW,EACX,MACF,IAAK,OACHA,EAAWd,EAAY,EACvB,MACF,IAAK,OACCM,GAAgBN,EAAY,EAC9Bc,EAAWZ,EAAO,EAAII,EAEtBQ,EAAWR,EAAe,EAE5B,MACF,IAAK,OACCA,GAAgB,EAClBQ,EAAWZ,EAAOF,EAAY,EAAIM,EAElCQ,EAAWR,EAAe,EAE5B,KAAA,CAGJG,EAAgBK,CAAQ,CAC1B,EACA,CAACR,EAAcN,EAAWE,EAAMO,CAAe,CAAA,EAG3CM,EAAgBL,EAAAA,YACnBM,GAA+B,CAC9B,KAAM,CAAE,IAAAC,GAAQD,EAEVE,EAAaf,IAAgB,YAAcA,IAAgB,OAC3DgB,EAAehB,IAAgB,cAAgBA,IAAgB,OAErE,OAAQc,EAAA,CACN,IAAK,YACCC,IACFF,EAAM,eAAA,EACNJ,EAAU,MAAM,GAElB,MACF,IAAK,UACCM,IACFF,EAAM,eAAA,EACNJ,EAAU,MAAM,GAElB,MACF,IAAK,aACCO,IACFH,EAAM,eAAA,EACNJ,EAAU,MAAM,GAElB,MACF,IAAK,YACCO,IACFH,EAAM,eAAA,EACNJ,EAAU,MAAM,GAElB,MACF,IAAK,OACHI,EAAM,eAAA,EACNJ,EAAU,OAAO,EACjB,MACF,IAAK,MACHI,EAAM,eAAA,EACNJ,EAAU,MAAM,EAChB,MACF,IAAK,QACL,IAAK,IACHI,EAAM,eAAA,EACNX,IAAWC,CAAY,EACvB,KAAA,CAEN,EACA,CAACH,EAAaS,EAAWP,EAAUC,CAAY,CAAA,EAG3Cc,EAAeV,EAAAA,YAClBC,IAAmB,CAClB,SAAUA,IAAUL,EAAe,EAAI,GACvC,eAAgBK,IAAUL,EAC1B,QAAS,IAAMG,EAAgBE,CAAK,CAAA,GAEtC,CAACL,EAAcG,CAAe,CAAA,EAGhC,MAAO,CACL,aAAAH,EACA,gBAAAG,EACA,cAAAM,EACA,aAAAK,CAAA,CAEJ"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { useState as h, useCallback as c } from "react";
|
|
2
|
+
function I(p) {
|
|
3
|
+
const {
|
|
4
|
+
itemCount: n,
|
|
5
|
+
initialIndex: k = 0,
|
|
6
|
+
loop: i = !0,
|
|
7
|
+
orientation: o = "vertical",
|
|
8
|
+
onIndexChange: l,
|
|
9
|
+
onSelect: f
|
|
10
|
+
} = p, [t, d] = h(k), s = c(
|
|
11
|
+
(e) => {
|
|
12
|
+
d(e), l?.(e);
|
|
13
|
+
},
|
|
14
|
+
[l]
|
|
15
|
+
), r = c(
|
|
16
|
+
(e) => {
|
|
17
|
+
let a;
|
|
18
|
+
switch (e) {
|
|
19
|
+
case "first":
|
|
20
|
+
a = 0;
|
|
21
|
+
break;
|
|
22
|
+
case "last":
|
|
23
|
+
a = n - 1;
|
|
24
|
+
break;
|
|
25
|
+
case "next":
|
|
26
|
+
t >= n - 1 ? a = i ? 0 : t : a = t + 1;
|
|
27
|
+
break;
|
|
28
|
+
case "prev":
|
|
29
|
+
t <= 0 ? a = i ? n - 1 : t : a = t - 1;
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
s(a);
|
|
33
|
+
},
|
|
34
|
+
[t, n, i, s]
|
|
35
|
+
), w = c(
|
|
36
|
+
(e) => {
|
|
37
|
+
const { key: a } = e, u = o === "vertical" || o === "both", b = o === "horizontal" || o === "both";
|
|
38
|
+
switch (a) {
|
|
39
|
+
case "ArrowDown":
|
|
40
|
+
u && (e.preventDefault(), r("next"));
|
|
41
|
+
break;
|
|
42
|
+
case "ArrowUp":
|
|
43
|
+
u && (e.preventDefault(), r("prev"));
|
|
44
|
+
break;
|
|
45
|
+
case "ArrowRight":
|
|
46
|
+
b && (e.preventDefault(), r("next"));
|
|
47
|
+
break;
|
|
48
|
+
case "ArrowLeft":
|
|
49
|
+
b && (e.preventDefault(), r("prev"));
|
|
50
|
+
break;
|
|
51
|
+
case "Home":
|
|
52
|
+
e.preventDefault(), r("first");
|
|
53
|
+
break;
|
|
54
|
+
case "End":
|
|
55
|
+
e.preventDefault(), r("last");
|
|
56
|
+
break;
|
|
57
|
+
case "Enter":
|
|
58
|
+
case " ":
|
|
59
|
+
e.preventDefault(), f?.(t);
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
[o, r, f, t]
|
|
64
|
+
), D = c(
|
|
65
|
+
(e) => ({
|
|
66
|
+
tabIndex: e === t ? 0 : -1,
|
|
67
|
+
"data-focused": e === t,
|
|
68
|
+
onFocus: () => s(e)
|
|
69
|
+
}),
|
|
70
|
+
[t, s]
|
|
71
|
+
);
|
|
72
|
+
return {
|
|
73
|
+
focusedIndex: t,
|
|
74
|
+
setFocusedIndex: s,
|
|
75
|
+
handleKeyDown: w,
|
|
76
|
+
getItemProps: D
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
export {
|
|
80
|
+
I as useKeyboardNavigation
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=useKeyboardNavigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useKeyboardNavigation.js","sources":["../../src/hooks/useKeyboardNavigation.ts"],"sourcesContent":["/**\n * useKeyboardNavigation Hook\n *\n * Handles keyboard navigation for lists, menus, and other navigable components.\n */\n\nimport { useCallback, useState } from 'react'\n\nexport interface UseKeyboardNavigationOptions {\n /** Total number of items */\n itemCount: number\n /** Initial focused index */\n initialIndex?: number\n /** Whether navigation wraps around */\n loop?: boolean\n /** Orientation of the list */\n orientation?: 'horizontal' | 'vertical' | 'both'\n /** Callback when index changes */\n onIndexChange?: (index: number) => void\n /** Callback when item is selected */\n onSelect?: (index: number) => void\n}\n\nexport interface UseKeyboardNavigationReturn {\n /** Current focused index */\n focusedIndex: number\n /** Set focused index */\n setFocusedIndex: (index: number) => void\n /** Handle keyboard events */\n handleKeyDown: (event: React.KeyboardEvent) => void\n /** Get props for an item */\n getItemProps: (index: number) => {\n tabIndex: number\n 'data-focused': boolean\n onFocus: () => void\n }\n}\n\nexport function useKeyboardNavigation(\n options: UseKeyboardNavigationOptions\n): UseKeyboardNavigationReturn {\n const {\n itemCount,\n initialIndex = 0,\n loop = true,\n orientation = 'vertical',\n onIndexChange,\n onSelect,\n } = options\n\n const [focusedIndex, setFocusedIndexState] = useState(initialIndex)\n\n const setFocusedIndex = useCallback(\n (index: number) => {\n setFocusedIndexState(index)\n onIndexChange?.(index)\n },\n [onIndexChange]\n )\n\n const moveFocus = useCallback(\n (direction: 'next' | 'prev' | 'first' | 'last') => {\n let newIndex: number\n\n switch (direction) {\n case 'first':\n newIndex = 0\n break\n case 'last':\n newIndex = itemCount - 1\n break\n case 'next':\n if (focusedIndex >= itemCount - 1) {\n newIndex = loop ? 0 : focusedIndex\n } else {\n newIndex = focusedIndex + 1\n }\n break\n case 'prev':\n if (focusedIndex <= 0) {\n newIndex = loop ? itemCount - 1 : focusedIndex\n } else {\n newIndex = focusedIndex - 1\n }\n break\n }\n\n setFocusedIndex(newIndex)\n },\n [focusedIndex, itemCount, loop, setFocusedIndex]\n )\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n const { key } = event\n\n const isVertical = orientation === 'vertical' || orientation === 'both'\n const isHorizontal = orientation === 'horizontal' || orientation === 'both'\n\n switch (key) {\n case 'ArrowDown':\n if (isVertical) {\n event.preventDefault()\n moveFocus('next')\n }\n break\n case 'ArrowUp':\n if (isVertical) {\n event.preventDefault()\n moveFocus('prev')\n }\n break\n case 'ArrowRight':\n if (isHorizontal) {\n event.preventDefault()\n moveFocus('next')\n }\n break\n case 'ArrowLeft':\n if (isHorizontal) {\n event.preventDefault()\n moveFocus('prev')\n }\n break\n case 'Home':\n event.preventDefault()\n moveFocus('first')\n break\n case 'End':\n event.preventDefault()\n moveFocus('last')\n break\n case 'Enter':\n case ' ':\n event.preventDefault()\n onSelect?.(focusedIndex)\n break\n }\n },\n [orientation, moveFocus, onSelect, focusedIndex]\n )\n\n const getItemProps = useCallback(\n (index: number) => ({\n tabIndex: index === focusedIndex ? 0 : -1,\n 'data-focused': index === focusedIndex,\n onFocus: () => setFocusedIndex(index),\n }),\n [focusedIndex, setFocusedIndex]\n )\n\n return {\n focusedIndex,\n setFocusedIndex,\n handleKeyDown,\n getItemProps,\n }\n}\n"],"names":["useKeyboardNavigation","options","itemCount","initialIndex","loop","orientation","onIndexChange","onSelect","focusedIndex","setFocusedIndexState","useState","setFocusedIndex","useCallback","index","moveFocus","direction","newIndex","handleKeyDown","event","key","isVertical","isHorizontal","getItemProps"],"mappings":";AAsCO,SAASA,EACdC,GAC6B;AAC7B,QAAM;AAAA,IACJ,WAAAC;AAAA,IACA,cAAAC,IAAe;AAAA,IACf,MAAAC,IAAO;AAAA,IACP,aAAAC,IAAc;AAAA,IACd,eAAAC;AAAA,IACA,UAAAC;AAAA,EAAA,IACEN,GAEE,CAACO,GAAcC,CAAoB,IAAIC,EAASP,CAAY,GAE5DQ,IAAkBC;AAAA,IACtB,CAACC,MAAkB;AACjB,MAAAJ,EAAqBI,CAAK,GAC1BP,IAAgBO,CAAK;AAAA,IACvB;AAAA,IACA,CAACP,CAAa;AAAA,EAAA,GAGVQ,IAAYF;AAAA,IAChB,CAACG,MAAkD;AACjD,UAAIC;AAEJ,cAAQD,GAAA;AAAA,QACN,KAAK;AACH,UAAAC,IAAW;AACX;AAAA,QACF,KAAK;AACH,UAAAA,IAAWd,IAAY;AACvB;AAAA,QACF,KAAK;AACH,UAAIM,KAAgBN,IAAY,IAC9Bc,IAAWZ,IAAO,IAAII,IAEtBQ,IAAWR,IAAe;AAE5B;AAAA,QACF,KAAK;AACH,UAAIA,KAAgB,IAClBQ,IAAWZ,IAAOF,IAAY,IAAIM,IAElCQ,IAAWR,IAAe;AAE5B;AAAA,MAAA;AAGJ,MAAAG,EAAgBK,CAAQ;AAAA,IAC1B;AAAA,IACA,CAACR,GAAcN,GAAWE,GAAMO,CAAe;AAAA,EAAA,GAG3CM,IAAgBL;AAAA,IACpB,CAACM,MAA+B;AAC9B,YAAM,EAAE,KAAAC,MAAQD,GAEVE,IAAaf,MAAgB,cAAcA,MAAgB,QAC3DgB,IAAehB,MAAgB,gBAAgBA,MAAgB;AAErE,cAAQc,GAAA;AAAA,QACN,KAAK;AACH,UAAIC,MACFF,EAAM,eAAA,GACNJ,EAAU,MAAM;AAElB;AAAA,QACF,KAAK;AACH,UAAIM,MACFF,EAAM,eAAA,GACNJ,EAAU,MAAM;AAElB;AAAA,QACF,KAAK;AACH,UAAIO,MACFH,EAAM,eAAA,GACNJ,EAAU,MAAM;AAElB;AAAA,QACF,KAAK;AACH,UAAIO,MACFH,EAAM,eAAA,GACNJ,EAAU,MAAM;AAElB;AAAA,QACF,KAAK;AACH,UAAAI,EAAM,eAAA,GACNJ,EAAU,OAAO;AACjB;AAAA,QACF,KAAK;AACH,UAAAI,EAAM,eAAA,GACNJ,EAAU,MAAM;AAChB;AAAA,QACF,KAAK;AAAA,QACL,KAAK;AACH,UAAAI,EAAM,eAAA,GACNX,IAAWC,CAAY;AACvB;AAAA,MAAA;AAAA,IAEN;AAAA,IACA,CAACH,GAAaS,GAAWP,GAAUC,CAAY;AAAA,EAAA,GAG3Cc,IAAeV;AAAA,IACnB,CAACC,OAAmB;AAAA,MAClB,UAAUA,MAAUL,IAAe,IAAI;AAAA,MACvC,gBAAgBK,MAAUL;AAAA,MAC1B,SAAS,MAAMG,EAAgBE,CAAK;AAAA,IAAA;AAAA,IAEtC,CAACL,GAAcG,CAAe;AAAA,EAAA;AAGhC,SAAO;AAAA,IACL,cAAAH;AAAA,IACA,iBAAAG;AAAA,IACA,eAAAM;AAAA,IACA,cAAAK;AAAA,EAAA;AAEJ;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react");function e(t){const[i,r]=u.useState(()=>typeof window>"u"?!1:window.matchMedia(t).matches);return u.useEffect(()=>{if(typeof window>"u")return;const n=window.matchMedia(t),s=o=>r(o.matches);return r(n.matches),n.addEventListener("change",s),()=>n.removeEventListener("change",s)},[t]),i}function d(){return e("(max-width: 639px)")}function a(){return e("(min-width: 640px) and (max-width: 1023px)")}function c(){return e("(min-width: 1024px)")}function f(){return e("(prefers-reduced-motion: reduce)")}function h(){return e("(prefers-color-scheme: dark)")}exports.useIsDesktop=c;exports.useIsMobile=d;exports.useIsTablet=a;exports.useMediaQuery=e;exports.usePrefersDarkMode=h;exports.usePrefersReducedMotion=f;
|
|
2
|
+
//# sourceMappingURL=useMediaQuery.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMediaQuery.cjs","sources":["../../src/hooks/useMediaQuery.ts"],"sourcesContent":["/**\r\n * useMediaQuery Hook\r\n *\r\n * React hook for responsive design with media queries.\r\n */\r\n\r\nimport { useState, useEffect } from 'react'\r\n\r\nexport function useMediaQuery(query: string): boolean {\r\n const [matches, setMatches] = useState(() => {\r\n if (typeof window === 'undefined') return false\r\n return window.matchMedia(query).matches\r\n })\r\n\r\n useEffect(() => {\r\n if (typeof window === 'undefined') return\r\n\r\n const mediaQuery = window.matchMedia(query)\r\n const handleChange = (e: MediaQueryListEvent) => setMatches(e.matches)\r\n\r\n // Set initial value\r\n setMatches(mediaQuery.matches)\r\n\r\n // Listen for changes\r\n mediaQuery.addEventListener('change', handleChange)\r\n return () => mediaQuery.removeEventListener('change', handleChange)\r\n }, [query])\r\n\r\n return matches\r\n}\r\n\r\n/** Pre-built responsive hooks */\r\nexport function useIsMobile() {\r\n return useMediaQuery('(max-width: 639px)')\r\n}\r\n\r\nexport function useIsTablet() {\r\n return useMediaQuery('(min-width: 640px) and (max-width: 1023px)')\r\n}\r\n\r\nexport function useIsDesktop() {\r\n return useMediaQuery('(min-width: 1024px)')\r\n}\r\n\r\nexport function usePrefersReducedMotion() {\r\n return useMediaQuery('(prefers-reduced-motion: reduce)')\r\n}\r\n\r\nexport function usePrefersDarkMode() {\r\n return useMediaQuery('(prefers-color-scheme: dark)')\r\n}\r\n"],"names":["useMediaQuery","query","matches","setMatches","useState","useEffect","mediaQuery","handleChange","e","useIsMobile","useIsTablet","useIsDesktop","usePrefersReducedMotion","usePrefersDarkMode"],"mappings":"yGAQO,SAASA,EAAcC,EAAwB,CACpD,KAAM,CAACC,EAASC,CAAU,EAAIC,EAAAA,SAAS,IACjC,OAAO,OAAW,IAAoB,GACnC,OAAO,WAAWH,CAAK,EAAE,OACjC,EAEDI,OAAAA,EAAAA,UAAU,IAAM,CACd,GAAI,OAAO,OAAW,IAAa,OAEnC,MAAMC,EAAa,OAAO,WAAWL,CAAK,EACpCM,EAAgBC,GAA2BL,EAAWK,EAAE,OAAO,EAGrE,OAAAL,EAAWG,EAAW,OAAO,EAG7BA,EAAW,iBAAiB,SAAUC,CAAY,EAC3C,IAAMD,EAAW,oBAAoB,SAAUC,CAAY,CACpE,EAAG,CAACN,CAAK,CAAC,EAEHC,CACT,CAGO,SAASO,GAAc,CAC5B,OAAOT,EAAc,oBAAoB,CAC3C,CAEO,SAASU,GAAc,CAC5B,OAAOV,EAAc,4CAA4C,CACnE,CAEO,SAASW,GAAe,CAC7B,OAAOX,EAAc,qBAAqB,CAC5C,CAEO,SAASY,GAA0B,CACxC,OAAOZ,EAAc,kCAAkC,CACzD,CAEO,SAASa,GAAqB,CACnC,OAAOb,EAAc,8BAA8B,CACrD"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { useState as o, useEffect as d } from "react";
|
|
2
|
+
function e(n) {
|
|
3
|
+
const [s, r] = o(() => typeof window > "u" ? !1 : window.matchMedia(n).matches);
|
|
4
|
+
return d(() => {
|
|
5
|
+
if (typeof window > "u") return;
|
|
6
|
+
const t = window.matchMedia(n), i = (u) => r(u.matches);
|
|
7
|
+
return r(t.matches), t.addEventListener("change", i), () => t.removeEventListener("change", i);
|
|
8
|
+
}, [n]), s;
|
|
9
|
+
}
|
|
10
|
+
function c() {
|
|
11
|
+
return e("(max-width: 639px)");
|
|
12
|
+
}
|
|
13
|
+
function f() {
|
|
14
|
+
return e("(min-width: 640px) and (max-width: 1023px)");
|
|
15
|
+
}
|
|
16
|
+
function h() {
|
|
17
|
+
return e("(min-width: 1024px)");
|
|
18
|
+
}
|
|
19
|
+
function m() {
|
|
20
|
+
return e("(prefers-reduced-motion: reduce)");
|
|
21
|
+
}
|
|
22
|
+
function w() {
|
|
23
|
+
return e("(prefers-color-scheme: dark)");
|
|
24
|
+
}
|
|
25
|
+
export {
|
|
26
|
+
h as useIsDesktop,
|
|
27
|
+
c as useIsMobile,
|
|
28
|
+
f as useIsTablet,
|
|
29
|
+
e as useMediaQuery,
|
|
30
|
+
w as usePrefersDarkMode,
|
|
31
|
+
m as usePrefersReducedMotion
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=useMediaQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMediaQuery.js","sources":["../../src/hooks/useMediaQuery.ts"],"sourcesContent":["/**\r\n * useMediaQuery Hook\r\n *\r\n * React hook for responsive design with media queries.\r\n */\r\n\r\nimport { useState, useEffect } from 'react'\r\n\r\nexport function useMediaQuery(query: string): boolean {\r\n const [matches, setMatches] = useState(() => {\r\n if (typeof window === 'undefined') return false\r\n return window.matchMedia(query).matches\r\n })\r\n\r\n useEffect(() => {\r\n if (typeof window === 'undefined') return\r\n\r\n const mediaQuery = window.matchMedia(query)\r\n const handleChange = (e: MediaQueryListEvent) => setMatches(e.matches)\r\n\r\n // Set initial value\r\n setMatches(mediaQuery.matches)\r\n\r\n // Listen for changes\r\n mediaQuery.addEventListener('change', handleChange)\r\n return () => mediaQuery.removeEventListener('change', handleChange)\r\n }, [query])\r\n\r\n return matches\r\n}\r\n\r\n/** Pre-built responsive hooks */\r\nexport function useIsMobile() {\r\n return useMediaQuery('(max-width: 639px)')\r\n}\r\n\r\nexport function useIsTablet() {\r\n return useMediaQuery('(min-width: 640px) and (max-width: 1023px)')\r\n}\r\n\r\nexport function useIsDesktop() {\r\n return useMediaQuery('(min-width: 1024px)')\r\n}\r\n\r\nexport function usePrefersReducedMotion() {\r\n return useMediaQuery('(prefers-reduced-motion: reduce)')\r\n}\r\n\r\nexport function usePrefersDarkMode() {\r\n return useMediaQuery('(prefers-color-scheme: dark)')\r\n}\r\n"],"names":["useMediaQuery","query","matches","setMatches","useState","useEffect","mediaQuery","handleChange","e","useIsMobile","useIsTablet","useIsDesktop","usePrefersReducedMotion","usePrefersDarkMode"],"mappings":";AAQO,SAASA,EAAcC,GAAwB;AACpD,QAAM,CAACC,GAASC,CAAU,IAAIC,EAAS,MACjC,OAAO,SAAW,MAAoB,KACnC,OAAO,WAAWH,CAAK,EAAE,OACjC;AAED,SAAAI,EAAU,MAAM;AACd,QAAI,OAAO,SAAW,IAAa;AAEnC,UAAMC,IAAa,OAAO,WAAWL,CAAK,GACpCM,IAAe,CAACC,MAA2BL,EAAWK,EAAE,OAAO;AAGrE,WAAAL,EAAWG,EAAW,OAAO,GAG7BA,EAAW,iBAAiB,UAAUC,CAAY,GAC3C,MAAMD,EAAW,oBAAoB,UAAUC,CAAY;AAAA,EACpE,GAAG,CAACN,CAAK,CAAC,GAEHC;AACT;AAGO,SAASO,IAAc;AAC5B,SAAOT,EAAc,oBAAoB;AAC3C;AAEO,SAASU,IAAc;AAC5B,SAAOV,EAAc,4CAA4C;AACnE;AAEO,SAASW,IAAe;AAC7B,SAAOX,EAAc,qBAAqB;AAC5C;AAEO,SAASY,IAA0B;AACxC,SAAOZ,EAAc,kCAAkC;AACzD;AAEO,SAASa,IAAqB;AACnC,SAAOb,EAAc,8BAA8B;AACrD;"}
|
package/dist/hooks.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./hooks/useMediaQuery.cjs"),u=require("./hooks/useDisclosure.cjs"),r=require("./hooks/useClickOutside.cjs"),o=require("./hooks/useKeyboardNavigation.cjs"),i=require("./hooks/useFocusTrap.cjs"),s=require("./hooks/useId.cjs"),t=require("./hooks/useControllable.cjs");exports.useIsDesktop=e.useIsDesktop;exports.useIsMobile=e.useIsMobile;exports.useIsTablet=e.useIsTablet;exports.useMediaQuery=e.useMediaQuery;exports.usePrefersDarkMode=e.usePrefersDarkMode;exports.usePrefersReducedMotion=e.usePrefersReducedMotion;exports.useDisclosure=u.useDisclosure;exports.useClickOutside=r.useClickOutside;exports.useKeyboardNavigation=o.useKeyboardNavigation;exports.useFocusTrap=i.useFocusTrap;exports.useId=s.useId;exports.useIds=s.useIds;exports.useControllable=t.useControllable;
|
|
2
|
+
//# sourceMappingURL=hooks.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/hooks.d.ts
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
|
|
3
|
+
export declare function useClickOutside<T extends HTMLElement = HTMLElement>(handler: (event: MouseEvent | TouchEvent) => void, options?: UseClickOutsideOptions): RefObject<T | null>;
|
|
4
|
+
|
|
5
|
+
export declare interface UseClickOutsideOptions {
|
|
6
|
+
/** Whether the listener is active */
|
|
7
|
+
enabled?: boolean;
|
|
8
|
+
/** Event type to listen for */
|
|
9
|
+
eventType?: 'mousedown' | 'mouseup' | 'click';
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export declare function useControllable<T>(options: UseControllableOptions<T>): UseControllableReturn<T>;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* useControllable Hook
|
|
16
|
+
*
|
|
17
|
+
* Manages controlled vs uncontrolled state pattern.
|
|
18
|
+
* Allows components to work in both controlled and uncontrolled modes.
|
|
19
|
+
*/
|
|
20
|
+
export declare interface UseControllableOptions<T> {
|
|
21
|
+
/** Controlled value (if provided, component is controlled) */
|
|
22
|
+
value?: T;
|
|
23
|
+
/** Default value for uncontrolled mode */
|
|
24
|
+
defaultValue: T;
|
|
25
|
+
/** Callback when value changes */
|
|
26
|
+
onChange?: (value: T) => void;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export declare interface UseControllableReturn<T> {
|
|
30
|
+
/** Current value */
|
|
31
|
+
value: T;
|
|
32
|
+
/** Set the value */
|
|
33
|
+
setValue: (value: T | ((prev: T) => T)) => void;
|
|
34
|
+
/** Whether the component is controlled */
|
|
35
|
+
isControlled: boolean;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export declare function useDisclosure(options?: UseDisclosureOptions): UseDisclosureReturn;
|
|
39
|
+
|
|
40
|
+
export declare interface UseDisclosureOptions {
|
|
41
|
+
defaultIsOpen?: boolean;
|
|
42
|
+
onOpen?: () => void;
|
|
43
|
+
onClose?: () => void;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* useDisclosure Hook
|
|
48
|
+
*
|
|
49
|
+
* Manages open/closed state for modals, popovers, drawers, etc.
|
|
50
|
+
*/
|
|
51
|
+
export declare interface UseDisclosureReturn {
|
|
52
|
+
isOpen: boolean;
|
|
53
|
+
onOpen: () => void;
|
|
54
|
+
onClose: () => void;
|
|
55
|
+
onToggle: () => void;
|
|
56
|
+
setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export declare function useFocusTrap<T extends HTMLElement = HTMLDivElement>(options?: UseFocusTrapOptions): UseFocusTrapReturn<T>;
|
|
60
|
+
|
|
61
|
+
export declare interface UseFocusTrapOptions {
|
|
62
|
+
/** Whether the focus trap is active */
|
|
63
|
+
enabled?: boolean;
|
|
64
|
+
/** Whether to auto-focus the first element */
|
|
65
|
+
autoFocus?: boolean;
|
|
66
|
+
/** Whether to restore focus on unmount */
|
|
67
|
+
restoreFocus?: boolean;
|
|
68
|
+
/** Initial element to focus (selector or element) */
|
|
69
|
+
initialFocus?: string | HTMLElement | null;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export declare interface UseFocusTrapReturn<T extends HTMLElement> {
|
|
73
|
+
/** Ref to attach to the container */
|
|
74
|
+
ref: RefObject<T | null>;
|
|
75
|
+
/** Manually focus the first focusable element */
|
|
76
|
+
focusFirst: () => void;
|
|
77
|
+
/** Manually focus the last focusable element */
|
|
78
|
+
focusLast: () => void;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* useId Hook
|
|
83
|
+
*
|
|
84
|
+
* Generates a stable unique ID for accessibility attributes.
|
|
85
|
+
* Falls back to custom implementation for React < 18.
|
|
86
|
+
*/
|
|
87
|
+
export declare function useId(prefix?: string): string;
|
|
88
|
+
|
|
89
|
+
export declare function useIds(count: number, prefix?: string): string[];
|
|
90
|
+
|
|
91
|
+
export declare function useIsDesktop(): boolean;
|
|
92
|
+
|
|
93
|
+
/** Pre-built responsive hooks */
|
|
94
|
+
export declare function useIsMobile(): boolean;
|
|
95
|
+
|
|
96
|
+
export declare function useIsTablet(): boolean;
|
|
97
|
+
|
|
98
|
+
export declare function useKeyboardNavigation(options: UseKeyboardNavigationOptions): UseKeyboardNavigationReturn;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* useKeyboardNavigation Hook
|
|
102
|
+
*
|
|
103
|
+
* Handles keyboard navigation for lists, menus, and other navigable components.
|
|
104
|
+
*/
|
|
105
|
+
export declare interface UseKeyboardNavigationOptions {
|
|
106
|
+
/** Total number of items */
|
|
107
|
+
itemCount: number;
|
|
108
|
+
/** Initial focused index */
|
|
109
|
+
initialIndex?: number;
|
|
110
|
+
/** Whether navigation wraps around */
|
|
111
|
+
loop?: boolean;
|
|
112
|
+
/** Orientation of the list */
|
|
113
|
+
orientation?: 'horizontal' | 'vertical' | 'both';
|
|
114
|
+
/** Callback when index changes */
|
|
115
|
+
onIndexChange?: (index: number) => void;
|
|
116
|
+
/** Callback when item is selected */
|
|
117
|
+
onSelect?: (index: number) => void;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export declare interface UseKeyboardNavigationReturn {
|
|
121
|
+
/** Current focused index */
|
|
122
|
+
focusedIndex: number;
|
|
123
|
+
/** Set focused index */
|
|
124
|
+
setFocusedIndex: (index: number) => void;
|
|
125
|
+
/** Handle keyboard events */
|
|
126
|
+
handleKeyDown: (event: React.KeyboardEvent) => void;
|
|
127
|
+
/** Get props for an item */
|
|
128
|
+
getItemProps: (index: number) => {
|
|
129
|
+
tabIndex: number;
|
|
130
|
+
'data-focused': boolean;
|
|
131
|
+
onFocus: () => void;
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* useMediaQuery Hook
|
|
137
|
+
*
|
|
138
|
+
* React hook for responsive design with media queries.
|
|
139
|
+
*/
|
|
140
|
+
export declare function useMediaQuery(query: string): boolean;
|
|
141
|
+
|
|
142
|
+
export declare function usePrefersDarkMode(): boolean;
|
|
143
|
+
|
|
144
|
+
export declare function usePrefersReducedMotion(): boolean;
|
|
145
|
+
|
|
146
|
+
export { }
|
package/dist/hooks.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { useIsDesktop as r, useIsMobile as s, useIsTablet as u, useMediaQuery as t, usePrefersDarkMode as f, usePrefersReducedMotion as p } from "./hooks/useMediaQuery.js";
|
|
2
|
+
import { useDisclosure as d } from "./hooks/useDisclosure.js";
|
|
3
|
+
import { useClickOutside as l } from "./hooks/useClickOutside.js";
|
|
4
|
+
import { useKeyboardNavigation as x } from "./hooks/useKeyboardNavigation.js";
|
|
5
|
+
import { useFocusTrap as b } from "./hooks/useFocusTrap.js";
|
|
6
|
+
import { useId as M, useIds as k } from "./hooks/useId.js";
|
|
7
|
+
import { useControllable as D } from "./hooks/useControllable.js";
|
|
8
|
+
export {
|
|
9
|
+
l as useClickOutside,
|
|
10
|
+
D as useControllable,
|
|
11
|
+
d as useDisclosure,
|
|
12
|
+
b as useFocusTrap,
|
|
13
|
+
M as useId,
|
|
14
|
+
k as useIds,
|
|
15
|
+
r as useIsDesktop,
|
|
16
|
+
s as useIsMobile,
|
|
17
|
+
u as useIsTablet,
|
|
18
|
+
x as useKeyboardNavigation,
|
|
19
|
+
t as useMediaQuery,
|
|
20
|
+
f as usePrefersDarkMode,
|
|
21
|
+
p as usePrefersReducedMotion
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|