elseware-ui 2.40.4 → 3.0.1

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.mjs CHANGED
@@ -1,10 +1,10 @@
1
- import React25, { createContext, forwardRef, useState, useImperativeHandle, useEffect, useRef, useMemo, useCallback, useContext, Children, useId, createElement, isValidElement } from 'react';
1
+ import React26, { createContext, forwardRef, useState, useImperativeHandle, useEffect, useRef, useMemo, useCallback, useContext, Children, useId, createElement, isValidElement } from 'react';
2
2
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
3
  import { twMerge } from 'tailwind-merge';
4
4
  import { AiOutlineLoading } from 'react-icons/ai/index.js';
5
5
  import { useField, ErrorMessage, Field, useFormikContext, FieldArray, Formik, Form as Form$1 } from 'formik';
6
- import classNames77 from 'classnames';
7
6
  import { FaGripVertical, FaTrash, FaPlus, FaTimes, FaBars, FaSun, FaMoon, FaEyeSlash, FaEye, FaCircle } from 'react-icons/fa/index.js';
7
+ import classNames74 from 'classnames';
8
8
  import { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd';
9
9
  import { Image, CloudinaryContext as CloudinaryContext$1 } from 'cloudinary-react';
10
10
  import { MdUpload, MdOutlineDone, MdOutlineRemoveCircleOutline } from 'react-icons/md/index.js';
@@ -4718,7 +4718,7 @@ var init_python = __esm({
4718
4718
  });
4719
4719
 
4720
4720
  // node_modules/refractor/lang/jsx.js
4721
- function jsx216(Prism2) {
4721
+ function jsx218(Prism2) {
4722
4722
  Prism2.register(javascript);
4723
4723
  Prism2.register(markup);
4724
4724
  (function(Prism3) {
@@ -4851,14 +4851,14 @@ var init_jsx = __esm({
4851
4851
  "node_modules/refractor/lang/jsx.js"() {
4852
4852
  init_javascript();
4853
4853
  init_markup();
4854
- jsx216.displayName = "jsx";
4855
- jsx216.aliases = [];
4854
+ jsx218.displayName = "jsx";
4855
+ jsx218.aliases = [];
4856
4856
  }
4857
4857
  });
4858
4858
 
4859
4859
  // node_modules/refractor/lang/tsx.js
4860
4860
  function tsx(Prism2) {
4861
- Prism2.register(jsx216);
4861
+ Prism2.register(jsx218);
4862
4862
  Prism2.register(typescript);
4863
4863
  (function(Prism3) {
4864
4864
  var typescript2 = Prism3.util.clone(Prism3.languages.typescript);
@@ -5020,7 +5020,7 @@ var EUI_ANALYTICS_QUEUE_STORAGE_KEY = "eui.analytics.queue";
5020
5020
  var DEFAULT_ANALYTICS_CONFIG = {
5021
5021
  enabled: true,
5022
5022
  trackPageViews: true,
5023
- trackSession: false,
5023
+ trackSession: true,
5024
5024
  flushIntervalMs: 1e4,
5025
5025
  maxBatchSize: 20,
5026
5026
  respectDoNotTrack: true,
@@ -5100,10 +5100,18 @@ var getCurrentPath = () => {
5100
5100
  if (!isBrowser()) return void 0;
5101
5101
  return `${window.location.pathname}${window.location.search}`;
5102
5102
  };
5103
+ var getCurrentFullUrl = () => {
5104
+ if (!isBrowser()) return void 0;
5105
+ return window.location.href;
5106
+ };
5103
5107
  var getCurrentReferrer = () => {
5104
5108
  if (!isBrowser()) return void 0;
5105
5109
  return document.referrer || void 0;
5106
5110
  };
5111
+ var getCurrentTitle = () => {
5112
+ if (!isBrowser()) return void 0;
5113
+ return document.title || void 0;
5114
+ };
5107
5115
  var getConsentStatusFromCategories = (categories) => {
5108
5116
  const optionalCategories = Object.entries(categories).filter(
5109
5117
  ([key]) => key !== "necessary"
@@ -5125,12 +5133,19 @@ var createAnalyticsEvent = ({
5125
5133
  type: type2,
5126
5134
  appId,
5127
5135
  sessionId,
5128
- anonymousId: options?.anonymousId ?? anonymousId,
5129
- userId: options?.userId ?? userId,
5130
- path: options?.path ?? getCurrentPath(),
5131
- referrer: options?.referrer ?? getCurrentReferrer(),
5132
- viewport: options?.viewport ?? getViewport(),
5133
- device: options?.device ?? getDeviceInfo()
5136
+ anonymousId,
5137
+ userId,
5138
+ path: getCurrentPath(),
5139
+ fullUrl: getCurrentFullUrl(),
5140
+ referrer: getCurrentReferrer(),
5141
+ title: getCurrentTitle(),
5142
+ timestamp: getNowISOString(),
5143
+ viewport: getViewport(),
5144
+ device: getDeviceInfo(),
5145
+ ...options,
5146
+ metadata: {
5147
+ ...options?.metadata
5148
+ }
5134
5149
  });
5135
5150
 
5136
5151
  // src/components/analytics/analytics.storage.ts
@@ -6033,6 +6048,31 @@ function resolveWithGlobal(config, props, defaults) {
6033
6048
  };
6034
6049
  }
6035
6050
 
6051
+ // src/components/data-entry/button/base/Button.config.ts
6052
+ var buttonModeAppearance = {
6053
+ contained: "solid",
6054
+ "contained-tonal": "lite",
6055
+ outlined: "ghost",
6056
+ text: "ghost"
6057
+ };
6058
+ function useResolvedButtonConfig({
6059
+ compact = false,
6060
+ mode,
6061
+ variant,
6062
+ appearance,
6063
+ shape,
6064
+ size
6065
+ }) {
6066
+ const eui = useEUIConfig();
6067
+ const configuredSize = size ?? eui?.config?.global?.size ?? "md";
6068
+ return {
6069
+ shape: shape ?? eui?.config?.global?.shape ?? "square",
6070
+ size: compact && configuredSize === "md" ? "sm" : configuredSize,
6071
+ variant: variant ?? eui?.config?.global?.variant ?? "success",
6072
+ appearance: appearance ?? (mode ? buttonModeAppearance[mode] : "solid")
6073
+ };
6074
+ }
6075
+
6036
6076
  // src/data/enums.ts
6037
6077
  var Shape = /* @__PURE__ */ ((Shape2) => {
6038
6078
  Shape2["circle"] = "circle";
@@ -6045,14 +6085,14 @@ var Shape = /* @__PURE__ */ ((Shape2) => {
6045
6085
  // src/data/styles.tsx
6046
6086
  var variantsSolid = {
6047
6087
  ["default" /* default */]: "bg-gray-300 text-gray-900 hover:bg-gray-200 dark:bg-gray-700 dark:text-gray-100 dark:hover:bg-gray-600",
6048
- ["primary" /* primary */]: "bg-gradient-to-r from-eui-primary-500 to-eui-primary-600 text-white hover:brightness-110",
6049
- ["secondary" /* secondary */]: "bg-gradient-to-r from-eui-secondary-600 to-eui-secondary-500 text-white hover:brightness-110",
6050
- ["success" /* success */]: "bg-gradient-to-r from-eui-success-600 to-eui-success-500 text-white hover:brightness-110",
6051
- ["danger" /* danger */]: "bg-gradient-to-r from-eui-danger-600 to-eui-danger-500 text-white hover:brightness-110",
6052
- ["warning" /* warning */]: "bg-gradient-to-r from-eui-warning-500 to-eui-warning-400 text-black hover:brightness-105",
6053
- ["info" /* info */]: "bg-gradient-to-r from-eui-info-600 to-eui-info-500 text-white hover:brightness-110",
6054
- ["light" /* light */]: "bg-gradient-to-r from-eui-light-400 to-eui-light-300 text-gray-900 hover:brightness-105 dark:from-gray-200 dark:to-gray-100 dark:text-gray-900",
6055
- ["dark" /* dark */]: "bg-gradient-to-r from-eui-dark-400 to-eui-dark-500 text-white hover:brightness-110 dark:from-eui-dark-300 dark:to-eui-dark-400"
6088
+ ["primary" /* primary */]: "bg-eui-primary-500 text-white hover:bg-eui-primary-600",
6089
+ ["secondary" /* secondary */]: "bg-eui-secondary-500 text-white hover:bg-eui-secondary-600",
6090
+ ["success" /* success */]: "bg-eui-success-500 text-white hover:bg-eui-success-600",
6091
+ ["danger" /* danger */]: "bg-eui-danger-500 text-white hover:bg-eui-danger-600",
6092
+ ["warning" /* warning */]: "bg-eui-warning-500 text-black hover:bg-eui-warning-400",
6093
+ ["info" /* info */]: "bg-eui-info-500 text-white hover:bg-eui-info-600",
6094
+ ["light" /* light */]: "bg-eui-light-400 text-gray-900 hover:bg-eui-light-300 dark:bg-gray-200 dark:text-gray-900 dark:hover:bg-gray-100",
6095
+ ["dark" /* dark */]: "bg-eui-dark-500 text-white hover:bg-eui-dark-400 dark:bg-eui-dark-400 dark:hover:bg-eui-dark-300"
6056
6096
  };
6057
6097
  var variantsLite = {
6058
6098
  ["default" /* default */]: "bg-gray-500/10 border border-gray-300 text-gray-700 dark:bg-gray-400/10 dark:border-gray-700 dark:text-gray-200",
@@ -6138,17 +6178,6 @@ var cardBgVariants = {
6138
6178
  ["light" /* light */]: "bg-eui-light-500/10",
6139
6179
  ["dark" /* dark */]: "bg-eui-dark-500/20"
6140
6180
  };
6141
- var checkboxVariants = {
6142
- ["default" /* default */]: "checked:bg-gray-600 checked:border-gray-600 dark:checked:bg-gray-500 dark:checked:border-gray-500",
6143
- ["primary" /* primary */]: "checked:bg-eui-primary-600 checked:border-eui-primary-600 dark:checked:bg-eui-primary-500 dark:checked:border-eui-primary-500",
6144
- ["secondary" /* secondary */]: "checked:bg-eui-secondary-600 checked:border-eui-secondary-600 dark:checked:bg-eui-secondary-500 dark:checked:border-eui-secondary-500",
6145
- ["success" /* success */]: "checked:bg-eui-success-600 checked:border-eui-success-600 dark:checked:bg-eui-success-500 dark:checked:border-eui-success-500",
6146
- ["danger" /* danger */]: "checked:bg-eui-danger-600 checked:border-eui-danger-600 dark:checked:bg-eui-danger-500 dark:checked:border-eui-danger-500",
6147
- ["warning" /* warning */]: "checked:bg-eui-warning-500 checked:border-eui-warning-500 dark:checked:bg-eui-warning-400 dark:checked:border-eui-warning-400",
6148
- ["info" /* info */]: "checked:bg-eui-info-600 checked:border-eui-info-600 dark:checked:bg-eui-info-500 dark:checked:border-eui-info-500",
6149
- ["light" /* light */]: "checked:bg-eui-light-400 checked:border-eui-light-400 dark:checked:bg-gray-200 dark:checked:border-gray-200",
6150
- ["dark" /* dark */]: "checked:bg-eui-dark-500 checked:border-eui-dark-500 dark:checked:bg-eui-dark-300 dark:checked:border-eui-dark-300"
6151
- };
6152
6181
  var toastPositionStyles = {
6153
6182
  ["top-left" /* topLeft */]: "top-4 left-4 items-start",
6154
6183
  ["top-center" /* topCenter */]: "top-4 left-1/2 -translate-x-1/2 items-center",
@@ -6208,7 +6237,31 @@ var toastShapeStyles = {
6208
6237
  ["softRoundedSquare" /* softRoundedSquare */]: "!rounded-3xl",
6209
6238
  ["square" /* square */]: "!rounded-none"
6210
6239
  };
6211
- var sizes = {
6240
+
6241
+ // src/components/data-entry/button/base/Button.styles.ts
6242
+ var buttonShapes = shapes;
6243
+ var buttonIconSizes = {
6244
+ xs: 14,
6245
+ sm: 16,
6246
+ md: 18,
6247
+ lg: 20,
6248
+ xl: 22
6249
+ };
6250
+ function resolveButtonVariantStyles({
6251
+ appearance,
6252
+ variant
6253
+ }) {
6254
+ return resolveAppearanceStyles({
6255
+ appearance,
6256
+ variant,
6257
+ solid: variantsSolid,
6258
+ lite: variantsLite,
6259
+ ghost: variantsGhost
6260
+ });
6261
+ }
6262
+
6263
+ // src/components/data-entry/button/web/Button.web.styles.ts
6264
+ var webButtonSizes = {
6212
6265
  xs: "px-2 py-1 text-xs",
6213
6266
  sm: "px-3 py-1.5 text-sm",
6214
6267
  md: "px-4 py-2 text-base",
@@ -6223,27 +6276,56 @@ function Button({
6223
6276
  loading = false,
6224
6277
  disabled = false,
6225
6278
  block = false,
6226
- variant = "success",
6227
- appearance = "solid",
6279
+ compact = false,
6280
+ glow = true,
6281
+ mode,
6282
+ contentClassName,
6283
+ labelClassName,
6284
+ variant,
6285
+ appearance,
6228
6286
  shape,
6229
- size = "md",
6287
+ size,
6288
+ accessibilityLabel,
6289
+ accessibilityRole,
6290
+ accessibilityState,
6291
+ testID,
6230
6292
  className,
6231
6293
  onMouseMove,
6294
+ onClick,
6295
+ onPress,
6232
6296
  ...rest
6233
6297
  }) {
6234
- const eui = useEUIConfig();
6235
- const resolvedShape = shape ?? eui?.config?.global?.shape ?? "square";
6236
- const btnRef = useRef(null);
6237
- const variantStyles = resolveAppearanceStyles({
6238
- appearance,
6298
+ const accessibility = accessibilityState;
6299
+ const {
6300
+ shape: resolvedShape,
6301
+ size: resolvedSize,
6302
+ variant: resolvedVariant,
6303
+ appearance: resolvedAppearance
6304
+ } = useResolvedButtonConfig({
6305
+ compact,
6306
+ mode,
6239
6307
  variant,
6240
- solid: variantsSolid,
6241
- lite: variantsLite,
6242
- ghost: variantsGhost
6308
+ appearance,
6309
+ shape,
6310
+ size
6243
6311
  });
6312
+ const btnRef = useRef(null);
6313
+ const variantStyles = resolveButtonVariantStyles({
6314
+ appearance: resolvedAppearance,
6315
+ variant: resolvedVariant
6316
+ });
6317
+ const iconSize = buttonIconSizes[resolvedSize];
6318
+ const labelContent = text10 || children3;
6319
+ const resolvedIcon = typeof icon === "function" ? icon({
6320
+ color: "currentColor",
6321
+ size: iconSize
6322
+ }) : icon;
6244
6323
  const handleMouseMove = (e) => {
6245
6324
  const btn = btnRef.current;
6246
- if (!btn) return;
6325
+ if (!btn || !glow) {
6326
+ onMouseMove?.(e);
6327
+ return;
6328
+ }
6247
6329
  const rect = btn.getBoundingClientRect();
6248
6330
  const x3 = e.clientX - rect.left;
6249
6331
  const y3 = e.clientY - rect.top;
@@ -6251,6 +6333,12 @@ function Button({
6251
6333
  btn.style.setProperty("--glow-y", `${y3}px`);
6252
6334
  onMouseMove?.(e);
6253
6335
  };
6336
+ const handleClick = (e) => {
6337
+ onClick?.(e);
6338
+ if (!e.defaultPrevented) {
6339
+ onPress?.();
6340
+ }
6341
+ };
6254
6342
  return /* @__PURE__ */ jsxs(
6255
6343
  "button",
6256
6344
  {
@@ -6258,47 +6346,114 @@ function Button({
6258
6346
  ref: btnRef,
6259
6347
  type: type2,
6260
6348
  disabled: disabled || loading,
6349
+ onClick: handleClick,
6261
6350
  onMouseMove: handleMouseMove,
6351
+ "aria-disabled": disabled || loading,
6352
+ "aria-label": accessibilityLabel,
6353
+ "aria-pressed": accessibility?.selected === void 0 ? void 0 : Boolean(accessibility.selected),
6354
+ "data-testid": testID,
6355
+ role: accessibilityRole,
6262
6356
  className: cn(
6263
6357
  "relative overflow-hidden group inline-flex items-center justify-center gap-2 transition-all duration-300",
6264
6358
  variantStyles,
6265
- shapes[resolvedShape],
6266
- sizes[size],
6359
+ buttonShapes[resolvedShape],
6360
+ webButtonSizes[resolvedSize],
6267
6361
  block && "w-full",
6362
+ mode === "text" && "border-transparent bg-transparent",
6268
6363
  (loading || disabled) && "brightness-75 grayscale cursor-not-allowed",
6269
6364
  !loading && !disabled && "hover:cursor-pointer",
6270
6365
  className
6271
6366
  ),
6272
6367
  children: [
6273
- /* @__PURE__ */ jsx(
6368
+ glow && /* @__PURE__ */ jsx(
6274
6369
  "span",
6275
6370
  {
6276
6371
  className: "pointer-events-none absolute inset-0 opacity-0 group-hover:opacity-100 transition-opacity duration-300",
6277
6372
  style: {
6278
6373
  background: `
6279
- radial-gradient(
6280
- 200px circle at var(--glow-x) var(--glow-y),
6281
- rgba(255,255,255,0.18),
6282
- transparent 50%
6283
- )
6284
- `
6374
+ radial-gradient(
6375
+ 200px circle at var(--glow-x) var(--glow-y),
6376
+ rgba(255,255,255,0.18),
6377
+ transparent 50%
6378
+ )
6379
+ `
6285
6380
  }
6286
6381
  }
6287
6382
  ),
6288
6383
  loading && /* @__PURE__ */ jsx(AiOutlineLoading, { className: "animate-spin z-10" }),
6289
- icon && /* @__PURE__ */ jsx("span", { className: "z-10", children: icon }),
6290
- text10 && /* @__PURE__ */ jsx("span", { className: "z-10", children: text10 }),
6291
- children3 && /* @__PURE__ */ jsx("span", { className: "z-10", children: children3 })
6384
+ resolvedIcon && /* @__PURE__ */ jsx(
6385
+ "span",
6386
+ {
6387
+ className: cn(
6388
+ "z-10 inline-flex shrink-0 items-center justify-center leading-none",
6389
+ contentClassName
6390
+ ),
6391
+ style: {
6392
+ height: iconSize,
6393
+ lineHeight: 0,
6394
+ width: iconSize
6395
+ },
6396
+ children: resolvedIcon
6397
+ }
6398
+ ),
6399
+ labelContent && /* @__PURE__ */ jsx(
6400
+ "span",
6401
+ {
6402
+ className: cn(
6403
+ "z-10 inline-flex items-center justify-center leading-none",
6404
+ labelClassName
6405
+ ),
6406
+ style: {
6407
+ minHeight: iconSize
6408
+ },
6409
+ children: labelContent
6410
+ }
6411
+ )
6292
6412
  ]
6293
6413
  }
6294
6414
  );
6295
6415
  }
6296
- var Button_default = Button;
6416
+ var Button_web_default = Button;
6417
+
6418
+ // src/components/data-entry/input/input-label/base/InputLabel.styles.ts
6419
+ var inputLabelStaticClassName = "pointer-events-none select-none px-0 text-[13.5px] leading-none text-[#6B7280]";
6420
+ var inputLabelBaseClassName = "pointer-events-none absolute left-3 z-10 select-none bg-white/95 px-1 font-medium leading-none dark:bg-eui-dark-800";
6421
+ var inputLabelTransitionClassName = "transition-all duration-200 ease-out";
6422
+ var inputLabelRestingClassName = "top-[18px] translate-y-0 text-base leading-none text-[#6B7280]";
6423
+ var inputLabelFloatingClassName = "top-1.5 translate-y-0 text-xs leading-none text-[#6B7280]";
6424
+ var inputLabelErrorClassName = "text-[#6B7280]";
6425
+ var inputLabelDisabledClassName = "opacity-60";
6426
+ function InputLabel({
6427
+ text: text10,
6428
+ children: children3,
6429
+ className,
6430
+ floating,
6431
+ errored = false,
6432
+ disabled = false,
6433
+ htmlFor
6434
+ }) {
6435
+ const isFloatingLabel = typeof floating === "boolean";
6436
+ return /* @__PURE__ */ jsx(
6437
+ "label",
6438
+ {
6439
+ htmlFor,
6440
+ className: cn(
6441
+ isFloatingLabel ? inputLabelBaseClassName : inputLabelStaticClassName,
6442
+ isFloatingLabel && inputLabelTransitionClassName,
6443
+ isFloatingLabel && (floating === true ? inputLabelFloatingClassName : inputLabelRestingClassName),
6444
+ errored && inputLabelErrorClassName,
6445
+ disabled && inputLabelDisabledClassName,
6446
+ className
6447
+ ),
6448
+ children: text10 || children3
6449
+ }
6450
+ );
6451
+ }
6297
6452
  var Backdrop = ({ children: children3, styles }) => {
6298
6453
  return /* @__PURE__ */ jsx(
6299
6454
  "div",
6300
6455
  {
6301
- className: classNames77({
6456
+ className: classNames74({
6302
6457
  "bg-black/75 top-0 bottom-0 left-0 right-0 z-50 fixed inset-0 flex items-center justify-center overflow-hidden": true,
6303
6458
  [`${styles}`]: styles
6304
6459
  }),
@@ -6883,12 +7038,12 @@ function renderTransitionChild(children3, className) {
6883
7038
  return /* @__PURE__ */ jsx("div", { className, children: children3 });
6884
7039
  }
6885
7040
  const child = Children.only(children3);
6886
- if (!React25.isValidElement(child)) {
7041
+ if (!React26.isValidElement(child)) {
6887
7042
  return /* @__PURE__ */ jsx("div", { className, children: child });
6888
7043
  }
6889
7044
  const element7 = child;
6890
- return React25.cloneElement(element7, {
6891
- className: classNames77(element7.props.className, className)
7045
+ return React26.cloneElement(element7, {
7046
+ className: classNames74(element7.props.className, className)
6892
7047
  });
6893
7048
  }
6894
7049
  function TransitionBase({
@@ -6908,7 +7063,7 @@ function TransitionBase({
6908
7063
  if (!mounted && unmountOnExit) {
6909
7064
  return null;
6910
7065
  }
6911
- const transitionClassName = classNames77(
7066
+ const transitionClassName = classNames74(
6912
7067
  visibility ? enterClassName : leaveClassName,
6913
7068
  active ? visibleClassName : hiddenClassName
6914
7069
  );
@@ -7066,114 +7221,188 @@ var Transition = {
7066
7221
  TransitionSlide: TransitionSlide_default,
7067
7222
  TransitionAccordion: TransitionAccordion_default
7068
7223
  };
7224
+
7225
+ // src/components/data-entry/input/input-response/base/InputResponse.styles.ts
7226
+ var inputResponseBaseClassName = "px-2 pt-1.5 text-sm font-medium";
7227
+ var inputResponseVariants = textVariants;
7069
7228
  function InputResponse({
7070
7229
  name: name2,
7071
7230
  visibility = false,
7072
7231
  variant = "default",
7073
- styles
7232
+ className,
7233
+ message
7074
7234
  }) {
7075
- return /* @__PURE__ */ jsx(Transition.TransitionDropdown, { visibility, children: /* @__PURE__ */ jsx(
7235
+ return /* @__PURE__ */ jsx(Transition.TransitionFadeIn, { visibility, children: /* @__PURE__ */ jsx(
7076
7236
  "div",
7077
7237
  {
7078
- className: classNames77({
7079
- "font-medium text-sm py-1 px-2": true,
7080
- [`${textVariants[variant]}`]: variant,
7081
- "transition-all ease-in-out": true,
7082
- [`${styles}`]: styles
7083
- }),
7084
- children: /* @__PURE__ */ jsx(ErrorMessage, { name: name2 })
7238
+ className: cn(
7239
+ inputResponseBaseClassName,
7240
+ inputResponseVariants[variant],
7241
+ className
7242
+ ),
7243
+ children: message ?? /* @__PURE__ */ jsx(ErrorMessage, { name: name2 })
7085
7244
  }
7086
7245
  ) });
7087
7246
  }
7088
- var InputResponse_default = InputResponse;
7089
- function InputLabel({ text: text10, children: children3, styles }) {
7090
- return /* @__PURE__ */ jsx(
7091
- "label",
7092
- {
7093
- className: classNames77({
7094
- "px-0 eui-text-sm text-[13.5px] pointer-events-none select-none": true,
7095
- "transition-all ease-in-out": true,
7096
- [`${styles}`]: styles
7097
- }),
7098
- children: text10 || children3
7099
- }
7100
- );
7247
+ function resolveInputType({
7248
+ passwordVisible,
7249
+ type: type2
7250
+ }) {
7251
+ return type2 === "password" && passwordVisible ? "text" : type2;
7101
7252
  }
7102
- var InputLabel_default = InputLabel;
7103
- var toggleType = (visibility) => {
7104
- return visibility ? "text" : "password";
7105
- };
7106
- var PasswordVisibilityToggler = ({
7107
- onClick
7108
- }) => {
7109
- const [passwordVisibility, setPasswordVisibilty] = useState(false);
7110
- const handleOnClick = (visibility) => {
7111
- onClick(visibility);
7112
- setPasswordVisibilty(visibility);
7253
+ function useResolvedInputConfig({
7254
+ label,
7255
+ placeholder,
7256
+ shape,
7257
+ type: type2 = "text"
7258
+ }) {
7259
+ const eui = useEUIConfig();
7260
+ return {
7261
+ shape: shape ?? eui?.config?.global?.shape ?? "square",
7262
+ type: type2,
7263
+ label: label ?? placeholder
7113
7264
  };
7265
+ }
7266
+ function useInputFieldState(props) {
7267
+ const [field, meta, helpers] = useField(props);
7268
+ return {
7269
+ field,
7270
+ meta,
7271
+ helpers
7272
+ };
7273
+ }
7274
+
7275
+ // src/components/data-entry/input/input/base/Input.styles.ts
7276
+ var inputShapes = shapes;
7277
+ var inputRootClassName = "relative w-full";
7278
+ var inputFrameClassName = "relative h-14 w-full overflow-hidden border bg-white/95 px-3 dark:bg-eui-dark-800";
7279
+ var inputFrameIdleClassName = "border-gray-300 hover:border-gray-400 dark:border-eui-dark-300 dark:hover:border-eui-dark-200";
7280
+ var inputFrameActiveClassName = "border-eui-secondary-600";
7281
+ var inputFrameErrorClassName = "border-eui-danger-500";
7282
+ var inputFrameDisabledClassName = "cursor-not-allowed opacity-60";
7283
+ var inputControlClassName = "w-full bg-transparent pt-5 pb-2 text-base font-medium text-gray-950 dark:text-gray-50";
7284
+
7285
+ // src/components/data-entry/input/input/web/Input.web.styles.ts
7286
+ var webInputControlClassName = "placeholder-transparent outline-none transition-all duration-200 ease-out";
7287
+ var webPasswordToggleClassName = "absolute right-3 top-[18px] cursor-pointer text-xl text-eui-dark-200 transition-colors duration-180 hover:text-eui-secondary-700";
7288
+ function PasswordVisibilityToggler({
7289
+ passwordVisible,
7290
+ onToggle
7291
+ }) {
7114
7292
  return /* @__PURE__ */ jsx(
7115
7293
  "div",
7116
7294
  {
7117
- className: "text-eui-dark-200 absolute text-2xl right-3 top-[16px] cursor-pointer",
7118
- onClick: () => handleOnClick(!passwordVisibility),
7119
- children: passwordVisibility ? /* @__PURE__ */ jsx(FaEyeSlash, {}) : /* @__PURE__ */ jsx(FaEye, {})
7295
+ className: webPasswordToggleClassName,
7296
+ onClick: () => onToggle(!passwordVisible),
7297
+ children: passwordVisible ? /* @__PURE__ */ jsx(FaEyeSlash, {}) : /* @__PURE__ */ jsx(FaEye, {})
7120
7298
  }
7121
7299
  );
7122
- };
7123
- var Input = ({
7124
- type: type2 = "text",
7125
- placeholder,
7126
- styles,
7127
- step,
7128
- shape,
7129
- ...props
7130
- }) => {
7131
- const eui = useEUIConfig();
7132
- const resolvedShape = shape ?? eui?.config?.global?.shape ?? "square";
7133
- const [field, meta] = useField(props);
7134
- const [passwordVisibility, setPasswordVisibilty] = useState(false);
7135
- const inputType = type2 === "password" ? toggleType(passwordVisibility) : type2;
7136
- return /* @__PURE__ */ jsxs("div", { className: "relative w-full", children: [
7300
+ }
7301
+ function Input(inputProps) {
7302
+ const {
7303
+ type: type2 = "text",
7304
+ id: id2,
7305
+ label,
7306
+ placeholder,
7307
+ inputClassName,
7308
+ labelClassName,
7309
+ responseClassName,
7310
+ step,
7311
+ shape,
7312
+ disabled = false,
7313
+ className,
7314
+ onBlur,
7315
+ onFocus,
7316
+ ...props
7317
+ } = inputProps;
7318
+ const { field, meta } = useInputFieldState(inputProps);
7319
+ const [focused, setFocused] = useState(false);
7320
+ const [passwordVisible, setPasswordVisible] = useState(false);
7321
+ const {
7322
+ shape: resolvedShape,
7323
+ type: resolvedType,
7324
+ label: resolvedLabel
7325
+ } = useResolvedInputConfig({
7326
+ label,
7327
+ placeholder,
7328
+ shape,
7329
+ type: type2
7330
+ });
7331
+ const inputType = resolveInputType({
7332
+ passwordVisible,
7333
+ type: resolvedType
7334
+ });
7335
+ const hasError = Boolean(meta.touched && meta.error);
7336
+ const hasValue = String(field.value ?? "").length > 0;
7337
+ const floating = focused || hasValue;
7338
+ const inputId = id2 ?? field.name;
7339
+ const handleBlur = (event) => {
7340
+ setFocused(false);
7341
+ field.onBlur(event);
7342
+ onBlur?.(event);
7343
+ };
7344
+ const handleFocus = (event) => {
7345
+ setFocused(true);
7346
+ onFocus?.(event);
7347
+ };
7348
+ return /* @__PURE__ */ jsxs("div", { className: inputRootClassName, children: [
7137
7349
  /* @__PURE__ */ jsx(
7138
7350
  Field,
7139
7351
  {
7140
- type: inputType,
7141
- step: inputType === "number" && step ? step : void 0,
7142
- ...field,
7143
7352
  ...props,
7144
- placeholder,
7145
- className: classNames77({
7146
- "border peer w-full bg-eui-primary-300/10 pt-5 px-3 pb-2 text-md eui-text-md placeholder-transparent placeholder-shown:p-3 focus:outline-none h-[50px]": true,
7147
- "border-eui-primary-400 focus:border-eui-secondary-500": !(meta.touched && meta.error),
7148
- "border-eui-danger-500": meta.touched && meta.error,
7149
- [`${shapes[resolvedShape]}`]: true,
7150
- // "transition-all ease-in-out": true,
7151
- [`${styles}`]: styles
7152
- })
7353
+ ...field,
7354
+ disabled,
7355
+ id: inputId,
7356
+ onBlur: handleBlur,
7357
+ onFocus: handleFocus,
7358
+ placeholder: "",
7359
+ step: inputType === "number" && step ? step : void 0,
7360
+ type: inputType,
7361
+ className: cn(
7362
+ inputFrameClassName,
7363
+ inputControlClassName,
7364
+ webInputControlClassName,
7365
+ hasError ? inputFrameErrorClassName : focused ? inputFrameActiveClassName : inputFrameIdleClassName,
7366
+ inputShapes[resolvedShape],
7367
+ disabled && inputFrameDisabledClassName,
7368
+ className,
7369
+ inputClassName
7370
+ )
7153
7371
  }
7154
7372
  ),
7155
7373
  /* @__PURE__ */ jsx(
7156
- InputLabel_default,
7374
+ InputLabel,
7157
7375
  {
7158
- text: placeholder,
7159
- styles: "absolute left-2 top-[0.7px] eui-text-sm text-[13.5px] peer-placeholder-shown:text-base peer-placeholder-shown:top-3 pointer-events-none"
7376
+ disabled,
7377
+ errored: hasError,
7378
+ floating,
7379
+ htmlFor: inputId,
7380
+ text: resolvedLabel,
7381
+ className: labelClassName
7160
7382
  }
7161
7383
  ),
7162
- type2 === "password" && /* @__PURE__ */ jsx(PasswordVisibilityToggler, { onClick: (v) => setPasswordVisibilty(v) }),
7384
+ type2 === "password" ? /* @__PURE__ */ jsx(
7385
+ PasswordVisibilityToggler,
7386
+ {
7387
+ passwordVisible,
7388
+ onToggle: setPasswordVisible
7389
+ }
7390
+ ) : null,
7163
7391
  /* @__PURE__ */ jsx(
7164
- InputResponse_default,
7392
+ InputResponse,
7165
7393
  {
7166
7394
  name: field.name,
7167
- visibility: meta.touched && meta.error ? true : false,
7168
- variant: "danger"
7395
+ visibility: hasError,
7396
+ variant: "danger",
7397
+ className: responseClassName
7169
7398
  }
7170
7399
  )
7171
7400
  ] });
7172
- };
7401
+ }
7173
7402
  var InputFile = ({
7174
7403
  placeholder,
7175
7404
  accept = "",
7176
- styles,
7405
+ className,
7177
7406
  ...props
7178
7407
  }) => {
7179
7408
  const fileInputRef = useRef(null);
@@ -7187,13 +7416,13 @@ var InputFile = ({
7187
7416
  /* @__PURE__ */ jsx(
7188
7417
  "div",
7189
7418
  {
7190
- className: classNames77(
7419
+ className: classNames74(
7191
7420
  "border rounded-sm bg-eui-primary-300/10 px-3 pt-3 text-md text-eui-dark-100 cursor-pointer h-[50px] flex items-center",
7192
7421
  {
7193
7422
  "border-eui-primary-400 focus:border-eui-secondary-500": !(meta.touched && meta.error),
7194
7423
  "border-eui-danger-500": meta.touched && meta.error
7195
7424
  },
7196
- styles
7425
+ className
7197
7426
  ),
7198
7427
  onClick: () => fileInputRef.current?.click(),
7199
7428
  children: field.value?.name || ""
@@ -7210,10 +7439,10 @@ var InputFile = ({
7210
7439
  }
7211
7440
  ),
7212
7441
  /* @__PURE__ */ jsx(
7213
- InputLabel_default,
7442
+ InputLabel,
7214
7443
  {
7215
7444
  text: placeholder,
7216
- styles: classNames77({
7445
+ className: classNames74({
7217
7446
  "absolute left-2 eui-text-sm peer-placeholder-shown:text-base peer-placeholder-shown:top-3 pointer-events-none": true,
7218
7447
  "top-[0.7px]": showFloatingLabel,
7219
7448
  "top-[13px] text-base": !showFloatingLabel
@@ -7221,7 +7450,7 @@ var InputFile = ({
7221
7450
  }
7222
7451
  ),
7223
7452
  /* @__PURE__ */ jsx(
7224
- InputResponse_default,
7453
+ InputResponse,
7225
7454
  {
7226
7455
  name: field.name,
7227
7456
  visibility: meta.touched && meta.error ? true : false,
@@ -7262,11 +7491,11 @@ var InputList = ({ name: name2, placeholder, shape }) => {
7262
7491
  const fieldErrors = errors[name2];
7263
7492
  const hasListError = Boolean(errors[name2]) && Boolean(touched[name2]) && typeof errors[name2] === "string";
7264
7493
  return /* @__PURE__ */ jsxs("div", { children: [
7265
- /* @__PURE__ */ jsx(InputLabel_default, { text: placeholder }),
7494
+ /* @__PURE__ */ jsx(InputLabel, { text: placeholder }),
7266
7495
  /* @__PURE__ */ jsx("div", { className: "mt-2", children: /* @__PURE__ */ jsx(FieldArray, { name: name2, children: ({ push: push2, remove: remove2, move }) => /* @__PURE__ */ jsxs(
7267
7496
  "div",
7268
7497
  {
7269
- className: classNames77(
7498
+ className: classNames74(
7270
7499
  "flex w-full flex-col space-y-2 bg-eui-primary-300/10",
7271
7500
  shapes[resolvedShape]
7272
7501
  ),
@@ -7295,7 +7524,7 @@ var InputList = ({ name: name2, placeholder, shape }) => {
7295
7524
  ref: provided2.innerRef,
7296
7525
  ...draggableProps,
7297
7526
  style: draggableStyle,
7298
- className: classNames77(
7527
+ className: classNames74(
7299
7528
  "flex items-center space-x-2 bg-eui-primary-300/10 p-2",
7300
7529
  shapes[resolvedShape]
7301
7530
  ),
@@ -7306,7 +7535,7 @@ var InputList = ({ name: name2, placeholder, shape }) => {
7306
7535
  {
7307
7536
  name: `${name2}[${index3}]`,
7308
7537
  placeholder: `Item ${index3 + 1}`,
7309
- className: classNames77(
7538
+ className: classNames74(
7310
7539
  "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",
7311
7540
  shapes[resolvedShape],
7312
7541
  hasItemError ? "border-eui-danger-500" : "border-eui-primary-400 focus:border-eui-secondary-500"
@@ -7346,12 +7575,12 @@ var InputList = ({ name: name2, placeholder, shape }) => {
7346
7575
  }
7347
7576
  ),
7348
7577
  /* @__PURE__ */ jsx(
7349
- InputResponse_default,
7578
+ InputResponse,
7350
7579
  {
7351
7580
  name: name2,
7352
7581
  visibility: hasListError,
7353
7582
  variant: "danger",
7354
- styles: "pb-2"
7583
+ className: "pb-2"
7355
7584
  }
7356
7585
  )
7357
7586
  ]
@@ -7394,7 +7623,7 @@ var InputListGroup = ({
7394
7623
  const groups = values[name2] ?? [];
7395
7624
  const hasError = Boolean(errors[name2]) && Boolean(touched[name2]) && typeof errors[name2] === "string";
7396
7625
  return /* @__PURE__ */ jsxs("div", { className: "flex flex-col space-y-2", children: [
7397
- /* @__PURE__ */ jsx(InputLabel_default, { text: placeholder }),
7626
+ /* @__PURE__ */ jsx(InputLabel, { text: placeholder }),
7398
7627
  /* @__PURE__ */ jsx(FieldArray, { name: name2, children: ({ push: push2, remove: remove2 }) => /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
7399
7628
  groups.map((group, groupIndex) => {
7400
7629
  const itemsFieldName = `${name2}[${groupIndex}].items`;
@@ -7402,7 +7631,7 @@ var InputListGroup = ({
7402
7631
  return /* @__PURE__ */ jsxs(
7403
7632
  "div",
7404
7633
  {
7405
- className: classNames77(
7634
+ className: classNames74(
7406
7635
  "flex flex-col gap-2 bg-eui-primary-300/10 p-3",
7407
7636
  shapes[resolvedShape]
7408
7637
  ),
@@ -7414,7 +7643,7 @@ var InputListGroup = ({
7414
7643
  {
7415
7644
  name: `${name2}[${groupIndex}].name`,
7416
7645
  placeholder: `Group ${groupIndex + 1}`,
7417
- className: classNames77(
7646
+ className: classNames74(
7418
7647
  "h-[40px] w-full border bg-eui-primary-300/10 px-3 py-2 text-md focus:outline-none",
7419
7648
  shapes[resolvedShape],
7420
7649
  "border-eui-primary-400 focus:border-eui-secondary-500"
@@ -7445,7 +7674,7 @@ var InputListGroup = ({
7445
7674
  {
7446
7675
  ref: provided.innerRef,
7447
7676
  ...provided.droppableProps,
7448
- className: classNames77(
7677
+ className: classNames74(
7449
7678
  "space-y-2 bg-eui-primary-300/10 p-2",
7450
7679
  shapes[resolvedShape]
7451
7680
  ),
@@ -7465,7 +7694,7 @@ var InputListGroup = ({
7465
7694
  ref: provided2.innerRef,
7466
7695
  ...draggableProps,
7467
7696
  style: draggableStyle,
7468
- className: classNames77(
7697
+ className: classNames74(
7469
7698
  "flex items-center gap-2 bg-eui-primary-300/10 p-2",
7470
7699
  shapes[resolvedShape]
7471
7700
  ),
@@ -7476,7 +7705,7 @@ var InputListGroup = ({
7476
7705
  {
7477
7706
  name: `${itemsFieldName}[${itemIndex}]`,
7478
7707
  placeholder: `Item ${itemIndex + 1}`,
7479
- className: classNames77(
7708
+ className: classNames74(
7480
7709
  "h-[40px] w-full border bg-eui-primary-300/10 px-3 py-2 text-md focus:outline-none",
7481
7710
  shapes[resolvedShape],
7482
7711
  "border-eui-primary-400 focus:border-eui-secondary-500"
@@ -7535,12 +7764,12 @@ var InputListGroup = ({
7535
7764
  }
7536
7765
  ),
7537
7766
  /* @__PURE__ */ jsx(
7538
- InputResponse_default,
7767
+ InputResponse,
7539
7768
  {
7540
7769
  name: name2,
7541
7770
  visibility: hasError,
7542
7771
  variant: "danger",
7543
- styles: "pb-2"
7772
+ className: "pb-2"
7544
7773
  }
7545
7774
  )
7546
7775
  ] }) })
@@ -7549,13 +7778,20 @@ var InputListGroup = ({
7549
7778
  function isMultiCheckbox(props) {
7550
7779
  return Array.isArray(props.options);
7551
7780
  }
7552
- function Checkbox({
7781
+ function useResolvedCheckboxConfig({
7782
+ label,
7553
7783
  placeholder,
7554
- variant = "primary",
7555
- shape = "roundedSquare",
7556
- className,
7557
- ...props
7784
+ variant,
7785
+ shape
7558
7786
  }) {
7787
+ const eui = useEUIConfig();
7788
+ return {
7789
+ shape: shape ?? eui?.config?.global?.shape ?? "roundedSquare",
7790
+ variant: variant ?? "secondary",
7791
+ label: label ?? placeholder
7792
+ };
7793
+ }
7794
+ function useCheckboxFieldState(props) {
7559
7795
  const isMulti = isMultiCheckbox(props);
7560
7796
  const [multiField, multiMeta, multiHelpers] = useField(
7561
7797
  props
@@ -7563,89 +7799,234 @@ function Checkbox({
7563
7799
  const [singleField, singleMeta, singleHelpers] = useField(
7564
7800
  props
7565
7801
  );
7566
- const field = isMulti ? multiField : singleField;
7567
- const meta = isMulti ? multiMeta : singleMeta;
7568
- const checkboxClass = cn(
7569
- // Base
7570
- "appearance-none cursor-pointer transition-all duration-300",
7571
- "w-5 h-5 min-w-[1.25rem] min-h-[1.25rem]",
7572
- "flex-shrink-0 relative",
7573
- // Unchecked state
7574
- "bg-white border-2 border-gray-300",
7575
- "hover:border-gray-400",
7576
- // Dark mode
7577
- "dark:bg-neutral-900",
7578
- "dark:border-neutral-600",
7579
- "dark:hover:border-neutral-500",
7580
- // Focus state
7581
- "focus:outline-none focus:ring-2",
7582
- "focus:ring-eui-primary-500/30",
7583
- // Checked variant styles
7584
- checkboxVariants[variant],
7585
- // Check icon
7586
- "checked:before:content-['\u2713']",
7587
- "checked:before:absolute checked:before:inset-0",
7588
- "checked:before:flex checked:before:items-center checked:before:justify-center",
7589
- "checked:before:text-white checked:before:font-bold checked:before:text-sm",
7590
- // Disabled state
7591
- "disabled:opacity-50 disabled:cursor-not-allowed",
7592
- // Shape
7593
- shapes[shape],
7594
- className
7802
+ return {
7803
+ isMulti,
7804
+ multiField,
7805
+ multiMeta,
7806
+ multiHelpers,
7807
+ singleField,
7808
+ singleMeta,
7809
+ singleHelpers
7810
+ };
7811
+ }
7812
+
7813
+ // src/components/data-entry/checkbox/base/Checkbox.styles.ts
7814
+ var checkboxShapes = shapes;
7815
+ var checkboxGroupClassName = "flex flex-col gap-2";
7816
+ var checkboxOptionRowClassName = "flex flex-row items-start gap-3";
7817
+ var checkboxLabelClassName = "cursor-pointer select-none text-sm leading-relaxed text-gray-800 dark:text-gray-200";
7818
+ var checkboxIndicatorBaseClassName = "relative h-5 w-5 min-h-[1.25rem] min-w-[1.25rem] shrink-0 appearance-none border-2 border-gray-300 bg-white transition-all duration-300 hover:border-gray-400 focus:outline-none focus:ring-2 focus:ring-eui-primary-500/30 dark:border-neutral-600 dark:bg-neutral-900 dark:hover:border-neutral-500";
7819
+ var checkboxIndicatorDisabledClassName = "cursor-not-allowed opacity-50";
7820
+
7821
+ // src/components/data-entry/checkbox/web/Checkbox.web.styles.ts
7822
+ var webCheckboxVariants = {
7823
+ default: {
7824
+ checkedClassName: "checked:bg-eui-secondary-600 checked:border-eui-secondary-600 dark:checked:bg-eui-secondary-500 dark:checked:border-eui-secondary-500",
7825
+ iconClassName: "text-white"
7826
+ },
7827
+ primary: {
7828
+ checkedClassName: "checked:bg-eui-primary-600 checked:border-eui-primary-600 dark:checked:bg-eui-primary-500 dark:checked:border-eui-primary-500",
7829
+ iconClassName: "text-white"
7830
+ },
7831
+ secondary: {
7832
+ checkedClassName: "checked:bg-eui-secondary-600 checked:border-eui-secondary-600 dark:checked:bg-eui-secondary-500 dark:checked:border-eui-secondary-500",
7833
+ iconClassName: "text-white"
7834
+ },
7835
+ success: {
7836
+ checkedClassName: "checked:bg-eui-success-600 checked:border-eui-success-600 dark:checked:bg-eui-success-500 dark:checked:border-eui-success-500",
7837
+ iconClassName: "text-white"
7838
+ },
7839
+ danger: {
7840
+ checkedClassName: "checked:bg-eui-danger-600 checked:border-eui-danger-600 dark:checked:bg-eui-danger-500 dark:checked:border-eui-danger-500",
7841
+ iconClassName: "text-white"
7842
+ },
7843
+ warning: {
7844
+ checkedClassName: "checked:bg-eui-warning-500 checked:border-eui-warning-500 dark:checked:bg-eui-warning-400 dark:checked:border-eui-warning-400",
7845
+ iconClassName: "text-black"
7846
+ },
7847
+ info: {
7848
+ checkedClassName: "checked:bg-eui-info-600 checked:border-eui-info-600 dark:checked:bg-eui-info-500 dark:checked:border-eui-info-500",
7849
+ iconClassName: "text-white"
7850
+ },
7851
+ light: {
7852
+ checkedClassName: "checked:bg-eui-light-400 checked:border-eui-light-400 dark:checked:bg-gray-200 dark:checked:border-gray-200",
7853
+ iconClassName: "text-gray-900"
7854
+ },
7855
+ dark: {
7856
+ checkedClassName: "checked:bg-eui-dark-500 checked:border-eui-dark-500 dark:checked:bg-eui-dark-300 dark:checked:border-eui-dark-300",
7857
+ iconClassName: "text-white"
7858
+ }
7859
+ };
7860
+ function resolveWebCheckboxVariantStyles(variant) {
7861
+ return webCheckboxVariants[variant];
7862
+ }
7863
+ function getIndicatorClassName({
7864
+ checked,
7865
+ className,
7866
+ disabled,
7867
+ indicatorClassName,
7868
+ checkedIndicatorClassName,
7869
+ resolvedShape,
7870
+ variantCheckedClassName
7871
+ }) {
7872
+ return cn(
7873
+ checkboxIndicatorBaseClassName,
7874
+ checkboxShapes[resolvedShape],
7875
+ indicatorClassName,
7876
+ className,
7877
+ variantCheckedClassName,
7878
+ checked && checkedIndicatorClassName,
7879
+ disabled && checkboxIndicatorDisabledClassName
7595
7880
  );
7596
- return /* @__PURE__ */ jsxs("div", { children: [
7597
- !isMulti && /* @__PURE__ */ jsxs("div", { className: "flex flex-row gap-3 items-start", children: [
7598
- /* @__PURE__ */ jsx(
7599
- "input",
7600
- {
7601
- id: singleField.name,
7602
- type: "checkbox",
7603
- checked: Boolean(singleField.value),
7604
- onChange: (e) => singleHelpers.setValue(e.target.checked),
7605
- className: checkboxClass
7606
- }
7881
+ }
7882
+ function Tick({
7883
+ checked,
7884
+ checkedIconClassName,
7885
+ iconClassName
7886
+ }) {
7887
+ return /* @__PURE__ */ jsx(
7888
+ "span",
7889
+ {
7890
+ "aria-hidden": "true",
7891
+ className: cn(
7892
+ "pointer-events-none absolute inset-0 inline-flex items-center justify-center text-sm font-bold leading-none transition-opacity duration-200",
7893
+ iconClassName,
7894
+ checkedIconClassName,
7895
+ checked ? "opacity-100" : "opacity-0"
7607
7896
  ),
7608
- /* @__PURE__ */ jsx(
7897
+ children: "\u2713"
7898
+ }
7899
+ );
7900
+ }
7901
+ function Checkbox(checkboxProps) {
7902
+ const {
7903
+ label,
7904
+ placeholder,
7905
+ variant,
7906
+ shape,
7907
+ disabled = false,
7908
+ className,
7909
+ groupClassName,
7910
+ optionClassName,
7911
+ indicatorClassName,
7912
+ checkedIndicatorClassName,
7913
+ checkedIconClassName,
7914
+ labelClassName
7915
+ } = checkboxProps;
7916
+ const { shape: resolvedShape, variant: resolvedVariant, label: resolvedLabel } = useResolvedCheckboxConfig({
7917
+ label,
7918
+ placeholder,
7919
+ variant,
7920
+ shape
7921
+ });
7922
+ const {
7923
+ isMulti,
7924
+ multiField,
7925
+ multiMeta,
7926
+ multiHelpers,
7927
+ singleField,
7928
+ singleMeta,
7929
+ singleHelpers
7930
+ } = useCheckboxFieldState(checkboxProps);
7931
+ const variantStyles = resolveWebCheckboxVariantStyles(resolvedVariant);
7932
+ const activeFieldName = isMulti ? multiField.name : singleField.name;
7933
+ const activeMeta = isMulti ? multiMeta : singleMeta;
7934
+ const multiProps = isMultiCheckbox(checkboxProps) ? checkboxProps : null;
7935
+ const singleChecked = singleField.value;
7936
+ return /* @__PURE__ */ jsxs("div", { className: cn(checkboxGroupClassName, groupClassName), children: [
7937
+ !isMulti && /* @__PURE__ */ jsxs("div", { className: cn(checkboxOptionRowClassName, optionClassName), children: [
7938
+ /* @__PURE__ */ jsxs("span", { className: "relative inline-flex h-5 w-5 shrink-0 items-center justify-center", children: [
7939
+ /* @__PURE__ */ jsx(
7940
+ "input",
7941
+ {
7942
+ id: singleField.name,
7943
+ name: singleField.name,
7944
+ type: "checkbox",
7945
+ checked: singleChecked,
7946
+ disabled,
7947
+ onBlur: singleField.onBlur,
7948
+ onChange: (event) => singleHelpers.setValue(event.target.checked),
7949
+ className: getIndicatorClassName({
7950
+ checked: singleChecked,
7951
+ className,
7952
+ disabled,
7953
+ indicatorClassName,
7954
+ checkedIndicatorClassName,
7955
+ resolvedShape,
7956
+ variantCheckedClassName: variantStyles.checkedClassName
7957
+ })
7958
+ }
7959
+ ),
7960
+ /* @__PURE__ */ jsx(
7961
+ Tick,
7962
+ {
7963
+ checked: singleChecked,
7964
+ checkedIconClassName,
7965
+ iconClassName: variantStyles.iconClassName
7966
+ }
7967
+ )
7968
+ ] }),
7969
+ resolvedLabel ? /* @__PURE__ */ jsx(
7609
7970
  "label",
7610
7971
  {
7611
7972
  htmlFor: singleField.name,
7612
- className: cn(
7613
- "text-sm leading-relaxed cursor-pointer select-none",
7614
- "text-gray-800 dark:text-gray-200"
7615
- ),
7616
- children: placeholder
7973
+ className: cn(checkboxLabelClassName, labelClassName),
7974
+ children: resolvedLabel
7617
7975
  }
7618
- )
7976
+ ) : null
7619
7977
  ] }),
7620
- isMulti && props.options.map((option) => {
7978
+ isMulti && multiProps?.options.map((option) => {
7621
7979
  const values = multiField.value ?? [];
7622
7980
  const checked = values.includes(option.value);
7981
+ const optionDisabled = disabled || option.disabled === true;
7623
7982
  return /* @__PURE__ */ jsxs(
7624
7983
  "div",
7625
7984
  {
7626
- className: "flex flex-row gap-3 items-start my-2",
7985
+ className: cn(checkboxOptionRowClassName, optionClassName),
7627
7986
  children: [
7628
- /* @__PURE__ */ jsx(
7629
- "input",
7630
- {
7631
- id: option.value,
7632
- type: "checkbox",
7633
- checked,
7634
- onChange: () => {
7635
- multiHelpers.setValue(
7636
- checked ? values.filter((v) => v !== option.value) : [...values, option.value]
7637
- );
7638
- },
7639
- className: checkboxClass
7640
- }
7641
- ),
7987
+ /* @__PURE__ */ jsxs("span", { className: "relative inline-flex h-5 w-5 shrink-0 items-center justify-center", children: [
7988
+ /* @__PURE__ */ jsx(
7989
+ "input",
7990
+ {
7991
+ id: option.value,
7992
+ name: multiField.name,
7993
+ type: "checkbox",
7994
+ checked,
7995
+ disabled: optionDisabled,
7996
+ onBlur: multiField.onBlur,
7997
+ onChange: () => {
7998
+ multiHelpers.setValue(
7999
+ checked ? values.filter((value) => value !== option.value) : [...values, option.value]
8000
+ );
8001
+ },
8002
+ className: getIndicatorClassName({
8003
+ checked,
8004
+ className,
8005
+ disabled: optionDisabled,
8006
+ indicatorClassName,
8007
+ checkedIndicatorClassName,
8008
+ resolvedShape,
8009
+ variantCheckedClassName: variantStyles.checkedClassName
8010
+ })
8011
+ }
8012
+ ),
8013
+ /* @__PURE__ */ jsx(
8014
+ Tick,
8015
+ {
8016
+ checked,
8017
+ checkedIconClassName,
8018
+ iconClassName: variantStyles.iconClassName
8019
+ }
8020
+ )
8021
+ ] }),
7642
8022
  /* @__PURE__ */ jsx(
7643
8023
  "label",
7644
8024
  {
7645
8025
  htmlFor: option.value,
7646
8026
  className: cn(
7647
- "text-sm leading-relaxed cursor-pointer select-none",
7648
- "text-gray-800 dark:text-gray-200"
8027
+ checkboxLabelClassName,
8028
+ optionDisabled && "cursor-not-allowed opacity-60",
8029
+ labelClassName
7649
8030
  ),
7650
8031
  children: option.label
7651
8032
  }
@@ -7656,16 +8037,15 @@ function Checkbox({
7656
8037
  );
7657
8038
  }),
7658
8039
  /* @__PURE__ */ jsx(
7659
- InputResponse_default,
8040
+ InputResponse,
7660
8041
  {
7661
- name: field.name,
7662
- visibility: Boolean(meta.touched && meta.error),
8042
+ name: activeFieldName,
8043
+ visibility: Boolean(activeMeta.touched && activeMeta.error),
7663
8044
  variant: "danger"
7664
8045
  }
7665
8046
  )
7666
8047
  ] });
7667
8048
  }
7668
- var Checkbox_default = Checkbox;
7669
8049
  var DateSelector = ({
7670
8050
  placeholder,
7671
8051
  styles,
@@ -7677,10 +8057,10 @@ var DateSelector = ({
7677
8057
  const [field, meta] = useField(props);
7678
8058
  return /* @__PURE__ */ jsxs("div", { className: "relative w-full", children: [
7679
8059
  /* @__PURE__ */ jsx(
7680
- InputLabel_default,
8060
+ InputLabel,
7681
8061
  {
7682
8062
  text: placeholder,
7683
- styles: "absolute left-2 top-[0.7px] peer-placeholder-shown:text-base peer-placeholder-shown:top-3"
8063
+ className: "absolute left-2 top-[0.7px] peer-placeholder-shown:text-base peer-placeholder-shown:top-3"
7684
8064
  }
7685
8065
  ),
7686
8066
  /* @__PURE__ */ jsx(
@@ -7690,7 +8070,7 @@ var DateSelector = ({
7690
8070
  ...field,
7691
8071
  ...props,
7692
8072
  placeholder,
7693
- className: classNames77({
8073
+ className: classNames74({
7694
8074
  "border border-eui-primary-400 peer w-full bg-eui-primary-300/10 pt-5 px-3 pb-2 text-md eui-text-md placeholder-transparent placeholder-shown:p-3 focus:border-eui-secondary-500 focus:outline-none h-[50px]": true,
7695
8075
  "border-eui-danger-500": meta.touched && meta.error,
7696
8076
  "transition-all ease-in-out": true,
@@ -7699,7 +8079,7 @@ var DateSelector = ({
7699
8079
  })
7700
8080
  }
7701
8081
  ),
7702
- meta.touched && meta.error && /* @__PURE__ */ jsx(InputResponse_default, { name: field.name, visibility: true, variant: "danger" })
8082
+ meta.touched && meta.error && /* @__PURE__ */ jsx(InputResponse, { name: field.name, visibility: true, variant: "danger" })
7703
8083
  ] });
7704
8084
  };
7705
8085
  var DateSelector_default = DateSelector;
@@ -7772,12 +8152,12 @@ var Form = ({
7772
8152
  /* @__PURE__ */ jsx(UnsavedChangesGuard_default, { formik, enabled: warnOnUnsavedChanges }),
7773
8153
  /* @__PURE__ */ jsx(DirtyObserver_default, { formik, onDirtyChange }),
7774
8154
  /* @__PURE__ */ jsx(FormObserver_default, { formik, onChange }),
7775
- /* @__PURE__ */ jsx("div", { className: classNames77(styles), children: children3 })
8155
+ /* @__PURE__ */ jsx("div", { className: classNames74(styles), children: children3 })
7776
8156
  ] })
7777
8157
  }
7778
8158
  );
7779
8159
  };
7780
- var sizes2 = {
8160
+ var sizes = {
7781
8161
  xs: "px-2 py-1 text-xs",
7782
8162
  sm: "px-3 py-2 text-sm",
7783
8163
  md: "px-4 py-2 text-base",
@@ -7794,11 +8174,11 @@ function FormResponse({
7794
8174
  return /* @__PURE__ */ jsx(Transition.TransitionDropdown, { visibility: text10 ? true : false, children: /* @__PURE__ */ jsx(
7795
8175
  "div",
7796
8176
  {
7797
- className: classNames77({
8177
+ className: classNames74({
7798
8178
  "font-poppins font-light text-sm": true,
7799
8179
  [`${variantsLite[variant]}`]: variant,
7800
8180
  [`${shapes[shape]}`]: shape,
7801
- [`${sizes2[size]}`]: size,
8181
+ [`${sizes[size]}`]: size,
7802
8182
  [`${styles}`]: styles
7803
8183
  }),
7804
8184
  children: text10
@@ -7902,7 +8282,7 @@ var ImageInput = forwardRef(
7902
8282
  /* @__PURE__ */ jsxs(
7903
8283
  "label",
7904
8284
  {
7905
- className: classNames77({
8285
+ className: classNames74({
7906
8286
  "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,
7907
8287
  "hover:cursor-pointer hover:border-solid hover:border-gray-600 hover:bg-gray-900/80": true,
7908
8288
  "transition-all ease-in-out duration-150": true
@@ -7949,7 +8329,7 @@ var ImageInput = forwardRef(
7949
8329
  ] })
7950
8330
  ] }) }),
7951
8331
  /* @__PURE__ */ jsx(
7952
- InputResponse_default,
8332
+ InputResponse,
7953
8333
  {
7954
8334
  name: field.name,
7955
8335
  visibility: meta.touched && meta.error ? true : false,
@@ -7994,7 +8374,7 @@ function MultiImageInput({
7994
8374
  ) })
7995
8375
  ] }),
7996
8376
  /* @__PURE__ */ jsx(
7997
- InputResponse_default,
8377
+ InputResponse,
7998
8378
  {
7999
8379
  name: field.name,
8000
8380
  visibility: meta.touched && meta.error ? true : false,
@@ -8012,14 +8392,14 @@ function Radio({
8012
8392
  const { name: name2 } = props;
8013
8393
  const [field, meta] = useField(props);
8014
8394
  return /* @__PURE__ */ jsxs("div", { children: [
8015
- /* @__PURE__ */ jsx(InputLabel_default, { text: placeholder }),
8395
+ /* @__PURE__ */ jsx(InputLabel, { text: placeholder }),
8016
8396
  /* @__PURE__ */ jsx(Field, { name: name2, children: (formik) => {
8017
8397
  const { field: field2 } = formik;
8018
8398
  return options.map((option) => {
8019
8399
  return /* @__PURE__ */ jsxs(
8020
8400
  "div",
8021
8401
  {
8022
- className: classNames77({
8402
+ className: classNames74({
8023
8403
  "flex flex-row gap-2 items-center mx-1 my-2": true
8024
8404
  }),
8025
8405
  children: [
@@ -8032,7 +8412,7 @@ function Radio({
8032
8412
  ...props,
8033
8413
  value: option.value,
8034
8414
  checked: field2.value === option.value,
8035
- className: classNames77({
8415
+ className: classNames74({
8036
8416
  "appearance-none w-4 h-4 border-2 border-eui-primary-400 rounded-full cursor-pointer transition-all duration-300": true,
8037
8417
  // base radio button styles
8038
8418
  "checked:bg-eui-secondary-700 checked:border-eui-primary-400": field2.value === option.value
@@ -8044,7 +8424,7 @@ function Radio({
8044
8424
  "label",
8045
8425
  {
8046
8426
  htmlFor: option.value,
8047
- className: classNames77({
8427
+ className: classNames74({
8048
8428
  "eui-text-md text-sm": true
8049
8429
  }),
8050
8430
  children: option.label
@@ -8057,7 +8437,7 @@ function Radio({
8057
8437
  });
8058
8438
  } }),
8059
8439
  /* @__PURE__ */ jsx(
8060
- InputResponse_default,
8440
+ InputResponse,
8061
8441
  {
8062
8442
  name: field.name,
8063
8443
  visibility: meta.touched && meta.error ? true : false,
@@ -8087,7 +8467,7 @@ function StarRatingInput({
8087
8467
  return /* @__PURE__ */ jsxs(
8088
8468
  "div",
8089
8469
  {
8090
- className: classNames77({
8470
+ className: classNames74({
8091
8471
  "inline-flex gap-[4px] text-[20px]": true,
8092
8472
  [`${styles}`]: styles
8093
8473
  }),
@@ -8100,7 +8480,7 @@ function StarRatingInput({
8100
8480
  onClick: () => handleOnClick(index3),
8101
8481
  onMouseEnter: () => setHover(index3),
8102
8482
  onMouseLeave: () => setHover(null),
8103
- className: classNames77({
8483
+ className: classNames74({
8104
8484
  "text-yellow-600": index3 <= (hover ?? rating - 1),
8105
8485
  "text-gray-400": index3 > (hover ?? rating - 1)
8106
8486
  }),
@@ -8109,7 +8489,7 @@ function StarRatingInput({
8109
8489
  index3
8110
8490
  )) }),
8111
8491
  /* @__PURE__ */ jsx(
8112
- InputResponse_default,
8492
+ InputResponse,
8113
8493
  {
8114
8494
  name: field.name,
8115
8495
  visibility: meta.touched && meta.error ? true : false,
@@ -8133,10 +8513,10 @@ function Select({
8133
8513
  const [field, meta] = useField(props);
8134
8514
  return /* @__PURE__ */ jsxs("div", { className: "relative", children: [
8135
8515
  /* @__PURE__ */ jsx(
8136
- InputLabel_default,
8516
+ InputLabel,
8137
8517
  {
8138
8518
  text: placeholder,
8139
- styles: "absolute left-2 top-[0.7px] peer-placeholder-shown:text-base peer-placeholder-shown:top-3"
8519
+ className: "absolute left-2 top-[0.7px] peer-placeholder-shown:text-base peer-placeholder-shown:top-3"
8140
8520
  }
8141
8521
  ),
8142
8522
  /* @__PURE__ */ jsx(
@@ -8144,7 +8524,7 @@ function Select({
8144
8524
  {
8145
8525
  as: "select",
8146
8526
  ...props,
8147
- className: classNames77({
8527
+ className: classNames74({
8148
8528
  "border peer w-full bg-eui-primary-300/10 pt-5 px-3 pb-2 text-md eui-text-md placeholder-transparent placeholder-shown:p-3 focus:border-eui-secondary-500 focus:outline-none h-[50px]": true,
8149
8529
  "border-eui-primary-400": !(meta.touched && meta.error),
8150
8530
  "border-red-500": meta.touched && meta.error,
@@ -8158,7 +8538,7 @@ function Select({
8158
8538
  }
8159
8539
  ),
8160
8540
  /* @__PURE__ */ jsx(
8161
- InputResponse_default,
8541
+ InputResponse,
8162
8542
  {
8163
8543
  name: field.name,
8164
8544
  visibility: meta.touched && meta.error ? true : false,
@@ -8179,7 +8559,7 @@ function Switch({
8179
8559
  return /* @__PURE__ */ jsxs("div", { children: [
8180
8560
  /* @__PURE__ */ jsxs("div", { className: "flex flex-row justify-between w-full gap-3", children: [
8181
8561
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1", children: [
8182
- label && /* @__PURE__ */ jsx(InputLabel_default, { text: label }),
8562
+ label && /* @__PURE__ */ jsx(InputLabel, { text: label }),
8183
8563
  description && /* @__PURE__ */ jsx("label", { className: "eui-text-md text-[12px] max-w-[500px]", children: description })
8184
8564
  ] }),
8185
8565
  /* @__PURE__ */ jsx(Field, { name: name2, children: () => /* @__PURE__ */ jsxs("label", { className: "relative inline-flex cursor-pointer", children: [
@@ -8196,7 +8576,7 @@ function Switch({
8196
8576
  "div",
8197
8577
  {
8198
8578
  onClick: () => helpers.setValue(!field.value),
8199
- className: classNames77(
8579
+ className: classNames74(
8200
8580
  "w-11 h-6 bg-gray-200 peer-focus:outline-none rounded-full peer dark:bg-eui-dark-100",
8201
8581
  "peer-checked:after:translate-x-full peer-checked:after:border-white",
8202
8582
  "after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white",
@@ -8209,7 +8589,7 @@ function Switch({
8209
8589
  ] }) })
8210
8590
  ] }),
8211
8591
  /* @__PURE__ */ jsx(
8212
- InputResponse_default,
8592
+ InputResponse,
8213
8593
  {
8214
8594
  name: name2,
8215
8595
  visibility: meta.touched && meta.error ? true : false,
@@ -8253,7 +8633,7 @@ function Tags({
8253
8633
  /* @__PURE__ */ jsxs(
8254
8634
  "div",
8255
8635
  {
8256
- className: classNames77(
8636
+ className: classNames74(
8257
8637
  "border rounded-sm flex flex-wrap items-center gap-2 px-2 pt-2 pb-6 min-h-[3rem]",
8258
8638
  {
8259
8639
  "bg-eui-primary-300/10 eui-text-md": true,
@@ -8298,10 +8678,10 @@ function Tags({
8298
8678
  }
8299
8679
  ),
8300
8680
  /* @__PURE__ */ jsx(
8301
- InputLabel_default,
8681
+ InputLabel,
8302
8682
  {
8303
8683
  text: placeholder,
8304
- styles: classNames77(
8684
+ className: classNames74(
8305
8685
  "absolute left-2 transition-all pointer-events-none text-eui-dark-200",
8306
8686
  input.length > 0 || field.value.length > 0 ? "top-[2px] text-[13.5px]" : "top-3 text-base"
8307
8687
  )
@@ -8314,7 +8694,7 @@ function Tags({
8314
8694
  ] })
8315
8695
  ] }),
8316
8696
  /* @__PURE__ */ jsx(
8317
- InputResponse_default,
8697
+ InputResponse,
8318
8698
  {
8319
8699
  name: field.name,
8320
8700
  visibility: meta.touched && meta.error ? true : false,
@@ -8342,7 +8722,7 @@ function TextArea({
8342
8722
  as: "textarea",
8343
8723
  ...field,
8344
8724
  ...props,
8345
- className: classNames77({
8725
+ className: classNames74({
8346
8726
  "border peer w-full bg-eui-primary-300/10 eui-text-md outline-none px-3 py-5 resize-none focus:resize-none focus:outline-none": true,
8347
8727
  "transition-all ease-in-out": true,
8348
8728
  "border-eui-primary-400 focus:border-eui-secondary-500": !(meta.touched && meta.error),
@@ -8353,10 +8733,10 @@ function TextArea({
8353
8733
  }
8354
8734
  ),
8355
8735
  /* @__PURE__ */ jsx(
8356
- InputLabel_default,
8736
+ InputLabel,
8357
8737
  {
8358
8738
  text: placeholder,
8359
- styles: classNames77(
8739
+ className: classNames74(
8360
8740
  "absolute left-2 transition-all pointer-events-none text-eui-dark-200",
8361
8741
  field.value ? "top-[2px] text-[13.5px]" : "top-3 text-base"
8362
8742
  )
@@ -8369,7 +8749,7 @@ function TextArea({
8369
8749
  ] })
8370
8750
  ] }),
8371
8751
  /* @__PURE__ */ jsx(
8372
- InputResponse_default,
8752
+ InputResponse,
8373
8753
  {
8374
8754
  name: field.name,
8375
8755
  visibility: meta.touched && meta.error ? true : false,
@@ -8390,7 +8770,7 @@ function BreadcrumbItem({
8390
8770
  {
8391
8771
  href,
8392
8772
  onClick,
8393
- className: classNames77({
8773
+ className: classNames74({
8394
8774
  "text-lg font-semibold": true,
8395
8775
  "text-gray-400 hover:text-gray-600 cursor-pointer": !active,
8396
8776
  "text-eui-light-800": active,
@@ -8454,7 +8834,7 @@ var Breadcrumb = ({
8454
8834
  navigate(item.href);
8455
8835
  }
8456
8836
  };
8457
- return /* @__PURE__ */ jsxs(React25.Fragment, { children: [
8837
+ return /* @__PURE__ */ jsxs(React26.Fragment, { children: [
8458
8838
  /* @__PURE__ */ jsx(
8459
8839
  BreadcrumbItem_default,
8460
8840
  {
@@ -8467,7 +8847,7 @@ var Breadcrumb = ({
8467
8847
  index3 < resolvedData.length - 1 && /* @__PURE__ */ jsx(
8468
8848
  "span",
8469
8849
  {
8470
- className: classNames77({
8850
+ className: classNames74({
8471
8851
  "text-lg font-semibold text-gray-500": true,
8472
8852
  [`px-${gap}`]: gap
8473
8853
  }),
@@ -8481,7 +8861,7 @@ var Breadcrumb = ({
8481
8861
  return /* @__PURE__ */ jsx(
8482
8862
  "div",
8483
8863
  {
8484
- className: classNames77({
8864
+ className: classNames74({
8485
8865
  "inline-flex": true,
8486
8866
  [`${styles}`]: styles
8487
8867
  }),
@@ -8525,7 +8905,7 @@ var Drawer = ({
8525
8905
  isMobile && showBackdrop && /* @__PURE__ */ jsx(TransitionFade_default, { visibility, leaveDuration: 200, children: /* @__PURE__ */ jsx(
8526
8906
  "div",
8527
8907
  {
8528
- className: classNames77(
8908
+ className: classNames74(
8529
8909
  "fixed inset-0 bg-black/50 z-40",
8530
8910
  backdropStyles
8531
8911
  ),
@@ -8536,7 +8916,7 @@ var Drawer = ({
8536
8916
  "div",
8537
8917
  {
8538
8918
  style: drawerStyle,
8539
- className: classNames77(
8919
+ className: classNames74(
8540
8920
  "fixed shadow-lg z-50",
8541
8921
  {
8542
8922
  "h-full w-[300px] top-0": isHorizontal && !hasOffset,
@@ -8565,7 +8945,7 @@ function DrawerToggler({
8565
8945
  return /* @__PURE__ */ jsx(
8566
8946
  "div",
8567
8947
  {
8568
- className: classNames77({
8948
+ className: classNames74({
8569
8949
  "text-xl p-3 cursor-pointer": true,
8570
8950
  "transition-all ease-in-out": true,
8571
8951
  "text-eui-dark-500 dark:text-eui-secondary-600": !styles,
@@ -8613,7 +8993,7 @@ function FooterNav({ data = [], styles }) {
8613
8993
  childrenContent = /* @__PURE__ */ jsx(
8614
8994
  "div",
8615
8995
  {
8616
- className: classNames77({
8996
+ className: classNames74({
8617
8997
  "grid w-full": true,
8618
8998
  "grid-cols-1": isMobile,
8619
8999
  "grid-cols-3": !isMobile,
@@ -8626,7 +9006,7 @@ function FooterNav({ data = [], styles }) {
8626
9006
  return /* @__PURE__ */ jsx(
8627
9007
  "div",
8628
9008
  {
8629
- className: classNames77({
9009
+ className: classNames74({
8630
9010
  [`${styles}`]: styles
8631
9011
  }),
8632
9012
  children: childrenContent
@@ -8667,7 +9047,7 @@ var FooterNavGroup = ({
8667
9047
  /* @__PURE__ */ jsx(
8668
9048
  "div",
8669
9049
  {
8670
- className: classNames77({
9050
+ className: classNames74({
8671
9051
  "": true,
8672
9052
  "py-2 font-semibold eui-text-lg": !styles,
8673
9053
  [`${styles}`]: styles
@@ -8712,7 +9092,7 @@ var FooterNavItem = ({
8712
9092
  "div",
8713
9093
  {
8714
9094
  onClick: handleNavigation,
8715
- className: classNames77({
9095
+ className: classNames74({
8716
9096
  "flex flex-row items-center gap-3 cursor-pointer p-1 w-full": true,
8717
9097
  "transition-all duration-200 ease-in-out": true,
8718
9098
  "text-sm eui-text-sm": !styles,
@@ -8741,7 +9121,7 @@ var FooterNavItemTitle = ({
8741
9121
  return /* @__PURE__ */ jsx(
8742
9122
  "div",
8743
9123
  {
8744
- className: classNames77({
9124
+ className: classNames74({
8745
9125
  "": true,
8746
9126
  "py-2 font-thin eui-text-md": !styles,
8747
9127
  [`${styles}`]: styles
@@ -8794,7 +9174,7 @@ function HeaderNav({ data = [], styles }) {
8794
9174
  return /* @__PURE__ */ jsx(
8795
9175
  "div",
8796
9176
  {
8797
- className: classNames77({
9177
+ className: classNames74({
8798
9178
  [`${styles}`]: styles
8799
9179
  }),
8800
9180
  children: childrenContent
@@ -8856,7 +9236,7 @@ var HeaderNavGroup = ({
8856
9236
  /* @__PURE__ */ jsxs(
8857
9237
  "div",
8858
9238
  {
8859
- className: classNames77({
9239
+ className: classNames74({
8860
9240
  "flex flex-row gap-2 items-center justify-between cursor-pointer p-3 w-full": true,
8861
9241
  "transition-all duration-300 ease-in-out": true,
8862
9242
  "eui-text-md bg-gradient-to-t from-eui-dark-500/10 dark:from-green-700/10": !styles,
@@ -8884,7 +9264,7 @@ var HeaderNavGroup = ({
8884
9264
  children3 && /* @__PURE__ */ jsx(
8885
9265
  BsChevronDown,
8886
9266
  {
8887
- className: classNames77({
9267
+ className: classNames74({
8888
9268
  "text-md": true,
8889
9269
  "transition-all ease-in-out duration-300": true,
8890
9270
  "rotate-180": !collapsed
@@ -8897,7 +9277,7 @@ var HeaderNavGroup = ({
8897
9277
  !collapsed && children3 && /* @__PURE__ */ jsx(
8898
9278
  "div",
8899
9279
  {
8900
- className: classNames77({
9280
+ className: classNames74({
8901
9281
  "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,
8902
9282
  "transition-all duration-300 ease-in-out": true
8903
9283
  }),
@@ -8927,7 +9307,7 @@ var HeaderNavItem = ({
8927
9307
  "div",
8928
9308
  {
8929
9309
  onClick: handleNavigation,
8930
- className: classNames77({
9310
+ className: classNames74({
8931
9311
  "flex flex-row items-center gap-3 cursor-pointer p-3 w-full": true,
8932
9312
  "transition-all duration-200 ease-in-out": true,
8933
9313
  "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,
@@ -8956,7 +9336,7 @@ var HeaderNavItemTitle = ({
8956
9336
  return /* @__PURE__ */ jsx(
8957
9337
  "div",
8958
9338
  {
8959
- className: classNames77({
9339
+ className: classNames74({
8960
9340
  "p-3 font-thin": true,
8961
9341
  "eui-text-md": !styles,
8962
9342
  [`${styles}`]: styles
@@ -8996,7 +9376,7 @@ var Link = ({
8996
9376
  href: href || "#",
8997
9377
  target: targets[target],
8998
9378
  onClick: handleClick,
8999
- className: classNames77({
9379
+ className: classNames74({
9000
9380
  [`${textVariants[variant]}`]: variant,
9001
9381
  [`${decorations[decoration]}`]: decoration,
9002
9382
  "font-bold": bold,
@@ -12188,7 +12568,7 @@ function Accordion({
12188
12568
  /* @__PURE__ */ jsxs(
12189
12569
  "div",
12190
12570
  {
12191
- className: classNames77(
12571
+ className: classNames74(
12192
12572
  "inline-flex gap-3 items-center px-3 py-2 w-full eui-gradient-to-r-general-xs",
12193
12573
  {
12194
12574
  "hover:cursor-pointer": toggleOnSummaryClick
@@ -12209,7 +12589,7 @@ function Accordion({
12209
12589
  children: /* @__PURE__ */ jsx(
12210
12590
  FaCircleChevronDown,
12211
12591
  {
12212
- className: classNames77("text-xl transition-transform duration-300", {
12592
+ className: classNames74("text-xl transition-transform duration-300", {
12213
12593
  "rotate-180": collapse
12214
12594
  })
12215
12595
  }
@@ -12223,7 +12603,7 @@ function Accordion({
12223
12603
  /* @__PURE__ */ jsx(TransitionAccordion_default, { visibility: collapse, children: /* @__PURE__ */ jsx(
12224
12604
  "div",
12225
12605
  {
12226
- className: classNames77(
12606
+ className: classNames74(
12227
12607
  "border-t border-t-eui-dark-400/40 eui-text-sm",
12228
12608
  {
12229
12609
  "p-5": enableChildrenPadding
@@ -12280,7 +12660,7 @@ function CardHeader({ icon, title, description, className }) {
12280
12660
  return /* @__PURE__ */ jsxs(
12281
12661
  "div",
12282
12662
  {
12283
- className: classNames77(
12663
+ className: classNames74(
12284
12664
  "flex items-start gap-4 p-6 border-b border-white/10",
12285
12665
  className
12286
12666
  ),
@@ -12296,14 +12676,14 @@ function CardHeader({ icon, title, description, className }) {
12296
12676
  }
12297
12677
  var CardHeader_default = CardHeader;
12298
12678
  function CardContent({ children: children3, className }) {
12299
- return /* @__PURE__ */ jsx("div", { className: classNames77("p-6 text-gray-300 text-sm", className), children: children3 });
12679
+ return /* @__PURE__ */ jsx("div", { className: classNames74("p-6 text-gray-300 text-sm", className), children: children3 });
12300
12680
  }
12301
12681
  var CardContent_default = CardContent;
12302
12682
  function CardFooter({ children: children3, className }) {
12303
12683
  return /* @__PURE__ */ jsx(
12304
12684
  "div",
12305
12685
  {
12306
- className: classNames77(
12686
+ className: classNames74(
12307
12687
  "flex items-center gap-3 p-5 border-t border-white/10 text-sm text-gray-400",
12308
12688
  className
12309
12689
  ),
@@ -12345,7 +12725,7 @@ function GradientAnimation({
12345
12725
  return /* @__PURE__ */ jsx(
12346
12726
  "div",
12347
12727
  {
12348
- className: classNames77("absolute inset-0"),
12728
+ className: classNames74("absolute inset-0"),
12349
12729
  style: {
12350
12730
  background: `linear-gradient(${cfg.angle}deg, ${cfg.colors?.join(",")})`,
12351
12731
  backgroundSize: cfg.backgroundSize,
@@ -12491,7 +12871,7 @@ function MotionSurface({
12491
12871
  }) {
12492
12872
  const AnimationComponent = animationVariant === "custom" ? CustomAnimation : animationRegistry[animationVariant];
12493
12873
  const OverlayComponent = overlay === "custom" ? CustomOverlay : overlayRegistry[overlay];
12494
- return /* @__PURE__ */ jsxs("div", { className: classNames77("relative overflow-hidden", className), children: [
12874
+ return /* @__PURE__ */ jsxs("div", { className: classNames74("relative overflow-hidden", className), children: [
12495
12875
  AnimationComponent && /* @__PURE__ */ jsx(AnimationComponent, { config: animationConfig, animated }),
12496
12876
  OverlayComponent && /* @__PURE__ */ jsx(OverlayComponent, { config: overlayConfig }),
12497
12877
  /* @__PURE__ */ jsx("div", { className: "relative z-10", children: children3 })
@@ -16398,7 +16778,7 @@ var ListItem = ({
16398
16778
  children: bullet
16399
16779
  }
16400
16780
  ),
16401
- /* @__PURE__ */ jsx("div", { className: "flex-1 min-w-0", children: TypographyComponent ? React25.cloneElement(
16781
+ /* @__PURE__ */ jsx("div", { className: "flex-1 min-w-0", children: TypographyComponent ? React26.cloneElement(
16402
16782
  TypographyComponent,
16403
16783
  {
16404
16784
  className: cn(
@@ -16432,7 +16812,7 @@ function normalizeItem(item, defaultBulletType) {
16432
16812
  bulletType: defaultBulletType
16433
16813
  };
16434
16814
  }
16435
- if (React25.isValidElement(item)) {
16815
+ if (React26.isValidElement(item)) {
16436
16816
  return {
16437
16817
  content: item,
16438
16818
  bulletType: defaultBulletType
@@ -16737,7 +17117,7 @@ var ProgressBar = ({
16737
17117
  hasBottomLabel && /* @__PURE__ */ jsx("div", { className: "mt-2", children: labelNode })
16738
17118
  ] });
16739
17119
  };
16740
- var sizes3 = {
17120
+ var sizes2 = {
16741
17121
  ["xs" /* xs */]: "text-[10px]",
16742
17122
  ["sm" /* sm */]: "text-xs",
16743
17123
  ["md" /* md */]: "text-sm",
@@ -16767,7 +17147,7 @@ var StarRating = ({
16767
17147
  className: cn(
16768
17148
  "inline-flex items-center gap-[2px]",
16769
17149
  "text-yellow-500 dark:text-yellow-400",
16770
- sizes3[size],
17150
+ sizes2[size],
16771
17151
  iconClassName
16772
17152
  ),
16773
17153
  children: [
@@ -16780,7 +17160,7 @@ var StarRating = ({
16780
17160
  showValue && valuePosition === "end" && ratingValue
16781
17161
  ] });
16782
17162
  };
16783
- var sizes4 = {
17163
+ var sizes3 = {
16784
17164
  ["xs" /* xs */]: {
16785
17165
  value: "text-2xl",
16786
17166
  review: "text-xs"
@@ -16812,7 +17192,7 @@ var NumericRating = ({
16812
17192
  className,
16813
17193
  ...rest
16814
17194
  }) => {
16815
- const sizeStyles = sizes4[size];
17195
+ const sizeStyles = sizes3[size];
16816
17196
  return /* @__PURE__ */ jsxs(
16817
17197
  "div",
16818
17198
  {
@@ -17576,7 +17956,7 @@ var ThemeSwitch = () => {
17576
17956
  /* @__PURE__ */ jsx(
17577
17957
  "div",
17578
17958
  {
17579
- className: classNames77(
17959
+ className: classNames74(
17580
17960
  "w-6 h-6 bg-white dark:bg-gray-600 rounded-full shadow-md transition-transform duration-300",
17581
17961
  theme === "dark" ? "translate-x-8" : "translate-x-0"
17582
17962
  )
@@ -17586,11 +17966,44 @@ var ThemeSwitch = () => {
17586
17966
  }
17587
17967
  );
17588
17968
  };
17969
+ function ThemeSelect({
17970
+ ariaLabel,
17971
+ label,
17972
+ onChange,
17973
+ options,
17974
+ value
17975
+ }) {
17976
+ const id2 = useId();
17977
+ return /* @__PURE__ */ jsxs(
17978
+ "label",
17979
+ {
17980
+ className: "inline-flex w-fit min-w-[112px] flex-col rounded-md border border-gray-300 bg-white px-2 py-1 shadow-sm dark:bg-gray-800",
17981
+ htmlFor: id2,
17982
+ children: [
17983
+ /* @__PURE__ */ jsx("span", { className: "text-[10px] font-medium leading-3 text-gray-500 dark:text-gray-300", children: label }),
17984
+ /* @__PURE__ */ jsx(
17985
+ "select",
17986
+ {
17987
+ "aria-label": ariaLabel ?? label,
17988
+ className: "h-5 bg-transparent p-0 text-sm leading-5 text-gray-900 outline-none dark:text-gray-100",
17989
+ id: id2,
17990
+ onChange: (event) => onChange?.(event.target.value),
17991
+ value,
17992
+ children: options.map((option) => /* @__PURE__ */ jsx("option", { value: option.value, children: option.label }, option.value))
17993
+ }
17994
+ )
17995
+ ]
17996
+ }
17997
+ );
17998
+ }
17999
+ var shapeOptions = Object.keys(Shape).map((shape) => ({
18000
+ label: shape,
18001
+ value: shape
18002
+ }));
17589
18003
  var ShapeSwitch = () => {
17590
18004
  const { config, setConfig } = useEUIConfig();
17591
18005
  const currentShape = config.global?.shape ?? "square";
17592
- const handleChange = (e) => {
17593
- const shape = e.target.value;
18006
+ const handleChange = (shape) => {
17594
18007
  setConfig((prev) => ({
17595
18008
  ...prev,
17596
18009
  global: {
@@ -17599,15 +18012,41 @@ var ShapeSwitch = () => {
17599
18012
  }
17600
18013
  }));
17601
18014
  };
17602
- return /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-1 w-fit", children: /* @__PURE__ */ jsx(
17603
- "select",
18015
+ return /* @__PURE__ */ jsx(
18016
+ ThemeSelect,
17604
18017
  {
17605
- value: currentShape,
18018
+ ariaLabel: "Global shape",
18019
+ label: "Shape",
17606
18020
  onChange: handleChange,
17607
- className: "\n px-3 py-2 rounded-md border border-gray-300\n bg-white dark:bg-gray-800\n text-sm shadow-sm\n focus:outline-none\n ",
17608
- children: Object.keys(Shape).map((shape) => /* @__PURE__ */ jsx("option", { value: shape, children: shape }, shape))
18021
+ options: shapeOptions,
18022
+ value: currentShape
17609
18023
  }
17610
- ) });
18024
+ );
18025
+ };
18026
+ var previewOptions = [
18027
+ {
18028
+ label: "Web",
18029
+ value: "web"
18030
+ },
18031
+ {
18032
+ label: "Native",
18033
+ value: "native"
18034
+ }
18035
+ ];
18036
+ var PreviewSwitch = ({
18037
+ onChange,
18038
+ value = "web"
18039
+ }) => {
18040
+ return /* @__PURE__ */ jsx(
18041
+ ThemeSelect,
18042
+ {
18043
+ ariaLabel: "Preview platform",
18044
+ label: "Preview",
18045
+ onChange,
18046
+ options: previewOptions,
18047
+ value
18048
+ }
18049
+ );
17611
18050
  };
17612
18051
 
17613
18052
  // src/hooks/theme/useCurrentTheme.ts
@@ -29065,7 +29504,7 @@ function AsyncStateCard({
29065
29504
  isError ? /* @__PURE__ */ jsx(FormResponse_default, { text: message, variant: "danger" }) : /* @__PURE__ */ jsx("p", { className: "text-sm text-eui-dark-500 dark:text-eui-light-400", children: message })
29066
29505
  ] }),
29067
29506
  onAction && actionText && /* @__PURE__ */ jsx(
29068
- Button_default,
29507
+ Button_web_default,
29069
29508
  {
29070
29509
  type: "button",
29071
29510
  text: actionText,
@@ -29080,7 +29519,7 @@ function AsyncStateCard({
29080
29519
  }
29081
29520
  );
29082
29521
  }
29083
- var AsyncStateCard_default = React25.memo(AsyncStateCard);
29522
+ var AsyncStateCard_default = React26.memo(AsyncStateCard);
29084
29523
 
29085
29524
  // src/components/utils/async-component-wrapper/asyncError.utils.ts
29086
29525
  var getDefaultErrorMessage = (error) => {
@@ -29261,7 +29700,7 @@ function AsyncComponentWrapper({
29261
29700
  /* @__PURE__ */ jsx("div", { className: cn(contentClassName), children: children3 })
29262
29701
  ] });
29263
29702
  }
29264
- var AsyncComponentWrapper_default = React25.memo(AsyncComponentWrapper);
29703
+ var AsyncComponentWrapper_default = React26.memo(AsyncComponentWrapper);
29265
29704
  function Modal({
29266
29705
  title,
29267
29706
  show = false,
@@ -29286,7 +29725,7 @@ function Modal({
29286
29725
  "div",
29287
29726
  {
29288
29727
  ref: modalRef,
29289
- className: classNames77(
29728
+ className: classNames74(
29290
29729
  "eui-bg-md eui-shadow-lg border border-gray-700/80 w-fit h-fit",
29291
29730
  shapes[resolvedShape],
29292
29731
  styles
@@ -29298,7 +29737,7 @@ function Modal({
29298
29737
  "button",
29299
29738
  {
29300
29739
  type: "button",
29301
- className: classNames77(
29740
+ className: classNames74(
29302
29741
  "w-[60px] h-[60px] flex items-center justify-center transition-standard-fast",
29303
29742
  "hover:cursor-pointer hover:bg-eui-dark-500"
29304
29743
  ),
@@ -29428,7 +29867,7 @@ var CookiePreferencesModal = ({
29428
29867
  }) }),
29429
29868
  /* @__PURE__ */ jsxs("div", { className: "mt-5 flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", children: [
29430
29869
  /* @__PURE__ */ jsx(
29431
- Button_default,
29870
+ Button_web_default,
29432
29871
  {
29433
29872
  type: "button",
29434
29873
  text: cancelLabel,
@@ -29440,7 +29879,7 @@ var CookiePreferencesModal = ({
29440
29879
  }
29441
29880
  ),
29442
29881
  /* @__PURE__ */ jsx(
29443
- Button_default,
29882
+ Button_web_default,
29444
29883
  {
29445
29884
  type: "button",
29446
29885
  text: saveLabel,
@@ -29532,7 +29971,7 @@ var CookieBanner = ({
29532
29971
  ] }),
29533
29972
  /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
29534
29973
  /* @__PURE__ */ jsx(
29535
- Button_default,
29974
+ Button_web_default,
29536
29975
  {
29537
29976
  type: "button",
29538
29977
  text: acceptAllLabel,
@@ -29544,7 +29983,7 @@ var CookieBanner = ({
29544
29983
  }
29545
29984
  ),
29546
29985
  showCustomize ? /* @__PURE__ */ jsx(
29547
- Button_default,
29986
+ Button_web_default,
29548
29987
  {
29549
29988
  type: "button",
29550
29989
  text: customizeLabel,
@@ -29556,7 +29995,7 @@ var CookieBanner = ({
29556
29995
  }
29557
29996
  ) : null,
29558
29997
  showRejectAll ? /* @__PURE__ */ jsx(
29559
- Button_default,
29998
+ Button_web_default,
29560
29999
  {
29561
30000
  type: "button",
29562
30001
  text: rejectAllLabel,
@@ -29588,34 +30027,101 @@ var CookieBanner = ({
29588
30027
  var usePageTracking = ({
29589
30028
  path: path2,
29590
30029
  search: search3 = "",
30030
+ title,
30031
+ fullUrl,
30032
+ metadata,
29591
30033
  enabled = true,
30034
+ trackPageLeave = false,
29592
30035
  dedupe = true
29593
30036
  }) => {
29594
30037
  const { track } = useAnalytics();
29595
30038
  const trackRef = useRef(track);
30039
+ const enteredAtRef = useRef(Date.now());
29596
30040
  const previousPathRef = useRef(null);
30041
+ const trackedPathsRef = useRef(/* @__PURE__ */ new Set());
29597
30042
  useEffect(() => {
29598
30043
  trackRef.current = track;
29599
30044
  }, [track]);
30045
+ const metadataKey = useMemo(() => JSON.stringify(metadata ?? {}), [metadata]);
29600
30046
  useEffect(() => {
29601
30047
  if (!enabled) return;
29602
30048
  const nextPath = `${path2}${search3}`;
29603
30049
  if (!nextPath) return;
29604
- if (dedupe && previousPathRef.current === nextPath) {
30050
+ if (dedupe && trackedPathsRef.current.has(nextPath)) {
29605
30051
  return;
29606
30052
  }
30053
+ if (trackPageLeave && previousPathRef.current) {
30054
+ const durationMs = Date.now() - enteredAtRef.current;
30055
+ trackRef.current("page_leave", {
30056
+ path: previousPathRef.current,
30057
+ durationMs,
30058
+ metadata
30059
+ });
30060
+ }
30061
+ enteredAtRef.current = Date.now();
29607
30062
  previousPathRef.current = nextPath;
30063
+ trackedPathsRef.current.add(nextPath);
29608
30064
  trackRef.current("page_view", {
29609
- path: nextPath
30065
+ path: nextPath,
30066
+ title,
30067
+ fullUrl,
30068
+ metadata
29610
30069
  });
29611
- }, [dedupe, enabled, path2, search3]);
30070
+ return () => {
30071
+ if (!trackPageLeave) return;
30072
+ const durationMs = Date.now() - enteredAtRef.current;
30073
+ trackRef.current("page_leave", {
30074
+ path: nextPath,
30075
+ durationMs,
30076
+ metadata
30077
+ });
30078
+ };
30079
+ }, [
30080
+ dedupe,
30081
+ enabled,
30082
+ fullUrl,
30083
+ metadataKey,
30084
+ path2,
30085
+ search3,
30086
+ title,
30087
+ trackPageLeave
30088
+ ]);
29612
30089
  };
29613
-
29614
- // src/components/analytics/hooks/useSessionTracking.ts
29615
30090
  var useSessionTracking = ({
29616
- enabled = true
30091
+ enabled = true,
30092
+ metadata
29617
30093
  } = {}) => {
29618
- return null;
30094
+ const { track } = useAnalytics();
30095
+ const startedAtRef = useRef(Date.now());
30096
+ const endedRef = useRef(false);
30097
+ useEffect(() => {
30098
+ if (!enabled || !isBrowser()) return;
30099
+ startedAtRef.current = Date.now();
30100
+ endedRef.current = false;
30101
+ track("session_start", {
30102
+ metadata
30103
+ });
30104
+ const endSession = () => {
30105
+ if (endedRef.current) return;
30106
+ endedRef.current = true;
30107
+ track("session_end", {
30108
+ durationMs: Date.now() - startedAtRef.current,
30109
+ metadata
30110
+ });
30111
+ };
30112
+ const handleVisibilityChange = () => {
30113
+ if (document.visibilityState === "hidden") {
30114
+ endSession();
30115
+ }
30116
+ };
30117
+ window.addEventListener("pagehide", endSession);
30118
+ document.addEventListener("visibilitychange", handleVisibilityChange);
30119
+ return () => {
30120
+ endSession();
30121
+ window.removeEventListener("pagehide", endSession);
30122
+ document.removeEventListener("visibilitychange", handleVisibilityChange);
30123
+ };
30124
+ }, [enabled, metadata, track]);
29619
30125
  };
29620
30126
  var ContentArea = forwardRef(
29621
30127
  ({ children: children3, styles, enablePadding = false }, ref) => {
@@ -29623,7 +30129,7 @@ var ContentArea = forwardRef(
29623
30129
  "div",
29624
30130
  {
29625
30131
  ref,
29626
- className: classNames77({
30132
+ className: classNames74({
29627
30133
  "min-h-screen h-full w-full transition-all duration-[200ms]": true,
29628
30134
  "py-3 px-5": !enablePadding,
29629
30135
  "py-3 px-5 lg:px-[150px]": enablePadding,
@@ -29640,7 +30146,7 @@ function FlexCol({ children: children3, gap = 3, styles }) {
29640
30146
  return /* @__PURE__ */ jsx(
29641
30147
  "div",
29642
30148
  {
29643
- className: classNames77({
30149
+ className: classNames74({
29644
30150
  [`flex flex-col gap-${gap}`]: true,
29645
30151
  [`${styles}`]: styles
29646
30152
  }),
@@ -29653,7 +30159,7 @@ function FlexRow({ children: children3, gap = 3, styles }) {
29653
30159
  return /* @__PURE__ */ jsx(
29654
30160
  "div",
29655
30161
  {
29656
- className: classNames77({
30162
+ className: classNames74({
29657
30163
  [`flex flex-row gap-${gap}`]: true,
29658
30164
  [`${styles}`]: styles
29659
30165
  }),
@@ -29672,7 +30178,7 @@ function Grid({ children: children3, styles }) {
29672
30178
  return /* @__PURE__ */ jsx(
29673
30179
  "div",
29674
30180
  {
29675
- className: classNames77({
30181
+ className: classNames74({
29676
30182
  [`grid`]: true,
29677
30183
  [`${styles}`]: styles
29678
30184
  }),
@@ -29689,7 +30195,7 @@ var Layout = ({
29689
30195
  return /* @__PURE__ */ jsx(
29690
30196
  "div",
29691
30197
  {
29692
- className: classNames77({
30198
+ className: classNames74({
29693
30199
  // "flex h-full w-screen bg-gray-100 overflow-auto": true,
29694
30200
  "flex bg-eui-light-600": true,
29695
30201
  "flex-col": flexDirection === "vertical",
@@ -29703,12 +30209,15 @@ var Layout = ({
29703
30209
  var Header = ({
29704
30210
  position: position4 = "static",
29705
30211
  children: children3,
30212
+ onPreviewPlatformChange,
30213
+ previewPlatform = "web",
30214
+ showPreviewPlatformSelector = false,
29706
30215
  styles
29707
30216
  }) => {
29708
30217
  return /* @__PURE__ */ jsx(
29709
30218
  "div",
29710
30219
  {
29711
- className: classNames77({
30220
+ className: classNames74({
29712
30221
  static: position4 === "static",
29713
30222
  fixed: position4 === "fixed",
29714
30223
  sticky: position4 === "sticky",
@@ -29717,9 +30226,16 @@ var Header = ({
29717
30226
  [`${styles}`]: styles
29718
30227
  }),
29719
30228
  children: /* @__PURE__ */ jsx("div", { className: "w-full", children: children3 ? children3 : /* @__PURE__ */ jsxs("div", { className: "flex flex-row w-full items-center justify-between px-4", children: [
29720
- /* @__PURE__ */ jsx("div", { children: "Header" }),
30229
+ /* @__PURE__ */ jsx("div", { children: "elseware UI" }),
29721
30230
  /* @__PURE__ */ jsxs("div", { className: "flex flex-row gap-3 items-center", children: [
29722
30231
  /* @__PURE__ */ jsx(ThemeSwitch, {}),
30232
+ showPreviewPlatformSelector ? /* @__PURE__ */ jsx(
30233
+ PreviewSwitch,
30234
+ {
30235
+ onChange: onPreviewPlatformChange,
30236
+ value: previewPlatform
30237
+ }
30238
+ ) : null,
29723
30239
  /* @__PURE__ */ jsx(ShapeSwitch, {})
29724
30240
  ] })
29725
30241
  ] }) })
@@ -29736,7 +30252,7 @@ var Content = ({
29736
30252
  return /* @__PURE__ */ jsx(
29737
30253
  "div",
29738
30254
  {
29739
- className: classNames77({
30255
+ className: classNames74({
29740
30256
  "w-full min-h-screen transition-all duration-200 eui-bg-sm": true,
29741
30257
  "md:pl-[300px]": !overlayedSidebar && sidebarVisible && !isMobile,
29742
30258
  // Shift when sidebar is open (desktop)
@@ -29752,7 +30268,7 @@ var Footer = ({ children: children3, styles }) => {
29752
30268
  return /* @__PURE__ */ jsx(
29753
30269
  "div",
29754
30270
  {
29755
- className: classNames77({
30271
+ className: classNames74({
29756
30272
  "bottom-0 w-full h-fit": true,
29757
30273
  "border-t border-eui-dark-500/40 dark:border-eui-secondary-800 eui-bg-md": !styles,
29758
30274
  [`${styles}`]: styles
@@ -29886,7 +30402,7 @@ var GlowWrapper = ({
29886
30402
  /* @__PURE__ */ jsx(
29887
30403
  "span",
29888
30404
  {
29889
- className: "\n pointer-events-none absolute inset-0 opacity-0 \n group-hover:opacity-100 transition-opacity duration-300\n ",
30405
+ className: "\r\n pointer-events-none absolute inset-0 opacity-0 \r\n group-hover:opacity-100 transition-opacity duration-300\r\n ",
29890
30406
  style: { background: "var(--glow-bg)" }
29891
30407
  }
29892
30408
  ),
@@ -29940,7 +30456,7 @@ function ShowMore({ text: text10, limit }) {
29940
30456
  /* @__PURE__ */ jsx(
29941
30457
  "div",
29942
30458
  {
29943
- className: classNames77({
30459
+ className: classNames74({
29944
30460
  "text-blue-300 px-1 pb-1 mt-1": true,
29945
30461
  "bg-slate-900/70": !showMore,
29946
30462
  "bg-gradient-to-t from-slate-900/50 to-transparent": showMore
@@ -29998,7 +30514,7 @@ function CommentComposer({
29998
30514
  ),
29999
30515
  (focused || value.length > 0) && /* @__PURE__ */ jsxs("div", { className: "flex justify-end gap-2", children: [
30000
30516
  /* @__PURE__ */ jsx(
30001
- Button_default,
30517
+ Button_web_default,
30002
30518
  {
30003
30519
  text: "Cancel",
30004
30520
  variant: "secondary",
@@ -30008,7 +30524,7 @@ function CommentComposer({
30008
30524
  }
30009
30525
  ),
30010
30526
  /* @__PURE__ */ jsx(
30011
- Button_default,
30527
+ Button_web_default,
30012
30528
  {
30013
30529
  text: submitLabel,
30014
30530
  variant: "primary",
@@ -30856,7 +31372,7 @@ function DocumentationPanel({
30856
31372
  return /* @__PURE__ */ jsx(MarkdownProvider_default, { markdown: value, children: /* @__PURE__ */ jsxs(
30857
31373
  "section",
30858
31374
  {
30859
- className: classNames77(
31375
+ className: classNames74(
30860
31376
  "eui-documentation-panel",
30861
31377
  "min-h-0 overflow-hidden bg-white text-gray-900",
30862
31378
  "dark:bg-gray-950 dark:text-gray-100",
@@ -30870,7 +31386,7 @@ function DocumentationPanel({
30870
31386
  /* @__PURE__ */ jsx(
30871
31387
  "main",
30872
31388
  {
30873
- className: classNames77(
31389
+ className: classNames74(
30874
31390
  "eui-documentation-panel-viewer",
30875
31391
  "documentation-panel-scrollbar min-w-0 overflow-y-auto scroll-smooth",
30876
31392
  viewerClassName
@@ -30878,7 +31394,7 @@ function DocumentationPanel({
30878
31394
  children: /* @__PURE__ */ jsx(
30879
31395
  "div",
30880
31396
  {
30881
- className: classNames77(
31397
+ className: classNames74(
30882
31398
  "mx-auto px-5 py-8 sm:px-6 lg:px-8",
30883
31399
  contentMaxWidthClassName,
30884
31400
  contentClassName
@@ -30891,7 +31407,7 @@ function DocumentationPanel({
30891
31407
  toc ? /* @__PURE__ */ jsx(
30892
31408
  "aside",
30893
31409
  {
30894
- className: classNames77(
31410
+ className: classNames74(
30895
31411
  "eui-documentation-panel-toc",
30896
31412
  "hidden min-w-0 border-l border-gray-200 bg-white lg:block",
30897
31413
  "dark:border-gray-800 dark:bg-gray-950",
@@ -30900,7 +31416,7 @@ function DocumentationPanel({
30900
31416
  children: /* @__PURE__ */ jsx(
30901
31417
  "div",
30902
31418
  {
30903
- className: classNames77(
31419
+ className: classNames74(
30904
31420
  "documentation-panel-scrollbar h-full overflow-y-auto px-5 py-8"
30905
31421
  ),
30906
31422
  children: /* @__PURE__ */ jsx("div", { className: "sticky top-0", children: /* @__PURE__ */ jsx(MarkdownTOC_default, {}) })
@@ -31176,7 +31692,7 @@ function BoxNavItem({ icon, name: name2, to, selected, onClick }) {
31176
31692
  type: "button",
31177
31693
  onClick: handleClick,
31178
31694
  "aria-current": selected ? "page" : void 0,
31179
- className: classNames77(
31695
+ className: classNames74(
31180
31696
  "w-full min-w-[80px] flex flex-col items-center justify-center py-3 text-center",
31181
31697
  "hover:text-secondary-700 hover:bg-gray-300/10 hover:cursor-pointer",
31182
31698
  selected ? "text-eui-secondary-700 bg-gray-300/10" : "text-gray-400",
@@ -31671,7 +32187,7 @@ function ReviewForm({
31671
32187
  ] }),
31672
32188
  /* @__PURE__ */ jsxs("div", { className: "flex justify-end gap-2", children: [
31673
32189
  onCancel && /* @__PURE__ */ jsx(
31674
- Button_default,
32190
+ Button_web_default,
31675
32191
  {
31676
32192
  text: cancelLabel,
31677
32193
  variant: "secondary",
@@ -31681,7 +32197,7 @@ function ReviewForm({
31681
32197
  }
31682
32198
  ),
31683
32199
  /* @__PURE__ */ jsx(
31684
- Button_default,
32200
+ Button_web_default,
31685
32201
  {
31686
32202
  text: submitLabel,
31687
32203
  variant: "primary",
@@ -31707,7 +32223,7 @@ function ReviewComposer({
31707
32223
  if (!currentUser) {
31708
32224
  return /* @__PURE__ */ jsx("div", { className: "rounded-xl border border-gray-200 bg-white p-4 dark:border-neutral-800 dark:bg-neutral-900", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center justify-between gap-3", children: [
31709
32225
  /* @__PURE__ */ jsx("p", { className: "text-sm text-gray-600 dark:text-gray-400", children: "Please login to post your review." }),
31710
- onLoginClick && /* @__PURE__ */ jsx(Button_default, { text: "Login", variant: "primary", onClick: onLoginClick })
32226
+ onLoginClick && /* @__PURE__ */ jsx(Button_web_default, { text: "Login", variant: "primary", onClick: onLoginClick })
31711
32227
  ] }) });
31712
32228
  }
31713
32229
  return /* @__PURE__ */ jsx("div", { className: "rounded-xl border border-gray-200 bg-white p-4 dark:border-neutral-800 dark:bg-neutral-900", children: /* @__PURE__ */ jsxs("div", { className: "flex gap-4", children: [
@@ -32083,7 +32599,7 @@ function MyReviewPanel({
32083
32599
  /* @__PURE__ */ jsx(HeaderComponent, { review: myReview, config }),
32084
32600
  /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [
32085
32601
  /* @__PURE__ */ jsx(
32086
- Button_default,
32602
+ Button_web_default,
32087
32603
  {
32088
32604
  text: "Edit",
32089
32605
  variant: "secondary",
@@ -32093,7 +32609,7 @@ function MyReviewPanel({
32093
32609
  }
32094
32610
  ),
32095
32611
  onDeleteReview && /* @__PURE__ */ jsx(
32096
- Button_default,
32612
+ Button_web_default,
32097
32613
  {
32098
32614
  text: "Delete",
32099
32615
  variant: "danger",
@@ -33038,7 +33554,7 @@ function ReviewThread({
33038
33554
  /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-red-600/80 dark:text-red-300/80", children: "Something went wrong while loading the review thread." })
33039
33555
  ] }),
33040
33556
  /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
33041
- Button_default,
33557
+ Button_web_default,
33042
33558
  {
33043
33559
  text: "Retry",
33044
33560
  variant: "danger",
@@ -33878,11 +34394,11 @@ function addChildren(props, children3) {
33878
34394
  }
33879
34395
  }
33880
34396
  }
33881
- function productionCreate(_2, jsx255, jsxs128) {
34397
+ function productionCreate(_2, jsx257, jsxs129) {
33882
34398
  return create3;
33883
34399
  function create3(_3, type2, props, key) {
33884
34400
  const isStaticChildren = Array.isArray(props.children);
33885
- const fn = isStaticChildren ? jsxs128 : jsx255;
34401
+ const fn = isStaticChildren ? jsxs129 : jsx257;
33886
34402
  return key ? fn(type2, props, key) : fn(type2, props);
33887
34403
  }
33888
34404
  }
@@ -42272,7 +42788,7 @@ function markdownTable(table2, options) {
42272
42788
  let rowIndex = -1;
42273
42789
  while (++rowIndex < table2.length) {
42274
42790
  const row2 = [];
42275
- const sizes6 = [];
42791
+ const sizes5 = [];
42276
42792
  let columnIndex2 = -1;
42277
42793
  if (table2[rowIndex].length > mostCellsPerRow) {
42278
42794
  mostCellsPerRow = table2[rowIndex].length;
@@ -42281,7 +42797,7 @@ function markdownTable(table2, options) {
42281
42797
  const cell = serialize2(table2[rowIndex][columnIndex2]);
42282
42798
  if (settings.alignDelimiters !== false) {
42283
42799
  const size = stringLength(cell);
42284
- sizes6[columnIndex2] = size;
42800
+ sizes5[columnIndex2] = size;
42285
42801
  if (longestCellByColumn[columnIndex2] === void 0 || size > longestCellByColumn[columnIndex2]) {
42286
42802
  longestCellByColumn[columnIndex2] = size;
42287
42803
  }
@@ -42289,7 +42805,7 @@ function markdownTable(table2, options) {
42289
42805
  row2.push(cell);
42290
42806
  }
42291
42807
  cellMatrix[rowIndex] = row2;
42292
- sizeMatrix[rowIndex] = sizes6;
42808
+ sizeMatrix[rowIndex] = sizes5;
42293
42809
  }
42294
42810
  let columnIndex = -1;
42295
42811
  if (typeof align === "object" && "length" in align) {
@@ -42304,7 +42820,7 @@ function markdownTable(table2, options) {
42304
42820
  }
42305
42821
  columnIndex = -1;
42306
42822
  const row = [];
42307
- const sizes5 = [];
42823
+ const sizes4 = [];
42308
42824
  while (++columnIndex < mostCellsPerRow) {
42309
42825
  const code4 = alignments[columnIndex];
42310
42826
  let before = "";
@@ -42327,17 +42843,17 @@ function markdownTable(table2, options) {
42327
42843
  if (size > longestCellByColumn[columnIndex]) {
42328
42844
  longestCellByColumn[columnIndex] = size;
42329
42845
  }
42330
- sizes5[columnIndex] = size;
42846
+ sizes4[columnIndex] = size;
42331
42847
  }
42332
42848
  row[columnIndex] = cell;
42333
42849
  }
42334
42850
  cellMatrix.splice(1, 0, row);
42335
- sizeMatrix.splice(1, 0, sizes5);
42851
+ sizeMatrix.splice(1, 0, sizes4);
42336
42852
  rowIndex = -1;
42337
42853
  const lines = [];
42338
42854
  while (++rowIndex < cellMatrix.length) {
42339
42855
  const row2 = cellMatrix[rowIndex];
42340
- const sizes6 = sizeMatrix[rowIndex];
42856
+ const sizes5 = sizeMatrix[rowIndex];
42341
42857
  columnIndex = -1;
42342
42858
  const line = [];
42343
42859
  while (++columnIndex < mostCellsPerRow) {
@@ -42345,7 +42861,7 @@ function markdownTable(table2, options) {
42345
42861
  let before = "";
42346
42862
  let after = "";
42347
42863
  if (settings.alignDelimiters !== false) {
42348
- const size = longestCellByColumn[columnIndex] - (sizes6[columnIndex] || 0);
42864
+ const size = longestCellByColumn[columnIndex] - (sizes5[columnIndex] || 0);
42349
42865
  const code4 = alignments[columnIndex];
42350
42866
  if (code4 === 114) {
42351
42867
  before = " ".repeat(size);
@@ -53913,7 +54429,7 @@ function MarkdownHeading({
53913
54429
  id: id2,
53914
54430
  level: typographyLevel,
53915
54431
  bold: true,
53916
- className: classNames77(
54432
+ className: classNames74(
53917
54433
  "eui-markdown-heading group relative scroll-mt-24 font-bold leading-tight text-gray-900 dark:text-gray-100",
53918
54434
  HEADING_STYLES[level],
53919
54435
  className
@@ -54076,18 +54592,18 @@ function powerSetPermutations(arr) {
54076
54592
  }
54077
54593
  }
54078
54594
  var classNameCombinations = {};
54079
- function getClassNameCombinations(classNames81) {
54080
- if (classNames81.length === 0 || classNames81.length === 1) return classNames81;
54081
- var key = classNames81.join(".");
54595
+ function getClassNameCombinations(classNames78) {
54596
+ if (classNames78.length === 0 || classNames78.length === 1) return classNames78;
54597
+ var key = classNames78.join(".");
54082
54598
  if (!classNameCombinations[key]) {
54083
- classNameCombinations[key] = powerSetPermutations(classNames81);
54599
+ classNameCombinations[key] = powerSetPermutations(classNames78);
54084
54600
  }
54085
54601
  return classNameCombinations[key];
54086
54602
  }
54087
- function createStyleObject(classNames81) {
54603
+ function createStyleObject(classNames78) {
54088
54604
  var elementStyle = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
54089
54605
  var stylesheet = arguments.length > 2 ? arguments[2] : void 0;
54090
- var nonTokenClassNames = classNames81.filter(function(className) {
54606
+ var nonTokenClassNames = classNames78.filter(function(className) {
54091
54607
  return className !== "token";
54092
54608
  });
54093
54609
  var classNamesCombinations = getClassNameCombinations(nonTokenClassNames);
@@ -54095,8 +54611,8 @@ function createStyleObject(classNames81) {
54095
54611
  return _objectSpread(_objectSpread({}, styleObject), stylesheet[className]);
54096
54612
  }, elementStyle);
54097
54613
  }
54098
- function createClassNameString(classNames81) {
54099
- return classNames81.join(" ");
54614
+ function createClassNameString(classNames78) {
54615
+ return classNames78.join(" ");
54100
54616
  }
54101
54617
  function createChildren2(stylesheet, useInlineStyles) {
54102
54618
  var childrenCount = 0;
@@ -54141,7 +54657,7 @@ function createElement2(_ref) {
54141
54657
  });
54142
54658
  }
54143
54659
  var children3 = childrenCreator(node2.children);
54144
- return /* @__PURE__ */ React25.createElement(TagName, _extends({
54660
+ return /* @__PURE__ */ React26.createElement(TagName, _extends({
54145
54661
  key
54146
54662
  }, props), children3);
54147
54663
  }
@@ -54184,7 +54700,7 @@ function getAllLineNumbers(_ref) {
54184
54700
  var lines = _ref.lines, startingLineNumber = _ref.startingLineNumber, style2 = _ref.style;
54185
54701
  return lines.map(function(_2, i) {
54186
54702
  var number3 = i + startingLineNumber;
54187
- return /* @__PURE__ */ React25.createElement("span", {
54703
+ return /* @__PURE__ */ React26.createElement("span", {
54188
54704
  key: "line-".concat(i),
54189
54705
  className: "react-syntax-highlighter-line-number",
54190
54706
  style: typeof style2 === "function" ? style2(number3) : style2
@@ -54196,7 +54712,7 @@ function AllLineNumbers(_ref2) {
54196
54712
  "float": "left",
54197
54713
  paddingRight: "10px"
54198
54714
  } : _ref2$containerStyle, _ref2$numberStyle = _ref2.numberStyle, numberStyle = _ref2$numberStyle === void 0 ? {} : _ref2$numberStyle, startingLineNumber = _ref2.startingLineNumber;
54199
- return /* @__PURE__ */ React25.createElement("code", {
54715
+ return /* @__PURE__ */ React26.createElement("code", {
54200
54716
  style: Object.assign({}, codeStyle, containerStyle)
54201
54717
  }, getAllLineNumbers({
54202
54718
  lines: codeString.replace(/\n$/, "").split("\n"),
@@ -54269,8 +54785,8 @@ function flattenCodeTree(tree) {
54269
54785
  }));
54270
54786
  } else if (node2.children) {
54271
54787
  var _node$properties;
54272
- var classNames81 = className.concat(((_node$properties = node2.properties) === null || _node$properties === void 0 ? void 0 : _node$properties.className) || []);
54273
- flattenCodeTree(node2.children, classNames81).forEach(function(i2) {
54788
+ var classNames78 = className.concat(((_node$properties = node2.properties) === null || _node$properties === void 0 ? void 0 : _node$properties.className) || []);
54789
+ flattenCodeTree(node2.children, classNames78).forEach(function(i2) {
54274
54790
  return newTree.push(i2);
54275
54791
  });
54276
54792
  }
@@ -54417,7 +54933,7 @@ function highlight_default(defaultAstGenerator, defaultStyle) {
54417
54933
  style: _objectSpread2(_objectSpread2({}, style2['code[class*="language-"]']), style2['code[class*="language-'.concat(language, '"]')])
54418
54934
  } : _ref7$codeTagProps, _ref7$useInlineStyles = _ref7.useInlineStyles, useInlineStyles = _ref7$useInlineStyles === void 0 ? true : _ref7$useInlineStyles, _ref7$showLineNumbers = _ref7.showLineNumbers, showLineNumbers = _ref7$showLineNumbers === void 0 ? false : _ref7$showLineNumbers, _ref7$showInlineLineN = _ref7.showInlineLineNumbers, showInlineLineNumbers = _ref7$showInlineLineN === void 0 ? true : _ref7$showInlineLineN, _ref7$startingLineNum = _ref7.startingLineNumber, startingLineNumber = _ref7$startingLineNum === void 0 ? 1 : _ref7$startingLineNum, lineNumberContainerStyle = _ref7.lineNumberContainerStyle, _ref7$lineNumberStyle = _ref7.lineNumberStyle, lineNumberStyle = _ref7$lineNumberStyle === void 0 ? {} : _ref7$lineNumberStyle, wrapLines = _ref7.wrapLines, _ref7$wrapLongLines = _ref7.wrapLongLines, wrapLongLines = _ref7$wrapLongLines === void 0 ? false : _ref7$wrapLongLines, _ref7$lineProps = _ref7.lineProps, lineProps = _ref7$lineProps === void 0 ? {} : _ref7$lineProps, renderer = _ref7.renderer, _ref7$PreTag = _ref7.PreTag, PreTag = _ref7$PreTag === void 0 ? "pre" : _ref7$PreTag, _ref7$CodeTag = _ref7.CodeTag, CodeTag = _ref7$CodeTag === void 0 ? "code" : _ref7$CodeTag, _ref7$code = _ref7.code, code4 = _ref7$code === void 0 ? (Array.isArray(children3) ? children3[0] : children3) || "" : _ref7$code, astGenerator = _ref7.astGenerator, rest = _objectWithoutProperties(_ref7, _excluded);
54419
54935
  astGenerator = astGenerator || defaultAstGenerator;
54420
- var allLineNumbers = showLineNumbers ? /* @__PURE__ */ React25.createElement(AllLineNumbers, {
54936
+ var allLineNumbers = showLineNumbers ? /* @__PURE__ */ React26.createElement(AllLineNumbers, {
54421
54937
  containerStyle: lineNumberContainerStyle,
54422
54938
  codeStyle: codeTagProps.style || {},
54423
54939
  numberStyle: lineNumberStyle,
@@ -54444,7 +54960,7 @@ function highlight_default(defaultAstGenerator, defaultStyle) {
54444
54960
  }, codeTagProps.style);
54445
54961
  }
54446
54962
  if (!astGenerator) {
54447
- return /* @__PURE__ */ React25.createElement(PreTag, preProps, allLineNumbers, /* @__PURE__ */ React25.createElement(CodeTag, codeTagProps, code4));
54963
+ return /* @__PURE__ */ React26.createElement(PreTag, preProps, allLineNumbers, /* @__PURE__ */ React26.createElement(CodeTag, codeTagProps, code4));
54448
54964
  }
54449
54965
  if (wrapLines === void 0 && renderer || wrapLongLines) wrapLines = true;
54450
54966
  renderer = renderer || defaultRenderer;
@@ -54464,7 +54980,7 @@ function highlight_default(defaultAstGenerator, defaultStyle) {
54464
54980
  var lineBreakCount = (_code$match$length = (_code$match = code4.match(/\n/g)) === null || _code$match === void 0 ? void 0 : _code$match.length) !== null && _code$match$length !== void 0 ? _code$match$length : 0;
54465
54981
  var largestLineNumber = startingLineNumber + lineBreakCount;
54466
54982
  var rows = processLines(codeTree, wrapLines, lineProps, showLineNumbers, showInlineLineNumbers, startingLineNumber, largestLineNumber, lineNumberStyle, wrapLongLines);
54467
- return /* @__PURE__ */ React25.createElement(PreTag, preProps, /* @__PURE__ */ React25.createElement(CodeTag, codeTagProps, !showInlineLineNumbers && allLineNumbers, renderer({
54983
+ return /* @__PURE__ */ React26.createElement(PreTag, preProps, /* @__PURE__ */ React26.createElement(CodeTag, codeTagProps, !showInlineLineNumbers && allLineNumbers, renderer({
54468
54984
  rows,
54469
54985
  stylesheet: style2,
54470
54986
  useInlineStyles
@@ -54801,7 +55317,7 @@ var json_default = json;
54801
55317
 
54802
55318
  // node_modules/react-syntax-highlighter/dist/esm/languages/prism/jsx.js
54803
55319
  init_jsx();
54804
- var jsx_default = jsx216;
55320
+ var jsx_default = jsx218;
54805
55321
 
54806
55322
  // node_modules/react-syntax-highlighter/dist/esm/languages/prism/markup.js
54807
55323
  init_markup();
@@ -54934,7 +55450,7 @@ function MarkdownCodeBlock({
54934
55450
  "div",
54935
55451
  {
54936
55452
  ...props,
54937
- className: classNames77(
55453
+ className: classNames74(
54938
55454
  "eui-markdown-code my-6 overflow-hidden rounded-md border border-slate-700 bg-[#0d1117] text-slate-300",
54939
55455
  className
54940
55456
  ),
@@ -55005,7 +55521,7 @@ function MarkdownInlineCode({
55005
55521
  Code,
55006
55522
  {
55007
55523
  ...props,
55008
- className: classNames77(
55524
+ className: classNames74(
55009
55525
  "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",
55010
55526
  className
55011
55527
  ),
@@ -55046,7 +55562,7 @@ function MarkdownLink({
55046
55562
  href: safeHref,
55047
55563
  target: resolvedTarget,
55048
55564
  rel,
55049
- className: classNames77(
55565
+ className: classNames74(
55050
55566
  "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",
55051
55567
  className
55052
55568
  ),
@@ -55081,7 +55597,7 @@ function MarkdownImage({
55081
55597
  title,
55082
55598
  loading: "lazy",
55083
55599
  decoding: "async",
55084
- className: classNames77(
55600
+ className: classNames74(
55085
55601
  "eui-markdown-image my-6 h-auto max-w-full rounded-md border border-gray-200 dark:border-gray-700",
55086
55602
  className
55087
55603
  )
@@ -55098,7 +55614,7 @@ function MarkdownTable({
55098
55614
  TableElement,
55099
55615
  {
55100
55616
  ...props,
55101
- className: classNames77(
55617
+ className: classNames74(
55102
55618
  "eui-markdown-table w-full border-collapse text-[0.925rem]",
55103
55619
  className
55104
55620
  ),
@@ -55115,7 +55631,7 @@ function MarkdownTableCell({
55115
55631
  TableCell,
55116
55632
  {
55117
55633
  ...props,
55118
- className: classNames77(
55634
+ className: classNames74(
55119
55635
  "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",
55120
55636
  className
55121
55637
  ),
@@ -55132,7 +55648,7 @@ function MarkdownTableHeaderCell({
55132
55648
  TableHeaderCell,
55133
55649
  {
55134
55650
  ...props,
55135
- className: classNames77(
55651
+ className: classNames74(
55136
55652
  "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",
55137
55653
  className
55138
55654
  ),
@@ -55148,7 +55664,7 @@ function MarkdownTableHead({
55148
55664
  TableHead,
55149
55665
  {
55150
55666
  ...props,
55151
- className: classNames77(
55667
+ className: classNames74(
55152
55668
  "eui-markdown-table-head bg-gray-50 dark:bg-gray-900",
55153
55669
  className
55154
55670
  )
@@ -55163,7 +55679,7 @@ function MarkdownTableBody({
55163
55679
  TableBody,
55164
55680
  {
55165
55681
  ...props,
55166
- className: classNames77("eui-markdown-table-body", className)
55682
+ className: classNames74("eui-markdown-table-body", className)
55167
55683
  }
55168
55684
  );
55169
55685
  }
@@ -55175,7 +55691,7 @@ function MarkdownTableRow({
55175
55691
  TableRow,
55176
55692
  {
55177
55693
  ...props,
55178
- className: classNames77(
55694
+ className: classNames74(
55179
55695
  "eui-markdown-table-row even:bg-gray-50/70 dark:even:bg-gray-900/60",
55180
55696
  className
55181
55697
  )
@@ -55193,7 +55709,7 @@ function MarkdownBlockquote({
55193
55709
  {
55194
55710
  ...props,
55195
55711
  as: "blockquote",
55196
- className: classNames77(
55712
+ className: classNames74(
55197
55713
  "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",
55198
55714
  className
55199
55715
  ),
@@ -55212,7 +55728,7 @@ function MarkdownParagraph({
55212
55728
  {
55213
55729
  ...props,
55214
55730
  level: 1,
55215
- className: classNames77("eui-markdown-paragraph my-4", className),
55731
+ className: classNames74("eui-markdown-paragraph my-4", className),
55216
55732
  children: /* @__PURE__ */ jsx(Fragment, { children: children3 })
55217
55733
  }
55218
55734
  );
@@ -55223,7 +55739,7 @@ function MarkdownStrong({ className, ...props }) {
55223
55739
  "strong",
55224
55740
  {
55225
55741
  ...props,
55226
- className: classNames77(
55742
+ className: classNames74(
55227
55743
  "eui-markdown-strong font-semibold text-gray-950 dark:text-gray-100",
55228
55744
  className
55229
55745
  )
@@ -55236,7 +55752,7 @@ function MarkdownEmphasis({ className, ...props }) {
55236
55752
  "em",
55237
55753
  {
55238
55754
  ...props,
55239
- className: classNames77("eui-markdown-emphasis italic", className)
55755
+ className: classNames74("eui-markdown-emphasis italic", className)
55240
55756
  }
55241
55757
  );
55242
55758
  }
@@ -55249,7 +55765,7 @@ function MarkdownStrikethrough({
55249
55765
  "del",
55250
55766
  {
55251
55767
  ...props,
55252
- className: classNames77(
55768
+ className: classNames74(
55253
55769
  "eui-markdown-strikethrough text-gray-500 dark:text-gray-400",
55254
55770
  className
55255
55771
  )
@@ -55310,7 +55826,7 @@ function MarkdownTaskCheckbox({
55310
55826
  "input",
55311
55827
  {
55312
55828
  ...props,
55313
- className: classNames77(
55829
+ className: classNames74(
55314
55830
  "eui-markdown-task-checkbox mr-2 translate-y-px accent-blue-600",
55315
55831
  className
55316
55832
  )
@@ -55326,7 +55842,7 @@ function MarkdownThematicBreak({
55326
55842
  "hr",
55327
55843
  {
55328
55844
  ...props,
55329
- className: classNames77(
55845
+ className: classNames74(
55330
55846
  "eui-markdown-thematic-break my-8 border-0 border-t border-gray-200 dark:border-gray-800",
55331
55847
  className
55332
55848
  )
@@ -55343,7 +55859,7 @@ function MarkdownDetails({ className, ...props }) {
55343
55859
  "details",
55344
55860
  {
55345
55861
  ...props,
55346
- className: classNames77(
55862
+ className: classNames74(
55347
55863
  "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",
55348
55864
  className
55349
55865
  )
@@ -55355,7 +55871,7 @@ function MarkdownSummary({ className, ...props }) {
55355
55871
  "summary",
55356
55872
  {
55357
55873
  ...props,
55358
- className: classNames77(
55874
+ className: classNames74(
55359
55875
  "eui-markdown-summary cursor-pointer font-semibold text-gray-950 dark:text-gray-100",
55360
55876
  className
55361
55877
  )
@@ -55367,7 +55883,7 @@ function MarkdownFigure({ className, ...props }) {
55367
55883
  "figure",
55368
55884
  {
55369
55885
  ...props,
55370
- className: classNames77("eui-markdown-figure my-6", className)
55886
+ className: classNames74("eui-markdown-figure my-6", className)
55371
55887
  }
55372
55888
  );
55373
55889
  }
@@ -55379,7 +55895,7 @@ function MarkdownFigcaption({
55379
55895
  return /* @__PURE__ */ jsx("figcaption", { ...props, className: "eui-markdown-figcaption mt-2 text-center", children: /* @__PURE__ */ jsx(
55380
55896
  Caption,
55381
55897
  {
55382
- className: classNames77(
55898
+ className: classNames74(
55383
55899
  "text-gray-500 opacity-100 dark:text-gray-400",
55384
55900
  className
55385
55901
  ),
@@ -55778,14 +56294,14 @@ function MarkdownRenderer({
55778
56294
  return /* @__PURE__ */ jsx(
55779
56295
  "div",
55780
56296
  {
55781
- className: classNames77(
56297
+ className: classNames74(
55782
56298
  "eui-markdown markdown-body break-words bg-transparent text-[0.95rem] leading-7 text-gray-800 dark:text-gray-300",
55783
56299
  className
55784
56300
  ),
55785
56301
  children: /* @__PURE__ */ jsx(
55786
56302
  "div",
55787
56303
  {
55788
- className: classNames77(
56304
+ className: classNames74(
55789
56305
  "[&>*:first-child]:mt-0 [&>*:last-child]:mb-0",
55790
56306
  contentClassName
55791
56307
  ),
@@ -55863,11 +56379,11 @@ function MarkdownTOCItem({
55863
56379
  onClick: () => onSelect?.(heading3),
55864
56380
  "aria-current": active ? "location" : void 0,
55865
56381
  title: label,
55866
- className: classNames77(
56382
+ className: classNames74(
55867
56383
  "eui-markdown-toc-item",
55868
56384
  "block w-full text-left text-sm transition-all ease-in-out duration-150",
55869
56385
  "hover:text-primary",
55870
- active ? classNames77("text-primary font-semibold underline", activeClassName) : classNames77("text-gray-500 dark:text-gray-400", inactiveClassName),
56386
+ active ? classNames74("text-primary font-semibold underline", activeClassName) : classNames74("text-gray-500 dark:text-gray-400", inactiveClassName),
55871
56387
  className
55872
56388
  ),
55873
56389
  style: {
@@ -55933,7 +56449,7 @@ function MarkdownTOC({
55933
56449
  return emptyState ? /* @__PURE__ */ jsx(
55934
56450
  "div",
55935
56451
  {
55936
- className: classNames77(
56452
+ className: classNames74(
55937
56453
  "eui-markdown-toc",
55938
56454
  "text-sm text-gray-500 dark:text-gray-400",
55939
56455
  className
@@ -55953,7 +56469,7 @@ function MarkdownTOC({
55953
56469
  {
55954
56470
  type: "button",
55955
56471
  onClick: () => setCollapsed((value) => !value),
55956
- className: classNames77(
56472
+ className: classNames74(
55957
56473
  "eui-markdown-toc-title",
55958
56474
  "flex w-full items-center justify-between gap-2 text-left",
55959
56475
  "text-sm font-semibold uppercase tracking-wide",
@@ -55966,7 +56482,7 @@ function MarkdownTOC({
55966
56482
  /* @__PURE__ */ jsx(
55967
56483
  "span",
55968
56484
  {
55969
- className: classNames77(
56485
+ className: classNames74(
55970
56486
  "text-xs opacity-60 transition-transform duration-150",
55971
56487
  !collapsed && "rotate-90"
55972
56488
  ),
@@ -55979,7 +56495,7 @@ function MarkdownTOC({
55979
56495
  ) : /* @__PURE__ */ jsx(
55980
56496
  "h2",
55981
56497
  {
55982
- className: classNames77(
56498
+ className: classNames74(
55983
56499
  "eui-markdown-toc-title",
55984
56500
  "text-sm font-semibold uppercase tracking-wide",
55985
56501
  "text-gray-900 dark:text-gray-100",
@@ -55991,7 +56507,7 @@ function MarkdownTOC({
55991
56507
  !collapsed ? /* @__PURE__ */ jsx(
55992
56508
  "nav",
55993
56509
  {
55994
- className: classNames77(
56510
+ className: classNames74(
55995
56511
  "eui-markdown-toc-list",
55996
56512
  "space-y-1",
55997
56513
  listClassName
@@ -56015,7 +56531,7 @@ function MarkdownTOC({
56015
56531
  }
56016
56532
  ) : null
56017
56533
  ] });
56018
- return /* @__PURE__ */ jsx("aside", { className: classNames77("eui-markdown-toc", "space-y-4", className), children: content3 });
56534
+ return /* @__PURE__ */ jsx("aside", { className: classNames74("eui-markdown-toc", "space-y-4", className), children: content3 });
56019
56535
  }
56020
56536
  var MarkdownTOC_default = MarkdownTOC;
56021
56537
  var DEFAULT_MARKDOWN_TOOLBAR_ACTIONS = [
@@ -56114,7 +56630,7 @@ function MarkdownToolbar({
56114
56630
  return /* @__PURE__ */ jsxs(
56115
56631
  "div",
56116
56632
  {
56117
- className: classNames77(
56633
+ className: classNames74(
56118
56634
  "eui-markdown-toolbar",
56119
56635
  "flex flex-wrap items-center gap-1 border-b border-gray-200 bg-gray-50 p-2",
56120
56636
  "dark:border-gray-700 dark:bg-gray-900",
@@ -56128,7 +56644,7 @@ function MarkdownToolbar({
56128
56644
  disabled: disabled || actionsDisabled,
56129
56645
  title: action.shortcut ? `${action.title || action.label} (${action.shortcut})` : action.title || action.label,
56130
56646
  onClick: () => onAction?.(action.id),
56131
- className: classNames77(
56647
+ className: classNames74(
56132
56648
  "eui-markdown-toolbar-button",
56133
56649
  "inline-flex items-center justify-center rounded border border-transparent",
56134
56650
  "text-gray-700 transition-colors hover:border-gray-300 hover:bg-white",
@@ -56148,7 +56664,7 @@ function MarkdownToolbar({
56148
56664
  disabled,
56149
56665
  onClick: onViewModeToggle,
56150
56666
  title: isPreviewMode ? "Switch to Markdown syntax" : "Switch to preview",
56151
- className: classNames77(
56667
+ className: classNames74(
56152
56668
  "eui-markdown-view-toggle",
56153
56669
  "inline-flex items-center justify-center rounded border font-medium transition-colors",
56154
56670
  "border-gray-300 bg-white text-gray-700 hover:bg-gray-100",
@@ -56405,7 +56921,7 @@ function MarkdownSourceEditor({
56405
56921
  return /* @__PURE__ */ jsxs(
56406
56922
  "div",
56407
56923
  {
56408
- className: classNames77(
56924
+ className: classNames74(
56409
56925
  "eui-markdown-editor",
56410
56926
  "overflow-hidden rounded border border-gray-300 bg-white",
56411
56927
  "dark:border-gray-700 dark:bg-gray-950",
@@ -56421,7 +56937,7 @@ function MarkdownSourceEditor({
56421
56937
  actionsDisabled: readOnly,
56422
56938
  viewMode: currentViewMode,
56423
56939
  showViewModeToggle,
56424
- className: classNames77(toolbarClassName, toolbarProps?.className),
56940
+ className: classNames74(toolbarClassName, toolbarProps?.className),
56425
56941
  onViewModeToggle: toggleViewMode,
56426
56942
  onAction: handleToolbarAction
56427
56943
  }
@@ -56429,7 +56945,7 @@ function MarkdownSourceEditor({
56429
56945
  currentViewMode === "preview" ? /* @__PURE__ */ jsx(
56430
56946
  "div",
56431
56947
  {
56432
- className: classNames77(
56948
+ className: classNames74(
56433
56949
  "eui-markdown-editor-preview",
56434
56950
  "min-h-[260px] p-4",
56435
56951
  previewClassName
@@ -56452,7 +56968,7 @@ function MarkdownSourceEditor({
56452
56968
  onChange: (event) => updateValue(event.target.value),
56453
56969
  onBlur,
56454
56970
  onKeyDown: handleKeyDown,
56455
- className: classNames77(
56971
+ className: classNames74(
56456
56972
  "eui-markdown-source-textarea",
56457
56973
  "block w-full resize-y border-0 bg-transparent p-4 font-mono text-sm leading-7",
56458
56974
  "text-gray-900 outline-none placeholder:text-gray-400",
@@ -56482,7 +56998,7 @@ function MarkdownPreviewPane({
56482
56998
  return /* @__PURE__ */ jsx(
56483
56999
  "div",
56484
57000
  {
56485
- className: classNames77(
57001
+ className: classNames74(
56486
57002
  "eui-markdown-preview-pane",
56487
57003
  "rounded border border-gray-300 bg-white p-4",
56488
57004
  "dark:border-gray-700 dark:bg-gray-950",
@@ -56532,7 +57048,7 @@ function MarkdownSplitEditor({
56532
57048
  return /* @__PURE__ */ jsxs(
56533
57049
  "div",
56534
57050
  {
56535
- className: classNames77(
57051
+ className: classNames74(
56536
57052
  "eui-markdown-split-editor",
56537
57053
  "grid gap-4",
56538
57054
  isHorizontal ? "grid-cols-1 lg:grid-cols-2" : "grid-cols-1",
@@ -56542,7 +57058,7 @@ function MarkdownSplitEditor({
56542
57058
  /* @__PURE__ */ jsxs(
56543
57059
  "div",
56544
57060
  {
56545
- className: classNames77(
57061
+ className: classNames74(
56546
57062
  "eui-markdown-split-source",
56547
57063
  "min-w-0 space-y-2",
56548
57064
  sourceWrapperClassName
@@ -56566,7 +57082,7 @@ function MarkdownSplitEditor({
56566
57082
  /* @__PURE__ */ jsxs(
56567
57083
  "div",
56568
57084
  {
56569
- className: classNames77(
57085
+ className: classNames74(
56570
57086
  "eui-markdown-split-preview",
56571
57087
  "min-w-0 space-y-2",
56572
57088
  previewWrapperClassName
@@ -56656,7 +57172,7 @@ function MarkdownField({
56656
57172
  return /* @__PURE__ */ jsxs(
56657
57173
  "div",
56658
57174
  {
56659
- className: classNames77(
57175
+ className: classNames74(
56660
57176
  "eui-markdown-field",
56661
57177
  "relative space-y-2",
56662
57178
  wrapperClassName
@@ -56666,7 +57182,7 @@ function MarkdownField({
56666
57182
  "label",
56667
57183
  {
56668
57184
  htmlFor: editorProps.id || field.name,
56669
- className: classNames77(
57185
+ className: classNames74(
56670
57186
  "block text-sm font-medium text-gray-700 dark:text-gray-200",
56671
57187
  labelClassName
56672
57188
  ),
@@ -56691,14 +57207,14 @@ function MarkdownField({
56691
57207
  helperText && !hasError ? /* @__PURE__ */ jsx(
56692
57208
  "p",
56693
57209
  {
56694
- className: classNames77(
57210
+ className: classNames74(
56695
57211
  "text-sm text-gray-500 dark:text-gray-400",
56696
57212
  helperTextClassName
56697
57213
  ),
56698
57214
  children: helperText
56699
57215
  }
56700
57216
  ) : null,
56701
- /* @__PURE__ */ jsx(InputResponse_default, { name: field.name, visibility: hasError, variant: "danger" })
57217
+ /* @__PURE__ */ jsx(InputResponse, { name: field.name, visibility: hasError, variant: "danger" })
56702
57218
  ]
56703
57219
  }
56704
57220
  );
@@ -56746,7 +57262,7 @@ function CodeMirrorMarkdownEditor({
56746
57262
  {
56747
57263
  id: id2,
56748
57264
  "data-name": name2,
56749
- className: classNames77(
57265
+ className: classNames74(
56750
57266
  "eui-markdown-adapter",
56751
57267
  "eui-markdown-codemirror-adapter",
56752
57268
  "overflow-hidden rounded border border-gray-300 bg-white",
@@ -56780,7 +57296,7 @@ function CodeMirrorMarkdownEditor({
56780
57296
  closeBrackets: true,
56781
57297
  bracketMatching: true
56782
57298
  },
56783
- className: classNames77("eui-markdown-codemirror", editorClassName),
57299
+ className: classNames74("eui-markdown-codemirror", editorClassName),
56784
57300
  onChange: updateValue,
56785
57301
  onBlur
56786
57302
  }
@@ -56875,7 +57391,7 @@ function createDefaultPlugins({
56875
57391
  ...showToolbar ? [
56876
57392
  toolbarPlugin({
56877
57393
  toolbarContents: toolbarContents ?? DefaultToolbar,
56878
- toolbarClassName: classNames77(
57394
+ toolbarClassName: classNames74(
56879
57395
  "eui-markdown-mdx-toolbar",
56880
57396
  toolbarClassName
56881
57397
  ),
@@ -56992,7 +57508,7 @@ var MDXMarkdownEditor = forwardRef(
56992
57508
  "aria-required": required || void 0,
56993
57509
  "aria-invalid": invalid || void 0,
56994
57510
  onBlurCapture: handleBlur,
56995
- className: classNames77(
57511
+ className: classNames74(
56996
57512
  "eui-markdown-adapter",
56997
57513
  "eui-markdown-mdx-adapter",
56998
57514
  dark && ["dark", "dark-theme"],
@@ -57010,8 +57526,8 @@ var MDXMarkdownEditor = forwardRef(
57010
57526
  markdown: currentValue ?? "",
57011
57527
  readOnly: disabled || readOnly,
57012
57528
  plugins: plugins ?? defaultPlugins,
57013
- className: classNames77("eui-markdown-mdx-editor", editorClassName),
57014
- contentEditableClassName: classNames77(
57529
+ className: classNames74("eui-markdown-mdx-editor", editorClassName),
57530
+ contentEditableClassName: classNames74(
57015
57531
  "eui-markdown-mdx-content",
57016
57532
  contentEditableClassName
57017
57533
  ),
@@ -57048,7 +57564,7 @@ function MDXMarkdownField({
57048
57564
  return /* @__PURE__ */ jsxs(
57049
57565
  "div",
57050
57566
  {
57051
- className: classNames77(
57567
+ className: classNames74(
57052
57568
  "eui-markdown-mdx-field",
57053
57569
  "relative space-y-2",
57054
57570
  wrapperClassName
@@ -57058,7 +57574,7 @@ function MDXMarkdownField({
57058
57574
  "label",
57059
57575
  {
57060
57576
  htmlFor: editorId,
57061
- className: classNames77(
57577
+ className: classNames74(
57062
57578
  "block text-sm font-medium text-gray-700 dark:text-gray-200",
57063
57579
  labelClassName
57064
57580
  ),
@@ -57092,7 +57608,7 @@ function MDXMarkdownField({
57092
57608
  "p",
57093
57609
  {
57094
57610
  id: helperId,
57095
- className: classNames77(
57611
+ className: classNames74(
57096
57612
  "text-sm text-gray-500 dark:text-gray-400",
57097
57613
  helperTextClassName
57098
57614
  ),
@@ -57100,7 +57616,7 @@ function MDXMarkdownField({
57100
57616
  }
57101
57617
  ) : null,
57102
57618
  /* @__PURE__ */ jsx("div", { id: errorId, role: hasError ? "alert" : void 0, children: /* @__PURE__ */ jsx(
57103
- InputResponse_default,
57619
+ InputResponse,
57104
57620
  {
57105
57621
  name: field.name,
57106
57622
  visibility: hasError,
@@ -57152,10 +57668,10 @@ function MarkdownLayout({
57152
57668
  };
57153
57669
  const hasLeftToc = hasToc && tocPosition === "left";
57154
57670
  const hasRightToc = hasToc && tocPosition === "right";
57155
- return /* @__PURE__ */ jsx("div", { className: classNames77("eui-markdown-layout", "w-full", className), children: /* @__PURE__ */ jsxs(
57671
+ return /* @__PURE__ */ jsx("div", { className: classNames74("eui-markdown-layout", "w-full", className), children: /* @__PURE__ */ jsxs(
57156
57672
  "div",
57157
57673
  {
57158
- className: classNames77(
57674
+ className: classNames74(
57159
57675
  "eui-markdown-layout-container",
57160
57676
  "mx-auto w-full px-4 sm:px-6 lg:px-8",
57161
57677
  containerClassName
@@ -57167,7 +57683,7 @@ function MarkdownLayout({
57167
57683
  header ? /* @__PURE__ */ jsx(
57168
57684
  "header",
57169
57685
  {
57170
- className: classNames77(
57686
+ className: classNames74(
57171
57687
  "eui-markdown-layout-header",
57172
57688
  "mb-8",
57173
57689
  headerClassName
@@ -57178,7 +57694,7 @@ function MarkdownLayout({
57178
57694
  /* @__PURE__ */ jsxs(
57179
57695
  "div",
57180
57696
  {
57181
- className: classNames77(
57697
+ className: classNames74(
57182
57698
  "eui-markdown-layout-grid",
57183
57699
  "grid grid-cols-1 gap-8",
57184
57700
  hasSidebar && hasToc && "xl:grid-cols-[16rem_minmax(0,1fr)_18rem]",
@@ -57191,7 +57707,7 @@ function MarkdownLayout({
57191
57707
  hasSidebar ? /* @__PURE__ */ jsx(
57192
57708
  "aside",
57193
57709
  {
57194
- className: classNames77(
57710
+ className: classNames74(
57195
57711
  "eui-markdown-layout-sidebar",
57196
57712
  "min-w-0",
57197
57713
  stickySidebar && "lg:sticky lg:self-start",
@@ -57204,7 +57720,7 @@ function MarkdownLayout({
57204
57720
  hasLeftToc ? /* @__PURE__ */ jsx(
57205
57721
  "aside",
57206
57722
  {
57207
- className: classNames77(
57723
+ className: classNames74(
57208
57724
  "eui-markdown-layout-toc",
57209
57725
  "min-w-0",
57210
57726
  stickyToc && "lg:sticky lg:self-start",
@@ -57217,7 +57733,7 @@ function MarkdownLayout({
57217
57733
  /* @__PURE__ */ jsx(
57218
57734
  "main",
57219
57735
  {
57220
- className: classNames77(
57736
+ className: classNames74(
57221
57737
  "eui-markdown-layout-content",
57222
57738
  "min-w-0",
57223
57739
  contentClassName
@@ -57228,7 +57744,7 @@ function MarkdownLayout({
57228
57744
  hasRightToc ? /* @__PURE__ */ jsx(
57229
57745
  "aside",
57230
57746
  {
57231
- className: classNames77(
57747
+ className: classNames74(
57232
57748
  "eui-markdown-layout-toc",
57233
57749
  "min-w-0",
57234
57750
  stickyToc && "lg:sticky lg:self-start",
@@ -57241,7 +57757,7 @@ function MarkdownLayout({
57241
57757
  hasAside ? /* @__PURE__ */ jsx(
57242
57758
  "aside",
57243
57759
  {
57244
- className: classNames77(
57760
+ className: classNames74(
57245
57761
  "eui-markdown-layout-aside",
57246
57762
  "min-w-0",
57247
57763
  stickyAside && "2xl:sticky 2xl:self-start",
@@ -57257,7 +57773,7 @@ function MarkdownLayout({
57257
57773
  footer2 ? /* @__PURE__ */ jsx(
57258
57774
  "footer",
57259
57775
  {
57260
- className: classNames77(
57776
+ className: classNames74(
57261
57777
  "eui-markdown-layout-footer",
57262
57778
  "mt-10",
57263
57779
  footerClassName
@@ -57294,7 +57810,7 @@ function MarkdownDocsLayoutContent({
57294
57810
  const resolvedHeader = header ?? (title || description || headerActions ? /* @__PURE__ */ jsx(
57295
57811
  "div",
57296
57812
  {
57297
- className: classNames77(
57813
+ className: classNames74(
57298
57814
  "eui-markdown-docs-header",
57299
57815
  "flex flex-col gap-4 border-b border-gray-200 pb-6",
57300
57816
  "dark:border-gray-700",
@@ -57305,7 +57821,7 @@ function MarkdownDocsLayoutContent({
57305
57821
  title ? /* @__PURE__ */ jsx(
57306
57822
  "h1",
57307
57823
  {
57308
- className: classNames77(
57824
+ className: classNames74(
57309
57825
  "eui-markdown-docs-title",
57310
57826
  "text-3xl font-bold tracking-tight text-gray-950",
57311
57827
  "dark:text-gray-50",
@@ -57317,7 +57833,7 @@ function MarkdownDocsLayoutContent({
57317
57833
  description ? /* @__PURE__ */ jsx(
57318
57834
  "div",
57319
57835
  {
57320
- className: classNames77(
57836
+ className: classNames74(
57321
57837
  "eui-markdown-docs-description",
57322
57838
  "max-w-3xl text-base leading-7 text-gray-600",
57323
57839
  "dark:text-gray-400",
@@ -57405,7 +57921,7 @@ function GenericLayout({
57405
57921
  return /* @__PURE__ */ jsx(ThemeProvider, { defaultTheme, children: /* @__PURE__ */ jsx(
57406
57922
  "div",
57407
57923
  {
57408
- className: classNames77({
57924
+ className: classNames74({
57409
57925
  [`${styles}`]: styles
57410
57926
  }),
57411
57927
  children: children3
@@ -57454,7 +57970,7 @@ function SidemenuLayout({ data, children: children3 }) {
57454
57970
  return /* @__PURE__ */ jsx(DefaultLayout_default, { children: /* @__PURE__ */ jsxs(
57455
57971
  "div",
57456
57972
  {
57457
- className: classNames77({
57973
+ className: classNames74({
57458
57974
  grid: true,
57459
57975
  "grid-cols-7 gap-10": !isMobile,
57460
57976
  "grid-cols-1 gap-": isMobile
@@ -57467,11 +57983,32 @@ function SidemenuLayout({ data, children: children3 }) {
57467
57983
  ) });
57468
57984
  }
57469
57985
  var SidemenuLayout_default = SidemenuLayout;
57986
+ var EUIDevPreviewPlatformContext = createContext({
57987
+ platform: "web",
57988
+ setPlatform: () => void 0
57989
+ });
57990
+ var useEUIDevPreviewPlatform = () => useContext(EUIDevPreviewPlatformContext);
57470
57991
  function EUIDevLayout({
57471
57992
  children: children3,
57472
- header = /* @__PURE__ */ jsx(Header, {}),
57993
+ header,
57473
57994
  footer: footer2 = /* @__PURE__ */ jsx(Footer, {})
57474
57995
  }) {
57996
+ const [platform, setPlatform] = useState("web");
57997
+ const previewPlatform = useMemo(
57998
+ () => ({
57999
+ platform,
58000
+ setPlatform
58001
+ }),
58002
+ [platform]
58003
+ );
58004
+ const resolvedHeader = header ?? /* @__PURE__ */ jsx(
58005
+ Header,
58006
+ {
58007
+ onPreviewPlatformChange: setPlatform,
58008
+ previewPlatform: platform,
58009
+ showPreviewPlatformSelector: true
58010
+ }
58011
+ );
57475
58012
  return /* @__PURE__ */ jsx(
57476
58013
  EUIProvider,
57477
58014
  {
@@ -57483,8 +58020,8 @@ function EUIDevLayout({
57483
58020
  }
57484
58021
  },
57485
58022
  children: /* @__PURE__ */ jsx(GenericLayout_default, { children: /* @__PURE__ */ jsxs(Layout, { children: [
57486
- header,
57487
- /* @__PURE__ */ jsx(Content, { styles: "pt-[60px]", children: /* @__PURE__ */ jsx(ContentArea_default, { enablePadding: true, children: children3 }) }),
58023
+ resolvedHeader,
58024
+ /* @__PURE__ */ jsx(EUIDevPreviewPlatformContext.Provider, { value: previewPlatform, children: /* @__PURE__ */ jsx(Content, { styles: "pt-[60px]", children: /* @__PURE__ */ jsx(ContentArea_default, { enablePadding: true, children: children3 }) }) }),
57488
58025
  footer2
57489
58026
  ] }) })
57490
58027
  }
@@ -57513,6 +58050,6 @@ function ScrollToTop({
57513
58050
  }
57514
58051
  var ScrollToTop_default = ScrollToTop;
57515
58052
 
57516
- export { Accordion_default as Accordion, AnalyticsContext, AnalyticsProvider, AreaPlot, AsyncComponentWrapper_default as AsyncComponentWrapper, Avatar, Backdrop_default as Backdrop, Badge, BarPlot, BaseChartDataSource, Block_default as Block, BlockGroup_default as BlockGroup, BoxNav_default as BoxNav, BoxNavItem_default as BoxNavItem, Brand, Breadcrumb, BreadcrumbItem_default as BreadcrumbItem, Button_default as Button, CHART_COLOR_PALETTE, CHART_DARK_THEME, CHART_DATA_MODES, CHART_DEFAULT_ACTIVE_DOT_RADIUS, CHART_DEFAULT_ANIMATION_DURATION, CHART_DEFAULT_BAR_RADIUS, CHART_DEFAULT_HEIGHT, CHART_DEFAULT_HORIZONTAL_BAR_RADIUS, CHART_DEFAULT_MARGIN, CHART_DEFAULT_MAX_REALTIME_POINTS, CHART_DEFAULT_POLLING_INTERVAL, CHART_DEFAULT_STROKE_WIDTH, CHART_EMPTY_MESSAGE, CHART_ERROR_MESSAGE, CHART_LIGHT_THEME, CHART_LOADING_MESSAGE, CHART_STATUSES, CHART_STATUS_COLORS, CHART_VALUE_FORMATS, Caption, Card_default as Card, CardContent_default as CardContent, CardFooter_default as CardFooter, CardHeader_default as CardHeader, Chapter, Chart, ChartContainer, ChartContext, ChartEmptyState, ChartErrorState, ChartHeader, ChartLegend, ChartLoadingState, ChartPanel, ChartPlotFrame, ChartProvider, ChartToolbar, ChartTooltip, Checkbox_default as Checkbox, Chip, CloudinaryImage2 as CloudinaryImage, CloudinaryProvider, CloudinaryVideo, Code, CodeMirrorMarkdownEditor_default as CodeMirrorMarkdownEditor, CommentThread_default as CommentThread, ConfigBootstrap_default as ConfigBootstrap, Configurator, ConfiguratorError, Content, ContentArea_default as ContentArea, CookieBanner, CookiePreferencesModal, DEFAULT_ANALYTICS_CONFIG, DEFAULT_COOKIE_CATEGORIES, DEFAULT_REVIEW_THREAD_CONFIG, DataView2 as DataView, DataViewContent, DataViewFilterGroup, DataViewFooter, DataViewHeader, DataViewPageSize, DataViewPagination, DataViewProvider, DataViewSearch, DataViewSidebar, DataViewSort, DataViewTable_default as DataViewTable, DateSelector_default as DateSelector, DefaultLayout_default as DefaultLayout, Display, DocumentationPanel_default as DocumentationPanel, Drawer, DrawerToggler_default as DrawerToggler, EUIDevLayout_default as EUIDevLayout, EUIProvider, EUI_ANALYTICS_ANONYMOUS_ID_STORAGE_KEY, EUI_ANALYTICS_CONSENT_STORAGE_KEY, EUI_ANALYTICS_QUEUE_STORAGE_KEY, EnvErrorScreen_default as EnvErrorScreen, Flag, Flex, FlexCol_default as FlexCol, FlexRow_default as FlexRow, Footer, FooterNav_default as FooterNav, FooterNavGroup_default as FooterNavGroup, FooterNavItem, FooterNavItemContext, FooterNavItemTitle, Form, FormResponse_default as FormResponse, GaugePlot, GenericLayout_default as GenericLayout, GlowWrapper_default as GlowWrapper, Graph, GraphEdge, GraphNode, GraphRenderer, Grid_default as Grid, Header, HeaderNav_default as HeaderNav, HeaderNavGroup_default as HeaderNavGroup, HeaderNavItem, HeaderNavItemContext, HeaderNavItemTitle, HomeLayout_default as HomeLayout, Image2 as Image, ImageInput_default as ImageInput, InfiniteScrollTrigger_default as InfiniteScrollTrigger, Info, Input, InputFile, InputLabel_default as InputLabel, InputList, InputListGroup, InputResponse_default as InputResponse, Label, Layout, Lead, LinePlot, Link, List, ListItem, ListItemElement, ListRoot, MDXMarkdownEditor_default as MDXMarkdownEditor, MDXMarkdownField_default as MDXMarkdownField, MarkdownBlockquote_default as MarkdownBlockquote, MarkdownBreak_default as MarkdownBreak, MarkdownCodeBlock_default as MarkdownCodeBlock, MarkdownContext, MarkdownDetails, MarkdownDocsLayout_default as MarkdownDocsLayout, MarkdownEditor_default as MarkdownEditor, MarkdownEmphasis_default as MarkdownEmphasis, MarkdownField_default as MarkdownField, MarkdownFigcaption, MarkdownFigure, MarkdownHeading_default as MarkdownHeadingComponent, MarkdownImage_default as MarkdownImage, MarkdownInlineCode_default as MarkdownInlineCode, MarkdownLayout_default as MarkdownLayout, MarkdownLink_default as MarkdownLink, MarkdownListItem_default as MarkdownListItem, MarkdownOrderedList, MarkdownParagraph_default as MarkdownParagraph, MarkdownPreviewPane_default as MarkdownPreviewPane, MarkdownProvider_default as MarkdownProvider, MarkdownRenderer_default as MarkdownRenderer, MarkdownSourceEditor_default as MarkdownSourceEditor, MarkdownSplitEditor_default as MarkdownSplitEditor, MarkdownStrikethrough_default as MarkdownStrikethrough, MarkdownStrong_default as MarkdownStrong, MarkdownSummary, MarkdownTOC_default as MarkdownTOC, MarkdownTOCItem_default as MarkdownTOCItem, MarkdownTable_default as MarkdownTable, MarkdownTableBody, MarkdownTableCell, MarkdownTableHead, MarkdownTableHeaderCell, MarkdownTableRow, MarkdownTaskCheckbox_default as MarkdownTaskCheckbox, MarkdownThematicBreak_default as MarkdownThematicBreak, MarkdownToolbar_default as MarkdownToolbar, MarkdownUnorderedList, MarkdownViewer_default as MarkdownViewer, Menu, MenuGroup, MenuItem, MenuItemTitle, Modal_default as Modal, MotionSurface_default as MotionSurface, MultiImageInput_default as MultiImageInput, NumericRating, Overline, Paragraph, PiePlot, PollingChartDataSource, PriceTag, ProgressBar, ProgressBarRating, Quote, Radio_default as Radio, RealtimeChartDataSource, ReviewThread_default as ReviewThread, RouteTab_default as RouteTab, RouteTabs_default as RouteTabs, ScatterPlot, ScrollToTop_default as ScrollToTop, Section, Select_default as Select, ShapeSwitch, ShowMore_default as ShowMore, Sidebar_default as Sidebar, SidebarLayout_default as SidebarLayout, SidemenuLayout_default as SidemenuLayout, Skeleton, Slider_default as Slider, Spinner, StarRating, StarRatingDistribution_default as StarRatingDistribution, StarRatingInput_default as StarRatingInput, StatPlot, StaticChartDataSource, Switch_default as Switch, TNDropdown, TNDropdownItem, TNDropdownTitle, TNGroup, Table, TableBody, TableCell, TableElement, TableFrame, TableHead, TableHeaderCell, TableRow, Tag, Tags_default as Tags, TextArea_default as TextArea, ThemeContext, ThemeProvider, ThemeSwitch, TitleBanner, Toast, Tooltip6 as Tooltip, TopNav, Transition, TransitionAccordion_default as TransitionAccordion, TransitionBase_default as TransitionBase, TransitionDropdown_default as TransitionDropdown, TransitionFade_default as TransitionFade, TransitionFadeIn_default as TransitionFadeIn, TransitionScale_default as TransitionScale, TransitionSlide_default as TransitionSlide, Typography, UnderConstructionBanner, ValueBadge, WorldMap, WorldMapCountryTable, YoutubeVideo, YoutubeVideo as YoutubeVideoPlayer, addReplyToCache, addReviewReply, appendReview, applyReactionState, assertAbsoluteURL, buildURL, canDeleteReview, canDeleteReviewReply, canEditReview, canEditReviewReply, canReplyToReview, canReportReview, canReportReviewReply, clearAnalyticsQueueStorage, clearAnonymousIdStorage, clearConsentStorage, cn, createAnalyticsEvent, createAnalyticsId, createConfigurator, createDefaultConsent, createForceLayout, createGridLayout, createHeadingSlug, createTreeLayout, createURLResolver, decrementReplyCount, defaultFormatValue, defaultTiers, ensureAnonymousIdStorage, enumValues, euiToast, extractHeadings, findReview, formatChartLabel, formatChartValue, formatCommentDate, formatConfigError, formatReviewDate, generateHeadingNumbers, getAllowedOrigins, getBrowserHref, getBrowserOrigin, getBrowserRedirectURL, getConsentStatusFromCategories, getCurrencySymbol, getCurrentPath, getCurrentReferrer, getDeviceInfo, getDoNotTrackEnabled, getLayout, getNowISOString, getOptimisticDislikeState, getOptimisticLikeState, getSafeRedirect, getViewport, hasReviewReply, incrementReplyCount, isBrowser, isMatch, isRenderFn, limitRealtimePoints, normalize, normalizeChartData, normalizeChartDataPoint, normalizeMarkdown, normalizeReview, normalizeReviewAuthor, normalizeReviewReply, parseJson, parseJsonRecord, parseUrlMap, prependReview, readAnalyticsQueueStorage, readAnonymousIdStorage, readConsentStorage, registerLayout, removeComment, removeCommentTreeFromCache, removeReview, removeReviewReply, replaceRealtimePoints, replaceReview, replaceReviewReply, resolveAppearanceStyles, resolveChartColor, resolveChartColors, resolveWithGlobal, safeReadStorage, safeRemoveStorage, safeWriteStorage, sanitizeHeading, sendToast, slugify, toConfiguratorError, updateComment, updateReplyCacheComment, updateReview, updateReviewReply, upsertReview, useActiveHeading, useAnalytics, useChartContext, useChartData, useChartPolling, useChartRealtime, useChartSeries, useChartTheme, useClickOutside, useCloudinaryConfig, useCookieConsent, useCurrentTheme_default as useCurrentTheme, useDrawer_default as useDrawer, useEUIConfig, useIsMobile_default as useIsMobile, useMarkdown, useMarkdownHeadings, useModal_default as useModal, usePageTracking, useResolvedChartState, useReviewThreadState, useSessionTracking, useTheme_default as useTheme, writeAnalyticsQueueStorage, writeConsentStorage };
58053
+ export { Accordion_default as Accordion, AnalyticsContext, AnalyticsProvider, AreaPlot, AsyncComponentWrapper_default as AsyncComponentWrapper, Avatar, Backdrop_default as Backdrop, Badge, BarPlot, BaseChartDataSource, Block_default as Block, BlockGroup_default as BlockGroup, BoxNav_default as BoxNav, BoxNavItem_default as BoxNavItem, Brand, Breadcrumb, BreadcrumbItem_default as BreadcrumbItem, Button_web_default as Button, CHART_COLOR_PALETTE, CHART_DARK_THEME, CHART_DATA_MODES, CHART_DEFAULT_ACTIVE_DOT_RADIUS, CHART_DEFAULT_ANIMATION_DURATION, CHART_DEFAULT_BAR_RADIUS, CHART_DEFAULT_HEIGHT, CHART_DEFAULT_HORIZONTAL_BAR_RADIUS, CHART_DEFAULT_MARGIN, CHART_DEFAULT_MAX_REALTIME_POINTS, CHART_DEFAULT_POLLING_INTERVAL, CHART_DEFAULT_STROKE_WIDTH, CHART_EMPTY_MESSAGE, CHART_ERROR_MESSAGE, CHART_LIGHT_THEME, CHART_LOADING_MESSAGE, CHART_STATUSES, CHART_STATUS_COLORS, CHART_VALUE_FORMATS, Caption, Card_default as Card, CardContent_default as CardContent, CardFooter_default as CardFooter, CardHeader_default as CardHeader, Chapter, Chart, ChartContainer, ChartContext, ChartEmptyState, ChartErrorState, ChartHeader, ChartLegend, ChartLoadingState, ChartPanel, ChartPlotFrame, ChartProvider, ChartToolbar, ChartTooltip, Checkbox, Chip, CloudinaryImage2 as CloudinaryImage, CloudinaryProvider, CloudinaryVideo, Code, CodeMirrorMarkdownEditor_default as CodeMirrorMarkdownEditor, CommentThread_default as CommentThread, ConfigBootstrap_default as ConfigBootstrap, Configurator, ConfiguratorError, Content, ContentArea_default as ContentArea, CookieBanner, CookiePreferencesModal, DEFAULT_ANALYTICS_CONFIG, DEFAULT_COOKIE_CATEGORIES, DEFAULT_REVIEW_THREAD_CONFIG, DataView2 as DataView, DataViewContent, DataViewFilterGroup, DataViewFooter, DataViewHeader, DataViewPageSize, DataViewPagination, DataViewProvider, DataViewSearch, DataViewSidebar, DataViewSort, DataViewTable_default as DataViewTable, DateSelector_default as DateSelector, DefaultLayout_default as DefaultLayout, Display, DocumentationPanel_default as DocumentationPanel, Drawer, DrawerToggler_default as DrawerToggler, EUIDevLayout_default as EUIDevLayout, EUIProvider, EUI_ANALYTICS_ANONYMOUS_ID_STORAGE_KEY, EUI_ANALYTICS_CONSENT_STORAGE_KEY, EUI_ANALYTICS_QUEUE_STORAGE_KEY, EnvErrorScreen_default as EnvErrorScreen, Flag, Flex, FlexCol_default as FlexCol, FlexRow_default as FlexRow, Footer, FooterNav_default as FooterNav, FooterNavGroup_default as FooterNavGroup, FooterNavItem, FooterNavItemContext, FooterNavItemTitle, Form, FormResponse_default as FormResponse, GaugePlot, GenericLayout_default as GenericLayout, GlowWrapper_default as GlowWrapper, Graph, GraphEdge, GraphNode, GraphRenderer, Grid_default as Grid, Header, HeaderNav_default as HeaderNav, HeaderNavGroup_default as HeaderNavGroup, HeaderNavItem, HeaderNavItemContext, HeaderNavItemTitle, HomeLayout_default as HomeLayout, Image2 as Image, ImageInput_default as ImageInput, InfiniteScrollTrigger_default as InfiniteScrollTrigger, Info, Input, InputFile, InputLabel, InputList, InputListGroup, InputResponse, Label, Layout, Lead, LinePlot, Link, List, ListItem, ListItemElement, ListRoot, MDXMarkdownEditor_default as MDXMarkdownEditor, MDXMarkdownField_default as MDXMarkdownField, MarkdownBlockquote_default as MarkdownBlockquote, MarkdownBreak_default as MarkdownBreak, MarkdownCodeBlock_default as MarkdownCodeBlock, MarkdownContext, MarkdownDetails, MarkdownDocsLayout_default as MarkdownDocsLayout, MarkdownEditor_default as MarkdownEditor, MarkdownEmphasis_default as MarkdownEmphasis, MarkdownField_default as MarkdownField, MarkdownFigcaption, MarkdownFigure, MarkdownHeading_default as MarkdownHeadingComponent, MarkdownImage_default as MarkdownImage, MarkdownInlineCode_default as MarkdownInlineCode, MarkdownLayout_default as MarkdownLayout, MarkdownLink_default as MarkdownLink, MarkdownListItem_default as MarkdownListItem, MarkdownOrderedList, MarkdownParagraph_default as MarkdownParagraph, MarkdownPreviewPane_default as MarkdownPreviewPane, MarkdownProvider_default as MarkdownProvider, MarkdownRenderer_default as MarkdownRenderer, MarkdownSourceEditor_default as MarkdownSourceEditor, MarkdownSplitEditor_default as MarkdownSplitEditor, MarkdownStrikethrough_default as MarkdownStrikethrough, MarkdownStrong_default as MarkdownStrong, MarkdownSummary, MarkdownTOC_default as MarkdownTOC, MarkdownTOCItem_default as MarkdownTOCItem, MarkdownTable_default as MarkdownTable, MarkdownTableBody, MarkdownTableCell, MarkdownTableHead, MarkdownTableHeaderCell, MarkdownTableRow, MarkdownTaskCheckbox_default as MarkdownTaskCheckbox, MarkdownThematicBreak_default as MarkdownThematicBreak, MarkdownToolbar_default as MarkdownToolbar, MarkdownUnorderedList, MarkdownViewer_default as MarkdownViewer, Menu, MenuGroup, MenuItem, MenuItemTitle, Modal_default as Modal, MotionSurface_default as MotionSurface, MultiImageInput_default as MultiImageInput, NumericRating, Overline, Paragraph, PiePlot, PollingChartDataSource, PreviewSwitch, PriceTag, ProgressBar, ProgressBarRating, Quote, Radio_default as Radio, RealtimeChartDataSource, ReviewThread_default as ReviewThread, RouteTab_default as RouteTab, RouteTabs_default as RouteTabs, ScatterPlot, ScrollToTop_default as ScrollToTop, Section, Select_default as Select, ShapeSwitch, ShowMore_default as ShowMore, Sidebar_default as Sidebar, SidebarLayout_default as SidebarLayout, SidemenuLayout_default as SidemenuLayout, Skeleton, Slider_default as Slider, Spinner, StarRating, StarRatingDistribution_default as StarRatingDistribution, StarRatingInput_default as StarRatingInput, StatPlot, StaticChartDataSource, Switch_default as Switch, TNDropdown, TNDropdownItem, TNDropdownTitle, TNGroup, Table, TableBody, TableCell, TableElement, TableFrame, TableHead, TableHeaderCell, TableRow, Tag, Tags_default as Tags, TextArea_default as TextArea, ThemeContext, ThemeProvider, ThemeSelect, ThemeSwitch, TitleBanner, Toast, Tooltip6 as Tooltip, TopNav, Transition, TransitionAccordion_default as TransitionAccordion, TransitionBase_default as TransitionBase, TransitionDropdown_default as TransitionDropdown, TransitionFade_default as TransitionFade, TransitionFadeIn_default as TransitionFadeIn, TransitionScale_default as TransitionScale, TransitionSlide_default as TransitionSlide, Typography, UnderConstructionBanner, ValueBadge, WorldMap, WorldMapCountryTable, YoutubeVideo, YoutubeVideo as YoutubeVideoPlayer, addReplyToCache, addReviewReply, appendReview, applyReactionState, assertAbsoluteURL, buildURL, canDeleteReview, canDeleteReviewReply, canEditReview, canEditReviewReply, canReplyToReview, canReportReview, canReportReviewReply, clearAnalyticsQueueStorage, clearAnonymousIdStorage, clearConsentStorage, cn, createAnalyticsEvent, createAnalyticsId, createConfigurator, createDefaultConsent, createForceLayout, createGridLayout, createHeadingSlug, createTreeLayout, createURLResolver, decrementReplyCount, defaultFormatValue, defaultTiers, ensureAnonymousIdStorage, enumValues, euiToast, extractHeadings, findReview, formatChartLabel, formatChartValue, formatCommentDate, formatConfigError, formatReviewDate, generateHeadingNumbers, getAllowedOrigins, getBrowserHref, getBrowserOrigin, getBrowserRedirectURL, getConsentStatusFromCategories, getCurrencySymbol, getCurrentFullUrl, getCurrentPath, getCurrentReferrer, getCurrentTitle, getDeviceInfo, getDoNotTrackEnabled, getLayout, getNowISOString, getOptimisticDislikeState, getOptimisticLikeState, getSafeRedirect, getViewport, hasReviewReply, incrementReplyCount, isBrowser, isMatch, isRenderFn, limitRealtimePoints, normalize, normalizeChartData, normalizeChartDataPoint, normalizeMarkdown, normalizeReview, normalizeReviewAuthor, normalizeReviewReply, parseJson, parseJsonRecord, parseUrlMap, prependReview, readAnalyticsQueueStorage, readAnonymousIdStorage, readConsentStorage, registerLayout, removeComment, removeCommentTreeFromCache, removeReview, removeReviewReply, replaceRealtimePoints, replaceReview, replaceReviewReply, resolveAppearanceStyles, resolveChartColor, resolveChartColors, resolveWithGlobal, safeReadStorage, safeRemoveStorage, safeWriteStorage, sanitizeHeading, sendToast, slugify, toConfiguratorError, updateComment, updateReplyCacheComment, updateReview, updateReviewReply, upsertReview, useActiveHeading, useAnalytics, useChartContext, useChartData, useChartPolling, useChartRealtime, useChartSeries, useChartTheme, useClickOutside, useCloudinaryConfig, useCookieConsent, useCurrentTheme_default as useCurrentTheme, useDrawer_default as useDrawer, useEUIConfig, useEUIDevPreviewPlatform, useIsMobile_default as useIsMobile, useMarkdown, useMarkdownHeadings, useModal_default as useModal, usePageTracking, useResolvedChartState, useReviewThreadState, useSessionTracking, useTheme_default as useTheme, writeAnalyticsQueueStorage, writeConsentStorage };
57517
58054
  //# sourceMappingURL=index.mjs.map
57518
58055
  //# sourceMappingURL=index.mjs.map