elseware-ui 3.0.5 → 3.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ var tailwindMerge = require('tailwind-merge');
6
6
  var index_js$1 = require('react-icons/ai/index.js');
7
7
  var formik = require('formik');
8
8
  var index_js$2 = require('react-icons/fa/index.js');
9
- var classNames73 = require('classnames');
9
+ var classNames69 = require('classnames');
10
10
  var reactBeautifulDnd = require('react-beautiful-dnd');
11
11
  var cloudinaryReact = require('cloudinary-react');
12
12
  var index_js = require('react-icons/md/index.js');
@@ -27,7 +27,7 @@ require('@mdxeditor/editor/style.css');
27
27
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
28
28
 
29
29
  var React26__default = /*#__PURE__*/_interopDefault(React26);
30
- var classNames73__default = /*#__PURE__*/_interopDefault(classNames73);
30
+ var classNames69__default = /*#__PURE__*/_interopDefault(classNames69);
31
31
  var ReactWorldFlags__default = /*#__PURE__*/_interopDefault(ReactWorldFlags);
32
32
  var emojiFlags__default = /*#__PURE__*/_interopDefault(emojiFlags);
33
33
  var CodeMirror__default = /*#__PURE__*/_interopDefault(CodeMirror);
@@ -6427,7 +6427,7 @@ var Button_web_default = Button;
6427
6427
 
6428
6428
  // src/components/data-entry/input/input-label/base/InputLabel.styles.ts
6429
6429
  var inputLabelStaticClassName = "pointer-events-none select-none px-0 text-[13.5px] leading-none text-[#6B7280]";
6430
- var inputLabelBaseClassName = "pointer-events-none absolute left-3 z-10 select-none bg-white/95 px-1 font-medium leading-none dark:bg-eui-dark-800";
6430
+ var inputLabelBaseClassName = "pointer-events-none absolute left-3 z-10 select-none bg-white/95 px-1 font-medium leading-none dark:bg-transparent";
6431
6431
  var inputLabelTransitionClassName = "transition-all duration-200 ease-out";
6432
6432
  var inputLabelRestingClassName = "top-[18px] translate-y-0 text-base leading-none text-[#6B7280]";
6433
6433
  var inputLabelFloatingClassName = "top-1.5 translate-y-0 text-xs leading-none text-[#6B7280]";
@@ -6463,7 +6463,7 @@ var Backdrop = ({ children: children3, styles }) => {
6463
6463
  return /* @__PURE__ */ jsxRuntime.jsx(
6464
6464
  "div",
6465
6465
  {
6466
- className: classNames73__default.default({
6466
+ className: classNames69__default.default({
6467
6467
  "bg-black/75 top-0 bottom-0 left-0 right-0 z-50 fixed inset-0 flex items-center justify-center overflow-hidden": true,
6468
6468
  [`${styles}`]: styles
6469
6469
  }),
@@ -7053,7 +7053,7 @@ function renderTransitionChild(children3, className) {
7053
7053
  }
7054
7054
  const element7 = child;
7055
7055
  return React26__default.default.cloneElement(element7, {
7056
- className: classNames73__default.default(element7.props.className, className)
7056
+ className: classNames69__default.default(element7.props.className, className)
7057
7057
  });
7058
7058
  }
7059
7059
  function TransitionBase({
@@ -7073,7 +7073,7 @@ function TransitionBase({
7073
7073
  if (!mounted && unmountOnExit) {
7074
7074
  return null;
7075
7075
  }
7076
- const transitionClassName = classNames73__default.default(
7076
+ const transitionClassName = classNames69__default.default(
7077
7077
  visibility ? enterClassName : leaveClassName,
7078
7078
  active ? visibleClassName : hiddenClassName
7079
7079
  );
@@ -7282,10 +7282,10 @@ function useInputFieldState(props) {
7282
7282
  };
7283
7283
  }
7284
7284
 
7285
- // src/components/data-entry/input/input/base/Input.styles.ts
7285
+ // src/data/styles/shared.styles.tsx
7286
7286
  var inputShapes = shapes;
7287
7287
  var inputRootClassName = "relative w-full";
7288
- var inputFrameClassName = "relative h-14 w-full overflow-hidden border bg-white/95 px-3 dark:bg-eui-dark-800";
7288
+ var inputFrameClassName = "relative h-14 w-full overflow-hidden border bg-white/95 px-3 dark:bg-eui-primary-300/10";
7289
7289
  var inputFrameIdleClassName = "border-gray-300 hover:border-gray-400 dark:border-eui-dark-300 dark:hover:border-eui-dark-200";
7290
7290
  var inputFrameActiveClassName = "border-eui-secondary-600";
7291
7291
  var inputFrameErrorClassName = "border-eui-danger-500";
@@ -7409,41 +7409,203 @@ function Input(inputProps) {
7409
7409
  )
7410
7410
  ] });
7411
7411
  }
7412
- var InputFile = ({
7412
+ function useResolvedInputFileConfig({
7413
+ label,
7413
7414
  placeholder,
7414
- accept = "",
7415
- className,
7416
- ...props
7417
- }) => {
7418
- const fileInputRef = React26.useRef(null);
7415
+ shape
7416
+ }) {
7417
+ const eui = useEUIConfig();
7418
+ return {
7419
+ label: label ?? placeholder,
7420
+ shape: shape ?? eui?.config?.global?.shape ?? "square"
7421
+ };
7422
+ }
7423
+ function useInputFileFieldState(props) {
7419
7424
  const [field, meta, helpers] = formik.useField(props);
7420
- const handleFileChange = (e) => {
7421
- const file = e.target.files?.[0] || null;
7422
- helpers.setValue(file);
7425
+ return {
7426
+ field,
7427
+ helpers,
7428
+ meta
7429
+ };
7430
+ }
7431
+ function isNativeInputFileValue(file) {
7432
+ return Boolean(file && typeof file === "object");
7433
+ }
7434
+ function getInputFileName(file) {
7435
+ if (!isNativeInputFileValue(file)) {
7436
+ return "";
7437
+ }
7438
+ if ("name" in file && file.name) {
7439
+ return file.name;
7440
+ }
7441
+ if ("fileName" in file && file.fileName) {
7442
+ return file.fileName;
7443
+ }
7444
+ if ("uri" in file && file.uri) {
7445
+ return file.uri.split("/").filter(Boolean).pop() ?? "";
7446
+ }
7447
+ return "";
7448
+ }
7449
+ function isAcceptedInputFile(file, accept) {
7450
+ if (!accept) {
7451
+ return true;
7452
+ }
7453
+ const acceptedTypes = accept.split(",").map((acceptedType) => acceptedType.trim().toLowerCase()).filter(Boolean);
7454
+ const fileName = file.name.toLowerCase();
7455
+ const fileType = file.type.toLowerCase();
7456
+ return acceptedTypes.some((acceptedType) => {
7457
+ if (acceptedType.startsWith(".")) {
7458
+ return fileName.endsWith(acceptedType);
7459
+ }
7460
+ if (acceptedType.endsWith("/*")) {
7461
+ return fileType.startsWith(acceptedType.replace("/*", "/"));
7462
+ }
7463
+ return fileType === acceptedType;
7464
+ });
7465
+ }
7466
+ function InputFile(inputFileProps) {
7467
+ const {
7468
+ accept = "",
7469
+ disabled = false,
7470
+ id: id2,
7471
+ inputClassName,
7472
+ label,
7473
+ labelClassName,
7474
+ onFileSelect: _onFileSelect,
7475
+ placeholder,
7476
+ responseClassName,
7477
+ shape,
7478
+ className,
7479
+ onBlur,
7480
+ onClick,
7481
+ onDragEnter,
7482
+ onDragLeave,
7483
+ onDragOver,
7484
+ onDrop,
7485
+ onFocus,
7486
+ onKeyDown,
7487
+ ..._props
7488
+ } = inputFileProps;
7489
+ const fileInputRef = React26.useRef(null);
7490
+ const { field, meta, helpers } = useInputFileFieldState(inputFileProps);
7491
+ const [focused, setFocused] = React26.useState(false);
7492
+ const [dragging, setDragging] = React26.useState(false);
7493
+ const { label: resolvedLabel, shape: resolvedShape } = useResolvedInputFileConfig({
7494
+ label,
7495
+ placeholder,
7496
+ shape
7497
+ });
7498
+ const hasError = Boolean(meta.touched && meta.error);
7499
+ const fileName = getInputFileName(field.value);
7500
+ const floating = focused || dragging || Boolean(fileName);
7501
+ const inputId = id2 ?? field.name;
7502
+ const openFilePicker = () => {
7503
+ if (!disabled) {
7504
+ fileInputRef.current?.click();
7505
+ }
7506
+ };
7507
+ const setSelectedFile = (file) => {
7508
+ if (file && !isAcceptedInputFile(file, accept)) {
7509
+ return;
7510
+ }
7511
+ void helpers.setValue(file);
7512
+ void helpers.setTouched(true);
7513
+ };
7514
+ const handleFileChange = (event) => {
7515
+ setSelectedFile(event.target.files?.[0] ?? null);
7516
+ };
7517
+ const handleDragEnter = (event) => {
7518
+ if (!disabled) {
7519
+ event.preventDefault();
7520
+ setDragging(true);
7521
+ }
7522
+ onDragEnter?.(event);
7523
+ };
7524
+ const handleDragLeave = (event) => {
7525
+ setDragging(false);
7526
+ onDragLeave?.(event);
7527
+ };
7528
+ const handleDragOver = (event) => {
7529
+ if (!disabled) {
7530
+ event.preventDefault();
7531
+ }
7532
+ onDragOver?.(event);
7533
+ };
7534
+ const handleDrop = (event) => {
7535
+ if (!disabled) {
7536
+ event.preventDefault();
7537
+ setDragging(false);
7538
+ setSelectedFile(event.dataTransfer.files?.[0] ?? null);
7539
+ }
7540
+ onDrop?.(event);
7541
+ };
7542
+ const handleKeyDown = (event) => {
7543
+ if (event.key === "Enter" || event.key === " ") {
7544
+ event.preventDefault();
7545
+ openFilePicker();
7546
+ }
7547
+ onKeyDown?.(event);
7423
7548
  };
7424
- const showFloatingLabel = !!field.value;
7425
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative w-full", children: [
7549
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: inputRootClassName, children: [
7426
7550
  /* @__PURE__ */ jsxRuntime.jsx(
7427
7551
  "div",
7428
7552
  {
7429
- className: classNames73__default.default(
7430
- "border rounded-sm bg-eui-primary-300/10 px-3 pt-3 text-md text-eui-dark-100 cursor-pointer h-[50px] flex items-center",
7431
- {
7432
- "border-eui-primary-400 focus:border-eui-secondary-500": !(meta.touched && meta.error),
7433
- "border-eui-danger-500": meta.touched && meta.error
7434
- },
7553
+ "aria-disabled": disabled,
7554
+ "aria-label": resolvedLabel,
7555
+ onBlur: (event) => {
7556
+ setFocused(false);
7557
+ void helpers.setTouched(true);
7558
+ onBlur?.(event);
7559
+ },
7560
+ onClick: (event) => {
7561
+ openFilePicker();
7562
+ onClick?.(event);
7563
+ },
7564
+ onDragEnter: handleDragEnter,
7565
+ onDragLeave: handleDragLeave,
7566
+ onDragOver: handleDragOver,
7567
+ onDrop: handleDrop,
7568
+ onFocus: (event) => {
7569
+ setFocused(true);
7570
+ onFocus?.(event);
7571
+ },
7572
+ onKeyDown: handleKeyDown,
7573
+ role: "button",
7574
+ tabIndex: disabled ? -1 : 0,
7575
+ className: cn(
7576
+ inputFrameClassName,
7577
+ "flex items-center transition-all duration-200 ease-out",
7578
+ hasError ? inputFrameErrorClassName : focused || dragging ? inputFrameActiveClassName : inputFrameIdleClassName,
7579
+ dragging && "border-dashed bg-eui-secondary-50/70",
7580
+ inputShapes[resolvedShape],
7581
+ disabled ? inputFrameDisabledClassName : "cursor-pointer hover:cursor-pointer",
7435
7582
  className
7436
7583
  ),
7437
- onClick: () => fileInputRef.current?.click(),
7438
- children: field.value?.name || ""
7584
+ children: /* @__PURE__ */ jsxRuntime.jsx(
7585
+ "span",
7586
+ {
7587
+ className: cn(
7588
+ inputControlClassName,
7589
+ "block truncate pointer-events-none",
7590
+ classNames69__default.default({
7591
+ "text-gray-500 dark:text-gray-300": !fileName
7592
+ }),
7593
+ inputClassName
7594
+ ),
7595
+ children: fileName
7596
+ }
7597
+ )
7439
7598
  }
7440
7599
  ),
7441
7600
  /* @__PURE__ */ jsxRuntime.jsx(
7442
7601
  "input",
7443
7602
  {
7603
+ ref: fileInputRef,
7604
+ id: inputId,
7605
+ name: field.name,
7444
7606
  type: "file",
7445
7607
  accept,
7446
- ref: fileInputRef,
7608
+ disabled,
7447
7609
  onChange: handleFileChange,
7448
7610
  className: "hidden"
7449
7611
  }
@@ -7451,24 +7613,25 @@ var InputFile = ({
7451
7613
  /* @__PURE__ */ jsxRuntime.jsx(
7452
7614
  InputLabel,
7453
7615
  {
7454
- text: placeholder,
7455
- className: classNames73__default.default({
7456
- "absolute left-2 eui-text-sm peer-placeholder-shown:text-base peer-placeholder-shown:top-3 pointer-events-none": true,
7457
- "top-[0.7px]": showFloatingLabel,
7458
- "top-[13px] text-base": !showFloatingLabel
7459
- })
7616
+ disabled,
7617
+ errored: hasError,
7618
+ floating,
7619
+ htmlFor: inputId,
7620
+ text: resolvedLabel,
7621
+ className: labelClassName
7460
7622
  }
7461
7623
  ),
7462
7624
  /* @__PURE__ */ jsxRuntime.jsx(
7463
7625
  InputResponse,
7464
7626
  {
7465
7627
  name: field.name,
7466
- visibility: meta.touched && meta.error ? true : false,
7467
- variant: "danger"
7628
+ visibility: hasError,
7629
+ variant: "danger",
7630
+ className: responseClassName
7468
7631
  }
7469
7632
  )
7470
7633
  ] });
7471
- };
7634
+ }
7472
7635
  function normalizeShape(value) {
7473
7636
  switch (value) {
7474
7637
  case "circle" /* circle */:
@@ -7505,7 +7668,7 @@ var InputList = ({ name: name2, placeholder, shape }) => {
7505
7668
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2", children: /* @__PURE__ */ jsxRuntime.jsx(formik.FieldArray, { name: name2, children: ({ push: push2, remove: remove2, move }) => /* @__PURE__ */ jsxRuntime.jsxs(
7506
7669
  "div",
7507
7670
  {
7508
- className: classNames73__default.default(
7671
+ className: classNames69__default.default(
7509
7672
  "flex w-full flex-col space-y-2 bg-eui-primary-300/10",
7510
7673
  shapes[resolvedShape]
7511
7674
  ),
@@ -7534,7 +7697,7 @@ var InputList = ({ name: name2, placeholder, shape }) => {
7534
7697
  ref: provided2.innerRef,
7535
7698
  ...draggableProps,
7536
7699
  style: draggableStyle,
7537
- className: classNames73__default.default(
7700
+ className: classNames69__default.default(
7538
7701
  "flex items-center space-x-2 bg-eui-primary-300/10 p-2",
7539
7702
  shapes[resolvedShape]
7540
7703
  ),
@@ -7545,7 +7708,7 @@ var InputList = ({ name: name2, placeholder, shape }) => {
7545
7708
  {
7546
7709
  name: `${name2}[${index3}]`,
7547
7710
  placeholder: `Item ${index3 + 1}`,
7548
- className: classNames73__default.default(
7711
+ className: classNames69__default.default(
7549
7712
  "peer h-[50px] w-full border bg-eui-primary-300/10 px-3 pb-2 pt-5 text-md placeholder-transparent placeholder-shown:p-3 focus:outline-none eui-text-md",
7550
7713
  shapes[resolvedShape],
7551
7714
  hasItemError ? "border-eui-danger-500" : "border-eui-primary-400 focus:border-eui-secondary-500"
@@ -7641,7 +7804,7 @@ var InputListGroup = ({
7641
7804
  return /* @__PURE__ */ jsxRuntime.jsxs(
7642
7805
  "div",
7643
7806
  {
7644
- className: classNames73__default.default(
7807
+ className: classNames69__default.default(
7645
7808
  "flex flex-col gap-2 bg-eui-primary-300/10 p-3",
7646
7809
  shapes[resolvedShape]
7647
7810
  ),
@@ -7653,7 +7816,7 @@ var InputListGroup = ({
7653
7816
  {
7654
7817
  name: `${name2}[${groupIndex}].name`,
7655
7818
  placeholder: `Group ${groupIndex + 1}`,
7656
- className: classNames73__default.default(
7819
+ className: classNames69__default.default(
7657
7820
  "h-[40px] w-full border bg-eui-primary-300/10 px-3 py-2 text-md focus:outline-none",
7658
7821
  shapes[resolvedShape],
7659
7822
  "border-eui-primary-400 focus:border-eui-secondary-500"
@@ -7684,7 +7847,7 @@ var InputListGroup = ({
7684
7847
  {
7685
7848
  ref: provided.innerRef,
7686
7849
  ...provided.droppableProps,
7687
- className: classNames73__default.default(
7850
+ className: classNames69__default.default(
7688
7851
  "space-y-2 bg-eui-primary-300/10 p-2",
7689
7852
  shapes[resolvedShape]
7690
7853
  ),
@@ -7704,7 +7867,7 @@ var InputListGroup = ({
7704
7867
  ref: provided2.innerRef,
7705
7868
  ...draggableProps,
7706
7869
  style: draggableStyle,
7707
- className: classNames73__default.default(
7870
+ className: classNames69__default.default(
7708
7871
  "flex items-center gap-2 bg-eui-primary-300/10 p-2",
7709
7872
  shapes[resolvedShape]
7710
7873
  ),
@@ -7715,7 +7878,7 @@ var InputListGroup = ({
7715
7878
  {
7716
7879
  name: `${itemsFieldName}[${itemIndex}]`,
7717
7880
  placeholder: `Item ${itemIndex + 1}`,
7718
- className: classNames73__default.default(
7881
+ className: classNames69__default.default(
7719
7882
  "h-[40px] w-full border bg-eui-primary-300/10 px-3 py-2 text-md focus:outline-none",
7720
7883
  shapes[resolvedShape],
7721
7884
  "border-eui-primary-400 focus:border-eui-secondary-500"
@@ -8079,43 +8242,126 @@ function Checkbox(checkboxProps) {
8079
8242
  )
8080
8243
  ] });
8081
8244
  }
8082
- var DateSelector = ({
8245
+ function useResolvedDateSelectorConfig({
8246
+ label,
8083
8247
  placeholder,
8084
- styles,
8085
- shape,
8086
- ...props
8087
- }) => {
8248
+ shape
8249
+ }) {
8088
8250
  const eui = useEUIConfig();
8089
- const resolvedShape = shape ?? eui?.config?.global?.shape ?? "square";
8090
- const [field, meta] = formik.useField(props);
8091
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative w-full", children: [
8251
+ return {
8252
+ label: label ?? placeholder,
8253
+ shape: shape ?? eui?.config?.global?.shape ?? "square"
8254
+ };
8255
+ }
8256
+ function useDateSelectorFieldState(props) {
8257
+ const [field, meta, helpers] = formik.useField(props);
8258
+ return {
8259
+ field,
8260
+ helpers,
8261
+ meta
8262
+ };
8263
+ }
8264
+ function DateSelector(dateSelectorProps) {
8265
+ const {
8266
+ disabled = false,
8267
+ id: id2,
8268
+ inputClassName,
8269
+ label,
8270
+ labelClassName,
8271
+ max: max2,
8272
+ min: min2,
8273
+ placeholder,
8274
+ responseClassName,
8275
+ shape,
8276
+ styles,
8277
+ className,
8278
+ onBlur,
8279
+ onClick,
8280
+ onFocus
8281
+ } = dateSelectorProps;
8282
+ const { field, helpers, meta } = useDateSelectorFieldState(dateSelectorProps);
8283
+ const [focused, setFocused] = React26.useState(false);
8284
+ const { label: resolvedLabel, shape: resolvedShape } = useResolvedDateSelectorConfig({
8285
+ label,
8286
+ placeholder,
8287
+ shape
8288
+ });
8289
+ const hasError = Boolean(meta.touched && meta.error);
8290
+ const inputId = id2 ?? field.name;
8291
+ const handleChange = (event) => {
8292
+ void helpers.setValue(event.target.value);
8293
+ };
8294
+ const handleBlur = (event) => {
8295
+ setFocused(false);
8296
+ void helpers.setTouched(true);
8297
+ field.onBlur(event);
8298
+ onBlur?.(event);
8299
+ };
8300
+ const handleFocus = (event) => {
8301
+ setFocused(true);
8302
+ onFocus?.(event);
8303
+ };
8304
+ const handleClick = (event) => {
8305
+ onClick?.(event);
8306
+ if (event.defaultPrevented || disabled) {
8307
+ return;
8308
+ }
8309
+ try {
8310
+ event.currentTarget.showPicker?.();
8311
+ } catch {
8312
+ }
8313
+ };
8314
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: inputRootClassName, children: [
8092
8315
  /* @__PURE__ */ jsxRuntime.jsx(
8093
- InputLabel,
8316
+ "input",
8094
8317
  {
8095
- text: placeholder,
8096
- className: "absolute left-2 top-[0.7px] peer-placeholder-shown:text-base peer-placeholder-shown:top-3"
8318
+ disabled,
8319
+ id: inputId,
8320
+ max: max2,
8321
+ min: min2,
8322
+ name: field.name,
8323
+ onChange: handleChange,
8324
+ onBlur: handleBlur,
8325
+ onClick: handleClick,
8326
+ onFocus: handleFocus,
8327
+ placeholder: "",
8328
+ type: "date",
8329
+ value: field.value ?? "",
8330
+ className: cn(
8331
+ inputFrameClassName,
8332
+ inputControlClassName,
8333
+ webInputControlClassName,
8334
+ hasError ? inputFrameErrorClassName : focused ? inputFrameActiveClassName : inputFrameIdleClassName,
8335
+ inputShapes[resolvedShape],
8336
+ disabled && inputFrameDisabledClassName,
8337
+ className,
8338
+ styles,
8339
+ inputClassName
8340
+ )
8097
8341
  }
8098
8342
  ),
8099
8343
  /* @__PURE__ */ jsxRuntime.jsx(
8100
- formik.Field,
8344
+ InputLabel,
8101
8345
  {
8102
- type: "date",
8103
- ...field,
8104
- ...props,
8105
- placeholder,
8106
- className: classNames73__default.default({
8107
- "border border-eui-primary-400 peer w-full bg-eui-primary-300/10 pt-5 px-3 pb-2 text-md eui-text-md placeholder-transparent placeholder-shown:p-3 focus:border-eui-secondary-500 focus:outline-none h-[50px]": true,
8108
- "border-eui-danger-500": meta.touched && meta.error,
8109
- "transition-all ease-in-out": true,
8110
- [`${shapes[resolvedShape]}`]: true,
8111
- [`${styles}`]: styles
8112
- })
8346
+ disabled,
8347
+ errored: hasError,
8348
+ floating: true,
8349
+ htmlFor: inputId,
8350
+ text: resolvedLabel,
8351
+ className: labelClassName
8113
8352
  }
8114
8353
  ),
8115
- meta.touched && meta.error && /* @__PURE__ */ jsxRuntime.jsx(InputResponse, { name: field.name, visibility: true, variant: "danger" })
8354
+ /* @__PURE__ */ jsxRuntime.jsx(
8355
+ InputResponse,
8356
+ {
8357
+ name: field.name,
8358
+ visibility: hasError,
8359
+ variant: "danger",
8360
+ className: responseClassName
8361
+ }
8362
+ )
8116
8363
  ] });
8117
- };
8118
- var DateSelector_default = DateSelector;
8364
+ }
8119
8365
  function renderFormChildren(children3, formik) {
8120
8366
  return typeof children3 === "function" ? children3(formik) : children3;
8121
8367
  }
@@ -8385,7 +8631,7 @@ var ImageInput = React26.forwardRef(
8385
8631
  /* @__PURE__ */ jsxRuntime.jsxs(
8386
8632
  "label",
8387
8633
  {
8388
- className: classNames73__default.default({
8634
+ className: classNames69__default.default({
8389
8635
  "border-2 border-dashed border-gray-700 bg-gray-900 h-[200px] w-[300px] flex flex-col gap-2 items-center justify-center group": true,
8390
8636
  "hover:cursor-pointer hover:border-solid hover:border-gray-600 hover:bg-gray-900/80": true,
8391
8637
  "transition-all ease-in-out duration-150": true
@@ -8573,7 +8819,7 @@ function MultiImageInput({
8573
8819
  onDragOver: handleDragOver,
8574
8820
  onDrop: () => handleDrop(index3),
8575
8821
  onDragEnd: () => setDraggedIndex(null),
8576
- className: classNames73__default.default(
8822
+ className: classNames69__default.default(
8577
8823
  "relative h-[200px] w-[300px] overflow-hidden bg-gray-900",
8578
8824
  "transition-all duration-150",
8579
8825
  draggedIndex === index3 && "opacity-60",
@@ -8703,7 +8949,7 @@ function Radio({
8703
8949
  return /* @__PURE__ */ jsxRuntime.jsxs(
8704
8950
  "div",
8705
8951
  {
8706
- className: classNames73__default.default({
8952
+ className: classNames69__default.default({
8707
8953
  "flex flex-row gap-2 items-center mx-1 my-2": true
8708
8954
  }),
8709
8955
  children: [
@@ -8716,7 +8962,7 @@ function Radio({
8716
8962
  ...props,
8717
8963
  value: option.value,
8718
8964
  checked: field2.value === option.value,
8719
- className: classNames73__default.default({
8965
+ className: classNames69__default.default({
8720
8966
  "appearance-none w-4 h-4 border-2 border-eui-primary-400 rounded-full cursor-pointer transition-all duration-300": true,
8721
8967
  // base radio button styles
8722
8968
  "checked:bg-eui-secondary-700 checked:border-eui-primary-400": field2.value === option.value
@@ -8728,7 +8974,7 @@ function Radio({
8728
8974
  "label",
8729
8975
  {
8730
8976
  htmlFor: option.value,
8731
- className: classNames73__default.default({
8977
+ className: classNames69__default.default({
8732
8978
  "eui-text-md text-sm": true
8733
8979
  }),
8734
8980
  children: option.label
@@ -8771,7 +9017,7 @@ function StarRatingInput({
8771
9017
  return /* @__PURE__ */ jsxRuntime.jsxs(
8772
9018
  "div",
8773
9019
  {
8774
- className: classNames73__default.default({
9020
+ className: classNames69__default.default({
8775
9021
  "inline-flex gap-[4px] text-[20px]": true,
8776
9022
  [`${styles}`]: styles
8777
9023
  }),
@@ -8784,7 +9030,7 @@ function StarRatingInput({
8784
9030
  onClick: () => handleOnClick(index3),
8785
9031
  onMouseEnter: () => setHover(index3),
8786
9032
  onMouseLeave: () => setHover(null),
8787
- className: classNames73__default.default({
9033
+ className: classNames69__default.default({
8788
9034
  "text-yellow-600": index3 <= (hover ?? rating - 1),
8789
9035
  "text-gray-400": index3 > (hover ?? rating - 1)
8790
9036
  }),
@@ -8805,53 +9051,115 @@ function StarRatingInput({
8805
9051
  );
8806
9052
  }
8807
9053
  var StarRatingInput_default = StarRatingInput;
8808
- function Select({
9054
+ function useResolvedSelectConfig({
9055
+ label,
8809
9056
  placeholder,
8810
- options,
8811
- styles,
8812
- shape,
8813
- ...props
9057
+ shape
8814
9058
  }) {
8815
9059
  const eui = useEUIConfig();
8816
- const resolvedShape = shape ?? eui?.config?.global?.shape ?? "square";
8817
- const [field, meta] = formik.useField(props);
8818
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
9060
+ return {
9061
+ label: label ?? placeholder,
9062
+ shape: shape ?? eui?.config?.global?.shape ?? "square"
9063
+ };
9064
+ }
9065
+ function useSelectFieldState(props) {
9066
+ const [field, meta, helpers] = formik.useField(props);
9067
+ return {
9068
+ field,
9069
+ helpers,
9070
+ meta
9071
+ };
9072
+ }
9073
+ function Select(selectProps) {
9074
+ const {
9075
+ disabled = false,
9076
+ id: id2,
9077
+ inputClassName,
9078
+ label,
9079
+ labelClassName,
9080
+ options,
9081
+ placeholder,
9082
+ responseClassName,
9083
+ shape,
9084
+ styles,
9085
+ className,
9086
+ onBlur,
9087
+ onFocus,
9088
+ ...props
9089
+ } = selectProps;
9090
+ const { field, meta } = useSelectFieldState(selectProps);
9091
+ const [focused, setFocused] = React26.useState(false);
9092
+ const { label: resolvedLabel, shape: resolvedShape } = useResolvedSelectConfig({
9093
+ label,
9094
+ placeholder,
9095
+ shape
9096
+ });
9097
+ const hasError = Boolean(meta.touched && meta.error);
9098
+ const inputId = id2 ?? field.name;
9099
+ const handleBlur = (event) => {
9100
+ setFocused(false);
9101
+ field.onBlur(event);
9102
+ onBlur?.(event);
9103
+ };
9104
+ const handleFocus = (event) => {
9105
+ setFocused(true);
9106
+ onFocus?.(event);
9107
+ };
9108
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: inputRootClassName, children: [
8819
9109
  /* @__PURE__ */ jsxRuntime.jsx(
8820
- InputLabel,
9110
+ formik.Field,
8821
9111
  {
8822
- text: placeholder,
8823
- className: "absolute left-2 top-[0.7px] peer-placeholder-shown:text-base peer-placeholder-shown:top-3"
9112
+ ...props,
9113
+ ...field,
9114
+ as: "select",
9115
+ disabled,
9116
+ id: inputId,
9117
+ onBlur: handleBlur,
9118
+ onFocus: handleFocus,
9119
+ className: cn(
9120
+ inputFrameClassName,
9121
+ inputControlClassName,
9122
+ webInputControlClassName,
9123
+ hasError ? inputFrameErrorClassName : focused ? inputFrameActiveClassName : inputFrameIdleClassName,
9124
+ inputShapes[resolvedShape],
9125
+ disabled && inputFrameDisabledClassName,
9126
+ className,
9127
+ styles,
9128
+ inputClassName
9129
+ ),
9130
+ children: options.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
9131
+ "option",
9132
+ {
9133
+ value: option.value,
9134
+ disabled: option.disabled,
9135
+ children: option.label
9136
+ },
9137
+ option.value
9138
+ ))
8824
9139
  }
8825
9140
  ),
8826
9141
  /* @__PURE__ */ jsxRuntime.jsx(
8827
- formik.Field,
9142
+ InputLabel,
8828
9143
  {
8829
- as: "select",
8830
- ...props,
8831
- className: classNames73__default.default({
8832
- "border peer w-full bg-eui-primary-300/10 pt-5 px-3 pb-2 text-md eui-text-md placeholder-transparent placeholder-shown:p-3 focus:border-eui-secondary-500 focus:outline-none h-[50px]": true,
8833
- "border-eui-primary-400": !(meta.touched && meta.error),
8834
- "border-red-500": meta.touched && meta.error,
8835
- "transition-all ease-in-out": true,
8836
- [`${shapes[resolvedShape]}`]: true,
8837
- [`${styles}`]: styles
8838
- }),
8839
- children: options.map((option) => {
8840
- return /* @__PURE__ */ jsxRuntime.jsx("option", { value: option.value, children: option.label }, option.value);
8841
- })
9144
+ disabled,
9145
+ errored: hasError,
9146
+ floating: true,
9147
+ htmlFor: inputId,
9148
+ text: resolvedLabel,
9149
+ className: labelClassName
8842
9150
  }
8843
9151
  ),
8844
9152
  /* @__PURE__ */ jsxRuntime.jsx(
8845
9153
  InputResponse,
8846
9154
  {
8847
9155
  name: field.name,
8848
- visibility: meta.touched && meta.error ? true : false,
8849
- variant: "danger"
9156
+ visibility: hasError,
9157
+ variant: "danger",
9158
+ className: responseClassName
8850
9159
  }
8851
9160
  )
8852
9161
  ] });
8853
9162
  }
8854
- var Select_default = Select;
8855
9163
  function Switch({
8856
9164
  label,
8857
9165
  description,
@@ -8880,7 +9188,7 @@ function Switch({
8880
9188
  "div",
8881
9189
  {
8882
9190
  onClick: () => helpers.setValue(!field.value),
8883
- className: classNames73__default.default(
9191
+ className: classNames69__default.default(
8884
9192
  "w-11 h-6 bg-gray-200 peer-focus:outline-none rounded-full peer dark:bg-eui-dark-100",
8885
9193
  "peer-checked:after:translate-x-full peer-checked:after:border-white",
8886
9194
  "after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white",
@@ -8903,166 +9211,359 @@ function Switch({
8903
9211
  ] });
8904
9212
  }
8905
9213
  var Switch_default = Switch;
8906
- function Tags({
8907
- placeholder,
8908
- styles,
9214
+ function useResolvedTagsConfig({
9215
+ label,
8909
9216
  limit = 10,
8910
- ...props
9217
+ placeholder,
9218
+ shape
8911
9219
  }) {
8912
- const [field, meta, helpers] = formik.useField({ ...props });
9220
+ const eui = useEUIConfig();
9221
+ return {
9222
+ label: label ?? placeholder,
9223
+ limit,
9224
+ shape: shape ?? eui?.config?.global?.shape ?? "square"
9225
+ };
9226
+ }
9227
+ function useTagsFieldState(props) {
9228
+ const [field, meta, helpers] = formik.useField(props);
9229
+ return {
9230
+ field,
9231
+ helpers,
9232
+ meta
9233
+ };
9234
+ }
9235
+ function getTagsValue(value) {
9236
+ if (!Array.isArray(value)) {
9237
+ return [];
9238
+ }
9239
+ return value.filter((tag) => typeof tag === "string");
9240
+ }
9241
+ function addTagToList(tags, value, limit) {
9242
+ const trimmed = value.trim();
9243
+ if (!trimmed || tags.includes(trimmed) || tags.length >= limit) {
9244
+ return tags;
9245
+ }
9246
+ return [...tags, trimmed];
9247
+ }
9248
+ function removeTagFromList(tags, index3) {
9249
+ return tags.filter((_2, tagIndex) => tagIndex !== index3);
9250
+ }
9251
+ function Tags(tagsProps) {
9252
+ const {
9253
+ disabled = false,
9254
+ id: id2,
9255
+ inputClassName,
9256
+ label,
9257
+ labelClassName,
9258
+ limit,
9259
+ placeholder,
9260
+ responseClassName,
9261
+ shape,
9262
+ styles,
9263
+ tagClassName,
9264
+ removeButtonClassName,
9265
+ counterClassName,
9266
+ className,
9267
+ onBlur,
9268
+ onFocus,
9269
+ ..._props
9270
+ } = tagsProps;
9271
+ const { field, helpers, meta } = useTagsFieldState(tagsProps);
8913
9272
  const [input, setInput] = React26.useState("");
8914
- const handleAddTag = () => {
8915
- const trimmed = input.trim();
8916
- if (trimmed && !field.value.includes(trimmed) && field.value.length < limit) {
8917
- helpers.setValue([...field.value, trimmed]);
9273
+ const [focused, setFocused] = React26.useState(false);
9274
+ const {
9275
+ label: resolvedLabel,
9276
+ limit: resolvedLimit,
9277
+ shape: resolvedShape
9278
+ } = useResolvedTagsConfig({
9279
+ label,
9280
+ limit,
9281
+ placeholder,
9282
+ shape
9283
+ });
9284
+ const tags = getTagsValue(field.value);
9285
+ const hasError = Boolean(meta.touched && meta.error);
9286
+ const floating = focused || input.length > 0 || tags.length > 0;
9287
+ const inputId = id2 ?? field.name;
9288
+ const handleAddTag = (value = input) => {
9289
+ if (disabled) {
9290
+ return;
9291
+ }
9292
+ const nextTags = addTagToList(tags, value, resolvedLimit);
9293
+ if (nextTags !== tags) {
9294
+ void helpers.setValue(nextTags);
9295
+ }
9296
+ if (value.trim()) {
9297
+ void helpers.setTouched(true);
8918
9298
  }
8919
9299
  setInput("");
8920
9300
  };
8921
- const handleKeyDown = (e) => {
8922
- if (e.key === "Enter" || e.key === ",") {
8923
- e.preventDefault();
9301
+ const handleKeyDown = (event) => {
9302
+ if (event.key === "Enter" || event.key === ",") {
9303
+ event.preventDefault();
8924
9304
  handleAddTag();
9305
+ return;
8925
9306
  }
8926
- if (e.key === "Backspace" && input === "" && field.value.length > 0) {
8927
- helpers.setValue(field.value.slice(0, -1));
9307
+ if (event.key === "Backspace" && input === "" && tags.length > 0) {
9308
+ void helpers.setValue(tags.slice(0, -1));
9309
+ void helpers.setTouched(true);
8928
9310
  }
8929
9311
  };
8930
9312
  const handleRemoveTag = (index3) => {
8931
- const newTags = [...field.value];
8932
- newTags.splice(index3, 1);
8933
- helpers.setValue(newTags);
9313
+ if (disabled) {
9314
+ return;
9315
+ }
9316
+ void helpers.setValue(removeTagFromList(tags, index3));
9317
+ void helpers.setTouched(true);
8934
9318
  };
8935
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
8936
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
8937
- /* @__PURE__ */ jsxRuntime.jsxs(
8938
- "div",
8939
- {
8940
- className: classNames73__default.default(
8941
- "border rounded-sm flex flex-wrap items-center gap-2 px-2 pt-2 pb-6 min-h-[3rem]",
9319
+ const handleBlur = (event) => {
9320
+ setFocused(false);
9321
+ void helpers.setTouched(true);
9322
+ onBlur?.(event);
9323
+ };
9324
+ const handleFocus = (event) => {
9325
+ setFocused(true);
9326
+ onFocus?.(event);
9327
+ };
9328
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: inputRootClassName, children: [
9329
+ /* @__PURE__ */ jsxRuntime.jsxs(
9330
+ "div",
9331
+ {
9332
+ className: cn(
9333
+ inputFrameClassName,
9334
+ "flex h-auto min-h-14 flex-wrap items-center gap-2 overflow-visible px-3 pt-6 pb-7",
9335
+ hasError ? inputFrameErrorClassName : focused ? inputFrameActiveClassName : inputFrameIdleClassName,
9336
+ inputShapes[resolvedShape],
9337
+ disabled && inputFrameDisabledClassName,
9338
+ className,
9339
+ styles
9340
+ ),
9341
+ children: [
9342
+ tags.map((tag, index3) => /* @__PURE__ */ jsxRuntime.jsxs(
9343
+ "span",
9344
+ {
9345
+ className: cn(
9346
+ "inline-flex max-w-full items-center gap-1 rounded bg-eui-light-300 px-2 py-1 text-sm font-medium text-eui-dark-700 dark:bg-eui-dark-400 dark:text-eui-light-300",
9347
+ tagClassName
9348
+ ),
9349
+ children: [
9350
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: tag }),
9351
+ /* @__PURE__ */ jsxRuntime.jsx(
9352
+ "button",
9353
+ {
9354
+ "aria-label": `Remove ${tag}`,
9355
+ className: cn(
9356
+ "inline-flex h-5 w-5 items-center justify-center text-xs text-eui-danger-500 transition-colors hover:text-eui-danger-400 disabled:cursor-not-allowed disabled:opacity-50",
9357
+ removeButtonClassName
9358
+ ),
9359
+ disabled,
9360
+ onClick: () => handleRemoveTag(index3),
9361
+ type: "button",
9362
+ children: /* @__PURE__ */ jsxRuntime.jsx(index_js$2.FaTimes, { className: "h-3 w-3" })
9363
+ }
9364
+ )
9365
+ ]
9366
+ },
9367
+ `${tag}-${index3}`
9368
+ )),
9369
+ tags.length < resolvedLimit ? /* @__PURE__ */ jsxRuntime.jsx(
9370
+ "input",
8942
9371
  {
8943
- "bg-eui-primary-300/10 eui-text-md": true,
8944
- "pt-6": input.length > 0 || field.value.length > 0,
8945
- // extra space when label is floated
8946
- "border-eui-primary-400 focus-within:border-eui-secondary-500": !(meta.touched && meta.error),
8947
- "border-eui-danger-500": meta.touched && meta.error,
8948
- [`${styles}`]: styles
9372
+ "aria-label": resolvedLabel,
9373
+ className: cn(
9374
+ inputControlClassName,
9375
+ webInputControlClassName,
9376
+ "h-7 w-auto min-w-[120px] flex-1 p-0",
9377
+ inputClassName
9378
+ ),
9379
+ disabled,
9380
+ id: inputId,
9381
+ onBlur: handleBlur,
9382
+ onChange: (event) => setInput(event.target.value),
9383
+ onFocus: handleFocus,
9384
+ onKeyDown: handleKeyDown,
9385
+ placeholder: "",
9386
+ type: "text",
9387
+ value: input
9388
+ }
9389
+ ) : null,
9390
+ /* @__PURE__ */ jsxRuntime.jsxs(
9391
+ "div",
9392
+ {
9393
+ className: cn(
9394
+ "pointer-events-none absolute bottom-3 right-3 text-xs font-semibold text-eui-dark-50",
9395
+ counterClassName
9396
+ ),
9397
+ children: [
9398
+ tags.length,
9399
+ "/",
9400
+ resolvedLimit
9401
+ ]
8949
9402
  }
8950
- ),
8951
- children: [
8952
- field.value.map((tag, index3) => /* @__PURE__ */ jsxRuntime.jsxs(
8953
- "div",
8954
- {
8955
- className: "flex items-center bg-eui-light-300 dark:bg-eui-dark-400 px-2 py-1 rounded text-sm text-eui-dark-700 dark:text-eui-light-300",
8956
- children: [
8957
- tag,
8958
- /* @__PURE__ */ jsxRuntime.jsx(
8959
- "button",
8960
- {
8961
- type: "button",
8962
- onClick: () => handleRemoveTag(index3),
8963
- className: "ml-2 text-xs text-eui-danger-500 hover:text-eui-danger-400",
8964
- children: /* @__PURE__ */ jsxRuntime.jsx(index_js$2.FaTimes, { className: "w-3 h-3" })
8965
- }
8966
- )
8967
- ]
8968
- },
8969
- index3
8970
- )),
8971
- field.value.length < limit && /* @__PURE__ */ jsxRuntime.jsx(
8972
- "input",
8973
- {
8974
- type: "text",
8975
- value: input,
8976
- onChange: (e) => setInput(e.target.value),
8977
- onKeyDown: handleKeyDown,
8978
- className: "flex-grow min-w-[120px] bg-transparent outline-none eui-text-md text-eui-dark-600 dark:text-eui-light-500 placeholder-eui-dark-200"
8979
- }
8980
- )
8981
- ]
8982
- }
8983
- ),
8984
- /* @__PURE__ */ jsxRuntime.jsx(
8985
- InputLabel,
8986
- {
8987
- text: placeholder,
8988
- className: classNames73__default.default(
8989
- "absolute left-2 transition-all pointer-events-none text-eui-dark-200",
8990
- input.length > 0 || field.value.length > 0 ? "top-[2px] text-[13.5px]" : "top-3 text-base"
8991
9403
  )
8992
- }
8993
- ),
8994
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute bottom-1 right-2 text-xs text-eui-dark-50 font-semibold pointer-events-none", children: [
8995
- field.value?.length,
8996
- "/",
8997
- limit
8998
- ] })
8999
- ] }),
9404
+ ]
9405
+ }
9406
+ ),
9407
+ /* @__PURE__ */ jsxRuntime.jsx(
9408
+ InputLabel,
9409
+ {
9410
+ disabled,
9411
+ errored: hasError,
9412
+ floating,
9413
+ htmlFor: inputId,
9414
+ text: resolvedLabel,
9415
+ className: labelClassName
9416
+ }
9417
+ ),
9000
9418
  /* @__PURE__ */ jsxRuntime.jsx(
9001
9419
  InputResponse,
9002
9420
  {
9003
9421
  name: field.name,
9004
- visibility: meta.touched && meta.error ? true : false,
9005
- variant: "danger"
9422
+ visibility: hasError,
9423
+ variant: "danger",
9424
+ className: responseClassName
9006
9425
  }
9007
9426
  )
9008
9427
  ] });
9009
9428
  }
9010
- var Tags_default = Tags;
9011
- function TextArea({
9012
- placeholder,
9429
+ function useResolvedTextAreaConfig({
9430
+ label,
9013
9431
  limit = 1e3,
9014
- styles,
9015
- shape,
9016
- ...props
9432
+ placeholder,
9433
+ shape
9017
9434
  }) {
9018
9435
  const eui = useEUIConfig();
9019
- const resolvedShape = shape ?? eui?.config?.global?.shape ?? "square";
9020
- const [field, meta] = formik.useField(props);
9021
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
9022
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
9023
- /* @__PURE__ */ jsxRuntime.jsx(
9024
- formik.Field,
9025
- {
9026
- as: "textarea",
9027
- ...field,
9028
- ...props,
9029
- className: classNames73__default.default({
9030
- "border peer w-full bg-eui-primary-300/10 eui-text-md outline-none px-3 py-5 resize-none focus:resize-none focus:outline-none": true,
9031
- "transition-all ease-in-out": true,
9032
- "border-eui-primary-400 focus:border-eui-secondary-500": !(meta.touched && meta.error),
9033
- "border-eui-danger-500": meta.touched && meta.error,
9034
- [`${shapes[resolvedShape]}`]: true,
9035
- [`${styles}`]: styles
9036
- })
9037
- }
9038
- ),
9039
- /* @__PURE__ */ jsxRuntime.jsx(
9040
- InputLabel,
9041
- {
9042
- text: placeholder,
9043
- className: classNames73__default.default(
9044
- "absolute left-2 transition-all pointer-events-none text-eui-dark-200",
9045
- field.value ? "top-[2px] text-[13.5px]" : "top-3 text-base"
9046
- )
9047
- }
9048
- ),
9049
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute bottom-3 right-3 text-xs text-eui-dark-50 font-semibold", children: [
9050
- field.value?.length,
9051
- "/",
9052
- limit
9053
- ] })
9054
- ] }),
9436
+ return {
9437
+ label: label ?? placeholder,
9438
+ limit,
9439
+ shape: shape ?? eui?.config?.global?.shape ?? "square"
9440
+ };
9441
+ }
9442
+ function useTextAreaFieldState(props) {
9443
+ const [field, meta, helpers] = formik.useField(props);
9444
+ return {
9445
+ field,
9446
+ helpers,
9447
+ meta
9448
+ };
9449
+ }
9450
+ function getTextAreaCharacterCount(value) {
9451
+ return String(value ?? "").length;
9452
+ }
9453
+ function TextArea(textAreaProps) {
9454
+ const {
9455
+ disabled = false,
9456
+ id: id2,
9457
+ inputClassName,
9458
+ label,
9459
+ labelClassName,
9460
+ limit,
9461
+ placeholder,
9462
+ responseClassName,
9463
+ rows,
9464
+ shape,
9465
+ styles,
9466
+ className,
9467
+ onBlur,
9468
+ onFocus,
9469
+ ...props
9470
+ } = textAreaProps;
9471
+ const { field, helpers, meta } = useTextAreaFieldState(textAreaProps);
9472
+ const [focused, setFocused] = React26.useState(false);
9473
+ const {
9474
+ label: resolvedLabel,
9475
+ limit: resolvedLimit,
9476
+ shape: resolvedShape
9477
+ } = useResolvedTextAreaConfig({
9478
+ label,
9479
+ limit,
9480
+ placeholder,
9481
+ shape
9482
+ });
9483
+ const hasError = Boolean(meta.touched && meta.error);
9484
+ const characterCount = getTextAreaCharacterCount(field.value);
9485
+ const floating = focused || characterCount > 0;
9486
+ const inputId = id2 ?? field.name;
9487
+ const handleChange = (event) => {
9488
+ void helpers.setValue(event.target.value);
9489
+ };
9490
+ const handleBlur = (event) => {
9491
+ setFocused(false);
9492
+ void helpers.setTouched(true);
9493
+ field.onBlur(event);
9494
+ onBlur?.(event);
9495
+ };
9496
+ const handleFocus = (event) => {
9497
+ setFocused(true);
9498
+ onFocus?.(event);
9499
+ };
9500
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: inputRootClassName, children: [
9501
+ /* @__PURE__ */ jsxRuntime.jsxs(
9502
+ "div",
9503
+ {
9504
+ className: cn(
9505
+ inputFrameClassName,
9506
+ "h-auto min-h-32 px-3",
9507
+ hasError ? inputFrameErrorClassName : focused ? inputFrameActiveClassName : inputFrameIdleClassName,
9508
+ inputShapes[resolvedShape],
9509
+ disabled && inputFrameDisabledClassName,
9510
+ className,
9511
+ styles
9512
+ ),
9513
+ children: [
9514
+ /* @__PURE__ */ jsxRuntime.jsx(
9515
+ formik.Field,
9516
+ {
9517
+ ...props,
9518
+ ...field,
9519
+ as: "textarea",
9520
+ disabled,
9521
+ id: inputId,
9522
+ maxLength: resolvedLimit,
9523
+ onBlur: handleBlur,
9524
+ onChange: handleChange,
9525
+ onFocus: handleFocus,
9526
+ placeholder: "",
9527
+ rows,
9528
+ value: field.value ?? "",
9529
+ className: cn(
9530
+ inputControlClassName,
9531
+ webInputControlClassName,
9532
+ "block min-h-32 resize-none pb-8",
9533
+ inputClassName
9534
+ )
9535
+ }
9536
+ ),
9537
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pointer-events-none absolute bottom-3 right-3 text-xs font-semibold text-eui-dark-50", children: [
9538
+ characterCount,
9539
+ "/",
9540
+ resolvedLimit
9541
+ ] })
9542
+ ]
9543
+ }
9544
+ ),
9545
+ /* @__PURE__ */ jsxRuntime.jsx(
9546
+ InputLabel,
9547
+ {
9548
+ disabled,
9549
+ errored: hasError,
9550
+ floating,
9551
+ htmlFor: inputId,
9552
+ text: resolvedLabel,
9553
+ className: labelClassName
9554
+ }
9555
+ ),
9055
9556
  /* @__PURE__ */ jsxRuntime.jsx(
9056
9557
  InputResponse,
9057
9558
  {
9058
9559
  name: field.name,
9059
- visibility: meta.touched && meta.error ? true : false,
9060
- variant: "danger"
9560
+ visibility: hasError,
9561
+ variant: "danger",
9562
+ className: responseClassName
9061
9563
  }
9062
9564
  )
9063
9565
  ] });
9064
9566
  }
9065
- var TextArea_default = TextArea;
9066
9567
  function BreadcrumbItem({
9067
9568
  title,
9068
9569
  href = "#",
@@ -9074,7 +9575,7 @@ function BreadcrumbItem({
9074
9575
  {
9075
9576
  href,
9076
9577
  onClick,
9077
- className: classNames73__default.default({
9578
+ className: classNames69__default.default({
9078
9579
  "text-lg font-semibold": true,
9079
9580
  "text-gray-400 hover:text-gray-600 cursor-pointer": !active,
9080
9581
  "text-eui-light-800": active,
@@ -9151,7 +9652,7 @@ var Breadcrumb = ({
9151
9652
  index3 < resolvedData.length - 1 && /* @__PURE__ */ jsxRuntime.jsx(
9152
9653
  "span",
9153
9654
  {
9154
- className: classNames73__default.default({
9655
+ className: classNames69__default.default({
9155
9656
  "text-lg font-semibold text-gray-500": true,
9156
9657
  [`px-${gap}`]: gap
9157
9658
  }),
@@ -9165,7 +9666,7 @@ var Breadcrumb = ({
9165
9666
  return /* @__PURE__ */ jsxRuntime.jsx(
9166
9667
  "div",
9167
9668
  {
9168
- className: classNames73__default.default({
9669
+ className: classNames69__default.default({
9169
9670
  "inline-flex": true,
9170
9671
  [`${styles}`]: styles
9171
9672
  }),
@@ -9209,7 +9710,7 @@ var Drawer = ({
9209
9710
  isMobile && showBackdrop && /* @__PURE__ */ jsxRuntime.jsx(TransitionFade_default, { visibility, leaveDuration: 200, children: /* @__PURE__ */ jsxRuntime.jsx(
9210
9711
  "div",
9211
9712
  {
9212
- className: classNames73__default.default(
9713
+ className: classNames69__default.default(
9213
9714
  "fixed inset-0 bg-black/50 z-40",
9214
9715
  backdropStyles
9215
9716
  ),
@@ -9220,7 +9721,7 @@ var Drawer = ({
9220
9721
  "div",
9221
9722
  {
9222
9723
  style: drawerStyle,
9223
- className: classNames73__default.default(
9724
+ className: classNames69__default.default(
9224
9725
  "fixed shadow-lg z-50",
9225
9726
  {
9226
9727
  "h-full w-[300px] top-0": isHorizontal && !hasOffset,
@@ -9249,7 +9750,7 @@ function DrawerToggler({
9249
9750
  return /* @__PURE__ */ jsxRuntime.jsx(
9250
9751
  "div",
9251
9752
  {
9252
- className: classNames73__default.default({
9753
+ className: classNames69__default.default({
9253
9754
  "text-xl p-3 cursor-pointer": true,
9254
9755
  "transition-all ease-in-out": true,
9255
9756
  "text-eui-dark-500 dark:text-eui-secondary-600": !styles,
@@ -9297,7 +9798,7 @@ function FooterNav({ data = [], styles }) {
9297
9798
  childrenContent = /* @__PURE__ */ jsxRuntime.jsx(
9298
9799
  "div",
9299
9800
  {
9300
- className: classNames73__default.default({
9801
+ className: classNames69__default.default({
9301
9802
  "grid w-full": true,
9302
9803
  "grid-cols-1": isMobile,
9303
9804
  "grid-cols-3": !isMobile,
@@ -9310,7 +9811,7 @@ function FooterNav({ data = [], styles }) {
9310
9811
  return /* @__PURE__ */ jsxRuntime.jsx(
9311
9812
  "div",
9312
9813
  {
9313
- className: classNames73__default.default({
9814
+ className: classNames69__default.default({
9314
9815
  [`${styles}`]: styles
9315
9816
  }),
9316
9817
  children: childrenContent
@@ -9351,7 +9852,7 @@ var FooterNavGroup = ({
9351
9852
  /* @__PURE__ */ jsxRuntime.jsx(
9352
9853
  "div",
9353
9854
  {
9354
- className: classNames73__default.default({
9855
+ className: classNames69__default.default({
9355
9856
  "": true,
9356
9857
  "py-2 font-semibold eui-text-lg": !styles,
9357
9858
  [`${styles}`]: styles
@@ -9396,7 +9897,7 @@ var FooterNavItem = ({
9396
9897
  "div",
9397
9898
  {
9398
9899
  onClick: handleNavigation,
9399
- className: classNames73__default.default({
9900
+ className: classNames69__default.default({
9400
9901
  "flex flex-row items-center gap-3 cursor-pointer p-1 w-full": true,
9401
9902
  "transition-all duration-200 ease-in-out": true,
9402
9903
  "text-sm eui-text-sm": !styles,
@@ -9425,7 +9926,7 @@ var FooterNavItemTitle = ({
9425
9926
  return /* @__PURE__ */ jsxRuntime.jsx(
9426
9927
  "div",
9427
9928
  {
9428
- className: classNames73__default.default({
9929
+ className: classNames69__default.default({
9429
9930
  "": true,
9430
9931
  "py-2 font-thin eui-text-md": !styles,
9431
9932
  [`${styles}`]: styles
@@ -9478,7 +9979,7 @@ function HeaderNav({ data = [], styles }) {
9478
9979
  return /* @__PURE__ */ jsxRuntime.jsx(
9479
9980
  "div",
9480
9981
  {
9481
- className: classNames73__default.default({
9982
+ className: classNames69__default.default({
9482
9983
  [`${styles}`]: styles
9483
9984
  }),
9484
9985
  children: childrenContent
@@ -9540,7 +10041,7 @@ var HeaderNavGroup = ({
9540
10041
  /* @__PURE__ */ jsxRuntime.jsxs(
9541
10042
  "div",
9542
10043
  {
9543
- className: classNames73__default.default({
10044
+ className: classNames69__default.default({
9544
10045
  "flex flex-row gap-2 items-center justify-between cursor-pointer p-3 w-full": true,
9545
10046
  "transition-all duration-300 ease-in-out": true,
9546
10047
  "eui-text-md bg-gradient-to-t from-eui-dark-500/10 dark:from-green-700/10": !styles,
@@ -9568,7 +10069,7 @@ var HeaderNavGroup = ({
9568
10069
  children3 && /* @__PURE__ */ jsxRuntime.jsx(
9569
10070
  index_js$3.BsChevronDown,
9570
10071
  {
9571
- className: classNames73__default.default({
10072
+ className: classNames69__default.default({
9572
10073
  "text-md": true,
9573
10074
  "transition-all ease-in-out duration-300": true,
9574
10075
  "rotate-180": !collapsed
@@ -9581,7 +10082,7 @@ var HeaderNavGroup = ({
9581
10082
  !collapsed && children3 && /* @__PURE__ */ jsxRuntime.jsx(
9582
10083
  "div",
9583
10084
  {
9584
- className: classNames73__default.default({
10085
+ className: classNames69__default.default({
9585
10086
  "absolute min-w-80 left-0 top-full mt-1 border border-eui-dark-300/10 dark:border-eui-dark-300/50 shadow-lg eui-shadow-lg z-50 w-full eui-bg-md": true,
9586
10087
  "transition-all duration-300 ease-in-out": true
9587
10088
  }),
@@ -9611,7 +10112,7 @@ var HeaderNavItem = ({
9611
10112
  "div",
9612
10113
  {
9613
10114
  onClick: handleNavigation,
9614
- className: classNames73__default.default({
10115
+ className: classNames69__default.default({
9615
10116
  "flex flex-row items-center gap-3 cursor-pointer p-3 w-full": true,
9616
10117
  "transition-all duration-200 ease-in-out": true,
9617
10118
  "eui-text-md border-b border-eui-dark-500/20 dark:border-eui-secondary-900/20 bg-gradient-to-r from-eui-dark-500/10 dark:from-eui-secondary-900/10": !styles,
@@ -9640,7 +10141,7 @@ var HeaderNavItemTitle = ({
9640
10141
  return /* @__PURE__ */ jsxRuntime.jsx(
9641
10142
  "div",
9642
10143
  {
9643
- className: classNames73__default.default({
10144
+ className: classNames69__default.default({
9644
10145
  "p-3 font-thin": true,
9645
10146
  "eui-text-md": !styles,
9646
10147
  [`${styles}`]: styles
@@ -9680,7 +10181,7 @@ var Link = ({
9680
10181
  href: href || "#",
9681
10182
  target: targets[target],
9682
10183
  onClick: handleClick,
9683
- className: classNames73__default.default({
10184
+ className: classNames69__default.default({
9684
10185
  [`${textVariants[variant]}`]: variant,
9685
10186
  [`${decorations[decoration]}`]: decoration,
9686
10187
  "font-bold": bold,
@@ -12872,7 +13373,7 @@ function Accordion({
12872
13373
  /* @__PURE__ */ jsxRuntime.jsxs(
12873
13374
  "div",
12874
13375
  {
12875
- className: classNames73__default.default(
13376
+ className: classNames69__default.default(
12876
13377
  "inline-flex gap-3 items-center px-3 py-2 w-full eui-gradient-to-r-general-xs",
12877
13378
  {
12878
13379
  "hover:cursor-pointer": toggleOnSummaryClick
@@ -12893,7 +13394,7 @@ function Accordion({
12893
13394
  children: /* @__PURE__ */ jsxRuntime.jsx(
12894
13395
  index_js$4.FaCircleChevronDown,
12895
13396
  {
12896
- className: classNames73__default.default("text-xl transition-transform duration-300", {
13397
+ className: classNames69__default.default("text-xl transition-transform duration-300", {
12897
13398
  "rotate-180": collapse
12898
13399
  })
12899
13400
  }
@@ -12907,7 +13408,7 @@ function Accordion({
12907
13408
  /* @__PURE__ */ jsxRuntime.jsx(TransitionAccordion_default, { visibility: collapse, children: /* @__PURE__ */ jsxRuntime.jsx(
12908
13409
  "div",
12909
13410
  {
12910
- className: classNames73__default.default(
13411
+ className: classNames69__default.default(
12911
13412
  "border-t border-t-eui-dark-400/40 eui-text-sm",
12912
13413
  {
12913
13414
  "p-5": enableChildrenPadding
@@ -12964,7 +13465,7 @@ function CardHeader({ icon, title, description, className }) {
12964
13465
  return /* @__PURE__ */ jsxRuntime.jsxs(
12965
13466
  "div",
12966
13467
  {
12967
- className: classNames73__default.default(
13468
+ className: classNames69__default.default(
12968
13469
  "flex items-start gap-4 p-6 border-b border-white/10",
12969
13470
  className
12970
13471
  ),
@@ -12980,14 +13481,14 @@ function CardHeader({ icon, title, description, className }) {
12980
13481
  }
12981
13482
  var CardHeader_default = CardHeader;
12982
13483
  function CardContent({ children: children3, className }) {
12983
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames73__default.default("p-6 text-gray-300 text-sm", className), children: children3 });
13484
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames69__default.default("p-6 text-gray-300 text-sm", className), children: children3 });
12984
13485
  }
12985
13486
  var CardContent_default = CardContent;
12986
13487
  function CardFooter({ children: children3, className }) {
12987
13488
  return /* @__PURE__ */ jsxRuntime.jsx(
12988
13489
  "div",
12989
13490
  {
12990
- className: classNames73__default.default(
13491
+ className: classNames69__default.default(
12991
13492
  "flex items-center gap-3 p-5 border-t border-white/10 text-sm text-gray-400",
12992
13493
  className
12993
13494
  ),
@@ -13029,7 +13530,7 @@ function GradientAnimation({
13029
13530
  return /* @__PURE__ */ jsxRuntime.jsx(
13030
13531
  "div",
13031
13532
  {
13032
- className: classNames73__default.default("absolute inset-0"),
13533
+ className: classNames69__default.default("absolute inset-0"),
13033
13534
  style: {
13034
13535
  background: `linear-gradient(${cfg.angle}deg, ${cfg.colors?.join(",")})`,
13035
13536
  backgroundSize: cfg.backgroundSize,
@@ -13175,7 +13676,7 @@ function MotionSurface({
13175
13676
  }) {
13176
13677
  const AnimationComponent = animationVariant === "custom" ? CustomAnimation : animationRegistry[animationVariant];
13177
13678
  const OverlayComponent = overlay === "custom" ? CustomOverlay : overlayRegistry[overlay];
13178
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classNames73__default.default("relative overflow-hidden", className), children: [
13679
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classNames69__default.default("relative overflow-hidden", className), children: [
13179
13680
  AnimationComponent && /* @__PURE__ */ jsxRuntime.jsx(AnimationComponent, { config: animationConfig, animated }),
13180
13681
  OverlayComponent && /* @__PURE__ */ jsxRuntime.jsx(OverlayComponent, { config: overlayConfig }),
13181
13682
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-10", children: children3 })
@@ -18246,7 +18747,7 @@ var ThemeSwitch = () => {
18246
18747
  /* @__PURE__ */ jsxRuntime.jsx(
18247
18748
  "div",
18248
18749
  {
18249
- className: classNames73__default.default(
18750
+ className: classNames69__default.default(
18250
18751
  "w-6 h-6 bg-white dark:bg-gray-600 rounded-full shadow-md transition-transform duration-300",
18251
18752
  theme === "dark" ? "translate-x-8" : "translate-x-0"
18252
18753
  )
@@ -30015,7 +30516,7 @@ function Modal({
30015
30516
  "div",
30016
30517
  {
30017
30518
  ref: modalRef,
30018
- className: classNames73__default.default(
30519
+ className: classNames69__default.default(
30019
30520
  "eui-bg-md eui-shadow-lg border border-gray-700/80 w-fit h-fit",
30020
30521
  shapes[resolvedShape],
30021
30522
  styles
@@ -30027,7 +30528,7 @@ function Modal({
30027
30528
  "button",
30028
30529
  {
30029
30530
  type: "button",
30030
- className: classNames73__default.default(
30531
+ className: classNames69__default.default(
30031
30532
  "w-[60px] h-[60px] flex items-center justify-center transition-standard-fast",
30032
30533
  "hover:cursor-pointer hover:bg-eui-dark-500"
30033
30534
  ),
@@ -30419,7 +30920,7 @@ var ContentArea = React26.forwardRef(
30419
30920
  "div",
30420
30921
  {
30421
30922
  ref,
30422
- className: classNames73__default.default({
30923
+ className: classNames69__default.default({
30423
30924
  "min-h-screen h-full w-full transition-all duration-[200ms]": true,
30424
30925
  "py-3 px-5": !enablePadding,
30425
30926
  "py-3 px-5 lg:px-[150px]": enablePadding,
@@ -30436,7 +30937,7 @@ function FlexCol({ children: children3, gap = 3, styles }) {
30436
30937
  return /* @__PURE__ */ jsxRuntime.jsx(
30437
30938
  "div",
30438
30939
  {
30439
- className: classNames73__default.default({
30940
+ className: classNames69__default.default({
30440
30941
  [`flex flex-col gap-${gap}`]: true,
30441
30942
  [`${styles}`]: styles
30442
30943
  }),
@@ -30449,7 +30950,7 @@ function FlexRow({ children: children3, gap = 3, styles }) {
30449
30950
  return /* @__PURE__ */ jsxRuntime.jsx(
30450
30951
  "div",
30451
30952
  {
30452
- className: classNames73__default.default({
30953
+ className: classNames69__default.default({
30453
30954
  [`flex flex-row gap-${gap}`]: true,
30454
30955
  [`${styles}`]: styles
30455
30956
  }),
@@ -30468,7 +30969,7 @@ function Grid({ children: children3, styles }) {
30468
30969
  return /* @__PURE__ */ jsxRuntime.jsx(
30469
30970
  "div",
30470
30971
  {
30471
- className: classNames73__default.default({
30972
+ className: classNames69__default.default({
30472
30973
  [`grid`]: true,
30473
30974
  [`${styles}`]: styles
30474
30975
  }),
@@ -30485,7 +30986,7 @@ var Layout = ({
30485
30986
  return /* @__PURE__ */ jsxRuntime.jsx(
30486
30987
  "div",
30487
30988
  {
30488
- className: classNames73__default.default({
30989
+ className: classNames69__default.default({
30489
30990
  // "flex h-full w-screen bg-gray-100 overflow-auto": true,
30490
30991
  "flex bg-eui-light-600": true,
30491
30992
  "flex-col": flexDirection === "vertical",
@@ -30507,7 +31008,7 @@ var Header = ({
30507
31008
  return /* @__PURE__ */ jsxRuntime.jsx(
30508
31009
  "div",
30509
31010
  {
30510
- className: classNames73__default.default({
31011
+ className: classNames69__default.default({
30511
31012
  static: position4 === "static",
30512
31013
  fixed: position4 === "fixed",
30513
31014
  sticky: position4 === "sticky",
@@ -30542,7 +31043,7 @@ var Content = ({
30542
31043
  return /* @__PURE__ */ jsxRuntime.jsx(
30543
31044
  "div",
30544
31045
  {
30545
- className: classNames73__default.default({
31046
+ className: classNames69__default.default({
30546
31047
  "w-full min-h-screen transition-all duration-200 eui-bg-sm": true,
30547
31048
  "md:pl-[300px]": !overlayedSidebar && sidebarVisible && !isMobile,
30548
31049
  // Shift when sidebar is open (desktop)
@@ -30558,7 +31059,7 @@ var Footer = ({ children: children3, styles }) => {
30558
31059
  return /* @__PURE__ */ jsxRuntime.jsx(
30559
31060
  "div",
30560
31061
  {
30561
- className: classNames73__default.default({
31062
+ className: classNames69__default.default({
30562
31063
  "bottom-0 w-full h-fit": true,
30563
31064
  "border-t border-eui-dark-500/40 dark:border-eui-secondary-800 eui-bg-md": !styles,
30564
31065
  [`${styles}`]: styles
@@ -30746,7 +31247,7 @@ function ShowMore({ text: text10, limit }) {
30746
31247
  /* @__PURE__ */ jsxRuntime.jsx(
30747
31248
  "div",
30748
31249
  {
30749
- className: classNames73__default.default({
31250
+ className: classNames69__default.default({
30750
31251
  "text-blue-300 px-1 pb-1 mt-1": true,
30751
31252
  "bg-slate-900/70": !showMore,
30752
31253
  "bg-gradient-to-t from-slate-900/50 to-transparent": showMore
@@ -31662,7 +32163,7 @@ function DocumentationPanel({
31662
32163
  return /* @__PURE__ */ jsxRuntime.jsx(MarkdownProvider_default, { markdown: value, children: /* @__PURE__ */ jsxRuntime.jsxs(
31663
32164
  "section",
31664
32165
  {
31665
- className: classNames73__default.default(
32166
+ className: classNames69__default.default(
31666
32167
  "eui-documentation-panel",
31667
32168
  "min-h-0 overflow-hidden bg-white text-gray-900",
31668
32169
  "dark:bg-gray-950 dark:text-gray-100",
@@ -31676,7 +32177,7 @@ function DocumentationPanel({
31676
32177
  /* @__PURE__ */ jsxRuntime.jsx(
31677
32178
  "main",
31678
32179
  {
31679
- className: classNames73__default.default(
32180
+ className: classNames69__default.default(
31680
32181
  "eui-documentation-panel-viewer",
31681
32182
  "documentation-panel-scrollbar min-w-0 overflow-y-auto scroll-smooth",
31682
32183
  viewerClassName
@@ -31684,7 +32185,7 @@ function DocumentationPanel({
31684
32185
  children: /* @__PURE__ */ jsxRuntime.jsx(
31685
32186
  "div",
31686
32187
  {
31687
- className: classNames73__default.default(
32188
+ className: classNames69__default.default(
31688
32189
  "mx-auto px-5 py-8 sm:px-6 lg:px-8",
31689
32190
  contentMaxWidthClassName,
31690
32191
  contentClassName
@@ -31697,7 +32198,7 @@ function DocumentationPanel({
31697
32198
  toc ? /* @__PURE__ */ jsxRuntime.jsx(
31698
32199
  "aside",
31699
32200
  {
31700
- className: classNames73__default.default(
32201
+ className: classNames69__default.default(
31701
32202
  "eui-documentation-panel-toc",
31702
32203
  "hidden min-w-0 border-l border-gray-200 bg-white lg:block",
31703
32204
  "dark:border-gray-800 dark:bg-gray-950",
@@ -31706,7 +32207,7 @@ function DocumentationPanel({
31706
32207
  children: /* @__PURE__ */ jsxRuntime.jsx(
31707
32208
  "div",
31708
32209
  {
31709
- className: classNames73__default.default(
32210
+ className: classNames69__default.default(
31710
32211
  "documentation-panel-scrollbar h-full overflow-y-auto px-5 py-8"
31711
32212
  ),
31712
32213
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "sticky top-0", children: /* @__PURE__ */ jsxRuntime.jsx(MarkdownTOC_default, {}) })
@@ -31982,7 +32483,7 @@ function BoxNavItem({ icon, name: name2, to, selected, onClick }) {
31982
32483
  type: "button",
31983
32484
  onClick: handleClick,
31984
32485
  "aria-current": selected ? "page" : void 0,
31985
- className: classNames73__default.default(
32486
+ className: classNames69__default.default(
31986
32487
  "w-full min-w-[80px] flex flex-col items-center justify-center py-3 text-center",
31987
32488
  "hover:text-secondary-700 hover:bg-gray-300/10 hover:cursor-pointer",
31988
32489
  selected ? "text-eui-secondary-700 bg-gray-300/10" : "text-gray-400",
@@ -54719,7 +55220,7 @@ function MarkdownHeading({
54719
55220
  id: id2,
54720
55221
  level: typographyLevel,
54721
55222
  bold: true,
54722
- className: classNames73__default.default(
55223
+ className: classNames69__default.default(
54723
55224
  "eui-markdown-heading group relative scroll-mt-24 font-bold leading-tight text-gray-900 dark:text-gray-100",
54724
55225
  HEADING_STYLES[level],
54725
55226
  className
@@ -54882,18 +55383,18 @@ function powerSetPermutations(arr) {
54882
55383
  }
54883
55384
  }
54884
55385
  var classNameCombinations = {};
54885
- function getClassNameCombinations(classNames77) {
54886
- if (classNames77.length === 0 || classNames77.length === 1) return classNames77;
54887
- var key = classNames77.join(".");
55386
+ function getClassNameCombinations(classNames73) {
55387
+ if (classNames73.length === 0 || classNames73.length === 1) return classNames73;
55388
+ var key = classNames73.join(".");
54888
55389
  if (!classNameCombinations[key]) {
54889
- classNameCombinations[key] = powerSetPermutations(classNames77);
55390
+ classNameCombinations[key] = powerSetPermutations(classNames73);
54890
55391
  }
54891
55392
  return classNameCombinations[key];
54892
55393
  }
54893
- function createStyleObject(classNames77) {
55394
+ function createStyleObject(classNames73) {
54894
55395
  var elementStyle = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
54895
55396
  var stylesheet = arguments.length > 2 ? arguments[2] : void 0;
54896
- var nonTokenClassNames = classNames77.filter(function(className) {
55397
+ var nonTokenClassNames = classNames73.filter(function(className) {
54897
55398
  return className !== "token";
54898
55399
  });
54899
55400
  var classNamesCombinations = getClassNameCombinations(nonTokenClassNames);
@@ -54901,8 +55402,8 @@ function createStyleObject(classNames77) {
54901
55402
  return _objectSpread(_objectSpread({}, styleObject), stylesheet[className]);
54902
55403
  }, elementStyle);
54903
55404
  }
54904
- function createClassNameString(classNames77) {
54905
- return classNames77.join(" ");
55405
+ function createClassNameString(classNames73) {
55406
+ return classNames73.join(" ");
54906
55407
  }
54907
55408
  function createChildren2(stylesheet, useInlineStyles) {
54908
55409
  var childrenCount = 0;
@@ -55075,8 +55576,8 @@ function flattenCodeTree(tree) {
55075
55576
  }));
55076
55577
  } else if (node2.children) {
55077
55578
  var _node$properties;
55078
- var classNames77 = className.concat(((_node$properties = node2.properties) === null || _node$properties === void 0 ? void 0 : _node$properties.className) || []);
55079
- flattenCodeTree(node2.children, classNames77).forEach(function(i2) {
55579
+ var classNames73 = className.concat(((_node$properties = node2.properties) === null || _node$properties === void 0 ? void 0 : _node$properties.className) || []);
55580
+ flattenCodeTree(node2.children, classNames73).forEach(function(i2) {
55080
55581
  return newTree.push(i2);
55081
55582
  });
55082
55583
  }
@@ -55740,7 +56241,7 @@ function MarkdownCodeBlock({
55740
56241
  "div",
55741
56242
  {
55742
56243
  ...props,
55743
- className: classNames73__default.default(
56244
+ className: classNames69__default.default(
55744
56245
  "eui-markdown-code my-6 overflow-hidden rounded-md border border-slate-700 bg-[#0d1117] text-slate-300",
55745
56246
  className
55746
56247
  ),
@@ -55811,7 +56312,7 @@ function MarkdownInlineCode({
55811
56312
  Code,
55812
56313
  {
55813
56314
  ...props,
55814
- className: classNames73__default.default(
56315
+ className: classNames69__default.default(
55815
56316
  "eui-markdown-inline-code whitespace-break-spaces rounded-md border border-gray-300/70 bg-gray-200/60 px-1.5 py-0.5 font-mono text-[0.875em] font-medium text-gray-900 dark:border-gray-600/70 dark:bg-gray-700/50 dark:text-gray-200",
55816
56317
  className
55817
56318
  ),
@@ -55852,7 +56353,7 @@ function MarkdownLink({
55852
56353
  href: safeHref,
55853
56354
  target: resolvedTarget,
55854
56355
  rel,
55855
- className: classNames73__default.default(
56356
+ className: classNames69__default.default(
55856
56357
  "eui-markdown-link font-medium text-blue-600 underline underline-offset-4 transition-colors hover:text-blue-700 dark:text-blue-400 dark:hover:text-blue-300",
55857
56358
  className
55858
56359
  ),
@@ -55887,7 +56388,7 @@ function MarkdownImage({
55887
56388
  title,
55888
56389
  loading: "lazy",
55889
56390
  decoding: "async",
55890
- className: classNames73__default.default(
56391
+ className: classNames69__default.default(
55891
56392
  "eui-markdown-image my-6 h-auto max-w-full rounded-md border border-gray-200 dark:border-gray-700",
55892
56393
  className
55893
56394
  )
@@ -55904,7 +56405,7 @@ function MarkdownTable({
55904
56405
  TableElement,
55905
56406
  {
55906
56407
  ...props,
55907
- className: classNames73__default.default(
56408
+ className: classNames69__default.default(
55908
56409
  "eui-markdown-table w-full border-collapse text-[0.925rem]",
55909
56410
  className
55910
56411
  ),
@@ -55921,7 +56422,7 @@ function MarkdownTableCell({
55921
56422
  TableCell,
55922
56423
  {
55923
56424
  ...props,
55924
- className: classNames73__default.default(
56425
+ className: classNames69__default.default(
55925
56426
  "eui-markdown-table-cell border-b border-r border-gray-200 p-3 text-left align-top last:border-r-0 dark:border-gray-700",
55926
56427
  className
55927
56428
  ),
@@ -55938,7 +56439,7 @@ function MarkdownTableHeaderCell({
55938
56439
  TableHeaderCell,
55939
56440
  {
55940
56441
  ...props,
55941
- className: classNames73__default.default(
56442
+ className: classNames69__default.default(
55942
56443
  "eui-markdown-table-header-cell border-b border-r border-gray-200 p-3 text-left align-top font-bold text-gray-900 last:border-r-0 dark:border-gray-700 dark:text-gray-100",
55943
56444
  className
55944
56445
  ),
@@ -55954,7 +56455,7 @@ function MarkdownTableHead({
55954
56455
  TableHead,
55955
56456
  {
55956
56457
  ...props,
55957
- className: classNames73__default.default(
56458
+ className: classNames69__default.default(
55958
56459
  "eui-markdown-table-head bg-gray-50 dark:bg-gray-900",
55959
56460
  className
55960
56461
  )
@@ -55969,7 +56470,7 @@ function MarkdownTableBody({
55969
56470
  TableBody,
55970
56471
  {
55971
56472
  ...props,
55972
- className: classNames73__default.default("eui-markdown-table-body", className)
56473
+ className: classNames69__default.default("eui-markdown-table-body", className)
55973
56474
  }
55974
56475
  );
55975
56476
  }
@@ -55981,7 +56482,7 @@ function MarkdownTableRow({
55981
56482
  TableRow,
55982
56483
  {
55983
56484
  ...props,
55984
- className: classNames73__default.default(
56485
+ className: classNames69__default.default(
55985
56486
  "eui-markdown-table-row even:bg-gray-50/70 dark:even:bg-gray-900/60",
55986
56487
  className
55987
56488
  )
@@ -55999,7 +56500,7 @@ function MarkdownBlockquote({
55999
56500
  {
56000
56501
  ...props,
56001
56502
  as: "blockquote",
56002
- className: classNames73__default.default(
56503
+ className: classNames69__default.default(
56003
56504
  "eui-markdown-blockquote my-6 border-l-4 border-gray-300 bg-transparent px-4 py-0 text-gray-600 [&>*:first-child]:mt-0 [&>*:last-child]:mb-0 dark:border-gray-700 dark:text-gray-400",
56004
56505
  className
56005
56506
  ),
@@ -56018,7 +56519,7 @@ function MarkdownParagraph({
56018
56519
  {
56019
56520
  ...props,
56020
56521
  level: 1,
56021
- className: classNames73__default.default("eui-markdown-paragraph my-4", className),
56522
+ className: classNames69__default.default("eui-markdown-paragraph my-4", className),
56022
56523
  children: /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: children3 })
56023
56524
  }
56024
56525
  );
@@ -56029,7 +56530,7 @@ function MarkdownStrong({ className, ...props }) {
56029
56530
  "strong",
56030
56531
  {
56031
56532
  ...props,
56032
- className: classNames73__default.default(
56533
+ className: classNames69__default.default(
56033
56534
  "eui-markdown-strong font-semibold text-gray-950 dark:text-gray-100",
56034
56535
  className
56035
56536
  )
@@ -56042,7 +56543,7 @@ function MarkdownEmphasis({ className, ...props }) {
56042
56543
  "em",
56043
56544
  {
56044
56545
  ...props,
56045
- className: classNames73__default.default("eui-markdown-emphasis italic", className)
56546
+ className: classNames69__default.default("eui-markdown-emphasis italic", className)
56046
56547
  }
56047
56548
  );
56048
56549
  }
@@ -56055,7 +56556,7 @@ function MarkdownStrikethrough({
56055
56556
  "del",
56056
56557
  {
56057
56558
  ...props,
56058
- className: classNames73__default.default(
56559
+ className: classNames69__default.default(
56059
56560
  "eui-markdown-strikethrough text-gray-500 dark:text-gray-400",
56060
56561
  className
56061
56562
  )
@@ -56116,7 +56617,7 @@ function MarkdownTaskCheckbox({
56116
56617
  "input",
56117
56618
  {
56118
56619
  ...props,
56119
- className: classNames73__default.default(
56620
+ className: classNames69__default.default(
56120
56621
  "eui-markdown-task-checkbox mr-2 translate-y-px accent-blue-600",
56121
56622
  className
56122
56623
  )
@@ -56132,7 +56633,7 @@ function MarkdownThematicBreak({
56132
56633
  "hr",
56133
56634
  {
56134
56635
  ...props,
56135
- className: classNames73__default.default(
56636
+ className: classNames69__default.default(
56136
56637
  "eui-markdown-thematic-break my-8 border-0 border-t border-gray-200 dark:border-gray-800",
56137
56638
  className
56138
56639
  )
@@ -56149,7 +56650,7 @@ function MarkdownDetails({ className, ...props }) {
56149
56650
  "details",
56150
56651
  {
56151
56652
  ...props,
56152
- className: classNames73__default.default(
56653
+ className: classNames69__default.default(
56153
56654
  "eui-markdown-details my-4 rounded-md border border-gray-200 bg-gray-50 px-4 py-3 dark:border-gray-800 dark:bg-gray-900",
56154
56655
  className
56155
56656
  )
@@ -56161,7 +56662,7 @@ function MarkdownSummary({ className, ...props }) {
56161
56662
  "summary",
56162
56663
  {
56163
56664
  ...props,
56164
- className: classNames73__default.default(
56665
+ className: classNames69__default.default(
56165
56666
  "eui-markdown-summary cursor-pointer font-semibold text-gray-950 dark:text-gray-100",
56166
56667
  className
56167
56668
  )
@@ -56173,7 +56674,7 @@ function MarkdownFigure({ className, ...props }) {
56173
56674
  "figure",
56174
56675
  {
56175
56676
  ...props,
56176
- className: classNames73__default.default("eui-markdown-figure my-6", className)
56677
+ className: classNames69__default.default("eui-markdown-figure my-6", className)
56177
56678
  }
56178
56679
  );
56179
56680
  }
@@ -56185,7 +56686,7 @@ function MarkdownFigcaption({
56185
56686
  return /* @__PURE__ */ jsxRuntime.jsx("figcaption", { ...props, className: "eui-markdown-figcaption mt-2 text-center", children: /* @__PURE__ */ jsxRuntime.jsx(
56186
56687
  Caption,
56187
56688
  {
56188
- className: classNames73__default.default(
56689
+ className: classNames69__default.default(
56189
56690
  "text-gray-500 opacity-100 dark:text-gray-400",
56190
56691
  className
56191
56692
  ),
@@ -56584,14 +57085,14 @@ function MarkdownRenderer({
56584
57085
  return /* @__PURE__ */ jsxRuntime.jsx(
56585
57086
  "div",
56586
57087
  {
56587
- className: classNames73__default.default(
57088
+ className: classNames69__default.default(
56588
57089
  "eui-markdown markdown-body break-words bg-transparent text-[0.95rem] leading-7 text-gray-800 dark:text-gray-300",
56589
57090
  className
56590
57091
  ),
56591
57092
  children: /* @__PURE__ */ jsxRuntime.jsx(
56592
57093
  "div",
56593
57094
  {
56594
- className: classNames73__default.default(
57095
+ className: classNames69__default.default(
56595
57096
  "[&>*:first-child]:mt-0 [&>*:last-child]:mb-0",
56596
57097
  contentClassName
56597
57098
  ),
@@ -56669,11 +57170,11 @@ function MarkdownTOCItem({
56669
57170
  onClick: () => onSelect?.(heading3),
56670
57171
  "aria-current": active ? "location" : void 0,
56671
57172
  title: label,
56672
- className: classNames73__default.default(
57173
+ className: classNames69__default.default(
56673
57174
  "eui-markdown-toc-item",
56674
57175
  "block w-full text-left text-sm transition-all ease-in-out duration-150",
56675
57176
  "hover:text-primary",
56676
- active ? classNames73__default.default("text-primary font-semibold underline", activeClassName) : classNames73__default.default("text-gray-500 dark:text-gray-400", inactiveClassName),
57177
+ active ? classNames69__default.default("text-primary font-semibold underline", activeClassName) : classNames69__default.default("text-gray-500 dark:text-gray-400", inactiveClassName),
56677
57178
  className
56678
57179
  ),
56679
57180
  style: {
@@ -56739,7 +57240,7 @@ function MarkdownTOC({
56739
57240
  return emptyState ? /* @__PURE__ */ jsxRuntime.jsx(
56740
57241
  "div",
56741
57242
  {
56742
- className: classNames73__default.default(
57243
+ className: classNames69__default.default(
56743
57244
  "eui-markdown-toc",
56744
57245
  "text-sm text-gray-500 dark:text-gray-400",
56745
57246
  className
@@ -56759,7 +57260,7 @@ function MarkdownTOC({
56759
57260
  {
56760
57261
  type: "button",
56761
57262
  onClick: () => setCollapsed((value) => !value),
56762
- className: classNames73__default.default(
57263
+ className: classNames69__default.default(
56763
57264
  "eui-markdown-toc-title",
56764
57265
  "flex w-full items-center justify-between gap-2 text-left",
56765
57266
  "text-sm font-semibold uppercase tracking-wide",
@@ -56772,7 +57273,7 @@ function MarkdownTOC({
56772
57273
  /* @__PURE__ */ jsxRuntime.jsx(
56773
57274
  "span",
56774
57275
  {
56775
- className: classNames73__default.default(
57276
+ className: classNames69__default.default(
56776
57277
  "text-xs opacity-60 transition-transform duration-150",
56777
57278
  !collapsed && "rotate-90"
56778
57279
  ),
@@ -56785,7 +57286,7 @@ function MarkdownTOC({
56785
57286
  ) : /* @__PURE__ */ jsxRuntime.jsx(
56786
57287
  "h2",
56787
57288
  {
56788
- className: classNames73__default.default(
57289
+ className: classNames69__default.default(
56789
57290
  "eui-markdown-toc-title",
56790
57291
  "text-sm font-semibold uppercase tracking-wide",
56791
57292
  "text-gray-900 dark:text-gray-100",
@@ -56797,7 +57298,7 @@ function MarkdownTOC({
56797
57298
  !collapsed ? /* @__PURE__ */ jsxRuntime.jsx(
56798
57299
  "nav",
56799
57300
  {
56800
- className: classNames73__default.default(
57301
+ className: classNames69__default.default(
56801
57302
  "eui-markdown-toc-list",
56802
57303
  "space-y-1",
56803
57304
  listClassName
@@ -56821,7 +57322,7 @@ function MarkdownTOC({
56821
57322
  }
56822
57323
  ) : null
56823
57324
  ] });
56824
- return /* @__PURE__ */ jsxRuntime.jsx("aside", { className: classNames73__default.default("eui-markdown-toc", "space-y-4", className), children: content3 });
57325
+ return /* @__PURE__ */ jsxRuntime.jsx("aside", { className: classNames69__default.default("eui-markdown-toc", "space-y-4", className), children: content3 });
56825
57326
  }
56826
57327
  var MarkdownTOC_default = MarkdownTOC;
56827
57328
  var DEFAULT_MARKDOWN_TOOLBAR_ACTIONS = [
@@ -56920,7 +57421,7 @@ function MarkdownToolbar({
56920
57421
  return /* @__PURE__ */ jsxRuntime.jsxs(
56921
57422
  "div",
56922
57423
  {
56923
- className: classNames73__default.default(
57424
+ className: classNames69__default.default(
56924
57425
  "eui-markdown-toolbar",
56925
57426
  "flex flex-wrap items-center gap-1 border-b border-gray-200 bg-gray-50 p-2",
56926
57427
  "dark:border-gray-700 dark:bg-gray-900",
@@ -56934,7 +57435,7 @@ function MarkdownToolbar({
56934
57435
  disabled: disabled || actionsDisabled,
56935
57436
  title: action.shortcut ? `${action.title || action.label} (${action.shortcut})` : action.title || action.label,
56936
57437
  onClick: () => onAction?.(action.id),
56937
- className: classNames73__default.default(
57438
+ className: classNames69__default.default(
56938
57439
  "eui-markdown-toolbar-button",
56939
57440
  "inline-flex items-center justify-center rounded border border-transparent",
56940
57441
  "text-gray-700 transition-colors hover:border-gray-300 hover:bg-white",
@@ -56954,7 +57455,7 @@ function MarkdownToolbar({
56954
57455
  disabled,
56955
57456
  onClick: onViewModeToggle,
56956
57457
  title: isPreviewMode ? "Switch to Markdown syntax" : "Switch to preview",
56957
- className: classNames73__default.default(
57458
+ className: classNames69__default.default(
56958
57459
  "eui-markdown-view-toggle",
56959
57460
  "inline-flex items-center justify-center rounded border font-medium transition-colors",
56960
57461
  "border-gray-300 bg-white text-gray-700 hover:bg-gray-100",
@@ -57211,7 +57712,7 @@ function MarkdownSourceEditor({
57211
57712
  return /* @__PURE__ */ jsxRuntime.jsxs(
57212
57713
  "div",
57213
57714
  {
57214
- className: classNames73__default.default(
57715
+ className: classNames69__default.default(
57215
57716
  "eui-markdown-editor",
57216
57717
  "overflow-hidden rounded border border-gray-300 bg-white",
57217
57718
  "dark:border-gray-700 dark:bg-gray-950",
@@ -57227,7 +57728,7 @@ function MarkdownSourceEditor({
57227
57728
  actionsDisabled: readOnly,
57228
57729
  viewMode: currentViewMode,
57229
57730
  showViewModeToggle,
57230
- className: classNames73__default.default(toolbarClassName, toolbarProps?.className),
57731
+ className: classNames69__default.default(toolbarClassName, toolbarProps?.className),
57231
57732
  onViewModeToggle: toggleViewMode,
57232
57733
  onAction: handleToolbarAction
57233
57734
  }
@@ -57235,7 +57736,7 @@ function MarkdownSourceEditor({
57235
57736
  currentViewMode === "preview" ? /* @__PURE__ */ jsxRuntime.jsx(
57236
57737
  "div",
57237
57738
  {
57238
- className: classNames73__default.default(
57739
+ className: classNames69__default.default(
57239
57740
  "eui-markdown-editor-preview",
57240
57741
  "min-h-[260px] p-4",
57241
57742
  previewClassName
@@ -57258,7 +57759,7 @@ function MarkdownSourceEditor({
57258
57759
  onChange: (event) => updateValue(event.target.value),
57259
57760
  onBlur,
57260
57761
  onKeyDown: handleKeyDown,
57261
- className: classNames73__default.default(
57762
+ className: classNames69__default.default(
57262
57763
  "eui-markdown-source-textarea",
57263
57764
  "block w-full resize-y border-0 bg-transparent p-4 font-mono text-sm leading-7",
57264
57765
  "text-gray-900 outline-none placeholder:text-gray-400",
@@ -57288,7 +57789,7 @@ function MarkdownPreviewPane({
57288
57789
  return /* @__PURE__ */ jsxRuntime.jsx(
57289
57790
  "div",
57290
57791
  {
57291
- className: classNames73__default.default(
57792
+ className: classNames69__default.default(
57292
57793
  "eui-markdown-preview-pane",
57293
57794
  "rounded border border-gray-300 bg-white p-4",
57294
57795
  "dark:border-gray-700 dark:bg-gray-950",
@@ -57338,7 +57839,7 @@ function MarkdownSplitEditor({
57338
57839
  return /* @__PURE__ */ jsxRuntime.jsxs(
57339
57840
  "div",
57340
57841
  {
57341
- className: classNames73__default.default(
57842
+ className: classNames69__default.default(
57342
57843
  "eui-markdown-split-editor",
57343
57844
  "grid gap-4",
57344
57845
  isHorizontal ? "grid-cols-1 lg:grid-cols-2" : "grid-cols-1",
@@ -57348,7 +57849,7 @@ function MarkdownSplitEditor({
57348
57849
  /* @__PURE__ */ jsxRuntime.jsxs(
57349
57850
  "div",
57350
57851
  {
57351
- className: classNames73__default.default(
57852
+ className: classNames69__default.default(
57352
57853
  "eui-markdown-split-source",
57353
57854
  "min-w-0 space-y-2",
57354
57855
  sourceWrapperClassName
@@ -57372,7 +57873,7 @@ function MarkdownSplitEditor({
57372
57873
  /* @__PURE__ */ jsxRuntime.jsxs(
57373
57874
  "div",
57374
57875
  {
57375
- className: classNames73__default.default(
57876
+ className: classNames69__default.default(
57376
57877
  "eui-markdown-split-preview",
57377
57878
  "min-w-0 space-y-2",
57378
57879
  previewWrapperClassName
@@ -57462,7 +57963,7 @@ function MarkdownField({
57462
57963
  return /* @__PURE__ */ jsxRuntime.jsxs(
57463
57964
  "div",
57464
57965
  {
57465
- className: classNames73__default.default(
57966
+ className: classNames69__default.default(
57466
57967
  "eui-markdown-field",
57467
57968
  "relative space-y-2",
57468
57969
  wrapperClassName
@@ -57472,7 +57973,7 @@ function MarkdownField({
57472
57973
  "label",
57473
57974
  {
57474
57975
  htmlFor: editorProps.id || field.name,
57475
- className: classNames73__default.default(
57976
+ className: classNames69__default.default(
57476
57977
  "block text-sm font-medium text-gray-700 dark:text-gray-200",
57477
57978
  labelClassName
57478
57979
  ),
@@ -57497,7 +57998,7 @@ function MarkdownField({
57497
57998
  helperText && !hasError ? /* @__PURE__ */ jsxRuntime.jsx(
57498
57999
  "p",
57499
58000
  {
57500
- className: classNames73__default.default(
58001
+ className: classNames69__default.default(
57501
58002
  "text-sm text-gray-500 dark:text-gray-400",
57502
58003
  helperTextClassName
57503
58004
  ),
@@ -57552,7 +58053,7 @@ function CodeMirrorMarkdownEditor({
57552
58053
  {
57553
58054
  id: id2,
57554
58055
  "data-name": name2,
57555
- className: classNames73__default.default(
58056
+ className: classNames69__default.default(
57556
58057
  "eui-markdown-adapter",
57557
58058
  "eui-markdown-codemirror-adapter",
57558
58059
  "overflow-hidden rounded border border-gray-300 bg-white",
@@ -57586,7 +58087,7 @@ function CodeMirrorMarkdownEditor({
57586
58087
  closeBrackets: true,
57587
58088
  bracketMatching: true
57588
58089
  },
57589
- className: classNames73__default.default("eui-markdown-codemirror", editorClassName),
58090
+ className: classNames69__default.default("eui-markdown-codemirror", editorClassName),
57590
58091
  onChange: updateValue,
57591
58092
  onBlur
57592
58093
  }
@@ -57681,7 +58182,7 @@ function createDefaultPlugins({
57681
58182
  ...showToolbar ? [
57682
58183
  editor.toolbarPlugin({
57683
58184
  toolbarContents: toolbarContents ?? DefaultToolbar,
57684
- toolbarClassName: classNames73__default.default(
58185
+ toolbarClassName: classNames69__default.default(
57685
58186
  "eui-markdown-mdx-toolbar",
57686
58187
  toolbarClassName
57687
58188
  ),
@@ -57798,7 +58299,7 @@ var MDXMarkdownEditor = React26.forwardRef(
57798
58299
  "aria-required": required || void 0,
57799
58300
  "aria-invalid": invalid || void 0,
57800
58301
  onBlurCapture: handleBlur,
57801
- className: classNames73__default.default(
58302
+ className: classNames69__default.default(
57802
58303
  "eui-markdown-adapter",
57803
58304
  "eui-markdown-mdx-adapter",
57804
58305
  dark && ["dark", "dark-theme"],
@@ -57816,8 +58317,8 @@ var MDXMarkdownEditor = React26.forwardRef(
57816
58317
  markdown: currentValue ?? "",
57817
58318
  readOnly: disabled || readOnly,
57818
58319
  plugins: plugins ?? defaultPlugins,
57819
- className: classNames73__default.default("eui-markdown-mdx-editor", editorClassName),
57820
- contentEditableClassName: classNames73__default.default(
58320
+ className: classNames69__default.default("eui-markdown-mdx-editor", editorClassName),
58321
+ contentEditableClassName: classNames69__default.default(
57821
58322
  "eui-markdown-mdx-content",
57822
58323
  contentEditableClassName
57823
58324
  ),
@@ -57854,7 +58355,7 @@ function MDXMarkdownField({
57854
58355
  return /* @__PURE__ */ jsxRuntime.jsxs(
57855
58356
  "div",
57856
58357
  {
57857
- className: classNames73__default.default(
58358
+ className: classNames69__default.default(
57858
58359
  "eui-markdown-mdx-field",
57859
58360
  "relative space-y-2",
57860
58361
  wrapperClassName
@@ -57864,7 +58365,7 @@ function MDXMarkdownField({
57864
58365
  "label",
57865
58366
  {
57866
58367
  htmlFor: editorId,
57867
- className: classNames73__default.default(
58368
+ className: classNames69__default.default(
57868
58369
  "block text-sm font-medium text-gray-700 dark:text-gray-200",
57869
58370
  labelClassName
57870
58371
  ),
@@ -57898,7 +58399,7 @@ function MDXMarkdownField({
57898
58399
  "p",
57899
58400
  {
57900
58401
  id: helperId,
57901
- className: classNames73__default.default(
58402
+ className: classNames69__default.default(
57902
58403
  "text-sm text-gray-500 dark:text-gray-400",
57903
58404
  helperTextClassName
57904
58405
  ),
@@ -57958,10 +58459,10 @@ function MarkdownLayout({
57958
58459
  };
57959
58460
  const hasLeftToc = hasToc && tocPosition === "left";
57960
58461
  const hasRightToc = hasToc && tocPosition === "right";
57961
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames73__default.default("eui-markdown-layout", "w-full", className), children: /* @__PURE__ */ jsxRuntime.jsxs(
58462
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames69__default.default("eui-markdown-layout", "w-full", className), children: /* @__PURE__ */ jsxRuntime.jsxs(
57962
58463
  "div",
57963
58464
  {
57964
- className: classNames73__default.default(
58465
+ className: classNames69__default.default(
57965
58466
  "eui-markdown-layout-container",
57966
58467
  "mx-auto w-full px-4 sm:px-6 lg:px-8",
57967
58468
  containerClassName
@@ -57973,7 +58474,7 @@ function MarkdownLayout({
57973
58474
  header ? /* @__PURE__ */ jsxRuntime.jsx(
57974
58475
  "header",
57975
58476
  {
57976
- className: classNames73__default.default(
58477
+ className: classNames69__default.default(
57977
58478
  "eui-markdown-layout-header",
57978
58479
  "mb-8",
57979
58480
  headerClassName
@@ -57984,7 +58485,7 @@ function MarkdownLayout({
57984
58485
  /* @__PURE__ */ jsxRuntime.jsxs(
57985
58486
  "div",
57986
58487
  {
57987
- className: classNames73__default.default(
58488
+ className: classNames69__default.default(
57988
58489
  "eui-markdown-layout-grid",
57989
58490
  "grid grid-cols-1 gap-8",
57990
58491
  hasSidebar && hasToc && "xl:grid-cols-[16rem_minmax(0,1fr)_18rem]",
@@ -57997,7 +58498,7 @@ function MarkdownLayout({
57997
58498
  hasSidebar ? /* @__PURE__ */ jsxRuntime.jsx(
57998
58499
  "aside",
57999
58500
  {
58000
- className: classNames73__default.default(
58501
+ className: classNames69__default.default(
58001
58502
  "eui-markdown-layout-sidebar",
58002
58503
  "min-w-0",
58003
58504
  stickySidebar && "lg:sticky lg:self-start",
@@ -58010,7 +58511,7 @@ function MarkdownLayout({
58010
58511
  hasLeftToc ? /* @__PURE__ */ jsxRuntime.jsx(
58011
58512
  "aside",
58012
58513
  {
58013
- className: classNames73__default.default(
58514
+ className: classNames69__default.default(
58014
58515
  "eui-markdown-layout-toc",
58015
58516
  "min-w-0",
58016
58517
  stickyToc && "lg:sticky lg:self-start",
@@ -58023,7 +58524,7 @@ function MarkdownLayout({
58023
58524
  /* @__PURE__ */ jsxRuntime.jsx(
58024
58525
  "main",
58025
58526
  {
58026
- className: classNames73__default.default(
58527
+ className: classNames69__default.default(
58027
58528
  "eui-markdown-layout-content",
58028
58529
  "min-w-0",
58029
58530
  contentClassName
@@ -58034,7 +58535,7 @@ function MarkdownLayout({
58034
58535
  hasRightToc ? /* @__PURE__ */ jsxRuntime.jsx(
58035
58536
  "aside",
58036
58537
  {
58037
- className: classNames73__default.default(
58538
+ className: classNames69__default.default(
58038
58539
  "eui-markdown-layout-toc",
58039
58540
  "min-w-0",
58040
58541
  stickyToc && "lg:sticky lg:self-start",
@@ -58047,7 +58548,7 @@ function MarkdownLayout({
58047
58548
  hasAside ? /* @__PURE__ */ jsxRuntime.jsx(
58048
58549
  "aside",
58049
58550
  {
58050
- className: classNames73__default.default(
58551
+ className: classNames69__default.default(
58051
58552
  "eui-markdown-layout-aside",
58052
58553
  "min-w-0",
58053
58554
  stickyAside && "2xl:sticky 2xl:self-start",
@@ -58063,7 +58564,7 @@ function MarkdownLayout({
58063
58564
  footer2 ? /* @__PURE__ */ jsxRuntime.jsx(
58064
58565
  "footer",
58065
58566
  {
58066
- className: classNames73__default.default(
58567
+ className: classNames69__default.default(
58067
58568
  "eui-markdown-layout-footer",
58068
58569
  "mt-10",
58069
58570
  footerClassName
@@ -58100,7 +58601,7 @@ function MarkdownDocsLayoutContent({
58100
58601
  const resolvedHeader = header ?? (title || description || headerActions ? /* @__PURE__ */ jsxRuntime.jsx(
58101
58602
  "div",
58102
58603
  {
58103
- className: classNames73__default.default(
58604
+ className: classNames69__default.default(
58104
58605
  "eui-markdown-docs-header",
58105
58606
  "flex flex-col gap-4 border-b border-gray-200 pb-6",
58106
58607
  "dark:border-gray-700",
@@ -58111,7 +58612,7 @@ function MarkdownDocsLayoutContent({
58111
58612
  title ? /* @__PURE__ */ jsxRuntime.jsx(
58112
58613
  "h1",
58113
58614
  {
58114
- className: classNames73__default.default(
58615
+ className: classNames69__default.default(
58115
58616
  "eui-markdown-docs-title",
58116
58617
  "text-3xl font-bold tracking-tight text-gray-950",
58117
58618
  "dark:text-gray-50",
@@ -58123,7 +58624,7 @@ function MarkdownDocsLayoutContent({
58123
58624
  description ? /* @__PURE__ */ jsxRuntime.jsx(
58124
58625
  "div",
58125
58626
  {
58126
- className: classNames73__default.default(
58627
+ className: classNames69__default.default(
58127
58628
  "eui-markdown-docs-description",
58128
58629
  "max-w-3xl text-base leading-7 text-gray-600",
58129
58630
  "dark:text-gray-400",
@@ -58211,7 +58712,7 @@ function GenericLayout({
58211
58712
  return /* @__PURE__ */ jsxRuntime.jsx(ThemeProvider, { defaultTheme, children: /* @__PURE__ */ jsxRuntime.jsx(
58212
58713
  "div",
58213
58714
  {
58214
- className: classNames73__default.default({
58715
+ className: classNames69__default.default({
58215
58716
  [`${styles}`]: styles
58216
58717
  }),
58217
58718
  children: children3
@@ -58260,7 +58761,7 @@ function SidemenuLayout({ data, children: children3 }) {
58260
58761
  return /* @__PURE__ */ jsxRuntime.jsx(DefaultLayout_default, { children: /* @__PURE__ */ jsxRuntime.jsxs(
58261
58762
  "div",
58262
58763
  {
58263
- className: classNames73__default.default({
58764
+ className: classNames69__default.default({
58264
58765
  grid: true,
58265
58766
  "grid-cols-7 gap-10": !isMobile,
58266
58767
  "grid-cols-1 gap-": isMobile
@@ -58426,7 +58927,7 @@ exports.DataViewSearch = DataViewSearch;
58426
58927
  exports.DataViewSidebar = DataViewSidebar;
58427
58928
  exports.DataViewSort = DataViewSort;
58428
58929
  exports.DataViewTable = DataViewTable_default;
58429
- exports.DateSelector = DateSelector_default;
58930
+ exports.DateSelector = DateSelector;
58430
58931
  exports.DefaultLayout = DefaultLayout_default;
58431
58932
  exports.Display = Display;
58432
58933
  exports.DocumentationPanel = DocumentationPanel_default;
@@ -58552,7 +59053,7 @@ exports.RouteTabs = RouteTabs_default;
58552
59053
  exports.ScatterPlot = ScatterPlot;
58553
59054
  exports.ScrollToTop = ScrollToTop_default;
58554
59055
  exports.Section = Section;
58555
- exports.Select = Select_default;
59056
+ exports.Select = Select;
58556
59057
  exports.ShapeSwitch = ShapeSwitch;
58557
59058
  exports.ShowMore = ShowMore_default;
58558
59059
  exports.Sidebar = Sidebar_default;
@@ -58580,8 +59081,8 @@ exports.TableHead = TableHead;
58580
59081
  exports.TableHeaderCell = TableHeaderCell;
58581
59082
  exports.TableRow = TableRow;
58582
59083
  exports.Tag = Tag;
58583
- exports.Tags = Tags_default;
58584
- exports.TextArea = TextArea_default;
59084
+ exports.Tags = Tags;
59085
+ exports.TextArea = TextArea;
58585
59086
  exports.ThemeContext = ThemeContext;
58586
59087
  exports.ThemeProvider = ThemeProvider;
58587
59088
  exports.ThemeSelect = ThemeSelect;