@charcoal-ui/react 3.0.0-beta.3 → 3.0.0-beta.4
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/_lib/compat.d.ts +18 -0
- package/dist/_lib/compat.d.ts.map +1 -1
- package/dist/_lib/index.d.ts +7 -0
- package/dist/_lib/index.d.ts.map +1 -1
- package/dist/components/Checkbox/index.d.ts +1 -0
- package/dist/components/Checkbox/index.d.ts.map +1 -1
- package/dist/components/Checkbox/index.story.d.ts +1 -0
- package/dist/components/Checkbox/index.story.d.ts.map +1 -1
- package/dist/components/DropdownSelector/index.d.ts.map +1 -1
- package/dist/components/LoadingSpinner/index.d.ts +8 -6
- package/dist/components/LoadingSpinner/index.d.ts.map +1 -1
- package/dist/components/LoadingSpinner/index.story.d.ts +1 -2
- package/dist/components/LoadingSpinner/index.story.d.ts.map +1 -1
- package/dist/components/Modal/index.d.ts +17 -26
- package/dist/components/Modal/index.d.ts.map +1 -1
- package/dist/components/Modal/index.story.d.ts +12 -2
- package/dist/components/Modal/index.story.d.ts.map +1 -1
- package/dist/components/MultiSelect/index.d.ts +14 -1
- package/dist/components/MultiSelect/index.d.ts.map +1 -1
- package/dist/components/MultiSelect/index.story.d.ts +14 -2
- package/dist/components/MultiSelect/index.story.d.ts.map +1 -1
- package/dist/components/Radio/index.d.ts +12 -5
- package/dist/components/Radio/index.d.ts.map +1 -1
- package/dist/components/Radio/index.story.d.ts +10 -6
- package/dist/components/Radio/index.story.d.ts.map +1 -1
- package/dist/components/SegmentedControl/index.d.ts +1 -0
- package/dist/components/SegmentedControl/index.d.ts.map +1 -1
- package/dist/components/Switch/index.d.ts +2 -1
- package/dist/components/Switch/index.d.ts.map +1 -1
- package/dist/components/Switch/index.story.d.ts +1 -2
- package/dist/components/Switch/index.story.d.ts.map +1 -1
- package/dist/components/TextArea/index.d.ts +3 -10
- package/dist/components/TextArea/index.d.ts.map +1 -1
- package/dist/components/TextField/TextField.story.d.ts +4 -5
- package/dist/components/TextField/TextField.story.d.ts.map +1 -1
- package/dist/components/TextField/index.d.ts +6 -29
- package/dist/components/TextField/index.d.ts.map +1 -1
- package/dist/components/TextField/index.story.d.ts +5 -4
- package/dist/components/TextField/index.story.d.ts.map +1 -1
- package/dist/index.cjs.js +636 -594
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +604 -563
- package/dist/index.esm.js.map +1 -1
- package/package.json +6 -6
- package/src/_lib/compat.ts +19 -0
- package/src/_lib/index.ts +23 -0
- package/src/components/Checkbox/index.story.tsx +1 -0
- package/src/components/Checkbox/index.tsx +2 -1
- package/src/components/DropdownSelector/DropdownMenuItem.tsx +1 -1
- package/src/components/DropdownSelector/ListItem/index.story.tsx +1 -1
- package/src/components/DropdownSelector/ListItem/index.tsx +1 -1
- package/src/components/DropdownSelector/MenuItem/index.tsx +0 -1
- package/src/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.tsx +1 -1
- package/src/components/DropdownSelector/MenuItemGroup/index.tsx +0 -1
- package/src/components/DropdownSelector/MenuList/index.story.tsx +0 -1
- package/src/components/DropdownSelector/MenuList/index.tsx +1 -1
- package/src/components/DropdownSelector/MenuList/internals/getValuesRecursive.tsx +1 -1
- package/src/components/DropdownSelector/Popover/index.story.tsx +1 -1
- package/src/components/DropdownSelector/Popover/index.tsx +1 -1
- package/src/components/DropdownSelector/index.tsx +16 -14
- package/src/components/DropdownSelector/utils/findPreviewRecursive.tsx +2 -1
- package/src/components/LoadingSpinner/index.story.tsx +7 -1
- package/src/components/LoadingSpinner/index.tsx +27 -11
- package/src/components/Modal/index.tsx +18 -12
- package/src/components/MultiSelect/index.story.tsx +16 -4
- package/src/components/MultiSelect/index.tsx +70 -60
- package/src/components/Radio/index.story.tsx +7 -8
- package/src/components/Radio/index.test.tsx +3 -3
- package/src/components/Radio/index.tsx +23 -23
- package/src/components/SegmentedControl/index.tsx +6 -1
- package/src/components/Switch/index.tsx +37 -32
- package/src/components/TextArea/TextArea.story.tsx +61 -0
- package/src/components/TextArea/index.tsx +246 -0
- package/src/components/TextField/{index.story.tsx → TextField.story.tsx} +6 -28
- package/src/components/TextField/index.tsx +146 -371
- package/src/index.ts +1 -2
- package/dist/components/DropdownSelector/OptionItem.d.ts +0 -7
- package/dist/components/DropdownSelector/OptionItem.d.ts.map +0 -1
- package/dist/components/DropdownSelector/utils/focusIfHTMLLIElement.d.ts +0 -6
- package/dist/components/DropdownSelector/utils/focusIfHTMLLIElement.d.ts.map +0 -1
- package/dist/components/DropdownSelector/utils/handleFocusByKeyBoard.d.ts +0 -6
- package/dist/components/DropdownSelector/utils/handleFocusByKeyBoard.d.ts.map +0 -1
- package/dist/types/CustomJSXElement.d.ts +0 -3
- package/dist/types/CustomJSXElement.d.ts.map +0 -1
package/dist/index.cjs.js
CHANGED
|
@@ -35,23 +35,24 @@ __export(src_exports, {
|
|
|
35
35
|
DropdownSelector: () => DropdownSelector,
|
|
36
36
|
Icon: () => Icon_default,
|
|
37
37
|
IconButton: () => IconButton_default,
|
|
38
|
-
LoadingSpinner: () =>
|
|
38
|
+
LoadingSpinner: () => LoadingSpinner_default,
|
|
39
39
|
LoadingSpinnerIcon: () => LoadingSpinnerIcon,
|
|
40
40
|
MenuItemGroup: () => MenuItemGroup,
|
|
41
|
-
Modal: () =>
|
|
41
|
+
Modal: () => Modal_default,
|
|
42
42
|
ModalAlign: () => ModalAlign,
|
|
43
43
|
ModalBody: () => ModalBody,
|
|
44
44
|
ModalButtons: () => ModalButtons,
|
|
45
45
|
ModalHeader: () => ModalHeader,
|
|
46
|
-
MultiSelect: () =>
|
|
46
|
+
MultiSelect: () => MultiSelect_default,
|
|
47
47
|
MultiSelectGroup: () => MultiSelectGroup,
|
|
48
48
|
OverlayProvider: () => import_overlays.OverlayProvider,
|
|
49
|
-
Radio: () =>
|
|
49
|
+
Radio: () => Radio_default,
|
|
50
50
|
RadioGroup: () => RadioGroup,
|
|
51
51
|
SSRProvider: () => import_ssr.SSRProvider,
|
|
52
52
|
SegmentedControl: () => SegmentedControl_default,
|
|
53
|
-
Switch: () =>
|
|
53
|
+
Switch: () => Switch_default,
|
|
54
54
|
TagItem: () => TagItem_default,
|
|
55
|
+
TextArea: () => TextArea_default,
|
|
55
56
|
TextField: () => TextField_default,
|
|
56
57
|
useComponentAbstraction: () => useComponentAbstraction
|
|
57
58
|
});
|
|
@@ -116,6 +117,21 @@ function unreachable(value) {
|
|
|
116
117
|
arguments.length === 0 ? "unreachable" : `unreachable (${JSON.stringify(value)})`
|
|
117
118
|
);
|
|
118
119
|
}
|
|
120
|
+
function mergeRefs(...refs) {
|
|
121
|
+
return (value) => {
|
|
122
|
+
for (const ref of refs) {
|
|
123
|
+
if (typeof ref === "function") {
|
|
124
|
+
ref(value);
|
|
125
|
+
} else if (ref !== null) {
|
|
126
|
+
;
|
|
127
|
+
ref.current = value;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
function countCodePointsInString(string) {
|
|
133
|
+
return Array.from(string).length;
|
|
134
|
+
}
|
|
119
135
|
|
|
120
136
|
// src/styled.ts
|
|
121
137
|
var import_styled_components2 = __toESM(require("styled-components"));
|
|
@@ -387,18 +403,13 @@ var import_styled_components6 = __toESM(require("styled-components"));
|
|
|
387
403
|
var import_warning = __toESM(require("warning"));
|
|
388
404
|
var import_utils2 = require("@charcoal-ui/utils");
|
|
389
405
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
390
|
-
|
|
391
|
-
value,
|
|
392
|
-
forceChecked = false,
|
|
393
|
-
disabled = false,
|
|
394
|
-
children
|
|
395
|
-
}) {
|
|
406
|
+
var Radio = (0, import_react4.forwardRef)(function RadioInner({ value, disabled = false, children, className }, ref) {
|
|
396
407
|
const {
|
|
397
408
|
name,
|
|
398
409
|
selected,
|
|
399
410
|
disabled: isParentDisabled,
|
|
400
411
|
readonly,
|
|
401
|
-
|
|
412
|
+
invalid,
|
|
402
413
|
onChange
|
|
403
414
|
} = (0, import_react4.useContext)(RadioGroupContext);
|
|
404
415
|
(0, import_warning.default)(
|
|
@@ -414,25 +425,27 @@ function Radio({
|
|
|
414
425
|
},
|
|
415
426
|
[onChange]
|
|
416
427
|
);
|
|
417
|
-
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(RadioRoot, { "aria-disabled": isDisabled || isReadonly, children: [
|
|
428
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(RadioRoot, { "aria-disabled": isDisabled || isReadonly, className, children: [
|
|
418
429
|
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
419
430
|
RadioInput,
|
|
420
431
|
{
|
|
421
432
|
name,
|
|
422
433
|
value,
|
|
423
|
-
checked:
|
|
424
|
-
|
|
434
|
+
checked: isSelected,
|
|
435
|
+
invalid,
|
|
425
436
|
onChange: handleChange,
|
|
426
|
-
disabled: isDisabled || isReadonly
|
|
437
|
+
disabled: isDisabled || isReadonly,
|
|
438
|
+
ref
|
|
427
439
|
}
|
|
428
440
|
),
|
|
429
441
|
children != null && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(RadioLabel, { children })
|
|
430
442
|
] });
|
|
431
|
-
}
|
|
443
|
+
});
|
|
444
|
+
var Radio_default = (0, import_react4.memo)(Radio);
|
|
432
445
|
var RadioRoot = import_styled_components6.default.label`
|
|
433
446
|
display: grid;
|
|
434
447
|
grid-template-columns: auto 1fr;
|
|
435
|
-
grid-gap: ${({ theme:
|
|
448
|
+
grid-gap: ${({ theme: theme3 }) => (0, import_utils2.px)(theme3.spacing[4])};
|
|
436
449
|
align-items: center;
|
|
437
450
|
cursor: pointer;
|
|
438
451
|
|
|
@@ -450,19 +463,18 @@ var RadioInput = import_styled_components6.default.input.attrs({ type: "radio" }
|
|
|
450
463
|
|
|
451
464
|
width: 20px;
|
|
452
465
|
height: 20px;
|
|
453
|
-
|
|
454
466
|
cursor: pointer;
|
|
455
467
|
|
|
456
|
-
${({
|
|
468
|
+
${({ invalid = false }) => theme((o) => [
|
|
457
469
|
o.borderRadius("oval"),
|
|
458
470
|
o.bg.surface1.hover.press,
|
|
459
|
-
|
|
471
|
+
invalid && o.outline.assertive
|
|
460
472
|
])};
|
|
461
473
|
|
|
462
474
|
&:not(:checked) {
|
|
463
475
|
border-width: 2px;
|
|
464
476
|
border-style: solid;
|
|
465
|
-
border-color: ${({ theme:
|
|
477
|
+
border-color: ${({ theme: theme3 }) => theme3.color.text3};
|
|
466
478
|
}
|
|
467
479
|
|
|
468
480
|
&:checked {
|
|
@@ -491,14 +503,14 @@ var RadioLabel = import_styled_components6.default.div`
|
|
|
491
503
|
var StyledRadioGroup = import_styled_components6.default.div`
|
|
492
504
|
display: grid;
|
|
493
505
|
grid-template-columns: 1fr;
|
|
494
|
-
grid-gap: ${({ theme:
|
|
506
|
+
grid-gap: ${({ theme: theme3 }) => (0, import_utils2.px)(theme3.spacing[8])};
|
|
495
507
|
`;
|
|
496
508
|
var RadioGroupContext = React3.createContext({
|
|
497
509
|
name: void 0,
|
|
498
510
|
selected: void 0,
|
|
499
511
|
disabled: false,
|
|
500
512
|
readonly: false,
|
|
501
|
-
|
|
513
|
+
invalid: false,
|
|
502
514
|
onChange() {
|
|
503
515
|
throw new Error(
|
|
504
516
|
"Cannot find onChange() handler. Perhaps you forgot to wrap with <RadioGroup> ?"
|
|
@@ -513,7 +525,7 @@ function RadioGroup({
|
|
|
513
525
|
onChange,
|
|
514
526
|
disabled,
|
|
515
527
|
readonly,
|
|
516
|
-
|
|
528
|
+
invalid,
|
|
517
529
|
children
|
|
518
530
|
}) {
|
|
519
531
|
const handleChange = (0, import_react4.useCallback)(
|
|
@@ -530,7 +542,7 @@ function RadioGroup({
|
|
|
530
542
|
selected: value,
|
|
531
543
|
disabled: disabled ?? false,
|
|
532
544
|
readonly: readonly ?? false,
|
|
533
|
-
|
|
545
|
+
invalid: invalid ?? false,
|
|
534
546
|
onChange: handleChange
|
|
535
547
|
},
|
|
536
548
|
children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
@@ -539,7 +551,7 @@ function RadioGroup({
|
|
|
539
551
|
role: "radiogroup",
|
|
540
552
|
"aria-orientation": "vertical",
|
|
541
553
|
"aria-label": label,
|
|
542
|
-
"aria-invalid":
|
|
554
|
+
"aria-invalid": invalid,
|
|
543
555
|
className,
|
|
544
556
|
children
|
|
545
557
|
}
|
|
@@ -571,66 +583,71 @@ var MultiSelectGroupContext = (0, import_react5.createContext)({
|
|
|
571
583
|
|
|
572
584
|
// src/components/MultiSelect/index.tsx
|
|
573
585
|
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
586
|
+
var MultiSelect = (0, import_react6.forwardRef)(
|
|
587
|
+
function MultiSelectInner({
|
|
588
|
+
value,
|
|
589
|
+
disabled = false,
|
|
590
|
+
onChange,
|
|
591
|
+
variant = "default",
|
|
592
|
+
className,
|
|
593
|
+
children
|
|
594
|
+
}, ref) {
|
|
595
|
+
const {
|
|
596
|
+
name,
|
|
597
|
+
selected,
|
|
598
|
+
disabled: parentDisabled,
|
|
599
|
+
readonly,
|
|
600
|
+
invalid,
|
|
601
|
+
onChange: parentOnChange
|
|
602
|
+
} = (0, import_react6.useContext)(MultiSelectGroupContext);
|
|
603
|
+
(0, import_warning2.default)(
|
|
604
|
+
name !== void 0,
|
|
605
|
+
`"name" is not Provided for <MultiSelect>. Perhaps you forgot to wrap with <MultiSelectGroup> ?`
|
|
606
|
+
);
|
|
607
|
+
const isSelected = selected.includes(value);
|
|
608
|
+
const isDisabled = disabled || parentDisabled || readonly;
|
|
609
|
+
const handleChange = (0, import_react6.useCallback)(
|
|
610
|
+
(event) => {
|
|
611
|
+
if (!(event.currentTarget instanceof HTMLInputElement)) {
|
|
612
|
+
return;
|
|
613
|
+
}
|
|
614
|
+
if (onChange)
|
|
615
|
+
onChange({ value, selected: event.currentTarget.checked });
|
|
616
|
+
parentOnChange({ value, selected: event.currentTarget.checked });
|
|
617
|
+
},
|
|
618
|
+
[onChange, parentOnChange, value]
|
|
619
|
+
);
|
|
620
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(MultiSelectRoot, { "aria-disabled": isDisabled, className, children: [
|
|
621
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
622
|
+
MultiSelectInput,
|
|
623
|
+
{
|
|
624
|
+
...{
|
|
625
|
+
name,
|
|
626
|
+
value,
|
|
627
|
+
invalid
|
|
628
|
+
},
|
|
629
|
+
checked: isSelected,
|
|
630
|
+
disabled: isDisabled,
|
|
631
|
+
onChange: handleChange,
|
|
632
|
+
overlay: variant === "overlay",
|
|
633
|
+
"aria-invalid": invalid,
|
|
634
|
+
ref
|
|
635
|
+
}
|
|
636
|
+
),
|
|
637
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
638
|
+
MultiSelectInputOverlay,
|
|
639
|
+
{
|
|
640
|
+
overlay: variant === "overlay",
|
|
641
|
+
invalid,
|
|
642
|
+
"aria-hidden": true,
|
|
643
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("pixiv-icon", { name: "24/Check", "unsafe-non-guideline-scale": 16 / 24 })
|
|
644
|
+
}
|
|
645
|
+
),
|
|
646
|
+
Boolean(children) && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(MultiSelectLabel, { children })
|
|
647
|
+
] });
|
|
648
|
+
}
|
|
649
|
+
);
|
|
650
|
+
var MultiSelect_default = (0, import_react6.memo)(MultiSelect);
|
|
634
651
|
var MultiSelectRoot = import_styled_components7.default.label`
|
|
635
652
|
display: grid;
|
|
636
653
|
grid-template-columns: auto 1fr;
|
|
@@ -640,7 +657,7 @@ var MultiSelectRoot = import_styled_components7.default.label`
|
|
|
640
657
|
${import_utils3.disabledSelector} {
|
|
641
658
|
cursor: default;
|
|
642
659
|
}
|
|
643
|
-
gap: ${({ theme:
|
|
660
|
+
gap: ${({ theme: theme3 }) => (0, import_utils3.px)(theme3.spacing[4])};
|
|
644
661
|
${theme((o) => o.disabled)}
|
|
645
662
|
`;
|
|
646
663
|
var MultiSelectLabel = import_styled_components7.default.div`
|
|
@@ -686,7 +703,7 @@ var MultiSelectInputOverlay = import_styled_components7.default.div`
|
|
|
686
703
|
])}
|
|
687
704
|
|
|
688
705
|
${({ overlay }) => overlay && import_styled_components7.css`
|
|
689
|
-
border-color: ${({ theme:
|
|
706
|
+
border-color: ${({ theme: theme3 }) => theme3.color.text5};
|
|
690
707
|
border-width: 2px;
|
|
691
708
|
border-style: solid;
|
|
692
709
|
`}
|
|
@@ -739,28 +756,32 @@ var import_react7 = require("react");
|
|
|
739
756
|
var import_react_stately = require("react-stately");
|
|
740
757
|
var import_styled_components8 = __toESM(require("styled-components"));
|
|
741
758
|
var import_utils4 = require("@charcoal-ui/utils");
|
|
759
|
+
var import_utils5 = require("@react-aria/utils");
|
|
742
760
|
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
/* @__PURE__ */ (0, import_jsx_runtime8.
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
}
|
|
761
|
+
var SwitchCheckbox = (0, import_react7.forwardRef)(
|
|
762
|
+
function SwitchCheckboxInner(props, external) {
|
|
763
|
+
const { disabled, className } = props;
|
|
764
|
+
const ariaSwitchProps = (0, import_react7.useMemo)(
|
|
765
|
+
() => ({
|
|
766
|
+
...props,
|
|
767
|
+
"aria-label": "children" in props ? void 0 : props.label,
|
|
768
|
+
isDisabled: props.disabled,
|
|
769
|
+
isSelected: props.checked
|
|
770
|
+
}),
|
|
771
|
+
[props]
|
|
772
|
+
);
|
|
773
|
+
const state = (0, import_react_stately.useToggleState)(ariaSwitchProps);
|
|
774
|
+
const ref = (0, import_utils5.useObjectRef)(external);
|
|
775
|
+
const {
|
|
776
|
+
inputProps: { className: _className, type: _type, ...rest }
|
|
777
|
+
} = (0, import_switch.useSwitch)(ariaSwitchProps, state, ref);
|
|
778
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Label, { className, "aria-disabled": disabled, children: [
|
|
779
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(SwitchInput, { ...rest, ref }),
|
|
780
|
+
"children" in props ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(LabelInner, { children: props.children }) : void 0
|
|
781
|
+
] });
|
|
782
|
+
}
|
|
783
|
+
);
|
|
784
|
+
var Switch_default = (0, import_react7.memo)(SwitchCheckbox);
|
|
764
785
|
var Label = import_styled_components8.default.label`
|
|
765
786
|
display: inline-grid;
|
|
766
787
|
grid-template-columns: auto 1fr;
|
|
@@ -907,248 +928,122 @@ var FieldLabelWrapper = import_styled_components9.default.div`
|
|
|
907
928
|
`;
|
|
908
929
|
|
|
909
930
|
// src/components/TextField/index.tsx
|
|
910
|
-
var import_styled9 = require("@charcoal-ui/styled");
|
|
911
931
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
912
|
-
var theme3 = (0, import_styled9.createTheme)(import_styled_components10.default);
|
|
913
|
-
function mergeRefs(...refs) {
|
|
914
|
-
return (value) => {
|
|
915
|
-
for (const ref of refs) {
|
|
916
|
-
if (typeof ref === "function") {
|
|
917
|
-
ref(value);
|
|
918
|
-
} else if (ref !== null) {
|
|
919
|
-
;
|
|
920
|
-
ref.current = value;
|
|
921
|
-
}
|
|
922
|
-
}
|
|
923
|
-
};
|
|
924
|
-
}
|
|
925
|
-
function countCodePointsInString(string) {
|
|
926
|
-
return Array.from(string).length;
|
|
927
|
-
}
|
|
928
932
|
var TextField = React5.forwardRef(
|
|
929
|
-
function
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
setCount(countCodePointsInString(props.value ?? ""));
|
|
973
|
-
}, [props.value]);
|
|
974
|
-
const { inputProps, labelProps, descriptionProps, errorMessageProps } = (0, import_textfield.useTextField)(
|
|
975
|
-
{
|
|
976
|
-
inputElementType: "input",
|
|
977
|
-
isDisabled: disabled,
|
|
978
|
-
isRequired: required,
|
|
979
|
-
validationState: invalid ? "invalid" : "valid",
|
|
980
|
-
description: !invalid && assistiveText,
|
|
981
|
-
errorMessage: invalid && assistiveText,
|
|
982
|
-
onChange: handleChange,
|
|
983
|
-
...props
|
|
984
|
-
},
|
|
985
|
-
ariaRef
|
|
986
|
-
);
|
|
987
|
-
(0, import_react8.useEffect)(() => {
|
|
988
|
-
const prefixObserver = new ResizeObserver((entries) => {
|
|
989
|
-
setPrefixWidth(entries[0].contentRect.width);
|
|
990
|
-
});
|
|
991
|
-
const suffixObserver = new ResizeObserver((entries) => {
|
|
992
|
-
setSuffixWidth(entries[0].contentRect.width);
|
|
993
|
-
});
|
|
994
|
-
if (prefixRef.current !== null) {
|
|
995
|
-
prefixObserver.observe(prefixRef.current);
|
|
996
|
-
}
|
|
997
|
-
if (suffixRef.current !== null) {
|
|
998
|
-
suffixObserver.observe(suffixRef.current);
|
|
999
|
-
}
|
|
1000
|
-
return () => {
|
|
1001
|
-
suffixObserver.disconnect();
|
|
1002
|
-
prefixObserver.disconnect();
|
|
1003
|
-
};
|
|
1004
|
-
}, []);
|
|
1005
|
-
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(TextFieldRoot, { className, isDisabled: disabled, children: [
|
|
1006
|
-
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
1007
|
-
TextFieldLabel,
|
|
933
|
+
function SingleLineTextFieldInner({ onChange, ...props }, forwardRef16) {
|
|
934
|
+
const {
|
|
935
|
+
className,
|
|
936
|
+
showLabel = false,
|
|
937
|
+
showCount = false,
|
|
938
|
+
label,
|
|
939
|
+
requiredText,
|
|
940
|
+
subLabel,
|
|
941
|
+
disabled = false,
|
|
942
|
+
required,
|
|
943
|
+
invalid = false,
|
|
944
|
+
assistiveText,
|
|
945
|
+
maxLength,
|
|
946
|
+
prefix = null,
|
|
947
|
+
suffix = null
|
|
948
|
+
} = props;
|
|
949
|
+
const { visuallyHiddenProps } = (0, import_visually_hidden.useVisuallyHidden)();
|
|
950
|
+
const ariaRef = (0, import_react8.useRef)(null);
|
|
951
|
+
const prefixRef = (0, import_react8.useRef)(null);
|
|
952
|
+
const suffixRef = (0, import_react8.useRef)(null);
|
|
953
|
+
const [count, setCount] = (0, import_react8.useState)(
|
|
954
|
+
countCodePointsInString(props.value ?? "")
|
|
955
|
+
);
|
|
956
|
+
const [prefixWidth, setPrefixWidth] = (0, import_react8.useState)(0);
|
|
957
|
+
const [suffixWidth, setSuffixWidth] = (0, import_react8.useState)(0);
|
|
958
|
+
const nonControlled = props.value === void 0;
|
|
959
|
+
const handleChange = (0, import_react8.useCallback)(
|
|
960
|
+
(value) => {
|
|
961
|
+
const count2 = countCodePointsInString(value);
|
|
962
|
+
if (maxLength !== void 0 && count2 > maxLength) {
|
|
963
|
+
return;
|
|
964
|
+
}
|
|
965
|
+
if (nonControlled) {
|
|
966
|
+
setCount(count2);
|
|
967
|
+
}
|
|
968
|
+
onChange?.(value);
|
|
969
|
+
},
|
|
970
|
+
[maxLength, nonControlled, onChange]
|
|
971
|
+
);
|
|
972
|
+
(0, import_react8.useEffect)(() => {
|
|
973
|
+
setCount(countCodePointsInString(props.value ?? ""));
|
|
974
|
+
}, [props.value]);
|
|
975
|
+
const { inputProps, labelProps, descriptionProps, errorMessageProps } = (0, import_textfield.useTextField)(
|
|
1008
976
|
{
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
required,
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
977
|
+
inputElementType: "input",
|
|
978
|
+
isDisabled: disabled,
|
|
979
|
+
isRequired: required,
|
|
980
|
+
validationState: invalid ? "invalid" : "valid",
|
|
981
|
+
description: !invalid && assistiveText,
|
|
982
|
+
errorMessage: invalid && assistiveText,
|
|
983
|
+
onChange: handleChange,
|
|
984
|
+
...props
|
|
985
|
+
},
|
|
986
|
+
ariaRef
|
|
987
|
+
);
|
|
988
|
+
(0, import_react8.useEffect)(() => {
|
|
989
|
+
const prefixObserver = new ResizeObserver((entries) => {
|
|
990
|
+
setPrefixWidth(entries[0].contentRect.width);
|
|
991
|
+
});
|
|
992
|
+
const suffixObserver = new ResizeObserver((entries) => {
|
|
993
|
+
setSuffixWidth(entries[0].contentRect.width);
|
|
994
|
+
});
|
|
995
|
+
if (prefixRef.current !== null) {
|
|
996
|
+
prefixObserver.observe(prefixRef.current);
|
|
1015
997
|
}
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
998
|
+
if (suffixRef.current !== null) {
|
|
999
|
+
suffixObserver.observe(suffixRef.current);
|
|
1000
|
+
}
|
|
1001
|
+
return () => {
|
|
1002
|
+
suffixObserver.disconnect();
|
|
1003
|
+
prefixObserver.disconnect();
|
|
1004
|
+
};
|
|
1005
|
+
}, []);
|
|
1006
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(TextFieldRoot, { className, isDisabled: disabled, children: [
|
|
1019
1007
|
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
1020
|
-
|
|
1008
|
+
TextFieldLabel,
|
|
1021
1009
|
{
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
...
|
|
1010
|
+
label,
|
|
1011
|
+
requiredText,
|
|
1012
|
+
required,
|
|
1013
|
+
subLabel,
|
|
1014
|
+
...labelProps,
|
|
1015
|
+
...!showLabel ? visuallyHiddenProps : {}
|
|
1027
1016
|
}
|
|
1028
1017
|
),
|
|
1029
|
-
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
1030
|
-
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Affix, { children:
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
})
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
rows: initialRows = 4
|
|
1059
|
-
} = props;
|
|
1060
|
-
const { visuallyHiddenProps } = (0, import_visually_hidden.useVisuallyHidden)();
|
|
1061
|
-
const textareaRef = (0, import_react8.useRef)(null);
|
|
1062
|
-
const ariaRef = (0, import_react8.useRef)(null);
|
|
1063
|
-
const [count, setCount] = (0, import_react8.useState)(countCodePointsInString(props.value ?? ""));
|
|
1064
|
-
const [rows, setRows] = (0, import_react8.useState)(initialRows);
|
|
1065
|
-
const syncHeight = (0, import_react8.useCallback)(
|
|
1066
|
-
(textarea) => {
|
|
1067
|
-
const rows2 = (`${textarea.value}
|
|
1068
|
-
`.match(/\n/gu)?.length ?? 0) || 1;
|
|
1069
|
-
setRows(initialRows <= rows2 ? rows2 : initialRows);
|
|
1070
|
-
},
|
|
1071
|
-
[initialRows]
|
|
1072
|
-
);
|
|
1073
|
-
const nonControlled = props.value === void 0;
|
|
1074
|
-
const handleChange = (0, import_react8.useCallback)(
|
|
1075
|
-
(value) => {
|
|
1076
|
-
const count2 = countCodePointsInString(value);
|
|
1077
|
-
if (maxLength !== void 0 && count2 > maxLength) {
|
|
1078
|
-
return;
|
|
1079
|
-
}
|
|
1080
|
-
if (nonControlled) {
|
|
1081
|
-
setCount(count2);
|
|
1082
|
-
}
|
|
1083
|
-
if (autoHeight && textareaRef.current !== null) {
|
|
1084
|
-
syncHeight(textareaRef.current);
|
|
1085
|
-
}
|
|
1086
|
-
onChange?.(value);
|
|
1087
|
-
},
|
|
1088
|
-
[autoHeight, maxLength, nonControlled, onChange, syncHeight]
|
|
1089
|
-
);
|
|
1090
|
-
(0, import_react8.useEffect)(() => {
|
|
1091
|
-
setCount(countCodePointsInString(props.value ?? ""));
|
|
1092
|
-
}, [props.value]);
|
|
1093
|
-
const { inputProps, labelProps, descriptionProps, errorMessageProps } = (0, import_textfield.useTextField)(
|
|
1094
|
-
{
|
|
1095
|
-
inputElementType: "textarea",
|
|
1096
|
-
isDisabled: disabled,
|
|
1097
|
-
isRequired: required,
|
|
1098
|
-
validationState: invalid ? "invalid" : "valid",
|
|
1099
|
-
description: !invalid && assistiveText,
|
|
1100
|
-
errorMessage: invalid && assistiveText,
|
|
1101
|
-
onChange: handleChange,
|
|
1102
|
-
...props
|
|
1103
|
-
},
|
|
1104
|
-
ariaRef
|
|
1105
|
-
);
|
|
1106
|
-
(0, import_react8.useEffect)(() => {
|
|
1107
|
-
if (autoHeight && textareaRef.current !== null) {
|
|
1108
|
-
syncHeight(textareaRef.current);
|
|
1109
|
-
}
|
|
1110
|
-
}, [autoHeight, syncHeight]);
|
|
1111
|
-
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(TextFieldRoot, { className, isDisabled: disabled, children: [
|
|
1112
|
-
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
1113
|
-
TextFieldLabel,
|
|
1114
|
-
{
|
|
1115
|
-
label,
|
|
1116
|
-
requiredText,
|
|
1117
|
-
required,
|
|
1118
|
-
subLabel,
|
|
1119
|
-
...labelProps,
|
|
1120
|
-
...!showLabel ? visuallyHiddenProps : {}
|
|
1121
|
-
}
|
|
1122
|
-
),
|
|
1123
|
-
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
1124
|
-
StyledTextareaContainer,
|
|
1125
|
-
{
|
|
1126
|
-
invalid,
|
|
1127
|
-
rows: showCount ? rows + 1 : rows,
|
|
1128
|
-
children: [
|
|
1129
|
-
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
1130
|
-
StyledTextarea,
|
|
1131
|
-
{
|
|
1132
|
-
ref: mergeRefs(textareaRef, forwardRef12, ariaRef),
|
|
1133
|
-
rows,
|
|
1134
|
-
noBottomPadding: showCount,
|
|
1135
|
-
...inputProps
|
|
1136
|
-
}
|
|
1137
|
-
),
|
|
1138
|
-
showCount && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(MultiLineCounter, { children: maxLength !== void 0 ? `${count}/${maxLength}` : count })
|
|
1139
|
-
]
|
|
1140
|
-
}
|
|
1141
|
-
),
|
|
1142
|
-
assistiveText != null && assistiveText.length !== 0 && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
1143
|
-
AssistiveText,
|
|
1144
|
-
{
|
|
1145
|
-
invalid,
|
|
1146
|
-
...invalid ? errorMessageProps : descriptionProps,
|
|
1147
|
-
children: assistiveText
|
|
1148
|
-
}
|
|
1149
|
-
)
|
|
1150
|
-
] });
|
|
1151
|
-
});
|
|
1018
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(StyledInputContainer, { children: [
|
|
1019
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(PrefixContainer, { ref: prefixRef, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Affix, { children: prefix }) }),
|
|
1020
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
1021
|
+
StyledInput,
|
|
1022
|
+
{
|
|
1023
|
+
ref: mergeRefs(forwardRef16, ariaRef),
|
|
1024
|
+
invalid,
|
|
1025
|
+
extraLeftPadding: prefixWidth,
|
|
1026
|
+
extraRightPadding: suffixWidth,
|
|
1027
|
+
...inputProps
|
|
1028
|
+
}
|
|
1029
|
+
),
|
|
1030
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(SuffixContainer, { ref: suffixRef, children: [
|
|
1031
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Affix, { children: suffix }),
|
|
1032
|
+
showCount && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(SingleLineCounter, { children: maxLength !== void 0 ? `${count}/${maxLength}` : count })
|
|
1033
|
+
] })
|
|
1034
|
+
] }),
|
|
1035
|
+
assistiveText != null && assistiveText.length !== 0 && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
1036
|
+
AssistiveText,
|
|
1037
|
+
{
|
|
1038
|
+
invalid,
|
|
1039
|
+
...invalid ? errorMessageProps : descriptionProps,
|
|
1040
|
+
children: assistiveText
|
|
1041
|
+
}
|
|
1042
|
+
)
|
|
1043
|
+
] });
|
|
1044
|
+
}
|
|
1045
|
+
);
|
|
1046
|
+
var TextField_default = TextField;
|
|
1152
1047
|
var TextFieldRoot = import_styled_components10.default.div`
|
|
1153
1048
|
display: flex;
|
|
1154
1049
|
flex-direction: column;
|
|
@@ -1156,7 +1051,7 @@ var TextFieldRoot = import_styled_components10.default.div`
|
|
|
1156
1051
|
${(p) => p.isDisabled && { opacity: p.theme.elementEffect.disabled.opacity }}
|
|
1157
1052
|
`;
|
|
1158
1053
|
var TextFieldLabel = (0, import_styled_components10.default)(FieldLabel_default)`
|
|
1159
|
-
${
|
|
1054
|
+
${theme((o) => o.margin.bottom(8))}
|
|
1160
1055
|
`;
|
|
1161
1056
|
var StyledInputContainer = import_styled_components10.default.div`
|
|
1162
1057
|
height: 40px;
|
|
@@ -1182,7 +1077,7 @@ var SuffixContainer = import_styled_components10.default.span`
|
|
|
1182
1077
|
var Affix = import_styled_components10.default.span`
|
|
1183
1078
|
user-select: none;
|
|
1184
1079
|
|
|
1185
|
-
${
|
|
1080
|
+
${theme((o) => [o.typography(14).preserveHalfLeading, o.font.text2])}
|
|
1186
1081
|
`;
|
|
1187
1082
|
var StyledInput = import_styled_components10.default.input`
|
|
1188
1083
|
border: none;
|
|
@@ -1204,7 +1099,7 @@ var StyledInput = import_styled_components10.default.input`
|
|
|
1204
1099
|
/* Display box-shadow for iOS Safari */
|
|
1205
1100
|
appearance: none;
|
|
1206
1101
|
|
|
1207
|
-
${(p) =>
|
|
1102
|
+
${(p) => theme((o) => [
|
|
1208
1103
|
o.bg.surface3.hover,
|
|
1209
1104
|
o.outline.default.focus,
|
|
1210
1105
|
p.invalid && o.outline.assertive,
|
|
@@ -1212,37 +1107,170 @@ var StyledInput = import_styled_components10.default.input`
|
|
|
1212
1107
|
])}
|
|
1213
1108
|
|
|
1214
1109
|
&::placeholder {
|
|
1215
|
-
${
|
|
1110
|
+
${theme((o) => o.font.text3)}
|
|
1111
|
+
}
|
|
1112
|
+
`;
|
|
1113
|
+
var SingleLineCounter = import_styled_components10.default.span`
|
|
1114
|
+
${theme((o) => [o.typography(14).preserveHalfLeading, o.font.text3])}
|
|
1115
|
+
`;
|
|
1116
|
+
var AssistiveText = import_styled_components10.default.p`
|
|
1117
|
+
${(p) => theme((o) => [
|
|
1118
|
+
o.typography(14),
|
|
1119
|
+
o.margin.top(8),
|
|
1120
|
+
o.margin.bottom(0),
|
|
1121
|
+
o.font[p.invalid ? "assertive" : "text1"]
|
|
1122
|
+
])}
|
|
1123
|
+
`;
|
|
1124
|
+
|
|
1125
|
+
// src/components/TextArea/index.tsx
|
|
1126
|
+
var import_textfield2 = require("@react-aria/textfield");
|
|
1127
|
+
var import_visually_hidden2 = require("@react-aria/visually-hidden");
|
|
1128
|
+
var import_react9 = __toESM(require("react"));
|
|
1129
|
+
var import_styled_components11 = __toESM(require("styled-components"));
|
|
1130
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
1131
|
+
var TextArea = import_react9.default.forwardRef(
|
|
1132
|
+
function TextAreaInner({ onChange, ...props }, forwardRef16) {
|
|
1133
|
+
const {
|
|
1134
|
+
className,
|
|
1135
|
+
showCount = false,
|
|
1136
|
+
showLabel = false,
|
|
1137
|
+
label,
|
|
1138
|
+
requiredText,
|
|
1139
|
+
subLabel,
|
|
1140
|
+
disabled = false,
|
|
1141
|
+
required,
|
|
1142
|
+
invalid = false,
|
|
1143
|
+
assistiveText,
|
|
1144
|
+
maxLength,
|
|
1145
|
+
autoHeight = false,
|
|
1146
|
+
rows: initialRows = 4
|
|
1147
|
+
} = props;
|
|
1148
|
+
const { visuallyHiddenProps } = (0, import_visually_hidden2.useVisuallyHidden)();
|
|
1149
|
+
const textareaRef = (0, import_react9.useRef)(null);
|
|
1150
|
+
const ariaRef = (0, import_react9.useRef)(null);
|
|
1151
|
+
const [count, setCount] = (0, import_react9.useState)(
|
|
1152
|
+
countCodePointsInString(props.value ?? "")
|
|
1153
|
+
);
|
|
1154
|
+
const [rows, setRows] = (0, import_react9.useState)(initialRows);
|
|
1155
|
+
const syncHeight = (0, import_react9.useCallback)(
|
|
1156
|
+
(textarea) => {
|
|
1157
|
+
const rows2 = (`${textarea.value}
|
|
1158
|
+
`.match(/\n/gu)?.length ?? 0) || 1;
|
|
1159
|
+
setRows(initialRows <= rows2 ? rows2 : initialRows);
|
|
1160
|
+
},
|
|
1161
|
+
[initialRows]
|
|
1162
|
+
);
|
|
1163
|
+
const nonControlled = props.value === void 0;
|
|
1164
|
+
const handleChange = (0, import_react9.useCallback)(
|
|
1165
|
+
(value) => {
|
|
1166
|
+
const count2 = countCodePointsInString(value);
|
|
1167
|
+
if (maxLength !== void 0 && count2 > maxLength) {
|
|
1168
|
+
return;
|
|
1169
|
+
}
|
|
1170
|
+
if (nonControlled) {
|
|
1171
|
+
setCount(count2);
|
|
1172
|
+
}
|
|
1173
|
+
if (autoHeight && textareaRef.current !== null) {
|
|
1174
|
+
syncHeight(textareaRef.current);
|
|
1175
|
+
}
|
|
1176
|
+
onChange?.(value);
|
|
1177
|
+
},
|
|
1178
|
+
[autoHeight, maxLength, nonControlled, onChange, syncHeight]
|
|
1179
|
+
);
|
|
1180
|
+
(0, import_react9.useEffect)(() => {
|
|
1181
|
+
setCount(countCodePointsInString(props.value ?? ""));
|
|
1182
|
+
}, [props.value]);
|
|
1183
|
+
const { inputProps, labelProps, descriptionProps, errorMessageProps } = (0, import_textfield2.useTextField)(
|
|
1184
|
+
{
|
|
1185
|
+
inputElementType: "textarea",
|
|
1186
|
+
isDisabled: disabled,
|
|
1187
|
+
isRequired: required,
|
|
1188
|
+
validationState: invalid ? "invalid" : "valid",
|
|
1189
|
+
description: !invalid && assistiveText,
|
|
1190
|
+
errorMessage: invalid && assistiveText,
|
|
1191
|
+
onChange: handleChange,
|
|
1192
|
+
...props
|
|
1193
|
+
},
|
|
1194
|
+
ariaRef
|
|
1195
|
+
);
|
|
1196
|
+
(0, import_react9.useEffect)(() => {
|
|
1197
|
+
if (autoHeight && textareaRef.current !== null) {
|
|
1198
|
+
syncHeight(textareaRef.current);
|
|
1199
|
+
}
|
|
1200
|
+
}, [autoHeight, syncHeight]);
|
|
1201
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(TextFieldRoot2, { className, isDisabled: disabled, children: [
|
|
1202
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1203
|
+
TextFieldLabel2,
|
|
1204
|
+
{
|
|
1205
|
+
label,
|
|
1206
|
+
requiredText,
|
|
1207
|
+
required,
|
|
1208
|
+
subLabel,
|
|
1209
|
+
...labelProps,
|
|
1210
|
+
...!showLabel ? visuallyHiddenProps : {}
|
|
1211
|
+
}
|
|
1212
|
+
),
|
|
1213
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
|
|
1214
|
+
StyledTextareaContainer,
|
|
1215
|
+
{
|
|
1216
|
+
invalid,
|
|
1217
|
+
rows: showCount ? rows + 1 : rows,
|
|
1218
|
+
children: [
|
|
1219
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1220
|
+
StyledTextarea,
|
|
1221
|
+
{
|
|
1222
|
+
ref: mergeRefs(textareaRef, forwardRef16, ariaRef),
|
|
1223
|
+
rows,
|
|
1224
|
+
noBottomPadding: showCount,
|
|
1225
|
+
...inputProps
|
|
1226
|
+
}
|
|
1227
|
+
),
|
|
1228
|
+
showCount && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(MultiLineCounter, { children: maxLength !== void 0 ? `${count}/${maxLength}` : count })
|
|
1229
|
+
]
|
|
1230
|
+
}
|
|
1231
|
+
),
|
|
1232
|
+
assistiveText != null && assistiveText.length !== 0 && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
1233
|
+
AssistiveText2,
|
|
1234
|
+
{
|
|
1235
|
+
invalid,
|
|
1236
|
+
...invalid ? errorMessageProps : descriptionProps,
|
|
1237
|
+
children: assistiveText
|
|
1238
|
+
}
|
|
1239
|
+
)
|
|
1240
|
+
] });
|
|
1216
1241
|
}
|
|
1242
|
+
);
|
|
1243
|
+
var TextArea_default = TextArea;
|
|
1244
|
+
var TextFieldRoot2 = import_styled_components11.default.div`
|
|
1245
|
+
display: flex;
|
|
1246
|
+
flex-direction: column;
|
|
1247
|
+
|
|
1248
|
+
${(p) => p.isDisabled && { opacity: p.theme.elementEffect.disabled.opacity }}
|
|
1249
|
+
`;
|
|
1250
|
+
var TextFieldLabel2 = (0, import_styled_components11.default)(FieldLabel_default)`
|
|
1251
|
+
${theme((o) => o.margin.bottom(8))}
|
|
1217
1252
|
`;
|
|
1218
|
-
var StyledTextareaContainer =
|
|
1253
|
+
var StyledTextareaContainer = import_styled_components11.default.div`
|
|
1219
1254
|
position: relative;
|
|
1220
1255
|
overflow: hidden;
|
|
1221
1256
|
padding: 0 8px;
|
|
1222
1257
|
|
|
1223
|
-
${(p) =>
|
|
1258
|
+
${(p) => theme((o) => [
|
|
1224
1259
|
o.bg.surface3.hover,
|
|
1225
1260
|
p.invalid && o.outline.assertive,
|
|
1226
1261
|
o.font.text2,
|
|
1227
1262
|
o.borderRadius(4)
|
|
1228
1263
|
])}
|
|
1229
1264
|
|
|
1230
|
-
/**
|
|
1231
|
-
* FIXME: o.outline.default を &:focus-within 内に書いてると、外れるときに transition が効かない
|
|
1232
|
-
* 本来 o.outline.default.focus と書けば足してくれるような transition の内容を一旦明示している
|
|
1233
|
-
* o.outline.default.focusWithin のようなものがあればこの行は不要になるはず
|
|
1234
|
-
*/
|
|
1235
|
-
transition: box-shadow 0.2s;
|
|
1236
|
-
|
|
1237
1265
|
&:focus-within {
|
|
1238
|
-
${(p) =>
|
|
1266
|
+
${(p) => theme((o) => p.invalid ? o.outline.assertive : o.outline.default)}
|
|
1239
1267
|
}
|
|
1240
1268
|
|
|
1241
|
-
${({ rows }) =>
|
|
1269
|
+
${({ rows }) => import_styled_components11.css`
|
|
1242
1270
|
height: calc(22px * ${rows} + 18px);
|
|
1243
1271
|
`};
|
|
1244
1272
|
`;
|
|
1245
|
-
var StyledTextarea =
|
|
1273
|
+
var StyledTextarea = import_styled_components11.default.textarea`
|
|
1246
1274
|
border: none;
|
|
1247
1275
|
outline: none;
|
|
1248
1276
|
resize: none;
|
|
@@ -1257,7 +1285,7 @@ var StyledTextarea = import_styled_components10.default.textarea`
|
|
|
1257
1285
|
line-height: calc(22px / 0.875);
|
|
1258
1286
|
padding: calc(9px / 0.875) 0 ${(p) => p.noBottomPadding ? 0 : ""};
|
|
1259
1287
|
|
|
1260
|
-
${({ rows = 1 }) =>
|
|
1288
|
+
${({ rows = 1 }) => import_styled_components11.css`
|
|
1261
1289
|
height: calc(22px / 0.875 * ${rows});
|
|
1262
1290
|
`};
|
|
1263
1291
|
|
|
@@ -1267,7 +1295,7 @@ var StyledTextarea = import_styled_components10.default.textarea`
|
|
|
1267
1295
|
background: none;
|
|
1268
1296
|
|
|
1269
1297
|
&::placeholder {
|
|
1270
|
-
${
|
|
1298
|
+
${theme((o) => o.font.text3)}
|
|
1271
1299
|
}
|
|
1272
1300
|
|
|
1273
1301
|
/* Hide scrollbar for Chrome, Safari and Opera */
|
|
@@ -1278,18 +1306,15 @@ var StyledTextarea = import_styled_components10.default.textarea`
|
|
|
1278
1306
|
-ms-overflow-style: none; /* IE and Edge */
|
|
1279
1307
|
scrollbar-width: none; /* Firefox */
|
|
1280
1308
|
`;
|
|
1281
|
-
var
|
|
1282
|
-
${theme3((o) => [o.typography(14).preserveHalfLeading, o.font.text3])}
|
|
1283
|
-
`;
|
|
1284
|
-
var MultiLineCounter = import_styled_components10.default.span`
|
|
1309
|
+
var MultiLineCounter = import_styled_components11.default.span`
|
|
1285
1310
|
position: absolute;
|
|
1286
1311
|
bottom: 9px;
|
|
1287
1312
|
right: 8px;
|
|
1288
1313
|
|
|
1289
|
-
${
|
|
1314
|
+
${theme((o) => [o.typography(14).preserveHalfLeading, o.font.text3])}
|
|
1290
1315
|
`;
|
|
1291
|
-
var
|
|
1292
|
-
${(p) =>
|
|
1316
|
+
var AssistiveText2 = import_styled_components11.default.p`
|
|
1317
|
+
${(p) => theme((o) => [
|
|
1293
1318
|
o.typography(14),
|
|
1294
1319
|
o.margin.top(8),
|
|
1295
1320
|
o.margin.bottom(0),
|
|
@@ -1298,11 +1323,11 @@ var AssistiveText = import_styled_components10.default.p`
|
|
|
1298
1323
|
`;
|
|
1299
1324
|
|
|
1300
1325
|
// src/components/Icon/index.tsx
|
|
1301
|
-
var
|
|
1326
|
+
var React7 = __toESM(require("react"));
|
|
1302
1327
|
var import_icons = require("@charcoal-ui/icons");
|
|
1303
|
-
var
|
|
1304
|
-
var Icon =
|
|
1305
|
-
return /* @__PURE__ */ (0,
|
|
1328
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
1329
|
+
var Icon = React7.forwardRef(function IconInner({ name, scale, unsafeNonGuidelineScale, className, ...rest }, ref) {
|
|
1330
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
|
|
1306
1331
|
"pixiv-icon",
|
|
1307
1332
|
{
|
|
1308
1333
|
ref,
|
|
@@ -1317,10 +1342,10 @@ var Icon = React6.forwardRef(function IconInner({ name, scale, unsafeNonGuidelin
|
|
|
1317
1342
|
var Icon_default = Icon;
|
|
1318
1343
|
|
|
1319
1344
|
// src/components/Modal/index.tsx
|
|
1320
|
-
var
|
|
1321
|
-
var
|
|
1345
|
+
var import_react10 = require("react");
|
|
1346
|
+
var React8 = __toESM(require("react"));
|
|
1322
1347
|
var import_overlays2 = require("@react-aria/overlays");
|
|
1323
|
-
var
|
|
1348
|
+
var import_styled_components12 = __toESM(require("styled-components"));
|
|
1324
1349
|
var import_focus = require("@react-aria/focus");
|
|
1325
1350
|
var import_dialog = require("@react-aria/dialog");
|
|
1326
1351
|
|
|
@@ -1332,26 +1357,23 @@ function columnSystem(span, column, gutter) {
|
|
|
1332
1357
|
}
|
|
1333
1358
|
|
|
1334
1359
|
// src/components/Modal/index.tsx
|
|
1335
|
-
var
|
|
1336
|
-
var
|
|
1360
|
+
var import_utils6 = require("@charcoal-ui/utils");
|
|
1361
|
+
var import_styled12 = require("@charcoal-ui/styled");
|
|
1337
1362
|
var import_react_spring = require("react-spring");
|
|
1338
|
-
var
|
|
1363
|
+
var import_utils7 = require("@react-aria/utils");
|
|
1364
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
1339
1365
|
var DEFAULT_Z_INDEX = 10;
|
|
1340
|
-
|
|
1341
|
-
children,
|
|
1342
|
-
zIndex = DEFAULT_Z_INDEX,
|
|
1343
|
-
portalContainer,
|
|
1344
|
-
...props
|
|
1345
|
-
}) {
|
|
1366
|
+
var Modal = (0, import_react10.forwardRef)(function ModalInner({ children, zIndex = DEFAULT_Z_INDEX, portalContainer, ...props }, external) {
|
|
1346
1367
|
const {
|
|
1347
1368
|
title,
|
|
1348
1369
|
size = "M",
|
|
1349
1370
|
bottomSheet = false,
|
|
1350
1371
|
isDismissable,
|
|
1351
1372
|
onClose,
|
|
1373
|
+
className,
|
|
1352
1374
|
isOpen = false
|
|
1353
1375
|
} = props;
|
|
1354
|
-
const ref = (0,
|
|
1376
|
+
const ref = (0, import_utils7.useObjectRef)(external);
|
|
1355
1377
|
const { overlayProps, underlayProps } = (0, import_overlays2.useOverlay)(props, ref);
|
|
1356
1378
|
const { modalProps } = (0, import_overlays2.useModalOverlay)(
|
|
1357
1379
|
props,
|
|
@@ -1368,8 +1390,8 @@ function Modal({
|
|
|
1368
1390
|
ref
|
|
1369
1391
|
);
|
|
1370
1392
|
const { dialogProps, titleProps } = (0, import_dialog.useDialog)(props, ref);
|
|
1371
|
-
const
|
|
1372
|
-
const isMobile = (0,
|
|
1393
|
+
const theme3 = (0, import_styled_components12.useTheme)();
|
|
1394
|
+
const isMobile = (0, import_styled12.useMedia)((0, import_utils6.maxWidth)(theme3.breakpoint.screen1)) ?? false;
|
|
1373
1395
|
const transitionEnabled = isMobile && bottomSheet !== false;
|
|
1374
1396
|
const transition = (0, import_react_spring.useTransition)(isOpen, {
|
|
1375
1397
|
from: {
|
|
@@ -1388,13 +1410,13 @@ function Modal({
|
|
|
1388
1410
|
});
|
|
1389
1411
|
const showDismiss = !isMobile || bottomSheet !== true;
|
|
1390
1412
|
return transition(
|
|
1391
|
-
({ backgroundColor, transform }, item) => item && /* @__PURE__ */ (0,
|
|
1413
|
+
({ backgroundColor, transform }, item) => item && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_overlays2.Overlay, { portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1392
1414
|
ModalBackground,
|
|
1393
1415
|
{
|
|
1394
1416
|
zIndex,
|
|
1395
1417
|
...underlayProps,
|
|
1396
1418
|
style: transitionEnabled ? { backgroundColor } : {},
|
|
1397
|
-
children: /* @__PURE__ */ (0,
|
|
1419
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_focus.FocusScope, { contain: true, restoreFocus: true, autoFocus: true, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(DialogContainer, { bottomSheet, size, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1398
1420
|
ModalDialog,
|
|
1399
1421
|
{
|
|
1400
1422
|
ref,
|
|
@@ -1404,13 +1426,14 @@ function Modal({
|
|
|
1404
1426
|
style: transitionEnabled ? { transform } : {},
|
|
1405
1427
|
size,
|
|
1406
1428
|
bottomSheet,
|
|
1407
|
-
|
|
1429
|
+
className,
|
|
1430
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
1408
1431
|
ModalContext.Provider,
|
|
1409
1432
|
{
|
|
1410
1433
|
value: { titleProps, title, close: onClose, showDismiss },
|
|
1411
1434
|
children: [
|
|
1412
1435
|
children,
|
|
1413
|
-
isDismissable === true && /* @__PURE__ */ (0,
|
|
1436
|
+
isDismissable === true && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1414
1437
|
ModalCrossButton,
|
|
1415
1438
|
{
|
|
1416
1439
|
size: "S",
|
|
@@ -1426,14 +1449,15 @@ function Modal({
|
|
|
1426
1449
|
}
|
|
1427
1450
|
) })
|
|
1428
1451
|
);
|
|
1429
|
-
}
|
|
1430
|
-
var
|
|
1452
|
+
});
|
|
1453
|
+
var Modal_default = (0, import_react10.memo)(Modal);
|
|
1454
|
+
var ModalContext = React8.createContext({
|
|
1431
1455
|
titleProps: {},
|
|
1432
1456
|
title: "",
|
|
1433
1457
|
close: void 0,
|
|
1434
1458
|
showDismiss: true
|
|
1435
1459
|
});
|
|
1436
|
-
var ModalBackground = (0, import_react_spring.animated)(
|
|
1460
|
+
var ModalBackground = (0, import_react_spring.animated)(import_styled_components12.default.div`
|
|
1437
1461
|
z-index: ${({ zIndex }) => zIndex};
|
|
1438
1462
|
overflow: scroll;
|
|
1439
1463
|
display: flex;
|
|
@@ -1445,7 +1469,7 @@ var ModalBackground = (0, import_react_spring.animated)(import_styled_components
|
|
|
1445
1469
|
|
|
1446
1470
|
${theme((o) => [o.bg.surface4])}
|
|
1447
1471
|
`);
|
|
1448
|
-
var DialogContainer =
|
|
1472
|
+
var DialogContainer = import_styled_components12.default.div`
|
|
1449
1473
|
position: relative;
|
|
1450
1474
|
margin: auto;
|
|
1451
1475
|
padding: 24px 0;
|
|
@@ -1466,9 +1490,9 @@ var DialogContainer = import_styled_components11.default.div`
|
|
|
1466
1490
|
}
|
|
1467
1491
|
}}px;
|
|
1468
1492
|
|
|
1469
|
-
@media ${({ theme:
|
|
1493
|
+
@media ${({ theme: theme3 }) => (0, import_utils6.maxWidth)(theme3.breakpoint.screen1)} {
|
|
1470
1494
|
width: calc(100% - 48px);
|
|
1471
|
-
${(p) => p.bottomSheet !== false &&
|
|
1495
|
+
${(p) => p.bottomSheet !== false && import_styled_components12.css`
|
|
1472
1496
|
margin: 0;
|
|
1473
1497
|
padding: 0;
|
|
1474
1498
|
bottom: 0;
|
|
@@ -1478,22 +1502,22 @@ var DialogContainer = import_styled_components11.default.div`
|
|
|
1478
1502
|
`}
|
|
1479
1503
|
}
|
|
1480
1504
|
`;
|
|
1481
|
-
var ModalDialog = (0, import_react_spring.animated)(
|
|
1505
|
+
var ModalDialog = (0, import_react_spring.animated)(import_styled_components12.default.div`
|
|
1482
1506
|
position: relative;
|
|
1483
1507
|
margin: auto;
|
|
1484
1508
|
padding: 24px 0;
|
|
1485
1509
|
|
|
1486
1510
|
${theme((o) => [o.bg.background1, o.borderRadius(24)])}
|
|
1487
|
-
@media ${({ theme:
|
|
1488
|
-
${(p) => p.bottomSheet !== false &&
|
|
1511
|
+
@media ${({ theme: theme3 }) => (0, import_utils6.maxWidth)(theme3.breakpoint.screen1)} {
|
|
1512
|
+
${(p) => p.bottomSheet !== false && import_styled_components12.css`
|
|
1489
1513
|
border-radius: 0;
|
|
1490
|
-
${p.bottomSheet === "full" &&
|
|
1514
|
+
${p.bottomSheet === "full" && import_styled_components12.css`
|
|
1491
1515
|
height: 100%;
|
|
1492
1516
|
`}
|
|
1493
1517
|
`}
|
|
1494
1518
|
}
|
|
1495
1519
|
`);
|
|
1496
|
-
var ModalCrossButton = (0,
|
|
1520
|
+
var ModalCrossButton = (0, import_styled_components12.default)(IconButton_default)`
|
|
1497
1521
|
position: absolute;
|
|
1498
1522
|
top: 8px;
|
|
1499
1523
|
right: 8px;
|
|
@@ -1501,37 +1525,37 @@ var ModalCrossButton = (0, import_styled_components11.default)(IconButton_defaul
|
|
|
1501
1525
|
${theme((o) => [o.font.text3.hover.press])}
|
|
1502
1526
|
`;
|
|
1503
1527
|
function ModalTitle(props) {
|
|
1504
|
-
const { titleProps, title } = (0,
|
|
1505
|
-
return /* @__PURE__ */ (0,
|
|
1528
|
+
const { titleProps, title } = (0, import_react10.useContext)(ModalContext);
|
|
1529
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ModalHeading, { ...titleProps, ...props, children: title });
|
|
1506
1530
|
}
|
|
1507
|
-
var ModalHeading =
|
|
1531
|
+
var ModalHeading = import_styled_components12.default.h3`
|
|
1508
1532
|
margin: 0;
|
|
1509
1533
|
font-weight: inherit;
|
|
1510
1534
|
font-size: inherit;
|
|
1511
1535
|
`;
|
|
1512
1536
|
|
|
1513
1537
|
// src/components/Modal/ModalPlumbing.tsx
|
|
1514
|
-
var
|
|
1515
|
-
var
|
|
1538
|
+
var import_styled_components13 = __toESM(require("styled-components"));
|
|
1539
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
1516
1540
|
function ModalHeader() {
|
|
1517
|
-
return /* @__PURE__ */ (0,
|
|
1541
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ModalHeaderRoot, { children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(StyledModalTitle, {}) });
|
|
1518
1542
|
}
|
|
1519
|
-
var ModalHeaderRoot =
|
|
1543
|
+
var ModalHeaderRoot = import_styled_components13.default.div`
|
|
1520
1544
|
height: 64px;
|
|
1521
1545
|
display: grid;
|
|
1522
1546
|
align-content: center;
|
|
1523
1547
|
justify-content: center;
|
|
1524
1548
|
`;
|
|
1525
|
-
var StyledModalTitle = (0,
|
|
1549
|
+
var StyledModalTitle = (0, import_styled_components13.default)(ModalTitle)`
|
|
1526
1550
|
${theme((o) => [o.font.text1, o.typography(16).bold])}
|
|
1527
1551
|
`;
|
|
1528
|
-
var ModalAlign =
|
|
1552
|
+
var ModalAlign = import_styled_components13.default.div`
|
|
1529
1553
|
${theme((o) => [o.padding.horizontal(16)])}
|
|
1530
1554
|
`;
|
|
1531
|
-
var ModalBody =
|
|
1555
|
+
var ModalBody = import_styled_components13.default.div`
|
|
1532
1556
|
${theme((o) => [o.padding.bottom(40)])}
|
|
1533
1557
|
`;
|
|
1534
|
-
var ModalButtons =
|
|
1558
|
+
var ModalButtons = import_styled_components13.default.div`
|
|
1535
1559
|
display: grid;
|
|
1536
1560
|
grid-auto-flow: row;
|
|
1537
1561
|
grid-row-gap: 8px;
|
|
@@ -1540,17 +1564,26 @@ var ModalButtons = import_styled_components12.default.div`
|
|
|
1540
1564
|
`;
|
|
1541
1565
|
|
|
1542
1566
|
// src/components/LoadingSpinner/index.tsx
|
|
1543
|
-
var
|
|
1544
|
-
var
|
|
1545
|
-
var
|
|
1546
|
-
|
|
1547
|
-
size = 48,
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1567
|
+
var import_react11 = require("react");
|
|
1568
|
+
var import_styled_components14 = __toESM(require("styled-components"));
|
|
1569
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
1570
|
+
var LoadingSpinner = (0, import_react11.forwardRef)(
|
|
1571
|
+
function LoadingSpinnerInner({ size = 48, padding = 16, transparent = false, className }, ref) {
|
|
1572
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1573
|
+
LoadingSpinnerRoot,
|
|
1574
|
+
{
|
|
1575
|
+
size,
|
|
1576
|
+
padding,
|
|
1577
|
+
transparent,
|
|
1578
|
+
className,
|
|
1579
|
+
ref,
|
|
1580
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(LoadingSpinnerIcon, {})
|
|
1581
|
+
}
|
|
1582
|
+
);
|
|
1583
|
+
}
|
|
1584
|
+
);
|
|
1585
|
+
var LoadingSpinner_default = (0, import_react11.memo)(LoadingSpinner);
|
|
1586
|
+
var LoadingSpinnerRoot = import_styled_components14.default.div.attrs({ role: "progressbar" })`
|
|
1554
1587
|
box-sizing: content-box;
|
|
1555
1588
|
margin: auto;
|
|
1556
1589
|
padding: ${(props) => props.padding}px;
|
|
@@ -1564,7 +1597,7 @@ var LoadingSpinnerRoot = import_styled_components13.default.div.attrs({ role: "p
|
|
|
1564
1597
|
transparent ? o.bg.transparent : o.bg.background1
|
|
1565
1598
|
])}
|
|
1566
1599
|
`;
|
|
1567
|
-
var scaleout =
|
|
1600
|
+
var scaleout = import_styled_components14.keyframes`
|
|
1568
1601
|
from {
|
|
1569
1602
|
transform: scale(0);
|
|
1570
1603
|
opacity: 1;
|
|
@@ -1575,7 +1608,7 @@ var scaleout = import_styled_components13.keyframes`
|
|
|
1575
1608
|
opacity: 0;
|
|
1576
1609
|
}
|
|
1577
1610
|
`;
|
|
1578
|
-
var Icon2 =
|
|
1611
|
+
var Icon2 = import_styled_components14.default.div.attrs({ role: "presentation" })`
|
|
1579
1612
|
width: 1em;
|
|
1580
1613
|
height: 1em;
|
|
1581
1614
|
border-radius: 1em;
|
|
@@ -1587,10 +1620,10 @@ var Icon2 = import_styled_components13.default.div.attrs({ role: "presentation"
|
|
|
1587
1620
|
animation: none;
|
|
1588
1621
|
}
|
|
1589
1622
|
`;
|
|
1590
|
-
var LoadingSpinnerIcon = (0,
|
|
1623
|
+
var LoadingSpinnerIcon = (0, import_react11.forwardRef)(
|
|
1591
1624
|
function LoadingSpinnerIcon2({ once = false }, ref) {
|
|
1592
|
-
const iconRef = (0,
|
|
1593
|
-
(0,
|
|
1625
|
+
const iconRef = (0, import_react11.useRef)(null);
|
|
1626
|
+
(0, import_react11.useImperativeHandle)(ref, () => ({
|
|
1594
1627
|
restart: () => {
|
|
1595
1628
|
if (!iconRef.current) {
|
|
1596
1629
|
return;
|
|
@@ -1600,26 +1633,26 @@ var LoadingSpinnerIcon = (0, import_react10.forwardRef)(
|
|
|
1600
1633
|
delete iconRef.current.dataset.resetAnimation;
|
|
1601
1634
|
}
|
|
1602
1635
|
}));
|
|
1603
|
-
return /* @__PURE__ */ (0,
|
|
1636
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Icon2, { ref: iconRef, once });
|
|
1604
1637
|
}
|
|
1605
1638
|
);
|
|
1606
1639
|
|
|
1607
1640
|
// src/components/DropdownSelector/index.tsx
|
|
1608
|
-
var
|
|
1609
|
-
var
|
|
1610
|
-
var
|
|
1641
|
+
var import_react18 = require("react");
|
|
1642
|
+
var import_styled_components17 = __toESM(require("styled-components"));
|
|
1643
|
+
var import_utils8 = require("@charcoal-ui/utils");
|
|
1611
1644
|
|
|
1612
1645
|
// src/components/DropdownSelector/DropdownPopover.tsx
|
|
1613
|
-
var
|
|
1646
|
+
var import_react13 = require("react");
|
|
1614
1647
|
|
|
1615
1648
|
// src/components/DropdownSelector/Popover/index.tsx
|
|
1616
|
-
var
|
|
1649
|
+
var import_react12 = require("react");
|
|
1617
1650
|
var import_overlays3 = require("@react-aria/overlays");
|
|
1618
|
-
var
|
|
1619
|
-
var
|
|
1651
|
+
var import_styled_components15 = __toESM(require("styled-components"));
|
|
1652
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
1620
1653
|
var _empty = () => null;
|
|
1621
1654
|
function Popover(props) {
|
|
1622
|
-
const defaultPopoverRef = (0,
|
|
1655
|
+
const defaultPopoverRef = (0, import_react12.useRef)(null);
|
|
1623
1656
|
const finalPopoverRef = props.popoverRef === void 0 ? defaultPopoverRef : props.popoverRef;
|
|
1624
1657
|
const { popoverProps, underlayProps } = (0, import_overlays3.usePopover)(
|
|
1625
1658
|
{
|
|
@@ -1637,16 +1670,16 @@ function Popover(props) {
|
|
|
1637
1670
|
);
|
|
1638
1671
|
if (!props.isOpen)
|
|
1639
1672
|
return null;
|
|
1640
|
-
return /* @__PURE__ */ (0,
|
|
1641
|
-
/* @__PURE__ */ (0,
|
|
1642
|
-
/* @__PURE__ */ (0,
|
|
1643
|
-
/* @__PURE__ */ (0,
|
|
1673
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_overlays3.Overlay, { portalContainer: document.body, children: [
|
|
1674
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { ...underlayProps, style: { position: "fixed", inset: 0 } }),
|
|
1675
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(DropdownPopoverDiv, { ...popoverProps, ref: finalPopoverRef, children: [
|
|
1676
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_overlays3.DismissButton, { onDismiss: () => props.onClose() }),
|
|
1644
1677
|
props.children,
|
|
1645
|
-
/* @__PURE__ */ (0,
|
|
1678
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_overlays3.DismissButton, { onDismiss: () => props.onClose() })
|
|
1646
1679
|
] })
|
|
1647
1680
|
] });
|
|
1648
1681
|
}
|
|
1649
|
-
var DropdownPopoverDiv =
|
|
1682
|
+
var DropdownPopoverDiv = import_styled_components15.default.div`
|
|
1650
1683
|
margin: 4px 0;
|
|
1651
1684
|
list-style: none;
|
|
1652
1685
|
overflow: auto;
|
|
@@ -1661,15 +1694,15 @@ var DropdownPopoverDiv = import_styled_components14.default.div`
|
|
|
1661
1694
|
`;
|
|
1662
1695
|
|
|
1663
1696
|
// src/components/DropdownSelector/DropdownPopover.tsx
|
|
1664
|
-
var
|
|
1697
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
1665
1698
|
function DropdownPopover({ children, ...props }) {
|
|
1666
|
-
const ref = (0,
|
|
1667
|
-
(0,
|
|
1699
|
+
const ref = (0, import_react13.useRef)(null);
|
|
1700
|
+
(0, import_react13.useEffect)(() => {
|
|
1668
1701
|
if (props.isOpen && ref.current && props.triggerRef.current) {
|
|
1669
1702
|
ref.current.style.width = `${props.triggerRef.current.clientWidth}px`;
|
|
1670
1703
|
}
|
|
1671
1704
|
}, [props.triggerRef, props.isOpen]);
|
|
1672
|
-
(0,
|
|
1705
|
+
(0, import_react13.useEffect)(() => {
|
|
1673
1706
|
if (props.isOpen && props.value !== void 0) {
|
|
1674
1707
|
const windowScrollY = window.scrollY;
|
|
1675
1708
|
const windowScrollX = window.scrollX;
|
|
@@ -1681,7 +1714,7 @@ function DropdownPopover({ children, ...props }) {
|
|
|
1681
1714
|
window.scrollTo(windowScrollX, windowScrollY);
|
|
1682
1715
|
}
|
|
1683
1716
|
}, [props.value, props.isOpen]);
|
|
1684
|
-
return /* @__PURE__ */ (0,
|
|
1717
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1685
1718
|
Popover,
|
|
1686
1719
|
{
|
|
1687
1720
|
isOpen: props.isOpen,
|
|
@@ -1694,12 +1727,12 @@ function DropdownPopover({ children, ...props }) {
|
|
|
1694
1727
|
}
|
|
1695
1728
|
|
|
1696
1729
|
// src/components/DropdownSelector/utils/findPreviewRecursive.tsx
|
|
1697
|
-
var
|
|
1730
|
+
var import_react14 = __toESM(require("react"));
|
|
1698
1731
|
function findPreviewRecursive(children, value) {
|
|
1699
|
-
const childArray =
|
|
1732
|
+
const childArray = import_react14.default.Children.toArray(children);
|
|
1700
1733
|
for (let i = 0; i < childArray.length; i++) {
|
|
1701
1734
|
const child = childArray[i];
|
|
1702
|
-
if (
|
|
1735
|
+
if (import_react14.default.isValidElement(child)) {
|
|
1703
1736
|
if ("value" in child.props) {
|
|
1704
1737
|
const childValue = child.props.value;
|
|
1705
1738
|
if (childValue === value && "children" in child.props) {
|
|
@@ -1721,12 +1754,12 @@ function findPreviewRecursive(children, value) {
|
|
|
1721
1754
|
}
|
|
1722
1755
|
|
|
1723
1756
|
// src/components/DropdownSelector/MenuList/index.tsx
|
|
1724
|
-
var
|
|
1725
|
-
var
|
|
1757
|
+
var import_react17 = require("react");
|
|
1758
|
+
var import_styled_components16 = __toESM(require("styled-components"));
|
|
1726
1759
|
|
|
1727
1760
|
// src/components/DropdownSelector/MenuList/MenuListContext.ts
|
|
1728
|
-
var
|
|
1729
|
-
var MenuListContext = (0,
|
|
1761
|
+
var import_react15 = require("react");
|
|
1762
|
+
var MenuListContext = (0, import_react15.createContext)({
|
|
1730
1763
|
root: void 0,
|
|
1731
1764
|
value: "",
|
|
1732
1765
|
values: [],
|
|
@@ -1735,12 +1768,12 @@ var MenuListContext = (0, import_react14.createContext)({
|
|
|
1735
1768
|
});
|
|
1736
1769
|
|
|
1737
1770
|
// src/components/DropdownSelector/MenuList/internals/getValuesRecursive.tsx
|
|
1738
|
-
var
|
|
1771
|
+
var import_react16 = __toESM(require("react"));
|
|
1739
1772
|
function getValuesRecursive(children, values = []) {
|
|
1740
|
-
const childArray =
|
|
1773
|
+
const childArray = import_react16.default.Children.toArray(children);
|
|
1741
1774
|
for (let i = 0; i < childArray.length; i++) {
|
|
1742
1775
|
const child = childArray[i];
|
|
1743
|
-
if (
|
|
1776
|
+
if (import_react16.default.isValidElement(child)) {
|
|
1744
1777
|
const props = child.props;
|
|
1745
1778
|
if ("value" in props && typeof props.value === "string") {
|
|
1746
1779
|
const childValue = props.value;
|
|
@@ -1754,12 +1787,12 @@ function getValuesRecursive(children, values = []) {
|
|
|
1754
1787
|
}
|
|
1755
1788
|
|
|
1756
1789
|
// src/components/DropdownSelector/MenuList/index.tsx
|
|
1757
|
-
var
|
|
1790
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
1758
1791
|
function MenuList(props) {
|
|
1759
|
-
const root = (0,
|
|
1792
|
+
const root = (0, import_react17.useRef)(null);
|
|
1760
1793
|
const values = [];
|
|
1761
1794
|
getValuesRecursive(props.children, values);
|
|
1762
|
-
return /* @__PURE__ */ (0,
|
|
1795
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(StyledUl, { ref: root, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
1763
1796
|
MenuListContext.Provider,
|
|
1764
1797
|
{
|
|
1765
1798
|
value: {
|
|
@@ -1774,20 +1807,20 @@ function MenuList(props) {
|
|
|
1774
1807
|
}
|
|
1775
1808
|
) });
|
|
1776
1809
|
}
|
|
1777
|
-
var StyledUl =
|
|
1810
|
+
var StyledUl = import_styled_components16.default.ul`
|
|
1778
1811
|
padding: 0;
|
|
1779
1812
|
margin: 0;
|
|
1780
1813
|
`;
|
|
1781
1814
|
|
|
1782
1815
|
// src/components/DropdownSelector/index.tsx
|
|
1783
|
-
var
|
|
1816
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1784
1817
|
var defaultRequiredText = "*\u5FC5\u9808";
|
|
1785
1818
|
function DropdownSelector(props) {
|
|
1786
|
-
const triggerRef = (0,
|
|
1787
|
-
const [isOpen, setIsOpen] = (0,
|
|
1819
|
+
const triggerRef = (0, import_react18.useRef)(null);
|
|
1820
|
+
const [isOpen, setIsOpen] = (0, import_react18.useState)(false);
|
|
1788
1821
|
const preview = findPreviewRecursive(props.children, props.value);
|
|
1789
|
-
return /* @__PURE__ */ (0,
|
|
1790
|
-
props.showLabel === true && /* @__PURE__ */ (0,
|
|
1822
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(DropdownSelectorRoot, { "aria-disabled": props.disabled, children: [
|
|
1823
|
+
props.showLabel === true && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1791
1824
|
DropdownFieldLabel,
|
|
1792
1825
|
{
|
|
1793
1826
|
label: props.label,
|
|
@@ -1796,7 +1829,7 @@ function DropdownSelector(props) {
|
|
|
1796
1829
|
subLabel: props.subLabel
|
|
1797
1830
|
}
|
|
1798
1831
|
),
|
|
1799
|
-
/* @__PURE__ */ (0,
|
|
1832
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
1800
1833
|
DropdownButton,
|
|
1801
1834
|
{
|
|
1802
1835
|
invalid: props.invalid,
|
|
@@ -1808,19 +1841,19 @@ function DropdownSelector(props) {
|
|
|
1808
1841
|
},
|
|
1809
1842
|
ref: triggerRef,
|
|
1810
1843
|
children: [
|
|
1811
|
-
/* @__PURE__ */ (0,
|
|
1812
|
-
/* @__PURE__ */ (0,
|
|
1844
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DropdownButtonText, { children: props.placeholder !== void 0 && preview === void 0 ? props.placeholder : preview }),
|
|
1845
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DropdownButtonIcon, { name: "16/Menu" })
|
|
1813
1846
|
]
|
|
1814
1847
|
}
|
|
1815
1848
|
),
|
|
1816
|
-
/* @__PURE__ */ (0,
|
|
1849
|
+
isOpen && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1817
1850
|
DropdownPopover,
|
|
1818
1851
|
{
|
|
1819
1852
|
isOpen,
|
|
1820
1853
|
onClose: () => setIsOpen(false),
|
|
1821
1854
|
triggerRef,
|
|
1822
1855
|
value: props.value,
|
|
1823
|
-
children: /* @__PURE__ */ (0,
|
|
1856
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
1824
1857
|
MenuList,
|
|
1825
1858
|
{
|
|
1826
1859
|
value: props.value,
|
|
@@ -1833,24 +1866,24 @@ function DropdownSelector(props) {
|
|
|
1833
1866
|
)
|
|
1834
1867
|
}
|
|
1835
1868
|
),
|
|
1836
|
-
props.assistiveText !== void 0 && /* @__PURE__ */ (0,
|
|
1869
|
+
props.assistiveText !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(AssertiveText, { invalid: props.invalid, children: props.assistiveText })
|
|
1837
1870
|
] });
|
|
1838
1871
|
}
|
|
1839
|
-
var DropdownSelectorRoot =
|
|
1872
|
+
var DropdownSelectorRoot = import_styled_components17.default.div`
|
|
1840
1873
|
display: inline-block;
|
|
1841
1874
|
width: 100%;
|
|
1842
1875
|
|
|
1843
|
-
${
|
|
1876
|
+
${import_utils8.disabledSelector} {
|
|
1844
1877
|
cursor: default;
|
|
1845
1878
|
${theme((o) => o.disabled)}
|
|
1846
1879
|
}
|
|
1847
1880
|
`;
|
|
1848
|
-
var DropdownFieldLabel = (0,
|
|
1881
|
+
var DropdownFieldLabel = (0, import_styled_components17.default)(FieldLabel_default)`
|
|
1849
1882
|
width: 100%;
|
|
1850
1883
|
|
|
1851
1884
|
${theme((o) => o.margin.bottom(8))}
|
|
1852
1885
|
`;
|
|
1853
|
-
var DropdownButton =
|
|
1886
|
+
var DropdownButton = import_styled_components17.default.button`
|
|
1854
1887
|
display: flex;
|
|
1855
1888
|
justify-content: space-between;
|
|
1856
1889
|
align-items: center;
|
|
@@ -1860,7 +1893,7 @@ var DropdownButton = import_styled_components16.default.button`
|
|
|
1860
1893
|
box-sizing: border-box;
|
|
1861
1894
|
cursor: pointer;
|
|
1862
1895
|
|
|
1863
|
-
${
|
|
1896
|
+
${import_utils8.disabledSelector} {
|
|
1864
1897
|
cursor: default;
|
|
1865
1898
|
}
|
|
1866
1899
|
|
|
@@ -1873,15 +1906,15 @@ var DropdownButton = import_styled_components16.default.button`
|
|
|
1873
1906
|
invalid === true && o.outline.assertive
|
|
1874
1907
|
])}
|
|
1875
1908
|
`;
|
|
1876
|
-
var DropdownButtonText =
|
|
1909
|
+
var DropdownButtonText = import_styled_components17.default.span`
|
|
1877
1910
|
text-align: left;
|
|
1878
1911
|
|
|
1879
1912
|
${theme((o) => [o.typography(14), o.font.text2])}
|
|
1880
1913
|
`;
|
|
1881
|
-
var DropdownButtonIcon = (0,
|
|
1914
|
+
var DropdownButtonIcon = (0, import_styled_components17.default)(Icon_default)`
|
|
1882
1915
|
${theme((o) => [o.font.text2])}
|
|
1883
1916
|
`;
|
|
1884
|
-
var AssertiveText =
|
|
1917
|
+
var AssertiveText = import_styled_components17.default.div`
|
|
1885
1918
|
${({ invalid }) => theme((o) => [
|
|
1886
1919
|
o.typography(14),
|
|
1887
1920
|
o.margin.top(8),
|
|
@@ -1890,19 +1923,19 @@ var AssertiveText = import_styled_components16.default.div`
|
|
|
1890
1923
|
`;
|
|
1891
1924
|
|
|
1892
1925
|
// src/components/DropdownSelector/DropdownMenuItem.tsx
|
|
1893
|
-
var
|
|
1926
|
+
var import_styled_components19 = __toESM(require("styled-components"));
|
|
1894
1927
|
|
|
1895
1928
|
// src/components/DropdownSelector/ListItem/index.tsx
|
|
1896
|
-
var
|
|
1897
|
-
var
|
|
1929
|
+
var import_styled_components18 = __toESM(require("styled-components"));
|
|
1930
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1898
1931
|
function ListItem(props) {
|
|
1899
1932
|
const { children, ...rest } = props;
|
|
1900
|
-
return /* @__PURE__ */ (0,
|
|
1933
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(StyledLi, { role: "option", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ItemDiv, { ...rest, children: props.children }) });
|
|
1901
1934
|
}
|
|
1902
|
-
var StyledLi =
|
|
1935
|
+
var StyledLi = import_styled_components18.default.li`
|
|
1903
1936
|
list-style: none;
|
|
1904
1937
|
`;
|
|
1905
|
-
var ItemDiv =
|
|
1938
|
+
var ItemDiv = import_styled_components18.default.div`
|
|
1906
1939
|
display: flex;
|
|
1907
1940
|
align-items: center;
|
|
1908
1941
|
min-height: 40px;
|
|
@@ -1923,7 +1956,7 @@ var ItemDiv = import_styled_components17.default.div`
|
|
|
1923
1956
|
`;
|
|
1924
1957
|
|
|
1925
1958
|
// src/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.tsx
|
|
1926
|
-
var
|
|
1959
|
+
var import_react19 = require("react");
|
|
1927
1960
|
|
|
1928
1961
|
// src/components/DropdownSelector/MenuItem/internals/handleFocusByKeyBoard.tsx
|
|
1929
1962
|
function handleFocusByKeyBoard(element, parent) {
|
|
@@ -1956,12 +1989,12 @@ function scrollIfNeeded(element) {
|
|
|
1956
1989
|
|
|
1957
1990
|
// src/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.tsx
|
|
1958
1991
|
function useMenuItemHandleKeyDown(value) {
|
|
1959
|
-
const { setValue, root, values } = (0,
|
|
1960
|
-
const setContextValue = (0,
|
|
1992
|
+
const { setValue, root, values } = (0, import_react19.useContext)(MenuListContext);
|
|
1993
|
+
const setContextValue = (0, import_react19.useCallback)(() => {
|
|
1961
1994
|
if (value !== void 0)
|
|
1962
1995
|
setValue(value);
|
|
1963
1996
|
}, [value, setValue]);
|
|
1964
|
-
const handleKeyDown = (0,
|
|
1997
|
+
const handleKeyDown = (0, import_react19.useCallback)(
|
|
1965
1998
|
(e) => {
|
|
1966
1999
|
if (e.key === "Enter") {
|
|
1967
2000
|
setContextValue();
|
|
@@ -1988,11 +2021,11 @@ function useMenuItemHandleKeyDown(value) {
|
|
|
1988
2021
|
}
|
|
1989
2022
|
|
|
1990
2023
|
// src/components/DropdownSelector/MenuItem/index.tsx
|
|
1991
|
-
var
|
|
2024
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1992
2025
|
function MenuItem(props) {
|
|
1993
2026
|
const { children, as, ...rest } = props;
|
|
1994
2027
|
const [handleKeyDown, setContextValue] = useMenuItemHandleKeyDown(props.value);
|
|
1995
|
-
return /* @__PURE__ */ (0,
|
|
2028
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
1996
2029
|
ListItem,
|
|
1997
2030
|
{
|
|
1998
2031
|
...rest,
|
|
@@ -2008,85 +2041,85 @@ function MenuItem(props) {
|
|
|
2008
2041
|
}
|
|
2009
2042
|
|
|
2010
2043
|
// src/components/DropdownSelector/DropdownMenuItem.tsx
|
|
2011
|
-
var
|
|
2012
|
-
var
|
|
2044
|
+
var import_react20 = require("react");
|
|
2045
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
2013
2046
|
function DropdownMenuItem(props) {
|
|
2014
|
-
const { value: ctxValue } = (0,
|
|
2047
|
+
const { value: ctxValue } = (0, import_react20.useContext)(MenuListContext);
|
|
2015
2048
|
const isSelected = props.value === ctxValue;
|
|
2016
2049
|
const { children, ...rest } = props;
|
|
2017
|
-
return /* @__PURE__ */ (0,
|
|
2018
|
-
isSelected && /* @__PURE__ */ (0,
|
|
2019
|
-
/* @__PURE__ */ (0,
|
|
2050
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(MenuItem, { ...rest, children: [
|
|
2051
|
+
isSelected && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Text2ColorIcon, { name: "16/Check" }),
|
|
2052
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(StyledSpan, { isSelected, children: props.children })
|
|
2020
2053
|
] });
|
|
2021
2054
|
}
|
|
2022
|
-
var StyledSpan =
|
|
2055
|
+
var StyledSpan = import_styled_components19.default.span`
|
|
2023
2056
|
${theme((o) => [o.typography(14), o.font.text2])};
|
|
2024
2057
|
display: flex;
|
|
2025
2058
|
align-items: center;
|
|
2026
2059
|
width: 100%;
|
|
2027
2060
|
margin-left: ${({ isSelected }) => isSelected === true ? 0 : 20}px;
|
|
2028
2061
|
`;
|
|
2029
|
-
var Text2ColorIcon = (0,
|
|
2062
|
+
var Text2ColorIcon = (0, import_styled_components19.default)(Icon_default)`
|
|
2030
2063
|
${theme((o) => [o.font.text2])}
|
|
2031
2064
|
padding-right: 4px;
|
|
2032
2065
|
`;
|
|
2033
2066
|
|
|
2034
2067
|
// src/components/DropdownSelector/MenuItemGroup/index.tsx
|
|
2035
|
-
var
|
|
2036
|
-
var
|
|
2068
|
+
var import_styled_components20 = __toESM(require("styled-components"));
|
|
2069
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
2037
2070
|
function MenuItemGroup(props) {
|
|
2038
|
-
return /* @__PURE__ */ (0,
|
|
2039
|
-
/* @__PURE__ */ (0,
|
|
2040
|
-
/* @__PURE__ */ (0,
|
|
2071
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(StyledLi2, { role: "presentation", children: [
|
|
2072
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(TextSpan, { children: props.text }),
|
|
2073
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(StyledUl2, { role: "group", children: props.children })
|
|
2041
2074
|
] });
|
|
2042
2075
|
}
|
|
2043
|
-
var TextSpan =
|
|
2076
|
+
var TextSpan = import_styled_components20.default.span`
|
|
2044
2077
|
display: block;
|
|
2045
|
-
color: ${({ theme:
|
|
2078
|
+
color: ${({ theme: theme3 }) => theme3.color.text3};
|
|
2046
2079
|
font-size: 12px;
|
|
2047
2080
|
font-weight: bold;
|
|
2048
2081
|
padding: 12px 0 8px 16px;
|
|
2049
2082
|
`;
|
|
2050
|
-
var StyledUl2 =
|
|
2083
|
+
var StyledUl2 = import_styled_components20.default.ul`
|
|
2051
2084
|
padding-left: 0;
|
|
2052
2085
|
margin: 0;
|
|
2053
2086
|
box-sizing: border-box;
|
|
2054
2087
|
list-style: none;
|
|
2055
2088
|
overflow: hidden;
|
|
2056
2089
|
`;
|
|
2057
|
-
var StyledLi2 =
|
|
2090
|
+
var StyledLi2 = import_styled_components20.default.li`
|
|
2058
2091
|
display: block;
|
|
2059
2092
|
`;
|
|
2060
2093
|
|
|
2061
2094
|
// src/components/SegmentedControl/index.tsx
|
|
2062
|
-
var
|
|
2095
|
+
var import_react22 = require("react");
|
|
2063
2096
|
var import_react_stately2 = require("react-stately");
|
|
2064
2097
|
var import_radio = require("@react-aria/radio");
|
|
2065
|
-
var
|
|
2066
|
-
var
|
|
2098
|
+
var import_styled_components21 = __toESM(require("styled-components"));
|
|
2099
|
+
var import_utils9 = require("@charcoal-ui/utils");
|
|
2067
2100
|
|
|
2068
2101
|
// src/components/SegmentedControl/RadioGroupContext.tsx
|
|
2069
|
-
var
|
|
2070
|
-
var
|
|
2071
|
-
var RadioContext = (0,
|
|
2102
|
+
var import_react21 = require("react");
|
|
2103
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
2104
|
+
var RadioContext = (0, import_react21.createContext)(null);
|
|
2072
2105
|
var RadioProvider = ({
|
|
2073
2106
|
value,
|
|
2074
2107
|
children
|
|
2075
2108
|
}) => {
|
|
2076
|
-
return /* @__PURE__ */ (0,
|
|
2109
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(RadioContext.Provider, { value, children });
|
|
2077
2110
|
};
|
|
2078
2111
|
var useRadioContext = () => {
|
|
2079
|
-
const state = (0,
|
|
2112
|
+
const state = (0, import_react21.useContext)(RadioContext);
|
|
2080
2113
|
if (state === null)
|
|
2081
2114
|
throw new Error("`<RadioProvider>` is not likely mounted.");
|
|
2082
2115
|
return state;
|
|
2083
2116
|
};
|
|
2084
2117
|
|
|
2085
2118
|
// src/components/SegmentedControl/index.tsx
|
|
2086
|
-
var
|
|
2087
|
-
var SegmentedControl = (0,
|
|
2119
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
2120
|
+
var SegmentedControl = (0, import_react22.forwardRef)(
|
|
2088
2121
|
function SegmentedControlInner(props, ref) {
|
|
2089
|
-
const ariaRadioGroupProps = (0,
|
|
2122
|
+
const ariaRadioGroupProps = (0, import_react22.useMemo)(
|
|
2090
2123
|
() => ({
|
|
2091
2124
|
...props,
|
|
2092
2125
|
isDisabled: props.disabled,
|
|
@@ -2098,27 +2131,35 @@ var SegmentedControl = (0, import_react21.forwardRef)(
|
|
|
2098
2131
|
);
|
|
2099
2132
|
const state = (0, import_react_stately2.useRadioGroupState)(ariaRadioGroupProps);
|
|
2100
2133
|
const { radioGroupProps } = (0, import_radio.useRadioGroup)(ariaRadioGroupProps, state);
|
|
2101
|
-
const segmentedControlItems = (0,
|
|
2134
|
+
const segmentedControlItems = (0, import_react22.useMemo)(() => {
|
|
2102
2135
|
return props.data.map(
|
|
2103
2136
|
(d) => typeof d === "string" ? { value: d, label: d } : d
|
|
2104
2137
|
);
|
|
2105
2138
|
}, [props.data]);
|
|
2106
|
-
return /* @__PURE__ */ (0,
|
|
2107
|
-
|
|
2139
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2140
|
+
SegmentedControlRoot,
|
|
2108
2141
|
{
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2142
|
+
ref,
|
|
2143
|
+
...radioGroupProps,
|
|
2144
|
+
className: props.className,
|
|
2145
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(RadioProvider, { value: state, children: segmentedControlItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2146
|
+
Segmented,
|
|
2147
|
+
{
|
|
2148
|
+
value: item.value,
|
|
2149
|
+
disabled: item.disabled,
|
|
2150
|
+
children: item.label
|
|
2151
|
+
},
|
|
2152
|
+
item.value
|
|
2153
|
+
)) })
|
|
2154
|
+
}
|
|
2155
|
+
);
|
|
2115
2156
|
}
|
|
2116
2157
|
);
|
|
2117
|
-
var SegmentedControl_default = (0,
|
|
2158
|
+
var SegmentedControl_default = (0, import_react22.memo)(SegmentedControl);
|
|
2118
2159
|
var Segmented = (props) => {
|
|
2119
2160
|
const state = useRadioContext();
|
|
2120
|
-
const ref = (0,
|
|
2121
|
-
const ariaRadioProps = (0,
|
|
2161
|
+
const ref = (0, import_react22.useRef)(null);
|
|
2162
|
+
const ariaRadioProps = (0, import_react22.useMemo)(
|
|
2122
2163
|
() => ({
|
|
2123
2164
|
value: props.value,
|
|
2124
2165
|
isDisabled: props.disabled,
|
|
@@ -2131,32 +2172,32 @@ var Segmented = (props) => {
|
|
|
2131
2172
|
state,
|
|
2132
2173
|
ref
|
|
2133
2174
|
);
|
|
2134
|
-
return /* @__PURE__ */ (0,
|
|
2175
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
|
|
2135
2176
|
SegmentedRoot,
|
|
2136
2177
|
{
|
|
2137
2178
|
"aria-disabled": isDisabled || state.isReadOnly,
|
|
2138
2179
|
checked: isSelected,
|
|
2139
2180
|
children: [
|
|
2140
|
-
/* @__PURE__ */ (0,
|
|
2141
|
-
/* @__PURE__ */ (0,
|
|
2181
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(SegmentedInput, { ...inputProps, ref }),
|
|
2182
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(RadioLabel2, { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(SegmentedLabelInner, { children: props.children }) })
|
|
2142
2183
|
]
|
|
2143
2184
|
}
|
|
2144
2185
|
);
|
|
2145
2186
|
};
|
|
2146
|
-
var SegmentedControlRoot =
|
|
2187
|
+
var SegmentedControlRoot = import_styled_components21.default.div`
|
|
2147
2188
|
display: inline-flex;
|
|
2148
2189
|
align-items: center;
|
|
2149
2190
|
|
|
2150
2191
|
${theme((o) => [o.bg.surface3, o.borderRadius(16)])}
|
|
2151
2192
|
`;
|
|
2152
|
-
var SegmentedRoot =
|
|
2193
|
+
var SegmentedRoot = import_styled_components21.default.label`
|
|
2153
2194
|
position: relative;
|
|
2154
2195
|
display: flex;
|
|
2155
2196
|
align-items: center;
|
|
2156
2197
|
cursor: pointer;
|
|
2157
2198
|
height: 32px;
|
|
2158
2199
|
|
|
2159
|
-
${
|
|
2200
|
+
${import_utils9.disabledSelector} {
|
|
2160
2201
|
cursor: default;
|
|
2161
2202
|
}
|
|
2162
2203
|
|
|
@@ -2168,7 +2209,7 @@ var SegmentedRoot = import_styled_components20.default.label`
|
|
|
2168
2209
|
checked === true ? o.font.text5 : o.font.text2
|
|
2169
2210
|
])}
|
|
2170
2211
|
`;
|
|
2171
|
-
var SegmentedInput =
|
|
2212
|
+
var SegmentedInput = import_styled_components21.default.input`
|
|
2172
2213
|
position: absolute;
|
|
2173
2214
|
|
|
2174
2215
|
height: 0px;
|
|
@@ -2182,27 +2223,27 @@ var SegmentedInput = import_styled_components20.default.input`
|
|
|
2182
2223
|
white-space: nowrap;
|
|
2183
2224
|
opacity: 0;
|
|
2184
2225
|
`;
|
|
2185
|
-
var RadioLabel2 =
|
|
2226
|
+
var RadioLabel2 = import_styled_components21.default.div`
|
|
2186
2227
|
background: transparent;
|
|
2187
2228
|
display: flex;
|
|
2188
2229
|
align-items: center;
|
|
2189
2230
|
height: 22px;
|
|
2190
2231
|
`;
|
|
2191
|
-
var SegmentedLabelInner =
|
|
2232
|
+
var SegmentedLabelInner = import_styled_components21.default.div`
|
|
2192
2233
|
${theme((o) => [o.typography(14)])}
|
|
2193
2234
|
`;
|
|
2194
2235
|
|
|
2195
2236
|
// src/components/Checkbox/index.tsx
|
|
2196
|
-
var
|
|
2197
|
-
var
|
|
2237
|
+
var import_react23 = require("react");
|
|
2238
|
+
var import_styled_components22 = __toESM(require("styled-components"));
|
|
2198
2239
|
var import_checkbox = require("@react-aria/checkbox");
|
|
2199
|
-
var
|
|
2240
|
+
var import_utils10 = require("@react-aria/utils");
|
|
2200
2241
|
var import_react_stately3 = require("react-stately");
|
|
2201
|
-
var
|
|
2202
|
-
var
|
|
2203
|
-
var Checkbox = (0,
|
|
2242
|
+
var import_utils11 = require("@charcoal-ui/utils");
|
|
2243
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
2244
|
+
var Checkbox = (0, import_react23.forwardRef)(
|
|
2204
2245
|
function CheckboxInner(props, ref) {
|
|
2205
|
-
const ariaCheckboxProps = (0,
|
|
2246
|
+
const ariaCheckboxProps = (0, import_react23.useMemo)(
|
|
2206
2247
|
() => ({
|
|
2207
2248
|
...props,
|
|
2208
2249
|
isSelected: props.checked,
|
|
@@ -2213,38 +2254,38 @@ var Checkbox = (0, import_react22.forwardRef)(
|
|
|
2213
2254
|
[props]
|
|
2214
2255
|
);
|
|
2215
2256
|
const state = (0, import_react_stately3.useToggleState)(ariaCheckboxProps);
|
|
2216
|
-
const objectRef = (0,
|
|
2257
|
+
const objectRef = (0, import_utils10.useObjectRef)(ref);
|
|
2217
2258
|
const { inputProps } = (0, import_checkbox.useCheckbox)(ariaCheckboxProps, state, objectRef);
|
|
2218
2259
|
const isDisabled = (props.disabled ?? false) || (props.readonly ?? false);
|
|
2219
|
-
return /* @__PURE__ */ (0,
|
|
2220
|
-
/* @__PURE__ */ (0,
|
|
2221
|
-
/* @__PURE__ */ (0,
|
|
2222
|
-
/* @__PURE__ */ (0,
|
|
2260
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(InputRoot, { "aria-disabled": isDisabled, className: props.className, children: [
|
|
2261
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(CheckboxRoot, { children: [
|
|
2262
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(CheckboxInput, { type: "checkbox", ...inputProps }),
|
|
2263
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(CheckboxInputOverlay, { "aria-hidden": true, checked: inputProps.checked, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Icon_default, { name: "24/Check", unsafeNonGuidelineScale: 2 / 3 }) })
|
|
2223
2264
|
] }),
|
|
2224
|
-
"children" in props && /* @__PURE__ */ (0,
|
|
2265
|
+
"children" in props && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(InputLabel, { children: props.children })
|
|
2225
2266
|
] });
|
|
2226
2267
|
}
|
|
2227
2268
|
);
|
|
2228
|
-
var Checkbox_default = (0,
|
|
2229
|
-
var hiddenCss =
|
|
2269
|
+
var Checkbox_default = (0, import_react23.memo)(Checkbox);
|
|
2270
|
+
var hiddenCss = import_styled_components22.css`
|
|
2230
2271
|
visibility: hidden;
|
|
2231
2272
|
`;
|
|
2232
|
-
var InputRoot =
|
|
2273
|
+
var InputRoot = import_styled_components22.default.label`
|
|
2233
2274
|
position: relative;
|
|
2234
2275
|
display: flex;
|
|
2235
2276
|
|
|
2236
2277
|
cursor: pointer;
|
|
2237
|
-
${
|
|
2278
|
+
${import_utils11.disabledSelector} {
|
|
2238
2279
|
cursor: default;
|
|
2239
2280
|
}
|
|
2240
2281
|
|
|
2241
|
-
gap: ${({ theme:
|
|
2282
|
+
gap: ${({ theme: theme3 }) => (0, import_utils11.px)(theme3.spacing[4])};
|
|
2242
2283
|
${theme((o) => [o.disabled])}
|
|
2243
2284
|
`;
|
|
2244
|
-
var CheckboxRoot =
|
|
2285
|
+
var CheckboxRoot = import_styled_components22.default.div`
|
|
2245
2286
|
position: relative;
|
|
2246
2287
|
`;
|
|
2247
|
-
var CheckboxInput =
|
|
2288
|
+
var CheckboxInput = import_styled_components22.default.input`
|
|
2248
2289
|
&[type='checkbox'] {
|
|
2249
2290
|
appearance: none;
|
|
2250
2291
|
display: block;
|
|
@@ -2259,7 +2300,7 @@ var CheckboxInput = import_styled_components21.default.input`
|
|
|
2259
2300
|
&:not(:checked) {
|
|
2260
2301
|
border-width: 2px;
|
|
2261
2302
|
border-style: solid;
|
|
2262
|
-
border-color: ${({ theme:
|
|
2303
|
+
border-color: ${({ theme: theme3 }) => theme3.color.text4};
|
|
2263
2304
|
}
|
|
2264
2305
|
${theme((o) => [o.outline.default.focus, o.borderRadius(4)])}
|
|
2265
2306
|
|
|
@@ -2267,7 +2308,7 @@ var CheckboxInput = import_styled_components21.default.input`
|
|
|
2267
2308
|
transition: all 0.2s !important;
|
|
2268
2309
|
}
|
|
2269
2310
|
`;
|
|
2270
|
-
var CheckboxInputOverlay =
|
|
2311
|
+
var CheckboxInputOverlay = import_styled_components22.default.div`
|
|
2271
2312
|
position: absolute;
|
|
2272
2313
|
top: -2px;
|
|
2273
2314
|
left: -2px;
|
|
@@ -2280,7 +2321,7 @@ var CheckboxInputOverlay = import_styled_components21.default.div`
|
|
|
2280
2321
|
|
|
2281
2322
|
${({ checked }) => checked !== true && hiddenCss};
|
|
2282
2323
|
`;
|
|
2283
|
-
var InputLabel =
|
|
2324
|
+
var InputLabel = import_styled_components22.default.div`
|
|
2284
2325
|
${theme((o) => [o.font.text2])}
|
|
2285
2326
|
|
|
2286
2327
|
font-size: 14px;
|
|
@@ -2289,17 +2330,17 @@ var InputLabel = import_styled_components21.default.div`
|
|
|
2289
2330
|
`;
|
|
2290
2331
|
|
|
2291
2332
|
// src/components/TagItem/index.tsx
|
|
2292
|
-
var
|
|
2293
|
-
var
|
|
2294
|
-
var
|
|
2295
|
-
var
|
|
2333
|
+
var import_react24 = require("react");
|
|
2334
|
+
var import_utils12 = require("@react-aria/utils");
|
|
2335
|
+
var import_styled_components23 = __toESM(require("styled-components"));
|
|
2336
|
+
var import_utils13 = require("@charcoal-ui/utils");
|
|
2296
2337
|
var import_button = require("@react-aria/button");
|
|
2297
|
-
var
|
|
2338
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
2298
2339
|
var sizeMap = {
|
|
2299
2340
|
S: 32,
|
|
2300
2341
|
M: 40
|
|
2301
2342
|
};
|
|
2302
|
-
var TagItem = (0,
|
|
2343
|
+
var TagItem = (0, import_react24.forwardRef)(
|
|
2303
2344
|
function TagItemInner({
|
|
2304
2345
|
label,
|
|
2305
2346
|
translatedLabel,
|
|
@@ -2311,8 +2352,8 @@ var TagItem = (0, import_react23.forwardRef)(
|
|
|
2311
2352
|
className,
|
|
2312
2353
|
...props
|
|
2313
2354
|
}, _ref) {
|
|
2314
|
-
const ref = (0,
|
|
2315
|
-
const ariaButtonProps = (0,
|
|
2355
|
+
const ref = (0, import_utils12.useObjectRef)(_ref);
|
|
2356
|
+
const ariaButtonProps = (0, import_react24.useMemo)(
|
|
2316
2357
|
() => ({
|
|
2317
2358
|
elementType: "a",
|
|
2318
2359
|
isDisabled: disabled,
|
|
@@ -2322,7 +2363,7 @@ var TagItem = (0, import_react23.forwardRef)(
|
|
|
2322
2363
|
);
|
|
2323
2364
|
const { buttonProps } = (0, import_button.useButton)(ariaButtonProps, ref);
|
|
2324
2365
|
const hasTranslatedLabel = translatedLabel !== void 0 && translatedLabel.length > 0;
|
|
2325
|
-
return /* @__PURE__ */ (0,
|
|
2366
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
2326
2367
|
TagItemRoot,
|
|
2327
2368
|
{
|
|
2328
2369
|
ref,
|
|
@@ -2331,21 +2372,21 @@ var TagItem = (0, import_react23.forwardRef)(
|
|
|
2331
2372
|
...buttonProps,
|
|
2332
2373
|
className,
|
|
2333
2374
|
children: [
|
|
2334
|
-
/* @__PURE__ */ (0,
|
|
2335
|
-
/* @__PURE__ */ (0,
|
|
2336
|
-
/* @__PURE__ */ (0,
|
|
2337
|
-
hasTranslatedLabel && /* @__PURE__ */ (0,
|
|
2338
|
-
/* @__PURE__ */ (0,
|
|
2375
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Background, { bgColor, bgImage, status }),
|
|
2376
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Inner, { children: [
|
|
2377
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(LabelWrapper, { isTranslate: hasTranslatedLabel, children: [
|
|
2378
|
+
hasTranslatedLabel && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(TranslatedLabel, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Label3, { children: translatedLabel }) }),
|
|
2379
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Label3, { children: label })
|
|
2339
2380
|
] }),
|
|
2340
|
-
status === "active" && /* @__PURE__ */ (0,
|
|
2381
|
+
status === "active" && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Icon_default, { name: "16/Remove" })
|
|
2341
2382
|
] })
|
|
2342
2383
|
]
|
|
2343
2384
|
}
|
|
2344
2385
|
);
|
|
2345
2386
|
}
|
|
2346
2387
|
);
|
|
2347
|
-
var TagItem_default = (0,
|
|
2348
|
-
var TagItemRoot =
|
|
2388
|
+
var TagItem_default = (0, import_react24.memo)(TagItem);
|
|
2389
|
+
var TagItemRoot = import_styled_components23.default.a`
|
|
2349
2390
|
isolation: isolate;
|
|
2350
2391
|
position: relative;
|
|
2351
2392
|
height: ${({ size }) => sizeMap[size]}px;
|
|
@@ -2365,12 +2406,12 @@ var TagItemRoot = import_styled_components22.default.a`
|
|
|
2365
2406
|
...status === "active" ? [o.padding.left(16), o.padding.right(8)] : []
|
|
2366
2407
|
])}
|
|
2367
2408
|
|
|
2368
|
-
${
|
|
2409
|
+
${import_utils13.disabledSelector} {
|
|
2369
2410
|
${theme((o) => [o.disabled])}
|
|
2370
2411
|
cursor: default;
|
|
2371
2412
|
}
|
|
2372
2413
|
`;
|
|
2373
|
-
var Background =
|
|
2414
|
+
var Background = import_styled_components23.default.div`
|
|
2374
2415
|
position: absolute;
|
|
2375
2416
|
z-index: 1;
|
|
2376
2417
|
top: 0;
|
|
@@ -2381,7 +2422,7 @@ var Background = import_styled_components22.default.div`
|
|
|
2381
2422
|
background-color: ${({ bgColor }) => bgColor};
|
|
2382
2423
|
${({ status }) => status === "inactive" && theme((o) => o.bg.surface3)}
|
|
2383
2424
|
|
|
2384
|
-
${({ bgImage }) => bgImage !== void 0 &&
|
|
2425
|
+
${({ bgImage }) => bgImage !== void 0 && import_styled_components23.css`
|
|
2385
2426
|
${theme((o) => [o.bg.surface4])}
|
|
2386
2427
|
&::before {
|
|
2387
2428
|
content: '';
|
|
@@ -2397,25 +2438,25 @@ var Background = import_styled_components22.default.div`
|
|
|
2397
2438
|
}
|
|
2398
2439
|
`}
|
|
2399
2440
|
`;
|
|
2400
|
-
var Inner =
|
|
2441
|
+
var Inner = import_styled_components23.default.div`
|
|
2401
2442
|
display: inline-flex;
|
|
2402
|
-
gap: ${({ theme:
|
|
2443
|
+
gap: ${({ theme: theme3 }) => (0, import_utils13.px)(theme3.spacing[8])};
|
|
2403
2444
|
align-items: center;
|
|
2404
2445
|
z-index: 2;
|
|
2405
2446
|
`;
|
|
2406
|
-
var labelCSS =
|
|
2447
|
+
var labelCSS = import_styled_components23.css`
|
|
2407
2448
|
${theme((o) => [o.typography(14).bold])}
|
|
2408
2449
|
`;
|
|
2409
|
-
var translateLabelCSS =
|
|
2450
|
+
var translateLabelCSS = import_styled_components23.css`
|
|
2410
2451
|
display: flex;
|
|
2411
2452
|
align-items: center;
|
|
2412
2453
|
flex-direction: column;
|
|
2413
2454
|
font-size: 10px;
|
|
2414
2455
|
`;
|
|
2415
|
-
var LabelWrapper =
|
|
2456
|
+
var LabelWrapper = import_styled_components23.default.div`
|
|
2416
2457
|
${({ isTranslate }) => isTranslate ?? false ? translateLabelCSS : labelCSS}
|
|
2417
2458
|
`;
|
|
2418
|
-
var Label3 =
|
|
2459
|
+
var Label3 = import_styled_components23.default.span`
|
|
2419
2460
|
max-width: 152px;
|
|
2420
2461
|
overflow: hidden;
|
|
2421
2462
|
text-overflow: ellipsis;
|
|
@@ -2424,7 +2465,7 @@ var Label3 = import_styled_components22.default.span`
|
|
|
2424
2465
|
color: inherit;
|
|
2425
2466
|
line-height: inherit;
|
|
2426
2467
|
`;
|
|
2427
|
-
var TranslatedLabel =
|
|
2468
|
+
var TranslatedLabel = import_styled_components23.default.div`
|
|
2428
2469
|
${theme((o) => [o.typography(12).bold])}
|
|
2429
2470
|
`;
|
|
2430
2471
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -2455,6 +2496,7 @@ var TranslatedLabel = import_styled_components22.default.div`
|
|
|
2455
2496
|
SegmentedControl,
|
|
2456
2497
|
Switch,
|
|
2457
2498
|
TagItem,
|
|
2499
|
+
TextArea,
|
|
2458
2500
|
TextField,
|
|
2459
2501
|
useComponentAbstraction
|
|
2460
2502
|
});
|