@astryxdesign/cli 0.1.1 → 0.1.2-canary.2149fa3

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 (113) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/docs/theme.doc.mjs +2 -2
  3. package/docs/working-with-ai.doc.mjs +6 -6
  4. package/package.json +19 -8
  5. package/src/api/discover.mjs +78 -26
  6. package/src/api/index.mjs +1 -0
  7. package/src/api/layout.mjs +301 -0
  8. package/src/api/layout.test.mjs +238 -0
  9. package/src/api/template.mjs +191 -50
  10. package/src/api/template.test.mjs +2 -0
  11. package/src/api/theme-add.mjs +182 -0
  12. package/src/codemods/__tests__/registry.test.mjs +1 -0
  13. package/src/codemods/registry.mjs +1 -0
  14. package/src/codemods/transforms/v0.1.2/__tests__/rename-text-color-active-to-accent.test.mjs +120 -0
  15. package/src/codemods/transforms/v0.1.2/index.mjs +19 -0
  16. package/src/codemods/transforms/v0.1.2/rename-text-color-active-to-accent.mjs +136 -0
  17. package/src/commands/build-theme.import-path.test.mjs +22 -2
  18. package/src/commands/build-theme.mjs +185 -16
  19. package/src/commands/gap-report.mjs +17 -9
  20. package/src/commands/gap-report.test.mjs +21 -16
  21. package/src/commands/init.mjs +34 -8
  22. package/src/commands/init.next-steps.test.mjs +46 -0
  23. package/src/commands/layout.mjs +139 -0
  24. package/src/commands/swizzle.mjs +51 -23
  25. package/src/commands/upgrade.mjs +2 -71
  26. package/src/config.mjs +31 -0
  27. package/src/config.test.mjs +24 -0
  28. package/src/index.mjs +6 -0
  29. package/src/lib/config-schema.mjs +119 -0
  30. package/src/lib/config.mjs +34 -7
  31. package/src/lib/config.test.mjs +51 -2
  32. package/src/lib/error-codes.mjs +11 -0
  33. package/src/lib/integrations.mjs +155 -0
  34. package/src/lib/integrations.test.mjs +154 -0
  35. package/src/lib/levenshtein.mjs +29 -0
  36. package/src/lib/manifest.mjs +10 -0
  37. package/src/lib/package-scanner.mjs +31 -7
  38. package/src/lib/string-utils.mjs +5 -14
  39. package/src/lib/xle/browser.d.ts +100 -0
  40. package/src/lib/xle/browser.mjs +120 -0
  41. package/src/lib/xle/expand.mjs +622 -0
  42. package/src/lib/xle/parse.mjs +581 -0
  43. package/src/lib/xle/print.mjs +174 -0
  44. package/src/lib/xle/registry-core.mjs +170 -0
  45. package/src/lib/xle/registry.mjs +237 -0
  46. package/src/lib/xle/splice.mjs +137 -0
  47. package/src/lib/xle/validate.mjs +356 -0
  48. package/src/lib/xle/xle.test.mjs +333 -0
  49. package/src/types/config.d.ts +99 -0
  50. package/src/utils/github.mjs +12 -27
  51. package/templates/blocks/components/Card/ClickableCardWithNestedButton.doc.mjs +1 -1
  52. package/templates/blocks/components/Card/SelectableCardMulti.doc.mjs +1 -1
  53. package/templates/blocks/components/ChatComposerDrawer/ChatComposerDrawerWithProgress.tsx +1 -1
  54. package/templates/blocks/components/ChatDictationButton/ChatDictationButtonShowcase.tsx +3 -3
  55. package/templates/blocks/components/CommandPaletteEmpty/CommandPaletteEmptyShowcase.doc.mjs +15 -0
  56. package/templates/blocks/components/CommandPaletteEmpty/CommandPaletteEmptyShowcase.tsx +26 -0
  57. package/templates/blocks/components/DateInput/DateInputDateRange.doc.mjs +2 -2
  58. package/templates/blocks/components/FileInput/FileInputShowcase.tsx +4 -2
  59. package/templates/blocks/components/LinkProvider/LinkProviderCustomLink.doc.mjs +14 -0
  60. package/templates/blocks/components/LinkProvider/LinkProviderCustomLink.tsx +43 -0
  61. package/templates/blocks/components/MultiSelector/MultiSelectorShowcase.tsx +6 -2
  62. package/templates/blocks/components/NumberInput/NumberInputShowcase.tsx +6 -2
  63. package/templates/blocks/components/Outline/OutlineShowcase.doc.mjs +15 -0
  64. package/templates/blocks/components/Outline/OutlineShowcase.tsx +22 -0
  65. package/templates/blocks/components/RadioList/RadioListShowcase.tsx +8 -1
  66. package/templates/blocks/components/SegmentedControl/SegmentedControlShowcase.tsx +3 -1
  67. package/templates/blocks/components/Selector/SelectorShowcase.tsx +4 -1
  68. package/templates/blocks/components/Slider/SliderShowcase.tsx +10 -1
  69. package/templates/blocks/components/Tab/TabShowcase.tsx +3 -1
  70. package/templates/blocks/components/TabList/TabListShowcase.tsx +3 -1
  71. package/templates/blocks/components/TabMenu/TabMenuShowcase.tsx +3 -1
  72. package/templates/blocks/components/Table/ColumnResizeHookUsage.doc.mjs +14 -0
  73. package/templates/blocks/components/Table/ColumnResizeHookUsage.tsx +59 -0
  74. package/templates/blocks/components/Table/StickyColumnsHookUsage.doc.mjs +14 -0
  75. package/templates/blocks/components/Table/StickyColumnsHookUsage.tsx +104 -0
  76. package/templates/blocks/components/Text/TextColors.tsx +20 -5
  77. package/templates/blocks/components/TextArea/TextAreaShowcase.tsx +4 -2
  78. package/templates/blocks/components/TextInput/TextInputShowcase.tsx +4 -2
  79. package/templates/blocks/components/Thumbnail/ThumbnailDisabled.tsx +11 -6
  80. package/templates/blocks/components/Thumbnail/ThumbnailGallery.tsx +43 -7
  81. package/templates/blocks/components/Thumbnail/ThumbnailRemovable.tsx +40 -3
  82. package/templates/blocks/components/Thumbnail/ThumbnailShowcase.tsx +6 -5
  83. package/templates/blocks/components/Thumbnail/ThumbnailStates.tsx +11 -6
  84. package/templates/blocks/components/Timestamp/TimestampColors.tsx +2 -2
  85. package/templates/blocks/components/ToggleButton/ToggleButtonGroup.doc.mjs +1 -1
  86. package/templates/blocks/components/Tokenizer/TokenizerShowcase.tsx +8 -6
  87. package/templates/blocks/components/Toolbar/ToolbarTableFilter.doc.mjs +2 -2
  88. package/templates/blocks/components/Toolbar/ToolbarTableFilter.tsx +23 -14
  89. package/templates/blocks/components/Typeahead/TypeaheadShowcase.tsx +6 -2
  90. package/templates/pages/shell-nav/page.tsx +321 -0
  91. package/templates/pages/shell-nav/template.doc.mjs +12 -0
  92. package/templates/pages/shell-side-nav/page.tsx +242 -0
  93. package/templates/pages/shell-side-nav/template.doc.mjs +12 -0
  94. package/templates/pages/shell-top-nav/page.tsx +224 -0
  95. package/templates/pages/shell-top-nav/template.doc.mjs +12 -0
  96. package/templates/pages/theme-showcase/page.tsx +8 -19
  97. package/templates/themes/butter/butterTheme.ts +916 -0
  98. package/templates/themes/butter/icons.tsx +77 -0
  99. package/templates/themes/chocolate/chocolateTheme.ts +230 -0
  100. package/templates/themes/chocolate/icons.tsx +77 -0
  101. package/templates/themes/gothic/gothicTheme.ts +657 -0
  102. package/templates/themes/gothic/icons.tsx +77 -0
  103. package/templates/themes/manifest.json +90 -0
  104. package/templates/themes/matcha/icons.tsx +67 -0
  105. package/templates/themes/matcha/matchaTheme.ts +247 -0
  106. package/templates/themes/neutral/icons.tsx +77 -0
  107. package/templates/themes/neutral/neutralTheme.ts +603 -0
  108. package/templates/themes/stone/icons.tsx +77 -0
  109. package/templates/themes/stone/stoneTheme.ts +652 -0
  110. package/templates/themes/y2k/icons.tsx +67 -0
  111. package/templates/themes/y2k/y2kTheme.ts +617 -0
  112. package/templates/blocks/components/MoreMenu/MoreMenuInToolbar.doc.mjs +0 -14
  113. package/templates/blocks/components/MoreMenu/MoreMenuInToolbar.tsx +0 -57
@@ -0,0 +1,77 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file icons.tsx
5
+ * @input Uses lucide-react icon components, IconRegistry type
6
+ * @output Exports butterIconRegistry for the butter theme
7
+ * @position Icon configuration for the butter theme; consumed by index.ts
8
+ *
9
+ * Maps semantic icon names to Lucide icon components.
10
+ * These icons are bundled with the theme, not with @astryxdesign/core.
11
+ */
12
+
13
+ import React from 'react';
14
+ import type {IconRegistry} from '@astryxdesign/core/Icon';
15
+
16
+ import {
17
+ X,
18
+ ChevronDown,
19
+ ChevronLeft,
20
+ ChevronRight,
21
+ Check,
22
+ CheckCircle,
23
+ XCircle,
24
+ AlertTriangle,
25
+ Info,
26
+ Calendar,
27
+ Clock,
28
+ ExternalLink,
29
+ Menu,
30
+ MoreHorizontal,
31
+ Search,
32
+ ArrowUp,
33
+ ArrowDown,
34
+ ArrowUpDown,
35
+ Filter,
36
+ EyeOff,
37
+ Columns,
38
+ Copy,
39
+ CheckCheck,
40
+ Wrench,
41
+ Square,
42
+ Mic,
43
+ } from 'lucide-react';
44
+
45
+ const iconProps = {
46
+ size: '1em',
47
+ 'aria-hidden': true as const,
48
+ };
49
+
50
+ export const butterIconRegistry: IconRegistry = {
51
+ close: <X {...iconProps} />,
52
+ chevronDown: <ChevronDown {...iconProps} />,
53
+ chevronLeft: <ChevronLeft {...iconProps} />,
54
+ chevronRight: <ChevronRight {...iconProps} />,
55
+ check: <Check {...iconProps} />,
56
+ success: <CheckCircle {...iconProps} />,
57
+ error: <XCircle {...iconProps} />,
58
+ warning: <AlertTriangle {...iconProps} />,
59
+ info: <Info {...iconProps} />,
60
+ calendar: <Calendar {...iconProps} />,
61
+ clock: <Clock {...iconProps} />,
62
+ externalLink: <ExternalLink {...iconProps} />,
63
+ menu: <Menu {...iconProps} />,
64
+ moreHorizontal: <MoreHorizontal {...iconProps} />,
65
+ search: <Search {...iconProps} />,
66
+ arrowUp: <ArrowUp {...iconProps} />,
67
+ arrowDown: <ArrowDown {...iconProps} />,
68
+ arrowsUpDown: <ArrowUpDown {...iconProps} />,
69
+ funnel: <Filter {...iconProps} />,
70
+ eyeSlash: <EyeOff {...iconProps} />,
71
+ viewColumns: <Columns {...iconProps} />,
72
+ copy: <Copy {...iconProps} />,
73
+ checkDouble: <CheckCheck {...iconProps} />,
74
+ wrench: <Wrench {...iconProps} />,
75
+ stop: <Square {...iconProps} />,
76
+ microphone: <Mic {...iconProps} />,
77
+ };
@@ -0,0 +1,230 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * Chocolate Theme
5
+ *
6
+ * A warm, cozy theme inspired by rich chocolate and caramel tones.
7
+ * Core palette: #8C5927, #B88859, #C4AC95, #EDE4D4, #FFFCF7
8
+ * Uses Fraunces for headings and Albert Sans for body text.
9
+ */
10
+
11
+ import {defineTheme, defineSyntaxTheme} from '@astryxdesign/core/theme';
12
+ import {chocolateIconRegistry} from './icons';
13
+
14
+ /** Chocolate syntax palette — warm browns and amber tones. */
15
+ const chocolateSyntax = defineSyntaxTheme({
16
+ name: 'xds-chocolate',
17
+ tokens: {
18
+ keyword: ['#8C5927', '#d4a06a'],
19
+ string: ['#2e6b4a', '#7bc49e'],
20
+ comment: ['#B88859', '#B88859'],
21
+ number: ['#a06018', '#d4b870'],
22
+ function: ['#3a5e8c', '#7ba8d4'],
23
+ type: ['#6b4a8c', '#b08ed4'],
24
+ variable: ['#4a3520', '#EDE4D4'],
25
+ operator: ['#B88859', '#c4a882'],
26
+ constant: ['#a06018', '#d4b870'],
27
+ tag: ['#8c3a3a', '#d47a7a'],
28
+ attribute: ['#8C5927', '#d4a06a'],
29
+ property: ['#3a7c6b', '#70c4b0'],
30
+ punctuation: ['#B88859', '#6b5540'],
31
+ background: ['#FFFCF7', '#1c1610'],
32
+ },
33
+ });
34
+
35
+ export const chocolateTheme = defineTheme({
36
+ name: 'chocolate',
37
+
38
+ typography: {
39
+ scale: {base: 14, ratio: 1.2},
40
+ body: {
41
+ family: 'Albert Sans',
42
+ fallbacks:
43
+ '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif',
44
+ },
45
+ heading: {
46
+ family: 'Fraunces',
47
+ fallbacks:
48
+ 'Georgia, "Times New Roman", Times, serif',
49
+ weights: {3: 'bold', 4: 'bold'},
50
+ },
51
+ code: {
52
+ family: 'JetBrains Mono',
53
+ fallbacks: '"SF Mono", Monaco, Consolas, monospace',
54
+ },
55
+ },
56
+
57
+ motion: {fast: 125, medium: 300, slow: 700, ratio: 0.75},
58
+
59
+ syntax: chocolateSyntax,
60
+
61
+ tokens: {
62
+ // =========================================================================
63
+ // Colors — warm chocolate palette
64
+ // Core: #8C5927, #B88859, #C4AC95, #EDE4D4, #FFFCF7
65
+ // =========================================================================
66
+
67
+ // Core semantic
68
+ '--color-accent': ['#8C5927', '#d4a06a'],
69
+ '--color-accent-muted': ['#8C592714', '#d4a06a20'],
70
+ '--color-neutral': ['#8C59270F', '#EDE4D41A'],
71
+ '--color-background-surface': ['#FFFCF7', '#1c1610'],
72
+ '--color-background-body': ['#FFFCF7', '#141010'],
73
+ '--color-overlay': ['#4a352080', '#140e0aCC'],
74
+ '--color-overlay-hover': ['#4a35200D', '#EDE4D40D'],
75
+ '--color-overlay-pressed': ['#4a35201A', '#EDE4D41A'],
76
+ '--color-background-muted': ['#EDE4D4', '#2a2018'],
77
+
78
+ // Text
79
+ '--color-text-primary': ['#4a3520', '#EDE4D4'],
80
+ '--color-text-secondary': ['#B88859', '#c4a882'],
81
+ '--color-text-disabled': ['#C4AC95', '#6b5540'],
82
+ '--color-text-accent': ['#8C5927', '#d4a06a'],
83
+ '--color-on-dark': '#FFFCF7',
84
+ '--color-on-light': '#4a3520',
85
+ '--color-on-accent': ['#FFFFFF', '#4a3520'],
86
+ '--color-on-success': ['#FFFFFF', '#4a3520'],
87
+ '--color-on-error': ['#FFFFFF', '#4a3520'],
88
+ '--color-on-warning': ['#4a3520', '#4a3520'],
89
+
90
+ // Icon
91
+ '--color-icon-accent': ['#8C5927', '#d4a06a'],
92
+ '--color-icon-primary': ['#4a3520', '#EDE4D4'],
93
+ '--color-icon-secondary': ['#B88859', '#c4a882'],
94
+ '--color-icon-disabled': ['#C4AC95', '#6b5540'],
95
+
96
+ // Surface variants
97
+ '--color-background-card': ['#EDE4D4', '#2a2018'],
98
+ '--color-background-popover': ['#FFFCF7', '#2a2018'],
99
+ '--color-background-inverted': ['#4a3520', '#EDE4D4'],
100
+
101
+ // Status / Sentiment
102
+ '--color-success': ['#709900', '#96bf2a'],
103
+ '--color-success-muted': ['#70990020', '#96bf2a20'],
104
+ '--color-error': ['#FD0000', '#ff5c5c'],
105
+ '--color-error-muted': ['#FD000020', '#ff5c5c20'],
106
+ '--color-warning': ['#FFB600', '#ffc940'],
107
+ '--color-warning-muted': ['#FFB60020', '#ffc94020'],
108
+
109
+ // Border
110
+ '--color-border': ['#C4AC95', '#EDE4D41A'],
111
+ '--color-border-emphasized': ['#B88859', '#6b5540'],
112
+
113
+ // Effects
114
+ '--color-skeleton': ['#C4AC95', '#6b5540'],
115
+ '--color-shadow': ['#4a35201A', '#0000004D'],
116
+ '--color-tint-hover': ['black', 'white'],
117
+
118
+ // Categorical — Blue
119
+ '--color-background-blue': ['#3a5e8c33', '#3a5e8c33'],
120
+ '--color-border-blue': ['#3a5e8c', '#7ba8d4'],
121
+ '--color-icon-blue': ['#3a5e8c', '#7ba8d4'],
122
+ '--color-text-blue': ['#2e4a6e', '#8dbce0'],
123
+
124
+ // Categorical — Cyan
125
+ '--color-background-cyan': ['#3a7c7c33', '#3a7c7c33'],
126
+ '--color-border-cyan': ['#3a7c7c', '#70c4c4'],
127
+ '--color-icon-cyan': ['#3a7c7c', '#70c4c4'],
128
+ '--color-text-cyan': ['#2e6060', '#82d4d4'],
129
+
130
+ // Categorical — Gray
131
+ '--color-background-gray': ['#B8885933', '#6b554033'],
132
+ '--color-border-gray': ['#B88859', '#B88859'],
133
+ '--color-icon-gray': ['#B88859', '#c4a882'],
134
+ '--color-text-gray': ['#4a3520', '#EDE4D4'],
135
+
136
+ // Categorical — Green
137
+ '--color-background-green': ['#70990033', '#96bf2a33'],
138
+ '--color-border-green': ['#709900', '#96bf2a'],
139
+ '--color-icon-green': ['#709900', '#96bf2a'],
140
+ '--color-text-green': ['#5a7a00', '#a8d43a'],
141
+
142
+ // Categorical — Orange
143
+ '--color-background-orange': ['#c4762033', '#d4903a33'],
144
+ '--color-border-orange': ['#c47620', '#d4903a'],
145
+ '--color-icon-orange': ['#c47620', '#d4903a'],
146
+ '--color-text-orange': ['#a06018', '#e0a04a'],
147
+
148
+ // Categorical — Pink
149
+ '--color-background-pink': ['#c44a7033', '#e07a9a33'],
150
+ '--color-border-pink': ['#c44a70', '#e07a9a'],
151
+ '--color-icon-pink': ['#c44a70', '#e07a9a'],
152
+ '--color-text-pink': ['#a03a5a', '#f08aaa'],
153
+
154
+ // Categorical — Purple
155
+ '--color-background-purple': ['#6b4a8c33', '#b08ed433'],
156
+ '--color-border-purple': ['#6b4a8c', '#b08ed4'],
157
+ '--color-icon-purple': ['#6b4a8c', '#b08ed4'],
158
+ '--color-text-purple': ['#553a70', '#c0a0e0'],
159
+
160
+ // Categorical — Red
161
+ '--color-background-red': ['#FD000033', '#ff5c5c33'],
162
+ '--color-border-red': ['#FD0000', '#ff5c5c'],
163
+ '--color-icon-red': ['#FD0000', '#ff5c5c'],
164
+ '--color-text-red': ['#cc0000', '#ff7a7a'],
165
+
166
+ // Categorical — Teal
167
+ '--color-background-teal': ['#2e6b5a33', '#5ab89833'],
168
+ '--color-border-teal': ['#2e6b5a', '#5ab898'],
169
+ '--color-icon-teal': ['#2e6b5a', '#5ab898'],
170
+ '--color-text-teal': ['#245546', '#6ccaaa'],
171
+
172
+ // Categorical — Yellow
173
+ '--color-background-yellow': ['#FFB60033', '#ffc94033'],
174
+ '--color-border-yellow': ['#FFB600', '#ffc940'],
175
+ '--color-icon-yellow': ['#FFB600', '#ffc940'],
176
+ '--color-text-yellow': ['#cc9200', '#ffd960'],
177
+
178
+ // =========================================================================
179
+ // Radius — soft and rounded
180
+ // =========================================================================
181
+ '--radius-none': '0.125rem',
182
+ '--radius-inner': '0.375rem',
183
+ '--radius-element': '0.625rem',
184
+ '--radius-container': '0.75rem',
185
+ '--radius-page': '1.5rem',
186
+ '--radius-full': '9999px',
187
+
188
+ // =========================================================================
189
+ // Shadows — warm-toned
190
+ // =========================================================================
191
+ '--shadow-low':
192
+ '0 2px 4px #4a35200D, 0 4px 8px #4a35201A',
193
+ '--shadow-med':
194
+ '0 2px 4px #4a35200D, 0 4px 12px #4a35201A',
195
+ '--shadow-high':
196
+ '0 4px 6px #4a35201A, 0 12px 24px #4a352026',
197
+ '--shadow-inset-hover': 'inset 0px 0px 0px 2px #8C592730',
198
+ '--shadow-inset-selected': 'inset 0px 0px 0px 2px #8C592750',
199
+ '--shadow-inset-success': 'inset 0px 0px 0px 2px #70990050',
200
+ '--shadow-inset-warning': 'inset 0px 0px 0px 2px #FFB60050',
201
+ '--shadow-inset-error': 'inset 0px 0px 0px 2px #FD000050',
202
+ },
203
+
204
+ components: {
205
+ button: {
206
+ base: {
207
+ borderRadius: 'var(--radius-full)',
208
+ },
209
+ 'variant:secondary': {
210
+ borderWidth: '1px',
211
+ borderStyle: 'solid',
212
+ borderColor: 'var(--color-border-emphasized)',
213
+ },
214
+ },
215
+
216
+ card: {
217
+ base: {
218
+ padding: 'var(--spacing-3)',
219
+ },
220
+ },
221
+
222
+ section: {
223
+ base: {
224
+ padding: 'var(--spacing-3)',
225
+ },
226
+ },
227
+ },
228
+
229
+ icons: chocolateIconRegistry,
230
+ });
@@ -0,0 +1,77 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /**
4
+ * @file icons.tsx
5
+ * @input Uses lucide-react icon components, IconRegistry type
6
+ * @output Exports chocolateIconRegistry for the neutral theme
7
+ * @position Icon configuration for the neutral theme; consumed by index.ts
8
+ *
9
+ * Maps semantic icon names to Lucide icon components.
10
+ * These icons are bundled with the theme, not with @astryxdesign/core.
11
+ */
12
+
13
+ import React from 'react';
14
+ import type {IconRegistry} from '@astryxdesign/core/Icon';
15
+
16
+ import {
17
+ X,
18
+ ChevronDown,
19
+ ChevronLeft,
20
+ ChevronRight,
21
+ Check,
22
+ CheckCircle,
23
+ XCircle,
24
+ AlertTriangle,
25
+ Info,
26
+ Calendar,
27
+ Clock,
28
+ ExternalLink,
29
+ Menu,
30
+ MoreHorizontal,
31
+ Search,
32
+ ArrowUp,
33
+ ArrowDown,
34
+ ArrowUpDown,
35
+ Filter,
36
+ EyeOff,
37
+ Columns,
38
+ Copy,
39
+ CheckCheck,
40
+ Wrench,
41
+ Square,
42
+ Mic,
43
+ } from 'lucide-react';
44
+
45
+ const iconProps = {
46
+ size: '1em',
47
+ 'aria-hidden': true as const,
48
+ };
49
+
50
+ export const chocolateIconRegistry: IconRegistry = {
51
+ close: <X {...iconProps} />,
52
+ chevronDown: <ChevronDown {...iconProps} />,
53
+ chevronLeft: <ChevronLeft {...iconProps} />,
54
+ chevronRight: <ChevronRight {...iconProps} />,
55
+ check: <Check {...iconProps} />,
56
+ success: <CheckCircle {...iconProps} />,
57
+ error: <XCircle {...iconProps} />,
58
+ warning: <AlertTriangle {...iconProps} />,
59
+ info: <Info {...iconProps} />,
60
+ calendar: <Calendar {...iconProps} />,
61
+ clock: <Clock {...iconProps} />,
62
+ externalLink: <ExternalLink {...iconProps} />,
63
+ menu: <Menu {...iconProps} />,
64
+ moreHorizontal: <MoreHorizontal {...iconProps} />,
65
+ search: <Search {...iconProps} />,
66
+ arrowUp: <ArrowUp {...iconProps} />,
67
+ arrowDown: <ArrowDown {...iconProps} />,
68
+ arrowsUpDown: <ArrowUpDown {...iconProps} />,
69
+ funnel: <Filter {...iconProps} />,
70
+ eyeSlash: <EyeOff {...iconProps} />,
71
+ viewColumns: <Columns {...iconProps} />,
72
+ copy: <Copy {...iconProps} />,
73
+ checkDouble: <CheckCheck {...iconProps} />,
74
+ wrench: <Wrench {...iconProps} />,
75
+ stop: <Square {...iconProps} />,
76
+ microphone: <Mic {...iconProps} />,
77
+ };