@notificationapi/react 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/assets/Badge.js +1 -1
  2. package/dist/assets/Box.js +13 -13
  3. package/dist/assets/Button.js +781 -0
  4. package/dist/assets/ButtonBase.js +409 -622
  5. package/dist/assets/DefaultPropsProvider.js +220 -215
  6. package/dist/assets/Divider.js +105 -154
  7. package/dist/assets/Grow.js +201 -0
  8. package/dist/assets/IconButton.js +1 -1
  9. package/dist/assets/List.js +142 -0
  10. package/dist/assets/Modal.js +1094 -0
  11. package/dist/assets/Notification.js +80 -79
  12. package/dist/assets/Paper.js +1 -1
  13. package/dist/assets/Popover.js +8 -6
  14. package/dist/assets/Portal.js +2 -2
  15. package/dist/assets/Stack.js +216 -0
  16. package/dist/assets/Typography.js +193 -117
  17. package/dist/assets/WebPushOptInMessage.js +40 -814
  18. package/dist/assets/createSvgIcon.js +5 -5
  19. package/dist/assets/dividerClasses.js +56 -0
  20. package/dist/assets/index.js +151 -0
  21. package/dist/assets/useTheme2.js +253 -11
  22. package/dist/assets/utils.js +4 -4
  23. package/dist/components/Notifications/Inbox.js +2927 -9
  24. package/dist/components/Notifications/InboxHeader.js +2146 -7
  25. package/dist/components/Notifications/NotificationFeed.js +13 -13
  26. package/dist/components/Notifications/NotificationLauncher.js +2 -2
  27. package/dist/components/Notifications/NotificationPopup.js +7 -7
  28. package/dist/components/Preferences/NotificationPreferencesPopup.js +608 -7
  29. package/dist/components/Preferences/PreferenceInput.js +1451 -6
  30. package/dist/components/Preferences/Preferences.js +368 -515
  31. package/dist/components/Preferences/index.js +1 -1
  32. package/dist/components/Provider/index.js +226 -202
  33. package/dist/components/Slack/SlackConnect.d.ts +12 -0
  34. package/dist/components/Slack/SlackConnect.js +4826 -0
  35. package/dist/components/Slack/index.d.ts +1 -0
  36. package/dist/components/Slack/index.js +4 -0
  37. package/dist/components/WebPush/WebPushOptInMessage.js +3 -2
  38. package/dist/main.d.ts +1 -0
  39. package/dist/main.js +5 -3
  40. package/package.json +4 -4
  41. package/dist/assets/Inbox.js +0 -3061
  42. package/dist/assets/InboxHeader.js +0 -2338
  43. package/dist/assets/NotificationPreferencesPopup.js +0 -1694
  44. package/dist/assets/PreferenceInput.js +0 -1657
@@ -1,8 +1,1453 @@
1
- import "react/jsx-runtime";
2
- import "../../assets/channelUtils.js";
3
- import "../../assets/Typography.js";
4
- import { P as i } from "../../assets/PreferenceInput.js";
5
- import "../../assets/Divider.js";
1
+ import { jsxs as R, jsx as i, Fragment as ne } from "react/jsx-runtime";
2
+ import { g as we, a as Ce } from "../../assets/channelUtils.js";
3
+ import { T as _ } from "../../assets/Typography.js";
4
+ import * as g from "react";
5
+ import { e as L, g as q, s as w, K as ee, c as j, P as o, h as v, b as D, m as I, u as W, a as A, J as ke, I as Se } from "../../assets/DefaultPropsProvider.js";
6
+ import { c as Q } from "../../assets/createSimplePaletteValueFilter.js";
7
+ import { u as H, f as ue, c as Re, S as Oe } from "../../assets/Stack.js";
8
+ import { B as xe, r as K, a as $e } from "../../assets/ButtonBase.js";
9
+ import { a as fe, u as Pe } from "../../assets/dividerClasses.js";
10
+ import { u as Te } from "../../assets/resolveComponentProps.js";
11
+ import { c as be } from "../../assets/createSvgIcon.js";
12
+ import { D as Fe } from "../../assets/Divider.js";
13
+ function Ne(e) {
14
+ return L("PrivateSwitchBase", e);
15
+ }
16
+ q("PrivateSwitchBase", ["root", "checked", "disabled", "input", "edgeStart", "edgeEnd"]);
17
+ const Be = (e) => {
18
+ const {
19
+ classes: t,
20
+ checked: r,
21
+ disabled: a,
22
+ edge: s
23
+ } = e, c = {
24
+ root: ["root", r && "checked", a && "disabled", s && `edge${v(s)}`],
25
+ input: ["input"]
26
+ };
27
+ return D(c, Ne, t);
28
+ }, Ie = w(xe)({
29
+ padding: 9,
30
+ borderRadius: "50%",
31
+ variants: [{
32
+ props: {
33
+ edge: "start",
34
+ size: "small"
35
+ },
36
+ style: {
37
+ marginLeft: -3
38
+ }
39
+ }, {
40
+ props: ({
41
+ edge: e,
42
+ ownerState: t
43
+ }) => e === "start" && t.size !== "small",
44
+ style: {
45
+ marginLeft: -12
46
+ }
47
+ }, {
48
+ props: {
49
+ edge: "end",
50
+ size: "small"
51
+ },
52
+ style: {
53
+ marginRight: -3
54
+ }
55
+ }, {
56
+ props: ({
57
+ edge: e,
58
+ ownerState: t
59
+ }) => e === "end" && t.size !== "small",
60
+ style: {
61
+ marginRight: -12
62
+ }
63
+ }]
64
+ }), ze = w("input", {
65
+ shouldForwardProp: ee
66
+ })({
67
+ cursor: "inherit",
68
+ position: "absolute",
69
+ opacity: 0,
70
+ width: "100%",
71
+ height: "100%",
72
+ top: 0,
73
+ left: 0,
74
+ margin: 0,
75
+ padding: 0,
76
+ zIndex: 1
77
+ }), oe = /* @__PURE__ */ g.forwardRef(function(t, r) {
78
+ const {
79
+ autoFocus: a,
80
+ checked: s,
81
+ checkedIcon: c,
82
+ className: l,
83
+ defaultChecked: u,
84
+ disabled: f,
85
+ disableFocusRipple: p = !1,
86
+ edge: d = !1,
87
+ icon: n,
88
+ id: m,
89
+ inputProps: k,
90
+ inputRef: S,
91
+ name: N,
92
+ onBlur: y,
93
+ onChange: P,
94
+ onFocus: b,
95
+ readOnly: T,
96
+ required: O = !1,
97
+ tabIndex: M,
98
+ type: C,
99
+ value: G,
100
+ ...X
101
+ } = t, [z, U] = fe({
102
+ controlled: s,
103
+ default: !!u,
104
+ name: "SwitchBase",
105
+ state: "checked"
106
+ }), x = H(), J = (F) => {
107
+ b && b(F), x && x.onFocus && x.onFocus(F);
108
+ }, E = (F) => {
109
+ y && y(F), x && x.onBlur && x.onBlur(F);
110
+ }, B = (F) => {
111
+ if (F.nativeEvent.defaultPrevented)
112
+ return;
113
+ const se = F.target.checked;
114
+ U(se), P && P(F, se);
115
+ };
116
+ let $ = f;
117
+ x && typeof $ > "u" && ($ = x.disabled);
118
+ const ve = C === "checkbox" || C === "radio", Z = {
119
+ ...t,
120
+ checked: z,
121
+ disabled: $,
122
+ disableFocusRipple: p,
123
+ edge: d
124
+ }, ae = Be(Z);
125
+ return /* @__PURE__ */ R(Ie, {
126
+ component: "span",
127
+ className: j(ae.root, l),
128
+ centerRipple: !0,
129
+ focusRipple: !p,
130
+ disabled: $,
131
+ tabIndex: null,
132
+ role: void 0,
133
+ onFocus: J,
134
+ onBlur: E,
135
+ ownerState: Z,
136
+ ref: r,
137
+ ...X,
138
+ children: [/* @__PURE__ */ i(ze, {
139
+ autoFocus: a,
140
+ checked: s,
141
+ defaultChecked: u,
142
+ className: ae.input,
143
+ disabled: $,
144
+ id: ve ? m : void 0,
145
+ name: N,
146
+ onChange: B,
147
+ readOnly: T,
148
+ ref: S,
149
+ required: O,
150
+ ownerState: Z,
151
+ tabIndex: M,
152
+ type: C,
153
+ ...C === "checkbox" && G === void 0 ? {} : {
154
+ value: G
155
+ },
156
+ ...k
157
+ }), z ? c : n]
158
+ });
159
+ });
160
+ process.env.NODE_ENV !== "production" && (oe.propTypes = {
161
+ /**
162
+ * If `true`, the `input` element is focused during the first mount.
163
+ */
164
+ autoFocus: o.bool,
165
+ /**
166
+ * If `true`, the component is checked.
167
+ */
168
+ checked: o.bool,
169
+ /**
170
+ * The icon to display when the component is checked.
171
+ */
172
+ checkedIcon: o.node.isRequired,
173
+ /**
174
+ * Override or extend the styles applied to the component.
175
+ */
176
+ classes: o.object,
177
+ /**
178
+ * @ignore
179
+ */
180
+ className: o.string,
181
+ /**
182
+ * @ignore
183
+ */
184
+ defaultChecked: o.bool,
185
+ /**
186
+ * If `true`, the component is disabled.
187
+ */
188
+ disabled: o.bool,
189
+ /**
190
+ * If `true`, the keyboard focus ripple is disabled.
191
+ * @default false
192
+ */
193
+ disableFocusRipple: o.bool,
194
+ /**
195
+ * If given, uses a negative margin to counteract the padding on one
196
+ * side (this is often helpful for aligning the left or right
197
+ * side of the icon with content above or below, without ruining the border
198
+ * size and shape).
199
+ * @default false
200
+ */
201
+ edge: o.oneOf(["end", "start", !1]),
202
+ /**
203
+ * The icon to display when the component is unchecked.
204
+ */
205
+ icon: o.node.isRequired,
206
+ /**
207
+ * The id of the `input` element.
208
+ */
209
+ id: o.string,
210
+ /**
211
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
212
+ */
213
+ inputProps: o.object,
214
+ /**
215
+ * Pass a ref to the `input` element.
216
+ */
217
+ inputRef: K,
218
+ /*
219
+ * @ignore
220
+ */
221
+ name: o.string,
222
+ /**
223
+ * @ignore
224
+ */
225
+ onBlur: o.func,
226
+ /**
227
+ * Callback fired when the state is changed.
228
+ *
229
+ * @param {object} event The event source of the callback.
230
+ * You can pull out the new checked state by accessing `event.target.checked` (boolean).
231
+ */
232
+ onChange: o.func,
233
+ /**
234
+ * @ignore
235
+ */
236
+ onFocus: o.func,
237
+ /**
238
+ * It prevents the user from changing the value of the field
239
+ * (not from interacting with the field).
240
+ */
241
+ readOnly: o.bool,
242
+ /**
243
+ * If `true`, the `input` element is required.
244
+ */
245
+ required: o.bool,
246
+ /**
247
+ * The system prop that allows defining system overrides as well as additional CSS styles.
248
+ */
249
+ sx: o.object,
250
+ /**
251
+ * @ignore
252
+ */
253
+ tabIndex: o.oneOfType([o.number, o.string]),
254
+ /**
255
+ * The input component prop `type`.
256
+ */
257
+ type: o.string.isRequired,
258
+ /**
259
+ * The value of the component.
260
+ */
261
+ value: o.any
262
+ });
263
+ function je(e) {
264
+ return L("MuiFormControlLabel", e);
265
+ }
266
+ const V = q("MuiFormControlLabel", ["root", "labelPlacementStart", "labelPlacementTop", "labelPlacementBottom", "disabled", "label", "error", "required", "asterisk"]), Me = (e) => {
267
+ const {
268
+ classes: t,
269
+ disabled: r,
270
+ labelPlacement: a,
271
+ error: s,
272
+ required: c
273
+ } = e, l = {
274
+ root: ["root", r && "disabled", `labelPlacement${v(a)}`, s && "error", c && "required"],
275
+ label: ["label", r && "disabled"],
276
+ asterisk: ["asterisk", s && "error"]
277
+ };
278
+ return D(l, je, t);
279
+ }, Ee = w("label", {
280
+ name: "MuiFormControlLabel",
281
+ slot: "Root",
282
+ overridesResolver: (e, t) => {
283
+ const {
284
+ ownerState: r
285
+ } = e;
286
+ return [{
287
+ [`& .${V.label}`]: t.label
288
+ }, t.root, t[`labelPlacement${v(r.labelPlacement)}`]];
289
+ }
290
+ })(I(({
291
+ theme: e
292
+ }) => ({
293
+ display: "inline-flex",
294
+ alignItems: "center",
295
+ cursor: "pointer",
296
+ // For correct alignment with the text.
297
+ verticalAlign: "middle",
298
+ WebkitTapHighlightColor: "transparent",
299
+ marginLeft: -11,
300
+ marginRight: 16,
301
+ // used for row presentation of radio/checkbox
302
+ [`&.${V.disabled}`]: {
303
+ cursor: "default"
304
+ },
305
+ [`& .${V.label}`]: {
306
+ [`&.${V.disabled}`]: {
307
+ color: (e.vars || e).palette.text.disabled
308
+ }
309
+ },
310
+ variants: [{
311
+ props: {
312
+ labelPlacement: "start"
313
+ },
314
+ style: {
315
+ flexDirection: "row-reverse",
316
+ marginRight: -11
317
+ }
318
+ }, {
319
+ props: {
320
+ labelPlacement: "top"
321
+ },
322
+ style: {
323
+ flexDirection: "column-reverse"
324
+ }
325
+ }, {
326
+ props: {
327
+ labelPlacement: "bottom"
328
+ },
329
+ style: {
330
+ flexDirection: "column"
331
+ }
332
+ }, {
333
+ props: ({
334
+ labelPlacement: t
335
+ }) => t === "start" || t === "top" || t === "bottom",
336
+ style: {
337
+ marginLeft: 16
338
+ // used for row presentation of radio/checkbox
339
+ }
340
+ }]
341
+ }))), Le = w("span", {
342
+ name: "MuiFormControlLabel",
343
+ slot: "Asterisk",
344
+ overridesResolver: (e, t) => t.asterisk
345
+ })(I(({
346
+ theme: e
347
+ }) => ({
348
+ [`&.${V.error}`]: {
349
+ color: (e.vars || e).palette.error.main
350
+ }
351
+ }))), he = /* @__PURE__ */ g.forwardRef(function(t, r) {
352
+ const a = W({
353
+ props: t,
354
+ name: "MuiFormControlLabel"
355
+ }), {
356
+ checked: s,
357
+ className: c,
358
+ componentsProps: l = {},
359
+ control: u,
360
+ disabled: f,
361
+ disableTypography: p,
362
+ inputRef: d,
363
+ label: n,
364
+ labelPlacement: m = "end",
365
+ name: k,
366
+ onChange: S,
367
+ required: N,
368
+ slots: y = {},
369
+ slotProps: P = {},
370
+ value: b,
371
+ ...T
372
+ } = a, O = H(), M = f ?? u.props.disabled ?? (O == null ? void 0 : O.disabled), C = N ?? u.props.required, G = {
373
+ disabled: M,
374
+ required: C
375
+ };
376
+ ["checked", "name", "onChange", "value", "inputRef"].forEach(($) => {
377
+ typeof u.props[$] > "u" && typeof a[$] < "u" && (G[$] = a[$]);
378
+ });
379
+ const X = ue({
380
+ props: a,
381
+ muiFormControl: O,
382
+ states: ["error"]
383
+ }), z = {
384
+ ...a,
385
+ disabled: M,
386
+ labelPlacement: m,
387
+ required: C,
388
+ error: X.error
389
+ }, U = Me(z), x = {
390
+ slots: y,
391
+ slotProps: {
392
+ ...l,
393
+ ...P
394
+ }
395
+ }, [J, E] = $e("typography", {
396
+ elementType: _,
397
+ externalForwardedProps: x,
398
+ ownerState: z
399
+ });
400
+ let B = n;
401
+ return B != null && B.type !== _ && !p && (B = /* @__PURE__ */ i(J, {
402
+ component: "span",
403
+ ...E,
404
+ className: j(U.label, E == null ? void 0 : E.className),
405
+ children: B
406
+ })), /* @__PURE__ */ R(Ee, {
407
+ className: j(U.root, c),
408
+ ownerState: z,
409
+ ref: r,
410
+ ...T,
411
+ children: [/* @__PURE__ */ g.cloneElement(u, G), C ? /* @__PURE__ */ R("div", {
412
+ children: [B, /* @__PURE__ */ R(Le, {
413
+ ownerState: z,
414
+ "aria-hidden": !0,
415
+ className: U.asterisk,
416
+ children: [" ", "*"]
417
+ })]
418
+ }) : B]
419
+ });
420
+ });
421
+ process.env.NODE_ENV !== "production" && (he.propTypes = {
422
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
423
+ // │ These PropTypes are generated from the TypeScript type definitions. │
424
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
425
+ // └─────────────────────────────────────────────────────────────────────┘
426
+ /**
427
+ * If `true`, the component appears selected.
428
+ */
429
+ checked: o.bool,
430
+ /**
431
+ * Override or extend the styles applied to the component.
432
+ */
433
+ classes: o.object,
434
+ /**
435
+ * @ignore
436
+ */
437
+ className: o.string,
438
+ /**
439
+ * The props used for each slot inside.
440
+ * @default {}
441
+ * @deprecated use the `slotProps` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
442
+ */
443
+ componentsProps: o.shape({
444
+ typography: o.object
445
+ }),
446
+ /**
447
+ * A control element. For instance, it can be a `Radio`, a `Switch` or a `Checkbox`.
448
+ */
449
+ control: o.element.isRequired,
450
+ /**
451
+ * If `true`, the control is disabled.
452
+ */
453
+ disabled: o.bool,
454
+ /**
455
+ * If `true`, the label is rendered as it is passed without an additional typography node.
456
+ */
457
+ disableTypography: o.bool,
458
+ /**
459
+ * Pass a ref to the `input` element.
460
+ */
461
+ inputRef: K,
462
+ /**
463
+ * A text or an element to be used in an enclosing label element.
464
+ */
465
+ label: o.node,
466
+ /**
467
+ * The position of the label.
468
+ * @default 'end'
469
+ */
470
+ labelPlacement: o.oneOf(["bottom", "end", "start", "top"]),
471
+ /**
472
+ * @ignore
473
+ */
474
+ name: o.string,
475
+ /**
476
+ * Callback fired when the state is changed.
477
+ *
478
+ * @param {React.SyntheticEvent} event The event source of the callback.
479
+ * You can pull out the new checked state by accessing `event.target.checked` (boolean).
480
+ */
481
+ onChange: o.func,
482
+ /**
483
+ * If `true`, the label will indicate that the `input` is required.
484
+ */
485
+ required: o.bool,
486
+ /**
487
+ * The props used for each slot inside.
488
+ * @default {}
489
+ */
490
+ slotProps: o.shape({
491
+ typography: o.oneOfType([o.func, o.object])
492
+ }),
493
+ /**
494
+ * The components used for each slot inside.
495
+ * @default {}
496
+ */
497
+ slots: o.shape({
498
+ typography: o.elementType
499
+ }),
500
+ /**
501
+ * The system prop that allows defining system overrides as well as additional CSS styles.
502
+ */
503
+ sx: o.oneOfType([o.arrayOf(o.oneOfType([o.func, o.object, o.bool])), o.func, o.object]),
504
+ /**
505
+ * The value of the component.
506
+ */
507
+ value: o.any
508
+ });
509
+ function qe(e) {
510
+ return L("MuiFormGroup", e);
511
+ }
512
+ q("MuiFormGroup", ["root", "row", "error"]);
513
+ const De = (e) => {
514
+ const {
515
+ classes: t,
516
+ row: r,
517
+ error: a
518
+ } = e;
519
+ return D({
520
+ root: ["root", r && "row", a && "error"]
521
+ }, qe, t);
522
+ }, Ge = w("div", {
523
+ name: "MuiFormGroup",
524
+ slot: "Root",
525
+ overridesResolver: (e, t) => {
526
+ const {
527
+ ownerState: r
528
+ } = e;
529
+ return [t.root, r.row && t.row];
530
+ }
531
+ })({
532
+ display: "flex",
533
+ flexDirection: "column",
534
+ flexWrap: "wrap",
535
+ variants: [{
536
+ props: {
537
+ row: !0
538
+ },
539
+ style: {
540
+ flexDirection: "row"
541
+ }
542
+ }]
543
+ }), me = /* @__PURE__ */ g.forwardRef(function(t, r) {
544
+ const a = W({
545
+ props: t,
546
+ name: "MuiFormGroup"
547
+ }), {
548
+ className: s,
549
+ row: c = !1,
550
+ ...l
551
+ } = a, u = H(), f = ue({
552
+ props: a,
553
+ muiFormControl: u,
554
+ states: ["error"]
555
+ }), p = {
556
+ ...a,
557
+ row: c,
558
+ error: f.error
559
+ }, d = De(p);
560
+ return /* @__PURE__ */ i(Ge, {
561
+ className: j(d.root, s),
562
+ ownerState: p,
563
+ ref: r,
564
+ ...l
565
+ });
566
+ });
567
+ process.env.NODE_ENV !== "production" && (me.propTypes = {
568
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
569
+ // │ These PropTypes are generated from the TypeScript type definitions. │
570
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
571
+ // └─────────────────────────────────────────────────────────────────────┘
572
+ /**
573
+ * The content of the component.
574
+ */
575
+ children: o.node,
576
+ /**
577
+ * Override or extend the styles applied to the component.
578
+ */
579
+ classes: o.object,
580
+ /**
581
+ * @ignore
582
+ */
583
+ className: o.string,
584
+ /**
585
+ * Display group of elements in a compact row.
586
+ * @default false
587
+ */
588
+ row: o.bool,
589
+ /**
590
+ * The system prop that allows defining system overrides as well as additional CSS styles.
591
+ */
592
+ sx: o.oneOfType([o.arrayOf(o.oneOfType([o.func, o.object, o.bool])), o.func, o.object])
593
+ });
594
+ const Ue = be(/* @__PURE__ */ i("path", {
595
+ d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"
596
+ }), "RadioButtonUnchecked"), Ve = be(/* @__PURE__ */ i("path", {
597
+ d: "M8.465 8.465C9.37 7.56 10.62 7 12 7C14.76 7 17 9.24 17 12C17 13.38 16.44 14.63 15.535 15.535C14.63 16.44 13.38 17 12 17C9.24 17 7 14.76 7 12C7 10.62 7.56 9.37 8.465 8.465Z"
598
+ }), "RadioButtonChecked"), _e = w("span", {
599
+ shouldForwardProp: ee
600
+ })({
601
+ position: "relative",
602
+ display: "flex"
603
+ }), Ae = w(Ue)({
604
+ // Scale applied to prevent dot misalignment in Safari
605
+ transform: "scale(1)"
606
+ }), We = w(Ve)(I(({
607
+ theme: e
608
+ }) => ({
609
+ left: 0,
610
+ position: "absolute",
611
+ transform: "scale(0)",
612
+ transition: e.transitions.create("transform", {
613
+ easing: e.transitions.easing.easeIn,
614
+ duration: e.transitions.duration.shortest
615
+ }),
616
+ variants: [{
617
+ props: {
618
+ checked: !0
619
+ },
620
+ style: {
621
+ transform: "scale(1)",
622
+ transition: e.transitions.create("transform", {
623
+ easing: e.transitions.easing.easeOut,
624
+ duration: e.transitions.duration.shortest
625
+ })
626
+ }
627
+ }]
628
+ })));
629
+ function te(e) {
630
+ const {
631
+ checked: t = !1,
632
+ classes: r = {},
633
+ fontSize: a
634
+ } = e, s = {
635
+ ...e,
636
+ checked: t
637
+ };
638
+ return /* @__PURE__ */ R(_e, {
639
+ className: r.root,
640
+ ownerState: s,
641
+ children: [/* @__PURE__ */ i(Ae, {
642
+ fontSize: a,
643
+ className: r.background,
644
+ ownerState: s
645
+ }), /* @__PURE__ */ i(We, {
646
+ fontSize: a,
647
+ className: r.dot,
648
+ ownerState: s
649
+ })]
650
+ });
651
+ }
652
+ process.env.NODE_ENV !== "production" && (te.propTypes = {
653
+ /**
654
+ * If `true`, the component is checked.
655
+ */
656
+ checked: o.bool,
657
+ /**
658
+ * Override or extend the styles applied to the component.
659
+ */
660
+ classes: o.object,
661
+ /**
662
+ * The size of the component.
663
+ * `small` is equivalent to the dense radio styling.
664
+ */
665
+ fontSize: o.oneOf(["small", "medium"])
666
+ });
667
+ const re = /* @__PURE__ */ g.createContext(void 0);
668
+ process.env.NODE_ENV !== "production" && (re.displayName = "RadioGroupContext");
669
+ function He() {
670
+ return g.useContext(re);
671
+ }
672
+ function Ke(e) {
673
+ return L("MuiRadio", e);
674
+ }
675
+ const ie = q("MuiRadio", ["root", "checked", "disabled", "colorPrimary", "colorSecondary", "sizeSmall"]), Xe = (e) => {
676
+ const {
677
+ classes: t,
678
+ color: r,
679
+ size: a
680
+ } = e, s = {
681
+ root: ["root", `color${v(r)}`, a !== "medium" && `size${v(a)}`]
682
+ };
683
+ return {
684
+ ...t,
685
+ ...D(s, Ke, t)
686
+ };
687
+ }, Je = w(oe, {
688
+ shouldForwardProp: (e) => ee(e) || e === "classes",
689
+ name: "MuiRadio",
690
+ slot: "Root",
691
+ overridesResolver: (e, t) => {
692
+ const {
693
+ ownerState: r
694
+ } = e;
695
+ return [t.root, r.size !== "medium" && t[`size${v(r.size)}`], t[`color${v(r.color)}`]];
696
+ }
697
+ })(I(({
698
+ theme: e
699
+ }) => ({
700
+ color: (e.vars || e).palette.text.secondary,
701
+ [`&.${ie.disabled}`]: {
702
+ color: (e.vars || e).palette.action.disabled
703
+ },
704
+ variants: [{
705
+ props: {
706
+ color: "default",
707
+ disabled: !1,
708
+ disableRipple: !1
709
+ },
710
+ style: {
711
+ "&:hover": {
712
+ backgroundColor: e.vars ? `rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})` : A(e.palette.action.active, e.palette.action.hoverOpacity)
713
+ }
714
+ }
715
+ }, ...Object.entries(e.palette).filter(Q()).map(([t]) => ({
716
+ props: {
717
+ color: t,
718
+ disabled: !1,
719
+ disableRipple: !1
720
+ },
721
+ style: {
722
+ "&:hover": {
723
+ backgroundColor: e.vars ? `rgba(${e.vars.palette[t].mainChannel} / ${e.vars.palette.action.hoverOpacity})` : A(e.palette[t].main, e.palette.action.hoverOpacity)
724
+ }
725
+ }
726
+ })), ...Object.entries(e.palette).filter(Q()).map(([t]) => ({
727
+ props: {
728
+ color: t,
729
+ disabled: !1
730
+ },
731
+ style: {
732
+ [`&.${ie.checked}`]: {
733
+ color: (e.vars || e).palette[t].main
734
+ }
735
+ }
736
+ })), {
737
+ // Should be last to override other colors
738
+ props: {
739
+ disableRipple: !1
740
+ },
741
+ style: {
742
+ // Reset on touch devices, it doesn't add specificity
743
+ "&:hover": {
744
+ "@media (hover: none)": {
745
+ backgroundColor: "transparent"
746
+ }
747
+ }
748
+ }
749
+ }]
750
+ })));
751
+ function Ze(e, t) {
752
+ return typeof t == "object" && t !== null ? e === t : String(e) === String(t);
753
+ }
754
+ const le = /* @__PURE__ */ i(te, {
755
+ checked: !0
756
+ }), ce = /* @__PURE__ */ i(te, {}), ge = /* @__PURE__ */ g.forwardRef(function(t, r) {
757
+ const a = W({
758
+ props: t,
759
+ name: "MuiRadio"
760
+ }), {
761
+ checked: s,
762
+ checkedIcon: c = le,
763
+ color: l = "primary",
764
+ icon: u = ce,
765
+ name: f,
766
+ onChange: p,
767
+ size: d = "medium",
768
+ className: n,
769
+ disabled: m,
770
+ disableRipple: k = !1,
771
+ ...S
772
+ } = a, N = H();
773
+ let y = m;
774
+ N && typeof y > "u" && (y = N.disabled), y ?? (y = !1);
775
+ const P = {
776
+ ...a,
777
+ disabled: y,
778
+ disableRipple: k,
779
+ color: l,
780
+ size: d
781
+ }, b = Xe(P), T = He();
782
+ let O = s;
783
+ const M = Re(p, T && T.onChange);
784
+ let C = f;
785
+ return T && (typeof O > "u" && (O = Ze(T.value, a.value)), typeof C > "u" && (C = T.name)), /* @__PURE__ */ i(Je, {
786
+ type: "radio",
787
+ icon: /* @__PURE__ */ g.cloneElement(u, {
788
+ fontSize: ce.props.fontSize ?? d
789
+ }),
790
+ checkedIcon: /* @__PURE__ */ g.cloneElement(c, {
791
+ fontSize: le.props.fontSize ?? d
792
+ }),
793
+ disabled: y,
794
+ ownerState: P,
795
+ classes: b,
796
+ name: C,
797
+ checked: O,
798
+ onChange: M,
799
+ ref: r,
800
+ className: j(b.root, n),
801
+ ...S
802
+ });
803
+ });
804
+ process.env.NODE_ENV !== "production" && (ge.propTypes = {
805
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
806
+ // │ These PropTypes are generated from the TypeScript type definitions. │
807
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
808
+ // └─────────────────────────────────────────────────────────────────────┘
809
+ /**
810
+ * If `true`, the component is checked.
811
+ */
812
+ checked: o.bool,
813
+ /**
814
+ * The icon to display when the component is checked.
815
+ * @default <RadioButtonIcon checked />
816
+ */
817
+ checkedIcon: o.node,
818
+ /**
819
+ * Override or extend the styles applied to the component.
820
+ */
821
+ classes: o.object,
822
+ /**
823
+ * @ignore
824
+ */
825
+ className: o.string,
826
+ /**
827
+ * The color of the component.
828
+ * It supports both default and custom theme colors, which can be added as shown in the
829
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
830
+ * @default 'primary'
831
+ */
832
+ color: o.oneOfType([o.oneOf(["default", "primary", "secondary", "error", "info", "success", "warning"]), o.string]),
833
+ /**
834
+ * If `true`, the component is disabled.
835
+ */
836
+ disabled: o.bool,
837
+ /**
838
+ * If `true`, the ripple effect is disabled.
839
+ * @default false
840
+ */
841
+ disableRipple: o.bool,
842
+ /**
843
+ * The icon to display when the component is unchecked.
844
+ * @default <RadioButtonIcon />
845
+ */
846
+ icon: o.node,
847
+ /**
848
+ * The id of the `input` element.
849
+ */
850
+ id: o.string,
851
+ /**
852
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
853
+ */
854
+ inputProps: o.object,
855
+ /**
856
+ * Pass a ref to the `input` element.
857
+ */
858
+ inputRef: K,
859
+ /**
860
+ * Name attribute of the `input` element.
861
+ */
862
+ name: o.string,
863
+ /**
864
+ * Callback fired when the state is changed.
865
+ *
866
+ * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.
867
+ * You can pull out the new value by accessing `event.target.value` (string).
868
+ * You can pull out the new checked state by accessing `event.target.checked` (boolean).
869
+ */
870
+ onChange: o.func,
871
+ /**
872
+ * If `true`, the `input` element is required.
873
+ * @default false
874
+ */
875
+ required: o.bool,
876
+ /**
877
+ * The size of the component.
878
+ * `small` is equivalent to the dense radio styling.
879
+ * @default 'medium'
880
+ */
881
+ size: o.oneOfType([o.oneOf(["medium", "small"]), o.string]),
882
+ /**
883
+ * The system prop that allows defining system overrides as well as additional CSS styles.
884
+ */
885
+ sx: o.oneOfType([o.arrayOf(o.oneOfType([o.func, o.object, o.bool])), o.func, o.object]),
886
+ /**
887
+ * The value of the component. The DOM API casts this to a string.
888
+ */
889
+ value: o.any
890
+ });
891
+ function Qe(e) {
892
+ return L("MuiRadioGroup", e);
893
+ }
894
+ q("MuiRadioGroup", ["root", "row", "error"]);
895
+ const Ye = (e) => {
896
+ const {
897
+ classes: t,
898
+ row: r,
899
+ error: a
900
+ } = e;
901
+ return D({
902
+ root: ["root", r && "row", a && "error"]
903
+ }, Qe, t);
904
+ }, ye = /* @__PURE__ */ g.forwardRef(function(t, r) {
905
+ const {
906
+ // private
907
+ // eslint-disable-next-line react/prop-types
908
+ actions: a,
909
+ children: s,
910
+ className: c,
911
+ defaultValue: l,
912
+ name: u,
913
+ onChange: f,
914
+ value: p,
915
+ ...d
916
+ } = t, n = g.useRef(null), m = Ye(t), [k, S] = fe({
917
+ controlled: p,
918
+ default: l,
919
+ name: "RadioGroup"
920
+ });
921
+ g.useImperativeHandle(a, () => ({
922
+ focus: () => {
923
+ let b = n.current.querySelector("input:not(:disabled):checked");
924
+ b || (b = n.current.querySelector("input:not(:disabled)")), b && b.focus();
925
+ }
926
+ }), []);
927
+ const N = Te(r, n), y = Pe(u), P = g.useMemo(() => ({
928
+ name: y,
929
+ onChange(b) {
930
+ S(b.target.value), f && f(b, b.target.value);
931
+ },
932
+ value: k
933
+ }), [y, f, S, k]);
934
+ return /* @__PURE__ */ i(re.Provider, {
935
+ value: P,
936
+ children: /* @__PURE__ */ i(me, {
937
+ role: "radiogroup",
938
+ ref: N,
939
+ className: j(m.root, c),
940
+ ...d,
941
+ children: s
942
+ })
943
+ });
944
+ });
945
+ process.env.NODE_ENV !== "production" && (ye.propTypes = {
946
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
947
+ // │ These PropTypes are generated from the TypeScript type definitions. │
948
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
949
+ // └─────────────────────────────────────────────────────────────────────┘
950
+ /**
951
+ * The content of the component.
952
+ */
953
+ children: o.node,
954
+ /**
955
+ * @ignore
956
+ */
957
+ className: o.string,
958
+ /**
959
+ * The default value. Use when the component is not controlled.
960
+ */
961
+ defaultValue: o.any,
962
+ /**
963
+ * The name used to reference the value of the control.
964
+ * If you don't provide this prop, it falls back to a randomly generated name.
965
+ */
966
+ name: o.string,
967
+ /**
968
+ * Callback fired when a radio button is selected.
969
+ *
970
+ * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.
971
+ * @param {string} value The value of the selected radio button.
972
+ * You can pull out the new value by accessing `event.target.value` (string).
973
+ */
974
+ onChange: o.func,
975
+ /**
976
+ * Value of the selected radio button. The DOM API casts this to a string.
977
+ */
978
+ value: o.any
979
+ });
980
+ function eo(e) {
981
+ return L("MuiSwitch", e);
982
+ }
983
+ const h = q("MuiSwitch", ["root", "edgeStart", "edgeEnd", "switchBase", "colorPrimary", "colorSecondary", "sizeSmall", "sizeMedium", "checked", "disabled", "input", "thumb", "track"]), oo = (e) => {
984
+ const {
985
+ classes: t,
986
+ edge: r,
987
+ size: a,
988
+ color: s,
989
+ checked: c,
990
+ disabled: l
991
+ } = e, u = {
992
+ root: ["root", r && `edge${v(r)}`, `size${v(a)}`],
993
+ switchBase: ["switchBase", `color${v(s)}`, c && "checked", l && "disabled"],
994
+ thumb: ["thumb"],
995
+ track: ["track"],
996
+ input: ["input"]
997
+ }, f = D(u, eo, t);
998
+ return {
999
+ ...t,
1000
+ // forward the disabled and checked classes to the SwitchBase
1001
+ ...f
1002
+ };
1003
+ }, to = w("span", {
1004
+ name: "MuiSwitch",
1005
+ slot: "Root",
1006
+ overridesResolver: (e, t) => {
1007
+ const {
1008
+ ownerState: r
1009
+ } = e;
1010
+ return [t.root, r.edge && t[`edge${v(r.edge)}`], t[`size${v(r.size)}`]];
1011
+ }
1012
+ })({
1013
+ display: "inline-flex",
1014
+ width: 34 + 12 * 2,
1015
+ height: 14 + 12 * 2,
1016
+ overflow: "hidden",
1017
+ padding: 12,
1018
+ boxSizing: "border-box",
1019
+ position: "relative",
1020
+ flexShrink: 0,
1021
+ zIndex: 0,
1022
+ // Reset the stacking context.
1023
+ verticalAlign: "middle",
1024
+ // For correct alignment with the text.
1025
+ "@media print": {
1026
+ colorAdjust: "exact"
1027
+ },
1028
+ variants: [{
1029
+ props: {
1030
+ edge: "start"
1031
+ },
1032
+ style: {
1033
+ marginLeft: -8
1034
+ }
1035
+ }, {
1036
+ props: {
1037
+ edge: "end"
1038
+ },
1039
+ style: {
1040
+ marginRight: -8
1041
+ }
1042
+ }, {
1043
+ props: {
1044
+ size: "small"
1045
+ },
1046
+ style: {
1047
+ width: 40,
1048
+ height: 24,
1049
+ padding: 7,
1050
+ [`& .${h.thumb}`]: {
1051
+ width: 16,
1052
+ height: 16
1053
+ },
1054
+ [`& .${h.switchBase}`]: {
1055
+ padding: 4,
1056
+ [`&.${h.checked}`]: {
1057
+ transform: "translateX(16px)"
1058
+ }
1059
+ }
1060
+ }
1061
+ }]
1062
+ }), ro = w(oe, {
1063
+ name: "MuiSwitch",
1064
+ slot: "SwitchBase",
1065
+ overridesResolver: (e, t) => {
1066
+ const {
1067
+ ownerState: r
1068
+ } = e;
1069
+ return [t.switchBase, {
1070
+ [`& .${h.input}`]: t.input
1071
+ }, r.color !== "default" && t[`color${v(r.color)}`]];
1072
+ }
1073
+ })(I(({
1074
+ theme: e
1075
+ }) => ({
1076
+ position: "absolute",
1077
+ top: 0,
1078
+ left: 0,
1079
+ zIndex: 1,
1080
+ // Render above the focus ripple.
1081
+ color: e.vars ? e.vars.palette.Switch.defaultColor : `${e.palette.mode === "light" ? e.palette.common.white : e.palette.grey[300]}`,
1082
+ transition: e.transitions.create(["left", "transform"], {
1083
+ duration: e.transitions.duration.shortest
1084
+ }),
1085
+ [`&.${h.checked}`]: {
1086
+ transform: "translateX(20px)"
1087
+ },
1088
+ [`&.${h.disabled}`]: {
1089
+ color: e.vars ? e.vars.palette.Switch.defaultDisabledColor : `${e.palette.mode === "light" ? e.palette.grey[100] : e.palette.grey[600]}`
1090
+ },
1091
+ [`&.${h.checked} + .${h.track}`]: {
1092
+ opacity: 0.5
1093
+ },
1094
+ [`&.${h.disabled} + .${h.track}`]: {
1095
+ opacity: e.vars ? e.vars.opacity.switchTrackDisabled : `${e.palette.mode === "light" ? 0.12 : 0.2}`
1096
+ },
1097
+ [`& .${h.input}`]: {
1098
+ left: "-100%",
1099
+ width: "300%"
1100
+ }
1101
+ })), I(({
1102
+ theme: e
1103
+ }) => ({
1104
+ "&:hover": {
1105
+ backgroundColor: e.vars ? `rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})` : A(e.palette.action.active, e.palette.action.hoverOpacity),
1106
+ // Reset on touch devices, it doesn't add specificity
1107
+ "@media (hover: none)": {
1108
+ backgroundColor: "transparent"
1109
+ }
1110
+ },
1111
+ variants: [...Object.entries(e.palette).filter(Q(["light"])).map(([t]) => ({
1112
+ props: {
1113
+ color: t
1114
+ },
1115
+ style: {
1116
+ [`&.${h.checked}`]: {
1117
+ color: (e.vars || e).palette[t].main,
1118
+ "&:hover": {
1119
+ backgroundColor: e.vars ? `rgba(${e.vars.palette[t].mainChannel} / ${e.vars.palette.action.hoverOpacity})` : A(e.palette[t].main, e.palette.action.hoverOpacity),
1120
+ "@media (hover: none)": {
1121
+ backgroundColor: "transparent"
1122
+ }
1123
+ },
1124
+ [`&.${h.disabled}`]: {
1125
+ color: e.vars ? e.vars.palette.Switch[`${t}DisabledColor`] : `${e.palette.mode === "light" ? ke(e.palette[t].main, 0.62) : Se(e.palette[t].main, 0.55)}`
1126
+ }
1127
+ },
1128
+ [`&.${h.checked} + .${h.track}`]: {
1129
+ backgroundColor: (e.vars || e).palette[t].main
1130
+ }
1131
+ }
1132
+ }))]
1133
+ }))), ao = w("span", {
1134
+ name: "MuiSwitch",
1135
+ slot: "Track",
1136
+ overridesResolver: (e, t) => t.track
1137
+ })(I(({
1138
+ theme: e
1139
+ }) => ({
1140
+ height: "100%",
1141
+ width: "100%",
1142
+ borderRadius: 14 / 2,
1143
+ zIndex: -1,
1144
+ transition: e.transitions.create(["opacity", "background-color"], {
1145
+ duration: e.transitions.duration.shortest
1146
+ }),
1147
+ backgroundColor: e.vars ? e.vars.palette.common.onBackground : `${e.palette.mode === "light" ? e.palette.common.black : e.palette.common.white}`,
1148
+ opacity: e.vars ? e.vars.opacity.switchTrack : `${e.palette.mode === "light" ? 0.38 : 0.3}`
1149
+ }))), so = w("span", {
1150
+ name: "MuiSwitch",
1151
+ slot: "Thumb",
1152
+ overridesResolver: (e, t) => t.thumb
1153
+ })(I(({
1154
+ theme: e
1155
+ }) => ({
1156
+ boxShadow: (e.vars || e).shadows[1],
1157
+ backgroundColor: "currentColor",
1158
+ width: 20,
1159
+ height: 20,
1160
+ borderRadius: "50%"
1161
+ }))), Y = /* @__PURE__ */ g.forwardRef(function(t, r) {
1162
+ const a = W({
1163
+ props: t,
1164
+ name: "MuiSwitch"
1165
+ }), {
1166
+ className: s,
1167
+ color: c = "primary",
1168
+ edge: l = !1,
1169
+ size: u = "medium",
1170
+ sx: f,
1171
+ ...p
1172
+ } = a, d = {
1173
+ ...a,
1174
+ color: c,
1175
+ edge: l,
1176
+ size: u
1177
+ }, n = oo(d), m = /* @__PURE__ */ i(so, {
1178
+ className: n.thumb,
1179
+ ownerState: d
1180
+ });
1181
+ return /* @__PURE__ */ R(to, {
1182
+ className: j(n.root, s),
1183
+ sx: f,
1184
+ ownerState: d,
1185
+ children: [/* @__PURE__ */ i(ro, {
1186
+ type: "checkbox",
1187
+ icon: m,
1188
+ checkedIcon: m,
1189
+ ref: r,
1190
+ ownerState: d,
1191
+ ...p,
1192
+ classes: {
1193
+ ...n,
1194
+ root: n.switchBase
1195
+ }
1196
+ }), /* @__PURE__ */ i(ao, {
1197
+ className: n.track,
1198
+ ownerState: d
1199
+ })]
1200
+ });
1201
+ });
1202
+ process.env.NODE_ENV !== "production" && (Y.propTypes = {
1203
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
1204
+ // │ These PropTypes are generated from the TypeScript type definitions. │
1205
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
1206
+ // └─────────────────────────────────────────────────────────────────────┘
1207
+ /**
1208
+ * If `true`, the component is checked.
1209
+ */
1210
+ checked: o.bool,
1211
+ /**
1212
+ * The icon to display when the component is checked.
1213
+ */
1214
+ checkedIcon: o.node,
1215
+ /**
1216
+ * Override or extend the styles applied to the component.
1217
+ */
1218
+ classes: o.object,
1219
+ /**
1220
+ * @ignore
1221
+ */
1222
+ className: o.string,
1223
+ /**
1224
+ * The color of the component.
1225
+ * It supports both default and custom theme colors, which can be added as shown in the
1226
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
1227
+ * @default 'primary'
1228
+ */
1229
+ color: o.oneOfType([o.oneOf(["default", "primary", "secondary", "error", "info", "success", "warning"]), o.string]),
1230
+ /**
1231
+ * The default checked state. Use when the component is not controlled.
1232
+ */
1233
+ defaultChecked: o.bool,
1234
+ /**
1235
+ * If `true`, the component is disabled.
1236
+ */
1237
+ disabled: o.bool,
1238
+ /**
1239
+ * If `true`, the ripple effect is disabled.
1240
+ * @default false
1241
+ */
1242
+ disableRipple: o.bool,
1243
+ /**
1244
+ * If given, uses a negative margin to counteract the padding on one
1245
+ * side (this is often helpful for aligning the left or right
1246
+ * side of the icon with content above or below, without ruining the border
1247
+ * size and shape).
1248
+ * @default false
1249
+ */
1250
+ edge: o.oneOf(["end", "start", !1]),
1251
+ /**
1252
+ * The icon to display when the component is unchecked.
1253
+ */
1254
+ icon: o.node,
1255
+ /**
1256
+ * The id of the `input` element.
1257
+ */
1258
+ id: o.string,
1259
+ /**
1260
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
1261
+ */
1262
+ inputProps: o.object,
1263
+ /**
1264
+ * Pass a ref to the `input` element.
1265
+ */
1266
+ inputRef: K,
1267
+ /**
1268
+ * Callback fired when the state is changed.
1269
+ *
1270
+ * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.
1271
+ * You can pull out the new value by accessing `event.target.value` (string).
1272
+ * You can pull out the new checked state by accessing `event.target.checked` (boolean).
1273
+ */
1274
+ onChange: o.func,
1275
+ /**
1276
+ * If `true`, the `input` element is required.
1277
+ * @default false
1278
+ */
1279
+ required: o.bool,
1280
+ /**
1281
+ * The size of the component.
1282
+ * `small` is equivalent to the dense switch styling.
1283
+ * @default 'medium'
1284
+ */
1285
+ size: o.oneOfType([o.oneOf(["medium", "small"]), o.string]),
1286
+ /**
1287
+ * The system prop that allows defining system overrides as well as additional CSS styles.
1288
+ */
1289
+ sx: o.oneOfType([o.arrayOf(o.oneOfType([o.func, o.object, o.bool])), o.func, o.object]),
1290
+ /**
1291
+ * The value of the component. The DOM API casts this to a string.
1292
+ * The browser uses "on" as the default value.
1293
+ */
1294
+ value: o.any
1295
+ });
1296
+ const no = (e, t) => {
1297
+ const r = [
1298
+ "EMAIL",
1299
+ "INAPP_WEB",
1300
+ "SMS",
1301
+ "CALL",
1302
+ "PUSH",
1303
+ "WEB_PUSH",
1304
+ "SLACK"
1305
+ ];
1306
+ return r.indexOf(e) - r.indexOf(t);
1307
+ }, de = (e, t) => {
1308
+ const r = ["off", "instant", "hourly", "daily", "weekly", "monthly"];
1309
+ return r.indexOf(e) - r.indexOf(t);
1310
+ }, pe = (e) => ({
1311
+ off: "Off",
1312
+ instant: "Instant",
1313
+ hourly: "Hourly",
1314
+ daily: "Daily",
1315
+ weekly: "Weekly",
1316
+ monthly: "Monthly"
1317
+ })[e], vo = ({
1318
+ notification: e,
1319
+ preferences: t,
1320
+ updateDelivery: r,
1321
+ subNotificationId: a
1322
+ }) => /* @__PURE__ */ i(ne, { children: e.channels.sort(no).map((s, c) => {
1323
+ const l = t.find(
1324
+ (n) => n.notificationId === e.notificationId && n.channel === s
1325
+ );
1326
+ if (!l)
1327
+ return null;
1328
+ const u = we(s), f = Ce(s), p = Object.keys(
1329
+ e.options[s]
1330
+ ).filter(
1331
+ (n) => n !== "defaultDeliveryOption" && n !== "defaultDeliverOption"
1332
+ );
1333
+ let d;
1334
+ return p.length === 1 ? d = /* @__PURE__ */ i(_, { variant: "body1", children: pe(l.delivery) }) : p.length === 2 && p.includes("off") ? d = /* @__PURE__ */ i(
1335
+ Y,
1336
+ {
1337
+ checked: l.delivery !== "off",
1338
+ onChange: (n, m) => {
1339
+ if (m) {
1340
+ const k = p.find((S) => S !== "off");
1341
+ r(
1342
+ e.notificationId,
1343
+ s,
1344
+ k,
1345
+ a
1346
+ );
1347
+ } else
1348
+ r(
1349
+ e.notificationId,
1350
+ s,
1351
+ "off",
1352
+ a
1353
+ );
1354
+ }
1355
+ }
1356
+ ) : d = /* @__PURE__ */ R(ne, { children: [
1357
+ /* @__PURE__ */ i(
1358
+ Y,
1359
+ {
1360
+ checked: l.delivery !== "off",
1361
+ onChange: (n, m) => {
1362
+ if (m) {
1363
+ const k = p.sort(de).find((S) => S !== "off");
1364
+ r(
1365
+ e.notificationId,
1366
+ s,
1367
+ k,
1368
+ a
1369
+ );
1370
+ } else
1371
+ r(
1372
+ e.notificationId,
1373
+ s,
1374
+ "off",
1375
+ a
1376
+ );
1377
+ }
1378
+ }
1379
+ ),
1380
+ /* @__PURE__ */ i(
1381
+ "div",
1382
+ {
1383
+ style: {
1384
+ width: "100%",
1385
+ marginTop: 8,
1386
+ maxHeight: l.delivery !== "off" ? 1e3 : 0,
1387
+ overflow: "hidden",
1388
+ transition: "max-height 0.3s ease"
1389
+ },
1390
+ children: /* @__PURE__ */ R("div", { children: [
1391
+ /* @__PURE__ */ i("div", { style: { marginTop: 20 }, children: /* @__PURE__ */ i(_, { variant: "body1", fontWeight: 600, children: "Choose frequency:" }) }),
1392
+ /* @__PURE__ */ i(
1393
+ ye,
1394
+ {
1395
+ value: l.delivery,
1396
+ onChange: (n) => {
1397
+ r(
1398
+ e.notificationId,
1399
+ s,
1400
+ n.target.value,
1401
+ a
1402
+ );
1403
+ },
1404
+ children: /* @__PURE__ */ i(Oe, { direction: "column", style: { paddingTop: 10 }, children: p.filter((n) => n !== "off").sort(de).map((n) => /* @__PURE__ */ i(
1405
+ he,
1406
+ {
1407
+ control: /* @__PURE__ */ i(ge, {}),
1408
+ value: n,
1409
+ label: pe(n)
1410
+ },
1411
+ n
1412
+ )) })
1413
+ }
1414
+ )
1415
+ ] })
1416
+ }
1417
+ )
1418
+ ] }), /* @__PURE__ */ R("div", { children: [
1419
+ /* @__PURE__ */ R(
1420
+ "div",
1421
+ {
1422
+ style: {
1423
+ display: "flex",
1424
+ justifyContent: "space-between",
1425
+ flexWrap: "wrap",
1426
+ marginTop: c === 0 ? 0 : 12,
1427
+ marginBottom: c === e.channels.length - 1 ? 0 : 12
1428
+ },
1429
+ children: [
1430
+ /* @__PURE__ */ R(
1431
+ "div",
1432
+ {
1433
+ style: {
1434
+ display: "flex",
1435
+ alignItems: "center",
1436
+ gap: 8
1437
+ },
1438
+ children: [
1439
+ f,
1440
+ /* @__PURE__ */ i(_, { variant: "body1", children: u })
1441
+ ]
1442
+ }
1443
+ ),
1444
+ d
1445
+ ]
1446
+ }
1447
+ ),
1448
+ c !== e.channels.length - 1 && /* @__PURE__ */ i(Fe, {})
1449
+ ] }, s);
1450
+ }) });
6
1451
  export {
7
- i as PreferenceInput
1452
+ vo as PreferenceInput
8
1453
  };