@charcoal-ui/react 2.9.0 → 2.10.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.
- package/dist/components/Button/index.test.d.ts +4 -0
- package/dist/components/Button/index.test.d.ts.map +1 -0
- 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/LoadingSpinner/index.d.ts +8 -6
- package/dist/components/LoadingSpinner/index.d.ts.map +1 -1
- package/dist/components/LoadingSpinner/index.story.d.ts +2 -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 +13 -2
- package/dist/components/Modal/index.story.d.ts.map +1 -1
- package/dist/components/MultiSelect/index.d.ts +15 -1
- package/dist/components/MultiSelect/index.d.ts.map +1 -1
- package/dist/components/MultiSelect/index.story.d.ts +15 -2
- package/dist/components/MultiSelect/index.story.d.ts.map +1 -1
- package/dist/components/Radio/index.d.ts +10 -1
- package/dist/components/Radio/index.d.ts.map +1 -1
- package/dist/components/Radio/index.story.d.ts +9 -2
- 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 +2 -2
- package/dist/components/Switch/index.story.d.ts.map +1 -1
- package/dist/index.cjs.js +167 -141
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +185 -154
- package/dist/index.esm.js.map +1 -1
- package/package.json +6 -6
- package/src/components/Button/__snapshots__/index.test.tsx.snap +385 -0
- package/src/components/Button/index.test.tsx +25 -0
- package/src/components/Checkbox/index.story.tsx +1 -0
- package/src/components/Checkbox/index.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 +11 -3
- package/src/components/MultiSelect/index.tsx +77 -61
- package/src/components/Radio/index.story.tsx +3 -0
- package/src/components/Radio/index.tsx +11 -9
- package/src/components/SegmentedControl/index.tsx +15 -5
- package/src/components/Switch/index.tsx +37 -32
- package/src/components/TextField/index.story.tsx +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -35,21 +35,21 @@ __export(src_exports, {
|
|
|
35
35
|
DropdownSelectorItem: () => DropdownSelectorItem,
|
|
36
36
|
Icon: () => Icon_default,
|
|
37
37
|
IconButton: () => IconButton_default,
|
|
38
|
-
LoadingSpinner: () =>
|
|
38
|
+
LoadingSpinner: () => LoadingSpinner_default,
|
|
39
39
|
LoadingSpinnerIcon: () => LoadingSpinnerIcon,
|
|
40
|
-
Modal: () =>
|
|
40
|
+
Modal: () => Modal_default,
|
|
41
41
|
ModalAlign: () => ModalAlign,
|
|
42
42
|
ModalBody: () => ModalBody,
|
|
43
43
|
ModalButtons: () => ModalButtons,
|
|
44
44
|
ModalHeader: () => ModalHeader,
|
|
45
|
-
MultiSelect: () =>
|
|
45
|
+
MultiSelect: () => MultiSelect_default,
|
|
46
46
|
MultiSelectGroup: () => MultiSelectGroup,
|
|
47
47
|
OverlayProvider: () => import_overlays.OverlayProvider,
|
|
48
|
-
Radio: () =>
|
|
48
|
+
Radio: () => Radio_default,
|
|
49
49
|
RadioGroup: () => RadioGroup,
|
|
50
50
|
SSRProvider: () => import_ssr.SSRProvider,
|
|
51
51
|
SegmentedControl: () => SegmentedControl_default,
|
|
52
|
-
Switch: () =>
|
|
52
|
+
Switch: () => Switch_default,
|
|
53
53
|
TagItem: () => TagItem_default,
|
|
54
54
|
TextField: () => TextField_default,
|
|
55
55
|
useComponentAbstraction: () => useComponentAbstraction
|
|
@@ -376,12 +376,7 @@ var import_react6 = __toESM(require("react"));
|
|
|
376
376
|
var import_styled_components6 = __toESM(require("styled-components"));
|
|
377
377
|
var import_warning = __toESM(require("warning"));
|
|
378
378
|
var import_utils2 = require("@charcoal-ui/utils");
|
|
379
|
-
|
|
380
|
-
value,
|
|
381
|
-
forceChecked = false,
|
|
382
|
-
disabled = false,
|
|
383
|
-
children
|
|
384
|
-
}) {
|
|
379
|
+
var Radio = (0, import_react6.forwardRef)(function RadioInner({ value, forceChecked = false, disabled = false, children, className }, ref) {
|
|
385
380
|
const {
|
|
386
381
|
name,
|
|
387
382
|
selected,
|
|
@@ -403,7 +398,7 @@ function Radio({
|
|
|
403
398
|
},
|
|
404
399
|
[onChange]
|
|
405
400
|
);
|
|
406
|
-
return /* @__PURE__ */ import_react6.default.createElement(RadioRoot, { "aria-disabled": isDisabled || isReadonly }, /* @__PURE__ */ import_react6.default.createElement(
|
|
401
|
+
return /* @__PURE__ */ import_react6.default.createElement(RadioRoot, { "aria-disabled": isDisabled || isReadonly, className }, /* @__PURE__ */ import_react6.default.createElement(
|
|
407
402
|
RadioInput,
|
|
408
403
|
{
|
|
409
404
|
name,
|
|
@@ -411,10 +406,12 @@ function Radio({
|
|
|
411
406
|
checked: forceChecked || isSelected,
|
|
412
407
|
hasError,
|
|
413
408
|
onChange: handleChange,
|
|
414
|
-
disabled: isDisabled || isReadonly
|
|
409
|
+
disabled: isDisabled || isReadonly,
|
|
410
|
+
ref
|
|
415
411
|
}
|
|
416
412
|
), children != null && /* @__PURE__ */ import_react6.default.createElement(RadioLabel, null, children));
|
|
417
|
-
}
|
|
413
|
+
});
|
|
414
|
+
var Radio_default = (0, import_react6.memo)(Radio);
|
|
418
415
|
var RadioRoot = import_styled_components6.default.label`
|
|
419
416
|
display: grid;
|
|
420
417
|
grid-template-columns: auto 1fr;
|
|
@@ -556,63 +553,68 @@ var MultiSelectGroupContext = (0, import_react7.createContext)({
|
|
|
556
553
|
});
|
|
557
554
|
|
|
558
555
|
// src/components/MultiSelect/index.tsx
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
556
|
+
var MultiSelect = (0, import_react8.forwardRef)(
|
|
557
|
+
function MultiSelectInner({
|
|
558
|
+
value,
|
|
559
|
+
forceChecked = false,
|
|
560
|
+
disabled = false,
|
|
561
|
+
onChange,
|
|
562
|
+
variant = "default",
|
|
563
|
+
className,
|
|
564
|
+
children
|
|
565
|
+
}, ref) {
|
|
566
|
+
const {
|
|
567
|
+
name,
|
|
568
|
+
selected,
|
|
569
|
+
disabled: parentDisabled,
|
|
570
|
+
readonly,
|
|
571
|
+
hasError,
|
|
572
|
+
onChange: parentOnChange
|
|
573
|
+
} = (0, import_react8.useContext)(MultiSelectGroupContext);
|
|
574
|
+
(0, import_warning2.default)(
|
|
575
|
+
name !== void 0,
|
|
576
|
+
`"name" is not Provided for <MultiSelect>. Perhaps you forgot to wrap with <MultiSelectGroup> ?`
|
|
577
|
+
);
|
|
578
|
+
const isSelected = selected.includes(value) || forceChecked;
|
|
579
|
+
const isDisabled = disabled || parentDisabled || readonly;
|
|
580
|
+
const handleChange = (0, import_react8.useCallback)(
|
|
581
|
+
(event) => {
|
|
582
|
+
if (!(event.currentTarget instanceof HTMLInputElement)) {
|
|
583
|
+
return;
|
|
584
|
+
}
|
|
585
|
+
if (onChange)
|
|
586
|
+
onChange({ value, selected: event.currentTarget.checked });
|
|
587
|
+
parentOnChange({ value, selected: event.currentTarget.checked });
|
|
588
|
+
},
|
|
589
|
+
[onChange, parentOnChange, value]
|
|
590
|
+
);
|
|
591
|
+
return /* @__PURE__ */ import_react8.default.createElement(MultiSelectRoot, { "aria-disabled": isDisabled, className }, /* @__PURE__ */ import_react8.default.createElement(
|
|
592
|
+
MultiSelectInput,
|
|
593
|
+
{
|
|
594
|
+
...{
|
|
595
|
+
name,
|
|
596
|
+
value,
|
|
597
|
+
hasError
|
|
598
|
+
},
|
|
599
|
+
checked: isSelected,
|
|
600
|
+
disabled: isDisabled,
|
|
601
|
+
onChange: handleChange,
|
|
602
|
+
overlay: variant === "overlay",
|
|
603
|
+
"aria-invalid": hasError,
|
|
604
|
+
ref
|
|
585
605
|
}
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
return /* @__PURE__ */ import_react8.default.createElement(MultiSelectRoot, { "aria-disabled": isDisabled }, /* @__PURE__ */ import_react8.default.createElement(
|
|
593
|
-
MultiSelectInput,
|
|
594
|
-
{
|
|
595
|
-
...{
|
|
596
|
-
name,
|
|
597
|
-
value,
|
|
598
|
-
hasError
|
|
606
|
+
), /* @__PURE__ */ import_react8.default.createElement(
|
|
607
|
+
MultiSelectInputOverlay,
|
|
608
|
+
{
|
|
609
|
+
overlay: variant === "overlay",
|
|
610
|
+
hasError,
|
|
611
|
+
"aria-hidden": true
|
|
599
612
|
},
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
}
|
|
606
|
-
), /* @__PURE__ */ import_react8.default.createElement(
|
|
607
|
-
MultiSelectInputOverlay,
|
|
608
|
-
{
|
|
609
|
-
overlay: variant === "overlay",
|
|
610
|
-
hasError,
|
|
611
|
-
"aria-hidden": true
|
|
612
|
-
},
|
|
613
|
-
/* @__PURE__ */ import_react8.default.createElement("pixiv-icon", { name: "24/Check", "unsafe-non-guideline-scale": 16 / 24 })
|
|
614
|
-
), Boolean(children) && /* @__PURE__ */ import_react8.default.createElement(MultiSelectLabel, null, children));
|
|
615
|
-
}
|
|
613
|
+
/* @__PURE__ */ import_react8.default.createElement("pixiv-icon", { name: "24/Check", "unsafe-non-guideline-scale": 16 / 24 })
|
|
614
|
+
), Boolean(children) && /* @__PURE__ */ import_react8.default.createElement(MultiSelectLabel, null, children));
|
|
615
|
+
}
|
|
616
|
+
);
|
|
617
|
+
var MultiSelect_default = (0, import_react8.memo)(MultiSelect);
|
|
616
618
|
var MultiSelectRoot = import_styled_components7.default.label`
|
|
617
619
|
display: grid;
|
|
618
620
|
grid-template-columns: auto 1fr;
|
|
@@ -729,24 +731,28 @@ var import_react9 = __toESM(require("react"));
|
|
|
729
731
|
var import_react_stately = require("react-stately");
|
|
730
732
|
var import_styled_components8 = __toESM(require("styled-components"));
|
|
731
733
|
var import_utils4 = require("@charcoal-ui/utils");
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
}
|
|
734
|
+
var import_utils5 = require("@react-aria/utils");
|
|
735
|
+
var SwitchCheckbox = (0, import_react9.forwardRef)(
|
|
736
|
+
function SwitchCheckboxInner(props, external) {
|
|
737
|
+
const { disabled, className } = props;
|
|
738
|
+
const ariaSwitchProps = (0, import_react9.useMemo)(
|
|
739
|
+
() => ({
|
|
740
|
+
...props,
|
|
741
|
+
"aria-label": "children" in props ? void 0 : props.label,
|
|
742
|
+
isDisabled: props.disabled,
|
|
743
|
+
isSelected: props.checked
|
|
744
|
+
}),
|
|
745
|
+
[props]
|
|
746
|
+
);
|
|
747
|
+
const state = (0, import_react_stately.useToggleState)(ariaSwitchProps);
|
|
748
|
+
const ref = (0, import_utils5.useObjectRef)(external);
|
|
749
|
+
const {
|
|
750
|
+
inputProps: { className: _className, type: _type, ...rest }
|
|
751
|
+
} = (0, import_switch.useSwitch)(ariaSwitchProps, state, ref);
|
|
752
|
+
return /* @__PURE__ */ import_react9.default.createElement(Label, { className, "aria-disabled": disabled }, /* @__PURE__ */ import_react9.default.createElement(SwitchInput, { ...rest, ref }), "children" in props ? /* @__PURE__ */ import_react9.default.createElement(LabelInner, null, props.children) : void 0);
|
|
753
|
+
}
|
|
754
|
+
);
|
|
755
|
+
var Switch_default = (0, import_react9.memo)(SwitchCheckbox);
|
|
750
756
|
var Label = import_styled_components8.default.label`
|
|
751
757
|
display: inline-grid;
|
|
752
758
|
grid-template-columns: auto 1fr;
|
|
@@ -910,7 +916,7 @@ var TextField = import_react11.default.forwardRef(
|
|
|
910
916
|
}
|
|
911
917
|
);
|
|
912
918
|
var TextField_default = TextField;
|
|
913
|
-
var SingleLineTextField = import_react11.default.forwardRef(function SingleLineTextFieldInner({ onChange, ...props },
|
|
919
|
+
var SingleLineTextField = import_react11.default.forwardRef(function SingleLineTextFieldInner({ onChange, ...props }, forwardRef9) {
|
|
914
920
|
const {
|
|
915
921
|
className,
|
|
916
922
|
showLabel = false,
|
|
@@ -994,7 +1000,7 @@ var SingleLineTextField = import_react11.default.forwardRef(function SingleLineT
|
|
|
994
1000
|
), /* @__PURE__ */ import_react11.default.createElement(StyledInputContainer, null, /* @__PURE__ */ import_react11.default.createElement(PrefixContainer, { ref: prefixRef }, /* @__PURE__ */ import_react11.default.createElement(Affix, null, prefix)), /* @__PURE__ */ import_react11.default.createElement(
|
|
995
1001
|
StyledInput,
|
|
996
1002
|
{
|
|
997
|
-
ref: mergeRefs(
|
|
1003
|
+
ref: mergeRefs(forwardRef9, ariaRef),
|
|
998
1004
|
invalid,
|
|
999
1005
|
extraLeftPadding: prefixWidth,
|
|
1000
1006
|
extraRightPadding: suffixWidth,
|
|
@@ -1009,7 +1015,7 @@ var SingleLineTextField = import_react11.default.forwardRef(function SingleLineT
|
|
|
1009
1015
|
assistiveText
|
|
1010
1016
|
));
|
|
1011
1017
|
});
|
|
1012
|
-
var MultiLineTextField = import_react11.default.forwardRef(function MultiLineTextFieldInner({ onChange, ...props },
|
|
1018
|
+
var MultiLineTextField = import_react11.default.forwardRef(function MultiLineTextFieldInner({ onChange, ...props }, forwardRef9) {
|
|
1013
1019
|
const {
|
|
1014
1020
|
className,
|
|
1015
1021
|
showCount = false,
|
|
@@ -1095,7 +1101,7 @@ var MultiLineTextField = import_react11.default.forwardRef(function MultiLineTex
|
|
|
1095
1101
|
/* @__PURE__ */ import_react11.default.createElement(
|
|
1096
1102
|
StyledTextarea,
|
|
1097
1103
|
{
|
|
1098
|
-
ref: mergeRefs(textareaRef,
|
|
1104
|
+
ref: mergeRefs(textareaRef, forwardRef9, ariaRef),
|
|
1099
1105
|
rows,
|
|
1100
1106
|
noBottomPadding: showCount,
|
|
1101
1107
|
...inputProps
|
|
@@ -1292,25 +1298,22 @@ function columnSystem(span, column, gutter) {
|
|
|
1292
1298
|
}
|
|
1293
1299
|
|
|
1294
1300
|
// src/components/Modal/index.tsx
|
|
1295
|
-
var
|
|
1301
|
+
var import_utils6 = require("@charcoal-ui/utils");
|
|
1296
1302
|
var import_styled11 = require("@charcoal-ui/styled");
|
|
1297
1303
|
var import_react_spring = require("react-spring");
|
|
1304
|
+
var import_utils7 = require("@react-aria/utils");
|
|
1298
1305
|
var DEFAULT_Z_INDEX = 10;
|
|
1299
|
-
|
|
1300
|
-
children,
|
|
1301
|
-
zIndex = DEFAULT_Z_INDEX,
|
|
1302
|
-
portalContainer,
|
|
1303
|
-
...props
|
|
1304
|
-
}) {
|
|
1306
|
+
var Modal = (0, import_react13.forwardRef)(function ModalInner({ children, zIndex = DEFAULT_Z_INDEX, portalContainer, ...props }, external) {
|
|
1305
1307
|
const {
|
|
1306
1308
|
title,
|
|
1307
1309
|
size = "M",
|
|
1308
1310
|
bottomSheet = false,
|
|
1309
1311
|
isDismissable,
|
|
1310
1312
|
onClose,
|
|
1313
|
+
className,
|
|
1311
1314
|
isOpen = false
|
|
1312
1315
|
} = props;
|
|
1313
|
-
const ref = (0,
|
|
1316
|
+
const ref = (0, import_utils7.useObjectRef)(external);
|
|
1314
1317
|
const { overlayProps, underlayProps } = (0, import_overlays2.useOverlay)(props, ref);
|
|
1315
1318
|
const { modalProps } = (0, import_overlays2.useModalOverlay)(
|
|
1316
1319
|
props,
|
|
@@ -1328,7 +1331,7 @@ function Modal({
|
|
|
1328
1331
|
);
|
|
1329
1332
|
const { dialogProps, titleProps } = (0, import_dialog.useDialog)(props, ref);
|
|
1330
1333
|
const theme4 = (0, import_styled_components11.useTheme)();
|
|
1331
|
-
const isMobile = (0, import_styled11.useMedia)((0,
|
|
1334
|
+
const isMobile = (0, import_styled11.useMedia)((0, import_utils6.maxWidth)(theme4.breakpoint.screen1)) ?? false;
|
|
1332
1335
|
const transitionEnabled = isMobile && bottomSheet !== false;
|
|
1333
1336
|
const transition = (0, import_react_spring.useTransition)(isOpen, {
|
|
1334
1337
|
from: {
|
|
@@ -1363,7 +1366,8 @@ function Modal({
|
|
|
1363
1366
|
...dialogProps,
|
|
1364
1367
|
style: transitionEnabled ? { transform } : {},
|
|
1365
1368
|
size,
|
|
1366
|
-
bottomSheet
|
|
1369
|
+
bottomSheet,
|
|
1370
|
+
className
|
|
1367
1371
|
},
|
|
1368
1372
|
/* @__PURE__ */ import_react13.default.createElement(
|
|
1369
1373
|
ModalContext.Provider,
|
|
@@ -1383,7 +1387,8 @@ function Modal({
|
|
|
1383
1387
|
)))
|
|
1384
1388
|
))
|
|
1385
1389
|
);
|
|
1386
|
-
}
|
|
1390
|
+
});
|
|
1391
|
+
var Modal_default = (0, import_react13.memo)(Modal);
|
|
1387
1392
|
var ModalContext = import_react13.default.createContext({
|
|
1388
1393
|
titleProps: {},
|
|
1389
1394
|
title: "",
|
|
@@ -1423,7 +1428,7 @@ var DialogContainer = import_styled_components11.default.div`
|
|
|
1423
1428
|
}
|
|
1424
1429
|
}}px;
|
|
1425
1430
|
|
|
1426
|
-
@media ${({ theme: theme4 }) => (0,
|
|
1431
|
+
@media ${({ theme: theme4 }) => (0, import_utils6.maxWidth)(theme4.breakpoint.screen1)} {
|
|
1427
1432
|
width: calc(100% - 48px);
|
|
1428
1433
|
${(p) => p.bottomSheet !== false && import_styled_components11.css`
|
|
1429
1434
|
margin: 0;
|
|
@@ -1441,7 +1446,7 @@ var ModalDialog = (0, import_react_spring.animated)(import_styled_components11.d
|
|
|
1441
1446
|
padding: 24px 0;
|
|
1442
1447
|
|
|
1443
1448
|
${theme((o) => [o.bg.background1, o.borderRadius(24)])}
|
|
1444
|
-
@media ${({ theme: theme4 }) => (0,
|
|
1449
|
+
@media ${({ theme: theme4 }) => (0, import_utils6.maxWidth)(theme4.breakpoint.screen1)} {
|
|
1445
1450
|
${(p) => p.bottomSheet !== false && import_styled_components11.css`
|
|
1446
1451
|
border-radius: 0;
|
|
1447
1452
|
${p.bottomSheet === "full" && import_styled_components11.css`
|
|
@@ -1499,13 +1504,22 @@ var ModalButtons = import_styled_components12.default.div`
|
|
|
1499
1504
|
// src/components/LoadingSpinner/index.tsx
|
|
1500
1505
|
var import_react15 = __toESM(require("react"));
|
|
1501
1506
|
var import_styled_components13 = __toESM(require("styled-components"));
|
|
1502
|
-
|
|
1503
|
-
size = 48,
|
|
1504
|
-
|
|
1505
|
-
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1507
|
+
var LoadingSpinner = (0, import_react15.forwardRef)(
|
|
1508
|
+
function LoadingSpinnerInner({ size = 48, padding = 16, transparent = false, className }, ref) {
|
|
1509
|
+
return /* @__PURE__ */ import_react15.default.createElement(
|
|
1510
|
+
LoadingSpinnerRoot,
|
|
1511
|
+
{
|
|
1512
|
+
size,
|
|
1513
|
+
padding,
|
|
1514
|
+
transparent,
|
|
1515
|
+
className,
|
|
1516
|
+
ref
|
|
1517
|
+
},
|
|
1518
|
+
/* @__PURE__ */ import_react15.default.createElement(LoadingSpinnerIcon, null)
|
|
1519
|
+
);
|
|
1520
|
+
}
|
|
1521
|
+
);
|
|
1522
|
+
var LoadingSpinner_default = (0, import_react15.memo)(LoadingSpinner);
|
|
1509
1523
|
var LoadingSpinnerRoot = import_styled_components13.default.div.attrs({ role: "progressbar" })`
|
|
1510
1524
|
box-sizing: content-box;
|
|
1511
1525
|
margin: auto;
|
|
@@ -1562,7 +1576,7 @@ var LoadingSpinnerIcon = import_react15.default.forwardRef(function LoadingSpinn
|
|
|
1562
1576
|
var import_react20 = __toESM(require("react"));
|
|
1563
1577
|
var import_styled_components19 = __toESM(require("styled-components"));
|
|
1564
1578
|
var import_react_stately2 = require("react-stately");
|
|
1565
|
-
var
|
|
1579
|
+
var import_utils10 = require("@charcoal-ui/utils");
|
|
1566
1580
|
var import_visually_hidden2 = require("@react-aria/visually-hidden");
|
|
1567
1581
|
var import_select = require("@react-aria/select");
|
|
1568
1582
|
var import_button = require("@react-aria/button");
|
|
@@ -1582,19 +1596,19 @@ var import_styled_components16 = __toESM(require("styled-components"));
|
|
|
1582
1596
|
var import_react16 = __toESM(require("react"));
|
|
1583
1597
|
var import_styled_components14 = __toESM(require("styled-components"));
|
|
1584
1598
|
var import_listbox = require("@react-aria/listbox");
|
|
1585
|
-
var
|
|
1599
|
+
var import_utils8 = require("@react-aria/utils");
|
|
1586
1600
|
var import_focus2 = require("@react-aria/focus");
|
|
1587
|
-
var
|
|
1601
|
+
var import_utils9 = require("@charcoal-ui/utils");
|
|
1588
1602
|
function Option({ item, state, mode }) {
|
|
1589
1603
|
const ref = (0, import_react16.useRef)(null);
|
|
1590
1604
|
const { optionProps, isSelected } = (0, import_listbox.useOption)(item, state, ref);
|
|
1591
1605
|
const { focusProps } = (0, import_focus2.useFocusRing)();
|
|
1592
|
-
return /* @__PURE__ */ import_react16.default.createElement(OptionRoot, { ...(0,
|
|
1606
|
+
return /* @__PURE__ */ import_react16.default.createElement(OptionRoot, { ...(0, import_utils8.mergeProps)(optionProps, focusProps), ref, mode }, /* @__PURE__ */ import_react16.default.createElement(OptionCheckIcon, { name: "16/Check", isSelected }), /* @__PURE__ */ import_react16.default.createElement(OptionText, null, item.rendered));
|
|
1593
1607
|
}
|
|
1594
1608
|
var OptionRoot = import_styled_components14.default.li`
|
|
1595
1609
|
display: flex;
|
|
1596
1610
|
align-items: center;
|
|
1597
|
-
gap: ${({ theme: theme4 }) => (0,
|
|
1611
|
+
gap: ${({ theme: theme4 }) => (0, import_utils9.px)(theme4.spacing[4])};
|
|
1598
1612
|
height: 40px;
|
|
1599
1613
|
cursor: pointer;
|
|
1600
1614
|
outline: none;
|
|
@@ -1828,7 +1842,7 @@ var DropdownSelectorRoot = import_styled_components19.default.div`
|
|
|
1828
1842
|
display: inline-block;
|
|
1829
1843
|
width: 100%;
|
|
1830
1844
|
|
|
1831
|
-
${
|
|
1845
|
+
${import_utils10.disabledSelector} {
|
|
1832
1846
|
cursor: default;
|
|
1833
1847
|
${theme((o) => o.disabled)}
|
|
1834
1848
|
}
|
|
@@ -1851,7 +1865,7 @@ var DropdownButton = import_styled_components19.default.button`
|
|
|
1851
1865
|
box-sizing: border-box;
|
|
1852
1866
|
cursor: pointer;
|
|
1853
1867
|
|
|
1854
|
-
${
|
|
1868
|
+
${import_utils10.disabledSelector} {
|
|
1855
1869
|
cursor: default;
|
|
1856
1870
|
}
|
|
1857
1871
|
|
|
@@ -1885,7 +1899,7 @@ var import_react22 = __toESM(require("react"));
|
|
|
1885
1899
|
var import_react_stately3 = require("react-stately");
|
|
1886
1900
|
var import_radio = require("@react-aria/radio");
|
|
1887
1901
|
var import_styled_components20 = __toESM(require("styled-components"));
|
|
1888
|
-
var
|
|
1902
|
+
var import_utils11 = require("@charcoal-ui/utils");
|
|
1889
1903
|
|
|
1890
1904
|
// src/components/SegmentedControl/RadioGroupContext.tsx
|
|
1891
1905
|
var import_react21 = __toESM(require("react"));
|
|
@@ -1923,23 +1937,35 @@ var SegmentedControl = (0, import_react22.forwardRef)(
|
|
|
1923
1937
|
(d) => typeof d === "string" ? { value: d, label: d } : d
|
|
1924
1938
|
);
|
|
1925
1939
|
}, [props.data]);
|
|
1926
|
-
return /* @__PURE__ */ import_react22.default.createElement(
|
|
1927
|
-
|
|
1940
|
+
return /* @__PURE__ */ import_react22.default.createElement(
|
|
1941
|
+
SegmentedControlRoot,
|
|
1928
1942
|
{
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1943
|
+
ref,
|
|
1944
|
+
...radioGroupProps,
|
|
1945
|
+
className: props.className
|
|
1932
1946
|
},
|
|
1933
|
-
item.
|
|
1934
|
-
|
|
1947
|
+
/* @__PURE__ */ import_react22.default.createElement(RadioProvider, { value: state }, segmentedControlItems.map((item) => /* @__PURE__ */ import_react22.default.createElement(
|
|
1948
|
+
Segmented,
|
|
1949
|
+
{
|
|
1950
|
+
key: item.value,
|
|
1951
|
+
value: item.value,
|
|
1952
|
+
disabled: item.disabled
|
|
1953
|
+
},
|
|
1954
|
+
item.label
|
|
1955
|
+
)))
|
|
1956
|
+
);
|
|
1935
1957
|
}
|
|
1936
1958
|
);
|
|
1937
1959
|
var SegmentedControl_default = (0, import_react22.memo)(SegmentedControl);
|
|
1938
|
-
var Segmented = (
|
|
1960
|
+
var Segmented = (props) => {
|
|
1939
1961
|
const state = useRadioContext();
|
|
1940
1962
|
const ref = (0, import_react22.useRef)(null);
|
|
1941
1963
|
const ariaRadioProps = (0, import_react22.useMemo)(
|
|
1942
|
-
() => ({
|
|
1964
|
+
() => ({
|
|
1965
|
+
value: props.value,
|
|
1966
|
+
isDisabled: props.disabled,
|
|
1967
|
+
children: props.children
|
|
1968
|
+
}),
|
|
1943
1969
|
[props]
|
|
1944
1970
|
);
|
|
1945
1971
|
const { inputProps, isDisabled, isSelected } = (0, import_radio.useRadio)(
|
|
@@ -1954,7 +1980,7 @@ var Segmented = ({ children, ...props }) => {
|
|
|
1954
1980
|
checked: isSelected
|
|
1955
1981
|
},
|
|
1956
1982
|
/* @__PURE__ */ import_react22.default.createElement(SegmentedInput, { ...inputProps, ref }),
|
|
1957
|
-
/* @__PURE__ */ import_react22.default.createElement(RadioLabel2, null, /* @__PURE__ */ import_react22.default.createElement(SegmentedLabelInner, null, children))
|
|
1983
|
+
/* @__PURE__ */ import_react22.default.createElement(RadioLabel2, null, /* @__PURE__ */ import_react22.default.createElement(SegmentedLabelInner, null, props.children))
|
|
1958
1984
|
);
|
|
1959
1985
|
};
|
|
1960
1986
|
var SegmentedControlRoot = import_styled_components20.default.div`
|
|
@@ -1970,7 +1996,7 @@ var SegmentedRoot = import_styled_components20.default.label`
|
|
|
1970
1996
|
cursor: pointer;
|
|
1971
1997
|
height: 32px;
|
|
1972
1998
|
|
|
1973
|
-
${
|
|
1999
|
+
${import_utils11.disabledSelector} {
|
|
1974
2000
|
cursor: default;
|
|
1975
2001
|
}
|
|
1976
2002
|
|
|
@@ -2010,9 +2036,9 @@ var SegmentedLabelInner = import_styled_components20.default.div`
|
|
|
2010
2036
|
var import_react23 = __toESM(require("react"));
|
|
2011
2037
|
var import_styled_components21 = __toESM(require("styled-components"));
|
|
2012
2038
|
var import_checkbox = require("@react-aria/checkbox");
|
|
2013
|
-
var
|
|
2039
|
+
var import_utils12 = require("@react-aria/utils");
|
|
2014
2040
|
var import_react_stately4 = require("react-stately");
|
|
2015
|
-
var
|
|
2041
|
+
var import_utils13 = require("@charcoal-ui/utils");
|
|
2016
2042
|
var Checkbox = (0, import_react23.forwardRef)(
|
|
2017
2043
|
function CheckboxInner(props, ref) {
|
|
2018
2044
|
const ariaCheckboxProps = (0, import_react23.useMemo)(
|
|
@@ -2026,10 +2052,10 @@ var Checkbox = (0, import_react23.forwardRef)(
|
|
|
2026
2052
|
[props]
|
|
2027
2053
|
);
|
|
2028
2054
|
const state = (0, import_react_stately4.useToggleState)(ariaCheckboxProps);
|
|
2029
|
-
const objectRef = (0,
|
|
2055
|
+
const objectRef = (0, import_utils12.useObjectRef)(ref);
|
|
2030
2056
|
const { inputProps } = (0, import_checkbox.useCheckbox)(ariaCheckboxProps, state, objectRef);
|
|
2031
2057
|
const isDisabled = (props.disabled ?? false) || (props.readonly ?? false);
|
|
2032
|
-
return /* @__PURE__ */ import_react23.default.createElement(InputRoot, { "aria-disabled": isDisabled }, /* @__PURE__ */ import_react23.default.createElement(CheckboxRoot, null, /* @__PURE__ */ import_react23.default.createElement(CheckboxInput, { type: "checkbox", ...inputProps }), /* @__PURE__ */ import_react23.default.createElement(CheckboxInputOverlay, { "aria-hidden": true, checked: inputProps.checked }, /* @__PURE__ */ import_react23.default.createElement(Icon_default, { name: "24/Check", unsafeNonGuidelineScale: 2 / 3 }))), "children" in props && /* @__PURE__ */ import_react23.default.createElement(InputLabel, null, props.children));
|
|
2058
|
+
return /* @__PURE__ */ import_react23.default.createElement(InputRoot, { "aria-disabled": isDisabled, className: props.className }, /* @__PURE__ */ import_react23.default.createElement(CheckboxRoot, null, /* @__PURE__ */ import_react23.default.createElement(CheckboxInput, { type: "checkbox", ...inputProps }), /* @__PURE__ */ import_react23.default.createElement(CheckboxInputOverlay, { "aria-hidden": true, checked: inputProps.checked }, /* @__PURE__ */ import_react23.default.createElement(Icon_default, { name: "24/Check", unsafeNonGuidelineScale: 2 / 3 }))), "children" in props && /* @__PURE__ */ import_react23.default.createElement(InputLabel, null, props.children));
|
|
2033
2059
|
}
|
|
2034
2060
|
);
|
|
2035
2061
|
var Checkbox_default = (0, import_react23.memo)(Checkbox);
|
|
@@ -2041,11 +2067,11 @@ var InputRoot = import_styled_components21.default.label`
|
|
|
2041
2067
|
display: flex;
|
|
2042
2068
|
|
|
2043
2069
|
cursor: pointer;
|
|
2044
|
-
${
|
|
2070
|
+
${import_utils13.disabledSelector} {
|
|
2045
2071
|
cursor: default;
|
|
2046
2072
|
}
|
|
2047
2073
|
|
|
2048
|
-
gap: ${({ theme: theme4 }) => (0,
|
|
2074
|
+
gap: ${({ theme: theme4 }) => (0, import_utils13.px)(theme4.spacing[4])};
|
|
2049
2075
|
${theme((o) => [o.disabled])}
|
|
2050
2076
|
`;
|
|
2051
2077
|
var CheckboxRoot = import_styled_components21.default.div`
|
|
@@ -2097,9 +2123,9 @@ var InputLabel = import_styled_components21.default.div`
|
|
|
2097
2123
|
|
|
2098
2124
|
// src/components/TagItem/index.tsx
|
|
2099
2125
|
var import_react24 = __toESM(require("react"));
|
|
2100
|
-
var
|
|
2126
|
+
var import_utils14 = require("@react-aria/utils");
|
|
2101
2127
|
var import_styled_components22 = __toESM(require("styled-components"));
|
|
2102
|
-
var
|
|
2128
|
+
var import_utils15 = require("@charcoal-ui/utils");
|
|
2103
2129
|
var import_button2 = require("@react-aria/button");
|
|
2104
2130
|
var sizeMap = {
|
|
2105
2131
|
S: 32,
|
|
@@ -2117,7 +2143,7 @@ var TagItem = (0, import_react24.forwardRef)(
|
|
|
2117
2143
|
className,
|
|
2118
2144
|
...props
|
|
2119
2145
|
}, _ref) {
|
|
2120
|
-
const ref = (0,
|
|
2146
|
+
const ref = (0, import_utils14.useObjectRef)(_ref);
|
|
2121
2147
|
const ariaButtonProps = (0, import_react24.useMemo)(
|
|
2122
2148
|
() => ({
|
|
2123
2149
|
elementType: "a",
|
|
@@ -2163,7 +2189,7 @@ var TagItemRoot = import_styled_components22.default.a`
|
|
|
2163
2189
|
...status === "active" ? [o.padding.left(16), o.padding.right(8)] : []
|
|
2164
2190
|
])}
|
|
2165
2191
|
|
|
2166
|
-
${
|
|
2192
|
+
${import_utils15.disabledSelector} {
|
|
2167
2193
|
${theme((o) => [o.disabled])}
|
|
2168
2194
|
cursor: default;
|
|
2169
2195
|
}
|
|
@@ -2197,7 +2223,7 @@ var Background = import_styled_components22.default.div`
|
|
|
2197
2223
|
`;
|
|
2198
2224
|
var Inner = import_styled_components22.default.div`
|
|
2199
2225
|
display: inline-flex;
|
|
2200
|
-
gap: ${({ theme: theme4 }) => (0,
|
|
2226
|
+
gap: ${({ theme: theme4 }) => (0, import_utils15.px)(theme4.spacing[8])};
|
|
2201
2227
|
align-items: center;
|
|
2202
2228
|
z-index: 2;
|
|
2203
2229
|
`;
|