@mks2508/mks-ui 0.5.7 → 0.6.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/dist/react-ui/index.js +2 -2
- package/dist/react-ui/primitives/waapi/Gooey/Gooey.types.d.ts +2 -0
- package/dist/react-ui/primitives/waapi/Gooey/Gooey.types.d.ts.map +1 -1
- package/dist/react-ui/primitives/waapi/Gooey/GooeyCanvas.d.ts +1 -1
- package/dist/react-ui/primitives/waapi/Gooey/GooeyCanvas.d.ts.map +1 -1
- package/dist/react-ui/primitives/waapi/Gooey/GooeyCanvas.js +173 -43
- package/dist/react-ui/ui/Dialog/Dialog.styles.d.ts.map +1 -1
- package/dist/react-ui/ui/Dialog/Dialog.styles.js +1 -0
- package/dist/react-ui/ui/Dialog/Dialog.types.d.ts +20 -1
- package/dist/react-ui/ui/Dialog/Dialog.types.d.ts.map +1 -1
- package/dist/react-ui/ui/Dialog/index.d.ts +28 -7
- package/dist/react-ui/ui/Dialog/index.d.ts.map +1 -1
- package/dist/react-ui/ui/Dialog/index.js +32 -5
- package/dist/react-ui/ui/DynamicToggle/{DynamicToggle-DOR3Ld-k.css → DynamicToggle-DJLwEkHr.css} +12 -19
- package/dist/react-ui/ui/DynamicToggle/DynamicToggle.css +12 -20
- package/dist/react-ui/ui/DynamicToggle/DynamicToggle.styles.d.ts +1 -0
- package/dist/react-ui/ui/DynamicToggle/DynamicToggle.styles.d.ts.map +1 -1
- package/dist/react-ui/ui/DynamicToggle/DynamicToggle.styles.js +7 -1
- package/dist/react-ui/ui/DynamicToggle/DynamicToggle.types.d.ts +55 -31
- package/dist/react-ui/ui/DynamicToggle/DynamicToggle.types.d.ts.map +1 -1
- package/dist/react-ui/ui/DynamicToggle/index.d.ts +9 -3
- package/dist/react-ui/ui/DynamicToggle/index.d.ts.map +1 -1
- package/dist/react-ui/ui/DynamicToggle/index.js +47 -34
- package/dist/react-ui/ui/index.js +1 -1
- package/package.json +52 -13
- package/src/assets/react.svg +0 -1
- package/src/core/index.ts +0 -7
- package/src/core/types.ts +0 -82
- package/src/css.d.ts +0 -7
- package/src/index.css +0 -129
- package/src/index.ts +0 -29
- package/src/react-ui/blocks/Terminal/ResttyAdapter.ts +0 -278
- package/src/react-ui/blocks/Terminal/Terminal.adapter.ts +0 -97
- package/src/react-ui/blocks/Terminal/Terminal.theme.restty.ts +0 -155
- package/src/react-ui/blocks/Terminal/Terminal.theme.ts +0 -80
- package/src/react-ui/blocks/Terminal/Terminal.types.ts +0 -438
- package/src/react-ui/blocks/Terminal/TerminalDisplay.styles.ts +0 -38
- package/src/react-ui/blocks/Terminal/TerminalDisplay.tsx +0 -254
- package/src/react-ui/blocks/Terminal/TerminalDisplay.types.ts +0 -73
- package/src/react-ui/blocks/Terminal/TerminalPanel.tsx +0 -269
- package/src/react-ui/blocks/Terminal/TerminalRestty.tsx +0 -326
- package/src/react-ui/blocks/Terminal/TerminalXterm.tsx +0 -230
- package/src/react-ui/blocks/Terminal/XTermAdapter.ts +0 -163
- package/src/react-ui/blocks/Terminal/chrome.ts +0 -25
- package/src/react-ui/blocks/Terminal/components/LogLineBadges.tsx +0 -316
- package/src/react-ui/blocks/Terminal/components/SpecializedSyntaxHighlighter.tsx +0 -218
- package/src/react-ui/blocks/Terminal/components/SyntaxHighlight.tsx +0 -386
- package/src/react-ui/blocks/Terminal/components/TerminalLogBadge.tsx +0 -67
- package/src/react-ui/blocks/Terminal/components/index.ts +0 -10
- package/src/react-ui/blocks/Terminal/display.ts +0 -46
- package/src/react-ui/blocks/Terminal/hooks/index.ts +0 -22
- package/src/react-ui/blocks/Terminal/hooks/useTerminalSettings.ts +0 -229
- package/src/react-ui/blocks/Terminal/hooks/useTerminalWebSocket.ts +0 -292
- package/src/react-ui/blocks/Terminal/index.ts +0 -111
- package/src/react-ui/blocks/Terminal/panel/LogLinesViewer.tsx +0 -330
- package/src/react-ui/blocks/Terminal/panel/TerminalDebugPanel.tsx +0 -242
- package/src/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.tsx +0 -202
- package/src/react-ui/blocks/Terminal/panel/TerminalFilterTabs.tsx +0 -140
- package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.tsx +0 -68
- package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.types.ts +0 -85
- package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.tsx +0 -383
- package/src/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.tsx +0 -439
- package/src/react-ui/blocks/Terminal/panel/TerminalLogsPanel.tsx +0 -550
- package/src/react-ui/blocks/Terminal/panel/TerminalLogsPanel.types.ts +0 -259
- package/src/react-ui/blocks/Terminal/panel/TerminalPanelChrome.styles.ts +0 -75
- package/src/react-ui/blocks/Terminal/panel/TerminalPanelChrome.tsx +0 -266
- package/src/react-ui/blocks/Terminal/panel/TerminalPanelChrome.types.ts +0 -82
- package/src/react-ui/blocks/Terminal/panel/TerminalPanelFooter.tsx +0 -112
- package/src/react-ui/blocks/Terminal/panel/TerminalPanelHeader.tsx +0 -178
- package/src/react-ui/blocks/Terminal/panel/TerminalPanelToolbar.tsx +0 -203
- package/src/react-ui/blocks/Terminal/panel/TerminalSessionControl.tsx +0 -252
- package/src/react-ui/blocks/Terminal/panel/TerminalSessionTabs.tsx +0 -334
- package/src/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.tsx +0 -261
- package/src/react-ui/blocks/Terminal/panel/TerminalThemeSelector.tsx +0 -248
- package/src/react-ui/blocks/Terminal/panel/index.ts +0 -72
- package/src/react-ui/blocks/Terminal/panel/terminal-filter-dropdown.module.css +0 -59
- package/src/react-ui/blocks/Terminal/panel/terminal-session-tabs.module.css +0 -59
- package/src/react-ui/blocks/Terminal/parsing/BadgeFormatter.ts +0 -180
- package/src/react-ui/blocks/Terminal/parsing/HttpLogParser.ts +0 -248
- package/src/react-ui/blocks/Terminal/parsing/LogParser.types.ts +0 -283
- package/src/react-ui/blocks/Terminal/parsing/LogParserService.ts +0 -686
- package/src/react-ui/blocks/Terminal/parsing/MultilineAggregator.ts +0 -466
- package/src/react-ui/blocks/Terminal/parsing/PersistentLogBuffer.ts +0 -343
- package/src/react-ui/blocks/Terminal/parsing/SyntaxHighlighter.ts +0 -167
- package/src/react-ui/blocks/Terminal/parsing/TableParser.ts +0 -348
- package/src/react-ui/blocks/Terminal/parsing/ansi/AnsiColorMapper.ts +0 -251
- package/src/react-ui/blocks/Terminal/parsing/ansi/AnsiParser.ts +0 -390
- package/src/react-ui/blocks/Terminal/parsing/ansi/ansi.constants.ts +0 -320
- package/src/react-ui/blocks/Terminal/parsing/ansi/index.ts +0 -20
- package/src/react-ui/blocks/Terminal/parsing/index.ts +0 -69
- package/src/react-ui/blocks/Terminal/parsing/levels/LogLevel.types.ts +0 -68
- package/src/react-ui/blocks/Terminal/parsing/levels/LogLevelDetector.ts +0 -436
- package/src/react-ui/blocks/Terminal/parsing/levels/index.ts +0 -14
- package/src/react-ui/blocks/index.ts +0 -11
- package/src/react-ui/components/MorphingPopover/MorphingPopover.types.ts +0 -49
- package/src/react-ui/components/MorphingPopover/index.tsx +0 -186
- package/src/react-ui/components/MorphingPopover/morphing-popover.module.css +0 -153
- package/src/react-ui/components/index.ts +0 -9
- package/src/react-ui/hooks/Animation/UseAutoHeight.tsx +0 -123
- package/src/react-ui/hooks/DOM/UseIsInView.tsx +0 -44
- package/src/react-ui/hooks/Formatting/UseListFormat.ts +0 -134
- package/src/react-ui/hooks/State/UseControlledState.tsx +0 -57
- package/src/react-ui/hooks/State/UseDataState.tsx +0 -76
- package/src/react-ui/hooks/index.ts +0 -20
- package/src/react-ui/icons/index.ts +0 -12
- package/src/react-ui/icons/lucide-animated/activity.tsx +0 -109
- package/src/react-ui/icons/lucide-animated/arrow-down-to-line.tsx +0 -51
- package/src/react-ui/icons/lucide-animated/arrow-up.tsx +0 -50
- package/src/react-ui/icons/lucide-animated/bell-electric.tsx +0 -124
- package/src/react-ui/icons/lucide-animated/bell.tsx +0 -93
- package/src/react-ui/icons/lucide-animated/bot.tsx +0 -122
- package/src/react-ui/icons/lucide-animated/box.tsx +0 -117
- package/src/react-ui/icons/lucide-animated/check.tsx +0 -21
- package/src/react-ui/icons/lucide-animated/circle-check.tsx +0 -107
- package/src/react-ui/icons/lucide-animated/delete.tsx +0 -133
- package/src/react-ui/icons/lucide-animated/download.tsx +0 -99
- package/src/react-ui/icons/lucide-animated/edit-2.tsx +0 -21
- package/src/react-ui/icons/lucide-animated/globe.tsx +0 -23
- package/src/react-ui/icons/lucide-animated/home.tsx +0 -103
- package/src/react-ui/icons/lucide-animated/index.ts +0 -38
- package/src/react-ui/icons/lucide-animated/layers.tsx +0 -23
- package/src/react-ui/icons/lucide-animated/layout-panel-top.tsx +0 -143
- package/src/react-ui/icons/lucide-animated/list.tsx +0 -54
- package/src/react-ui/icons/lucide-animated/package.tsx +0 -24
- package/src/react-ui/icons/lucide-animated/palette.tsx +0 -25
- package/src/react-ui/icons/lucide-animated/plus.tsx +0 -92
- package/src/react-ui/icons/lucide-animated/refresh-cw.tsx +0 -24
- package/src/react-ui/icons/lucide-animated/rocket.tsx +0 -24
- package/src/react-ui/icons/lucide-animated/save.tsx +0 -23
- package/src/react-ui/icons/lucide-animated/search.tsx +0 -94
- package/src/react-ui/icons/lucide-animated/settings.tsx +0 -92
- package/src/react-ui/icons/lucide-animated/terminal.tsx +0 -46
- package/src/react-ui/icons/lucide-animated/trash-2.tsx +0 -25
- package/src/react-ui/icons/lucide-animated/trending-down.tsx +0 -151
- package/src/react-ui/icons/lucide-animated/trending-up.tsx +0 -150
- package/src/react-ui/icons/lucide-animated/type.tsx +0 -23
- package/src/react-ui/icons/lucide-animated/upload.tsx +0 -23
- package/src/react-ui/icons/lucide-animated/x.tsx +0 -102
- package/src/react-ui/index.ts +0 -30
- package/src/react-ui/lib/get-strict-context.tsx +0 -56
- package/src/react-ui/lib/icon-wrapper.tsx +0 -70
- package/src/react-ui/lib/index.ts +0 -9
- package/src/react-ui/lib/utils.ts +0 -24
- package/src/react-ui/primitives/AutoHeight/index.tsx +0 -74
- package/src/react-ui/primitives/CountingNumber/index.tsx +0 -147
- package/src/react-ui/primitives/Highlight/Highlight.types.ts +0 -136
- package/src/react-ui/primitives/Highlight/index.tsx +0 -577
- package/src/react-ui/primitives/Slot/index.tsx +0 -128
- package/src/react-ui/primitives/index.ts +0 -16
- package/src/react-ui/primitives/waapi/Gooey/Gooey.types.ts +0 -141
- package/src/react-ui/primitives/waapi/Gooey/GooeyCanvas.tsx +0 -217
- package/src/react-ui/primitives/waapi/Gooey/GooeyFilter.tsx +0 -77
- package/src/react-ui/primitives/waapi/Gooey/MorphPath.tsx +0 -58
- package/src/react-ui/primitives/waapi/Gooey/gooey-utils.ts +0 -253
- package/src/react-ui/primitives/waapi/Gooey/index.ts +0 -50
- package/src/react-ui/primitives/waapi/Gooey/useMorphPath.ts +0 -48
- package/src/react-ui/primitives/waapi/Morph/Morph.types.ts +0 -106
- package/src/react-ui/primitives/waapi/Morph/MorphContext.tsx +0 -21
- package/src/react-ui/primitives/waapi/Morph/index.tsx +0 -56
- package/src/react-ui/primitives/waapi/Morph/techniques/index.ts +0 -12
- package/src/react-ui/primitives/waapi/Morph/techniques/useCSSGridMorph.ts +0 -89
- package/src/react-ui/primitives/waapi/Morph/techniques/useFLIPClipPath.ts +0 -176
- package/src/react-ui/primitives/waapi/Morph/techniques/useViewTransitions.ts +0 -87
- package/src/react-ui/primitives/waapi/Morph/useMorph.ts +0 -101
- package/src/react-ui/primitives/waapi/Reorder/Reorder.types.ts +0 -177
- package/src/react-ui/primitives/waapi/Reorder/index.tsx +0 -260
- package/src/react-ui/primitives/waapi/Reorder/useReorder.ts +0 -47
- package/src/react-ui/primitives/waapi/Reorder/useReorderPresence.ts +0 -209
- package/src/react-ui/primitives/waapi/Reorder/utils/separatorCoordination.ts +0 -104
- package/src/react-ui/primitives/waapi/SlidingNumber/SlidingNumber.styles.ts +0 -14
- package/src/react-ui/primitives/waapi/SlidingNumber/SlidingNumber.types.ts +0 -84
- package/src/react-ui/primitives/waapi/SlidingNumber/index.tsx +0 -474
- package/src/react-ui/primitives/waapi/SlidingText/SlidingText.styles.ts +0 -32
- package/src/react-ui/primitives/waapi/SlidingText/SlidingText.types.ts +0 -69
- package/src/react-ui/primitives/waapi/SlidingText/index.tsx +0 -140
- package/src/react-ui/primitives/waapi/core/animationConstants.ts +0 -215
- package/src/react-ui/primitives/waapi/core/index.ts +0 -53
- package/src/react-ui/primitives/waapi/core/types.ts +0 -200
- package/src/react-ui/primitives/waapi/core/useAnimationOrchestrator.ts +0 -430
- package/src/react-ui/primitives/waapi/core/useElementRegistry.ts +0 -81
- package/src/react-ui/primitives/waapi/core/useFLIPAnimation.ts +0 -138
- package/src/react-ui/primitives/waapi/core/usePositionCapture.ts +0 -106
- package/src/react-ui/primitives/waapi/index.ts +0 -139
- package/src/react-ui/styles/animations.css +0 -369
- package/src/react-ui/ui/Accordion/Accordion.styles.ts +0 -72
- package/src/react-ui/ui/Accordion/Accordion.types.ts +0 -199
- package/src/react-ui/ui/Accordion/index.tsx +0 -362
- package/src/react-ui/ui/AlertDialog/AlertDialog.styles.ts +0 -38
- package/src/react-ui/ui/AlertDialog/AlertDialog.types.ts +0 -296
- package/src/react-ui/ui/AlertDialog/index.tsx +0 -540
- package/src/react-ui/ui/Badge/Badge.styles.ts +0 -43
- package/src/react-ui/ui/Badge/Badge.types.ts +0 -26
- package/src/react-ui/ui/Badge/index.tsx +0 -34
- package/src/react-ui/ui/Button/Button.styles.ts +0 -57
- package/src/react-ui/ui/Button/Button.types.ts +0 -63
- package/src/react-ui/ui/Button/index.tsx +0 -155
- package/src/react-ui/ui/Card/Card.styles.ts +0 -32
- package/src/react-ui/ui/Card/Card.types.ts +0 -39
- package/src/react-ui/ui/Card/index.tsx +0 -130
- package/src/react-ui/ui/Checkbox/Checkbox.styles.ts +0 -40
- package/src/react-ui/ui/Checkbox/Checkbox.types.ts +0 -98
- package/src/react-ui/ui/Checkbox/index.tsx +0 -233
- package/src/react-ui/ui/Combobox/Combobox.styles.ts +0 -34
- package/src/react-ui/ui/Combobox/Combobox.types.ts +0 -89
- package/src/react-ui/ui/Combobox/index.tsx +0 -331
- package/src/react-ui/ui/CornerBracket/CornerBracket.styles.ts +0 -38
- package/src/react-ui/ui/CornerBracket/CornerBracket.types.ts +0 -15
- package/src/react-ui/ui/CornerBracket/index.tsx +0 -49
- package/src/react-ui/ui/DataCard/DataCard.styles.ts +0 -94
- package/src/react-ui/ui/DataCard/DataCard.types.ts +0 -125
- package/src/react-ui/ui/DataCard/index.tsx +0 -340
- package/src/react-ui/ui/Dialog/Dialog.styles.ts +0 -59
- package/src/react-ui/ui/Dialog/Dialog.types.ts +0 -284
- package/src/react-ui/ui/Dialog/index.tsx +0 -452
- package/src/react-ui/ui/DropdownMenu/DropdownMenu.styles.ts +0 -35
- package/src/react-ui/ui/DropdownMenu/DropdownMenu.types.ts +0 -81
- package/src/react-ui/ui/DropdownMenu/index.tsx +0 -300
- package/src/react-ui/ui/DynamicToggle/DynamicToggle.css +0 -376
- package/src/react-ui/ui/DynamicToggle/DynamicToggle.styles.ts +0 -85
- package/src/react-ui/ui/DynamicToggle/DynamicToggle.types.ts +0 -180
- package/src/react-ui/ui/DynamicToggle/index.tsx +0 -316
- package/src/react-ui/ui/DynamicToggle/prototype-v7-ios.html +0 -413
- package/src/react-ui/ui/DynamicToggle/prototype-v7.html +0 -615
- package/src/react-ui/ui/DynamicToggle/prototype-v8-gooey-safari.html +0 -560
- package/src/react-ui/ui/DynamicToggle/prototype-v8b-react-structure.html +0 -227
- package/src/react-ui/ui/DynamicToggle/prototype.html +0 -419
- package/src/react-ui/ui/Field/Field.styles.ts +0 -47
- package/src/react-ui/ui/Field/Field.types.ts +0 -60
- package/src/react-ui/ui/Field/index.tsx +0 -254
- package/src/react-ui/ui/Input/Input.styles.ts +0 -11
- package/src/react-ui/ui/Input/Input.types.ts +0 -10
- package/src/react-ui/ui/Input/index.tsx +0 -32
- package/src/react-ui/ui/InputGroup/InputGroup.styles.ts +0 -53
- package/src/react-ui/ui/InputGroup/InputGroup.types.ts +0 -44
- package/src/react-ui/ui/InputGroup/index.tsx +0 -149
- package/src/react-ui/ui/Label/Label.styles.ts +0 -10
- package/src/react-ui/ui/Label/Label.types.ts +0 -9
- package/src/react-ui/ui/Label/index.tsx +0 -27
- package/src/react-ui/ui/Menu/Menu.styles.ts +0 -71
- package/src/react-ui/ui/Menu/Menu.types.ts +0 -425
- package/src/react-ui/ui/Menu/index.tsx +0 -900
- package/src/react-ui/ui/Popover/Popover.styles.ts +0 -55
- package/src/react-ui/ui/Popover/Popover.types.ts +0 -261
- package/src/react-ui/ui/Popover/index.tsx +0 -422
- package/src/react-ui/ui/Progress/Progress.styles.ts +0 -36
- package/src/react-ui/ui/Progress/Progress.types.ts +0 -162
- package/src/react-ui/ui/Progress/index.tsx +0 -254
- package/src/react-ui/ui/Select/Select.styles.ts +0 -30
- package/src/react-ui/ui/Select/Select.types.ts +0 -51
- package/src/react-ui/ui/Select/index.tsx +0 -225
- package/src/react-ui/ui/Separator/Separator.styles.ts +0 -10
- package/src/react-ui/ui/Separator/Separator.types.ts +0 -10
- package/src/react-ui/ui/Separator/index.tsx +0 -37
- package/src/react-ui/ui/Switch/Switch.styles.ts +0 -50
- package/src/react-ui/ui/Switch/Switch.types.ts +0 -155
- package/src/react-ui/ui/Switch/index.tsx +0 -253
- package/src/react-ui/ui/Tabs/Tabs.css +0 -39
- package/src/react-ui/ui/Tabs/Tabs.styles.ts +0 -148
- package/src/react-ui/ui/Tabs/Tabs.types.ts +0 -255
- package/src/react-ui/ui/Tabs/index.tsx +0 -529
- package/src/react-ui/ui/TextFlow/TextFlow.styles.ts +0 -36
- package/src/react-ui/ui/TextFlow/TextFlow.types.ts +0 -118
- package/src/react-ui/ui/TextFlow/index.tsx +0 -276
- package/src/react-ui/ui/Textarea/Textarea.styles.ts +0 -10
- package/src/react-ui/ui/Textarea/Textarea.types.ts +0 -9
- package/src/react-ui/ui/Textarea/index.tsx +0 -27
- package/src/react-ui/ui/Tooltip/Tooltip.styles.ts +0 -43
- package/src/react-ui/ui/Tooltip/Tooltip.types.ts +0 -253
- package/src/react-ui/ui/Tooltip/index.tsx +0 -394
- package/src/react-ui/ui/index.ts +0 -41
- package/src/types/css-modules.d.ts +0 -18
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import type { Variants } from "motion/react";
|
|
4
|
-
import { motion, useAnimation } from "motion/react";
|
|
5
|
-
import type { HTMLAttributes } from "react";
|
|
6
|
-
import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
|
|
7
|
-
|
|
8
|
-
import { cn } from "@/react-ui/lib/utils";
|
|
9
|
-
|
|
10
|
-
export interface BoxIconHandle {
|
|
11
|
-
startAnimation: () => void;
|
|
12
|
-
stopAnimation: () => void;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
interface BoxIconProps extends HTMLAttributes<HTMLDivElement> {
|
|
16
|
-
size?: number;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
const PATH_VARIANTS: Variants = {
|
|
20
|
-
normal: {
|
|
21
|
-
opacity: 1,
|
|
22
|
-
pathLength: 1,
|
|
23
|
-
transition: {
|
|
24
|
-
duration: 0.3,
|
|
25
|
-
opacity: { duration: 0.1 },
|
|
26
|
-
},
|
|
27
|
-
},
|
|
28
|
-
animate: {
|
|
29
|
-
opacity: [0, 1],
|
|
30
|
-
pathLength: [0, 1],
|
|
31
|
-
transition: {
|
|
32
|
-
duration: 0.4,
|
|
33
|
-
opacity: { duration: 0.1 },
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
const BoxIcon = forwardRef<BoxIconHandle, BoxIconProps>(
|
|
39
|
-
({ onMouseEnter, onMouseLeave, className, size = 28, ...props }, ref) => {
|
|
40
|
-
const controls = useAnimation();
|
|
41
|
-
const isControlledRef = useRef(false);
|
|
42
|
-
|
|
43
|
-
useImperativeHandle(ref, () => {
|
|
44
|
-
isControlledRef.current = true;
|
|
45
|
-
return {
|
|
46
|
-
startAnimation: () => controls.start("animate"),
|
|
47
|
-
stopAnimation: () => controls.start("normal"),
|
|
48
|
-
};
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
const handleMouseEnter = useCallback(
|
|
52
|
-
(e: React.MouseEvent<HTMLDivElement>) => {
|
|
53
|
-
if (isControlledRef.current) {
|
|
54
|
-
onMouseEnter?.(e);
|
|
55
|
-
} else {
|
|
56
|
-
controls.start("animate");
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
[controls, onMouseEnter]
|
|
60
|
-
);
|
|
61
|
-
|
|
62
|
-
const handleMouseLeave = useCallback(
|
|
63
|
-
(e: React.MouseEvent<HTMLDivElement>) => {
|
|
64
|
-
if (isControlledRef.current) {
|
|
65
|
-
onMouseLeave?.(e);
|
|
66
|
-
} else {
|
|
67
|
-
controls.start("normal");
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
[controls, onMouseLeave]
|
|
71
|
-
);
|
|
72
|
-
|
|
73
|
-
return (
|
|
74
|
-
<div
|
|
75
|
-
className={cn(className)}
|
|
76
|
-
onMouseEnter={handleMouseEnter}
|
|
77
|
-
onMouseLeave={handleMouseLeave}
|
|
78
|
-
{...props}
|
|
79
|
-
>
|
|
80
|
-
<svg
|
|
81
|
-
fill="none"
|
|
82
|
-
height={size}
|
|
83
|
-
stroke="currentColor"
|
|
84
|
-
strokeLinecap="round"
|
|
85
|
-
strokeLinejoin="round"
|
|
86
|
-
strokeWidth="2"
|
|
87
|
-
viewBox="0 0 24 24"
|
|
88
|
-
width={size}
|
|
89
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
90
|
-
>
|
|
91
|
-
<motion.path
|
|
92
|
-
animate={controls}
|
|
93
|
-
d="M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z"
|
|
94
|
-
initial="normal"
|
|
95
|
-
variants={PATH_VARIANTS}
|
|
96
|
-
/>
|
|
97
|
-
<motion.path
|
|
98
|
-
animate={controls}
|
|
99
|
-
d="m3.3 7 8.7 5 8.7-5"
|
|
100
|
-
initial="normal"
|
|
101
|
-
variants={PATH_VARIANTS}
|
|
102
|
-
/>
|
|
103
|
-
<motion.path
|
|
104
|
-
animate={controls}
|
|
105
|
-
d="M12 22V12"
|
|
106
|
-
initial="normal"
|
|
107
|
-
variants={PATH_VARIANTS}
|
|
108
|
-
/>
|
|
109
|
-
</svg>
|
|
110
|
-
</div>
|
|
111
|
-
);
|
|
112
|
-
}
|
|
113
|
-
);
|
|
114
|
-
|
|
115
|
-
BoxIcon.displayName = "BoxIcon";
|
|
116
|
-
|
|
117
|
-
export { BoxIcon };
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Check Icon
|
|
3
|
-
*
|
|
4
|
-
* Checkmark/tick icon.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
export function Check(props: React.SVGProps<SVGSVGElement>) {
|
|
8
|
-
return (
|
|
9
|
-
<svg
|
|
10
|
-
{...props}
|
|
11
|
-
viewBox="0 0 24 24"
|
|
12
|
-
fill="none"
|
|
13
|
-
stroke="currentColor"
|
|
14
|
-
strokeWidth="2"
|
|
15
|
-
strokeLinecap="round"
|
|
16
|
-
strokeLinejoin="round"
|
|
17
|
-
>
|
|
18
|
-
<polyline points="20 6 9 17 4 12" />
|
|
19
|
-
</svg>
|
|
20
|
-
);
|
|
21
|
-
}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import type { Variants } from "motion/react";
|
|
4
|
-
import { motion, useAnimation } from "motion/react";
|
|
5
|
-
import type { HTMLAttributes } from "react";
|
|
6
|
-
import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
|
|
7
|
-
|
|
8
|
-
import { cn } from "@/react-ui/lib/utils";
|
|
9
|
-
|
|
10
|
-
export interface CircleCheckIconHandle {
|
|
11
|
-
startAnimation: () => void;
|
|
12
|
-
stopAnimation: () => void;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
interface CircleCheckIconProps extends HTMLAttributes<HTMLDivElement> {
|
|
16
|
-
size?: number;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
const PATH_VARIANTS: Variants = {
|
|
20
|
-
normal: {
|
|
21
|
-
opacity: 1,
|
|
22
|
-
pathLength: 1,
|
|
23
|
-
transition: {
|
|
24
|
-
duration: 0.3,
|
|
25
|
-
opacity: { duration: 0.1 },
|
|
26
|
-
},
|
|
27
|
-
},
|
|
28
|
-
animate: {
|
|
29
|
-
opacity: [0, 1],
|
|
30
|
-
pathLength: [0, 1],
|
|
31
|
-
transition: {
|
|
32
|
-
duration: 0.4,
|
|
33
|
-
opacity: { duration: 0.1 },
|
|
34
|
-
},
|
|
35
|
-
},
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
const CircleCheckIcon = forwardRef<CircleCheckIconHandle, CircleCheckIconProps>(
|
|
39
|
-
({ onMouseEnter, onMouseLeave, className, size = 28, ...props }, ref) => {
|
|
40
|
-
const controls = useAnimation();
|
|
41
|
-
const isControlledRef = useRef(false);
|
|
42
|
-
|
|
43
|
-
useImperativeHandle(ref, () => {
|
|
44
|
-
isControlledRef.current = true;
|
|
45
|
-
|
|
46
|
-
return {
|
|
47
|
-
startAnimation: () => controls.start("animate"),
|
|
48
|
-
stopAnimation: () => controls.start("normal"),
|
|
49
|
-
};
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
const handleMouseEnter = useCallback(
|
|
53
|
-
(e: React.MouseEvent<HTMLDivElement>) => {
|
|
54
|
-
if (isControlledRef.current) {
|
|
55
|
-
onMouseEnter?.(e);
|
|
56
|
-
} else {
|
|
57
|
-
controls.start("animate");
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
[controls, onMouseEnter]
|
|
61
|
-
);
|
|
62
|
-
|
|
63
|
-
const handleMouseLeave = useCallback(
|
|
64
|
-
(e: React.MouseEvent<HTMLDivElement>) => {
|
|
65
|
-
if (isControlledRef.current) {
|
|
66
|
-
onMouseLeave?.(e);
|
|
67
|
-
} else {
|
|
68
|
-
controls.start("normal");
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
|
-
[controls, onMouseLeave]
|
|
72
|
-
);
|
|
73
|
-
|
|
74
|
-
return (
|
|
75
|
-
<div
|
|
76
|
-
className={cn(className)}
|
|
77
|
-
onMouseEnter={handleMouseEnter}
|
|
78
|
-
onMouseLeave={handleMouseLeave}
|
|
79
|
-
{...props}
|
|
80
|
-
>
|
|
81
|
-
<svg
|
|
82
|
-
fill="none"
|
|
83
|
-
height={size}
|
|
84
|
-
stroke="currentColor"
|
|
85
|
-
strokeLinecap="round"
|
|
86
|
-
strokeLinejoin="round"
|
|
87
|
-
strokeWidth="2"
|
|
88
|
-
viewBox="0 0 24 24"
|
|
89
|
-
width={size}
|
|
90
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
91
|
-
>
|
|
92
|
-
<circle cx="12" cy="12" r="10" />
|
|
93
|
-
<motion.path
|
|
94
|
-
animate={controls}
|
|
95
|
-
d="m9 12 2 2 4-4"
|
|
96
|
-
initial="normal"
|
|
97
|
-
variants={PATH_VARIANTS}
|
|
98
|
-
/>
|
|
99
|
-
</svg>
|
|
100
|
-
</div>
|
|
101
|
-
);
|
|
102
|
-
}
|
|
103
|
-
);
|
|
104
|
-
|
|
105
|
-
CircleCheckIcon.displayName = "CircleCheckIcon";
|
|
106
|
-
|
|
107
|
-
export { CircleCheckIcon };
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import type { Transition, Variants } from "motion/react";
|
|
4
|
-
import { motion, useAnimation } from "motion/react";
|
|
5
|
-
import type { HTMLAttributes } from "react";
|
|
6
|
-
import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
|
|
7
|
-
|
|
8
|
-
import { cn } from "@/react-ui/lib/utils";
|
|
9
|
-
|
|
10
|
-
export interface DeleteIconHandle {
|
|
11
|
-
startAnimation: () => void;
|
|
12
|
-
stopAnimation: () => void;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
interface DeleteIconProps extends HTMLAttributes<HTMLDivElement> {
|
|
16
|
-
size?: number;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
const LID_VARIANTS: Variants = {
|
|
20
|
-
normal: { y: 0 },
|
|
21
|
-
animate: { y: -1.1 },
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const SPRING_TRANSITION: Transition = {
|
|
25
|
-
type: "spring",
|
|
26
|
-
stiffness: 500,
|
|
27
|
-
damping: 30,
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
const DeleteIcon = forwardRef<DeleteIconHandle, DeleteIconProps>(
|
|
31
|
-
({ onMouseEnter, onMouseLeave, className, size = 28, ...props }, ref) => {
|
|
32
|
-
const controls = useAnimation();
|
|
33
|
-
const isControlledRef = useRef(false);
|
|
34
|
-
|
|
35
|
-
useImperativeHandle(ref, () => {
|
|
36
|
-
isControlledRef.current = true;
|
|
37
|
-
|
|
38
|
-
return {
|
|
39
|
-
startAnimation: () => controls.start("animate"),
|
|
40
|
-
stopAnimation: () => controls.start("normal"),
|
|
41
|
-
};
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
const handleMouseEnter = useCallback(
|
|
45
|
-
(e: React.MouseEvent<HTMLDivElement>) => {
|
|
46
|
-
if (isControlledRef.current) {
|
|
47
|
-
onMouseEnter?.(e);
|
|
48
|
-
} else {
|
|
49
|
-
controls.start("animate");
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
[controls, onMouseEnter]
|
|
53
|
-
);
|
|
54
|
-
|
|
55
|
-
const handleMouseLeave = useCallback(
|
|
56
|
-
(e: React.MouseEvent<HTMLDivElement>) => {
|
|
57
|
-
if (isControlledRef.current) {
|
|
58
|
-
onMouseLeave?.(e);
|
|
59
|
-
} else {
|
|
60
|
-
controls.start("normal");
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
[controls, onMouseLeave]
|
|
64
|
-
);
|
|
65
|
-
|
|
66
|
-
return (
|
|
67
|
-
<div
|
|
68
|
-
className={cn(className)}
|
|
69
|
-
onMouseEnter={handleMouseEnter}
|
|
70
|
-
onMouseLeave={handleMouseLeave}
|
|
71
|
-
{...props}
|
|
72
|
-
>
|
|
73
|
-
<svg
|
|
74
|
-
fill="none"
|
|
75
|
-
height={size}
|
|
76
|
-
stroke="currentColor"
|
|
77
|
-
strokeLinecap="round"
|
|
78
|
-
strokeLinejoin="round"
|
|
79
|
-
strokeWidth="2"
|
|
80
|
-
viewBox="0 0 24 24"
|
|
81
|
-
width={size}
|
|
82
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
83
|
-
>
|
|
84
|
-
<motion.g
|
|
85
|
-
animate={controls}
|
|
86
|
-
transition={SPRING_TRANSITION}
|
|
87
|
-
variants={LID_VARIANTS}
|
|
88
|
-
>
|
|
89
|
-
<path d="M3 6h18" />
|
|
90
|
-
<path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2" />
|
|
91
|
-
</motion.g>
|
|
92
|
-
<motion.path
|
|
93
|
-
animate={controls}
|
|
94
|
-
d="M19 8v12c0 1-1 2-2 2H7c-1 0-2-1-2-2V8"
|
|
95
|
-
transition={SPRING_TRANSITION}
|
|
96
|
-
variants={{
|
|
97
|
-
normal: { d: "M19 8v12c0 1-1 2-2 2H7c-1 0-2-1-2-2V8" },
|
|
98
|
-
animate: { d: "M19 9v12c0 1-1 2-2 2H7c-1 0-2-1-2-2V9" },
|
|
99
|
-
}}
|
|
100
|
-
/>
|
|
101
|
-
<motion.line
|
|
102
|
-
animate={controls}
|
|
103
|
-
transition={SPRING_TRANSITION}
|
|
104
|
-
variants={{
|
|
105
|
-
normal: { y1: 11, y2: 17 },
|
|
106
|
-
animate: { y1: 11.5, y2: 17.5 },
|
|
107
|
-
}}
|
|
108
|
-
x1="10"
|
|
109
|
-
x2="10"
|
|
110
|
-
y1="11"
|
|
111
|
-
y2="17"
|
|
112
|
-
/>
|
|
113
|
-
<motion.line
|
|
114
|
-
animate={controls}
|
|
115
|
-
transition={SPRING_TRANSITION}
|
|
116
|
-
variants={{
|
|
117
|
-
normal: { y1: 11, y2: 17 },
|
|
118
|
-
animate: { y1: 11.5, y2: 17.5 },
|
|
119
|
-
}}
|
|
120
|
-
x1="14"
|
|
121
|
-
x2="14"
|
|
122
|
-
y1="11"
|
|
123
|
-
y2="17"
|
|
124
|
-
/>
|
|
125
|
-
</svg>
|
|
126
|
-
</div>
|
|
127
|
-
);
|
|
128
|
-
}
|
|
129
|
-
);
|
|
130
|
-
|
|
131
|
-
DeleteIcon.displayName = "DeleteIcon";
|
|
132
|
-
|
|
133
|
-
export { DeleteIcon };
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import type { Variants } from "motion/react";
|
|
4
|
-
import { motion, useAnimation } from "motion/react";
|
|
5
|
-
import type { HTMLAttributes } from "react";
|
|
6
|
-
import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
|
|
7
|
-
|
|
8
|
-
import { cn } from "@/react-ui/lib/utils";
|
|
9
|
-
|
|
10
|
-
export interface DownloadIconHandle {
|
|
11
|
-
startAnimation: () => void;
|
|
12
|
-
stopAnimation: () => void;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
interface DownloadIconProps extends HTMLAttributes<HTMLDivElement> {
|
|
16
|
-
size?: number;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
const ARROW_VARIANTS: Variants = {
|
|
20
|
-
normal: { y: 0 },
|
|
21
|
-
animate: {
|
|
22
|
-
y: 2,
|
|
23
|
-
transition: {
|
|
24
|
-
type: "spring",
|
|
25
|
-
stiffness: 200,
|
|
26
|
-
damping: 10,
|
|
27
|
-
mass: 1,
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
const DownloadIcon = forwardRef<DownloadIconHandle, DownloadIconProps>(
|
|
33
|
-
({ onMouseEnter, onMouseLeave, className, size = 28, ...props }, ref) => {
|
|
34
|
-
const controls = useAnimation();
|
|
35
|
-
const isControlledRef = useRef(false);
|
|
36
|
-
|
|
37
|
-
useImperativeHandle(ref, () => {
|
|
38
|
-
isControlledRef.current = true;
|
|
39
|
-
|
|
40
|
-
return {
|
|
41
|
-
startAnimation: () => controls.start("animate"),
|
|
42
|
-
stopAnimation: () => controls.start("normal"),
|
|
43
|
-
};
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
const handleMouseEnter = useCallback(
|
|
47
|
-
(e: React.MouseEvent<HTMLDivElement>) => {
|
|
48
|
-
if (isControlledRef.current) {
|
|
49
|
-
onMouseEnter?.(e);
|
|
50
|
-
} else {
|
|
51
|
-
controls.start("animate");
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
[controls, onMouseEnter]
|
|
55
|
-
);
|
|
56
|
-
|
|
57
|
-
const handleMouseLeave = useCallback(
|
|
58
|
-
(e: React.MouseEvent<HTMLDivElement>) => {
|
|
59
|
-
if (isControlledRef.current) {
|
|
60
|
-
onMouseLeave?.(e);
|
|
61
|
-
} else {
|
|
62
|
-
controls.start("normal");
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
[controls, onMouseLeave]
|
|
66
|
-
);
|
|
67
|
-
|
|
68
|
-
return (
|
|
69
|
-
<div
|
|
70
|
-
className={cn(className)}
|
|
71
|
-
onMouseEnter={handleMouseEnter}
|
|
72
|
-
onMouseLeave={handleMouseLeave}
|
|
73
|
-
{...props}
|
|
74
|
-
>
|
|
75
|
-
<svg
|
|
76
|
-
fill="none"
|
|
77
|
-
height={size}
|
|
78
|
-
stroke="currentColor"
|
|
79
|
-
strokeLinecap="round"
|
|
80
|
-
strokeLinejoin="round"
|
|
81
|
-
strokeWidth="2"
|
|
82
|
-
viewBox="0 0 24 24"
|
|
83
|
-
width={size}
|
|
84
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
85
|
-
>
|
|
86
|
-
<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4" />
|
|
87
|
-
<motion.g animate={controls} variants={ARROW_VARIANTS}>
|
|
88
|
-
<polyline points="7 10 12 15 17 10" />
|
|
89
|
-
<line x1="12" x2="12" y1="15" y2="3" />
|
|
90
|
-
</motion.g>
|
|
91
|
-
</svg>
|
|
92
|
-
</div>
|
|
93
|
-
);
|
|
94
|
-
}
|
|
95
|
-
);
|
|
96
|
-
|
|
97
|
-
DownloadIcon.displayName = "DownloadIcon";
|
|
98
|
-
|
|
99
|
-
export { DownloadIcon };
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Edit2 Icon
|
|
3
|
-
*
|
|
4
|
-
* Edit/pencil icon.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
export function Edit2(props: React.SVGProps<SVGSVGElement>) {
|
|
8
|
-
return (
|
|
9
|
-
<svg
|
|
10
|
-
{...props}
|
|
11
|
-
viewBox="0 0 24 24"
|
|
12
|
-
fill="none"
|
|
13
|
-
stroke="currentColor"
|
|
14
|
-
strokeWidth="2"
|
|
15
|
-
strokeLinecap="round"
|
|
16
|
-
strokeLinejoin="round"
|
|
17
|
-
>
|
|
18
|
-
<path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z" />
|
|
19
|
-
</svg>
|
|
20
|
-
);
|
|
21
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Globe Icon
|
|
3
|
-
*
|
|
4
|
-
* Globe/world icon.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
export function Globe(props: React.SVGProps<SVGSVGElement>) {
|
|
8
|
-
return (
|
|
9
|
-
<svg
|
|
10
|
-
{...props}
|
|
11
|
-
viewBox="0 0 24 24"
|
|
12
|
-
fill="none"
|
|
13
|
-
stroke="currentColor"
|
|
14
|
-
strokeWidth="2"
|
|
15
|
-
strokeLinecap="round"
|
|
16
|
-
strokeLinejoin="round"
|
|
17
|
-
>
|
|
18
|
-
<circle cx="12" cy="12" r="10" />
|
|
19
|
-
<path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20" />
|
|
20
|
-
<path d="M2 12h20" />
|
|
21
|
-
</svg>
|
|
22
|
-
);
|
|
23
|
-
}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import type { Transition, Variants } from "motion/react";
|
|
4
|
-
import { motion, useAnimation } from "motion/react";
|
|
5
|
-
import type { HTMLAttributes } from "react";
|
|
6
|
-
import { forwardRef, useCallback, useImperativeHandle, useRef } from "react";
|
|
7
|
-
|
|
8
|
-
import { cn } from "@/react-ui/lib/utils";
|
|
9
|
-
|
|
10
|
-
export interface HomeIconHandle {
|
|
11
|
-
startAnimation: () => void;
|
|
12
|
-
stopAnimation: () => void;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
interface HomeIconProps extends HTMLAttributes<HTMLDivElement> {
|
|
16
|
-
size?: number;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
const DEFAULT_TRANSITION: Transition = {
|
|
20
|
-
duration: 0.6,
|
|
21
|
-
opacity: { duration: 0.2 },
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const PATH_VARIANTS: Variants = {
|
|
25
|
-
normal: {
|
|
26
|
-
pathLength: 1,
|
|
27
|
-
opacity: 1,
|
|
28
|
-
},
|
|
29
|
-
animate: {
|
|
30
|
-
opacity: [0, 1],
|
|
31
|
-
pathLength: [0, 1],
|
|
32
|
-
},
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
const HomeIcon = forwardRef<HomeIconHandle, HomeIconProps>(
|
|
36
|
-
({ onMouseEnter, onMouseLeave, className, size = 28, ...props }, ref) => {
|
|
37
|
-
const controls = useAnimation();
|
|
38
|
-
const isControlledRef = useRef(false);
|
|
39
|
-
|
|
40
|
-
useImperativeHandle(ref, () => {
|
|
41
|
-
isControlledRef.current = true;
|
|
42
|
-
|
|
43
|
-
return {
|
|
44
|
-
startAnimation: () => controls.start("animate"),
|
|
45
|
-
stopAnimation: () => controls.start("normal"),
|
|
46
|
-
};
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
const handleMouseEnter = useCallback(
|
|
50
|
-
(e: React.MouseEvent<HTMLDivElement>) => {
|
|
51
|
-
if (isControlledRef.current) {
|
|
52
|
-
onMouseEnter?.(e);
|
|
53
|
-
} else {
|
|
54
|
-
controls.start("animate");
|
|
55
|
-
}
|
|
56
|
-
},
|
|
57
|
-
[controls, onMouseEnter]
|
|
58
|
-
);
|
|
59
|
-
|
|
60
|
-
const handleMouseLeave = useCallback(
|
|
61
|
-
(e: React.MouseEvent<HTMLDivElement>) => {
|
|
62
|
-
if (isControlledRef.current) {
|
|
63
|
-
onMouseLeave?.(e);
|
|
64
|
-
} else {
|
|
65
|
-
controls.start("normal");
|
|
66
|
-
}
|
|
67
|
-
},
|
|
68
|
-
[controls, onMouseLeave]
|
|
69
|
-
);
|
|
70
|
-
return (
|
|
71
|
-
<div
|
|
72
|
-
className={cn(className)}
|
|
73
|
-
onMouseEnter={handleMouseEnter}
|
|
74
|
-
onMouseLeave={handleMouseLeave}
|
|
75
|
-
{...props}
|
|
76
|
-
>
|
|
77
|
-
<svg
|
|
78
|
-
fill="none"
|
|
79
|
-
height={size}
|
|
80
|
-
stroke="currentColor"
|
|
81
|
-
strokeLinecap="round"
|
|
82
|
-
strokeLinejoin="round"
|
|
83
|
-
strokeWidth="2"
|
|
84
|
-
viewBox="0 0 24 24"
|
|
85
|
-
width={size}
|
|
86
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
87
|
-
>
|
|
88
|
-
<path d="M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" />
|
|
89
|
-
<motion.path
|
|
90
|
-
animate={controls}
|
|
91
|
-
d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"
|
|
92
|
-
transition={DEFAULT_TRANSITION}
|
|
93
|
-
variants={PATH_VARIANTS}
|
|
94
|
-
/>
|
|
95
|
-
</svg>
|
|
96
|
-
</div>
|
|
97
|
-
);
|
|
98
|
-
}
|
|
99
|
-
);
|
|
100
|
-
|
|
101
|
-
HomeIcon.displayName = "HomeIcon";
|
|
102
|
-
|
|
103
|
-
export { HomeIcon };
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lucide animated icons barrel export.
|
|
3
|
-
*
|
|
4
|
-
* @module @mks2508/mks-ui/react/icons/lucide-animated
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
export * from './activity';
|
|
8
|
-
export * from './arrow-down-to-line';
|
|
9
|
-
export * from './arrow-up';
|
|
10
|
-
export * from './bell';
|
|
11
|
-
export * from './bell-electric';
|
|
12
|
-
export * from './bot';
|
|
13
|
-
export * from './box';
|
|
14
|
-
export * from './check';
|
|
15
|
-
export * from './circle-check';
|
|
16
|
-
export * from './delete';
|
|
17
|
-
export * from './download';
|
|
18
|
-
export * from './edit-2';
|
|
19
|
-
export * from './globe';
|
|
20
|
-
export * from './home';
|
|
21
|
-
export * from './layers';
|
|
22
|
-
export * from './layout-panel-top';
|
|
23
|
-
export * from './list';
|
|
24
|
-
export * from './package';
|
|
25
|
-
export * from './palette';
|
|
26
|
-
export * from './plus';
|
|
27
|
-
export * from './refresh-cw';
|
|
28
|
-
export * from './rocket';
|
|
29
|
-
export * from './save';
|
|
30
|
-
export * from './search';
|
|
31
|
-
export * from './settings';
|
|
32
|
-
export * from './terminal';
|
|
33
|
-
export * from './trash-2';
|
|
34
|
-
export * from './trending-down';
|
|
35
|
-
export * from './trending-up';
|
|
36
|
-
export * from './type';
|
|
37
|
-
export * from './upload';
|
|
38
|
-
export * from './x';
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Layers Icon
|
|
3
|
-
*
|
|
4
|
-
* Layers/stack icon.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
export function Layers(props: React.SVGProps<SVGSVGElement>) {
|
|
8
|
-
return (
|
|
9
|
-
<svg
|
|
10
|
-
{...props}
|
|
11
|
-
viewBox="0 0 24 24"
|
|
12
|
-
fill="none"
|
|
13
|
-
stroke="currentColor"
|
|
14
|
-
strokeWidth="2"
|
|
15
|
-
strokeLinecap="round"
|
|
16
|
-
strokeLinejoin="round"
|
|
17
|
-
>
|
|
18
|
-
<polygon points="12 2 2 7 12 12 22 7 12 2" />
|
|
19
|
-
<polyline points="2 17 12 22 22 17" />
|
|
20
|
-
<polyline points="2 12 12 17 22 12" />
|
|
21
|
-
</svg>
|
|
22
|
-
);
|
|
23
|
-
}
|