frey-ui 1.0.11 → 1.0.13
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/README.md +35 -1
- package/dist/cjs/Accordion/accordion.css +80 -0
- package/dist/cjs/Accordion/accordion.module.css.cjs +2 -1
- package/dist/cjs/Accordion/index.cjs +3 -3
- package/dist/cjs/Alert/alert.css +63 -0
- package/dist/cjs/Alert/alert.module.css.cjs +2 -1
- package/dist/cjs/Alert/index.cjs +8 -5
- package/dist/cjs/Avatar/avatar.css +107 -0
- package/dist/cjs/Avatar/avatar.module.css.cjs +2 -1
- package/dist/cjs/Badge/badge.css +75 -0
- package/dist/cjs/Badge/badge.module.css.cjs +10 -0
- package/dist/cjs/Badge/index.cjs +37 -0
- package/dist/cjs/Box/box.css +3 -0
- package/dist/cjs/Box/box.module.css.cjs +10 -0
- package/dist/cjs/Box/index.cjs +136 -0
- package/dist/cjs/Breadcrumbs/breadcrumbs.css +34 -0
- package/dist/cjs/Breadcrumbs/breadcrumbs.module.css.cjs +10 -0
- package/dist/cjs/Breadcrumbs/index.cjs +46 -0
- package/dist/cjs/Button/button.css +112 -0
- package/dist/cjs/Button/button.module.css.cjs +2 -1
- package/dist/cjs/Button/index.cjs +29 -4
- package/dist/cjs/Card/card.css +37 -0
- package/dist/cjs/Card/card.module.css.cjs +2 -1
- package/dist/cjs/Checkbox/checkbox.css +135 -0
- package/dist/cjs/Checkbox/checkbox.module.css.cjs +2 -1
- package/dist/cjs/Checkbox/index.cjs +3 -2
- package/dist/cjs/Chip/chip.css +55 -0
- package/dist/cjs/Chip/chip.module.css.cjs +2 -1
- package/dist/cjs/Dialog/dialog.css +144 -0
- package/dist/cjs/Dialog/dialog.module.css.cjs +2 -1
- package/dist/cjs/Dialog/index.cjs +11 -11
- package/dist/cjs/DropdownMenu/dropdownmenu.css +61 -0
- package/dist/cjs/DropdownMenu/dropdownmenu.module.css.cjs +2 -1
- package/dist/cjs/DropdownMenu/index.cjs +112 -60
- package/dist/cjs/Field/field.css +51 -0
- package/dist/cjs/Field/field.module.css.cjs +2 -1
- package/dist/cjs/Flex/index.cjs +23 -0
- package/dist/cjs/Grid/index.cjs +33 -0
- package/dist/cjs/Icons/CheckIcon.cjs +12 -0
- package/dist/cjs/Icons/ChevronDownIcon.cjs +12 -0
- package/dist/cjs/Icons/CircleCheckIcon.cjs +12 -0
- package/dist/cjs/Icons/CircleInfoIcon.cjs +12 -0
- package/dist/cjs/Icons/CircleXIcon.cjs +12 -0
- package/dist/cjs/Icons/CloseIcon.cjs +12 -0
- package/dist/cjs/Icons/IconSvg.cjs +52 -0
- package/dist/cjs/Icons/MinusIcon.cjs +12 -0
- package/dist/cjs/Icons/TriangleAlertIcon.cjs +12 -0
- package/dist/cjs/Icons/icons.css +5 -0
- package/dist/cjs/Icons/icons.module.css.cjs +2 -1
- package/dist/cjs/Link/index.cjs +38 -0
- package/dist/cjs/Link/link.css +57 -0
- package/dist/cjs/Link/link.module.css.cjs +10 -0
- package/dist/cjs/Popover/index.cjs +71 -38
- package/dist/cjs/Popover/popover.css +25 -0
- package/dist/cjs/Popover/popover.module.css.cjs +2 -1
- package/dist/cjs/Progress/progress.css +86 -0
- package/dist/cjs/Progress/progress.module.css.cjs +2 -1
- package/dist/cjs/RadioGroup/radiogroup.css +59 -0
- package/dist/cjs/RadioGroup/radiogroup.module.css.cjs +2 -1
- package/dist/cjs/Select/index.cjs +3 -4
- package/dist/cjs/Select/select.css +77 -0
- package/dist/cjs/Select/select.module.css.cjs +2 -1
- package/dist/cjs/Skeleton/skeleton.css +29 -0
- package/dist/cjs/Skeleton/skeleton.module.css.cjs +2 -1
- package/dist/cjs/Spinner/spinner.css +35 -0
- package/dist/cjs/Spinner/spinner.module.css.cjs +2 -1
- package/dist/cjs/Stack/index.cjs +18 -0
- package/dist/cjs/Switch/switch.css +123 -0
- package/dist/cjs/Switch/switch.module.css.cjs +2 -1
- package/dist/cjs/Table/index.cjs +55 -0
- package/dist/cjs/Table/table.css +57 -0
- package/dist/cjs/Table/table.module.css.cjs +10 -0
- package/dist/cjs/Tabs/index.cjs +50 -21
- package/dist/cjs/Tabs/tabs.css +62 -0
- package/dist/cjs/Tabs/tabs.module.css.cjs +2 -1
- package/dist/cjs/TextInput/index.cjs +7 -15
- package/dist/cjs/TextInput/textinput.css +93 -0
- package/dist/cjs/TextInput/textinput.module.css.cjs +2 -1
- package/dist/cjs/Textarea/index.cjs +2 -3
- package/dist/cjs/Textarea/textarea.css +62 -0
- package/dist/cjs/Textarea/textarea.module.css.cjs +2 -1
- package/dist/cjs/ThemeProvider/index.cjs +4 -1
- package/dist/cjs/ThemeProvider/themeprovider.css +3 -0
- package/dist/cjs/ThemeProvider/themeprovider.module.css.cjs +2 -1
- package/dist/cjs/Toast/index.cjs +15 -11
- package/dist/cjs/Toast/toast.css +151 -0
- package/dist/cjs/Toast/toast.module.css.cjs +2 -1
- package/dist/cjs/Tooltip/index.cjs +38 -67
- package/dist/cjs/Tooltip/tooltip.css +26 -0
- package/dist/cjs/Tooltip/tooltip.module.css.cjs +2 -1
- package/dist/cjs/hooks/floatingConfig.cjs +24 -0
- package/dist/cjs/hooks/useRovingCollection.cjs +107 -0
- package/dist/cjs/index.cjs +75 -51
- package/dist/cjs/theme.css +243 -0
- package/dist/cjs/utils/Portal.cjs +49 -0
- package/dist/cjs/utils/aria.cjs +14 -0
- package/dist/esm/Accordion/accordion.css +80 -0
- package/dist/esm/Accordion/accordion.module.css.mjs +2 -1
- package/dist/esm/Accordion/index.mjs +2 -2
- package/dist/esm/Alert/alert.css +63 -0
- package/dist/esm/Alert/alert.module.css.mjs +2 -1
- package/dist/esm/Alert/index.mjs +4 -1
- package/dist/esm/Avatar/avatar.css +107 -0
- package/dist/esm/Avatar/avatar.module.css.mjs +2 -1
- package/dist/esm/Badge/badge.css +75 -0
- package/dist/esm/Badge/badge.module.css.mjs +6 -0
- package/dist/esm/Badge/index.mjs +33 -0
- package/dist/esm/Box/box.css +3 -0
- package/dist/esm/Box/box.module.css.mjs +6 -0
- package/dist/esm/Box/index.mjs +132 -0
- package/dist/esm/Breadcrumbs/breadcrumbs.css +34 -0
- package/dist/esm/Breadcrumbs/breadcrumbs.module.css.mjs +6 -0
- package/dist/esm/Breadcrumbs/index.mjs +41 -0
- package/dist/esm/Button/button.css +112 -0
- package/dist/esm/Button/button.module.css.mjs +2 -1
- package/dist/esm/Button/index.mjs +30 -5
- package/dist/esm/Card/card.css +37 -0
- package/dist/esm/Card/card.module.css.mjs +2 -1
- package/dist/esm/Checkbox/checkbox.css +135 -0
- package/dist/esm/Checkbox/checkbox.module.css.mjs +2 -1
- package/dist/esm/Checkbox/index.mjs +2 -1
- package/dist/esm/Chip/chip.css +55 -0
- package/dist/esm/Chip/chip.module.css.mjs +2 -1
- package/dist/esm/Dialog/dialog.css +144 -0
- package/dist/esm/Dialog/dialog.module.css.mjs +2 -1
- package/dist/esm/Dialog/index.mjs +11 -11
- package/dist/esm/DropdownMenu/dropdownmenu.css +61 -0
- package/dist/esm/DropdownMenu/dropdownmenu.module.css.mjs +2 -1
- package/dist/esm/DropdownMenu/index.mjs +113 -61
- package/dist/esm/Field/field.css +51 -0
- package/dist/esm/Field/field.module.css.mjs +2 -1
- package/dist/esm/Flex/index.mjs +19 -0
- package/dist/esm/Grid/index.mjs +29 -0
- package/dist/esm/Icons/CheckIcon.mjs +10 -0
- package/dist/esm/Icons/ChevronDownIcon.mjs +10 -0
- package/dist/esm/Icons/CircleCheckIcon.mjs +10 -0
- package/dist/esm/Icons/CircleInfoIcon.mjs +10 -0
- package/dist/esm/Icons/CircleXIcon.mjs +10 -0
- package/dist/esm/Icons/CloseIcon.mjs +10 -0
- package/dist/esm/Icons/IconSvg.mjs +50 -0
- package/dist/esm/Icons/MinusIcon.mjs +10 -0
- package/dist/esm/Icons/TriangleAlertIcon.mjs +10 -0
- package/dist/esm/Icons/icons.css +5 -0
- package/dist/esm/Icons/icons.module.css.mjs +2 -1
- package/dist/esm/Link/index.mjs +34 -0
- package/dist/esm/Link/link.css +57 -0
- package/dist/esm/Link/link.module.css.mjs +6 -0
- package/dist/esm/Popover/index.mjs +72 -39
- package/dist/esm/Popover/popover.css +25 -0
- package/dist/esm/Popover/popover.module.css.mjs +2 -1
- package/dist/esm/Progress/progress.css +86 -0
- package/dist/esm/Progress/progress.module.css.mjs +2 -1
- package/dist/esm/RadioGroup/radiogroup.css +59 -0
- package/dist/esm/RadioGroup/radiogroup.module.css.mjs +2 -1
- package/dist/esm/Select/index.mjs +3 -4
- package/dist/esm/Select/select.css +77 -0
- package/dist/esm/Select/select.module.css.mjs +2 -1
- package/dist/esm/Skeleton/skeleton.css +29 -0
- package/dist/esm/Skeleton/skeleton.module.css.mjs +2 -1
- package/dist/esm/Spinner/spinner.css +35 -0
- package/dist/esm/Spinner/spinner.module.css.mjs +2 -1
- package/dist/esm/Stack/index.mjs +14 -0
- package/dist/esm/Switch/switch.css +123 -0
- package/dist/esm/Switch/switch.module.css.mjs +2 -1
- package/dist/esm/Table/index.mjs +50 -0
- package/dist/esm/Table/table.css +57 -0
- package/dist/esm/Table/table.module.css.mjs +6 -0
- package/dist/esm/Tabs/index.mjs +50 -21
- package/dist/esm/Tabs/tabs.css +62 -0
- package/dist/esm/Tabs/tabs.module.css.mjs +2 -1
- package/dist/esm/TextInput/index.mjs +9 -17
- package/dist/esm/TextInput/textinput.css +93 -0
- package/dist/esm/TextInput/textinput.module.css.mjs +2 -1
- package/dist/esm/Textarea/index.mjs +2 -3
- package/dist/esm/Textarea/textarea.css +62 -0
- package/dist/esm/Textarea/textarea.module.css.mjs +2 -1
- package/dist/esm/ThemeProvider/index.mjs +5 -3
- package/dist/esm/ThemeProvider/themeprovider.css +3 -0
- package/dist/esm/ThemeProvider/themeprovider.module.css.mjs +2 -1
- package/dist/esm/Toast/index.mjs +10 -6
- package/dist/esm/Toast/toast.css +151 -0
- package/dist/esm/Toast/toast.module.css.mjs +2 -1
- package/dist/esm/Tooltip/index.mjs +38 -67
- package/dist/esm/Tooltip/tooltip.css +26 -0
- package/dist/esm/Tooltip/tooltip.module.css.mjs +2 -1
- package/dist/esm/hooks/floatingConfig.mjs +20 -0
- package/dist/esm/hooks/useRovingCollection.mjs +105 -0
- package/dist/esm/index.mjs +18 -1
- package/dist/esm/theme.css +243 -0
- package/dist/esm/utils/Portal.mjs +45 -0
- package/dist/esm/utils/aria.mjs +12 -0
- package/dist/index.d.ts +187 -26
- package/dist/types/src/Badge/index.d.ts +13 -0
- package/dist/types/src/Box/index.d.ts +47 -0
- package/dist/types/src/Breadcrumbs/index.d.ts +29 -0
- package/dist/types/src/Button/index.d.ts +4 -7
- package/dist/types/src/DropdownMenu/index.d.ts +2 -2
- package/dist/types/src/Flex/index.d.ts +18 -0
- package/dist/types/src/Grid/index.d.ts +18 -0
- package/dist/types/src/Icons/CheckIcon.d.ts +4 -0
- package/dist/types/src/Icons/ChevronDownIcon.d.ts +4 -0
- package/dist/types/src/Icons/CircleCheckIcon.d.ts +4 -0
- package/dist/types/src/Icons/CircleInfoIcon.d.ts +4 -0
- package/dist/types/src/Icons/CircleXIcon.d.ts +4 -0
- package/dist/types/src/Icons/CloseIcon.d.ts +4 -0
- package/dist/types/src/Icons/IconSvg.d.ts +14 -0
- package/dist/types/src/Icons/MinusIcon.d.ts +4 -0
- package/dist/types/src/Icons/TriangleAlertIcon.d.ts +4 -0
- package/dist/types/src/Icons/index.d.ts +9 -30
- package/dist/types/src/Link/index.d.ts +11 -0
- package/dist/types/src/Stack/index.d.ts +15 -0
- package/dist/types/src/Table/index.d.ts +40 -0
- package/dist/types/src/ThemeProvider/index.d.ts +5 -0
- package/dist/types/src/hooks/floatingConfig.d.ts +6 -0
- package/dist/types/src/hooks/useRovingCollection.d.ts +16 -0
- package/dist/types/src/index.d.ts +18 -2
- package/dist/types/src/utils/Portal.d.ts +8 -0
- package/dist/types/src/utils/aria.d.ts +3 -0
- package/dist/types/src/utils/testUtils.d.ts +7 -0
- package/package.json +49 -5
- package/dist/cjs/Accordion/accordion.module.css.cjs.map +0 -1
- package/dist/cjs/Accordion/index.cjs.map +0 -1
- package/dist/cjs/Alert/alert.module.css.cjs.map +0 -1
- package/dist/cjs/Alert/index.cjs.map +0 -1
- package/dist/cjs/Avatar/avatar.module.css.cjs.map +0 -1
- package/dist/cjs/Avatar/index.cjs.map +0 -1
- package/dist/cjs/Button/button.module.css.cjs.map +0 -1
- package/dist/cjs/Button/index.cjs.map +0 -1
- package/dist/cjs/Card/card.module.css.cjs.map +0 -1
- package/dist/cjs/Card/index.cjs.map +0 -1
- package/dist/cjs/Checkbox/checkbox.module.css.cjs.map +0 -1
- package/dist/cjs/Checkbox/index.cjs.map +0 -1
- package/dist/cjs/Chip/chip.module.css.cjs.map +0 -1
- package/dist/cjs/Chip/index.cjs.map +0 -1
- package/dist/cjs/Dialog/dialog.module.css.cjs.map +0 -1
- package/dist/cjs/Dialog/index.cjs.map +0 -1
- package/dist/cjs/DropdownMenu/dropdownmenu.module.css.cjs.map +0 -1
- package/dist/cjs/DropdownMenu/index.cjs.map +0 -1
- package/dist/cjs/Field/field.module.css.cjs.map +0 -1
- package/dist/cjs/Field/index.cjs.map +0 -1
- package/dist/cjs/Icons/icons.module.css.cjs.map +0 -1
- package/dist/cjs/Icons/index.cjs +0 -96
- package/dist/cjs/Icons/index.cjs.map +0 -1
- package/dist/cjs/Popover/index.cjs.map +0 -1
- package/dist/cjs/Popover/popover.module.css.cjs.map +0 -1
- package/dist/cjs/Progress/index.cjs.map +0 -1
- package/dist/cjs/Progress/progress.module.css.cjs.map +0 -1
- package/dist/cjs/RadioGroup/index.cjs.map +0 -1
- package/dist/cjs/RadioGroup/radiogroup.module.css.cjs.map +0 -1
- package/dist/cjs/Select/index.cjs.map +0 -1
- package/dist/cjs/Select/select.module.css.cjs.map +0 -1
- package/dist/cjs/Skeleton/index.cjs.map +0 -1
- package/dist/cjs/Skeleton/skeleton.module.css.cjs.map +0 -1
- package/dist/cjs/Spinner/index.cjs.map +0 -1
- package/dist/cjs/Spinner/spinner.module.css.cjs.map +0 -1
- package/dist/cjs/Switch/index.cjs.map +0 -1
- package/dist/cjs/Switch/switch.module.css.cjs.map +0 -1
- package/dist/cjs/Tabs/index.cjs.map +0 -1
- package/dist/cjs/Tabs/tabs.module.css.cjs.map +0 -1
- package/dist/cjs/TextInput/index.cjs.map +0 -1
- package/dist/cjs/TextInput/textinput.module.css.cjs.map +0 -1
- package/dist/cjs/Textarea/index.cjs.map +0 -1
- package/dist/cjs/Textarea/textarea.module.css.cjs.map +0 -1
- package/dist/cjs/ThemeProvider/index.cjs.map +0 -1
- package/dist/cjs/ThemeProvider/themeprovider.module.css.cjs.map +0 -1
- package/dist/cjs/Toast/index.cjs.map +0 -1
- package/dist/cjs/Toast/toast.module.css.cjs.map +0 -1
- package/dist/cjs/Tooltip/index.cjs.map +0 -1
- package/dist/cjs/Tooltip/tooltip.module.css.cjs.map +0 -1
- package/dist/cjs/hooks/useControllableState.cjs.map +0 -1
- package/dist/cjs/hooks/useDismiss.cjs +0 -44
- package/dist/cjs/hooks/useDismiss.cjs.map +0 -1
- package/dist/cjs/hooks/useFloatingPosition.cjs +0 -68
- package/dist/cjs/hooks/useFloatingPosition.cjs.map +0 -1
- package/dist/cjs/index.cjs.map +0 -1
- package/dist/cjs/utils/clamp.cjs +0 -9
- package/dist/cjs/utils/clamp.cjs.map +0 -1
- package/dist/cjs/utils/mergeRefs.cjs.map +0 -1
- package/dist/cjs/utils/slot.cjs.map +0 -1
- package/dist/esm/Accordion/accordion.module.css.mjs.map +0 -1
- package/dist/esm/Accordion/index.mjs.map +0 -1
- package/dist/esm/Alert/alert.module.css.mjs.map +0 -1
- package/dist/esm/Alert/index.mjs.map +0 -1
- package/dist/esm/Avatar/avatar.module.css.mjs.map +0 -1
- package/dist/esm/Avatar/index.mjs.map +0 -1
- package/dist/esm/Button/button.module.css.mjs.map +0 -1
- package/dist/esm/Button/index.mjs.map +0 -1
- package/dist/esm/Card/card.module.css.mjs.map +0 -1
- package/dist/esm/Card/index.mjs.map +0 -1
- package/dist/esm/Checkbox/checkbox.module.css.mjs.map +0 -1
- package/dist/esm/Checkbox/index.mjs.map +0 -1
- package/dist/esm/Chip/chip.module.css.mjs.map +0 -1
- package/dist/esm/Chip/index.mjs.map +0 -1
- package/dist/esm/Dialog/dialog.module.css.mjs.map +0 -1
- package/dist/esm/Dialog/index.mjs.map +0 -1
- package/dist/esm/DropdownMenu/dropdownmenu.module.css.mjs.map +0 -1
- package/dist/esm/DropdownMenu/index.mjs.map +0 -1
- package/dist/esm/Field/field.module.css.mjs.map +0 -1
- package/dist/esm/Field/index.mjs.map +0 -1
- package/dist/esm/Icons/icons.module.css.mjs.map +0 -1
- package/dist/esm/Icons/index.mjs +0 -84
- package/dist/esm/Icons/index.mjs.map +0 -1
- package/dist/esm/Popover/index.mjs.map +0 -1
- package/dist/esm/Popover/popover.module.css.mjs.map +0 -1
- package/dist/esm/Progress/index.mjs.map +0 -1
- package/dist/esm/Progress/progress.module.css.mjs.map +0 -1
- package/dist/esm/RadioGroup/index.mjs.map +0 -1
- package/dist/esm/RadioGroup/radiogroup.module.css.mjs.map +0 -1
- package/dist/esm/Select/index.mjs.map +0 -1
- package/dist/esm/Select/select.module.css.mjs.map +0 -1
- package/dist/esm/Skeleton/index.mjs.map +0 -1
- package/dist/esm/Skeleton/skeleton.module.css.mjs.map +0 -1
- package/dist/esm/Spinner/index.mjs.map +0 -1
- package/dist/esm/Spinner/spinner.module.css.mjs.map +0 -1
- package/dist/esm/Switch/index.mjs.map +0 -1
- package/dist/esm/Switch/switch.module.css.mjs.map +0 -1
- package/dist/esm/Tabs/index.mjs.map +0 -1
- package/dist/esm/Tabs/tabs.module.css.mjs.map +0 -1
- package/dist/esm/TextInput/index.mjs.map +0 -1
- package/dist/esm/TextInput/textinput.module.css.mjs.map +0 -1
- package/dist/esm/Textarea/index.mjs.map +0 -1
- package/dist/esm/Textarea/textarea.module.css.mjs.map +0 -1
- package/dist/esm/ThemeProvider/index.mjs.map +0 -1
- package/dist/esm/ThemeProvider/themeprovider.module.css.mjs.map +0 -1
- package/dist/esm/Toast/index.mjs.map +0 -1
- package/dist/esm/Toast/toast.module.css.mjs.map +0 -1
- package/dist/esm/Tooltip/index.mjs.map +0 -1
- package/dist/esm/Tooltip/tooltip.module.css.mjs.map +0 -1
- package/dist/esm/hooks/useControllableState.mjs.map +0 -1
- package/dist/esm/hooks/useDismiss.mjs +0 -42
- package/dist/esm/hooks/useDismiss.mjs.map +0 -1
- package/dist/esm/hooks/useFloatingPosition.mjs +0 -66
- package/dist/esm/hooks/useFloatingPosition.mjs.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/utils/clamp.mjs +0 -7
- package/dist/esm/utils/clamp.mjs.map +0 -1
- package/dist/esm/utils/mergeRefs.mjs.map +0 -1
- package/dist/esm/utils/slot.mjs.map +0 -1
- package/dist/styles.css +0 -3
- package/dist/styles.css.map +0 -1
- package/dist/types/src/Accordion/index.d.ts.map +0 -1
- package/dist/types/src/Alert/index.d.ts.map +0 -1
- package/dist/types/src/Avatar/index.d.ts.map +0 -1
- package/dist/types/src/Button/index.d.ts.map +0 -1
- package/dist/types/src/Card/index.d.ts.map +0 -1
- package/dist/types/src/Checkbox/index.d.ts.map +0 -1
- package/dist/types/src/Chip/index.d.ts.map +0 -1
- package/dist/types/src/Dialog/index.d.ts.map +0 -1
- package/dist/types/src/DropdownMenu/index.d.ts.map +0 -1
- package/dist/types/src/Field/index.d.ts.map +0 -1
- package/dist/types/src/Icons/index.d.ts.map +0 -1
- package/dist/types/src/Popover/index.d.ts.map +0 -1
- package/dist/types/src/Progress/index.d.ts.map +0 -1
- package/dist/types/src/RadioGroup/index.d.ts.map +0 -1
- package/dist/types/src/Select/index.d.ts.map +0 -1
- package/dist/types/src/Skeleton/index.d.ts.map +0 -1
- package/dist/types/src/Spinner/index.d.ts.map +0 -1
- package/dist/types/src/Switch/index.d.ts.map +0 -1
- package/dist/types/src/Tabs/index.d.ts.map +0 -1
- package/dist/types/src/TextInput/index.d.ts.map +0 -1
- package/dist/types/src/Textarea/index.d.ts.map +0 -1
- package/dist/types/src/ThemeProvider/index.d.ts.map +0 -1
- package/dist/types/src/Toast/index.d.ts.map +0 -1
- package/dist/types/src/Tooltip/index.d.ts.map +0 -1
- package/dist/types/src/hooks/useControllableState.d.ts.map +0 -1
- package/dist/types/src/hooks/useDismiss.d.ts +0 -18
- package/dist/types/src/hooks/useDismiss.d.ts.map +0 -1
- package/dist/types/src/hooks/useFloatingPosition.d.ts +0 -26
- package/dist/types/src/hooks/useFloatingPosition.d.ts.map +0 -1
- package/dist/types/src/index.d.ts.map +0 -1
- package/dist/types/src/types/polymorphic.d.ts.map +0 -1
- package/dist/types/src/utils/clamp.d.ts +0 -2
- package/dist/types/src/utils/clamp.d.ts.map +0 -1
- package/dist/types/src/utils/mergeRefs.d.ts.map +0 -1
- package/dist/types/src/utils/slot.d.ts.map +0 -1
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
.switch-container_63905009 {
|
|
2
|
+
display: inline-flex;
|
|
3
|
+
align-items: center;
|
|
4
|
+
gap: 0.5em;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.switch_011a552d {
|
|
8
|
+
position: relative;
|
|
9
|
+
display: inline-block;
|
|
10
|
+
flex-shrink: 0;
|
|
11
|
+
width: var(--switch-width);
|
|
12
|
+
height: var(--switch-height);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.switch-sm_3a85b947 {
|
|
16
|
+
font-size: 14px;
|
|
17
|
+
|
|
18
|
+
--switch-width: 2.8em;
|
|
19
|
+
--switch-height: 1.6em;
|
|
20
|
+
--thumb-size: 1.1em;
|
|
21
|
+
--thumb-padding: 0.25em;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.switch-md_e3005d26 {
|
|
25
|
+
font-size: 17px;
|
|
26
|
+
|
|
27
|
+
--switch-width: 3.5em;
|
|
28
|
+
--switch-height: 2em;
|
|
29
|
+
--thumb-size: 1.4em;
|
|
30
|
+
--thumb-padding: 0.3em;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.switch-lg_daceb03b {
|
|
34
|
+
font-size: 20px;
|
|
35
|
+
|
|
36
|
+
--switch-width: 4em;
|
|
37
|
+
--switch-height: 2.2em;
|
|
38
|
+
--thumb-size: 1.6em;
|
|
39
|
+
--thumb-padding: 0.3em;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.switch_011a552d input {
|
|
43
|
+
opacity: 0;
|
|
44
|
+
width: 100%;
|
|
45
|
+
height: 100%;
|
|
46
|
+
position: absolute;
|
|
47
|
+
inset: 0;
|
|
48
|
+
z-index: 1;
|
|
49
|
+
cursor: pointer;
|
|
50
|
+
margin: 0;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.slider_5603991a {
|
|
54
|
+
position: absolute;
|
|
55
|
+
cursor: pointer;
|
|
56
|
+
inset: 0;
|
|
57
|
+
background: var(--switch-track-inactive, var(--frey-switch-track-inactive));
|
|
58
|
+
border-radius: 50px;
|
|
59
|
+
transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.slider_5603991a::before {
|
|
63
|
+
position: absolute;
|
|
64
|
+
content: '';
|
|
65
|
+
height: var(--thumb-size);
|
|
66
|
+
width: var(--thumb-size);
|
|
67
|
+
left: var(--thumb-padding);
|
|
68
|
+
top: 50%;
|
|
69
|
+
transform: translateY(-50%);
|
|
70
|
+
background-color: var(--switch-thumb, var(--frey-switch-thumb));
|
|
71
|
+
border-radius: 50px;
|
|
72
|
+
box-shadow: var(--frey-shadow-thumb);
|
|
73
|
+
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.switch-disabled_f3161357 .slider_5603991a {
|
|
77
|
+
opacity: 0.5;
|
|
78
|
+
cursor: not-allowed;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.switch-disabled_f3161357 input {
|
|
82
|
+
cursor: not-allowed;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.switch_011a552d input:checked + .slider_5603991a {
|
|
86
|
+
background: var(--switch-track-active, var(--frey-switch-track-active));
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.switch_011a552d input:focus-visible + .slider_5603991a {
|
|
90
|
+
outline: 2px solid var(--switch-focus-ring, var(--frey-focus-ring));
|
|
91
|
+
outline-offset: 2px;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.switch_011a552d input:checked + .slider_5603991a::before {
|
|
95
|
+
left: calc(var(--switch-width) - var(--thumb-size) - var(--thumb-padding));
|
|
96
|
+
transform: translateY(-50%);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.switch-disabled_f3161357 {
|
|
100
|
+
cursor: not-allowed;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.label_3314af1a {
|
|
104
|
+
cursor: pointer;
|
|
105
|
+
user-select: none;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.switch-disabled_f3161357 + .label_3314af1a {
|
|
109
|
+
opacity: 0.5;
|
|
110
|
+
cursor: not-allowed;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.visually-hidden_75ccb710 {
|
|
114
|
+
position: absolute;
|
|
115
|
+
width: 1px;
|
|
116
|
+
height: 1px;
|
|
117
|
+
padding: 0;
|
|
118
|
+
margin: -1px;
|
|
119
|
+
overflow: hidden;
|
|
120
|
+
clip-path: inset(50%);
|
|
121
|
+
white-space: nowrap;
|
|
122
|
+
border: 0;
|
|
123
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
2
|
+
import './switch.css';
|
|
3
|
+
var styles = {"switch-container":"switch-container_63905009","switch":"switch_011a552d","switch-sm":"switch-sm_3a85b947","switch-md":"switch-md_e3005d26","switch-lg":"switch-lg_daceb03b","slider":"slider_5603991a","switch-disabled":"switch-disabled_f3161357","label":"label_3314af1a","visually-hidden":"visually-hidden_75ccb710"};
|
|
3
4
|
|
|
4
5
|
export { styles as default };
|
|
5
6
|
//# sourceMappingURL=switch.module.css.mjs.map
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import styles from './table.module.css.mjs';
|
|
6
|
+
|
|
7
|
+
const TableRoot = React.forwardRef(function Table({ containerClassName, containerStyle, className, ...props }, ref) {
|
|
8
|
+
return (jsx("div", { className: clsx(styles.table_container, containerClassName), style: containerStyle, children: jsx("table", { ref: ref, className: clsx(styles.table, className), ...props }) }));
|
|
9
|
+
});
|
|
10
|
+
TableRoot.displayName = 'Table';
|
|
11
|
+
const TableHeader = React.forwardRef(function TableHeader({ className, ...props }, ref) {
|
|
12
|
+
return (jsx("thead", { ref: ref, className: clsx(styles.table_header, className), ...props }));
|
|
13
|
+
});
|
|
14
|
+
TableHeader.displayName = 'Table.Header';
|
|
15
|
+
const TableBody = React.forwardRef(function TableBody({ className, ...props }, ref) {
|
|
16
|
+
return (jsx("tbody", { ref: ref, className: clsx(styles.table_body, className), ...props }));
|
|
17
|
+
});
|
|
18
|
+
TableBody.displayName = 'Table.Body';
|
|
19
|
+
const TableFooter = React.forwardRef(function TableFooter({ className, ...props }, ref) {
|
|
20
|
+
return (jsx("tfoot", { ref: ref, className: clsx(styles.table_footer, className), ...props }));
|
|
21
|
+
});
|
|
22
|
+
TableFooter.displayName = 'Table.Footer';
|
|
23
|
+
const TableRow = React.forwardRef(function TableRow({ className, ...props }, ref) {
|
|
24
|
+
return (jsx("tr", { ref: ref, className: clsx(styles.table_row, className), ...props }));
|
|
25
|
+
});
|
|
26
|
+
TableRow.displayName = 'Table.Row';
|
|
27
|
+
const TableHead = React.forwardRef(function TableHead({ className, scope, ...props }, ref) {
|
|
28
|
+
return (jsx("th", { ref: ref, scope: scope ?? 'col', className: clsx(styles.table_head, className), ...props }));
|
|
29
|
+
});
|
|
30
|
+
TableHead.displayName = 'Table.Head';
|
|
31
|
+
const TableCell = React.forwardRef(function TableCell({ className, ...props }, ref) {
|
|
32
|
+
return (jsx("td", { ref: ref, className: clsx(styles.table_cell, className), ...props }));
|
|
33
|
+
});
|
|
34
|
+
TableCell.displayName = 'Table.Cell';
|
|
35
|
+
const TableCaption = React.forwardRef(function TableCaption({ className, ...props }, ref) {
|
|
36
|
+
return (jsx("caption", { ref: ref, className: clsx(styles.table_caption, className), ...props }));
|
|
37
|
+
});
|
|
38
|
+
TableCaption.displayName = 'Table.Caption';
|
|
39
|
+
const Table = Object.assign(TableRoot, {
|
|
40
|
+
Header: TableHeader,
|
|
41
|
+
Body: TableBody,
|
|
42
|
+
Footer: TableFooter,
|
|
43
|
+
Row: TableRow,
|
|
44
|
+
Head: TableHead,
|
|
45
|
+
Cell: TableCell,
|
|
46
|
+
Caption: TableCaption
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
export { Table, Table as default };
|
|
50
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
.table_container_cf6dc21c {
|
|
2
|
+
width: 100%;
|
|
3
|
+
overflow-x: auto;
|
|
4
|
+
border: 1px solid var(--frey-color-border-subtle);
|
|
5
|
+
border-radius: var(--frey-radius-md);
|
|
6
|
+
background-color: var(--frey-color-surface);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.table_27cdf1b6 {
|
|
10
|
+
width: 100%;
|
|
11
|
+
min-width: 32rem;
|
|
12
|
+
border-collapse: collapse;
|
|
13
|
+
color: var(--frey-color-text);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.table_header_57ada4c2 {
|
|
17
|
+
background-color: var(--frey-color-surface-subtle);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.table_head_e4d54334 {
|
|
21
|
+
padding: 0.75rem 1rem;
|
|
22
|
+
color: var(--frey-color-text-secondary);
|
|
23
|
+
font-size: 0.8125rem;
|
|
24
|
+
font-weight: 600;
|
|
25
|
+
line-height: 1.4;
|
|
26
|
+
text-align: left;
|
|
27
|
+
border-bottom: 1px solid var(--frey-color-border-subtle);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.table_body_9c7a877f .table_row_a5c971f0:hover {
|
|
31
|
+
background-color: var(--frey-color-surface-hover);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.table_cell_5480c112 {
|
|
35
|
+
padding: 0.75rem 1rem;
|
|
36
|
+
font-size: 0.875rem;
|
|
37
|
+
line-height: 1.5;
|
|
38
|
+
border-bottom: 1px solid var(--frey-color-border-subtle);
|
|
39
|
+
vertical-align: middle;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.table_footer_17fb06bb {
|
|
43
|
+
background-color: var(--frey-color-surface-subtle);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.table_footer_17fb06bb .table_cell_5480c112 {
|
|
47
|
+
font-weight: 600;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.table_caption_f83ef240 {
|
|
51
|
+
caption-side: bottom;
|
|
52
|
+
text-align: left;
|
|
53
|
+
color: var(--frey-color-text-secondary);
|
|
54
|
+
font-size: 0.8125rem;
|
|
55
|
+
line-height: 1.4;
|
|
56
|
+
padding: 0.75rem 1rem;
|
|
57
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import './table.css';
|
|
3
|
+
var styles = {"table_container":"table_container_cf6dc21c","table":"table_27cdf1b6","table_header":"table_header_57ada4c2","table_head":"table_head_e4d54334","table_body":"table_body_9c7a877f","table_row":"table_row_a5c971f0","table_cell":"table_cell_5480c112","table_footer":"table_footer_17fb06bb","table_caption":"table_caption_f83ef240"};
|
|
4
|
+
|
|
5
|
+
export { styles as default };
|
|
6
|
+
//# sourceMappingURL=table.module.css.mjs.map
|
package/dist/esm/Tabs/index.mjs
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
import clsx from 'clsx';
|
|
4
4
|
import React, { createContext, useId, useState, useContext } from 'react';
|
|
5
|
+
import { useRovingCollection } from '../hooks/useRovingCollection.mjs';
|
|
6
|
+
import { mergeRefs } from '../utils/mergeRefs.mjs';
|
|
5
7
|
import styles from './tabs.module.css.mjs';
|
|
6
8
|
|
|
7
9
|
const TabsContext = createContext(null);
|
|
@@ -14,6 +16,7 @@ function useTabsContext() {
|
|
|
14
16
|
}
|
|
15
17
|
const TabsRoot = React.forwardRef(function Tabs({ value, defaultValue, onValueChange, className, ...props }, ref) {
|
|
16
18
|
const idPrefix = useId();
|
|
19
|
+
const triggerCollection = useRovingCollection();
|
|
17
20
|
const isControlled = value !== undefined;
|
|
18
21
|
const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue ?? '');
|
|
19
22
|
const currentValue = isControlled ? value : uncontrolledValue;
|
|
@@ -26,8 +29,9 @@ const TabsRoot = React.forwardRef(function Tabs({ value, defaultValue, onValueCh
|
|
|
26
29
|
const contextValue = React.useMemo(() => ({
|
|
27
30
|
value: currentValue,
|
|
28
31
|
onValueChange: handleValueChange,
|
|
29
|
-
idPrefix
|
|
30
|
-
|
|
32
|
+
idPrefix,
|
|
33
|
+
triggerCollection
|
|
34
|
+
}), [currentValue, handleValueChange, idPrefix, triggerCollection]);
|
|
31
35
|
return (jsx(TabsContext.Provider, { value: contextValue, children: jsx("div", { ref: ref, className: clsx(styles.tabs, className), ...props }) }));
|
|
32
36
|
});
|
|
33
37
|
TabsRoot.displayName = 'Tabs';
|
|
@@ -35,32 +39,57 @@ const TabsList = React.forwardRef(function TabsList({ className, ...props }, ref
|
|
|
35
39
|
return (jsx("div", { ref: ref, role: 'tablist', className: clsx(styles.tabs_list, className), ...props }));
|
|
36
40
|
});
|
|
37
41
|
TabsList.displayName = 'Tabs.List';
|
|
38
|
-
const TabsTrigger = React.forwardRef(function TabsTrigger({ value: triggerValue, className, ...props }, ref) {
|
|
39
|
-
const { value: selectedValue, onValueChange, idPrefix } = useTabsContext();
|
|
42
|
+
const TabsTrigger = React.forwardRef(function TabsTrigger({ value: triggerValue, className, disabled = false, ...props }, ref) {
|
|
43
|
+
const { value: selectedValue, onValueChange, idPrefix, triggerCollection } = useTabsContext();
|
|
40
44
|
const isSelected = selectedValue === triggerValue;
|
|
45
|
+
const triggerRef = React.useRef(null);
|
|
46
|
+
const mergedRef = mergeRefs(ref, triggerRef);
|
|
47
|
+
React.useEffect(() => {
|
|
48
|
+
triggerCollection.registerItem(triggerValue, triggerRef.current, {
|
|
49
|
+
disabled,
|
|
50
|
+
value: triggerValue
|
|
51
|
+
});
|
|
52
|
+
return () => {
|
|
53
|
+
triggerCollection.unregisterItem(triggerValue);
|
|
54
|
+
};
|
|
55
|
+
}, [triggerCollection, triggerValue, disabled]);
|
|
41
56
|
const handleKeyDown = (e) => {
|
|
42
|
-
|
|
43
|
-
if (
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
nextIndex = (currentIndex + 1) % triggerElements.length;
|
|
57
|
+
const currentId = triggerCollection.findItemIdByElement(e.currentTarget);
|
|
58
|
+
if (!currentId)
|
|
59
|
+
return;
|
|
60
|
+
if (e.key === 'ArrowRight') {
|
|
61
|
+
e.preventDefault();
|
|
62
|
+
const nextId = triggerCollection.focusNext(currentId);
|
|
63
|
+
if (nextId) {
|
|
64
|
+
onValueChange(nextId);
|
|
51
65
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
if (e.key === 'ArrowLeft') {
|
|
69
|
+
e.preventDefault();
|
|
70
|
+
const previousId = triggerCollection.focusPrevious(currentId);
|
|
71
|
+
if (previousId) {
|
|
72
|
+
onValueChange(previousId);
|
|
73
|
+
}
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (e.key === 'Home') {
|
|
77
|
+
e.preventDefault();
|
|
78
|
+
const firstId = triggerCollection.focusFirst();
|
|
79
|
+
if (firstId) {
|
|
80
|
+
onValueChange(firstId);
|
|
55
81
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
if (e.key === 'End') {
|
|
85
|
+
e.preventDefault();
|
|
86
|
+
const lastId = triggerCollection.focusLast();
|
|
87
|
+
if (lastId) {
|
|
88
|
+
onValueChange(lastId);
|
|
60
89
|
}
|
|
61
90
|
}
|
|
62
91
|
};
|
|
63
|
-
return (jsx("button", { ref:
|
|
92
|
+
return (jsx("button", { ref: mergedRef, type: 'button', role: 'tab', id: `${idPrefix}-tab-${triggerValue}`, "aria-controls": `${idPrefix}-panel-${triggerValue}`, "aria-selected": isSelected, tabIndex: isSelected ? 0 : -1, disabled: disabled, onClick: () => onValueChange(triggerValue), onKeyDown: handleKeyDown, className: clsx(styles.tabs_trigger, className), ...props }));
|
|
64
93
|
});
|
|
65
94
|
TabsTrigger.displayName = 'Tabs.Trigger';
|
|
66
95
|
const TabsContent = React.forwardRef(function TabsContent({ value: contentValue, className, children, ...props }, ref) {
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
.tabs_761198d1 {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.tabs_list_a61ad952 {
|
|
7
|
+
display: flex;
|
|
8
|
+
position: relative;
|
|
9
|
+
align-items: center;
|
|
10
|
+
border-bottom: 1px solid var(--frey-color-border-subtle);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.tabs_trigger_b24ac187 {
|
|
14
|
+
background: none;
|
|
15
|
+
border: none;
|
|
16
|
+
padding: 0.5rem 1rem;
|
|
17
|
+
font-size: 0.875rem;
|
|
18
|
+
font-weight: 500;
|
|
19
|
+
color: var(--frey-color-text-muted);
|
|
20
|
+
cursor: pointer;
|
|
21
|
+
position: relative;
|
|
22
|
+
transition: color 0.2s ease-in-out;
|
|
23
|
+
outline: none;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.tabs_trigger_b24ac187:hover {
|
|
27
|
+
color: var(--frey-color-text);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.tabs_trigger_b24ac187:focus-visible {
|
|
31
|
+
border-radius: var(--frey-radius-sm);
|
|
32
|
+
box-shadow:
|
|
33
|
+
0 0 0 2px var(--frey-color-surface),
|
|
34
|
+
0 0 0 4px var(--frey-color-focus-ring);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.tabs_trigger_b24ac187[aria-selected='true'] {
|
|
38
|
+
color: var(--frey-color-text-title);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.tabs_trigger_b24ac187::after {
|
|
42
|
+
content: '';
|
|
43
|
+
position: absolute;
|
|
44
|
+
bottom: -1px; /* Align with the border-bottom of tabs_list */
|
|
45
|
+
left: 0;
|
|
46
|
+
right: 0;
|
|
47
|
+
height: 2px;
|
|
48
|
+
background-color: transparent;
|
|
49
|
+
transition: background-color 0.2s ease-in-out;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.tabs_trigger_b24ac187[aria-selected='true']::after {
|
|
53
|
+
background-color: var(--frey-color-primary);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.tabs_content_53dbeb4b {
|
|
57
|
+
padding-top: 1rem;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.tabs_content_53dbeb4b[hidden] {
|
|
61
|
+
display: none;
|
|
62
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
2
|
+
import './tabs.css';
|
|
3
|
+
var styles = {"tabs":"tabs_761198d1","tabs_list":"tabs_list_a61ad952","tabs_trigger":"tabs_trigger_b24ac187","tabs_content":"tabs_content_53dbeb4b"};
|
|
3
4
|
|
|
4
5
|
export { styles as default };
|
|
5
6
|
//# sourceMappingURL=tabs.module.css.mjs.map
|
|
@@ -1,25 +1,17 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
3
|
import clsx from 'clsx';
|
|
4
|
-
import React
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import Field from '../Field/index.mjs';
|
|
6
|
+
import { computeAriaProps } from '../utils/aria.mjs';
|
|
5
7
|
import styles from './textinput.module.css.mjs';
|
|
6
8
|
|
|
7
|
-
const TextInput = React.forwardRef(function TextInput({ label, hideLabel = false, error, helperText, type = 'text', className, style, id, disabled = false, ...inputProps }, ref) {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const errorId = `${inputId}-error`;
|
|
11
|
-
const helperId = `${inputId}-helper`;
|
|
12
|
-
const hasError = typeof error === 'string' && error.length > 0;
|
|
13
|
-
const hasHelper = typeof helperText === 'string' && helperText.length > 0;
|
|
14
|
-
const describedBy = [hasError ? errorId : undefined, hasHelper ? helperId : undefined]
|
|
15
|
-
.filter(Boolean)
|
|
16
|
-
.join(' ') || undefined;
|
|
17
|
-
return (jsxs("div", { className: clsx(styles['text-input-container'], className), style: style, children: [jsx("label", { htmlFor: inputId, className: clsx(styles.label, {
|
|
18
|
-
[styles['label-disabled']]: disabled,
|
|
19
|
-
[styles['visually-hidden']]: hideLabel
|
|
20
|
-
}), children: label }), jsx("input", { ref: ref, id: inputId, type: type, disabled: disabled, "aria-invalid": hasError || undefined, "aria-describedby": describedBy, className: clsx(styles.input, {
|
|
9
|
+
const TextInput = React.forwardRef(function TextInput({ label, hideLabel = false, error, helperText, type = 'text', className, style, id, disabled = false, required = false, 'aria-describedby': ariaDescribedBy, 'aria-invalid': ariaInvalid, ...inputProps }, ref) {
|
|
10
|
+
return (jsx(Field, { label: label, hideLabel: hideLabel, error: error, helperText: helperText, disabled: disabled, required: required, id: id, className: className, style: style, children: ({ inputId, describedBy, hasError }) => {
|
|
11
|
+
return (jsx("input", { ref: ref, id: inputId, type: type, disabled: disabled, required: required, className: clsx(styles.input, {
|
|
21
12
|
[styles['input-error']]: hasError
|
|
22
|
-
}), ...
|
|
13
|
+
}), ...computeAriaProps(hasError, describedBy, ariaDescribedBy, ariaInvalid), ...inputProps }));
|
|
14
|
+
} }));
|
|
23
15
|
});
|
|
24
16
|
TextInput.displayName = 'TextInput';
|
|
25
17
|
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
.text-input-container_b4870d4b {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
gap: 0.25rem;
|
|
5
|
+
width: 100%;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.label_574cc423 {
|
|
9
|
+
font-size: 0.875rem;
|
|
10
|
+
font-weight: 500;
|
|
11
|
+
color: var(--frey-color-text-primary);
|
|
12
|
+
cursor: pointer;
|
|
13
|
+
user-select: none;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.label-disabled_600875f2 {
|
|
17
|
+
opacity: 0.5;
|
|
18
|
+
cursor: not-allowed;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.input_7f7ceaef {
|
|
22
|
+
width: 100%;
|
|
23
|
+
padding: 0.5rem 0.75rem;
|
|
24
|
+
font-size: 0.875rem;
|
|
25
|
+
line-height: 1.5;
|
|
26
|
+
color: var(--frey-color-text-primary);
|
|
27
|
+
background-color: var(--frey-color-surface);
|
|
28
|
+
border: 1px solid var(--frey-color-border, #d1d5db);
|
|
29
|
+
border-radius: 0.375rem;
|
|
30
|
+
outline: none;
|
|
31
|
+
transition:
|
|
32
|
+
border-color 0.2s,
|
|
33
|
+
box-shadow 0.2s;
|
|
34
|
+
box-sizing: border-box;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.input_7f7ceaef::placeholder {
|
|
38
|
+
color: var(--frey-color-text-secondary, #6b7280);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.input_7f7ceaef:focus-visible {
|
|
42
|
+
border-color: var(--frey-focus-ring);
|
|
43
|
+
box-shadow: 0 0 0 2px var(--frey-focus-ring);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.input-error_f537f299 {
|
|
47
|
+
border-color: var(--frey-color-error, #dc2626);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.input-error_f537f299:focus-visible {
|
|
51
|
+
border-color: var(--frey-color-error, #dc2626);
|
|
52
|
+
box-shadow: 0 0 0 2px var(--frey-color-error, #dc2626);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.input_7f7ceaef:disabled {
|
|
56
|
+
opacity: 0.5;
|
|
57
|
+
cursor: not-allowed;
|
|
58
|
+
background-color: var(--frey-color-surface-subtle, #f1f1f1);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.input_7f7ceaef:read-only {
|
|
62
|
+
background-color: var(--frey-color-surface-subtle, #f1f1f1);
|
|
63
|
+
cursor: default;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.input_7f7ceaef:read-only:focus-visible {
|
|
67
|
+
border-color: var(--frey-color-border, #d1d5db);
|
|
68
|
+
box-shadow: none;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.helper-text_c8d95bc3 {
|
|
72
|
+
font-size: 0.75rem;
|
|
73
|
+
color: var(--frey-color-text-secondary, #6b7280);
|
|
74
|
+
margin: 0;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.error-text_ba810e6e {
|
|
78
|
+
font-size: 0.75rem;
|
|
79
|
+
color: var(--frey-color-error, #dc2626);
|
|
80
|
+
margin: 0;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.visually-hidden_2e7218f5 {
|
|
84
|
+
position: absolute;
|
|
85
|
+
width: 1px;
|
|
86
|
+
height: 1px;
|
|
87
|
+
padding: 0;
|
|
88
|
+
margin: -1px;
|
|
89
|
+
overflow: hidden;
|
|
90
|
+
clip-path: inset(50%);
|
|
91
|
+
white-space: nowrap;
|
|
92
|
+
border: 0;
|
|
93
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
2
|
+
import './textinput.css';
|
|
3
|
+
var styles = {"input":"input_7f7ceaef","input-error":"input-error_f537f299"};
|
|
3
4
|
|
|
4
5
|
export { styles as default };
|
|
5
6
|
//# sourceMappingURL=textinput.module.css.mjs.map
|
|
@@ -3,6 +3,7 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
3
3
|
import clsx from 'clsx';
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import Field from '../Field/index.mjs';
|
|
6
|
+
import { computeAriaProps } from '../utils/aria.mjs';
|
|
6
7
|
import styles from './textarea.module.css.mjs';
|
|
7
8
|
|
|
8
9
|
const ResizeClassMap = {
|
|
@@ -13,9 +14,7 @@ const ResizeClassMap = {
|
|
|
13
14
|
};
|
|
14
15
|
const Textarea = React.forwardRef(function Textarea({ label, hideLabel = false, error, helperText, resize = 'vertical', className, style, id, disabled = false, required = false, 'aria-describedby': ariaDescribedBy, 'aria-invalid': ariaInvalid, ...textareaProps }, ref) {
|
|
15
16
|
return (jsx(Field, { label: label, hideLabel: hideLabel, error: error, helperText: helperText, disabled: disabled, required: required, id: id, className: className, style: style, children: ({ inputId, describedBy, hasError }) => {
|
|
16
|
-
|
|
17
|
-
const isInvalid = hasError || ariaInvalid === true || ariaInvalid === 'true';
|
|
18
|
-
return (jsx("textarea", { id: inputId, ref: ref, disabled: disabled, required: required, "aria-invalid": isInvalid || undefined, "aria-describedby": mergedDescribedBy, className: clsx(styles.textarea, ResizeClassMap[resize], hasError && styles.textarea_error), ...textareaProps }));
|
|
17
|
+
return (jsx("textarea", { id: inputId, ref: ref, disabled: disabled, required: required, className: clsx(styles.textarea, ResizeClassMap[resize], hasError && styles.textarea_error), ...computeAriaProps(hasError, describedBy, ariaDescribedBy, ariaInvalid), ...textareaProps }));
|
|
19
18
|
} }));
|
|
20
19
|
});
|
|
21
20
|
Textarea.displayName = 'Textarea';
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
.textarea_fc665b4d {
|
|
2
|
+
width: 100%;
|
|
3
|
+
min-height: 6rem;
|
|
4
|
+
padding: 0.5rem 0.75rem;
|
|
5
|
+
font-size: 0.875rem;
|
|
6
|
+
line-height: 1.5;
|
|
7
|
+
color: var(--frey-color-text-primary);
|
|
8
|
+
background-color: var(--frey-color-surface);
|
|
9
|
+
border: 1px solid var(--frey-color-border, #d1d5db);
|
|
10
|
+
border-radius: 0.375rem;
|
|
11
|
+
outline: none;
|
|
12
|
+
transition:
|
|
13
|
+
border-color 0.2s,
|
|
14
|
+
box-shadow 0.2s;
|
|
15
|
+
box-sizing: border-box;
|
|
16
|
+
font-family: inherit;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.textarea_fc665b4d::placeholder {
|
|
20
|
+
color: var(--frey-color-text-secondary, #6b7280);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.textarea_fc665b4d:focus-visible {
|
|
24
|
+
border-color: var(--frey-focus-ring);
|
|
25
|
+
box-shadow: 0 0 0 2px var(--frey-focus-ring);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.textarea_error_786d519c {
|
|
29
|
+
border-color: var(--frey-color-error, #dc2626);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.textarea_error_786d519c:focus-visible {
|
|
33
|
+
border-color: var(--frey-color-error, #dc2626);
|
|
34
|
+
box-shadow: 0 0 0 2px var(--frey-color-error, #dc2626);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.textarea_fc665b4d:disabled {
|
|
38
|
+
opacity: 0.5;
|
|
39
|
+
cursor: not-allowed;
|
|
40
|
+
background-color: var(--frey-color-surface-subtle, #f1f1f1);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.textarea_fc665b4d:read-only {
|
|
44
|
+
background-color: var(--frey-color-surface-subtle, #f1f1f1);
|
|
45
|
+
cursor: default;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.resize_none_97e1813b {
|
|
49
|
+
resize: none;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.resize_vertical_8f383889 {
|
|
53
|
+
resize: vertical;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.resize_horizontal_cff4bc94 {
|
|
57
|
+
resize: horizontal;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.resize_both_60104c5b {
|
|
61
|
+
resize: both;
|
|
62
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
2
|
+
import './textarea.css';
|
|
3
|
+
var styles = {"textarea":"textarea_fc665b4d","textarea_error":"textarea_error_786d519c","resize_none":"resize_none_97e1813b","resize_vertical":"resize_vertical_8f383889","resize_horizontal":"resize_horizontal_cff4bc94","resize_both":"resize_both_60104c5b"};
|
|
3
4
|
|
|
4
5
|
export { styles as default };
|
|
5
6
|
//# sourceMappingURL=textarea.module.css.mjs.map
|