@zimyo/ui 1.1.8 → 1.1.9

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 (40) hide show
  1. package/dist/Accordion/index.d.ts +34 -0
  2. package/dist/Accordion/index.esm.js +239 -0
  3. package/dist/Accordion/index.js +247 -0
  4. package/dist/Button/index.d.ts +15 -0
  5. package/dist/Button/index.esm.js +13 -0
  6. package/dist/Button/index.js +18 -0
  7. package/dist/Card/index.d.ts +41 -0
  8. package/dist/Card/index.esm.js +36 -0
  9. package/dist/Card/index.js +38 -0
  10. package/dist/Modal/index.d.ts +17 -0
  11. package/dist/Modal/index.esm.js +144 -0
  12. package/dist/Modal/index.js +149 -0
  13. package/dist/Popover/index.d.ts +19 -0
  14. package/dist/Popover/index.esm.js +22 -0
  15. package/dist/Popover/index.js +27 -0
  16. package/dist/RadioGroup/index.d.ts +31 -0
  17. package/dist/RadioGroup/index.esm.js +91 -0
  18. package/dist/RadioGroup/index.js +96 -0
  19. package/dist/Select/index.d.ts +22 -0
  20. package/dist/Select/index.esm.js +195 -0
  21. package/dist/Select/index.js +200 -0
  22. package/dist/Switch/index.d.ts +14 -0
  23. package/dist/Switch/index.esm.js +9 -0
  24. package/dist/Switch/index.js +14 -0
  25. package/dist/Tabs/index.d.ts +36 -0
  26. package/dist/Tabs/index.esm.js +202 -0
  27. package/dist/Tabs/index.js +207 -0
  28. package/dist/TextInput/index.d.ts +18 -0
  29. package/dist/TextInput/index.esm.js +33 -0
  30. package/dist/TextInput/index.js +38 -0
  31. package/dist/Typography/index.d.ts +30 -0
  32. package/dist/Typography/index.esm.js +57 -0
  33. package/dist/Typography/index.js +66 -0
  34. package/dist/index.d.ts +222 -0
  35. package/dist/index.esm.js +750 -0
  36. package/dist/index.js +772 -0
  37. package/dist/theme/index.d.ts +91 -0
  38. package/dist/theme/index.esm.js +234 -0
  39. package/dist/theme/index.js +239 -0
  40. package/package.json +1 -1
package/dist/index.js ADDED
@@ -0,0 +1,772 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var React = require('react');
5
+ var material = require('@mui/material');
6
+ var MuiCardContent = require('@mui/material/CardContent');
7
+ var CardMedia = require('@mui/material/CardMedia');
8
+ var styles = require('@mui/material/styles');
9
+
10
+ const Button = React.forwardRef(({ children, loading = false, loadingText, loaderSize = 18, loaderPosition = 'start', variant = 'contained', color = 'primary', size = 'medium', sx = {}, disabled, startIcon, endIcon, ...props }, ref) => {
11
+ const showStartSpinner = loading && loaderPosition === 'start';
12
+ const showEndSpinner = loading && loaderPosition === 'end';
13
+ const showCenterSpinner = loading && loaderPosition === 'center';
14
+ return (jsxRuntime.jsx(material.Button, { ref: ref, variant: variant, color: color, disabled: disabled || loading, size: size, startIcon: showStartSpinner ? (jsxRuntime.jsx(material.CircularProgress, { size: loaderSize, color: "inherit" })) : (startIcon), endIcon: showEndSpinner ? (jsxRuntime.jsx(material.CircularProgress, { size: loaderSize, color: "inherit" })) : (endIcon), sx: { position: 'relative', ...sx }, ...props, children: showCenterSpinner ? (jsxRuntime.jsx(material.CircularProgress, { size: loaderSize, color: "inherit" })) : loading && loadingText ? (loadingText) : (children) }));
15
+ });
16
+ Button.displayName = 'Button';
17
+
18
+ const CardRoot = ({ children, sx = {}, elevation = 1, variant = 'elevated', ...props }) => {
19
+ const theme = material.useTheme();
20
+ return (jsxRuntime.jsx(material.Card, { elevation: variant === 'elevated' ? elevation : 0, variant: variant === 'outlined' ? 'outlined' : 'elevation', sx: {
21
+ borderRadius: theme.radius?.sm || 8,
22
+ border: variant === 'bordered' ? `1px solid ${theme.palette.divider}` : 'none',
23
+ overflow: 'hidden',
24
+ backgroundColor: theme.palette.background.paper,
25
+ ...sx,
26
+ }, ...props, children: children }));
27
+ };
28
+
29
+ const CardHeader = ({ title, subtitle, action, }) => (jsxRuntime.jsx(material.CardHeader, { title: typeof title === 'string' ? (jsxRuntime.jsx(material.Typography, { variant: "h6", fontWeight: 600, children: title })) : (title), subheader: typeof subtitle === 'string' ? (jsxRuntime.jsx(material.Typography, { variant: "body2", color: "text.secondary", children: subtitle })) : (subtitle), action: action }));
30
+
31
+ const CardContent = ({ children, sx }) => (jsxRuntime.jsx(MuiCardContent, { sx: sx, children: children }));
32
+
33
+ const CardActions = ({ children, sx }) => (jsxRuntime.jsx(material.CardActions, { sx: sx, children: children }));
34
+
35
+ const CardImage = ({ src, height = 160, alt = 'card image' }) => (jsxRuntime.jsx(CardMedia, { component: "img", height: height, image: src, alt: alt }));
36
+
37
+ const CardSkeleton = ({ lines = 3 }) => (jsxRuntime.jsxs(material.Box, { p: 2, children: [jsxRuntime.jsx(material.Skeleton, { variant: "rectangular", height: 140 }), [...Array(lines)].map((_, i) => (jsxRuntime.jsx(material.Skeleton, { variant: "text", height: 20, sx: { mt: 1 } }, i)))] }));
38
+
39
+ Object.assign(CardRoot, {
40
+ Header: CardHeader,
41
+ Content: CardContent,
42
+ Body: CardContent, // alias
43
+ Actions: CardActions,
44
+ Image: CardImage,
45
+ Skeleton: CardSkeleton,
46
+ });
47
+
48
+ /**
49
+ * @license lucide-react v0.525.0 - ISC
50
+ *
51
+ * This source code is licensed under the ISC license.
52
+ * See the LICENSE file in the root directory of this source tree.
53
+ */
54
+
55
+ const toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
56
+ const toCamelCase = (string) => string.replace(
57
+ /^([A-Z])|[\s-_]+(\w)/g,
58
+ (match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase()
59
+ );
60
+ const toPascalCase = (string) => {
61
+ const camelCase = toCamelCase(string);
62
+ return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);
63
+ };
64
+ const mergeClasses = (...classes) => classes.filter((className, index, array) => {
65
+ return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
66
+ }).join(" ").trim();
67
+ const hasA11yProp = (props) => {
68
+ for (const prop in props) {
69
+ if (prop.startsWith("aria-") || prop === "role" || prop === "title") {
70
+ return true;
71
+ }
72
+ }
73
+ };
74
+
75
+ /**
76
+ * @license lucide-react v0.525.0 - ISC
77
+ *
78
+ * This source code is licensed under the ISC license.
79
+ * See the LICENSE file in the root directory of this source tree.
80
+ */
81
+
82
+ var defaultAttributes = {
83
+ xmlns: "http://www.w3.org/2000/svg",
84
+ width: 24,
85
+ height: 24,
86
+ viewBox: "0 0 24 24",
87
+ fill: "none",
88
+ stroke: "currentColor",
89
+ strokeWidth: 2,
90
+ strokeLinecap: "round",
91
+ strokeLinejoin: "round"
92
+ };
93
+
94
+ /**
95
+ * @license lucide-react v0.525.0 - ISC
96
+ *
97
+ * This source code is licensed under the ISC license.
98
+ * See the LICENSE file in the root directory of this source tree.
99
+ */
100
+
101
+
102
+ const Icon = React.forwardRef(
103
+ ({
104
+ color = "currentColor",
105
+ size = 24,
106
+ strokeWidth = 2,
107
+ absoluteStrokeWidth,
108
+ className = "",
109
+ children,
110
+ iconNode,
111
+ ...rest
112
+ }, ref) => React.createElement(
113
+ "svg",
114
+ {
115
+ ref,
116
+ ...defaultAttributes,
117
+ width: size,
118
+ height: size,
119
+ stroke: color,
120
+ strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,
121
+ className: mergeClasses("lucide", className),
122
+ ...!children && !hasA11yProp(rest) && { "aria-hidden": "true" },
123
+ ...rest
124
+ },
125
+ [
126
+ ...iconNode.map(([tag, attrs]) => React.createElement(tag, attrs)),
127
+ ...Array.isArray(children) ? children : [children]
128
+ ]
129
+ )
130
+ );
131
+
132
+ /**
133
+ * @license lucide-react v0.525.0 - ISC
134
+ *
135
+ * This source code is licensed under the ISC license.
136
+ * See the LICENSE file in the root directory of this source tree.
137
+ */
138
+
139
+
140
+ const createLucideIcon = (iconName, iconNode) => {
141
+ const Component = React.forwardRef(
142
+ ({ className, ...props }, ref) => React.createElement(Icon, {
143
+ ref,
144
+ iconNode,
145
+ className: mergeClasses(
146
+ `lucide-${toKebabCase(toPascalCase(iconName))}`,
147
+ `lucide-${iconName}`,
148
+ className
149
+ ),
150
+ ...props
151
+ })
152
+ );
153
+ Component.displayName = toPascalCase(iconName);
154
+ return Component;
155
+ };
156
+
157
+ /**
158
+ * @license lucide-react v0.525.0 - ISC
159
+ *
160
+ * This source code is licensed under the ISC license.
161
+ * See the LICENSE file in the root directory of this source tree.
162
+ */
163
+
164
+
165
+ const __iconNode$1 = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
166
+ const ChevronDown = createLucideIcon("chevron-down", __iconNode$1);
167
+
168
+ /**
169
+ * @license lucide-react v0.525.0 - ISC
170
+ *
171
+ * This source code is licensed under the ISC license.
172
+ * See the LICENSE file in the root directory of this source tree.
173
+ */
174
+
175
+
176
+ const __iconNode = [
177
+ ["path", { d: "M18 6 6 18", key: "1bl5f8" }],
178
+ ["path", { d: "m6 6 12 12", key: "d8bk6v" }]
179
+ ];
180
+ const X = createLucideIcon("x", __iconNode);
181
+
182
+ const Select = React.forwardRef(({ label = '', options = [], value, onChange, error = false, helperText = '', required = false, placeholder = 'Select...', isMulti = false, disabled = false, ...rest }, ref) => {
183
+ material.useTheme();
184
+ const handleRemoveChip = (chipValue) => (e) => {
185
+ e.stopPropagation();
186
+ const newValue = value.filter((v) => v !== chipValue);
187
+ onChange?.({
188
+ target: {
189
+ name: rest.name,
190
+ value: newValue,
191
+ },
192
+ });
193
+ };
194
+ const renderValue = (selected) => {
195
+ if (isMulti && Array.isArray(selected)) {
196
+ return (jsxRuntime.jsx(material.Box, { sx: { display: 'flex', flexWrap: 'wrap', gap: 0.5 }, children: selected.map((val) => {
197
+ const label = options.find((o) => o.value === val)?.label || val;
198
+ return jsxRuntime.jsx(material.Box, { onMouseDown: (e) => e.stopPropagation(), children: jsxRuntime.jsx(material.Chip, { onDelete: handleRemoveChip(val), label: label, sx: { borderRadius: '12px' } }) }, val);
199
+ }) }));
200
+ }
201
+ return options.find((o) => o.value === selected)?.label || placeholder;
202
+ };
203
+ const handleClearSelection = (e) => {
204
+ e.stopPropagation();
205
+ const emptyValue = isMulti ? [] : '';
206
+ onChange?.({
207
+ target: {
208
+ name: rest.name,
209
+ value: emptyValue,
210
+ },
211
+ });
212
+ };
213
+ return (jsxRuntime.jsxs(material.FormControl, { fullWidth: true, error: error, disabled: disabled, sx: {
214
+ '& .MuiOutlinedInput-root': {
215
+ borderRadius: '8px',
216
+ minHeight: '44px',
217
+ // backgroundColor: theme.palette.background.paper,
218
+ fontSize: '14px'
219
+ },
220
+ '& .MuiSelect-select': {
221
+ fontSize: '14px',
222
+ padding: '10px 14px',
223
+ },
224
+ '& .MuiSelect-placeholder': {
225
+ fontSize: '14px',
226
+ },
227
+ '& .MuiMenuItem-root': {
228
+ fontSize: '14px',
229
+ },
230
+ '& .MuiChip-label': {
231
+ fontSize: '14px',
232
+ },
233
+ }, children: [jsxRuntime.jsx(material.Select, { displayEmpty: true,
234
+ // labelId={labelId}
235
+ multiple: isMulti, value: value || (isMulti ? [] : ''), onChange: onChange, input: jsxRuntime.jsx(material.OutlinedInput, { label: label }), renderValue: renderValue, ref: ref, IconComponent: ChevronDown, endAdornment: value && !isMulti && ((isMulti && value.length > 0) || (!isMulti && value !== '')) ? (jsxRuntime.jsx(material.IconButton, { sx: { marginRight: '1rem' }, size: "small", onClick: handleClearSelection, children: jsxRuntime.jsx(X, { fontSize: "small" }) })) : null, variant: "outlined", ...rest, children: options && options.map((option) => (jsxRuntime.jsx(material.MenuItem, { value: option.value, children: isMulti ? (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx(material.ListItemText, { primary: option.label }) })) : (option.label || placeholder) }, option.value))) }), helperText && jsxRuntime.jsx(material.FormHelperText, { children: helperText })] }));
236
+ });
237
+
238
+ const AccordionContext = React.createContext({});
239
+ // Main Accordion Container Component
240
+ const Accordion = React.forwardRef(({ type = 'single', collapsible = false, value: controlledValue, defaultValue, onValueChange, children, sx = {}, ...props }, ref) => {
241
+ const theme = material.useTheme();
242
+ // Internal state management
243
+ const [internalValue, setInternalValue] = React.useState(() => {
244
+ if (controlledValue !== undefined)
245
+ return controlledValue;
246
+ if (defaultValue !== undefined)
247
+ return defaultValue;
248
+ return type === 'multiple' ? [] : '';
249
+ });
250
+ const value = controlledValue !== undefined ? controlledValue : internalValue;
251
+ const handleValueChange = React.useCallback((newValue) => {
252
+ if (controlledValue === undefined) {
253
+ setInternalValue(newValue);
254
+ }
255
+ onValueChange?.(newValue);
256
+ }, [controlledValue, onValueChange]);
257
+ const contextValue = React.useMemo(() => ({
258
+ type,
259
+ collapsible,
260
+ value,
261
+ defaultValue,
262
+ onValueChange: handleValueChange,
263
+ }), [type, collapsible, value, defaultValue, handleValueChange]);
264
+ return (jsxRuntime.jsx(AccordionContext.Provider, { value: contextValue, children: jsxRuntime.jsx("div", { ref: ref, style: {
265
+ display: 'flex',
266
+ flexDirection: 'column',
267
+ gap: theme.spacing(1),
268
+ }, ...props, children: children }) }));
269
+ });
270
+ // AccordionItem Component
271
+ const AccordionItem = React.forwardRef(({ value: itemValue, children, sx = {}, ...props }, ref) => {
272
+ const theme = material.useTheme();
273
+ const context = React.useContext(AccordionContext);
274
+ const isExpanded = React.useMemo(() => {
275
+ if (context.type === 'multiple') {
276
+ return Array.isArray(context.value) && context.value.includes(itemValue);
277
+ }
278
+ return context.value === itemValue;
279
+ }, [context.value, context.type, itemValue]);
280
+ const handleChange = React.useCallback(() => {
281
+ if (!context.onValueChange)
282
+ return;
283
+ if (context.type === 'multiple') {
284
+ const currentValue = Array.isArray(context.value) ? context.value : [];
285
+ const newValue = isExpanded
286
+ ? currentValue.filter(v => v !== itemValue)
287
+ : [...currentValue, itemValue];
288
+ context.onValueChange(newValue);
289
+ }
290
+ else {
291
+ const newValue = isExpanded && context.collapsible ? '' : itemValue;
292
+ context.onValueChange(newValue);
293
+ }
294
+ }, [context, itemValue, isExpanded]);
295
+ return (jsxRuntime.jsx(material.Accordion, { ref: ref, expanded: isExpanded, onChange: handleChange, variant: "outlined", sx: {
296
+ borderRadius: theme.radius?.sm || theme.shape.borderRadius,
297
+ '&:before': {
298
+ display: 'none',
299
+ },
300
+ '&.Mui-expanded': {
301
+ margin: 0,
302
+ },
303
+ border: `1px solid ${theme.palette.divider}`,
304
+ ...sx,
305
+ }, ...props, children: children }));
306
+ });
307
+ // AccordionTrigger Component
308
+ const AccordionTrigger = React.forwardRef(({ children, sx = {}, expandIcon, ...props }, ref) => {
309
+ const theme = material.useTheme();
310
+ const defaultExpandIcon = expandIcon !== undefined ? expandIcon : jsxRuntime.jsx(ChevronDown, {});
311
+ return (jsxRuntime.jsx(material.AccordionSummary, { ref: ref, expandIcon: defaultExpandIcon, sx: {
312
+ borderRadius: theme.radius?.sm || theme.shape.borderRadius,
313
+ minHeight: 56,
314
+ fontWeight: 500,
315
+ '&.Mui-expanded': {
316
+ minHeight: 56,
317
+ borderBottomLeftRadius: 0,
318
+ borderBottomRightRadius: 0,
319
+ borderBottom: `1px solid ${theme.palette.divider}`,
320
+ },
321
+ '& .MuiAccordionSummary-content': {
322
+ margin: '12px 0',
323
+ '&.Mui-expanded': {
324
+ margin: '12px 0',
325
+ },
326
+ },
327
+ '& .MuiAccordionSummary-expandIconWrapper': {
328
+ transition: theme.transitions.create('transform', {
329
+ duration: theme.transitions.duration.shortest,
330
+ }),
331
+ '&.Mui-expanded': {
332
+ transform: 'rotate(180deg)',
333
+ },
334
+ },
335
+ '&:hover': {
336
+ backgroundColor: theme.palette.action.hover,
337
+ },
338
+ ...sx,
339
+ }, ...props, children: children }));
340
+ });
341
+ // AccordionContent Component
342
+ const AccordionContent = React.forwardRef(({ children, sx = {}, ...props }, ref) => {
343
+ const theme = material.useTheme();
344
+ return (jsxRuntime.jsx(material.AccordionDetails, { ref: ref, sx: {
345
+ padding: theme.spacing(2),
346
+ borderBottomLeftRadius: theme.radius?.sm || theme.shape.borderRadius,
347
+ borderBottomRightRadius: theme.radius?.sm || theme.shape.borderRadius,
348
+ ...sx,
349
+ }, ...props, children: children }));
350
+ });
351
+
352
+ const Switch = React.forwardRef(({ label = '', helperText = '', error = false, onChange, checked, required = false, disabled = false, ...rest }, ref) => {
353
+ return (jsxRuntime.jsxs(material.FormControl, { error: error, disabled: disabled, component: "fieldset", children: [jsxRuntime.jsx(material.FormControlLabel, { control: jsxRuntime.jsx(material.Switch, { inputRef: ref, checked: checked, onChange: (e, checked) => onChange?.(e, checked), disabled: disabled, required: required == 1 || required === true ? true : false, ...rest }), label: label }), helperText && jsxRuntime.jsx(material.FormHelperText, { children: helperText })] }));
354
+ });
355
+
356
+ const TextInput = React.forwardRef(({ label = '', placeholder, IS_MANDATORY = false,
357
+ // multiline = false,
358
+ startIcon, endIcon, error = false, helperText, type = 'text', variant = 'outlined', ...rest }, ref) => {
359
+ return (jsxRuntime.jsx(material.TextField, { fullWidth: true, inputRef: ref, type: type,
360
+ // multiline={multiline}
361
+ label: label, placeholder: placeholder, required: (IS_MANDATORY == 1 || IS_MANDATORY == true) ? true : false, error: error, InputLabelProps: !label ? { shrink: false } : undefined, sx: {
362
+ '& .MuiInputLabel-outlined': {
363
+ top: '-4px',
364
+ fontSize: '13px',
365
+ fontWeight: 500,
366
+ },
367
+ '& .MuiOutlinedInput-root': {
368
+ minHeight: '44px',
369
+ borderRadius: '10px',
370
+ },
371
+ '& input': {
372
+ padding: '10.5px 14px',
373
+ },
374
+ '& input::placeholder': {
375
+ fontSize: '13px',
376
+ opacity: 0.5,
377
+ },
378
+ }, helperText: helperText, InputProps: {
379
+ startAdornment: startIcon ? (jsxRuntime.jsx(material.InputAdornment, { position: "start", children: startIcon })) : undefined,
380
+ endAdornment: endIcon ? (jsxRuntime.jsx(material.InputAdornment, { position: "end", children: endIcon })) : undefined,
381
+ }, variant: variant, ...rest }));
382
+ });
383
+
384
+ const RadioGroup = React.forwardRef(({ label, options = [], value, defaultValue, onChange, name, disabled = false, required = false, error = false, helperText, row = false, size = 'medium', color = 'primary', sx = {}, radioSx = {}, labelSx = {}, ...props }, ref) => {
385
+ const theme = material.useTheme();
386
+ const [internalValue, setInternalValue] = React.useState(value || defaultValue || '');
387
+ // Sync with external value prop
388
+ React.useEffect(() => {
389
+ if (value !== undefined) {
390
+ setInternalValue(value);
391
+ }
392
+ }, [value]);
393
+ const handleChange = (event) => {
394
+ const newValue = event.target.value;
395
+ if (value === undefined) {
396
+ setInternalValue(newValue);
397
+ }
398
+ onChange?.(newValue);
399
+ };
400
+ const currentValue = value !== undefined ? value : internalValue;
401
+ return (jsxRuntime.jsxs(material.FormControl, { ref: ref, component: "fieldset", variant: "standard", disabled: disabled, required: required, error: error, sx: {
402
+ borderRadius: '8px',
403
+ ...sx,
404
+ }, ...props, children: [label && (jsxRuntime.jsxs(material.FormLabel, { component: "legend", sx: {
405
+ fontWeight: 500,
406
+ fontSize: size === 'small' ? '0.875rem' : '1rem',
407
+ color: disabled
408
+ ? theme.palette.text.disabled
409
+ : error
410
+ ? theme.palette.error.main
411
+ : theme.palette.text.primary,
412
+ '&.Mui-focused': {
413
+ color: error
414
+ ? theme.palette.error.main
415
+ : `${theme.palette[color].main}`,
416
+ },
417
+ mb: 1,
418
+ ...labelSx,
419
+ }, children: [label, required && (jsxRuntime.jsx(material.Typography, { component: "span", sx: {
420
+ color: theme.palette.error.main,
421
+ ml: 0.5,
422
+ fontSize: 'inherit',
423
+ }, children: "*" }))] })), jsxRuntime.jsx(material.RadioGroup, { name: name, value: currentValue, onChange: handleChange, row: row, sx: {
424
+ gap: size === 'small' ? 1 : 1.5,
425
+ '& .MuiFormControlLabel-root': {
426
+ marginLeft: 0,
427
+ marginRight: row ? 2 : 0,
428
+ },
429
+ }, children: options.map((option) => (jsxRuntime.jsx(material.Box, { children: jsxRuntime.jsx(material.FormControlLabel, { value: option.value, disabled: disabled || option.disabled, control: jsxRuntime.jsx(material.Radio, { size: size, color: color, sx: {
430
+ '&.Mui-checked': {
431
+ color: error
432
+ ? theme.palette.error.main
433
+ : `${theme.palette[color].main}`,
434
+ },
435
+ alignSelf: option.description ? 'flex-start' : 'center',
436
+ mt: option.description ? 0.25 : 0,
437
+ ...radioSx,
438
+ } }), label: jsxRuntime.jsxs(material.Box, { sx: { display: 'flex', flexDirection: 'column' }, children: [jsxRuntime.jsx(material.Typography, { variant: size === 'small' ? 'body2' : 'body1', sx: {
439
+ fontWeight: 400,
440
+ color: disabled || option.disabled
441
+ ? theme.palette.text.disabled
442
+ : theme.palette.text.primary,
443
+ lineHeight: 1.5,
444
+ }, children: option.label }), option.description && (jsxRuntime.jsx(material.Typography, { variant: "caption", sx: {
445
+ color: disabled || option.disabled
446
+ ? theme.palette.text.disabled
447
+ : theme.palette.text.secondary,
448
+ mt: 0.25,
449
+ lineHeight: 1.4,
450
+ }, children: option.description }))] }), sx: {
451
+ alignItems: option.description ? 'flex-start' : 'center',
452
+ margin: 0,
453
+ display: 'flex',
454
+ '& .MuiFormControlLabel-label': {
455
+ ml: 1,
456
+ flex: 1,
457
+ },
458
+ '& .MuiButtonBase-root': {
459
+ p: size === 'small' ? 0.5 : 1,
460
+ },
461
+ } }) }, option.value))) }), helperText && (jsxRuntime.jsx(material.FormHelperText, { sx: {
462
+ mt: 1,
463
+ fontSize: size === 'small' ? '0.75rem' : '0.875rem',
464
+ color: error
465
+ ? theme.palette.error.main
466
+ : theme.palette.text.secondary,
467
+ }, children: helperText }))] }));
468
+ });
469
+
470
+ const Heading = ({ level = 1, ...props }) => {
471
+ const variant = `h${level}`;
472
+ return (jsxRuntime.jsx(material.Typography, { variant: variant, component: props.component || `h${level}`, fontWeight: 600, gutterBottom: true, ...props }));
473
+ };
474
+
475
+ const Text = ({ size = 'md', ...props }) => {
476
+ const variantMap = {
477
+ sm: 'body2',
478
+ md: 'body1',
479
+ lg: 'subtitle1',
480
+ };
481
+ return (jsxRuntime.jsx(material.Typography, { variant: variantMap[size], component: props.component || 'p', ...props }));
482
+ };
483
+
484
+ const Lead = (props) => {
485
+ return (jsxRuntime.jsx(material.Typography, { variant: "subtitle1", component: props.component || 'p', fontWeight: 400, color: "text.secondary", ...props }));
486
+ };
487
+
488
+ const Muted = (props) => {
489
+ return (jsxRuntime.jsx(material.Typography, { variant: "body2", component: props.component || 'span', color: "text.disabled", ...props }));
490
+ };
491
+
492
+ const Strong = (props) => {
493
+ return (jsxRuntime.jsx(material.Typography, { component: props.component || 'strong', fontWeight: 500, display: "inline", ...props }));
494
+ };
495
+
496
+ const Caption = (props) => {
497
+ return (jsxRuntime.jsx(material.Typography, { variant: "caption", color: "text.secondary", component: props.component || 'span', ...props }));
498
+ };
499
+
500
+ const Blockquote = (props) => {
501
+ return (jsxRuntime.jsx(material.Typography, { component: "blockquote", sx: {
502
+ borderLeft: '4px solid',
503
+ borderColor: 'divider',
504
+ pl: 2,
505
+ color: 'text.secondary',
506
+ fontStyle: 'italic',
507
+ }, ...props }));
508
+ };
509
+
510
+ const Code = ({ children, sx }) => {
511
+ return (jsxRuntime.jsx(material.Box, { component: "code", sx: {
512
+ fontFamily: 'monospace',
513
+ backgroundColor: 'grey.100',
514
+ color: 'primary.main',
515
+ px: 0.5,
516
+ py: 0.25,
517
+ borderRadius: 1,
518
+ fontSize: '0.875rem',
519
+ ...sx,
520
+ }, children: children }));
521
+ };
522
+
523
+ const designTokens = {
524
+ colors: {
525
+ primary: {
526
+ 50: '#e3f2fd',
527
+ 100: '#bbdefb',
528
+ 500: '#2196f3',
529
+ 900: '#0d47a1',
530
+ },
531
+ secondary: {
532
+ 50: '#fce4ec',
533
+ 100: '#f8bbd9',
534
+ 500: '#e91e63',
535
+ 900: '#880e4f',
536
+ },
537
+ neutral: {
538
+ 50: '#fafafa',
539
+ 100: '#f5f5f5',
540
+ 200: '#eeeeee',
541
+ 500: '#9e9e9e',
542
+ 900: '#212121',
543
+ },
544
+ },
545
+ spacing: {
546
+ xs: '4px',
547
+ sm: '8px',
548
+ md: '16px',
549
+ lg: '24px',
550
+ xl: '32px',
551
+ },
552
+ radius: {
553
+ xs: "2px",
554
+ sm: '4px',
555
+ md: '8px',
556
+ lg: '12px',
557
+ xl: '16px',
558
+ full: '9999px',
559
+ },
560
+ typography: {
561
+ fontFamily: `'Inter', system-ui, sans-serif`,
562
+ fontSize: {
563
+ xs: '0.75rem',
564
+ sm: '0.875rem',
565
+ md: '1rem',
566
+ lg: '1.25rem',
567
+ xl: '1.5rem',
568
+ },
569
+ },
570
+ };
571
+
572
+ const createCustomTheme = (config = {}) => {
573
+ const { primaryColor = designTokens.colors.primary[500], secondaryColor = designTokens.colors.secondary[500], } = config;
574
+ return styles.createTheme({
575
+ palette: {
576
+ primary: {
577
+ main: primaryColor,
578
+ },
579
+ secondary: {
580
+ main: secondaryColor,
581
+ },
582
+ divider: '#e5e5e5'
583
+ },
584
+ typography: {
585
+ fontFamily: designTokens.typography.fontFamily,
586
+ fontSize: 14,
587
+ // h1: {
588
+ // fontSize: '3rem', // 48px
589
+ // fontWeight: 700,
590
+ // lineHeight: 1.2,
591
+ // },
592
+ // h2: {
593
+ // fontSize: '2.25rem', // 36px
594
+ // fontWeight: 600,
595
+ // lineHeight: 1.25,
596
+ // },
597
+ // h3: {
598
+ // fontSize: '1.875rem', // 30px
599
+ // fontWeight: 600,
600
+ // lineHeight: 1.3,
601
+ // },
602
+ // h4: {
603
+ // fontSize: '1.5rem', // 24px
604
+ // fontWeight: 500,
605
+ // lineHeight: 1.35,
606
+ // },
607
+ // h5: {
608
+ // fontSize: '1.25rem', // 20px
609
+ // fontWeight: 500,
610
+ // lineHeight: 1.4,
611
+ // },
612
+ // h6: {
613
+ // fontSize: '1rem', // 16px
614
+ // fontWeight: 500,
615
+ // lineHeight: 1.5,
616
+ // },
617
+ // body1: {
618
+ // fontSize: '1rem', // 16px
619
+ // lineHeight: '1.625rem',// 26px
620
+ // },
621
+ // body2: {
622
+ // fontSize: '0.875rem', // 14px
623
+ // lineHeight: '1.5rem', // 24px
624
+ // },
625
+ // caption: {
626
+ // fontSize: '0.875rem',
627
+ // lineHeight: '1.25rem', // 20px
628
+ // },
629
+ // button: {
630
+ // fontSize: '0.875rem',
631
+ // lineHeight: '1.5rem',
632
+ // textTransform: 'none',
633
+ // },
634
+ // subtitle1: {
635
+ // fontSize: '1rem', // 16px
636
+ // lineHeight: '1.5rem', // 24px
637
+ // // fontWeight: 500
638
+ // },
639
+ },
640
+ spacing: 8,
641
+ shape: {
642
+ borderRadius: 5,
643
+ },
644
+ radius: designTokens.radius,
645
+ components: {
646
+ MuiButton: {
647
+ styleOverrides: {
648
+ root: {
649
+ textTransform: 'none',
650
+ fontWeight: 500,
651
+ letterSpacing: '0.5px',
652
+ padding: '6px 12px',
653
+ },
654
+ sizeSmall: {
655
+ padding: '4px 10px'
656
+ },
657
+ sizeLarge: {
658
+ padding: '10px 24px'
659
+ },
660
+ },
661
+ defaultProps: {
662
+ disableElevation: true
663
+ }
664
+ },
665
+ MuiCard: {
666
+ styleOverrides: {
667
+ root: {
668
+ borderRadius: '12px',
669
+ boxShadow: '0 2px 8px rgba(0, 0, 0, 0.1)',
670
+ },
671
+ },
672
+ },
673
+ MuiTextField: {
674
+ styleOverrides: {
675
+ root: {
676
+ '& .MuiOutlinedInput-root': {
677
+ borderRadius: '8px',
678
+ },
679
+ },
680
+ },
681
+ },
682
+ },
683
+ });
684
+ };
685
+ // Default theme
686
+ const theme = createCustomTheme();
687
+
688
+ function styleInject(css, ref) {
689
+ if ( ref === void 0 ) ref = {};
690
+ var insertAt = ref.insertAt;
691
+
692
+ if (!css || typeof document === 'undefined') { return; }
693
+
694
+ var head = document.head || document.getElementsByTagName('head')[0];
695
+ var style = document.createElement('style');
696
+ style.type = 'text/css';
697
+
698
+ if (insertAt === 'top') {
699
+ if (head.firstChild) {
700
+ head.insertBefore(style, head.firstChild);
701
+ } else {
702
+ head.appendChild(style);
703
+ }
704
+ } else {
705
+ head.appendChild(style);
706
+ }
707
+
708
+ if (style.styleSheet) {
709
+ style.styleSheet.cssText = css;
710
+ } else {
711
+ style.appendChild(document.createTextNode(css));
712
+ }
713
+ }
714
+
715
+ var css_248z$4 = "/* inter-cyrillic-ext-300-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 300;\n src: url(./files/inter-cyrillic-ext-300-normal.woff2) format('woff2'), url(./files/inter-cyrillic-ext-300-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* inter-cyrillic-300-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 300;\n src: url(./files/inter-cyrillic-300-normal.woff2) format('woff2'), url(./files/inter-cyrillic-300-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* inter-greek-ext-300-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 300;\n src: url(./files/inter-greek-ext-300-normal.woff2) format('woff2'), url(./files/inter-greek-ext-300-normal.woff) format('woff');\n unicode-range: U+1F00-1FFF;\n}\n\n/* inter-greek-300-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 300;\n src: url(./files/inter-greek-300-normal.woff2) format('woff2'), url(./files/inter-greek-300-normal.woff) format('woff');\n unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;\n}\n\n/* inter-vietnamese-300-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 300;\n src: url(./files/inter-vietnamese-300-normal.woff2) format('woff2'), url(./files/inter-vietnamese-300-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* inter-latin-ext-300-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 300;\n src: url(./files/inter-latin-ext-300-normal.woff2) format('woff2'), url(./files/inter-latin-ext-300-normal.woff) format('woff');\n unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* inter-latin-300-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 300;\n src: url(./files/inter-latin-300-normal.woff2) format('woff2'), url(./files/inter-latin-300-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}";
716
+ styleInject(css_248z$4);
717
+
718
+ var css_248z$3 = "/* inter-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/inter-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/inter-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* inter-cyrillic-400-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/inter-cyrillic-400-normal.woff2) format('woff2'), url(./files/inter-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* inter-greek-ext-400-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/inter-greek-ext-400-normal.woff2) format('woff2'), url(./files/inter-greek-ext-400-normal.woff) format('woff');\n unicode-range: U+1F00-1FFF;\n}\n\n/* inter-greek-400-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/inter-greek-400-normal.woff2) format('woff2'), url(./files/inter-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;\n}\n\n/* inter-vietnamese-400-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/inter-vietnamese-400-normal.woff2) format('woff2'), url(./files/inter-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* inter-latin-ext-400-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/inter-latin-ext-400-normal.woff2) format('woff2'), url(./files/inter-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* inter-latin-400-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/inter-latin-400-normal.woff2) format('woff2'), url(./files/inter-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}";
719
+ styleInject(css_248z$3);
720
+
721
+ var css_248z$2 = "/* inter-cyrillic-ext-500-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 500;\n src: url(./files/inter-cyrillic-ext-500-normal.woff2) format('woff2'), url(./files/inter-cyrillic-ext-500-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* inter-cyrillic-500-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 500;\n src: url(./files/inter-cyrillic-500-normal.woff2) format('woff2'), url(./files/inter-cyrillic-500-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* inter-greek-ext-500-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 500;\n src: url(./files/inter-greek-ext-500-normal.woff2) format('woff2'), url(./files/inter-greek-ext-500-normal.woff) format('woff');\n unicode-range: U+1F00-1FFF;\n}\n\n/* inter-greek-500-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 500;\n src: url(./files/inter-greek-500-normal.woff2) format('woff2'), url(./files/inter-greek-500-normal.woff) format('woff');\n unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;\n}\n\n/* inter-vietnamese-500-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 500;\n src: url(./files/inter-vietnamese-500-normal.woff2) format('woff2'), url(./files/inter-vietnamese-500-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* inter-latin-ext-500-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 500;\n src: url(./files/inter-latin-ext-500-normal.woff2) format('woff2'), url(./files/inter-latin-ext-500-normal.woff) format('woff');\n unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* inter-latin-500-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 500;\n src: url(./files/inter-latin-500-normal.woff2) format('woff2'), url(./files/inter-latin-500-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}";
722
+ styleInject(css_248z$2);
723
+
724
+ var css_248z$1 = "/* inter-cyrillic-ext-600-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 600;\n src: url(./files/inter-cyrillic-ext-600-normal.woff2) format('woff2'), url(./files/inter-cyrillic-ext-600-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* inter-cyrillic-600-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 600;\n src: url(./files/inter-cyrillic-600-normal.woff2) format('woff2'), url(./files/inter-cyrillic-600-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* inter-greek-ext-600-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 600;\n src: url(./files/inter-greek-ext-600-normal.woff2) format('woff2'), url(./files/inter-greek-ext-600-normal.woff) format('woff');\n unicode-range: U+1F00-1FFF;\n}\n\n/* inter-greek-600-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 600;\n src: url(./files/inter-greek-600-normal.woff2) format('woff2'), url(./files/inter-greek-600-normal.woff) format('woff');\n unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;\n}\n\n/* inter-vietnamese-600-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 600;\n src: url(./files/inter-vietnamese-600-normal.woff2) format('woff2'), url(./files/inter-vietnamese-600-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* inter-latin-ext-600-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 600;\n src: url(./files/inter-latin-ext-600-normal.woff2) format('woff2'), url(./files/inter-latin-ext-600-normal.woff) format('woff');\n unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* inter-latin-600-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 600;\n src: url(./files/inter-latin-600-normal.woff2) format('woff2'), url(./files/inter-latin-600-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}";
725
+ styleInject(css_248z$1);
726
+
727
+ var css_248z = "/* inter-cyrillic-ext-700-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 700;\n src: url(./files/inter-cyrillic-ext-700-normal.woff2) format('woff2'), url(./files/inter-cyrillic-ext-700-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* inter-cyrillic-700-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 700;\n src: url(./files/inter-cyrillic-700-normal.woff2) format('woff2'), url(./files/inter-cyrillic-700-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* inter-greek-ext-700-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 700;\n src: url(./files/inter-greek-ext-700-normal.woff2) format('woff2'), url(./files/inter-greek-ext-700-normal.woff) format('woff');\n unicode-range: U+1F00-1FFF;\n}\n\n/* inter-greek-700-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 700;\n src: url(./files/inter-greek-700-normal.woff2) format('woff2'), url(./files/inter-greek-700-normal.woff) format('woff');\n unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;\n}\n\n/* inter-vietnamese-700-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 700;\n src: url(./files/inter-vietnamese-700-normal.woff2) format('woff2'), url(./files/inter-vietnamese-700-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* inter-latin-ext-700-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 700;\n src: url(./files/inter-latin-ext-700-normal.woff2) format('woff2'), url(./files/inter-latin-ext-700-normal.woff) format('woff');\n unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* inter-latin-700-normal */\n@font-face {\n font-family: 'Inter';\n font-style: normal;\n font-display: swap;\n font-weight: 700;\n src: url(./files/inter-latin-700-normal.woff2) format('woff2'), url(./files/inter-latin-700-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}";
728
+ styleInject(css_248z);
729
+
730
+ const Fonts = () => (jsxRuntime.jsx(material.GlobalStyles, { styles: {
731
+ body: {
732
+ WebkitFontSmoothing: 'antialiased',
733
+ MozOsxFontSmoothing: 'grayscale',
734
+ },
735
+ html: {
736
+ fontFamily: "'Inter', system-ui, sans-serif",
737
+ },
738
+ } }));
739
+
740
+ const UILibraryThemeProvider = ({ children, primaryColor, secondaryColor, enableCssBaseline = true, }) => {
741
+ const themeConfig = {};
742
+ if (primaryColor) {
743
+ themeConfig.primaryColor = primaryColor;
744
+ }
745
+ if (secondaryColor) {
746
+ themeConfig.secondaryColor = secondaryColor;
747
+ }
748
+ const theme = createCustomTheme(themeConfig);
749
+ return (jsxRuntime.jsxs(styles.ThemeProvider, { theme: theme, children: [enableCssBaseline && jsxRuntime.jsx(material.CssBaseline, {}), jsxRuntime.jsx(Fonts, {}), children] }));
750
+ };
751
+
752
+ exports.Accordion = Accordion;
753
+ exports.AccordionContent = AccordionContent;
754
+ exports.AccordionItem = AccordionItem;
755
+ exports.AccordionTrigger = AccordionTrigger;
756
+ exports.Blockquote = Blockquote;
757
+ exports.Button = Button;
758
+ exports.Caption = Caption;
759
+ exports.Code = Code;
760
+ exports.Heading = Heading;
761
+ exports.Lead = Lead;
762
+ exports.Muted = Muted;
763
+ exports.RadioGroup = RadioGroup;
764
+ exports.Select = Select;
765
+ exports.Strong = Strong;
766
+ exports.Switch = Switch;
767
+ exports.Text = Text;
768
+ exports.TextInput = TextInput;
769
+ exports.UILibraryThemeProvider = UILibraryThemeProvider;
770
+ exports.createCustomTheme = createCustomTheme;
771
+ exports.designTokens = designTokens;
772
+ exports.theme = theme;