@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,144 @@
|
|
|
1
|
+
import { jsxs as p, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as N, useState as f } from "react";
|
|
3
|
+
import { cx as O } from "../../../utils/styles.js";
|
|
4
|
+
import { componentGap as x, controlSizes as T } from "../../../design-system/primitives/sizing.js";
|
|
5
|
+
import { stateOpacity as W, scale as s } from "../../../design-system/primitives/opacity.js";
|
|
6
|
+
import { focusRing as g } from "../../../design-system/primitives/focus.js";
|
|
7
|
+
import { transition as v } from "../../../design-system/primitives/transitions.js";
|
|
8
|
+
import { componentLineHeight as S, componentFontSize as E } from "../../../design-system/primitives/typography.js";
|
|
9
|
+
function G({ size: o }) {
|
|
10
|
+
return /* @__PURE__ */ e("svg", { width: o, height: o, viewBox: "0 0 12 12", fill: "none", children: /* @__PURE__ */ e(
|
|
11
|
+
"path",
|
|
12
|
+
{
|
|
13
|
+
d: "M2.5 6L5 8.5L9.5 4",
|
|
14
|
+
stroke: "currentColor",
|
|
15
|
+
strokeWidth: "2",
|
|
16
|
+
strokeLinecap: "round",
|
|
17
|
+
strokeLinejoin: "round"
|
|
18
|
+
}
|
|
19
|
+
) });
|
|
20
|
+
}
|
|
21
|
+
function U({ size: o }) {
|
|
22
|
+
return /* @__PURE__ */ e("svg", { width: o, height: o, viewBox: "0 0 12 12", fill: "none", children: /* @__PURE__ */ e(
|
|
23
|
+
"path",
|
|
24
|
+
{
|
|
25
|
+
d: "M2.5 6H9.5",
|
|
26
|
+
stroke: "currentColor",
|
|
27
|
+
strokeWidth: "2",
|
|
28
|
+
strokeLinecap: "round"
|
|
29
|
+
}
|
|
30
|
+
) });
|
|
31
|
+
}
|
|
32
|
+
const A = N(function({
|
|
33
|
+
size: c = "md",
|
|
34
|
+
label: i,
|
|
35
|
+
description: a,
|
|
36
|
+
isInvalid: l,
|
|
37
|
+
isIndeterminate: y,
|
|
38
|
+
className: w,
|
|
39
|
+
style: C,
|
|
40
|
+
testId: L,
|
|
41
|
+
disabled: r,
|
|
42
|
+
checked: h,
|
|
43
|
+
onChange: M,
|
|
44
|
+
...H
|
|
45
|
+
}, $) {
|
|
46
|
+
const [k, b] = f(!1), [I, m] = f(!1), [j, d] = f(!1), t = T[c], u = E[c], n = h || y, F = {
|
|
47
|
+
display: "inline-flex",
|
|
48
|
+
alignItems: "flex-start",
|
|
49
|
+
gap: x.lg,
|
|
50
|
+
cursor: r ? "not-allowed" : "pointer",
|
|
51
|
+
opacity: r ? W.disabled : 1
|
|
52
|
+
}, B = {
|
|
53
|
+
position: "relative",
|
|
54
|
+
width: t.box,
|
|
55
|
+
height: t.box,
|
|
56
|
+
borderRadius: "var(--brycks-radius-sm)",
|
|
57
|
+
border: `1.5px solid ${l ? "var(--brycks-error-default)" : n ? "var(--brycks-primary-default)" : k ? "var(--brycks-border-focus)" : "var(--brycks-border-default)"}`,
|
|
58
|
+
backgroundColor: n ? "var(--brycks-primary-default)" : I ? "var(--brycks-background-subtle)" : "var(--brycks-background-app)",
|
|
59
|
+
transition: v.quick,
|
|
60
|
+
transform: j ? `scale(${s.controlPressed})` : `scale(${s.normal})`,
|
|
61
|
+
boxShadow: k ? g.default : g.none,
|
|
62
|
+
display: "flex",
|
|
63
|
+
alignItems: "center",
|
|
64
|
+
justifyContent: "center",
|
|
65
|
+
flexShrink: 0
|
|
66
|
+
}, P = {
|
|
67
|
+
color: "var(--brycks-primary-foreground)",
|
|
68
|
+
opacity: n ? 1 : 0,
|
|
69
|
+
transform: n ? `scale(${s.normal})` : `scale(${s.hidden})`,
|
|
70
|
+
transition: v.quick
|
|
71
|
+
}, R = {
|
|
72
|
+
position: "absolute",
|
|
73
|
+
width: "100%",
|
|
74
|
+
height: "100%",
|
|
75
|
+
opacity: 0,
|
|
76
|
+
cursor: r ? "not-allowed" : "pointer",
|
|
77
|
+
margin: 0
|
|
78
|
+
}, q = {
|
|
79
|
+
display: "flex",
|
|
80
|
+
flexDirection: "column",
|
|
81
|
+
gap: x.xs,
|
|
82
|
+
paddingTop: (t.box - u) / 2
|
|
83
|
+
}, z = {
|
|
84
|
+
fontSize: u,
|
|
85
|
+
lineHeight: S.snug,
|
|
86
|
+
color: "var(--brycks-foreground-default)",
|
|
87
|
+
userSelect: "none"
|
|
88
|
+
}, D = {
|
|
89
|
+
fontSize: u - 1,
|
|
90
|
+
lineHeight: S.snug,
|
|
91
|
+
color: "var(--brycks-foreground-muted)",
|
|
92
|
+
userSelect: "none"
|
|
93
|
+
};
|
|
94
|
+
return /* @__PURE__ */ p(
|
|
95
|
+
"label",
|
|
96
|
+
{
|
|
97
|
+
className: O(
|
|
98
|
+
"brycks-checkbox",
|
|
99
|
+
`brycks-checkbox--${c}`,
|
|
100
|
+
n && "brycks-checkbox--checked",
|
|
101
|
+
l && "brycks-checkbox--invalid",
|
|
102
|
+
r && "brycks-checkbox--disabled",
|
|
103
|
+
w
|
|
104
|
+
),
|
|
105
|
+
style: { ...F, ...C },
|
|
106
|
+
"data-testid": L,
|
|
107
|
+
onMouseEnter: () => m(!0),
|
|
108
|
+
onMouseLeave: () => {
|
|
109
|
+
m(!1), d(!1);
|
|
110
|
+
},
|
|
111
|
+
onMouseDown: () => d(!0),
|
|
112
|
+
onMouseUp: () => d(!1),
|
|
113
|
+
children: [
|
|
114
|
+
/* @__PURE__ */ p("span", { style: B, children: [
|
|
115
|
+
/* @__PURE__ */ e(
|
|
116
|
+
"input",
|
|
117
|
+
{
|
|
118
|
+
ref: $,
|
|
119
|
+
type: "checkbox",
|
|
120
|
+
style: R,
|
|
121
|
+
checked: h,
|
|
122
|
+
disabled: r,
|
|
123
|
+
"aria-invalid": l,
|
|
124
|
+
onChange: M,
|
|
125
|
+
onFocus: () => b(!0),
|
|
126
|
+
onBlur: () => b(!1),
|
|
127
|
+
...H
|
|
128
|
+
}
|
|
129
|
+
),
|
|
130
|
+
/* @__PURE__ */ e("span", { style: P, children: y ? /* @__PURE__ */ e(U, { size: t.icon }) : /* @__PURE__ */ e(G, { size: t.icon }) })
|
|
131
|
+
] }),
|
|
132
|
+
(i || a) && /* @__PURE__ */ p("span", { style: q, children: [
|
|
133
|
+
i && /* @__PURE__ */ e("span", { style: z, children: i }),
|
|
134
|
+
a && /* @__PURE__ */ e("span", { style: D, children: a })
|
|
135
|
+
] })
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
);
|
|
139
|
+
});
|
|
140
|
+
A.displayName = "Checkbox";
|
|
141
|
+
export {
|
|
142
|
+
A as Checkbox
|
|
143
|
+
};
|
|
144
|
+
//# sourceMappingURL=Checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sources":["../../../../src/components/form/Checkbox/Checkbox.tsx"],"sourcesContent":["/**\r\n * Checkbox Component\r\n *\r\n * Apple-inspired checkbox with smooth animations and tactile feedback.\r\n *\r\n * @module components/form/Checkbox\r\n */\r\n\r\nimport {\r\n forwardRef,\r\n useState,\r\n type CSSProperties,\r\n type InputHTMLAttributes,\r\n type ReactNode,\r\n} from 'react'\r\nimport {\r\n controlSizes,\r\n componentGap,\r\n componentFontSize,\r\n componentLineHeight,\r\n focusRing,\r\n transition,\r\n stateOpacity,\r\n scale,\r\n} from '../../../design-system'\r\nimport { cx } from '../../../utils/styles'\r\n\r\nexport type CheckboxSize = 'sm' | 'md' | 'lg'\r\n\r\nexport interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {\r\n /** Checkbox size */\r\n size?: CheckboxSize\r\n /** Label text */\r\n label?: ReactNode\r\n /** Description below label */\r\n description?: ReactNode\r\n /** Error state */\r\n isInvalid?: boolean\r\n /** Indeterminate state */\r\n isIndeterminate?: boolean\r\n /** Custom class name */\r\n className?: string\r\n /** Test ID */\r\n testId?: string\r\n}\r\n\r\n/** Checkmark icon */\r\nfunction CheckIcon({ size }: { size: number }) {\r\n return (\r\n <svg width={size} height={size} viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path\r\n d=\"M2.5 6L5 8.5L9.5 4\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n />\r\n </svg>\r\n )\r\n}\r\n\r\n/** Indeterminate/minus icon */\r\nfunction MinusIcon({ size }: { size: number }) {\r\n return (\r\n <svg width={size} height={size} viewBox=\"0 0 12 12\" fill=\"none\">\r\n <path\r\n d=\"M2.5 6H9.5\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n />\r\n </svg>\r\n )\r\n}\r\n\r\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(function Checkbox(\r\n {\r\n size = 'md',\r\n label,\r\n description,\r\n isInvalid,\r\n isIndeterminate,\r\n className,\r\n style,\r\n testId,\r\n disabled,\r\n checked,\r\n onChange,\r\n ...props\r\n },\r\n ref\r\n) {\r\n const [isFocused, setIsFocused] = useState(false)\r\n const [isHovered, setIsHovered] = useState(false)\r\n const [isPressed, setIsPressed] = useState(false)\r\n\r\n const config = controlSizes[size]\r\n const fontSize = componentFontSize[size]\r\n\r\n const isCheckedOrIndeterminate = checked || isIndeterminate\r\n\r\n const wrapperStyle: CSSProperties = {\r\n display: 'inline-flex',\r\n alignItems: 'flex-start',\r\n gap: componentGap.lg,\r\n cursor: disabled ? 'not-allowed' : 'pointer',\r\n opacity: disabled ? stateOpacity.disabled : 1,\r\n }\r\n\r\n const boxStyle: CSSProperties = {\r\n position: 'relative',\r\n width: config.box,\r\n height: config.box,\r\n borderRadius: 'var(--brycks-radius-sm)',\r\n border: `1.5px solid ${\r\n isInvalid\r\n ? 'var(--brycks-error-default)'\r\n : isCheckedOrIndeterminate\r\n ? 'var(--brycks-primary-default)'\r\n : isFocused\r\n ? 'var(--brycks-border-focus)'\r\n : 'var(--brycks-border-default)'\r\n }`,\r\n backgroundColor: isCheckedOrIndeterminate\r\n ? 'var(--brycks-primary-default)'\r\n : isHovered\r\n ? 'var(--brycks-background-subtle)'\r\n : 'var(--brycks-background-app)',\r\n transition: transition.quick,\r\n transform: isPressed ? `scale(${scale.controlPressed})` : `scale(${scale.normal})`,\r\n boxShadow: isFocused ? focusRing.default : focusRing.none,\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n flexShrink: 0,\r\n }\r\n\r\n const iconStyle: CSSProperties = {\r\n color: 'var(--brycks-primary-foreground)',\r\n opacity: isCheckedOrIndeterminate ? 1 : 0,\r\n transform: isCheckedOrIndeterminate ? `scale(${scale.normal})` : `scale(${scale.hidden})`,\r\n transition: transition.quick,\r\n }\r\n\r\n const inputStyle: CSSProperties = {\r\n position: 'absolute',\r\n width: '100%',\r\n height: '100%',\r\n opacity: 0,\r\n cursor: disabled ? 'not-allowed' : 'pointer',\r\n margin: 0,\r\n }\r\n\r\n const labelContainerStyle: CSSProperties = {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n gap: componentGap.xs,\r\n paddingTop: (config.box - fontSize) / 2,\r\n }\r\n\r\n const labelTextStyle: CSSProperties = {\r\n fontSize,\r\n lineHeight: componentLineHeight.snug,\r\n color: 'var(--brycks-foreground-default)',\r\n userSelect: 'none',\r\n }\r\n\r\n const descriptionStyle: CSSProperties = {\r\n fontSize: fontSize - 1,\r\n lineHeight: componentLineHeight.snug,\r\n color: 'var(--brycks-foreground-muted)',\r\n userSelect: 'none',\r\n }\r\n\r\n return (\r\n <label\r\n className={cx(\r\n 'brycks-checkbox',\r\n `brycks-checkbox--${size}`,\r\n isCheckedOrIndeterminate && 'brycks-checkbox--checked',\r\n isInvalid && 'brycks-checkbox--invalid',\r\n disabled && 'brycks-checkbox--disabled',\r\n className\r\n )}\r\n style={{ ...wrapperStyle, ...style }}\r\n data-testid={testId}\r\n onMouseEnter={() => setIsHovered(true)}\r\n onMouseLeave={() => {\r\n setIsHovered(false)\r\n setIsPressed(false)\r\n }}\r\n onMouseDown={() => setIsPressed(true)}\r\n onMouseUp={() => setIsPressed(false)}\r\n >\r\n <span style={boxStyle}>\r\n <input\r\n ref={ref}\r\n type=\"checkbox\"\r\n style={inputStyle}\r\n checked={checked}\r\n disabled={disabled}\r\n aria-invalid={isInvalid}\r\n onChange={onChange}\r\n onFocus={() => setIsFocused(true)}\r\n onBlur={() => setIsFocused(false)}\r\n {...props}\r\n />\r\n <span style={iconStyle}>\r\n {isIndeterminate ? <MinusIcon size={config.icon} /> : <CheckIcon size={config.icon} />}\r\n </span>\r\n </span>\r\n\r\n {(label || description) && (\r\n <span style={labelContainerStyle}>\r\n {label && <span style={labelTextStyle}>{label}</span>}\r\n {description && <span style={descriptionStyle}>{description}</span>}\r\n </span>\r\n )}\r\n </label>\r\n )\r\n})\r\n\r\nCheckbox.displayName = 'Checkbox'\r\n"],"names":["CheckIcon","size","jsx","MinusIcon","Checkbox","forwardRef","label","description","isInvalid","isIndeterminate","className","style","testId","disabled","checked","onChange","props","ref","isFocused","setIsFocused","useState","isHovered","setIsHovered","isPressed","setIsPressed","config","controlSizes","fontSize","componentFontSize","isCheckedOrIndeterminate","wrapperStyle","componentGap","stateOpacity","boxStyle","transition","scale","focusRing","iconStyle","inputStyle","labelContainerStyle","labelTextStyle","componentLineHeight","descriptionStyle","jsxs","cx"],"mappings":";;;;;;;;AA+CA,SAASA,EAAU,EAAE,MAAAC,KAA0B;AAC7C,SACE,gBAAAC,EAAC,SAAI,OAAOD,GAAM,QAAQA,GAAM,SAAQ,aAAY,MAAK,QACvD,UAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,GAAE;AAAA,MACF,QAAO;AAAA,MACP,aAAY;AAAA,MACZ,eAAc;AAAA,MACd,gBAAe;AAAA,IAAA;AAAA,EAAA,GAEnB;AAEJ;AAGA,SAASC,EAAU,EAAE,MAAAF,KAA0B;AAC7C,SACE,gBAAAC,EAAC,SAAI,OAAOD,GAAM,QAAQA,GAAM,SAAQ,aAAY,MAAK,QACvD,UAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,GAAE;AAAA,MACF,QAAO;AAAA,MACP,aAAY;AAAA,MACZ,eAAc;AAAA,IAAA;AAAA,EAAA,GAElB;AAEJ;AAEO,MAAME,IAAWC,EAA4C,SAClE;AAAA,EACE,MAAAJ,IAAO;AAAA,EACP,OAAAK;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AACA,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1C,CAACC,GAAWC,CAAY,IAAIF,EAAS,EAAK,GAC1C,CAACG,GAAWC,CAAY,IAAIJ,EAAS,EAAK,GAE1CK,IAASC,EAAazB,CAAI,GAC1B0B,IAAWC,EAAkB3B,CAAI,GAEjC4B,IAA2Bf,KAAWL,GAEtCqB,IAA8B;AAAA,IAClC,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,KAAKC,EAAa;AAAA,IAClB,QAAQlB,IAAW,gBAAgB;AAAA,IACnC,SAASA,IAAWmB,EAAa,WAAW;AAAA,EAAA,GAGxCC,IAA0B;AAAA,IAC9B,UAAU;AAAA,IACV,OAAOR,EAAO;AAAA,IACd,QAAQA,EAAO;AAAA,IACf,cAAc;AAAA,IACd,QAAQ,eACNjB,IACI,gCACAqB,IACE,kCACAX,IACE,+BACA,8BACV;AAAA,IACA,iBAAiBW,IACb,kCACAR,IACE,oCACA;AAAA,IACN,YAAYa,EAAW;AAAA,IACvB,WAAWX,IAAY,SAASY,EAAM,cAAc,MAAM,SAASA,EAAM,MAAM;AAAA,IAC/E,WAAWjB,IAAYkB,EAAU,UAAUA,EAAU;AAAA,IACrD,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,YAAY;AAAA,EAAA,GAGRC,IAA2B;AAAA,IAC/B,OAAO;AAAA,IACP,SAASR,IAA2B,IAAI;AAAA,IACxC,WAAWA,IAA2B,SAASM,EAAM,MAAM,MAAM,SAASA,EAAM,MAAM;AAAA,IACtF,YAAYD,EAAW;AAAA,EAAA,GAGnBI,IAA4B;AAAA,IAChC,UAAU;AAAA,IACV,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,QAAQzB,IAAW,gBAAgB;AAAA,IACnC,QAAQ;AAAA,EAAA,GAGJ0B,IAAqC;AAAA,IACzC,SAAS;AAAA,IACT,eAAe;AAAA,IACf,KAAKR,EAAa;AAAA,IAClB,aAAaN,EAAO,MAAME,KAAY;AAAA,EAAA,GAGlCa,IAAgC;AAAA,IACpC,UAAAb;AAAA,IACA,YAAYc,EAAoB;AAAA,IAChC,OAAO;AAAA,IACP,YAAY;AAAA,EAAA,GAGRC,IAAkC;AAAA,IACtC,UAAUf,IAAW;AAAA,IACrB,YAAYc,EAAoB;AAAA,IAChC,OAAO;AAAA,IACP,YAAY;AAAA,EAAA;AAGd,SACE,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACA,oBAAoB3C,CAAI;AAAA,QACxB4B,KAA4B;AAAA,QAC5BrB,KAAa;AAAA,QACbK,KAAY;AAAA,QACZH;AAAA,MAAA;AAAA,MAEF,OAAO,EAAE,GAAGoB,GAAc,GAAGnB,EAAA;AAAA,MAC7B,eAAaC;AAAA,MACb,cAAc,MAAMU,EAAa,EAAI;AAAA,MACrC,cAAc,MAAM;AAClB,QAAAA,EAAa,EAAK,GAClBE,EAAa,EAAK;AAAA,MACpB;AAAA,MACA,aAAa,MAAMA,EAAa,EAAI;AAAA,MACpC,WAAW,MAAMA,EAAa,EAAK;AAAA,MAEnC,UAAA;AAAA,QAAA,gBAAAmB,EAAC,QAAA,EAAK,OAAOV,GACX,UAAA;AAAA,UAAA,gBAAA/B;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,KAAAe;AAAA,cACA,MAAK;AAAA,cACL,OAAOqB;AAAA,cACP,SAAAxB;AAAA,cACA,UAAAD;AAAA,cACA,gBAAcL;AAAA,cACd,UAAAO;AAAA,cACA,SAAS,MAAMI,EAAa,EAAI;AAAA,cAChC,QAAQ,MAAMA,EAAa,EAAK;AAAA,cAC/B,GAAGH;AAAA,YAAA;AAAA,UAAA;AAAA,4BAEL,QAAA,EAAK,OAAOqB,GACV,UAAA5B,sBAAmBN,GAAA,EAAU,MAAMsB,EAAO,KAAA,CAAM,IAAK,gBAAAvB,EAACF,GAAA,EAAU,MAAMyB,EAAO,MAAM,EAAA,CACtF;AAAA,QAAA,GACF;AAAA,SAEEnB,KAASC,MACT,gBAAAoC,EAAC,QAAA,EAAK,OAAOJ,GACV,UAAA;AAAA,UAAAjC,KAAS,gBAAAJ,EAAC,QAAA,EAAK,OAAOsC,GAAiB,UAAAlC,GAAM;AAAA,UAC7CC,KAAe,gBAAAL,EAAC,QAAA,EAAK,OAAOwC,GAAmB,UAAAnC,EAAA,CAAY;AAAA,QAAA,EAAA,CAC9D;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR,CAAC;AAEDH,EAAS,cAAc;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),d=require("react"),F=require("../../../utils/styles.cjs"),$={sm:{height:32,fontSize:13,padding:10,iconSize:14},md:{height:40,fontSize:14,padding:12,iconSize:16},lg:{height:48,fontSize:16,padding:14,iconSize:18}},g=d.forwardRef(function({size:c="md",variant:o="outline",type:b="date",label:l,helperText:u,error:s,isInvalid:S=!1,leftIcon:n,disabled:a=!1,className:h,style:k,testId:v,...m},x){const[i,y]=d.useState(!1),[z,f]=d.useState(!1),e=$[c],r=S||!!s,j={display:"flex",flexDirection:"column",gap:6,...k},R={fontSize:e.fontSize-1,fontWeight:500,color:"var(--brycks-foreground-default)"},I={position:"relative",display:"flex",alignItems:"center"},w=()=>{const p={width:"100%",height:e.height,fontSize:e.fontSize,fontFamily:"inherit",color:"var(--brycks-foreground-default)",backgroundColor:o==="filled"?"var(--brycks-background-muted)":"var(--brycks-background-input)",paddingLeft:n?e.padding+e.iconSize+8:e.padding,paddingRight:e.padding,transition:"all 150ms ease-out",outline:"none",opacity:a?.5:1,cursor:a?"not-allowed":"pointer"};return o==="flushed"?{...p,border:"none",borderBottom:`2px solid ${r?"var(--brycks-error-default)":i?"var(--brycks-primary-default)":"var(--brycks-border-default)"}`,borderRadius:0,paddingLeft:n?e.iconSize+8:0,paddingRight:0,backgroundColor:"transparent"}:{...p,border:`1px solid ${r?"var(--brycks-error-default)":i?"var(--brycks-primary-default)":z?"var(--brycks-border-strong)":"var(--brycks-border-default)"}`,borderRadius:"var(--brycks-radius-md)",boxShadow:i&&!r?"0 0 0 3px var(--brycks-primary-100)":i&&r?"0 0 0 3px var(--brycks-error-100)":void 0}},C={position:"absolute",left:o==="flushed"?0:e.padding,color:"var(--brycks-foreground-muted)",display:"flex",alignItems:"center",justifyContent:"center",width:e.iconSize,height:e.iconSize,pointerEvents:"none"},D={fontSize:e.fontSize-2,color:r?"var(--brycks-error-default)":"var(--brycks-foreground-muted)"};return t.jsxs("div",{className:F.cx("brycks-date-input",`brycks-date-input--${c}`,`brycks-date-input--${o}`,h),style:j,children:[l&&t.jsx("label",{style:R,children:l}),t.jsxs("div",{style:I,onMouseEnter:()=>f(!0),onMouseLeave:()=>f(!1),children:[n&&t.jsx("span",{style:C,children:n}),t.jsx("input",{ref:x,type:b,disabled:a,style:w(),onFocus:()=>y(!0),onBlur:()=>y(!1),"data-testid":v,...m})]}),(u||s)&&t.jsx("span",{style:D,children:s||u})]})});g.displayName="DateInput";exports.DateInput=g;
|
|
2
|
+
//# sourceMappingURL=DateInput.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateInput.cjs","sources":["../../../../src/components/form/DateInput/DateInput.tsx"],"sourcesContent":["/**\n * DateInput Component\n *\n * A styled date input that uses the native date picker.\n * Consistent with other form inputs in the design system.\n */\n\nimport {\n forwardRef,\n useState,\n type CSSProperties,\n type InputHTMLAttributes,\n type ReactNode,\n} from 'react'\nimport { cx } from '../../../utils/styles'\n\nexport type DateInputSize = 'sm' | 'md' | 'lg'\nexport type DateInputVariant = 'outline' | 'filled' | 'flushed'\nexport type DateInputType = 'date' | 'datetime-local' | 'time' | 'month' | 'week'\n\nexport interface DateInputProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {\n /** Input size */\n size?: DateInputSize\n /** Input variant */\n variant?: DateInputVariant\n /** Type of date input */\n type?: DateInputType\n /** Input label */\n label?: ReactNode\n /** Helper text below input */\n helperText?: ReactNode\n /** Error message */\n error?: ReactNode\n /** Whether the input is invalid */\n isInvalid?: boolean\n /** Icon on the left side */\n leftIcon?: ReactNode\n /** Custom class name */\n className?: string\n /** Test ID */\n testId?: string\n}\n\nconst sizeConfig: Record<DateInputSize, { height: number; fontSize: number; padding: number; iconSize: number }> = {\n sm: { height: 32, fontSize: 13, padding: 10, iconSize: 14 },\n md: { height: 40, fontSize: 14, padding: 12, iconSize: 16 },\n lg: { height: 48, fontSize: 16, padding: 14, iconSize: 18 },\n}\n\nexport const DateInput = forwardRef<HTMLInputElement, DateInputProps>(function DateInput(\n {\n size = 'md',\n variant = 'outline',\n type = 'date',\n label,\n helperText,\n error,\n isInvalid = false,\n leftIcon,\n disabled = false,\n className,\n style,\n testId,\n ...props\n },\n ref\n) {\n const [isFocused, setIsFocused] = useState(false)\n const [isHovered, setIsHovered] = useState(false)\n const config = sizeConfig[size]\n const hasError = isInvalid || !!error\n\n const containerStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n gap: 6,\n ...style,\n }\n\n const labelStyle: CSSProperties = {\n fontSize: config.fontSize - 1,\n fontWeight: 500,\n color: 'var(--brycks-foreground-default)',\n }\n\n const inputContainerStyle: CSSProperties = {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n }\n\n const getInputStyle = (): CSSProperties => {\n const baseStyle: CSSProperties = {\n width: '100%',\n height: config.height,\n fontSize: config.fontSize,\n fontFamily: 'inherit',\n color: 'var(--brycks-foreground-default)',\n backgroundColor: variant === 'filled' ? 'var(--brycks-background-muted)' : 'var(--brycks-background-input)',\n paddingLeft: leftIcon ? config.padding + config.iconSize + 8 : config.padding,\n paddingRight: config.padding,\n transition: 'all 150ms ease-out',\n outline: 'none',\n opacity: disabled ? 0.5 : 1,\n cursor: disabled ? 'not-allowed' : 'pointer',\n }\n\n if (variant === 'flushed') {\n return {\n ...baseStyle,\n border: 'none',\n borderBottom: `2px solid ${\n hasError\n ? 'var(--brycks-error-default)'\n : isFocused\n ? 'var(--brycks-primary-default)'\n : 'var(--brycks-border-default)'\n }`,\n borderRadius: 0,\n paddingLeft: leftIcon ? config.iconSize + 8 : 0,\n paddingRight: 0,\n backgroundColor: 'transparent',\n }\n }\n\n return {\n ...baseStyle,\n border: `1px solid ${\n hasError\n ? 'var(--brycks-error-default)'\n : isFocused\n ? 'var(--brycks-primary-default)'\n : isHovered\n ? 'var(--brycks-border-strong)'\n : 'var(--brycks-border-default)'\n }`,\n borderRadius: 'var(--brycks-radius-md)',\n boxShadow: isFocused && !hasError\n ? '0 0 0 3px var(--brycks-primary-100)'\n : isFocused && hasError\n ? '0 0 0 3px var(--brycks-error-100)'\n : undefined,\n }\n }\n\n const iconStyle: CSSProperties = {\n position: 'absolute',\n left: variant === 'flushed' ? 0 : config.padding,\n color: 'var(--brycks-foreground-muted)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: config.iconSize,\n height: config.iconSize,\n pointerEvents: 'none',\n }\n\n const helperStyle: CSSProperties = {\n fontSize: config.fontSize - 2,\n color: hasError ? 'var(--brycks-error-default)' : 'var(--brycks-foreground-muted)',\n }\n\n return (\n <div\n className={cx('brycks-date-input', `brycks-date-input--${size}`, `brycks-date-input--${variant}`, className)}\n style={containerStyle}\n >\n {label && <label style={labelStyle}>{label}</label>}\n <div\n style={inputContainerStyle}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n >\n {leftIcon && <span style={iconStyle}>{leftIcon}</span>}\n <input\n ref={ref}\n type={type}\n disabled={disabled}\n style={getInputStyle()}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n data-testid={testId}\n {...props}\n />\n </div>\n {(helperText || error) && (\n <span style={helperStyle}>{error || helperText}</span>\n )}\n </div>\n )\n})\n\nDateInput.displayName = 'DateInput'\n"],"names":["sizeConfig","DateInput","forwardRef","size","variant","type","label","helperText","error","isInvalid","leftIcon","disabled","className","style","testId","props","ref","isFocused","setIsFocused","useState","isHovered","setIsHovered","config","hasError","containerStyle","labelStyle","inputContainerStyle","getInputStyle","baseStyle","iconStyle","helperStyle","jsxs","cx","jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { jsxs as y, jsx as i } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as $, useState as g } from "react";
|
|
3
|
+
import { cx as j } from "../../../utils/styles.js";
|
|
4
|
+
const E = {
|
|
5
|
+
sm: { height: 32, fontSize: 13, padding: 10, iconSize: 14 },
|
|
6
|
+
md: { height: 40, fontSize: 14, padding: 12, iconSize: 16 },
|
|
7
|
+
lg: { height: 48, fontSize: 16, padding: 14, iconSize: 18 }
|
|
8
|
+
}, L = $(function({
|
|
9
|
+
size: d = "md",
|
|
10
|
+
variant: t = "outline",
|
|
11
|
+
type: b = "date",
|
|
12
|
+
label: c,
|
|
13
|
+
helperText: l,
|
|
14
|
+
error: s,
|
|
15
|
+
isInvalid: h = !1,
|
|
16
|
+
leftIcon: o,
|
|
17
|
+
disabled: a = !1,
|
|
18
|
+
className: S,
|
|
19
|
+
style: k,
|
|
20
|
+
testId: m,
|
|
21
|
+
...v
|
|
22
|
+
}, z) {
|
|
23
|
+
const [n, u] = g(!1), [x, f] = g(!1), e = E[d], r = h || !!s, w = {
|
|
24
|
+
display: "flex",
|
|
25
|
+
flexDirection: "column",
|
|
26
|
+
gap: 6,
|
|
27
|
+
...k
|
|
28
|
+
}, C = {
|
|
29
|
+
fontSize: e.fontSize - 1,
|
|
30
|
+
fontWeight: 500,
|
|
31
|
+
color: "var(--brycks-foreground-default)"
|
|
32
|
+
}, I = {
|
|
33
|
+
position: "relative",
|
|
34
|
+
display: "flex",
|
|
35
|
+
alignItems: "center"
|
|
36
|
+
}, R = () => {
|
|
37
|
+
const p = {
|
|
38
|
+
width: "100%",
|
|
39
|
+
height: e.height,
|
|
40
|
+
fontSize: e.fontSize,
|
|
41
|
+
fontFamily: "inherit",
|
|
42
|
+
color: "var(--brycks-foreground-default)",
|
|
43
|
+
backgroundColor: t === "filled" ? "var(--brycks-background-muted)" : "var(--brycks-background-input)",
|
|
44
|
+
paddingLeft: o ? e.padding + e.iconSize + 8 : e.padding,
|
|
45
|
+
paddingRight: e.padding,
|
|
46
|
+
transition: "all 150ms ease-out",
|
|
47
|
+
outline: "none",
|
|
48
|
+
opacity: a ? 0.5 : 1,
|
|
49
|
+
cursor: a ? "not-allowed" : "pointer"
|
|
50
|
+
};
|
|
51
|
+
return t === "flushed" ? {
|
|
52
|
+
...p,
|
|
53
|
+
border: "none",
|
|
54
|
+
borderBottom: `2px solid ${r ? "var(--brycks-error-default)" : n ? "var(--brycks-primary-default)" : "var(--brycks-border-default)"}`,
|
|
55
|
+
borderRadius: 0,
|
|
56
|
+
paddingLeft: o ? e.iconSize + 8 : 0,
|
|
57
|
+
paddingRight: 0,
|
|
58
|
+
backgroundColor: "transparent"
|
|
59
|
+
} : {
|
|
60
|
+
...p,
|
|
61
|
+
border: `1px solid ${r ? "var(--brycks-error-default)" : n ? "var(--brycks-primary-default)" : x ? "var(--brycks-border-strong)" : "var(--brycks-border-default)"}`,
|
|
62
|
+
borderRadius: "var(--brycks-radius-md)",
|
|
63
|
+
boxShadow: n && !r ? "0 0 0 3px var(--brycks-primary-100)" : n && r ? "0 0 0 3px var(--brycks-error-100)" : void 0
|
|
64
|
+
};
|
|
65
|
+
}, D = {
|
|
66
|
+
position: "absolute",
|
|
67
|
+
left: t === "flushed" ? 0 : e.padding,
|
|
68
|
+
color: "var(--brycks-foreground-muted)",
|
|
69
|
+
display: "flex",
|
|
70
|
+
alignItems: "center",
|
|
71
|
+
justifyContent: "center",
|
|
72
|
+
width: e.iconSize,
|
|
73
|
+
height: e.iconSize,
|
|
74
|
+
pointerEvents: "none"
|
|
75
|
+
}, F = {
|
|
76
|
+
fontSize: e.fontSize - 2,
|
|
77
|
+
color: r ? "var(--brycks-error-default)" : "var(--brycks-foreground-muted)"
|
|
78
|
+
};
|
|
79
|
+
return /* @__PURE__ */ y(
|
|
80
|
+
"div",
|
|
81
|
+
{
|
|
82
|
+
className: j("brycks-date-input", `brycks-date-input--${d}`, `brycks-date-input--${t}`, S),
|
|
83
|
+
style: w,
|
|
84
|
+
children: [
|
|
85
|
+
c && /* @__PURE__ */ i("label", { style: C, children: c }),
|
|
86
|
+
/* @__PURE__ */ y(
|
|
87
|
+
"div",
|
|
88
|
+
{
|
|
89
|
+
style: I,
|
|
90
|
+
onMouseEnter: () => f(!0),
|
|
91
|
+
onMouseLeave: () => f(!1),
|
|
92
|
+
children: [
|
|
93
|
+
o && /* @__PURE__ */ i("span", { style: D, children: o }),
|
|
94
|
+
/* @__PURE__ */ i(
|
|
95
|
+
"input",
|
|
96
|
+
{
|
|
97
|
+
ref: z,
|
|
98
|
+
type: b,
|
|
99
|
+
disabled: a,
|
|
100
|
+
style: R(),
|
|
101
|
+
onFocus: () => u(!0),
|
|
102
|
+
onBlur: () => u(!1),
|
|
103
|
+
"data-testid": m,
|
|
104
|
+
...v
|
|
105
|
+
}
|
|
106
|
+
)
|
|
107
|
+
]
|
|
108
|
+
}
|
|
109
|
+
),
|
|
110
|
+
(l || s) && /* @__PURE__ */ i("span", { style: F, children: s || l })
|
|
111
|
+
]
|
|
112
|
+
}
|
|
113
|
+
);
|
|
114
|
+
});
|
|
115
|
+
L.displayName = "DateInput";
|
|
116
|
+
export {
|
|
117
|
+
L as DateInput
|
|
118
|
+
};
|
|
119
|
+
//# sourceMappingURL=DateInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateInput.js","sources":["../../../../src/components/form/DateInput/DateInput.tsx"],"sourcesContent":["/**\n * DateInput Component\n *\n * A styled date input that uses the native date picker.\n * Consistent with other form inputs in the design system.\n */\n\nimport {\n forwardRef,\n useState,\n type CSSProperties,\n type InputHTMLAttributes,\n type ReactNode,\n} from 'react'\nimport { cx } from '../../../utils/styles'\n\nexport type DateInputSize = 'sm' | 'md' | 'lg'\nexport type DateInputVariant = 'outline' | 'filled' | 'flushed'\nexport type DateInputType = 'date' | 'datetime-local' | 'time' | 'month' | 'week'\n\nexport interface DateInputProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {\n /** Input size */\n size?: DateInputSize\n /** Input variant */\n variant?: DateInputVariant\n /** Type of date input */\n type?: DateInputType\n /** Input label */\n label?: ReactNode\n /** Helper text below input */\n helperText?: ReactNode\n /** Error message */\n error?: ReactNode\n /** Whether the input is invalid */\n isInvalid?: boolean\n /** Icon on the left side */\n leftIcon?: ReactNode\n /** Custom class name */\n className?: string\n /** Test ID */\n testId?: string\n}\n\nconst sizeConfig: Record<DateInputSize, { height: number; fontSize: number; padding: number; iconSize: number }> = {\n sm: { height: 32, fontSize: 13, padding: 10, iconSize: 14 },\n md: { height: 40, fontSize: 14, padding: 12, iconSize: 16 },\n lg: { height: 48, fontSize: 16, padding: 14, iconSize: 18 },\n}\n\nexport const DateInput = forwardRef<HTMLInputElement, DateInputProps>(function DateInput(\n {\n size = 'md',\n variant = 'outline',\n type = 'date',\n label,\n helperText,\n error,\n isInvalid = false,\n leftIcon,\n disabled = false,\n className,\n style,\n testId,\n ...props\n },\n ref\n) {\n const [isFocused, setIsFocused] = useState(false)\n const [isHovered, setIsHovered] = useState(false)\n const config = sizeConfig[size]\n const hasError = isInvalid || !!error\n\n const containerStyle: CSSProperties = {\n display: 'flex',\n flexDirection: 'column',\n gap: 6,\n ...style,\n }\n\n const labelStyle: CSSProperties = {\n fontSize: config.fontSize - 1,\n fontWeight: 500,\n color: 'var(--brycks-foreground-default)',\n }\n\n const inputContainerStyle: CSSProperties = {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n }\n\n const getInputStyle = (): CSSProperties => {\n const baseStyle: CSSProperties = {\n width: '100%',\n height: config.height,\n fontSize: config.fontSize,\n fontFamily: 'inherit',\n color: 'var(--brycks-foreground-default)',\n backgroundColor: variant === 'filled' ? 'var(--brycks-background-muted)' : 'var(--brycks-background-input)',\n paddingLeft: leftIcon ? config.padding + config.iconSize + 8 : config.padding,\n paddingRight: config.padding,\n transition: 'all 150ms ease-out',\n outline: 'none',\n opacity: disabled ? 0.5 : 1,\n cursor: disabled ? 'not-allowed' : 'pointer',\n }\n\n if (variant === 'flushed') {\n return {\n ...baseStyle,\n border: 'none',\n borderBottom: `2px solid ${\n hasError\n ? 'var(--brycks-error-default)'\n : isFocused\n ? 'var(--brycks-primary-default)'\n : 'var(--brycks-border-default)'\n }`,\n borderRadius: 0,\n paddingLeft: leftIcon ? config.iconSize + 8 : 0,\n paddingRight: 0,\n backgroundColor: 'transparent',\n }\n }\n\n return {\n ...baseStyle,\n border: `1px solid ${\n hasError\n ? 'var(--brycks-error-default)'\n : isFocused\n ? 'var(--brycks-primary-default)'\n : isHovered\n ? 'var(--brycks-border-strong)'\n : 'var(--brycks-border-default)'\n }`,\n borderRadius: 'var(--brycks-radius-md)',\n boxShadow: isFocused && !hasError\n ? '0 0 0 3px var(--brycks-primary-100)'\n : isFocused && hasError\n ? '0 0 0 3px var(--brycks-error-100)'\n : undefined,\n }\n }\n\n const iconStyle: CSSProperties = {\n position: 'absolute',\n left: variant === 'flushed' ? 0 : config.padding,\n color: 'var(--brycks-foreground-muted)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: config.iconSize,\n height: config.iconSize,\n pointerEvents: 'none',\n }\n\n const helperStyle: CSSProperties = {\n fontSize: config.fontSize - 2,\n color: hasError ? 'var(--brycks-error-default)' : 'var(--brycks-foreground-muted)',\n }\n\n return (\n <div\n className={cx('brycks-date-input', `brycks-date-input--${size}`, `brycks-date-input--${variant}`, className)}\n style={containerStyle}\n >\n {label && <label style={labelStyle}>{label}</label>}\n <div\n style={inputContainerStyle}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n >\n {leftIcon && <span style={iconStyle}>{leftIcon}</span>}\n <input\n ref={ref}\n type={type}\n disabled={disabled}\n style={getInputStyle()}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n data-testid={testId}\n {...props}\n />\n </div>\n {(helperText || error) && (\n <span style={helperStyle}>{error || helperText}</span>\n )}\n </div>\n )\n})\n\nDateInput.displayName = 'DateInput'\n"],"names":["sizeConfig","DateInput","forwardRef","size","variant","type","label","helperText","error","isInvalid","leftIcon","disabled","className","style","testId","props","ref","isFocused","setIsFocused","useState","isHovered","setIsHovered","config","hasError","containerStyle","labelStyle","inputContainerStyle","getInputStyle","baseStyle","iconStyle","helperStyle","jsxs","cx","jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),t=require("react"),F=require("../../../utils/styles.cjs"),d=t.forwardRef(function({onFiles:k,accept:g,multiple:i=!0,maxSize:f,disabled:e=!1,children:p,icon:v,helperText:y,error:s,className:b,testId:D},m){const[c,l]=t.useState(!1),a=t.useRef(null),h=t.useCallback(r=>{r.preventDefault(),r.stopPropagation(),e||l(!0)},[e]),x=t.useCallback(r=>{r.preventDefault(),r.stopPropagation(),l(!1)},[]),C=t.useCallback(r=>{r.preventDefault(),r.stopPropagation(),e||l(!0)},[e]),u=t.useCallback(r=>{if(!r||r.length===0)return;let n=Array.from(r);f&&(n=n.filter(E=>E.size<=f)),!i&&n.length>1&&(n=[n[0]]),k?.(n)},[f,i,k]),j=t.useCallback(r=>{r.preventDefault(),r.stopPropagation(),l(!1),!e&&u(r.dataTransfer.files)},[e,u]),z=t.useCallback(()=>{e||a.current?.click()},[e]),S=t.useCallback(r=>{u(r.target.files),a.current&&(a.current.value="")},[u]),R=t.useCallback(r=>{(r.key==="Enter"||r.key===" ")&&!e&&(r.preventDefault(),a.current?.click())},[e]),O={padding:"40px 20px",border:`2px dashed ${s?"var(--brycks-error-default)":c?"var(--brycks-primary-default)":"var(--brycks-border-muted)"}`,borderRadius:"var(--brycks-radius-lg)",cursor:e?"not-allowed":"pointer",textAlign:"center",transition:"all var(--brycks-duration-fast) var(--brycks-easing-out)",background:c?"var(--brycks-primary-muted)":"var(--brycks-background-muted)",opacity:e?.5:1},P={display:"flex",justifyContent:"center",marginBottom:12,color:c?"var(--brycks-primary-default)":"var(--brycks-foreground-muted)"},w={fontFamily:"var(--brycks-font-sans)",fontSize:"var(--brycks-font-size-sm)",fontWeight:500,color:"var(--brycks-foreground-default)",marginBottom:y?4:0},Z={fontFamily:"var(--brycks-font-sans)",fontSize:"var(--brycks-font-size-xs)",color:"var(--brycks-foreground-muted)"},q={fontFamily:"var(--brycks-font-sans)",fontSize:"var(--brycks-font-size-xs)",color:"var(--brycks-error-default)",marginTop:8};return o.jsxs("div",{ref:m,className:F.cx("brycks-dropzone",c&&"brycks-dropzone--drag-over",e&&"brycks-dropzone--disabled",s&&"brycks-dropzone--error",b),style:O,onClick:z,onDragEnter:h,onDragLeave:x,onDragOver:C,onDrop:j,onKeyDown:R,role:"button",tabIndex:e?-1:0,"aria-disabled":e,"data-testid":D,children:[o.jsx("input",{ref:a,type:"file",accept:g,multiple:i,onChange:S,style:{display:"none"},"aria-hidden":"true"}),v&&o.jsx("div",{style:P,children:v}),p&&o.jsx("div",{style:w,children:p}),y&&o.jsx("div",{style:Z,children:y}),s&&o.jsx("div",{style:q,children:s})]})});d.displayName="DropZone";exports.DropZone=d;
|
|
2
|
+
//# sourceMappingURL=DropZone.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropZone.cjs","sources":["../../../../src/components/form/DropZone/DropZone.tsx"],"sourcesContent":["/**\n * DropZone Component\n *\n * File upload area with drag-and-drop support.\n * Provides visual feedback during drag operations.\n */\n\nimport {\n forwardRef,\n useState,\n useRef,\n useCallback,\n type CSSProperties,\n type ReactNode,\n type DragEvent,\n type ChangeEvent,\n} from 'react'\nimport { cx } from '../../../utils/styles'\n\nexport interface DropZoneProps {\n /** Callback when files are selected or dropped */\n onFiles?: (files: File[]) => void\n /** Accepted file types (e.g., \"image/*\", \".pdf,.doc\") */\n accept?: string\n /** Whether multiple files can be selected */\n multiple?: boolean\n /** Maximum file size in bytes */\n maxSize?: number\n /** Whether the drop zone is disabled */\n disabled?: boolean\n /** Main text content */\n children?: ReactNode\n /** Icon to display */\n icon?: ReactNode\n /** Helper text shown below main content */\n helperText?: string\n /** Error message */\n error?: string\n /** Custom class name */\n className?: string\n /** Test ID */\n testId?: string\n}\n\nexport const DropZone = forwardRef<HTMLDivElement, DropZoneProps>(\n function DropZone(\n {\n onFiles,\n accept,\n multiple = true,\n maxSize,\n disabled = false,\n children,\n icon,\n helperText,\n error,\n className,\n testId,\n },\n ref\n ) {\n const [isDragOver, setIsDragOver] = useState(false)\n const fileInputRef = useRef<HTMLInputElement>(null)\n\n const handleDragEnter = useCallback(\n (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault()\n e.stopPropagation()\n if (!disabled) {\n setIsDragOver(true)\n }\n },\n [disabled]\n )\n\n const handleDragLeave = useCallback((e: DragEvent<HTMLDivElement>) => {\n e.preventDefault()\n e.stopPropagation()\n setIsDragOver(false)\n }, [])\n\n const handleDragOver = useCallback(\n (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault()\n e.stopPropagation()\n if (!disabled) {\n setIsDragOver(true)\n }\n },\n [disabled]\n )\n\n const processFiles = useCallback(\n (fileList: FileList | null) => {\n if (!fileList || fileList.length === 0) return\n\n let files = Array.from(fileList)\n\n // Filter by size if maxSize is set\n if (maxSize) {\n files = files.filter((file) => file.size <= maxSize)\n }\n\n // Take only first file if multiple is false\n if (!multiple && files.length > 1) {\n files = [files[0]]\n }\n\n onFiles?.(files)\n },\n [maxSize, multiple, onFiles]\n )\n\n const handleDrop = useCallback(\n (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault()\n e.stopPropagation()\n setIsDragOver(false)\n\n if (disabled) return\n\n processFiles(e.dataTransfer.files)\n },\n [disabled, processFiles]\n )\n\n const handleClick = useCallback(() => {\n if (!disabled) {\n fileInputRef.current?.click()\n }\n }, [disabled])\n\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n processFiles(e.target.files)\n // Reset input value to allow selecting the same file again\n if (fileInputRef.current) {\n fileInputRef.current.value = ''\n }\n },\n [processFiles]\n )\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if ((e.key === 'Enter' || e.key === ' ') && !disabled) {\n e.preventDefault()\n fileInputRef.current?.click()\n }\n },\n [disabled]\n )\n\n const containerStyle: CSSProperties = {\n padding: '40px 20px',\n border: `2px dashed ${\n error\n ? 'var(--brycks-error-default)'\n : isDragOver\n ? 'var(--brycks-primary-default)'\n : 'var(--brycks-border-muted)'\n }`,\n borderRadius: 'var(--brycks-radius-lg)',\n cursor: disabled ? 'not-allowed' : 'pointer',\n textAlign: 'center',\n transition: 'all var(--brycks-duration-fast) var(--brycks-easing-out)',\n background: isDragOver\n ? 'var(--brycks-primary-muted)'\n : 'var(--brycks-background-muted)',\n opacity: disabled ? 0.5 : 1,\n }\n\n const iconStyle: CSSProperties = {\n display: 'flex',\n justifyContent: 'center',\n marginBottom: 12,\n color: isDragOver\n ? 'var(--brycks-primary-default)'\n : 'var(--brycks-foreground-muted)',\n }\n\n const textStyle: CSSProperties = {\n fontFamily: 'var(--brycks-font-sans)',\n fontSize: 'var(--brycks-font-size-sm)',\n fontWeight: 500,\n color: 'var(--brycks-foreground-default)',\n marginBottom: helperText ? 4 : 0,\n }\n\n const helperStyle: CSSProperties = {\n fontFamily: 'var(--brycks-font-sans)',\n fontSize: 'var(--brycks-font-size-xs)',\n color: 'var(--brycks-foreground-muted)',\n }\n\n const errorStyle: CSSProperties = {\n fontFamily: 'var(--brycks-font-sans)',\n fontSize: 'var(--brycks-font-size-xs)',\n color: 'var(--brycks-error-default)',\n marginTop: 8,\n }\n\n return (\n <div\n ref={ref}\n className={cx(\n 'brycks-dropzone',\n isDragOver && 'brycks-dropzone--drag-over',\n disabled && 'brycks-dropzone--disabled',\n error && 'brycks-dropzone--error',\n className\n )}\n style={containerStyle}\n onClick={handleClick}\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n onKeyDown={handleKeyDown}\n role=\"button\"\n tabIndex={disabled ? -1 : 0}\n aria-disabled={disabled}\n data-testid={testId}\n >\n <input\n ref={fileInputRef}\n type=\"file\"\n accept={accept}\n multiple={multiple}\n onChange={handleChange}\n style={{ display: 'none' }}\n aria-hidden=\"true\"\n />\n\n {icon && <div style={iconStyle}>{icon}</div>}\n\n {children && <div style={textStyle}>{children}</div>}\n\n {helperText && <div style={helperStyle}>{helperText}</div>}\n\n {error && <div style={errorStyle}>{error}</div>}\n </div>\n )\n }\n)\n\nDropZone.displayName = 'DropZone'\n"],"names":["DropZone","forwardRef","onFiles","accept","multiple","maxSize","disabled","children","icon","helperText","error","className","testId","ref","isDragOver","setIsDragOver","useState","fileInputRef","useRef","handleDragEnter","useCallback","e","handleDragLeave","handleDragOver","processFiles","fileList","files","file","handleDrop","handleClick","handleChange","handleKeyDown","containerStyle","iconStyle","textStyle","helperStyle","errorStyle","jsxs","cx","jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { jsxs as I, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as Z, useState as A, useRef as B, useCallback as e } from "react";
|
|
3
|
+
import { cx as K } from "../../../utils/styles.js";
|
|
4
|
+
const N = Z(
|
|
5
|
+
function({
|
|
6
|
+
onFiles: p,
|
|
7
|
+
accept: k,
|
|
8
|
+
multiple: l = !0,
|
|
9
|
+
maxSize: y,
|
|
10
|
+
disabled: t = !1,
|
|
11
|
+
children: v,
|
|
12
|
+
icon: d,
|
|
13
|
+
helperText: u,
|
|
14
|
+
error: s,
|
|
15
|
+
className: g,
|
|
16
|
+
testId: m
|
|
17
|
+
}, D) {
|
|
18
|
+
const [c, f] = A(!1), n = B(null), b = e(
|
|
19
|
+
(r) => {
|
|
20
|
+
r.preventDefault(), r.stopPropagation(), t || f(!0);
|
|
21
|
+
},
|
|
22
|
+
[t]
|
|
23
|
+
), h = e((r) => {
|
|
24
|
+
r.preventDefault(), r.stopPropagation(), f(!1);
|
|
25
|
+
}, []), x = e(
|
|
26
|
+
(r) => {
|
|
27
|
+
r.preventDefault(), r.stopPropagation(), t || f(!0);
|
|
28
|
+
},
|
|
29
|
+
[t]
|
|
30
|
+
), i = e(
|
|
31
|
+
(r) => {
|
|
32
|
+
if (!r || r.length === 0) return;
|
|
33
|
+
let o = Array.from(r);
|
|
34
|
+
y && (o = o.filter((F) => F.size <= y)), !l && o.length > 1 && (o = [o[0]]), p?.(o);
|
|
35
|
+
},
|
|
36
|
+
[y, l, p]
|
|
37
|
+
), z = e(
|
|
38
|
+
(r) => {
|
|
39
|
+
r.preventDefault(), r.stopPropagation(), f(!1), !t && i(r.dataTransfer.files);
|
|
40
|
+
},
|
|
41
|
+
[t, i]
|
|
42
|
+
), S = e(() => {
|
|
43
|
+
t || n.current?.click();
|
|
44
|
+
}, [t]), C = e(
|
|
45
|
+
(r) => {
|
|
46
|
+
i(r.target.files), n.current && (n.current.value = "");
|
|
47
|
+
},
|
|
48
|
+
[i]
|
|
49
|
+
), w = e(
|
|
50
|
+
(r) => {
|
|
51
|
+
(r.key === "Enter" || r.key === " ") && !t && (r.preventDefault(), n.current?.click());
|
|
52
|
+
},
|
|
53
|
+
[t]
|
|
54
|
+
), O = {
|
|
55
|
+
padding: "40px 20px",
|
|
56
|
+
border: `2px dashed ${s ? "var(--brycks-error-default)" : c ? "var(--brycks-primary-default)" : "var(--brycks-border-muted)"}`,
|
|
57
|
+
borderRadius: "var(--brycks-radius-lg)",
|
|
58
|
+
cursor: t ? "not-allowed" : "pointer",
|
|
59
|
+
textAlign: "center",
|
|
60
|
+
transition: "all var(--brycks-duration-fast) var(--brycks-easing-out)",
|
|
61
|
+
background: c ? "var(--brycks-primary-muted)" : "var(--brycks-background-muted)",
|
|
62
|
+
opacity: t ? 0.5 : 1
|
|
63
|
+
}, P = {
|
|
64
|
+
display: "flex",
|
|
65
|
+
justifyContent: "center",
|
|
66
|
+
marginBottom: 12,
|
|
67
|
+
color: c ? "var(--brycks-primary-default)" : "var(--brycks-foreground-muted)"
|
|
68
|
+
}, R = {
|
|
69
|
+
fontFamily: "var(--brycks-font-sans)",
|
|
70
|
+
fontSize: "var(--brycks-font-size-sm)",
|
|
71
|
+
fontWeight: 500,
|
|
72
|
+
color: "var(--brycks-foreground-default)",
|
|
73
|
+
marginBottom: u ? 4 : 0
|
|
74
|
+
}, j = {
|
|
75
|
+
fontFamily: "var(--brycks-font-sans)",
|
|
76
|
+
fontSize: "var(--brycks-font-size-xs)",
|
|
77
|
+
color: "var(--brycks-foreground-muted)"
|
|
78
|
+
}, E = {
|
|
79
|
+
fontFamily: "var(--brycks-font-sans)",
|
|
80
|
+
fontSize: "var(--brycks-font-size-xs)",
|
|
81
|
+
color: "var(--brycks-error-default)",
|
|
82
|
+
marginTop: 8
|
|
83
|
+
};
|
|
84
|
+
return /* @__PURE__ */ I(
|
|
85
|
+
"div",
|
|
86
|
+
{
|
|
87
|
+
ref: D,
|
|
88
|
+
className: K(
|
|
89
|
+
"brycks-dropzone",
|
|
90
|
+
c && "brycks-dropzone--drag-over",
|
|
91
|
+
t && "brycks-dropzone--disabled",
|
|
92
|
+
s && "brycks-dropzone--error",
|
|
93
|
+
g
|
|
94
|
+
),
|
|
95
|
+
style: O,
|
|
96
|
+
onClick: S,
|
|
97
|
+
onDragEnter: b,
|
|
98
|
+
onDragLeave: h,
|
|
99
|
+
onDragOver: x,
|
|
100
|
+
onDrop: z,
|
|
101
|
+
onKeyDown: w,
|
|
102
|
+
role: "button",
|
|
103
|
+
tabIndex: t ? -1 : 0,
|
|
104
|
+
"aria-disabled": t,
|
|
105
|
+
"data-testid": m,
|
|
106
|
+
children: [
|
|
107
|
+
/* @__PURE__ */ a(
|
|
108
|
+
"input",
|
|
109
|
+
{
|
|
110
|
+
ref: n,
|
|
111
|
+
type: "file",
|
|
112
|
+
accept: k,
|
|
113
|
+
multiple: l,
|
|
114
|
+
onChange: C,
|
|
115
|
+
style: { display: "none" },
|
|
116
|
+
"aria-hidden": "true"
|
|
117
|
+
}
|
|
118
|
+
),
|
|
119
|
+
d && /* @__PURE__ */ a("div", { style: P, children: d }),
|
|
120
|
+
v && /* @__PURE__ */ a("div", { style: R, children: v }),
|
|
121
|
+
u && /* @__PURE__ */ a("div", { style: j, children: u }),
|
|
122
|
+
s && /* @__PURE__ */ a("div", { style: E, children: s })
|
|
123
|
+
]
|
|
124
|
+
}
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
);
|
|
128
|
+
N.displayName = "DropZone";
|
|
129
|
+
export {
|
|
130
|
+
N as DropZone
|
|
131
|
+
};
|
|
132
|
+
//# sourceMappingURL=DropZone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropZone.js","sources":["../../../../src/components/form/DropZone/DropZone.tsx"],"sourcesContent":["/**\n * DropZone Component\n *\n * File upload area with drag-and-drop support.\n * Provides visual feedback during drag operations.\n */\n\nimport {\n forwardRef,\n useState,\n useRef,\n useCallback,\n type CSSProperties,\n type ReactNode,\n type DragEvent,\n type ChangeEvent,\n} from 'react'\nimport { cx } from '../../../utils/styles'\n\nexport interface DropZoneProps {\n /** Callback when files are selected or dropped */\n onFiles?: (files: File[]) => void\n /** Accepted file types (e.g., \"image/*\", \".pdf,.doc\") */\n accept?: string\n /** Whether multiple files can be selected */\n multiple?: boolean\n /** Maximum file size in bytes */\n maxSize?: number\n /** Whether the drop zone is disabled */\n disabled?: boolean\n /** Main text content */\n children?: ReactNode\n /** Icon to display */\n icon?: ReactNode\n /** Helper text shown below main content */\n helperText?: string\n /** Error message */\n error?: string\n /** Custom class name */\n className?: string\n /** Test ID */\n testId?: string\n}\n\nexport const DropZone = forwardRef<HTMLDivElement, DropZoneProps>(\n function DropZone(\n {\n onFiles,\n accept,\n multiple = true,\n maxSize,\n disabled = false,\n children,\n icon,\n helperText,\n error,\n className,\n testId,\n },\n ref\n ) {\n const [isDragOver, setIsDragOver] = useState(false)\n const fileInputRef = useRef<HTMLInputElement>(null)\n\n const handleDragEnter = useCallback(\n (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault()\n e.stopPropagation()\n if (!disabled) {\n setIsDragOver(true)\n }\n },\n [disabled]\n )\n\n const handleDragLeave = useCallback((e: DragEvent<HTMLDivElement>) => {\n e.preventDefault()\n e.stopPropagation()\n setIsDragOver(false)\n }, [])\n\n const handleDragOver = useCallback(\n (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault()\n e.stopPropagation()\n if (!disabled) {\n setIsDragOver(true)\n }\n },\n [disabled]\n )\n\n const processFiles = useCallback(\n (fileList: FileList | null) => {\n if (!fileList || fileList.length === 0) return\n\n let files = Array.from(fileList)\n\n // Filter by size if maxSize is set\n if (maxSize) {\n files = files.filter((file) => file.size <= maxSize)\n }\n\n // Take only first file if multiple is false\n if (!multiple && files.length > 1) {\n files = [files[0]]\n }\n\n onFiles?.(files)\n },\n [maxSize, multiple, onFiles]\n )\n\n const handleDrop = useCallback(\n (e: DragEvent<HTMLDivElement>) => {\n e.preventDefault()\n e.stopPropagation()\n setIsDragOver(false)\n\n if (disabled) return\n\n processFiles(e.dataTransfer.files)\n },\n [disabled, processFiles]\n )\n\n const handleClick = useCallback(() => {\n if (!disabled) {\n fileInputRef.current?.click()\n }\n }, [disabled])\n\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n processFiles(e.target.files)\n // Reset input value to allow selecting the same file again\n if (fileInputRef.current) {\n fileInputRef.current.value = ''\n }\n },\n [processFiles]\n )\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if ((e.key === 'Enter' || e.key === ' ') && !disabled) {\n e.preventDefault()\n fileInputRef.current?.click()\n }\n },\n [disabled]\n )\n\n const containerStyle: CSSProperties = {\n padding: '40px 20px',\n border: `2px dashed ${\n error\n ? 'var(--brycks-error-default)'\n : isDragOver\n ? 'var(--brycks-primary-default)'\n : 'var(--brycks-border-muted)'\n }`,\n borderRadius: 'var(--brycks-radius-lg)',\n cursor: disabled ? 'not-allowed' : 'pointer',\n textAlign: 'center',\n transition: 'all var(--brycks-duration-fast) var(--brycks-easing-out)',\n background: isDragOver\n ? 'var(--brycks-primary-muted)'\n : 'var(--brycks-background-muted)',\n opacity: disabled ? 0.5 : 1,\n }\n\n const iconStyle: CSSProperties = {\n display: 'flex',\n justifyContent: 'center',\n marginBottom: 12,\n color: isDragOver\n ? 'var(--brycks-primary-default)'\n : 'var(--brycks-foreground-muted)',\n }\n\n const textStyle: CSSProperties = {\n fontFamily: 'var(--brycks-font-sans)',\n fontSize: 'var(--brycks-font-size-sm)',\n fontWeight: 500,\n color: 'var(--brycks-foreground-default)',\n marginBottom: helperText ? 4 : 0,\n }\n\n const helperStyle: CSSProperties = {\n fontFamily: 'var(--brycks-font-sans)',\n fontSize: 'var(--brycks-font-size-xs)',\n color: 'var(--brycks-foreground-muted)',\n }\n\n const errorStyle: CSSProperties = {\n fontFamily: 'var(--brycks-font-sans)',\n fontSize: 'var(--brycks-font-size-xs)',\n color: 'var(--brycks-error-default)',\n marginTop: 8,\n }\n\n return (\n <div\n ref={ref}\n className={cx(\n 'brycks-dropzone',\n isDragOver && 'brycks-dropzone--drag-over',\n disabled && 'brycks-dropzone--disabled',\n error && 'brycks-dropzone--error',\n className\n )}\n style={containerStyle}\n onClick={handleClick}\n onDragEnter={handleDragEnter}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n onKeyDown={handleKeyDown}\n role=\"button\"\n tabIndex={disabled ? -1 : 0}\n aria-disabled={disabled}\n data-testid={testId}\n >\n <input\n ref={fileInputRef}\n type=\"file\"\n accept={accept}\n multiple={multiple}\n onChange={handleChange}\n style={{ display: 'none' }}\n aria-hidden=\"true\"\n />\n\n {icon && <div style={iconStyle}>{icon}</div>}\n\n {children && <div style={textStyle}>{children}</div>}\n\n {helperText && <div style={helperStyle}>{helperText}</div>}\n\n {error && <div style={errorStyle}>{error}</div>}\n </div>\n )\n }\n)\n\nDropZone.displayName = 'DropZone'\n"],"names":["DropZone","forwardRef","onFiles","accept","multiple","maxSize","disabled","children","icon","helperText","error","className","testId","ref","isDragOver","setIsDragOver","useState","fileInputRef","useRef","handleDragEnter","useCallback","e","handleDragLeave","handleDragOver","processFiles","fileList","files","file","handleDrop","handleClick","handleChange","handleKeyDown","containerStyle","iconStyle","textStyle","helperStyle","errorStyle","jsxs","cx","jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),y=require("react"),S=require("../../../utils/styles.cjs"),h={sm:{fontSize:11,iconSize:12,gap:4},md:{fontSize:12,iconSize:14,gap:6},lg:{fontSize:14,iconSize:16,gap:8}};function x({size:r}){return e.jsx("svg",{width:r,height:r,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:e.jsx("path",{d:"M8 5v3m0 2.5h.007M14 8A6 6 0 112 8a6 6 0 0112 0z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}const o=y.forwardRef(function({size:t="md",children:n,showIcon:s=!0,icon:l,className:c,style:a,testId:d,...f},u){const i=h[t],g={display:"inline-flex",alignItems:"center",gap:i.gap,fontSize:i.fontSize,fontWeight:500,color:"var(--brycks-error-default)",lineHeight:1.4,...a},p={display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0};return n?e.jsxs("span",{ref:u,className:S.cx("brycks-field-error",`brycks-field-error--${t}`,c),style:g,role:"alert","aria-live":"polite","data-testid":d,...f,children:[s&&e.jsx("span",{style:p,children:l||e.jsx(x,{size:i.iconSize})}),n]}):null});o.displayName="FieldError";exports.FieldError=o;
|
|
2
|
+
//# sourceMappingURL=FieldError.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FieldError.cjs","sources":["../../../../src/components/form/FieldError/FieldError.tsx"],"sourcesContent":["/**\n * FieldError Component\n *\n * Displays form field error messages with consistent styling.\n * Includes an optional icon and proper accessibility attributes.\n */\n\nimport { forwardRef, type CSSProperties, type HTMLAttributes, type ReactNode } from 'react'\nimport { cx } from '../../../utils/styles'\n\nexport type FieldErrorSize = 'sm' | 'md' | 'lg'\n\nexport interface FieldErrorProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'children'> {\n /** Error size */\n size?: FieldErrorSize\n /** Error message */\n children: ReactNode\n /** Whether to show the error icon */\n showIcon?: boolean\n /** Custom icon */\n icon?: ReactNode\n /** Custom class name */\n className?: string\n /** Test ID */\n testId?: string\n}\n\nconst sizeConfig: Record<FieldErrorSize, { fontSize: number; iconSize: number; gap: number }> = {\n sm: { fontSize: 11, iconSize: 12, gap: 4 },\n md: { fontSize: 12, iconSize: 14, gap: 6 },\n lg: { fontSize: 14, iconSize: 16, gap: 8 },\n}\n\nfunction ErrorIcon({ size }: { size: number }) {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M8 5v3m0 2.5h.007M14 8A6 6 0 112 8a6 6 0 0112 0z\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n )\n}\n\nexport const FieldError = forwardRef<HTMLSpanElement, FieldErrorProps>(function FieldError(\n {\n size = 'md',\n children,\n showIcon = true,\n icon,\n className,\n style,\n testId,\n ...props\n },\n ref\n) {\n const config = sizeConfig[size]\n\n const errorStyle: CSSProperties = {\n display: 'inline-flex',\n alignItems: 'center',\n gap: config.gap,\n fontSize: config.fontSize,\n fontWeight: 500,\n color: 'var(--brycks-error-default)',\n lineHeight: 1.4,\n ...style,\n }\n\n const iconStyle: CSSProperties = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n }\n\n if (!children) return null\n\n return (\n <span\n ref={ref}\n className={cx('brycks-field-error', `brycks-field-error--${size}`, className)}\n style={errorStyle}\n role=\"alert\"\n aria-live=\"polite\"\n data-testid={testId}\n {...props}\n >\n {showIcon && (\n <span style={iconStyle}>\n {icon || <ErrorIcon size={config.iconSize} />}\n </span>\n )}\n {children}\n </span>\n )\n})\n\nFieldError.displayName = 'FieldError'\n"],"names":["sizeConfig","ErrorIcon","size","jsx","FieldError","forwardRef","children","showIcon","icon","className","style","testId","props","ref","config","errorStyle","iconStyle","jsxs","cx"],"mappings":"+KA2BMA,EAA0F,CAC9F,GAAI,CAAE,SAAU,GAAI,SAAU,GAAI,IAAK,CAAA,EACvC,GAAI,CAAE,SAAU,GAAI,SAAU,GAAI,IAAK,CAAA,EACvC,GAAI,CAAE,SAAU,GAAI,SAAU,GAAI,IAAK,CAAA,CACzC,EAEA,SAASC,EAAU,CAAE,KAAAC,GAA0B,CAC7C,OACEC,EAAAA,IAAC,MAAA,CACC,MAAOD,EACP,OAAQA,EACR,QAAQ,YACR,KAAK,OACL,cAAY,OAEZ,SAAAC,EAAAA,IAAC,OAAA,CACC,EAAE,mDACF,OAAO,eACP,YAAY,MACZ,cAAc,QACd,eAAe,OAAA,CAAA,CACjB,CAAA,CAGN,CAEO,MAAMC,EAAaC,EAAAA,WAA6C,SACrE,CACE,KAAAH,EAAO,KACP,SAAAI,EACA,SAAAC,EAAW,GACX,KAAAC,EACA,UAAAC,EACA,MAAAC,EACA,OAAAC,EACA,GAAGC,CACL,EACAC,EACA,CACA,MAAMC,EAASd,EAAWE,CAAI,EAExBa,EAA4B,CAChC,QAAS,cACT,WAAY,SACZ,IAAKD,EAAO,IACZ,SAAUA,EAAO,SACjB,WAAY,IACZ,MAAO,8BACP,WAAY,IACZ,GAAGJ,CAAA,EAGCM,EAA2B,CAC/B,QAAS,OACT,WAAY,SACZ,eAAgB,SAChB,WAAY,CAAA,EAGd,OAAKV,EAGHW,EAAAA,KAAC,OAAA,CACC,IAAAJ,EACA,UAAWK,EAAAA,GAAG,qBAAsB,uBAAuBhB,CAAI,GAAIO,CAAS,EAC5E,MAAOM,EACP,KAAK,QACL,YAAU,SACV,cAAaJ,EACZ,GAAGC,EAEH,SAAA,CAAAL,GACCJ,EAAAA,IAAC,OAAA,CAAK,MAAOa,EACV,SAAAR,SAASP,EAAA,CAAU,KAAMa,EAAO,QAAA,CAAU,CAAA,CAC7C,EAEDR,CAAA,CAAA,CAAA,EAjBiB,IAoBxB,CAAC,EAEDF,EAAW,YAAc"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { jsxs as m, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as u } from "react";
|
|
3
|
+
import { cx as h } from "../../../utils/styles.js";
|
|
4
|
+
const S = {
|
|
5
|
+
sm: { fontSize: 11, iconSize: 12, gap: 4 },
|
|
6
|
+
md: { fontSize: 12, iconSize: 14, gap: 6 },
|
|
7
|
+
lg: { fontSize: 14, iconSize: 16, gap: 8 }
|
|
8
|
+
};
|
|
9
|
+
function y({ size: r }) {
|
|
10
|
+
return /* @__PURE__ */ e(
|
|
11
|
+
"svg",
|
|
12
|
+
{
|
|
13
|
+
width: r,
|
|
14
|
+
height: r,
|
|
15
|
+
viewBox: "0 0 16 16",
|
|
16
|
+
fill: "none",
|
|
17
|
+
"aria-hidden": "true",
|
|
18
|
+
children: /* @__PURE__ */ e(
|
|
19
|
+
"path",
|
|
20
|
+
{
|
|
21
|
+
d: "M8 5v3m0 2.5h.007M14 8A6 6 0 112 8a6 6 0 0112 0z",
|
|
22
|
+
stroke: "currentColor",
|
|
23
|
+
strokeWidth: "1.5",
|
|
24
|
+
strokeLinecap: "round",
|
|
25
|
+
strokeLinejoin: "round"
|
|
26
|
+
}
|
|
27
|
+
)
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
const z = u(function({
|
|
32
|
+
size: o = "md",
|
|
33
|
+
children: n,
|
|
34
|
+
showIcon: t = !0,
|
|
35
|
+
icon: l,
|
|
36
|
+
className: s,
|
|
37
|
+
style: a,
|
|
38
|
+
testId: c,
|
|
39
|
+
...f
|
|
40
|
+
}, d) {
|
|
41
|
+
const i = S[o], p = {
|
|
42
|
+
display: "inline-flex",
|
|
43
|
+
alignItems: "center",
|
|
44
|
+
gap: i.gap,
|
|
45
|
+
fontSize: i.fontSize,
|
|
46
|
+
fontWeight: 500,
|
|
47
|
+
color: "var(--brycks-error-default)",
|
|
48
|
+
lineHeight: 1.4,
|
|
49
|
+
...a
|
|
50
|
+
}, g = {
|
|
51
|
+
display: "flex",
|
|
52
|
+
alignItems: "center",
|
|
53
|
+
justifyContent: "center",
|
|
54
|
+
flexShrink: 0
|
|
55
|
+
};
|
|
56
|
+
return n ? /* @__PURE__ */ m(
|
|
57
|
+
"span",
|
|
58
|
+
{
|
|
59
|
+
ref: d,
|
|
60
|
+
className: h("brycks-field-error", `brycks-field-error--${o}`, s),
|
|
61
|
+
style: p,
|
|
62
|
+
role: "alert",
|
|
63
|
+
"aria-live": "polite",
|
|
64
|
+
"data-testid": c,
|
|
65
|
+
...f,
|
|
66
|
+
children: [
|
|
67
|
+
t && /* @__PURE__ */ e("span", { style: g, children: l || /* @__PURE__ */ e(y, { size: i.iconSize }) }),
|
|
68
|
+
n
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
) : null;
|
|
72
|
+
});
|
|
73
|
+
z.displayName = "FieldError";
|
|
74
|
+
export {
|
|
75
|
+
z as FieldError
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=FieldError.js.map
|