@fragments-sdk/cli 0.5.2 → 0.7.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/bin.js +996 -79
- package/dist/bin.js.map +1 -1
- package/dist/{chunk-ICAIQ57V.js → chunk-6JBGU74P.js} +5 -3
- package/dist/chunk-6JBGU74P.js.map +1 -0
- package/dist/chunk-7OPWMLOE.js +1625 -0
- package/dist/chunk-7OPWMLOE.js.map +1 -0
- package/dist/{chunk-2H2JAA3U.js → chunk-CVXKXVOY.js} +3 -3
- package/dist/{chunk-2H2JAA3U.js.map → chunk-CVXKXVOY.js.map} +1 -1
- package/dist/{chunk-IOJE35DZ.js → chunk-NWQ4CJOQ.js} +3 -3
- package/dist/{chunk-2DJH4F4P.js → chunk-RVRTRESS.js} +3 -3
- package/dist/{chunk-V7YLRR4C.js → chunk-TJ34N7C7.js} +41 -4
- package/dist/{chunk-V7YLRR4C.js.map → chunk-TJ34N7C7.js.map} +1 -1
- package/dist/{chunk-XNWDI6UT.js → chunk-XHUDJNN3.js} +5 -5
- package/dist/{core-DKHB7FYV.js → core-W2HYIQW6.js} +4 -4
- package/dist/{generate-KL24VZVD.js → generate-LMTISDIJ.js} +5 -5
- package/dist/index.d.ts +1 -0
- package/dist/index.js +15 -7
- package/dist/index.js.map +1 -1
- package/dist/{init-NION5S3M.js → init-7CHRKQ7P.js} +5 -5
- package/dist/mcp-bin.js +8 -220
- package/dist/mcp-bin.js.map +1 -1
- package/dist/scan-WY23TJCP.js +12 -0
- package/dist/{service-RWUMZ3EW.js → service-T2L7VLTE.js} +5 -5
- package/dist/static-viewer-GBR7YNF3.js +12 -0
- package/dist/{test-ECPEXFDN.js → test-OJRXNDO2.js} +4 -4
- package/dist/{tokens-ITADYVPF.js → tokens-3BWDESVM.js} +6 -6
- package/dist/viewer-SUFOISZM.js +1822 -0
- package/dist/viewer-SUFOISZM.js.map +1 -0
- package/package.json +6 -5
- package/src/bin.ts +31 -0
- package/src/build.ts +147 -13
- package/src/cli-commands.ts +18 -0
- package/src/commands/__tests__/a11y-scoring.test.ts +278 -0
- package/src/commands/a11y-report.ts +625 -0
- package/src/commands/a11y.ts +168 -14
- package/src/commands/build.ts +16 -0
- package/src/commands/graph.ts +274 -0
- package/src/core/auto-props.ts +464 -0
- package/src/core/composition.ts +64 -1
- package/src/core/graph-extractor.test.ts +542 -0
- package/src/core/graph-extractor.ts +601 -0
- package/src/core/importAnalyzer.ts +5 -0
- package/src/core/schema.ts +2 -0
- package/src/core/types.ts +3 -1
- package/src/index.ts +4 -0
- package/src/mcp/server.ts +13 -220
- package/src/theme/__tests__/component-contrast.test.ts +338 -0
- package/src/theme/__tests__/contrast-validation.test.ts +326 -0
- package/src/theme/contrast.test.ts +331 -0
- package/src/theme/contrast.ts +246 -0
- package/src/theme/generator.ts +213 -1
- package/src/theme/index.ts +16 -0
- package/src/theme/types.ts +51 -0
- package/src/viewer/__tests__/a11y-fixes.test.ts +358 -0
- package/src/viewer/__tests__/viewer-integration.test.ts +2 -7
- package/src/viewer/components/AccessibilityPanel.tsx +493 -433
- package/src/viewer/components/ActionCapture.tsx +1 -1
- package/src/viewer/components/ActionsPanel.tsx +142 -183
- package/src/viewer/components/App.tsx +276 -183
- package/src/viewer/components/BottomPanel.tsx +40 -80
- package/src/viewer/components/CodePanel.tsx +9 -87
- package/src/viewer/components/CommandPalette.tsx +117 -74
- package/src/viewer/components/ComponentGraph.tsx +143 -126
- package/src/viewer/components/ComponentHeader.tsx +46 -43
- package/src/viewer/components/ContractPanel.tsx +124 -117
- package/src/viewer/components/ErrorBoundary.tsx +47 -35
- package/src/viewer/components/FigmaEmbed.tsx +18 -13
- package/src/viewer/components/FragmentEditor.tsx +126 -63
- package/src/viewer/components/HealthDashboard.tsx +146 -171
- package/src/viewer/components/HmrStatusIndicator.tsx +31 -41
- package/src/viewer/components/Icons.tsx +151 -98
- package/src/viewer/components/InteractionsPanel.tsx +317 -264
- package/src/viewer/components/IsolatedPreviewFrame.tsx +52 -27
- package/src/viewer/components/IsolatedRender.tsx +12 -6
- package/src/viewer/components/KeyboardShortcutsHelp.tsx +34 -70
- package/src/viewer/components/LandingPage.tsx +285 -305
- package/src/viewer/components/Layout.tsx +12 -10
- package/src/viewer/components/LeftSidebar.tsx +103 -155
- package/src/viewer/components/MultiViewportPreview.tsx +254 -63
- package/src/viewer/components/PreviewArea.tsx +113 -44
- package/src/viewer/components/PreviewFrameHost.tsx +36 -6
- package/src/viewer/components/PreviewPane.tsx +2 -3
- package/src/viewer/components/PreviewToolbar.tsx +109 -105
- package/src/viewer/components/PropsEditor.tsx +154 -74
- package/src/viewer/components/PropsTable.tsx +95 -82
- package/src/viewer/components/RelationsSection.tsx +71 -40
- package/src/viewer/components/ResizablePanel.tsx +158 -55
- package/src/viewer/components/RightSidebar.tsx +46 -56
- package/src/viewer/components/ScreenshotButton.tsx +12 -12
- package/src/viewer/components/SkeletonLoader.tsx +99 -83
- package/src/viewer/components/StoryRenderer.tsx +4 -11
- package/src/viewer/components/Toast.tsx +3 -67
- package/src/viewer/components/TokenStylePanel.tsx +136 -118
- package/src/viewer/components/UsageSection.tsx +26 -26
- package/src/viewer/components/VariantMatrix.tsx +140 -47
- package/src/viewer/components/VariantTabs.tsx +24 -68
- package/src/viewer/components/ViewportSelector.tsx +121 -114
- package/src/viewer/constants/ui.ts +23 -22
- package/src/viewer/entry.tsx +8 -3
- package/src/viewer/index.ts +3 -6
- package/src/viewer/preview-frame.html +43 -18
- package/src/viewer/server.ts +7 -16
- package/src/viewer/styles/globals.css +46 -85
- package/src/viewer/utils/a11y-fixes.ts +53 -30
- package/dist/chunk-ICAIQ57V.js.map +0 -1
- package/dist/chunk-U4GQ2JTD.js +0 -832
- package/dist/chunk-U4GQ2JTD.js.map +0 -1
- package/dist/scan-ESEXV7LF.js +0 -12
- package/dist/static-viewer-O37MJ5B6.js +0 -12
- package/dist/viewer-YDGFDTK5.js +0 -11104
- package/dist/viewer-YDGFDTK5.js.map +0 -1
- package/src/viewer/postcss.config.js +0 -6
- package/src/viewer/tailwind.config.js +0 -37
- /package/dist/{chunk-IOJE35DZ.js.map → chunk-NWQ4CJOQ.js.map} +0 -0
- /package/dist/{chunk-2DJH4F4P.js.map → chunk-RVRTRESS.js.map} +0 -0
- /package/dist/{chunk-XNWDI6UT.js.map → chunk-XHUDJNN3.js.map} +0 -0
- /package/dist/{core-DKHB7FYV.js.map → core-W2HYIQW6.js.map} +0 -0
- /package/dist/{generate-KL24VZVD.js.map → generate-LMTISDIJ.js.map} +0 -0
- /package/dist/{init-NION5S3M.js.map → init-7CHRKQ7P.js.map} +0 -0
- /package/dist/{scan-ESEXV7LF.js.map → scan-WY23TJCP.js.map} +0 -0
- /package/dist/{service-RWUMZ3EW.js.map → service-T2L7VLTE.js.map} +0 -0
- /package/dist/{static-viewer-O37MJ5B6.js.map → static-viewer-GBR7YNF3.js.map} +0 -0
- /package/dist/{test-ECPEXFDN.js.map → test-OJRXNDO2.js.map} +0 -0
- /package/dist/{tokens-ITADYVPF.js.map → tokens-3BWDESVM.js.map} +0 -0
|
@@ -5,159 +5,160 @@
|
|
|
5
5
|
|
|
6
6
|
interface IconProps {
|
|
7
7
|
className?: string;
|
|
8
|
+
style?: React.CSSProperties;
|
|
8
9
|
}
|
|
9
10
|
|
|
10
11
|
// Navigation & UI
|
|
11
|
-
export function ChevronDownIcon({ className }: IconProps) {
|
|
12
|
+
export function ChevronDownIcon({ className, style }: IconProps) {
|
|
12
13
|
return (
|
|
13
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
14
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
14
15
|
<path strokeLinecap="round" strokeLinejoin="round" d="M19 9l-7 7-7-7" />
|
|
15
16
|
</svg>
|
|
16
17
|
);
|
|
17
18
|
}
|
|
18
19
|
|
|
19
|
-
export function ChevronRightIcon({ className }: IconProps) {
|
|
20
|
+
export function ChevronRightIcon({ className, style }: IconProps) {
|
|
20
21
|
return (
|
|
21
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
22
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
22
23
|
<path strokeLinecap="round" strokeLinejoin="round" d="M9 5l7 7-7 7" />
|
|
23
24
|
</svg>
|
|
24
25
|
);
|
|
25
26
|
}
|
|
26
27
|
|
|
27
|
-
export function SearchIcon({ className }: IconProps) {
|
|
28
|
+
export function SearchIcon({ className, style }: IconProps) {
|
|
28
29
|
return (
|
|
29
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
30
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
30
31
|
<path strokeLinecap="round" strokeLinejoin="round" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" />
|
|
31
32
|
</svg>
|
|
32
33
|
);
|
|
33
34
|
}
|
|
34
35
|
|
|
35
|
-
export function ExternalLinkIcon({ className }: IconProps) {
|
|
36
|
+
export function ExternalLinkIcon({ className, style }: IconProps) {
|
|
36
37
|
return (
|
|
37
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
38
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
38
39
|
<path strokeLinecap="round" strokeLinejoin="round" d="M13.5 6H5.25A2.25 2.25 0 003 8.25v10.5A2.25 2.25 0 005.25 21h10.5A2.25 2.25 0 0018 18.75V10.5m-10.5 6L21 3m0 0h-5.25M21 3v5.25" />
|
|
39
40
|
</svg>
|
|
40
41
|
);
|
|
41
42
|
}
|
|
42
43
|
|
|
43
|
-
export function LinkIcon({ className }: IconProps) {
|
|
44
|
+
export function LinkIcon({ className, style }: IconProps) {
|
|
44
45
|
return (
|
|
45
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
46
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
46
47
|
<path strokeLinecap="round" strokeLinejoin="round" d="M13.19 8.688a4.5 4.5 0 011.242 7.244l-4.5 4.5a4.5 4.5 0 01-6.364-6.364l1.757-1.757m13.35-.622l1.757-1.757a4.5 4.5 0 00-6.364-6.364l-4.5 4.5a4.5 4.5 0 001.242 7.244" />
|
|
47
48
|
</svg>
|
|
48
49
|
);
|
|
49
50
|
}
|
|
50
51
|
|
|
51
|
-
export function CloseIcon({ className }: IconProps) {
|
|
52
|
+
export function CloseIcon({ className, style }: IconProps) {
|
|
52
53
|
return (
|
|
53
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
54
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
54
55
|
<path strokeLinecap="round" strokeLinejoin="round" d="M6 18L18 6M6 6l12 12" />
|
|
55
56
|
</svg>
|
|
56
57
|
);
|
|
57
58
|
}
|
|
58
59
|
|
|
59
|
-
export function PlusIcon({ className }: IconProps) {
|
|
60
|
+
export function PlusIcon({ className, style }: IconProps) {
|
|
60
61
|
return (
|
|
61
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
62
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
62
63
|
<path strokeLinecap="round" strokeLinejoin="round" d="M12 4.5v15m7.5-7.5h-15" />
|
|
63
64
|
</svg>
|
|
64
65
|
);
|
|
65
66
|
}
|
|
66
67
|
|
|
67
|
-
export function PlayIcon({ className }: IconProps) {
|
|
68
|
+
export function PlayIcon({ className, style }: IconProps) {
|
|
68
69
|
return (
|
|
69
|
-
<svg className={className} fill="currentColor" viewBox="0 0 24 24">
|
|
70
|
+
<svg className={className} style={style} fill="currentColor" viewBox="0 0 24 24">
|
|
70
71
|
<path d="M8 5v14l11-7z" />
|
|
71
72
|
</svg>
|
|
72
73
|
);
|
|
73
74
|
}
|
|
74
75
|
|
|
75
76
|
// Theme
|
|
76
|
-
export function SunIcon({ className }: IconProps) {
|
|
77
|
+
export function SunIcon({ className, style }: IconProps) {
|
|
77
78
|
return (
|
|
78
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
79
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
79
80
|
<path strokeLinecap="round" strokeLinejoin="round" d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12 18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z" />
|
|
80
81
|
</svg>
|
|
81
82
|
);
|
|
82
83
|
}
|
|
83
84
|
|
|
84
|
-
export function MoonIcon({ className }: IconProps) {
|
|
85
|
+
export function MoonIcon({ className, style }: IconProps) {
|
|
85
86
|
return (
|
|
86
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
87
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
87
88
|
<path strokeLinecap="round" strokeLinejoin="round" d="M21.752 15.002A9.718 9.718 0 0118 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 003 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 009.002-5.998z" />
|
|
88
89
|
</svg>
|
|
89
90
|
);
|
|
90
91
|
}
|
|
91
92
|
|
|
92
93
|
// Status & Feedback
|
|
93
|
-
export function CheckIcon({ className }: IconProps) {
|
|
94
|
+
export function CheckIcon({ className, style }: IconProps) {
|
|
94
95
|
return (
|
|
95
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
96
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
96
97
|
<path strokeLinecap="round" strokeLinejoin="round" d="M5 13l4 4L19 7" />
|
|
97
98
|
</svg>
|
|
98
99
|
);
|
|
99
100
|
}
|
|
100
101
|
|
|
101
|
-
export function XIcon({ className }: IconProps) {
|
|
102
|
+
export function XIcon({ className, style }: IconProps) {
|
|
102
103
|
return (
|
|
103
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
104
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
104
105
|
<path strokeLinecap="round" strokeLinejoin="round" d="M6 18L18 6M6 6l12 12" />
|
|
105
106
|
</svg>
|
|
106
107
|
);
|
|
107
108
|
}
|
|
108
109
|
|
|
109
|
-
export function WarningIcon({ className }: IconProps) {
|
|
110
|
+
export function WarningIcon({ className, style }: IconProps) {
|
|
110
111
|
return (
|
|
111
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
112
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
112
113
|
<path strokeLinecap="round" strokeLinejoin="round" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
|
|
113
114
|
</svg>
|
|
114
115
|
);
|
|
115
116
|
}
|
|
116
117
|
|
|
117
|
-
export function ErrorIcon({ className }: IconProps) {
|
|
118
|
+
export function ErrorIcon({ className, style }: IconProps) {
|
|
118
119
|
return (
|
|
119
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
120
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
120
121
|
<path strokeLinecap="round" strokeLinejoin="round" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
|
|
121
122
|
</svg>
|
|
122
123
|
);
|
|
123
124
|
}
|
|
124
125
|
|
|
125
|
-
export function InfoIcon({ className }: IconProps) {
|
|
126
|
+
export function InfoIcon({ className, style }: IconProps) {
|
|
126
127
|
return (
|
|
127
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
128
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
128
129
|
<path strokeLinecap="round" strokeLinejoin="round" d="M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z" />
|
|
129
130
|
</svg>
|
|
130
131
|
);
|
|
131
132
|
}
|
|
132
133
|
|
|
133
134
|
// Actions
|
|
134
|
-
export function CopyIcon({ className }: IconProps) {
|
|
135
|
+
export function CopyIcon({ className, style }: IconProps) {
|
|
135
136
|
return (
|
|
136
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
137
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
137
138
|
<path strokeLinecap="round" strokeLinejoin="round" d="M15.666 3.888A2.25 2.25 0 0013.5 2.25h-3c-1.03 0-1.9.693-2.166 1.638m7.332 0c.055.194.084.4.084.612v0a.75.75 0 01-.75.75H9a.75.75 0 01-.75-.75v0c0-.212.03-.418.084-.612m7.332 0c.646.049 1.288.11 1.927.184 1.1.128 1.907 1.077 1.907 2.185V19.5a2.25 2.25 0 01-2.25 2.25H6.75A2.25 2.25 0 014.5 19.5V6.257c0-1.108.806-2.057 1.907-2.185a48.208 48.208 0 011.927-.184" />
|
|
138
139
|
</svg>
|
|
139
140
|
);
|
|
140
141
|
}
|
|
141
142
|
|
|
142
|
-
export function EditIcon({ className }: IconProps) {
|
|
143
|
+
export function EditIcon({ className, style }: IconProps) {
|
|
143
144
|
return (
|
|
144
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
145
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
145
146
|
<path strokeLinecap="round" strokeLinejoin="round" d="M16.862 4.487l1.687-1.688a1.875 1.875 0 112.652 2.652L10.582 16.07a4.5 4.5 0 01-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 011.13-1.897l8.932-8.931zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0115.75 21H5.25A2.25 2.25 0 013 18.75V8.25A2.25 2.25 0 015.25 6H10" />
|
|
146
147
|
</svg>
|
|
147
148
|
);
|
|
148
149
|
}
|
|
149
150
|
|
|
150
|
-
export function RefreshIcon({ className }: IconProps) {
|
|
151
|
+
export function RefreshIcon({ className, style }: IconProps) {
|
|
151
152
|
return (
|
|
152
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
153
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
153
154
|
<path strokeLinecap="round" strokeLinejoin="round" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15" />
|
|
154
155
|
</svg>
|
|
155
156
|
);
|
|
156
157
|
}
|
|
157
158
|
|
|
158
|
-
export function CameraIcon({ className }: IconProps) {
|
|
159
|
+
export function CameraIcon({ className, style }: IconProps) {
|
|
159
160
|
return (
|
|
160
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
161
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
161
162
|
<path strokeLinecap="round" strokeLinejoin="round" d="M6.827 6.175A2.31 2.31 0 015.186 7.23c-.38.054-.757.112-1.134.175C2.999 7.58 2.25 8.507 2.25 9.574V18a2.25 2.25 0 002.25 2.25h15A2.25 2.25 0 0021.75 18V9.574c0-1.067-.75-1.994-1.802-2.169a47.865 47.865 0 00-1.134-.175 2.31 2.31 0 01-1.64-1.055l-.822-1.316a2.192 2.192 0 00-1.736-1.039 48.774 48.774 0 00-5.232 0 2.192 2.192 0 00-1.736 1.039l-.821 1.316z" />
|
|
162
163
|
<path strokeLinecap="round" strokeLinejoin="round" d="M16.5 12.75a4.5 4.5 0 11-9 0 4.5 4.5 0 019 0zM18.75 10.5h.008v.008h-.008V10.5z" />
|
|
163
164
|
</svg>
|
|
@@ -165,93 +166,145 @@ export function CameraIcon({ className }: IconProps) {
|
|
|
165
166
|
}
|
|
166
167
|
|
|
167
168
|
// Files & Documents
|
|
168
|
-
export function FileIcon({ className }: IconProps) {
|
|
169
|
+
export function FileIcon({ className, style }: IconProps) {
|
|
169
170
|
return (
|
|
170
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
171
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
171
172
|
<path strokeLinecap="round" strokeLinejoin="round" d="M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m2.25 0H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z" />
|
|
172
173
|
</svg>
|
|
173
174
|
);
|
|
174
175
|
}
|
|
175
176
|
|
|
176
|
-
export function CodeIcon({ className }: IconProps) {
|
|
177
|
+
export function CodeIcon({ className, style }: IconProps) {
|
|
177
178
|
return (
|
|
178
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
179
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
179
180
|
<path strokeLinecap="round" strokeLinejoin="round" d="M17.25 6.75L22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3l-4.5 16.5" />
|
|
180
181
|
</svg>
|
|
181
182
|
);
|
|
182
183
|
}
|
|
183
184
|
|
|
184
185
|
// Preview Controls
|
|
185
|
-
export function ZoomIcon({ className }: IconProps) {
|
|
186
|
+
export function ZoomIcon({ className, style }: IconProps) {
|
|
186
187
|
return (
|
|
187
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
188
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
188
189
|
<path strokeLinecap="round" strokeLinejoin="round" d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607zM10.5 7.5v6m3-3h-6" />
|
|
189
190
|
</svg>
|
|
190
191
|
);
|
|
191
192
|
}
|
|
192
193
|
|
|
193
|
-
export function ViewportIcon({ className }: IconProps) {
|
|
194
|
+
export function ViewportIcon({ className, style }: IconProps) {
|
|
194
195
|
return (
|
|
195
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
196
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
196
197
|
<path strokeLinecap="round" strokeLinejoin="round" d="M9 17.25v1.007a3 3 0 01-.879 2.122L7.5 21h9l-.621-.621A3 3 0 0115 18.257V17.25m6-12V15a2.25 2.25 0 01-2.25 2.25H5.25A2.25 2.25 0 013 15V5.25m18 0A2.25 2.25 0 0018.75 3H5.25A2.25 2.25 0 003 5.25m18 0V12a2.25 2.25 0 01-2.25 2.25H5.25A2.25 2.25 0 013 12V5.25" />
|
|
197
198
|
</svg>
|
|
198
199
|
);
|
|
199
200
|
}
|
|
200
201
|
|
|
202
|
+
export function ResponsiveIcon({ className, style }: IconProps) {
|
|
203
|
+
return (
|
|
204
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.7}>
|
|
205
|
+
<path strokeLinecap="round" strokeLinejoin="round" d="M7 12h10m0 0l-2.5-2.5M17 12l-2.5 2.5M7 12l2.5-2.5M7 12l2.5 2.5" />
|
|
206
|
+
</svg>
|
|
207
|
+
);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
export function DesktopIcon({ className, style }: IconProps) {
|
|
211
|
+
return (
|
|
212
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
213
|
+
<path strokeLinecap="round" strokeLinejoin="round" d="M3.75 5.25A2.25 2.25 0 016 3h12a2.25 2.25 0 012.25 2.25v8.25A2.25 2.25 0 0118 15.75H6a2.25 2.25 0 01-2.25-2.25V5.25zM9.75 20.25h4.5M12 15.75v4.5" />
|
|
214
|
+
</svg>
|
|
215
|
+
);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
export function TabletIcon({ className, style }: IconProps) {
|
|
219
|
+
return (
|
|
220
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
221
|
+
<rect x="6.75" y="3" width="10.5" height="18" rx="2.25" />
|
|
222
|
+
<circle cx="12" cy="17.25" r="0.85" fill="currentColor" stroke="none" />
|
|
223
|
+
</svg>
|
|
224
|
+
);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
export function MobileIcon({ className, style }: IconProps) {
|
|
228
|
+
return (
|
|
229
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
230
|
+
<rect x="8.25" y="2.25" width="7.5" height="19.5" rx="2.25" />
|
|
231
|
+
<circle cx="12" cy="18.75" r="0.8" fill="currentColor" stroke="none" />
|
|
232
|
+
</svg>
|
|
233
|
+
);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
export function SettingsIcon({ className, style }: IconProps) {
|
|
237
|
+
return (
|
|
238
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
239
|
+
<path strokeLinecap="round" strokeLinejoin="round" d="M10.343 3.94c.09-.542.56-.94 1.11-.94h1.094c.55 0 1.02.398 1.11.94l.18 1.09c.06.36.29.668.62.84l.94.5c.318.168.7.18 1.028.03l.998-.455c.5-.23 1.09-.048 1.38.42l.546.882c.29.468.19 1.074-.24 1.424l-.858.698a1.26 1.26 0 00-.456.985v1.046c0 .38.17.738.456.984l.858.699c.43.35.53.956.24 1.424l-.545.882a1.1 1.1 0 01-1.381.42l-.998-.455a1.26 1.26 0 00-1.028.03l-.94.5a1.26 1.26 0 00-.62.84l-.18 1.09a1.125 1.125 0 01-1.11.94h-1.094a1.124 1.124 0 01-1.11-.94l-.18-1.09a1.26 1.26 0 00-.62-.84l-.94-.5a1.26 1.26 0 00-1.028-.03l-.998.455a1.1 1.1 0 01-1.381-.42l-.545-.882a1.125 1.125 0 01.24-1.424l.858-.699a1.26 1.26 0 00.456-.984V9.878c0-.38-.17-.738-.456-.985l-.858-.698a1.125 1.125 0 01-.24-1.424l.545-.882c.29-.468.88-.65 1.381-.42l.998.455c.33.15.71.138 1.028-.03l.94-.5c.33-.172.56-.48.62-.84l.18-1.09z" />
|
|
240
|
+
<circle cx="12" cy="12" r="3" />
|
|
241
|
+
</svg>
|
|
242
|
+
);
|
|
243
|
+
}
|
|
244
|
+
|
|
201
245
|
// Misc
|
|
202
|
-
export function ControlsIcon({ className }: IconProps) {
|
|
246
|
+
export function ControlsIcon({ className, style }: IconProps) {
|
|
203
247
|
return (
|
|
204
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
248
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
205
249
|
<path strokeLinecap="round" strokeLinejoin="round" d="M10.5 6h9.75M10.5 6a1.5 1.5 0 11-3 0m3 0a1.5 1.5 0 10-3 0M3.75 6H7.5m3 12h9.75m-9.75 0a1.5 1.5 0 01-3 0m3 0a1.5 1.5 0 00-3 0m-3.75 0H7.5m9-6h3.75m-3.75 0a1.5 1.5 0 01-3 0m3 0a1.5 1.5 0 00-3 0m-9.75 0h9.75" />
|
|
206
250
|
</svg>
|
|
207
251
|
);
|
|
208
252
|
}
|
|
209
253
|
|
|
210
|
-
export function BeakerIcon({ className }: IconProps) {
|
|
254
|
+
export function BeakerIcon({ className, style }: IconProps) {
|
|
211
255
|
return (
|
|
212
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
256
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
213
257
|
<path strokeLinecap="round" strokeLinejoin="round" d="M9.75 3.104v5.714a2.25 2.25 0 01-.659 1.591L5 14.5M9.75 3.104c-.251.023-.501.05-.75.082m.75-.082a24.301 24.301 0 014.5 0m0 0v5.714c0 .597.237 1.17.659 1.591L19.8 15.3M14.25 3.104c.251.023.501.05.75.082M19.8 15.3l-1.57.393A9.065 9.065 0 0112 15a9.065 9.065 0 00-6.23.693L5 14.5m14.8.8l1.402 1.402c1.232 1.232.65 3.318-1.067 3.611l-.258.04A9.045 9.045 0 0112 21a9.045 9.045 0 01-7.877-.647l-.258-.04c-1.718-.293-2.299-2.379-1.067-3.61L5 14.5" />
|
|
214
258
|
</svg>
|
|
215
259
|
);
|
|
216
260
|
}
|
|
217
261
|
|
|
218
|
-
export function AccessibilityIcon({ className }: IconProps) {
|
|
262
|
+
export function AccessibilityIcon({ className, style }: IconProps) {
|
|
219
263
|
return (
|
|
220
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
264
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
221
265
|
<path strokeLinecap="round" strokeLinejoin="round" d="M18 18.72a9.094 9.094 0 003.741-.479 3 3 0 00-4.682-2.72m.94 3.198l.001.031c0 .225-.012.447-.037.666A11.944 11.944 0 0112 21c-2.17 0-4.207-.576-5.963-1.584A6.062 6.062 0 016 18.719m12 0a5.971 5.971 0 00-.941-3.197m0 0A5.995 5.995 0 0012 12.75a5.995 5.995 0 00-5.058 2.772m0 0a3 3 0 00-4.681 2.72 8.986 8.986 0 003.74.477m.94-3.197a5.971 5.971 0 00-.94 3.197M15 6.75a3 3 0 11-6 0 3 3 0 016 0zm6 3a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0zm-13.5 0a2.25 2.25 0 11-4.5 0 2.25 2.25 0 014.5 0z" />
|
|
222
266
|
</svg>
|
|
223
267
|
);
|
|
224
268
|
}
|
|
225
269
|
|
|
226
|
-
export function HeartPulseIcon({ className }: IconProps) {
|
|
270
|
+
export function HeartPulseIcon({ className, style }: IconProps) {
|
|
227
271
|
return (
|
|
228
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
272
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
229
273
|
<path strokeLinecap="round" strokeLinejoin="round" d="M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12z" />
|
|
230
274
|
<path strokeLinecap="round" strokeLinejoin="round" d="M3 12h4l2-3 3 6 2-3h7" />
|
|
231
275
|
</svg>
|
|
232
276
|
);
|
|
233
277
|
}
|
|
234
278
|
|
|
235
|
-
export function DashboardIcon({ className }: IconProps) {
|
|
279
|
+
export function DashboardIcon({ className, style }: IconProps) {
|
|
236
280
|
return (
|
|
237
|
-
<svg
|
|
281
|
+
<svg
|
|
282
|
+
className={className}
|
|
283
|
+
style={style}
|
|
284
|
+
width="20"
|
|
285
|
+
height="20"
|
|
286
|
+
fill="none"
|
|
287
|
+
viewBox="0 0 24 24"
|
|
288
|
+
stroke="currentColor"
|
|
289
|
+
strokeWidth={1.5}
|
|
290
|
+
>
|
|
238
291
|
<path strokeLinecap="round" strokeLinejoin="round" d="M3.75 6A2.25 2.25 0 016 3.75h2.25A2.25 2.25 0 0110.5 6v2.25a2.25 2.25 0 01-2.25 2.25H6a2.25 2.25 0 01-2.25-2.25V6zM3.75 15.75A2.25 2.25 0 016 13.5h2.25a2.25 2.25 0 012.25 2.25V18a2.25 2.25 0 01-2.25 2.25H6A2.25 2.25 0 013.75 18v-2.25zM13.5 6a2.25 2.25 0 012.25-2.25H18A2.25 2.25 0 0120.25 6v2.25A2.25 2.25 0 0118 10.5h-2.25a2.25 2.25 0 01-2.25-2.25V6zM13.5 15.75a2.25 2.25 0 012.25-2.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-2.25A2.25 2.25 0 0113.5 18v-2.25z" />
|
|
239
292
|
</svg>
|
|
240
293
|
);
|
|
241
294
|
}
|
|
242
295
|
|
|
243
|
-
export function EmptyIcon({ className }: IconProps) {
|
|
296
|
+
export function EmptyIcon({ className, style }: IconProps) {
|
|
244
297
|
return (
|
|
245
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1}>
|
|
298
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1}>
|
|
246
299
|
<path strokeLinecap="round" strokeLinejoin="round" d="M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4" />
|
|
247
300
|
</svg>
|
|
248
301
|
);
|
|
249
302
|
}
|
|
250
303
|
|
|
251
304
|
// Figma
|
|
252
|
-
export function FigmaIcon({ className }: IconProps) {
|
|
305
|
+
export function FigmaIcon({ className, style }: IconProps) {
|
|
253
306
|
return (
|
|
254
|
-
<svg className={className} viewBox="0 0 24 24" fill="currentColor">
|
|
307
|
+
<svg className={className} style={style} viewBox="0 0 24 24" fill="currentColor">
|
|
255
308
|
<path d="M5 5.5A3.5 3.5 0 018.5 2H12v7H8.5A3.5 3.5 0 015 5.5zM12 2h3.5a3.5 3.5 0 110 7H12V2z" />
|
|
256
309
|
<path d="M12 12.5a3.5 3.5 0 117 0 3.5 3.5 0 11-7 0z" />
|
|
257
310
|
<path d="M5 19.5A3.5 3.5 0 018.5 16H12v3.5a3.5 3.5 0 11-7 0zM5 12.5A3.5 3.5 0 018.5 9H12v7H8.5A3.5 3.5 0 015 12.5z" />
|
|
@@ -259,25 +312,25 @@ export function FigmaIcon({ className }: IconProps) {
|
|
|
259
312
|
);
|
|
260
313
|
}
|
|
261
314
|
|
|
262
|
-
export function CompareIcon({ className }: IconProps) {
|
|
315
|
+
export function CompareIcon({ className, style }: IconProps) {
|
|
263
316
|
return (
|
|
264
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
317
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
265
318
|
<path strokeLinecap="round" strokeLinejoin="round" d="M7.5 21L3 16.5m0 0L7.5 12M3 16.5h13.5m0-13.5L21 7.5m0 0L16.5 12M21 7.5H7.5" />
|
|
266
319
|
</svg>
|
|
267
320
|
);
|
|
268
321
|
}
|
|
269
322
|
|
|
270
|
-
export function SyncIcon({ className }: IconProps) {
|
|
323
|
+
export function SyncIcon({ className, style }: IconProps) {
|
|
271
324
|
return (
|
|
272
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
325
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
273
326
|
<path strokeLinecap="round" strokeLinejoin="round" d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0l3.181 3.183a8.25 8.25 0 0013.803-3.7M4.031 9.865a8.25 8.25 0 0113.803-3.7l3.181 3.182m0-4.991v4.99" />
|
|
274
327
|
</svg>
|
|
275
328
|
);
|
|
276
329
|
}
|
|
277
330
|
|
|
278
|
-
export function LoadingIcon({ className }: IconProps) {
|
|
331
|
+
export function LoadingIcon({ className, style }: IconProps) {
|
|
279
332
|
return (
|
|
280
|
-
<svg className={className} fill="none" viewBox="0 0 24 24">
|
|
333
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24">
|
|
281
334
|
<circle className="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" strokeWidth="4" />
|
|
282
335
|
<path className="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" />
|
|
283
336
|
</svg>
|
|
@@ -285,131 +338,131 @@ export function LoadingIcon({ className }: IconProps) {
|
|
|
285
338
|
}
|
|
286
339
|
|
|
287
340
|
// HMR Status
|
|
288
|
-
export function WifiIcon({ className }: IconProps) {
|
|
341
|
+
export function WifiIcon({ className, style }: IconProps) {
|
|
289
342
|
return (
|
|
290
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
343
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
291
344
|
<path strokeLinecap="round" strokeLinejoin="round" d="M8.288 15.038a5.25 5.25 0 017.424 0M5.106 11.856c3.807-3.808 9.98-3.808 13.788 0M1.924 8.674c5.565-5.565 14.587-5.565 20.152 0M12.53 18.22l-.53.53-.53-.53a.75.75 0 011.06 0z" />
|
|
292
345
|
</svg>
|
|
293
346
|
);
|
|
294
347
|
}
|
|
295
348
|
|
|
296
|
-
export function WifiOffIcon({ className }: IconProps) {
|
|
349
|
+
export function WifiOffIcon({ className, style }: IconProps) {
|
|
297
350
|
return (
|
|
298
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
351
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
299
352
|
<path strokeLinecap="round" strokeLinejoin="round" d="M3 3l18 18M12.53 18.22l-.53.53-.53-.53a.75.75 0 011.06 0zM8.288 15.038a5.25 5.25 0 016.478.447M5.106 11.856a9.743 9.743 0 0110.266.994M1.924 8.674a14.228 14.228 0 0114.614 2.304" />
|
|
300
353
|
</svg>
|
|
301
354
|
);
|
|
302
355
|
}
|
|
303
356
|
|
|
304
|
-
export function WandIcon({ className }: IconProps) {
|
|
357
|
+
export function WandIcon({ className, style }: IconProps) {
|
|
305
358
|
return (
|
|
306
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
359
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={2}>
|
|
307
360
|
<path strokeLinecap="round" strokeLinejoin="round" d="M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z" />
|
|
308
361
|
</svg>
|
|
309
362
|
);
|
|
310
363
|
}
|
|
311
364
|
|
|
312
|
-
export function TrashIcon({ className }: IconProps) {
|
|
365
|
+
export function TrashIcon({ className, style }: IconProps) {
|
|
313
366
|
return (
|
|
314
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
367
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
315
368
|
<path strokeLinecap="round" strokeLinejoin="round" d="M14.74 9l-.346 9m-4.788 0L9.26 9m9.968-3.21c.342.052.682.107 1.022.166m-1.022-.165L18.16 19.673a2.25 2.25 0 01-2.244 2.077H8.084a2.25 2.25 0 01-2.244-2.077L4.772 5.79m14.456 0a48.108 48.108 0 00-3.478-.397m-12 .562c.34-.059.68-.114 1.022-.165m0 0a48.11 48.11 0 013.478-.397m7.5 0v-.916c0-1.18-.91-2.164-2.09-2.201a51.964 51.964 0 00-3.32 0c-1.18.037-2.09 1.022-2.09 2.201v.916m7.5 0a48.667 48.667 0 00-7.5 0" />
|
|
316
369
|
</svg>
|
|
317
370
|
);
|
|
318
371
|
}
|
|
319
372
|
|
|
320
|
-
export function GridIcon({ className }: IconProps) {
|
|
373
|
+
export function GridIcon({ className, style }: IconProps) {
|
|
321
374
|
return (
|
|
322
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
375
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
323
376
|
<path strokeLinecap="round" strokeLinejoin="round" d="M3.75 6A2.25 2.25 0 016 3.75h2.25A2.25 2.25 0 0110.5 6v2.25a2.25 2.25 0 01-2.25 2.25H6a2.25 2.25 0 01-2.25-2.25V6zM3.75 15.75A2.25 2.25 0 016 13.5h2.25a2.25 2.25 0 012.25 2.25V18a2.25 2.25 0 01-2.25 2.25H6A2.25 2.25 0 013.75 18v-2.25zM13.5 6a2.25 2.25 0 012.25-2.25H18A2.25 2.25 0 0120.25 6v2.25A2.25 2.25 0 0118 10.5h-2.25a2.25 2.25 0 01-2.25-2.25V6zM13.5 15.75a2.25 2.25 0 012.25-2.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-2.25A2.25 2.25 0 0113.5 18v-2.25z" />
|
|
324
377
|
</svg>
|
|
325
378
|
);
|
|
326
379
|
}
|
|
327
380
|
|
|
328
|
-
export function ListIcon({ className }: IconProps) {
|
|
381
|
+
export function ListIcon({ className, style }: IconProps) {
|
|
329
382
|
return (
|
|
330
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
383
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
331
384
|
<path strokeLinecap="round" strokeLinejoin="round" d="M3.75 12h16.5m-16.5 3.75h16.5M3.75 19.5h16.5M5.625 4.5h12.75a1.875 1.875 0 010 3.75H5.625a1.875 1.875 0 010-3.75z" />
|
|
332
385
|
</svg>
|
|
333
386
|
);
|
|
334
387
|
}
|
|
335
388
|
|
|
336
389
|
// Export & Download
|
|
337
|
-
export function DownloadIcon({ className }: IconProps) {
|
|
390
|
+
export function DownloadIcon({ className, style }: IconProps) {
|
|
338
391
|
return (
|
|
339
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
392
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
340
393
|
<path strokeLinecap="round" strokeLinejoin="round" d="M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5M16.5 12L12 16.5m0 0L7.5 12m4.5 4.5V3" />
|
|
341
394
|
</svg>
|
|
342
395
|
);
|
|
343
396
|
}
|
|
344
397
|
|
|
345
|
-
export function ExportIcon({ className }: IconProps) {
|
|
398
|
+
export function ExportIcon({ className, style }: IconProps) {
|
|
346
399
|
return (
|
|
347
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
400
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
348
401
|
<path strokeLinecap="round" strokeLinejoin="round" d="M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5" />
|
|
349
402
|
</svg>
|
|
350
403
|
);
|
|
351
404
|
}
|
|
352
405
|
|
|
353
406
|
// Debugging Icons
|
|
354
|
-
export function BugIcon({ className }: IconProps) {
|
|
407
|
+
export function BugIcon({ className, style }: IconProps) {
|
|
355
408
|
return (
|
|
356
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
409
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
357
410
|
<path strokeLinecap="round" strokeLinejoin="round" d="M12 12.75c1.148 0 2.278.08 3.383.237 1.037.146 1.866.966 1.866 2.013 0 3.728-2.35 6.75-5.25 6.75S6.75 18.728 6.75 15c0-1.046.83-1.867 1.866-2.013A24.204 24.204 0 0112 12.75zm0 0c2.883 0 5.647.508 8.207 1.44a23.91 23.91 0 01-1.152 6.06M12 12.75c-2.883 0-5.647.508-8.208 1.44a23.91 23.91 0 001.153 6.06M12 12.75V8.25m0-4.5v4.5m0-4.5a2.25 2.25 0 00-2.25 2.25v.386c0 .507.168.977.45 1.357l.393.524a2.25 2.25 0 003.814 0l.393-.524c.282-.38.45-.85.45-1.357V6a2.25 2.25 0 00-2.25-2.25z" />
|
|
358
411
|
</svg>
|
|
359
412
|
);
|
|
360
413
|
}
|
|
361
414
|
|
|
362
|
-
export function PauseIcon({ className }: IconProps) {
|
|
415
|
+
export function PauseIcon({ className, style }: IconProps) {
|
|
363
416
|
return (
|
|
364
|
-
<svg className={className} fill="currentColor" viewBox="0 0 24 24">
|
|
417
|
+
<svg className={className} style={style} fill="currentColor" viewBox="0 0 24 24">
|
|
365
418
|
<path d="M6 4h4v16H6V4zm8 0h4v16h-4V4z" />
|
|
366
419
|
</svg>
|
|
367
420
|
);
|
|
368
421
|
}
|
|
369
422
|
|
|
370
|
-
export function StepOverIcon({ className }: IconProps) {
|
|
423
|
+
export function StepOverIcon({ className, style }: IconProps) {
|
|
371
424
|
return (
|
|
372
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
425
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
373
426
|
<path strokeLinecap="round" strokeLinejoin="round" d="M3 12h12m0 0l-4-4m4 4l-4 4m6-10v4m0 0v4m0-4h4" />
|
|
374
427
|
</svg>
|
|
375
428
|
);
|
|
376
429
|
}
|
|
377
430
|
|
|
378
|
-
export function StepIntoIcon({ className }: IconProps) {
|
|
431
|
+
export function StepIntoIcon({ className, style }: IconProps) {
|
|
379
432
|
return (
|
|
380
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
433
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
381
434
|
<path strokeLinecap="round" strokeLinejoin="round" d="M12 3v12m0 0l-4-4m4 4l4-4m-4 6v3" />
|
|
382
435
|
</svg>
|
|
383
436
|
);
|
|
384
437
|
}
|
|
385
438
|
|
|
386
|
-
export function ContinueIcon({ className }: IconProps) {
|
|
439
|
+
export function ContinueIcon({ className, style }: IconProps) {
|
|
387
440
|
return (
|
|
388
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
441
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
389
442
|
<path strokeLinecap="round" strokeLinejoin="round" d="M5.25 5.653c0-.856.917-1.398 1.667-.986l11.54 6.348a1.125 1.125 0 010 1.971l-11.54 6.347a1.125 1.125 0 01-1.667-.985V5.653z" />
|
|
390
443
|
</svg>
|
|
391
444
|
);
|
|
392
445
|
}
|
|
393
446
|
|
|
394
|
-
export function BreakpointIcon({ className }: IconProps) {
|
|
447
|
+
export function BreakpointIcon({ className, style }: IconProps) {
|
|
395
448
|
return (
|
|
396
|
-
<svg className={className} fill="currentColor" viewBox="0 0 24 24">
|
|
449
|
+
<svg className={className} style={style} fill="currentColor" viewBox="0 0 24 24">
|
|
397
450
|
<circle cx="12" cy="12" r="6" />
|
|
398
451
|
</svg>
|
|
399
452
|
);
|
|
400
453
|
}
|
|
401
454
|
|
|
402
|
-
export function BreakpointEmptyIcon({ className }: IconProps) {
|
|
455
|
+
export function BreakpointEmptyIcon({ className, style }: IconProps) {
|
|
403
456
|
return (
|
|
404
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
457
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
405
458
|
<circle cx="12" cy="12" r="5" />
|
|
406
459
|
</svg>
|
|
407
460
|
);
|
|
408
461
|
}
|
|
409
462
|
|
|
410
|
-
export function DevicesIcon({ className }: IconProps) {
|
|
463
|
+
export function DevicesIcon({ className, style }: IconProps) {
|
|
411
464
|
return (
|
|
412
|
-
<svg className={className} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
465
|
+
<svg className={className} style={style} fill="none" viewBox="0 0 24 24" stroke="currentColor" strokeWidth={1.5}>
|
|
413
466
|
<path strokeLinecap="round" strokeLinejoin="round" d="M10.5 19.5h3m-6.75 2.25h10.5a2.25 2.25 0 002.25-2.25v-15a2.25 2.25 0 00-2.25-2.25H6.75A2.25 2.25 0 004.5 4.5v15a2.25 2.25 0 002.25 2.25z" />
|
|
414
467
|
<path strokeLinecap="round" strokeLinejoin="round" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z" />
|
|
415
468
|
</svg>
|