@charcoal-ui/react 3.3.0 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/_lib/useForwardedRef.d.ts +3 -0
  2. package/dist/_lib/useForwardedRef.d.ts.map +1 -0
  3. package/dist/components/Clickable/index.d.ts.map +1 -1
  4. package/dist/components/DropdownSelector/DropdownPopover.d.ts.map +1 -1
  5. package/dist/components/DropdownSelector/Popover/index.d.ts.map +1 -1
  6. package/dist/components/DropdownSelector/Popover/usePreventScroll.d.ts +2 -0
  7. package/dist/components/DropdownSelector/Popover/usePreventScroll.d.ts.map +1 -0
  8. package/dist/components/DropdownSelector/index.story.d.ts +1 -0
  9. package/dist/components/DropdownSelector/index.story.d.ts.map +1 -1
  10. package/dist/components/Icon/index.story.d.ts +1 -1
  11. package/dist/components/Modal/Dialog/index.d.ts +26 -0
  12. package/dist/components/Modal/Dialog/index.d.ts.map +1 -0
  13. package/dist/components/Modal/ModalBackgroundContext.d.ts +6 -0
  14. package/dist/components/Modal/ModalBackgroundContext.d.ts.map +1 -0
  15. package/dist/components/Modal/ModalPlumbing.d.ts.map +1 -1
  16. package/dist/components/Modal/__stories__/InternalScrollStory.d.ts +4 -0
  17. package/dist/components/Modal/__stories__/InternalScrollStory.d.ts.map +1 -0
  18. package/dist/components/Modal/index.d.ts +12 -2
  19. package/dist/components/Modal/index.d.ts.map +1 -1
  20. package/dist/components/Modal/index.story.d.ts +3 -2
  21. package/dist/components/Modal/index.story.d.ts.map +1 -1
  22. package/dist/components/TextArea/index.d.ts.map +1 -1
  23. package/dist/components/TextField/index.d.ts +4 -0
  24. package/dist/components/TextField/index.d.ts.map +1 -1
  25. package/dist/components/TextField/useFocusWithClick.d.ts +3 -0
  26. package/dist/components/TextField/useFocusWithClick.d.ts.map +1 -0
  27. package/dist/index.cjs.js +532 -426
  28. package/dist/index.cjs.js.map +1 -1
  29. package/dist/index.esm.js +482 -377
  30. package/dist/index.esm.js.map +1 -1
  31. package/package.json +6 -6
  32. package/src/_lib/useForwardedRef.tsx +16 -0
  33. package/src/components/Button/__snapshots__/index.story.storyshot +1971 -0
  34. package/src/components/Checkbox/__snapshots__/index.story.storyshot +390 -0
  35. package/src/components/Clickable/__snapshots__/index.story.storyshot +100 -0
  36. package/src/components/Clickable/index.tsx +17 -35
  37. package/src/components/DropdownSelector/DropdownPopover.tsx +0 -1
  38. package/src/components/DropdownSelector/ListItem/__snapshots__/index.story.storyshot +245 -0
  39. package/src/components/DropdownSelector/MenuList/__snapshots__/index.story.storyshot +555 -0
  40. package/src/components/DropdownSelector/Popover/__snapshots__/index.story.storyshot +174 -0
  41. package/src/components/DropdownSelector/Popover/index.tsx +17 -2
  42. package/src/components/DropdownSelector/Popover/usePreventScroll.tsx +18 -0
  43. package/src/components/DropdownSelector/__snapshots__/index.story.storyshot +1241 -0
  44. package/src/components/DropdownSelector/index.story.tsx +69 -13
  45. package/src/components/Icon/__snapshots__/index.story.storyshot +12 -0
  46. package/src/components/{Button/__snapshots__/index.test.tsx.snap → IconButton/__snapshots__/index.story.storyshot} +94 -91
  47. package/src/components/LoadingSpinner/__snapshots__/index.story.storyshot +81 -0
  48. package/src/components/Modal/Dialog/index.tsx +82 -0
  49. package/src/components/Modal/ModalBackgroundContext.tsx +8 -0
  50. package/src/components/Modal/ModalPlumbing.tsx +16 -4
  51. package/src/components/Modal/__snapshots__/index.story.storyshot +533 -0
  52. package/src/components/Modal/__stories__/InternalScrollStory.tsx +75 -0
  53. package/src/components/Modal/index.story.tsx +57 -38
  54. package/src/components/Modal/index.tsx +63 -94
  55. package/src/components/MultiSelect/__snapshots__/index.story.storyshot +511 -0
  56. package/src/components/Radio/__snapshots__/index.story.storyshot +319 -0
  57. package/src/components/SegmentedControl/__snapshots__/index.story.storyshot +483 -0
  58. package/src/components/Switch/__snapshots__/index.story.storyshot +454 -0
  59. package/src/components/TagItem/__snapshots__/index.story.storyshot +1181 -0
  60. package/src/components/TextArea/__snapshots__/TextArea.story.storyshot +1114 -0
  61. package/src/components/TextArea/index.tsx +38 -43
  62. package/src/components/TextField/TextField.story.tsx +2 -3
  63. package/src/components/TextField/__snapshots__/TextField.story.storyshot +1603 -0
  64. package/src/components/TextField/index.tsx +86 -84
  65. package/src/components/TextField/useFocusWithClick.tsx +22 -0
  66. package/dist/components/Button/index.test.d.ts +0 -4
  67. package/dist/components/Button/index.test.d.ts.map +0 -1
  68. package/src/components/Button/index.test.tsx +0 -24
package/dist/index.cjs.js CHANGED
@@ -147,33 +147,33 @@ var import_jsx_runtime3 = require("react/jsx-runtime");
147
147
  var Clickable = React2.forwardRef(
148
148
  function Clickable2(props, ref) {
149
149
  const { Link } = useComponentAbstraction();
150
- if ("to" in props) {
151
- const { onClick, disabled = false, ...rest } = props;
152
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
153
- A,
154
- {
155
- ...rest,
156
- as: disabled ? void 0 : Link,
157
- onClick: disabled ? void 0 : onClick,
158
- "aria-disabled": disabled,
159
- ref
160
- }
161
- );
162
- } else {
163
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Button, { ...props, ref });
150
+ const isLink = "to" in props;
151
+ const as = isLink ? Link : "button";
152
+ const ariaDisabled = isLink && props.disabled === true ? true : void 0;
153
+ let rest = props;
154
+ if (isLink) {
155
+ const { disabled, ..._rest } = props;
156
+ rest = _rest;
164
157
  }
158
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
159
+ StyledClickableDiv,
160
+ {
161
+ ...rest,
162
+ ref,
163
+ as,
164
+ "aria-disabled": ariaDisabled
165
+ }
166
+ );
165
167
  }
166
168
  );
167
169
  var Clickable_default = Clickable;
168
- var clickableCss = import_styled_components3.css`
169
- /* Clickable style */
170
+ var StyledClickableDiv = import_styled_components3.default.div`
170
171
  cursor: pointer;
171
172
 
172
173
  ${import_utils.disabledSelector} {
173
174
  cursor: default;
174
175
  }
175
- `;
176
- var Button = import_styled_components3.default.button`
176
+
177
177
  /* Reset button appearance */
178
178
  appearance: none;
179
179
  background: transparent;
@@ -206,27 +206,11 @@ var Button = import_styled_components3.default.button`
206
206
  border-style: none;
207
207
  padding: 0;
208
208
  }
209
-
210
- ${clickableCss}
211
- `;
212
- var A = import_styled_components3.default.span`
213
- /* Reset a-tag appearance */
214
- color: inherit;
215
-
216
- &:focus {
217
- outline: none;
218
- }
219
-
220
- .text {
221
- top: calc(1em + 2em);
222
- }
223
-
224
- ${clickableCss}
225
209
  `;
226
210
 
227
211
  // src/components/Button/index.tsx
228
212
  var import_jsx_runtime4 = require("react/jsx-runtime");
229
- var Button2 = (0, import_react2.forwardRef)(function Button3({
213
+ var Button = (0, import_react2.forwardRef)(function Button2({
230
214
  children,
231
215
  variant = "Default",
232
216
  size = "M",
@@ -247,7 +231,7 @@ var Button2 = (0, import_react2.forwardRef)(function Button3({
247
231
  }
248
232
  );
249
233
  });
250
- var Button_default = Button2;
234
+ var Button_default = Button;
251
235
  var StyledButton = (0, import_styled_components4.default)(Clickable_default)`
252
236
  width: ${(p) => p.$fullWidth ? "stretch" : "min-content"};
253
237
  display: inline-grid;
@@ -865,7 +849,7 @@ var SwitchInput = import_styled_components8.default.input.attrs({
865
849
  // src/components/TextField/index.tsx
866
850
  var import_textfield = require("@react-aria/textfield");
867
851
  var import_visually_hidden = require("@react-aria/visually-hidden");
868
- var import_react8 = require("react");
852
+ var import_react9 = require("react");
869
853
  var React5 = __toESM(require("react"));
870
854
  var import_styled_components10 = __toESM(require("styled-components"));
871
855
 
@@ -919,10 +903,29 @@ var FieldLabelWrapper = import_styled_components9.default.div`
919
903
  }
920
904
  `;
921
905
 
906
+ // src/components/TextField/useFocusWithClick.tsx
907
+ var import_react8 = require("react");
908
+ function useFocusWithClick(containerRef, inputRef) {
909
+ (0, import_react8.useEffect)(() => {
910
+ const el = containerRef.current;
911
+ if (el) {
912
+ const handleDown = (e) => {
913
+ if (e.target !== inputRef.current) {
914
+ inputRef.current?.focus();
915
+ }
916
+ };
917
+ el.addEventListener("click", handleDown);
918
+ return () => {
919
+ el.removeEventListener("click", handleDown);
920
+ };
921
+ }
922
+ });
923
+ }
924
+
922
925
  // src/components/TextField/index.tsx
923
926
  var import_jsx_runtime10 = require("react/jsx-runtime");
924
927
  var TextField = React5.forwardRef(
925
- function SingleLineTextFieldInner({ onChange, ...props }, forwardRef17) {
928
+ function SingleLineTextFieldInner({ onChange, ...props }, forwardRef18) {
926
929
  const {
927
930
  className,
928
931
  showLabel = false,
@@ -939,16 +942,12 @@ var TextField = React5.forwardRef(
939
942
  suffix = null
940
943
  } = props;
941
944
  const { visuallyHiddenProps } = (0, import_visually_hidden.useVisuallyHidden)();
942
- const ariaRef = (0, import_react8.useRef)(null);
943
- const prefixRef = (0, import_react8.useRef)(null);
944
- const suffixRef = (0, import_react8.useRef)(null);
945
- const [count, setCount] = (0, import_react8.useState)(
945
+ const ariaRef = (0, import_react9.useRef)(null);
946
+ const [count, setCount] = (0, import_react9.useState)(
946
947
  countCodePointsInString(props.value ?? "")
947
948
  );
948
- const [prefixWidth, setPrefixWidth] = (0, import_react8.useState)(0);
949
- const [suffixWidth, setSuffixWidth] = (0, import_react8.useState)(0);
950
949
  const nonControlled = props.value === void 0;
951
- const handleChange = (0, import_react8.useCallback)(
950
+ const handleChange = (0, import_react9.useCallback)(
952
951
  (value) => {
953
952
  const count2 = countCodePointsInString(value);
954
953
  if (maxLength !== void 0 && count2 > maxLength) {
@@ -961,7 +960,7 @@ var TextField = React5.forwardRef(
961
960
  },
962
961
  [maxLength, nonControlled, onChange]
963
962
  );
964
- (0, import_react8.useEffect)(() => {
963
+ (0, import_react9.useEffect)(() => {
965
964
  setCount(countCodePointsInString(props.value ?? ""));
966
965
  }, [props.value]);
967
966
  const { inputProps, labelProps, descriptionProps, errorMessageProps } = (0, import_textfield.useTextField)(
@@ -977,24 +976,8 @@ var TextField = React5.forwardRef(
977
976
  },
978
977
  ariaRef
979
978
  );
980
- (0, import_react8.useEffect)(() => {
981
- const prefixObserver = new ResizeObserver((entries) => {
982
- setPrefixWidth(entries[0].contentRect.width);
983
- });
984
- const suffixObserver = new ResizeObserver((entries) => {
985
- setSuffixWidth(entries[0].contentRect.width);
986
- });
987
- if (prefixRef.current !== null) {
988
- prefixObserver.observe(prefixRef.current);
989
- }
990
- if (suffixRef.current !== null) {
991
- suffixObserver.observe(suffixRef.current);
992
- }
993
- return () => {
994
- suffixObserver.disconnect();
995
- prefixObserver.disconnect();
996
- };
997
- }, []);
979
+ const containerRef = (0, import_react9.useRef)(null);
980
+ useFocusWithClick(containerRef, ariaRef);
998
981
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(TextFieldRoot, { className, isDisabled: disabled, children: [
999
982
  /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1000
983
  TextFieldLabel,
@@ -1007,23 +990,31 @@ var TextField = React5.forwardRef(
1007
990
  ...!showLabel ? visuallyHiddenProps : {}
1008
991
  }
1009
992
  ),
1010
- /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(StyledInputContainer, { children: [
1011
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(PrefixContainer, { ref: prefixRef, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Affix, { children: prefix }) }),
1012
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1013
- StyledInput,
1014
- {
1015
- ref: mergeRefs(forwardRef17, ariaRef),
1016
- invalid,
1017
- extraLeftPadding: prefixWidth,
1018
- extraRightPadding: suffixWidth,
1019
- ...inputProps
1020
- }
1021
- ),
1022
- /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(SuffixContainer, { ref: suffixRef, children: [
1023
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Affix, { children: suffix }),
1024
- showCount && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(SingleLineCounter, { children: maxLength !== void 0 ? `${count}/${maxLength}` : count })
1025
- ] })
1026
- ] }),
993
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
994
+ StyledInputContainer,
995
+ {
996
+ ref: containerRef,
997
+ invalid,
998
+ "aria-disabled": disabled === true ? true : void 0,
999
+ hasPrefix: prefix != null,
1000
+ hasSuffix: suffix != null || showCount,
1001
+ children: [
1002
+ prefix && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(PrefixContainer, { children: prefix }),
1003
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1004
+ StyledInput,
1005
+ {
1006
+ ref: mergeRefs(forwardRef18, ariaRef),
1007
+ invalid,
1008
+ ...inputProps
1009
+ }
1010
+ ),
1011
+ (suffix || showCount) && /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(SuffixContainer, { children: [
1012
+ suffix,
1013
+ showCount && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(SingleLineCounter, { children: maxLength !== void 0 ? `${count}/${maxLength}` : count })
1014
+ ] })
1015
+ ]
1016
+ }
1017
+ ),
1027
1018
  assistiveText != null && assistiveText.length !== 0 && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
1028
1019
  AssistiveText,
1029
1020
  {
@@ -1043,34 +1034,53 @@ var TextFieldRoot = import_styled_components10.default.div`
1043
1034
  ${(p) => p.isDisabled && { opacity: p.theme.elementEffect.disabled.opacity }}
1044
1035
  `;
1045
1036
  var TextFieldLabel = (0, import_styled_components10.default)(FieldLabel_default)`
1046
- ${theme((o) => o.margin.bottom(8))}
1037
+ margin-bottom: 8px;
1047
1038
  `;
1048
1039
  var StyledInputContainer = import_styled_components10.default.div`
1049
- height: 40px;
1050
1040
  display: grid;
1051
- position: relative;
1041
+ grid-template-columns: ${(p) => [p.hasPrefix && "auto", "1fr", p.hasSuffix && "auto"].filter(Boolean).join(" ")};
1042
+ height: 40px;
1043
+ transition: 0.2s background-color, 0.2s box-shadow;
1044
+ color: var(--charcoal-text2);
1045
+ background-color: var(--charcoal-surface3);
1046
+ border-radius: 4px;
1047
+ gap: 4px;
1048
+ padding: 0 8px;
1049
+ line-height: 22px;
1050
+ font-size: 14px;
1051
+
1052
+ :not(:disabled):not([aria-disabled]):hover,
1053
+ [aria-disabled='false']:hover {
1054
+ background-color: var(--charcoal-surface3-hover);
1055
+ }
1056
+
1057
+ :not(:disabled):not([aria-disabled]):active,
1058
+ [aria-disabled='false']:active {
1059
+ outline: none;
1060
+ box-shadow: 0 0 0 4px
1061
+ ${(p) => p.invalid ? `rgba(255,43,0,0.32)` : `rgba(0, 150, 250, 0.32);`};
1062
+ }
1063
+
1064
+ :focus-within {
1065
+ outline: none;
1066
+ box-shadow: 0 0 0 4px
1067
+ ${(p) => p.invalid ? `rgba(255,43,0,0.32)` : `rgba(0, 150, 250, 0.32);`};
1068
+ }
1069
+
1070
+ ${(p) => p.invalid && import_styled_components10.css`
1071
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1072
+ `}
1052
1073
  `;
1053
- var PrefixContainer = import_styled_components10.default.span`
1054
- position: absolute;
1055
- top: 50%;
1056
- left: 8px;
1057
- transform: translateY(-50%);
1058
- z-index: 1;
1074
+ var PrefixContainer = import_styled_components10.default.div`
1075
+ display: flex;
1076
+ padding-left: 8px;
1077
+ align-items: center;
1059
1078
  `;
1060
1079
  var SuffixContainer = import_styled_components10.default.span`
1061
- position: absolute;
1062
- top: 50%;
1063
- right: 8px;
1064
- transform: translateY(-50%);
1065
-
1066
1080
  display: flex;
1081
+ align-items: center;
1067
1082
  gap: 8px;
1068
1083
  `;
1069
- var Affix = import_styled_components10.default.span`
1070
- user-select: none;
1071
-
1072
- ${theme((o) => [o.typography(14).preserveHalfLeading, o.font.text2])}
1073
- `;
1074
1084
  var StyledInput = import_styled_components10.default.input`
1075
1085
  border: none;
1076
1086
  box-sizing: border-box;
@@ -1084,44 +1094,40 @@ var StyledInput = import_styled_components10.default.input`
1084
1094
  height: calc(100% / 0.875);
1085
1095
  font-size: calc(14px / 0.875);
1086
1096
  line-height: calc(22px / 0.875);
1087
- padding-left: calc((8px + ${(p) => p.extraLeftPadding}px) / 0.875);
1088
- padding-right: calc((8px + ${(p) => p.extraRightPadding}px) / 0.875);
1097
+ padding-left: 0;
1098
+ padding-right: 0;
1089
1099
  border-radius: calc(4px / 0.875);
1090
1100
 
1091
1101
  /* Display box-shadow for iOS Safari */
1092
1102
  appearance: none;
1103
+ background: transparent;
1093
1104
 
1094
- ${(p) => theme((o) => [
1095
- o.bg.surface3.hover,
1096
- o.outline.default.focus,
1097
- p.invalid && o.outline.assertive,
1098
- o.font.text2
1099
- ])}
1100
-
1105
+ color: var(--charcoal-text2);
1101
1106
  &::placeholder {
1102
- ${theme((o) => o.font.text3)}
1107
+ color: var(--charcoal-text3);
1103
1108
  }
1104
1109
  `;
1105
1110
  var SingleLineCounter = import_styled_components10.default.span`
1106
- ${theme((o) => [o.typography(14).preserveHalfLeading, o.font.text3])}
1111
+ line-height: 22px;
1112
+ font-size: 14px;
1113
+ color: var(--charcoal-text3);
1107
1114
  `;
1108
1115
  var AssistiveText = import_styled_components10.default.p`
1109
- ${(p) => theme((o) => [
1110
- o.typography(14),
1111
- o.margin.top(8),
1112
- o.margin.bottom(0),
1113
- o.font[p.invalid ? "assertive" : "text1"]
1114
- ])}
1116
+ font-size: 14px;
1117
+ line-height: 22px;
1118
+ margin-top: 4px;
1119
+ margin-bottom: -4px;
1120
+ color: ${(p) => `var(--charcoal-${p.invalid ? `assertive` : `text2`})`};
1115
1121
  `;
1116
1122
 
1117
1123
  // src/components/TextArea/index.tsx
1118
1124
  var import_textfield2 = require("@react-aria/textfield");
1119
1125
  var import_visually_hidden2 = require("@react-aria/visually-hidden");
1120
- var import_react9 = require("react");
1126
+ var import_react10 = require("react");
1121
1127
  var import_styled_components11 = __toESM(require("styled-components"));
1122
1128
  var import_jsx_runtime11 = require("react/jsx-runtime");
1123
- var TextArea = (0, import_react9.forwardRef)(
1124
- function TextAreaInner({ onChange, ...props }, forwardRef17) {
1129
+ var TextArea = (0, import_react10.forwardRef)(
1130
+ function TextAreaInner({ onChange, ...props }, forwardRef18) {
1125
1131
  const {
1126
1132
  className,
1127
1133
  showCount = false,
@@ -1138,13 +1144,13 @@ var TextArea = (0, import_react9.forwardRef)(
1138
1144
  rows: initialRows = 4
1139
1145
  } = props;
1140
1146
  const { visuallyHiddenProps } = (0, import_visually_hidden2.useVisuallyHidden)();
1141
- const textareaRef = (0, import_react9.useRef)(null);
1142
- const ariaRef = (0, import_react9.useRef)(null);
1143
- const [count, setCount] = (0, import_react9.useState)(
1147
+ const textareaRef = (0, import_react10.useRef)(null);
1148
+ const ariaRef = (0, import_react10.useRef)(null);
1149
+ const [count, setCount] = (0, import_react10.useState)(
1144
1150
  countCodePointsInString(props.value ?? "")
1145
1151
  );
1146
- const [rows, setRows] = (0, import_react9.useState)(initialRows);
1147
- const syncHeight = (0, import_react9.useCallback)(
1152
+ const [rows, setRows] = (0, import_react10.useState)(initialRows);
1153
+ const syncHeight = (0, import_react10.useCallback)(
1148
1154
  (textarea) => {
1149
1155
  const rows2 = (`${textarea.value}
1150
1156
  `.match(/\n/gu)?.length ?? 0) || 1;
@@ -1153,7 +1159,7 @@ var TextArea = (0, import_react9.forwardRef)(
1153
1159
  [initialRows]
1154
1160
  );
1155
1161
  const nonControlled = props.value === void 0;
1156
- const handleChange = (0, import_react9.useCallback)(
1162
+ const handleChange = (0, import_react10.useCallback)(
1157
1163
  (value) => {
1158
1164
  const count2 = countCodePointsInString(value);
1159
1165
  if (maxLength !== void 0 && count2 > maxLength) {
@@ -1169,7 +1175,7 @@ var TextArea = (0, import_react9.forwardRef)(
1169
1175
  },
1170
1176
  [autoHeight, maxLength, nonControlled, onChange, syncHeight]
1171
1177
  );
1172
- (0, import_react9.useEffect)(() => {
1178
+ (0, import_react10.useEffect)(() => {
1173
1179
  setCount(countCodePointsInString(props.value ?? ""));
1174
1180
  }, [props.value]);
1175
1181
  const { inputProps, labelProps, descriptionProps, errorMessageProps } = (0, import_textfield2.useTextField)(
@@ -1185,14 +1191,16 @@ var TextArea = (0, import_react9.forwardRef)(
1185
1191
  },
1186
1192
  ariaRef
1187
1193
  );
1188
- (0, import_react9.useEffect)(() => {
1194
+ (0, import_react10.useEffect)(() => {
1189
1195
  if (autoHeight && textareaRef.current !== null) {
1190
1196
  syncHeight(textareaRef.current);
1191
1197
  }
1192
1198
  }, [autoHeight, syncHeight]);
1199
+ const containerRef = (0, import_react10.useRef)(null);
1200
+ useFocusWithClick(containerRef, ariaRef);
1193
1201
  return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(TextFieldRoot2, { className, isDisabled: disabled, children: [
1194
1202
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1195
- TextFieldLabel2,
1203
+ TextFieldLabel,
1196
1204
  {
1197
1205
  label,
1198
1206
  requiredText,
@@ -1205,13 +1213,15 @@ var TextArea = (0, import_react9.forwardRef)(
1205
1213
  /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
1206
1214
  StyledTextareaContainer,
1207
1215
  {
1216
+ ref: containerRef,
1208
1217
  invalid,
1209
1218
  rows: showCount ? rows + 1 : rows,
1219
+ "aria-disabled": disabled === true ? "true" : void 0,
1210
1220
  children: [
1211
1221
  /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1212
1222
  StyledTextarea,
1213
1223
  {
1214
- ref: mergeRefs(textareaRef, forwardRef17, ariaRef),
1224
+ ref: mergeRefs(textareaRef, forwardRef18, ariaRef),
1215
1225
  rows,
1216
1226
  noBottomPadding: showCount,
1217
1227
  ...inputProps
@@ -1222,7 +1232,7 @@ var TextArea = (0, import_react9.forwardRef)(
1222
1232
  }
1223
1233
  ),
1224
1234
  assistiveText != null && assistiveText.length !== 0 && /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
1225
- AssistiveText2,
1235
+ AssistiveText,
1226
1236
  {
1227
1237
  invalid,
1228
1238
  ...invalid ? errorMessageProps : descriptionProps,
@@ -1239,29 +1249,32 @@ var TextFieldRoot2 = import_styled_components11.default.div`
1239
1249
 
1240
1250
  ${(p) => p.isDisabled && { opacity: p.theme.elementEffect.disabled.opacity }}
1241
1251
  `;
1242
- var TextFieldLabel2 = (0, import_styled_components11.default)(FieldLabel_default)`
1243
- ${theme((o) => o.margin.bottom(8))}
1244
- `;
1245
1252
  var StyledTextareaContainer = import_styled_components11.default.div`
1246
1253
  position: relative;
1247
1254
  overflow: hidden;
1248
- padding: 0 8px;
1249
-
1250
- ${(p) => theme((o) => [
1251
- o.bg.surface3.hover,
1252
- o.outline.default.focus,
1253
- p.invalid && o.outline.assertive,
1254
- o.font.text2,
1255
- o.borderRadius(4)
1256
- ])}
1257
1255
 
1258
- &:focus-within {
1259
- ${(p) => theme((o) => p.invalid ? o.outline.assertive : o.outline.default)}
1260
- }
1256
+ color: var(--charcoal-text2);
1257
+ background-color: var(--charcoal-surface3);
1258
+ border-radius: 4px;
1259
+ transition: 0.2s background-color, 0.2s box-shadow;
1261
1260
 
1262
1261
  ${({ rows }) => import_styled_components11.css`
1263
1262
  height: calc(22px * ${rows} + 18px);
1264
1263
  `};
1264
+
1265
+ :not([aria-disabled]):hover,
1266
+ [aria-disabled='false']:hover {
1267
+ background-color: var(--charcoal-surface3-hover);
1268
+ }
1269
+ :focus-within {
1270
+ outline: none;
1271
+ box-shadow: 0 0 0 4px
1272
+ ${(p) => p.invalid ? `rgba(255,43,0,0.32)` : `rgba(0, 150, 250, 0.32);`};
1273
+ }
1274
+
1275
+ ${(p) => p.invalid && import_styled_components11.css`
1276
+ box-shadow: 0 0 0 4px rgba(255, 43, 0, 0.32);
1277
+ `}
1265
1278
  `;
1266
1279
  var StyledTextarea = import_styled_components11.default.textarea`
1267
1280
  border: none;
@@ -1269,6 +1282,7 @@ var StyledTextarea = import_styled_components11.default.textarea`
1269
1282
  resize: none;
1270
1283
  font-family: inherit;
1271
1284
  color: inherit;
1285
+ box-sizing: border-box;
1272
1286
 
1273
1287
  /* Prevent zooming for iOS Safari */
1274
1288
  transform-origin: top left;
@@ -1276,10 +1290,11 @@ var StyledTextarea = import_styled_components11.default.textarea`
1276
1290
  width: calc(100% / 0.875);
1277
1291
  font-size: calc(14px / 0.875);
1278
1292
  line-height: calc(22px / 0.875);
1279
- padding: calc(9px / 0.875) 0 ${(p) => p.noBottomPadding ? 0 : ""};
1293
+ padding: calc(9px / 0.875) calc(8px / 0.875)
1294
+ ${(p) => p.noBottomPadding ? 0 : ""};
1280
1295
 
1281
- ${({ rows = 1 }) => import_styled_components11.css`
1282
- height: calc(22px / 0.875 * ${rows});
1296
+ ${({ rows = 1, noBottomPadding }) => import_styled_components11.css`
1297
+ height: calc(22px / 0.875 * ${rows} + ${noBottomPadding ? 9 : 20}px);
1283
1298
  `};
1284
1299
 
1285
1300
  /* Display box-shadow for iOS Safari */
@@ -1288,31 +1303,17 @@ var StyledTextarea = import_styled_components11.default.textarea`
1288
1303
  background: none;
1289
1304
 
1290
1305
  &::placeholder {
1291
- ${theme((o) => o.font.text3)}
1306
+ color: var(--charcoal-text3);
1292
1307
  }
1293
-
1294
- /* Hide scrollbar for Chrome, Safari and Opera */
1295
- &::-webkit-scrollbar {
1296
- display: none;
1297
- }
1298
- /* Hide scrollbar for IE, Edge and Firefox */
1299
- -ms-overflow-style: none; /* IE and Edge */
1300
- scrollbar-width: none; /* Firefox */
1301
1308
  `;
1302
1309
  var MultiLineCounter = import_styled_components11.default.span`
1303
1310
  position: absolute;
1304
1311
  bottom: 9px;
1305
1312
  right: 8px;
1306
1313
 
1307
- ${theme((o) => [o.typography(14).preserveHalfLeading, o.font.text3])}
1308
- `;
1309
- var AssistiveText2 = import_styled_components11.default.p`
1310
- ${(p) => theme((o) => [
1311
- o.typography(14),
1312
- o.margin.top(8),
1313
- o.margin.bottom(0),
1314
- o.font[p.invalid ? "assertive" : "text1"]
1315
- ])}
1314
+ line-height: 22px;
1315
+ font-size: 14px;
1316
+ color: var(--charcoal-text3);
1316
1317
  `;
1317
1318
 
1318
1319
  // src/components/Icon/index.tsx
@@ -1335,11 +1336,18 @@ var Icon = React6.forwardRef(function IconInner({ name, scale, unsafeNonGuidelin
1335
1336
  var Icon_default = Icon;
1336
1337
 
1337
1338
  // src/components/Modal/index.tsx
1338
- var import_react10 = require("react");
1339
- var React7 = __toESM(require("react"));
1339
+ var import_react12 = require("react");
1340
+ var React9 = __toESM(require("react"));
1340
1341
  var import_overlays2 = require("@react-aria/overlays");
1342
+ var import_styled_components13 = __toESM(require("styled-components"));
1343
+ var import_utils7 = require("@charcoal-ui/utils");
1344
+ var import_styled10 = require("@charcoal-ui/styled");
1345
+ var import_react_spring2 = require("react-spring");
1346
+ var import_utils8 = require("@react-aria/utils");
1347
+
1348
+ // src/components/Modal/Dialog/index.tsx
1349
+ var import_react11 = require("react");
1341
1350
  var import_styled_components12 = __toESM(require("styled-components"));
1342
- var import_focus = require("@react-aria/focus");
1343
1351
  var import_dialog = require("@react-aria/dialog");
1344
1352
 
1345
1353
  // ../foundation/src/grid.ts
@@ -1349,14 +1357,100 @@ function columnSystem(span, column, gutter) {
1349
1357
  return span * column + (span - 1) * gutter;
1350
1358
  }
1351
1359
 
1352
- // src/components/Modal/index.tsx
1360
+ // src/components/Modal/Dialog/index.tsx
1353
1361
  var import_utils6 = require("@charcoal-ui/utils");
1354
- var import_styled12 = require("@charcoal-ui/styled");
1355
1362
  var import_react_spring = require("react-spring");
1356
- var import_utils7 = require("@react-aria/utils");
1363
+
1364
+ // src/_lib/useForwardedRef.tsx
1365
+ var React7 = __toESM(require("react"));
1366
+ function useForwardedRef(ref) {
1367
+ const innerRef = React7.useRef(null);
1368
+ React7.useEffect(() => {
1369
+ if (!ref)
1370
+ return;
1371
+ if (typeof ref === "function") {
1372
+ ref(innerRef.current);
1373
+ } else {
1374
+ ref.current = innerRef.current;
1375
+ }
1376
+ });
1377
+ return innerRef;
1378
+ }
1379
+
1380
+ // src/components/Modal/Dialog/index.tsx
1357
1381
  var import_jsx_runtime13 = require("react/jsx-runtime");
1382
+ var Dialog = (0, import_react11.forwardRef)(function Dialog2(props, forwardRef18) {
1383
+ const ref = useForwardedRef(forwardRef18);
1384
+ const { dialogProps } = (0, import_dialog.useDialog)(
1385
+ {
1386
+ role: "dialog"
1387
+ },
1388
+ ref
1389
+ );
1390
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1391
+ AnimatedStyledDialogDiv,
1392
+ {
1393
+ ...props,
1394
+ role: dialogProps.role,
1395
+ tabIndex: dialogProps.tabIndex,
1396
+ "aria-labelledby": dialogProps["aria-labelledby"],
1397
+ onBlur: dialogProps.onBlur,
1398
+ ref
1399
+ }
1400
+ );
1401
+ });
1402
+ var AnimatedStyledDialogDiv = (0, import_react_spring.animated)(import_styled_components12.default.div`
1403
+ margin: auto;
1404
+ position: relative;
1405
+ height: fit-content;
1406
+ width: ${(p) => {
1407
+ switch (p.size) {
1408
+ case "S": {
1409
+ return columnSystem(3, COLUMN_UNIT, GUTTER_UNIT) + GUTTER_UNIT * 2;
1410
+ }
1411
+ case "M": {
1412
+ return columnSystem(4, COLUMN_UNIT, GUTTER_UNIT) + GUTTER_UNIT * 2;
1413
+ }
1414
+ case "L": {
1415
+ return columnSystem(6, COLUMN_UNIT, GUTTER_UNIT) + GUTTER_UNIT * 2;
1416
+ }
1417
+ default: {
1418
+ return unreachable(p.size);
1419
+ }
1420
+ }
1421
+ }}px;
1422
+
1423
+ background-color: ${({ theme: theme3 }) => theme3.color.background1};
1424
+ border-radius: 24px;
1425
+
1426
+ @media ${({ theme: theme3 }) => (0, import_utils6.maxWidth)(theme3.breakpoint.screen1)} {
1427
+ max-width: 440px;
1428
+ width: calc(100% - 48px);
1429
+ ${(p) => p.bottomSheet !== false && import_styled_components12.css`
1430
+ max-width: unset;
1431
+ width: 100%;
1432
+ border-radius: 0;
1433
+ margin: auto 0 0 0;
1434
+ ${p.bottomSheet === "full" && import_styled_components12.css`
1435
+ min-height: 100%;
1436
+ `}
1437
+ `}
1438
+ }
1439
+ :focus {
1440
+ outline: none;
1441
+ }
1442
+ `);
1443
+
1444
+ // src/components/Modal/ModalBackgroundContext.tsx
1445
+ var React8 = __toESM(require("react"));
1446
+ var ModalBackgroundContext = React8.createContext(
1447
+ null
1448
+ );
1449
+
1450
+ // src/components/Modal/index.tsx
1451
+ var import_jsx_runtime14 = require("react/jsx-runtime");
1358
1452
  var DEFAULT_Z_INDEX = 10;
1359
- var Modal = (0, import_react10.forwardRef)(function ModalInner({ children, zIndex = DEFAULT_Z_INDEX, portalContainer, ...props }, external) {
1453
+ var Modal = (0, import_react12.forwardRef)(function ModalInner({ children, zIndex = DEFAULT_Z_INDEX, portalContainer, ...props }, external) {
1360
1454
  const {
1361
1455
  title,
1362
1456
  size = "M",
@@ -1366,9 +1460,8 @@ var Modal = (0, import_react10.forwardRef)(function ModalInner({ children, zInde
1366
1460
  className,
1367
1461
  isOpen = false
1368
1462
  } = props;
1369
- const ref = (0, import_utils7.useObjectRef)(external);
1370
- const { overlayProps, underlayProps } = (0, import_overlays2.useOverlay)(props, ref);
1371
- const { modalProps } = (0, import_overlays2.useModalOverlay)(
1463
+ const ref = (0, import_utils8.useObjectRef)(external);
1464
+ const { modalProps, underlayProps } = (0, import_overlays2.useModalOverlay)(
1372
1465
  props,
1373
1466
  {
1374
1467
  close: onClose,
@@ -1382,51 +1475,62 @@ var Modal = (0, import_react10.forwardRef)(function ModalInner({ children, zInde
1382
1475
  },
1383
1476
  ref
1384
1477
  );
1385
- const { dialogProps, titleProps } = (0, import_dialog.useDialog)(props, ref);
1386
- const theme3 = (0, import_styled_components12.useTheme)();
1387
- const isMobile = (0, import_styled12.useMedia)((0, import_utils6.maxWidth)(theme3.breakpoint.screen1)) ?? false;
1478
+ const theme3 = (0, import_styled_components13.useTheme)();
1479
+ const isMobile = (0, import_styled10.useMedia)((0, import_utils7.maxWidth)(theme3.breakpoint.screen1)) ?? false;
1388
1480
  const transitionEnabled = isMobile && bottomSheet !== false;
1389
- const transition = (0, import_react_spring.useTransition)(isOpen, {
1481
+ const showDismiss = !isMobile || bottomSheet !== true;
1482
+ const transition = (0, import_react_spring2.useTransition)(isOpen, {
1390
1483
  from: {
1391
1484
  transform: "translateY(100%)",
1392
- backgroundColor: "rgba(0, 0, 0, 0)"
1485
+ backgroundColor: "rgba(0, 0, 0, 0)",
1486
+ overflow: "hidden"
1393
1487
  },
1394
1488
  enter: {
1395
1489
  transform: "translateY(0%)",
1396
1490
  backgroundColor: "rgba(0, 0, 0, 0.4)"
1397
1491
  },
1492
+ update: {
1493
+ overflow: "auto"
1494
+ },
1398
1495
  leave: {
1399
1496
  transform: "translateY(100%)",
1400
- backgroundColor: "rgba(0, 0, 0, 0)"
1497
+ backgroundColor: "rgba(0, 0, 0, 0)",
1498
+ overflow: "hidden"
1401
1499
  },
1402
- config: transitionEnabled ? { duration: 400, easing: import_react_spring.easings.easeOutQuart } : { duration: 0 }
1500
+ config: transitionEnabled ? { duration: 400, easing: import_react_spring2.easings.easeOutQuart } : { duration: 0 }
1403
1501
  });
1404
- const showDismiss = !isMobile || bottomSheet !== true;
1502
+ const bgRef = React9.useRef(null);
1405
1503
  return transition(
1406
- ({ backgroundColor, transform }, item) => item && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_overlays2.Overlay, { portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1504
+ ({ backgroundColor, overflow, transform }, item) => item && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_overlays2.Overlay, { portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1407
1505
  ModalBackground,
1408
1506
  {
1507
+ ref: bgRef,
1409
1508
  zIndex,
1410
1509
  ...underlayProps,
1411
- style: transitionEnabled ? { backgroundColor } : {},
1412
- 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)(
1413
- ModalDialog,
1510
+ style: transitionEnabled ? { backgroundColor, overflow } : {},
1511
+ $bottomSheet: bottomSheet,
1512
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ModalBackgroundContext.Provider, { value: bgRef.current, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1513
+ Dialog,
1414
1514
  {
1415
1515
  ref,
1416
- ...overlayProps,
1417
1516
  ...modalProps,
1418
- ...dialogProps,
1419
1517
  style: transitionEnabled ? { transform } : {},
1420
1518
  size,
1421
1519
  bottomSheet,
1422
1520
  className,
1423
- children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
1521
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
1424
1522
  ModalContext.Provider,
1425
1523
  {
1426
- value: { titleProps, title, close: onClose, showDismiss },
1524
+ value: {
1525
+ titleProps: {},
1526
+ title,
1527
+ close: onClose,
1528
+ showDismiss,
1529
+ bottomSheet
1530
+ },
1427
1531
  children: [
1428
1532
  children,
1429
- isDismissable === true && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1533
+ isDismissable === true && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1430
1534
  ModalCrossButton,
1431
1535
  {
1432
1536
  size: "S",
@@ -1438,78 +1542,42 @@ var Modal = (0, import_react10.forwardRef)(function ModalInner({ children, zInde
1438
1542
  }
1439
1543
  )
1440
1544
  }
1441
- ) }) })
1545
+ ) })
1442
1546
  }
1443
1547
  ) })
1444
1548
  );
1445
1549
  });
1446
- var Modal_default = (0, import_react10.memo)(Modal);
1447
- var ModalContext = React7.createContext({
1550
+ var Modal_default = (0, import_react12.memo)(Modal);
1551
+ var ModalContext = React9.createContext({
1448
1552
  titleProps: {},
1449
1553
  title: "",
1450
1554
  close: void 0,
1451
- showDismiss: true
1555
+ showDismiss: true,
1556
+ bottomSheet: false
1452
1557
  });
1453
- var ModalBackground = (0, import_react_spring.animated)(import_styled_components12.default.div`
1558
+ var ModalBackground = (0, import_react_spring2.animated)(import_styled_components13.default.div`
1454
1559
  z-index: ${({ zIndex }) => zIndex};
1455
1560
  overflow: auto;
1456
1561
  display: flex;
1457
1562
  position: fixed;
1458
1563
  top: 0;
1459
1564
  left: 0;
1460
- width: 100%;
1565
+ width: -webkit-fill-available;
1566
+ width: -moz-available;
1461
1567
  height: 100%;
1568
+ justify-content: center;
1569
+ padding: 40px 0;
1570
+ box-sizing: border-box;
1462
1571
 
1463
- ${theme((o) => [o.bg.surface4])}
1464
- `);
1465
- var DialogContainer = import_styled_components12.default.div`
1466
- position: relative;
1467
- margin: auto;
1468
- padding: 24px 0;
1469
- width: ${(p) => {
1470
- switch (p.size) {
1471
- case "S": {
1472
- return columnSystem(3, COLUMN_UNIT, GUTTER_UNIT) + GUTTER_UNIT * 2;
1473
- }
1474
- case "M": {
1475
- return columnSystem(4, COLUMN_UNIT, GUTTER_UNIT) + GUTTER_UNIT * 2;
1476
- }
1477
- case "L": {
1478
- return columnSystem(6, COLUMN_UNIT, GUTTER_UNIT) + GUTTER_UNIT * 2;
1479
- }
1480
- default: {
1481
- return unreachable(p.size);
1482
- }
1483
- }
1484
- }}px;
1572
+ background-color: ${({ theme: theme3 }) => theme3.color.surface4};
1485
1573
 
1486
- @media ${({ theme: theme3 }) => (0, import_utils6.maxWidth)(theme3.breakpoint.screen1)} {
1487
- width: calc(100% - 48px);
1488
- ${(p) => p.bottomSheet !== false && import_styled_components12.css`
1489
- margin: 0;
1574
+ @media ${({ theme: theme3 }) => (0, import_utils7.maxWidth)(theme3.breakpoint.screen1)} {
1575
+ ${(p) => p.$bottomSheet !== false && import_styled_components13.css`
1490
1576
  padding: 0;
1491
- bottom: 0;
1492
- position: absolute;
1493
- width: 100%;
1494
- ${p.bottomSheet === "full" ? "height: 100%" : ""};
1495
- `}
1496
- }
1497
- `;
1498
- var ModalDialog = (0, import_react_spring.animated)(import_styled_components12.default.div`
1499
- position: relative;
1500
- margin: auto;
1501
-
1502
- ${theme((o) => [o.bg.background1, o.borderRadius(24)])}
1503
- @media ${({ theme: theme3 }) => (0, import_utils6.maxWidth)(theme3.breakpoint.screen1)} {
1504
- ${(p) => p.bottomSheet !== false && import_styled_components12.css`
1505
- border-radius: 0;
1506
- ${p.bottomSheet === "full" && import_styled_components12.css`
1507
- height: 100%;
1508
- `}
1509
1577
  `}
1510
1578
  }
1511
1579
  `);
1512
- var ModalCrossButton = (0, import_styled_components12.default)(IconButton_default)`
1580
+ var ModalCrossButton = (0, import_styled_components13.default)(IconButton_default)`
1513
1581
  position: absolute;
1514
1582
  top: 8px;
1515
1583
  right: 8px;
@@ -1517,37 +1585,45 @@ var ModalCrossButton = (0, import_styled_components12.default)(IconButton_defaul
1517
1585
  ${theme((o) => [o.font.text3.hover.press])}
1518
1586
  `;
1519
1587
  function ModalTitle(props) {
1520
- const { titleProps, title } = (0, import_react10.useContext)(ModalContext);
1521
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ModalHeading, { ...titleProps, ...props, children: title });
1588
+ const { titleProps, title } = (0, import_react12.useContext)(ModalContext);
1589
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ModalHeading, { ...titleProps, ...props, children: title });
1522
1590
  }
1523
- var ModalHeading = import_styled_components12.default.h3`
1591
+ var ModalHeading = import_styled_components13.default.h3`
1524
1592
  margin: 0;
1525
1593
  font-weight: inherit;
1526
1594
  font-size: inherit;
1527
1595
  `;
1528
1596
 
1529
1597
  // src/components/Modal/ModalPlumbing.tsx
1530
- var import_styled_components13 = __toESM(require("styled-components"));
1531
- var import_jsx_runtime14 = require("react/jsx-runtime");
1598
+ var import_styled_components14 = __toESM(require("styled-components"));
1599
+ var import_react13 = require("react");
1600
+ var import_utils9 = require("@charcoal-ui/utils");
1601
+ var import_jsx_runtime15 = require("react/jsx-runtime");
1532
1602
  function ModalHeader() {
1533
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ModalHeaderRoot, { children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(StyledModalTitle, {}) });
1603
+ const modalCtx = (0, import_react13.useContext)(ModalContext);
1604
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(ModalHeaderRoot, { $bottomSheet: modalCtx.bottomSheet, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(StyledModalTitle, {}) });
1534
1605
  }
1535
- var ModalHeaderRoot = import_styled_components13.default.div`
1606
+ var ModalHeaderRoot = import_styled_components14.default.div`
1536
1607
  height: 64px;
1537
1608
  display: grid;
1538
1609
  align-content: center;
1539
1610
  justify-content: center;
1611
+ @media ${({ theme: theme3 }) => (0, import_utils9.maxWidth)(theme3.breakpoint.screen1)} {
1612
+ ${(p) => p.$bottomSheet !== false && import_styled_components14.css`
1613
+ height: 48px;
1614
+ `}
1615
+ }
1540
1616
  `;
1541
- var StyledModalTitle = (0, import_styled_components13.default)(ModalTitle)`
1617
+ var StyledModalTitle = (0, import_styled_components14.default)(ModalTitle)`
1542
1618
  ${theme((o) => [o.font.text1, o.typography(16).bold])}
1543
1619
  `;
1544
- var ModalAlign = import_styled_components13.default.div`
1620
+ var ModalAlign = import_styled_components14.default.div`
1545
1621
  ${theme((o) => [o.padding.horizontal(16)])}
1546
1622
  `;
1547
- var ModalBody = import_styled_components13.default.div`
1623
+ var ModalBody = import_styled_components14.default.div`
1548
1624
  ${theme((o) => [o.padding.bottom(40)])}
1549
1625
  `;
1550
- var ModalButtons = import_styled_components13.default.div`
1626
+ var ModalButtons = import_styled_components14.default.div`
1551
1627
  display: grid;
1552
1628
  grid-auto-flow: row;
1553
1629
  grid-row-gap: 8px;
@@ -1556,12 +1632,12 @@ var ModalButtons = import_styled_components13.default.div`
1556
1632
  `;
1557
1633
 
1558
1634
  // src/components/LoadingSpinner/index.tsx
1559
- var import_react11 = require("react");
1560
- var import_styled_components14 = __toESM(require("styled-components"));
1561
- var import_jsx_runtime15 = require("react/jsx-runtime");
1562
- var LoadingSpinner = (0, import_react11.forwardRef)(
1635
+ var import_react14 = require("react");
1636
+ var import_styled_components15 = __toESM(require("styled-components"));
1637
+ var import_jsx_runtime16 = require("react/jsx-runtime");
1638
+ var LoadingSpinner = (0, import_react14.forwardRef)(
1563
1639
  function LoadingSpinnerInner({ size = 48, padding = 16, transparent = false, className }, ref) {
1564
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1640
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1565
1641
  LoadingSpinnerRoot,
1566
1642
  {
1567
1643
  size,
@@ -1569,13 +1645,13 @@ var LoadingSpinner = (0, import_react11.forwardRef)(
1569
1645
  transparent,
1570
1646
  className,
1571
1647
  ref,
1572
- children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(LoadingSpinnerIcon, {})
1648
+ children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(LoadingSpinnerIcon, {})
1573
1649
  }
1574
1650
  );
1575
1651
  }
1576
1652
  );
1577
- var LoadingSpinner_default = (0, import_react11.memo)(LoadingSpinner);
1578
- var LoadingSpinnerRoot = import_styled_components14.default.div.attrs({ role: "progressbar" })`
1653
+ var LoadingSpinner_default = (0, import_react14.memo)(LoadingSpinner);
1654
+ var LoadingSpinnerRoot = import_styled_components15.default.div.attrs({ role: "progressbar" })`
1579
1655
  box-sizing: content-box;
1580
1656
  margin: auto;
1581
1657
  padding: ${(props) => props.padding}px;
@@ -1589,7 +1665,7 @@ var LoadingSpinnerRoot = import_styled_components14.default.div.attrs({ role: "p
1589
1665
  transparent ? o.bg.transparent : o.bg.background1
1590
1666
  ])}
1591
1667
  `;
1592
- var scaleOut = import_styled_components14.keyframes`
1668
+ var scaleOut = import_styled_components15.keyframes`
1593
1669
  from {
1594
1670
  transform: scale(0);
1595
1671
  opacity: 1;
@@ -1600,7 +1676,7 @@ var scaleOut = import_styled_components14.keyframes`
1600
1676
  opacity: 0;
1601
1677
  }
1602
1678
  `;
1603
- var Icon2 = import_styled_components14.default.div.attrs({ role: "presentation" })`
1679
+ var Icon2 = import_styled_components15.default.div.attrs({ role: "presentation" })`
1604
1680
  width: 1em;
1605
1681
  height: 1em;
1606
1682
  border-radius: 1em;
@@ -1612,10 +1688,10 @@ var Icon2 = import_styled_components14.default.div.attrs({ role: "presentation"
1612
1688
  animation: none;
1613
1689
  }
1614
1690
  `;
1615
- var LoadingSpinnerIcon = (0, import_react11.forwardRef)(
1691
+ var LoadingSpinnerIcon = (0, import_react14.forwardRef)(
1616
1692
  function LoadingSpinnerIcon2({ once = false }, ref) {
1617
- const iconRef = (0, import_react11.useRef)(null);
1618
- (0, import_react11.useImperativeHandle)(ref, () => ({
1693
+ const iconRef = (0, import_react14.useRef)(null);
1694
+ (0, import_react14.useImperativeHandle)(ref, () => ({
1619
1695
  restart: () => {
1620
1696
  if (!iconRef.current) {
1621
1697
  return;
@@ -1625,26 +1701,45 @@ var LoadingSpinnerIcon = (0, import_react11.forwardRef)(
1625
1701
  delete iconRef.current.dataset.resetAnimation;
1626
1702
  }
1627
1703
  }));
1628
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Icon2, { ref: iconRef, once });
1704
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Icon2, { ref: iconRef, once });
1629
1705
  }
1630
1706
  );
1631
1707
 
1632
1708
  // src/components/DropdownSelector/index.tsx
1633
- var import_react16 = require("react");
1634
- var import_styled_components17 = __toESM(require("styled-components"));
1635
- var import_utils8 = require("@charcoal-ui/utils");
1709
+ var import_react20 = require("react");
1710
+ var import_styled_components18 = __toESM(require("styled-components"));
1711
+ var import_utils10 = require("@charcoal-ui/utils");
1636
1712
 
1637
1713
  // src/components/DropdownSelector/DropdownPopover.tsx
1638
- var import_react13 = require("react");
1714
+ var import_react17 = require("react");
1639
1715
 
1640
1716
  // src/components/DropdownSelector/Popover/index.tsx
1641
- var import_react12 = require("react");
1717
+ var import_react16 = require("react");
1642
1718
  var import_overlays3 = require("@react-aria/overlays");
1643
- var import_styled_components15 = __toESM(require("styled-components"));
1644
- var import_jsx_runtime16 = require("react/jsx-runtime");
1719
+ var import_styled_components16 = __toESM(require("styled-components"));
1720
+
1721
+ // src/components/DropdownSelector/Popover/usePreventScroll.tsx
1722
+ var import_react15 = require("react");
1723
+ function usePreventScroll(element, isOpen) {
1724
+ (0, import_react15.useEffect)(() => {
1725
+ if (isOpen && element) {
1726
+ const defaultPaddingRight = element.style.paddingRight;
1727
+ const defaultOverflow = element.style.overflow;
1728
+ element.style.paddingRight = `${window.innerWidth - element.clientWidth}px`;
1729
+ element.style.overflow = "hidden";
1730
+ return () => {
1731
+ element.style.paddingRight = defaultPaddingRight;
1732
+ element.style.overflow = defaultOverflow;
1733
+ };
1734
+ }
1735
+ }, [element, isOpen]);
1736
+ }
1737
+
1738
+ // src/components/DropdownSelector/Popover/index.tsx
1739
+ var import_jsx_runtime17 = require("react/jsx-runtime");
1645
1740
  var _empty = () => null;
1646
1741
  function Popover(props) {
1647
- const defaultPopoverRef = (0, import_react12.useRef)(null);
1742
+ const defaultPopoverRef = (0, import_react16.useRef)(null);
1648
1743
  const finalPopoverRef = props.popoverRef === void 0 ? defaultPopoverRef : props.popoverRef;
1649
1744
  const { popoverProps, underlayProps } = (0, import_overlays3.usePopover)(
1650
1745
  {
@@ -1660,18 +1755,30 @@ function Popover(props) {
1660
1755
  toggle: _empty
1661
1756
  }
1662
1757
  );
1758
+ const modalBackground = (0, import_react16.useContext)(ModalBackgroundContext);
1759
+ usePreventScroll(modalBackground, props.isOpen);
1663
1760
  if (!props.isOpen)
1664
1761
  return null;
1665
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_overlays3.Overlay, { portalContainer: document.body, children: [
1666
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { ...underlayProps, style: { position: "fixed", inset: 0 } }),
1667
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(DropdownPopoverDiv, { ...popoverProps, ref: finalPopoverRef, children: [
1668
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_overlays3.DismissButton, { onDismiss: () => props.onClose() }),
1762
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_overlays3.Overlay, { portalContainer: document.body, children: [
1763
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1764
+ "div",
1765
+ {
1766
+ ...underlayProps,
1767
+ style: {
1768
+ position: "fixed",
1769
+ zIndex: typeof popoverProps.style?.zIndex === "number" ? popoverProps.style.zIndex - 1 : 99999,
1770
+ inset: 0
1771
+ }
1772
+ }
1773
+ ),
1774
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(DropdownPopoverDiv, { ...popoverProps, ref: finalPopoverRef, children: [
1775
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_overlays3.DismissButton, { onDismiss: () => props.onClose() }),
1669
1776
  props.children,
1670
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_overlays3.DismissButton, { onDismiss: () => props.onClose() })
1777
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_overlays3.DismissButton, { onDismiss: () => props.onClose() })
1671
1778
  ] })
1672
1779
  ] });
1673
1780
  }
1674
- var DropdownPopoverDiv = import_styled_components15.default.div`
1781
+ var DropdownPopoverDiv = import_styled_components16.default.div`
1675
1782
  margin: 4px 0;
1676
1783
  list-style: none;
1677
1784
  overflow: auto;
@@ -1686,27 +1793,26 @@ var DropdownPopoverDiv = import_styled_components15.default.div`
1686
1793
  `;
1687
1794
 
1688
1795
  // src/components/DropdownSelector/DropdownPopover.tsx
1689
- var import_jsx_runtime17 = require("react/jsx-runtime");
1796
+ var import_jsx_runtime18 = require("react/jsx-runtime");
1690
1797
  function DropdownPopover({ children, ...props }) {
1691
- const ref = (0, import_react13.useRef)(null);
1692
- (0, import_react13.useEffect)(() => {
1798
+ const ref = (0, import_react17.useRef)(null);
1799
+ (0, import_react17.useEffect)(() => {
1693
1800
  if (props.isOpen && ref.current && props.triggerRef.current) {
1694
1801
  ref.current.style.width = `${props.triggerRef.current.clientWidth}px`;
1695
1802
  }
1696
1803
  }, [props.triggerRef, props.isOpen]);
1697
- (0, import_react13.useEffect)(() => {
1804
+ (0, import_react17.useEffect)(() => {
1698
1805
  if (props.isOpen && props.value !== void 0) {
1699
1806
  const windowScrollY = window.scrollY;
1700
1807
  const windowScrollX = window.scrollX;
1701
1808
  const selectedElement = document.querySelector(
1702
1809
  `[data-key="${props.value.toString()}"]`
1703
1810
  );
1704
- selectedElement?.scrollIntoView({ block: "center" });
1705
1811
  selectedElement?.focus();
1706
1812
  window.scrollTo(windowScrollX, windowScrollY);
1707
1813
  }
1708
1814
  }, [props.value, props.isOpen]);
1709
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1815
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1710
1816
  Popover,
1711
1817
  {
1712
1818
  isOpen: props.isOpen,
@@ -1719,12 +1825,12 @@ function DropdownPopover({ children, ...props }) {
1719
1825
  }
1720
1826
 
1721
1827
  // src/components/DropdownSelector/utils/findPreviewRecursive.tsx
1722
- var React8 = __toESM(require("react"));
1828
+ var React10 = __toESM(require("react"));
1723
1829
  function findPreviewRecursive(children, value) {
1724
- const childArray = React8.Children.toArray(children);
1830
+ const childArray = React10.Children.toArray(children);
1725
1831
  for (let i = 0; i < childArray.length; i++) {
1726
1832
  const child = childArray[i];
1727
- if (React8.isValidElement(child)) {
1833
+ if (React10.isValidElement(child)) {
1728
1834
  if ("value" in child.props) {
1729
1835
  const childValue = child.props.value;
1730
1836
  if (childValue === value && "children" in child.props) {
@@ -1746,12 +1852,12 @@ function findPreviewRecursive(children, value) {
1746
1852
  }
1747
1853
 
1748
1854
  // src/components/DropdownSelector/MenuList/index.tsx
1749
- var import_react15 = require("react");
1750
- var import_styled_components16 = __toESM(require("styled-components"));
1855
+ var import_react19 = require("react");
1856
+ var import_styled_components17 = __toESM(require("styled-components"));
1751
1857
 
1752
1858
  // src/components/DropdownSelector/MenuList/MenuListContext.ts
1753
- var import_react14 = require("react");
1754
- var MenuListContext = (0, import_react14.createContext)({
1859
+ var import_react18 = require("react");
1860
+ var MenuListContext = (0, import_react18.createContext)({
1755
1861
  root: void 0,
1756
1862
  value: "",
1757
1863
  values: [],
@@ -1760,12 +1866,12 @@ var MenuListContext = (0, import_react14.createContext)({
1760
1866
  });
1761
1867
 
1762
1868
  // src/components/DropdownSelector/MenuList/internals/getValuesRecursive.tsx
1763
- var React9 = __toESM(require("react"));
1869
+ var React11 = __toESM(require("react"));
1764
1870
  function getValuesRecursive(children, values = []) {
1765
- const childArray = React9.Children.toArray(children);
1871
+ const childArray = React11.Children.toArray(children);
1766
1872
  for (let i = 0; i < childArray.length; i++) {
1767
1873
  const child = childArray[i];
1768
- if (React9.isValidElement(child)) {
1874
+ if (React11.isValidElement(child)) {
1769
1875
  const props = child.props;
1770
1876
  if ("value" in props && typeof props.value === "string") {
1771
1877
  const childValue = props.value;
@@ -1779,12 +1885,12 @@ function getValuesRecursive(children, values = []) {
1779
1885
  }
1780
1886
 
1781
1887
  // src/components/DropdownSelector/MenuList/index.tsx
1782
- var import_jsx_runtime18 = require("react/jsx-runtime");
1888
+ var import_jsx_runtime19 = require("react/jsx-runtime");
1783
1889
  function MenuList(props) {
1784
- const root = (0, import_react15.useRef)(null);
1890
+ const root = (0, import_react19.useRef)(null);
1785
1891
  const values = [];
1786
1892
  getValuesRecursive(props.children, values);
1787
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(StyledUl, { ref: root, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1893
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(StyledUl, { ref: root, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1788
1894
  MenuListContext.Provider,
1789
1895
  {
1790
1896
  value: {
@@ -1799,20 +1905,20 @@ function MenuList(props) {
1799
1905
  }
1800
1906
  ) });
1801
1907
  }
1802
- var StyledUl = import_styled_components16.default.ul`
1908
+ var StyledUl = import_styled_components17.default.ul`
1803
1909
  padding: 0;
1804
1910
  margin: 0;
1805
1911
  `;
1806
1912
 
1807
1913
  // src/components/DropdownSelector/index.tsx
1808
- var import_jsx_runtime19 = require("react/jsx-runtime");
1914
+ var import_jsx_runtime20 = require("react/jsx-runtime");
1809
1915
  var defaultRequiredText = "*\u5FC5\u9808";
1810
1916
  function DropdownSelector(props) {
1811
- const triggerRef = (0, import_react16.useRef)(null);
1812
- const [isOpen, setIsOpen] = (0, import_react16.useState)(false);
1917
+ const triggerRef = (0, import_react20.useRef)(null);
1918
+ const [isOpen, setIsOpen] = (0, import_react20.useState)(false);
1813
1919
  const preview = findPreviewRecursive(props.children, props.value);
1814
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(DropdownSelectorRoot, { "aria-disabled": props.disabled, children: [
1815
- props.showLabel === true && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1920
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(DropdownSelectorRoot, { "aria-disabled": props.disabled, children: [
1921
+ props.showLabel === true && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1816
1922
  DropdownFieldLabel,
1817
1923
  {
1818
1924
  label: props.label,
@@ -1821,7 +1927,7 @@ function DropdownSelector(props) {
1821
1927
  subLabel: props.subLabel
1822
1928
  }
1823
1929
  ),
1824
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
1930
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
1825
1931
  DropdownButton,
1826
1932
  {
1827
1933
  invalid: props.invalid,
@@ -1834,19 +1940,19 @@ function DropdownSelector(props) {
1834
1940
  ref: triggerRef,
1835
1941
  type: "button",
1836
1942
  children: [
1837
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DropdownButtonText, { children: props.placeholder !== void 0 && preview === void 0 ? props.placeholder : preview }),
1838
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DropdownButtonIcon, { name: "16/Menu" })
1943
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DropdownButtonText, { children: props.placeholder !== void 0 && preview === void 0 ? props.placeholder : preview }),
1944
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(DropdownButtonIcon, { name: "16/Menu" })
1839
1945
  ]
1840
1946
  }
1841
1947
  ),
1842
- isOpen && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1948
+ isOpen && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1843
1949
  DropdownPopover,
1844
1950
  {
1845
1951
  isOpen,
1846
1952
  onClose: () => setIsOpen(false),
1847
1953
  triggerRef,
1848
1954
  value: props.value,
1849
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1955
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1850
1956
  MenuList,
1851
1957
  {
1852
1958
  value: props.value,
@@ -1859,24 +1965,24 @@ function DropdownSelector(props) {
1859
1965
  )
1860
1966
  }
1861
1967
  ),
1862
- props.assistiveText !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(AssertiveText, { invalid: props.invalid, children: props.assistiveText })
1968
+ props.assistiveText !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(AssertiveText, { invalid: props.invalid, children: props.assistiveText })
1863
1969
  ] });
1864
1970
  }
1865
- var DropdownSelectorRoot = import_styled_components17.default.div`
1971
+ var DropdownSelectorRoot = import_styled_components18.default.div`
1866
1972
  display: inline-block;
1867
1973
  width: 100%;
1868
1974
 
1869
- ${import_utils8.disabledSelector} {
1975
+ ${import_utils10.disabledSelector} {
1870
1976
  cursor: default;
1871
1977
  ${theme((o) => o.disabled)}
1872
1978
  }
1873
1979
  `;
1874
- var DropdownFieldLabel = (0, import_styled_components17.default)(FieldLabel_default)`
1980
+ var DropdownFieldLabel = (0, import_styled_components18.default)(FieldLabel_default)`
1875
1981
  width: 100%;
1876
1982
 
1877
1983
  ${theme((o) => o.margin.bottom(8))}
1878
1984
  `;
1879
- var DropdownButton = import_styled_components17.default.button`
1985
+ var DropdownButton = import_styled_components18.default.button`
1880
1986
  display: flex;
1881
1987
  justify-content: space-between;
1882
1988
  align-items: center;
@@ -1887,7 +1993,7 @@ var DropdownButton = import_styled_components17.default.button`
1887
1993
  border: none;
1888
1994
  cursor: pointer;
1889
1995
 
1890
- ${import_utils8.disabledSelector} {
1996
+ ${import_utils10.disabledSelector} {
1891
1997
  cursor: default;
1892
1998
  }
1893
1999
 
@@ -1899,15 +2005,15 @@ var DropdownButton = import_styled_components17.default.button`
1899
2005
  invalid === true && o.outline.assertive
1900
2006
  ])}
1901
2007
  `;
1902
- var DropdownButtonText = import_styled_components17.default.span`
2008
+ var DropdownButtonText = import_styled_components18.default.span`
1903
2009
  text-align: left;
1904
2010
 
1905
2011
  ${theme((o) => [o.typography(14), o.font.text2])}
1906
2012
  `;
1907
- var DropdownButtonIcon = (0, import_styled_components17.default)(Icon_default)`
2013
+ var DropdownButtonIcon = (0, import_styled_components18.default)(Icon_default)`
1908
2014
  ${theme((o) => [o.font.text2])}
1909
2015
  `;
1910
- var AssertiveText = import_styled_components17.default.div`
2016
+ var AssertiveText = import_styled_components18.default.div`
1911
2017
  ${({ invalid }) => theme((o) => [
1912
2018
  o.typography(14),
1913
2019
  o.margin.top(8),
@@ -1916,19 +2022,19 @@ var AssertiveText = import_styled_components17.default.div`
1916
2022
  `;
1917
2023
 
1918
2024
  // src/components/DropdownSelector/DropdownMenuItem.tsx
1919
- var import_styled_components19 = __toESM(require("styled-components"));
2025
+ var import_styled_components20 = __toESM(require("styled-components"));
1920
2026
 
1921
2027
  // src/components/DropdownSelector/ListItem/index.tsx
1922
- var import_styled_components18 = __toESM(require("styled-components"));
1923
- var import_jsx_runtime20 = require("react/jsx-runtime");
2028
+ var import_styled_components19 = __toESM(require("styled-components"));
2029
+ var import_jsx_runtime21 = require("react/jsx-runtime");
1924
2030
  function ListItem(props) {
1925
2031
  const { children, ...rest } = props;
1926
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(StyledLi, { role: "option", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ItemDiv, { ...rest, children: props.children }) });
2032
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(StyledLi, { role: "option", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ItemDiv, { ...rest, children: props.children }) });
1927
2033
  }
1928
- var StyledLi = import_styled_components18.default.li`
2034
+ var StyledLi = import_styled_components19.default.li`
1929
2035
  list-style: none;
1930
2036
  `;
1931
- var ItemDiv = import_styled_components18.default.div`
2037
+ var ItemDiv = import_styled_components19.default.div`
1932
2038
  display: flex;
1933
2039
  align-items: center;
1934
2040
  min-height: 40px;
@@ -1949,7 +2055,7 @@ var ItemDiv = import_styled_components18.default.div`
1949
2055
  `;
1950
2056
 
1951
2057
  // src/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.tsx
1952
- var import_react17 = require("react");
2058
+ var import_react21 = require("react");
1953
2059
 
1954
2060
  // src/components/DropdownSelector/MenuItem/internals/handleFocusByKeyBoard.tsx
1955
2061
  function handleFocusByKeyBoard(element, parent) {
@@ -1982,12 +2088,12 @@ function scrollIfNeeded(element) {
1982
2088
 
1983
2089
  // src/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.tsx
1984
2090
  function useMenuItemHandleKeyDown(value) {
1985
- const { setValue, root, values } = (0, import_react17.useContext)(MenuListContext);
1986
- const setContextValue = (0, import_react17.useCallback)(() => {
2091
+ const { setValue, root, values } = (0, import_react21.useContext)(MenuListContext);
2092
+ const setContextValue = (0, import_react21.useCallback)(() => {
1987
2093
  if (value !== void 0)
1988
2094
  setValue(value);
1989
2095
  }, [value, setValue]);
1990
- const handleKeyDown = (0, import_react17.useCallback)(
2096
+ const handleKeyDown = (0, import_react21.useCallback)(
1991
2097
  (e) => {
1992
2098
  if (e.key === "Enter") {
1993
2099
  setContextValue();
@@ -2014,11 +2120,11 @@ function useMenuItemHandleKeyDown(value) {
2014
2120
  }
2015
2121
 
2016
2122
  // src/components/DropdownSelector/MenuItem/index.tsx
2017
- var import_jsx_runtime21 = require("react/jsx-runtime");
2123
+ var import_jsx_runtime22 = require("react/jsx-runtime");
2018
2124
  function MenuItem(props) {
2019
2125
  const { children, as, ...rest } = props;
2020
2126
  const [handleKeyDown, setContextValue] = useMenuItemHandleKeyDown(props.value);
2021
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2127
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
2022
2128
  ListItem,
2023
2129
  {
2024
2130
  ...rest,
@@ -2034,85 +2140,85 @@ function MenuItem(props) {
2034
2140
  }
2035
2141
 
2036
2142
  // src/components/DropdownSelector/DropdownMenuItem.tsx
2037
- var import_react18 = require("react");
2038
- var import_jsx_runtime22 = require("react/jsx-runtime");
2143
+ var import_react22 = require("react");
2144
+ var import_jsx_runtime23 = require("react/jsx-runtime");
2039
2145
  function DropdownMenuItem(props) {
2040
- const { value: ctxValue } = (0, import_react18.useContext)(MenuListContext);
2146
+ const { value: ctxValue } = (0, import_react22.useContext)(MenuListContext);
2041
2147
  const isSelected = props.value === ctxValue;
2042
2148
  const { children, ...rest } = props;
2043
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(MenuItem, { ...rest, children: [
2044
- isSelected && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Text2ColorIcon, { name: "16/Check" }),
2045
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(StyledSpan, { isSelected, children: props.children })
2149
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(MenuItem, { ...rest, children: [
2150
+ isSelected && /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Text2ColorIcon, { name: "16/Check" }),
2151
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(StyledSpan, { isSelected, children: props.children })
2046
2152
  ] });
2047
2153
  }
2048
- var StyledSpan = import_styled_components19.default.span`
2154
+ var StyledSpan = import_styled_components20.default.span`
2049
2155
  ${theme((o) => [o.typography(14), o.font.text2])};
2050
2156
  display: flex;
2051
2157
  align-items: center;
2052
2158
  width: 100%;
2053
2159
  margin-left: ${({ isSelected }) => isSelected === true ? 0 : 20}px;
2054
2160
  `;
2055
- var Text2ColorIcon = (0, import_styled_components19.default)(Icon_default)`
2161
+ var Text2ColorIcon = (0, import_styled_components20.default)(Icon_default)`
2056
2162
  ${theme((o) => [o.font.text2])}
2057
2163
  padding-right: 4px;
2058
2164
  `;
2059
2165
 
2060
2166
  // src/components/DropdownSelector/MenuItemGroup/index.tsx
2061
- var import_styled_components20 = __toESM(require("styled-components"));
2062
- var import_jsx_runtime23 = require("react/jsx-runtime");
2167
+ var import_styled_components21 = __toESM(require("styled-components"));
2168
+ var import_jsx_runtime24 = require("react/jsx-runtime");
2063
2169
  function MenuItemGroup(props) {
2064
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(StyledLi2, { role: "presentation", children: [
2065
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(TextSpan, { children: props.text }),
2066
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(StyledUl2, { role: "group", children: props.children })
2170
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(StyledLi2, { role: "presentation", children: [
2171
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(TextSpan, { children: props.text }),
2172
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(StyledUl2, { role: "group", children: props.children })
2067
2173
  ] });
2068
2174
  }
2069
- var TextSpan = import_styled_components20.default.span`
2175
+ var TextSpan = import_styled_components21.default.span`
2070
2176
  display: block;
2071
2177
  color: ${({ theme: theme3 }) => theme3.color.text3};
2072
2178
  font-size: 12px;
2073
2179
  font-weight: bold;
2074
2180
  padding: 12px 0 8px 16px;
2075
2181
  `;
2076
- var StyledUl2 = import_styled_components20.default.ul`
2182
+ var StyledUl2 = import_styled_components21.default.ul`
2077
2183
  padding-left: 0;
2078
2184
  margin: 0;
2079
2185
  box-sizing: border-box;
2080
2186
  list-style: none;
2081
2187
  overflow: hidden;
2082
2188
  `;
2083
- var StyledLi2 = import_styled_components20.default.li`
2189
+ var StyledLi2 = import_styled_components21.default.li`
2084
2190
  display: block;
2085
2191
  `;
2086
2192
 
2087
2193
  // src/components/SegmentedControl/index.tsx
2088
- var import_react20 = require("react");
2194
+ var import_react24 = require("react");
2089
2195
  var import_react_stately2 = require("react-stately");
2090
2196
  var import_radio = require("@react-aria/radio");
2091
- var import_styled_components21 = __toESM(require("styled-components"));
2092
- var import_utils9 = require("@charcoal-ui/utils");
2197
+ var import_styled_components22 = __toESM(require("styled-components"));
2198
+ var import_utils11 = require("@charcoal-ui/utils");
2093
2199
 
2094
2200
  // src/components/SegmentedControl/RadioGroupContext.tsx
2095
- var import_react19 = require("react");
2096
- var import_jsx_runtime24 = require("react/jsx-runtime");
2097
- var RadioContext = (0, import_react19.createContext)(null);
2201
+ var import_react23 = require("react");
2202
+ var import_jsx_runtime25 = require("react/jsx-runtime");
2203
+ var RadioContext = (0, import_react23.createContext)(null);
2098
2204
  var RadioProvider = ({
2099
2205
  value,
2100
2206
  children
2101
2207
  }) => {
2102
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(RadioContext.Provider, { value, children });
2208
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(RadioContext.Provider, { value, children });
2103
2209
  };
2104
2210
  var useRadioContext = () => {
2105
- const state = (0, import_react19.useContext)(RadioContext);
2211
+ const state = (0, import_react23.useContext)(RadioContext);
2106
2212
  if (state === null)
2107
2213
  throw new Error("`<RadioProvider>` is not likely mounted.");
2108
2214
  return state;
2109
2215
  };
2110
2216
 
2111
2217
  // src/components/SegmentedControl/index.tsx
2112
- var import_jsx_runtime25 = require("react/jsx-runtime");
2113
- var SegmentedControl = (0, import_react20.forwardRef)(
2218
+ var import_jsx_runtime26 = require("react/jsx-runtime");
2219
+ var SegmentedControl = (0, import_react24.forwardRef)(
2114
2220
  function SegmentedControlInner(props, ref) {
2115
- const ariaRadioGroupProps = (0, import_react20.useMemo)(
2221
+ const ariaRadioGroupProps = (0, import_react24.useMemo)(
2116
2222
  () => ({
2117
2223
  ...props,
2118
2224
  isDisabled: props.disabled,
@@ -2124,18 +2230,18 @@ var SegmentedControl = (0, import_react20.forwardRef)(
2124
2230
  );
2125
2231
  const state = (0, import_react_stately2.useRadioGroupState)(ariaRadioGroupProps);
2126
2232
  const { radioGroupProps } = (0, import_radio.useRadioGroup)(ariaRadioGroupProps, state);
2127
- const segmentedControlItems = (0, import_react20.useMemo)(() => {
2233
+ const segmentedControlItems = (0, import_react24.useMemo)(() => {
2128
2234
  return props.data.map(
2129
2235
  (d) => typeof d === "string" ? { value: d, label: d } : d
2130
2236
  );
2131
2237
  }, [props.data]);
2132
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2238
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
2133
2239
  SegmentedControlRoot,
2134
2240
  {
2135
2241
  ref,
2136
2242
  ...radioGroupProps,
2137
2243
  className: props.className,
2138
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(RadioProvider, { value: state, children: segmentedControlItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2244
+ children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(RadioProvider, { value: state, children: segmentedControlItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
2139
2245
  Segmented,
2140
2246
  {
2141
2247
  value: item.value,
@@ -2148,11 +2254,11 @@ var SegmentedControl = (0, import_react20.forwardRef)(
2148
2254
  );
2149
2255
  }
2150
2256
  );
2151
- var SegmentedControl_default = (0, import_react20.memo)(SegmentedControl);
2257
+ var SegmentedControl_default = (0, import_react24.memo)(SegmentedControl);
2152
2258
  var Segmented = (props) => {
2153
2259
  const state = useRadioContext();
2154
- const ref = (0, import_react20.useRef)(null);
2155
- const ariaRadioProps = (0, import_react20.useMemo)(
2260
+ const ref = (0, import_react24.useRef)(null);
2261
+ const ariaRadioProps = (0, import_react24.useMemo)(
2156
2262
  () => ({
2157
2263
  value: props.value,
2158
2264
  isDisabled: props.disabled,
@@ -2165,32 +2271,32 @@ var Segmented = (props) => {
2165
2271
  state,
2166
2272
  ref
2167
2273
  );
2168
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
2274
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
2169
2275
  SegmentedRoot,
2170
2276
  {
2171
2277
  "aria-disabled": isDisabled || state.isReadOnly,
2172
2278
  checked: isSelected,
2173
2279
  children: [
2174
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(SegmentedInput, { ...inputProps, ref }),
2175
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(RadioLabel2, { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(SegmentedLabelInner, { children: props.children }) })
2280
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(SegmentedInput, { ...inputProps, ref }),
2281
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(RadioLabel2, { children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(SegmentedLabelInner, { children: props.children }) })
2176
2282
  ]
2177
2283
  }
2178
2284
  );
2179
2285
  };
2180
- var SegmentedControlRoot = import_styled_components21.default.div`
2286
+ var SegmentedControlRoot = import_styled_components22.default.div`
2181
2287
  display: inline-flex;
2182
2288
  align-items: center;
2183
2289
 
2184
2290
  ${theme((o) => [o.bg.surface3, o.borderRadius(16)])}
2185
2291
  `;
2186
- var SegmentedRoot = import_styled_components21.default.label`
2292
+ var SegmentedRoot = import_styled_components22.default.label`
2187
2293
  position: relative;
2188
2294
  display: flex;
2189
2295
  align-items: center;
2190
2296
  cursor: pointer;
2191
2297
  height: 32px;
2192
2298
 
2193
- ${import_utils9.disabledSelector} {
2299
+ ${import_utils11.disabledSelector} {
2194
2300
  cursor: default;
2195
2301
  }
2196
2302
 
@@ -2202,7 +2308,7 @@ var SegmentedRoot = import_styled_components21.default.label`
2202
2308
  checked === true ? o.font.text5 : o.font.text2
2203
2309
  ])}
2204
2310
  `;
2205
- var SegmentedInput = import_styled_components21.default.input`
2311
+ var SegmentedInput = import_styled_components22.default.input`
2206
2312
  position: absolute;
2207
2313
 
2208
2314
  height: 0px;
@@ -2216,27 +2322,27 @@ var SegmentedInput = import_styled_components21.default.input`
2216
2322
  white-space: nowrap;
2217
2323
  opacity: 0;
2218
2324
  `;
2219
- var RadioLabel2 = import_styled_components21.default.div`
2325
+ var RadioLabel2 = import_styled_components22.default.div`
2220
2326
  background: transparent;
2221
2327
  display: flex;
2222
2328
  align-items: center;
2223
2329
  height: 22px;
2224
2330
  `;
2225
- var SegmentedLabelInner = import_styled_components21.default.div`
2331
+ var SegmentedLabelInner = import_styled_components22.default.div`
2226
2332
  ${theme((o) => [o.typography(14)])}
2227
2333
  `;
2228
2334
 
2229
2335
  // src/components/Checkbox/index.tsx
2230
- var import_react21 = require("react");
2231
- var import_styled_components22 = __toESM(require("styled-components"));
2336
+ var import_react25 = require("react");
2337
+ var import_styled_components23 = __toESM(require("styled-components"));
2232
2338
  var import_checkbox = require("@react-aria/checkbox");
2233
- var import_utils10 = require("@react-aria/utils");
2339
+ var import_utils12 = require("@react-aria/utils");
2234
2340
  var import_react_stately3 = require("react-stately");
2235
- var import_utils11 = require("@charcoal-ui/utils");
2236
- var import_jsx_runtime26 = require("react/jsx-runtime");
2237
- var Checkbox = (0, import_react21.forwardRef)(
2341
+ var import_utils13 = require("@charcoal-ui/utils");
2342
+ var import_jsx_runtime27 = require("react/jsx-runtime");
2343
+ var Checkbox = (0, import_react25.forwardRef)(
2238
2344
  function CheckboxInner({ invalid = false, ...props }, ref) {
2239
- const ariaCheckboxProps = (0, import_react21.useMemo)(
2345
+ const ariaCheckboxProps = (0, import_react25.useMemo)(
2240
2346
  () => ({
2241
2347
  ...props,
2242
2348
  isSelected: props.checked,
@@ -2248,38 +2354,38 @@ var Checkbox = (0, import_react21.forwardRef)(
2248
2354
  [invalid, props]
2249
2355
  );
2250
2356
  const state = (0, import_react_stately3.useToggleState)(ariaCheckboxProps);
2251
- const objectRef = (0, import_utils10.useObjectRef)(ref);
2357
+ const objectRef = (0, import_utils12.useObjectRef)(ref);
2252
2358
  const { inputProps } = (0, import_checkbox.useCheckbox)(ariaCheckboxProps, state, objectRef);
2253
2359
  const isDisabled = (props.disabled ?? false) || (props.readonly ?? false);
2254
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(InputRoot, { "aria-disabled": isDisabled, className: props.className, children: [
2255
- /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(CheckboxRoot, { children: [
2256
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(CheckboxInput, { type: "checkbox", ...inputProps, invalid }),
2257
- /* @__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 }) })
2360
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(InputRoot, { "aria-disabled": isDisabled, className: props.className, children: [
2361
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(CheckboxRoot, { children: [
2362
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(CheckboxInput, { type: "checkbox", ...inputProps, invalid }),
2363
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(CheckboxInputOverlay, { "aria-hidden": true, checked: inputProps.checked, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Icon_default, { name: "24/Check", unsafeNonGuidelineScale: 2 / 3 }) })
2258
2364
  ] }),
2259
- "children" in props && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(InputLabel, { children: props.children })
2365
+ "children" in props && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(InputLabel, { children: props.children })
2260
2366
  ] });
2261
2367
  }
2262
2368
  );
2263
- var Checkbox_default = (0, import_react21.memo)(Checkbox);
2264
- var hiddenCss = import_styled_components22.css`
2369
+ var Checkbox_default = (0, import_react25.memo)(Checkbox);
2370
+ var hiddenCss = import_styled_components23.css`
2265
2371
  visibility: hidden;
2266
2372
  `;
2267
- var InputRoot = import_styled_components22.default.label`
2373
+ var InputRoot = import_styled_components23.default.label`
2268
2374
  position: relative;
2269
2375
  display: flex;
2270
2376
 
2271
2377
  cursor: pointer;
2272
- ${import_utils11.disabledSelector} {
2378
+ ${import_utils13.disabledSelector} {
2273
2379
  cursor: default;
2274
2380
  }
2275
2381
 
2276
- gap: ${({ theme: theme3 }) => (0, import_utils11.px)(theme3.spacing[4])};
2382
+ gap: ${({ theme: theme3 }) => (0, import_utils13.px)(theme3.spacing[4])};
2277
2383
  ${theme((o) => [o.disabled])}
2278
2384
  `;
2279
- var CheckboxRoot = import_styled_components22.default.div`
2385
+ var CheckboxRoot = import_styled_components23.default.div`
2280
2386
  position: relative;
2281
2387
  `;
2282
- var CheckboxInput = import_styled_components22.default.input`
2388
+ var CheckboxInput = import_styled_components23.default.input`
2283
2389
  &[type='checkbox'] {
2284
2390
  appearance: none;
2285
2391
  display: block;
@@ -2303,7 +2409,7 @@ var CheckboxInput = import_styled_components22.default.input`
2303
2409
  transition: all 0.2s !important;
2304
2410
  }
2305
2411
  `;
2306
- var CheckboxInputOverlay = import_styled_components22.default.div`
2412
+ var CheckboxInputOverlay = import_styled_components23.default.div`
2307
2413
  position: absolute;
2308
2414
  top: -2px;
2309
2415
  left: -2px;
@@ -2316,7 +2422,7 @@ var CheckboxInputOverlay = import_styled_components22.default.div`
2316
2422
 
2317
2423
  ${({ checked }) => checked !== true && hiddenCss};
2318
2424
  `;
2319
- var InputLabel = import_styled_components22.default.div`
2425
+ var InputLabel = import_styled_components23.default.div`
2320
2426
  ${theme((o) => [o.font.text2])}
2321
2427
 
2322
2428
  font-size: 14px;
@@ -2325,17 +2431,17 @@ var InputLabel = import_styled_components22.default.div`
2325
2431
  `;
2326
2432
 
2327
2433
  // src/components/TagItem/index.tsx
2328
- var import_react22 = require("react");
2329
- var import_utils12 = require("@react-aria/utils");
2330
- var import_styled_components23 = __toESM(require("styled-components"));
2331
- var import_utils13 = require("@charcoal-ui/utils");
2434
+ var import_react26 = require("react");
2435
+ var import_utils14 = require("@react-aria/utils");
2436
+ var import_styled_components24 = __toESM(require("styled-components"));
2437
+ var import_utils15 = require("@charcoal-ui/utils");
2332
2438
  var import_button = require("@react-aria/button");
2333
- var import_jsx_runtime27 = require("react/jsx-runtime");
2439
+ var import_jsx_runtime28 = require("react/jsx-runtime");
2334
2440
  var sizeMap = {
2335
2441
  S: 32,
2336
2442
  M: 40
2337
2443
  };
2338
- var TagItem = (0, import_react22.forwardRef)(
2444
+ var TagItem = (0, import_react26.forwardRef)(
2339
2445
  function TagItemInner({
2340
2446
  label,
2341
2447
  translatedLabel,
@@ -2347,8 +2453,8 @@ var TagItem = (0, import_react22.forwardRef)(
2347
2453
  className,
2348
2454
  ...props
2349
2455
  }, _ref) {
2350
- const ref = (0, import_utils12.useObjectRef)(_ref);
2351
- const ariaButtonProps = (0, import_react22.useMemo)(
2456
+ const ref = (0, import_utils14.useObjectRef)(_ref);
2457
+ const ariaButtonProps = (0, import_react26.useMemo)(
2352
2458
  () => ({
2353
2459
  elementType: "a",
2354
2460
  isDisabled: disabled,
@@ -2358,7 +2464,7 @@ var TagItem = (0, import_react22.forwardRef)(
2358
2464
  );
2359
2465
  const { buttonProps } = (0, import_button.useButton)(ariaButtonProps, ref);
2360
2466
  const hasTranslatedLabel = translatedLabel !== void 0 && translatedLabel.length > 0;
2361
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
2467
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
2362
2468
  TagItemRoot,
2363
2469
  {
2364
2470
  ref,
@@ -2367,21 +2473,21 @@ var TagItem = (0, import_react22.forwardRef)(
2367
2473
  ...buttonProps,
2368
2474
  className,
2369
2475
  children: [
2370
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Background, { bgColor, bgImage, status }),
2371
- /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Inner, { children: [
2372
- /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(LabelWrapper, { isTranslate: hasTranslatedLabel, children: [
2373
- hasTranslatedLabel && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(TranslatedLabel, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Label3, { children: translatedLabel }) }),
2374
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Label3, { children: label })
2476
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Background, { bgColor, bgImage, status }),
2477
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(Inner, { children: [
2478
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(LabelWrapper, { isTranslate: hasTranslatedLabel, children: [
2479
+ hasTranslatedLabel && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(TranslatedLabel, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Label3, { children: translatedLabel }) }),
2480
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Label3, { children: label })
2375
2481
  ] }),
2376
- status === "active" && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Icon_default, { name: "16/Remove" })
2482
+ status === "active" && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Icon_default, { name: "16/Remove" })
2377
2483
  ] })
2378
2484
  ]
2379
2485
  }
2380
2486
  );
2381
2487
  }
2382
2488
  );
2383
- var TagItem_default = (0, import_react22.memo)(TagItem);
2384
- var TagItemRoot = import_styled_components23.default.a`
2489
+ var TagItem_default = (0, import_react26.memo)(TagItem);
2490
+ var TagItemRoot = import_styled_components24.default.a`
2385
2491
  isolation: isolate;
2386
2492
  position: relative;
2387
2493
  height: ${({ size }) => sizeMap[size]}px;
@@ -2401,12 +2507,12 @@ var TagItemRoot = import_styled_components23.default.a`
2401
2507
  ...status === "active" ? [o.padding.left(16), o.padding.right(8)] : []
2402
2508
  ])}
2403
2509
 
2404
- ${import_utils13.disabledSelector} {
2510
+ ${import_utils15.disabledSelector} {
2405
2511
  ${theme((o) => [o.disabled])}
2406
2512
  cursor: default;
2407
2513
  }
2408
2514
  `;
2409
- var Background = import_styled_components23.default.div`
2515
+ var Background = import_styled_components24.default.div`
2410
2516
  position: absolute;
2411
2517
  z-index: 1;
2412
2518
  top: 0;
@@ -2417,7 +2523,7 @@ var Background = import_styled_components23.default.div`
2417
2523
  background-color: ${({ bgColor }) => bgColor};
2418
2524
  ${({ status }) => status === "inactive" && theme((o) => o.bg.surface3)}
2419
2525
 
2420
- ${({ bgImage }) => bgImage !== void 0 && import_styled_components23.css`
2526
+ ${({ bgImage }) => bgImage !== void 0 && import_styled_components24.css`
2421
2527
  ${theme((o) => [o.bg.surface4])}
2422
2528
  &::before {
2423
2529
  content: '';
@@ -2433,25 +2539,25 @@ var Background = import_styled_components23.default.div`
2433
2539
  }
2434
2540
  `}
2435
2541
  `;
2436
- var Inner = import_styled_components23.default.div`
2542
+ var Inner = import_styled_components24.default.div`
2437
2543
  display: inline-flex;
2438
- gap: ${({ theme: theme3 }) => (0, import_utils13.px)(theme3.spacing[8])};
2544
+ gap: ${({ theme: theme3 }) => (0, import_utils15.px)(theme3.spacing[8])};
2439
2545
  align-items: center;
2440
2546
  z-index: 2;
2441
2547
  `;
2442
- var labelCSS = import_styled_components23.css`
2548
+ var labelCSS = import_styled_components24.css`
2443
2549
  ${theme((o) => [o.typography(14).bold])}
2444
2550
  `;
2445
- var translateLabelCSS = import_styled_components23.css`
2551
+ var translateLabelCSS = import_styled_components24.css`
2446
2552
  display: flex;
2447
2553
  align-items: center;
2448
2554
  flex-direction: column;
2449
2555
  font-size: 10px;
2450
2556
  `;
2451
- var LabelWrapper = import_styled_components23.default.div`
2557
+ var LabelWrapper = import_styled_components24.default.div`
2452
2558
  ${({ isTranslate }) => isTranslate ?? false ? translateLabelCSS : labelCSS}
2453
2559
  `;
2454
- var Label3 = import_styled_components23.default.span`
2560
+ var Label3 = import_styled_components24.default.span`
2455
2561
  max-width: 152px;
2456
2562
  overflow: hidden;
2457
2563
  text-overflow: ellipsis;
@@ -2460,7 +2566,7 @@ var Label3 = import_styled_components23.default.span`
2460
2566
  color: inherit;
2461
2567
  line-height: inherit;
2462
2568
  `;
2463
- var TranslatedLabel = import_styled_components23.default.div`
2569
+ var TranslatedLabel = import_styled_components24.default.div`
2464
2570
  ${theme((o) => [o.typography(12).bold])}
2465
2571
  `;
2466
2572
  // Annotate the CommonJS export names for ESM import in node: