elseware-ui 3.0.14 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ var tailwindMerge = require('tailwind-merge');
6
6
  var index_js = 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 classNames69 = require('classnames');
9
+ var classNames67 = require('classnames');
10
10
  var reactBeautifulDnd = require('react-beautiful-dnd');
11
11
  var cloudinaryReact = require('cloudinary-react');
12
12
  var index_js$1 = 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 classNames69__default = /*#__PURE__*/_interopDefault(classNames69);
30
+ var classNames67__default = /*#__PURE__*/_interopDefault(classNames67);
31
31
  var ReactWorldFlags__default = /*#__PURE__*/_interopDefault(ReactWorldFlags);
32
32
  var emojiFlags__default = /*#__PURE__*/_interopDefault(emojiFlags);
33
33
  var CodeMirror__default = /*#__PURE__*/_interopDefault(CodeMirror);
@@ -4728,7 +4728,7 @@ var init_python = __esm({
4728
4728
  });
4729
4729
 
4730
4730
  // node_modules/refractor/lang/jsx.js
4731
- function jsx217(Prism2) {
4731
+ function jsx226(Prism2) {
4732
4732
  Prism2.register(javascript);
4733
4733
  Prism2.register(markup);
4734
4734
  (function(Prism3) {
@@ -4861,14 +4861,14 @@ var init_jsx = __esm({
4861
4861
  "node_modules/refractor/lang/jsx.js"() {
4862
4862
  init_javascript();
4863
4863
  init_markup();
4864
- jsx217.displayName = "jsx";
4865
- jsx217.aliases = [];
4864
+ jsx226.displayName = "jsx";
4865
+ jsx226.aliases = [];
4866
4866
  }
4867
4867
  });
4868
4868
 
4869
4869
  // node_modules/refractor/lang/tsx.js
4870
4870
  function tsx(Prism2) {
4871
- Prism2.register(jsx217);
4871
+ Prism2.register(jsx226);
4872
4872
  Prism2.register(typescript);
4873
4873
  (function(Prism3) {
4874
4874
  var typescript2 = Prism3.util.clone(Prism3.languages.typescript);
@@ -6346,7 +6346,19 @@ function useButton(props) {
6346
6346
  onMouseMove: _onMouseMove,
6347
6347
  ...rootRest
6348
6348
  } = props;
6349
- const { shape: resolvedShape, size: resolvedSize, variant: resolvedVariant, appearance: resolvedAppearance } = useResolvedButtonConfig({ compact, mode, variant, appearance, shape, size });
6349
+ const {
6350
+ shape: resolvedShape,
6351
+ size: resolvedSize,
6352
+ variant: resolvedVariant,
6353
+ appearance: resolvedAppearance
6354
+ } = useResolvedButtonConfig({
6355
+ compact,
6356
+ mode,
6357
+ variant,
6358
+ appearance,
6359
+ shape,
6360
+ size
6361
+ });
6350
6362
  const tokens = buttonSizeTokens[resolvedSize];
6351
6363
  const variantClassName = resolveButtonVariantStyles({
6352
6364
  appearance: resolvedAppearance,
@@ -6378,106 +6390,112 @@ function useButton(props) {
6378
6390
  };
6379
6391
  }
6380
6392
  var WEB_ROOT = "relative overflow-hidden group inline-flex items-center justify-center gap-2 transition-all duration-300";
6381
- var Button = React26.forwardRef(function Button2(props, ref) {
6382
- const {
6383
- type: type2 = "button",
6384
- glow = true,
6385
- className,
6386
- contentClassName,
6387
- labelClassName,
6388
- accessibilityLabel,
6389
- accessibilityRole,
6390
- testID,
6391
- onClick,
6392
- onMouseMove
6393
- } = props;
6394
- const model = useButton(props);
6395
- const localRef = React26.useRef(null);
6396
- const setRef = (node2) => {
6397
- localRef.current = node2;
6398
- if (typeof ref === "function") ref(node2);
6399
- else if (ref) ref.current = node2;
6400
- };
6401
- const handleMouseMove = (e) => {
6402
- const btn = localRef.current;
6403
- if (btn && glow) {
6404
- const rect = btn.getBoundingClientRect();
6405
- btn.style.setProperty("--glow-x", `${e.clientX - rect.left}px`);
6406
- btn.style.setProperty("--glow-y", `${e.clientY - rect.top}px`);
6407
- }
6408
- onMouseMove?.(e);
6409
- };
6410
- const handleClick = (e) => {
6411
- onClick?.(e);
6412
- if (!e.defaultPrevented) model.onPress?.();
6413
- };
6414
- const iconGroup = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6415
- model.loading && /* @__PURE__ */ jsxRuntime.jsx(index_js.AiOutlineLoading, { className: "animate-spin z-10" }),
6416
- model.icon && /* @__PURE__ */ jsxRuntime.jsx(
6393
+ var Button = React26.forwardRef(
6394
+ function Button2(props, ref) {
6395
+ const {
6396
+ type: type2 = "button",
6397
+ glow = true,
6398
+ className,
6399
+ contentClassName,
6400
+ labelClassName,
6401
+ accessibilityLabel,
6402
+ accessibilityRole,
6403
+ testID,
6404
+ onClick,
6405
+ onMouseMove
6406
+ } = props;
6407
+ const model = useButton(props);
6408
+ const localRef = React26.useRef(null);
6409
+ const setRef = (node2) => {
6410
+ localRef.current = node2;
6411
+ if (typeof ref === "function") ref(node2);
6412
+ else if (ref) ref.current = node2;
6413
+ };
6414
+ const handleMouseMove = (e) => {
6415
+ const btn = localRef.current;
6416
+ if (btn && glow) {
6417
+ const rect = btn.getBoundingClientRect();
6418
+ btn.style.setProperty("--glow-x", `${e.clientX - rect.left}px`);
6419
+ btn.style.setProperty("--glow-y", `${e.clientY - rect.top}px`);
6420
+ }
6421
+ onMouseMove?.(e);
6422
+ };
6423
+ const handleClick = (e) => {
6424
+ onClick?.(e);
6425
+ if (!e.defaultPrevented) model.onPress?.();
6426
+ };
6427
+ const iconGroup = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6428
+ model.loading && /* @__PURE__ */ jsxRuntime.jsx(index_js.AiOutlineLoading, { className: "animate-spin z-10" }),
6429
+ model.icon && /* @__PURE__ */ jsxRuntime.jsx(
6430
+ "span",
6431
+ {
6432
+ className: cn(
6433
+ "z-10 inline-flex shrink-0 items-center justify-center leading-none",
6434
+ contentClassName
6435
+ ),
6436
+ style: {
6437
+ height: model.iconSize,
6438
+ width: model.iconSize,
6439
+ lineHeight: 0
6440
+ },
6441
+ children: model.icon
6442
+ }
6443
+ )
6444
+ ] });
6445
+ const labelNode = model.label != null && model.label !== "" ? /* @__PURE__ */ jsxRuntime.jsx(
6417
6446
  "span",
6418
6447
  {
6419
6448
  className: cn(
6420
- "z-10 inline-flex shrink-0 items-center justify-center leading-none",
6421
- contentClassName
6449
+ "z-10 inline-flex items-center justify-center leading-none",
6450
+ labelClassName
6422
6451
  ),
6423
- style: { height: model.iconSize, width: model.iconSize, lineHeight: 0 },
6424
- children: model.icon
6452
+ style: { minHeight: model.iconSize },
6453
+ children: model.label
6425
6454
  }
6426
- )
6427
- ] });
6428
- const labelNode = model.label != null && model.label !== "" ? /* @__PURE__ */ jsxRuntime.jsx(
6429
- "span",
6430
- {
6431
- className: cn(
6432
- "z-10 inline-flex items-center justify-center leading-none",
6433
- labelClassName
6434
- ),
6435
- style: { minHeight: model.iconSize },
6436
- children: model.label
6437
- }
6438
- ) : null;
6439
- const trailing = model.iconPosition === "trailing";
6440
- return /* @__PURE__ */ jsxRuntime.jsxs(
6441
- "button",
6442
- {
6443
- ...model.rootRest,
6444
- ref: setRef,
6445
- type: type2,
6446
- disabled: model.isBusy,
6447
- onClick: handleClick,
6448
- onMouseMove: handleMouseMove,
6449
- "aria-disabled": model.isBusy,
6450
- "aria-label": accessibilityLabel,
6451
- "aria-pressed": model.selected,
6452
- "data-testid": testID,
6453
- role: accessibilityRole,
6454
- className: cn(
6455
- WEB_ROOT,
6456
- model.variantClassName,
6457
- model.shapeClassName,
6458
- model.tokens.padding,
6459
- model.tokens.text,
6460
- model.block && "w-full",
6461
- model.isTextMode && buttonTextModeClassName,
6462
- model.isBusy ? "brightness-75 grayscale cursor-not-allowed" : "hover:cursor-pointer",
6463
- className
6464
- ),
6465
- children: [
6466
- glow && /* @__PURE__ */ jsxRuntime.jsx(
6467
- "span",
6468
- {
6469
- className: "pointer-events-none absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-300",
6470
- style: {
6471
- background: "radial-gradient(200px circle at var(--glow-x) var(--glow-y), rgba(255,255,255,0.18), transparent 50%)"
6472
- }
6473
- }
6455
+ ) : null;
6456
+ const trailing = model.iconPosition === "trailing";
6457
+ return /* @__PURE__ */ jsxRuntime.jsxs(
6458
+ "button",
6459
+ {
6460
+ ...model.rootRest,
6461
+ ref: setRef,
6462
+ type: type2,
6463
+ disabled: model.isBusy,
6464
+ onClick: handleClick,
6465
+ onMouseMove: handleMouseMove,
6466
+ "aria-disabled": model.isBusy,
6467
+ "aria-label": accessibilityLabel,
6468
+ "aria-pressed": model.selected,
6469
+ "data-testid": testID,
6470
+ role: accessibilityRole,
6471
+ className: cn(
6472
+ WEB_ROOT,
6473
+ model.variantClassName,
6474
+ model.shapeClassName,
6475
+ model.tokens.padding,
6476
+ model.tokens.text,
6477
+ model.block && "w-full",
6478
+ model.isTextMode && buttonTextModeClassName,
6479
+ model.isBusy ? "brightness-75 grayscale cursor-not-allowed" : "hover:cursor-pointer",
6480
+ className
6474
6481
  ),
6475
- trailing ? labelNode : iconGroup,
6476
- trailing ? iconGroup : labelNode
6477
- ]
6478
- }
6479
- );
6480
- });
6482
+ children: [
6483
+ glow && /* @__PURE__ */ jsxRuntime.jsx(
6484
+ "span",
6485
+ {
6486
+ className: "pointer-events-none absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-300",
6487
+ style: {
6488
+ background: "radial-gradient(200px circle at var(--glow-x) var(--glow-y), rgba(255,255,255,0.18), transparent 50%)"
6489
+ }
6490
+ }
6491
+ ),
6492
+ trailing ? labelNode : iconGroup,
6493
+ trailing ? iconGroup : labelNode
6494
+ ]
6495
+ }
6496
+ );
6497
+ }
6498
+ );
6481
6499
  var Button_web_default = Button;
6482
6500
 
6483
6501
  // src/data/styles/shared.styles.tsx
@@ -6530,7 +6548,7 @@ var Backdrop = ({ children: children3, styles }) => {
6530
6548
  return /* @__PURE__ */ jsxRuntime.jsx(
6531
6549
  "div",
6532
6550
  {
6533
- className: classNames69__default.default({
6551
+ className: classNames67__default.default({
6534
6552
  "bg-black/75 top-0 bottom-0 left-0 right-0 z-50 fixed inset-0 flex items-center justify-center overflow-hidden": true,
6535
6553
  [`${styles}`]: styles
6536
6554
  }),
@@ -7120,7 +7138,7 @@ function renderTransitionChild(children3, className) {
7120
7138
  }
7121
7139
  const element7 = child;
7122
7140
  return React26__default.default.cloneElement(element7, {
7123
- className: classNames69__default.default(element7.props.className, className)
7141
+ className: classNames67__default.default(element7.props.className, className)
7124
7142
  });
7125
7143
  }
7126
7144
  function TransitionBase({
@@ -7140,7 +7158,7 @@ function TransitionBase({
7140
7158
  if (!mounted && unmountOnExit) {
7141
7159
  return null;
7142
7160
  }
7143
- const transitionClassName = classNames69__default.default(
7161
+ const transitionClassName = classNames67__default.default(
7144
7162
  visibility ? enterClassName : leaveClassName,
7145
7163
  active ? visibleClassName : hiddenClassName
7146
7164
  );
@@ -7644,7 +7662,7 @@ function InputFile(inputFileProps) {
7644
7662
  className: cn(
7645
7663
  inputControlClassName,
7646
7664
  "block truncate pointer-events-none",
7647
- classNames69__default.default({
7665
+ classNames67__default.default({
7648
7666
  "text-gray-500 dark:text-gray-300": !fileName
7649
7667
  }),
7650
7668
  inputClassName
@@ -7725,7 +7743,7 @@ var InputList = ({ name: name2, placeholder, shape }) => {
7725
7743
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2", children: /* @__PURE__ */ jsxRuntime.jsx(formik.FieldArray, { name: name2, children: ({ push: push2, remove: remove2, move }) => /* @__PURE__ */ jsxRuntime.jsxs(
7726
7744
  "div",
7727
7745
  {
7728
- className: classNames69__default.default(
7746
+ className: classNames67__default.default(
7729
7747
  "flex w-full flex-col space-y-2 bg-eui-primary-300/10",
7730
7748
  shapes[resolvedShape]
7731
7749
  ),
@@ -7754,7 +7772,7 @@ var InputList = ({ name: name2, placeholder, shape }) => {
7754
7772
  ref: provided2.innerRef,
7755
7773
  ...draggableProps,
7756
7774
  style: draggableStyle,
7757
- className: classNames69__default.default(
7775
+ className: classNames67__default.default(
7758
7776
  "flex items-center space-x-2 bg-eui-primary-300/10 p-2",
7759
7777
  shapes[resolvedShape]
7760
7778
  ),
@@ -7765,7 +7783,7 @@ var InputList = ({ name: name2, placeholder, shape }) => {
7765
7783
  {
7766
7784
  name: `${name2}[${index3}]`,
7767
7785
  placeholder: `Item ${index3 + 1}`,
7768
- className: classNames69__default.default(
7786
+ className: classNames67__default.default(
7769
7787
  "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",
7770
7788
  shapes[resolvedShape],
7771
7789
  hasItemError ? "border-eui-danger-500" : "border-eui-primary-400 focus:border-eui-secondary-500"
@@ -7861,7 +7879,7 @@ var InputListGroup = ({
7861
7879
  return /* @__PURE__ */ jsxRuntime.jsxs(
7862
7880
  "div",
7863
7881
  {
7864
- className: classNames69__default.default(
7882
+ className: classNames67__default.default(
7865
7883
  "flex flex-col gap-2 bg-eui-primary-300/10 p-3",
7866
7884
  shapes[resolvedShape]
7867
7885
  ),
@@ -7873,7 +7891,7 @@ var InputListGroup = ({
7873
7891
  {
7874
7892
  name: `${name2}[${groupIndex}].name`,
7875
7893
  placeholder: `Group ${groupIndex + 1}`,
7876
- className: classNames69__default.default(
7894
+ className: classNames67__default.default(
7877
7895
  "h-[40px] w-full border bg-eui-primary-300/10 px-3 py-2 text-md focus:outline-none",
7878
7896
  shapes[resolvedShape],
7879
7897
  "border-eui-primary-400 focus:border-eui-secondary-500"
@@ -7904,7 +7922,7 @@ var InputListGroup = ({
7904
7922
  {
7905
7923
  ref: provided.innerRef,
7906
7924
  ...provided.droppableProps,
7907
- className: classNames69__default.default(
7925
+ className: classNames67__default.default(
7908
7926
  "space-y-2 bg-eui-primary-300/10 p-2",
7909
7927
  shapes[resolvedShape]
7910
7928
  ),
@@ -7924,7 +7942,7 @@ var InputListGroup = ({
7924
7942
  ref: provided2.innerRef,
7925
7943
  ...draggableProps,
7926
7944
  style: draggableStyle,
7927
- className: classNames69__default.default(
7945
+ className: classNames67__default.default(
7928
7946
  "flex items-center gap-2 bg-eui-primary-300/10 p-2",
7929
7947
  shapes[resolvedShape]
7930
7948
  ),
@@ -7935,7 +7953,7 @@ var InputListGroup = ({
7935
7953
  {
7936
7954
  name: `${itemsFieldName}[${itemIndex}]`,
7937
7955
  placeholder: `Item ${itemIndex + 1}`,
7938
- className: classNames69__default.default(
7956
+ className: classNames67__default.default(
7939
7957
  "h-[40px] w-full border bg-eui-primary-300/10 px-3 py-2 text-md focus:outline-none",
7940
7958
  shapes[resolvedShape],
7941
7959
  "border-eui-primary-400 focus:border-eui-secondary-500"
@@ -8688,7 +8706,7 @@ var ImageInput = React26.forwardRef(
8688
8706
  /* @__PURE__ */ jsxRuntime.jsxs(
8689
8707
  "label",
8690
8708
  {
8691
- className: classNames69__default.default({
8709
+ className: classNames67__default.default({
8692
8710
  "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,
8693
8711
  "hover:cursor-pointer hover:border-solid hover:border-gray-600 hover:bg-gray-900/80": true,
8694
8712
  "transition-all ease-in-out duration-150": true
@@ -8876,7 +8894,7 @@ function MultiImageInput({
8876
8894
  onDragOver: handleDragOver,
8877
8895
  onDrop: () => handleDrop(index3),
8878
8896
  onDragEnd: () => setDraggedIndex(null),
8879
- className: classNames69__default.default(
8897
+ className: classNames67__default.default(
8880
8898
  "relative h-[200px] w-[300px] overflow-hidden bg-gray-900",
8881
8899
  "transition-all duration-150",
8882
8900
  draggedIndex === index3 && "opacity-60",
@@ -9006,7 +9024,7 @@ function Radio({
9006
9024
  return /* @__PURE__ */ jsxRuntime.jsxs(
9007
9025
  "div",
9008
9026
  {
9009
- className: classNames69__default.default({
9027
+ className: classNames67__default.default({
9010
9028
  "flex flex-row gap-2 items-center mx-1 my-2": true
9011
9029
  }),
9012
9030
  children: [
@@ -9019,7 +9037,7 @@ function Radio({
9019
9037
  ...props,
9020
9038
  value: option.value,
9021
9039
  checked: field2.value === option.value,
9022
- className: classNames69__default.default({
9040
+ className: classNames67__default.default({
9023
9041
  "appearance-none w-4 h-4 border-2 border-eui-primary-400 rounded-full cursor-pointer transition-all duration-300": true,
9024
9042
  // base radio button styles
9025
9043
  "checked:bg-eui-secondary-700 checked:border-eui-primary-400": field2.value === option.value
@@ -9031,7 +9049,7 @@ function Radio({
9031
9049
  "label",
9032
9050
  {
9033
9051
  htmlFor: option.value,
9034
- className: classNames69__default.default({
9052
+ className: classNames67__default.default({
9035
9053
  "eui-text-md text-sm": true
9036
9054
  }),
9037
9055
  children: option.label
@@ -9074,7 +9092,7 @@ function StarRatingInput({
9074
9092
  return /* @__PURE__ */ jsxRuntime.jsxs(
9075
9093
  "div",
9076
9094
  {
9077
- className: classNames69__default.default({
9095
+ className: classNames67__default.default({
9078
9096
  "inline-flex gap-[4px] text-[20px]": true,
9079
9097
  [`${styles}`]: styles
9080
9098
  }),
@@ -9087,7 +9105,7 @@ function StarRatingInput({
9087
9105
  onClick: () => handleOnClick(index3),
9088
9106
  onMouseEnter: () => setHover(index3),
9089
9107
  onMouseLeave: () => setHover(null),
9090
- className: classNames69__default.default({
9108
+ className: classNames67__default.default({
9091
9109
  "text-yellow-600": index3 <= (hover ?? rating - 1),
9092
9110
  "text-gray-400": index3 > (hover ?? rating - 1)
9093
9111
  }),
@@ -9492,7 +9510,7 @@ function Switch({
9492
9510
  "div",
9493
9511
  {
9494
9512
  onClick: () => helpers.setValue(!field.value),
9495
- className: classNames69__default.default(
9513
+ className: classNames67__default.default(
9496
9514
  "w-11 h-6 bg-gray-200 peer-focus:outline-none rounded-full peer dark:bg-eui-dark-100",
9497
9515
  "peer-checked:after:translate-x-full peer-checked:after:border-white",
9498
9516
  "after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white",
@@ -9879,7 +9897,7 @@ function BreadcrumbItem({
9879
9897
  {
9880
9898
  href,
9881
9899
  onClick,
9882
- className: classNames69__default.default({
9900
+ className: classNames67__default.default({
9883
9901
  "text-lg font-semibold": true,
9884
9902
  "text-gray-400 hover:text-gray-600 cursor-pointer": !active,
9885
9903
  "text-eui-light-800": active,
@@ -9956,7 +9974,7 @@ var Breadcrumb = ({
9956
9974
  index3 < resolvedData.length - 1 && /* @__PURE__ */ jsxRuntime.jsx(
9957
9975
  "span",
9958
9976
  {
9959
- className: classNames69__default.default({
9977
+ className: classNames67__default.default({
9960
9978
  "text-lg font-semibold text-gray-500": true,
9961
9979
  [`px-${gap}`]: gap
9962
9980
  }),
@@ -9970,7 +9988,7 @@ var Breadcrumb = ({
9970
9988
  return /* @__PURE__ */ jsxRuntime.jsx(
9971
9989
  "div",
9972
9990
  {
9973
- className: classNames69__default.default({
9991
+ className: classNames67__default.default({
9974
9992
  "inline-flex": true,
9975
9993
  [`${styles}`]: styles
9976
9994
  }),
@@ -10014,7 +10032,7 @@ var Drawer = ({
10014
10032
  isMobile && showBackdrop && /* @__PURE__ */ jsxRuntime.jsx(TransitionFade_default, { visibility, leaveDuration: 200, children: /* @__PURE__ */ jsxRuntime.jsx(
10015
10033
  "div",
10016
10034
  {
10017
- className: classNames69__default.default(
10035
+ className: classNames67__default.default(
10018
10036
  "fixed inset-0 bg-black/50 z-40",
10019
10037
  backdropStyles
10020
10038
  ),
@@ -10025,7 +10043,7 @@ var Drawer = ({
10025
10043
  "div",
10026
10044
  {
10027
10045
  style: drawerStyle,
10028
- className: classNames69__default.default(
10046
+ className: classNames67__default.default(
10029
10047
  "fixed shadow-lg z-50",
10030
10048
  {
10031
10049
  "h-full w-[300px] top-0": isHorizontal && !hasOffset,
@@ -10054,7 +10072,7 @@ function DrawerToggler({
10054
10072
  return /* @__PURE__ */ jsxRuntime.jsx(
10055
10073
  "div",
10056
10074
  {
10057
- className: classNames69__default.default({
10075
+ className: classNames67__default.default({
10058
10076
  "text-xl p-3 cursor-pointer": true,
10059
10077
  "transition-all ease-in-out": true,
10060
10078
  "text-eui-dark-500 dark:text-eui-secondary-600": !styles,
@@ -10067,8 +10085,16 @@ function DrawerToggler({
10067
10085
  );
10068
10086
  }
10069
10087
  var DrawerToggler_default = DrawerToggler;
10070
- function FooterNav({ data = [], styles }) {
10071
- const isMobile = useIsMobile_default();
10088
+ var columnsClassName = (count) => {
10089
+ const map3 = {
10090
+ 1: "grid-cols-1",
10091
+ 2: "grid-cols-1 sm:grid-cols-2",
10092
+ 3: "grid-cols-2 sm:grid-cols-3",
10093
+ 4: "grid-cols-2 sm:grid-cols-2 lg:grid-cols-4"
10094
+ };
10095
+ return map3[Math.min(Math.max(count, 1), 4)] ?? map3[4];
10096
+ };
10097
+ function FooterNav({ data = [], navigate, styles }) {
10072
10098
  const renderFooterNavItem = (item, index3) => {
10073
10099
  const { icon, name: name2, badge, to, onClick, component, ...rest } = item;
10074
10100
  const Component = component;
@@ -10080,49 +10106,147 @@ function FooterNav({ data = [], styles }) {
10080
10106
  badge,
10081
10107
  to,
10082
10108
  onClick,
10109
+ navigate,
10083
10110
  ...rest
10084
10111
  },
10085
10112
  index3
10086
10113
  );
10087
10114
  };
10088
10115
  const renderFooterNavGroup = (item, index3) => {
10089
- const { icon, name: name2, badge, to, items, component, ...rest } = item;
10116
+ const { icon, name: name2, badge, to, items: items2, component, ...rest } = item;
10090
10117
  const Component = component;
10091
- const groupItems = items && Array.isArray(items) ? items.map(
10118
+ const groupItems = items2 && Array.isArray(items2) ? items2.map(
10092
10119
  (i, idx) => "items" in i ? renderFooterNavGroup(i, idx) : renderFooterNavItem(i, idx)
10093
10120
  ) : null;
10094
10121
  return /* @__PURE__ */ jsxRuntime.jsx(Component, { icon, name: name2, badge, ...rest, children: groupItems }, index3);
10095
10122
  };
10096
- const splitData = [...data];
10097
- let childrenContent;
10098
- if (splitData.length > 0) {
10099
- const items = splitData.map(
10100
- (item, index3) => "items" in item ? renderFooterNavGroup(item, index3) : renderFooterNavItem(item, index3)
10101
- );
10102
- childrenContent = /* @__PURE__ */ jsxRuntime.jsx(
10123
+ if (data.length === 0) return null;
10124
+ const items = data.map(
10125
+ (item, index3) => "items" in item ? renderFooterNavGroup(item, index3) : renderFooterNavItem(item, index3)
10126
+ );
10127
+ return /* @__PURE__ */ jsxRuntime.jsx(
10128
+ "div",
10129
+ {
10130
+ className: classNames67__default.default(
10131
+ "grid w-full gap-8",
10132
+ columnsClassName(data.length),
10133
+ {
10134
+ [`${styles}`]: styles
10135
+ }
10136
+ ),
10137
+ children: items
10138
+ }
10139
+ );
10140
+ }
10141
+ var FooterNav_default = FooterNav;
10142
+
10143
+ // src/components/data-display/typography/shared/typography.styles.ts
10144
+ var typographyStyles = ({
10145
+ variant = "default",
10146
+ decoration = "noUnderline",
10147
+ bold,
10148
+ italic,
10149
+ className
10150
+ }) => cn(
10151
+ textVariants[variant],
10152
+ decorations[decoration],
10153
+ bold && "font-bold",
10154
+ italic && "italic",
10155
+ className
10156
+ );
10157
+ var Overline = ({
10158
+ children: children3,
10159
+ variant,
10160
+ decoration,
10161
+ bold = true,
10162
+ italic,
10163
+ className,
10164
+ ...rest
10165
+ }) => {
10166
+ return /* @__PURE__ */ jsxRuntime.jsx(
10167
+ "div",
10168
+ {
10169
+ ...rest,
10170
+ className: cn(
10171
+ "text-xs uppercase tracking-[0.2em]",
10172
+ typographyStyles({
10173
+ variant,
10174
+ decoration,
10175
+ bold,
10176
+ italic,
10177
+ className
10178
+ })
10179
+ ),
10180
+ children: children3 || "Overline"
10181
+ }
10182
+ );
10183
+ };
10184
+ var FooterNavGroup = ({
10185
+ icon,
10186
+ name: name2,
10187
+ badge,
10188
+ title,
10189
+ children: children3,
10190
+ styles,
10191
+ className,
10192
+ titleClassName
10193
+ }) => {
10194
+ const heading3 = title ?? (name2 ? /* @__PURE__ */ jsxRuntime.jsx(Overline, { children: name2 }) : null);
10195
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col", styles, className), children: [
10196
+ heading3 && /* @__PURE__ */ jsxRuntime.jsxs(
10103
10197
  "div",
10104
10198
  {
10105
- className: classNames69__default.default({
10106
- "grid w-full": true,
10107
- "grid-cols-1": isMobile,
10108
- "grid-cols-3": !isMobile,
10109
- [`${styles}`]: styles
10110
- }),
10111
- children: items
10199
+ className: cn(
10200
+ "mb-3 flex items-center gap-2 text-eui-dark-700 dark:text-eui-light-600",
10201
+ titleClassName
10202
+ ),
10203
+ children: [
10204
+ icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-base", children: icon }),
10205
+ heading3,
10206
+ badge && /* @__PURE__ */ jsxRuntime.jsx("span", { children: badge })
10207
+ ]
10112
10208
  }
10113
- );
10114
- }
10209
+ ),
10210
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-1", children: children3 })
10211
+ ] });
10212
+ };
10213
+ var FooterNavGroup_default = FooterNavGroup;
10214
+ var Link = ({
10215
+ children: children3,
10216
+ href,
10217
+ target = "self",
10218
+ variant = "info",
10219
+ decoration = "underline",
10220
+ bold,
10221
+ italic,
10222
+ styles,
10223
+ onClick
10224
+ }) => {
10225
+ const handleClick = (event) => {
10226
+ if (onClick) {
10227
+ event.preventDefault();
10228
+ onClick();
10229
+ }
10230
+ };
10115
10231
  return /* @__PURE__ */ jsxRuntime.jsx(
10116
- "div",
10232
+ "a",
10117
10233
  {
10118
- className: classNames69__default.default({
10234
+ href: href || "#",
10235
+ target: targets[target],
10236
+ onClick: handleClick,
10237
+ className: classNames67__default.default({
10238
+ [`${textVariants[variant]}`]: variant,
10239
+ [`${decorations[decoration]}`]: decoration,
10240
+ "font-bold": bold,
10241
+ italic,
10242
+ "hover:cursor-pointer hover:brightness-125": true,
10243
+ "transition-all ease-in-out": true,
10119
10244
  [`${styles}`]: styles
10120
10245
  }),
10121
- children: childrenContent
10246
+ children: children3 ? children3 : "Link"
10122
10247
  }
10123
10248
  );
10124
- }
10125
- var FooterNav_default = FooterNav;
10249
+ };
10126
10250
  var FooterNavItemContext = ({
10127
10251
  icon,
10128
10252
  name: name2,
@@ -10138,76 +10262,60 @@ var FooterNavItemContext = ({
10138
10262
  badge && /* @__PURE__ */ jsxRuntime.jsx("div", { children: badge })
10139
10263
  ] });
10140
10264
  };
10141
- var FooterNavGroup = ({
10142
- icon,
10143
- name: name2,
10144
- description,
10145
- badge,
10146
- to,
10147
- styles,
10148
- children: children3
10149
- }) => {
10150
- const handleNavigation = () => {
10151
- if (to) {
10152
- window.location.href = to;
10153
- }
10154
- };
10155
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
10156
- /* @__PURE__ */ jsxRuntime.jsx(
10157
- "div",
10158
- {
10159
- className: classNames69__default.default({
10160
- "": true,
10161
- "py-2 font-semibold eui-text-lg": !styles,
10162
- [`${styles}`]: styles
10163
- }),
10164
- onClick: () => {
10165
- if (!children3) {
10166
- handleNavigation();
10167
- }
10168
- },
10169
- children: /* @__PURE__ */ jsxRuntime.jsx(
10170
- FooterNavItemContext,
10171
- {
10172
- icon,
10173
- name: name2,
10174
- description,
10175
- badge
10176
- }
10177
- )
10178
- }
10179
- ),
10180
- /* @__PURE__ */ jsxRuntime.jsx("div", { children: children3 })
10181
- ] });
10182
- };
10183
- var FooterNavGroup_default = FooterNavGroup;
10184
10265
  var FooterNavItem = ({
10185
10266
  icon,
10186
10267
  name: name2,
10187
10268
  description,
10188
10269
  badge,
10189
10270
  to,
10271
+ external,
10190
10272
  onClick,
10191
- styles
10273
+ navigate,
10274
+ styles,
10275
+ className
10192
10276
  }) => {
10193
- const handleNavigation = () => {
10194
- if (to) {
10195
- window.location.href = to;
10196
- } else if (onClick) {
10277
+ const handleClick = () => {
10278
+ if (onClick) {
10197
10279
  onClick();
10280
+ return;
10281
+ }
10282
+ if (!to) return;
10283
+ if (external) {
10284
+ window.open(to, "_blank", "noopener,noreferrer");
10285
+ return;
10286
+ }
10287
+ if (navigate) {
10288
+ navigate(to);
10289
+ return;
10198
10290
  }
10291
+ window.location.href = to;
10199
10292
  };
10293
+ const isSimpleLink = !icon && !description && !badge;
10294
+ if (isSimpleLink) {
10295
+ const useJsNav = Boolean(onClick) || Boolean(navigate) && Boolean(to);
10296
+ return /* @__PURE__ */ jsxRuntime.jsx(
10297
+ Link,
10298
+ {
10299
+ href: to || "#",
10300
+ target: external ? "blank" : "self",
10301
+ variant: "default",
10302
+ decoration: "noUnderline",
10303
+ onClick: useJsNav ? handleClick : void 0,
10304
+ styles: cn("block py-1 text-sm", styles, className),
10305
+ children: name2
10306
+ }
10307
+ );
10308
+ }
10200
10309
  return /* @__PURE__ */ jsxRuntime.jsx(
10201
10310
  "div",
10202
10311
  {
10203
- onClick: handleNavigation,
10204
- className: classNames69__default.default({
10205
- "flex flex-row items-center gap-3 cursor-pointer p-1 w-full": true,
10206
- "transition-all duration-200 ease-in-out": true,
10207
- "text-sm eui-text-sm": !styles,
10208
- "hover:eui-text-lg": !styles,
10209
- [`${styles}`]: styles
10210
- }),
10312
+ onClick: handleClick,
10313
+ className: cn(
10314
+ "flex w-full cursor-pointer flex-row items-center gap-3 py-1 text-sm",
10315
+ "eui-text-md eui-theme-transition hover:brightness-125",
10316
+ styles,
10317
+ className
10318
+ ),
10211
10319
  children: /* @__PURE__ */ jsxRuntime.jsx(
10212
10320
  FooterNavItemContext,
10213
10321
  {
@@ -10230,7 +10338,7 @@ var FooterNavItemTitle = ({
10230
10338
  return /* @__PURE__ */ jsxRuntime.jsx(
10231
10339
  "div",
10232
10340
  {
10233
- className: classNames69__default.default({
10341
+ className: classNames67__default.default({
10234
10342
  "": true,
10235
10343
  "py-2 font-thin eui-text-md": !styles,
10236
10344
  [`${styles}`]: styles
@@ -10283,7 +10391,7 @@ function HeaderNav({ data = [], styles }) {
10283
10391
  return /* @__PURE__ */ jsxRuntime.jsx(
10284
10392
  "div",
10285
10393
  {
10286
- className: classNames69__default.default({
10394
+ className: classNames67__default.default({
10287
10395
  [`${styles}`]: styles
10288
10396
  }),
10289
10397
  children: childrenContent
@@ -10327,7 +10435,7 @@ var HeaderNavGroup = ({
10327
10435
  /* @__PURE__ */ jsxRuntime.jsxs(
10328
10436
  "div",
10329
10437
  {
10330
- className: classNames69__default.default({
10438
+ className: classNames67__default.default({
10331
10439
  "flex flex-row gap-2 items-center justify-between cursor-pointer p-3 w-full": true,
10332
10440
  "transition-all duration-300 ease-in-out": true,
10333
10441
  "eui-text-md bg-gradient-to-t from-eui-dark-500/10 dark:from-green-700/10": !styles,
@@ -10355,7 +10463,7 @@ var HeaderNavGroup = ({
10355
10463
  children3 && /* @__PURE__ */ jsxRuntime.jsx(
10356
10464
  index_js$3.BsChevronDown,
10357
10465
  {
10358
- className: classNames69__default.default({
10466
+ className: classNames67__default.default({
10359
10467
  "text-md": true,
10360
10468
  "transition-all ease-in-out duration-300": true,
10361
10469
  "rotate-180": !collapsed
@@ -10368,7 +10476,7 @@ var HeaderNavGroup = ({
10368
10476
  !collapsed && children3 && /* @__PURE__ */ jsxRuntime.jsx(
10369
10477
  "div",
10370
10478
  {
10371
- className: classNames69__default.default({
10479
+ className: classNames67__default.default({
10372
10480
  "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,
10373
10481
  "transition-all duration-300 ease-in-out": true
10374
10482
  }),
@@ -10398,7 +10506,7 @@ var HeaderNavItem = ({
10398
10506
  "div",
10399
10507
  {
10400
10508
  onClick: handleNavigation,
10401
- className: classNames69__default.default({
10509
+ className: classNames67__default.default({
10402
10510
  "flex flex-row items-center gap-3 cursor-pointer p-3 w-full": true,
10403
10511
  "transition-all duration-200 ease-in-out": true,
10404
10512
  "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,
@@ -10427,7 +10535,7 @@ var HeaderNavItemTitle = ({
10427
10535
  return /* @__PURE__ */ jsxRuntime.jsx(
10428
10536
  "div",
10429
10537
  {
10430
- className: classNames69__default.default({
10538
+ className: classNames67__default.default({
10431
10539
  "p-3 font-thin": true,
10432
10540
  "eui-text-md": !styles,
10433
10541
  [`${styles}`]: styles
@@ -10444,42 +10552,6 @@ var HeaderNavItemTitle = ({
10444
10552
  }
10445
10553
  );
10446
10554
  };
10447
- var Link = ({
10448
- children: children3,
10449
- href,
10450
- target = "self",
10451
- variant = "info",
10452
- decoration = "underline",
10453
- bold,
10454
- italic,
10455
- styles,
10456
- onClick
10457
- }) => {
10458
- const handleClick = (event) => {
10459
- if (onClick) {
10460
- event.preventDefault();
10461
- onClick();
10462
- }
10463
- };
10464
- return /* @__PURE__ */ jsxRuntime.jsx(
10465
- "a",
10466
- {
10467
- href: href || "#",
10468
- target: targets[target],
10469
- onClick: handleClick,
10470
- className: classNames69__default.default({
10471
- [`${textVariants[variant]}`]: variant,
10472
- [`${decorations[decoration]}`]: decoration,
10473
- "font-bold": bold,
10474
- italic,
10475
- "hover:cursor-pointer hover:brightness-125": true,
10476
- "transition-all ease-in-out": true,
10477
- [`${styles}`]: styles
10478
- }),
10479
- children: children3 ? children3 : "Link"
10480
- }
10481
- );
10482
- };
10483
10555
  var MIContext = ({ icon, name: name2, badge }) => {
10484
10556
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
10485
10557
  icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base text-gray-500 dark:text-gray-400", children: icon }),
@@ -13659,7 +13731,7 @@ function Accordion({
13659
13731
  /* @__PURE__ */ jsxRuntime.jsxs(
13660
13732
  "div",
13661
13733
  {
13662
- className: classNames69__default.default(
13734
+ className: classNames67__default.default(
13663
13735
  "inline-flex gap-3 items-center px-3 py-2 w-full eui-gradient-to-r-general-xs",
13664
13736
  {
13665
13737
  "hover:cursor-pointer": toggleOnSummaryClick
@@ -13680,7 +13752,7 @@ function Accordion({
13680
13752
  children: /* @__PURE__ */ jsxRuntime.jsx(
13681
13753
  index_js$4.FaCircleChevronDown,
13682
13754
  {
13683
- className: classNames69__default.default("text-xl transition-transform duration-300", {
13755
+ className: classNames67__default.default("text-xl transition-transform duration-300", {
13684
13756
  "rotate-180": collapse
13685
13757
  })
13686
13758
  }
@@ -13694,7 +13766,7 @@ function Accordion({
13694
13766
  /* @__PURE__ */ jsxRuntime.jsx(TransitionAccordion_default, { visibility: collapse, children: /* @__PURE__ */ jsxRuntime.jsx(
13695
13767
  "div",
13696
13768
  {
13697
- className: classNames69__default.default(
13769
+ className: classNames67__default.default(
13698
13770
  "border-t border-t-eui-dark-400/40 eui-text-sm",
13699
13771
  {
13700
13772
  "p-5": enableChildrenPadding
@@ -13751,7 +13823,7 @@ function CardHeader({ icon, title, description, className }) {
13751
13823
  return /* @__PURE__ */ jsxRuntime.jsxs(
13752
13824
  "div",
13753
13825
  {
13754
- className: classNames69__default.default(
13826
+ className: classNames67__default.default(
13755
13827
  "flex items-start gap-4 p-6 border-b border-white/10",
13756
13828
  className
13757
13829
  ),
@@ -13767,14 +13839,14 @@ function CardHeader({ icon, title, description, className }) {
13767
13839
  }
13768
13840
  var CardHeader_default = CardHeader;
13769
13841
  function CardContent({ children: children3, className }) {
13770
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames69__default.default("p-6 text-gray-300 text-sm", className), children: children3 });
13842
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames67__default.default("p-6 text-gray-300 text-sm", className), children: children3 });
13771
13843
  }
13772
13844
  var CardContent_default = CardContent;
13773
13845
  function CardFooter({ children: children3, className }) {
13774
13846
  return /* @__PURE__ */ jsxRuntime.jsx(
13775
13847
  "div",
13776
13848
  {
13777
- className: classNames69__default.default(
13849
+ className: classNames67__default.default(
13778
13850
  "flex items-center gap-3 p-5 border-t border-white/10 text-sm text-gray-400",
13779
13851
  className
13780
13852
  ),
@@ -13816,7 +13888,7 @@ function GradientAnimation({
13816
13888
  return /* @__PURE__ */ jsxRuntime.jsx(
13817
13889
  "div",
13818
13890
  {
13819
- className: classNames69__default.default("absolute inset-0"),
13891
+ className: classNames67__default.default("absolute inset-0"),
13820
13892
  style: {
13821
13893
  background: `linear-gradient(${cfg.angle}deg, ${cfg.colors?.join(",")})`,
13822
13894
  backgroundSize: cfg.backgroundSize,
@@ -13962,7 +14034,7 @@ function MotionSurface({
13962
14034
  }) {
13963
14035
  const AnimationComponent = animationVariant === "custom" ? CustomAnimation : animationRegistry[animationVariant];
13964
14036
  const OverlayComponent = overlay === "custom" ? CustomOverlay : overlayRegistry[overlay];
13965
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classNames69__default.default("relative overflow-hidden", className), children: [
14037
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classNames67__default.default("relative overflow-hidden", className), children: [
13966
14038
  AnimationComponent && /* @__PURE__ */ jsxRuntime.jsx(AnimationComponent, { config: animationConfig, animated }),
13967
14039
  OverlayComponent && /* @__PURE__ */ jsxRuntime.jsx(OverlayComponent, { config: overlayConfig }),
13968
14040
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-10", children: children3 })
@@ -17518,21 +17590,6 @@ var typographyLevels = {
17518
17590
  3: "text-xs leading-[20px]"
17519
17591
  }
17520
17592
  };
17521
-
17522
- // src/components/data-display/typography/shared/typography.styles.ts
17523
- var typographyStyles = ({
17524
- variant = "default",
17525
- decoration = "noUnderline",
17526
- bold,
17527
- italic,
17528
- className
17529
- }) => cn(
17530
- textVariants[variant],
17531
- decorations[decoration],
17532
- bold && "font-bold",
17533
- italic && "italic",
17534
- className
17535
- );
17536
17593
  var Chapter = ({
17537
17594
  level = 1,
17538
17595
  children: children3,
@@ -17747,33 +17804,6 @@ var Lead = ({
17747
17804
  }
17748
17805
  );
17749
17806
  };
17750
- var Overline = ({
17751
- children: children3,
17752
- variant,
17753
- decoration,
17754
- bold = true,
17755
- italic,
17756
- className,
17757
- ...rest
17758
- }) => {
17759
- return /* @__PURE__ */ jsxRuntime.jsx(
17760
- "div",
17761
- {
17762
- ...rest,
17763
- className: cn(
17764
- "text-xs uppercase tracking-[0.2em]",
17765
- typographyStyles({
17766
- variant,
17767
- decoration,
17768
- bold,
17769
- italic,
17770
- className
17771
- })
17772
- ),
17773
- children: children3 || "Overline"
17774
- }
17775
- );
17776
- };
17777
17807
  var Display = ({
17778
17808
  level = 1,
17779
17809
  children: children3,
@@ -19059,7 +19089,7 @@ var ThemeSwitch = () => {
19059
19089
  /* @__PURE__ */ jsxRuntime.jsx(
19060
19090
  "div",
19061
19091
  {
19062
- className: classNames69__default.default(
19092
+ className: classNames67__default.default(
19063
19093
  "w-6 h-6 bg-white dark:bg-gray-600 rounded-full shadow-md transition-transform duration-300",
19064
19094
  theme === "dark" ? "translate-x-8" : "translate-x-0"
19065
19095
  )
@@ -30828,7 +30858,7 @@ function Modal({
30828
30858
  "div",
30829
30859
  {
30830
30860
  ref: modalRef,
30831
- className: classNames69__default.default(
30861
+ className: classNames67__default.default(
30832
30862
  "eui-bg-md eui-shadow-lg border border-gray-700/80 w-fit h-fit",
30833
30863
  shapes[resolvedShape],
30834
30864
  styles
@@ -30840,7 +30870,7 @@ function Modal({
30840
30870
  "button",
30841
30871
  {
30842
30872
  type: "button",
30843
- className: classNames69__default.default(
30873
+ className: classNames67__default.default(
30844
30874
  "w-[60px] h-[60px] flex items-center justify-center transition-standard-fast",
30845
30875
  "hover:cursor-pointer hover:bg-eui-dark-500"
30846
30876
  ),
@@ -31232,7 +31262,7 @@ var ContentArea = React26.forwardRef(
31232
31262
  "div",
31233
31263
  {
31234
31264
  ref,
31235
- className: classNames69__default.default({
31265
+ className: classNames67__default.default({
31236
31266
  "min-h-screen h-full w-full transition-all duration-[200ms]": true,
31237
31267
  "py-3 px-5": !enablePadding,
31238
31268
  "py-3 px-5 lg:px-[150px]": enablePadding,
@@ -31249,7 +31279,7 @@ function FlexCol({ children: children3, gap = 3, styles }) {
31249
31279
  return /* @__PURE__ */ jsxRuntime.jsx(
31250
31280
  "div",
31251
31281
  {
31252
- className: classNames69__default.default({
31282
+ className: classNames67__default.default({
31253
31283
  [`flex flex-col gap-${gap}`]: true,
31254
31284
  [`${styles}`]: styles
31255
31285
  }),
@@ -31262,7 +31292,7 @@ function FlexRow({ children: children3, gap = 3, styles }) {
31262
31292
  return /* @__PURE__ */ jsxRuntime.jsx(
31263
31293
  "div",
31264
31294
  {
31265
- className: classNames69__default.default({
31295
+ className: classNames67__default.default({
31266
31296
  [`flex flex-row gap-${gap}`]: true,
31267
31297
  [`${styles}`]: styles
31268
31298
  }),
@@ -31281,7 +31311,7 @@ function Grid({ children: children3, styles }) {
31281
31311
  return /* @__PURE__ */ jsxRuntime.jsx(
31282
31312
  "div",
31283
31313
  {
31284
- className: classNames69__default.default({
31314
+ className: classNames67__default.default({
31285
31315
  [`grid`]: true,
31286
31316
  [`${styles}`]: styles
31287
31317
  }),
@@ -31298,7 +31328,7 @@ var Layout = ({
31298
31328
  return /* @__PURE__ */ jsxRuntime.jsx(
31299
31329
  "div",
31300
31330
  {
31301
- className: classNames69__default.default({
31331
+ className: classNames67__default.default({
31302
31332
  // "flex h-full w-screen bg-gray-100 overflow-auto": true,
31303
31333
  "flex bg-eui-light-600": true,
31304
31334
  "flex-col": flexDirection === "vertical",
@@ -31320,7 +31350,7 @@ var Header = ({
31320
31350
  return /* @__PURE__ */ jsxRuntime.jsx(
31321
31351
  "div",
31322
31352
  {
31323
- className: classNames69__default.default({
31353
+ className: classNames67__default.default({
31324
31354
  static: position4 === "static",
31325
31355
  fixed: position4 === "fixed",
31326
31356
  sticky: position4 === "sticky",
@@ -31355,7 +31385,7 @@ var Content = ({
31355
31385
  return /* @__PURE__ */ jsxRuntime.jsx(
31356
31386
  "div",
31357
31387
  {
31358
- className: classNames69__default.default({
31388
+ className: classNames67__default.default({
31359
31389
  "w-full min-h-screen transition-all duration-200 eui-bg-sm": true,
31360
31390
  "md:pl-[300px]": !overlayedSidebar && sidebarVisible && !isMobile,
31361
31391
  // Shift when sidebar is open (desktop)
@@ -31371,7 +31401,7 @@ var Footer = ({ children: children3, styles }) => {
31371
31401
  return /* @__PURE__ */ jsxRuntime.jsx(
31372
31402
  "div",
31373
31403
  {
31374
- className: classNames69__default.default({
31404
+ className: classNames67__default.default({
31375
31405
  "bottom-0 w-full h-fit": true,
31376
31406
  "border-t border-eui-dark-500/40 dark:border-eui-secondary-800 eui-bg-md": !styles,
31377
31407
  [`${styles}`]: styles
@@ -31559,7 +31589,7 @@ function ShowMore({ text: text10, limit }) {
31559
31589
  /* @__PURE__ */ jsxRuntime.jsx(
31560
31590
  "div",
31561
31591
  {
31562
- className: classNames69__default.default({
31592
+ className: classNames67__default.default({
31563
31593
  "text-blue-300 px-1 pb-1 mt-1": true,
31564
31594
  "bg-slate-900/70": !showMore,
31565
31595
  "bg-gradient-to-t from-slate-900/50 to-transparent": showMore
@@ -32475,7 +32505,7 @@ function DocumentationPanel({
32475
32505
  return /* @__PURE__ */ jsxRuntime.jsx(MarkdownProvider_default, { markdown: value, children: /* @__PURE__ */ jsxRuntime.jsxs(
32476
32506
  "section",
32477
32507
  {
32478
- className: classNames69__default.default(
32508
+ className: classNames67__default.default(
32479
32509
  "eui-documentation-panel",
32480
32510
  "min-h-0 overflow-hidden bg-white text-gray-900",
32481
32511
  "dark:bg-gray-950 dark:text-gray-100",
@@ -32489,7 +32519,7 @@ function DocumentationPanel({
32489
32519
  /* @__PURE__ */ jsxRuntime.jsx(
32490
32520
  "main",
32491
32521
  {
32492
- className: classNames69__default.default(
32522
+ className: classNames67__default.default(
32493
32523
  "eui-documentation-panel-viewer",
32494
32524
  "documentation-panel-scrollbar min-w-0 overflow-y-auto scroll-smooth",
32495
32525
  viewerClassName
@@ -32497,7 +32527,7 @@ function DocumentationPanel({
32497
32527
  children: /* @__PURE__ */ jsxRuntime.jsx(
32498
32528
  "div",
32499
32529
  {
32500
- className: classNames69__default.default(
32530
+ className: classNames67__default.default(
32501
32531
  "mx-auto px-5 py-8 sm:px-6 lg:px-8",
32502
32532
  contentMaxWidthClassName,
32503
32533
  contentClassName
@@ -32510,7 +32540,7 @@ function DocumentationPanel({
32510
32540
  toc ? /* @__PURE__ */ jsxRuntime.jsx(
32511
32541
  "aside",
32512
32542
  {
32513
- className: classNames69__default.default(
32543
+ className: classNames67__default.default(
32514
32544
  "eui-documentation-panel-toc",
32515
32545
  "hidden min-w-0 border-l border-gray-200 bg-white lg:block",
32516
32546
  "dark:border-gray-800 dark:bg-gray-950",
@@ -32519,7 +32549,7 @@ function DocumentationPanel({
32519
32549
  children: /* @__PURE__ */ jsxRuntime.jsx(
32520
32550
  "div",
32521
32551
  {
32522
- className: classNames69__default.default(
32552
+ className: classNames67__default.default(
32523
32553
  "documentation-panel-scrollbar h-full overflow-y-auto px-5 py-8"
32524
32554
  ),
32525
32555
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "sticky top-0", children: /* @__PURE__ */ jsxRuntime.jsx(MarkdownTOC_default, {}) })
@@ -32795,7 +32825,7 @@ function BoxNavItem({ icon, name: name2, to, selected, onClick }) {
32795
32825
  type: "button",
32796
32826
  onClick: handleClick,
32797
32827
  "aria-current": selected ? "page" : void 0,
32798
- className: classNames69__default.default(
32828
+ className: classNames67__default.default(
32799
32829
  "w-full min-w-[80px] flex flex-col items-center justify-center py-3 text-center",
32800
32830
  "hover:text-secondary-700 hover:bg-gray-300/10 hover:cursor-pointer",
32801
32831
  selected ? "text-eui-secondary-700 bg-gray-300/10" : "text-gray-400",
@@ -32839,6 +32869,323 @@ function BoxNav({ data = [], currentPath, onNavigate, navigate }) {
32839
32869
  }) });
32840
32870
  }
32841
32871
  var BoxNav_default = BoxNav;
32872
+ function FooterBrand({
32873
+ brand,
32874
+ brandSrc,
32875
+ brandAlt,
32876
+ className
32877
+ }) {
32878
+ if (brand) {
32879
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("inline-flex", className), children: brand });
32880
+ }
32881
+ return /* @__PURE__ */ jsxRuntime.jsx(Brand, { src: brandSrc, alt: brandAlt, className });
32882
+ }
32883
+ function FooterDescription({
32884
+ children: children3,
32885
+ className
32886
+ }) {
32887
+ if (!children3) return null;
32888
+ return /* @__PURE__ */ jsxRuntime.jsx(Paragraph, { level: 2, className: cn("max-w-sm text-sm", className), children: children3 });
32889
+ }
32890
+ function FooterSocial({ item, className }) {
32891
+ const { name: name2, href, icon, external = true, onClick } = item;
32892
+ return /* @__PURE__ */ jsxRuntime.jsx(
32893
+ "a",
32894
+ {
32895
+ href,
32896
+ onClick,
32897
+ target: external ? "_blank" : void 0,
32898
+ rel: external ? "noopener noreferrer" : void 0,
32899
+ "aria-label": name2,
32900
+ title: name2,
32901
+ className: cn(
32902
+ "flex h-9 w-9 items-center justify-center rounded-full text-base",
32903
+ "eui-text-md border border-eui-dark-500/30 dark:border-eui-light-600/30",
32904
+ "eui-theme-transition hover:brightness-125",
32905
+ "hover:bg-eui-dark-500/5 dark:hover:bg-eui-light-600/10",
32906
+ "focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-current",
32907
+ className
32908
+ ),
32909
+ children: icon
32910
+ }
32911
+ );
32912
+ }
32913
+ function FooterSocials({
32914
+ items,
32915
+ social,
32916
+ className,
32917
+ itemClassName
32918
+ }) {
32919
+ if (!items || items.length === 0) return null;
32920
+ const Social = social ?? FooterSocial;
32921
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-wrap items-center gap-3", className), children: items.map((item, index3) => /* @__PURE__ */ jsxRuntime.jsx(
32922
+ Social,
32923
+ {
32924
+ item,
32925
+ className: itemClassName
32926
+ },
32927
+ item.key ?? item.name ?? item.href ?? index3
32928
+ )) });
32929
+ }
32930
+ function FooterLink({ item, navigate, className }) {
32931
+ const { label, to, icon, description, badge, external, onClick } = item;
32932
+ const useJsNav = Boolean(onClick) || Boolean(navigate) && Boolean(to);
32933
+ const handleClick = () => {
32934
+ if (onClick) {
32935
+ onClick();
32936
+ return;
32937
+ }
32938
+ if (to && navigate) navigate(to);
32939
+ };
32940
+ const link3 = /* @__PURE__ */ jsxRuntime.jsx(
32941
+ Link,
32942
+ {
32943
+ href: to || "#",
32944
+ target: external ? "blank" : "self",
32945
+ variant: "default",
32946
+ decoration: "noUnderline",
32947
+ onClick: useJsNav ? handleClick : void 0,
32948
+ styles: cn(
32949
+ "text-sm",
32950
+ !icon && !description && "block py-1",
32951
+ item.className,
32952
+ className
32953
+ ),
32954
+ children: label
32955
+ }
32956
+ );
32957
+ if (!icon && !description && !badge) return link3;
32958
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3 py-1 text-sm", children: [
32959
+ icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "eui-text-sm mt-0.5 shrink-0 text-base", children: icon }),
32960
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-col", children: [
32961
+ link3,
32962
+ description && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "eui-text-sm text-xs", children: description })
32963
+ ] }),
32964
+ badge && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto", children: badge })
32965
+ ] });
32966
+ }
32967
+ function FooterColumn({
32968
+ column,
32969
+ navigate,
32970
+ link: link3,
32971
+ className,
32972
+ titleClassName,
32973
+ linkClassName
32974
+ }) {
32975
+ const Link2 = link3 ?? FooterLink;
32976
+ return /* @__PURE__ */ jsxRuntime.jsx(
32977
+ FooterNavGroup,
32978
+ {
32979
+ title: column.title,
32980
+ className,
32981
+ titleClassName,
32982
+ children: column.items.map((item, index3) => /* @__PURE__ */ jsxRuntime.jsx(
32983
+ Link2,
32984
+ {
32985
+ item,
32986
+ navigate,
32987
+ className: linkClassName
32988
+ },
32989
+ item.key ?? index3
32990
+ ))
32991
+ }
32992
+ );
32993
+ }
32994
+ var gridColsClassName = (count) => {
32995
+ const map3 = {
32996
+ 1: "grid-cols-1",
32997
+ 2: "grid-cols-2",
32998
+ 3: "grid-cols-2 sm:grid-cols-3",
32999
+ 4: "grid-cols-2 sm:grid-cols-4"
33000
+ };
33001
+ return map3[Math.min(Math.max(count, 1), 4)] ?? map3[4];
33002
+ };
33003
+ function FooterColumns({
33004
+ columns,
33005
+ navigate,
33006
+ column,
33007
+ link: link3,
33008
+ className,
33009
+ columnClassName,
33010
+ titleClassName,
33011
+ linkClassName
33012
+ }) {
33013
+ if (!columns || columns.length === 0) return null;
33014
+ const Column = column ?? FooterColumn;
33015
+ return /* @__PURE__ */ jsxRuntime.jsx(
33016
+ "div",
33017
+ {
33018
+ className: cn("grid gap-8", gridColsClassName(columns.length), className),
33019
+ children: columns.map((col, index3) => {
33020
+ const ColumnComponent = col.component ?? Column;
33021
+ return /* @__PURE__ */ jsxRuntime.jsx(
33022
+ ColumnComponent,
33023
+ {
33024
+ column: col,
33025
+ navigate,
33026
+ link: link3,
33027
+ className: cn(columnClassName, col.className),
33028
+ titleClassName,
33029
+ linkClassName
33030
+ },
33031
+ col.key ?? index3
33032
+ );
33033
+ })
33034
+ }
33035
+ );
33036
+ }
33037
+ function FooterBottom({
33038
+ copyright,
33039
+ legalLinks = [],
33040
+ bottomNote,
33041
+ navigate,
33042
+ classNames: classNames71
33043
+ }) {
33044
+ const hasLegal = legalLinks.length > 0;
33045
+ if (!copyright && !hasLegal && !bottomNote) return null;
33046
+ return /* @__PURE__ */ jsxRuntime.jsxs(
33047
+ "div",
33048
+ {
33049
+ className: cn(
33050
+ "mt-14 flex flex-col gap-4 pt-8",
33051
+ "border-t border-eui-dark-500/15 dark:border-eui-light-600/15",
33052
+ "md:flex-row md:items-center md:justify-between",
33053
+ classNames71?.bottom
33054
+ ),
33055
+ children: [
33056
+ copyright && /* @__PURE__ */ jsxRuntime.jsx(
33057
+ Caption,
33058
+ {
33059
+ className: cn("max-w-3xl leading-relaxed", classNames71?.copyright),
33060
+ children: copyright
33061
+ }
33062
+ ),
33063
+ (hasLegal || bottomNote) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-x-5 gap-y-2 md:justify-end", children: [
33064
+ legalLinks.map((item, index3) => {
33065
+ const useJsNav = Boolean(item.onClick) || Boolean(navigate) && Boolean(item.to);
33066
+ return /* @__PURE__ */ jsxRuntime.jsx(
33067
+ Link,
33068
+ {
33069
+ href: item.to || "#",
33070
+ target: item.external ? "blank" : "self",
33071
+ variant: "default",
33072
+ decoration: "noUnderline",
33073
+ onClick: useJsNav ? () => item.onClick ? item.onClick() : item.to && navigate?.(item.to) : void 0,
33074
+ styles: cn("whitespace-nowrap text-xs", classNames71?.legalLink),
33075
+ children: item.label
33076
+ },
33077
+ item.key ?? index3
33078
+ );
33079
+ }),
33080
+ bottomNote && /* @__PURE__ */ jsxRuntime.jsx(Caption, { children: bottomNote })
33081
+ ] })
33082
+ ]
33083
+ }
33084
+ );
33085
+ }
33086
+ function SiteFooter({
33087
+ brand,
33088
+ brandSrc,
33089
+ brandAlt,
33090
+ description,
33091
+ columns = [],
33092
+ socials = [],
33093
+ copyright,
33094
+ legalLinks = [],
33095
+ bottomNote,
33096
+ navigate,
33097
+ components,
33098
+ classNames: classNames71,
33099
+ className,
33100
+ styles,
33101
+ maxWidth = "max-w-7xl",
33102
+ showBrand = true,
33103
+ showColumns = true,
33104
+ showSocials = true,
33105
+ showBottom = true,
33106
+ children: children3
33107
+ }) {
33108
+ const Root = components?.root ?? Footer;
33109
+ const Container = components?.container;
33110
+ const BrandSlot = components?.brand ?? FooterBrand;
33111
+ const DescriptionSlot = components?.description ?? FooterDescription;
33112
+ const SocialsSlot = components?.socials ?? FooterSocials;
33113
+ const ColumnsSlot = components?.columns ?? FooterColumns;
33114
+ const BottomSlot = components?.bottom ?? FooterBottom;
33115
+ const hasBrandBlock = showBrand && (Boolean(brand) || Boolean(brandSrc) || Boolean(description) || showSocials && socials.length > 0);
33116
+ const hasColumns = showColumns && columns.length > 0;
33117
+ const brandBlock = hasBrandBlock ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-6", classNames71?.brandBlock), children: [
33118
+ showBrand && (Boolean(brand) || Boolean(brandSrc)) && /* @__PURE__ */ jsxRuntime.jsx(BrandSlot, { brand, brandSrc, brandAlt }),
33119
+ description && /* @__PURE__ */ jsxRuntime.jsx(DescriptionSlot, { className: classNames71?.description, children: description }),
33120
+ showSocials && socials.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
33121
+ SocialsSlot,
33122
+ {
33123
+ items: socials,
33124
+ social: components?.social,
33125
+ className: classNames71?.socials,
33126
+ itemClassName: classNames71?.social
33127
+ }
33128
+ )
33129
+ ] }) : null;
33130
+ const columnsBlock = hasColumns ? /* @__PURE__ */ jsxRuntime.jsx(
33131
+ ColumnsSlot,
33132
+ {
33133
+ columns,
33134
+ navigate,
33135
+ column: components?.column,
33136
+ link: components?.link,
33137
+ className: cn(classNames71?.columns, brandBlock && "lg:col-span-3"),
33138
+ columnClassName: classNames71?.column,
33139
+ titleClassName: classNames71?.columnTitle,
33140
+ linkClassName: classNames71?.link
33141
+ }
33142
+ ) : null;
33143
+ const topSection = children3 ?? (brandBlock || columnsBlock ? /* @__PURE__ */ jsxRuntime.jsxs(
33144
+ "div",
33145
+ {
33146
+ className: cn(
33147
+ "grid gap-12",
33148
+ brandBlock && columnsBlock && "lg:grid-cols-4",
33149
+ classNames71?.top
33150
+ ),
33151
+ children: [
33152
+ brandBlock,
33153
+ columnsBlock
33154
+ ]
33155
+ }
33156
+ ) : null);
33157
+ const content3 = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
33158
+ topSection,
33159
+ showBottom && /* @__PURE__ */ jsxRuntime.jsx(
33160
+ BottomSlot,
33161
+ {
33162
+ copyright,
33163
+ legalLinks,
33164
+ bottomNote,
33165
+ navigate,
33166
+ classNames: classNames71
33167
+ }
33168
+ )
33169
+ ] });
33170
+ const containerClassName = cn(
33171
+ "mx-auto px-6 py-16 md:px-10 lg:px-16",
33172
+ maxWidth,
33173
+ classNames71?.container
33174
+ );
33175
+ return /* @__PURE__ */ jsxRuntime.jsx(Root, { styles: cn(styles, classNames71?.root, className), children: Container ? /* @__PURE__ */ jsxRuntime.jsx(Container, { className: containerClassName, children: content3 }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: containerClassName, children: content3 }) });
33176
+ }
33177
+
33178
+ // src/compositions/navigation/site-footer/index.tsx
33179
+ var SiteFooter2 = Object.assign(SiteFooter, {
33180
+ Brand: FooterBrand,
33181
+ Description: FooterDescription,
33182
+ Socials: FooterSocials,
33183
+ Social: FooterSocial,
33184
+ Columns: FooterColumns,
33185
+ Column: FooterColumn,
33186
+ Link: FooterLink,
33187
+ Bottom: FooterBottom
33188
+ });
32842
33189
  function Sidebar({
32843
33190
  items = [],
32844
33191
  navigate,
@@ -33139,7 +33486,7 @@ var TopNav = ({
33139
33486
  currentPath,
33140
33487
  navigate,
33141
33488
  components,
33142
- classNames: classNames73,
33489
+ classNames: classNames71,
33143
33490
  className
33144
33491
  }) => {
33145
33492
  const pathname = currentPath ?? (typeof window !== "undefined" ? window.location.pathname : "");
@@ -33191,11 +33538,15 @@ var TopNav = ({
33191
33538
  return /* @__PURE__ */ jsxRuntime.jsx(
33192
33539
  TNThemeProvider,
33193
33540
  {
33194
- value: { components: components || {}, classNames: classNames73 || {} },
33195
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", classNames73?.root, className), children: items.map(renderNode) })
33541
+ value: { components: components || {}, classNames: classNames71 || {} },
33542
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", classNames71?.root, className), children: items.map(renderNode) })
33196
33543
  }
33197
33544
  );
33198
33545
  };
33546
+ var RECOMMENDATION_OPTIONS = [
33547
+ { label: "Yes", value: "yes" },
33548
+ { label: "No", value: "no" }
33549
+ ];
33199
33550
  function ReviewForm({
33200
33551
  initialValues,
33201
33552
  placeholder = "Write your review...",
@@ -33203,163 +33554,85 @@ function ReviewForm({
33203
33554
  cancelLabel = "Cancel",
33204
33555
  loading = false,
33205
33556
  disabled = false,
33206
- autoFocus = false,
33207
33557
  config,
33208
33558
  onSubmit,
33209
33559
  onCancel
33210
33560
  }) {
33211
- const [content3, setContent] = React26.useState(initialValues?.content ?? "");
33212
- const [rating, setRating] = React26.useState(initialValues?.rating ?? 0);
33213
- const [isRecommended, setIsRecommended] = React26.useState(
33214
- initialValues?.isRecommended ?? true
33215
- );
33216
- const [error, setError] = React26.useState("");
33217
- const contentLength = content3.trim().length;
33218
- const ratingItems = React26.useMemo(() => {
33219
- return Array.from(
33220
- {
33221
- length: config.maxRating
33222
- },
33223
- (_2, index3) => index3 + 1
33224
- );
33225
- }, [config.maxRating]);
33226
- React26.useEffect(() => {
33227
- setContent(initialValues?.content ?? "");
33228
- setRating(initialValues?.rating ?? 0);
33229
- setIsRecommended(initialValues?.isRecommended ?? true);
33230
- setError("");
33231
- }, [
33232
- initialValues?.content,
33233
- initialValues?.rating,
33234
- initialValues?.isRecommended
33235
- ]);
33236
- function validate() {
33237
- const trimmedContent = content3.trim();
33238
- if (trimmedContent.length < config.minContentLength) {
33239
- return `Review must be at least ${config.minContentLength} characters.`;
33240
- }
33241
- if (trimmedContent.length > config.maxContentLength) {
33242
- return `Review cannot be more than ${config.maxContentLength} characters.`;
33243
- }
33244
- if (rating < config.minRating) {
33245
- return "Please select a rating.";
33246
- }
33247
- return "";
33248
- }
33249
- async function handleSubmit() {
33250
- const nextError = validate();
33251
- if (nextError) {
33252
- setError(nextError);
33253
- return;
33254
- }
33255
- const values = {
33256
- content: content3.trim(),
33257
- rating,
33258
- isRecommended: config.allowRecommendation ? isRecommended : void 0
33561
+ const formInitialValues = {
33562
+ content: initialValues?.content ?? "",
33563
+ rating: initialValues?.rating ?? 0,
33564
+ isRecommended: initialValues?.isRecommended ?? true ? "yes" : "no"
33565
+ };
33566
+ async function handleSubmit(values) {
33567
+ const normalized = {
33568
+ content: values.content.trim(),
33569
+ rating: Number(values.rating),
33570
+ isRecommended: config.allowRecommendation ? values.isRecommended === "yes" : void 0
33259
33571
  };
33260
- await onSubmit(values);
33572
+ await onSubmit(normalized);
33261
33573
  }
33262
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
33263
- /* @__PURE__ */ jsxRuntime.jsx(
33264
- "textarea",
33265
- {
33266
- value: content3,
33267
- disabled: disabled || loading,
33268
- autoFocus,
33269
- placeholder,
33270
- maxLength: config.maxContentLength,
33271
- onChange: (event) => {
33272
- setContent(event.target.value);
33273
- setError("");
33274
- },
33275
- className: "min-h-[120px] w-full resize-none rounded-xl border border-gray-300 bg-white px-4 py-3 text-sm text-gray-900 outline-none transition-colors placeholder:text-gray-400 focus:border-blue-500 disabled:cursor-not-allowed disabled:opacity-60 dark:border-neutral-700 dark:bg-neutral-900 dark:text-gray-100 dark:placeholder:text-gray-500"
33276
- }
33277
- ),
33278
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-3 text-xs text-gray-500 dark:text-gray-400", children: [
33279
- /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
33280
- contentLength,
33281
- "/",
33282
- config.maxContentLength
33283
- ] }),
33284
- error && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-red-500", children: error })
33285
- ] }),
33286
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
33287
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: "Rating" }),
33288
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-1", children: ratingItems.map((item) => {
33289
- const active = item <= rating;
33290
- return /* @__PURE__ */ jsxRuntime.jsx(
33291
- "button",
33292
- {
33293
- type: "button",
33294
- disabled: disabled || loading,
33295
- onClick: () => {
33296
- setRating(item);
33297
- setError("");
33298
- },
33299
- className: `
33300
- text-2xl leading-none transition-transform disabled:cursor-not-allowed disabled:opacity-60
33301
- ${active ? "text-yellow-400" : "text-gray-300 dark:text-neutral-700"}
33302
- hover:scale-110
33303
- `,
33304
- "aria-label": `Rate ${item} out of ${config.maxRating}`,
33305
- children: "\u2605"
33306
- },
33307
- item
33308
- );
33309
- }) })
33310
- ] }),
33311
- config.allowRecommendation && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
33312
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: "Do you recommend this?" }),
33313
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-3", children: [
33314
- /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "inline-flex cursor-pointer items-center gap-2 text-sm text-gray-700 dark:text-gray-300", children: [
33574
+ return /* @__PURE__ */ jsxRuntime.jsx(
33575
+ Form,
33576
+ {
33577
+ enableReinitialize: true,
33578
+ initialValues: formInitialValues,
33579
+ onSubmit: handleSubmit,
33580
+ children: (formik) => {
33581
+ const content3 = String(formik.values.content ?? "").trim();
33582
+ const rating = Number(formik.values.rating ?? 0);
33583
+ const isValid = content3.length >= config.minContentLength && rating >= config.minRating;
33584
+ const busy = loading || formik.isSubmitting;
33585
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
33315
33586
  /* @__PURE__ */ jsxRuntime.jsx(
33316
- "input",
33587
+ TextArea,
33317
33588
  {
33318
- type: "radio",
33319
- checked: isRecommended,
33320
- disabled: disabled || loading,
33321
- onChange: () => setIsRecommended(true)
33589
+ name: "content",
33590
+ label: placeholder,
33591
+ placeholder,
33592
+ rows: 4,
33593
+ limit: config.maxContentLength,
33594
+ disabled: disabled || busy
33322
33595
  }
33323
33596
  ),
33324
- "Yes"
33325
- ] }),
33326
- /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "inline-flex cursor-pointer items-center gap-2 text-sm text-gray-700 dark:text-gray-300", children: [
33327
- /* @__PURE__ */ jsxRuntime.jsx(
33328
- "input",
33597
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2", children: [
33598
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: "Rating" }),
33599
+ /* @__PURE__ */ jsxRuntime.jsx(StarRatingInput_default, { name: "rating", starAmount: config.maxRating })
33600
+ ] }),
33601
+ config.allowRecommendation && /* @__PURE__ */ jsxRuntime.jsx(
33602
+ Radio_default,
33329
33603
  {
33330
- type: "radio",
33331
- checked: !isRecommended,
33332
- disabled: disabled || loading,
33333
- onChange: () => setIsRecommended(false)
33604
+ name: "isRecommended",
33605
+ placeholder: "Do you recommend this?",
33606
+ options: RECOMMENDATION_OPTIONS
33334
33607
  }
33335
33608
  ),
33336
- "No"
33337
- ] })
33338
- ] })
33339
- ] }),
33340
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2", children: [
33341
- onCancel && /* @__PURE__ */ jsxRuntime.jsx(
33342
- Button_web_default,
33343
- {
33344
- text: cancelLabel,
33345
- variant: "secondary",
33346
- appearance: "ghost",
33347
- disabled: loading,
33348
- onClick: onCancel
33349
- }
33350
- ),
33351
- /* @__PURE__ */ jsxRuntime.jsx(
33352
- Button_web_default,
33353
- {
33354
- text: submitLabel,
33355
- variant: "primary",
33356
- loading,
33357
- disabled: disabled || !content3.trim() || rating < config.minRating,
33358
- onClick: handleSubmit
33359
- }
33360
- )
33361
- ] })
33362
- ] });
33609
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-end gap-2", children: [
33610
+ onCancel && /* @__PURE__ */ jsxRuntime.jsx(
33611
+ Button_web_default,
33612
+ {
33613
+ type: "button",
33614
+ text: cancelLabel,
33615
+ variant: "secondary",
33616
+ appearance: "ghost",
33617
+ disabled: busy,
33618
+ onClick: onCancel
33619
+ }
33620
+ ),
33621
+ /* @__PURE__ */ jsxRuntime.jsx(
33622
+ Button_web_default,
33623
+ {
33624
+ type: "submit",
33625
+ text: submitLabel,
33626
+ variant: "primary",
33627
+ loading: busy,
33628
+ disabled: disabled || !isValid
33629
+ }
33630
+ )
33631
+ ] })
33632
+ ] });
33633
+ }
33634
+ }
33635
+ );
33363
33636
  }
33364
33637
  var ReviewForm_default = ReviewForm;
33365
33638
  function ReviewComposer({
@@ -33373,12 +33646,12 @@ function ReviewComposer({
33373
33646
  onSubmit
33374
33647
  }) {
33375
33648
  if (!currentUser) {
33376
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-xl border border-gray-200 bg-white p-4 dark:border-neutral-800 dark:bg-neutral-900", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-between gap-3", children: [
33377
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-gray-600 dark:text-gray-400", children: "Please login to post your review." }),
33649
+ return /* @__PURE__ */ jsxRuntime.jsx(Card_default, { styles: "p-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-between gap-3", children: [
33650
+ /* @__PURE__ */ jsxRuntime.jsx(Typography.Caption, { children: "Please login to post your review." }),
33378
33651
  onLoginClick && /* @__PURE__ */ jsxRuntime.jsx(Button_web_default, { text: "Login", variant: "primary", onClick: onLoginClick })
33379
33652
  ] }) });
33380
33653
  }
33381
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-xl border border-gray-200 bg-white p-4 dark:border-neutral-800 dark:bg-neutral-900", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-4", children: [
33654
+ return /* @__PURE__ */ jsxRuntime.jsx(Card_default, { styles: "p-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-4", children: [
33382
33655
  /* @__PURE__ */ jsxRuntime.jsx(Avatar, { src: currentUser.avatar, size: "md" }),
33383
33656
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(
33384
33657
  ReviewForm_default,
@@ -33608,48 +33881,23 @@ function ReviewHeader({ review, config }) {
33608
33881
  }
33609
33882
  var ReviewHeader_default = ReviewHeader;
33610
33883
  function ReviewContent({ review }) {
33611
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "whitespace-pre-wrap break-words text-sm leading-6 text-gray-700 dark:text-gray-300", children: review.content });
33884
+ return /* @__PURE__ */ jsxRuntime.jsx(Typography.Paragraph, { className: "whitespace-pre-wrap break-words", children: review.content });
33612
33885
  }
33613
33886
  var ReviewContent_default = ReviewContent;
33614
33887
  function ReviewRating({ rating, maxRating }) {
33615
- const items = Array.from(
33616
- {
33617
- length: maxRating
33618
- },
33619
- (_2, index3) => index3 + 1
33620
- );
33621
- return /* @__PURE__ */ jsxRuntime.jsx(
33622
- "div",
33623
- {
33624
- className: "inline-flex items-center gap-0.5",
33625
- "aria-label": `${rating} out of ${maxRating}`,
33626
- children: items.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
33627
- "span",
33628
- {
33629
- className: item <= rating ? "text-sm text-yellow-400" : "text-sm text-gray-300 dark:text-neutral-700",
33630
- children: "\u2605"
33631
- },
33632
- item
33633
- ))
33634
- }
33635
- );
33888
+ return /* @__PURE__ */ jsxRuntime.jsx(StarRating, { rating, max: maxRating, size: "sm" });
33636
33889
  }
33637
33890
  var ReviewRating_default = ReviewRating;
33638
33891
  function ReviewRecommendation({ isRecommended }) {
33639
33892
  if (typeof isRecommended !== "boolean") {
33640
33893
  return null;
33641
33894
  }
33642
- return /* @__PURE__ */ jsxRuntime.jsxs(
33643
- "span",
33895
+ return /* @__PURE__ */ jsxRuntime.jsx(
33896
+ Chip,
33644
33897
  {
33645
- className: `
33646
- inline-flex items-center gap-1 rounded-full px-2.5 py-1 text-xs font-medium
33647
- ${isRecommended ? "bg-green-500/10 text-green-500" : "bg-red-500/10 text-red-500"}
33648
- `,
33649
- children: [
33650
- isRecommended ? /* @__PURE__ */ jsxRuntime.jsx(index_js$5.BiCheckCircle, { size: 16 }) : /* @__PURE__ */ jsxRuntime.jsx(index_js$5.BiXCircle, { size: 16 }),
33651
- isRecommended ? "Recommended" : "Not Recommended"
33652
- ]
33898
+ label: isRecommended ? "Recommended" : "Not Recommended",
33899
+ variant: isRecommended ? "success" : "danger",
33900
+ appearance: "lite"
33653
33901
  }
33654
33902
  );
33655
33903
  }
@@ -33787,56 +34035,32 @@ function MyReviewPanel({
33787
34035
  ] });
33788
34036
  }
33789
34037
  var MyReviewPanel_default = MyReviewPanel;
33790
- function ReviewMenuItem({
33791
- icon,
33792
- name: name2,
33793
- badge,
33794
- to,
33795
- navigate,
33796
- className,
33797
- onClick,
33798
- style: style2
33799
- }) {
33800
- return /* @__PURE__ */ jsxRuntime.jsx(
33801
- MenuItem,
33802
- {
33803
- icon,
33804
- name: name2,
33805
- badge,
33806
- to,
33807
- navigate,
33808
- onClick,
33809
- style: style2,
33810
- className
33811
- }
33812
- );
33813
- }
34038
+ var MENU_ITEM_CLASS = "flex w-full items-center gap-2 px-4 py-3 text-sm hover:bg-gray-100 dark:hover:bg-neutral-800";
33814
34039
  function ReviewMenu({
33815
34040
  open,
33816
34041
  setOpen,
33817
34042
  canEdit,
33818
34043
  canDelete,
33819
34044
  canReport,
33820
- canReply,
33821
34045
  onEdit,
33822
34046
  onDelete,
33823
- onReport,
33824
- onReply
34047
+ onReport
33825
34048
  }) {
33826
34049
  const ref = React26.useRef(null);
33827
34050
  useClickOutside(ref, () => setOpen(false));
34051
+ const withClose = (action) => () => {
34052
+ setOpen(false);
34053
+ action?.();
34054
+ };
33828
34055
  const items = [];
33829
34056
  if (canEdit) {
33830
34057
  items.push({
33831
34058
  type: "item",
33832
34059
  icon: /* @__PURE__ */ jsxRuntime.jsx(index_js$5.BiEdit, {}),
33833
34060
  name: "Edit Review",
33834
- component: ReviewMenuItem,
33835
- onClick: () => {
33836
- setOpen(false);
33837
- onEdit?.();
33838
- },
33839
- className: "flex w-full items-center gap-2 px-4 py-3 text-sm hover:bg-gray-100 dark:hover:bg-neutral-800"
34061
+ component: MenuItem,
34062
+ onClick: withClose(onEdit),
34063
+ className: MENU_ITEM_CLASS
33840
34064
  });
33841
34065
  }
33842
34066
  if (canDelete) {
@@ -33844,12 +34068,9 @@ function ReviewMenu({
33844
34068
  type: "item",
33845
34069
  icon: /* @__PURE__ */ jsxRuntime.jsx(index_js$5.BiTrash, {}),
33846
34070
  name: "Delete Review",
33847
- component: ReviewMenuItem,
33848
- onClick: () => {
33849
- setOpen(false);
33850
- onDelete?.();
33851
- },
33852
- className: "flex w-full items-center gap-2 px-4 py-3 text-sm text-red-500 hover:bg-gray-100 dark:hover:bg-neutral-800"
34071
+ component: MenuItem,
34072
+ onClick: withClose(onDelete),
34073
+ className: `${MENU_ITEM_CLASS} text-red-500`
33853
34074
  });
33854
34075
  }
33855
34076
  if (canReport) {
@@ -33857,25 +34078,9 @@ function ReviewMenu({
33857
34078
  type: "item",
33858
34079
  icon: /* @__PURE__ */ jsxRuntime.jsx(index_js$5.BiFlag, {}),
33859
34080
  name: "Report Review",
33860
- component: ReviewMenuItem,
33861
- onClick: () => {
33862
- setOpen(false);
33863
- onReport?.();
33864
- },
33865
- className: "flex w-full items-center gap-2 px-4 py-3 text-sm hover:bg-gray-100 dark:hover:bg-neutral-800"
33866
- });
33867
- }
33868
- if (canReply) {
33869
- items.push({
33870
- type: "item",
33871
- icon: /* @__PURE__ */ jsxRuntime.jsx(index_js$5.BiReply, {}),
33872
- name: "Reply as Owner",
33873
- component: ReviewMenuItem,
33874
- onClick: () => {
33875
- setOpen(false);
33876
- onReply?.();
33877
- },
33878
- className: "flex w-full items-center gap-2 px-4 py-3 text-sm hover:bg-gray-100 dark:hover:bg-neutral-800"
34081
+ component: MenuItem,
34082
+ onClick: withClose(onReport),
34083
+ className: MENU_ITEM_CLASS
33879
34084
  });
33880
34085
  }
33881
34086
  if (!items.length) {
@@ -33896,20 +34101,20 @@ function ReviewMenu({
33896
34101
  ] });
33897
34102
  }
33898
34103
  var ReviewMenu_default = ReviewMenu;
33899
- function ReviewActions({ canReply, onReply }) {
34104
+ function ReviewActions({ canReply, config, onReply }) {
33900
34105
  if (!canReply) {
33901
34106
  return null;
33902
34107
  }
33903
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-4 text-sm text-gray-500 dark:text-gray-400", children: /* @__PURE__ */ jsxRuntime.jsxs(
33904
- "button",
34108
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
34109
+ Button_web_default,
33905
34110
  {
33906
34111
  type: "button",
33907
- onClick: onReply,
33908
- className: "inline-flex items-center gap-1 font-medium transition-colors hover:text-gray-900 dark:hover:text-gray-100",
33909
- children: [
33910
- /* @__PURE__ */ jsxRuntime.jsx(index_js$5.BiReply, { size: 18 }),
33911
- "Reply as Owner"
33912
- ]
34112
+ text: `Reply as ${config.ownerReplyLabel}`,
34113
+ variant: "secondary",
34114
+ appearance: "ghost",
34115
+ size: "sm",
34116
+ icon: /* @__PURE__ */ jsxRuntime.jsx(index_js$5.BiReply, {}),
34117
+ onClick: onReply
33913
34118
  }
33914
34119
  ) });
33915
34120
  }
@@ -33937,33 +34142,10 @@ function ReviewReplyHeader({ reply, config }) {
33937
34142
  }
33938
34143
  var ReviewReplyHeader_default = ReviewReplyHeader;
33939
34144
  function ReviewReplyContent({ reply }) {
33940
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "whitespace-pre-wrap break-words text-sm leading-6 text-gray-700 dark:text-gray-300", children: reply.content });
34145
+ return /* @__PURE__ */ jsxRuntime.jsx(Typography.Paragraph, { className: "whitespace-pre-wrap break-words", children: reply.content });
33941
34146
  }
33942
34147
  var ReviewReplyContent_default = ReviewReplyContent;
33943
- function ReviewReplyMenuItem({
33944
- icon,
33945
- name: name2,
33946
- badge,
33947
- to,
33948
- navigate,
33949
- className,
33950
- onClick,
33951
- style: style2
33952
- }) {
33953
- return /* @__PURE__ */ jsxRuntime.jsx(
33954
- MenuItem,
33955
- {
33956
- icon,
33957
- name: name2,
33958
- badge,
33959
- to,
33960
- navigate,
33961
- onClick,
33962
- style: style2,
33963
- className
33964
- }
33965
- );
33966
- }
34148
+ var MENU_ITEM_CLASS2 = "flex w-full items-center gap-2 px-4 py-3 text-sm hover:bg-gray-100 dark:hover:bg-neutral-800";
33967
34149
  function ReviewReplyMenu({
33968
34150
  open,
33969
34151
  setOpen,
@@ -33976,18 +34158,19 @@ function ReviewReplyMenu({
33976
34158
  }) {
33977
34159
  const ref = React26.useRef(null);
33978
34160
  useClickOutside(ref, () => setOpen(false));
34161
+ const withClose = (action) => () => {
34162
+ setOpen(false);
34163
+ action?.();
34164
+ };
33979
34165
  const items = [];
33980
34166
  if (canEdit) {
33981
34167
  items.push({
33982
34168
  type: "item",
33983
34169
  icon: /* @__PURE__ */ jsxRuntime.jsx(index_js$5.BiEdit, {}),
33984
34170
  name: "Edit Reply",
33985
- component: ReviewReplyMenuItem,
33986
- onClick: () => {
33987
- setOpen(false);
33988
- onEdit?.();
33989
- },
33990
- className: "flex w-full items-center gap-2 px-4 py-3 text-sm hover:bg-gray-100 dark:hover:bg-neutral-800"
34171
+ component: MenuItem,
34172
+ onClick: withClose(onEdit),
34173
+ className: MENU_ITEM_CLASS2
33991
34174
  });
33992
34175
  }
33993
34176
  if (canDelete) {
@@ -33995,12 +34178,9 @@ function ReviewReplyMenu({
33995
34178
  type: "item",
33996
34179
  icon: /* @__PURE__ */ jsxRuntime.jsx(index_js$5.BiTrash, {}),
33997
34180
  name: "Delete Reply",
33998
- component: ReviewReplyMenuItem,
33999
- onClick: () => {
34000
- setOpen(false);
34001
- onDelete?.();
34002
- },
34003
- className: "flex w-full items-center gap-2 px-4 py-3 text-sm text-red-500 hover:bg-gray-100 dark:hover:bg-neutral-800"
34181
+ component: MenuItem,
34182
+ onClick: withClose(onDelete),
34183
+ className: `${MENU_ITEM_CLASS2} text-red-500`
34004
34184
  });
34005
34185
  }
34006
34186
  if (canReport) {
@@ -34008,12 +34188,9 @@ function ReviewReplyMenu({
34008
34188
  type: "item",
34009
34189
  icon: /* @__PURE__ */ jsxRuntime.jsx(index_js$5.BiFlag, {}),
34010
34190
  name: "Report Reply",
34011
- component: ReviewReplyMenuItem,
34012
- onClick: () => {
34013
- setOpen(false);
34014
- onReport?.();
34015
- },
34016
- className: "flex w-full items-center gap-2 px-4 py-3 text-sm hover:bg-gray-100 dark:hover:bg-neutral-800"
34191
+ component: MenuItem,
34192
+ onClick: withClose(onReport),
34193
+ className: MENU_ITEM_CLASS2
34017
34194
  });
34018
34195
  }
34019
34196
  if (!items.length) {
@@ -34145,11 +34322,9 @@ function ReviewItem({
34145
34322
  canEdit,
34146
34323
  canDelete,
34147
34324
  canReport,
34148
- canReply,
34149
34325
  onEdit: () => onEditReview?.(review),
34150
34326
  onDelete: () => onDeleteReview?.(review),
34151
- onReport: () => onReportReview?.(review),
34152
- onReply: () => onReplyToReview?.(review)
34327
+ onReport: () => onReportReview?.(review)
34153
34328
  }
34154
34329
  )
34155
34330
  ] }),
@@ -34168,6 +34343,7 @@ function ReviewItem({
34168
34343
  ActionsComponent,
34169
34344
  {
34170
34345
  review,
34346
+ config,
34171
34347
  canReply,
34172
34348
  onReply: () => onReplyToReview?.(review)
34173
34349
  }
@@ -34191,9 +34367,9 @@ function ReviewEmptyState({
34191
34367
  title = "No reviews yet",
34192
34368
  text: text10 = "There are no reviews to show."
34193
34369
  }) {
34194
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-xl border border-dashed border-gray-300 bg-white p-8 text-center dark:border-neutral-800 dark:bg-neutral-900", children: [
34195
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-semibold text-gray-900 dark:text-gray-100", children: title }),
34196
- text10 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 text-sm text-gray-500 dark:text-gray-400", children: text10 })
34370
+ return /* @__PURE__ */ jsxRuntime.jsxs(Info, { className: "flex flex-col items-center gap-1 text-center", children: [
34371
+ /* @__PURE__ */ jsxRuntime.jsx(Typography.Label, { bold: true, children: title }),
34372
+ text10 && /* @__PURE__ */ jsxRuntime.jsx(Typography.Caption, { children: text10 })
34197
34373
  ] });
34198
34374
  }
34199
34375
  var ReviewEmptyState_default = ReviewEmptyState;
@@ -35546,11 +35722,11 @@ function addChildren(props, children3) {
35546
35722
  }
35547
35723
  }
35548
35724
  }
35549
- function productionCreate(_2, jsx256, jsxs129) {
35725
+ function productionCreate(_2, jsx265, jsxs130) {
35550
35726
  return create3;
35551
35727
  function create3(_3, type2, props, key) {
35552
35728
  const isStaticChildren = Array.isArray(props.children);
35553
- const fn = isStaticChildren ? jsxs129 : jsx256;
35729
+ const fn = isStaticChildren ? jsxs130 : jsx265;
35554
35730
  return key ? fn(type2, props, key) : fn(type2, props);
35555
35731
  }
35556
35732
  }
@@ -55581,7 +55757,7 @@ function MarkdownHeading({
55581
55757
  id: id2,
55582
55758
  level: typographyLevel,
55583
55759
  bold: true,
55584
- className: classNames69__default.default(
55760
+ className: classNames67__default.default(
55585
55761
  "eui-markdown-heading group relative scroll-mt-24 font-bold leading-tight text-gray-900 dark:text-gray-100",
55586
55762
  HEADING_STYLES[level],
55587
55763
  className
@@ -55744,18 +55920,18 @@ function powerSetPermutations(arr) {
55744
55920
  }
55745
55921
  }
55746
55922
  var classNameCombinations = {};
55747
- function getClassNameCombinations(classNames73) {
55748
- if (classNames73.length === 0 || classNames73.length === 1) return classNames73;
55749
- var key = classNames73.join(".");
55923
+ function getClassNameCombinations(classNames71) {
55924
+ if (classNames71.length === 0 || classNames71.length === 1) return classNames71;
55925
+ var key = classNames71.join(".");
55750
55926
  if (!classNameCombinations[key]) {
55751
- classNameCombinations[key] = powerSetPermutations(classNames73);
55927
+ classNameCombinations[key] = powerSetPermutations(classNames71);
55752
55928
  }
55753
55929
  return classNameCombinations[key];
55754
55930
  }
55755
- function createStyleObject(classNames73) {
55931
+ function createStyleObject(classNames71) {
55756
55932
  var elementStyle = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
55757
55933
  var stylesheet = arguments.length > 2 ? arguments[2] : void 0;
55758
- var nonTokenClassNames = classNames73.filter(function(className) {
55934
+ var nonTokenClassNames = classNames71.filter(function(className) {
55759
55935
  return className !== "token";
55760
55936
  });
55761
55937
  var classNamesCombinations = getClassNameCombinations(nonTokenClassNames);
@@ -55763,8 +55939,8 @@ function createStyleObject(classNames73) {
55763
55939
  return _objectSpread(_objectSpread({}, styleObject), stylesheet[className]);
55764
55940
  }, elementStyle);
55765
55941
  }
55766
- function createClassNameString(classNames73) {
55767
- return classNames73.join(" ");
55942
+ function createClassNameString(classNames71) {
55943
+ return classNames71.join(" ");
55768
55944
  }
55769
55945
  function createChildren2(stylesheet, useInlineStyles) {
55770
55946
  var childrenCount = 0;
@@ -55937,8 +56113,8 @@ function flattenCodeTree(tree) {
55937
56113
  }));
55938
56114
  } else if (node2.children) {
55939
56115
  var _node$properties;
55940
- var classNames73 = className.concat(((_node$properties = node2.properties) === null || _node$properties === void 0 ? void 0 : _node$properties.className) || []);
55941
- flattenCodeTree(node2.children, classNames73).forEach(function(i2) {
56116
+ var classNames71 = className.concat(((_node$properties = node2.properties) === null || _node$properties === void 0 ? void 0 : _node$properties.className) || []);
56117
+ flattenCodeTree(node2.children, classNames71).forEach(function(i2) {
55942
56118
  return newTree.push(i2);
55943
56119
  });
55944
56120
  }
@@ -56469,7 +56645,7 @@ var json_default = json;
56469
56645
 
56470
56646
  // node_modules/react-syntax-highlighter/dist/esm/languages/prism/jsx.js
56471
56647
  init_jsx();
56472
- var jsx_default = jsx217;
56648
+ var jsx_default = jsx226;
56473
56649
 
56474
56650
  // node_modules/react-syntax-highlighter/dist/esm/languages/prism/markup.js
56475
56651
  init_markup();
@@ -56602,7 +56778,7 @@ function MarkdownCodeBlock({
56602
56778
  "div",
56603
56779
  {
56604
56780
  ...props,
56605
- className: classNames69__default.default(
56781
+ className: classNames67__default.default(
56606
56782
  "eui-markdown-code my-6 overflow-hidden rounded-md border border-slate-700 bg-[#0d1117] text-slate-300",
56607
56783
  className
56608
56784
  ),
@@ -56673,7 +56849,7 @@ function MarkdownInlineCode({
56673
56849
  Code,
56674
56850
  {
56675
56851
  ...props,
56676
- className: classNames69__default.default(
56852
+ className: classNames67__default.default(
56677
56853
  "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",
56678
56854
  className
56679
56855
  ),
@@ -56714,7 +56890,7 @@ function MarkdownLink({
56714
56890
  href: safeHref,
56715
56891
  target: resolvedTarget,
56716
56892
  rel,
56717
- className: classNames69__default.default(
56893
+ className: classNames67__default.default(
56718
56894
  "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",
56719
56895
  className
56720
56896
  ),
@@ -56749,7 +56925,7 @@ function MarkdownImage({
56749
56925
  title,
56750
56926
  loading: "lazy",
56751
56927
  decoding: "async",
56752
- className: classNames69__default.default(
56928
+ className: classNames67__default.default(
56753
56929
  "eui-markdown-image my-6 h-auto max-w-full rounded-md border border-gray-200 dark:border-gray-700",
56754
56930
  className
56755
56931
  )
@@ -56766,7 +56942,7 @@ function MarkdownTable({
56766
56942
  TableElement,
56767
56943
  {
56768
56944
  ...props,
56769
- className: classNames69__default.default(
56945
+ className: classNames67__default.default(
56770
56946
  "eui-markdown-table w-full border-collapse text-[0.925rem]",
56771
56947
  className
56772
56948
  ),
@@ -56783,7 +56959,7 @@ function MarkdownTableCell({
56783
56959
  TableCell,
56784
56960
  {
56785
56961
  ...props,
56786
- className: classNames69__default.default(
56962
+ className: classNames67__default.default(
56787
56963
  "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",
56788
56964
  className
56789
56965
  ),
@@ -56800,7 +56976,7 @@ function MarkdownTableHeaderCell({
56800
56976
  TableHeaderCell,
56801
56977
  {
56802
56978
  ...props,
56803
- className: classNames69__default.default(
56979
+ className: classNames67__default.default(
56804
56980
  "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",
56805
56981
  className
56806
56982
  ),
@@ -56816,7 +56992,7 @@ function MarkdownTableHead({
56816
56992
  TableHead,
56817
56993
  {
56818
56994
  ...props,
56819
- className: classNames69__default.default(
56995
+ className: classNames67__default.default(
56820
56996
  "eui-markdown-table-head bg-gray-50 dark:bg-gray-900",
56821
56997
  className
56822
56998
  )
@@ -56831,7 +57007,7 @@ function MarkdownTableBody({
56831
57007
  TableBody,
56832
57008
  {
56833
57009
  ...props,
56834
- className: classNames69__default.default("eui-markdown-table-body", className)
57010
+ className: classNames67__default.default("eui-markdown-table-body", className)
56835
57011
  }
56836
57012
  );
56837
57013
  }
@@ -56843,7 +57019,7 @@ function MarkdownTableRow({
56843
57019
  TableRow,
56844
57020
  {
56845
57021
  ...props,
56846
- className: classNames69__default.default(
57022
+ className: classNames67__default.default(
56847
57023
  "eui-markdown-table-row even:bg-gray-50/70 dark:even:bg-gray-900/60",
56848
57024
  className
56849
57025
  )
@@ -56861,7 +57037,7 @@ function MarkdownBlockquote({
56861
57037
  {
56862
57038
  ...props,
56863
57039
  as: "blockquote",
56864
- className: classNames69__default.default(
57040
+ className: classNames67__default.default(
56865
57041
  "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",
56866
57042
  className
56867
57043
  ),
@@ -56880,7 +57056,7 @@ function MarkdownParagraph({
56880
57056
  {
56881
57057
  ...props,
56882
57058
  level: 1,
56883
- className: classNames69__default.default("eui-markdown-paragraph my-4", className),
57059
+ className: classNames67__default.default("eui-markdown-paragraph my-4", className),
56884
57060
  children: /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: children3 })
56885
57061
  }
56886
57062
  );
@@ -56891,7 +57067,7 @@ function MarkdownStrong({ className, ...props }) {
56891
57067
  "strong",
56892
57068
  {
56893
57069
  ...props,
56894
- className: classNames69__default.default(
57070
+ className: classNames67__default.default(
56895
57071
  "eui-markdown-strong font-semibold text-gray-950 dark:text-gray-100",
56896
57072
  className
56897
57073
  )
@@ -56904,7 +57080,7 @@ function MarkdownEmphasis({ className, ...props }) {
56904
57080
  "em",
56905
57081
  {
56906
57082
  ...props,
56907
- className: classNames69__default.default("eui-markdown-emphasis italic", className)
57083
+ className: classNames67__default.default("eui-markdown-emphasis italic", className)
56908
57084
  }
56909
57085
  );
56910
57086
  }
@@ -56917,7 +57093,7 @@ function MarkdownStrikethrough({
56917
57093
  "del",
56918
57094
  {
56919
57095
  ...props,
56920
- className: classNames69__default.default(
57096
+ className: classNames67__default.default(
56921
57097
  "eui-markdown-strikethrough text-gray-500 dark:text-gray-400",
56922
57098
  className
56923
57099
  )
@@ -56978,7 +57154,7 @@ function MarkdownTaskCheckbox({
56978
57154
  "input",
56979
57155
  {
56980
57156
  ...props,
56981
- className: classNames69__default.default(
57157
+ className: classNames67__default.default(
56982
57158
  "eui-markdown-task-checkbox mr-2 translate-y-px accent-blue-600",
56983
57159
  className
56984
57160
  )
@@ -56994,7 +57170,7 @@ function MarkdownThematicBreak({
56994
57170
  "hr",
56995
57171
  {
56996
57172
  ...props,
56997
- className: classNames69__default.default(
57173
+ className: classNames67__default.default(
56998
57174
  "eui-markdown-thematic-break my-8 border-0 border-t border-gray-200 dark:border-gray-800",
56999
57175
  className
57000
57176
  )
@@ -57011,7 +57187,7 @@ function MarkdownDetails({ className, ...props }) {
57011
57187
  "details",
57012
57188
  {
57013
57189
  ...props,
57014
- className: classNames69__default.default(
57190
+ className: classNames67__default.default(
57015
57191
  "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",
57016
57192
  className
57017
57193
  )
@@ -57023,7 +57199,7 @@ function MarkdownSummary({ className, ...props }) {
57023
57199
  "summary",
57024
57200
  {
57025
57201
  ...props,
57026
- className: classNames69__default.default(
57202
+ className: classNames67__default.default(
57027
57203
  "eui-markdown-summary cursor-pointer font-semibold text-gray-950 dark:text-gray-100",
57028
57204
  className
57029
57205
  )
@@ -57035,7 +57211,7 @@ function MarkdownFigure({ className, ...props }) {
57035
57211
  "figure",
57036
57212
  {
57037
57213
  ...props,
57038
- className: classNames69__default.default("eui-markdown-figure my-6", className)
57214
+ className: classNames67__default.default("eui-markdown-figure my-6", className)
57039
57215
  }
57040
57216
  );
57041
57217
  }
@@ -57047,7 +57223,7 @@ function MarkdownFigcaption({
57047
57223
  return /* @__PURE__ */ jsxRuntime.jsx("figcaption", { ...props, className: "eui-markdown-figcaption mt-2 text-center", children: /* @__PURE__ */ jsxRuntime.jsx(
57048
57224
  Caption,
57049
57225
  {
57050
- className: classNames69__default.default(
57226
+ className: classNames67__default.default(
57051
57227
  "text-gray-500 opacity-100 dark:text-gray-400",
57052
57228
  className
57053
57229
  ),
@@ -57446,14 +57622,14 @@ function MarkdownRenderer({
57446
57622
  return /* @__PURE__ */ jsxRuntime.jsx(
57447
57623
  "div",
57448
57624
  {
57449
- className: classNames69__default.default(
57625
+ className: classNames67__default.default(
57450
57626
  "eui-markdown markdown-body break-words bg-transparent text-[0.95rem] leading-7 text-gray-800 dark:text-gray-300",
57451
57627
  className
57452
57628
  ),
57453
57629
  children: /* @__PURE__ */ jsxRuntime.jsx(
57454
57630
  "div",
57455
57631
  {
57456
- className: classNames69__default.default(
57632
+ className: classNames67__default.default(
57457
57633
  "[&>*:first-child]:mt-0 [&>*:last-child]:mb-0",
57458
57634
  contentClassName
57459
57635
  ),
@@ -57531,11 +57707,11 @@ function MarkdownTOCItem({
57531
57707
  onClick: () => onSelect?.(heading3),
57532
57708
  "aria-current": active ? "location" : void 0,
57533
57709
  title: label,
57534
- className: classNames69__default.default(
57710
+ className: classNames67__default.default(
57535
57711
  "eui-markdown-toc-item",
57536
57712
  "block w-full text-left text-sm transition-all ease-in-out duration-150",
57537
57713
  "hover:text-primary",
57538
- active ? classNames69__default.default("text-primary font-semibold underline", activeClassName) : classNames69__default.default("text-gray-500 dark:text-gray-400", inactiveClassName),
57714
+ active ? classNames67__default.default("text-primary font-semibold underline", activeClassName) : classNames67__default.default("text-gray-500 dark:text-gray-400", inactiveClassName),
57539
57715
  className
57540
57716
  ),
57541
57717
  style: {
@@ -57601,7 +57777,7 @@ function MarkdownTOC({
57601
57777
  return emptyState ? /* @__PURE__ */ jsxRuntime.jsx(
57602
57778
  "div",
57603
57779
  {
57604
- className: classNames69__default.default(
57780
+ className: classNames67__default.default(
57605
57781
  "eui-markdown-toc",
57606
57782
  "text-sm text-gray-500 dark:text-gray-400",
57607
57783
  className
@@ -57621,7 +57797,7 @@ function MarkdownTOC({
57621
57797
  {
57622
57798
  type: "button",
57623
57799
  onClick: () => setCollapsed((value) => !value),
57624
- className: classNames69__default.default(
57800
+ className: classNames67__default.default(
57625
57801
  "eui-markdown-toc-title",
57626
57802
  "flex w-full items-center justify-between gap-2 text-left",
57627
57803
  "text-sm font-semibold uppercase tracking-wide",
@@ -57634,7 +57810,7 @@ function MarkdownTOC({
57634
57810
  /* @__PURE__ */ jsxRuntime.jsx(
57635
57811
  "span",
57636
57812
  {
57637
- className: classNames69__default.default(
57813
+ className: classNames67__default.default(
57638
57814
  "text-xs opacity-60 transition-transform duration-150",
57639
57815
  !collapsed && "rotate-90"
57640
57816
  ),
@@ -57647,7 +57823,7 @@ function MarkdownTOC({
57647
57823
  ) : /* @__PURE__ */ jsxRuntime.jsx(
57648
57824
  "h2",
57649
57825
  {
57650
- className: classNames69__default.default(
57826
+ className: classNames67__default.default(
57651
57827
  "eui-markdown-toc-title",
57652
57828
  "text-sm font-semibold uppercase tracking-wide",
57653
57829
  "text-gray-900 dark:text-gray-100",
@@ -57659,7 +57835,7 @@ function MarkdownTOC({
57659
57835
  !collapsed ? /* @__PURE__ */ jsxRuntime.jsx(
57660
57836
  "nav",
57661
57837
  {
57662
- className: classNames69__default.default(
57838
+ className: classNames67__default.default(
57663
57839
  "eui-markdown-toc-list",
57664
57840
  "space-y-1",
57665
57841
  listClassName
@@ -57683,7 +57859,7 @@ function MarkdownTOC({
57683
57859
  }
57684
57860
  ) : null
57685
57861
  ] });
57686
- return /* @__PURE__ */ jsxRuntime.jsx("aside", { className: classNames69__default.default("eui-markdown-toc", "space-y-4", className), children: content3 });
57862
+ return /* @__PURE__ */ jsxRuntime.jsx("aside", { className: classNames67__default.default("eui-markdown-toc", "space-y-4", className), children: content3 });
57687
57863
  }
57688
57864
  var MarkdownTOC_default = MarkdownTOC;
57689
57865
  var DEFAULT_MARKDOWN_TOOLBAR_ACTIONS = [
@@ -57782,7 +57958,7 @@ function MarkdownToolbar({
57782
57958
  return /* @__PURE__ */ jsxRuntime.jsxs(
57783
57959
  "div",
57784
57960
  {
57785
- className: classNames69__default.default(
57961
+ className: classNames67__default.default(
57786
57962
  "eui-markdown-toolbar",
57787
57963
  "flex flex-wrap items-center gap-1 border-b border-gray-200 bg-gray-50 p-2",
57788
57964
  "dark:border-gray-700 dark:bg-gray-900",
@@ -57796,7 +57972,7 @@ function MarkdownToolbar({
57796
57972
  disabled: disabled || actionsDisabled,
57797
57973
  title: action.shortcut ? `${action.title || action.label} (${action.shortcut})` : action.title || action.label,
57798
57974
  onClick: () => onAction?.(action.id),
57799
- className: classNames69__default.default(
57975
+ className: classNames67__default.default(
57800
57976
  "eui-markdown-toolbar-button",
57801
57977
  "inline-flex items-center justify-center rounded border border-transparent",
57802
57978
  "text-gray-700 transition-colors hover:border-gray-300 hover:bg-white",
@@ -57816,7 +57992,7 @@ function MarkdownToolbar({
57816
57992
  disabled,
57817
57993
  onClick: onViewModeToggle,
57818
57994
  title: isPreviewMode ? "Switch to Markdown syntax" : "Switch to preview",
57819
- className: classNames69__default.default(
57995
+ className: classNames67__default.default(
57820
57996
  "eui-markdown-view-toggle",
57821
57997
  "inline-flex items-center justify-center rounded border font-medium transition-colors",
57822
57998
  "border-gray-300 bg-white text-gray-700 hover:bg-gray-100",
@@ -58073,7 +58249,7 @@ function MarkdownSourceEditor({
58073
58249
  return /* @__PURE__ */ jsxRuntime.jsxs(
58074
58250
  "div",
58075
58251
  {
58076
- className: classNames69__default.default(
58252
+ className: classNames67__default.default(
58077
58253
  "eui-markdown-editor",
58078
58254
  "overflow-hidden rounded border border-gray-300 bg-white",
58079
58255
  "dark:border-gray-700 dark:bg-gray-950",
@@ -58089,7 +58265,7 @@ function MarkdownSourceEditor({
58089
58265
  actionsDisabled: readOnly,
58090
58266
  viewMode: currentViewMode,
58091
58267
  showViewModeToggle,
58092
- className: classNames69__default.default(toolbarClassName, toolbarProps?.className),
58268
+ className: classNames67__default.default(toolbarClassName, toolbarProps?.className),
58093
58269
  onViewModeToggle: toggleViewMode,
58094
58270
  onAction: handleToolbarAction
58095
58271
  }
@@ -58097,7 +58273,7 @@ function MarkdownSourceEditor({
58097
58273
  currentViewMode === "preview" ? /* @__PURE__ */ jsxRuntime.jsx(
58098
58274
  "div",
58099
58275
  {
58100
- className: classNames69__default.default(
58276
+ className: classNames67__default.default(
58101
58277
  "eui-markdown-editor-preview",
58102
58278
  "min-h-[260px] p-4",
58103
58279
  previewClassName
@@ -58120,7 +58296,7 @@ function MarkdownSourceEditor({
58120
58296
  onChange: (event) => updateValue(event.target.value),
58121
58297
  onBlur,
58122
58298
  onKeyDown: handleKeyDown,
58123
- className: classNames69__default.default(
58299
+ className: classNames67__default.default(
58124
58300
  "eui-markdown-source-textarea",
58125
58301
  "block w-full resize-y border-0 bg-transparent p-4 font-mono text-sm leading-7",
58126
58302
  "text-gray-900 outline-none placeholder:text-gray-400",
@@ -58150,7 +58326,7 @@ function MarkdownPreviewPane({
58150
58326
  return /* @__PURE__ */ jsxRuntime.jsx(
58151
58327
  "div",
58152
58328
  {
58153
- className: classNames69__default.default(
58329
+ className: classNames67__default.default(
58154
58330
  "eui-markdown-preview-pane",
58155
58331
  "rounded border border-gray-300 bg-white p-4",
58156
58332
  "dark:border-gray-700 dark:bg-gray-950",
@@ -58200,7 +58376,7 @@ function MarkdownSplitEditor({
58200
58376
  return /* @__PURE__ */ jsxRuntime.jsxs(
58201
58377
  "div",
58202
58378
  {
58203
- className: classNames69__default.default(
58379
+ className: classNames67__default.default(
58204
58380
  "eui-markdown-split-editor",
58205
58381
  "grid gap-4",
58206
58382
  isHorizontal ? "grid-cols-1 lg:grid-cols-2" : "grid-cols-1",
@@ -58210,7 +58386,7 @@ function MarkdownSplitEditor({
58210
58386
  /* @__PURE__ */ jsxRuntime.jsxs(
58211
58387
  "div",
58212
58388
  {
58213
- className: classNames69__default.default(
58389
+ className: classNames67__default.default(
58214
58390
  "eui-markdown-split-source",
58215
58391
  "min-w-0 space-y-2",
58216
58392
  sourceWrapperClassName
@@ -58234,7 +58410,7 @@ function MarkdownSplitEditor({
58234
58410
  /* @__PURE__ */ jsxRuntime.jsxs(
58235
58411
  "div",
58236
58412
  {
58237
- className: classNames69__default.default(
58413
+ className: classNames67__default.default(
58238
58414
  "eui-markdown-split-preview",
58239
58415
  "min-w-0 space-y-2",
58240
58416
  previewWrapperClassName
@@ -58324,7 +58500,7 @@ function MarkdownField({
58324
58500
  return /* @__PURE__ */ jsxRuntime.jsxs(
58325
58501
  "div",
58326
58502
  {
58327
- className: classNames69__default.default(
58503
+ className: classNames67__default.default(
58328
58504
  "eui-markdown-field",
58329
58505
  "relative space-y-2",
58330
58506
  wrapperClassName
@@ -58334,7 +58510,7 @@ function MarkdownField({
58334
58510
  "label",
58335
58511
  {
58336
58512
  htmlFor: editorProps.id || field.name,
58337
- className: classNames69__default.default(
58513
+ className: classNames67__default.default(
58338
58514
  "block text-sm font-medium text-gray-700 dark:text-gray-200",
58339
58515
  labelClassName
58340
58516
  ),
@@ -58359,7 +58535,7 @@ function MarkdownField({
58359
58535
  helperText && !hasError ? /* @__PURE__ */ jsxRuntime.jsx(
58360
58536
  "p",
58361
58537
  {
58362
- className: classNames69__default.default(
58538
+ className: classNames67__default.default(
58363
58539
  "text-sm text-gray-500 dark:text-gray-400",
58364
58540
  helperTextClassName
58365
58541
  ),
@@ -58414,7 +58590,7 @@ function CodeMirrorMarkdownEditor({
58414
58590
  {
58415
58591
  id: id2,
58416
58592
  "data-name": name2,
58417
- className: classNames69__default.default(
58593
+ className: classNames67__default.default(
58418
58594
  "eui-markdown-adapter",
58419
58595
  "eui-markdown-codemirror-adapter",
58420
58596
  "overflow-hidden rounded border border-gray-300 bg-white",
@@ -58448,7 +58624,7 @@ function CodeMirrorMarkdownEditor({
58448
58624
  closeBrackets: true,
58449
58625
  bracketMatching: true
58450
58626
  },
58451
- className: classNames69__default.default("eui-markdown-codemirror", editorClassName),
58627
+ className: classNames67__default.default("eui-markdown-codemirror", editorClassName),
58452
58628
  onChange: updateValue,
58453
58629
  onBlur
58454
58630
  }
@@ -58549,7 +58725,7 @@ function createDefaultPlugins({
58549
58725
  ...showToolbar ? [
58550
58726
  editor.toolbarPlugin({
58551
58727
  toolbarContents: toolbarContents ?? DefaultToolbar,
58552
- toolbarClassName: classNames69__default.default(
58728
+ toolbarClassName: classNames67__default.default(
58553
58729
  "eui-markdown-mdx-toolbar",
58554
58730
  toolbarClassName
58555
58731
  ),
@@ -58669,7 +58845,7 @@ var MDXMarkdownEditor = React26.forwardRef(
58669
58845
  "aria-invalid": invalid || void 0,
58670
58846
  "data-theme": dark ? "dark" : void 0,
58671
58847
  onBlurCapture: handleBlur,
58672
- className: classNames69__default.default(
58848
+ className: classNames67__default.default(
58673
58849
  "eui-markdown-adapter",
58674
58850
  "eui-markdown-mdx-adapter",
58675
58851
  dark && ["dark", "dark-theme"],
@@ -58687,12 +58863,12 @@ var MDXMarkdownEditor = React26.forwardRef(
58687
58863
  markdown: currentValue ?? "",
58688
58864
  readOnly: disabled || readOnly,
58689
58865
  plugins: plugins ?? defaultPlugins,
58690
- className: classNames69__default.default(
58866
+ className: classNames67__default.default(
58691
58867
  "eui-markdown-mdx-editor",
58692
58868
  dark && ["dark", "dark-theme"],
58693
58869
  editorClassName
58694
58870
  ),
58695
- contentEditableClassName: classNames69__default.default(
58871
+ contentEditableClassName: classNames67__default.default(
58696
58872
  "eui-markdown-mdx-content",
58697
58873
  contentEditableClassName
58698
58874
  ),
@@ -58729,7 +58905,7 @@ function MDXMarkdownField({
58729
58905
  return /* @__PURE__ */ jsxRuntime.jsxs(
58730
58906
  "div",
58731
58907
  {
58732
- className: classNames69__default.default(
58908
+ className: classNames67__default.default(
58733
58909
  "eui-markdown-mdx-field",
58734
58910
  "relative space-y-2",
58735
58911
  wrapperClassName
@@ -58739,7 +58915,7 @@ function MDXMarkdownField({
58739
58915
  "label",
58740
58916
  {
58741
58917
  htmlFor: editorId,
58742
- className: classNames69__default.default(
58918
+ className: classNames67__default.default(
58743
58919
  "block text-sm font-medium text-gray-700 dark:text-gray-200",
58744
58920
  labelClassName
58745
58921
  ),
@@ -58773,7 +58949,7 @@ function MDXMarkdownField({
58773
58949
  "p",
58774
58950
  {
58775
58951
  id: helperId,
58776
- className: classNames69__default.default(
58952
+ className: classNames67__default.default(
58777
58953
  "text-sm text-gray-500 dark:text-gray-400",
58778
58954
  helperTextClassName
58779
58955
  ),
@@ -58833,10 +59009,10 @@ function MarkdownLayout({
58833
59009
  };
58834
59010
  const hasLeftToc = hasToc && tocPosition === "left";
58835
59011
  const hasRightToc = hasToc && tocPosition === "right";
58836
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames69__default.default("eui-markdown-layout", "w-full", className), children: /* @__PURE__ */ jsxRuntime.jsxs(
59012
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames67__default.default("eui-markdown-layout", "w-full", className), children: /* @__PURE__ */ jsxRuntime.jsxs(
58837
59013
  "div",
58838
59014
  {
58839
- className: classNames69__default.default(
59015
+ className: classNames67__default.default(
58840
59016
  "eui-markdown-layout-container",
58841
59017
  "mx-auto w-full px-4 sm:px-6 lg:px-8",
58842
59018
  containerClassName
@@ -58848,7 +59024,7 @@ function MarkdownLayout({
58848
59024
  header ? /* @__PURE__ */ jsxRuntime.jsx(
58849
59025
  "header",
58850
59026
  {
58851
- className: classNames69__default.default(
59027
+ className: classNames67__default.default(
58852
59028
  "eui-markdown-layout-header",
58853
59029
  "mb-8",
58854
59030
  headerClassName
@@ -58859,7 +59035,7 @@ function MarkdownLayout({
58859
59035
  /* @__PURE__ */ jsxRuntime.jsxs(
58860
59036
  "div",
58861
59037
  {
58862
- className: classNames69__default.default(
59038
+ className: classNames67__default.default(
58863
59039
  "eui-markdown-layout-grid",
58864
59040
  "grid grid-cols-1 gap-8",
58865
59041
  hasSidebar && hasToc && "xl:grid-cols-[16rem_minmax(0,1fr)_18rem]",
@@ -58872,7 +59048,7 @@ function MarkdownLayout({
58872
59048
  hasSidebar ? /* @__PURE__ */ jsxRuntime.jsx(
58873
59049
  "aside",
58874
59050
  {
58875
- className: classNames69__default.default(
59051
+ className: classNames67__default.default(
58876
59052
  "eui-markdown-layout-sidebar",
58877
59053
  "min-w-0",
58878
59054
  stickySidebar && "lg:sticky lg:self-start",
@@ -58885,7 +59061,7 @@ function MarkdownLayout({
58885
59061
  hasLeftToc ? /* @__PURE__ */ jsxRuntime.jsx(
58886
59062
  "aside",
58887
59063
  {
58888
- className: classNames69__default.default(
59064
+ className: classNames67__default.default(
58889
59065
  "eui-markdown-layout-toc",
58890
59066
  "min-w-0",
58891
59067
  stickyToc && "lg:sticky lg:self-start",
@@ -58898,7 +59074,7 @@ function MarkdownLayout({
58898
59074
  /* @__PURE__ */ jsxRuntime.jsx(
58899
59075
  "main",
58900
59076
  {
58901
- className: classNames69__default.default(
59077
+ className: classNames67__default.default(
58902
59078
  "eui-markdown-layout-content",
58903
59079
  "min-w-0",
58904
59080
  contentClassName
@@ -58909,7 +59085,7 @@ function MarkdownLayout({
58909
59085
  hasRightToc ? /* @__PURE__ */ jsxRuntime.jsx(
58910
59086
  "aside",
58911
59087
  {
58912
- className: classNames69__default.default(
59088
+ className: classNames67__default.default(
58913
59089
  "eui-markdown-layout-toc",
58914
59090
  "min-w-0",
58915
59091
  stickyToc && "lg:sticky lg:self-start",
@@ -58922,7 +59098,7 @@ function MarkdownLayout({
58922
59098
  hasAside ? /* @__PURE__ */ jsxRuntime.jsx(
58923
59099
  "aside",
58924
59100
  {
58925
- className: classNames69__default.default(
59101
+ className: classNames67__default.default(
58926
59102
  "eui-markdown-layout-aside",
58927
59103
  "min-w-0",
58928
59104
  stickyAside && "2xl:sticky 2xl:self-start",
@@ -58938,7 +59114,7 @@ function MarkdownLayout({
58938
59114
  footer2 ? /* @__PURE__ */ jsxRuntime.jsx(
58939
59115
  "footer",
58940
59116
  {
58941
- className: classNames69__default.default(
59117
+ className: classNames67__default.default(
58942
59118
  "eui-markdown-layout-footer",
58943
59119
  "mt-10",
58944
59120
  footerClassName
@@ -58975,7 +59151,7 @@ function MarkdownDocsLayoutContent({
58975
59151
  const resolvedHeader = header ?? (title || description || headerActions ? /* @__PURE__ */ jsxRuntime.jsx(
58976
59152
  "div",
58977
59153
  {
58978
- className: classNames69__default.default(
59154
+ className: classNames67__default.default(
58979
59155
  "eui-markdown-docs-header",
58980
59156
  "flex flex-col gap-4 border-b border-gray-200 pb-6",
58981
59157
  "dark:border-gray-700",
@@ -58986,7 +59162,7 @@ function MarkdownDocsLayoutContent({
58986
59162
  title ? /* @__PURE__ */ jsxRuntime.jsx(
58987
59163
  "h1",
58988
59164
  {
58989
- className: classNames69__default.default(
59165
+ className: classNames67__default.default(
58990
59166
  "eui-markdown-docs-title",
58991
59167
  "text-3xl font-bold tracking-tight text-gray-950",
58992
59168
  "dark:text-gray-50",
@@ -58998,7 +59174,7 @@ function MarkdownDocsLayoutContent({
58998
59174
  description ? /* @__PURE__ */ jsxRuntime.jsx(
58999
59175
  "div",
59000
59176
  {
59001
- className: classNames69__default.default(
59177
+ className: classNames67__default.default(
59002
59178
  "eui-markdown-docs-description",
59003
59179
  "max-w-3xl text-base leading-7 text-gray-600",
59004
59180
  "dark:text-gray-400",
@@ -59086,7 +59262,7 @@ function GenericLayout({
59086
59262
  return /* @__PURE__ */ jsxRuntime.jsx(ThemeProvider, { defaultTheme, children: /* @__PURE__ */ jsxRuntime.jsx(
59087
59263
  "div",
59088
59264
  {
59089
- className: classNames69__default.default({
59265
+ className: classNames67__default.default({
59090
59266
  [`${styles}`]: styles
59091
59267
  }),
59092
59268
  children: children3
@@ -59135,7 +59311,7 @@ function SidemenuLayout({ data, children: children3 }) {
59135
59311
  return /* @__PURE__ */ jsxRuntime.jsx(DefaultLayout_default, { children: /* @__PURE__ */ jsxRuntime.jsxs(
59136
59312
  "div",
59137
59313
  {
59138
- className: classNames69__default.default({
59314
+ className: classNames67__default.default({
59139
59315
  grid: true,
59140
59316
  "grid-cols-7 gap-10": !isMobile,
59141
59317
  "grid-cols-1 gap-": isMobile
@@ -59318,11 +59494,19 @@ exports.Flex = Flex;
59318
59494
  exports.FlexCol = FlexCol_default;
59319
59495
  exports.FlexRow = FlexRow_default;
59320
59496
  exports.Footer = Footer;
59497
+ exports.FooterBottom = FooterBottom;
59498
+ exports.FooterBrand = FooterBrand;
59499
+ exports.FooterColumn = FooterColumn;
59500
+ exports.FooterColumns = FooterColumns;
59501
+ exports.FooterDescription = FooterDescription;
59502
+ exports.FooterLink = FooterLink;
59321
59503
  exports.FooterNav = FooterNav_default;
59322
59504
  exports.FooterNavGroup = FooterNavGroup_default;
59323
59505
  exports.FooterNavItem = FooterNavItem;
59324
59506
  exports.FooterNavItemContext = FooterNavItemContext;
59325
59507
  exports.FooterNavItemTitle = FooterNavItemTitle;
59508
+ exports.FooterSocial = FooterSocial;
59509
+ exports.FooterSocials = FooterSocials;
59326
59510
  exports.Form = Form;
59327
59511
  exports.FormResponse = FormResponse;
59328
59512
  exports.GaugePlot = GaugePlot;
@@ -59435,6 +59619,7 @@ exports.ShowMore = ShowMore_default;
59435
59619
  exports.Sidebar = Sidebar_default;
59436
59620
  exports.SidebarLayout = SidebarLayout_default;
59437
59621
  exports.SidemenuLayout = SidemenuLayout_default;
59622
+ exports.SiteFooter = SiteFooter2;
59438
59623
  exports.Skeleton = Skeleton;
59439
59624
  exports.Slider = Slider_default;
59440
59625
  exports.Spinner = Spinner;