react-easy-wall 1.0.11 → 1.0.13

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 (28) hide show
  1. package/dist/cjs/components/panel/PanelButton.js +16 -0
  2. package/dist/cjs/components/panel/PanelButton.js.map +1 -0
  3. package/dist/cjs/index.js +2 -0
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/node_modules/@mui/material/esm/Button/Button.js +710 -0
  6. package/dist/cjs/node_modules/@mui/material/esm/Button/Button.js.map +1 -0
  7. package/dist/cjs/node_modules/@mui/material/esm/Button/buttonClasses.js +15 -0
  8. package/dist/cjs/node_modules/@mui/material/esm/Button/buttonClasses.js.map +1 -0
  9. package/dist/cjs/node_modules/@mui/material/esm/ButtonGroup/ButtonGroupButtonContext.js +36 -0
  10. package/dist/cjs/node_modules/@mui/material/esm/ButtonGroup/ButtonGroupButtonContext.js.map +1 -0
  11. package/dist/cjs/node_modules/@mui/material/esm/ButtonGroup/ButtonGroupContext.js +36 -0
  12. package/dist/cjs/node_modules/@mui/material/esm/ButtonGroup/ButtonGroupContext.js.map +1 -0
  13. package/dist/esm/components/panel/PanelButton.js +14 -0
  14. package/dist/esm/components/panel/PanelButton.js.map +1 -0
  15. package/dist/esm/index.js +1 -0
  16. package/dist/esm/index.js.map +1 -1
  17. package/dist/esm/node_modules/@mui/material/esm/Button/Button.js +687 -0
  18. package/dist/esm/node_modules/@mui/material/esm/Button/Button.js.map +1 -0
  19. package/dist/esm/node_modules/@mui/material/esm/Button/buttonClasses.js +10 -0
  20. package/dist/esm/node_modules/@mui/material/esm/Button/buttonClasses.js.map +1 -0
  21. package/dist/esm/node_modules/@mui/material/esm/ButtonGroup/ButtonGroupButtonContext.js +13 -0
  22. package/dist/esm/node_modules/@mui/material/esm/ButtonGroup/ButtonGroupButtonContext.js.map +1 -0
  23. package/dist/esm/node_modules/@mui/material/esm/ButtonGroup/ButtonGroupContext.js +13 -0
  24. package/dist/esm/node_modules/@mui/material/esm/ButtonGroup/ButtonGroupContext.js.map +1 -0
  25. package/dist/esm/types/components/panel/PanelButton.d.ts +6 -0
  26. package/dist/esm/types/components/panel/index.d.ts +1 -0
  27. package/dist/index.d.ts +9 -4
  28. package/package.json +1 -1
@@ -0,0 +1,687 @@
1
+ "use client";
2
+ import * as React from 'react';
3
+ import PropTypes from '../../../../../_virtual/index3.js';
4
+ import { clsx } from '../../../../clsx/dist/clsx.js';
5
+ import rootShouldForwardProp from '../styles/rootShouldForwardProp.js';
6
+ import memoTheme from '../utils/memoTheme.js';
7
+ import createSimplePaletteValueFilter from '../utils/createSimplePaletteValueFilter.js';
8
+ import buttonClasses, { getButtonUtilityClass } from './buttonClasses.js';
9
+ import ButtonGroupContext from '../ButtonGroup/ButtonGroupContext.js';
10
+ import ButtonGroupButtonContext from '../ButtonGroup/ButtonGroupButtonContext.js';
11
+ import { jsxs, jsx } from 'react/jsx-runtime';
12
+ import resolveProps from '../../../utils/esm/resolveProps/resolveProps.js';
13
+ import { useDefaultProps } from '../DefaultPropsProvider/DefaultPropsProvider.js';
14
+ import useId from '../../../utils/esm/useId/useId.js';
15
+ import capitalize from '../../../utils/esm/capitalize/capitalize.js';
16
+ import composeClasses from '../../../utils/esm/composeClasses/composeClasses.js';
17
+ import styled from '../styles/styled.js';
18
+ import ButtonBase from '../ButtonBase/ButtonBase.js';
19
+ import CircularProgress from '../CircularProgress/CircularProgress.js';
20
+
21
+ const useUtilityClasses = ownerState => {
22
+ const {
23
+ color,
24
+ disableElevation,
25
+ fullWidth,
26
+ size,
27
+ variant,
28
+ loading,
29
+ loadingPosition,
30
+ classes
31
+ } = ownerState;
32
+ const slots = {
33
+ root: ['root', loading && 'loading', variant, `${variant}${capitalize(color)}`, `size${capitalize(size)}`, `${variant}Size${capitalize(size)}`, `color${capitalize(color)}`, disableElevation && 'disableElevation', fullWidth && 'fullWidth', loading && `loadingPosition${capitalize(loadingPosition)}`],
34
+ startIcon: ['icon', 'startIcon', `iconSize${capitalize(size)}`],
35
+ endIcon: ['icon', 'endIcon', `iconSize${capitalize(size)}`],
36
+ loadingIndicator: ['loadingIndicator'],
37
+ loadingWrapper: ['loadingWrapper']
38
+ };
39
+ const composedClasses = composeClasses(slots, getButtonUtilityClass, classes);
40
+ return {
41
+ ...classes,
42
+ // forward the focused, disabled, etc. classes to the ButtonBase
43
+ ...composedClasses
44
+ };
45
+ };
46
+ const commonIconStyles = [{
47
+ props: {
48
+ size: 'small'
49
+ },
50
+ style: {
51
+ '& > *:nth-of-type(1)': {
52
+ fontSize: 18
53
+ }
54
+ }
55
+ }, {
56
+ props: {
57
+ size: 'medium'
58
+ },
59
+ style: {
60
+ '& > *:nth-of-type(1)': {
61
+ fontSize: 20
62
+ }
63
+ }
64
+ }, {
65
+ props: {
66
+ size: 'large'
67
+ },
68
+ style: {
69
+ '& > *:nth-of-type(1)': {
70
+ fontSize: 22
71
+ }
72
+ }
73
+ }];
74
+ const ButtonRoot = styled(ButtonBase, {
75
+ shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',
76
+ name: 'MuiButton',
77
+ slot: 'Root',
78
+ overridesResolver: (props, styles) => {
79
+ const {
80
+ ownerState
81
+ } = props;
82
+ return [styles.root, styles[ownerState.variant], styles[`${ownerState.variant}${capitalize(ownerState.color)}`], styles[`size${capitalize(ownerState.size)}`], styles[`${ownerState.variant}Size${capitalize(ownerState.size)}`], ownerState.color === 'inherit' && styles.colorInherit, ownerState.disableElevation && styles.disableElevation, ownerState.fullWidth && styles.fullWidth, ownerState.loading && styles.loading];
83
+ }
84
+ })(memoTheme(({
85
+ theme
86
+ }) => {
87
+ const inheritContainedBackgroundColor = theme.palette.mode === 'light' ? theme.palette.grey[300] : theme.palette.grey[800];
88
+ const inheritContainedHoverBackgroundColor = theme.palette.mode === 'light' ? theme.palette.grey.A100 : theme.palette.grey[700];
89
+ return {
90
+ ...theme.typography.button,
91
+ minWidth: 64,
92
+ padding: '6px 16px',
93
+ border: 0,
94
+ borderRadius: (theme.vars || theme).shape.borderRadius,
95
+ transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color', 'color'], {
96
+ duration: theme.transitions.duration.short
97
+ }),
98
+ '&:hover': {
99
+ textDecoration: 'none'
100
+ },
101
+ [`&.${buttonClasses.disabled}`]: {
102
+ color: (theme.vars || theme).palette.action.disabled
103
+ },
104
+ variants: [{
105
+ props: {
106
+ variant: 'contained'
107
+ },
108
+ style: {
109
+ color: `var(--variant-containedColor)`,
110
+ backgroundColor: `var(--variant-containedBg)`,
111
+ boxShadow: (theme.vars || theme).shadows[2],
112
+ '&:hover': {
113
+ boxShadow: (theme.vars || theme).shadows[4],
114
+ // Reset on touch devices, it doesn't add specificity
115
+ '@media (hover: none)': {
116
+ boxShadow: (theme.vars || theme).shadows[2]
117
+ }
118
+ },
119
+ '&:active': {
120
+ boxShadow: (theme.vars || theme).shadows[8]
121
+ },
122
+ [`&.${buttonClasses.focusVisible}`]: {
123
+ boxShadow: (theme.vars || theme).shadows[6]
124
+ },
125
+ [`&.${buttonClasses.disabled}`]: {
126
+ color: (theme.vars || theme).palette.action.disabled,
127
+ boxShadow: (theme.vars || theme).shadows[0],
128
+ backgroundColor: (theme.vars || theme).palette.action.disabledBackground
129
+ }
130
+ }
131
+ }, {
132
+ props: {
133
+ variant: 'outlined'
134
+ },
135
+ style: {
136
+ padding: '5px 15px',
137
+ border: '1px solid currentColor',
138
+ borderColor: `var(--variant-outlinedBorder, currentColor)`,
139
+ backgroundColor: `var(--variant-outlinedBg)`,
140
+ color: `var(--variant-outlinedColor)`,
141
+ [`&.${buttonClasses.disabled}`]: {
142
+ border: `1px solid ${(theme.vars || theme).palette.action.disabledBackground}`
143
+ }
144
+ }
145
+ }, {
146
+ props: {
147
+ variant: 'text'
148
+ },
149
+ style: {
150
+ padding: '6px 8px',
151
+ color: `var(--variant-textColor)`,
152
+ backgroundColor: `var(--variant-textBg)`
153
+ }
154
+ }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({
155
+ props: {
156
+ color
157
+ },
158
+ style: {
159
+ '--variant-textColor': (theme.vars || theme).palette[color].main,
160
+ '--variant-outlinedColor': (theme.vars || theme).palette[color].main,
161
+ '--variant-outlinedBorder': theme.alpha((theme.vars || theme).palette[color].main, 0.5),
162
+ '--variant-containedColor': (theme.vars || theme).palette[color].contrastText,
163
+ '--variant-containedBg': (theme.vars || theme).palette[color].main,
164
+ '@media (hover: hover)': {
165
+ '&:hover': {
166
+ '--variant-containedBg': (theme.vars || theme).palette[color].dark,
167
+ '--variant-textBg': theme.alpha((theme.vars || theme).palette[color].main, (theme.vars || theme).palette.action.hoverOpacity),
168
+ '--variant-outlinedBorder': (theme.vars || theme).palette[color].main,
169
+ '--variant-outlinedBg': theme.alpha((theme.vars || theme).palette[color].main, (theme.vars || theme).palette.action.hoverOpacity)
170
+ }
171
+ }
172
+ }
173
+ })), {
174
+ props: {
175
+ color: 'inherit'
176
+ },
177
+ style: {
178
+ color: 'inherit',
179
+ borderColor: 'currentColor',
180
+ '--variant-containedBg': theme.vars ? theme.vars.palette.Button.inheritContainedBg : inheritContainedBackgroundColor,
181
+ '@media (hover: hover)': {
182
+ '&:hover': {
183
+ '--variant-containedBg': theme.vars ? theme.vars.palette.Button.inheritContainedHoverBg : inheritContainedHoverBackgroundColor,
184
+ '--variant-textBg': theme.alpha((theme.vars || theme).palette.text.primary, (theme.vars || theme).palette.action.hoverOpacity),
185
+ '--variant-outlinedBg': theme.alpha((theme.vars || theme).palette.text.primary, (theme.vars || theme).palette.action.hoverOpacity)
186
+ }
187
+ }
188
+ }
189
+ }, {
190
+ props: {
191
+ size: 'small',
192
+ variant: 'text'
193
+ },
194
+ style: {
195
+ padding: '4px 5px',
196
+ fontSize: theme.typography.pxToRem(13)
197
+ }
198
+ }, {
199
+ props: {
200
+ size: 'large',
201
+ variant: 'text'
202
+ },
203
+ style: {
204
+ padding: '8px 11px',
205
+ fontSize: theme.typography.pxToRem(15)
206
+ }
207
+ }, {
208
+ props: {
209
+ size: 'small',
210
+ variant: 'outlined'
211
+ },
212
+ style: {
213
+ padding: '3px 9px',
214
+ fontSize: theme.typography.pxToRem(13)
215
+ }
216
+ }, {
217
+ props: {
218
+ size: 'large',
219
+ variant: 'outlined'
220
+ },
221
+ style: {
222
+ padding: '7px 21px',
223
+ fontSize: theme.typography.pxToRem(15)
224
+ }
225
+ }, {
226
+ props: {
227
+ size: 'small',
228
+ variant: 'contained'
229
+ },
230
+ style: {
231
+ padding: '4px 10px',
232
+ fontSize: theme.typography.pxToRem(13)
233
+ }
234
+ }, {
235
+ props: {
236
+ size: 'large',
237
+ variant: 'contained'
238
+ },
239
+ style: {
240
+ padding: '8px 22px',
241
+ fontSize: theme.typography.pxToRem(15)
242
+ }
243
+ }, {
244
+ props: {
245
+ disableElevation: true
246
+ },
247
+ style: {
248
+ boxShadow: 'none',
249
+ '&:hover': {
250
+ boxShadow: 'none'
251
+ },
252
+ [`&.${buttonClasses.focusVisible}`]: {
253
+ boxShadow: 'none'
254
+ },
255
+ '&:active': {
256
+ boxShadow: 'none'
257
+ },
258
+ [`&.${buttonClasses.disabled}`]: {
259
+ boxShadow: 'none'
260
+ }
261
+ }
262
+ }, {
263
+ props: {
264
+ fullWidth: true
265
+ },
266
+ style: {
267
+ width: '100%'
268
+ }
269
+ }, {
270
+ props: {
271
+ loadingPosition: 'center'
272
+ },
273
+ style: {
274
+ transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {
275
+ duration: theme.transitions.duration.short
276
+ }),
277
+ [`&.${buttonClasses.loading}`]: {
278
+ color: 'transparent'
279
+ }
280
+ }
281
+ }]
282
+ };
283
+ }));
284
+ const ButtonStartIcon = styled('span', {
285
+ name: 'MuiButton',
286
+ slot: 'StartIcon',
287
+ overridesResolver: (props, styles) => {
288
+ const {
289
+ ownerState
290
+ } = props;
291
+ return [styles.startIcon, ownerState.loading && styles.startIconLoadingStart, styles[`iconSize${capitalize(ownerState.size)}`]];
292
+ }
293
+ })(({
294
+ theme
295
+ }) => ({
296
+ display: 'inherit',
297
+ marginRight: 8,
298
+ marginLeft: -4,
299
+ variants: [{
300
+ props: {
301
+ size: 'small'
302
+ },
303
+ style: {
304
+ marginLeft: -2
305
+ }
306
+ }, {
307
+ props: {
308
+ loadingPosition: 'start',
309
+ loading: true
310
+ },
311
+ style: {
312
+ transition: theme.transitions.create(['opacity'], {
313
+ duration: theme.transitions.duration.short
314
+ }),
315
+ opacity: 0
316
+ }
317
+ }, {
318
+ props: {
319
+ loadingPosition: 'start',
320
+ loading: true,
321
+ fullWidth: true
322
+ },
323
+ style: {
324
+ marginRight: -8
325
+ }
326
+ }, ...commonIconStyles]
327
+ }));
328
+ const ButtonEndIcon = styled('span', {
329
+ name: 'MuiButton',
330
+ slot: 'EndIcon',
331
+ overridesResolver: (props, styles) => {
332
+ const {
333
+ ownerState
334
+ } = props;
335
+ return [styles.endIcon, ownerState.loading && styles.endIconLoadingEnd, styles[`iconSize${capitalize(ownerState.size)}`]];
336
+ }
337
+ })(({
338
+ theme
339
+ }) => ({
340
+ display: 'inherit',
341
+ marginRight: -4,
342
+ marginLeft: 8,
343
+ variants: [{
344
+ props: {
345
+ size: 'small'
346
+ },
347
+ style: {
348
+ marginRight: -2
349
+ }
350
+ }, {
351
+ props: {
352
+ loadingPosition: 'end',
353
+ loading: true
354
+ },
355
+ style: {
356
+ transition: theme.transitions.create(['opacity'], {
357
+ duration: theme.transitions.duration.short
358
+ }),
359
+ opacity: 0
360
+ }
361
+ }, {
362
+ props: {
363
+ loadingPosition: 'end',
364
+ loading: true,
365
+ fullWidth: true
366
+ },
367
+ style: {
368
+ marginLeft: -8
369
+ }
370
+ }, ...commonIconStyles]
371
+ }));
372
+ const ButtonLoadingIndicator = styled('span', {
373
+ name: 'MuiButton',
374
+ slot: 'LoadingIndicator'
375
+ })(({
376
+ theme
377
+ }) => ({
378
+ display: 'none',
379
+ position: 'absolute',
380
+ visibility: 'visible',
381
+ variants: [{
382
+ props: {
383
+ loading: true
384
+ },
385
+ style: {
386
+ display: 'flex'
387
+ }
388
+ }, {
389
+ props: {
390
+ loadingPosition: 'start'
391
+ },
392
+ style: {
393
+ left: 14
394
+ }
395
+ }, {
396
+ props: {
397
+ loadingPosition: 'start',
398
+ size: 'small'
399
+ },
400
+ style: {
401
+ left: 10
402
+ }
403
+ }, {
404
+ props: {
405
+ variant: 'text',
406
+ loadingPosition: 'start'
407
+ },
408
+ style: {
409
+ left: 6
410
+ }
411
+ }, {
412
+ props: {
413
+ loadingPosition: 'center'
414
+ },
415
+ style: {
416
+ left: '50%',
417
+ transform: 'translate(-50%)',
418
+ color: (theme.vars || theme).palette.action.disabled
419
+ }
420
+ }, {
421
+ props: {
422
+ loadingPosition: 'end'
423
+ },
424
+ style: {
425
+ right: 14
426
+ }
427
+ }, {
428
+ props: {
429
+ loadingPosition: 'end',
430
+ size: 'small'
431
+ },
432
+ style: {
433
+ right: 10
434
+ }
435
+ }, {
436
+ props: {
437
+ variant: 'text',
438
+ loadingPosition: 'end'
439
+ },
440
+ style: {
441
+ right: 6
442
+ }
443
+ }, {
444
+ props: {
445
+ loadingPosition: 'start',
446
+ fullWidth: true
447
+ },
448
+ style: {
449
+ position: 'relative',
450
+ left: -10
451
+ }
452
+ }, {
453
+ props: {
454
+ loadingPosition: 'end',
455
+ fullWidth: true
456
+ },
457
+ style: {
458
+ position: 'relative',
459
+ right: -10
460
+ }
461
+ }]
462
+ }));
463
+ const ButtonLoadingIconPlaceholder = styled('span', {
464
+ name: 'MuiButton',
465
+ slot: 'LoadingIconPlaceholder'
466
+ })({
467
+ display: 'inline-block',
468
+ width: '1em',
469
+ height: '1em'
470
+ });
471
+ const Button = /*#__PURE__*/React.forwardRef(function Button(inProps, ref) {
472
+ // props priority: `inProps` > `contextProps` > `themeDefaultProps`
473
+ const contextProps = React.useContext(ButtonGroupContext);
474
+ const buttonGroupButtonContextPositionClassName = React.useContext(ButtonGroupButtonContext);
475
+ const resolvedProps = resolveProps(contextProps, inProps);
476
+ const props = useDefaultProps({
477
+ props: resolvedProps,
478
+ name: 'MuiButton'
479
+ });
480
+ const {
481
+ children,
482
+ color = 'primary',
483
+ component = 'button',
484
+ className,
485
+ disabled = false,
486
+ disableElevation = false,
487
+ disableFocusRipple = false,
488
+ endIcon: endIconProp,
489
+ focusVisibleClassName,
490
+ fullWidth = false,
491
+ id: idProp,
492
+ loading = null,
493
+ loadingIndicator: loadingIndicatorProp,
494
+ loadingPosition = 'center',
495
+ size = 'medium',
496
+ startIcon: startIconProp,
497
+ type,
498
+ variant = 'text',
499
+ ...other
500
+ } = props;
501
+ const loadingId = useId(idProp);
502
+ const loadingIndicator = loadingIndicatorProp ?? /*#__PURE__*/jsx(CircularProgress, {
503
+ "aria-labelledby": loadingId,
504
+ color: "inherit",
505
+ size: 16
506
+ });
507
+ const ownerState = {
508
+ ...props,
509
+ color,
510
+ component,
511
+ disabled,
512
+ disableElevation,
513
+ disableFocusRipple,
514
+ fullWidth,
515
+ loading,
516
+ loadingIndicator,
517
+ loadingPosition,
518
+ size,
519
+ type,
520
+ variant
521
+ };
522
+ const classes = useUtilityClasses(ownerState);
523
+ const startIcon = (startIconProp || loading && loadingPosition === 'start') && /*#__PURE__*/jsx(ButtonStartIcon, {
524
+ className: classes.startIcon,
525
+ ownerState: ownerState,
526
+ children: startIconProp || /*#__PURE__*/jsx(ButtonLoadingIconPlaceholder, {
527
+ className: classes.loadingIconPlaceholder,
528
+ ownerState: ownerState
529
+ })
530
+ });
531
+ const endIcon = (endIconProp || loading && loadingPosition === 'end') && /*#__PURE__*/jsx(ButtonEndIcon, {
532
+ className: classes.endIcon,
533
+ ownerState: ownerState,
534
+ children: endIconProp || /*#__PURE__*/jsx(ButtonLoadingIconPlaceholder, {
535
+ className: classes.loadingIconPlaceholder,
536
+ ownerState: ownerState
537
+ })
538
+ });
539
+ const positionClassName = buttonGroupButtonContextPositionClassName || '';
540
+ const loader = typeof loading === 'boolean' ?
541
+ /*#__PURE__*/
542
+ // use plain HTML span to minimize the runtime overhead
543
+ jsx("span", {
544
+ className: classes.loadingWrapper,
545
+ style: {
546
+ display: 'contents'
547
+ },
548
+ children: loading && /*#__PURE__*/jsx(ButtonLoadingIndicator, {
549
+ className: classes.loadingIndicator,
550
+ ownerState: ownerState,
551
+ children: loadingIndicator
552
+ })
553
+ }) : null;
554
+ return /*#__PURE__*/jsxs(ButtonRoot, {
555
+ ownerState: ownerState,
556
+ className: clsx(contextProps.className, classes.root, className, positionClassName),
557
+ component: component,
558
+ disabled: disabled || loading,
559
+ focusRipple: !disableFocusRipple,
560
+ focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),
561
+ ref: ref,
562
+ type: type,
563
+ id: loading ? loadingId : idProp,
564
+ ...other,
565
+ classes: classes,
566
+ children: [startIcon, loadingPosition !== 'end' && loader, children, loadingPosition === 'end' && loader, endIcon]
567
+ });
568
+ });
569
+ process.env.NODE_ENV !== "production" ? Button.propTypes /* remove-proptypes */ = {
570
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
571
+ // │ These PropTypes are generated from the TypeScript type definitions. │
572
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
573
+ // └─────────────────────────────────────────────────────────────────────┘
574
+ /**
575
+ * The content of the component.
576
+ */
577
+ children: PropTypes.node,
578
+ /**
579
+ * Override or extend the styles applied to the component.
580
+ */
581
+ classes: PropTypes.object,
582
+ /**
583
+ * @ignore
584
+ */
585
+ className: PropTypes.string,
586
+ /**
587
+ * The color of the component.
588
+ * It supports both default and custom theme colors, which can be added as shown in the
589
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
590
+ * @default 'primary'
591
+ */
592
+ color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary', 'success', 'error', 'info', 'warning']), PropTypes.string]),
593
+ /**
594
+ * The component used for the root node.
595
+ * Either a string to use a HTML element or a component.
596
+ */
597
+ component: PropTypes.elementType,
598
+ /**
599
+ * If `true`, the component is disabled.
600
+ * @default false
601
+ */
602
+ disabled: PropTypes.bool,
603
+ /**
604
+ * If `true`, no elevation is used.
605
+ * @default false
606
+ */
607
+ disableElevation: PropTypes.bool,
608
+ /**
609
+ * If `true`, the keyboard focus ripple is disabled.
610
+ * @default false
611
+ */
612
+ disableFocusRipple: PropTypes.bool,
613
+ /**
614
+ * If `true`, the ripple effect is disabled.
615
+ *
616
+ * ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure
617
+ * to highlight the element by applying separate styles with the `.Mui-focusVisible` class.
618
+ * @default false
619
+ */
620
+ disableRipple: PropTypes.bool,
621
+ /**
622
+ * Element placed after the children.
623
+ */
624
+ endIcon: PropTypes.node,
625
+ /**
626
+ * @ignore
627
+ */
628
+ focusVisibleClassName: PropTypes.string,
629
+ /**
630
+ * If `true`, the button will take up the full width of its container.
631
+ * @default false
632
+ */
633
+ fullWidth: PropTypes.bool,
634
+ /**
635
+ * The URL to link to when the button is clicked.
636
+ * If defined, an `a` element will be used as the root node.
637
+ */
638
+ href: PropTypes.string,
639
+ /**
640
+ * @ignore
641
+ */
642
+ id: PropTypes.string,
643
+ /**
644
+ * If `true`, the loading indicator is visible and the button is disabled.
645
+ * If `true | false`, the loading wrapper is always rendered before the children to prevent [Google Translation Crash](https://github.com/mui/material-ui/issues/27853).
646
+ * @default null
647
+ */
648
+ loading: PropTypes.bool,
649
+ /**
650
+ * Element placed before the children if the button is in loading state.
651
+ * The node should contain an element with `role="progressbar"` with an accessible name.
652
+ * By default, it renders a `CircularProgress` that is labeled by the button itself.
653
+ * @default <CircularProgress color="inherit" size={16} />
654
+ */
655
+ loadingIndicator: PropTypes.node,
656
+ /**
657
+ * The loading indicator can be positioned on the start, end, or the center of the button.
658
+ * @default 'center'
659
+ */
660
+ loadingPosition: PropTypes.oneOf(['center', 'end', 'start']),
661
+ /**
662
+ * The size of the component.
663
+ * `small` is equivalent to the dense button styling.
664
+ * @default 'medium'
665
+ */
666
+ size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),
667
+ /**
668
+ * Element placed before the children.
669
+ */
670
+ startIcon: PropTypes.node,
671
+ /**
672
+ * The system prop that allows defining system overrides as well as additional CSS styles.
673
+ */
674
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
675
+ /**
676
+ * @ignore
677
+ */
678
+ type: PropTypes.oneOfType([PropTypes.oneOf(['button', 'reset', 'submit']), PropTypes.string]),
679
+ /**
680
+ * The variant to use.
681
+ * @default 'text'
682
+ */
683
+ variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['contained', 'outlined', 'text']), PropTypes.string])
684
+ } : void 0;
685
+
686
+ export { Button as default };
687
+ //# sourceMappingURL=Button.js.map