@manojkmfsi/monodog 1.1.37 → 1.1.39

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.
Files changed (200) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/monodog-dashboard/dist/assets/index-C08ciT3A.js +20 -0
  3. package/monodog-dashboard/dist/assets/index-C08ciT3A.js.map +1 -0
  4. package/monodog-dashboard/dist/assets/index-Dc2vaUOq.css +1 -0
  5. package/monodog-dashboard/{index.html → dist/index.html} +2 -1
  6. package/monodog-dashboard/package.json +0 -3
  7. package/package.json +2 -2
  8. package/monodog-dashboard/THEME_SYSTEM.md +0 -309
  9. package/monodog-dashboard/__tests__/AuthCallbackPage.test.ts +0 -138
  10. package/monodog-dashboard/__tests__/ConfigInspector.test.ts +0 -33
  11. package/monodog-dashboard/__tests__/DependencyGraph.test.ts +0 -72
  12. package/monodog-dashboard/__tests__/HealthStatus.test.ts +0 -69
  13. package/monodog-dashboard/__tests__/LoginPage.test.ts +0 -79
  14. package/monodog-dashboard/__tests__/PackageDetail.test.ts +0 -22
  15. package/monodog-dashboard/__tests__/ReleaseManager.test.tsx +0 -510
  16. package/monodog-dashboard/__tests__/api-client.test.ts +0 -475
  17. package/monodog-dashboard/__tests__/components.test.ts +0 -117
  18. package/monodog-dashboard/__tests__/dashboard.utils.test.ts +0 -144
  19. package/monodog-dashboard/__tests__/dependency.utils.test.ts +0 -125
  20. package/monodog-dashboard/__tests__/monorepoService.unit.test.ts +0 -103
  21. package/monodog-dashboard/__tests__/packages.utils.test.ts +0 -37
  22. package/monodog-dashboard/__tests__/pages.test.ts +0 -103
  23. package/monodog-dashboard/package-lock.json +0 -4587
  24. package/monodog-dashboard/postcss.config.js +0 -6
  25. package/monodog-dashboard/src/components/App.tsx +0 -36
  26. package/monodog-dashboard/src/components/LoadingState.tsx +0 -18
  27. package/monodog-dashboard/src/components/PermissionGuard.tsx +0 -92
  28. package/monodog-dashboard/src/components/ProtectedRoute.tsx +0 -24
  29. package/monodog-dashboard/src/components/configuration/Configuration.tsx +0 -91
  30. package/monodog-dashboard/src/components/configuration/components/BrandingSettings.tsx +0 -128
  31. package/monodog-dashboard/src/components/configuration/components/ConfigurationHeader.tsx +0 -34
  32. package/monodog-dashboard/src/components/configuration/components/ConfigurationModal.tsx +0 -20
  33. package/monodog-dashboard/src/components/configuration/components/ConfigurationTabs.tsx +0 -30
  34. package/monodog-dashboard/src/components/configuration/components/FeatureToggles.tsx +0 -66
  35. package/monodog-dashboard/src/components/configuration/components/GeneralSettings.tsx +0 -77
  36. package/monodog-dashboard/src/components/configuration/components/MonorepoSettings.tsx +0 -179
  37. package/monodog-dashboard/src/components/configuration/components/index.ts +0 -8
  38. package/monodog-dashboard/src/components/configuration/types/config.types.ts +0 -52
  39. package/monodog-dashboard/src/components/configuration/utils/config.utils.tsx +0 -115
  40. package/monodog-dashboard/src/components/main-dashboard/Dashboard.tsx +0 -242
  41. package/monodog-dashboard/src/components/main-dashboard/Layout.tsx +0 -112
  42. package/monodog-dashboard/src/components/main-dashboard/components/Header.tsx +0 -47
  43. package/monodog-dashboard/src/components/main-dashboard/components/PackageDistribution.tsx +0 -35
  44. package/monodog-dashboard/src/components/main-dashboard/components/PackageSearchFilter.tsx +0 -47
  45. package/monodog-dashboard/src/components/main-dashboard/components/PackageTable.tsx +0 -87
  46. package/monodog-dashboard/src/components/main-dashboard/components/QuickActions.tsx +0 -60
  47. package/monodog-dashboard/src/components/main-dashboard/components/StatsCards.tsx +0 -73
  48. package/monodog-dashboard/src/components/main-dashboard/components/index.ts +0 -7
  49. package/monodog-dashboard/src/components/main-dashboard/types/dashboard.types.ts +0 -33
  50. package/monodog-dashboard/src/components/main-dashboard/utils/dashboard.utils.tsx +0 -70
  51. package/monodog-dashboard/src/components/modules/ci-integration/CIIntegration.tsx +0 -277
  52. package/monodog-dashboard/src/components/modules/ci-integration/components/BuildDetails.tsx +0 -228
  53. package/monodog-dashboard/src/components/modules/ci-integration/components/BuildList.tsx +0 -212
  54. package/monodog-dashboard/src/components/modules/ci-integration/components/BuildOverview.tsx +0 -158
  55. package/monodog-dashboard/src/components/modules/ci-integration/components/CIIntegrationHeader.tsx +0 -38
  56. package/monodog-dashboard/src/components/modules/ci-integration/components/ErrorState.tsx +0 -25
  57. package/monodog-dashboard/src/components/modules/ci-integration/components/LoadingState.tsx +0 -16
  58. package/monodog-dashboard/src/components/modules/ci-integration/components/PipelineStatus.tsx +0 -223
  59. package/monodog-dashboard/src/components/modules/ci-integration/components/index.ts +0 -8
  60. package/monodog-dashboard/src/components/modules/ci-integration/types/ci.types.ts +0 -97
  61. package/monodog-dashboard/src/components/modules/ci-integration/utils/ci.utils.tsx +0 -264
  62. package/monodog-dashboard/src/components/modules/config-inspector/ConfigInspector.tsx +0 -324
  63. package/monodog-dashboard/src/components/modules/config-inspector/components/ConfigEditor.tsx +0 -93
  64. package/monodog-dashboard/src/components/modules/config-inspector/components/ConfigInspectorHeader.tsx +0 -36
  65. package/monodog-dashboard/src/components/modules/config-inspector/components/ConfigPreview.tsx +0 -89
  66. package/monodog-dashboard/src/components/modules/config-inspector/components/ConfigSidebar.tsx +0 -141
  67. package/monodog-dashboard/src/components/modules/config-inspector/components/ConfigToolbar.tsx +0 -184
  68. package/monodog-dashboard/src/components/modules/config-inspector/components/ErrorState.tsx +0 -25
  69. package/monodog-dashboard/src/components/modules/config-inspector/components/LoadingState.tsx +0 -16
  70. package/monodog-dashboard/src/components/modules/config-inspector/components/ValidationPanel.tsx +0 -155
  71. package/monodog-dashboard/src/components/modules/config-inspector/components/index.ts +0 -9
  72. package/monodog-dashboard/src/components/modules/config-inspector/types/config.types.ts +0 -100
  73. package/monodog-dashboard/src/components/modules/config-inspector/utils/config.utils.tsx +0 -704
  74. package/monodog-dashboard/src/components/modules/dependency-graph/DependencyGraph.tsx +0 -224
  75. package/monodog-dashboard/src/components/modules/dependency-graph/components/CircularDependencies.tsx +0 -177
  76. package/monodog-dashboard/src/components/modules/dependency-graph/components/DependencyDetails.tsx +0 -192
  77. package/monodog-dashboard/src/components/modules/dependency-graph/components/DependencyGraphHeader.tsx +0 -30
  78. package/monodog-dashboard/src/components/modules/dependency-graph/components/DependencyList.tsx +0 -177
  79. package/monodog-dashboard/src/components/modules/dependency-graph/components/ErrorState.tsx +0 -25
  80. package/monodog-dashboard/src/components/modules/dependency-graph/components/GraphLegend.tsx +0 -89
  81. package/monodog-dashboard/src/components/modules/dependency-graph/components/GraphStats.tsx +0 -141
  82. package/monodog-dashboard/src/components/modules/dependency-graph/components/GraphToolbar.tsx +0 -107
  83. package/monodog-dashboard/src/components/modules/dependency-graph/components/GraphVisualization.tsx +0 -179
  84. package/monodog-dashboard/src/components/modules/dependency-graph/components/LoadingState.tsx +0 -16
  85. package/monodog-dashboard/src/components/modules/dependency-graph/components/index.ts +0 -11
  86. package/monodog-dashboard/src/components/modules/dependency-graph/types/dependency.types.ts +0 -105
  87. package/monodog-dashboard/src/components/modules/dependency-graph/utils/dependency.utils.tsx +0 -433
  88. package/monodog-dashboard/src/components/modules/health-status/HealthStatus.tsx +0 -739
  89. package/monodog-dashboard/src/components/modules/health-status/components/ErrorState.tsx +0 -25
  90. package/monodog-dashboard/src/components/modules/health-status/components/HealthActions.tsx +0 -122
  91. package/monodog-dashboard/src/components/modules/health-status/components/HealthAlerts.tsx +0 -151
  92. package/monodog-dashboard/src/components/modules/health-status/components/HealthMetrics.tsx +0 -132
  93. package/monodog-dashboard/src/components/modules/health-status/components/HealthStatusHeader.tsx +0 -30
  94. package/monodog-dashboard/src/components/modules/health-status/components/LoadingState.tsx +0 -16
  95. package/monodog-dashboard/src/components/modules/health-status/components/OverallHealthScore.tsx +0 -122
  96. package/monodog-dashboard/src/components/modules/health-status/components/PackageHealthList.tsx +0 -195
  97. package/monodog-dashboard/src/components/modules/health-status/types/health.types.ts +0 -80
  98. package/monodog-dashboard/src/components/modules/health-status/utils/health.utils.tsx +0 -220
  99. package/monodog-dashboard/src/components/modules/packages/PackageDetail.tsx +0 -255
  100. package/monodog-dashboard/src/components/modules/packages/PackagesOverview.tsx +0 -166
  101. package/monodog-dashboard/src/components/modules/packages/components/ConfigurationTab.tsx +0 -311
  102. package/monodog-dashboard/src/components/modules/packages/components/DependenciesTab.tsx +0 -154
  103. package/monodog-dashboard/src/components/modules/packages/components/ErrorState.tsx +0 -21
  104. package/monodog-dashboard/src/components/modules/packages/components/HealthMetricsTab.tsx +0 -275
  105. package/monodog-dashboard/src/components/modules/packages/components/LoadingState.tsx +0 -14
  106. package/monodog-dashboard/src/components/modules/packages/components/PackageDetailHeader.tsx +0 -167
  107. package/monodog-dashboard/src/components/modules/packages/components/PackageDetailTabs.tsx +0 -49
  108. package/monodog-dashboard/src/components/modules/packages/components/PackageStats.tsx +0 -70
  109. package/monodog-dashboard/src/components/modules/packages/components/PackagesTable.tsx +0 -163
  110. package/monodog-dashboard/src/components/modules/packages/components/RecentCommitsTab.tsx +0 -90
  111. package/monodog-dashboard/src/components/modules/packages/components/SearchAndFilter.tsx +0 -66
  112. package/monodog-dashboard/src/components/modules/packages/components/index.ts +0 -12
  113. package/monodog-dashboard/src/components/modules/packages/types/packages.types.ts +0 -101
  114. package/monodog-dashboard/src/components/modules/packages/utils/packages.utils.tsx +0 -178
  115. package/monodog-dashboard/src/components/pipeline/JobsList.tsx +0 -83
  116. package/monodog-dashboard/src/components/pipeline/LogViewer.tsx +0 -392
  117. package/monodog-dashboard/src/components/pipeline/PipelineManager.tsx +0 -562
  118. package/monodog-dashboard/src/components/pipeline/WorkflowRunsList.tsx +0 -272
  119. package/monodog-dashboard/src/components/pipeline/WorkflowTrigger.tsx +0 -182
  120. package/monodog-dashboard/src/components/pipeline/utils/pipeline.utils.tsx +0 -11
  121. package/monodog-dashboard/src/components/publish-control/PublishControl.tsx +0 -229
  122. package/monodog-dashboard/src/components/publish-control/components/ChangelogViewer.tsx +0 -103
  123. package/monodog-dashboard/src/components/publish-control/components/ErrorState.tsx +0 -23
  124. package/monodog-dashboard/src/components/publish-control/components/LoadingState.tsx +0 -10
  125. package/monodog-dashboard/src/components/publish-control/components/PackageReleaseTable.tsx +0 -140
  126. package/monodog-dashboard/src/components/publish-control/components/PublishHeader.tsx +0 -30
  127. package/monodog-dashboard/src/components/publish-control/components/QuickActionCards.tsx +0 -56
  128. package/monodog-dashboard/src/components/publish-control/components/ReleaseSchedule.tsx +0 -104
  129. package/monodog-dashboard/src/components/publish-control/components/index.ts +0 -8
  130. package/monodog-dashboard/src/components/publish-control/types/publish.types.ts +0 -39
  131. package/monodog-dashboard/src/components/publish-control/utils/publish.utils.ts +0 -59
  132. package/monodog-dashboard/src/components/release-manager/ReleaseManager.tsx +0 -342
  133. package/monodog-dashboard/src/components/release-manager/components/ChangesetPreview.tsx +0 -123
  134. package/monodog-dashboard/src/components/release-manager/components/ErrorState.tsx +0 -38
  135. package/monodog-dashboard/src/components/release-manager/components/LoadingState.tsx +0 -18
  136. package/monodog-dashboard/src/components/release-manager/components/PackageSelector.tsx +0 -137
  137. package/monodog-dashboard/src/components/release-manager/components/PublishConfirmation.tsx +0 -150
  138. package/monodog-dashboard/src/components/release-manager/components/ReleaseValidation.tsx +0 -138
  139. package/monodog-dashboard/src/components/release-manager/components/VersionBumpSelector.tsx +0 -142
  140. package/monodog-dashboard/src/components/release-manager/types/index.ts +0 -9
  141. package/monodog-dashboard/src/components/release-manager/types/release-manager.types.ts +0 -29
  142. package/monodog-dashboard/src/components/setup-guide/SetupGuide.tsx +0 -96
  143. package/monodog-dashboard/src/components/setup-guide/components/SetupHeader.tsx +0 -24
  144. package/monodog-dashboard/src/components/setup-guide/components/SetupModal.tsx +0 -24
  145. package/monodog-dashboard/src/components/setup-guide/components/SetupProgress.tsx +0 -29
  146. package/monodog-dashboard/src/components/setup-guide/components/StepContent.tsx +0 -272
  147. package/monodog-dashboard/src/components/setup-guide/components/StepNavigation.tsx +0 -62
  148. package/monodog-dashboard/src/components/setup-guide/components/index.ts +0 -6
  149. package/monodog-dashboard/src/components/setup-guide/types/setup.types.ts +0 -38
  150. package/monodog-dashboard/src/components/setup-guide/utils/setup.utils.ts +0 -79
  151. package/monodog-dashboard/src/constants/api-config.ts +0 -81
  152. package/monodog-dashboard/src/constants/index.ts +0 -9
  153. package/monodog-dashboard/src/constants/messages.ts +0 -40
  154. package/monodog-dashboard/src/icons/heroicons.ts +0 -65
  155. package/monodog-dashboard/src/icons/index.tsx +0 -1788
  156. package/monodog-dashboard/src/index.css +0 -175
  157. package/monodog-dashboard/src/main.tsx +0 -9
  158. package/monodog-dashboard/src/pages/AuthCallbackPage.tsx +0 -103
  159. package/monodog-dashboard/src/pages/CIPage.tsx +0 -6
  160. package/monodog-dashboard/src/pages/ConfigPage.tsx +0 -6
  161. package/monodog-dashboard/src/pages/DashboardPage.tsx +0 -6
  162. package/monodog-dashboard/src/pages/DependenciesPage.tsx +0 -6
  163. package/monodog-dashboard/src/pages/HealthPage.tsx +0 -6
  164. package/monodog-dashboard/src/pages/LoginPage.tsx +0 -77
  165. package/monodog-dashboard/src/pages/PackageDetailPage.tsx +0 -6
  166. package/monodog-dashboard/src/pages/PackagesPage.tsx +0 -6
  167. package/monodog-dashboard/src/pages/PipelinePage.tsx +0 -22
  168. package/monodog-dashboard/src/pages/PublishPage.tsx +0 -6
  169. package/monodog-dashboard/src/pages/ReleaseManagerPage.tsx +0 -9
  170. package/monodog-dashboard/src/pages/index.ts +0 -28
  171. package/monodog-dashboard/src/routes/AppRouter.tsx +0 -89
  172. package/monodog-dashboard/src/routes/AppRouterPages.tsx +0 -56
  173. package/monodog-dashboard/src/routes/index.ts +0 -10
  174. package/monodog-dashboard/src/routes/routes.config.ts +0 -94
  175. package/monodog-dashboard/src/services/api/api-client.ts +0 -189
  176. package/monodog-dashboard/src/services/api/index.ts +0 -30
  177. package/monodog-dashboard/src/services/api/types/api.types.ts +0 -63
  178. package/monodog-dashboard/src/services/auth-context.tsx +0 -344
  179. package/monodog-dashboard/src/services/monorepoService.ts +0 -733
  180. package/monodog-dashboard/src/services/permission-context.tsx +0 -193
  181. package/monodog-dashboard/src/theme/COMPONENT_UPDATES.md +0 -273
  182. package/monodog-dashboard/src/theme/INTEGRATION.md +0 -381
  183. package/monodog-dashboard/src/theme/README.md +0 -239
  184. package/monodog-dashboard/src/theme/examples.tsx +0 -386
  185. package/monodog-dashboard/src/theme/index.ts +0 -402
  186. package/monodog-dashboard/src/theme/migration-guide.md +0 -335
  187. package/monodog-dashboard/src/types/auth-context.types.ts +0 -51
  188. package/monodog-dashboard/src/types/component.types.ts +0 -96
  189. package/monodog-dashboard/src/types/icons.types.ts +0 -13
  190. package/monodog-dashboard/src/types/index.ts +0 -68
  191. package/monodog-dashboard/src/types/monorepo-service.types.ts +0 -53
  192. package/monodog-dashboard/src/types/permission-context.types.ts +0 -49
  193. package/monodog-dashboard/src/types/pipeline.types.ts +0 -89
  194. package/monodog-dashboard/src/types/routes.types.ts +0 -12
  195. package/monodog-dashboard/src/utils/cookies.ts +0 -47
  196. package/monodog-dashboard/tailwind.config.js +0 -68
  197. package/monodog-dashboard/tsconfig.app.json +0 -14
  198. package/monodog-dashboard/tsconfig.json +0 -17
  199. package/monodog-dashboard/tsconfig.node.json +0 -10
  200. package/monodog-dashboard/vite.config.ts +0 -9
@@ -1,1788 +0,0 @@
1
- import type { IconVariant, IconProps } from '../types/icons.types';
2
-
3
- const defaultClassName = 'w-6 h-6';
4
-
5
- // Home Icon
6
- export const HomeIcon: React.FC<IconProps> = ({
7
- className = defaultClassName,
8
- width = 24,
9
- height = 24,
10
- strokeWidth = 1.5,
11
- variant = 'outline',
12
- }) => {
13
- if (variant === 'solid') {
14
- return (
15
- <svg
16
- xmlns="http://www.w3.org/2000/svg"
17
- viewBox="0 0 24 24"
18
- fill="currentColor"
19
- className={className}
20
- width={width}
21
- height={height}
22
- >
23
- <path d="M10.5 3.75H5.625a1.875 1.875 0 0 0-1.875 1.875V20.25a1.875 1.875 0 0 0 1.875 1.875h12.75a1.875 1.875 0 0 0 1.875-1.875V5.625a1.875 1.875 0 0 0-1.875-1.875H13.5m-3 0V3m0 .75H9m1.5 0h1.5m-9 6.75h12m-12 4.5h12" />
24
- </svg>
25
- );
26
- }
27
- return (
28
- <svg
29
- xmlns="http://www.w3.org/2000/svg"
30
- fill="none"
31
- viewBox="0 0 24 24"
32
- strokeWidth={strokeWidth}
33
- stroke="currentColor"
34
- className={className}
35
- width={width}
36
- height={height}
37
- >
38
- <path
39
- strokeLinecap="round"
40
- strokeLinejoin="round"
41
- d="M2.25 12l8.954-8.955c.44-.439 1.152-.439 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25"
42
- />
43
- </svg>
44
- );
45
- };
46
-
47
- // Cube Icon
48
- export const CubeIcon: React.FC<IconProps> = ({
49
- className = defaultClassName,
50
- width = 24,
51
- height = 24,
52
- strokeWidth = 1.5,
53
- variant = 'outline',
54
- }) => {
55
- if (variant === 'solid') {
56
- return (
57
- <svg
58
- xmlns="http://www.w3.org/2000/svg"
59
- viewBox="0 0 24 24"
60
- fill="currentColor"
61
- className={className}
62
- width={width}
63
- height={height}
64
- >
65
- <path d="m21 7.5-9-5.25L3 7.5m18 0-9 5.25m9-5.25v9l-9 5.25M3 7.5l9 5.25M3 7.5v9l9 5.25m0-9v9"></path>
66
- </svg>
67
- );
68
- }
69
- return (
70
- <svg
71
- xmlns="http://www.w3.org/2000/svg"
72
- fill="none"
73
- viewBox="0 0 24 24"
74
- strokeWidth={strokeWidth}
75
- stroke="currentColor"
76
- className={className}
77
- width={width}
78
- height={height}
79
- >
80
- <path d="m21 7.5-9-5.25L3 7.5m18 0-9 5.25m9-5.25v9l-9 5.25M3 7.5l9 5.25M3 7.5v9l9 5.25m0-9v9"></path>
81
- </svg>
82
- );
83
- };
84
-
85
- // Check Icon
86
- export const CheckIcon: React.FC<IconProps> = ({
87
- className = defaultClassName,
88
- width = 24,
89
- height = 24,
90
- strokeWidth = 1.5,
91
- variant = 'outline',
92
- }) => {
93
- if (variant === 'solid') {
94
- return (
95
- <svg
96
- xmlns="http://www.w3.org/2000/svg"
97
- viewBox="0 0 24 24"
98
- fill="currentColor"
99
- className={className}
100
- width={width}
101
- height={height}
102
- >
103
- <path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" />
104
- </svg>
105
- );
106
- }
107
- return (
108
- <svg
109
- xmlns="http://www.w3.org/2000/svg"
110
- fill="none"
111
- viewBox="0 0 24 24"
112
- strokeWidth={strokeWidth}
113
- stroke="currentColor"
114
- className={className}
115
- width={width}
116
- height={height}
117
- >
118
- <path
119
- strokeLinecap="round"
120
- strokeLinejoin="round"
121
- d="M4.5 12.75l6 6 9-13.5"
122
- />
123
- </svg>
124
- );
125
- };
126
-
127
- // X Mark Icon
128
- export const XMarkIcon: React.FC<IconProps> = ({
129
- className = defaultClassName,
130
- width = 24,
131
- height = 24,
132
- strokeWidth = 1.5,
133
- variant = 'outline',
134
- }) => {
135
- if (variant === 'solid') {
136
- return (
137
- <svg
138
- xmlns="http://www.w3.org/2000/svg"
139
- viewBox="0 0 24 24"
140
- fill="currentColor"
141
- className={className}
142
- width={width}
143
- height={height}
144
- >
145
- <path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" />
146
- </svg>
147
- );
148
- }
149
- return (
150
- <svg
151
- xmlns="http://www.w3.org/2000/svg"
152
- fill="none"
153
- viewBox="0 0 24 24"
154
- strokeWidth={strokeWidth}
155
- stroke="currentColor"
156
- className={className}
157
- width={width}
158
- height={height}
159
- >
160
- <path
161
- strokeLinecap="round"
162
- strokeLinejoin="round"
163
- d="M6 18L18 6M6 6l12 12"
164
- />
165
- </svg>
166
- );
167
- };
168
-
169
- // Eye Icon
170
- export const EyeIcon: React.FC<IconProps> = ({
171
- className = defaultClassName,
172
- width = 24,
173
- height = 24,
174
- strokeWidth = 1.5,
175
- variant = 'outline',
176
- }) => {
177
- if (variant === 'solid') {
178
- return (
179
- <svg
180
- xmlns="http://www.w3.org/2000/svg"
181
- viewBox="0 0 24 24"
182
- fill="currentColor"
183
- className={className}
184
- width={width}
185
- height={height}
186
- >
187
- <path d="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z" />
188
- </svg>
189
- );
190
- }
191
- return (
192
- <svg
193
- xmlns="http://www.w3.org/2000/svg"
194
- fill="none"
195
- viewBox="0 0 24 24"
196
- strokeWidth={strokeWidth}
197
- stroke="currentColor"
198
- className={className}
199
- width={width}
200
- height={height}
201
- >
202
- <path
203
- strokeLinecap="round"
204
- strokeLinejoin="round"
205
- d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"
206
- />
207
- <path
208
- strokeLinecap="round"
209
- strokeLinejoin="round"
210
- d="M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"
211
- />
212
- </svg>
213
- );
214
- };
215
-
216
- // Eye Slash Icon
217
- export const EyeSlashIcon: React.FC<IconProps> = ({
218
- className = defaultClassName,
219
- width = 24,
220
- height = 24,
221
- strokeWidth = 1.5,
222
- variant = 'outline',
223
- }) => {
224
- if (variant === 'solid') {
225
- return (
226
- <svg
227
- xmlns="http://www.w3.org/2000/svg"
228
- viewBox="0 0 24 24"
229
- fill="currentColor"
230
- className={className}
231
- width={width}
232
- height={height}
233
- >
234
- <path d="M3.98 8.223A10.477 10.477 0 0 0 1.934 12c1.292 4.338 5.31 7.5 10.066 7.5.996 0 1.956-.11 2.895-.327m4.326-3.494a11.952 11.952 0 0 0 3.464-5.192c-1.292-4.338-5.31-7.5-10.066-7.5-.996 0-1.956.11-2.895.327m0 0a11.966 11.966 0 0 0-4.576 3.84m4.576-3.84a11.966 11.966 0 0 1 4.576 3.84M6.502 16.503a3 3 0 1 1 4.243-4.243m-4.243 4.243L3.75 19.75" />
235
- </svg>
236
- );
237
- }
238
- return (
239
- <svg
240
- xmlns="http://www.w3.org/2000/svg"
241
- fill="none"
242
- viewBox="0 0 24 24"
243
- strokeWidth={strokeWidth}
244
- stroke="currentColor"
245
- className={className}
246
- width={width}
247
- height={height}
248
- >
249
- <path
250
- strokeLinecap="round"
251
- strokeLinejoin="round"
252
- d="M3.98 8.223A10.477 10.477 0 001.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0112 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 01-4.293 5.774M6.228 6.228L3 3m3.228 3.228l3.65 3.65m7.894 7.894L21 21m-3.228-3.228l-3.65-3.65m0 0a3 3 0 10-4.243-4.243m4.242 4.242L9.88 9.88"
253
- />
254
- </svg>
255
- );
256
- };
257
-
258
- // Pencil Icon
259
- export const PencilIcon: React.FC<IconProps> = ({
260
- className = defaultClassName,
261
- width = 24,
262
- height = 24,
263
- strokeWidth = 1.5,
264
- variant = 'outline',
265
- }) => {
266
- if (variant === 'solid') {
267
- return (
268
- <svg
269
- xmlns="http://www.w3.org/2000/svg"
270
- viewBox="0 0 24 24"
271
- fill="currentColor"
272
- className={className}
273
- width={width}
274
- height={height}
275
- >
276
- <path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25z" />
277
- <path d="M20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z" />
278
- </svg>
279
- );
280
- }
281
- return (
282
- <svg
283
- xmlns="http://www.w3.org/2000/svg"
284
- fill="none"
285
- viewBox="0 0 24 24"
286
- strokeWidth={strokeWidth}
287
- stroke="currentColor"
288
- className={className}
289
- width={width}
290
- height={height}
291
- >
292
- <path
293
- strokeLinecap="round"
294
- strokeLinejoin="round"
295
- 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"
296
- />
297
- </svg>
298
- );
299
- };
300
-
301
- // Play Icon
302
- export const PlayIcon: React.FC<IconProps> = ({
303
- className = defaultClassName,
304
- width = 24,
305
- height = 24,
306
- strokeWidth = 1.5,
307
- variant = 'outline',
308
- }) => {
309
- if (variant === 'solid') {
310
- return (
311
- <svg
312
- xmlns="http://www.w3.org/2000/svg"
313
- viewBox="0 0 24 24"
314
- fill="currentColor"
315
- className={className}
316
- width={width}
317
- height={height}
318
- >
319
- <path d="M8 5v14l11-7z" />
320
- </svg>
321
- );
322
- }
323
- return (
324
- <svg
325
- xmlns="http://www.w3.org/2000/svg"
326
- fill="none"
327
- viewBox="0 0 24 24"
328
- strokeWidth={strokeWidth}
329
- stroke="currentColor"
330
- className={className}
331
- width={width}
332
- height={height}
333
- >
334
- <path
335
- strokeLinecap="round"
336
- strokeLinejoin="round"
337
- d="M5.25 5.653c0-.856.917-1.398 1.591-.784l12 9c.54.406.54 1.358 0 1.764l-12 9c-.674.614-1.591.07-1.591-.784V5.653z"
338
- />
339
- </svg>
340
- );
341
- };
342
-
343
- // Plus Icon
344
- export const PlusIcon: React.FC<IconProps> = ({
345
- className = defaultClassName,
346
- width = 24,
347
- height = 24,
348
- strokeWidth = 1.5,
349
- variant = 'outline',
350
- }) => {
351
- if (variant === 'solid') {
352
- return (
353
- <svg
354
- xmlns="http://www.w3.org/2000/svg"
355
- viewBox="0 0 24 24"
356
- fill="currentColor"
357
- className={className}
358
- width={width}
359
- height={height}
360
- >
361
- <path d="M5.25 11.25a.75.75 0 0 0 0 1.5h6.75v6.75a.75.75 0 0 0 1.5 0v-6.75h6.75a.75.75 0 0 0 0-1.5h-6.75V4.5a.75.75 0 0 0-1.5 0v6.75H5.25Z" />
362
- </svg>
363
- );
364
- }
365
- return (
366
- <svg
367
- xmlns="http://www.w3.org/2000/svg"
368
- fill="none"
369
- viewBox="0 0 24 24"
370
- strokeWidth={strokeWidth}
371
- stroke="currentColor"
372
- className={className}
373
- width={width}
374
- height={height}
375
- >
376
- <path
377
- strokeLinecap="round"
378
- strokeLinejoin="round"
379
- d="M12 4.5v15m7.5-7.5h-15"
380
- />
381
- </svg>
382
- );
383
- };
384
-
385
- // Minus Icon
386
- export const MinusIcon: React.FC<IconProps> = ({
387
- className = defaultClassName,
388
- width = 24,
389
- height = 24,
390
- strokeWidth = 1.5,
391
- variant = 'outline',
392
- }) => {
393
- if (variant === 'solid') {
394
- return (
395
- <svg
396
- xmlns="http://www.w3.org/2000/svg"
397
- viewBox="0 0 24 24"
398
- fill="currentColor"
399
- className={className}
400
- width={width}
401
- height={height}
402
- >
403
- <path d="M3.75 11.25a.75.75 0 0 0 0 1.5h15a.75.75 0 0 0 0-1.5H3.75Z" />
404
- </svg>
405
- );
406
- }
407
- return (
408
- <svg
409
- xmlns="http://www.w3.org/2000/svg"
410
- fill="none"
411
- viewBox="0 0 24 24"
412
- strokeWidth={strokeWidth}
413
- stroke="currentColor"
414
- className={className}
415
- width={width}
416
- height={height}
417
- >
418
- <path strokeLinecap="round" strokeLinejoin="round" d="M19.5 12h-15" />
419
- </svg>
420
- );
421
- };
422
-
423
- // Arrow Up Icon
424
- export const ArrowUpIcon: React.FC<IconProps> = ({
425
- className = defaultClassName,
426
- width = 24,
427
- height = 24,
428
- strokeWidth = 1.5,
429
- variant = 'outline',
430
- }) => {
431
- if (variant === 'solid') {
432
- return (
433
- <svg
434
- xmlns="http://www.w3.org/2000/svg"
435
- viewBox="0 0 24 24"
436
- fill="currentColor"
437
- className={className}
438
- width={width}
439
- height={height}
440
- >
441
- <path d="M7 14l5-5 5 5z" />
442
- </svg>
443
- );
444
- }
445
- return (
446
- <svg
447
- xmlns="http://www.w3.org/2000/svg"
448
- fill="none"
449
- viewBox="0 0 24 24"
450
- strokeWidth={strokeWidth}
451
- stroke="currentColor"
452
- className={className}
453
- width={width}
454
- height={height}
455
- >
456
- <path
457
- strokeLinecap="round"
458
- strokeLinejoin="round"
459
- d="M4.5 10.5L12 3m0 0l7.5 7.5M12 3v18"
460
- />
461
- </svg>
462
- );
463
- };
464
-
465
- // Arrow Down Icon
466
- export const ArrowDownIcon: React.FC<IconProps> = ({
467
- className = defaultClassName,
468
- width = 24,
469
- height = 24,
470
- strokeWidth = 1.5,
471
- variant = 'outline',
472
- }) => {
473
- if (variant === 'solid') {
474
- return (
475
- <svg
476
- xmlns="http://www.w3.org/2000/svg"
477
- viewBox="0 0 24 24"
478
- fill="currentColor"
479
- className={className}
480
- width={width}
481
- height={height}
482
- >
483
- <path d="M7 10l5 5 5-5z" />
484
- </svg>
485
- );
486
- }
487
- return (
488
- <svg
489
- xmlns="http://www.w3.org/2000/svg"
490
- fill="none"
491
- viewBox="0 0 24 24"
492
- strokeWidth={strokeWidth}
493
- stroke="currentColor"
494
- className={className}
495
- width={width}
496
- height={height}
497
- >
498
- <path
499
- strokeLinecap="round"
500
- strokeLinejoin="round"
501
- d="M19.5 13.5L12 21m0 0l-7.5-7.5M12 21V3"
502
- />
503
- </svg>
504
- );
505
- };
506
-
507
- // Arrow Left Icon
508
- export const ArrowLeftIcon: React.FC<IconProps> = ({
509
- className = defaultClassName,
510
- width = 24,
511
- height = 24,
512
- strokeWidth = 1.5,
513
- variant = 'outline',
514
- }) => {
515
- if (variant === 'solid') {
516
- return (
517
- <svg
518
- xmlns="http://www.w3.org/2000/svg"
519
- viewBox="0 0 24 24"
520
- fill="currentColor"
521
- className={className}
522
- width={width}
523
- height={height}
524
- >
525
- <path d="M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z" />
526
- </svg>
527
- );
528
- }
529
- return (
530
- <svg
531
- xmlns="http://www.w3.org/2000/svg"
532
- fill="none"
533
- viewBox="0 0 24 24"
534
- strokeWidth={strokeWidth}
535
- stroke="currentColor"
536
- className={className}
537
- width={width}
538
- height={height}
539
- >
540
- <path
541
- strokeLinecap="round"
542
- strokeLinejoin="round"
543
- d="M15.75 19.5L8.25 12l7.5-7.5"
544
- />
545
- </svg>
546
- );
547
- };
548
-
549
- // Arrow Right Icon
550
- export const ArrowRightIcon: React.FC<IconProps> = ({
551
- className = defaultClassName,
552
- width = 24,
553
- height = 24,
554
- strokeWidth = 1.5,
555
- variant = 'outline',
556
- }) => {
557
- if (variant === 'solid') {
558
- return (
559
- <svg
560
- xmlns="http://www.w3.org/2000/svg"
561
- viewBox="0 0 24 24"
562
- fill="currentColor"
563
- className={className}
564
- width={width}
565
- height={height}
566
- >
567
- <path d="M8.59 16.59L10 18l6-6-6-6-1.41 1.41L13.17 12z" />
568
- </svg>
569
- );
570
- }
571
- return (
572
- <svg
573
- xmlns="http://www.w3.org/2000/svg"
574
- fill="none"
575
- viewBox="0 0 24 24"
576
- strokeWidth={strokeWidth}
577
- stroke="currentColor"
578
- className={className}
579
- width={width}
580
- height={height}
581
- >
582
- <path
583
- strokeLinecap="round"
584
- strokeLinejoin="round"
585
- d="M8.25 4.5L15.75 12l-7.5 7.5"
586
- />
587
- </svg>
588
- );
589
- };
590
-
591
- // Arrow Right Icon
592
- export const ArrowLongRightIcon: React.FC<IconProps> = ({
593
- className = defaultClassName,
594
- width = 24,
595
- height = 24,
596
- strokeWidth = 1.5,
597
- variant = 'outline',
598
- }) => {
599
- if (variant === 'solid') {
600
- return (
601
- <svg
602
- xmlns="http://www.w3.org/2000/svg"
603
- viewBox="0 0 24 24"
604
- fill="currentColor"
605
- className={className}
606
- width={width}
607
- height={height}
608
- >
609
- <path
610
- stroke-linecap="round"
611
- stroke-linejoin="round"
612
- d="M17.25 8.25 21 12m0 0-3.75 3.75M21 12H3"
613
- ></path>
614
- </svg>
615
- );
616
- }
617
- return (
618
- <svg
619
- xmlns="http://www.w3.org/2000/svg"
620
- fill="none"
621
- viewBox="0 0 24 24"
622
- strokeWidth={strokeWidth}
623
- stroke="currentColor"
624
- className={className}
625
- width={width}
626
- height={height}
627
- >
628
- <path
629
- stroke-linecap="round"
630
- stroke-linejoin="round"
631
- d="M17.25 8.25 21 12m0 0-3.75 3.75M21 12H3"
632
- ></path>
633
- </svg>
634
- );
635
- };
636
-
637
-
638
- // User Icon
639
- export const UserIcon: React.FC<IconProps> = ({
640
- className = defaultClassName,
641
- width = 24,
642
- height = 24,
643
- strokeWidth = 1.5,
644
- variant = 'outline',
645
- }) => {
646
- if (variant === 'solid') {
647
- return (
648
- <svg
649
- xmlns="http://www.w3.org/2000/svg"
650
- viewBox="0 0 24 24"
651
- fill="currentColor"
652
- className={className}
653
- width={width}
654
- height={height}
655
- >
656
- <path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" />
657
- </svg>
658
- );
659
- }
660
- return (
661
- <svg
662
- xmlns="http://www.w3.org/2000/svg"
663
- fill="none"
664
- viewBox="0 0 24 24"
665
- strokeWidth={strokeWidth}
666
- stroke="currentColor"
667
- className={className}
668
- width={width}
669
- height={height}
670
- >
671
- <path
672
- strokeLinecap="round"
673
- strokeLinejoin="round"
674
- d="M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z"
675
- />
676
- </svg>
677
- );
678
- };
679
-
680
- // Check Circle Icon
681
- export const CheckCircleIcon: React.FC<IconProps> = ({
682
- className = defaultClassName,
683
- width = 24,
684
- height = 24,
685
- strokeWidth = 1.5,
686
- variant = 'outline',
687
- }) => {
688
- if (variant === 'solid') {
689
- return (
690
- <svg
691
- xmlns="http://www.w3.org/2000/svg"
692
- viewBox="0 0 24 24"
693
- fill="currentColor"
694
- className={className}
695
- width={width}
696
- height={height}
697
- >
698
- <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z" />
699
- </svg>
700
- );
701
- }
702
- return (
703
- <svg
704
- xmlns="http://www.w3.org/2000/svg"
705
- fill="none"
706
- viewBox="0 0 24 24"
707
- strokeWidth={strokeWidth}
708
- stroke="currentColor"
709
- className={className}
710
- width={width}
711
- height={height}
712
- >
713
- <path
714
- strokeLinecap="round"
715
- strokeLinejoin="round"
716
- d="M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
717
- />
718
- </svg>
719
- );
720
- };
721
-
722
- // X Circle Icon
723
- export const XCircleIcon: React.FC<IconProps> = ({
724
- className = defaultClassName,
725
- width = 24,
726
- height = 24,
727
- strokeWidth = 1.5,
728
- variant = 'outline',
729
- }) => {
730
- if (variant === 'solid') {
731
- return (
732
- <svg
733
- xmlns="http://www.w3.org/2000/svg"
734
- viewBox="0 0 24 24"
735
- fill="currentColor"
736
- className={className}
737
- width={width}
738
- height={height}
739
- >
740
- <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm4.3 10.3l-1.3 1.3L13.3 15l1.3 1.3-1.3 1.3L12 16.3l-1.3 1.3-1.3-1.3L10.7 15 9.4 13.7l1.3-1.3L10.7 11l-1.3-1.3 1.3-1.3L12 10.3l1.3-1.3 1.3 1.3L13.3 11l1.3 1.3z" />
741
- </svg>
742
- );
743
- }
744
- return (
745
- <svg
746
- xmlns="http://www.w3.org/2000/svg"
747
- fill="none"
748
- viewBox="0 0 24 24"
749
- strokeWidth={strokeWidth}
750
- stroke="currentColor"
751
- className={className}
752
- width={width}
753
- height={height}
754
- >
755
- <path
756
- strokeLinecap="round"
757
- strokeLinejoin="round"
758
- d="M9.75 9.75l4.5 4.5m0-4.5l-4.5 4.5M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
759
- />
760
- </svg>
761
- );
762
- };
763
-
764
- // Exclamation Circle Icon
765
- export const ExclamationCircleIcon: React.FC<IconProps> = ({
766
- className = defaultClassName,
767
- width = 24,
768
- height = 24,
769
- strokeWidth = 1.5,
770
- variant = 'outline',
771
- }) => {
772
- if (variant === 'solid') {
773
- return (
774
- <svg
775
- xmlns="http://www.w3.org/2000/svg"
776
- viewBox="0 0 24 24"
777
- fill="currentColor"
778
- className={className}
779
- width={width}
780
- height={height}
781
- >
782
- <path fillRule="evenodd" d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12ZM12 8.25a.75.75 0 0 1 .75.75v3.75a.75.75 0 0 1-1.5 0V9a.75.75 0 0 1 .75-.75Zm0 8.25a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Z" clipRule="evenodd" />
783
- </svg>
784
- );
785
- }
786
- return (
787
- <svg
788
- xmlns="http://www.w3.org/2000/svg"
789
- fill="none"
790
- viewBox="0 0 24 24"
791
- strokeWidth={strokeWidth}
792
- stroke="currentColor"
793
- className={className}
794
- width={width}
795
- height={height}
796
- >
797
- <path
798
- strokeLinecap="round"
799
- strokeLinejoin="round"
800
- d="M12 9v3.75m9-.75a9 9 0 1 1-18 0 9 9 0 0 1 18 0Zm-9 3.75h.008v.008H12v-.008Z"
801
- />
802
- </svg>
803
- );
804
- };
805
-
806
- // Chart Bar Icon
807
- export const ChartBarIcon: React.FC<IconProps> = ({
808
- className = defaultClassName,
809
- width = 24,
810
- height = 24,
811
- strokeWidth = 1.5,
812
- variant = 'outline',
813
- }) => {
814
- if (variant === 'solid') {
815
- return (
816
- <svg
817
- xmlns="http://www.w3.org/2000/svg"
818
- viewBox="0 0 24 24"
819
- fill="currentColor"
820
- className={className}
821
- width={width}
822
- height={height}
823
- >
824
- <path d="M5 9.2h3V19H5zM10.6 5h2.8v14h-2.8zm5.6 8H19v6h-2.8z" />
825
- </svg>
826
- );
827
- }
828
- return (
829
- <svg
830
- xmlns="http://www.w3.org/2000/svg"
831
- fill="none"
832
- viewBox="0 0 24 24"
833
- strokeWidth={strokeWidth}
834
- stroke="currentColor"
835
- className={className}
836
- width={width}
837
- height={height}
838
- >
839
- <path
840
- strokeLinecap="round"
841
- strokeLinejoin="round"
842
- d="M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75zM9.75 6.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v13.5c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V6.875zm6-4.5c-.621 0-1.125.504-1.125 1.125v15.75c0 .621.504 1.125 1.125 1.125h2.25a1.125 1.125 0 0 0 1.125-1.125V3.375c0-.621-.504-1.125-1.125-1.125h-2.25z"
843
- />
844
- </svg>
845
- );
846
- };
847
-
848
- // Heart Icon
849
- export const HeartIcon: React.FC<IconProps> = ({
850
- className = defaultClassName,
851
- width = 24,
852
- height = 24,
853
- strokeWidth = 1.5,
854
- variant = 'outline',
855
- }) => {
856
- if (variant === 'solid') {
857
- return (
858
- <svg
859
- xmlns="http://www.w3.org/2000/svg"
860
- viewBox="0 0 24 24"
861
- fill="currentColor"
862
- className={className}
863
- width={width}
864
- height={height}
865
- >
866
- <path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z" />
867
- </svg>
868
- );
869
- }
870
- return (
871
- <svg
872
- xmlns="http://www.w3.org/2000/svg"
873
- fill="none"
874
- viewBox="0 0 24 24"
875
- strokeWidth={strokeWidth}
876
- stroke="currentColor"
877
- className={className}
878
- width={width}
879
- height={height}
880
- >
881
- <path
882
- strokeLinecap="round"
883
- strokeLinejoin="round"
884
- d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"
885
- />
886
- </svg>
887
- );
888
- };
889
-
890
- // Cloud Arrow Up Icon
891
- export const CloudArrowUpIcon: React.FC<IconProps> = ({
892
- className = defaultClassName,
893
- width = 24,
894
- height = 24,
895
- strokeWidth = 1.5,
896
- variant = 'outline',
897
- }) => {
898
- if (variant === 'solid') {
899
- return (
900
- <svg
901
- xmlns="http://www.w3.org/2000/svg"
902
- viewBox="0 0 24 24"
903
- fill="currentColor"
904
- className={className}
905
- width={width}
906
- height={height}
907
- >
908
- <path d="M19.35 10.04C18.67 6.59 15.64 4 12 4c-1.48 0-2.85.43-4.01 1.17l1.46 1.46C10.21 6.23 11.08 6 12 6c3.04 0 5.5 2.46 5.5 5.5v.5H19c1.66 0 3 1.34 3 3 0 1.13-.64 2.11-1.56 2.62l1.45 1.45C23.16 18.16 24 16.68 24 15c0-2.64-2.05-4.78-4.65-4.96zM16 16v-3.5h-3v3.5h-3l4 4 4-4h-2z" />
909
- </svg>
910
- );
911
- }
912
- return (
913
- <svg
914
- xmlns="http://www.w3.org/2000/svg"
915
- fill="none"
916
- viewBox="0 0 24 24"
917
- strokeWidth={strokeWidth}
918
- stroke="currentColor"
919
- className={className}
920
- width={width}
921
- height={height}
922
- >
923
- <path
924
- strokeLinecap="round"
925
- strokeLinejoin="round"
926
- d="M12 16.5V9.75m0 0l3 3m-3-3l-3 3M6.75 19.5a4.6 4.6 0 0 1-.88-9.1A5 5 0 1 1 15.9 6L16 6a5 5 0 1 1 .9 9.9m-5 5v-5m0 0L9.7 10.7M12 16l2.3-2.3"
927
- />
928
- </svg>
929
- );
930
- };
931
-
932
- // Common additional icons
933
- export const CpuChipIcon: React.FC<IconProps> = ({
934
- className = defaultClassName,
935
- width = 24,
936
- height = 24,
937
- strokeWidth = 1.5,
938
- }) => (
939
- <svg
940
- xmlns="http://www.w3.org/2000/svg"
941
- fill="none"
942
- viewBox="0 0 24 24"
943
- strokeWidth={strokeWidth}
944
- stroke="currentColor"
945
- className={className}
946
- width={width}
947
- height={height}
948
- >
949
- <path
950
- strokeLinecap="round"
951
- strokeLinejoin="round"
952
- d="M5.75 7.5A2.25 2.25 0 0 1 8 5.25h8a2.25 2.25 0 0 1 2.25 2.25v8a2.25 2.25 0 0 1-2.25 2.25H8A2.25 2.25 0 0 1 5.75 15V7.5Z"
953
- />
954
- </svg>
955
- );
956
-
957
- export const BuildingLibraryIcon: React.FC<IconProps> = ({
958
- className = defaultClassName,
959
- width = 24,
960
- height = 24,
961
- strokeWidth = 1.5,
962
- }) => (
963
- <svg
964
- xmlns="http://www.w3.org/2000/svg"
965
- fill="none"
966
- viewBox="0 0 24 24"
967
- strokeWidth={strokeWidth}
968
- stroke="currentColor"
969
- className={className}
970
- width={width}
971
- height={height}
972
- >
973
- <path
974
- strokeLinecap="round"
975
- strokeLinejoin="round"
976
- d="M12 21v-8.25M15.75 21v-8.25M8.25 21v-8.25M3 9l9-6 9 6m-1.5 12V10.332A48.36 48.36 0 0 0 12 9.75c-2.551 0-5.056.2-7.5.582V21M3 21h18M12 6.75h.008v.008H12V6.75Z"
977
- />
978
- </svg>
979
- );
980
-
981
- export const FolderIcon: React.FC<IconProps> = ({
982
- className = defaultClassName,
983
- width = 24,
984
- height = 24,
985
- strokeWidth = 1.5,
986
- }) => (
987
- <svg
988
- xmlns="http://www.w3.org/2000/svg"
989
- fill="none"
990
- viewBox="0 0 24 24"
991
- strokeWidth={strokeWidth}
992
- stroke="currentColor"
993
- className={className}
994
- width={width}
995
- height={height}
996
- >
997
- <path
998
- strokeLinecap="round"
999
- strokeLinejoin="round"
1000
- d="M3 7v10a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-6l-2-2H5a2 2 0 0 0-2 2z"
1001
- />
1002
- </svg>
1003
- );
1004
-
1005
- export const DocumentIcon: React.FC<IconProps> = ({
1006
- className = defaultClassName,
1007
- width = 24,
1008
- height = 24,
1009
- strokeWidth = 1.5,
1010
- }) => (
1011
- <svg
1012
- xmlns="http://www.w3.org/2000/svg"
1013
- fill="none"
1014
- viewBox="0 0 24 24"
1015
- strokeWidth={strokeWidth}
1016
- stroke="currentColor"
1017
- className={className}
1018
- width={width}
1019
- height={height}
1020
- >
1021
- <path stroke-linecap="round" stroke-linejoin="round" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-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 0 0-9-9Z"></path>
1022
-
1023
- </svg>
1024
- );
1025
-
1026
- export const DocumentTextIcon: React.FC<IconProps> = ({
1027
- className = defaultClassName,
1028
- width = 24,
1029
- height = 24,
1030
- strokeWidth = 1.5,
1031
- }) => (
1032
- <svg
1033
- xmlns="http://www.w3.org/2000/svg"
1034
- fill="none"
1035
- viewBox="0 0 24 24"
1036
- strokeWidth={strokeWidth}
1037
- stroke="currentColor"
1038
- className={className}
1039
- width={width}
1040
- height={height}
1041
- >
1042
- <path
1043
- strokeLinecap="round"
1044
- strokeLinejoin="round"
1045
- d="M7 8h10M7 12h10m-7 4h7M9 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-4l-2-2z"
1046
- />
1047
- </svg>
1048
- );
1049
-
1050
- export const DocumentCheckIcon: React.FC<IconProps> = ({
1051
- className = defaultClassName,
1052
- width = 24,
1053
- height = 24,
1054
- strokeWidth = 1.5,
1055
- }) => (
1056
- <svg
1057
- xmlns="http://www.w3.org/2000/svg"
1058
- fill="none"
1059
- viewBox="0 0 24 24"
1060
- strokeWidth={strokeWidth}
1061
- stroke="currentColor"
1062
- className={className}
1063
- width={width}
1064
- height={height}
1065
- >
1066
- <path
1067
- strokeLinecap="round"
1068
- strokeLinejoin="round"
1069
- d="M9 12l2 2 4-4m6 2a9 9 0 1 1-18 0 9 9 0 0 1 18 0z"
1070
- />
1071
- </svg>
1072
- );
1073
-
1074
- export const DocumentDuplicateIcon: React.FC<IconProps> = ({
1075
- className = defaultClassName,
1076
- width = 24,
1077
- height = 24,
1078
- strokeWidth = 1.5,
1079
- }) => (
1080
- <svg
1081
- xmlns="http://www.w3.org/2000/svg"
1082
- fill="none"
1083
- viewBox="0 0 24 24"
1084
- strokeWidth={strokeWidth}
1085
- stroke="currentColor"
1086
- className={className}
1087
- width={width}
1088
- height={height}
1089
- >
1090
- <path
1091
- strokeLinecap="round"
1092
- strokeLinejoin="round"
1093
- d="M15.666 3.888A2.25 2.25 0 0 0 13.5 2.25h-3c-1.185 0-2.25 1.065-2.25 2.25v5.338a2.25 2.25 0 0 0 .375 1.322l1.968 2.332c.494.583.745 1.379.745 2.191V17.5a2.25 2.25 0 0 0 2.25 2.25h5a2.25 2.25 0 0 0 2.25-2.25v-1.5a.75.75 0 0 0-1.5 0v1.5a.75.75 0 0 1-.75.75h-5a.75.75 0 0 1-.75-.75V9.991a.75.75 0 0 1-.75-.75V4.5a.75.75 0 0 1 .75-.75h3a.75.75 0 0 1 .75.75v2.25a.75.75 0 0 0 1.5 0V4.5c0-.647-.146-1.262-.406-1.812z"
1094
- />
1095
- </svg>
1096
- );
1097
-
1098
- export const TagIcon: React.FC<IconProps> = ({
1099
- className = defaultClassName,
1100
- width = 24,
1101
- height = 24,
1102
- strokeWidth = 1.5,
1103
- }) => (
1104
- <svg
1105
- xmlns="http://www.w3.org/2000/svg"
1106
- fill="none"
1107
- viewBox="0 0 24 24"
1108
- strokeWidth={strokeWidth}
1109
- stroke="currentColor"
1110
- className={className}
1111
- width={width}
1112
- height={height}
1113
- >
1114
- <path
1115
- strokeLinecap="round"
1116
- strokeLinejoin="round"
1117
- d="M9.568 3H5.25A2.25 2.25 0 0 0 3 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.402.402.937.629 1.531.629a2.16 2.16 0 0 0 1.532-.629l7.04-7.04a2.16 2.16 0 0 0 .628-1.532c0-.595-.227-1.129-.628-1.531l-9.58-9.581a2.25 2.25 0 0 0-1.592-.659H9.568z"
1118
- />
1119
- </svg>
1120
- );
1121
-
1122
- export const CalendarIcon: React.FC<IconProps> = ({
1123
- className = defaultClassName,
1124
- width = 24,
1125
- height = 24,
1126
- strokeWidth = 1.5,
1127
- }) => (
1128
- <svg
1129
- xmlns="http://www.w3.org/2000/svg"
1130
- fill="none"
1131
- viewBox="0 0 24 24"
1132
- strokeWidth={strokeWidth}
1133
- stroke="currentColor"
1134
- className={className}
1135
- width={width}
1136
- height={height}
1137
- >
1138
- <path
1139
- strokeLinecap="round"
1140
- strokeLinejoin="round"
1141
- d="M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 0 1 2.25-2.25h13.5A2.25 2.25 0 0 1 21 7.5v11.25m-18 0A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75m-18 0v-7.5A2.25 2.25 0 0 1 5.25 9h13.5A2.25 2.25 0 0 1 21 11.25v7.5m-9-6h.008v.008H12v-.008zM12 15h.008v.008H12V15zm0 2.25h.008v.008H12v-.008zM9.75 15h.008v.008H9.75V15zm0 2.25h.008v.008H9.75v-.008zM7.5 15h.008v.008H7.5V15zm0 2.25h.008v.008H7.5v-.008zM14.25 15h.008v.008H14.25V15zm0 2.25h.008v.008H14.25v-.008zM16.5 15h.008v.008H16.5V15zm0 2.25h.008v.008H16.5v-.008z"
1142
- />
1143
- </svg>
1144
- );
1145
-
1146
- export const ClockIcon: React.FC<IconProps> = ({
1147
- className = defaultClassName,
1148
- width = 24,
1149
- height = 24,
1150
- strokeWidth = 1.5,
1151
- }) => (
1152
- <svg
1153
- xmlns="http://www.w3.org/2000/svg"
1154
- fill="none"
1155
- viewBox="0 0 24 24"
1156
- strokeWidth={strokeWidth}
1157
- stroke="currentColor"
1158
- className={className}
1159
- width={width}
1160
- height={height}
1161
- >
1162
- <path
1163
- strokeLinecap="round"
1164
- strokeLinejoin="round"
1165
- d="M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"
1166
- />
1167
- </svg>
1168
- );
1169
-
1170
- export const LinkIcon: React.FC<IconProps> = ({
1171
- className = defaultClassName,
1172
- width = 24,
1173
- height = 24,
1174
- strokeWidth = 1.5,
1175
- }) => (
1176
- <svg
1177
- xmlns="http://www.w3.org/2000/svg"
1178
- fill="none"
1179
- viewBox="0 0 24 24"
1180
- strokeWidth={strokeWidth}
1181
- stroke="currentColor"
1182
- className={className}
1183
- width={width}
1184
- height={height}
1185
- >
1186
- <path
1187
- strokeLinecap="round"
1188
- strokeLinejoin="round"
1189
- d="M13.19 8.688a4.5 4.5 0 0 1 1.242 7.244l-4.5 4.5a4.5 4.5 0 0 1-6.364-6.364l1.757-1.757m13.35-.039l1.758-1.757a4.5 4.5 0 0 0-6.364-6.364l-4.5 4.5a4.5 4.5 0 0 0 1.242 7.244"
1190
- />
1191
- </svg>
1192
- );
1193
-
1194
- export const RocketLaunchIcon: React.FC<IconProps> = ({
1195
- className = defaultClassName,
1196
- width = 24,
1197
- height = 24,
1198
- strokeWidth = 1.5,
1199
- variant = 'outline',
1200
- }) => {
1201
- if (variant === 'solid') {
1202
- return (
1203
- <svg
1204
- xmlns="http://www.w3.org/2000/svg"
1205
- viewBox="0 0 24 24"
1206
- fill="currentColor"
1207
- className={className}
1208
- width={width}
1209
- height={height}
1210
- >
1211
- <path
1212
- strokeLinecap="round"
1213
- strokeLinejoin="round"
1214
- d="M15.59 14.37a6 6 0 0 1-5.84 7.38v-4.8m5.84-2.58a14.98 14.98 0 0 0 6.16-12.12A14.98 14.98 0 0 0 9.631 8.41m5.96 5.96a14.926 14.926 0 0 1-5.841 2.58m-.119-8.54a6 6 0 0 0-7.381 5.84h4.8m2.581-5.84a14.927 14.927 0 0 0-2.58 5.84m2.699 2.7c-.103.021-.207.041-.311.06a15.09 15.09 0 0 1-2.448-2.448 14.9 14.9 0 0 1 .06-.312m-2.24 2.39a4.493 4.493 0 0 0-1.757 4.306 4.493 4.493 0 0 0 4.306-1.758M16.5 9a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z"
1215
- /> </svg>
1216
- );
1217
- }
1218
- return (
1219
- <svg
1220
- xmlns="http://www.w3.org/2000/svg"
1221
- fill="none"
1222
- viewBox="0 0 24 24"
1223
- strokeWidth={strokeWidth}
1224
- stroke="currentColor"
1225
- className={className}
1226
- width={width}
1227
- height={height}
1228
- >
1229
- <path
1230
- strokeLinecap="round"
1231
- strokeLinejoin="round"
1232
- d="M15.59 14.37a6 6 0 0 1-5.84 7.38v-4.8m5.84-2.58a14.98 14.98 0 0 0 6.16-12.12A14.98 14.98 0 0 0 9.631 8.41m5.96 5.96a14.926 14.926 0 0 1-5.841 2.58m-.119-8.54a6 6 0 0 0-7.381 5.84h4.8m2.581-5.84a14.927 14.927 0 0 0-2.58 5.84m2.699 2.7c-.103.021-.207.041-.311.06a15.09 15.09 0 0 1-2.448-2.448 14.9 14.9 0 0 1 .06-.312m-2.24 2.39a4.493 4.493 0 0 0-1.757 4.306 4.493 4.493 0 0 0 4.306-1.758M16.5 9a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z"
1233
- />
1234
- </svg>
1235
- );
1236
- };
1237
-
1238
- export const MagnifyingGlassIcon: React.FC<IconProps> = ({
1239
- className = defaultClassName,
1240
- width = 24,
1241
- height = 24,
1242
- strokeWidth = 1.5,
1243
- }) => (
1244
- <svg
1245
- xmlns="http://www.w3.org/2000/svg"
1246
- fill="none"
1247
- viewBox="0 0 24 24"
1248
- strokeWidth={strokeWidth}
1249
- stroke="currentColor"
1250
- className={className}
1251
- width={width}
1252
- height={height}
1253
- >
1254
- <path
1255
- strokeLinecap="round"
1256
- strokeLinejoin="round"
1257
- d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 1 0 5.5 5.5a7.5 7.5 0 0 0 10.5 10.5z"
1258
- />
1259
- </svg>
1260
- );
1261
-
1262
- export const FunnelIcon: React.FC<IconProps> = ({
1263
- className = defaultClassName,
1264
- width = 24,
1265
- height = 24,
1266
- strokeWidth = 1.5,
1267
- }) => (
1268
- <svg
1269
- xmlns="http://www.w3.org/2000/svg"
1270
- fill="none"
1271
- viewBox="0 0 24 24"
1272
- strokeWidth={strokeWidth}
1273
- stroke="currentColor"
1274
- className={className}
1275
- width={width}
1276
- height={height}
1277
- >
1278
- <path
1279
- strokeLinecap="round"
1280
- strokeLinejoin="round"
1281
- d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5"
1282
- />
1283
- </svg>
1284
- );
1285
-
1286
- export const InformationCircleIcon: React.FC<IconProps> = ({
1287
- className = defaultClassName,
1288
- width = 24,
1289
- height = 24,
1290
- strokeWidth = 1.5,
1291
- }) => (
1292
- <svg
1293
- xmlns="http://www.w3.org/2000/svg"
1294
- fill="none"
1295
- viewBox="0 0 24 24"
1296
- strokeWidth={strokeWidth}
1297
- stroke="currentColor"
1298
- className={className}
1299
- width={width}
1300
- height={height}
1301
- >
1302
- <path
1303
- strokeLinecap="round"
1304
- strokeLinejoin="round"
1305
- d="M11.25 11.25l.041-.02a.75.75 0 0 1 1.063.852l-.708 2.836a.75.75 0 0 0 1.063.853l.041-.021M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0zm-9-3.75h.008v.008H12V8.25z"
1306
- />
1307
- </svg>
1308
- );
1309
-
1310
- export const ExclamationTriangleIcon: React.FC<IconProps> = ({
1311
- className = defaultClassName,
1312
- width = 24,
1313
- height = 24,
1314
- strokeWidth = 1.5,
1315
- }) => (
1316
- <svg
1317
- xmlns="http://www.w3.org/2000/svg"
1318
- fill="none"
1319
- viewBox="0 0 24 24"
1320
- strokeWidth={strokeWidth}
1321
- stroke="currentColor"
1322
- className={className}
1323
- width={width}
1324
- height={height}
1325
- >
1326
- <path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126ZM12 15.75h.007v.008H12v-.008Z"></path>
1327
- </svg>
1328
- );
1329
-
1330
- export const ArrowPathIcon: React.FC<IconProps> = ({
1331
- className = defaultClassName,
1332
- width = 24,
1333
- height = 24,
1334
- strokeWidth = 1.5,
1335
- }) => (
1336
- <svg
1337
- xmlns="http://www.w3.org/2000/svg"
1338
- fill="none"
1339
- viewBox="0 0 24 24"
1340
- strokeWidth={strokeWidth}
1341
- stroke="currentColor"
1342
- className={className}
1343
- width={width}
1344
- height={height}
1345
- >
1346
- <path
1347
- strokeLinecap="round"
1348
- strokeLinejoin="round"
1349
- d="M4.755 10.059a7.5 7.5 0 0 1 12.548-3.364l1.903 1.903h-3.183a.75.75 0 1 0 0 1.5h4.992a.75.75 0 0 0 .75-.75V4.356a.75.75 0 0 0-1.5 0v3.18l-1.9-1.9A9 9 0 0 0 3.306 9.67a.75.75 0 1 0 1.45.388Zm15.408 3.352a.75.75 0 0 0-.919.53 7.5 7.5 0 0 1-12.548 3.364l-1.902-1.903h3.183a.75.75 0 0 0 0-1.5H2.984a.75.75 0 0 0-.75.75v4.992a.75.75 0 0 0 1.5 0v-3.18l1.9 1.9a9 9 0 0 0 15.059-4.035.75.75 0 0 0-.53-.918Z"
1350
- />
1351
- </svg>
1352
- );
1353
-
1354
- export const CogIcon: React.FC<IconProps> = ({
1355
- className = defaultClassName,
1356
- width = 24,
1357
- height = 24,
1358
- strokeWidth = 1.5,
1359
- }) => (
1360
- <svg
1361
- xmlns="http://www.w3.org/2000/svg"
1362
- fill="none"
1363
- viewBox="0 0 24 24"
1364
- strokeWidth={strokeWidth}
1365
- stroke="currentColor"
1366
- className={className}
1367
- width={width}
1368
- height={height}
1369
- >
1370
- <path stroke-linecap="round" stroke-linejoin="round" d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z"></path>
1371
- <path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"></path>
1372
- </svg>
1373
- );
1374
-
1375
- export const Cog6ToothIcon: React.FC<IconProps> = ({
1376
- className = defaultClassName,
1377
- width = 24,
1378
- height = 24,
1379
- strokeWidth = 1.5,
1380
- }) => (
1381
- <svg
1382
- xmlns="http://www.w3.org/2000/svg"
1383
- fill="none"
1384
- viewBox="0 0 24 24"
1385
- strokeWidth={strokeWidth}
1386
- stroke="currentColor"
1387
- className={className}
1388
- width={width}
1389
- height={height}
1390
- >
1391
- <path stroke-linecap="round" stroke-linejoin="round" d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z"></path>
1392
- <path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z"></path>
1393
- </svg>
1394
- );
1395
-
1396
- export const ListBulletIcon: React.FC<IconProps> = ({
1397
- className = defaultClassName,
1398
- width = 24,
1399
- height = 24,
1400
- strokeWidth = 1.5,
1401
- }) => (
1402
- <svg
1403
- xmlns="http://www.w3.org/2000/svg"
1404
- fill="none"
1405
- viewBox="0 0 24 24"
1406
- strokeWidth={strokeWidth}
1407
- stroke="currentColor"
1408
- className={className}
1409
- width={width}
1410
- height={height}
1411
- >
1412
- <path
1413
- strokeLinecap="round"
1414
- strokeLinejoin="round"
1415
- d="M8.625 12a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm0 0H8.25m4.125 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm0 0H12.25m4.125 0a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0zm0 0h-.375M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0z"
1416
- />
1417
- </svg>
1418
- );
1419
-
1420
- export const ClipboardIcon: React.FC<IconProps> = ({
1421
- className = defaultClassName,
1422
- width = 24,
1423
- height = 24,
1424
- strokeWidth = 1.5,
1425
- }) => (
1426
- <svg
1427
- xmlns="http://www.w3.org/2000/svg"
1428
- fill="none"
1429
- viewBox="0 0 24 24"
1430
- strokeWidth={strokeWidth}
1431
- stroke="currentColor"
1432
- className={className}
1433
- width={width}
1434
- height={height}
1435
- >
1436
- <path stroke-linecap="round" stroke-linejoin="round" d="M15.666 3.888A2.25 2.25 0 0 0 13.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 0 1-.75.75H9a.75.75 0 0 1-.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 0 1-2.25 2.25H6.75A2.25 2.25 0 0 1 4.5 19.5V6.257c0-1.108.806-2.057 1.907-2.185a48.208 48.208 0 0 1 1.927-.184"></path>
1437
- </svg>
1438
- );
1439
-
1440
- export const ClipboardDocumentCheckIcon: React.FC<IconProps> = ({
1441
- className = defaultClassName,
1442
- width = 24,
1443
- height = 24,
1444
- strokeWidth = 1.5,
1445
- }) => (
1446
- <svg
1447
- xmlns="http://www.w3.org/2000/svg"
1448
- fill="none"
1449
- viewBox="0 0 24 24"
1450
- strokeWidth={strokeWidth}
1451
- stroke="currentColor"
1452
- className={className}
1453
- width={width}
1454
- height={height}
1455
- >
1456
- <path
1457
- strokeLinecap="round"
1458
- strokeLinejoin="round"
1459
- d="M11.35 3.836c-.655.355-1.08.852-1.358 1.446-.201.416-.348.665-.518.923a2.712 2.712 0 0 0-.5 1.703c0 .462.1.946.348 1.384.245.531.645 1.046 1.28 1.696a.75.75 0 0 0 1.067-.03c.635-.64 1.035-1.165 1.28-1.696.248-.438.348-.922.348-1.384a2.712 2.712 0 0 0-.5-1.703c-.17-.258-.317-.507-.518-.923-.278-.594-.703-1.091-1.358-1.446m0 0C9.806 2.94 10.923 2.5 12 2.5c1.077 0 2.194.44 3.15 1.336m-1.8 0c.068.087.137.176.207.266.343.417.682.83 1.013 1.296.31.426.629.846 1.013 1.296a.75.75 0 0 0-.584 1.28 60.461 60.461 0 0 1-2.694-.449.75.75 0 0 0-.606.073c-.223.145-.456.366-.656.732a2.75 2.75 0 0 0-.426-1.26c0-.45.09-.88.258-1.28H9m0 0c.068.087.137.176.207.266.343.417.682.83 1.013 1.296.31.426.629.846 1.013 1.296M6.75 12a3 3 0 1 1 6 0 3 3 0 0 1-6 0zm12 0a3 3 0 1 1 6 0 3 3 0 0 1-6 0z"
1460
- />
1461
- </svg>
1462
- );
1463
-
1464
- export const Squares2X2Icon: React.FC<IconProps> = ({
1465
- className = defaultClassName,
1466
- width = 24,
1467
- height = 24,
1468
- strokeWidth = 1.5,
1469
- }) => (
1470
- <svg
1471
- xmlns="http://www.w3.org/2000/svg"
1472
- fill="none"
1473
- viewBox="0 0 24 24"
1474
- strokeWidth={strokeWidth}
1475
- stroke="currentColor"
1476
- className={className}
1477
- width={width}
1478
- height={height}
1479
- >
1480
- <path
1481
- strokeLinecap="round"
1482
- strokeLinejoin="round"
1483
- d="M3.375 19.5h17.25m-17.25-4.5h17.25m-17.25-4.5h17.25m-17.25-4.5h17.25"
1484
- />
1485
- </svg>
1486
- );
1487
-
1488
- export const BeakerIcon: React.FC<IconProps> = ({
1489
- className = defaultClassName,
1490
- width = 24,
1491
- height = 24,
1492
- strokeWidth = 1.5,
1493
- }) => (
1494
- <svg
1495
- xmlns="http://www.w3.org/2000/svg"
1496
- fill="none"
1497
- viewBox="0 0 24 24"
1498
- strokeWidth={strokeWidth}
1499
- stroke="currentColor"
1500
- className={className}
1501
- width={width}
1502
- height={height}
1503
- >
1504
- <path
1505
- strokeLinecap="round"
1506
- strokeLinejoin="round"
1507
- d="M9.75 3.104v5.714a2.25 2.25 0 0 1-.659 1.591L5.432 15.3a9.01 9.01 0 0 0-2.02 3.991v2.084a2.25 2.25 0 0 0 2.25 2.25h13.636a2.25 2.25 0 0 0 2.25-2.25v-2.084a9.01 9.01 0 0 0-2.02-3.991l-3.659-4.591A2.25 2.25 0 0 1 14.25 8.818v-5.714m0 0L9.75 3.104M14.25 3.104l4.5 0v5.714a2.25 2.25 0 0 1-.659 1.591L18.568 15.3"
1508
- />
1509
- </svg>
1510
- );
1511
-
1512
- export const PauseIcon: React.FC<IconProps> = ({
1513
- className = defaultClassName,
1514
- width = 24,
1515
- height = 24,
1516
- strokeWidth = 1.5,
1517
- }) => (
1518
- <svg
1519
- xmlns="http://www.w3.org/2000/svg"
1520
- fill="none"
1521
- viewBox="0 0 24 24"
1522
- strokeWidth={strokeWidth}
1523
- stroke="currentColor"
1524
- className={className}
1525
- width={width}
1526
- height={height}
1527
- >
1528
- <path
1529
- strokeLinecap="round"
1530
- strokeLinejoin="round"
1531
- d="M6 6.75v10.5a.75.75 0 0 1-1.5 0V6.75m0 0a.75.75 0 0 1 1.5 0zm12 0v10.5a.75.75 0 0 1-1.5 0V6.75m0 0a.75.75 0 0 1 1.5 0z"
1532
- />
1533
- </svg>
1534
- );
1535
-
1536
- export const StopIcon: React.FC<IconProps> = ({
1537
- className = defaultClassName,
1538
- width = 24,
1539
- height = 24,
1540
- strokeWidth = 1.5,
1541
- }) => (
1542
- <svg
1543
- xmlns="http://www.w3.org/2000/svg"
1544
- fill="none"
1545
- viewBox="0 0 24 24"
1546
- strokeWidth={strokeWidth}
1547
- stroke="currentColor"
1548
- className={className}
1549
- width={width}
1550
- height={height}
1551
- >
1552
- <path
1553
- strokeLinecap="round"
1554
- strokeLinejoin="round"
1555
- d="M5.25 7.5A2.25 2.25 0 0 1 7.5 5.25h9a2.25 2.25 0 0 1 2.25 2.25v9a2.25 2.25 0 0 1-2.25 2.25h-9a2.25 2.25 0 0 1-2.25-2.25v-9z"
1556
- />
1557
- </svg>
1558
- );
1559
-
1560
- export const ShieldCheckIcon: React.FC<IconProps> = ({
1561
- className = defaultClassName,
1562
- width = 24,
1563
- height = 24,
1564
- strokeWidth = 1.5,
1565
- }) => (
1566
- <svg
1567
- xmlns="http://www.w3.org/2000/svg"
1568
- fill="none"
1569
- viewBox="0 0 24 24"
1570
- strokeWidth={strokeWidth}
1571
- stroke="currentColor"
1572
- className={className}
1573
- width={width}
1574
- height={height}
1575
- >
1576
- <path
1577
- strokeLinecap="round"
1578
- strokeLinejoin="round"
1579
- d="M9 12.75L11.25 15 15 9.75m-3-7.036A9.721 9.721 0 0 1 12 3c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7 1.274-4.057 5.064-7 9.542-7z"
1580
- />
1581
- </svg>
1582
- );
1583
-
1584
- export const MagnifyingGlassPlusIcon: React.FC<IconProps> = ({
1585
- className = defaultClassName,
1586
- width = 24,
1587
- height = 24,
1588
- strokeWidth = 1.5,
1589
- }) => (
1590
- <svg
1591
- xmlns="http://www.w3.org/2000/svg"
1592
- fill="none"
1593
- viewBox="0 0 24 24"
1594
- strokeWidth={strokeWidth}
1595
- stroke="currentColor"
1596
- className={className}
1597
- width={width}
1598
- height={height}
1599
- >
1600
- <path
1601
- strokeLinecap="round"
1602
- strokeLinejoin="round"
1603
- d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 1 0 5.5 5.5a7.5 7.5 0 0 0 10.5 10.5zm-6-3.75h.008v.008H12v-.008zm0 2.25h.008v.008H12v-.008zm0-8.25h.008v.008H12V8.25z"
1604
- />
1605
- </svg>
1606
- );
1607
-
1608
- export const MagnifyingGlassMinusIcon: React.FC<IconProps> = ({
1609
- className = defaultClassName,
1610
- width = 24,
1611
- height = 24,
1612
- strokeWidth = 1.5,
1613
- }) => (
1614
- <svg
1615
- xmlns="http://www.w3.org/2000/svg"
1616
- fill="none"
1617
- viewBox="0 0 24 24"
1618
- strokeWidth={strokeWidth}
1619
- stroke="currentColor"
1620
- className={className}
1621
- width={width}
1622
- height={height}
1623
- >
1624
- <path
1625
- strokeLinecap="round"
1626
- strokeLinejoin="round"
1627
- d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 1 0 5.5 5.5a7.5 7.5 0 0 0 10.5 10.5zm-3-7.5h-3m0 0H9m0 0v3m0-3v-3"
1628
- />
1629
- </svg>
1630
- );
1631
-
1632
- export const ArrowTrendingUpIcon: React.FC<IconProps> = ({
1633
- className = defaultClassName,
1634
- width = 24,
1635
- height = 24,
1636
- strokeWidth = 1.5,
1637
- }) => (
1638
- <svg
1639
- xmlns="http://www.w3.org/2000/svg"
1640
- fill="none"
1641
- viewBox="0 0 24 24"
1642
- strokeWidth={strokeWidth}
1643
- stroke="currentColor"
1644
- className={className}
1645
- width={width}
1646
- height={height}
1647
- >
1648
- <path
1649
- strokeLinecap="round"
1650
- strokeLinejoin="round"
1651
- d="M2.25 6l5.693-3.802a2.25 2.25 0 0 1 2.614 0l5.693 3.802M3 21h18M3.75 3h16.5"
1652
- />
1653
- </svg>
1654
- );
1655
-
1656
- export const ArrowTrendingDownIcon: React.FC<IconProps> = ({
1657
- className = defaultClassName,
1658
- width = 24,
1659
- height = 24,
1660
- strokeWidth = 1.5,
1661
- }) => (
1662
- <svg
1663
- xmlns="http://www.w3.org/2000/svg"
1664
- fill="none"
1665
- viewBox="0 0 24 24"
1666
- strokeWidth={strokeWidth}
1667
- stroke="currentColor"
1668
- className={className}
1669
- width={width}
1670
- height={height}
1671
- >
1672
- <path
1673
- strokeLinecap="round"
1674
- strokeLinejoin="round"
1675
- d="M2.25 6l5.693 3.802a2.25 2.25 0 0 0 2.614 0l5.693-3.802M3 21h18M3.75 3h16.5"
1676
- />
1677
- </svg>
1678
- );
1679
-
1680
- export const ToothIcon: React.FC<IconProps> = ({
1681
- className = defaultClassName,
1682
- width = 24,
1683
- height = 24,
1684
- strokeWidth = 1.5,
1685
- }) => (
1686
- <svg
1687
- xmlns="http://www.w3.org/2000/svg"
1688
- fill="none"
1689
- viewBox="0 0 24 24"
1690
- strokeWidth={strokeWidth}
1691
- stroke="currentColor"
1692
- className={className}
1693
- width={width}
1694
- height={height}
1695
- >
1696
- <path
1697
- strokeLinecap="round"
1698
- strokeLinejoin="round"
1699
- d="M11.25 11.25L.75.75h11.5V11.25a1.5 1.5 0 1 1-3 0v-8.25a1.5 1.5 0 0 0-1.5-1.5H6a1.5 1.5 0 0 0-1.5 1.5v8.25a1.5 1.5 0 1 1-3 0"
1700
- />
1701
- </svg>
1702
- );
1703
-
1704
- export const ChevronDownIcon: React.FC<IconProps> = ({
1705
- className = defaultClassName,
1706
- width = 24,
1707
- height = 24,
1708
- strokeWidth = 1.5,
1709
- }) => (
1710
- <svg
1711
- xmlns="http://www.w3.org/2000/svg"
1712
- fill="none"
1713
- viewBox="0 0 24 24"
1714
- strokeWidth={strokeWidth}
1715
- stroke="currentColor"
1716
- className={className}
1717
- width={width}
1718
- height={height}
1719
- >
1720
- <path strokeLinecap="round"
1721
- strokeLinejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5" />
1722
- </svg>
1723
- );
1724
-
1725
- export const ChevronRightIcon: React.FC<IconProps> = ({
1726
- className = defaultClassName,
1727
- width = 24,
1728
- height = 24,
1729
- strokeWidth = 1.5,
1730
- }) => (
1731
- <svg
1732
- xmlns="http://www.w3.org/2000/svg"
1733
- fill="none"
1734
- viewBox="0 0 24 24"
1735
- strokeWidth={strokeWidth}
1736
- stroke="currentColor"
1737
- className={className}
1738
- width={width}
1739
- height={height}
1740
- >
1741
- <path strokeLinecap="round"
1742
- strokeLinejoin="round" d="m8.25 4.5 7.5 7.5-7.5 7.5" />
1743
-
1744
- </svg>
1745
- );
1746
-
1747
- export const LogoutIcon: React.FC<IconProps> = ({
1748
- className = defaultClassName,
1749
- width = 24,
1750
- height = 24,
1751
- strokeWidth = 1.5,
1752
- }) => (
1753
- <svg
1754
- xmlns="http://www.w3.org/2000/svg"
1755
- fill="none"
1756
- viewBox="0 0 24 24"
1757
- strokeWidth={strokeWidth}
1758
- stroke="currentColor"
1759
- className={className}
1760
- width={width}
1761
- height={height}
1762
- >
1763
- <path stroke-linecap="round" stroke-linejoin="round" d="M15.75 9V5.25A2.25 2.25 0 0 0 13.5 3h-6a2.25 2.25 0 0 0-2.25 2.25v13.5A2.25 2.25 0 0 0 7.5 21h6a2.25 2.25 0 0 0 2.25-2.25V15m3 0 3-3m0 0-3-3m3 3H9" />
1764
- </svg>
1765
- );
1766
-
1767
- export const GithubIcon: React.FC<IconProps> = ({
1768
- className = defaultClassName,
1769
- width = 24,
1770
- height = 24,
1771
- strokeWidth = 1.5,
1772
- }) => (
1773
- <svg
1774
- xmlns="http://www.w3.org/2000/svg"
1775
- viewBox="0 0 24 24"
1776
- fill="currentColor"
1777
- className={className}
1778
- width={width}
1779
- height={height}
1780
- >
1781
- <path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v 3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z" />
1782
- </svg>
1783
- );
1784
-
1785
- // Export types
1786
- export type { IconVariant, IconProps };
1787
-
1788
-