@charcoal-ui/react 4.0.0-beta.7 → 4.0.0-beta.8

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 (75) hide show
  1. package/dist/components/DropdownSelector/Divider/index.d.ts +3 -0
  2. package/dist/components/DropdownSelector/Divider/index.d.ts.map +1 -0
  3. package/dist/components/DropdownSelector/DropdownMenuItem/index.d.ts +8 -0
  4. package/dist/components/DropdownSelector/DropdownMenuItem/index.d.ts.map +1 -0
  5. package/dist/components/DropdownSelector/DropdownPopover.d.ts.map +1 -1
  6. package/dist/components/DropdownSelector/ListItem/index.d.ts +5 -13
  7. package/dist/components/DropdownSelector/ListItem/index.d.ts.map +1 -1
  8. package/dist/components/DropdownSelector/MenuItem/index.d.ts +10 -3
  9. package/dist/components/DropdownSelector/MenuItem/index.d.ts.map +1 -1
  10. package/dist/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.d.ts +1 -1
  11. package/dist/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.d.ts.map +1 -1
  12. package/dist/components/DropdownSelector/MenuItemGroup/index.d.ts +1 -3
  13. package/dist/components/DropdownSelector/MenuItemGroup/index.d.ts.map +1 -1
  14. package/dist/components/DropdownSelector/MenuList/index.d.ts +1 -4
  15. package/dist/components/DropdownSelector/MenuList/index.d.ts.map +1 -1
  16. package/dist/components/DropdownSelector/Popover/index.d.ts +1 -0
  17. package/dist/components/DropdownSelector/Popover/index.d.ts.map +1 -1
  18. package/dist/components/DropdownSelector/index.d.ts +3 -1
  19. package/dist/components/DropdownSelector/index.d.ts.map +1 -1
  20. package/dist/components/Radio/RadioGroup/index.d.ts +20 -0
  21. package/dist/components/Radio/RadioGroup/index.d.ts.map +1 -0
  22. package/dist/components/Radio/RadioGroupContext.d.ts +11 -0
  23. package/dist/components/Radio/RadioGroupContext.d.ts.map +1 -0
  24. package/dist/components/Radio/RadioInput/index.d.ts +10 -0
  25. package/dist/components/Radio/RadioInput/index.d.ts.map +1 -0
  26. package/dist/components/Radio/index.d.ts +1 -12
  27. package/dist/components/Radio/index.d.ts.map +1 -1
  28. package/dist/index.cjs.js +285 -294
  29. package/dist/index.cjs.js.map +1 -1
  30. package/dist/index.css +174 -22
  31. package/dist/index.css.map +1 -1
  32. package/dist/index.d.ts +2 -1
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.esm.js +230 -239
  35. package/dist/index.esm.js.map +1 -1
  36. package/package.json +8 -8
  37. package/src/components/DropdownSelector/Divider/index.css +11 -0
  38. package/src/components/DropdownSelector/Divider/index.tsx +5 -0
  39. package/src/components/DropdownSelector/DropdownMenuItem/index.css +20 -0
  40. package/src/components/DropdownSelector/DropdownMenuItem/index.tsx +34 -0
  41. package/src/components/DropdownSelector/DropdownPopover.tsx +16 -9
  42. package/src/components/DropdownSelector/ListItem/__snapshots__/index.story.storyshot +35 -94
  43. package/src/components/DropdownSelector/ListItem/index.css +24 -0
  44. package/src/components/DropdownSelector/ListItem/index.tsx +14 -53
  45. package/src/components/DropdownSelector/MenuItem/index.tsx +17 -12
  46. package/src/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.tsx +2 -2
  47. package/src/components/DropdownSelector/MenuItemGroup/index.css +19 -0
  48. package/src/components/DropdownSelector/MenuItemGroup/index.tsx +6 -28
  49. package/src/components/DropdownSelector/MenuList/__snapshots__/index.story.storyshot +159 -413
  50. package/src/components/DropdownSelector/MenuList/index.css +4 -0
  51. package/src/components/DropdownSelector/MenuList/index.tsx +4 -12
  52. package/src/components/DropdownSelector/Popover/index.css +11 -0
  53. package/src/components/DropdownSelector/Popover/index.tsx +6 -15
  54. package/src/components/DropdownSelector/__snapshots__/index.story.storyshot +389 -1167
  55. package/src/components/DropdownSelector/index.css +84 -0
  56. package/src/components/DropdownSelector/index.story.tsx +0 -4
  57. package/src/components/DropdownSelector/index.tsx +40 -102
  58. package/src/components/Modal/__snapshots__/index.story.storyshot +16 -176
  59. package/src/components/Radio/RadioGroup/index.css +5 -0
  60. package/src/components/Radio/RadioGroup/index.tsx +80 -0
  61. package/src/components/Radio/RadioGroupContext.ts +23 -0
  62. package/src/components/Radio/RadioInput/index.css +82 -0
  63. package/src/components/Radio/RadioInput/index.tsx +41 -0
  64. package/src/components/Radio/__snapshots__/index.story.storyshot +36 -30
  65. package/src/components/Radio/index.css +2 -81
  66. package/src/components/Radio/index.story.tsx +16 -6
  67. package/src/components/Radio/index.test.tsx +2 -1
  68. package/src/components/Radio/index.tsx +7 -89
  69. package/src/index.ts +2 -6
  70. package/dist/components/DropdownSelector/Divider.d.ts +0 -7
  71. package/dist/components/DropdownSelector/Divider.d.ts.map +0 -1
  72. package/dist/components/DropdownSelector/DropdownMenuItem.d.ts +0 -7
  73. package/dist/components/DropdownSelector/DropdownMenuItem.d.ts.map +0 -1
  74. package/src/components/DropdownSelector/Divider.tsx +0 -16
  75. package/src/components/DropdownSelector/DropdownMenuItem.tsx +0 -43
package/dist/index.cjs.js CHANGED
@@ -196,11 +196,43 @@ function validateIconSize(size, icon) {
196
196
  }
197
197
 
198
198
  // src/components/Radio/index.tsx
199
- var import_react7 = require("react");
200
- var React5 = __toESM(require("react"));
199
+ var import_react8 = require("react");
201
200
  var import_warning = __toESM(require("warning"));
201
+
202
+ // src/components/Radio/RadioGroupContext.ts
203
+ var React5 = __toESM(require("react"));
204
+ var RadioGroupContext = React5.createContext({
205
+ name: void 0,
206
+ selected: void 0,
207
+ disabled: false,
208
+ readonly: false,
209
+ invalid: false,
210
+ onChange() {
211
+ throw new Error("Cannot find onChange() handler. Perhaps you forgot to wrap with <RadioGroup> ?");
212
+ }
213
+ });
214
+
215
+ // src/components/Radio/RadioInput/index.tsx
216
+ var import_react7 = require("react");
202
217
  var import_jsx_runtime6 = require("react/jsx-runtime");
203
- var Radio = (0, import_react7.forwardRef)(function RadioInner({
218
+ var RadioInput = (0, import_react7.forwardRef)(function RadioInput2({
219
+ onChange,
220
+ invalid,
221
+ className,
222
+ ...props
223
+ }, ref) {
224
+ const handleChange = (0, import_react7.useCallback)((e) => {
225
+ const el = e.currentTarget;
226
+ onChange?.(el.value);
227
+ }, [onChange]);
228
+ const classNames = useClassNames("charcoal-radio-input", className);
229
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("input", { className: classNames, ref, type: "radio", onChange: handleChange, "aria-invalid": invalid, ...props });
230
+ });
231
+ var RadioInput_default = (0, import_react7.memo)(RadioInput);
232
+
233
+ // src/components/Radio/index.tsx
234
+ var import_jsx_runtime7 = require("react/jsx-runtime");
235
+ var Radio = (0, import_react8.forwardRef)(function RadioInner({
204
236
  value,
205
237
  disabled = false,
206
238
  children,
@@ -213,7 +245,7 @@ var Radio = (0, import_react7.forwardRef)(function RadioInner({
213
245
  readonly,
214
246
  invalid,
215
247
  onChange
216
- } = (0, import_react7.useContext)(RadioGroupContext);
248
+ } = (0, import_react8.useContext)(RadioGroupContext);
217
249
  const classNames = useClassNames("charcoal-radio__label", props.className);
218
250
  (0, import_warning.default)(
219
251
  name !== void 0,
@@ -222,40 +254,33 @@ var Radio = (0, import_react7.forwardRef)(function RadioInner({
222
254
  const isSelected = value === selected;
223
255
  const isDisabled = disabled || isParentDisabled;
224
256
  const isReadonly = readonly && !isSelected;
225
- const handleChange = (0, import_react7.useCallback)((e) => {
226
- onChange(e.currentTarget.value);
227
- }, [onChange]);
228
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("label", { "aria-disabled": isDisabled || isReadonly, className: classNames, children: [
229
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("input", { type: "radio", className: "charcoal-radio__input", name, value, checked: isSelected, "aria-invalid": invalid, onChange: handleChange, disabled: isDisabled || isReadonly, ref }),
230
- children != null && /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "charcoal-radio__label_div", children })
257
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("label", { "aria-disabled": isDisabled || isReadonly, className: classNames, children: [
258
+ /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(RadioInput_default, { name, value, checked: isSelected, "aria-invalid": invalid, onChange, disabled: isDisabled || isReadonly, ref }),
259
+ children != null && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "charcoal-radio__label_div", children })
231
260
  ] });
232
261
  });
233
- var Radio_default = (0, import_react7.memo)(Radio);
234
- var RadioGroupContext = React5.createContext({
235
- name: void 0,
236
- selected: void 0,
237
- disabled: false,
238
- readonly: false,
239
- invalid: false,
240
- onChange() {
241
- throw new Error("Cannot find onChange() handler. Perhaps you forgot to wrap with <RadioGroup> ?");
242
- }
243
- });
244
- var RadioGroup = (0, import_react7.forwardRef)(function RadioGroupInner({
262
+ var Radio_default = (0, import_react8.memo)(Radio);
263
+
264
+ // src/components/Radio/RadioGroup/index.tsx
265
+ var import_react9 = require("react");
266
+ var import_jsx_runtime8 = require("react/jsx-runtime");
267
+ var RadioGroup = (0, import_react9.forwardRef)(function RadioGroupInner({
245
268
  value,
269
+ label,
246
270
  name,
247
271
  onChange,
248
272
  disabled,
249
273
  readonly,
250
274
  invalid,
251
275
  children,
276
+ "aria-orientation": ariaOrientation = "vertical",
252
277
  ...props
253
278
  }, ref) {
254
279
  const classNames = useClassNames("charcoal-radio-group", props.className);
255
- const handleChange = (0, import_react7.useCallback)((next) => {
280
+ const handleChange = (0, import_react9.useCallback)((next) => {
256
281
  onChange(next);
257
282
  }, [onChange]);
258
- const contextValue = (0, import_react7.useMemo)(() => ({
283
+ const contextValue = (0, import_react9.useMemo)(() => ({
259
284
  name,
260
285
  selected: value,
261
286
  disabled: disabled ?? false,
@@ -263,34 +288,34 @@ var RadioGroup = (0, import_react7.forwardRef)(function RadioGroupInner({
263
288
  invalid: invalid ?? false,
264
289
  onChange: handleChange
265
290
  }), [disabled, handleChange, invalid, name, readonly, value]);
266
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(RadioGroupContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { role: "radiogroup", "aria-orientation": "vertical", "aria-invalid": invalid, className: classNames, ref, children }) });
291
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(RadioGroupContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { role: "radiogroup", "aria-disabled": disabled, "aria-invalid": invalid, "aria-label": label, "aria-labelledby": props["aria-labelledby"], "aria-orientation": ariaOrientation, className: classNames, ref, children }) });
267
292
  });
268
293
 
269
294
  // src/components/Switch/index.tsx
270
- var import_react9 = require("react");
295
+ var import_react11 = require("react");
271
296
  var import_utils = require("@react-aria/utils");
272
297
 
273
298
  // src/components/Switch/SwitchInput/index.tsx
274
- var import_react8 = require("react");
275
- var import_jsx_runtime7 = require("react/jsx-runtime");
276
- var SwitchInput = (0, import_react8.forwardRef)(function SwitchInput2({
299
+ var import_react10 = require("react");
300
+ var import_jsx_runtime9 = require("react/jsx-runtime");
301
+ var SwitchInput = (0, import_react10.forwardRef)(function SwitchInput2({
277
302
  onChange,
278
303
  className,
279
304
  ...props
280
305
  }, ref) {
281
- const handleChange = (0, import_react8.useCallback)((e) => {
306
+ const handleChange = (0, import_react10.useCallback)((e) => {
282
307
  const el = e.currentTarget;
283
308
  onChange?.(el.checked);
284
309
  }, [onChange]);
285
310
  props.children;
286
311
  const classNames = useClassNames("charcoal-switch-input", className);
287
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("input", { ref, className: classNames, type: "checkbox", onChange: handleChange, ...props });
312
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("input", { ref, className: classNames, type: "checkbox", onChange: handleChange, ...props });
288
313
  });
289
314
  var SwitchInput_default = SwitchInput;
290
315
 
291
316
  // src/components/Switch/SwitchWithLabel.tsx
292
317
  var React6 = __toESM(require("react"));
293
- var import_jsx_runtime8 = require("react/jsx-runtime");
318
+ var import_jsx_runtime10 = require("react/jsx-runtime");
294
319
  var SwitchWithLabel = React6.memo(function SwitchWithLabel2({
295
320
  children,
296
321
  className,
@@ -299,15 +324,15 @@ var SwitchWithLabel = React6.memo(function SwitchWithLabel2({
299
324
  input
300
325
  }) {
301
326
  const classNames = useClassNames("charcoal-switch__label", className);
302
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("label", { htmlFor: id, className: classNames, "aria-disabled": disabled, children: [
327
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("label", { htmlFor: id, className: classNames, "aria-disabled": disabled, children: [
303
328
  input,
304
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "charcoal-switch__label_div", children })
329
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "charcoal-switch__label_div", children })
305
330
  ] });
306
331
  });
307
332
 
308
333
  // src/components/Switch/index.tsx
309
- var import_jsx_runtime9 = require("react/jsx-runtime");
310
- var Switch = (0, import_react9.forwardRef)(function Switch2({
334
+ var import_jsx_runtime11 = require("react/jsx-runtime");
335
+ var Switch = (0, import_react11.forwardRef)(function Switch2({
311
336
  children,
312
337
  onChange,
313
338
  disabled,
@@ -317,22 +342,22 @@ var Switch = (0, import_react9.forwardRef)(function Switch2({
317
342
  }, ref) {
318
343
  const htmlId = (0, import_utils.useId)(id);
319
344
  const noChildren = children === void 0;
320
- const input = /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(SwitchInput_default, { ...props, disabled, className: noChildren ? className : void 0, id: htmlId, onChange, ref, role: "switch", type: "checkbox" });
345
+ const input = /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(SwitchInput_default, { ...props, disabled, className: noChildren ? className : void 0, id: htmlId, onChange, ref, role: "switch", type: "checkbox" });
321
346
  if (noChildren) {
322
347
  return input;
323
348
  }
324
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(SwitchWithLabel, { className, disabled, id: htmlId, input, children });
349
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(SwitchWithLabel, { className, disabled, id: htmlId, input, children });
325
350
  });
326
- var Switch_default = (0, import_react9.memo)(Switch);
351
+ var Switch_default = (0, import_react11.memo)(Switch);
327
352
 
328
353
  // src/components/TextField/index.tsx
329
354
  var import_visually_hidden = require("@react-aria/visually-hidden");
330
- var import_react12 = require("react");
355
+ var import_react14 = require("react");
331
356
  var React8 = __toESM(require("react"));
332
357
 
333
358
  // src/components/FieldLabel/index.tsx
334
359
  var React7 = __toESM(require("react"));
335
- var import_jsx_runtime10 = require("react/jsx-runtime");
360
+ var import_jsx_runtime12 = require("react/jsx-runtime");
336
361
  var FieldLabel = React7.forwardRef(function FieldLabel2({
337
362
  style,
338
363
  className,
@@ -343,10 +368,10 @@ var FieldLabel = React7.forwardRef(function FieldLabel2({
343
368
  ...labelProps
344
369
  }, ref) {
345
370
  const classNames = useClassNames("charcoal-field-label-root", className);
346
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { style, className: classNames, children: [
347
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("label", { ref, className: "charcoal-field-label", ...labelProps, children: label }),
348
- required && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "charcoal-field-label-required-text", children: requiredText }),
349
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "charcoal-field-label-sub-label", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("span", { children: subLabel }) })
371
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { style, className: classNames, children: [
372
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("label", { ref, className: "charcoal-field-label", ...labelProps, children: label }),
373
+ required && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "charcoal-field-label-required-text", children: requiredText }),
374
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "charcoal-field-label-sub-label", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { children: subLabel }) })
350
375
  ] });
351
376
  });
352
377
  var FieldLabel_default = FieldLabel;
@@ -369,9 +394,9 @@ function countCodePointsInString(string) {
369
394
  }
370
395
 
371
396
  // src/components/TextField/useFocusWithClick.tsx
372
- var import_react10 = require("react");
397
+ var import_react12 = require("react");
373
398
  function useFocusWithClick(containerRef, inputRef) {
374
- (0, import_react10.useEffect)(() => {
399
+ (0, import_react12.useEffect)(() => {
375
400
  const el = containerRef.current;
376
401
  if (el) {
377
402
  const handleDown = (e) => {
@@ -391,15 +416,15 @@ function useFocusWithClick(containerRef, inputRef) {
391
416
  var import_utils2 = require("@react-aria/utils");
392
417
 
393
418
  // src/_lib/createDivComponent.tsx
394
- var import_react11 = require("react");
395
- var import_jsx_runtime11 = require("react/jsx-runtime");
419
+ var import_react13 = require("react");
420
+ var import_jsx_runtime13 = require("react/jsx-runtime");
396
421
  function createDivComponent(mainClassName) {
397
- return (0, import_react11.forwardRef)(function DivComponent({
422
+ return (0, import_react13.forwardRef)(function DivComponent({
398
423
  className,
399
424
  ...props
400
425
  }, ref) {
401
426
  const classNames = useClassNames(mainClassName, className);
402
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: classNames, ref, ...props });
427
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: classNames, ref, ...props });
403
428
  });
404
429
  }
405
430
 
@@ -407,7 +432,7 @@ function createDivComponent(mainClassName) {
407
432
  var AssistiveText = createDivComponent("charcoal-text-field-assistive-text");
408
433
 
409
434
  // src/components/TextField/index.tsx
410
- var import_jsx_runtime12 = require("react/jsx-runtime");
435
+ var import_jsx_runtime14 = require("react/jsx-runtime");
411
436
  var TextField = React8.forwardRef(function SingleLineTextFieldInner({
412
437
  assistiveText,
413
438
  className,
@@ -427,13 +452,13 @@ var TextField = React8.forwardRef(function SingleLineTextFieldInner({
427
452
  value,
428
453
  getCount = countCodePointsInString,
429
454
  ...props
430
- }, forwardRef20) {
431
- const inputRef = (0, import_react12.useRef)(null);
455
+ }, forwardRef24) {
456
+ const inputRef = (0, import_react14.useRef)(null);
432
457
  const {
433
458
  visuallyHiddenProps
434
459
  } = (0, import_visually_hidden.useVisuallyHidden)();
435
- const [count, setCount] = (0, import_react12.useState)(getCount(value ?? ""));
436
- const handleChange = (0, import_react12.useCallback)((e) => {
460
+ const [count, setCount] = (0, import_react14.useState)(getCount(value ?? ""));
461
+ const handleChange = (0, import_react14.useCallback)((e) => {
437
462
  const value2 = e.target.value;
438
463
  const count2 = getCount(value2);
439
464
  if (maxLength !== void 0 && count2 > maxLength) {
@@ -442,37 +467,37 @@ var TextField = React8.forwardRef(function SingleLineTextFieldInner({
442
467
  setCount(count2);
443
468
  onChange?.(value2);
444
469
  }, [getCount, maxLength, onChange]);
445
- (0, import_react12.useEffect)(() => {
470
+ (0, import_react14.useEffect)(() => {
446
471
  setCount(getCount(value ?? ""));
447
472
  }, [getCount, value]);
448
- const containerRef = (0, import_react12.useRef)(null);
473
+ const containerRef = (0, import_react14.useRef)(null);
449
474
  useFocusWithClick(containerRef, inputRef);
450
475
  const inputId = (0, import_utils2.useId)(props.id);
451
476
  const describedbyId = (0, import_utils2.useId)();
452
477
  const labelledbyId = (0, import_utils2.useId)();
453
478
  const showAssistiveText = assistiveText != null && assistiveText.length !== 0;
454
479
  const classNames = useClassNames("charcoal-text-field-root");
455
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: classNames, "aria-disabled": disabled, children: [
456
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(FieldLabel_default, { htmlFor: inputId, id: labelledbyId, label, required, requiredText, subLabel, ...!showLabel ? visuallyHiddenProps : {} }),
457
- /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "charcoal-text-field-container", "aria-disabled": disabled === true ? true : void 0, "data-invalid": invalid === true, ref: containerRef, children: [
458
- prefix && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "charcoal-text-field-prefix", children: prefix }),
459
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("input", { className: "charcoal-text-field-input", "aria-describedby": showAssistiveText ? describedbyId : void 0, "aria-invalid": invalid, "aria-labelledby": labelledbyId, id: inputId, "data-invalid": invalid === true, maxLength, onChange: handleChange, disabled, ref: (0, import_utils2.mergeRefs)(forwardRef20, inputRef), type, value, ...props }),
460
- (suffix || showCount) && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "charcoal-text-field-suffix", children: [
480
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: classNames, "aria-disabled": disabled, children: [
481
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(FieldLabel_default, { htmlFor: inputId, id: labelledbyId, label, required, requiredText, subLabel, ...!showLabel ? visuallyHiddenProps : {} }),
482
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "charcoal-text-field-container", "aria-disabled": disabled === true ? true : void 0, "data-invalid": invalid === true, ref: containerRef, children: [
483
+ prefix && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "charcoal-text-field-prefix", children: prefix }),
484
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("input", { className: "charcoal-text-field-input", "aria-describedby": showAssistiveText ? describedbyId : void 0, "aria-invalid": invalid, "aria-labelledby": labelledbyId, id: inputId, "data-invalid": invalid === true, maxLength, onChange: handleChange, disabled, ref: (0, import_utils2.mergeRefs)(forwardRef24, inputRef), type, value, ...props }),
485
+ (suffix || showCount) && /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "charcoal-text-field-suffix", children: [
461
486
  suffix,
462
- showCount && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "charcoal-text-field-line-counter", children: maxLength !== void 0 ? `${count}/${maxLength}` : count })
487
+ showCount && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "charcoal-text-field-line-counter", children: maxLength !== void 0 ? `${count}/${maxLength}` : count })
463
488
  ] })
464
489
  ] }),
465
- showAssistiveText && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(AssistiveText, { "data-invalid": invalid === true, id: describedbyId, children: assistiveText })
490
+ showAssistiveText && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(AssistiveText, { "data-invalid": invalid === true, id: describedbyId, children: assistiveText })
466
491
  ] });
467
492
  });
468
493
  var TextField_default = TextField;
469
494
 
470
495
  // src/components/TextArea/index.tsx
471
496
  var import_visually_hidden2 = require("@react-aria/visually-hidden");
472
- var import_react13 = require("react");
497
+ var import_react15 = require("react");
473
498
  var import_utils3 = require("@react-aria/utils");
474
- var import_jsx_runtime13 = require("react/jsx-runtime");
475
- var TextArea = (0, import_react13.forwardRef)(function TextAreaInner({
499
+ var import_jsx_runtime15 = require("react/jsx-runtime");
500
+ var TextArea = (0, import_react15.forwardRef)(function TextAreaInner({
476
501
  onChange,
477
502
  className,
478
503
  value,
@@ -490,20 +515,20 @@ var TextArea = (0, import_react13.forwardRef)(function TextAreaInner({
490
515
  invalid,
491
516
  getCount = countCodePointsInString,
492
517
  ...props
493
- }, forwardRef20) {
518
+ }, forwardRef24) {
494
519
  const {
495
520
  visuallyHiddenProps
496
521
  } = (0, import_visually_hidden2.useVisuallyHidden)();
497
- const textareaRef = (0, import_react13.useRef)(null);
498
- const [count, setCount] = (0, import_react13.useState)(getCount(value ?? ""));
499
- const [rows, setRows] = (0, import_react13.useState)(initialRows);
500
- const syncHeight = (0, import_react13.useCallback)((textarea) => {
522
+ const textareaRef = (0, import_react15.useRef)(null);
523
+ const [count, setCount] = (0, import_react15.useState)(getCount(value ?? ""));
524
+ const [rows, setRows] = (0, import_react15.useState)(initialRows);
525
+ const syncHeight = (0, import_react15.useCallback)((textarea) => {
501
526
  const rows2 = (`${textarea.value}
502
527
  `.match(/\n/gu)?.length ?? 0) || 1;
503
528
  setRows(initialRows <= rows2 ? rows2 : initialRows);
504
529
  }, [initialRows]);
505
530
  const nonControlled = value === void 0;
506
- const handleChange = (0, import_react13.useCallback)((e) => {
531
+ const handleChange = (0, import_react15.useCallback)((e) => {
507
532
  const value2 = e.target.value;
508
533
  const count2 = getCount(value2);
509
534
  if (maxLength !== void 0 && count2 > maxLength) {
@@ -517,30 +542,30 @@ var TextArea = (0, import_react13.forwardRef)(function TextAreaInner({
517
542
  }
518
543
  onChange?.(value2);
519
544
  }, [autoHeight, getCount, maxLength, nonControlled, onChange, syncHeight]);
520
- (0, import_react13.useEffect)(() => {
545
+ (0, import_react15.useEffect)(() => {
521
546
  setCount(getCount(value ?? ""));
522
547
  }, [getCount, value]);
523
- (0, import_react13.useEffect)(() => {
548
+ (0, import_react15.useEffect)(() => {
524
549
  if (autoHeight && textareaRef.current !== null) {
525
550
  syncHeight(textareaRef.current);
526
551
  }
527
552
  }, [autoHeight, syncHeight]);
528
- const containerRef = (0, import_react13.useRef)(null);
553
+ const containerRef = (0, import_react15.useRef)(null);
529
554
  useFocusWithClick(containerRef, textareaRef);
530
555
  const textAreaId = (0, import_utils3.useId)(props.id);
531
556
  const describedbyId = (0, import_utils3.useId)();
532
557
  const labelledbyId = (0, import_utils3.useId)();
533
558
  const classNames = useClassNames("charcoal-text-area-root", className);
534
559
  const showAssistiveText = assistiveText != null && assistiveText.length !== 0;
535
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: classNames, "aria-disabled": disabled, children: [
536
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(FieldLabel_default, { htmlFor: textAreaId, id: labelledbyId, label, required, requiredText, subLabel, ...!showLabel ? visuallyHiddenProps : {} }),
537
- /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "charcoal-text-area-container", "aria-disabled": disabled === true ? "true" : void 0, "aria-invalid": invalid === true, ref: containerRef, style: {
560
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: classNames, "aria-disabled": disabled, children: [
561
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(FieldLabel_default, { htmlFor: textAreaId, id: labelledbyId, label, required, requiredText, subLabel, ...!showLabel ? visuallyHiddenProps : {} }),
562
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "charcoal-text-area-container", "aria-disabled": disabled === true ? "true" : void 0, "aria-invalid": invalid === true, ref: containerRef, style: {
538
563
  "--charcoal-text-area-rows": `${showCount ? rows + 1 : rows}`
539
564
  }, children: [
540
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("textarea", { className: "charcoal-text-area-textarea", "aria-describedby": showAssistiveText ? describedbyId : void 0, "aria-invalid": invalid, "aria-labelledby": labelledbyId, id: textAreaId, maxLength, "data-no-bottom-padding": showCount, onChange: handleChange, ref: mergeRefs(forwardRef20, textareaRef), rows, value, disabled, ...props }),
541
- showCount && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { className: "charcoal-text-area-counter", children: maxLength !== void 0 ? `${count}/${maxLength}` : count })
565
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("textarea", { className: "charcoal-text-area-textarea", "aria-describedby": showAssistiveText ? describedbyId : void 0, "aria-invalid": invalid, "aria-labelledby": labelledbyId, id: textAreaId, maxLength, "data-no-bottom-padding": showCount, onChange: handleChange, ref: mergeRefs(forwardRef24, textareaRef), rows, value, disabled, ...props }),
566
+ showCount && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "charcoal-text-area-counter", children: maxLength !== void 0 ? `${count}/${maxLength}` : count })
542
567
  ] }),
543
- showAssistiveText && /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(AssistiveText, { "data-invalid": invalid === true, id: describedbyId, children: assistiveText })
568
+ showAssistiveText && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(AssistiveText, { "data-invalid": invalid === true, id: describedbyId, children: assistiveText })
544
569
  ] });
545
570
  });
546
571
  var TextArea_default = TextArea;
@@ -548,7 +573,7 @@ var TextArea_default = TextArea;
548
573
  // src/components/Icon/index.tsx
549
574
  var React9 = __toESM(require("react"));
550
575
  var import_icons = require("@charcoal-ui/icons");
551
- var import_jsx_runtime14 = require("react/jsx-runtime");
576
+ var import_jsx_runtime16 = require("react/jsx-runtime");
552
577
  var Icon = React9.forwardRef(function IconInner({
553
578
  name,
554
579
  scale,
@@ -556,12 +581,12 @@ var Icon = React9.forwardRef(function IconInner({
556
581
  className,
557
582
  ...rest
558
583
  }, ref) {
559
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("pixiv-icon", { ref, name, scale, "unsafe-non-guideline-scale": unsafeNonGuidelineScale, class: className, ...rest });
584
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("pixiv-icon", { ref, name, scale, "unsafe-non-guideline-scale": unsafeNonGuidelineScale, class: className, ...rest });
560
585
  });
561
586
  var Icon_default = Icon;
562
587
 
563
588
  // src/components/Modal/index.tsx
564
- var import_react16 = require("react");
589
+ var import_react18 = require("react");
565
590
  var React13 = __toESM(require("react"));
566
591
  var import_overlays3 = require("@react-aria/overlays");
567
592
  var import_styled_components2 = require("styled-components");
@@ -571,7 +596,7 @@ var import_react_spring = require("react-spring");
571
596
  var import_utils5 = require("@react-aria/utils");
572
597
 
573
598
  // src/components/Modal/Dialog/index.tsx
574
- var import_react14 = require("react");
599
+ var import_react16 = require("react");
575
600
  var import_dialog = require("@react-aria/dialog");
576
601
 
577
602
  // src/_lib/useForwardedRef.tsx
@@ -591,22 +616,22 @@ function useForwardedRef(ref) {
591
616
  }
592
617
 
593
618
  // src/components/Modal/Dialog/index.tsx
594
- var import_jsx_runtime15 = require("react/jsx-runtime");
595
- var Dialog = (0, import_react14.forwardRef)(function Dialog2({
619
+ var import_jsx_runtime17 = require("react/jsx-runtime");
620
+ var Dialog = (0, import_react16.forwardRef)(function Dialog2({
596
621
  size,
597
622
  bottomSheet,
598
- css: css2,
623
+ css,
599
624
  className,
600
625
  ...props
601
- }, forwardRef20) {
602
- const ref = useForwardedRef(forwardRef20);
626
+ }, forwardRef24) {
627
+ const ref = useForwardedRef(forwardRef24);
603
628
  const {
604
629
  dialogProps
605
630
  } = (0, import_dialog.useDialog)({
606
631
  role: "dialog"
607
632
  }, ref);
608
633
  const classNames = useClassNames("charcoal-modal-dialog", className);
609
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: classNames, role: dialogProps.role, "data-bottom-sheet": bottomSheet, tabIndex: dialogProps.tabIndex, "aria-labelledby": dialogProps["aria-labelledby"], onBlur: dialogProps.onBlur, ref, ...props });
634
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: classNames, role: dialogProps.role, "data-bottom-sheet": bottomSheet, tabIndex: dialogProps.tabIndex, "aria-labelledby": dialogProps["aria-labelledby"], onBlur: dialogProps.onBlur, ref, ...props });
610
635
  });
611
636
 
612
637
  // src/components/Modal/ModalBackgroundContext.tsx
@@ -618,9 +643,9 @@ var React12 = __toESM(require("react"));
618
643
  var import_overlays2 = require("@react-aria/overlays");
619
644
 
620
645
  // src/components/DropdownSelector/Popover/usePreventScroll.tsx
621
- var import_react15 = require("react");
646
+ var import_react17 = require("react");
622
647
  function usePreventScroll(element, isOpen) {
623
- (0, import_react15.useEffect)(() => {
648
+ (0, import_react17.useEffect)(() => {
624
649
  if (isOpen && element) {
625
650
  const defaultPaddingRight = element.style.paddingRight;
626
651
  const defaultOverflow = element.style.overflow;
@@ -659,9 +684,9 @@ function useCharcoalModalOverlay(props, state, ref) {
659
684
  }
660
685
 
661
686
  // src/components/Modal/index.tsx
662
- var import_jsx_runtime16 = require("react/jsx-runtime");
687
+ var import_jsx_runtime18 = require("react/jsx-runtime");
663
688
  var DEFAULT_Z_INDEX = 10;
664
- var Modal = (0, import_react16.forwardRef)(function ModalInner({
689
+ var Modal = (0, import_react18.forwardRef)(function ModalInner({
665
690
  children,
666
691
  zIndex = DEFAULT_Z_INDEX,
667
692
  portalContainer,
@@ -727,15 +752,15 @@ var Modal = (0, import_react16.forwardRef)(function ModalInner({
727
752
  backgroundColor,
728
753
  overflow,
729
754
  transform
730
- }, item) => item && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_overlays3.Overlay, { portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_react_spring.animated.div, { className: "charcoal-modal-background", ref: bgRef, ...underlayProps, style: transitionEnabled ? {
755
+ }, item) => item && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_overlays3.Overlay, { portalContainer, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_spring.animated.div, { className: "charcoal-modal-background", ref: bgRef, ...underlayProps, style: transitionEnabled ? {
731
756
  backgroundColor,
732
757
  overflow,
733
758
  zIndex
734
759
  } : {
735
760
  zIndex
736
- }, "data-bottom-sheet": bottomSheet, onClick: handleClick, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(ModalBackgroundContext.Provider, { value: bgRef.current, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(AnimatedDialog, { ref, ...modalProps, style: transitionEnabled ? {
761
+ }, "data-bottom-sheet": bottomSheet, onClick: handleClick, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ModalBackgroundContext.Provider, { value: bgRef.current, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(AnimatedDialog, { ref, ...modalProps, style: transitionEnabled ? {
737
762
  transform
738
- } : {}, size, bottomSheet, className, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(ModalContext.Provider, { value: {
763
+ } : {}, size, bottomSheet, className, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(ModalContext.Provider, { value: {
739
764
  titleProps: {},
740
765
  title,
741
766
  close: onClose,
@@ -743,11 +768,11 @@ var Modal = (0, import_react16.forwardRef)(function ModalInner({
743
768
  bottomSheet
744
769
  }, children: [
745
770
  children,
746
- isDismissable === true && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(ModalCloseButton, { "aria-label": closeButtonAriaLabel, onClick: onClose })
771
+ isDismissable === true && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ModalCloseButton, { "aria-label": closeButtonAriaLabel, onClick: onClose })
747
772
  ] }) }) }) }) }));
748
773
  });
749
774
  var AnimatedDialog = (0, import_react_spring.animated)(Dialog);
750
- var Modal_default = (0, import_react16.memo)(Modal);
775
+ var Modal_default = (0, import_react18.memo)(Modal);
751
776
  var ModalContext = React13.createContext({
752
777
  titleProps: {},
753
778
  title: "",
@@ -756,41 +781,41 @@ var ModalContext = React13.createContext({
756
781
  bottomSheet: false
757
782
  });
758
783
  function ModalCloseButton(props) {
759
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(IconButton_default, { className: "charcoal-modal-close-button", size: "S", icon: "24/Close", type: "button", ...props });
784
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(IconButton_default, { className: "charcoal-modal-close-button", size: "S", icon: "24/Close", type: "button", ...props });
760
785
  }
761
786
 
762
787
  // src/components/Modal/ModalPlumbing.tsx
763
- var import_react17 = require("react");
764
- var import_jsx_runtime17 = require("react/jsx-runtime");
788
+ var import_react19 = require("react");
789
+ var import_jsx_runtime19 = require("react/jsx-runtime");
765
790
  function ModalHeader() {
766
- const modalCtx = (0, import_react17.useContext)(ModalContext);
767
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "charcoal-modal-header-root", "data-bottom-sheet": modalCtx.bottomSheet, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: "charcoal-modal-header-title", children: modalCtx.title }) });
791
+ const modalCtx = (0, import_react19.useContext)(ModalContext);
792
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "charcoal-modal-header-root", "data-bottom-sheet": modalCtx.bottomSheet, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "charcoal-modal-header-title", children: modalCtx.title }) });
768
793
  }
769
794
  var ModalAlign = createDivComponent("charcoal-modal-align");
770
795
  var ModalBody = createDivComponent("charcoal-modal-body");
771
796
  var ModalButtons = createDivComponent("charcoal-modal-buttons");
772
797
 
773
798
  // src/components/LoadingSpinner/index.tsx
774
- var import_react18 = require("react");
775
- var import_jsx_runtime18 = require("react/jsx-runtime");
776
- var LoadingSpinner = (0, import_react18.forwardRef)(function LoadingSpinnerInner({
799
+ var import_react20 = require("react");
800
+ var import_jsx_runtime20 = require("react/jsx-runtime");
801
+ var LoadingSpinner = (0, import_react20.forwardRef)(function LoadingSpinnerInner({
777
802
  size = 48,
778
803
  padding = 16,
779
804
  transparent = false,
780
805
  ...props
781
806
  }, ref) {
782
807
  const classNames = useClassNames("charcoal-loading-spinner", props.className);
783
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { role: "progressbar", style: {
808
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { role: "progressbar", style: {
784
809
  "--charcoal-loading-spinner-size": `${size}px`,
785
810
  "--charcoal-loading-spinner-padding": `${padding}px`
786
- }, "data-transparent": transparent, className: classNames, ref, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(LoadingSpinnerIcon, {}) });
811
+ }, "data-transparent": transparent, className: classNames, ref, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(LoadingSpinnerIcon, {}) });
787
812
  });
788
- var LoadingSpinner_default = (0, import_react18.memo)(LoadingSpinner);
789
- var LoadingSpinnerIcon = (0, import_react18.forwardRef)(function LoadingSpinnerIcon2({
813
+ var LoadingSpinner_default = (0, import_react20.memo)(LoadingSpinner);
814
+ var LoadingSpinnerIcon = (0, import_react20.forwardRef)(function LoadingSpinnerIcon2({
790
815
  once = false
791
816
  }, ref) {
792
- const iconRef = (0, import_react18.useRef)(null);
793
- (0, import_react18.useImperativeHandle)(ref, () => ({
817
+ const iconRef = (0, import_react20.useRef)(null);
818
+ (0, import_react20.useImperativeHandle)(ref, () => ({
794
819
  restart: () => {
795
820
  if (!iconRef.current) {
796
821
  return;
@@ -800,25 +825,22 @@ var LoadingSpinnerIcon = (0, import_react18.forwardRef)(function LoadingSpinnerI
800
825
  delete iconRef.current.dataset.resetAnimation;
801
826
  }
802
827
  }));
803
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { role: "presentation", ref: iconRef, "data-once": once, className: "charcoal-loading-spinner-icon" });
828
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { role: "presentation", ref: iconRef, "data-once": once, className: "charcoal-loading-spinner-icon" });
804
829
  });
805
830
 
806
831
  // src/components/DropdownSelector/index.tsx
807
- var import_react23 = require("react");
808
- var import_styled_components5 = __toESM(require("styled-components"));
809
- var import_utils6 = require("@charcoal-ui/utils");
832
+ var import_react25 = require("react");
810
833
 
811
834
  // src/components/DropdownSelector/DropdownPopover.tsx
812
- var import_react20 = require("react");
835
+ var import_react22 = require("react");
813
836
 
814
837
  // src/components/DropdownSelector/Popover/index.tsx
815
- var import_react19 = require("react");
838
+ var import_react21 = require("react");
816
839
  var import_overlays4 = require("@react-aria/overlays");
817
- var import_styled_components3 = __toESM(require("styled-components"));
818
- var import_jsx_runtime19 = require("react/jsx-runtime");
840
+ var import_jsx_runtime21 = require("react/jsx-runtime");
819
841
  var _empty = () => null;
820
842
  function Popover(props) {
821
- const defaultPopoverRef = (0, import_react19.useRef)(null);
843
+ const defaultPopoverRef = (0, import_react21.useRef)(null);
822
844
  const finalPopoverRef = props.popoverRef === void 0 ? defaultPopoverRef : props.popoverRef;
823
845
  const {
824
846
  popoverProps,
@@ -834,49 +856,55 @@ function Popover(props) {
834
856
  setOpen: _empty,
835
857
  toggle: _empty
836
858
  });
837
- const modalBackground = (0, import_react19.useContext)(ModalBackgroundContext);
859
+ const modalBackground = (0, import_react21.useContext)(ModalBackgroundContext);
838
860
  usePreventScroll(modalBackground, props.isOpen);
839
861
  if (!props.isOpen)
840
862
  return null;
841
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_overlays4.Overlay, { portalContainer: document.body, children: [
842
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { ...underlayProps, style: {
863
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_overlays4.Overlay, { portalContainer: document.body, children: [
864
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { ...underlayProps, style: {
843
865
  position: "fixed",
844
866
  zIndex: typeof popoverProps.style?.zIndex === "number" ? popoverProps.style.zIndex - 1 : 99999,
845
867
  inset: 0
846
868
  } }),
847
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(DropdownPopoverDiv, { ...popoverProps, ref: finalPopoverRef, children: [
848
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_overlays4.DismissButton, { onDismiss: () => props.onClose() }),
869
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { ...popoverProps, ref: finalPopoverRef, className: "charcoal-popover", children: [
870
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_overlays4.DismissButton, { onDismiss: () => props.onClose() }),
871
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { tabIndex: 0, onFocus: props.onClose }),
849
872
  props.children,
850
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_overlays4.DismissButton, { onDismiss: () => props.onClose() })
873
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { tabIndex: 0, onFocus: props.onClose }),
874
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_overlays4.DismissButton, { onDismiss: () => props.onClose() })
851
875
  ] })
852
876
  ] });
853
877
  }
854
- var DropdownPopoverDiv = import_styled_components3.default.div.withConfig({
855
- componentId: "ccl__sc-jwnoy6-0"
856
- })(["margin:4px 0;list-style:none;overflow:auto;max-height:inherit;background-color:var(--charcoal-background1);border:solid 1px var(--charcoal-border-default);border-radius:8px;padding-top:8px;padding-bottom:8px;"]);
857
878
 
858
879
  // src/components/DropdownSelector/DropdownPopover.tsx
859
- var import_jsx_runtime20 = require("react/jsx-runtime");
880
+ var import_jsx_runtime22 = require("react/jsx-runtime");
860
881
  function DropdownPopover({
861
882
  children,
862
883
  ...props
863
884
  }) {
864
- const ref = (0, import_react20.useRef)(null);
865
- (0, import_react20.useEffect)(() => {
885
+ const ref = (0, import_react22.useRef)(null);
886
+ (0, import_react22.useEffect)(() => {
866
887
  if (props.isOpen && ref.current && props.triggerRef.current) {
867
888
  ref.current.style.width = `${props.triggerRef.current.clientWidth}px`;
868
889
  }
869
890
  }, [props.triggerRef, props.isOpen]);
870
- (0, import_react20.useEffect)(() => {
871
- if (props.isOpen && props.value !== void 0) {
872
- const windowScrollY = window.scrollY;
873
- const windowScrollX = window.scrollX;
874
- const selectedElement = document.querySelector(`[data-key="${props.value.toString()}"]`);
875
- selectedElement?.focus();
876
- window.scrollTo(windowScrollX, windowScrollY);
891
+ (0, import_react22.useEffect)(() => {
892
+ if (props.isOpen) {
893
+ if (props.value !== void 0 && props.value !== "") {
894
+ const windowScrollY = window.scrollY;
895
+ const windowScrollX = window.scrollX;
896
+ const selectedElement = document.querySelector(`[data-key="${props.value.toString()}"]`);
897
+ selectedElement?.focus();
898
+ window.scrollTo(windowScrollX, windowScrollY);
899
+ } else {
900
+ const el = ref.current?.querySelector("[role='option']");
901
+ if (el instanceof HTMLElement) {
902
+ el.focus();
903
+ }
904
+ }
877
905
  }
878
906
  }, [props.value, props.isOpen]);
879
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Popover, { isOpen: props.isOpen, onClose: props.onClose, popoverRef: ref, triggerRef: props.triggerRef, children });
907
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Popover, { isOpen: props.isOpen, onClose: props.onClose, popoverRef: ref, triggerRef: props.triggerRef, children });
880
908
  }
881
909
 
882
910
  // src/components/DropdownSelector/utils/findPreviewRecursive.tsx
@@ -904,12 +932,11 @@ function findPreviewRecursive(children, value) {
904
932
  }
905
933
 
906
934
  // src/components/DropdownSelector/MenuList/index.tsx
907
- var import_react22 = require("react");
908
- var import_styled_components4 = __toESM(require("styled-components"));
935
+ var import_react24 = require("react");
909
936
 
910
937
  // src/components/DropdownSelector/MenuList/MenuListContext.ts
911
- var import_react21 = require("react");
912
- var MenuListContext = (0, import_react21.createContext)({
938
+ var import_react23 = require("react");
939
+ var MenuListContext = (0, import_react23.createContext)({
913
940
  root: void 0,
914
941
  value: "",
915
942
  propsArray: [],
@@ -941,11 +968,11 @@ function getValuesRecursive(children) {
941
968
  }
942
969
 
943
970
  // src/components/DropdownSelector/MenuList/index.tsx
944
- var import_jsx_runtime21 = require("react/jsx-runtime");
971
+ var import_jsx_runtime23 = require("react/jsx-runtime");
945
972
  function MenuList(props) {
946
- const root = (0, import_react22.useRef)(null);
947
- const propsArray = (0, import_react22.useMemo)(() => getValuesRecursive(props.children), [props.children]);
948
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(StyledUl, { ref: root, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(MenuListContext.Provider, { value: {
973
+ const root = (0, import_react24.useRef)(null);
974
+ const propsArray = (0, import_react24.useMemo)(() => getValuesRecursive(props.children), [props.children]);
975
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("ul", { className: "charcoal-menu-list", ref: root, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(MenuListContext.Provider, { value: {
949
976
  value: props.value ?? "",
950
977
  root,
951
978
  propsArray,
@@ -954,89 +981,70 @@ function MenuList(props) {
954
981
  }
955
982
  }, children: props.children }) });
956
983
  }
957
- var StyledUl = import_styled_components4.default.ul.withConfig({
958
- componentId: "ccl__sc-1y72v02-0"
959
- })(["padding:0;margin:0;"]);
960
984
 
961
985
  // src/components/DropdownSelector/index.tsx
962
- var import_styled3 = require("@charcoal-ui/styled");
963
986
  var import_visually_hidden3 = require("@react-aria/visually-hidden");
964
- var import_jsx_runtime22 = require("react/jsx-runtime");
965
- var defaultRequiredText = "*\u5FC5\u9808";
987
+ var import_utils6 = require("@react-aria/utils");
988
+ var import_jsx_runtime24 = require("react/jsx-runtime");
966
989
  function DropdownSelector({
967
990
  onChange,
991
+ showLabel = false,
968
992
  ...props
969
993
  }) {
970
- const triggerRef = (0, import_react23.useRef)(null);
971
- const [isOpen, setIsOpen] = (0, import_react23.useState)(false);
994
+ const triggerRef = (0, import_react25.useRef)(null);
995
+ const [isOpen, setIsOpen] = (0, import_react25.useState)(false);
972
996
  const preview = findPreviewRecursive(props.children, props.value);
973
- const isPlaceholder = (0, import_react23.useMemo)(() => props.placeholder !== void 0 && preview === void 0, [preview, props.placeholder]);
997
+ const isPlaceholder = (0, import_react25.useMemo)(() => props.placeholder !== void 0 && preview === void 0, [preview, props.placeholder]);
974
998
  const propsArray = getValuesRecursive(props.children);
975
999
  const {
976
1000
  visuallyHiddenProps
977
1001
  } = (0, import_visually_hidden3.useVisuallyHidden)();
978
- const handleChange = (0, import_react23.useCallback)((e) => {
1002
+ const handleChange = (0, import_react25.useCallback)((e) => {
979
1003
  onChange(e.target.value);
980
1004
  }, [onChange]);
981
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(DropdownSelectorRoot, { "aria-disabled": props.disabled, children: [
982
- props.showLabel === true && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(FieldLabel_default, { label: props.label, required: props.required, requiredText: props.requiredText ?? defaultRequiredText, subLabel: props.subLabel }),
983
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { ...visuallyHiddenProps, "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("select", { name: props.name, value: props.value, onChange: handleChange, tabIndex: -1, children: propsArray.map((itemProps) => {
984
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("option", { value: itemProps.value, disabled: itemProps.disabled, children: itemProps.value }, itemProps.value);
1005
+ const labelId = (0, import_utils6.useId)();
1006
+ const describedbyId = (0, import_utils6.useId)();
1007
+ const classNames = useClassNames("charcoal-dropdown-selector-root", props.className);
1008
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: classNames, "aria-disabled": props.disabled, children: [
1009
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(FieldLabel_default, { id: labelId, label: props.label, required: props.required, requiredText: props.requiredText, subLabel: props.subLabel, ...!showLabel ? visuallyHiddenProps : {} }),
1010
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { ...visuallyHiddenProps, "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("select", { name: props.name, value: props.value, onChange: handleChange, tabIndex: -1, children: propsArray.map((itemProps) => {
1011
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("option", { value: itemProps.value, disabled: itemProps.disabled, children: itemProps.value }, itemProps.value);
985
1012
  }) }) }),
986
- /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(DropdownButton, { invalid: props.invalid, disabled: props.disabled, onClick: () => {
1013
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("button", { className: "charcoal-dropdown-selector-button", "aria-labelledby": labelId, "aria-invalid": props.invalid, "aria-describedby": props.assistiveText !== void 0 ? describedbyId : void 0, disabled: props.disabled, onClick: () => {
987
1014
  if (props.disabled === true)
988
1015
  return;
989
1016
  setIsOpen(true);
990
- }, ref: triggerRef, type: "button", $active: isOpen, children: [
991
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DropdownButtonText, { $isText3: isPlaceholder, children: isPlaceholder ? props.placeholder : preview }),
992
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DropdownButtonIcon, { name: "16/Menu" })
1017
+ }, ref: triggerRef, type: "button", "data-active": isOpen, children: [
1018
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "charcoal-ui-dropdown-selector-text", "data-placeholder": isPlaceholder, children: isPlaceholder ? props.placeholder : preview }),
1019
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Icon_default, { className: "charcoal-ui-dropdown-selector-icon", name: "16/Menu" })
993
1020
  ] }),
994
- isOpen && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DropdownPopover, { isOpen, onClose: () => setIsOpen(false), triggerRef, value: props.value, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(MenuList, { value: props.value, onChange: (v) => {
1021
+ isOpen && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DropdownPopover, { isOpen, onClose: () => setIsOpen(false), triggerRef, value: props.value, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(MenuList, { value: props.value, onChange: (v) => {
995
1022
  onChange(v);
996
1023
  setIsOpen(false);
997
1024
  }, children: props.children }) }),
998
- props.assistiveText !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(AssistiveText, { "data-invalid": props.invalid === true, children: props.assistiveText })
1025
+ props.assistiveText !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(AssistiveText, { "data-invalid": props.invalid === true, id: describedbyId, children: props.assistiveText })
999
1026
  ] });
1000
1027
  }
1001
- var DropdownSelectorRoot = import_styled_components5.default.div.withConfig({
1002
- componentId: "ccl__sc-1vnxmc8-0"
1003
- })(["display:grid;grid-template-columns:1fr;grid-gap:4px;width:100%;", "{cursor:default;opacity:0.32;}"], import_utils6.disabledSelector);
1004
- var DropdownButton = import_styled_components5.default.button.withConfig({
1005
- componentId: "ccl__sc-1vnxmc8-1"
1006
- })(["display:grid;grid-template-columns:1fr auto;justify-content:space-between;align-items:center;height:40px;width:100%;box-sizing:border-box;border:none;cursor:pointer;gap:4px;", "{cursor:default;}padding-right:8px;padding-left:8px;background-color:var(--charcoal-surface3);border-radius:4px;transition:0.2s box-shadow,0.2s background-color;&:not(:disabled):not([aria-disabled]),&[aria-disabled='false']{", " ", "}", ""], import_utils6.disabledSelector, import_styled3.focusVisibleFocusRingCss, ({
1007
- $active
1008
- }) => $active === true ? (0, import_styled_components5.css)(["background-color:var(--charcoal-surface3-press);"]) : (0, import_styled_components5.css)(["&:hover{background-color:var(--charcoal-surface3-hover);}&:active{background-color:var(--charcoal-surface3-press);}"]), ({
1009
- invalid
1010
- }) => invalid === true && (0, import_styled_components5.css)(["&:not(:disabled):not([aria-disabled]),&[aria-disabled='false']{box-shadow:0 0 0 4px rgba(255,43,0,0.32);}"]));
1011
- var DropdownButtonText = import_styled_components5.default.span.withConfig({
1012
- componentId: "ccl__sc-1vnxmc8-2"
1013
- })(["text-align:left;font-size:14px;line-height:22px;display:flow-root;color:var(--charcoal-", ");overflow:hidden;text-overflow:ellipsis;white-space:nowrap;"], (p) => p.$isText3 ? "text3" : "text2");
1014
- var DropdownButtonIcon = (0, import_styled_components5.default)(Icon_default).withConfig({
1015
- componentId: "ccl__sc-1vnxmc8-3"
1016
- })(["color:var(--charcoal-text2);"]);
1017
-
1018
- // src/components/DropdownSelector/DropdownMenuItem.tsx
1019
- var import_styled_components7 = __toESM(require("styled-components"));
1028
+
1029
+ // src/components/DropdownSelector/MenuItem/index.tsx
1030
+ var import_react28 = require("react");
1020
1031
 
1021
1032
  // src/components/DropdownSelector/ListItem/index.tsx
1022
- var import_styled_components6 = __toESM(require("styled-components"));
1023
- var import_jsx_runtime23 = require("react/jsx-runtime");
1024
- function ListItem(props) {
1025
- const {
1026
- children,
1027
- ...rest
1028
- } = props;
1029
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(StyledLi, { role: "option", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ItemDiv, { ...rest, children: props.children }) });
1030
- }
1031
- var StyledLi = import_styled_components6.default.li.withConfig({
1032
- componentId: "ccl__sc-p1vs75-0"
1033
- })(["list-style:none;"]);
1034
- var ItemDiv = import_styled_components6.default.div.withConfig({
1035
- componentId: "ccl__sc-p1vs75-1"
1036
- })(["display:flex;align-items:center;min-height:40px;cursor:pointer;outline:none;padding-right:16px;padding-left:16px;transition:background-color 0.2s;&:disabled,&[aria-disabled]:not([aria-disabled='false']){opacity:0.32;cursor:default;}:hover,:focus,:focus-within{&:not(disabled):not([aria-disabled='true']){background-color:var(--charcoal-surface3);}}"]);
1033
+ var import_react26 = require("react");
1034
+ var import_jsx_runtime25 = require("react/jsx-runtime");
1035
+ var ListItem = (0, import_react26.forwardRef)(function ListItem2({
1036
+ as,
1037
+ className,
1038
+ ...props
1039
+ }, ref) {
1040
+ const Component = (0, import_react26.useMemo)(() => as ?? "li", [as]);
1041
+ const classNames = useClassNames("charcoal-list-item", className);
1042
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Component, { className: classNames, ref, ...props });
1043
+ });
1044
+ var ListItem_default = ListItem;
1037
1045
 
1038
1046
  // src/components/DropdownSelector/MenuItem/internals/useMenuItemHandleKeyDown.tsx
1039
- var import_react24 = require("react");
1047
+ var import_react27 = require("react");
1040
1048
 
1041
1049
  // src/components/DropdownSelector/MenuItem/internals/handleFocusByKeyBoard.tsx
1042
1050
  function handleFocusByKeyBoard(element, parent) {
@@ -1073,12 +1081,12 @@ function useMenuItemHandleKeyDown(value) {
1073
1081
  setValue,
1074
1082
  root,
1075
1083
  propsArray
1076
- } = (0, import_react24.useContext)(MenuListContext);
1077
- const setContextValue = (0, import_react24.useCallback)(() => {
1084
+ } = (0, import_react27.useContext)(MenuListContext);
1085
+ const setContextValue = (0, import_react27.useCallback)(() => {
1078
1086
  if (value !== void 0)
1079
1087
  setValue(value);
1080
1088
  }, [value, setValue]);
1081
- const handleKeyDown = (0, import_react24.useCallback)((e) => {
1089
+ const handleKeyDown = (0, import_react27.useCallback)((e) => {
1082
1090
  if (e.key === "Enter") {
1083
1091
  setContextValue();
1084
1092
  } else if (e.key === "ArrowUp" || e.key === "ArrowDown") {
@@ -1113,89 +1121,72 @@ function useMenuItemHandleKeyDown(value) {
1113
1121
  }
1114
1122
 
1115
1123
  // src/components/DropdownSelector/MenuItem/index.tsx
1116
- var import_jsx_runtime24 = require("react/jsx-runtime");
1117
- function MenuItem(props) {
1118
- const {
1119
- children,
1120
- as,
1121
- ...rest
1122
- } = props;
1123
- const [handleKeyDown, setContextValue] = useMenuItemHandleKeyDown(props.value);
1124
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(ListItem, { ...rest, as, "data-key": props.value, onKeyDown: handleKeyDown, onClick: props.disabled === true ? void 0 : setContextValue, tabIndex: -1, "aria-disabled": props.disabled, children: props.children });
1125
- }
1124
+ var import_jsx_runtime26 = require("react/jsx-runtime");
1125
+ var MenuItem = (0, import_react28.forwardRef)(function MenuItem2({
1126
+ className,
1127
+ value,
1128
+ disabled,
1129
+ ...props
1130
+ }, ref) {
1131
+ const [handleKeyDown, setContextValue] = useMenuItemHandleKeyDown(value);
1132
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(ListItem_default, { ...props, ref, "data-key": value, onKeyDown: handleKeyDown, onClick: disabled === true ? void 0 : setContextValue, tabIndex: -1, "aria-disabled": disabled, role: "option", children: props.children });
1133
+ });
1134
+ var MenuItem_default = MenuItem;
1126
1135
 
1127
- // src/components/DropdownSelector/DropdownMenuItem.tsx
1128
- var import_react25 = require("react");
1129
- var import_jsx_runtime25 = require("react/jsx-runtime");
1136
+ // src/components/DropdownSelector/DropdownMenuItem/index.tsx
1137
+ var import_react29 = require("react");
1138
+ var import_jsx_runtime27 = require("react/jsx-runtime");
1130
1139
  function DropdownMenuItem(props) {
1131
1140
  const {
1132
1141
  value: ctxValue
1133
- } = (0, import_react25.useContext)(MenuListContext);
1142
+ } = (0, import_react29.useContext)(MenuListContext);
1134
1143
  const isSelected = props.value === ctxValue;
1135
1144
  const {
1136
1145
  children,
1137
1146
  ...rest
1138
1147
  } = props;
1139
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(MenuItem, { ...rest, children: [
1140
- isSelected && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Text2ColorIcon, { name: "16/Check" }),
1141
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(StyledSpan, { isSelected, children: props.children })
1148
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(MenuItem_default, { ...rest, "aria-selected": isSelected, children: [
1149
+ isSelected && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Icon_default, { className: "charcoal-dropdown-selector-menu-item-icon", name: "16/Check" }),
1150
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "charcoal-dropdown-selector-menu-item", "data-selected": isSelected, children: props.children })
1142
1151
  ] });
1143
1152
  }
1144
- var StyledSpan = import_styled_components7.default.span.withConfig({
1145
- componentId: "ccl__sc-108wg2j-0"
1146
- })(["font-size:14px;line-height:22px;color:var(--charcoal-text2);padding:9px 0;display:flex;align-items:center;width:100%;margin-left:", "px;"], ({
1147
- isSelected
1148
- }) => isSelected === true ? 0 : 20);
1149
- var Text2ColorIcon = (0, import_styled_components7.default)(Icon_default).withConfig({
1150
- componentId: "ccl__sc-108wg2j-1"
1151
- })(["color:var(--charcoal-text2);padding-right:4px;"]);
1152
1153
 
1153
1154
  // src/components/DropdownSelector/MenuItemGroup/index.tsx
1154
- var import_styled_components8 = __toESM(require("styled-components"));
1155
- var import_jsx_runtime26 = require("react/jsx-runtime");
1155
+ var import_jsx_runtime28 = require("react/jsx-runtime");
1156
1156
  function MenuItemGroup(props) {
1157
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(StyledLi2, { role: "presentation", children: [
1158
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(TextSpan, { children: props.text }),
1159
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(StyledUl2, { role: "group", children: props.children })
1157
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("li", { className: "charcoal-menu-item-group", role: "presentation", children: [
1158
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { children: props.text }),
1159
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("ul", { role: "group", children: props.children })
1160
1160
  ] });
1161
1161
  }
1162
- var TextSpan = import_styled_components8.default.span.withConfig({
1163
- componentId: "ccl__sc-1ubjfz7-0"
1164
- })(["display:block;color:var(--charcoal-text3);font-size:12px;font-weight:bold;padding:12px 0 8px 16px;"]);
1165
- var StyledUl2 = import_styled_components8.default.ul.withConfig({
1166
- componentId: "ccl__sc-1ubjfz7-1"
1167
- })(["padding-left:0;margin:0;box-sizing:border-box;list-style:none;overflow:hidden;"]);
1168
- var StyledLi2 = import_styled_components8.default.li.withConfig({
1169
- componentId: "ccl__sc-1ubjfz7-2"
1170
- })(["display:block;"]);
1171
1162
 
1172
1163
  // src/components/SegmentedControl/index.tsx
1173
- var import_react27 = require("react");
1164
+ var import_react31 = require("react");
1174
1165
  var import_radio = require("@react-stately/radio");
1175
1166
  var import_radio2 = require("@react-aria/radio");
1176
1167
 
1177
1168
  // src/components/SegmentedControl/RadioGroupContext.tsx
1178
- var import_react26 = require("react");
1179
- var import_jsx_runtime27 = require("react/jsx-runtime");
1180
- var RadioContext = (0, import_react26.createContext)(null);
1169
+ var import_react30 = require("react");
1170
+ var import_jsx_runtime29 = require("react/jsx-runtime");
1171
+ var RadioContext = (0, import_react30.createContext)(null);
1181
1172
  var RadioProvider = ({
1182
1173
  value,
1183
1174
  children
1184
1175
  }) => {
1185
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(RadioContext.Provider, { value, children });
1176
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(RadioContext.Provider, { value, children });
1186
1177
  };
1187
1178
  var useRadioContext = () => {
1188
- const state = (0, import_react26.useContext)(RadioContext);
1179
+ const state = (0, import_react30.useContext)(RadioContext);
1189
1180
  if (state === null)
1190
1181
  throw new Error("`<RadioProvider>` is not likely mounted.");
1191
1182
  return state;
1192
1183
  };
1193
1184
 
1194
1185
  // src/components/SegmentedControl/index.tsx
1195
- var import_jsx_runtime28 = require("react/jsx-runtime");
1196
- var SegmentedControl = (0, import_react27.forwardRef)(function SegmentedControlInner(props, ref) {
1186
+ var import_jsx_runtime30 = require("react/jsx-runtime");
1187
+ var SegmentedControl = (0, import_react31.forwardRef)(function SegmentedControlInner(props, ref) {
1197
1188
  const className = useClassNames("charcoal-segmented-control", props.className);
1198
- const ariaRadioGroupProps = (0, import_react27.useMemo)(() => ({
1189
+ const ariaRadioGroupProps = (0, import_react31.useMemo)(() => ({
1199
1190
  ...props,
1200
1191
  isDisabled: props.disabled,
1201
1192
  isReadOnly: props.readonly,
@@ -1206,19 +1197,19 @@ var SegmentedControl = (0, import_react27.forwardRef)(function SegmentedControlI
1206
1197
  const {
1207
1198
  radioGroupProps
1208
1199
  } = (0, import_radio2.useRadioGroup)(ariaRadioGroupProps, state);
1209
- const segmentedControlItems = (0, import_react27.useMemo)(() => {
1200
+ const segmentedControlItems = (0, import_react31.useMemo)(() => {
1210
1201
  return props.data.map((d) => typeof d === "string" ? {
1211
1202
  value: d,
1212
1203
  label: d
1213
1204
  } : d);
1214
1205
  }, [props.data]);
1215
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { ref, ...radioGroupProps, className, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(RadioProvider, { value: state, children: segmentedControlItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Segmented, { value: item.value, disabled: item.disabled, children: item.label }, item.value)) }) });
1206
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { ref, ...radioGroupProps, className, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(RadioProvider, { value: state, children: segmentedControlItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Segmented, { value: item.value, disabled: item.disabled, children: item.label }, item.value)) }) });
1216
1207
  });
1217
- var SegmentedControl_default = (0, import_react27.memo)(SegmentedControl);
1208
+ var SegmentedControl_default = (0, import_react31.memo)(SegmentedControl);
1218
1209
  var Segmented = (props) => {
1219
1210
  const state = useRadioContext();
1220
- const ref = (0, import_react27.useRef)(null);
1221
- const ariaRadioProps = (0, import_react27.useMemo)(() => ({
1211
+ const ref = (0, import_react31.useRef)(null);
1212
+ const ariaRadioProps = (0, import_react31.useMemo)(() => ({
1222
1213
  value: props.value,
1223
1214
  isDisabled: props.disabled,
1224
1215
  children: props.children
@@ -1228,20 +1219,20 @@ var Segmented = (props) => {
1228
1219
  isDisabled,
1229
1220
  isSelected
1230
1221
  } = (0, import_radio2.useRadio)(ariaRadioProps, state, ref);
1231
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("label", { className: "charcoal-segmented-control-radio__label", "aria-disabled": isDisabled || state.isReadOnly, "data-checked": isSelected, children: [
1232
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("input", { className: "charcoal-segmented-control-radio__input", ...inputProps, ref }),
1222
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("label", { className: "charcoal-segmented-control-radio__label", "aria-disabled": isDisabled || state.isReadOnly, "data-checked": isSelected, children: [
1223
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("input", { className: "charcoal-segmented-control-radio__input", ...inputProps, ref }),
1233
1224
  props.children
1234
1225
  ] });
1235
1226
  };
1236
1227
 
1237
1228
  // src/components/Checkbox/index.tsx
1238
- var import_react30 = require("react");
1229
+ var import_react34 = require("react");
1239
1230
  var import_utils7 = require("@react-aria/utils");
1240
1231
 
1241
1232
  // src/components/Checkbox/CheckboxInput/index.tsx
1242
- var import_react28 = require("react");
1243
- var import_jsx_runtime29 = require("react/jsx-runtime");
1244
- var CheckboxInput = (0, import_react28.forwardRef)(function CheckboxInput2({
1233
+ var import_react32 = require("react");
1234
+ var import_jsx_runtime31 = require("react/jsx-runtime");
1235
+ var CheckboxInput = (0, import_react32.forwardRef)(function CheckboxInput2({
1245
1236
  onChange,
1246
1237
  checked,
1247
1238
  invalid,
@@ -1249,19 +1240,19 @@ var CheckboxInput = (0, import_react28.forwardRef)(function CheckboxInput2({
1249
1240
  rounded,
1250
1241
  ...props
1251
1242
  }, ref) {
1252
- const handleChange = (0, import_react28.useCallback)((e) => {
1243
+ const handleChange = (0, import_react32.useCallback)((e) => {
1253
1244
  const el = e.currentTarget;
1254
1245
  onChange?.(el.checked);
1255
1246
  }, [onChange]);
1256
1247
  const classNames = useClassNames("charcoal-checkbox-input", className);
1257
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("input", { className: classNames, ref, type: "checkbox", onChange: handleChange, "aria-invalid": invalid, checked, "data-rounded": rounded, ...props });
1248
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("input", { className: classNames, ref, type: "checkbox", onChange: handleChange, "aria-invalid": invalid, checked, "data-rounded": rounded, ...props });
1258
1249
  });
1259
- var CheckboxInput_default = (0, import_react28.memo)(CheckboxInput);
1250
+ var CheckboxInput_default = (0, import_react32.memo)(CheckboxInput);
1260
1251
 
1261
1252
  // src/components/Checkbox/CheckboxWithLabel.tsx
1262
- var import_react29 = __toESM(require("react"));
1263
- var import_jsx_runtime30 = require("react/jsx-runtime");
1264
- var CheckboxWithLabel = import_react29.default.memo(function CheckboxWithLabel2({
1253
+ var import_react33 = __toESM(require("react"));
1254
+ var import_jsx_runtime32 = require("react/jsx-runtime");
1255
+ var CheckboxWithLabel = import_react33.default.memo(function CheckboxWithLabel2({
1265
1256
  className,
1266
1257
  children,
1267
1258
  input,
@@ -1269,15 +1260,15 @@ var CheckboxWithLabel = import_react29.default.memo(function CheckboxWithLabel2(
1269
1260
  disabled
1270
1261
  }) {
1271
1262
  const classNames = useClassNames("charcoal-checkbox__label", className);
1272
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("label", { htmlFor: id, "aria-disabled": disabled, className: classNames, children: [
1263
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("label", { htmlFor: id, "aria-disabled": disabled, className: classNames, children: [
1273
1264
  input,
1274
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "charcoal-checkbox__label_div", children })
1265
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "charcoal-checkbox__label_div", children })
1275
1266
  ] });
1276
1267
  });
1277
1268
 
1278
1269
  // src/components/Checkbox/index.tsx
1279
- var import_jsx_runtime31 = require("react/jsx-runtime");
1280
- var Checkbox = (0, import_react30.forwardRef)(function Checkbox2({
1270
+ var import_jsx_runtime33 = require("react/jsx-runtime");
1271
+ var Checkbox = (0, import_react34.forwardRef)(function Checkbox2({
1281
1272
  disabled,
1282
1273
  className,
1283
1274
  id,
@@ -1286,19 +1277,19 @@ var Checkbox = (0, import_react30.forwardRef)(function Checkbox2({
1286
1277
  }, ref) {
1287
1278
  const htmlId = (0, import_utils7.useId)(id);
1288
1279
  const noChildren = children === void 0;
1289
- const input = /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(CheckboxInput_default, { ...props, className: noChildren ? className : void 0, disabled, id: htmlId, ref });
1280
+ const input = /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(CheckboxInput_default, { ...props, className: noChildren ? className : void 0, disabled, id: htmlId, ref });
1290
1281
  if (noChildren) {
1291
1282
  return input;
1292
1283
  }
1293
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(CheckboxWithLabel, { className, disabled, id: htmlId, input, children });
1284
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(CheckboxWithLabel, { className, disabled, id: htmlId, input, children });
1294
1285
  });
1295
- var Checkbox_default = (0, import_react30.memo)(Checkbox);
1286
+ var Checkbox_default = (0, import_react34.memo)(Checkbox);
1296
1287
 
1297
1288
  // src/components/TagItem/index.tsx
1298
- var import_react31 = require("react");
1289
+ var import_react35 = require("react");
1299
1290
  var import_utils8 = require("@react-aria/utils");
1300
- var import_jsx_runtime32 = require("react/jsx-runtime");
1301
- var TagItem = (0, import_react31.forwardRef)(function TagItemInner({
1291
+ var import_jsx_runtime34 = require("react/jsx-runtime");
1292
+ var TagItem = (0, import_react35.forwardRef)(function TagItemInner({
1302
1293
  as,
1303
1294
  label,
1304
1295
  translatedLabel,
@@ -1313,18 +1304,18 @@ var TagItem = (0, import_react31.forwardRef)(function TagItemInner({
1313
1304
  const className = useClassNames("charcoal-tag-item", "charcoal-tag-item__bg", props.className);
1314
1305
  const bgVariant = bgImage !== void 0 && bgImage.length > 0 ? "image" : "color";
1315
1306
  const bg = bgVariant === "color" ? bgColor : `url(${bgImage ?? ""})`;
1316
- const Component = (0, import_react31.useMemo)(() => as ?? "button", [as]);
1317
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(Component, { ...props, ref, className, "data-state": status, "data-bg-variant": bgVariant, "data-size": hasTranslatedLabel ? "M" : size, style: {
1307
+ const Component = (0, import_react35.useMemo)(() => as ?? "button", [as]);
1308
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(Component, { ...props, ref, className, "data-state": status, "data-bg-variant": bgVariant, "data-size": hasTranslatedLabel ? "M" : size, style: {
1318
1309
  "--charcoal-tag-item-bg": bg
1319
1310
  }, children: [
1320
- /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "charcoal-tag-item__label", "data-has-translate": hasTranslatedLabel, children: [
1321
- hasTranslatedLabel && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "charcoal-tag-item__label__translated", children: translatedLabel }),
1322
- /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { className: "charcoal-tag-item__label__text", "data-has-translate": hasTranslatedLabel, children: label })
1311
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "charcoal-tag-item__label", "data-has-translate": hasTranslatedLabel, children: [
1312
+ hasTranslatedLabel && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "charcoal-tag-item__label__translated", children: translatedLabel }),
1313
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("span", { className: "charcoal-tag-item__label__text", "data-has-translate": hasTranslatedLabel, children: label })
1323
1314
  ] }),
1324
- status === "active" && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Icon_default, { name: "16/Remove" })
1315
+ status === "active" && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Icon_default, { name: "16/Remove" })
1325
1316
  ] });
1326
1317
  });
1327
- var TagItem_default = (0, import_react31.memo)(TagItem);
1318
+ var TagItem_default = (0, import_react35.memo)(TagItem);
1328
1319
  // Annotate the CommonJS export names for ESM import in node:
1329
1320
  0 && (module.exports = {
1330
1321
  Button,