@zimyo/ui 1.1.7 → 1.1.8

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