frey-ui 1.0.9 → 1.0.11
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 +25 -162
- package/dist/cjs/Accordion/accordion.module.css.cjs +9 -0
- package/dist/cjs/Accordion/accordion.module.css.cjs.map +1 -0
- package/dist/cjs/Accordion/index.cjs +99 -0
- package/dist/cjs/Accordion/index.cjs.map +1 -0
- package/dist/cjs/Alert/{alert.module.css.js → alert.module.css.cjs} +2 -2
- package/dist/cjs/Alert/alert.module.css.cjs.map +1 -0
- package/dist/cjs/Alert/index.cjs +36 -0
- package/dist/cjs/Alert/index.cjs.map +1 -0
- package/dist/cjs/Avatar/avatar.module.css.cjs +9 -0
- package/dist/cjs/Avatar/avatar.module.css.cjs.map +1 -0
- package/dist/cjs/Avatar/index.cjs +53 -0
- package/dist/cjs/Avatar/index.cjs.map +1 -0
- package/dist/cjs/Button/{button.module.css.js → button.module.css.cjs} +1 -1
- package/dist/cjs/Button/button.module.css.cjs.map +1 -0
- package/dist/cjs/Button/index.cjs +30 -0
- package/dist/cjs/Button/index.cjs.map +1 -0
- package/dist/cjs/Card/card.module.css.cjs +9 -0
- package/dist/cjs/Card/card.module.css.cjs.map +1 -0
- package/dist/cjs/Card/index.cjs +40 -0
- package/dist/cjs/Card/index.cjs.map +1 -0
- package/dist/cjs/Checkbox/{checkbox.module.css.js → checkbox.module.css.cjs} +1 -1
- package/dist/cjs/Checkbox/checkbox.module.css.cjs.map +1 -0
- package/dist/cjs/Checkbox/index.cjs +47 -0
- package/dist/cjs/Checkbox/index.cjs.map +1 -0
- package/dist/cjs/Chip/{chip.module.css.js → chip.module.css.cjs} +1 -1
- package/dist/cjs/Chip/chip.module.css.cjs.map +1 -0
- package/dist/cjs/Chip/{index.js → index.cjs} +7 -11
- package/dist/cjs/Chip/index.cjs.map +1 -0
- package/dist/cjs/Dialog/dialog.module.css.cjs +9 -0
- package/dist/cjs/Dialog/dialog.module.css.cjs.map +1 -0
- package/dist/cjs/Dialog/index.cjs +195 -0
- package/dist/cjs/Dialog/index.cjs.map +1 -0
- package/dist/cjs/DropdownMenu/dropdownmenu.module.css.cjs +9 -0
- package/dist/cjs/DropdownMenu/dropdownmenu.module.css.cjs.map +1 -0
- package/dist/cjs/DropdownMenu/index.cjs +153 -0
- package/dist/cjs/DropdownMenu/index.cjs.map +1 -0
- package/dist/cjs/Field/field.module.css.cjs +9 -0
- package/dist/cjs/Field/field.module.css.cjs.map +1 -0
- package/dist/cjs/Field/index.cjs +35 -0
- package/dist/cjs/Field/index.cjs.map +1 -0
- package/dist/cjs/Icons/icons.module.css.cjs +9 -0
- package/dist/cjs/Icons/icons.module.css.cjs.map +1 -0
- package/dist/cjs/Icons/index.cjs +96 -0
- package/dist/cjs/Icons/index.cjs.map +1 -0
- package/dist/cjs/Popover/index.cjs +102 -0
- package/dist/cjs/Popover/index.cjs.map +1 -0
- package/dist/cjs/Popover/popover.module.css.cjs +9 -0
- package/dist/cjs/Popover/popover.module.css.cjs.map +1 -0
- package/dist/cjs/Progress/index.cjs +29 -0
- package/dist/cjs/Progress/index.cjs.map +1 -0
- package/dist/cjs/Progress/progress.module.css.cjs +9 -0
- package/dist/cjs/Progress/progress.module.css.cjs.map +1 -0
- package/dist/cjs/RadioGroup/index.cjs +42 -0
- package/dist/cjs/RadioGroup/index.cjs.map +1 -0
- package/dist/cjs/RadioGroup/radiogroup.module.css.cjs +9 -0
- package/dist/cjs/RadioGroup/radiogroup.module.css.cjs.map +1 -0
- package/dist/cjs/Select/index.cjs +28 -0
- package/dist/cjs/Select/index.cjs.map +1 -0
- package/dist/cjs/Select/select.module.css.cjs +9 -0
- package/dist/cjs/Select/select.module.css.cjs.map +1 -0
- package/dist/cjs/Skeleton/index.cjs +27 -0
- package/dist/cjs/Skeleton/index.cjs.map +1 -0
- package/dist/cjs/Skeleton/{skeleton.module.css.js → skeleton.module.css.cjs} +1 -1
- package/dist/cjs/Skeleton/skeleton.module.css.cjs.map +1 -0
- package/dist/cjs/Spinner/index.cjs +32 -0
- package/dist/cjs/Spinner/index.cjs.map +1 -0
- package/dist/cjs/Spinner/spinner.module.css.cjs +9 -0
- package/dist/cjs/Spinner/spinner.module.css.cjs.map +1 -0
- package/dist/cjs/Switch/{index.js → index.cjs} +7 -9
- package/dist/cjs/Switch/index.cjs.map +1 -0
- package/dist/cjs/Switch/{switch.module.css.js → switch.module.css.cjs} +1 -1
- package/dist/cjs/Switch/switch.module.css.cjs.map +1 -0
- package/dist/cjs/Tabs/index.cjs +87 -0
- package/dist/cjs/Tabs/index.cjs.map +1 -0
- package/dist/cjs/Tabs/tabs.module.css.cjs +9 -0
- package/dist/cjs/Tabs/tabs.module.css.cjs.map +1 -0
- package/dist/cjs/TextInput/{index.js → index.cjs} +6 -8
- package/dist/cjs/TextInput/index.cjs.map +1 -0
- package/dist/cjs/TextInput/{textinput.module.css.js → textinput.module.css.cjs} +1 -1
- package/dist/cjs/TextInput/textinput.module.css.cjs.map +1 -0
- package/dist/cjs/Textarea/index.cjs +28 -0
- package/dist/cjs/Textarea/index.cjs.map +1 -0
- package/dist/cjs/Textarea/textarea.module.css.cjs +9 -0
- package/dist/cjs/Textarea/textarea.module.css.cjs.map +1 -0
- package/dist/cjs/ThemeProvider/index.cjs +29 -0
- package/dist/cjs/ThemeProvider/index.cjs.map +1 -0
- package/dist/cjs/ThemeProvider/{themeprovider.module.css.js → themeprovider.module.css.cjs} +1 -1
- package/dist/cjs/ThemeProvider/themeprovider.module.css.cjs.map +1 -0
- package/dist/cjs/Toast/index.cjs +109 -0
- package/dist/cjs/Toast/index.cjs.map +1 -0
- package/dist/cjs/Toast/toast.module.css.cjs +9 -0
- package/dist/cjs/Toast/toast.module.css.cjs.map +1 -0
- package/dist/cjs/Tooltip/index.cjs +102 -0
- package/dist/cjs/Tooltip/index.cjs.map +1 -0
- package/dist/cjs/Tooltip/tooltip.module.css.cjs +9 -0
- package/dist/cjs/Tooltip/tooltip.module.css.cjs.map +1 -0
- package/dist/cjs/hooks/useControllableState.cjs +24 -0
- package/dist/cjs/hooks/useControllableState.cjs.map +1 -0
- package/dist/cjs/hooks/useDismiss.cjs +44 -0
- package/dist/cjs/hooks/useDismiss.cjs.map +1 -0
- package/dist/cjs/hooks/useFloatingPosition.cjs +68 -0
- package/dist/cjs/hooks/useFloatingPosition.cjs.map +1 -0
- package/dist/cjs/index.cjs +64 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/utils/clamp.cjs +9 -0
- package/dist/cjs/utils/clamp.cjs.map +1 -0
- package/dist/cjs/utils/mergeRefs.cjs +21 -0
- package/dist/cjs/utils/mergeRefs.cjs.map +1 -0
- package/dist/cjs/utils/slot.cjs +61 -0
- package/dist/cjs/utils/slot.cjs.map +1 -0
- package/dist/esm/Accordion/accordion.module.css.mjs +5 -0
- package/dist/esm/Accordion/accordion.module.css.mjs.map +1 -0
- package/dist/esm/Accordion/index.mjs +94 -0
- package/dist/esm/Accordion/index.mjs.map +1 -0
- package/dist/esm/Alert/{alert.module.css.js → alert.module.css.mjs} +2 -2
- package/dist/esm/Alert/alert.module.css.mjs.map +1 -0
- package/dist/esm/Alert/index.mjs +32 -0
- package/dist/esm/Alert/index.mjs.map +1 -0
- package/dist/esm/Avatar/avatar.module.css.mjs +5 -0
- package/dist/esm/Avatar/avatar.module.css.mjs.map +1 -0
- package/dist/esm/Avatar/index.mjs +49 -0
- package/dist/esm/Avatar/index.mjs.map +1 -0
- package/dist/esm/Button/{button.module.css.js → button.module.css.mjs} +1 -1
- package/dist/esm/Button/button.module.css.mjs.map +1 -0
- package/dist/esm/Button/index.mjs +26 -0
- package/dist/esm/Button/index.mjs.map +1 -0
- package/dist/esm/Card/card.module.css.mjs +5 -0
- package/dist/esm/Card/card.module.css.mjs.map +1 -0
- package/dist/esm/Card/index.mjs +35 -0
- package/dist/esm/Card/index.mjs.map +1 -0
- package/dist/esm/Checkbox/{checkbox.module.css.js → checkbox.module.css.mjs} +1 -1
- package/dist/esm/Checkbox/checkbox.module.css.mjs.map +1 -0
- package/dist/esm/Checkbox/index.mjs +43 -0
- package/dist/esm/Checkbox/index.mjs.map +1 -0
- package/dist/esm/Chip/{chip.module.css.js → chip.module.css.mjs} +1 -1
- package/dist/esm/Chip/chip.module.css.mjs.map +1 -0
- package/dist/esm/Chip/{index.js → index.mjs} +7 -11
- package/dist/esm/Chip/index.mjs.map +1 -0
- package/dist/esm/Dialog/dialog.module.css.mjs +5 -0
- package/dist/esm/Dialog/dialog.module.css.mjs.map +1 -0
- package/dist/esm/Dialog/index.mjs +190 -0
- package/dist/esm/Dialog/index.mjs.map +1 -0
- package/dist/esm/DropdownMenu/dropdownmenu.module.css.mjs +5 -0
- package/dist/esm/DropdownMenu/dropdownmenu.module.css.mjs.map +1 -0
- package/dist/esm/DropdownMenu/index.mjs +148 -0
- package/dist/esm/DropdownMenu/index.mjs.map +1 -0
- package/dist/esm/Field/field.module.css.mjs +5 -0
- package/dist/esm/Field/field.module.css.mjs.map +1 -0
- package/dist/esm/Field/index.mjs +31 -0
- package/dist/esm/Field/index.mjs.map +1 -0
- package/dist/esm/Icons/icons.module.css.mjs +5 -0
- package/dist/esm/Icons/icons.module.css.mjs.map +1 -0
- package/dist/esm/Icons/index.mjs +84 -0
- package/dist/esm/Icons/index.mjs.map +1 -0
- package/dist/esm/Popover/index.mjs +97 -0
- package/dist/esm/Popover/index.mjs.map +1 -0
- package/dist/esm/Popover/popover.module.css.mjs +5 -0
- package/dist/esm/Popover/popover.module.css.mjs.map +1 -0
- package/dist/esm/Progress/index.mjs +25 -0
- package/dist/esm/Progress/index.mjs.map +1 -0
- package/dist/esm/Progress/progress.module.css.mjs +5 -0
- package/dist/esm/Progress/progress.module.css.mjs.map +1 -0
- package/dist/esm/RadioGroup/index.mjs +38 -0
- package/dist/esm/RadioGroup/index.mjs.map +1 -0
- package/dist/esm/RadioGroup/radiogroup.module.css.mjs +5 -0
- package/dist/esm/RadioGroup/radiogroup.module.css.mjs.map +1 -0
- package/dist/esm/Select/index.mjs +24 -0
- package/dist/esm/Select/index.mjs.map +1 -0
- package/dist/esm/Select/select.module.css.mjs +5 -0
- package/dist/esm/Select/select.module.css.mjs.map +1 -0
- package/dist/esm/Skeleton/index.mjs +23 -0
- package/dist/esm/Skeleton/index.mjs.map +1 -0
- package/dist/esm/Skeleton/{skeleton.module.css.js → skeleton.module.css.mjs} +1 -1
- package/dist/esm/Skeleton/skeleton.module.css.mjs.map +1 -0
- package/dist/esm/Spinner/index.mjs +28 -0
- package/dist/esm/Spinner/index.mjs.map +1 -0
- package/dist/esm/Spinner/spinner.module.css.mjs +5 -0
- package/dist/esm/Spinner/spinner.module.css.mjs.map +1 -0
- package/dist/esm/Switch/index.mjs +34 -0
- package/dist/esm/Switch/index.mjs.map +1 -0
- package/dist/esm/Switch/{switch.module.css.js → switch.module.css.mjs} +1 -1
- package/dist/esm/Switch/switch.module.css.mjs.map +1 -0
- package/dist/esm/Tabs/index.mjs +82 -0
- package/dist/esm/Tabs/index.mjs.map +1 -0
- package/dist/esm/Tabs/tabs.module.css.mjs +5 -0
- package/dist/esm/Tabs/tabs.module.css.mjs.map +1 -0
- package/dist/esm/TextInput/index.mjs +27 -0
- package/dist/esm/TextInput/index.mjs.map +1 -0
- package/dist/esm/TextInput/{textinput.module.css.js → textinput.module.css.mjs} +1 -1
- package/dist/esm/TextInput/textinput.module.css.mjs.map +1 -0
- package/dist/esm/Textarea/index.mjs +24 -0
- package/dist/esm/Textarea/index.mjs.map +1 -0
- package/dist/esm/Textarea/textarea.module.css.mjs +5 -0
- package/dist/esm/Textarea/textarea.module.css.mjs.map +1 -0
- package/dist/esm/ThemeProvider/index.mjs +25 -0
- package/dist/esm/ThemeProvider/index.mjs.map +1 -0
- package/dist/esm/ThemeProvider/{themeprovider.module.css.js → themeprovider.module.css.mjs} +1 -1
- package/dist/esm/ThemeProvider/themeprovider.module.css.mjs.map +1 -0
- package/dist/esm/Toast/index.mjs +106 -0
- package/dist/esm/Toast/index.mjs.map +1 -0
- package/dist/esm/Toast/toast.module.css.mjs +5 -0
- package/dist/esm/Toast/toast.module.css.mjs.map +1 -0
- package/dist/esm/Tooltip/index.mjs +98 -0
- package/dist/esm/Tooltip/index.mjs.map +1 -0
- package/dist/esm/Tooltip/tooltip.module.css.mjs +5 -0
- package/dist/esm/Tooltip/tooltip.module.css.mjs.map +1 -0
- package/dist/esm/hooks/useControllableState.mjs +22 -0
- package/dist/esm/hooks/useControllableState.mjs.map +1 -0
- package/dist/esm/hooks/useDismiss.mjs +42 -0
- package/dist/esm/hooks/useDismiss.mjs.map +1 -0
- package/dist/esm/hooks/useFloatingPosition.mjs +66 -0
- package/dist/esm/hooks/useFloatingPosition.mjs.map +1 -0
- package/dist/esm/index.mjs +26 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/utils/clamp.mjs +7 -0
- package/dist/esm/utils/clamp.mjs.map +1 -0
- package/dist/esm/utils/mergeRefs.mjs +19 -0
- package/dist/esm/utils/mergeRefs.mjs.map +1 -0
- package/dist/esm/utils/slot.mjs +58 -0
- package/dist/esm/utils/slot.mjs.map +1 -0
- package/dist/index.d.ts +420 -22
- package/dist/styles.css +2 -1
- package/dist/styles.css.map +1 -1
- package/dist/types/src/Accordion/index.d.ts +29 -0
- package/dist/types/src/Accordion/index.d.ts.map +1 -0
- package/dist/types/src/Alert/index.d.ts +4 -2
- package/dist/types/src/Alert/index.d.ts.map +1 -0
- package/dist/types/src/Avatar/index.d.ts +14 -0
- package/dist/types/src/Avatar/index.d.ts.map +1 -0
- package/dist/types/src/Button/index.d.ts +8 -6
- package/dist/types/src/Button/index.d.ts.map +1 -0
- package/dist/types/src/Card/index.d.ts +25 -0
- package/dist/types/src/Card/index.d.ts.map +1 -0
- package/dist/types/src/Checkbox/index.d.ts +3 -1
- package/dist/types/src/Checkbox/index.d.ts.map +1 -0
- package/dist/types/src/Chip/index.d.ts +9 -5
- package/dist/types/src/Chip/index.d.ts.map +1 -0
- package/dist/types/src/Dialog/index.d.ts +59 -0
- package/dist/types/src/Dialog/index.d.ts.map +1 -0
- package/dist/types/src/DropdownMenu/index.d.ts +41 -0
- package/dist/types/src/DropdownMenu/index.d.ts.map +1 -0
- package/dist/types/src/Field/index.d.ts +23 -0
- package/dist/types/src/Field/index.d.ts.map +1 -0
- package/dist/types/src/Icons/index.d.ts +31 -0
- package/dist/types/src/Icons/index.d.ts.map +1 -0
- package/dist/types/src/Popover/index.d.ts +33 -0
- package/dist/types/src/Popover/index.d.ts.map +1 -0
- package/dist/types/src/Progress/index.d.ts +17 -0
- package/dist/types/src/Progress/index.d.ts.map +1 -0
- package/dist/types/src/RadioGroup/index.d.ts +29 -0
- package/dist/types/src/RadioGroup/index.d.ts.map +1 -0
- package/dist/types/src/Select/index.d.ts +16 -0
- package/dist/types/src/Select/index.d.ts.map +1 -0
- package/dist/types/src/Skeleton/index.d.ts +4 -2
- package/dist/types/src/Skeleton/index.d.ts.map +1 -0
- package/dist/types/src/Spinner/index.d.ts +12 -0
- package/dist/types/src/Spinner/index.d.ts.map +1 -0
- package/dist/types/src/Switch/index.d.ts +3 -1
- package/dist/types/src/Switch/index.d.ts.map +1 -0
- package/dist/types/src/Tabs/index.d.ts +29 -0
- package/dist/types/src/Tabs/index.d.ts.map +1 -0
- package/dist/types/src/TextInput/index.d.ts +3 -1
- package/dist/types/src/TextInput/index.d.ts.map +1 -0
- package/dist/types/src/Textarea/index.d.ts +15 -0
- package/dist/types/src/Textarea/index.d.ts.map +1 -0
- package/dist/types/src/ThemeProvider/index.d.ts +4 -2
- package/dist/types/src/ThemeProvider/index.d.ts.map +1 -0
- package/dist/types/src/Toast/index.d.ts +31 -0
- package/dist/types/src/Toast/index.d.ts.map +1 -0
- package/dist/types/src/Tooltip/index.d.ts +19 -0
- package/dist/types/src/Tooltip/index.d.ts.map +1 -0
- package/dist/types/src/hooks/useControllableState.d.ts +6 -0
- package/dist/types/src/hooks/useControllableState.d.ts.map +1 -0
- package/dist/types/src/hooks/useDismiss.d.ts +18 -0
- package/dist/types/src/hooks/useDismiss.d.ts.map +1 -0
- package/dist/types/src/hooks/useFloatingPosition.d.ts +26 -0
- package/dist/types/src/hooks/useFloatingPosition.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +33 -0
- package/dist/types/src/index.d.ts.map +1 -0
- package/dist/types/src/types/polymorphic.d.ts +6 -0
- package/dist/types/src/types/polymorphic.d.ts.map +1 -0
- package/dist/types/src/utils/clamp.d.ts +2 -0
- package/dist/types/src/utils/clamp.d.ts.map +1 -0
- package/dist/types/src/utils/mergeRefs.d.ts +3 -0
- package/dist/types/src/utils/mergeRefs.d.ts.map +1 -0
- package/dist/types/src/utils/slot.d.ts +12 -0
- package/dist/types/src/utils/slot.d.ts.map +1 -0
- package/package.json +133 -16
- package/dist/cjs/Alert/alert.module.css.js.map +0 -1
- package/dist/cjs/Alert/index.js +0 -33
- package/dist/cjs/Alert/index.js.map +0 -1
- package/dist/cjs/Button/button.module.css.js.map +0 -1
- package/dist/cjs/Button/index.js +0 -34
- package/dist/cjs/Button/index.js.map +0 -1
- package/dist/cjs/Checkbox/checkbox.module.css.js.map +0 -1
- package/dist/cjs/Checkbox/index.js +0 -48
- package/dist/cjs/Checkbox/index.js.map +0 -1
- package/dist/cjs/Chip/chip.module.css.js.map +0 -1
- package/dist/cjs/Chip/index.js.map +0 -1
- package/dist/cjs/Skeleton/index.js +0 -21
- package/dist/cjs/Skeleton/index.js.map +0 -1
- package/dist/cjs/Skeleton/skeleton.module.css.js.map +0 -1
- package/dist/cjs/Switch/index.js.map +0 -1
- package/dist/cjs/Switch/switch.module.css.js.map +0 -1
- package/dist/cjs/TextInput/index.js.map +0 -1
- package/dist/cjs/TextInput/textinput.module.css.js.map +0 -1
- package/dist/cjs/ThemeProvider/index.js +0 -15
- package/dist/cjs/ThemeProvider/index.js.map +0 -1
- package/dist/cjs/ThemeProvider/themeprovider.module.css.js.map +0 -1
- package/dist/cjs/index.js +0 -23
- package/dist/cjs/index.js.map +0 -1
- package/dist/esm/Alert/alert.module.css.js.map +0 -1
- package/dist/esm/Alert/index.js +0 -29
- package/dist/esm/Alert/index.js.map +0 -1
- package/dist/esm/Button/button.module.css.js.map +0 -1
- package/dist/esm/Button/index.js +0 -30
- package/dist/esm/Button/index.js.map +0 -1
- package/dist/esm/Checkbox/checkbox.module.css.js.map +0 -1
- package/dist/esm/Checkbox/index.js +0 -44
- package/dist/esm/Checkbox/index.js.map +0 -1
- package/dist/esm/Chip/chip.module.css.js.map +0 -1
- package/dist/esm/Chip/index.js.map +0 -1
- package/dist/esm/Skeleton/index.js +0 -17
- package/dist/esm/Skeleton/index.js.map +0 -1
- package/dist/esm/Skeleton/skeleton.module.css.js.map +0 -1
- package/dist/esm/Switch/index.js +0 -36
- package/dist/esm/Switch/index.js.map +0 -1
- package/dist/esm/Switch/switch.module.css.js.map +0 -1
- package/dist/esm/TextInput/index.js +0 -29
- package/dist/esm/TextInput/index.js.map +0 -1
- package/dist/esm/TextInput/textinput.module.css.js.map +0 -1
- package/dist/esm/ThemeProvider/index.js +0 -11
- package/dist/esm/ThemeProvider/index.js.map +0 -1
- package/dist/esm/ThemeProvider/themeprovider.module.css.js.map +0 -1
- package/dist/esm/index.js +0 -10
- package/dist/esm/index.js.map +0 -1
- package/dist/tsconfig.lib.tsbuildinfo +0 -1
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var clamp = require('../utils/clamp.cjs');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Computes viewport-clamped `{ top, left }` for a floating element
|
|
9
|
+
* anchored to a trigger, and keeps it updated on scroll / resize.
|
|
10
|
+
*/
|
|
11
|
+
function useFloatingPosition(triggerRef, floatingRef, options) {
|
|
12
|
+
const { open, placement, offset, align = 'center' } = options;
|
|
13
|
+
const [position, setPosition] = React.useState({ top: 0, left: 0 });
|
|
14
|
+
const updatePosition = React.useCallback(() => {
|
|
15
|
+
if (!open || !triggerRef.current || !floatingRef.current)
|
|
16
|
+
return;
|
|
17
|
+
const triggerRect = triggerRef.current.getBoundingClientRect();
|
|
18
|
+
const floatingRect = floatingRef.current.getBoundingClientRect();
|
|
19
|
+
const viewportPadding = 8;
|
|
20
|
+
const viewportWidth = window.innerWidth;
|
|
21
|
+
const viewportHeight = window.innerHeight;
|
|
22
|
+
let top;
|
|
23
|
+
let left;
|
|
24
|
+
top = triggerRect.bottom + offset;
|
|
25
|
+
left =
|
|
26
|
+
align === 'center'
|
|
27
|
+
? triggerRect.left + (triggerRect.width - floatingRect.width) / 2
|
|
28
|
+
: triggerRect.left;
|
|
29
|
+
if (placement === 'top') {
|
|
30
|
+
top = triggerRect.top - floatingRect.height - offset;
|
|
31
|
+
}
|
|
32
|
+
else if (placement === 'left') {
|
|
33
|
+
top =
|
|
34
|
+
align === 'center'
|
|
35
|
+
? triggerRect.top + (triggerRect.height - floatingRect.height) / 2
|
|
36
|
+
: triggerRect.top;
|
|
37
|
+
left = triggerRect.left - floatingRect.width - offset;
|
|
38
|
+
}
|
|
39
|
+
else if (placement === 'right') {
|
|
40
|
+
top =
|
|
41
|
+
align === 'center'
|
|
42
|
+
? triggerRect.top + (triggerRect.height - floatingRect.height) / 2
|
|
43
|
+
: triggerRect.top;
|
|
44
|
+
left = triggerRect.right + offset;
|
|
45
|
+
}
|
|
46
|
+
top = clamp.clamp(top, viewportPadding, Math.max(viewportPadding, viewportHeight - floatingRect.height - viewportPadding));
|
|
47
|
+
left = clamp.clamp(left, viewportPadding, Math.max(viewportPadding, viewportWidth - floatingRect.width - viewportPadding));
|
|
48
|
+
setPosition({ top, left });
|
|
49
|
+
}, [open, offset, placement, align, triggerRef, floatingRef]);
|
|
50
|
+
React.useLayoutEffect(() => {
|
|
51
|
+
updatePosition();
|
|
52
|
+
}, [updatePosition]);
|
|
53
|
+
React.useEffect(() => {
|
|
54
|
+
if (!open)
|
|
55
|
+
return;
|
|
56
|
+
const handleReposition = () => updatePosition();
|
|
57
|
+
window.addEventListener('resize', handleReposition);
|
|
58
|
+
window.addEventListener('scroll', handleReposition, true);
|
|
59
|
+
return () => {
|
|
60
|
+
window.removeEventListener('resize', handleReposition);
|
|
61
|
+
window.removeEventListener('scroll', handleReposition, true);
|
|
62
|
+
};
|
|
63
|
+
}, [open, updatePosition]);
|
|
64
|
+
return position;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
exports.useFloatingPosition = useFloatingPosition;
|
|
68
|
+
//# sourceMappingURL=useFloatingPosition.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFloatingPosition.cjs","sources":["../../../src/hooks/useFloatingPosition.ts"],"sourcesContent":[null],"names":["useState","useCallback","clamp","useLayoutEffect","useEffect"],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var index = require('./Accordion/index.cjs');
|
|
5
|
+
var index$1 = require('./Alert/index.cjs');
|
|
6
|
+
var index$2 = require('./Avatar/index.cjs');
|
|
7
|
+
var index$3 = require('./Button/index.cjs');
|
|
8
|
+
var index$4 = require('./Card/index.cjs');
|
|
9
|
+
var index$6 = require('./Checkbox/index.cjs');
|
|
10
|
+
var index$7 = require('./Chip/index.cjs');
|
|
11
|
+
var index$8 = require('./Dialog/index.cjs');
|
|
12
|
+
var index$9 = require('./DropdownMenu/index.cjs');
|
|
13
|
+
var index$a = require('./Field/index.cjs');
|
|
14
|
+
var index$5 = require('./Icons/index.cjs');
|
|
15
|
+
var index$b = require('./Popover/index.cjs');
|
|
16
|
+
var index$c = require('./Progress/index.cjs');
|
|
17
|
+
var index$d = require('./RadioGroup/index.cjs');
|
|
18
|
+
var index$e = require('./Select/index.cjs');
|
|
19
|
+
var index$f = require('./Skeleton/index.cjs');
|
|
20
|
+
var index$g = require('./Spinner/index.cjs');
|
|
21
|
+
var index$h = require('./Switch/index.cjs');
|
|
22
|
+
var index$i = require('./Tabs/index.cjs');
|
|
23
|
+
var index$k = require('./Textarea/index.cjs');
|
|
24
|
+
var index$j = require('./TextInput/index.cjs');
|
|
25
|
+
var index$l = require('./ThemeProvider/index.cjs');
|
|
26
|
+
var index$m = require('./Toast/index.cjs');
|
|
27
|
+
var index$n = require('./Tooltip/index.cjs');
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
exports.Accordion = index.Accordion;
|
|
32
|
+
exports.Alert = index$1.default;
|
|
33
|
+
exports.Avatar = index$2.default;
|
|
34
|
+
exports.Button = index$3.default;
|
|
35
|
+
exports.Card = index$4.Card;
|
|
36
|
+
exports.Checkbox = index$6.default;
|
|
37
|
+
exports.Chip = index$7.default;
|
|
38
|
+
exports.Dialog = index$8.Dialog;
|
|
39
|
+
exports.DropdownMenu = index$9.DropdownMenu;
|
|
40
|
+
exports.Field = index$a.default;
|
|
41
|
+
exports.CheckIcon = index$5.CheckIcon;
|
|
42
|
+
exports.ChevronDownIcon = index$5.ChevronDownIcon;
|
|
43
|
+
exports.CircleCheckIcon = index$5.CircleCheckIcon;
|
|
44
|
+
exports.CircleInfoIcon = index$5.CircleInfoIcon;
|
|
45
|
+
exports.CircleXIcon = index$5.CircleXIcon;
|
|
46
|
+
exports.CloseIcon = index$5.CloseIcon;
|
|
47
|
+
exports.Icons = index$5.default;
|
|
48
|
+
exports.MinusIcon = index$5.MinusIcon;
|
|
49
|
+
exports.TriangleAlertIcon = index$5.TriangleAlertIcon;
|
|
50
|
+
exports.Popover = index$b.Popover;
|
|
51
|
+
exports.Progress = index$c.default;
|
|
52
|
+
exports.RadioGroup = index$d.default;
|
|
53
|
+
exports.Select = index$e.default;
|
|
54
|
+
exports.Skeleton = index$f.default;
|
|
55
|
+
exports.Spinner = index$g.default;
|
|
56
|
+
exports.Switch = index$h.default;
|
|
57
|
+
exports.Tabs = index$i.Tabs;
|
|
58
|
+
exports.Textarea = index$k.default;
|
|
59
|
+
exports.TextInput = index$j.default;
|
|
60
|
+
exports.ThemeProvider = index$l.default;
|
|
61
|
+
exports.ToastProvider = index$m.ToastProvider;
|
|
62
|
+
exports.useToast = index$m.useToast;
|
|
63
|
+
exports.Tooltip = index$n.default;
|
|
64
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clamp.cjs","sources":["../../../src/utils/clamp.ts"],"sourcesContent":[null],"names":[],"mappings":";;;SAAgB,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW,EAAA;AAC3D,IAAA,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC;AAC5C;;;;"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
function mergeRefs(...refs) {
|
|
5
|
+
return (node) => {
|
|
6
|
+
refs.forEach((ref) => {
|
|
7
|
+
if (!ref) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
if (typeof ref === 'function') {
|
|
11
|
+
ref(node);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
ref.current = node;
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
exports.mergeRefs = mergeRefs;
|
|
21
|
+
//# sourceMappingURL=mergeRefs.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeRefs.cjs","sources":["../../../src/utils/mergeRefs.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAEM,SAAU,SAAS,CACvB,GAAG,IAAqC,EAAA;IAExC,OAAO,CAAC,IAAI,KAAI;AACd,QAAA,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;YACnB,IAAI,CAAC,GAAG,EAAE;gBACR;YACF;AAEA,YAAA,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;gBAC7B,GAAG,CAAC,IAAI,CAAC;YACX;iBAAO;AACJ,gBAAA,GAA6B,CAAC,OAAO,GAAG,IAAI;YAC/C;AACF,QAAA,CAAC,CAAC;AACJ,IAAA,CAAC;AACH;;;;"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var clsx = require('clsx');
|
|
5
|
+
var React = require('react');
|
|
6
|
+
var mergeRefs = require('./mergeRefs.cjs');
|
|
7
|
+
|
|
8
|
+
function isEventHandler(propName, value) {
|
|
9
|
+
return propName.startsWith('on') && typeof value === 'function';
|
|
10
|
+
}
|
|
11
|
+
function composeEventHandlers(childHandler, slotHandler) {
|
|
12
|
+
return (event) => {
|
|
13
|
+
childHandler?.(event);
|
|
14
|
+
if (!event.defaultPrevented) {
|
|
15
|
+
slotHandler?.(event);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function mergeProps(slotProps, childProps) {
|
|
20
|
+
const mergedProps = {
|
|
21
|
+
...slotProps,
|
|
22
|
+
...childProps
|
|
23
|
+
};
|
|
24
|
+
if (slotProps.style || childProps.style) {
|
|
25
|
+
mergedProps.style = {
|
|
26
|
+
...slotProps.style,
|
|
27
|
+
...childProps.style
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
if (slotProps.className || childProps.className) {
|
|
31
|
+
mergedProps.className = clsx(slotProps.className, childProps.className);
|
|
32
|
+
}
|
|
33
|
+
for (const propName of Object.keys(slotProps)) {
|
|
34
|
+
const slotValue = slotProps[propName];
|
|
35
|
+
const childValue = childProps[propName];
|
|
36
|
+
if (isEventHandler(propName, slotValue)) {
|
|
37
|
+
mergedProps[propName] = composeEventHandlers(childValue, slotValue);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return mergedProps;
|
|
41
|
+
}
|
|
42
|
+
function getElementRef(element) {
|
|
43
|
+
return (element.props.ref ??
|
|
44
|
+
element.ref);
|
|
45
|
+
}
|
|
46
|
+
const Slot = React.forwardRef(function Slot({ children, ...slotProps }, forwardedRef) {
|
|
47
|
+
if (!React.isValidElement(children)) {
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
const mergedProps = mergeProps(slotProps, children.props);
|
|
51
|
+
const childRef = getElementRef(children);
|
|
52
|
+
return React.cloneElement(children, {
|
|
53
|
+
...mergedProps,
|
|
54
|
+
ref: mergeRefs.mergeRefs(childRef, forwardedRef)
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
Slot.displayName = 'Slot';
|
|
58
|
+
|
|
59
|
+
exports.Slot = Slot;
|
|
60
|
+
exports.composeEventHandlers = composeEventHandlers;
|
|
61
|
+
//# sourceMappingURL=slot.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slot.cjs","sources":["../../../src/utils/slot.tsx"],"sourcesContent":[null],"names":["mergeRefs"],"mappings":";;;;;;;AAWA,SAAS,cAAc,CACrB,QAAgB,EAChB,KAAc,EAAA;IAEd,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,KAAK,KAAK,UAAU;AACjE;AAEM,SAAU,oBAAoB,CAClC,YAAsC,EACtC,WAAqC,EAAA;IAErC,OAAO,CAAC,KAAK,KAAI;AACf,QAAA,YAAY,GAAG,KAAK,CAAC;AAErB,QAAA,IAAI,CAAE,KAAkB,CAAC,gBAAgB,EAAE;AACzC,YAAA,WAAW,GAAG,KAAK,CAAC;QACtB;AACF,IAAA,CAAC;AACH;AAEA,SAAS,UAAU,CAAC,SAAmB,EAAE,UAAoB,EAAA;AAC3D,IAAA,MAAM,WAAW,GAAa;AAC5B,QAAA,GAAG,SAAS;AACZ,QAAA,GAAG;KACJ;IAED,IAAI,SAAS,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE;QACvC,WAAW,CAAC,KAAK,GAAG;YAClB,GAAI,SAAS,CAAC,KAAyC;YACvD,GAAI,UAAU,CAAC;SAChB;IACH;IAEA,IAAI,SAAS,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS,EAAE;AAC/C,QAAA,WAAW,CAAC,SAAS,GAAG,IAAI,CAC1B,SAAS,CAAC,SAA+B,EACzC,UAAU,CAAC,SAA+B,CAC3C;IACH;IAEA,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;AAC7C,QAAA,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC;AACrC,QAAA,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC;AAEvC,QAAA,IAAI,cAAc,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE;YACvC,WAAW,CAAC,QAAQ,CAAC,GAAG,oBAAoB,CAC1C,UAAsC,EACtC,SAAS,CACV;QACH;IACF;AAEA,IAAA,OAAO,WAAW;AACpB;AAEA,SAAS,aAAa,CACpB,OAA2B,EAAA;AAE3B,IAAA,QACG,OAAO,CAAC,KAAsC,CAAC,GAAG;QAClD,OAAmD,CAAC,GAAG;AAE5D;AAMO,MAAM,IAAI,GAEb,KAAK,CAAC,UAAU,CAAyB,SAAS,IAAI,CACxD,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,EAC1B,YAAY,EAAA;IAEZ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;AACnC,QAAA,OAAO,IAAI;IACb;IAEA,MAAM,WAAW,GAAG,UAAU,CAC5B,SAAqB,EACrB,QAAQ,CAAC,KAAiB,CAC3B;AACD,IAAA,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;AAExC,IAAA,OAAO,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE;AAClC,QAAA,GAAG,WAAW;AACd,QAAA,GAAG,EAAEA,mBAAS,CAAC,QAAkC,EAAE,YAAY;AACrC,KAAA,CAAC;AAC/B,CAAC;AAED,IAAI,CAAC,WAAW,GAAG,MAAM;;;;;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
var styles = {"accordion":"accordion-module_accordion__AORof","accordion_item":"accordion-module_accordion_item__45nmM","accordion_header":"accordion-module_accordion_header__zEieN","accordion_trigger":"accordion-module_accordion_trigger__6Mbf8","accordion_chevron":"accordion-module_accordion_chevron__rMna-","accordion_chevron_open":"accordion-module_accordion_chevron_open__wQtp8","accordion_content_wrapper":"accordion-module_accordion_content_wrapper__QpRcb","accordion_content_wrapper_open":"accordion-module_accordion_content_wrapper_open__FWN9R","accordion_content":"accordion-module_accordion_content__1WN6n"};
|
|
3
|
+
|
|
4
|
+
export { styles as default };
|
|
5
|
+
//# sourceMappingURL=accordion.module.css.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accordion.module.css.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import React, { createContext, useState, useId, useContext } from 'react';
|
|
5
|
+
import { ChevronDownIcon } from '../Icons/index.mjs';
|
|
6
|
+
import styles from './accordion.module.css.mjs';
|
|
7
|
+
|
|
8
|
+
const AccordionContext = createContext(null);
|
|
9
|
+
function useAccordionContext() {
|
|
10
|
+
const context = useContext(AccordionContext);
|
|
11
|
+
if (!context) {
|
|
12
|
+
throw new Error('Accordion components must be wrapped in <Accordion>');
|
|
13
|
+
}
|
|
14
|
+
return context;
|
|
15
|
+
}
|
|
16
|
+
const AccordionItemContext = createContext(null);
|
|
17
|
+
function useAccordionItemContext() {
|
|
18
|
+
const context = useContext(AccordionItemContext);
|
|
19
|
+
if (!context) {
|
|
20
|
+
throw new Error('Accordion.Item parts must be wrapped in <Accordion.Item>');
|
|
21
|
+
}
|
|
22
|
+
return context;
|
|
23
|
+
}
|
|
24
|
+
const AccordionRoot = React.forwardRef(function Accordion({ type = 'single', value, defaultValue, onValueChange, className, ...props }, ref) {
|
|
25
|
+
const defaultVal = defaultValue ?? (type === 'multiple' ? [] : '');
|
|
26
|
+
const isControlled = value !== undefined;
|
|
27
|
+
const [uncontrolledValue, setUncontrolledValue] = useState(defaultVal);
|
|
28
|
+
const currentValue = isControlled ? value : uncontrolledValue;
|
|
29
|
+
const idPrefix = useId();
|
|
30
|
+
const handleValueChange = React.useCallback((nextValue) => {
|
|
31
|
+
let resolvedValue = nextValue;
|
|
32
|
+
if (type === 'single') {
|
|
33
|
+
const valueAsStr = typeof currentValue === 'string' ? currentValue : '';
|
|
34
|
+
resolvedValue = valueAsStr === nextValue ? '' : nextValue;
|
|
35
|
+
if (!isControlled) {
|
|
36
|
+
setUncontrolledValue(resolvedValue);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
const valueAsArray = Array.isArray(currentValue) ? currentValue : [];
|
|
41
|
+
const isSelected = valueAsArray.includes(nextValue);
|
|
42
|
+
const nextArrayValue = isSelected
|
|
43
|
+
? valueAsArray.filter((v) => v !== nextValue)
|
|
44
|
+
: [...valueAsArray, nextValue];
|
|
45
|
+
if (!isControlled) {
|
|
46
|
+
setUncontrolledValue(nextArrayValue);
|
|
47
|
+
}
|
|
48
|
+
resolvedValue = nextArrayValue;
|
|
49
|
+
}
|
|
50
|
+
onValueChange?.(resolvedValue);
|
|
51
|
+
}, [type, currentValue, isControlled, onValueChange]);
|
|
52
|
+
const contextValue = React.useMemo(() => ({
|
|
53
|
+
type,
|
|
54
|
+
value: currentValue,
|
|
55
|
+
onValueChange: handleValueChange,
|
|
56
|
+
idPrefix
|
|
57
|
+
}), [type, currentValue, handleValueChange, idPrefix]);
|
|
58
|
+
return (jsx(AccordionContext.Provider, { value: contextValue, children: jsx("div", { ref: ref, className: clsx(styles.accordion, className), ...props }) }));
|
|
59
|
+
});
|
|
60
|
+
AccordionRoot.displayName = 'Accordion';
|
|
61
|
+
const AccordionItem = React.forwardRef(function AccordionItem({ value, className, ...props }, ref) {
|
|
62
|
+
const { value: accordionValue } = useAccordionContext();
|
|
63
|
+
// Check if this particular item is open based on context's active value
|
|
64
|
+
const isOpen = Array.isArray(accordionValue)
|
|
65
|
+
? accordionValue.includes(value)
|
|
66
|
+
: accordionValue === value;
|
|
67
|
+
const contextValue = React.useMemo(() => ({ value, isOpen }), [value, isOpen]);
|
|
68
|
+
return (jsx(AccordionItemContext.Provider, { value: contextValue, children: jsx("div", { ref: ref, className: clsx(styles.accordion_item, className), ...props }) }));
|
|
69
|
+
});
|
|
70
|
+
AccordionItem.displayName = 'Accordion.Item';
|
|
71
|
+
const AccordionTrigger = React.forwardRef(function AccordionTrigger({ className, children, ...props }, ref) {
|
|
72
|
+
const { onValueChange, idPrefix } = useAccordionContext();
|
|
73
|
+
const { value, isOpen } = useAccordionItemContext();
|
|
74
|
+
return (jsx("div", { className: styles.accordion_header, children: jsxs("button", { ref: ref, type: 'button', id: `${idPrefix}-trigger-${value}`, "aria-controls": `${idPrefix}-content-${value}`, "aria-expanded": isOpen, onClick: () => onValueChange(value), className: clsx(styles.accordion_trigger, className), ...props, children: [children, jsx(ChevronDownIcon, { className: clsx(styles.accordion_chevron, {
|
|
75
|
+
[styles.accordion_chevron_open]: isOpen
|
|
76
|
+
}), size: 16 })] }) }));
|
|
77
|
+
});
|
|
78
|
+
AccordionTrigger.displayName = 'Accordion.Trigger';
|
|
79
|
+
const AccordionContent = React.forwardRef(function AccordionContent({ className, children, ...props }, ref) {
|
|
80
|
+
const { idPrefix } = useAccordionContext();
|
|
81
|
+
const { value, isOpen } = useAccordionItemContext();
|
|
82
|
+
return (jsx("section", { ref: ref, id: `${idPrefix}-content-${value}`, "aria-labelledby": `${idPrefix}-trigger-${value}`, className: clsx(styles.accordion_content_wrapper, {
|
|
83
|
+
[styles.accordion_content_wrapper_open]: isOpen
|
|
84
|
+
}), ...props, children: jsx("div", { className: clsx(styles.accordion_content, className), children: children }) }));
|
|
85
|
+
});
|
|
86
|
+
AccordionContent.displayName = 'Accordion.Content';
|
|
87
|
+
const Accordion = Object.assign(AccordionRoot, {
|
|
88
|
+
Item: AccordionItem,
|
|
89
|
+
Trigger: AccordionTrigger,
|
|
90
|
+
Content: AccordionContent
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
export { Accordion, Accordion as default };
|
|
94
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/Accordion/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
var styles = {"alert":"alert-module_alert__j-fLL","alert-error":"alert-module_alert-error__U8yC8","alert-success":"alert-module_alert-success__FYP1Q","alert-warning":"alert-module_alert-warning__tuLWQ","alert-info":"alert-module_alert-info__d2xVj","alert-icon":"alert-module_alert-icon__j-8MC","alert-content":"alert-module_alert-content__PUQPc","alert-title":"alert-module_alert-title__3yZS1","alert-message":"alert-module_alert-message__0AJ04"};
|
|
2
|
+
var styles = {"alert":"alert-module_alert__j-fLL","alert-error":"alert-module_alert-error__U8yC8","alert-success":"alert-module_alert-success__FYP1Q","alert-warning":"alert-module_alert-warning__tuLWQ","alert-info":"alert-module_alert-info__d2xVj","alert-icon":"alert-module_alert-icon__j-8MC","alert_icon_svg":"alert-module_alert_icon_svg__EBN75","alert-content":"alert-module_alert-content__PUQPc","alert-title":"alert-module_alert-title__3yZS1","alert-message":"alert-module_alert-message__0AJ04"};
|
|
3
3
|
|
|
4
4
|
export { styles as default };
|
|
5
|
-
//# sourceMappingURL=alert.module.css.
|
|
5
|
+
//# sourceMappingURL=alert.module.css.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.module.css.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { CircleInfoIcon, TriangleAlertIcon, CircleCheckIcon, CircleXIcon } from '../Icons/index.mjs';
|
|
6
|
+
import styles from './alert.module.css.mjs';
|
|
7
|
+
|
|
8
|
+
const VariantClassMap = {
|
|
9
|
+
error: styles['alert-error'],
|
|
10
|
+
success: styles['alert-success'],
|
|
11
|
+
warning: styles['alert-warning'],
|
|
12
|
+
info: styles['alert-info']
|
|
13
|
+
};
|
|
14
|
+
const VariantRoleMap = {
|
|
15
|
+
error: 'alert',
|
|
16
|
+
warning: 'alert',
|
|
17
|
+
success: 'status',
|
|
18
|
+
info: 'status'
|
|
19
|
+
};
|
|
20
|
+
const icons = {
|
|
21
|
+
error: (jsx(CircleXIcon, { size: 'lg', strokeWidth: 'bold', className: styles.alert_icon_svg })),
|
|
22
|
+
success: (jsx(CircleCheckIcon, { size: 'lg', strokeWidth: 'bold', className: styles.alert_icon_svg })),
|
|
23
|
+
warning: (jsx(TriangleAlertIcon, { size: 'lg', strokeWidth: 'bold', className: styles.alert_icon_svg })),
|
|
24
|
+
info: (jsx(CircleInfoIcon, { size: 'lg', strokeWidth: 'bold', className: styles.alert_icon_svg }))
|
|
25
|
+
};
|
|
26
|
+
const Alert = React.forwardRef(function Alert({ variant = 'info', title, children, className, style }, ref) {
|
|
27
|
+
return (jsxs("div", { ref: ref, role: VariantRoleMap[variant], className: clsx(styles.alert, VariantClassMap[variant], className), style: style, children: [jsx("span", { className: styles['alert-icon'], children: icons[variant] }), jsxs("div", { className: styles['alert-content'], children: [title && jsx("p", { className: styles['alert-title'], children: title }), jsx("p", { className: styles['alert-message'], children: children })] })] }));
|
|
28
|
+
});
|
|
29
|
+
Alert.displayName = 'Alert';
|
|
30
|
+
|
|
31
|
+
export { Alert as default };
|
|
32
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/Alert/index.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":";;;;;;;AAwBA,MAAM,eAAe,GAAiC;AACpD,IAAA,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC;AAC5B,IAAA,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC;AAChC,IAAA,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC;AAChC,IAAA,IAAI,EAAE,MAAM,CAAC,YAAY;CAC1B;AAED,MAAM,cAAc,GAA6C;AAC/D,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,IAAI,EAAE;CACP;AAED,MAAM,KAAK,GAA0C;AACnD,IAAA,KAAK,GACHA,GAAA,CAAC,WAAW,EAAA,EACV,IAAI,EAAC,IAAI,EACT,WAAW,EAAC,MAAM,EAClB,SAAS,EAAE,MAAM,CAAC,cAAc,GAChC,CACH;AACD,IAAA,OAAO,GACLA,GAAA,CAAC,eAAe,EAAA,EACd,IAAI,EAAC,IAAI,EACT,WAAW,EAAC,MAAM,EAClB,SAAS,EAAE,MAAM,CAAC,cAAc,GAChC,CACH;AACD,IAAA,OAAO,GACLA,GAAA,CAAC,iBAAiB,EAAA,EAChB,IAAI,EAAC,IAAI,EACT,WAAW,EAAC,MAAM,EAClB,SAAS,EAAE,MAAM,CAAC,cAAc,GAChC,CACH;AACD,IAAA,IAAI,GACFA,GAAA,CAAC,cAAc,EAAA,EACb,IAAI,EAAC,IAAI,EACT,WAAW,EAAC,MAAM,EAClB,SAAS,EAAE,MAAM,CAAC,cAAc,GAChC;CAEL;AAED,MAAM,KAAK,GAAmB,KAAK,CAAC,UAAU,CAG5C,SAAS,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,EAAA;AAC3E,IAAA,QACEC,IAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,EAC7B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,EAClE,KAAK,EAAE,KAAK,EAAA,QAAA,EAAA,CAEZD,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,EAAA,QAAA,EAAG,KAAK,CAAC,OAAO,CAAC,EAAA,CAAQ,EAC9DC,cAAK,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,EAAA,QAAA,EAAA,CACpC,KAAK,IAAID,GAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,EAAA,QAAA,EAAG,KAAK,GAAK,EAC1DA,GAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,EAAA,QAAA,EAAG,QAAQ,GAAK,CAAA,EAAA,CACjD,CAAA,EAAA,CACF;AAEV,CAAC;AAED,KAAK,CAAC,WAAW,GAAG,OAAO;;;;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
var styles = {"avatar":"avatar-module_avatar__I5DCB","avatar_sm":"avatar-module_avatar_sm__pJcLU","avatar_md":"avatar-module_avatar_md__IZwdq","avatar_lg":"avatar-module_avatar_lg__2v383","avatar_image":"avatar-module_avatar_image__a-ctN","avatar_fallback":"avatar-module_avatar_fallback__QlF5F","avatar_status_indicator":"avatar-module_avatar_status_indicator__v2V8V","avatar_status_online":"avatar-module_avatar_status_online__1IxYF","avatar_status_idle":"avatar-module_avatar_status_idle__VbZ3q","avatar_status_dnd":"avatar-module_avatar_status_dnd__0fZbP","avatar_status_offline":"avatar-module_avatar_status_offline__A4iJp"};
|
|
3
|
+
|
|
4
|
+
export { styles as default };
|
|
5
|
+
//# sourceMappingURL=avatar.module.css.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.module.css.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import React, { useState, useEffect } from 'react';
|
|
5
|
+
import styles from './avatar.module.css.mjs';
|
|
6
|
+
|
|
7
|
+
const SizeClassMap = {
|
|
8
|
+
sm: styles.avatar_sm,
|
|
9
|
+
md: styles.avatar_md,
|
|
10
|
+
lg: styles.avatar_lg
|
|
11
|
+
};
|
|
12
|
+
const StatusClassMap = {
|
|
13
|
+
online: styles.avatar_status_online,
|
|
14
|
+
offline: styles.avatar_status_offline,
|
|
15
|
+
idle: styles.avatar_status_idle,
|
|
16
|
+
dnd: styles.avatar_status_dnd
|
|
17
|
+
};
|
|
18
|
+
const useImageLoadingStatus = (src) => {
|
|
19
|
+
const [loadingStatus, setLoadingStatus] = useState('idle');
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
if (!src) {
|
|
22
|
+
setLoadingStatus('error');
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
let isMounted = true;
|
|
26
|
+
const image = new globalThis.Image();
|
|
27
|
+
const updateStatus = (status) => {
|
|
28
|
+
if (!isMounted)
|
|
29
|
+
return;
|
|
30
|
+
setLoadingStatus(status);
|
|
31
|
+
};
|
|
32
|
+
setLoadingStatus('loading');
|
|
33
|
+
image.onload = () => updateStatus('loaded');
|
|
34
|
+
image.onerror = () => updateStatus('error');
|
|
35
|
+
image.src = src;
|
|
36
|
+
return () => {
|
|
37
|
+
isMounted = false;
|
|
38
|
+
};
|
|
39
|
+
}, [src]);
|
|
40
|
+
return loadingStatus;
|
|
41
|
+
};
|
|
42
|
+
const Avatar = React.forwardRef(function Avatar({ src, alt, fallback, size = 'md', status, className, ...props }, ref) {
|
|
43
|
+
const imageLoadingStatus = useImageLoadingStatus(src);
|
|
44
|
+
return (jsxs("span", { ref: ref, className: clsx(styles.avatar, SizeClassMap[size], className), ...props, children: [imageLoadingStatus === 'loaded' && src ? (jsx("img", { src: src, alt: alt, className: styles.avatar_image })) : (jsx("span", { className: styles.avatar_fallback, children: fallback })), status && (jsx("span", { className: clsx(styles.avatar_status_indicator, StatusClassMap[status]), title: status }))] }));
|
|
45
|
+
});
|
|
46
|
+
Avatar.displayName = 'Avatar';
|
|
47
|
+
|
|
48
|
+
export { Avatar as default };
|
|
49
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/Avatar/index.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;;AAmBA,MAAM,YAAY,GAA+B;IAC/C,EAAE,EAAE,MAAM,CAAC,SAAS;IACpB,EAAE,EAAE,MAAM,CAAC,SAAS;IACpB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,cAAc,GAAiC;IACnD,MAAM,EAAE,MAAM,CAAC,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC,qBAAqB;IACrC,IAAI,EAAE,MAAM,CAAC,kBAAkB;IAC/B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,qBAAqB,GAAG,CAAC,GAAY,KAAI;IAC7C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAEhD,MAAM,CAAC;IAET,SAAS,CAAC,MAAK;QACb,IAAI,CAAC,GAAG,EAAE;YACR,gBAAgB,CAAC,OAAO,CAAC;YACzB;QACF;QAEA,IAAI,SAAS,GAAG,IAAI;AACpB,QAAA,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE;AAEpC,QAAA,MAAM,YAAY,GAAG,CAAC,MAA0B,KAAI;AAClD,YAAA,IAAI,CAAC,SAAS;gBAAE;YAChB,gBAAgB,CAAC,MAAM,CAAC;AAC1B,QAAA,CAAC;QAED,gBAAgB,CAAC,SAAS,CAAC;QAC3B,KAAK,CAAC,MAAM,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC;QAC3C,KAAK,CAAC,OAAO,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC;AAC3C,QAAA,KAAK,CAAC,GAAG,GAAG,GAAG;AAEf,QAAA,OAAO,MAAK;YACV,SAAS,GAAG,KAAK;AACnB,QAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AAET,IAAA,OAAO,aAAa;AACtB,CAAC;AAED,MAAM,MAAM,GAAoB,KAAK,CAAC,UAAU,CAG9C,SAAS,MAAM,CACf,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,GAAG,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAChE,GAAG,EAAA;AAEH,IAAA,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,GAAG,CAAC;AAErD,IAAA,QACEA,IAAA,CAAA,MAAA,EAAA,EACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,EAAA,GACzD,KAAK,aAER,kBAAkB,KAAK,QAAQ,IAAI,GAAG,IACrCC,GAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,YAAY,EAAA,CAAI,KAE3DA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,MAAM,CAAC,eAAe,EAAA,QAAA,EAAG,QAAQ,GAAQ,CAC3D,EAEA,MAAM,KACLA,cACE,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,uBAAuB,EAC9B,cAAc,CAAC,MAAM,CAAC,CACvB,EACD,KAAK,EAAE,MAAM,GACb,CACH,CAAA,EAAA,CACI;AAEX,CAAC;AAED,MAAM,CAAC,WAAW,GAAG,QAAQ;;;;"}
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
var styles = {"button":"button-module_button__umKM2","button-sm":"button-module_button-sm__TiGU6","button-md":"button-module_button-md__J7V5e","button-lg":"button-module_button-lg__-SzwA","button-primary":"button-module_button-primary__v1Ube","button-secondary":"button-module_button-secondary__sWT9h","button-ghost":"button-module_button-ghost__s0pgs","button-destructive":"button-module_button-destructive__zxYP7","button-loading":"button-module_button-loading__-ye2x","spinner":"button-module_spinner__1Wrqa"};
|
|
3
3
|
|
|
4
4
|
export { styles as default };
|
|
5
|
-
//# sourceMappingURL=button.module.css.
|
|
5
|
+
//# sourceMappingURL=button.module.css.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.module.css.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import styles from './button.module.css.mjs';
|
|
6
|
+
|
|
7
|
+
const VariantClassMap = {
|
|
8
|
+
primary: styles['button-primary'],
|
|
9
|
+
secondary: styles['button-secondary'],
|
|
10
|
+
ghost: styles['button-ghost'],
|
|
11
|
+
destructive: styles['button-destructive']
|
|
12
|
+
};
|
|
13
|
+
const SizeClassMap = {
|
|
14
|
+
sm: styles['button-sm'],
|
|
15
|
+
md: styles['button-md'],
|
|
16
|
+
lg: styles['button-lg']
|
|
17
|
+
};
|
|
18
|
+
const Button = React.forwardRef(function Button({ as, variant = 'primary', size = 'md', loading = false, disabled = false, className, style, children, ...restProps }, ref) {
|
|
19
|
+
const Component = (as ?? 'button');
|
|
20
|
+
const isButton = (as ?? 'button') === 'button';
|
|
21
|
+
return (jsxs(Component, { ref: ref, className: clsx(styles.button, VariantClassMap[variant], SizeClassMap[size], { [styles['button-loading']]: loading }, className), style: style, disabled: isButton ? disabled || loading : undefined, "aria-disabled": !isButton && (disabled || loading) ? true : undefined, type: isButton ? 'button' : undefined, "aria-busy": loading || undefined, ...restProps, children: [loading && jsx("span", { className: styles.spinner, "aria-hidden": 'true' }), children] }));
|
|
22
|
+
});
|
|
23
|
+
Button.displayName = 'Button';
|
|
24
|
+
|
|
25
|
+
export { Button as default };
|
|
26
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/Button/index.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;;;AA4BA,MAAM,eAAe,GAAkC;AACrD,IAAA,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC;AACjC,IAAA,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC;AACrC,IAAA,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;AAC7B,IAAA,WAAW,EAAE,MAAM,CAAC,oBAAoB;CACzC;AAED,MAAM,YAAY,GAA+B;AAC/C,IAAA,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC;AACvB,IAAA,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC;AACvB,IAAA,EAAE,EAAE,MAAM,CAAC,WAAW;CACvB;AAED,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,MAAM,CAG7C,EACE,EAAE,EACF,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,IAAI,EACX,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,SAAS,EACa,EAC3B,GAAsB,EAAA;AAEtB,IAAA,MAAM,SAAS,IAAI,EAAE,IAAI,QAAQ,CAAsB;IACvD,MAAM,QAAQ,GAAG,CAAC,EAAE,IAAI,QAAQ,MAAM,QAAQ;IAE9C,QACEA,IAAA,CAAC,SAAS,EAAA,EACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,MAAM,EACb,eAAe,CAAC,OAAO,CAAC,EACxB,YAAY,CAAC,IAAI,CAAC,EAClB,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,OAAO,EAAE,EACvC,SAAS,CACV,EACD,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,GAAG,QAAQ,IAAI,OAAO,GAAG,SAAS,EAAA,eAAA,EACrC,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EACpE,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,EAAA,WAAA,EAC1B,OAAO,IAAI,SAAS,EAAA,GAC3B,SAAS,EAAA,QAAA,EAAA,CAEZ,OAAO,IAAIC,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,MAAM,CAAC,OAAO,EAAA,aAAA,EAAc,MAAM,GAAG,EACjE,QAAQ,CAAA,EAAA,CACC;AAEhB,CAAC;AAED,MAAM,CAAC,WAAW,GAAG,QAAQ;;;;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
var styles = {"card":"card-module_card__B1PJP","card_header":"card-module_card_header__553QX","card_title":"card-module_card_title__5W9U6","card_content":"card-module_card_content__UJOsj","card_footer":"card-module_card_footer__gtdvS"};
|
|
3
|
+
|
|
4
|
+
export { styles as default };
|
|
5
|
+
//# sourceMappingURL=card.module.css.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.module.css.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import styles from './card.module.css.mjs';
|
|
6
|
+
|
|
7
|
+
const CardRoot = React.forwardRef(function Card({ className, ...props }, ref) {
|
|
8
|
+
return jsx("div", { ref: ref, className: clsx(styles.card, className), ...props });
|
|
9
|
+
});
|
|
10
|
+
CardRoot.displayName = 'Card';
|
|
11
|
+
const CardHeader = React.forwardRef(function CardHeader({ className, ...props }, ref) {
|
|
12
|
+
return (jsx("div", { ref: ref, className: clsx(styles.card_header, className), ...props }));
|
|
13
|
+
});
|
|
14
|
+
CardHeader.displayName = 'Card.Header';
|
|
15
|
+
const CardTitle = React.forwardRef(function CardTitle({ className, children, ...props }, ref) {
|
|
16
|
+
return (jsx("h3", { ref: ref, className: clsx(styles.card_title, className), ...props, children: children }));
|
|
17
|
+
});
|
|
18
|
+
CardTitle.displayName = 'Card.Title';
|
|
19
|
+
const CardContent = React.forwardRef(function CardContent({ className, ...props }, ref) {
|
|
20
|
+
return (jsx("div", { ref: ref, className: clsx(styles.card_content, className), ...props }));
|
|
21
|
+
});
|
|
22
|
+
CardContent.displayName = 'Card.Content';
|
|
23
|
+
const CardFooter = React.forwardRef(function CardFooter({ className, ...props }, ref) {
|
|
24
|
+
return (jsx("div", { ref: ref, className: clsx(styles.card_footer, className), ...props }));
|
|
25
|
+
});
|
|
26
|
+
CardFooter.displayName = 'Card.Footer';
|
|
27
|
+
const Card = Object.assign(CardRoot, {
|
|
28
|
+
Header: CardHeader,
|
|
29
|
+
Title: CardTitle,
|
|
30
|
+
Content: CardContent,
|
|
31
|
+
Footer: CardFooter
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
export { Card, Card as default };
|
|
35
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/Card/index.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;;;AAUA,MAAM,QAAQ,GAAsB,KAAK,CAAC,UAAU,CAGlD,SAAS,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAA;AAC1C,IAAA,OAAOA,aAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,GAAI;AAC9E,CAAC,CAAC;AACF,QAAQ,CAAC,WAAW,GAAG,MAAM;AAQ7B,MAAM,UAAU,GAAwB,KAAK,CAAC,UAAU,CAGtD,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAA;IAChD,QACEA,aAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,KAAM,KAAK,EAAA,CAAI;AAEhF,CAAC,CAAC;AACF,UAAU,CAAC,WAAW,GAAG,aAAa;AAQtC,MAAM,SAAS,GAAuB,KAAK,CAAC,UAAU,CAGpD,SAAS,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAA;IACzD,QACEA,YAAI,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,QAAA,EACnE,QAAQ,EAAA,CACN;AAET,CAAC,CAAC;AACF,SAAS,CAAC,WAAW,GAAG,YAAY;AAQpC,MAAM,WAAW,GAAyB,KAAK,CAAC,UAAU,CAGxD,SAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAA;IACjD,QACEA,aACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,KAC3C,KAAK,EAAA,CACT;AAEN,CAAC,CAAC;AACF,WAAW,CAAC,WAAW,GAAG,cAAc;AAQxC,MAAM,UAAU,GAAwB,KAAK,CAAC,UAAU,CAGtD,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAA;IAChD,QACEA,aAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,KAAM,KAAK,EAAA,CAAI;AAEhF,CAAC,CAAC;AACF,UAAU,CAAC,WAAW,GAAG,aAAa;MASzB,IAAI,GAAkB,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;AACzD,IAAA,MAAM,EAAE,UAAU;AAClB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,OAAO,EAAE,WAAW;AACpB,IAAA,MAAM,EAAE;AACT,CAAA;;;;"}
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
var styles = {"checkbox-container":"checkbox-module_checkbox-container__ljwCZ","checkbox":"checkbox-module_checkbox__-voPf","checkbox-sm":"checkbox-module_checkbox-sm__W4Bsc","checkbox-md":"checkbox-module_checkbox-md__GtRQX","checkbox-lg":"checkbox-module_checkbox-lg__Hl7wJ","checkbox-box":"checkbox-module_checkbox-box__1KZI9","checkbox-disabled":"checkbox-module_checkbox-disabled__e9Ufr","check-icon":"checkbox-module_check-icon__O2v-a","indeterminate-icon":"checkbox-module_indeterminate-icon__ujYHN","label":"checkbox-module_label__4jx3z","visually-hidden":"checkbox-module_visually-hidden__1AzKx"};
|
|
3
3
|
|
|
4
4
|
export { styles as default };
|
|
5
|
-
//# sourceMappingURL=checkbox.module.css.
|
|
5
|
+
//# sourceMappingURL=checkbox.module.css.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox.module.css.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|