@mks2508/mks-ui 0.1.3 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +123 -60
- package/dist/core/index.d.ts +7 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/types.d.ts +79 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/index.d.ts +19 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -56
- package/dist/react/components/MorphingPopover/MorphingPopover.types.d.ts +44 -0
- package/dist/react/components/MorphingPopover/MorphingPopover.types.d.ts.map +1 -0
- package/dist/react/components/MorphingPopover/index.d.ts +46 -0
- package/dist/react/components/MorphingPopover/index.d.ts.map +1 -0
- package/dist/{components/ui/morphing-popover/morphing-popover.js → react/components/MorphingPopover/index.js} +47 -7
- package/dist/react/components/MorphingPopover/morphing-popover.module.js +5 -0
- package/dist/react/components/index.d.ts +9 -0
- package/dist/react/components/index.d.ts.map +1 -0
- package/dist/react/components/index.js +1 -0
- package/dist/react/hooks/Animation/UseAutoHeight.d.ts +30 -0
- package/dist/react/hooks/Animation/UseAutoHeight.d.ts.map +1 -0
- package/dist/{hooks/use-auto-height.js → react/hooks/Animation/UseAutoHeight.js} +16 -2
- package/dist/react/hooks/DOM/UseIsInView.d.ts +32 -0
- package/dist/react/hooks/DOM/UseIsInView.d.ts.map +1 -0
- package/dist/react/hooks/DOM/UseIsInView.js +33 -0
- package/dist/react/hooks/State/UseControlledState.d.ts +31 -0
- package/dist/react/hooks/State/UseControlledState.d.ts.map +1 -0
- package/dist/react/hooks/State/UseControlledState.js +34 -0
- package/dist/react/hooks/State/UseDataState.d.ts +21 -0
- package/dist/react/hooks/State/UseDataState.d.ts.map +1 -0
- package/dist/react/hooks/State/UseDataState.js +63 -0
- package/dist/react/hooks/index.d.ts +14 -0
- package/dist/react/hooks/index.d.ts.map +1 -0
- package/dist/react/hooks/index.js +4 -0
- package/dist/react/icons/index.d.ts +8 -0
- package/dist/react/icons/index.d.ts.map +1 -0
- package/dist/react/icons/lucide-animated/activity.d.ts +11 -0
- package/dist/react/icons/lucide-animated/activity.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/activity.js +2 -2
- package/dist/{icons → react/icons}/lucide-animated/arrow-down-to-line.d.ts +1 -1
- package/dist/react/icons/lucide-animated/arrow-down-to-line.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/arrow-down-to-line.js +1 -1
- package/dist/{icons → react/icons}/lucide-animated/arrow-up.d.ts +1 -1
- package/dist/react/icons/lucide-animated/arrow-up.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/arrow-up.js +1 -1
- package/dist/react/icons/lucide-animated/bell-electric.d.ts +11 -0
- package/dist/react/icons/lucide-animated/bell-electric.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/bell-electric.js +2 -2
- package/dist/react/icons/lucide-animated/bell.d.ts +11 -0
- package/dist/react/icons/lucide-animated/bell.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/bell.js +2 -2
- package/dist/react/icons/lucide-animated/bot.d.ts +11 -0
- package/dist/react/icons/lucide-animated/bot.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/bot.js +2 -2
- package/dist/react/icons/lucide-animated/box.d.ts +11 -0
- package/dist/react/icons/lucide-animated/box.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/box.js +2 -2
- package/dist/react/icons/lucide-animated/check.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/check.js +1 -1
- package/dist/react/icons/lucide-animated/circle-check.d.ts +11 -0
- package/dist/react/icons/lucide-animated/circle-check.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/circle-check.js +2 -2
- package/dist/react/icons/lucide-animated/delete.d.ts +11 -0
- package/dist/react/icons/lucide-animated/delete.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/delete.js +2 -2
- package/dist/react/icons/lucide-animated/download.d.ts +11 -0
- package/dist/react/icons/lucide-animated/download.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/download.js +2 -2
- package/dist/react/icons/lucide-animated/edit-2.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/edit-2.js +1 -1
- package/dist/react/icons/lucide-animated/globe.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/globe.js +1 -1
- package/dist/react/icons/lucide-animated/home.d.ts +11 -0
- package/dist/react/icons/lucide-animated/home.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/home.js +2 -2
- package/dist/react/icons/lucide-animated/index.d.ts +38 -0
- package/dist/react/icons/lucide-animated/index.d.ts.map +1 -0
- package/dist/react/icons/lucide-animated/layers.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/layers.js +1 -1
- package/dist/react/icons/lucide-animated/layout-panel-top.d.ts +11 -0
- package/dist/react/icons/lucide-animated/layout-panel-top.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/layout-panel-top.js +2 -2
- package/dist/{icons → react/icons}/lucide-animated/list.d.ts +1 -1
- package/dist/react/icons/lucide-animated/list.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/list.js +1 -1
- package/dist/react/icons/lucide-animated/package.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/package.js +1 -1
- package/dist/react/icons/lucide-animated/palette.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/palette.js +1 -1
- package/dist/react/icons/lucide-animated/plus.d.ts +11 -0
- package/dist/react/icons/lucide-animated/plus.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/plus.js +2 -2
- package/dist/react/icons/lucide-animated/refresh-cw.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/refresh-cw.js +1 -1
- package/dist/react/icons/lucide-animated/rocket.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/rocket.js +1 -1
- package/dist/react/icons/lucide-animated/save.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/save.js +1 -1
- package/dist/react/icons/lucide-animated/search.d.ts +11 -0
- package/dist/react/icons/lucide-animated/search.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/search.js +2 -2
- package/dist/react/icons/lucide-animated/settings.d.ts +11 -0
- package/dist/react/icons/lucide-animated/settings.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/settings.js +2 -2
- package/dist/{icons → react/icons}/lucide-animated/terminal.d.ts +1 -1
- package/dist/react/icons/lucide-animated/terminal.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/terminal.js +1 -1
- package/dist/react/icons/lucide-animated/trash-2.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/trash-2.js +1 -1
- package/dist/react/icons/lucide-animated/trending-down.d.ts +11 -0
- package/dist/react/icons/lucide-animated/trending-down.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/trending-down.js +2 -2
- package/dist/react/icons/lucide-animated/trending-up.d.ts +11 -0
- package/dist/react/icons/lucide-animated/trending-up.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/trending-up.js +2 -2
- package/dist/react/icons/lucide-animated/type.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/type.js +1 -1
- package/dist/react/icons/lucide-animated/upload.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/upload.js +1 -1
- package/dist/react/icons/lucide-animated/x.d.ts +11 -0
- package/dist/react/icons/lucide-animated/x.d.ts.map +1 -0
- package/dist/{icons → react/icons}/lucide-animated/x.js +2 -2
- package/dist/react/index.d.ts +19 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/lib/get-strict-context.d.ts +30 -0
- package/dist/react/lib/get-strict-context.d.ts.map +1 -0
- package/dist/react/lib/get-strict-context.js +40 -0
- package/dist/react/lib/index.d.ts +8 -0
- package/dist/react/lib/index.d.ts.map +1 -0
- package/dist/react/lib/index.js +2 -0
- package/dist/{lib → react/lib}/utils.d.ts +2 -2
- package/dist/react/lib/utils.d.ts.map +1 -0
- package/dist/{lib → react/lib}/utils.js +3 -3
- package/dist/react/primitives/AutoHeight/index.d.ts +31 -0
- package/dist/react/primitives/AutoHeight/index.d.ts.map +1 -0
- package/dist/react/primitives/AutoHeight/index.js +52 -0
- package/dist/react/primitives/CountingNumber/index.d.ts +44 -0
- package/dist/react/primitives/CountingNumber/index.d.ts.map +1 -0
- package/dist/react/primitives/CountingNumber/index.js +97 -0
- package/dist/react/primitives/Highlight/Highlight.types.d.ts +113 -0
- package/dist/react/primitives/Highlight/Highlight.types.d.ts.map +1 -0
- package/dist/react/primitives/Highlight/index.d.ts +48 -0
- package/dist/react/primitives/Highlight/index.d.ts.map +1 -0
- package/dist/{components/animate-ui/primitives/effects/highlight.js → react/primitives/Highlight/index.js} +45 -5
- package/dist/react/primitives/Slot/index.d.ts +53 -0
- package/dist/react/primitives/Slot/index.d.ts.map +1 -0
- package/dist/{components/animate-ui/primitives/animate/slot.js → react/primitives/Slot/index.js} +27 -4
- package/dist/react/primitives/index.d.ts +12 -0
- package/dist/react/primitives/index.d.ts.map +1 -0
- package/dist/react/primitives/index.js +4 -0
- package/dist/react/ui/Accordion/Accordion.styles.d.ts +47 -0
- package/dist/react/ui/Accordion/Accordion.styles.d.ts.map +1 -0
- package/dist/react/ui/Accordion/Accordion.styles.js +54 -0
- package/dist/react/ui/Accordion/Accordion.types.d.ts +160 -0
- package/dist/react/ui/Accordion/Accordion.types.d.ts.map +1 -0
- package/dist/react/ui/Accordion/index.d.ts +105 -0
- package/dist/react/ui/Accordion/index.d.ts.map +1 -0
- package/dist/react/ui/Accordion/index.js +266 -0
- package/dist/react/ui/AlertDialog/AlertDialog.styles.d.ts +28 -0
- package/dist/react/ui/AlertDialog/AlertDialog.styles.d.ts.map +1 -0
- package/dist/react/ui/AlertDialog/AlertDialog.styles.js +29 -0
- package/dist/react/ui/AlertDialog/AlertDialog.types.d.ts +235 -0
- package/dist/react/ui/AlertDialog/AlertDialog.types.d.ts.map +1 -0
- package/dist/react/ui/AlertDialog/index.d.ts +194 -0
- package/dist/react/ui/AlertDialog/index.d.ts.map +1 -0
- package/dist/react/ui/AlertDialog/index.js +319 -0
- package/dist/react/ui/Badge/Badge.styles.d.ts +16 -0
- package/dist/react/ui/Badge/Badge.styles.d.ts.map +1 -0
- package/dist/{components/ui/badge/badge.styles.js → react/ui/Badge/Badge.styles.js} +2 -6
- package/dist/react/ui/Badge/Badge.types.d.ts +21 -0
- package/dist/react/ui/Badge/Badge.types.d.ts.map +1 -0
- package/dist/react/ui/Badge/index.d.ts +20 -0
- package/dist/react/ui/Badge/index.d.ts.map +1 -0
- package/dist/react/ui/Badge/index.js +34 -0
- package/dist/react/ui/Button/Button.styles.d.ts +21 -0
- package/dist/react/ui/Button/Button.styles.d.ts.map +1 -0
- package/dist/{components/ui/button/button.styles.js → react/ui/Button/Button.styles.js} +3 -9
- package/dist/react/ui/Button/Button.types.d.ts +45 -0
- package/dist/react/ui/Button/Button.types.d.ts.map +1 -0
- package/dist/react/ui/Button/index.d.ts +22 -0
- package/dist/react/ui/Button/index.d.ts.map +1 -0
- package/dist/react/ui/Button/index.js +103 -0
- package/dist/react/ui/Card/Card.styles.d.ts +11 -0
- package/dist/react/ui/Card/Card.styles.d.ts.map +1 -0
- package/dist/react/ui/Card/Card.styles.js +24 -0
- package/dist/react/ui/Card/Card.types.d.ts +22 -0
- package/dist/react/ui/Card/Card.types.d.ts.map +1 -0
- package/dist/react/ui/Card/index.d.ts +36 -0
- package/dist/react/ui/Card/index.d.ts.map +1 -0
- package/dist/react/ui/Card/index.js +82 -0
- package/dist/react/ui/Checkbox/Checkbox.styles.d.ts +25 -0
- package/dist/react/ui/Checkbox/Checkbox.styles.d.ts.map +1 -0
- package/dist/react/ui/Checkbox/Checkbox.styles.js +34 -0
- package/dist/react/ui/Checkbox/Checkbox.types.d.ts +88 -0
- package/dist/react/ui/Checkbox/Checkbox.types.d.ts.map +1 -0
- package/dist/react/ui/Checkbox/index.d.ts +59 -0
- package/dist/react/ui/Checkbox/index.d.ts.map +1 -0
- package/dist/react/ui/Checkbox/index.js +158 -0
- package/dist/react/ui/Combobox/Combobox.styles.d.ts +7 -0
- package/dist/react/ui/Combobox/Combobox.styles.d.ts.map +1 -0
- package/dist/react/ui/Combobox/Combobox.styles.js +17 -0
- package/dist/react/ui/Combobox/Combobox.types.d.ts +49 -0
- package/dist/react/ui/Combobox/Combobox.types.d.ts.map +1 -0
- package/dist/react/ui/Combobox/index.d.ts +60 -0
- package/dist/react/ui/Combobox/index.d.ts.map +1 -0
- package/dist/{components/ui/combobox.js → react/ui/Combobox/index.js} +54 -16
- package/dist/react/ui/CornerBracket/CornerBracket.styles.d.ts +18 -0
- package/dist/react/ui/CornerBracket/CornerBracket.styles.d.ts.map +1 -0
- package/dist/react/ui/CornerBracket/CornerBracket.styles.js +30 -0
- package/dist/react/ui/CornerBracket/CornerBracket.types.d.ts +12 -0
- package/dist/react/ui/CornerBracket/CornerBracket.types.d.ts.map +1 -0
- package/dist/react/ui/CornerBracket/index.d.ts +23 -0
- package/dist/react/ui/CornerBracket/index.d.ts.map +1 -0
- package/dist/react/ui/CornerBracket/index.js +42 -0
- package/dist/react/ui/Dialog/Dialog.styles.d.ts +24 -0
- package/dist/react/ui/Dialog/Dialog.styles.d.ts.map +1 -0
- package/dist/react/ui/Dialog/Dialog.styles.js +29 -0
- package/dist/react/ui/Dialog/Dialog.types.d.ts +221 -0
- package/dist/react/ui/Dialog/Dialog.types.d.ts.map +1 -0
- package/dist/react/ui/Dialog/index.d.ts +138 -0
- package/dist/react/ui/Dialog/index.d.ts.map +1 -0
- package/dist/react/ui/Dialog/index.js +265 -0
- package/dist/react/ui/DropdownMenu/DropdownMenu.styles.d.ts +7 -0
- package/dist/react/ui/DropdownMenu/DropdownMenu.styles.d.ts.map +1 -0
- package/dist/react/ui/DropdownMenu/DropdownMenu.styles.js +16 -0
- package/dist/react/ui/DropdownMenu/DropdownMenu.types.d.ts +50 -0
- package/dist/react/ui/DropdownMenu/DropdownMenu.types.d.ts.map +1 -0
- package/dist/react/ui/DropdownMenu/index.d.ts +50 -0
- package/dist/react/ui/DropdownMenu/index.d.ts.map +1 -0
- package/dist/{components/ui/dropdown-menu.js → react/ui/DropdownMenu/index.js} +44 -14
- package/dist/react/ui/Field/Field.styles.d.ts +11 -0
- package/dist/react/ui/Field/Field.styles.d.ts.map +1 -0
- package/dist/react/ui/Field/Field.styles.js +27 -0
- package/dist/react/ui/Field/Field.types.d.ts +39 -0
- package/dist/react/ui/Field/Field.types.d.ts.map +1 -0
- package/dist/react/ui/Field/index.d.ts +56 -0
- package/dist/react/ui/Field/index.d.ts.map +1 -0
- package/dist/{components/ui/field.js → react/ui/Field/index.js} +55 -23
- package/dist/react/ui/Input/Input.styles.d.ts +7 -0
- package/dist/react/ui/Input/Input.styles.d.ts.map +1 -0
- package/dist/react/ui/Input/Input.styles.js +5 -0
- package/dist/react/ui/Input/Input.types.d.ts +9 -0
- package/dist/react/ui/Input/Input.types.d.ts.map +1 -0
- package/dist/react/ui/Input/index.d.ts +17 -0
- package/dist/react/ui/Input/index.d.ts.map +1 -0
- package/dist/react/ui/Input/index.js +29 -0
- package/dist/react/ui/InputGroup/InputGroup.styles.d.ts +15 -0
- package/dist/react/ui/InputGroup/InputGroup.styles.d.ts.map +1 -0
- package/dist/react/ui/InputGroup/InputGroup.styles.js +34 -0
- package/dist/react/ui/InputGroup/InputGroup.types.d.ts +28 -0
- package/dist/react/ui/InputGroup/InputGroup.types.d.ts.map +1 -0
- package/dist/react/ui/InputGroup/index.d.ts +28 -0
- package/dist/react/ui/InputGroup/index.d.ts.map +1 -0
- package/dist/react/ui/InputGroup/index.js +81 -0
- package/dist/react/ui/Label/Label.styles.d.ts +6 -0
- package/dist/react/ui/Label/Label.styles.d.ts.map +1 -0
- package/dist/react/ui/Label/Label.styles.js +5 -0
- package/dist/react/ui/Label/Label.types.d.ts +8 -0
- package/dist/react/ui/Label/Label.types.d.ts.map +1 -0
- package/dist/react/ui/Label/index.d.ts +14 -0
- package/dist/react/ui/Label/index.d.ts.map +1 -0
- package/dist/react/ui/Label/index.js +24 -0
- package/dist/react/ui/Menu/Menu.styles.d.ts +42 -0
- package/dist/react/ui/Menu/Menu.styles.d.ts.map +1 -0
- package/dist/react/ui/Menu/Menu.styles.js +32 -0
- package/dist/react/ui/Menu/Menu.types.d.ts +328 -0
- package/dist/react/ui/Menu/Menu.types.d.ts.map +1 -0
- package/dist/react/ui/Menu/index.d.ts +354 -0
- package/dist/react/ui/Menu/index.d.ts.map +1 -0
- package/dist/react/ui/Menu/index.js +636 -0
- package/dist/react/ui/Popover/Popover.styles.d.ts +23 -0
- package/dist/react/ui/Popover/Popover.styles.d.ts.map +1 -0
- package/dist/react/ui/Popover/Popover.styles.js +26 -0
- package/dist/react/ui/Popover/Popover.types.d.ts +204 -0
- package/dist/react/ui/Popover/Popover.types.d.ts.map +1 -0
- package/dist/react/ui/Popover/index.d.ts +133 -0
- package/dist/react/ui/Popover/index.d.ts.map +1 -0
- package/dist/react/ui/Popover/index.js +237 -0
- package/dist/react/ui/Progress/Progress.styles.d.ts +28 -0
- package/dist/react/ui/Progress/Progress.styles.d.ts.map +1 -0
- package/dist/react/ui/Progress/Progress.styles.js +30 -0
- package/dist/react/ui/Progress/Progress.types.d.ts +148 -0
- package/dist/react/ui/Progress/Progress.types.d.ts.map +1 -0
- package/dist/react/ui/Progress/index.d.ts +111 -0
- package/dist/react/ui/Progress/index.d.ts.map +1 -0
- package/dist/react/ui/Progress/index.js +170 -0
- package/dist/react/ui/Select/Select.styles.d.ts +7 -0
- package/dist/react/ui/Select/Select.styles.d.ts.map +1 -0
- package/dist/react/ui/Select/Select.styles.js +15 -0
- package/dist/react/ui/Select/Select.types.d.ts +28 -0
- package/dist/react/ui/Select/Select.types.d.ts.map +1 -0
- package/dist/react/ui/Select/index.d.ts +38 -0
- package/dist/react/ui/Select/index.d.ts.map +1 -0
- package/dist/{components/ui/select.js → react/ui/Select/index.js} +35 -13
- package/dist/react/ui/Separator/Separator.styles.d.ts +6 -0
- package/dist/react/ui/Separator/Separator.styles.d.ts.map +1 -0
- package/dist/react/ui/Separator/Separator.styles.js +5 -0
- package/dist/react/ui/Separator/Separator.types.d.ts +9 -0
- package/dist/react/ui/Separator/Separator.types.d.ts.map +1 -0
- package/dist/react/ui/Separator/index.d.ts +16 -0
- package/dist/react/ui/Separator/index.d.ts.map +1 -0
- package/dist/react/ui/Separator/index.js +29 -0
- package/dist/react/ui/Switch/Switch.styles.d.ts +26 -0
- package/dist/react/ui/Switch/Switch.styles.d.ts.map +1 -0
- package/dist/react/ui/Switch/Switch.styles.js +41 -0
- package/dist/react/ui/Switch/Switch.types.d.ts +130 -0
- package/dist/react/ui/Switch/Switch.types.d.ts.map +1 -0
- package/dist/react/ui/Switch/index.d.ts +79 -0
- package/dist/react/ui/Switch/index.d.ts.map +1 -0
- package/dist/react/ui/Switch/index.js +199 -0
- package/dist/react/ui/Tabs/Tabs.styles.d.ts +43 -0
- package/dist/react/ui/Tabs/Tabs.styles.d.ts.map +1 -0
- package/dist/react/ui/Tabs/Tabs.styles.js +26 -0
- package/dist/react/ui/Tabs/Tabs.types.d.ts +201 -0
- package/dist/react/ui/Tabs/Tabs.types.d.ts.map +1 -0
- package/dist/react/ui/Tabs/index.d.ts +141 -0
- package/dist/react/ui/Tabs/index.d.ts.map +1 -0
- package/dist/react/ui/Tabs/index.js +308 -0
- package/dist/react/ui/Textarea/Textarea.styles.d.ts +6 -0
- package/dist/react/ui/Textarea/Textarea.styles.d.ts.map +1 -0
- package/dist/react/ui/Textarea/Textarea.styles.js +5 -0
- package/dist/react/ui/Textarea/Textarea.types.d.ts +8 -0
- package/dist/react/ui/Textarea/Textarea.types.d.ts.map +1 -0
- package/dist/react/ui/Textarea/index.d.ts +14 -0
- package/dist/react/ui/Textarea/index.d.ts.map +1 -0
- package/dist/react/ui/Textarea/index.js +24 -0
- package/dist/react/ui/Tooltip/Tooltip.styles.d.ts +23 -0
- package/dist/react/ui/Tooltip/Tooltip.styles.d.ts.map +1 -0
- package/dist/react/ui/Tooltip/Tooltip.styles.js +26 -0
- package/dist/react/ui/Tooltip/Tooltip.types.d.ts +203 -0
- package/dist/react/ui/Tooltip/Tooltip.types.d.ts.map +1 -0
- package/dist/react/ui/Tooltip/index.d.ts +110 -0
- package/dist/react/ui/Tooltip/index.d.ts.map +1 -0
- package/dist/react/ui/Tooltip/index.js +219 -0
- package/dist/react/ui/index.d.ts +31 -0
- package/dist/react/ui/index.d.ts.map +1 -0
- package/dist/react/ui/index.js +37 -0
- package/dist/react.js +88 -0
- package/package.json +12 -13
- package/src/core/index.ts +7 -0
- package/src/core/types.ts +82 -0
- package/src/index.ts +20 -11
- package/src/react/components/MorphingPopover/MorphingPopover.types.ts +49 -0
- package/src/react/components/MorphingPopover/index.tsx +186 -0
- package/src/react/components/index.ts +9 -0
- package/src/{hooks/use-auto-height.tsx → react/hooks/Animation/UseAutoHeight.tsx} +24 -3
- package/src/react/hooks/DOM/UseIsInView.tsx +44 -0
- package/src/{hooks/use-controlled-state.tsx → react/hooks/State/UseControlledState.tsx} +26 -2
- package/src/{hooks/use-data-state.tsx → react/hooks/State/UseDataState.tsx} +22 -0
- package/src/react/hooks/index.ts +17 -0
- package/src/react/icons/index.ts +12 -0
- package/src/{icons → react/icons}/lucide-animated/activity.tsx +1 -1
- package/src/{icons → react/icons}/lucide-animated/bell-electric.tsx +1 -1
- package/src/{icons → react/icons}/lucide-animated/bell.tsx +1 -1
- package/src/{icons → react/icons}/lucide-animated/bot.tsx +1 -1
- package/src/{icons → react/icons}/lucide-animated/box.tsx +1 -1
- package/src/{icons → react/icons}/lucide-animated/circle-check.tsx +1 -1
- package/src/{icons → react/icons}/lucide-animated/delete.tsx +1 -1
- package/src/{icons → react/icons}/lucide-animated/download.tsx +1 -1
- package/src/{icons → react/icons}/lucide-animated/home.tsx +1 -1
- package/src/react/icons/lucide-animated/index.ts +38 -0
- package/src/{icons → react/icons}/lucide-animated/layout-panel-top.tsx +1 -1
- package/src/{icons → react/icons}/lucide-animated/plus.tsx +1 -1
- package/src/{icons → react/icons}/lucide-animated/search.tsx +1 -1
- package/src/{icons → react/icons}/lucide-animated/settings.tsx +1 -1
- package/src/{icons → react/icons}/lucide-animated/trending-down.tsx +1 -1
- package/src/{icons → react/icons}/lucide-animated/trending-up.tsx +1 -1
- package/src/{icons → react/icons}/lucide-animated/x.tsx +1 -1
- package/src/react/index.ts +30 -0
- package/src/{lib → react/lib}/get-strict-context.tsx +20 -0
- package/src/react/lib/index.ts +8 -0
- package/src/{lib → react/lib}/utils.ts +2 -2
- package/src/{components/animate-ui/primitives/effects/auto-height.tsx → react/primitives/AutoHeight/index.tsx} +24 -5
- package/src/{components/animate-ui/primitives/texts/counting-number.tsx → react/primitives/CountingNumber/index.tsx} +35 -7
- package/src/react/primitives/Highlight/Highlight.types.ts +136 -0
- package/src/{components/animate-ui/primitives/effects/highlight.tsx → react/primitives/Highlight/index.tsx} +60 -123
- package/src/{components/animate-ui/primitives/animate/slot.tsx → react/primitives/Slot/index.tsx} +43 -11
- package/src/react/primitives/index.ts +13 -0
- package/src/react/ui/Accordion/Accordion.styles.ts +72 -0
- package/src/react/ui/Accordion/Accordion.types.ts +199 -0
- package/src/react/ui/Accordion/index.tsx +362 -0
- package/src/react/ui/AlertDialog/AlertDialog.styles.ts +38 -0
- package/src/react/ui/AlertDialog/AlertDialog.types.ts +296 -0
- package/src/react/ui/AlertDialog/index.tsx +540 -0
- package/src/react/ui/Badge/Badge.styles.ts +43 -0
- package/src/react/ui/Badge/Badge.types.ts +26 -0
- package/src/react/ui/Badge/index.tsx +34 -0
- package/src/react/ui/Button/Button.styles.ts +57 -0
- package/src/react/ui/Button/Button.types.ts +63 -0
- package/src/react/ui/Button/index.tsx +155 -0
- package/src/react/ui/Card/Card.styles.ts +32 -0
- package/src/react/ui/Card/Card.types.ts +39 -0
- package/src/react/ui/Card/index.tsx +130 -0
- package/src/react/ui/Checkbox/Checkbox.styles.ts +40 -0
- package/src/react/ui/Checkbox/Checkbox.types.ts +98 -0
- package/src/react/ui/Checkbox/index.tsx +233 -0
- package/src/react/ui/Combobox/Combobox.styles.ts +34 -0
- package/src/react/ui/Combobox/Combobox.types.ts +89 -0
- package/src/react/ui/Combobox/index.tsx +331 -0
- package/src/react/ui/CornerBracket/CornerBracket.styles.ts +38 -0
- package/src/react/ui/CornerBracket/CornerBracket.types.ts +15 -0
- package/src/react/ui/CornerBracket/index.tsx +49 -0
- package/src/react/ui/Dialog/Dialog.styles.ts +59 -0
- package/src/react/ui/Dialog/Dialog.types.ts +284 -0
- package/src/react/ui/Dialog/index.tsx +452 -0
- package/src/react/ui/DropdownMenu/DropdownMenu.styles.ts +35 -0
- package/src/react/ui/DropdownMenu/DropdownMenu.types.ts +81 -0
- package/src/react/ui/DropdownMenu/index.tsx +300 -0
- package/src/react/ui/Field/Field.styles.ts +47 -0
- package/src/react/ui/Field/Field.types.ts +60 -0
- package/src/react/ui/Field/index.tsx +254 -0
- package/src/{components/ui/input.tsx → react/ui/Input/Input.styles.ts} +8 -17
- package/src/react/ui/Input/Input.types.ts +10 -0
- package/src/react/ui/Input/index.tsx +32 -0
- package/src/react/ui/InputGroup/InputGroup.styles.ts +53 -0
- package/src/react/ui/InputGroup/InputGroup.types.ts +44 -0
- package/src/react/ui/InputGroup/index.tsx +147 -0
- package/src/react/ui/Label/Label.styles.ts +10 -0
- package/src/react/ui/Label/Label.types.ts +9 -0
- package/src/react/ui/Label/index.tsx +27 -0
- package/src/react/ui/Menu/Menu.styles.ts +71 -0
- package/src/react/ui/Menu/Menu.types.ts +425 -0
- package/src/react/ui/Menu/index.tsx +900 -0
- package/src/react/ui/Popover/Popover.styles.ts +55 -0
- package/src/react/ui/Popover/Popover.types.ts +261 -0
- package/src/react/ui/Popover/index.tsx +422 -0
- package/src/react/ui/Progress/Progress.styles.ts +36 -0
- package/src/react/ui/Progress/Progress.types.ts +162 -0
- package/src/react/ui/Progress/index.tsx +254 -0
- package/src/react/ui/Select/Select.styles.ts +30 -0
- package/src/react/ui/Select/Select.types.ts +51 -0
- package/src/react/ui/Select/index.tsx +225 -0
- package/src/react/ui/Separator/Separator.styles.ts +10 -0
- package/src/react/ui/Separator/Separator.types.ts +10 -0
- package/src/react/ui/Separator/index.tsx +37 -0
- package/src/react/ui/Switch/Switch.styles.ts +50 -0
- package/src/react/ui/Switch/Switch.types.ts +155 -0
- package/src/react/ui/Switch/index.tsx +253 -0
- package/src/react/ui/Tabs/Tabs.styles.ts +60 -0
- package/src/react/ui/Tabs/Tabs.types.ts +250 -0
- package/src/react/ui/Tabs/index.tsx +421 -0
- package/src/{components/ui/textarea.tsx → react/ui/Textarea/Textarea.styles.ts} +7 -15
- package/src/react/ui/Textarea/Textarea.types.ts +9 -0
- package/src/react/ui/Textarea/index.tsx +27 -0
- package/src/react/ui/Tooltip/Tooltip.styles.ts +43 -0
- package/src/react/ui/Tooltip/Tooltip.types.ts +253 -0
- package/src/react/ui/Tooltip/index.tsx +394 -0
- package/src/react/ui/index.ts +34 -0
- package/dist/components/animate-ui/primitives/animate/slot.d.ts +0 -18
- package/dist/components/animate-ui/primitives/animate/slot.d.ts.map +0 -1
- package/dist/components/animate-ui/primitives/base/accordion.d.ts +0 -22
- package/dist/components/animate-ui/primitives/base/accordion.d.ts.map +0 -1
- package/dist/components/animate-ui/primitives/base/alert-dialog.d.ts +0 -33
- package/dist/components/animate-ui/primitives/base/alert-dialog.d.ts.map +0 -1
- package/dist/components/animate-ui/primitives/base/checkbox.d.ts +0 -15
- package/dist/components/animate-ui/primitives/base/checkbox.d.ts.map +0 -1
- package/dist/components/animate-ui/primitives/base/dialog.d.ts +0 -33
- package/dist/components/animate-ui/primitives/base/dialog.d.ts.map +0 -1
- package/dist/components/animate-ui/primitives/base/menu.d.ts +0 -60
- package/dist/components/animate-ui/primitives/base/menu.d.ts.map +0 -1
- package/dist/components/animate-ui/primitives/base/popover.d.ts +0 -30
- package/dist/components/animate-ui/primitives/base/popover.d.ts.map +0 -1
- package/dist/components/animate-ui/primitives/base/progress.d.ts +0 -297
- package/dist/components/animate-ui/primitives/base/progress.d.ts.map +0 -1
- package/dist/components/animate-ui/primitives/base/switch.d.ts +0 -23
- package/dist/components/animate-ui/primitives/base/switch.d.ts.map +0 -1
- package/dist/components/animate-ui/primitives/base/switch.js +0 -90
- package/dist/components/animate-ui/primitives/base/tabs.d.ts +0 -33
- package/dist/components/animate-ui/primitives/base/tabs.d.ts.map +0 -1
- package/dist/components/animate-ui/primitives/base/tabs.js +0 -132
- package/dist/components/animate-ui/primitives/base/tooltip.d.ts +0 -31
- package/dist/components/animate-ui/primitives/base/tooltip.d.ts.map +0 -1
- package/dist/components/animate-ui/primitives/effects/auto-height.d.ts +0 -12
- package/dist/components/animate-ui/primitives/effects/auto-height.d.ts.map +0 -1
- package/dist/components/animate-ui/primitives/effects/auto-height.js +0 -37
- package/dist/components/animate-ui/primitives/effects/highlight.d.ts +0 -92
- package/dist/components/animate-ui/primitives/effects/highlight.d.ts.map +0 -1
- package/dist/components/animate-ui/primitives/texts/counting-number.d.ts +0 -16
- package/dist/components/animate-ui/primitives/texts/counting-number.d.ts.map +0 -1
- package/dist/components/ui/alert-dialog.d.ts +0 -21
- package/dist/components/ui/alert-dialog.d.ts.map +0 -1
- package/dist/components/ui/alert-dialog.js +0 -99
- package/dist/components/ui/badge/badge.d.ts +0 -37
- package/dist/components/ui/badge/badge.d.ts.map +0 -1
- package/dist/components/ui/badge/badge.js +0 -52
- package/dist/components/ui/badge/badge.styles.d.ts +0 -23
- package/dist/components/ui/badge/badge.styles.d.ts.map +0 -1
- package/dist/components/ui/badge/badge.types.d.ts +0 -38
- package/dist/components/ui/badge/badge.types.d.ts.map +0 -1
- package/dist/components/ui/badge/index.d.ts +0 -8
- package/dist/components/ui/badge/index.d.ts.map +0 -1
- package/dist/components/ui/badge/index.js +0 -2
- package/dist/components/ui/button/button.d.ts +0 -79
- package/dist/components/ui/button/button.d.ts.map +0 -1
- package/dist/components/ui/button/button.js +0 -161
- package/dist/components/ui/button/button.styles.d.ts +0 -33
- package/dist/components/ui/button/button.styles.d.ts.map +0 -1
- package/dist/components/ui/button/button.types.d.ts +0 -103
- package/dist/components/ui/button/button.types.d.ts.map +0 -1
- package/dist/components/ui/button/index.d.ts +0 -7
- package/dist/components/ui/button/index.d.ts.map +0 -1
- package/dist/components/ui/button/index.js +0 -2
- package/dist/components/ui/card.d.ts +0 -14
- package/dist/components/ui/card.d.ts.map +0 -1
- package/dist/components/ui/card.js +0 -67
- package/dist/components/ui/combobox.d.ts +0 -25
- package/dist/components/ui/combobox.d.ts.map +0 -1
- package/dist/components/ui/devenv-bracket.d.ts +0 -30
- package/dist/components/ui/devenv-bracket.d.ts.map +0 -1
- package/dist/components/ui/devenv-bracket.js +0 -66
- package/dist/components/ui/dropdown-menu.d.ts +0 -30
- package/dist/components/ui/dropdown-menu.d.ts.map +0 -1
- package/dist/components/ui/field.d.ts +0 -25
- package/dist/components/ui/field.d.ts.map +0 -1
- package/dist/components/ui/index.d.ts +0 -25
- package/dist/components/ui/index.d.ts.map +0 -1
- package/dist/components/ui/index.js +0 -24
- package/dist/components/ui/input-group.d.ts +0 -19
- package/dist/components/ui/input-group.d.ts.map +0 -1
- package/dist/components/ui/input-group.js +0 -84
- package/dist/components/ui/input.d.ts +0 -4
- package/dist/components/ui/input.d.ts.map +0 -1
- package/dist/components/ui/input.js +0 -17
- package/dist/components/ui/label.d.ts +0 -4
- package/dist/components/ui/label.d.ts.map +0 -1
- package/dist/components/ui/label.js +0 -15
- package/dist/components/ui/morphing-popover/index.d.ts +0 -10
- package/dist/components/ui/morphing-popover/index.d.ts.map +0 -1
- package/dist/components/ui/morphing-popover/index.js +0 -1
- package/dist/components/ui/morphing-popover/morphing-popover.d.ts +0 -54
- package/dist/components/ui/morphing-popover/morphing-popover.d.ts.map +0 -1
- package/dist/components/ui/morphing-popover/morphing-popover.module.js +0 -5
- package/dist/components/ui/select.d.ts +0 -16
- package/dist/components/ui/select.d.ts.map +0 -1
- package/dist/components/ui/separator.d.ts +0 -4
- package/dist/components/ui/separator.d.ts.map +0 -1
- package/dist/components/ui/separator.js +0 -18
- package/dist/components/ui/switch.d.ts +0 -9
- package/dist/components/ui/switch.d.ts.map +0 -1
- package/dist/components/ui/switch.js +0 -1
- package/dist/components/ui/tabs.d.ts +0 -9
- package/dist/components/ui/tabs.d.ts.map +0 -1
- package/dist/components/ui/tabs.js +0 -1
- package/dist/components/ui/textarea.d.ts +0 -4
- package/dist/components/ui/textarea.d.ts.map +0 -1
- package/dist/components/ui/textarea.js +0 -15
- package/dist/hooks/use-auto-height.d.ts +0 -11
- package/dist/hooks/use-auto-height.d.ts.map +0 -1
- package/dist/hooks/use-controlled-state.d.ts +0 -9
- package/dist/hooks/use-controlled-state.d.ts.map +0 -1
- package/dist/hooks/use-controlled-state.js +0 -17
- package/dist/hooks/use-data-state.d.ts +0 -5
- package/dist/hooks/use-data-state.d.ts.map +0 -1
- package/dist/hooks/use-is-in-view.d.ts +0 -13
- package/dist/hooks/use-is-in-view.d.ts.map +0 -1
- package/dist/icons/index.d.ts +0 -8
- package/dist/icons/index.d.ts.map +0 -1
- package/dist/icons/lucide-animated/activity.d.ts +0 -11
- package/dist/icons/lucide-animated/activity.d.ts.map +0 -1
- package/dist/icons/lucide-animated/arrow-down-to-line.d.ts.map +0 -1
- package/dist/icons/lucide-animated/arrow-up.d.ts.map +0 -1
- package/dist/icons/lucide-animated/bell-electric.d.ts +0 -11
- package/dist/icons/lucide-animated/bell-electric.d.ts.map +0 -1
- package/dist/icons/lucide-animated/bell.d.ts +0 -11
- package/dist/icons/lucide-animated/bell.d.ts.map +0 -1
- package/dist/icons/lucide-animated/bot.d.ts +0 -11
- package/dist/icons/lucide-animated/bot.d.ts.map +0 -1
- package/dist/icons/lucide-animated/box.d.ts +0 -11
- package/dist/icons/lucide-animated/box.d.ts.map +0 -1
- package/dist/icons/lucide-animated/check.d.ts.map +0 -1
- package/dist/icons/lucide-animated/circle-check.d.ts +0 -11
- package/dist/icons/lucide-animated/circle-check.d.ts.map +0 -1
- package/dist/icons/lucide-animated/delete.d.ts +0 -11
- package/dist/icons/lucide-animated/delete.d.ts.map +0 -1
- package/dist/icons/lucide-animated/download.d.ts +0 -11
- package/dist/icons/lucide-animated/download.d.ts.map +0 -1
- package/dist/icons/lucide-animated/edit-2.d.ts.map +0 -1
- package/dist/icons/lucide-animated/globe.d.ts.map +0 -1
- package/dist/icons/lucide-animated/home.d.ts +0 -11
- package/dist/icons/lucide-animated/home.d.ts.map +0 -1
- package/dist/icons/lucide-animated/index.d.ts +0 -38
- package/dist/icons/lucide-animated/index.d.ts.map +0 -1
- package/dist/icons/lucide-animated/layers.d.ts.map +0 -1
- package/dist/icons/lucide-animated/layout-panel-top.d.ts +0 -11
- package/dist/icons/lucide-animated/layout-panel-top.d.ts.map +0 -1
- package/dist/icons/lucide-animated/list.d.ts.map +0 -1
- package/dist/icons/lucide-animated/package.d.ts.map +0 -1
- package/dist/icons/lucide-animated/palette.d.ts.map +0 -1
- package/dist/icons/lucide-animated/plus.d.ts +0 -11
- package/dist/icons/lucide-animated/plus.d.ts.map +0 -1
- package/dist/icons/lucide-animated/refresh-cw.d.ts.map +0 -1
- package/dist/icons/lucide-animated/rocket.d.ts.map +0 -1
- package/dist/icons/lucide-animated/save.d.ts.map +0 -1
- package/dist/icons/lucide-animated/search.d.ts +0 -11
- package/dist/icons/lucide-animated/search.d.ts.map +0 -1
- package/dist/icons/lucide-animated/settings.d.ts +0 -11
- package/dist/icons/lucide-animated/settings.d.ts.map +0 -1
- package/dist/icons/lucide-animated/terminal.d.ts.map +0 -1
- package/dist/icons/lucide-animated/trash-2.d.ts.map +0 -1
- package/dist/icons/lucide-animated/trending-down.d.ts +0 -11
- package/dist/icons/lucide-animated/trending-down.d.ts.map +0 -1
- package/dist/icons/lucide-animated/trending-up.d.ts +0 -11
- package/dist/icons/lucide-animated/trending-up.d.ts.map +0 -1
- package/dist/icons/lucide-animated/type.d.ts.map +0 -1
- package/dist/icons/lucide-animated/upload.d.ts.map +0 -1
- package/dist/icons/lucide-animated/x.d.ts +0 -11
- package/dist/icons/lucide-animated/x.d.ts.map +0 -1
- package/dist/lib/get-strict-context.d.ts +0 -10
- package/dist/lib/get-strict-context.d.ts.map +0 -1
- package/dist/lib/get-strict-context.js +0 -20
- package/dist/lib/utils.d.ts.map +0 -1
- package/src/components/animate-ui/primitives/base/accordion.tsx +0 -179
- package/src/components/animate-ui/primitives/base/alert-dialog.tsx +0 -218
- package/src/components/animate-ui/primitives/base/checkbox.tsx +0 -153
- package/src/components/animate-ui/primitives/base/dialog.tsx +0 -203
- package/src/components/animate-ui/primitives/base/menu.tsx +0 -463
- package/src/components/animate-ui/primitives/base/popover.tsx +0 -167
- package/src/components/animate-ui/primitives/base/progress.tsx +0 -103
- package/src/components/animate-ui/primitives/base/switch.tsx +0 -158
- package/src/components/animate-ui/primitives/base/tabs.tsx +0 -202
- package/src/components/animate-ui/primitives/base/tooltip.tsx +0 -209
- package/src/components/ui/alert-dialog.tsx +0 -177
- package/src/components/ui/badge/badge.styles.ts +0 -46
- package/src/components/ui/badge/badge.tsx +0 -52
- package/src/components/ui/badge/badge.types.ts +0 -41
- package/src/components/ui/badge/index.ts +0 -8
- package/src/components/ui/button/button.styles.ts +0 -66
- package/src/components/ui/button/button.tsx +0 -209
- package/src/components/ui/button/button.types.ts +0 -125
- package/src/components/ui/button/index.ts +0 -7
- package/src/components/ui/card.tsx +0 -108
- package/src/components/ui/combobox.tsx +0 -293
- package/src/components/ui/devenv-bracket.tsx +0 -81
- package/src/components/ui/dropdown-menu.tsx +0 -261
- package/src/components/ui/field.tsx +0 -227
- package/src/components/ui/index.ts +0 -28
- package/src/components/ui/input-group.tsx +0 -149
- package/src/components/ui/label.tsx +0 -18
- package/src/components/ui/morphing-popover/index.ts +0 -10
- package/src/components/ui/morphing-popover/morphing-popover.tsx +0 -183
- package/src/components/ui/select.tsx +0 -190
- package/src/components/ui/separator.tsx +0 -25
- package/src/components/ui/switch.tsx +0 -9
- package/src/components/ui/tabs.tsx +0 -9
- package/src/hooks/use-is-in-view.tsx +0 -25
- package/src/icons/index.ts +0 -12
- package/src/icons/lucide-animated/index.ts +0 -38
- /package/dist/{components/ui/morphing-popover/morphing-popover.module-yxDDcJHZ.css → react/components/MorphingPopover/morphing-popover.module-BkcZcmVy.css} +0 -0
- /package/dist/{icons → react/icons}/index.js +0 -0
- /package/dist/{icons → react/icons}/lucide-animated/check.d.ts +0 -0
- /package/dist/{icons → react/icons}/lucide-animated/edit-2.d.ts +0 -0
- /package/dist/{icons → react/icons}/lucide-animated/globe.d.ts +0 -0
- /package/dist/{icons → react/icons}/lucide-animated/index.js +0 -0
- /package/dist/{icons → react/icons}/lucide-animated/layers.d.ts +0 -0
- /package/dist/{icons → react/icons}/lucide-animated/package.d.ts +0 -0
- /package/dist/{icons → react/icons}/lucide-animated/palette.d.ts +0 -0
- /package/dist/{icons → react/icons}/lucide-animated/refresh-cw.d.ts +0 -0
- /package/dist/{icons → react/icons}/lucide-animated/rocket.d.ts +0 -0
- /package/dist/{icons → react/icons}/lucide-animated/save.d.ts +0 -0
- /package/dist/{icons → react/icons}/lucide-animated/trash-2.d.ts +0 -0
- /package/dist/{icons → react/icons}/lucide-animated/type.d.ts +0 -0
- /package/dist/{icons → react/icons}/lucide-animated/upload.d.ts +0 -0
- /package/src/{components/ui/morphing-popover → react/components/MorphingPopover}/morphing-popover.module.css +0 -0
- /package/src/{icons → react/icons}/lucide-animated/arrow-down-to-line.tsx +0 -0
- /package/src/{icons → react/icons}/lucide-animated/arrow-up.tsx +0 -0
- /package/src/{icons → react/icons}/lucide-animated/check.tsx +0 -0
- /package/src/{icons → react/icons}/lucide-animated/edit-2.tsx +0 -0
- /package/src/{icons → react/icons}/lucide-animated/globe.tsx +0 -0
- /package/src/{icons → react/icons}/lucide-animated/layers.tsx +0 -0
- /package/src/{icons → react/icons}/lucide-animated/list.tsx +0 -0
- /package/src/{icons → react/icons}/lucide-animated/package.tsx +0 -0
- /package/src/{icons → react/icons}/lucide-animated/palette.tsx +0 -0
- /package/src/{icons → react/icons}/lucide-animated/refresh-cw.tsx +0 -0
- /package/src/{icons → react/icons}/lucide-animated/rocket.tsx +0 -0
- /package/src/{icons → react/icons}/lucide-animated/save.tsx +0 -0
- /package/src/{icons → react/icons}/lucide-animated/terminal.tsx +0 -0
- /package/src/{icons → react/icons}/lucide-animated/trash-2.tsx +0 -0
- /package/src/{icons → react/icons}/lucide-animated/type.tsx +0 -0
- /package/src/{icons → react/icons}/lucide-animated/upload.tsx +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { clsx } from "clsx";
|
|
2
2
|
import { twMerge } from "tailwind-merge";
|
|
3
3
|
|
|
4
|
-
//#region src/lib/utils.ts
|
|
4
|
+
//#region src/react/lib/utils.ts
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* React-specific utility functions.
|
|
7
7
|
*
|
|
8
|
-
* @module @mks2508/mks-ui/lib/utils
|
|
8
|
+
* @module @mks2508/mks-ui/react/lib/utils
|
|
9
9
|
*/
|
|
10
10
|
/**
|
|
11
11
|
* Merge class names with Tailwind CSS class deduplication.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as React from '../../../react';
|
|
2
|
+
import { type HTMLMotionProps, type LegacyAnimationControls, type TargetAndTransition, type Transition } from 'motion/react';
|
|
3
|
+
import { type WithAsChild } from '../../../react/primitives/Slot';
|
|
4
|
+
/** Props for the AutoHeight primitive component. */
|
|
5
|
+
type IAutoHeightProps = WithAsChild<{
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
/** Dependency list to trigger re-measurement. */
|
|
8
|
+
deps?: React.DependencyList;
|
|
9
|
+
/** Motion animate target. */
|
|
10
|
+
animate?: TargetAndTransition | LegacyAnimationControls;
|
|
11
|
+
/** Motion transition config. */
|
|
12
|
+
transition?: Transition;
|
|
13
|
+
} & Omit<HTMLMotionProps<'div'>, 'animate'>>;
|
|
14
|
+
/**
|
|
15
|
+
* AutoHeight primitive — animates height changes of dynamic content.
|
|
16
|
+
* Uses ResizeObserver internally to track content height and Motion for animation.
|
|
17
|
+
*
|
|
18
|
+
* @param deps - Dependency list to trigger re-measurement
|
|
19
|
+
* @param transition - Motion spring/tween transition config
|
|
20
|
+
* @param asChild - Render as child element using Slot pattern
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* <AutoHeight deps={[content]}>
|
|
25
|
+
* <div>{content}</div>
|
|
26
|
+
* </AutoHeight>
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
declare function AutoHeight({ children, deps, transition, style, animate, asChild, ...props }: IAutoHeightProps): import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
export { AutoHeight, type IAutoHeightProps };
|
|
31
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/react/primitives/AutoHeight/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAQ,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEjE,oDAAoD;AACpD,KAAK,gBAAgB,GAAG,WAAW,CACjC;IACE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,iDAAiD;IACjD,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC;IAC5B,6BAA6B;IAC7B,OAAO,CAAC,EAAE,mBAAmB,GAAG,uBAAuB,CAAC;IACxD,gCAAgC;IAChC,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAC5C,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,iBAAS,UAAU,CAAC,EAClB,QAAQ,EACR,IAAS,EACT,UAMC,EACD,KAAK,EACL,OAAO,EACP,OAAe,EACf,GAAG,KAAK,EACT,EAAE,gBAAgB,2CAelB;AAED,OAAO,EAAE,UAAU,EAAE,KAAK,gBAAgB,EAAE,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { Slot } from "../Slot/index.js";
|
|
4
|
+
import { useAutoHeight } from "../../hooks/Animation/UseAutoHeight.js";
|
|
5
|
+
import "../../../react";
|
|
6
|
+
import { motion } from "motion/react";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
|
|
9
|
+
//#region src/react/primitives/AutoHeight/index.tsx
|
|
10
|
+
/**
|
|
11
|
+
* AutoHeight primitive — animates height changes of dynamic content.
|
|
12
|
+
* Uses ResizeObserver internally to track content height and Motion for animation.
|
|
13
|
+
*
|
|
14
|
+
* @param deps - Dependency list to trigger re-measurement
|
|
15
|
+
* @param transition - Motion spring/tween transition config
|
|
16
|
+
* @param asChild - Render as child element using Slot pattern
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```tsx
|
|
20
|
+
* <AutoHeight deps={[content]}>
|
|
21
|
+
* <div>{content}</div>
|
|
22
|
+
* </AutoHeight>
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
function AutoHeight({ children, deps = [], transition = {
|
|
26
|
+
type: "spring",
|
|
27
|
+
stiffness: 300,
|
|
28
|
+
damping: 30,
|
|
29
|
+
bounce: 0,
|
|
30
|
+
restDelta: .01
|
|
31
|
+
}, style, animate, asChild = false, ...props }) {
|
|
32
|
+
const { ref, height } = useAutoHeight(deps);
|
|
33
|
+
return /* @__PURE__ */ jsx(asChild ? Slot : motion.div, {
|
|
34
|
+
style: {
|
|
35
|
+
overflow: "hidden",
|
|
36
|
+
...style
|
|
37
|
+
},
|
|
38
|
+
animate: {
|
|
39
|
+
height,
|
|
40
|
+
...animate
|
|
41
|
+
},
|
|
42
|
+
transition,
|
|
43
|
+
...props,
|
|
44
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
45
|
+
ref,
|
|
46
|
+
children
|
|
47
|
+
})
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
//#endregion
|
|
52
|
+
export { AutoHeight };
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as React from '../../../react';
|
|
2
|
+
import { type SpringOptions } from 'motion/react';
|
|
3
|
+
import { type IUseIsInViewOptions } from '../../../react/hooks/DOM/UseIsInView';
|
|
4
|
+
/** Props for the CountingNumber primitive. */
|
|
5
|
+
type ICountingNumberProps = Omit<React.ComponentProps<'span'>, 'children'> & {
|
|
6
|
+
/** Target number to animate to. */
|
|
7
|
+
number: number;
|
|
8
|
+
/** Starting number (default: 0). */
|
|
9
|
+
fromNumber?: number;
|
|
10
|
+
/** Pad integer part with leading zeros. */
|
|
11
|
+
padStart?: boolean;
|
|
12
|
+
/** Decimal separator character. */
|
|
13
|
+
decimalSeparator?: string;
|
|
14
|
+
/** Number of decimal places to show. */
|
|
15
|
+
decimalPlaces?: number;
|
|
16
|
+
/** Spring transition options. */
|
|
17
|
+
transition?: SpringOptions;
|
|
18
|
+
/** Delay in ms before animation starts. */
|
|
19
|
+
delay?: number;
|
|
20
|
+
/** Start at target number instead of fromNumber. */
|
|
21
|
+
initiallyStable?: boolean;
|
|
22
|
+
} & IUseIsInViewOptions;
|
|
23
|
+
/**
|
|
24
|
+
* CountingNumber primitive — animates a number from one value to another
|
|
25
|
+
* using spring physics. Supports decimal places, padding, and in-view triggers.
|
|
26
|
+
*
|
|
27
|
+
* @param number - Target number to animate to
|
|
28
|
+
* @param fromNumber - Starting number (default: 0)
|
|
29
|
+
* @param transition - Spring physics options
|
|
30
|
+
* @param inView - Only animate when in viewport
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```tsx
|
|
34
|
+
* <CountingNumber number={1234} transition={{ stiffness: 90, damping: 50 }} />
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```tsx
|
|
39
|
+
* <CountingNumber number={99.99} decimalPlaces={2} decimalSeparator="," inView inViewOnce />
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
declare function CountingNumber({ ref, number, fromNumber, padStart, inView, inViewMargin, inViewOnce, decimalSeparator, transition, decimalPlaces, delay, initiallyStable, ...props }: ICountingNumberProps): import("react/jsx-runtime").JSX.Element;
|
|
43
|
+
export { CountingNumber, type ICountingNumberProps };
|
|
44
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/react/primitives/CountingNumber/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAA6B,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7E,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,+BAA+B,CAAC;AAEvC,8CAA8C;AAC9C,KAAK,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG;IAC3E,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GAAG,mBAAmB,CAAC;AAExB;;;;;;;;;;;;;;;;;;GAkBG;AACH,iBAAS,cAAc,CAAC,EACtB,GAAG,EACH,MAAM,EACN,UAAc,EACd,QAAgB,EAChB,MAAc,EACd,YAAoB,EACpB,UAAiB,EACjB,gBAAsB,EACtB,UAA2C,EAC3C,aAAiB,EACjB,KAAS,EACT,eAAuB,EACvB,GAAG,KAAK,EACT,EAAE,oBAAoB,2CAiFtB;AAED,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { useIsInView } from "../../hooks/DOM/UseIsInView.js";
|
|
4
|
+
import * as React from "../../../react";
|
|
5
|
+
import { useMotionValue, useSpring } from "motion/react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
|
|
8
|
+
//#region src/react/primitives/CountingNumber/index.tsx
|
|
9
|
+
/**
|
|
10
|
+
* CountingNumber primitive — animates a number from one value to another
|
|
11
|
+
* using spring physics. Supports decimal places, padding, and in-view triggers.
|
|
12
|
+
*
|
|
13
|
+
* @param number - Target number to animate to
|
|
14
|
+
* @param fromNumber - Starting number (default: 0)
|
|
15
|
+
* @param transition - Spring physics options
|
|
16
|
+
* @param inView - Only animate when in viewport
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```tsx
|
|
20
|
+
* <CountingNumber number={1234} transition={{ stiffness: 90, damping: 50 }} />
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```tsx
|
|
25
|
+
* <CountingNumber number={99.99} decimalPlaces={2} decimalSeparator="," inView inViewOnce />
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
function CountingNumber({ ref, number, fromNumber = 0, padStart = false, inView = false, inViewMargin = "0px", inViewOnce = true, decimalSeparator = ".", transition = {
|
|
29
|
+
stiffness: 90,
|
|
30
|
+
damping: 50
|
|
31
|
+
}, decimalPlaces = 0, delay = 0, initiallyStable = false, ...props }) {
|
|
32
|
+
const { ref: localRef, isInView } = useIsInView(ref, {
|
|
33
|
+
inView,
|
|
34
|
+
inViewOnce,
|
|
35
|
+
inViewMargin
|
|
36
|
+
});
|
|
37
|
+
const numberStr = number.toString();
|
|
38
|
+
const decimals = typeof decimalPlaces === "number" ? decimalPlaces : numberStr.includes(".") ? numberStr.split(".")[1]?.length ?? 0 : 0;
|
|
39
|
+
const motionVal = useMotionValue(initiallyStable ? number : fromNumber);
|
|
40
|
+
const springVal = useSpring(motionVal, transition);
|
|
41
|
+
React.useEffect(() => {
|
|
42
|
+
const timeoutId = setTimeout(() => {
|
|
43
|
+
if (isInView) motionVal.set(number);
|
|
44
|
+
}, delay);
|
|
45
|
+
return () => clearTimeout(timeoutId);
|
|
46
|
+
}, [
|
|
47
|
+
isInView,
|
|
48
|
+
number,
|
|
49
|
+
motionVal,
|
|
50
|
+
delay
|
|
51
|
+
]);
|
|
52
|
+
React.useEffect(() => {
|
|
53
|
+
const unsubscribe = springVal.on("change", (latest) => {
|
|
54
|
+
if (localRef.current) {
|
|
55
|
+
let formatted = decimals > 0 ? latest.toFixed(decimals) : Math.round(latest).toString();
|
|
56
|
+
if (decimals > 0) formatted = formatted.replace(".", decimalSeparator);
|
|
57
|
+
if (padStart) {
|
|
58
|
+
const finalIntLength = Math.floor(Math.abs(number)).toString().length;
|
|
59
|
+
const [intPart, fracPart] = formatted.split(decimalSeparator);
|
|
60
|
+
const paddedInt = intPart?.padStart(finalIntLength, "0") ?? "";
|
|
61
|
+
formatted = fracPart ? `${paddedInt}${decimalSeparator}${fracPart}` : paddedInt;
|
|
62
|
+
}
|
|
63
|
+
localRef.current.textContent = formatted;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
return () => unsubscribe();
|
|
67
|
+
}, [
|
|
68
|
+
springVal,
|
|
69
|
+
decimals,
|
|
70
|
+
padStart,
|
|
71
|
+
number,
|
|
72
|
+
decimalSeparator,
|
|
73
|
+
localRef
|
|
74
|
+
]);
|
|
75
|
+
const finalIntLength = Math.floor(Math.abs(number)).toString().length;
|
|
76
|
+
const formatValue = (val) => {
|
|
77
|
+
let out = decimals > 0 ? val.toFixed(decimals) : Math.round(val).toString();
|
|
78
|
+
if (decimals > 0) out = out.replace(".", decimalSeparator);
|
|
79
|
+
if (padStart) {
|
|
80
|
+
const [intPart, fracPart] = out.split(decimalSeparator);
|
|
81
|
+
const paddedInt = (intPart ?? "").padStart(finalIntLength, "0");
|
|
82
|
+
out = fracPart ? `${paddedInt}${decimalSeparator}${fracPart}` : paddedInt;
|
|
83
|
+
}
|
|
84
|
+
return out;
|
|
85
|
+
};
|
|
86
|
+
const zeroText = padStart ? "0".padStart(finalIntLength, "0") + (decimals > 0 ? decimalSeparator + "0".repeat(decimals) : "") : "0" + (decimals > 0 ? decimalSeparator + "0".repeat(decimals) : "");
|
|
87
|
+
const initialText = initiallyStable ? formatValue(number) : zeroText;
|
|
88
|
+
return /* @__PURE__ */ jsx("span", {
|
|
89
|
+
ref: localRef,
|
|
90
|
+
"data-slot": "counting-number",
|
|
91
|
+
...props,
|
|
92
|
+
children: initialText
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
//#endregion
|
|
97
|
+
export { CountingNumber };
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import type { Transition } from 'motion/react';
|
|
2
|
+
/** Mode for highlight tracking. */
|
|
3
|
+
export type HighlightMode = 'children' | 'parent';
|
|
4
|
+
/** Bounding rectangle offsets. */
|
|
5
|
+
export type Bounds = {
|
|
6
|
+
top: number;
|
|
7
|
+
left: number;
|
|
8
|
+
width: number;
|
|
9
|
+
height: number;
|
|
10
|
+
};
|
|
11
|
+
/** Internal context type for Highlight state. */
|
|
12
|
+
export type HighlightContextType<T extends string> = {
|
|
13
|
+
as?: keyof HTMLElementTagNameMap;
|
|
14
|
+
mode: HighlightMode;
|
|
15
|
+
activeValue: T | null;
|
|
16
|
+
setActiveValue: (value: T | null) => void;
|
|
17
|
+
setBounds: (bounds: DOMRect) => void;
|
|
18
|
+
clearBounds: () => void;
|
|
19
|
+
id: string;
|
|
20
|
+
hover: boolean;
|
|
21
|
+
click: boolean;
|
|
22
|
+
className?: string;
|
|
23
|
+
style?: React.CSSProperties;
|
|
24
|
+
activeClassName?: string;
|
|
25
|
+
setActiveClassName: (className: string) => void;
|
|
26
|
+
transition?: Transition;
|
|
27
|
+
disabled?: boolean;
|
|
28
|
+
enabled?: boolean;
|
|
29
|
+
exitDelay?: number;
|
|
30
|
+
forceUpdateBounds?: boolean;
|
|
31
|
+
};
|
|
32
|
+
/** Base props shared by all Highlight variants. */
|
|
33
|
+
export type BaseHighlightProps<T extends React.ElementType = 'div'> = {
|
|
34
|
+
as?: T;
|
|
35
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
36
|
+
mode?: HighlightMode;
|
|
37
|
+
value?: string | null;
|
|
38
|
+
defaultValue?: string | null;
|
|
39
|
+
onValueChange?: (value: string | null) => void;
|
|
40
|
+
className?: string;
|
|
41
|
+
style?: React.CSSProperties;
|
|
42
|
+
transition?: Transition;
|
|
43
|
+
hover?: boolean;
|
|
44
|
+
click?: boolean;
|
|
45
|
+
disabled?: boolean;
|
|
46
|
+
enabled?: boolean;
|
|
47
|
+
exitDelay?: number;
|
|
48
|
+
};
|
|
49
|
+
/** Props specific to parent mode. */
|
|
50
|
+
export type ParentModeHighlightProps = {
|
|
51
|
+
boundsOffset?: Partial<Bounds>;
|
|
52
|
+
containerClassName?: string;
|
|
53
|
+
forceUpdateBounds?: boolean;
|
|
54
|
+
};
|
|
55
|
+
/** Controlled parent mode highlight props. */
|
|
56
|
+
export type ControlledParentModeHighlightProps<T extends React.ElementType = 'div'> = BaseHighlightProps<T> & ParentModeHighlightProps & {
|
|
57
|
+
mode: 'parent';
|
|
58
|
+
controlledItems: true;
|
|
59
|
+
children: React.ReactNode;
|
|
60
|
+
};
|
|
61
|
+
/** Controlled children mode highlight props. */
|
|
62
|
+
export type ControlledChildrenModeHighlightProps<T extends React.ElementType = 'div'> = BaseHighlightProps<T> & {
|
|
63
|
+
mode?: 'children' | undefined;
|
|
64
|
+
controlledItems: true;
|
|
65
|
+
children: React.ReactNode;
|
|
66
|
+
};
|
|
67
|
+
/** Uncontrolled parent mode highlight props. */
|
|
68
|
+
export type UncontrolledParentModeHighlightProps<T extends React.ElementType = 'div'> = BaseHighlightProps<T> & ParentModeHighlightProps & {
|
|
69
|
+
mode: 'parent';
|
|
70
|
+
controlledItems?: false;
|
|
71
|
+
itemsClassName?: string;
|
|
72
|
+
children: React.ReactElement | React.ReactElement[];
|
|
73
|
+
};
|
|
74
|
+
/** Uncontrolled children mode highlight props. */
|
|
75
|
+
export type UncontrolledChildrenModeHighlightProps<T extends React.ElementType = 'div'> = BaseHighlightProps<T> & {
|
|
76
|
+
mode?: 'children';
|
|
77
|
+
controlledItems?: false;
|
|
78
|
+
itemsClassName?: string;
|
|
79
|
+
children: React.ReactElement | React.ReactElement[];
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* Props for the Highlight component.
|
|
83
|
+
* Discriminated union supporting controlled/uncontrolled + children/parent modes.
|
|
84
|
+
*/
|
|
85
|
+
export type IHighlightProps<T extends React.ElementType = 'div'> = ControlledParentModeHighlightProps<T> | ControlledChildrenModeHighlightProps<T> | UncontrolledParentModeHighlightProps<T> | UncontrolledChildrenModeHighlightProps<T>;
|
|
86
|
+
/** Extended child props used internally by HighlightItem. */
|
|
87
|
+
export type ExtendedChildProps = React.ComponentProps<'div'> & {
|
|
88
|
+
id?: string;
|
|
89
|
+
ref?: React.Ref<HTMLElement>;
|
|
90
|
+
'data-active'?: string;
|
|
91
|
+
'data-value'?: string;
|
|
92
|
+
'data-disabled'?: boolean;
|
|
93
|
+
'data-highlight'?: boolean;
|
|
94
|
+
'data-slot'?: string;
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Props for a HighlightItem within a Highlight container.
|
|
98
|
+
*/
|
|
99
|
+
export type IHighlightItemProps<T extends React.ElementType = 'div'> = React.ComponentProps<T> & {
|
|
100
|
+
as?: T;
|
|
101
|
+
children: React.ReactElement;
|
|
102
|
+
id?: string;
|
|
103
|
+
value?: string;
|
|
104
|
+
className?: string;
|
|
105
|
+
style?: React.CSSProperties;
|
|
106
|
+
transition?: Transition;
|
|
107
|
+
activeClassName?: string;
|
|
108
|
+
disabled?: boolean;
|
|
109
|
+
exitDelay?: number;
|
|
110
|
+
asChild?: boolean;
|
|
111
|
+
forceUpdateBounds?: boolean;
|
|
112
|
+
};
|
|
113
|
+
//# sourceMappingURL=Highlight.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Highlight.types.d.ts","sourceRoot":"","sources":["../../../../src/react/primitives/Highlight/Highlight.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import * as React from '../../../react';
|
|
2
|
+
import type { HighlightContextType, IHighlightProps, IHighlightItemProps } from './Highlight.types';
|
|
3
|
+
/**
|
|
4
|
+
* Hook to access the Highlight context.
|
|
5
|
+
* Must be used within a Highlight provider.
|
|
6
|
+
*
|
|
7
|
+
* @returns The current highlight context
|
|
8
|
+
*/
|
|
9
|
+
declare function useHighlight<T extends string>(): HighlightContextType<T>;
|
|
10
|
+
/**
|
|
11
|
+
* Highlight primitive — animated background indicator that follows the active item.
|
|
12
|
+
* Supports two modes: "children" (layoutId-based per item) and "parent" (absolute positioned).
|
|
13
|
+
*
|
|
14
|
+
* This is an internal primitive used by Tabs, Menu, and similar components.
|
|
15
|
+
*
|
|
16
|
+
* @param mode - Tracking mode: 'children' or 'parent'
|
|
17
|
+
* @param hover - Activate on hover instead of click
|
|
18
|
+
* @param click - Activate on click (default: true)
|
|
19
|
+
* @param transition - Motion transition config
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```tsx
|
|
23
|
+
* <Highlight hover>
|
|
24
|
+
* <HighlightItem><button>Tab 1</button></HighlightItem>
|
|
25
|
+
* <HighlightItem><button>Tab 2</button></HighlightItem>
|
|
26
|
+
* </Highlight>
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
declare function Highlight<T extends React.ElementType = 'div'>({ ref, ...props }: IHighlightProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
/**
|
|
31
|
+
* HighlightItem — a single item within a Highlight container.
|
|
32
|
+
* Tracks its own position and renders the animated highlight indicator.
|
|
33
|
+
*
|
|
34
|
+
* @param value - Unique identifier for this item
|
|
35
|
+
* @param activeClassName - Additional class when this item is active
|
|
36
|
+
* @param asChild - Use the child element directly instead of wrapping
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```tsx
|
|
40
|
+
* <HighlightItem value="tab-1">
|
|
41
|
+
* <button>Tab 1</button>
|
|
42
|
+
* </HighlightItem>
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
declare function HighlightItem<T extends React.ElementType>({ ref, as, children, id, value, className, style, transition, disabled, activeClassName, exitDelay, asChild, forceUpdateBounds, ...props }: IHighlightItemProps<T>): any;
|
|
46
|
+
export { Highlight, HighlightItem, useHighlight, };
|
|
47
|
+
export type { IHighlightProps, IHighlightItemProps, Bounds, HighlightMode, HighlightContextType, } from './Highlight.types';
|
|
48
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/react/primitives/Highlight/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAEV,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EAGpB,MAAM,mBAAmB,CAAC;AAc3B;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,CAAC,SAAS,MAAM,KAAK,oBAAoB,CAAC,CAAC,CAAC,CAMjE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,iBAAS,SAAS,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,GAAG,KAAK,EAAE,EACtD,GAAG,EACH,GAAG,KAAK,EACT,EAAE,eAAe,CAAC,CAAC,CAAC,2CAwNpB;AAiBD;;;;;;;;;;;;;;GAcG;AACH,iBAAS,aAAa,CAAC,CAAC,SAAS,KAAK,CAAC,WAAW,EAAE,EAClD,GAAG,EACH,EAAE,EACF,QAAQ,EACR,EAAE,EACF,KAAK,EACL,SAAS,EACT,KAAK,EACL,UAAU,EACV,QAAgB,EAChB,eAAe,EACf,SAAS,EACT,OAAe,EACf,iBAAiB,EACjB,GAAG,KAAK,EACT,EAAE,mBAAmB,CAAC,CAAC,CAAC,OA2OxB;AAED,OAAO,EACL,SAAS,EACT,aAAa,EACb,YAAY,GACb,CAAC;AAGF,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,MAAM,EACN,aAAa,EACb,oBAAoB,GACrB,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { cn } from "
|
|
4
|
-
import * as React from "react";
|
|
5
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { cn } from "../../lib/utils.js";
|
|
4
|
+
import * as React from "../../../react";
|
|
6
5
|
import { AnimatePresence, motion } from "motion/react";
|
|
6
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
|
|
8
|
-
//#region src/
|
|
8
|
+
//#region src/react/primitives/Highlight/index.tsx
|
|
9
9
|
const DEFAULT_BOUNDS_OFFSET = {
|
|
10
10
|
top: 0,
|
|
11
11
|
left: 0,
|
|
@@ -13,11 +13,36 @@ const DEFAULT_BOUNDS_OFFSET = {
|
|
|
13
13
|
height: 0
|
|
14
14
|
};
|
|
15
15
|
const HighlightContext = React.createContext(void 0);
|
|
16
|
+
/**
|
|
17
|
+
* Hook to access the Highlight context.
|
|
18
|
+
* Must be used within a Highlight provider.
|
|
19
|
+
*
|
|
20
|
+
* @returns The current highlight context
|
|
21
|
+
*/
|
|
16
22
|
function useHighlight() {
|
|
17
23
|
const context = React.useContext(HighlightContext);
|
|
18
24
|
if (!context) throw new Error("useHighlight must be used within a HighlightProvider");
|
|
19
25
|
return context;
|
|
20
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Highlight primitive — animated background indicator that follows the active item.
|
|
29
|
+
* Supports two modes: "children" (layoutId-based per item) and "parent" (absolute positioned).
|
|
30
|
+
*
|
|
31
|
+
* This is an internal primitive used by Tabs, Menu, and similar components.
|
|
32
|
+
*
|
|
33
|
+
* @param mode - Tracking mode: 'children' or 'parent'
|
|
34
|
+
* @param hover - Activate on hover instead of click
|
|
35
|
+
* @param click - Activate on click (default: true)
|
|
36
|
+
* @param transition - Motion transition config
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```tsx
|
|
40
|
+
* <Highlight hover>
|
|
41
|
+
* <HighlightItem><button>Tab 1</button></HighlightItem>
|
|
42
|
+
* <HighlightItem><button>Tab 2</button></HighlightItem>
|
|
43
|
+
* </Highlight>
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
21
46
|
function Highlight({ ref, ...props }) {
|
|
22
47
|
const { as: Component = "div", children, value, defaultValue, onValueChange, className, style, transition = {
|
|
23
48
|
type: "spring",
|
|
@@ -182,6 +207,21 @@ function getNonOverridingDataAttributes(element, dataAttributes) {
|
|
|
182
207
|
return acc;
|
|
183
208
|
}, {});
|
|
184
209
|
}
|
|
210
|
+
/**
|
|
211
|
+
* HighlightItem — a single item within a Highlight container.
|
|
212
|
+
* Tracks its own position and renders the animated highlight indicator.
|
|
213
|
+
*
|
|
214
|
+
* @param value - Unique identifier for this item
|
|
215
|
+
* @param activeClassName - Additional class when this item is active
|
|
216
|
+
* @param asChild - Use the child element directly instead of wrapping
|
|
217
|
+
*
|
|
218
|
+
* @example
|
|
219
|
+
* ```tsx
|
|
220
|
+
* <HighlightItem value="tab-1">
|
|
221
|
+
* <button>Tab 1</button>
|
|
222
|
+
* </HighlightItem>
|
|
223
|
+
* ```
|
|
224
|
+
*/
|
|
185
225
|
function HighlightItem({ ref, as, children, id, value, className, style, transition, disabled = false, activeClassName, exitDelay, asChild = false, forceUpdateBounds, ...props }) {
|
|
186
226
|
const itemId = React.useId();
|
|
187
227
|
const { activeValue, setActiveValue, mode, setBounds, clearBounds, hover, click, enabled, className: contextClassName, style: contextStyle, transition: contextTransition, id: contextId, disabled: contextDisabled, exitDelay: contextExitDelay, forceUpdateBounds: contextForceUpdateBounds, setActiveClassName } = useHighlight();
|
|
@@ -353,4 +393,4 @@ function HighlightItem({ ref, as, children, id, value, className, style, transit
|
|
|
353
393
|
}
|
|
354
394
|
|
|
355
395
|
//#endregion
|
|
356
|
-
export { Highlight, HighlightItem };
|
|
396
|
+
export { Highlight, HighlightItem, useHighlight };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import * as React from '../../../react';
|
|
2
|
+
import { type HTMLMotionProps } from 'motion/react';
|
|
3
|
+
type AnyProps = Record<string, unknown>;
|
|
4
|
+
type DOMMotionProps<T extends HTMLElement = HTMLElement> = Omit<HTMLMotionProps<keyof HTMLElementTagNameMap>, 'ref'> & {
|
|
5
|
+
ref?: React.Ref<T>;
|
|
6
|
+
};
|
|
7
|
+
type WithAsChild<Base extends object> = (Base & {
|
|
8
|
+
asChild: true;
|
|
9
|
+
children: React.ReactElement;
|
|
10
|
+
}) | (Base & {
|
|
11
|
+
asChild?: false | undefined;
|
|
12
|
+
});
|
|
13
|
+
/**
|
|
14
|
+
* Props for the Slot component.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* <Slot asChild>
|
|
19
|
+
* <button>Click me</button>
|
|
20
|
+
* </Slot>
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export interface ISlotProps<T extends HTMLElement = HTMLElement> extends DOMMotionProps<T> {
|
|
24
|
+
/** Child element to render with motion enhancements. */
|
|
25
|
+
children?: any;
|
|
26
|
+
}
|
|
27
|
+
type SlotProps<T extends HTMLElement = HTMLElement> = ISlotProps<T>;
|
|
28
|
+
/**
|
|
29
|
+
* Slot component - Motion-enhanced composition primitive.
|
|
30
|
+
*
|
|
31
|
+
* Wraps a child element with motion capabilities using the asChild pattern.
|
|
32
|
+
* When the child is already a motion component, it's used directly.
|
|
33
|
+
* Otherwise, a motion wrapper is created with the child's element type.
|
|
34
|
+
*
|
|
35
|
+
* @param children - Child element to render with motion enhancements
|
|
36
|
+
* @param ref - Ref to the merged element
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```tsx
|
|
40
|
+
* // Basic usage
|
|
41
|
+
* <Slot asChild>
|
|
42
|
+
* <button>Click me</button>
|
|
43
|
+
* </Slot>
|
|
44
|
+
*
|
|
45
|
+
* // With motion props
|
|
46
|
+
* <Slot asChild>
|
|
47
|
+
* <button onClick={handleClick}>Hover me</button>
|
|
48
|
+
* </Slot>
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export declare function Slot<T extends HTMLElement = HTMLElement>({ children, ref, ...props }: SlotProps<T>): import("react/jsx-runtime").JSX.Element | null;
|
|
52
|
+
export type { WithAsChild, DOMMotionProps, AnyProps };
|
|
53
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/react/primitives/Slot/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAA6B,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAI/E,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAExC,KAAK,cAAc,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI,IAAI,CAC7D,eAAe,CAAC,MAAM,qBAAqB,CAAC,EAC5C,KAAK,CACN,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC;AAE3B,KAAK,WAAW,CAAC,IAAI,SAAS,MAAM,IAChC,CAAC,IAAI,GAAG;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAA;CAAE,CAAC,GACxD,CAAC,IAAI,GAAG;IAAE,OAAO,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;CAAE,CAAC,CAAC;AAE7C;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,CAC7D,SAAQ,cAAc,CAAC,CAAC,CAAC;IACzB,wDAAwD;IAExD,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AAED,KAAK,SAAS,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AAwCpE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,EACxD,QAAQ,EACR,GAAG,EACH,GAAG,KAAK,EACT,EAAE,SAAS,CAAC,CAAC,CAAC,kDAuBd;AAED,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC"}
|
package/dist/{components/animate-ui/primitives/animate/slot.js → react/primitives/Slot/index.js}
RENAMED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import { cn } from "
|
|
4
|
-
import * as React from "react";
|
|
5
|
-
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { cn } from "../../lib/utils.js";
|
|
4
|
+
import * as React from "../../../react";
|
|
6
5
|
import { isMotionComponent, motion } from "motion/react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
7
|
|
|
8
|
-
//#region src/
|
|
8
|
+
//#region src/react/primitives/Slot/index.tsx
|
|
9
9
|
function mergeRefs(...refs) {
|
|
10
10
|
return (node) => {
|
|
11
11
|
refs.forEach((ref) => {
|
|
@@ -27,6 +27,29 @@ function mergeProps(childProps, slotProps) {
|
|
|
27
27
|
};
|
|
28
28
|
return merged;
|
|
29
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Slot component - Motion-enhanced composition primitive.
|
|
32
|
+
*
|
|
33
|
+
* Wraps a child element with motion capabilities using the asChild pattern.
|
|
34
|
+
* When the child is already a motion component, it's used directly.
|
|
35
|
+
* Otherwise, a motion wrapper is created with the child's element type.
|
|
36
|
+
*
|
|
37
|
+
* @param children - Child element to render with motion enhancements
|
|
38
|
+
* @param ref - Ref to the merged element
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```tsx
|
|
42
|
+
* // Basic usage
|
|
43
|
+
* <Slot asChild>
|
|
44
|
+
* <button>Click me</button>
|
|
45
|
+
* </Slot>
|
|
46
|
+
*
|
|
47
|
+
* // With motion props
|
|
48
|
+
* <Slot asChild>
|
|
49
|
+
* <button onClick={handleClick}>Hover me</button>
|
|
50
|
+
* </Slot>
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
30
53
|
function Slot({ children, ref, ...props }) {
|
|
31
54
|
const isAlreadyMotion = typeof children.type === "object" && children.type !== null && isMotionComponent(children.type);
|
|
32
55
|
const Base = React.useMemo(() => isAlreadyMotion ? children.type : motion.create(children.type), [isAlreadyMotion, children.type]);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Primitives barrel export.
|
|
3
|
+
*
|
|
4
|
+
* Building blocks for components. Not meant to be used directly by consumers.
|
|
5
|
+
*
|
|
6
|
+
* @module @mks2508/mks-ui/react/primitives
|
|
7
|
+
*/
|
|
8
|
+
export * from './Slot';
|
|
9
|
+
export * from './Highlight';
|
|
10
|
+
export * from './AutoHeight';
|
|
11
|
+
export * from './CountingNumber';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/primitives/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC"}
|