tonkean-tcltext 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +114 -0
  2. package/dist/components/ButtonToken.d.ts +17 -0
  3. package/dist/components/ButtonToken.d.ts.map +1 -0
  4. package/dist/components/ButtonToken.js +234 -0
  5. package/dist/components/ButtonToken.js.map +1 -0
  6. package/dist/components/ColorSelectToken.d.ts +17 -0
  7. package/dist/components/ColorSelectToken.d.ts.map +1 -0
  8. package/dist/components/ColorSelectToken.js +499 -0
  9. package/dist/components/ColorSelectToken.js.map +1 -0
  10. package/dist/components/ColorSwatch.d.ts +9 -0
  11. package/dist/components/ColorSwatch.d.ts.map +1 -0
  12. package/dist/components/ColorSwatch.js +12 -0
  13. package/dist/components/ColorSwatch.js.map +1 -0
  14. package/dist/components/IconItem.d.ts +17 -0
  15. package/dist/components/IconItem.d.ts.map +1 -0
  16. package/dist/components/IconItem.js +64 -0
  17. package/dist/components/IconItem.js.map +1 -0
  18. package/dist/components/InputToken.d.ts +15 -0
  19. package/dist/components/InputToken.d.ts.map +1 -0
  20. package/dist/components/InputToken.js +203 -0
  21. package/dist/components/InputToken.js.map +1 -0
  22. package/dist/components/MultiSelectToken.d.ts +18 -0
  23. package/dist/components/MultiSelectToken.d.ts.map +1 -0
  24. package/dist/components/MultiSelectToken.js +568 -0
  25. package/dist/components/MultiSelectToken.js.map +1 -0
  26. package/dist/components/NumericInputToken.d.ts +16 -0
  27. package/dist/components/NumericInputToken.d.ts.map +1 -0
  28. package/dist/components/NumericInputToken.js +322 -0
  29. package/dist/components/NumericInputToken.js.map +1 -0
  30. package/dist/components/SelectToken.d.ts +18 -0
  31. package/dist/components/SelectToken.d.ts.map +1 -0
  32. package/dist/components/SelectToken.js +357 -0
  33. package/dist/components/SelectToken.js.map +1 -0
  34. package/dist/components/TCLText.d.ts +28 -0
  35. package/dist/components/TCLText.d.ts.map +1 -0
  36. package/dist/components/TCLText.js +89 -0
  37. package/dist/components/TCLText.js.map +1 -0
  38. package/dist/components/hooks/useTooltipOnTruncation.d.ts +20 -0
  39. package/dist/components/hooks/useTooltipOnTruncation.d.ts.map +1 -0
  40. package/dist/components/hooks/useTooltipOnTruncation.js +62 -0
  41. package/dist/components/hooks/useTooltipOnTruncation.js.map +1 -0
  42. package/dist/components/iconLibrary.d.ts +3 -0
  43. package/dist/components/iconLibrary.d.ts.map +1 -0
  44. package/dist/components/iconLibrary.js +58 -0
  45. package/dist/components/iconLibrary.js.map +1 -0
  46. package/dist/components/iconLoader.d.ts +5 -0
  47. package/dist/components/iconLoader.d.ts.map +1 -0
  48. package/dist/components/iconLoader.js +113 -0
  49. package/dist/components/iconLoader.js.map +1 -0
  50. package/dist/index.d.ts +5 -0
  51. package/dist/index.d.ts.map +1 -0
  52. package/dist/index.js +7 -0
  53. package/dist/index.js.map +1 -0
  54. package/dist/tokens/buttons.json +198 -0
  55. package/dist/tokens/colors.json +93 -0
  56. package/dist/tokens/index.d.ts +7 -0
  57. package/dist/tokens/index.d.ts.map +1 -0
  58. package/dist/tokens/index.js +6 -0
  59. package/dist/tokens/index.js.map +1 -0
  60. package/dist/tokens/inputs.json +304 -0
  61. package/dist/tokens/types.d.ts +9 -0
  62. package/dist/tokens/types.d.ts.map +1 -0
  63. package/dist/tokens/types.js +2 -0
  64. package/dist/tokens/types.js.map +1 -0
  65. package/dist/tokens/typography.json +37 -0
  66. package/package.json +59 -0
  67. package/src/styles/tokens.css +274 -0
@@ -0,0 +1,322 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React, { useState } from 'react';
3
+ import { inputs, colors, typography } from '../tokens';
4
+ // Chevron icon components
5
+ const ChevronUpIcon = ({ color, size = 14 }) => (_jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M18 15L12 9L6 15", stroke: color, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
6
+ const ChevronDownIcon = ({ color, size = 14 }) => (_jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M6 9L12 15L18 9", stroke: color, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
7
+ // Helper function to resolve color references from tokens
8
+ const resolveColor = (colorRef) => {
9
+ if (colorRef.startsWith('#') || colorRef === 'transparent' || colorRef === 'none') {
10
+ return colorRef;
11
+ }
12
+ const parts = colorRef.split('.');
13
+ if (parts.length === 2) {
14
+ const [category, shade] = parts;
15
+ const colorCategory = colors.colors[category];
16
+ if (colorCategory && typeof colorCategory === 'object') {
17
+ const colorValue = colorCategory[shade];
18
+ if (colorValue) {
19
+ return colorValue;
20
+ }
21
+ }
22
+ }
23
+ return colorRef;
24
+ };
25
+ // Helper function to resolve border string
26
+ const resolveBorder = (border) => {
27
+ if (border === 'none' || border === 'transparent') {
28
+ return border;
29
+ }
30
+ return border.replace(/(\w+\.\w+)/g, (match) => resolveColor(match));
31
+ };
32
+ // Helper function to get the next darker shade of a color
33
+ const getDarkerShade = (colorRef) => {
34
+ if (colorRef.startsWith('#') || colorRef === 'transparent' || colorRef === 'none') {
35
+ return colorRef;
36
+ }
37
+ const parts = colorRef.split('.');
38
+ if (parts.length === 2) {
39
+ const [category, shade] = parts;
40
+ if (category === 'basic') {
41
+ return colorRef;
42
+ }
43
+ const shadeLevels = ['50', '100', '200', '300', '400', '500', '600', '700', '800', '900'];
44
+ const currentIndex = shadeLevels.indexOf(shade);
45
+ if (currentIndex !== -1 && currentIndex < shadeLevels.length - 1) {
46
+ const nextShade = shadeLevels[currentIndex + 1];
47
+ return `${category}.${nextShade}`;
48
+ }
49
+ }
50
+ return colorRef;
51
+ };
52
+ // Helper function to get hover border
53
+ const getHoverBorder = (border) => {
54
+ if (border === 'none' || border === 'transparent') {
55
+ return border;
56
+ }
57
+ return border.replace(/(\w+\.\w+)/g, (match) => {
58
+ const darkerShade = getDarkerShade(match);
59
+ return resolveColor(darkerShade);
60
+ });
61
+ };
62
+ // Helper function to resolve typography values
63
+ const resolveTypography = {
64
+ fontFamily: (family = 'roboto') => {
65
+ const fontFamily = typography.typography.fontFamilies[family];
66
+ return Array.isArray(fontFamily) ? fontFamily.join(', ') : fontFamily;
67
+ },
68
+ fontSize: (size) => {
69
+ return typography.typography.fontSizes[size];
70
+ },
71
+ fontWeight: (weight) => {
72
+ return typography.typography.fontWeights[weight];
73
+ },
74
+ lineHeight: (height) => {
75
+ return typography.typography.lineHeights[height];
76
+ },
77
+ letterSpacing: (spacing) => {
78
+ return typography.typography.letterSpacing[spacing];
79
+ },
80
+ };
81
+ export const NumericInputToken = ({ state, showLabel = true, label = 'Placeholder', placeholder = 'Set Number', value: initialValue, hasError = false, errorMessage = 'Error message goes here', prefixIcon, suffixIcon, }) => {
82
+ const [inputValue, setInputValue] = useState('');
83
+ const [isHovered, setIsHovered] = useState(false);
84
+ const [isFocused, setIsFocused] = useState(false);
85
+ const [hoveredChevron, setHoveredChevron] = useState(null);
86
+ const typeTokens = inputs.inputs.types.numberInput;
87
+ const stateTokens = typeTokens[state];
88
+ const sizeTokens = inputs.inputs.sizes.regular;
89
+ if (!stateTokens) {
90
+ return _jsxs("div", { children: ["Invalid state: ", state, " for type: numberInput"] });
91
+ }
92
+ // Resolve colors from token references
93
+ const resolvedBackground = resolveColor(stateTokens.background);
94
+ const resolvedText = resolveColor(stateTokens.text);
95
+ const resolvedPlaceholder = resolveColor(stateTokens.placeholder || stateTokens.text);
96
+ const resolvedBorder = resolveBorder(stateTokens.border);
97
+ const resolvedIcon = resolveColor(stateTokens.icon || stateTokens.text);
98
+ const resolvedLabel = stateTokens.label ? resolveColor(stateTokens.label) : resolvedText;
99
+ const resolvedErrorMessage = stateTokens.errorMessage ? resolveColor(stateTokens.errorMessage) : '#EF4444';
100
+ // Determine if input should show placeholder or value
101
+ const isDisabled = state.includes('disabled');
102
+ const currentValue = initialValue !== undefined ? initialValue : inputValue;
103
+ const showPlaceholder = !currentValue;
104
+ const textColor = showPlaceholder ? resolvedPlaceholder : resolvedText;
105
+ // Get active state tokens for focus styling
106
+ const activeStateTokens = typeTokens['active'];
107
+ const activeBorder = activeStateTokens ? resolveBorder(activeStateTokens.border) : resolvedBorder;
108
+ // Calculate hover border (one shade darker) - only if not disabled, not in error state, and border exists
109
+ const shouldShowHover = !isDisabled && !hasError && stateTokens.border !== 'none' && stateTokens.border !== 'transparent';
110
+ const hoverBorder = shouldShowHover ? getHoverBorder(stateTokens.border) : resolvedBorder;
111
+ // Determine border color: focus > hover > default
112
+ const getBorderColor = () => {
113
+ if (isFocused && !isDisabled && !hasError && activeStateTokens) {
114
+ return activeBorder;
115
+ }
116
+ if (isHovered && shouldShowHover) {
117
+ return hoverBorder;
118
+ }
119
+ return resolvedBorder;
120
+ };
121
+ // Icon color follows the same pattern as basic input - use resolvedIcon for all states
122
+ const getIconColor = () => {
123
+ return resolvedIcon;
124
+ };
125
+ // Helper function to render icon
126
+ const renderIcon = (iconData, size = 16) => {
127
+ if (!iconData)
128
+ return null;
129
+ const iconColor = resolvedIcon;
130
+ // Process SVG string similar to ButtonToken
131
+ if (iconData.svg) {
132
+ let processedSvg = iconData.svg;
133
+ // Update width and height attributes
134
+ processedSvg = processedSvg.replace(/width="[^"]*"/gi, `width="${size}"`);
135
+ processedSvg = processedSvg.replace(/height="[^"]*"/gi, `height="${size}"`);
136
+ // If SVG doesn't have width/height, add them
137
+ if (!processedSvg.match(/width\s*=/i)) {
138
+ processedSvg = processedSvg.replace(/<svg([^>]*?)>/i, (match, attrs) => `<svg${attrs} width="${size}" height="${size}">`);
139
+ }
140
+ // Replace black with actual icon color (handle both stroke and fill)
141
+ processedSvg = processedSvg.replace(/stroke="black"/gi, `stroke="${iconColor}"`);
142
+ processedSvg = processedSvg.replace(/fill="black"/gi, `fill="${iconColor}"`);
143
+ // Replace currentColor with actual icon color
144
+ processedSvg = processedSvg.replace(/stroke="currentColor"/gi, `stroke="${iconColor}"`);
145
+ processedSvg = processedSvg.replace(/fill="currentColor"/gi, `fill="${iconColor}"`);
146
+ // Set stroke-width to 2px for all stroke elements
147
+ processedSvg = processedSvg.replace(/stroke-width="[^"]*"/gi, 'stroke-width="2"');
148
+ processedSvg = processedSvg.replace(/strokeWidth="[^"]*"/gi, 'strokeWidth="2"');
149
+ // Add stroke-width="2" to all elements that have stroke but no stroke-width
150
+ processedSvg = processedSvg.replace(/(<(path|line|polyline|polygon|circle|ellipse|rect)[^>]*stroke="[^"]*"[^>]*?)(?![^>]*stroke-width)(?![^>]*strokeWidth)([^>]*>)/gi, (match, before, tag, after) => {
151
+ return `${before} stroke-width="2"${after}`;
152
+ });
153
+ return (_jsx("span", { style: {
154
+ width: `${size}px`,
155
+ height: `${size}px`,
156
+ display: 'inline-flex',
157
+ alignItems: 'center',
158
+ justifyContent: 'center',
159
+ flexShrink: 0,
160
+ color: iconColor,
161
+ lineHeight: 0,
162
+ }, dangerouslySetInnerHTML: { __html: processedSvg } }));
163
+ }
164
+ if (iconData.component) {
165
+ return (_jsx("span", { style: {
166
+ width: `${size}px`,
167
+ height: `${size}px`,
168
+ display: 'inline-flex',
169
+ alignItems: 'center',
170
+ justifyContent: 'center',
171
+ flexShrink: 0,
172
+ color: iconColor,
173
+ }, children: React.cloneElement(iconData.component, {
174
+ width: size,
175
+ height: size,
176
+ style: { color: iconColor },
177
+ }) }));
178
+ }
179
+ return null;
180
+ };
181
+ // Helper function to format number with commas
182
+ const formatNumber = (value) => {
183
+ if (!value)
184
+ return '';
185
+ // Remove all non-numeric characters
186
+ const numericValue = value.replace(/[^0-9]/g, '');
187
+ if (!numericValue)
188
+ return '';
189
+ // Add commas every 3 digits from right to left
190
+ return numericValue.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
191
+ };
192
+ // Helper function to remove formatting (commas) from number
193
+ const unformatNumber = (value) => {
194
+ return value.replace(/,/g, '');
195
+ };
196
+ const inputContainerStyle = {
197
+ width: '100%',
198
+ position: 'relative',
199
+ display: 'flex',
200
+ alignItems: 'center',
201
+ padding: `${sizeTokens.padding.vertical} ${sizeTokens.padding.horizontal}`,
202
+ paddingRight: '8px', // Less padding on right to accommodate chevrons
203
+ paddingLeft: prefixIcon ? '8px' : `${sizeTokens.padding.horizontal}`, // Adjust left padding if prefix icon exists
204
+ fontSize: resolveTypography.fontSize('base'),
205
+ minHeight: sizeTokens.minHeight,
206
+ borderRadius: inputs.inputs.borderRadius,
207
+ border: getBorderColor(),
208
+ backgroundColor: resolvedBackground,
209
+ color: textColor,
210
+ fontFamily: resolveTypography.fontFamily('roboto'),
211
+ fontWeight: resolveTypography.fontWeight('regular'),
212
+ lineHeight: resolveTypography.lineHeight('normal'),
213
+ letterSpacing: resolveTypography.letterSpacing('normal'),
214
+ cursor: isDisabled ? 'not-allowed' : 'text',
215
+ opacity: isDisabled ? 0.6 : 1,
216
+ gap: '8px',
217
+ boxSizing: 'border-box',
218
+ transition: 'border-color 0.2s ease',
219
+ };
220
+ const inputStyle = {
221
+ border: 'none',
222
+ outline: 'none',
223
+ background: 'transparent',
224
+ color: textColor,
225
+ fontSize: resolveTypography.fontSize('base'),
226
+ fontFamily: resolveTypography.fontFamily('roboto'),
227
+ fontWeight: resolveTypography.fontWeight('regular'),
228
+ lineHeight: '1.5', // Better line height for vertical centering
229
+ letterSpacing: resolveTypography.letterSpacing('normal'),
230
+ flex: 1,
231
+ minWidth: '0',
232
+ width: '100%',
233
+ padding: '0',
234
+ margin: '0',
235
+ verticalAlign: 'middle',
236
+ };
237
+ const handleInputChange = (e) => {
238
+ if (!isDisabled) {
239
+ // Remove formatting and keep only numeric characters
240
+ const unformatted = unformatNumber(e.target.value);
241
+ const numericValue = unformatted.replace(/[^0-9]/g, '');
242
+ setInputValue(numericValue);
243
+ }
244
+ };
245
+ // Get the raw numeric value (without formatting)
246
+ const rawValue = inputValue !== '' ? inputValue : (initialValue ? unformatNumber(initialValue) : '');
247
+ // Format the value for display
248
+ const displayValue = rawValue ? formatNumber(rawValue) : '';
249
+ const isReadOnly = state === 'disabledPlaceholder';
250
+ const iconColor = getIconColor();
251
+ const chevronButtonStyle = {
252
+ display: 'flex',
253
+ flexDirection: 'column',
254
+ alignItems: 'center',
255
+ justifyContent: 'center',
256
+ gap: '2px',
257
+ padding: '0',
258
+ cursor: isDisabled ? 'not-allowed' : 'pointer',
259
+ userSelect: 'none',
260
+ width: '14px',
261
+ height: '22px',
262
+ flexShrink: 0,
263
+ alignSelf: 'center', // Ensure it's centered vertically with the input
264
+ };
265
+ // Get hover color for chevrons (darker shade)
266
+ const getChevronHoverColor = () => {
267
+ if (isDisabled)
268
+ return iconColor;
269
+ // Get a darker shade for hover
270
+ const parts = (stateTokens.icon || stateTokens.text).split('.');
271
+ if (parts.length === 2) {
272
+ const [category, shade] = parts;
273
+ if (category === 'gray') {
274
+ // For gray icons, use a darker shade on hover
275
+ const shadeLevels = ['50', '100', '200', '300', '400', '500', '600', '700', '800', '900'];
276
+ const currentIndex = shadeLevels.indexOf(shade);
277
+ if (currentIndex !== -1 && currentIndex < shadeLevels.length - 1) {
278
+ const darkerShade = shadeLevels[Math.min(currentIndex + 2, shadeLevels.length - 1)];
279
+ return resolveColor(`${category}.${darkerShade}`);
280
+ }
281
+ }
282
+ }
283
+ // Fallback: use gray.700 for hover
284
+ return resolveColor('gray.700');
285
+ };
286
+ const chevronHoverColor = getChevronHoverColor();
287
+ const chevronStyle = {
288
+ width: '14px',
289
+ height: '11px',
290
+ display: 'flex',
291
+ alignItems: 'center',
292
+ justifyContent: 'center',
293
+ lineHeight: 0,
294
+ transition: 'opacity 0.2s ease',
295
+ };
296
+ const handleChevronClick = (direction) => {
297
+ if (isDisabled)
298
+ return;
299
+ const currentNum = parseInt(rawValue) || 0;
300
+ const newValue = direction === 'up' ? currentNum + 1 : Math.max(0, currentNum - 1);
301
+ setInputValue(newValue.toString());
302
+ };
303
+ const iconSize = 16; // Size for prefix/suffix icons
304
+ return (_jsxs("div", { style: { marginBottom: hasError ? '1.5rem' : '1rem', width: '100%', maxWidth: '400px' }, children: [showLabel && (_jsx("div", { style: {
305
+ fontSize: resolveTypography.fontSize('sm'),
306
+ color: hasError ? resolvedErrorMessage : resolvedLabel,
307
+ marginBottom: '0.5rem',
308
+ fontWeight: resolveTypography.fontWeight('medium'),
309
+ fontFamily: resolveTypography.fontFamily('roboto'),
310
+ lineHeight: resolveTypography.lineHeight('normal'),
311
+ letterSpacing: resolveTypography.letterSpacing('normal'),
312
+ }, children: label })), _jsx("div", { style: { position: 'relative' }, children: _jsxs("div", { style: inputContainerStyle, onMouseEnter: () => shouldShowHover && setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [prefixIcon && renderIcon(prefixIcon, iconSize), _jsx("input", { type: "text", inputMode: "numeric", value: displayValue, onChange: handleInputChange, onFocus: () => !isDisabled && setIsFocused(true), onBlur: () => setIsFocused(false), placeholder: placeholder, style: inputStyle, disabled: isDisabled, readOnly: isReadOnly }), suffixIcon && renderIcon(suffixIcon, iconSize), _jsxs("div", { style: chevronButtonStyle, children: [_jsx("div", { style: chevronStyle, onClick: () => handleChevronClick('up'), onMouseDown: (e) => e.preventDefault(), onMouseEnter: () => !isDisabled && setHoveredChevron('up'), onMouseLeave: () => setHoveredChevron(null), children: _jsx(ChevronUpIcon, { color: hoveredChevron === 'up' ? chevronHoverColor : iconColor, size: 14 }) }), _jsx("div", { style: chevronStyle, onClick: () => handleChevronClick('down'), onMouseDown: (e) => e.preventDefault(), onMouseEnter: () => !isDisabled && setHoveredChevron('down'), onMouseLeave: () => setHoveredChevron(null), children: _jsx(ChevronDownIcon, { color: hoveredChevron === 'down' ? chevronHoverColor : iconColor, size: 14 }) })] })] }) }), hasError && errorMessage && (_jsx("div", { style: {
313
+ fontSize: resolveTypography.fontSize('xs'),
314
+ color: resolvedErrorMessage,
315
+ marginTop: '0.25rem',
316
+ fontFamily: resolveTypography.fontFamily('roboto'),
317
+ fontWeight: resolveTypography.fontWeight('regular'),
318
+ lineHeight: resolveTypography.lineHeight('normal'),
319
+ letterSpacing: resolveTypography.letterSpacing('normal'),
320
+ }, children: errorMessage }))] }));
321
+ };
322
+ //# sourceMappingURL=NumericInputToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumericInputToken.js","sourceRoot":"","sources":["../../src/components/NumericInputToken.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { IconData } from './IconItem';
3
+ interface SelectTokenProps {
4
+ state: 'empty' | 'focus' | 'filled' | 'disabled' | 'hover' | 'open';
5
+ showLabel?: boolean;
6
+ label?: string;
7
+ placeholder?: string;
8
+ value?: string;
9
+ leftIcon?: IconData | null;
10
+ options?: Array<{
11
+ label: string;
12
+ icon?: IconData | null;
13
+ }>;
14
+ onSelect?: (value: string) => void;
15
+ }
16
+ export declare const SelectToken: React.FC<SelectTokenProps>;
17
+ export {};
18
+ //# sourceMappingURL=SelectToken.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectToken.d.ts","sourceRoot":"","sources":["../../src/components/SelectToken.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAG3D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,UAAU,gBAAgB;IACxB,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;IACpE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC3D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AA6FD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA2YlD,CAAC"}