elseware-ui 2.39.0 → 2.39.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.js CHANGED
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var tailwindMerge = require('tailwind-merge');
4
- var React27 = require('react');
4
+ var React26 = require('react');
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var index_js$3 = require('react-icons/bs/index.js');
7
7
  var index_js$4 = require('react-icons/fa/index.js');
8
8
  var recharts = require('recharts');
9
- var classNames66 = require('classnames');
9
+ var classNames77 = require('classnames');
10
10
  var index_js$2 = require('react-icons/fa6/index.js');
11
11
  var ReactWorldFlags = require('react-world-flags');
12
12
  var emojiFlags = require('emoji-flags');
@@ -21,15 +21,21 @@ var index_js$5 = require('react-icons/bi/index.js');
21
21
  var default2 = require('path');
22
22
  var default3 = require('process');
23
23
  var url = require('url');
24
+ var CodeMirror = require('@uiw/react-codemirror');
25
+ var langMarkdown = require('@codemirror/lang-markdown');
26
+ var themeOneDark = require('@codemirror/theme-one-dark');
27
+ var editor = require('@mdxeditor/editor');
28
+ require('@mdxeditor/editor/style.css');
24
29
 
25
30
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
26
31
 
27
- var React27__default = /*#__PURE__*/_interopDefault(React27);
28
- var classNames66__default = /*#__PURE__*/_interopDefault(classNames66);
32
+ var React26__default = /*#__PURE__*/_interopDefault(React26);
33
+ var classNames77__default = /*#__PURE__*/_interopDefault(classNames77);
29
34
  var ReactWorldFlags__default = /*#__PURE__*/_interopDefault(ReactWorldFlags);
30
35
  var emojiFlags__default = /*#__PURE__*/_interopDefault(emojiFlags);
31
36
  var default2__default = /*#__PURE__*/_interopDefault(default2);
32
37
  var default3__default = /*#__PURE__*/_interopDefault(default3);
38
+ var CodeMirror__default = /*#__PURE__*/_interopDefault(CodeMirror);
33
39
 
34
40
  var __create = Object.create;
35
41
  var __defProp = Object.defineProperty;
@@ -7039,7 +7045,7 @@ var init_python = __esm({
7039
7045
  });
7040
7046
 
7041
7047
  // node_modules/refractor/lang/jsx.js
7042
- function jsx211(Prism2) {
7048
+ function jsx213(Prism2) {
7043
7049
  Prism2.register(javascript);
7044
7050
  Prism2.register(markup);
7045
7051
  (function(Prism3) {
@@ -7172,14 +7178,14 @@ var init_jsx = __esm({
7172
7178
  "node_modules/refractor/lang/jsx.js"() {
7173
7179
  init_javascript();
7174
7180
  init_markup();
7175
- jsx211.displayName = "jsx";
7176
- jsx211.aliases = [];
7181
+ jsx213.displayName = "jsx";
7182
+ jsx213.aliases = [];
7177
7183
  }
7178
7184
  });
7179
7185
 
7180
7186
  // node_modules/refractor/lang/tsx.js
7181
7187
  function tsx(Prism2) {
7182
- Prism2.register(jsx211);
7188
+ Prism2.register(jsx213);
7183
7189
  Prism2.register(typescript);
7184
7190
  (function(Prism3) {
7185
7191
  var typescript2 = Prism3.util.clone(Prism3.languages.typescript);
@@ -7867,9 +7873,9 @@ function ConfigBootstrap({
7867
7873
  loadingFallback = null,
7868
7874
  showStack = false
7869
7875
  }) {
7870
- const [RootApp, setRootApp] = React27.useState(null);
7871
- const [loadError, setLoadError] = React27.useState(null);
7872
- React27.useEffect(() => {
7876
+ const [RootApp, setRootApp] = React26.useState(null);
7877
+ const [loadError, setLoadError] = React26.useState(null);
7878
+ React26.useEffect(() => {
7873
7879
  if (!config.isValid) {
7874
7880
  return;
7875
7881
  }
@@ -7910,16 +7916,16 @@ function ConfigBootstrap({
7910
7916
  return /* @__PURE__ */ jsxRuntime.jsx(RootApp, {});
7911
7917
  }
7912
7918
  var ConfigBootstrap_default = ConfigBootstrap;
7913
- var EUIContext = React27.createContext(null);
7919
+ var EUIContext = React26.createContext(null);
7914
7920
  var EUIProvider = ({
7915
7921
  config,
7916
7922
  children: children3
7917
7923
  }) => {
7918
- const [state, setState] = React27.useState(config);
7924
+ const [state, setState] = React26.useState(config);
7919
7925
  return /* @__PURE__ */ jsxRuntime.jsx(EUIContext.Provider, { value: { config: state, setConfig: setState }, children: children3 });
7920
7926
  };
7921
7927
  var useEUIConfig = () => {
7922
- const ctx = React27.useContext(EUIContext);
7928
+ const ctx = React26.useContext(EUIContext);
7923
7929
  if (!ctx) {
7924
7930
  throw new Error("useEUIConfig must be used inside EUIProvider");
7925
7931
  }
@@ -8737,14 +8743,14 @@ function useChartData({
8737
8743
  onDataChange,
8738
8744
  onError
8739
8745
  } = {}) {
8740
- const [state, setState] = React27.useState({
8746
+ const [state, setState] = React26.useState({
8741
8747
  data: data ?? [],
8742
8748
  loading: false,
8743
8749
  error: null,
8744
8750
  status: data?.length ? "success" : "idle",
8745
8751
  lastUpdatedAt: data?.length ? /* @__PURE__ */ new Date() : void 0
8746
8752
  });
8747
- const prepareData = React27.useCallback(
8753
+ const prepareData = React26.useCallback(
8748
8754
  (nextData) => {
8749
8755
  if (!normalize3) {
8750
8756
  return nextData;
@@ -8753,7 +8759,7 @@ function useChartData({
8753
8759
  },
8754
8760
  [normalize3]
8755
8761
  );
8756
- const replaceData = React27.useCallback(
8762
+ const replaceData = React26.useCallback(
8757
8763
  (nextData) => {
8758
8764
  const normalizedData = prepareData(nextData);
8759
8765
  setState({
@@ -8767,7 +8773,7 @@ function useChartData({
8767
8773
  },
8768
8774
  [onDataChange, prepareData]
8769
8775
  );
8770
- const appendData = React27.useCallback(
8776
+ const appendData = React26.useCallback(
8771
8777
  (nextData) => {
8772
8778
  setState((currentState) => {
8773
8779
  const incomingData = Array.isArray(nextData) ? nextData : [nextData];
@@ -8791,7 +8797,7 @@ function useChartData({
8791
8797
  },
8792
8798
  [maxDataPoints, onDataChange, prepareData]
8793
8799
  );
8794
- const clearData = React27.useCallback(() => {
8800
+ const clearData = React26.useCallback(() => {
8795
8801
  setState({
8796
8802
  data: [],
8797
8803
  loading: false,
@@ -8801,7 +8807,7 @@ function useChartData({
8801
8807
  });
8802
8808
  onDataChange?.([]);
8803
8809
  }, [onDataChange]);
8804
- const handleError = React27.useCallback(
8810
+ const handleError = React26.useCallback(
8805
8811
  (error) => {
8806
8812
  setState((currentState) => ({
8807
8813
  ...currentState,
@@ -8813,7 +8819,7 @@ function useChartData({
8813
8819
  },
8814
8820
  [onError]
8815
8821
  );
8816
- const refresh = React27.useCallback(async () => {
8822
+ const refresh = React26.useCallback(async () => {
8817
8823
  const resolvedDataSource = dataSource;
8818
8824
  if (!resolvedDataSource?.refresh && !resolvedDataSource?.getInitialData) {
8819
8825
  return;
@@ -8832,13 +8838,13 @@ function useChartData({
8832
8838
  handleError(error instanceof Error ? error : new Error(String(error)));
8833
8839
  }
8834
8840
  }, [dataSource, handleError, replaceData]);
8835
- React27.useEffect(() => {
8841
+ React26.useEffect(() => {
8836
8842
  if (!data) {
8837
8843
  return;
8838
8844
  }
8839
8845
  replaceData(data);
8840
8846
  }, [data, replaceData]);
8841
- React27.useEffect(() => {
8847
+ React26.useEffect(() => {
8842
8848
  if (!dataSource || !autoLoad) {
8843
8849
  return;
8844
8850
  }
@@ -8877,7 +8883,7 @@ function useChartData({
8877
8883
  unsubscribe?.();
8878
8884
  };
8879
8885
  }, [appendData, autoLoad, dataSource, handleError, replaceData]);
8880
- return React27.useMemo(
8886
+ return React26.useMemo(
8881
8887
  () => ({
8882
8888
  ...state,
8883
8889
  refresh,
@@ -8896,11 +8902,11 @@ function useChartRealtime({
8896
8902
  onData,
8897
8903
  onError
8898
8904
  }) {
8899
- const [data, setData] = React27.useState([]);
8900
- const [error, setError] = React27.useState(null);
8901
- const [connected, setConnected] = React27.useState(false);
8902
- const [lastUpdatedAt, setLastUpdatedAt] = React27.useState();
8903
- React27.useEffect(() => {
8905
+ const [data, setData] = React26.useState([]);
8906
+ const [error, setError] = React26.useState(null);
8907
+ const [connected, setConnected] = React26.useState(false);
8908
+ const [lastUpdatedAt, setLastUpdatedAt] = React26.useState();
8909
+ React26.useEffect(() => {
8904
8910
  if (!enabled) {
8905
8911
  setConnected(false);
8906
8912
  return;
@@ -8934,7 +8940,7 @@ function useChartRealtime({
8934
8940
  setConnected(false);
8935
8941
  };
8936
8942
  }, [connect, enabled, maxDataPoints, normalize3, onData, onError]);
8937
- return React27.useMemo(
8943
+ return React26.useMemo(
8938
8944
  () => ({
8939
8945
  data,
8940
8946
  error,
@@ -8956,13 +8962,13 @@ function useChartPolling({
8956
8962
  onData,
8957
8963
  onError
8958
8964
  }) {
8959
- const isMountedRef = React27.useRef(false);
8960
- const isFetchingRef = React27.useRef(false);
8961
- const [data, setData] = React27.useState([]);
8962
- const [error, setError] = React27.useState(null);
8963
- const [loading, setLoading] = React27.useState(immediate);
8964
- const [lastUpdatedAt, setLastUpdatedAt] = React27.useState();
8965
- const refresh = React27.useCallback(async () => {
8965
+ const isMountedRef = React26.useRef(false);
8966
+ const isFetchingRef = React26.useRef(false);
8967
+ const [data, setData] = React26.useState([]);
8968
+ const [error, setError] = React26.useState(null);
8969
+ const [loading, setLoading] = React26.useState(immediate);
8970
+ const [lastUpdatedAt, setLastUpdatedAt] = React26.useState();
8971
+ const refresh = React26.useCallback(async () => {
8966
8972
  if (isFetchingRef.current) {
8967
8973
  return;
8968
8974
  }
@@ -8991,13 +8997,13 @@ function useChartPolling({
8991
8997
  isFetchingRef.current = false;
8992
8998
  }
8993
8999
  }, [fetcher, normalize3, onData, onError]);
8994
- React27.useEffect(() => {
9000
+ React26.useEffect(() => {
8995
9001
  isMountedRef.current = true;
8996
9002
  return () => {
8997
9003
  isMountedRef.current = false;
8998
9004
  };
8999
9005
  }, []);
9000
- React27.useEffect(() => {
9006
+ React26.useEffect(() => {
9001
9007
  if (!enabled) {
9002
9008
  setLoading(false);
9003
9009
  return;
@@ -9012,7 +9018,7 @@ function useChartPolling({
9012
9018
  window.clearInterval(timer2);
9013
9019
  };
9014
9020
  }, [enabled, immediate, interval2, refresh]);
9015
- return React27.useMemo(
9021
+ return React26.useMemo(
9016
9022
  () => ({
9017
9023
  data,
9018
9024
  error,
@@ -9049,7 +9055,7 @@ function useChartSeries({
9049
9055
  xKey,
9050
9056
  excludeKeys = []
9051
9057
  }) {
9052
- return React27.useMemo(() => {
9058
+ return React26.useMemo(() => {
9053
9059
  const normalizedSeries = series && series.length > 0 ? series : inferSeriesKeys(data, xKey, excludeKeys).map((key) => ({
9054
9060
  key
9055
9061
  }));
@@ -9097,12 +9103,12 @@ function useChartTheme({
9097
9103
  mode = "dark",
9098
9104
  theme
9099
9105
  } = {}) {
9100
- return React27.useMemo(() => {
9106
+ return React26.useMemo(() => {
9101
9107
  const baseTheme = mode === "light" ? CHART_LIGHT_THEME : mode === "dark" ? CHART_DARK_THEME : DEFAULT_CHART_THEME;
9102
9108
  return mergeChartTheme(baseTheme, theme);
9103
9109
  }, [mode, theme]);
9104
9110
  }
9105
- var ChartContext = React27.createContext({
9111
+ var ChartContext = React26.createContext({
9106
9112
  data: [],
9107
9113
  loading: false,
9108
9114
  error: null,
@@ -9134,7 +9140,7 @@ function ChartProvider({
9134
9140
  onDataChange,
9135
9141
  onError
9136
9142
  });
9137
- const value = React27.useMemo(
9143
+ const value = React26.useMemo(
9138
9144
  () => ({
9139
9145
  ...chartData,
9140
9146
  mode: dataSource?.mode,
@@ -9151,7 +9157,7 @@ function ChartProvider({
9151
9157
  );
9152
9158
  }
9153
9159
  function useChartContext() {
9154
- return React27.useContext(ChartContext);
9160
+ return React26.useContext(ChartContext);
9155
9161
  }
9156
9162
 
9157
9163
  // src/components/data-display/charts/context/chartReducer.ts
@@ -9455,7 +9461,7 @@ function ChartLegend({
9455
9461
  valueSource = "latest",
9456
9462
  onItemClick
9457
9463
  }) {
9458
- const legendItems = React27.useMemo(() => {
9464
+ const legendItems = React26.useMemo(() => {
9459
9465
  if (items?.length) {
9460
9466
  return items;
9461
9467
  }
@@ -10233,7 +10239,7 @@ function GaugePlot({
10233
10239
  const chartData = data ?? context.data;
10234
10240
  const chartLoading = loading ?? context.loading;
10235
10241
  const chartError = error ?? context.error;
10236
- const resolvedValue = React27.useMemo(() => {
10242
+ const resolvedValue = React26.useMemo(() => {
10237
10243
  if (typeof value === "number") {
10238
10244
  return value;
10239
10245
  }
@@ -10350,14 +10356,14 @@ function StatPlot({
10350
10356
  const chartData = data ?? context.data;
10351
10357
  const chartLoading = loading ?? context.loading;
10352
10358
  const chartError = error ?? context.error;
10353
- const resolvedValue = React27.useMemo(() => {
10359
+ const resolvedValue = React26.useMemo(() => {
10354
10360
  if (value !== void 0) {
10355
10361
  return value;
10356
10362
  }
10357
10363
  const latestPoint = chartData[chartData.length - 1];
10358
10364
  return latestPoint?.[String(valueKey)] ?? null;
10359
10365
  }, [chartData, value, valueKey]);
10360
- const resolvedPreviousValue = React27.useMemo(() => {
10366
+ const resolvedPreviousValue = React26.useMemo(() => {
10361
10367
  if (previousValue !== void 0) {
10362
10368
  return previousValue;
10363
10369
  }
@@ -10365,7 +10371,7 @@ function StatPlot({
10365
10371
  const previous3 = previousPoint?.[String(valueKey)];
10366
10372
  return typeof previous3 === "number" ? previous3 : void 0;
10367
10373
  }, [chartData, previousValue, valueKey]);
10368
- const trend = React27.useMemo(() => {
10374
+ const trend = React26.useMemo(() => {
10369
10375
  if (typeof resolvedValue !== "number" || typeof resolvedPreviousValue !== "number") {
10370
10376
  return null;
10371
10377
  }
@@ -10836,7 +10842,7 @@ var Chip = ({
10836
10842
  }
10837
10843
  ) });
10838
10844
  };
10839
- var DataViewContext = React27.createContext(null);
10845
+ var DataViewContext = React26.createContext(null);
10840
10846
 
10841
10847
  // src/components/data-display/data-view/utils/searchData.ts
10842
10848
  function searchData(data, search3) {
@@ -10880,19 +10886,19 @@ function DataViewProvider({
10880
10886
  defaultPageSize = 9,
10881
10887
  sortConfig = {}
10882
10888
  }) {
10883
- const [search3, setSearch] = React27.useState("");
10884
- const [filters, setFilters] = React27.useState({});
10885
- const [sort, setSort] = React27.useState("suggested");
10886
- const [page, setPage] = React27.useState(1);
10887
- const [pageSize, setPageSize] = React27.useState(defaultPageSize);
10888
- const processedData = React27.useMemo(() => {
10889
+ const [search3, setSearch] = React26.useState("");
10890
+ const [filters, setFilters] = React26.useState({});
10891
+ const [sort, setSort] = React26.useState("suggested");
10892
+ const [page, setPage] = React26.useState(1);
10893
+ const [pageSize, setPageSize] = React26.useState(defaultPageSize);
10894
+ const processedData = React26.useMemo(() => {
10889
10895
  let result = searchData(data, search3);
10890
10896
  result = filterData(result, filters);
10891
10897
  result = sortData(result, sort, sortConfig);
10892
10898
  return result;
10893
10899
  }, [data, search3, filters, sort, sortConfig]);
10894
10900
  const totalPages = pageSize === "All" ? 1 : Math.ceil(processedData.length / pageSize);
10895
- const paginatedData = React27.useMemo(() => {
10901
+ const paginatedData = React26.useMemo(() => {
10896
10902
  if (pageSize === "All") return processedData;
10897
10903
  const size = pageSize;
10898
10904
  const start3 = (page - 1) * size;
@@ -10930,7 +10936,7 @@ function DataViewSidebar({ children: children3 }) {
10930
10936
  }
10931
10937
  var DataViewSidebar_default = DataViewSidebar;
10932
10938
  function useDataView() {
10933
- const ctx = React27.useContext(DataViewContext);
10939
+ const ctx = React26.useContext(DataViewContext);
10934
10940
  if (!ctx) {
10935
10941
  throw new Error("useDataView must be used within DataViewProvider");
10936
10942
  }
@@ -10988,12 +10994,12 @@ function DataViewSort({ options = [], shape }) {
10988
10994
  }
10989
10995
  var DataViewSort_default = DataViewSort;
10990
10996
  function useTransitionVisibility(visibility, leaveDuration = 150) {
10991
- const [mounted, setMounted] = React27.useState(Boolean(visibility));
10992
- const [active, setActive] = React27.useState(Boolean(visibility));
10993
- const isInitialRenderRef = React27.useRef(true);
10994
- const frameOneRef = React27.useRef(null);
10995
- const frameTwoRef = React27.useRef(null);
10996
- const timeoutRef = React27.useRef(null);
10997
+ const [mounted, setMounted] = React26.useState(Boolean(visibility));
10998
+ const [active, setActive] = React26.useState(Boolean(visibility));
10999
+ const isInitialRenderRef = React26.useRef(true);
11000
+ const frameOneRef = React26.useRef(null);
11001
+ const frameTwoRef = React26.useRef(null);
11002
+ const timeoutRef = React26.useRef(null);
10997
11003
  const clearTimers = () => {
10998
11004
  if (frameOneRef.current) {
10999
11005
  cancelAnimationFrame(frameOneRef.current);
@@ -11008,7 +11014,7 @@ function useTransitionVisibility(visibility, leaveDuration = 150) {
11008
11014
  timeoutRef.current = null;
11009
11015
  }
11010
11016
  };
11011
- React27.useEffect(() => {
11017
+ React26.useEffect(() => {
11012
11018
  clearTimers();
11013
11019
  if (isInitialRenderRef.current) {
11014
11020
  isInitialRenderRef.current = false;
@@ -11036,17 +11042,17 @@ function useTransitionVisibility(visibility, leaveDuration = 150) {
11036
11042
  };
11037
11043
  }
11038
11044
  function renderTransitionChild(children3, className) {
11039
- const childCount = React27.Children.count(children3);
11045
+ const childCount = React26.Children.count(children3);
11040
11046
  if (childCount !== 1) {
11041
11047
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className, children: children3 });
11042
11048
  }
11043
- const child = React27.Children.only(children3);
11044
- if (!React27__default.default.isValidElement(child)) {
11049
+ const child = React26.Children.only(children3);
11050
+ if (!React26__default.default.isValidElement(child)) {
11045
11051
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className, children: child });
11046
11052
  }
11047
11053
  const element6 = child;
11048
- return React27__default.default.cloneElement(element6, {
11049
- className: classNames66__default.default(element6.props.className, className)
11054
+ return React26__default.default.cloneElement(element6, {
11055
+ className: classNames77__default.default(element6.props.className, className)
11050
11056
  });
11051
11057
  }
11052
11058
  function TransitionBase({
@@ -11066,7 +11072,7 @@ function TransitionBase({
11066
11072
  if (!mounted && unmountOnExit) {
11067
11073
  return null;
11068
11074
  }
11069
- const transitionClassName = classNames66__default.default(
11075
+ const transitionClassName = classNames77__default.default(
11070
11076
  visibility ? enterClassName : leaveClassName,
11071
11077
  active ? visibleClassName : hiddenClassName
11072
11078
  );
@@ -11233,7 +11239,7 @@ function Accordion({
11233
11239
  toggleOnSummaryClick = false,
11234
11240
  enableChildrenPadding = true
11235
11241
  }) {
11236
- const [collapse, setCollapse] = React27.useState(defaultCollapse);
11242
+ const [collapse, setCollapse] = React26.useState(defaultCollapse);
11237
11243
  const handleToggle = () => {
11238
11244
  setCollapse((prev) => !prev);
11239
11245
  };
@@ -11241,7 +11247,7 @@ function Accordion({
11241
11247
  /* @__PURE__ */ jsxRuntime.jsxs(
11242
11248
  "div",
11243
11249
  {
11244
- className: classNames66__default.default(
11250
+ className: classNames77__default.default(
11245
11251
  "inline-flex gap-3 items-center px-3 py-2 w-full eui-gradient-to-r-general-xs",
11246
11252
  {
11247
11253
  "hover:cursor-pointer": toggleOnSummaryClick
@@ -11262,7 +11268,7 @@ function Accordion({
11262
11268
  children: /* @__PURE__ */ jsxRuntime.jsx(
11263
11269
  index_js$2.FaCircleChevronDown,
11264
11270
  {
11265
- className: classNames66__default.default("text-xl transition-transform duration-300", {
11271
+ className: classNames77__default.default("text-xl transition-transform duration-300", {
11266
11272
  "rotate-180": collapse
11267
11273
  })
11268
11274
  }
@@ -11276,7 +11282,7 @@ function Accordion({
11276
11282
  /* @__PURE__ */ jsxRuntime.jsx(TransitionAccordion_default, { visibility: collapse, children: /* @__PURE__ */ jsxRuntime.jsx(
11277
11283
  "div",
11278
11284
  {
11279
- className: classNames66__default.default(
11285
+ className: classNames77__default.default(
11280
11286
  "border-t border-t-eui-dark-400/40 eui-text-sm",
11281
11287
  {
11282
11288
  "p-5": enableChildrenPadding
@@ -11360,7 +11366,7 @@ function CardHeader({ icon, title, description, className }) {
11360
11366
  return /* @__PURE__ */ jsxRuntime.jsxs(
11361
11367
  "div",
11362
11368
  {
11363
- className: classNames66__default.default(
11369
+ className: classNames77__default.default(
11364
11370
  "flex items-start gap-4 p-6 border-b border-white/10",
11365
11371
  className
11366
11372
  ),
@@ -11376,14 +11382,14 @@ function CardHeader({ icon, title, description, className }) {
11376
11382
  }
11377
11383
  var CardHeader_default = CardHeader;
11378
11384
  function CardContent({ children: children3, className }) {
11379
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames66__default.default("p-6 text-gray-300 text-sm", className), children: children3 });
11385
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames77__default.default("p-6 text-gray-300 text-sm", className), children: children3 });
11380
11386
  }
11381
11387
  var CardContent_default = CardContent;
11382
11388
  function CardFooter({ children: children3, className }) {
11383
11389
  return /* @__PURE__ */ jsxRuntime.jsx(
11384
11390
  "div",
11385
11391
  {
11386
- className: classNames66__default.default(
11392
+ className: classNames77__default.default(
11387
11393
  "flex items-center gap-3 p-5 border-t border-white/10 text-sm text-gray-400",
11388
11394
  className
11389
11395
  ),
@@ -11425,7 +11431,7 @@ function GradientAnimation({
11425
11431
  return /* @__PURE__ */ jsxRuntime.jsx(
11426
11432
  "div",
11427
11433
  {
11428
- className: classNames66__default.default("absolute inset-0"),
11434
+ className: classNames77__default.default("absolute inset-0"),
11429
11435
  style: {
11430
11436
  background: `linear-gradient(${cfg.angle}deg, ${cfg.colors?.join(",")})`,
11431
11437
  backgroundSize: cfg.backgroundSize,
@@ -11571,7 +11577,7 @@ function MotionSurface({
11571
11577
  }) {
11572
11578
  const AnimationComponent = animationVariant === "custom" ? CustomAnimation : animationRegistry[animationVariant];
11573
11579
  const OverlayComponent = overlay === "custom" ? CustomOverlay : overlayRegistry[overlay];
11574
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classNames66__default.default("relative overflow-hidden", className), children: [
11580
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classNames77__default.default("relative overflow-hidden", className), children: [
11575
11581
  AnimationComponent && /* @__PURE__ */ jsxRuntime.jsx(AnimationComponent, { config: animationConfig, animated }),
11576
11582
  OverlayComponent && /* @__PURE__ */ jsxRuntime.jsx(OverlayComponent, { config: overlayConfig }),
11577
11583
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-10", children: children3 })
@@ -11730,8 +11736,8 @@ var Flag = ({
11730
11736
  className,
11731
11737
  ...rest
11732
11738
  }) => {
11733
- const [pos, setPos] = React27.useState({ x: 0, y: 0 });
11734
- const [showTooltip, setShowTooltip] = React27.useState(false);
11739
+ const [pos, setPos] = React26.useState({ x: 0, y: 0 });
11740
+ const [showTooltip, setShowTooltip] = React26.useState(false);
11735
11741
  const upperCode = code4.toUpperCase();
11736
11742
  const country = emojiFlags__default.default.countryCode(upperCode);
11737
11743
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -14857,16 +14863,16 @@ var GraphRenderer = ({
14857
14863
  width = 1e3,
14858
14864
  height = 700
14859
14865
  }) => {
14860
- const [nodes, setNodes] = React27.useState([]);
14866
+ const [nodes, setNodes] = React26.useState([]);
14861
14867
  const edges = data.edges;
14862
- const simulationRef = React27.useRef(null);
14863
- const [offset, setOffset] = React27.useState({ x: 0, y: 0 });
14864
- const isDragging = React27.useRef(false);
14865
- const lastPos = React27.useRef({ x: 0, y: 0 });
14866
- const nodeMap = React27.useMemo(() => {
14868
+ const simulationRef = React26.useRef(null);
14869
+ const [offset, setOffset] = React26.useState({ x: 0, y: 0 });
14870
+ const isDragging = React26.useRef(false);
14871
+ const lastPos = React26.useRef({ x: 0, y: 0 });
14872
+ const nodeMap = React26.useMemo(() => {
14867
14873
  return new Map(nodes.map((n) => [n.id, n]));
14868
14874
  }, [nodes]);
14869
- React27.useEffect(() => {
14875
+ React26.useEffect(() => {
14870
14876
  simulationRef.current?.stop?.();
14871
14877
  const positionedNodes = data.nodes.map((n) => ({
14872
14878
  ...n,
@@ -14947,13 +14953,13 @@ var Graph = ({
14947
14953
  }
14948
14954
  );
14949
14955
  };
14950
- var CloudinaryContext = React27.createContext(null);
14956
+ var CloudinaryContext = React26.createContext(null);
14951
14957
  var CloudinaryProvider = ({
14952
14958
  cloudName,
14953
14959
  children: children3
14954
14960
  }) => /* @__PURE__ */ jsxRuntime.jsx(CloudinaryContext.Provider, { value: { cloudName }, children: children3 });
14955
14961
  var useCloudinaryConfig = () => {
14956
- const ctx = React27.useContext(CloudinaryContext);
14962
+ const ctx = React26.useContext(CloudinaryContext);
14957
14963
  if (!ctx) {
14958
14964
  throw new Error(
14959
14965
  "CloudinaryProvider is missing. Wrap your app with <CloudinaryProvider />"
@@ -14998,6 +15004,7 @@ var Image2 = ({
14998
15004
  height,
14999
15005
  width,
15000
15006
  className,
15007
+ style: style2,
15001
15008
  ...rest
15002
15009
  }) => {
15003
15010
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -15007,6 +15014,7 @@ var Image2 = ({
15007
15014
  src,
15008
15015
  alt,
15009
15016
  style: {
15017
+ ...style2,
15010
15018
  ...width ? { width } : {},
15011
15019
  ...height ? { height } : {}
15012
15020
  },
@@ -15178,6 +15186,7 @@ var Paragraph = ({
15178
15186
  );
15179
15187
  };
15180
15188
  var Quote = ({
15189
+ as: Component,
15181
15190
  level = 1,
15182
15191
  children: children3,
15183
15192
  variant,
@@ -15187,8 +15196,9 @@ var Quote = ({
15187
15196
  className,
15188
15197
  ...rest
15189
15198
  }) => {
15199
+ const QuoteElement = Component ?? "div";
15190
15200
  return /* @__PURE__ */ jsxRuntime.jsx(
15191
- "div",
15201
+ QuoteElement,
15192
15202
  {
15193
15203
  ...rest,
15194
15204
  className: cn(
@@ -15371,6 +15381,29 @@ var Typography = {
15371
15381
  Code,
15372
15382
  Overline
15373
15383
  };
15384
+ function ListRoot({
15385
+ as: Component,
15386
+ className,
15387
+ ...props
15388
+ }) {
15389
+ const Root = Component ?? "div";
15390
+ const semanticStyles = Component === "ul" ? "my-4 list-disc space-y-1 pl-6" : Component === "ol" ? "my-4 list-decimal space-y-1 pl-6" : void 0;
15391
+ return /* @__PURE__ */ jsxRuntime.jsx(Root, { ...props, className: cn("w-full", semanticStyles, className) });
15392
+ }
15393
+ function ListItemElement({
15394
+ as: Component,
15395
+ className,
15396
+ ...props
15397
+ }) {
15398
+ const Item = Component ?? "div";
15399
+ return /* @__PURE__ */ jsxRuntime.jsx(
15400
+ Item,
15401
+ {
15402
+ ...props,
15403
+ className: cn("min-w-0", Component === "li" && "pl-1", className)
15404
+ }
15405
+ );
15406
+ }
15374
15407
  var ListItem = ({
15375
15408
  content: content3,
15376
15409
  TypographyComponent = /* @__PURE__ */ jsxRuntime.jsx(Paragraph, { level: 1 }),
@@ -15385,8 +15418,9 @@ var ListItem = ({
15385
15418
  "."
15386
15419
  ] }) : bulletTypes[bulletType]);
15387
15420
  return /* @__PURE__ */ jsxRuntime.jsxs(
15388
- "div",
15421
+ ListItemElement,
15389
15422
  {
15423
+ role: "listitem",
15390
15424
  className: cn(
15391
15425
  "flex gap-3",
15392
15426
  align === "center" ? "items-center" : "items-baseline",
@@ -15404,7 +15438,7 @@ var ListItem = ({
15404
15438
  children: bullet
15405
15439
  }
15406
15440
  ),
15407
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 min-w-0", children: TypographyComponent ? React27__default.default.cloneElement(
15441
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 min-w-0", children: TypographyComponent ? React26__default.default.cloneElement(
15408
15442
  TypographyComponent,
15409
15443
  {
15410
15444
  className: cn(
@@ -15438,7 +15472,7 @@ function normalizeItem(item, defaultBulletType) {
15438
15472
  bulletType: defaultBulletType
15439
15473
  };
15440
15474
  }
15441
- if (React27__default.default.isValidElement(item)) {
15475
+ if (React26__default.default.isValidElement(item)) {
15442
15476
  return {
15443
15477
  content: item,
15444
15478
  bulletType: defaultBulletType
@@ -15462,13 +15496,12 @@ function List({
15462
15496
  ...rest
15463
15497
  }) {
15464
15498
  const isGrid = !!columns;
15465
- const isOrdered = bulletType === "number";
15466
15499
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { ...rest, className: cn("py-2", className), children: [
15467
15500
  title && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm font-semibold mb-3", children: title }),
15468
15501
  /* @__PURE__ */ jsxRuntime.jsx(
15469
- "div",
15502
+ ListRoot,
15470
15503
  {
15471
- role: isOrdered ? "list" : "list",
15504
+ role: "list",
15472
15505
  className: cn(
15473
15506
  isGrid ? `grid ${gridCols[columns]}` : direction === "horizontal" ? "flex flex-row" : "flex flex-col",
15474
15507
  gapMap[gap],
@@ -15898,7 +15931,7 @@ var Backdrop = ({ children: children3, styles }) => {
15898
15931
  return /* @__PURE__ */ jsxRuntime.jsx(
15899
15932
  "div",
15900
15933
  {
15901
- className: classNames66__default.default({
15934
+ className: classNames77__default.default({
15902
15935
  "bg-black/75 top-0 bottom-0 left-0 right-0 z-50 fixed inset-0 flex items-center justify-center overflow-hidden": true,
15903
15936
  [`${styles}`]: styles
15904
15937
  }),
@@ -16115,6 +16148,75 @@ function Spinner({
16115
16148
  );
16116
16149
  }
16117
16150
  var Spinner_default = Spinner;
16151
+ function TableFrame({
16152
+ className,
16153
+ ...props
16154
+ }) {
16155
+ return /* @__PURE__ */ jsxRuntime.jsx(
16156
+ "div",
16157
+ {
16158
+ ...props,
16159
+ className: cn(
16160
+ "w-full overflow-x-auto border border-gray-200 dark:border-gray-700",
16161
+ className
16162
+ )
16163
+ }
16164
+ );
16165
+ }
16166
+ function TableElement({
16167
+ className,
16168
+ ...props
16169
+ }) {
16170
+ return /* @__PURE__ */ jsxRuntime.jsx("table", { ...props, className: cn("w-full", className) });
16171
+ }
16172
+ function TableHead({
16173
+ className,
16174
+ ...props
16175
+ }) {
16176
+ return /* @__PURE__ */ jsxRuntime.jsx(
16177
+ "thead",
16178
+ {
16179
+ ...props,
16180
+ className: cn("bg-gray-100 dark:bg-gray-800", className)
16181
+ }
16182
+ );
16183
+ }
16184
+ function TableBody({
16185
+ className,
16186
+ ...props
16187
+ }) {
16188
+ return /* @__PURE__ */ jsxRuntime.jsx("tbody", { ...props, className });
16189
+ }
16190
+ function TableRow({
16191
+ className,
16192
+ ...props
16193
+ }) {
16194
+ return /* @__PURE__ */ jsxRuntime.jsx(
16195
+ "tr",
16196
+ {
16197
+ ...props,
16198
+ className: cn("border-t border-gray-200 dark:border-gray-700", className)
16199
+ }
16200
+ );
16201
+ }
16202
+ function TableHeaderCell({
16203
+ className,
16204
+ ...props
16205
+ }) {
16206
+ return /* @__PURE__ */ jsxRuntime.jsx(
16207
+ "th",
16208
+ {
16209
+ ...props,
16210
+ className: cn("px-4 py-3 text-left text-xs font-semibold", className)
16211
+ }
16212
+ );
16213
+ }
16214
+ function TableCell({
16215
+ className,
16216
+ ...props
16217
+ }) {
16218
+ return /* @__PURE__ */ jsxRuntime.jsx("td", { ...props, className: cn("px-4 py-2", className) });
16219
+ }
16118
16220
  function Table({
16119
16221
  title,
16120
16222
  columns,
@@ -16123,8 +16225,8 @@ function Table({
16123
16225
  }) {
16124
16226
  const eui = useEUIConfig();
16125
16227
  const resolvedShape = shape ?? eui?.config?.global?.shape ?? "square";
16126
- const [sortKey, setSortKey] = React27.useState(null);
16127
- const [sortOrder, setSortOrder] = React27.useState("asc");
16228
+ const [sortKey, setSortKey] = React26.useState(null);
16229
+ const [sortOrder, setSortOrder] = React26.useState("asc");
16128
16230
  const toggleSort = (key) => {
16129
16231
  if (sortKey === key) {
16130
16232
  setSortOrder((prev) => prev === "asc" ? "desc" : "asc");
@@ -16133,7 +16235,7 @@ function Table({
16133
16235
  setSortOrder("asc");
16134
16236
  }
16135
16237
  };
16136
- const sortedData = React27.useMemo(() => {
16238
+ const sortedData = React26.useMemo(() => {
16137
16239
  if (!sortKey) return data;
16138
16240
  return [...data].sort((a2, b) => {
16139
16241
  const aVal = a2[sortKey];
@@ -16147,58 +16249,49 @@ function Table({
16147
16249
  }, [data, sortKey, sortOrder]);
16148
16250
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full", children: [
16149
16251
  title && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-semibold mb-3 font-poppins", children: title }),
16150
- /* @__PURE__ */ jsxRuntime.jsx(
16151
- "div",
16152
- {
16153
- className: cn(
16154
- "overflow-x-auto border border-gray-200 dark:border-gray-700",
16155
- shapes[resolvedShape]
16156
- ),
16157
- children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full", children: [
16158
- /* @__PURE__ */ jsxRuntime.jsx("thead", { className: "bg-gray-100 dark:bg-gray-800", children: /* @__PURE__ */ jsxRuntime.jsx("tr", { children: columns.map((col) => /* @__PURE__ */ jsxRuntime.jsx(
16159
- "th",
16160
- {
16161
- onClick: () => col.sortable && toggleSort(String(col.key)),
16162
- className: cn(
16163
- "px-4 py-3 text-left text-xs font-semibold text-gray-200",
16164
- col.sortable && "cursor-pointer select-none hover:bg-gray-200 dark:hover:bg-gray-700",
16165
- sortKey === col.key && "bg-gray-300 dark:bg-gray-600"
16166
- ),
16167
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
16168
- col.header,
16169
- col.sortable && sortKey === col.key && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs", children: sortOrder === "asc" ? "\u25B2" : "\u25BC" })
16170
- ] })
16171
- },
16172
- String(col.key)
16173
- )) }) }),
16174
- /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: sortedData.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx(
16175
- "td",
16176
- {
16177
- colSpan: columns.length,
16178
- className: "px-4 py-4 text-center text-gray-500",
16179
- children: "No data available"
16180
- }
16181
- ) }) : sortedData.map((row, rowIndex) => /* @__PURE__ */ jsxRuntime.jsx(
16182
- "tr",
16183
- {
16184
- className: "hover:bg-gray-50 dark:hover:bg-gray-900 odd:eui-bg-sm even:eui-bg-md border-t border-t-gray-800",
16185
- children: columns.map((col) => {
16186
- const value = col.key in row ? row[col.key] : void 0;
16187
- return /* @__PURE__ */ jsxRuntime.jsx(
16188
- "td",
16189
- {
16190
- className: "px-4 py-1 text-gray-800 dark:text-gray-400",
16191
- children: col.render ? col.render(value, row) : String(value ?? "-")
16192
- },
16193
- String(col.key)
16194
- );
16195
- })
16196
- },
16197
- rowIndex
16198
- )) })
16199
- ] })
16200
- }
16201
- )
16252
+ /* @__PURE__ */ jsxRuntime.jsx(TableFrame, { className: cn(shapes[resolvedShape]), children: /* @__PURE__ */ jsxRuntime.jsxs(TableElement, { children: [
16253
+ /* @__PURE__ */ jsxRuntime.jsx(TableHead, { children: /* @__PURE__ */ jsxRuntime.jsx(TableRow, { className: "border-t-0", children: columns.map((col) => /* @__PURE__ */ jsxRuntime.jsx(
16254
+ TableHeaderCell,
16255
+ {
16256
+ onClick: () => col.sortable && toggleSort(String(col.key)),
16257
+ className: cn(
16258
+ "text-gray-700 dark:text-gray-200",
16259
+ col.sortable && "cursor-pointer select-none hover:bg-gray-200 dark:hover:bg-gray-700",
16260
+ sortKey === col.key && "bg-gray-300 dark:bg-gray-600"
16261
+ ),
16262
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
16263
+ col.header,
16264
+ col.sortable && sortKey === col.key && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs", children: sortOrder === "asc" ? "\u25B2" : "\u25BC" })
16265
+ ] })
16266
+ },
16267
+ String(col.key)
16268
+ )) }) }),
16269
+ /* @__PURE__ */ jsxRuntime.jsx(TableBody, { children: sortedData.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(TableRow, { children: /* @__PURE__ */ jsxRuntime.jsx(
16270
+ TableCell,
16271
+ {
16272
+ colSpan: columns.length,
16273
+ className: "py-4 text-center text-gray-500",
16274
+ children: "No data available"
16275
+ }
16276
+ ) }) : sortedData.map((row, rowIndex) => /* @__PURE__ */ jsxRuntime.jsx(
16277
+ TableRow,
16278
+ {
16279
+ className: "odd:eui-bg-sm even:eui-bg-md hover:bg-gray-50 dark:hover:bg-gray-900",
16280
+ children: columns.map((col) => {
16281
+ const value = col.key in row ? row[col.key] : void 0;
16282
+ return /* @__PURE__ */ jsxRuntime.jsx(
16283
+ TableCell,
16284
+ {
16285
+ className: "py-1 text-gray-800 dark:text-gray-400",
16286
+ children: col.render ? col.render(value, row) : String(value ?? "-")
16287
+ },
16288
+ String(col.key)
16289
+ );
16290
+ })
16291
+ },
16292
+ rowIndex
16293
+ )) })
16294
+ ] }) })
16202
16295
  ] });
16203
16296
  }
16204
16297
  var Table_default = Table;
@@ -16224,8 +16317,8 @@ function Tooltip6({
16224
16317
  className,
16225
16318
  ...rest
16226
16319
  }) {
16227
- const [pos, setPos] = React27.useState({ x: 0, y: 0 });
16228
- React27.useEffect(() => {
16320
+ const [pos, setPos] = React26.useState({ x: 0, y: 0 });
16321
+ React26.useEffect(() => {
16229
16322
  if (!show) return;
16230
16323
  const handleMove = (e) => {
16231
16324
  setPos({ x: e.clientX + offsetX, y: e.clientY + offsetY });
@@ -16354,8 +16447,8 @@ function CloudinaryVideo({
16354
16447
  }
16355
16448
  var CloudinaryVideo_default = CloudinaryVideo;
16356
16449
  var FormObserver = ({ formik, onChange }) => {
16357
- const prevValuesRef = React27.useRef(formik.values);
16358
- React27.useEffect(() => {
16450
+ const prevValuesRef = React26.useRef(formik.values);
16451
+ React26.useEffect(() => {
16359
16452
  if (!onChange) return;
16360
16453
  const currentValues = formik.values;
16361
16454
  const prevValues = prevValuesRef.current;
@@ -16374,7 +16467,7 @@ var FormObserver = ({ formik, onChange }) => {
16374
16467
  };
16375
16468
  var FormObserver_default = FormObserver;
16376
16469
  var DirtyObserver = ({ formik, onDirtyChange }) => {
16377
- React27.useEffect(() => {
16470
+ React26.useEffect(() => {
16378
16471
  if (onDirtyChange) {
16379
16472
  onDirtyChange(formik.dirty);
16380
16473
  }
@@ -16383,7 +16476,7 @@ var DirtyObserver = ({ formik, onDirtyChange }) => {
16383
16476
  };
16384
16477
  var DirtyObserver_default = DirtyObserver;
16385
16478
  var UnsavedChangesGuard = ({ formik, enabled }) => {
16386
- React27.useEffect(() => {
16479
+ React26.useEffect(() => {
16387
16480
  if (!enabled) return;
16388
16481
  const handleBeforeUnload = (e) => {
16389
16482
  if (!formik.dirty) return;
@@ -16422,7 +16515,7 @@ var Form = ({
16422
16515
  /* @__PURE__ */ jsxRuntime.jsx(UnsavedChangesGuard_default, { formik: formik$1, enabled: warnOnUnsavedChanges }),
16423
16516
  /* @__PURE__ */ jsxRuntime.jsx(DirtyObserver_default, { formik: formik$1, onDirtyChange }),
16424
16517
  /* @__PURE__ */ jsxRuntime.jsx(FormObserver_default, { formik: formik$1, onChange }),
16425
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames66__default.default(styles), children: children3 })
16518
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames77__default.default(styles), children: children3 })
16426
16519
  ] })
16427
16520
  }
16428
16521
  );
@@ -16671,17 +16764,17 @@ function useToastTimer({
16671
16764
  pauseOnHover,
16672
16765
  onTimeout
16673
16766
  }) {
16674
- const [isPaused, setIsPaused] = React27.useState(false);
16675
- const timeoutRef = React27.useRef(null);
16676
- const startedAtRef = React27.useRef(0);
16677
- const remainingRef = React27.useRef(typeof duration === "number" ? duration : 0);
16678
- const clearTimer = React27.useCallback(() => {
16767
+ const [isPaused, setIsPaused] = React26.useState(false);
16768
+ const timeoutRef = React26.useRef(null);
16769
+ const startedAtRef = React26.useRef(0);
16770
+ const remainingRef = React26.useRef(typeof duration === "number" ? duration : 0);
16771
+ const clearTimer = React26.useCallback(() => {
16679
16772
  if (timeoutRef.current !== null) {
16680
16773
  window.clearTimeout(timeoutRef.current);
16681
16774
  timeoutRef.current = null;
16682
16775
  }
16683
16776
  }, []);
16684
- const startTimer = React27.useCallback(() => {
16777
+ const startTimer = React26.useCallback(() => {
16685
16778
  if (typeof duration !== "number" || duration <= 0) {
16686
16779
  return;
16687
16780
  }
@@ -16691,12 +16784,12 @@ function useToastTimer({
16691
16784
  onTimeout();
16692
16785
  }, remainingRef.current);
16693
16786
  }, [clearTimer, duration, onTimeout]);
16694
- React27.useEffect(() => {
16787
+ React26.useEffect(() => {
16695
16788
  remainingRef.current = typeof duration === "number" ? duration : 0;
16696
16789
  startTimer();
16697
16790
  return clearTimer;
16698
16791
  }, [clearTimer, duration, startTimer]);
16699
- const pauseTimer = React27.useCallback(() => {
16792
+ const pauseTimer = React26.useCallback(() => {
16700
16793
  if (!pauseOnHover || typeof duration !== "number") {
16701
16794
  return;
16702
16795
  }
@@ -16707,14 +16800,14 @@ function useToastTimer({
16707
16800
  );
16708
16801
  setIsPaused(true);
16709
16802
  }, [clearTimer, duration, pauseOnHover]);
16710
- const resumeTimer = React27.useCallback(() => {
16803
+ const resumeTimer = React26.useCallback(() => {
16711
16804
  if (!pauseOnHover || typeof duration !== "number") {
16712
16805
  return;
16713
16806
  }
16714
16807
  setIsPaused(false);
16715
16808
  startTimer();
16716
16809
  }, [duration, pauseOnHover, startTimer]);
16717
- const progressStyle = React27.useMemo(() => {
16810
+ const progressStyle = React26.useMemo(() => {
16718
16811
  if (typeof duration !== "number") {
16719
16812
  return void 0;
16720
16813
  }
@@ -16755,7 +16848,7 @@ function ToastItem({
16755
16848
  const duration = item.duration ?? autoClose;
16756
16849
  const variant = toastStatusVariantMap[item.status];
16757
16850
  const statusStyles = toastVariantStyles[variant];
16758
- const dismiss = React27.useCallback(() => {
16851
+ const dismiss = React26.useCallback(() => {
16759
16852
  toastStore.remove(item.id);
16760
16853
  }, [item.id]);
16761
16854
  const { pauseTimer, resumeTimer, progressStyle } = useToastTimer({
@@ -16834,16 +16927,16 @@ var Toast = ({
16834
16927
  ...rest
16835
16928
  }) => {
16836
16929
  const eui = useEUIConfig();
16837
- const [items, setItems] = React27.useState(() => {
16930
+ const [items, setItems] = React26.useState(() => {
16838
16931
  return toastStore.getSnapshot();
16839
16932
  });
16840
- React27.useEffect(() => {
16933
+ React26.useEffect(() => {
16841
16934
  return toastStore.subscribe(setItems);
16842
16935
  }, []);
16843
- const safeShape = React27.useMemo(() => {
16936
+ const safeShape = React26.useMemo(() => {
16844
16937
  return normalizeToastShape(shape ?? eui?.config?.global?.shape);
16845
16938
  }, [shape, eui?.config?.global?.shape]);
16846
- const visibleItems = React27.useMemo(() => {
16939
+ const visibleItems = React26.useMemo(() => {
16847
16940
  const orderedItems = newestOnTop ? [...items].reverse() : [...items];
16848
16941
  return orderedItems.slice(0, maxToasts);
16849
16942
  }, [items, maxToasts, newestOnTop]);
@@ -16939,7 +17032,7 @@ function FormResponse({
16939
17032
  return /* @__PURE__ */ jsxRuntime.jsx(Transition.TransitionDropdown, { visibility: text10 ? true : false, children: /* @__PURE__ */ jsxRuntime.jsx(
16940
17033
  "div",
16941
17034
  {
16942
- className: classNames66__default.default({
17035
+ className: classNames77__default.default({
16943
17036
  "font-poppins font-light text-sm": true,
16944
17037
  [`${variantsLite[variant]}`]: variant,
16945
17038
  [`${shapes[shape]}`]: shape,
@@ -17006,17 +17099,17 @@ function YoutubeVideo({
17006
17099
  ) });
17007
17100
  }
17008
17101
  var YoutubeVideo_default = YoutubeVideo;
17009
- var ThemeContext = React27.createContext(
17102
+ var ThemeContext = React26.createContext(
17010
17103
  void 0
17011
17104
  );
17012
17105
  var ThemeProvider = ({
17013
17106
  defaultTheme = "dark",
17014
17107
  children: children3
17015
17108
  }) => {
17016
- const [theme, setTheme] = React27.useState(() => {
17109
+ const [theme, setTheme] = React26.useState(() => {
17017
17110
  return localStorage.getItem("theme") || defaultTheme;
17018
17111
  });
17019
- React27.useEffect(() => {
17112
+ React26.useEffect(() => {
17020
17113
  if (theme === "dark") {
17021
17114
  document.documentElement.classList.add("dark");
17022
17115
  } else {
@@ -17030,7 +17123,7 @@ var ThemeProvider = ({
17030
17123
  return /* @__PURE__ */ jsxRuntime.jsx(ThemeContext.Provider, { value: { theme, setTheme, toggleTheme }, children: children3 });
17031
17124
  };
17032
17125
  var ThemeSwitch = () => {
17033
- const themeContext = React27.useContext(ThemeContext);
17126
+ const themeContext = React26.useContext(ThemeContext);
17034
17127
  if (!themeContext) return null;
17035
17128
  const { theme, toggleTheme } = themeContext;
17036
17129
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -17056,7 +17149,7 @@ var ThemeSwitch = () => {
17056
17149
  /* @__PURE__ */ jsxRuntime.jsx(
17057
17150
  "div",
17058
17151
  {
17059
- className: classNames66__default.default(
17152
+ className: classNames77__default.default(
17060
17153
  "w-6 h-6 bg-white dark:bg-gray-600 rounded-full shadow-md transition-transform duration-300",
17061
17154
  theme === "dark" ? "translate-x-8" : "translate-x-0"
17062
17155
  )
@@ -17092,7 +17185,7 @@ var ShapeSwitch = () => {
17092
17185
 
17093
17186
  // src/hooks/theme/useCurrentTheme.ts
17094
17187
  var useCurrentTheme = () => {
17095
- const context = React27.useContext(ThemeContext);
17188
+ const context = React26.useContext(ThemeContext);
17096
17189
  if (!context) {
17097
17190
  throw new Error("useCurrentTheme must be used within a ThemeProvider");
17098
17191
  }
@@ -28435,7 +28528,7 @@ function WorldMap({
28435
28528
  }
28436
28529
  };
28437
28530
  const mode = isDarkMode ? mapStyles.dark : mapStyles.light;
28438
- const resolvedData = React27.useMemo(() => {
28531
+ const resolvedData = React26.useMemo(() => {
28439
28532
  return data.map((item) => {
28440
28533
  const c3 = COUNTRIES.find((x3) => x3.code === item.code);
28441
28534
  if (!c3) return null;
@@ -28447,8 +28540,8 @@ function WorldMap({
28447
28540
  }).filter(Boolean);
28448
28541
  }, [data]);
28449
28542
  const maxValue = resolvedData.length > 0 ? Math.max(...resolvedData.map((d) => d.value)) : 0;
28450
- const [showTooltip, setShowTooltip] = React27.useState(false);
28451
- const [tooltipContent, setTooltipContent] = React27.useState(null);
28543
+ const [showTooltip, setShowTooltip] = React26.useState(false);
28544
+ const [tooltipContent, setTooltipContent] = React26.useState(null);
28452
28545
  const handleMouseMove = (_e, point5) => {
28453
28546
  setTooltipContent(
28454
28547
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
@@ -28534,7 +28627,7 @@ function Button({
28534
28627
  }) {
28535
28628
  const eui = useEUIConfig();
28536
28629
  const resolvedShape = shape ?? eui?.config?.global?.shape ?? "square";
28537
- const btnRef = React27.useRef(null);
28630
+ const btnRef = React26.useRef(null);
28538
28631
  const variantStyles = resolveAppearanceStyles({
28539
28632
  appearance,
28540
28633
  variant,
@@ -28604,7 +28697,7 @@ function InputResponse({
28604
28697
  return /* @__PURE__ */ jsxRuntime.jsx(Transition.TransitionDropdown, { visibility, children: /* @__PURE__ */ jsxRuntime.jsx(
28605
28698
  "div",
28606
28699
  {
28607
- className: classNames66__default.default({
28700
+ className: classNames77__default.default({
28608
28701
  "font-medium text-sm py-1 px-2": true,
28609
28702
  [`${textVariants[variant]}`]: variant,
28610
28703
  "transition-all ease-in-out": true,
@@ -28619,7 +28712,7 @@ function InputLabel({ text: text10, children: children3, styles }) {
28619
28712
  return /* @__PURE__ */ jsxRuntime.jsx(
28620
28713
  "label",
28621
28714
  {
28622
- className: classNames66__default.default({
28715
+ className: classNames77__default.default({
28623
28716
  "px-0 eui-text-sm text-[13.5px] pointer-events-none select-none": true,
28624
28717
  "transition-all ease-in-out": true,
28625
28718
  [`${styles}`]: styles
@@ -28635,7 +28728,7 @@ var toggleType = (visibility) => {
28635
28728
  var PasswordVisibilityToggler = ({
28636
28729
  onClick
28637
28730
  }) => {
28638
- const [passwordVisibility, setPasswordVisibilty] = React27.useState(false);
28731
+ const [passwordVisibility, setPasswordVisibilty] = React26.useState(false);
28639
28732
  const handleOnClick = (visibility) => {
28640
28733
  onClick(visibility);
28641
28734
  setPasswordVisibilty(visibility);
@@ -28660,7 +28753,7 @@ var Input = ({
28660
28753
  const eui = useEUIConfig();
28661
28754
  const resolvedShape = shape ?? eui?.config?.global?.shape ?? "square";
28662
28755
  const [field, meta] = formik.useField(props);
28663
- const [passwordVisibility, setPasswordVisibilty] = React27.useState(false);
28756
+ const [passwordVisibility, setPasswordVisibilty] = React26.useState(false);
28664
28757
  const inputType = type2 === "password" ? toggleType(passwordVisibility) : type2;
28665
28758
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative w-full", children: [
28666
28759
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -28671,7 +28764,7 @@ var Input = ({
28671
28764
  ...field,
28672
28765
  ...props,
28673
28766
  placeholder,
28674
- className: classNames66__default.default({
28767
+ className: classNames77__default.default({
28675
28768
  "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,
28676
28769
  "border-eui-primary-400 focus:border-eui-secondary-500": !(meta.touched && meta.error),
28677
28770
  "border-eui-danger-500": meta.touched && meta.error,
@@ -28705,7 +28798,7 @@ var InputFile = ({
28705
28798
  styles,
28706
28799
  ...props
28707
28800
  }) => {
28708
- const fileInputRef = React27.useRef(null);
28801
+ const fileInputRef = React26.useRef(null);
28709
28802
  const [field, meta, helpers] = formik.useField(props);
28710
28803
  const handleFileChange = (e) => {
28711
28804
  const file = e.target.files?.[0] || null;
@@ -28716,7 +28809,7 @@ var InputFile = ({
28716
28809
  /* @__PURE__ */ jsxRuntime.jsx(
28717
28810
  "div",
28718
28811
  {
28719
- className: classNames66__default.default(
28812
+ className: classNames77__default.default(
28720
28813
  "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",
28721
28814
  {
28722
28815
  "border-eui-primary-400 focus:border-eui-secondary-500": !(meta.touched && meta.error),
@@ -28742,7 +28835,7 @@ var InputFile = ({
28742
28835
  InputLabel_default,
28743
28836
  {
28744
28837
  text: placeholder,
28745
- styles: classNames66__default.default({
28838
+ styles: classNames77__default.default({
28746
28839
  "absolute left-2 eui-text-sm peer-placeholder-shown:text-base peer-placeholder-shown:top-3 pointer-events-none": true,
28747
28840
  "top-[0.7px]": showFloatingLabel,
28748
28841
  "top-[13px] text-base": !showFloatingLabel
@@ -28795,7 +28888,7 @@ var InputList = ({ name: name2, placeholder, shape }) => {
28795
28888
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2", children: /* @__PURE__ */ jsxRuntime.jsx(formik.FieldArray, { name: name2, children: ({ push: push2, remove: remove2, move }) => /* @__PURE__ */ jsxRuntime.jsxs(
28796
28889
  "div",
28797
28890
  {
28798
- className: classNames66__default.default(
28891
+ className: classNames77__default.default(
28799
28892
  "flex w-full flex-col space-y-2 bg-eui-primary-300/10",
28800
28893
  shapes[resolvedShape]
28801
28894
  ),
@@ -28824,7 +28917,7 @@ var InputList = ({ name: name2, placeholder, shape }) => {
28824
28917
  ref: provided2.innerRef,
28825
28918
  ...draggableProps,
28826
28919
  style: draggableStyle,
28827
- className: classNames66__default.default(
28920
+ className: classNames77__default.default(
28828
28921
  "flex items-center space-x-2 bg-eui-primary-300/10 p-2",
28829
28922
  shapes[resolvedShape]
28830
28923
  ),
@@ -28835,7 +28928,7 @@ var InputList = ({ name: name2, placeholder, shape }) => {
28835
28928
  {
28836
28929
  name: `${name2}[${index3}]`,
28837
28930
  placeholder: `Item ${index3 + 1}`,
28838
- className: classNames66__default.default(
28931
+ className: classNames77__default.default(
28839
28932
  "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",
28840
28933
  shapes[resolvedShape],
28841
28934
  hasItemError ? "border-eui-danger-500" : "border-eui-primary-400 focus:border-eui-secondary-500"
@@ -28931,7 +29024,7 @@ var InputListGroup = ({
28931
29024
  return /* @__PURE__ */ jsxRuntime.jsxs(
28932
29025
  "div",
28933
29026
  {
28934
- className: classNames66__default.default(
29027
+ className: classNames77__default.default(
28935
29028
  "flex flex-col gap-2 bg-eui-primary-300/10 p-3",
28936
29029
  shapes[resolvedShape]
28937
29030
  ),
@@ -28943,7 +29036,7 @@ var InputListGroup = ({
28943
29036
  {
28944
29037
  name: `${name2}[${groupIndex}].name`,
28945
29038
  placeholder: `Group ${groupIndex + 1}`,
28946
- className: classNames66__default.default(
29039
+ className: classNames77__default.default(
28947
29040
  "h-[40px] w-full border bg-eui-primary-300/10 px-3 py-2 text-md focus:outline-none",
28948
29041
  shapes[resolvedShape],
28949
29042
  "border-eui-primary-400 focus:border-eui-secondary-500"
@@ -28974,7 +29067,7 @@ var InputListGroup = ({
28974
29067
  {
28975
29068
  ref: provided.innerRef,
28976
29069
  ...provided.droppableProps,
28977
- className: classNames66__default.default(
29070
+ className: classNames77__default.default(
28978
29071
  "space-y-2 bg-eui-primary-300/10 p-2",
28979
29072
  shapes[resolvedShape]
28980
29073
  ),
@@ -28994,7 +29087,7 @@ var InputListGroup = ({
28994
29087
  ref: provided2.innerRef,
28995
29088
  ...draggableProps,
28996
29089
  style: draggableStyle,
28997
- className: classNames66__default.default(
29090
+ className: classNames77__default.default(
28998
29091
  "flex items-center gap-2 bg-eui-primary-300/10 p-2",
28999
29092
  shapes[resolvedShape]
29000
29093
  ),
@@ -29005,7 +29098,7 @@ var InputListGroup = ({
29005
29098
  {
29006
29099
  name: `${itemsFieldName}[${itemIndex}]`,
29007
29100
  placeholder: `Item ${itemIndex + 1}`,
29008
- className: classNames66__default.default(
29101
+ className: classNames77__default.default(
29009
29102
  "h-[40px] w-full border bg-eui-primary-300/10 px-3 py-2 text-md focus:outline-none",
29010
29103
  shapes[resolvedShape],
29011
29104
  "border-eui-primary-400 focus:border-eui-secondary-500"
@@ -29219,7 +29312,7 @@ var DateSelector = ({
29219
29312
  ...field,
29220
29313
  ...props,
29221
29314
  placeholder,
29222
- className: classNames66__default.default({
29315
+ className: classNames77__default.default({
29223
29316
  "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,
29224
29317
  "border-eui-danger-500": meta.touched && meta.error,
29225
29318
  "transition-all ease-in-out": true,
@@ -29245,7 +29338,7 @@ function ImageView({ imageUrl, secure = true, alt = "image" }) {
29245
29338
  ) }) });
29246
29339
  }
29247
29340
  var ImageView_default = ImageView;
29248
- var ImageInput = React27.forwardRef(
29341
+ var ImageInput = React26.forwardRef(
29249
29342
  ({
29250
29343
  title = "Upload Image",
29251
29344
  uploadDir = "eg-frontend-admin-temp",
@@ -29257,10 +29350,10 @@ var ImageInput = React27.forwardRef(
29257
29350
  const [field, meta, helpers] = formik.useField(props);
29258
29351
  const { value: imageUrl } = field;
29259
29352
  const { setValue } = helpers;
29260
- const [image3, setImage] = React27.useState(null);
29261
- const [url, setUrl] = React27.useState(imageUrl);
29262
- const [loading, setLoading] = React27.useState(false);
29263
- const [preview, setPreview] = React27.useState(null);
29353
+ const [image3, setImage] = React26.useState(null);
29354
+ const [url, setUrl] = React26.useState(imageUrl);
29355
+ const [loading, setLoading] = React26.useState(false);
29356
+ const [preview, setPreview] = React26.useState(null);
29264
29357
  const uploadImage = async () => {
29265
29358
  if (!image3) return;
29266
29359
  setLoading(true);
@@ -29306,10 +29399,10 @@ var ImageInput = React27.forwardRef(
29306
29399
  if (!disableSetValue) setValue("");
29307
29400
  setLoading(false);
29308
29401
  };
29309
- React27.useImperativeHandle(ref, () => ({
29402
+ React26.useImperativeHandle(ref, () => ({
29310
29403
  handleResetClick
29311
29404
  }));
29312
- React27.useEffect(() => {
29405
+ React26.useEffect(() => {
29313
29406
  if (!disableSetValue) setValue(url);
29314
29407
  }, [url, setValue, disableSetValue]);
29315
29408
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full", children: [
@@ -29328,7 +29421,7 @@ var ImageInput = React27.forwardRef(
29328
29421
  /* @__PURE__ */ jsxRuntime.jsxs(
29329
29422
  "label",
29330
29423
  {
29331
- className: classNames66__default.default({
29424
+ className: classNames77__default.default({
29332
29425
  "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,
29333
29426
  "hover:cursor-pointer hover:border-solid hover:border-gray-600 hover:bg-gray-900/80": true,
29334
29427
  "transition-all ease-in-out duration-150": true
@@ -29394,14 +29487,14 @@ function MultiImageInput({
29394
29487
  const [field, meta, helpers] = formik.useField(props);
29395
29488
  const { value: imageUrls } = field;
29396
29489
  const { setValue } = helpers;
29397
- const imageInputRef = React27.useRef(null);
29490
+ const imageInputRef = React26.useRef(null);
29398
29491
  const onValueChanged = (url) => {
29399
29492
  setValue([...imageUrls, url]);
29400
29493
  if (imageInputRef.current) {
29401
29494
  imageInputRef.current.handleResetClick();
29402
29495
  }
29403
29496
  };
29404
- React27.useEffect(() => {
29497
+ React26.useEffect(() => {
29405
29498
  }, [imageUrls]);
29406
29499
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
29407
29500
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-row flex-wrap gap-5 w-ful", children: [
@@ -29445,7 +29538,7 @@ function Radio({
29445
29538
  return /* @__PURE__ */ jsxRuntime.jsxs(
29446
29539
  "div",
29447
29540
  {
29448
- className: classNames66__default.default({
29541
+ className: classNames77__default.default({
29449
29542
  "flex flex-row gap-2 items-center mx-1 my-2": true
29450
29543
  }),
29451
29544
  children: [
@@ -29458,7 +29551,7 @@ function Radio({
29458
29551
  ...props,
29459
29552
  value: option.value,
29460
29553
  checked: field2.value === option.value,
29461
- className: classNames66__default.default({
29554
+ className: classNames77__default.default({
29462
29555
  "appearance-none w-4 h-4 border-2 border-eui-primary-400 rounded-full cursor-pointer transition-all duration-300": true,
29463
29556
  // base radio button styles
29464
29557
  "checked:bg-eui-secondary-700 checked:border-eui-primary-400": field2.value === option.value
@@ -29470,7 +29563,7 @@ function Radio({
29470
29563
  "label",
29471
29564
  {
29472
29565
  htmlFor: option.value,
29473
- className: classNames66__default.default({
29566
+ className: classNames77__default.default({
29474
29567
  "eui-text-md text-sm": true
29475
29568
  }),
29476
29569
  children: option.label
@@ -29501,9 +29594,9 @@ function StarRatingInput({
29501
29594
  const { name: name2 } = props;
29502
29595
  const [field, meta] = formik.useField(props);
29503
29596
  const formikContext = formik.useFormikContext();
29504
- const [rating, setRating] = React27.useState(Number(field.value) || 0);
29505
- const [hover, setHover] = React27.useState(null);
29506
- React27.useEffect(() => {
29597
+ const [rating, setRating] = React26.useState(Number(field.value) || 0);
29598
+ const [hover, setHover] = React26.useState(null);
29599
+ React26.useEffect(() => {
29507
29600
  setRating(Number(field.value));
29508
29601
  }, [field.value]);
29509
29602
  const handleOnClick = (index3) => {
@@ -29513,7 +29606,7 @@ function StarRatingInput({
29513
29606
  return /* @__PURE__ */ jsxRuntime.jsxs(
29514
29607
  "div",
29515
29608
  {
29516
- className: classNames66__default.default({
29609
+ className: classNames77__default.default({
29517
29610
  "inline-flex gap-[4px] text-[20px]": true,
29518
29611
  [`${styles}`]: styles
29519
29612
  }),
@@ -29526,7 +29619,7 @@ function StarRatingInput({
29526
29619
  onClick: () => handleOnClick(index3),
29527
29620
  onMouseEnter: () => setHover(index3),
29528
29621
  onMouseLeave: () => setHover(null),
29529
- className: classNames66__default.default({
29622
+ className: classNames77__default.default({
29530
29623
  "text-yellow-600": index3 <= (hover ?? rating - 1),
29531
29624
  "text-gray-400": index3 > (hover ?? rating - 1)
29532
29625
  }),
@@ -29570,7 +29663,7 @@ function Select({
29570
29663
  {
29571
29664
  as: "select",
29572
29665
  ...props,
29573
- className: classNames66__default.default({
29666
+ className: classNames77__default.default({
29574
29667
  "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,
29575
29668
  "border-eui-primary-400": !(meta.touched && meta.error),
29576
29669
  "border-red-500": meta.touched && meta.error,
@@ -29622,7 +29715,7 @@ function Switch({
29622
29715
  "div",
29623
29716
  {
29624
29717
  onClick: () => helpers.setValue(!field.value),
29625
- className: classNames66__default.default(
29718
+ className: classNames77__default.default(
29626
29719
  "w-11 h-6 bg-gray-200 peer-focus:outline-none rounded-full peer dark:bg-eui-dark-100",
29627
29720
  "peer-checked:after:translate-x-full peer-checked:after:border-white",
29628
29721
  "after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white",
@@ -29652,7 +29745,7 @@ function Tags({
29652
29745
  ...props
29653
29746
  }) {
29654
29747
  const [field, meta, helpers] = formik.useField({ ...props });
29655
- const [input, setInput] = React27.useState("");
29748
+ const [input, setInput] = React26.useState("");
29656
29749
  const handleAddTag = () => {
29657
29750
  const trimmed = input.trim();
29658
29751
  if (trimmed && !field.value.includes(trimmed) && field.value.length < limit) {
@@ -29679,7 +29772,7 @@ function Tags({
29679
29772
  /* @__PURE__ */ jsxRuntime.jsxs(
29680
29773
  "div",
29681
29774
  {
29682
- className: classNames66__default.default(
29775
+ className: classNames77__default.default(
29683
29776
  "border rounded-sm flex flex-wrap items-center gap-2 px-2 pt-2 pb-6 min-h-[3rem]",
29684
29777
  {
29685
29778
  "bg-eui-primary-300/10 eui-text-md": true,
@@ -29727,7 +29820,7 @@ function Tags({
29727
29820
  InputLabel_default,
29728
29821
  {
29729
29822
  text: placeholder,
29730
- styles: classNames66__default.default(
29823
+ styles: classNames77__default.default(
29731
29824
  "absolute left-2 transition-all pointer-events-none text-eui-dark-200",
29732
29825
  input.length > 0 || field.value.length > 0 ? "top-[2px] text-[13.5px]" : "top-3 text-base"
29733
29826
  )
@@ -29768,7 +29861,7 @@ function TextArea({
29768
29861
  as: "textarea",
29769
29862
  ...field,
29770
29863
  ...props,
29771
- className: classNames66__default.default({
29864
+ className: classNames77__default.default({
29772
29865
  "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,
29773
29866
  "transition-all ease-in-out": true,
29774
29867
  "border-eui-primary-400 focus:border-eui-secondary-500": !(meta.touched && meta.error),
@@ -29782,7 +29875,7 @@ function TextArea({
29782
29875
  InputLabel_default,
29783
29876
  {
29784
29877
  text: placeholder,
29785
- styles: classNames66__default.default(
29878
+ styles: classNames77__default.default(
29786
29879
  "absolute left-2 transition-all pointer-events-none text-eui-dark-200",
29787
29880
  field.value ? "top-[2px] text-[13.5px]" : "top-3 text-base"
29788
29881
  )
@@ -29805,13 +29898,13 @@ function TextArea({
29805
29898
  ] });
29806
29899
  }
29807
29900
  var TextArea_default = TextArea;
29808
- var ContentArea = React27.forwardRef(
29901
+ var ContentArea = React26.forwardRef(
29809
29902
  ({ children: children3, styles, enablePadding = false }, ref) => {
29810
29903
  return /* @__PURE__ */ jsxRuntime.jsx(
29811
29904
  "div",
29812
29905
  {
29813
29906
  ref,
29814
- className: classNames66__default.default({
29907
+ className: classNames77__default.default({
29815
29908
  "min-h-screen h-full w-full transition-all duration-[200ms]": true,
29816
29909
  "py-3 px-5": !enablePadding,
29817
29910
  "py-3 px-5 lg:px-[150px]": enablePadding,
@@ -29828,7 +29921,7 @@ function FlexCol({ children: children3, gap = 3, styles }) {
29828
29921
  return /* @__PURE__ */ jsxRuntime.jsx(
29829
29922
  "div",
29830
29923
  {
29831
- className: classNames66__default.default({
29924
+ className: classNames77__default.default({
29832
29925
  [`flex flex-col gap-${gap}`]: true,
29833
29926
  [`${styles}`]: styles
29834
29927
  }),
@@ -29841,7 +29934,7 @@ function FlexRow({ children: children3, gap = 3, styles }) {
29841
29934
  return /* @__PURE__ */ jsxRuntime.jsx(
29842
29935
  "div",
29843
29936
  {
29844
- className: classNames66__default.default({
29937
+ className: classNames77__default.default({
29845
29938
  [`flex flex-row gap-${gap}`]: true,
29846
29939
  [`${styles}`]: styles
29847
29940
  }),
@@ -29860,7 +29953,7 @@ function Grid({ children: children3, styles }) {
29860
29953
  return /* @__PURE__ */ jsxRuntime.jsx(
29861
29954
  "div",
29862
29955
  {
29863
- className: classNames66__default.default({
29956
+ className: classNames77__default.default({
29864
29957
  [`grid`]: true,
29865
29958
  [`${styles}`]: styles
29866
29959
  }),
@@ -29877,7 +29970,7 @@ var Layout = ({
29877
29970
  return /* @__PURE__ */ jsxRuntime.jsx(
29878
29971
  "div",
29879
29972
  {
29880
- className: classNames66__default.default({
29973
+ className: classNames77__default.default({
29881
29974
  // "flex h-full w-screen bg-gray-100 overflow-auto": true,
29882
29975
  "flex bg-eui-light-600": true,
29883
29976
  "flex-col": flexDirection === "vertical",
@@ -29896,7 +29989,7 @@ var Header = ({
29896
29989
  return /* @__PURE__ */ jsxRuntime.jsx(
29897
29990
  "div",
29898
29991
  {
29899
- className: classNames66__default.default({
29992
+ className: classNames77__default.default({
29900
29993
  static: position4 === "static",
29901
29994
  fixed: position4 === "fixed",
29902
29995
  sticky: position4 === "sticky",
@@ -29915,8 +30008,8 @@ var Header = ({
29915
30008
  );
29916
30009
  };
29917
30010
  var useIsMobile = (breakpoint = 768) => {
29918
- const [isMobile, setIsMobile] = React27.useState(window.innerWidth < breakpoint);
29919
- React27.useEffect(() => {
30011
+ const [isMobile, setIsMobile] = React26.useState(window.innerWidth < breakpoint);
30012
+ React26.useEffect(() => {
29920
30013
  const handleResize = () => {
29921
30014
  setIsMobile(window.innerWidth < breakpoint);
29922
30015
  };
@@ -29936,7 +30029,7 @@ var Content = ({
29936
30029
  return /* @__PURE__ */ jsxRuntime.jsx(
29937
30030
  "div",
29938
30031
  {
29939
- className: classNames66__default.default({
30032
+ className: classNames77__default.default({
29940
30033
  "w-full min-h-screen transition-all duration-200 eui-bg-sm": true,
29941
30034
  "md:pl-[300px]": !overlayedSidebar && sidebarVisible && !isMobile,
29942
30035
  // Shift when sidebar is open (desktop)
@@ -29952,7 +30045,7 @@ var Footer = ({ children: children3, styles }) => {
29952
30045
  return /* @__PURE__ */ jsxRuntime.jsx(
29953
30046
  "div",
29954
30047
  {
29955
- className: classNames66__default.default({
30048
+ className: classNames77__default.default({
29956
30049
  "bottom-0 w-full h-fit": true,
29957
30050
  "border-t border-eui-dark-500/40 dark:border-eui-secondary-800 eui-bg-md": !styles,
29958
30051
  [`${styles}`]: styles
@@ -30036,7 +30129,7 @@ function BreadcrumbItem({
30036
30129
  {
30037
30130
  href,
30038
30131
  onClick,
30039
- className: classNames66__default.default({
30132
+ className: classNames77__default.default({
30040
30133
  "text-lg font-semibold": true,
30041
30134
  "text-gray-400 hover:text-gray-600 cursor-pointer": !active,
30042
30135
  "text-eui-light-800": active,
@@ -30083,7 +30176,7 @@ var Breadcrumb = ({
30083
30176
  const { config } = useEUIConfig();
30084
30177
  const pathname = currentPath || (typeof window !== "undefined" ? window.location.pathname : "/");
30085
30178
  const resolvedRoutes = routes || config?.routes || [];
30086
- const resolvedData = React27.useMemo(() => {
30179
+ const resolvedData = React26.useMemo(() => {
30087
30180
  if (resolvedRoutes && resolvedRoutes.length > 0) {
30088
30181
  return buildFromRoutes(resolvedRoutes, pathname);
30089
30182
  }
@@ -30100,7 +30193,7 @@ var Breadcrumb = ({
30100
30193
  navigate(item.href);
30101
30194
  }
30102
30195
  };
30103
- return /* @__PURE__ */ jsxRuntime.jsxs(React27__default.default.Fragment, { children: [
30196
+ return /* @__PURE__ */ jsxRuntime.jsxs(React26__default.default.Fragment, { children: [
30104
30197
  /* @__PURE__ */ jsxRuntime.jsx(
30105
30198
  BreadcrumbItem_default,
30106
30199
  {
@@ -30113,7 +30206,7 @@ var Breadcrumb = ({
30113
30206
  index3 < resolvedData.length - 1 && /* @__PURE__ */ jsxRuntime.jsx(
30114
30207
  "span",
30115
30208
  {
30116
- className: classNames66__default.default({
30209
+ className: classNames77__default.default({
30117
30210
  "text-lg font-semibold text-gray-500": true,
30118
30211
  [`px-${gap}`]: gap
30119
30212
  }),
@@ -30127,7 +30220,7 @@ var Breadcrumb = ({
30127
30220
  return /* @__PURE__ */ jsxRuntime.jsx(
30128
30221
  "div",
30129
30222
  {
30130
- className: classNames66__default.default({
30223
+ className: classNames77__default.default({
30131
30224
  "inline-flex": true,
30132
30225
  [`${styles}`]: styles
30133
30226
  }),
@@ -30159,7 +30252,7 @@ var Drawer = ({
30159
30252
  isMobile && showBackdrop && /* @__PURE__ */ jsxRuntime.jsx(TransitionFade_default, { visibility, leaveDuration: 200, children: /* @__PURE__ */ jsxRuntime.jsx(
30160
30253
  "div",
30161
30254
  {
30162
- className: classNames66__default.default(
30255
+ className: classNames77__default.default(
30163
30256
  "fixed inset-0 bg-black/50 z-40",
30164
30257
  backdropStyles
30165
30258
  ),
@@ -30170,7 +30263,7 @@ var Drawer = ({
30170
30263
  "div",
30171
30264
  {
30172
30265
  style: drawerStyle,
30173
- className: classNames66__default.default(
30266
+ className: classNames77__default.default(
30174
30267
  "fixed shadow-lg z-50",
30175
30268
  {
30176
30269
  "h-full w-[300px] top-0": isHorizontal && !hasOffset,
@@ -30199,7 +30292,7 @@ function DrawerToggler({
30199
30292
  return /* @__PURE__ */ jsxRuntime.jsx(
30200
30293
  "div",
30201
30294
  {
30202
- className: classNames66__default.default({
30295
+ className: classNames77__default.default({
30203
30296
  "text-xl p-3 cursor-pointer": true,
30204
30297
  "transition-all ease-in-out": true,
30205
30298
  "text-eui-dark-500 dark:text-eui-secondary-600": !styles,
@@ -30247,7 +30340,7 @@ function FooterNav({ data = [], styles }) {
30247
30340
  childrenContent = /* @__PURE__ */ jsxRuntime.jsx(
30248
30341
  "div",
30249
30342
  {
30250
- className: classNames66__default.default({
30343
+ className: classNames77__default.default({
30251
30344
  "grid w-full": true,
30252
30345
  "grid-cols-1": isMobile,
30253
30346
  "grid-cols-3": !isMobile,
@@ -30260,7 +30353,7 @@ function FooterNav({ data = [], styles }) {
30260
30353
  return /* @__PURE__ */ jsxRuntime.jsx(
30261
30354
  "div",
30262
30355
  {
30263
- className: classNames66__default.default({
30356
+ className: classNames77__default.default({
30264
30357
  [`${styles}`]: styles
30265
30358
  }),
30266
30359
  children: childrenContent
@@ -30301,7 +30394,7 @@ var FooterNavGroup = ({
30301
30394
  /* @__PURE__ */ jsxRuntime.jsx(
30302
30395
  "div",
30303
30396
  {
30304
- className: classNames66__default.default({
30397
+ className: classNames77__default.default({
30305
30398
  "": true,
30306
30399
  "py-2 font-semibold eui-text-lg": !styles,
30307
30400
  [`${styles}`]: styles
@@ -30346,7 +30439,7 @@ var FooterNavItem = ({
30346
30439
  "div",
30347
30440
  {
30348
30441
  onClick: handleNavigation,
30349
- className: classNames66__default.default({
30442
+ className: classNames77__default.default({
30350
30443
  "flex flex-row items-center gap-3 cursor-pointer p-1 w-full": true,
30351
30444
  "transition-all duration-200 ease-in-out": true,
30352
30445
  "text-sm eui-text-sm": !styles,
@@ -30375,7 +30468,7 @@ var FooterNavItemTitle = ({
30375
30468
  return /* @__PURE__ */ jsxRuntime.jsx(
30376
30469
  "div",
30377
30470
  {
30378
- className: classNames66__default.default({
30471
+ className: classNames77__default.default({
30379
30472
  "": true,
30380
30473
  "py-2 font-thin eui-text-md": !styles,
30381
30474
  [`${styles}`]: styles
@@ -30428,7 +30521,7 @@ function HeaderNav({ data = [], styles }) {
30428
30521
  return /* @__PURE__ */ jsxRuntime.jsx(
30429
30522
  "div",
30430
30523
  {
30431
- className: classNames66__default.default({
30524
+ className: classNames77__default.default({
30432
30525
  [`${styles}`]: styles
30433
30526
  }),
30434
30527
  children: childrenContent
@@ -30437,7 +30530,7 @@ function HeaderNav({ data = [], styles }) {
30437
30530
  }
30438
30531
  var HeaderNav_default = HeaderNav;
30439
30532
  function useClickOutside(ref, fun) {
30440
- React27.useEffect(() => {
30533
+ React26.useEffect(() => {
30441
30534
  const listener = (e) => {
30442
30535
  if (!ref.current || ref.current.contains(e.target)) {
30443
30536
  return;
@@ -30478,8 +30571,8 @@ var HeaderNavGroup = ({
30478
30571
  styles,
30479
30572
  children: children3
30480
30573
  }) => {
30481
- const [collapsed, setCollapsed] = React27.useState(true);
30482
- const headerNavGroupRef = React27.useRef(null);
30574
+ const [collapsed, setCollapsed] = React26.useState(true);
30575
+ const headerNavGroupRef = React26.useRef(null);
30483
30576
  useClickOutside(headerNavGroupRef, () => setCollapsed(true));
30484
30577
  const handleNavigation = () => {
30485
30578
  if (to) {
@@ -30490,7 +30583,7 @@ var HeaderNavGroup = ({
30490
30583
  /* @__PURE__ */ jsxRuntime.jsxs(
30491
30584
  "div",
30492
30585
  {
30493
- className: classNames66__default.default({
30586
+ className: classNames77__default.default({
30494
30587
  "flex flex-row gap-2 items-center justify-between cursor-pointer p-3 w-full": true,
30495
30588
  "transition-all duration-300 ease-in-out": true,
30496
30589
  "eui-text-md bg-gradient-to-t from-eui-dark-500/10 dark:from-green-700/10": !styles,
@@ -30518,7 +30611,7 @@ var HeaderNavGroup = ({
30518
30611
  children3 && /* @__PURE__ */ jsxRuntime.jsx(
30519
30612
  index_js$3.BsChevronDown,
30520
30613
  {
30521
- className: classNames66__default.default({
30614
+ className: classNames77__default.default({
30522
30615
  "text-md": true,
30523
30616
  "transition-all ease-in-out duration-300": true,
30524
30617
  "rotate-180": !collapsed
@@ -30531,7 +30624,7 @@ var HeaderNavGroup = ({
30531
30624
  !collapsed && children3 && /* @__PURE__ */ jsxRuntime.jsx(
30532
30625
  "div",
30533
30626
  {
30534
- className: classNames66__default.default({
30627
+ className: classNames77__default.default({
30535
30628
  "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,
30536
30629
  "transition-all duration-300 ease-in-out": true
30537
30630
  }),
@@ -30561,7 +30654,7 @@ var HeaderNavItem = ({
30561
30654
  "div",
30562
30655
  {
30563
30656
  onClick: handleNavigation,
30564
- className: classNames66__default.default({
30657
+ className: classNames77__default.default({
30565
30658
  "flex flex-row items-center gap-3 cursor-pointer p-3 w-full": true,
30566
30659
  "transition-all duration-200 ease-in-out": true,
30567
30660
  "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,
@@ -30590,7 +30683,7 @@ var HeaderNavItemTitle = ({
30590
30683
  return /* @__PURE__ */ jsxRuntime.jsx(
30591
30684
  "div",
30592
30685
  {
30593
- className: classNames66__default.default({
30686
+ className: classNames77__default.default({
30594
30687
  "p-3 font-thin": true,
30595
30688
  "eui-text-md": !styles,
30596
30689
  [`${styles}`]: styles
@@ -30630,7 +30723,7 @@ var Link = ({
30630
30723
  href: href || "#",
30631
30724
  target: targets[target],
30632
30725
  onClick: handleClick,
30633
- className: classNames66__default.default({
30726
+ className: classNames77__default.default({
30634
30727
  [`${textVariants[variant]}`]: variant,
30635
30728
  [`${decorations[decoration]}`]: decoration,
30636
30729
  "font-bold": bold,
@@ -30702,8 +30795,8 @@ var MenuGroup = ({
30702
30795
  style: style2,
30703
30796
  ...rest
30704
30797
  }) => {
30705
- const [collapsed, setCollapsed] = React27.useState(!defaultOpen);
30706
- React27.useEffect(() => {
30798
+ const [collapsed, setCollapsed] = React26.useState(!defaultOpen);
30799
+ React26.useEffect(() => {
30707
30800
  if (defaultOpen !== void 0) {
30708
30801
  setCollapsed(!defaultOpen);
30709
30802
  }
@@ -30820,12 +30913,12 @@ var Menu = ({
30820
30913
  defaultMenuElements,
30821
30914
  currentPath
30822
30915
  }) => {
30823
- const normalizedItems = React27.useMemo(() => assignKeys(items), [items]);
30824
- const selected = React27.useMemo(() => {
30916
+ const normalizedItems = React26.useMemo(() => assignKeys(items), [items]);
30917
+ const selected = React26.useMemo(() => {
30825
30918
  if (!currentPath) return void 0;
30826
30919
  return findSelectedKey(normalizedItems, currentPath);
30827
30920
  }, [currentPath, normalizedItems]);
30828
- const parentMap = React27.useMemo(
30921
+ const parentMap = React26.useMemo(
30829
30922
  () => buildParentMap(normalizedItems),
30830
30923
  [normalizedItems]
30831
30924
  );
@@ -30978,8 +31071,8 @@ function RouteTabs({
30978
31071
  const currentPath = window.location.pathname;
30979
31072
  return navData.find((tab2) => tab2.to === currentPath)?.to || navData[0]?.to;
30980
31073
  };
30981
- const [activeTab, setActiveTab] = React27.useState(getActiveTab);
30982
- React27.useEffect(() => {
31074
+ const [activeTab, setActiveTab] = React26.useState(getActiveTab);
31075
+ React26.useEffect(() => {
30983
31076
  if (mode !== "route") return;
30984
31077
  const handlePopState = () => {
30985
31078
  setActiveTab(getActiveTab());
@@ -31074,7 +31167,7 @@ function AsyncStateCard({
31074
31167
  }
31075
31168
  );
31076
31169
  }
31077
- var AsyncStateCard_default = React27__default.default.memo(AsyncStateCard);
31170
+ var AsyncStateCard_default = React26__default.default.memo(AsyncStateCard);
31078
31171
 
31079
31172
  // src/components/utils/async-component-wrapper/asyncError.utils.ts
31080
31173
  var getDefaultErrorMessage = (error) => {
@@ -31133,22 +31226,22 @@ function AsyncComponentWrapper({
31133
31226
  contentClassName,
31134
31227
  stateClassName
31135
31228
  }) {
31136
- const [isRetrying, setIsRetrying] = React27.useState(false);
31137
- const retryTimerRef = React27.useRef(null);
31138
- const errorMessage = React27.useMemo(() => {
31229
+ const [isRetrying, setIsRetrying] = React26.useState(false);
31230
+ const retryTimerRef = React26.useRef(null);
31231
+ const errorMessage = React26.useMemo(() => {
31139
31232
  if (!isError) return "";
31140
31233
  return errorFormatter ? errorFormatter(error) : getDefaultErrorMessage(error);
31141
31234
  }, [isError, error, errorFormatter]);
31142
31235
  const hasSuccess = isSuccess ?? (!isLoading && !isError && !isUninitialized);
31143
31236
  const shouldShowRetryLoading = showLoadingOnRetry && (isRetrying || isFetching && isError);
31144
31237
  const shouldShowLoading = isLoading || shouldShowRetryLoading;
31145
- const clearRetryTimer = React27.useCallback(() => {
31238
+ const clearRetryTimer = React26.useCallback(() => {
31146
31239
  if (retryTimerRef.current) {
31147
31240
  clearTimeout(retryTimerRef.current);
31148
31241
  retryTimerRef.current = null;
31149
31242
  }
31150
31243
  }, []);
31151
- const handleRetry = React27.useCallback(() => {
31244
+ const handleRetry = React26.useCallback(() => {
31152
31245
  if (!onRetry) return;
31153
31246
  clearRetryTimer();
31154
31247
  setIsRetrying(true);
@@ -31168,12 +31261,12 @@ function AsyncComponentWrapper({
31168
31261
  throw retryError;
31169
31262
  }
31170
31263
  }, [onRetry, clearRetryTimer, retryLoadingFallbackMs]);
31171
- React27.useEffect(() => {
31264
+ React26.useEffect(() => {
31172
31265
  if (!isLoading && !isFetching && !isError) {
31173
31266
  setIsRetrying(false);
31174
31267
  }
31175
31268
  }, [isLoading, isFetching, isError]);
31176
- React27.useEffect(() => {
31269
+ React26.useEffect(() => {
31177
31270
  return () => {
31178
31271
  clearRetryTimer();
31179
31272
  };
@@ -31255,7 +31348,7 @@ function AsyncComponentWrapper({
31255
31348
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(contentClassName), children: children3 })
31256
31349
  ] });
31257
31350
  }
31258
- var AsyncComponentWrapper_default = React27__default.default.memo(AsyncComponentWrapper);
31351
+ var AsyncComponentWrapper_default = React26__default.default.memo(AsyncComponentWrapper);
31259
31352
  function Modal({
31260
31353
  title,
31261
31354
  show = false,
@@ -31271,7 +31364,7 @@ function Modal({
31271
31364
  }) {
31272
31365
  const eui = useEUIConfig();
31273
31366
  const resolvedShape = shape ?? eui?.config?.global?.shape ?? "square";
31274
- const modalRef = React27.useRef(null);
31367
+ const modalRef = React26.useRef(null);
31275
31368
  useClickOutside(
31276
31369
  modalRef,
31277
31370
  enableCloseOnClickOutside ? handleOnClose : void 0
@@ -31280,7 +31373,7 @@ function Modal({
31280
31373
  "div",
31281
31374
  {
31282
31375
  ref: modalRef,
31283
- className: classNames66__default.default(
31376
+ className: classNames77__default.default(
31284
31377
  "eui-bg-md eui-shadow-lg border border-gray-700/80 w-fit h-fit",
31285
31378
  shapes[resolvedShape],
31286
31379
  styles
@@ -31292,7 +31385,7 @@ function Modal({
31292
31385
  "button",
31293
31386
  {
31294
31387
  type: "button",
31295
- className: classNames66__default.default(
31388
+ className: classNames77__default.default(
31296
31389
  "w-[60px] h-[60px] flex items-center justify-center transition-standard-fast",
31297
31390
  "hover:cursor-pointer hover:bg-eui-dark-500"
31298
31391
  ),
@@ -31323,8 +31416,8 @@ var GlowWrapper = ({
31323
31416
  className = "",
31324
31417
  hideOnLeave = true
31325
31418
  }) => {
31326
- const ref = React27.useRef(null);
31327
- const handleMove = React27.useCallback(
31419
+ const ref = React26.useRef(null);
31420
+ const handleMove = React26.useCallback(
31328
31421
  (e) => {
31329
31422
  const el = ref.current;
31330
31423
  if (!el) return;
@@ -31346,7 +31439,7 @@ var GlowWrapper = ({
31346
31439
  },
31347
31440
  [glowSize, glowColor]
31348
31441
  );
31349
- const handleLeave = React27.useCallback(() => {
31442
+ const handleLeave = React26.useCallback(() => {
31350
31443
  const el = ref.current;
31351
31444
  if (!el || !hideOnLeave) return;
31352
31445
  el.style.setProperty("--glow-x", `-999px`);
@@ -31391,8 +31484,8 @@ function InfiniteScrollTrigger({
31391
31484
  threshold = 0,
31392
31485
  onLoadMore
31393
31486
  }) {
31394
- const triggerRef = React27.useRef(null);
31395
- React27.useEffect(() => {
31487
+ const triggerRef = React26.useRef(null);
31488
+ React26.useEffect(() => {
31396
31489
  const element6 = triggerRef.current;
31397
31490
  if (!element6 || !hasMore || isLoading) {
31398
31491
  return;
@@ -31418,7 +31511,7 @@ function InfiniteScrollTrigger({
31418
31511
  }
31419
31512
  var InfiniteScrollTrigger_default = InfiniteScrollTrigger;
31420
31513
  function ShowMore({ text: text10, limit }) {
31421
- const [showMore, setShowMore] = React27.useState(false);
31514
+ const [showMore, setShowMore] = React26.useState(false);
31422
31515
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
31423
31516
  showMore ? text10 : `${text10.substring(0, limit)}`,
31424
31517
  text10.length > limit && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
@@ -31426,7 +31519,7 @@ function ShowMore({ text: text10, limit }) {
31426
31519
  /* @__PURE__ */ jsxRuntime.jsx(
31427
31520
  "div",
31428
31521
  {
31429
- className: classNames66__default.default({
31522
+ className: classNames77__default.default({
31430
31523
  "text-blue-300 px-1 pb-1 mt-1": true,
31431
31524
  "bg-slate-900/70": !showMore,
31432
31525
  "bg-gradient-to-t from-slate-900/50 to-transparent": showMore
@@ -31453,8 +31546,8 @@ function CommentComposer({
31453
31546
  loading,
31454
31547
  onSubmit
31455
31548
  }) {
31456
- const [value, setValue] = React27.useState("");
31457
- const [focused, setFocused] = React27.useState(false);
31549
+ const [value, setValue] = React26.useState("");
31550
+ const [focused, setFocused] = React26.useState(false);
31458
31551
  async function handleSubmit() {
31459
31552
  const content3 = value.trim();
31460
31553
  if (!content3) {
@@ -31709,14 +31802,14 @@ function CommentHeader({ comment: comment4, config }) {
31709
31802
  }
31710
31803
  var CommentHeader_default = CommentHeader;
31711
31804
  var useDrawer = (defaultVisibility = true) => {
31712
- const [show, setShow] = React27.useState(defaultVisibility);
31713
- const openDrawer = React27.useCallback(() => {
31805
+ const [show, setShow] = React26.useState(defaultVisibility);
31806
+ const openDrawer = React26.useCallback(() => {
31714
31807
  setShow(true);
31715
31808
  }, []);
31716
- const closeDrawer = React27.useCallback(() => {
31809
+ const closeDrawer = React26.useCallback(() => {
31717
31810
  setShow(false);
31718
31811
  }, []);
31719
- const toggleDrawer = React27.useCallback(() => {
31812
+ const toggleDrawer = React26.useCallback(() => {
31720
31813
  setShow((prev) => !prev);
31721
31814
  }, []);
31722
31815
  return {
@@ -31728,7 +31821,7 @@ var useDrawer = (defaultVisibility = true) => {
31728
31821
  };
31729
31822
  var useDrawer_default = useDrawer;
31730
31823
  var useModal = () => {
31731
- const [show, setShow] = React27.useState(false);
31824
+ const [show, setShow] = React26.useState(false);
31732
31825
  const handleOpenModal = () => {
31733
31826
  setShow(true);
31734
31827
  };
@@ -31743,7 +31836,7 @@ var useModal = () => {
31743
31836
  };
31744
31837
  var useModal_default = useModal;
31745
31838
  var useTheme = () => {
31746
- const context = React27.useContext(ThemeContext);
31839
+ const context = React26.useContext(ThemeContext);
31747
31840
  if (!context) {
31748
31841
  throw new Error("useTheme must be used within a ThemeProvider");
31749
31842
  }
@@ -31784,7 +31877,7 @@ function CommentMenu({
31784
31877
  onDelete,
31785
31878
  onReport
31786
31879
  }) {
31787
- const ref = React27.useRef(null);
31880
+ const ref = React26.useRef(null);
31788
31881
  useClickOutside(ref, () => setOpen(false));
31789
31882
  const items = [];
31790
31883
  if (canEdit) {
@@ -31912,11 +32005,11 @@ function CommentItem({
31912
32005
  onDelete,
31913
32006
  onReport
31914
32007
  }) {
31915
- const [collapsed, setCollapsed] = React27.useState(true);
31916
- const [isReplying, setIsReplying] = React27.useState(false);
31917
- const [menuOpen, setMenuOpen] = React27.useState(false);
31918
- const [loadingReplies, setLoadingReplies] = React27.useState(false);
31919
- const [repliesLoaded, setRepliesLoaded] = React27.useState(false);
32008
+ const [collapsed, setCollapsed] = React26.useState(true);
32009
+ const [isReplying, setIsReplying] = React26.useState(false);
32010
+ const [menuOpen, setMenuOpen] = React26.useState(false);
32011
+ const [loadingReplies, setLoadingReplies] = React26.useState(false);
32012
+ const [repliesLoaded, setRepliesLoaded] = React26.useState(false);
31920
32013
  const resolvedDepth = Math.min(depth, config.maxDepth);
31921
32014
  const {
31922
32015
  Header: HeaderComponent = CommentHeader_default,
@@ -32080,18 +32173,18 @@ function CommentThread({
32080
32173
  onDelete,
32081
32174
  onReport
32082
32175
  }) {
32083
- const [comments, setComments] = React27.useState([]);
32084
- const [isLoadingComments, setIsLoadingComments] = React27.useState(true);
32085
- const [replyCache, setReplyCache] = React27.useState(
32176
+ const [comments, setComments] = React26.useState([]);
32177
+ const [isLoadingComments, setIsLoadingComments] = React26.useState(true);
32178
+ const [replyCache, setReplyCache] = React26.useState(
32086
32179
  {}
32087
32180
  );
32088
- const replyCacheRef = React27.useRef(replyCache);
32181
+ const replyCacheRef = React26.useRef(replyCache);
32089
32182
  const ComposerComponent = components?.Composer ?? CommentComposer_default;
32090
32183
  const resolvedConfig = {
32091
32184
  ...DEFAULT_COMMENT_THREAD_CONFIG,
32092
32185
  ...config
32093
32186
  };
32094
- React27.useEffect(() => {
32187
+ React26.useEffect(() => {
32095
32188
  async function loadComments() {
32096
32189
  try {
32097
32190
  const result = await dataSource.getComments({
@@ -32105,10 +32198,10 @@ function CommentThread({
32105
32198
  }
32106
32199
  void loadComments();
32107
32200
  }, [dataSource, resolvedConfig.commentsPerPage]);
32108
- React27.useEffect(() => {
32201
+ React26.useEffect(() => {
32109
32202
  replyCacheRef.current = replyCache;
32110
32203
  }, [replyCache]);
32111
- React27.useEffect(() => {
32204
+ React26.useEffect(() => {
32112
32205
  let cancelled = false;
32113
32206
  async function refreshLoadedReplies() {
32114
32207
  const parentIds = Object.keys(replyCacheRef.current);
@@ -32144,13 +32237,13 @@ function CommentThread({
32144
32237
  cancelled = true;
32145
32238
  };
32146
32239
  }, [dataSource, resolvedConfig.repliesPerPage]);
32147
- React27.useEffect(() => {
32240
+ React26.useEffect(() => {
32148
32241
  if (!updatedComment) {
32149
32242
  return;
32150
32243
  }
32151
32244
  updateCommentEverywhere(updatedComment.id, () => updatedComment);
32152
32245
  }, [updatedComment]);
32153
- React27.useEffect(() => {
32246
+ React26.useEffect(() => {
32154
32247
  if (!deletedComment) {
32155
32248
  return;
32156
32249
  }
@@ -32342,7 +32435,7 @@ function DocumentationPanel({
32342
32435
  return /* @__PURE__ */ jsxRuntime.jsx(MarkdownProvider_default, { markdown: value, children: /* @__PURE__ */ jsxRuntime.jsxs(
32343
32436
  "section",
32344
32437
  {
32345
- className: classNames66__default.default(
32438
+ className: classNames77__default.default(
32346
32439
  "eui-documentation-panel",
32347
32440
  "min-h-0 overflow-hidden bg-white text-gray-900",
32348
32441
  "dark:bg-gray-950 dark:text-gray-100",
@@ -32356,7 +32449,7 @@ function DocumentationPanel({
32356
32449
  /* @__PURE__ */ jsxRuntime.jsx(
32357
32450
  "main",
32358
32451
  {
32359
- className: classNames66__default.default(
32452
+ className: classNames77__default.default(
32360
32453
  "eui-documentation-panel-viewer",
32361
32454
  "documentation-panel-scrollbar min-w-0 overflow-y-auto scroll-smooth",
32362
32455
  viewerClassName
@@ -32364,7 +32457,7 @@ function DocumentationPanel({
32364
32457
  children: /* @__PURE__ */ jsxRuntime.jsx(
32365
32458
  "div",
32366
32459
  {
32367
- className: classNames66__default.default(
32460
+ className: classNames77__default.default(
32368
32461
  "mx-auto px-5 py-8 sm:px-6 lg:px-8",
32369
32462
  contentMaxWidthClassName,
32370
32463
  contentClassName
@@ -32377,7 +32470,7 @@ function DocumentationPanel({
32377
32470
  toc ? /* @__PURE__ */ jsxRuntime.jsx(
32378
32471
  "aside",
32379
32472
  {
32380
- className: classNames66__default.default(
32473
+ className: classNames77__default.default(
32381
32474
  "eui-documentation-panel-toc",
32382
32475
  "hidden min-w-0 border-l border-gray-200 bg-white lg:block",
32383
32476
  "dark:border-gray-800 dark:bg-gray-950",
@@ -32386,7 +32479,7 @@ function DocumentationPanel({
32386
32479
  children: /* @__PURE__ */ jsxRuntime.jsx(
32387
32480
  "div",
32388
32481
  {
32389
- className: classNames66__default.default(
32482
+ className: classNames77__default.default(
32390
32483
  "documentation-panel-scrollbar h-full overflow-y-auto px-5 py-8"
32391
32484
  ),
32392
32485
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "sticky top-0", children: /* @__PURE__ */ jsxRuntime.jsx(MarkdownTOC_default, {}) })
@@ -32431,13 +32524,13 @@ function SliderItem({
32431
32524
  }
32432
32525
  var SliderItem_default = SliderItem;
32433
32526
  function Slider({ isLoading, isSuccess, coverArt, screenshots }) {
32434
- const [images, setImages] = React27.useState([
32527
+ const [images, setImages] = React26.useState([
32435
32528
  {
32436
32529
  img: coverArt,
32437
32530
  selected: true
32438
32531
  }
32439
32532
  ]);
32440
- React27.useEffect(() => {
32533
+ React26.useEffect(() => {
32441
32534
  setImages([
32442
32535
  {
32443
32536
  img: coverArt,
@@ -32445,7 +32538,7 @@ function Slider({ isLoading, isSuccess, coverArt, screenshots }) {
32445
32538
  }
32446
32539
  ]);
32447
32540
  }, [isSuccess]);
32448
- React27.useEffect(() => {
32541
+ React26.useEffect(() => {
32449
32542
  if (screenshots) {
32450
32543
  const selectableScreenshots = [];
32451
32544
  screenshots.forEach((item) => {
@@ -32457,8 +32550,8 @@ function Slider({ isLoading, isSuccess, coverArt, screenshots }) {
32457
32550
  setImages((prev) => [...prev, ...selectableScreenshots]);
32458
32551
  }
32459
32552
  }, [isSuccess]);
32460
- const [displayImg, setDisplayImg] = React27.useState(coverArt);
32461
- React27.useEffect(() => {
32553
+ const [displayImg, setDisplayImg] = React26.useState(coverArt);
32554
+ React26.useEffect(() => {
32462
32555
  setDisplayImg(coverArt);
32463
32556
  }, [coverArt]);
32464
32557
  const displayImageHandler = (itemIndex, img) => {
@@ -32570,7 +32663,7 @@ function WorldMapCountryTable({
32570
32663
  title = "Country Breakdown",
32571
32664
  data
32572
32665
  }) {
32573
- const enrichedData = React27.useMemo(() => {
32666
+ const enrichedData = React26.useMemo(() => {
32574
32667
  const mapped = data.map((item) => {
32575
32668
  const countryMeta = COUNTRIES.find((c3) => c3.code === item.code);
32576
32669
  return {
@@ -32583,11 +32676,11 @@ function WorldMapCountryTable({
32583
32676
  });
32584
32677
  return mapped.sort((a2, b) => b.value - a2.value);
32585
32678
  }, [data]);
32586
- const total = React27.useMemo(
32679
+ const total = React26.useMemo(
32587
32680
  () => enrichedData.reduce((sum, i) => sum + i.value, 0),
32588
32681
  [enrichedData]
32589
32682
  );
32590
- const finalData = React27.useMemo(() => {
32683
+ const finalData = React26.useMemo(() => {
32591
32684
  return enrichedData.map((item) => ({
32592
32685
  ...item,
32593
32686
  percent: total > 0 ? item.value / total * 100 : 0
@@ -32662,7 +32755,7 @@ function BoxNavItem({ icon, name: name2, to, selected, onClick }) {
32662
32755
  type: "button",
32663
32756
  onClick: handleClick,
32664
32757
  "aria-current": selected ? "page" : void 0,
32665
- className: classNames66__default.default(
32758
+ className: classNames77__default.default(
32666
32759
  "w-full min-w-[80px] flex flex-col items-center justify-center py-3 text-center",
32667
32760
  "hover:text-secondary-700 hover:bg-gray-300/10 hover:cursor-pointer",
32668
32761
  selected ? "text-eui-secondary-700 bg-gray-300/10" : "text-gray-400",
@@ -32832,7 +32925,7 @@ var TNDropdownGroup = ({
32832
32925
  navigate,
32833
32926
  className
32834
32927
  }) => {
32835
- const [open, setOpen] = React27.useState(true);
32928
+ const [open, setOpen] = React26.useState(true);
32836
32929
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
32837
32930
  /* @__PURE__ */ jsxRuntime.jsxs(
32838
32931
  "div",
@@ -32921,8 +33014,8 @@ var TNGroup = ({
32921
33014
  components,
32922
33015
  selected
32923
33016
  }) => {
32924
- const [open, setOpen] = React27.useState(false);
32925
- const timeoutRef = React27.useRef(null);
33017
+ const [open, setOpen] = React26.useState(false);
33018
+ const timeoutRef = React26.useRef(null);
32926
33019
  const handleEnter = () => {
32927
33020
  if (timeoutRef.current) clearTimeout(timeoutRef.current);
32928
33021
  setOpen(true);
@@ -33026,14 +33119,14 @@ function ReviewForm({
33026
33119
  onSubmit,
33027
33120
  onCancel
33028
33121
  }) {
33029
- const [content3, setContent] = React27.useState(initialValues?.content ?? "");
33030
- const [rating, setRating] = React27.useState(initialValues?.rating ?? 0);
33031
- const [isRecommended, setIsRecommended] = React27.useState(
33122
+ const [content3, setContent] = React26.useState(initialValues?.content ?? "");
33123
+ const [rating, setRating] = React26.useState(initialValues?.rating ?? 0);
33124
+ const [isRecommended, setIsRecommended] = React26.useState(
33032
33125
  initialValues?.isRecommended ?? true
33033
33126
  );
33034
- const [error, setError] = React27.useState("");
33127
+ const [error, setError] = React26.useState("");
33035
33128
  const contentLength = content3.trim().length;
33036
- const ratingItems = React27.useMemo(() => {
33129
+ const ratingItems = React26.useMemo(() => {
33037
33130
  return Array.from(
33038
33131
  {
33039
33132
  length: config.maxRating
@@ -33041,7 +33134,7 @@ function ReviewForm({
33041
33134
  (_2, index3) => index3 + 1
33042
33135
  );
33043
33136
  }, [config.maxRating]);
33044
- React27.useEffect(() => {
33137
+ React26.useEffect(() => {
33045
33138
  setContent(initialValues?.content ?? "");
33046
33139
  setRating(initialValues?.rating ?? 0);
33047
33140
  setIsRecommended(initialValues?.isRecommended ?? true);
@@ -33485,7 +33578,7 @@ function MyReviewPanel({
33485
33578
  onEditReview,
33486
33579
  onDeleteReview
33487
33580
  }) {
33488
- const [editing, setEditing] = React27.useState(false);
33581
+ const [editing, setEditing] = React26.useState(false);
33489
33582
  const ComposerComponent = components?.Composer ?? ReviewComposer_default;
33490
33583
  const FormComponent = components?.Form ?? ReviewForm_default;
33491
33584
  const HeaderComponent = components?.Header ?? ReviewHeader_default;
@@ -33641,7 +33734,7 @@ function ReviewMenu({
33641
33734
  onReport,
33642
33735
  onReply
33643
33736
  }) {
33644
- const ref = React27.useRef(null);
33737
+ const ref = React26.useRef(null);
33645
33738
  useClickOutside(ref, () => setOpen(false));
33646
33739
  const items = [];
33647
33740
  if (canEdit) {
@@ -33792,7 +33885,7 @@ function ReviewReplyMenu({
33792
33885
  onDelete,
33793
33886
  onReport
33794
33887
  }) {
33795
- const ref = React27.useRef(null);
33888
+ const ref = React26.useRef(null);
33796
33889
  useClickOutside(ref, () => setOpen(false));
33797
33890
  const items = [];
33798
33891
  if (canEdit) {
@@ -33861,7 +33954,7 @@ function ReviewReplyItem({
33861
33954
  onDeleteReviewReply,
33862
33955
  onReportReviewReply
33863
33956
  }) {
33864
- const [menuOpen, setMenuOpen] = React27.useState(false);
33957
+ const [menuOpen, setMenuOpen] = React26.useState(false);
33865
33958
  const HeaderComponent = components?.ReplyHeader ?? ReviewReplyHeader_default;
33866
33959
  const ContentComponent = components?.ReplyContent ?? ReviewReplyContent_default;
33867
33960
  const MenuComponent = components?.ReplyMenu ?? ReviewReplyMenu_default;
@@ -33938,7 +34031,7 @@ function ReviewItem({
33938
34031
  onDeleteReviewReply,
33939
34032
  onReportReviewReply
33940
34033
  }) {
33941
- const [menuOpen, setMenuOpen] = React27.useState(false);
34034
+ const [menuOpen, setMenuOpen] = React26.useState(false);
33942
34035
  const HeaderComponent = components?.Header ?? ReviewHeader_default;
33943
34036
  const ContentComponent = components?.Content ?? ReviewContent_default;
33944
34037
  const RatingComponent = components?.Rating ?? ReviewRating_default;
@@ -34088,28 +34181,28 @@ function useReviewThreadState({
34088
34181
  onReviewUpdated,
34089
34182
  onReviewDeleted
34090
34183
  }) {
34091
- const [reviews, setReviews] = React27.useState([]);
34092
- const [myReview, setMyReview] = React27.useState(null);
34093
- const [isLoadingReviews, setIsLoadingReviews] = React27.useState(true);
34094
- const [isLoadingMyReview, setIsLoadingMyReview] = React27.useState(
34184
+ const [reviews, setReviews] = React26.useState([]);
34185
+ const [myReview, setMyReview] = React26.useState(null);
34186
+ const [isLoadingReviews, setIsLoadingReviews] = React26.useState(true);
34187
+ const [isLoadingMyReview, setIsLoadingMyReview] = React26.useState(
34095
34188
  Boolean(dataSource.getMyReview && shouldLoadMyReview)
34096
34189
  );
34097
- const [isCreatingReview, setIsCreatingReview] = React27.useState(false);
34098
- const [isUpdatingReview, setIsUpdatingReview] = React27.useState(false);
34099
- const [isDeletingReview, setIsDeletingReview] = React27.useState(false);
34100
- const [isCreatingReviewReply, setIsCreatingReviewReply] = React27.useState(false);
34101
- const [isUpdatingReviewReply, setIsUpdatingReviewReply] = React27.useState(false);
34102
- const [isDeletingReviewReply, setIsDeletingReviewReply] = React27.useState(false);
34103
- const [reviewsError, setReviewsError] = React27.useState(null);
34104
- const [myReviewError, setMyReviewError] = React27.useState(null);
34190
+ const [isCreatingReview, setIsCreatingReview] = React26.useState(false);
34191
+ const [isUpdatingReview, setIsUpdatingReview] = React26.useState(false);
34192
+ const [isDeletingReview, setIsDeletingReview] = React26.useState(false);
34193
+ const [isCreatingReviewReply, setIsCreatingReviewReply] = React26.useState(false);
34194
+ const [isUpdatingReviewReply, setIsUpdatingReviewReply] = React26.useState(false);
34195
+ const [isDeletingReviewReply, setIsDeletingReviewReply] = React26.useState(false);
34196
+ const [reviewsError, setReviewsError] = React26.useState(null);
34197
+ const [myReviewError, setMyReviewError] = React26.useState(null);
34105
34198
  const error = reviewsError ?? myReviewError;
34106
- const visibleReviews = React27.useMemo(() => {
34199
+ const visibleReviews = React26.useMemo(() => {
34107
34200
  if (config.showMyReviewInList || !myReview) {
34108
34201
  return reviews;
34109
34202
  }
34110
34203
  return reviews.filter((review) => review.id !== myReview.id);
34111
34204
  }, [config.showMyReviewInList, myReview, reviews]);
34112
- const applyReview = React27.useCallback((review) => {
34205
+ const applyReview = React26.useCallback((review) => {
34113
34206
  setReviews((prev) => upsertReview(prev, review));
34114
34207
  setMyReview((prev) => {
34115
34208
  if (!prev || prev.id !== review.id) {
@@ -34118,7 +34211,7 @@ function useReviewThreadState({
34118
34211
  return review;
34119
34212
  });
34120
34213
  }, []);
34121
- const applyReviewUpdater = React27.useCallback(
34214
+ const applyReviewUpdater = React26.useCallback(
34122
34215
  (reviewId, updater) => {
34123
34216
  setReviews((prev) => updateReview(prev, reviewId, updater));
34124
34217
  setMyReview((prev) => {
@@ -34130,7 +34223,7 @@ function useReviewThreadState({
34130
34223
  },
34131
34224
  []
34132
34225
  );
34133
- const removeReviewById = React27.useCallback((reviewId) => {
34226
+ const removeReviewById = React26.useCallback((reviewId) => {
34134
34227
  setReviews((prev) => removeReview(prev, reviewId));
34135
34228
  setMyReview((prev) => {
34136
34229
  if (!prev || prev.id !== reviewId) {
@@ -34139,7 +34232,7 @@ function useReviewThreadState({
34139
34232
  return null;
34140
34233
  });
34141
34234
  }, []);
34142
- const loadReviews = React27.useCallback(async () => {
34235
+ const loadReviews = React26.useCallback(async () => {
34143
34236
  try {
34144
34237
  setIsLoadingReviews(true);
34145
34238
  setReviewsError(null);
@@ -34153,7 +34246,7 @@ function useReviewThreadState({
34153
34246
  setIsLoadingReviews(false);
34154
34247
  }
34155
34248
  }, [config.reviewsPerPage, dataSource, targetId]);
34156
- const loadMyReview = React27.useCallback(async () => {
34249
+ const loadMyReview = React26.useCallback(async () => {
34157
34250
  if (!dataSource.getMyReview || !shouldLoadMyReview) {
34158
34251
  setMyReview(null);
34159
34252
  setIsLoadingMyReview(false);
@@ -34172,10 +34265,10 @@ function useReviewThreadState({
34172
34265
  setIsLoadingMyReview(false);
34173
34266
  }
34174
34267
  }, [dataSource, shouldLoadMyReview, targetId]);
34175
- const reload = React27.useCallback(async () => {
34268
+ const reload = React26.useCallback(async () => {
34176
34269
  await Promise.all([loadReviews(), loadMyReview()]);
34177
34270
  }, [loadReviews, loadMyReview]);
34178
- const createReview = React27.useCallback(
34271
+ const createReview = React26.useCallback(
34179
34272
  async (values) => {
34180
34273
  try {
34181
34274
  setIsCreatingReview(true);
@@ -34194,7 +34287,7 @@ function useReviewThreadState({
34194
34287
  },
34195
34288
  [dataSource, onReviewCreated]
34196
34289
  );
34197
- const updateReview2 = React27.useCallback(
34290
+ const updateReview2 = React26.useCallback(
34198
34291
  async (review, values) => {
34199
34292
  try {
34200
34293
  setIsUpdatingReview(true);
@@ -34219,7 +34312,7 @@ function useReviewThreadState({
34219
34312
  },
34220
34313
  [dataSource, onReviewUpdated]
34221
34314
  );
34222
- const deleteReview = React27.useCallback(
34315
+ const deleteReview = React26.useCallback(
34223
34316
  async (review) => {
34224
34317
  try {
34225
34318
  setIsDeletingReview(true);
@@ -34232,7 +34325,7 @@ function useReviewThreadState({
34232
34325
  },
34233
34326
  [dataSource, onReviewDeleted, removeReviewById]
34234
34327
  );
34235
- const createReviewReply = React27.useCallback(
34328
+ const createReviewReply = React26.useCallback(
34236
34329
  async (input) => {
34237
34330
  if (!dataSource.createReviewReply) {
34238
34331
  throw new Error("createReviewReply is not implemented by dataSource.");
@@ -34255,7 +34348,7 @@ function useReviewThreadState({
34255
34348
  },
34256
34349
  [applyReview, applyReviewUpdater, config.maxRepliesPerReview, dataSource]
34257
34350
  );
34258
- const updateReviewReply2 = React27.useCallback(
34351
+ const updateReviewReply2 = React26.useCallback(
34259
34352
  async (input) => {
34260
34353
  if (!dataSource.updateReviewReply) {
34261
34354
  throw new Error("updateReviewReply is not implemented by dataSource.");
@@ -34278,7 +34371,7 @@ function useReviewThreadState({
34278
34371
  },
34279
34372
  [applyReview, applyReviewUpdater, dataSource]
34280
34373
  );
34281
- const deleteReviewReply = React27.useCallback(
34374
+ const deleteReviewReply = React26.useCallback(
34282
34375
  async (reviewId, replyId) => {
34283
34376
  if (!dataSource.deleteReviewReply) {
34284
34377
  throw new Error("deleteReviewReply is not implemented by dataSource.");
@@ -34301,7 +34394,7 @@ function useReviewThreadState({
34301
34394
  },
34302
34395
  [applyReview, applyReviewUpdater, dataSource]
34303
34396
  );
34304
- React27.useEffect(() => {
34397
+ React26.useEffect(() => {
34305
34398
  let cancelled = false;
34306
34399
  async function run() {
34307
34400
  try {
@@ -34328,7 +34421,7 @@ function useReviewThreadState({
34328
34421
  cancelled = true;
34329
34422
  };
34330
34423
  }, [config.reviewsPerPage, dataSource, targetId]);
34331
- React27.useEffect(() => {
34424
+ React26.useEffect(() => {
34332
34425
  let cancelled = false;
34333
34426
  async function run() {
34334
34427
  if (!dataSource.getMyReview || !shouldLoadMyReview) {
@@ -34360,19 +34453,19 @@ function useReviewThreadState({
34360
34453
  cancelled = true;
34361
34454
  };
34362
34455
  }, [dataSource, shouldLoadMyReview, targetId]);
34363
- React27.useEffect(() => {
34456
+ React26.useEffect(() => {
34364
34457
  if (!updatedReview) {
34365
34458
  return;
34366
34459
  }
34367
34460
  applyReview(updatedReview);
34368
34461
  }, [applyReview, updatedReview]);
34369
- React27.useEffect(() => {
34462
+ React26.useEffect(() => {
34370
34463
  if (!deletedReview) {
34371
34464
  return;
34372
34465
  }
34373
34466
  removeReviewById(deletedReview.id);
34374
34467
  }, [deletedReview, removeReviewById]);
34375
- React27.useEffect(() => {
34468
+ React26.useEffect(() => {
34376
34469
  if (!updatedReviewReply) {
34377
34470
  return;
34378
34471
  }
@@ -34399,7 +34492,7 @@ function useReviewThreadState({
34399
34492
  config.maxRepliesPerReview,
34400
34493
  updatedReviewReply
34401
34494
  ]);
34402
- React27.useEffect(() => {
34495
+ React26.useEffect(() => {
34403
34496
  if (!deletedReviewReply) {
34404
34497
  return;
34405
34498
  }
@@ -34571,7 +34664,7 @@ function ReviewThread({
34571
34664
  ] });
34572
34665
  }
34573
34666
  var ReviewThread_default = ReviewThread;
34574
- var MarkdownContext = React27.createContext(null);
34667
+ var MarkdownContext = React26.createContext(null);
34575
34668
 
34576
34669
  // src/compositions/markdown/utils/sanitizeHeading.ts
34577
34670
  function sanitizeHeading(text10, options = {}) {
@@ -34792,30 +34885,30 @@ function MarkdownProvider({
34792
34885
  onActiveHeadingChange
34793
34886
  }) {
34794
34887
  const resolvedMarkdown = value ?? markdown ?? "";
34795
- const [internalActiveHeading, setInternalActiveHeading] = React27.useState(defaultActiveHeading);
34796
- const headings = React27.useMemo(() => {
34888
+ const [internalActiveHeading, setInternalActiveHeading] = React26.useState(defaultActiveHeading);
34889
+ const headings = React26.useMemo(() => {
34797
34890
  if (externalHeadings) {
34798
34891
  return externalHeadings;
34799
34892
  }
34800
34893
  return extractHeadings(resolvedMarkdown);
34801
34894
  }, [externalHeadings, resolvedMarkdown]);
34802
- const numberedHeadings = React27.useMemo(() => {
34895
+ const numberedHeadings = React26.useMemo(() => {
34803
34896
  return generateHeadingNumbers(headings);
34804
34897
  }, [headings]);
34805
- const headingMap = React27.useMemo(() => {
34898
+ const headingMap = React26.useMemo(() => {
34806
34899
  return headings.reduce((acc, heading3) => {
34807
34900
  acc[heading3.id] = heading3;
34808
34901
  return acc;
34809
34902
  }, {});
34810
34903
  }, [headings]);
34811
34904
  const activeHeading = controlledActiveHeading ?? internalActiveHeading;
34812
- const getHeadingById = React27.useCallback(
34905
+ const getHeadingById = React26.useCallback(
34813
34906
  (id2) => {
34814
34907
  return headingMap[id2];
34815
34908
  },
34816
34909
  [headingMap]
34817
34910
  );
34818
- const setActiveHeading = React27.useCallback(
34911
+ const setActiveHeading = React26.useCallback(
34819
34912
  (id2) => {
34820
34913
  if (controlledActiveHeading === void 0) {
34821
34914
  setInternalActiveHeading(id2);
@@ -34824,7 +34917,7 @@ function MarkdownProvider({
34824
34917
  },
34825
34918
  [controlledActiveHeading, headingMap, onActiveHeadingChange]
34826
34919
  );
34827
- const contextValue = React27.useMemo(
34920
+ const contextValue = React26.useMemo(
34828
34921
  () => ({
34829
34922
  markdown: resolvedMarkdown,
34830
34923
  headings,
@@ -34849,7 +34942,7 @@ function MarkdownProvider({
34849
34942
  var MarkdownProvider_default = MarkdownProvider;
34850
34943
  function useMarkdown(options = {}) {
34851
34944
  const { required = false, errorMessage } = options;
34852
- const context = React27.useContext(MarkdownContext);
34945
+ const context = React26.useContext(MarkdownContext);
34853
34946
  if (!context && required) {
34854
34947
  throw new Error(
34855
34948
  errorMessage || "useMarkdown must be used inside a MarkdownProvider."
@@ -34872,15 +34965,15 @@ function useActiveHeading(options = {}) {
34872
34965
  onActiveHeadingChange
34873
34966
  } = options;
34874
34967
  const headings = externalHeadings ?? context?.headings ?? [];
34875
- const [internalActiveHeading, setInternalActiveHeading] = React27.useState(defaultActiveHeading);
34968
+ const [internalActiveHeading, setInternalActiveHeading] = React26.useState(defaultActiveHeading);
34876
34969
  const activeHeading = controlledActiveHeading ?? context?.activeHeading ?? internalActiveHeading;
34877
- const headingMap = React27.useMemo(() => {
34970
+ const headingMap = React26.useMemo(() => {
34878
34971
  return headings.reduce((acc, heading3) => {
34879
34972
  acc[heading3.id] = heading3;
34880
34973
  return acc;
34881
34974
  }, {});
34882
34975
  }, [headings]);
34883
- const setActiveHeading = React27.useCallback(
34976
+ const setActiveHeading = React26.useCallback(
34884
34977
  (id2) => {
34885
34978
  if (controlledActiveHeading === void 0 && !context) {
34886
34979
  setInternalActiveHeading(id2);
@@ -34890,7 +34983,7 @@ function useActiveHeading(options = {}) {
34890
34983
  },
34891
34984
  [context, controlledActiveHeading, headingMap, onActiveHeadingChange]
34892
34985
  );
34893
- const scrollToHeading = React27.useCallback(
34986
+ const scrollToHeading = React26.useCallback(
34894
34987
  (id2) => {
34895
34988
  if (typeof document === "undefined") return;
34896
34989
  const element6 = document.getElementById(id2);
@@ -34903,10 +34996,10 @@ function useActiveHeading(options = {}) {
34903
34996
  },
34904
34997
  [scrollBehavior, scrollBlock, setActiveHeading]
34905
34998
  );
34906
- const observedHeadingIds = React27.useMemo(() => {
34999
+ const observedHeadingIds = React26.useMemo(() => {
34907
35000
  return headings.map((heading3) => heading3.id).join("|");
34908
35001
  }, [headings]);
34909
- React27.useEffect(() => {
35002
+ React26.useEffect(() => {
34910
35003
  if (!enabled) return;
34911
35004
  if (typeof window === "undefined") return;
34912
35005
  if (!("IntersectionObserver" in window)) return;
@@ -34955,7 +35048,7 @@ function useMarkdownHeadings(options = {}) {
34955
35048
  minDepth = 1,
34956
35049
  maxDepth = 6
34957
35050
  } = options;
34958
- const baseHeadings = React27.useMemo(() => {
35051
+ const baseHeadings = React26.useMemo(() => {
34959
35052
  if (externalHeadings) {
34960
35053
  return externalHeadings;
34961
35054
  }
@@ -34964,15 +35057,15 @@ function useMarkdownHeadings(options = {}) {
34964
35057
  }
34965
35058
  return context?.headings ?? [];
34966
35059
  }, [context?.headings, externalHeadings, markdown]);
34967
- const headings = React27.useMemo(() => {
35060
+ const headings = React26.useMemo(() => {
34968
35061
  return baseHeadings.filter((heading3) => {
34969
35062
  return heading3.level >= minDepth && heading3.level <= maxDepth;
34970
35063
  });
34971
35064
  }, [baseHeadings, minDepth, maxDepth]);
34972
- const numberedHeadings = React27.useMemo(() => {
35065
+ const numberedHeadings = React26.useMemo(() => {
34973
35066
  return generateHeadingNumbers(headings);
34974
35067
  }, [headings]);
34975
- const headingMap = React27.useMemo(() => {
35068
+ const headingMap = React26.useMemo(() => {
34976
35069
  return headings.reduce((acc, heading3) => {
34977
35070
  acc[heading3.id] = heading3;
34978
35071
  return acc;
@@ -35364,11 +35457,11 @@ function addChildren(props, children3) {
35364
35457
  }
35365
35458
  }
35366
35459
  }
35367
- function productionCreate(_2, jsx236, jsxs123) {
35460
+ function productionCreate(_2, jsx252, jsxs125) {
35368
35461
  return create3;
35369
35462
  function create3(_3, type2, props, key) {
35370
35463
  const isStaticChildren = Array.isArray(props.children);
35371
- const fn = isStaticChildren ? jsxs123 : jsx236;
35464
+ const fn = isStaticChildren ? jsxs125 : jsx252;
35372
35465
  return key ? fn(type2, props, key) : fn(type2, props);
35373
35466
  }
35374
35467
  }
@@ -55112,6 +55205,14 @@ function rehypeSanitize(options) {
55112
55205
  return result;
55113
55206
  };
55114
55207
  }
55208
+ var HEADING_STYLES = {
55209
+ 1: "mb-6 text-4xl tracking-[-0.035em]",
55210
+ 2: "mb-4 mt-10 border-b border-gray-200 pb-2 text-[1.75rem] tracking-[-0.025em] dark:border-gray-700",
55211
+ 3: "mb-3 mt-8 text-[1.35rem]",
55212
+ 4: "mb-2 mt-7 text-[1.1rem]",
55213
+ 5: "mb-2 mt-6 text-base",
55214
+ 6: "mb-2 mt-5 text-sm uppercase tracking-[0.08em] text-gray-500 dark:text-gray-400"
55215
+ };
55115
55216
  function MarkdownHeading({
55116
55217
  id: id2,
55117
55218
  level,
@@ -55120,13 +55221,21 @@ function MarkdownHeading({
55120
55221
  showAnchor = true,
55121
55222
  ...props
55122
55223
  }) {
55123
- const tag = `h${Math.min(Math.max(level, 1), 6)}`;
55124
- return React27__default.default.createElement(
55125
- tag,
55224
+ const normalizedLevel = Math.min(Math.max(level, 1), 6);
55225
+ const TypographyComponent = normalizedLevel <= 3 ? Chapter : Section;
55226
+ const typographyLevel = normalizedLevel <= 3 ? normalizedLevel : normalizedLevel - 3;
55227
+ return React26.createElement(
55228
+ TypographyComponent,
55126
55229
  {
55127
55230
  ...props,
55128
55231
  id: id2,
55129
- className: classNames66__default.default("eui-markdown-heading", className)
55232
+ level: typographyLevel,
55233
+ bold: true,
55234
+ className: classNames77__default.default(
55235
+ "eui-markdown-heading group relative scroll-mt-24 font-bold leading-tight text-gray-900 dark:text-gray-100",
55236
+ HEADING_STYLES[level],
55237
+ className
55238
+ )
55130
55239
  },
55131
55240
  /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
55132
55241
  children3,
@@ -55134,7 +55243,7 @@ function MarkdownHeading({
55134
55243
  "a",
55135
55244
  {
55136
55245
  href: `#${id2}`,
55137
- className: "eui-markdown-heading-anchor",
55246
+ className: "eui-markdown-heading-anchor ml-2 text-gray-400 no-underline opacity-0 transition group-hover:opacity-100 hover:text-blue-600 focus:opacity-100 dark:text-gray-500 dark:hover:text-blue-400",
55138
55247
  "aria-label": "Link to heading",
55139
55248
  children: "#"
55140
55249
  }
@@ -55187,18 +55296,18 @@ function powerSetPermutations(arr) {
55187
55296
  }
55188
55297
  }
55189
55298
  var classNameCombinations = {};
55190
- function getClassNameCombinations(classNames70) {
55191
- if (classNames70.length === 0 || classNames70.length === 1) return classNames70;
55192
- var key = classNames70.join(".");
55299
+ function getClassNameCombinations(classNames81) {
55300
+ if (classNames81.length === 0 || classNames81.length === 1) return classNames81;
55301
+ var key = classNames81.join(".");
55193
55302
  if (!classNameCombinations[key]) {
55194
- classNameCombinations[key] = powerSetPermutations(classNames70);
55303
+ classNameCombinations[key] = powerSetPermutations(classNames81);
55195
55304
  }
55196
55305
  return classNameCombinations[key];
55197
55306
  }
55198
- function createStyleObject(classNames70) {
55307
+ function createStyleObject(classNames81) {
55199
55308
  var elementStyle = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
55200
55309
  var stylesheet = arguments.length > 2 ? arguments[2] : void 0;
55201
- var nonTokenClassNames = classNames70.filter(function(className) {
55310
+ var nonTokenClassNames = classNames81.filter(function(className) {
55202
55311
  return className !== "token";
55203
55312
  });
55204
55313
  var classNamesCombinations = getClassNameCombinations(nonTokenClassNames);
@@ -55206,15 +55315,15 @@ function createStyleObject(classNames70) {
55206
55315
  return _objectSpread(_objectSpread({}, styleObject), stylesheet[className]);
55207
55316
  }, elementStyle);
55208
55317
  }
55209
- function createClassNameString(classNames70) {
55210
- return classNames70.join(" ");
55318
+ function createClassNameString(classNames81) {
55319
+ return classNames81.join(" ");
55211
55320
  }
55212
55321
  function createChildren2(stylesheet, useInlineStyles) {
55213
55322
  var childrenCount = 0;
55214
55323
  return function(children3) {
55215
55324
  childrenCount += 1;
55216
55325
  return children3.map(function(child, i) {
55217
- return createElement({
55326
+ return createElement2({
55218
55327
  node: child,
55219
55328
  stylesheet,
55220
55329
  useInlineStyles,
@@ -55223,7 +55332,7 @@ function createChildren2(stylesheet, useInlineStyles) {
55223
55332
  });
55224
55333
  };
55225
55334
  }
55226
- function createElement(_ref) {
55335
+ function createElement2(_ref) {
55227
55336
  var node2 = _ref.node, stylesheet = _ref.stylesheet, _ref$style = _ref.style, style2 = _ref$style === void 0 ? {} : _ref$style, useInlineStyles = _ref.useInlineStyles, key = _ref.key;
55228
55337
  var properties2 = node2.properties, type2 = node2.type, TagName = node2.tagName, value = node2.value;
55229
55338
  if (type2 === "text") {
@@ -55252,7 +55361,7 @@ function createElement(_ref) {
55252
55361
  });
55253
55362
  }
55254
55363
  var children3 = childrenCreator(node2.children);
55255
- return /* @__PURE__ */ React27__default.default.createElement(TagName, (0, import_extends.default)({
55364
+ return /* @__PURE__ */ React26__default.default.createElement(TagName, (0, import_extends.default)({
55256
55365
  key
55257
55366
  }, props), children3);
55258
55367
  }
@@ -55295,7 +55404,7 @@ function getAllLineNumbers(_ref) {
55295
55404
  var lines = _ref.lines, startingLineNumber = _ref.startingLineNumber, style2 = _ref.style;
55296
55405
  return lines.map(function(_2, i) {
55297
55406
  var number3 = i + startingLineNumber;
55298
- return /* @__PURE__ */ React27__default.default.createElement("span", {
55407
+ return /* @__PURE__ */ React26__default.default.createElement("span", {
55299
55408
  key: "line-".concat(i),
55300
55409
  className: "react-syntax-highlighter-line-number",
55301
55410
  style: typeof style2 === "function" ? style2(number3) : style2
@@ -55307,7 +55416,7 @@ function AllLineNumbers(_ref2) {
55307
55416
  "float": "left",
55308
55417
  paddingRight: "10px"
55309
55418
  } : _ref2$containerStyle, _ref2$numberStyle = _ref2.numberStyle, numberStyle = _ref2$numberStyle === void 0 ? {} : _ref2$numberStyle, startingLineNumber = _ref2.startingLineNumber;
55310
- return /* @__PURE__ */ React27__default.default.createElement("code", {
55419
+ return /* @__PURE__ */ React26__default.default.createElement("code", {
55311
55420
  style: Object.assign({}, codeStyle, containerStyle)
55312
55421
  }, getAllLineNumbers({
55313
55422
  lines: codeString.replace(/\n$/, "").split("\n"),
@@ -55380,8 +55489,8 @@ function flattenCodeTree(tree) {
55380
55489
  }));
55381
55490
  } else if (node2.children) {
55382
55491
  var _node$properties;
55383
- var classNames70 = className.concat(((_node$properties = node2.properties) === null || _node$properties === void 0 ? void 0 : _node$properties.className) || []);
55384
- flattenCodeTree(node2.children, classNames70).forEach(function(i2) {
55492
+ var classNames81 = className.concat(((_node$properties = node2.properties) === null || _node$properties === void 0 ? void 0 : _node$properties.className) || []);
55493
+ flattenCodeTree(node2.children, classNames81).forEach(function(i2) {
55385
55494
  return newTree.push(i2);
55386
55495
  });
55387
55496
  }
@@ -55482,7 +55591,7 @@ function processLines(codeTree, wrapLines, lineProps, showLineNumbers, showInlin
55482
55591
  function defaultRenderer(_ref5) {
55483
55592
  var rows = _ref5.rows, stylesheet = _ref5.stylesheet, useInlineStyles = _ref5.useInlineStyles;
55484
55593
  return rows.map(function(node2, i) {
55485
- return createElement({
55594
+ return createElement2({
55486
55595
  node: node2,
55487
55596
  stylesheet,
55488
55597
  useInlineStyles,
@@ -55528,7 +55637,7 @@ function highlight_default(defaultAstGenerator, defaultStyle) {
55528
55637
  style: _objectSpread2(_objectSpread2({}, style2['code[class*="language-"]']), style2['code[class*="language-'.concat(language, '"]')])
55529
55638
  } : _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 = (0, import_objectWithoutProperties.default)(_ref7, _excluded);
55530
55639
  astGenerator = astGenerator || defaultAstGenerator;
55531
- var allLineNumbers = showLineNumbers ? /* @__PURE__ */ React27__default.default.createElement(AllLineNumbers, {
55640
+ var allLineNumbers = showLineNumbers ? /* @__PURE__ */ React26__default.default.createElement(AllLineNumbers, {
55532
55641
  containerStyle: lineNumberContainerStyle,
55533
55642
  codeStyle: codeTagProps.style || {},
55534
55643
  numberStyle: lineNumberStyle,
@@ -55555,7 +55664,7 @@ function highlight_default(defaultAstGenerator, defaultStyle) {
55555
55664
  }, codeTagProps.style);
55556
55665
  }
55557
55666
  if (!astGenerator) {
55558
- return /* @__PURE__ */ React27__default.default.createElement(PreTag, preProps, allLineNumbers, /* @__PURE__ */ React27__default.default.createElement(CodeTag, codeTagProps, code4));
55667
+ return /* @__PURE__ */ React26__default.default.createElement(PreTag, preProps, allLineNumbers, /* @__PURE__ */ React26__default.default.createElement(CodeTag, codeTagProps, code4));
55559
55668
  }
55560
55669
  if (wrapLines === void 0 && renderer || wrapLongLines) wrapLines = true;
55561
55670
  renderer = renderer || defaultRenderer;
@@ -55575,7 +55684,7 @@ function highlight_default(defaultAstGenerator, defaultStyle) {
55575
55684
  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;
55576
55685
  var largestLineNumber = startingLineNumber + lineBreakCount;
55577
55686
  var rows = processLines(codeTree, wrapLines, lineProps, showLineNumbers, showInlineLineNumbers, startingLineNumber, largestLineNumber, lineNumberStyle, wrapLongLines);
55578
- return /* @__PURE__ */ React27__default.default.createElement(PreTag, preProps, /* @__PURE__ */ React27__default.default.createElement(CodeTag, codeTagProps, !showInlineLineNumbers && allLineNumbers, renderer({
55687
+ return /* @__PURE__ */ React26__default.default.createElement(PreTag, preProps, /* @__PURE__ */ React26__default.default.createElement(CodeTag, codeTagProps, !showInlineLineNumbers && allLineNumbers, renderer({
55579
55688
  rows,
55580
55689
  stylesheet: style2,
55581
55690
  useInlineStyles
@@ -55912,7 +56021,7 @@ var json_default = json;
55912
56021
 
55913
56022
  // node_modules/react-syntax-highlighter/dist/esm/languages/prism/jsx.js
55914
56023
  init_jsx();
55915
- var jsx_default = jsx211;
56024
+ var jsx_default = jsx213;
55916
56025
 
55917
56026
  // node_modules/react-syntax-highlighter/dist/esm/languages/prism/markup.js
55918
56027
  init_markup();
@@ -56003,19 +56112,19 @@ function MarkdownCodeBlock({
56003
56112
  wrapLongLines = false,
56004
56113
  ...props
56005
56114
  }) {
56006
- const [copied, setCopied] = React27.useState(false);
56007
- const timeoutRef = React27.useRef(null);
56115
+ const [copied, setCopied] = React26.useState(false);
56116
+ const timeoutRef = React26.useRef(null);
56008
56117
  const title = meta?.title ?? meta?.filename;
56009
- const resolvedLanguage = React27.useMemo(() => {
56118
+ const resolvedLanguage = React26.useMemo(() => {
56010
56119
  return normalizeLanguage(language);
56011
56120
  }, [language]);
56012
56121
  const languageLabel = language || resolvedLanguage;
56013
56122
  const showHeader = Boolean(title || languageLabel || showCopy);
56014
- const highlightLines = React27.useMemo(() => {
56123
+ const highlightLines = React26.useMemo(() => {
56015
56124
  return new Set(meta?.highlightLines ?? []);
56016
56125
  }, [meta?.highlightLines]);
56017
56126
  const showLineNumbers = Boolean(meta?.showLineNumbers);
56018
- React27.useEffect(() => {
56127
+ React26.useEffect(() => {
56019
56128
  return () => {
56020
56129
  if (timeoutRef.current) {
56021
56130
  window.clearTimeout(timeoutRef.current);
@@ -56041,60 +56150,70 @@ function MarkdownCodeBlock({
56041
56150
  textAlign: "right",
56042
56151
  userSelect: "none"
56043
56152
  };
56044
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { ...props, className: classNames66__default.default("eui-markdown-code", className), children: [
56045
- showHeader ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "eui-markdown-code-header", children: [
56046
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "eui-markdown-code-header-main", children: [
56047
- title ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "eui-markdown-code-title", children: title }) : null,
56048
- languageLabel ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "eui-markdown-code-language", children: languageLabel }) : null
56049
- ] }),
56050
- showCopy ? /* @__PURE__ */ jsxRuntime.jsx(
56051
- "button",
56052
- {
56053
- type: "button",
56054
- className: "eui-markdown-copy-button",
56055
- onClick: copyCode,
56056
- children: copied ? "Copied" : "Copy"
56057
- }
56058
- ) : null
56059
- ] }) : null,
56060
- /* @__PURE__ */ jsxRuntime.jsx(
56061
- prism_light_default,
56062
- {
56063
- className: "eui-markdown-code-highlighter",
56064
- language: resolvedLanguage,
56065
- style: vsc_dark_plus_default,
56066
- showLineNumbers,
56067
- wrapLines: highlightLines.size > 0,
56068
- wrapLongLines,
56069
- PreTag: "pre",
56070
- CodeTag: "code",
56071
- customStyle: {
56072
- margin: 0,
56073
- padding: "1rem",
56074
- background: "transparent",
56075
- fontSize: "0.875rem",
56076
- lineHeight: 1.7
56077
- },
56078
- codeTagProps: {
56079
- style: {
56080
- fontFamily: '"JetBrains Mono", "Fira Code", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace'
56081
- }
56082
- },
56083
- lineNumberStyle,
56084
- lineProps: (lineNumber) => {
56085
- const highlighted = highlightLines.has(lineNumber);
56086
- return {
56087
- className: highlighted ? "eui-markdown-code-line-highlighted" : void 0,
56088
- style: {
56089
- display: "block",
56090
- background: highlighted ? "rgba(250, 204, 21, 0.12)" : void 0
56153
+ return /* @__PURE__ */ jsxRuntime.jsxs(
56154
+ "div",
56155
+ {
56156
+ ...props,
56157
+ className: classNames77__default.default(
56158
+ "eui-markdown-code my-6 overflow-hidden rounded-md border border-slate-700 bg-[#0d1117] text-slate-300",
56159
+ className
56160
+ ),
56161
+ children: [
56162
+ showHeader ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "eui-markdown-code-header flex min-h-10 items-center justify-between gap-3 border-b border-slate-700 bg-[#161b22] px-3 py-2", children: [
56163
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "eui-markdown-code-header-main flex min-w-0 items-center gap-2.5", children: [
56164
+ title ? /* @__PURE__ */ jsxRuntime.jsx(Caption, { className: "eui-markdown-code-title truncate text-[0.8125rem] font-semibold text-slate-100 opacity-100", children: title }) : null,
56165
+ languageLabel ? /* @__PURE__ */ jsxRuntime.jsx(Overline, { className: "eui-markdown-code-language inline-flex h-[1.35rem] items-center rounded-full border border-slate-700 bg-[#0d1117] px-2 text-[0.6875rem] font-bold uppercase tracking-wider text-slate-400", children: languageLabel }) : null
56166
+ ] }),
56167
+ showCopy ? /* @__PURE__ */ jsxRuntime.jsx(
56168
+ "button",
56169
+ {
56170
+ type: "button",
56171
+ className: "eui-markdown-copy-button inline-flex h-7 shrink-0 cursor-pointer items-center justify-center rounded-md border border-slate-700 bg-slate-800 px-2.5 text-xs font-medium leading-none text-slate-300 transition hover:border-slate-500 hover:bg-slate-700 hover:text-slate-100 active:scale-95 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-blue-400",
56172
+ onClick: copyCode,
56173
+ "aria-label": copied ? "Code copied" : "Copy code",
56174
+ children: copied ? "Copied" : "Copy"
56091
56175
  }
56092
- };
56093
- },
56094
- children: code4
56095
- }
56096
- )
56097
- ] });
56176
+ ) : null
56177
+ ] }) : null,
56178
+ /* @__PURE__ */ jsxRuntime.jsx(
56179
+ prism_light_default,
56180
+ {
56181
+ className: "eui-markdown-code-highlighter !m-0 !rounded-none !border-0 !bg-transparent !shadow-none [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:border-[3px] [&::-webkit-scrollbar-thumb]:border-[#0d1117] [&::-webkit-scrollbar-thumb]:bg-slate-700 hover:[&::-webkit-scrollbar-thumb]:bg-slate-500 [&::-webkit-scrollbar-track]:bg-[#0d1117] [&::-webkit-scrollbar]:h-3 [&::-webkit-scrollbar]:w-3",
56182
+ language: resolvedLanguage,
56183
+ style: vsc_dark_plus_default,
56184
+ showLineNumbers,
56185
+ wrapLines: highlightLines.size > 0,
56186
+ wrapLongLines,
56187
+ PreTag: "pre",
56188
+ CodeTag: "code",
56189
+ customStyle: {
56190
+ margin: 0,
56191
+ padding: "1rem",
56192
+ background: "transparent",
56193
+ fontSize: "0.875rem",
56194
+ lineHeight: 1.7
56195
+ },
56196
+ codeTagProps: {
56197
+ style: {
56198
+ fontFamily: '"JetBrains Mono", "Fira Code", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace'
56199
+ }
56200
+ },
56201
+ lineNumberStyle,
56202
+ lineProps: (lineNumber) => {
56203
+ const highlighted = highlightLines.has(lineNumber);
56204
+ return {
56205
+ className: highlighted ? "eui-markdown-code-line-highlighted border-l-[3px] border-amber-600 bg-yellow-400/10" : void 0,
56206
+ style: {
56207
+ display: "block"
56208
+ }
56209
+ };
56210
+ },
56211
+ children: code4
56212
+ }
56213
+ )
56214
+ ]
56215
+ }
56216
+ );
56098
56217
  }
56099
56218
  var MarkdownCodeBlock_default = MarkdownCodeBlock;
56100
56219
  function MarkdownInlineCode({
@@ -56103,11 +56222,14 @@ function MarkdownInlineCode({
56103
56222
  ...props
56104
56223
  }) {
56105
56224
  return /* @__PURE__ */ jsxRuntime.jsx(
56106
- "code",
56225
+ Code,
56107
56226
  {
56108
56227
  ...props,
56109
- className: classNames66__default.default("eui-markdown-inline-code", className),
56110
- children: children3
56228
+ className: classNames77__default.default(
56229
+ "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",
56230
+ className
56231
+ ),
56232
+ children: /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: children3 })
56111
56233
  }
56112
56234
  );
56113
56235
  }
@@ -56144,7 +56266,10 @@ function MarkdownLink({
56144
56266
  href: safeHref,
56145
56267
  target: resolvedTarget,
56146
56268
  rel,
56147
- className: classNames66__default.default("eui-markdown-link", className),
56269
+ className: classNames77__default.default(
56270
+ "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",
56271
+ className
56272
+ ),
56148
56273
  children: children3
56149
56274
  }
56150
56275
  );
@@ -56168,7 +56293,7 @@ function MarkdownImage({
56168
56293
  return null;
56169
56294
  }
56170
56295
  return /* @__PURE__ */ jsxRuntime.jsx(
56171
- "img",
56296
+ Image2,
56172
56297
  {
56173
56298
  ...props,
56174
56299
  src: safeSrc,
@@ -56176,7 +56301,10 @@ function MarkdownImage({
56176
56301
  title,
56177
56302
  loading: "lazy",
56178
56303
  decoding: "async",
56179
- className: classNames66__default.default("eui-markdown-image", className)
56304
+ className: classNames77__default.default(
56305
+ "eui-markdown-image my-6 h-auto max-w-full rounded-md border border-gray-200 dark:border-gray-700",
56306
+ className
56307
+ )
56180
56308
  }
56181
56309
  );
56182
56310
  }
@@ -56186,14 +56314,34 @@ function MarkdownTable({
56186
56314
  className,
56187
56315
  ...props
56188
56316
  }) {
56189
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "eui-markdown-table-wrapper", children: /* @__PURE__ */ jsxRuntime.jsx("table", { ...props, className: classNames66__default.default("eui-markdown-table", className), children: children3 }) });
56317
+ return /* @__PURE__ */ jsxRuntime.jsx(TableFrame, { className: "eui-markdown-table-wrapper my-6 rounded-md", children: /* @__PURE__ */ jsxRuntime.jsx(
56318
+ TableElement,
56319
+ {
56320
+ ...props,
56321
+ className: classNames77__default.default(
56322
+ "eui-markdown-table w-full border-collapse text-[0.925rem]",
56323
+ className
56324
+ ),
56325
+ children: children3
56326
+ }
56327
+ ) });
56190
56328
  }
56191
56329
  function MarkdownTableCell({
56192
56330
  children: children3,
56193
56331
  className,
56194
56332
  ...props
56195
56333
  }) {
56196
- return /* @__PURE__ */ jsxRuntime.jsx("td", { ...props, className: classNames66__default.default("eui-markdown-table-cell", className), children: children3 });
56334
+ return /* @__PURE__ */ jsxRuntime.jsx(
56335
+ TableCell,
56336
+ {
56337
+ ...props,
56338
+ className: classNames77__default.default(
56339
+ "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",
56340
+ className
56341
+ ),
56342
+ children: children3
56343
+ }
56344
+ );
56197
56345
  }
56198
56346
  function MarkdownTableHeaderCell({
56199
56347
  children: children3,
@@ -56201,14 +56349,59 @@ function MarkdownTableHeaderCell({
56201
56349
  ...props
56202
56350
  }) {
56203
56351
  return /* @__PURE__ */ jsxRuntime.jsx(
56204
- "th",
56352
+ TableHeaderCell,
56205
56353
  {
56206
56354
  ...props,
56207
- className: classNames66__default.default("eui-markdown-table-header-cell", className),
56355
+ className: classNames77__default.default(
56356
+ "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",
56357
+ className
56358
+ ),
56208
56359
  children: children3
56209
56360
  }
56210
56361
  );
56211
56362
  }
56363
+ function MarkdownTableHead({
56364
+ className,
56365
+ ...props
56366
+ }) {
56367
+ return /* @__PURE__ */ jsxRuntime.jsx(
56368
+ TableHead,
56369
+ {
56370
+ ...props,
56371
+ className: classNames77__default.default(
56372
+ "eui-markdown-table-head bg-gray-50 dark:bg-gray-900",
56373
+ className
56374
+ )
56375
+ }
56376
+ );
56377
+ }
56378
+ function MarkdownTableBody({
56379
+ className,
56380
+ ...props
56381
+ }) {
56382
+ return /* @__PURE__ */ jsxRuntime.jsx(
56383
+ TableBody,
56384
+ {
56385
+ ...props,
56386
+ className: classNames77__default.default("eui-markdown-table-body", className)
56387
+ }
56388
+ );
56389
+ }
56390
+ function MarkdownTableRow({
56391
+ className,
56392
+ ...props
56393
+ }) {
56394
+ return /* @__PURE__ */ jsxRuntime.jsx(
56395
+ TableRow,
56396
+ {
56397
+ ...props,
56398
+ className: classNames77__default.default(
56399
+ "eui-markdown-table-row even:bg-gray-50/70 dark:even:bg-gray-900/60",
56400
+ className
56401
+ )
56402
+ }
56403
+ );
56404
+ }
56212
56405
  var MarkdownTable_default = MarkdownTable;
56213
56406
  function MarkdownBlockquote({
56214
56407
  children: children3,
@@ -56216,15 +56409,204 @@ function MarkdownBlockquote({
56216
56409
  ...props
56217
56410
  }) {
56218
56411
  return /* @__PURE__ */ jsxRuntime.jsx(
56219
- "blockquote",
56412
+ Quote,
56220
56413
  {
56221
56414
  ...props,
56222
- className: classNames66__default.default("eui-markdown-blockquote", className),
56223
- children: children3
56415
+ as: "blockquote",
56416
+ className: classNames77__default.default(
56417
+ "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",
56418
+ className
56419
+ ),
56420
+ children: /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: children3 })
56224
56421
  }
56225
56422
  );
56226
56423
  }
56227
56424
  var MarkdownBlockquote_default = MarkdownBlockquote;
56425
+ function MarkdownParagraph({
56426
+ children: children3,
56427
+ className,
56428
+ ...props
56429
+ }) {
56430
+ return /* @__PURE__ */ jsxRuntime.jsx(
56431
+ Paragraph,
56432
+ {
56433
+ ...props,
56434
+ level: 1,
56435
+ className: classNames77__default.default("eui-markdown-paragraph my-4", className),
56436
+ children: /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: children3 })
56437
+ }
56438
+ );
56439
+ }
56440
+ var MarkdownParagraph_default = MarkdownParagraph;
56441
+ function MarkdownStrong({ className, ...props }) {
56442
+ return /* @__PURE__ */ jsxRuntime.jsx(
56443
+ "strong",
56444
+ {
56445
+ ...props,
56446
+ className: classNames77__default.default(
56447
+ "eui-markdown-strong font-semibold text-gray-950 dark:text-gray-100",
56448
+ className
56449
+ )
56450
+ }
56451
+ );
56452
+ }
56453
+ var MarkdownStrong_default = MarkdownStrong;
56454
+ function MarkdownEmphasis({ className, ...props }) {
56455
+ return /* @__PURE__ */ jsxRuntime.jsx(
56456
+ "em",
56457
+ {
56458
+ ...props,
56459
+ className: classNames77__default.default("eui-markdown-emphasis italic", className)
56460
+ }
56461
+ );
56462
+ }
56463
+ var MarkdownEmphasis_default = MarkdownEmphasis;
56464
+ function MarkdownStrikethrough({
56465
+ className,
56466
+ ...props
56467
+ }) {
56468
+ return /* @__PURE__ */ jsxRuntime.jsx(
56469
+ "del",
56470
+ {
56471
+ ...props,
56472
+ className: classNames77__default.default(
56473
+ "eui-markdown-strikethrough text-gray-500 dark:text-gray-400",
56474
+ className
56475
+ )
56476
+ }
56477
+ );
56478
+ }
56479
+ var MarkdownStrikethrough_default = MarkdownStrikethrough;
56480
+ function MarkdownUnorderedList({
56481
+ className,
56482
+ ...props
56483
+ }) {
56484
+ return /* @__PURE__ */ jsxRuntime.jsx(
56485
+ ListRoot,
56486
+ {
56487
+ ...props,
56488
+ as: "ul",
56489
+ className: cn(
56490
+ "eui-markdown-unordered-list",
56491
+ className?.includes("contains-task-list") && "list-none pl-0",
56492
+ className
56493
+ )
56494
+ }
56495
+ );
56496
+ }
56497
+ function MarkdownOrderedList({
56498
+ className,
56499
+ ...props
56500
+ }) {
56501
+ return /* @__PURE__ */ jsxRuntime.jsx(
56502
+ ListRoot,
56503
+ {
56504
+ ...props,
56505
+ as: "ol",
56506
+ className: cn("eui-markdown-ordered-list", className)
56507
+ }
56508
+ );
56509
+ }
56510
+ function MarkdownListItem({ className, ...props }) {
56511
+ return /* @__PURE__ */ jsxRuntime.jsx(
56512
+ ListItemElement,
56513
+ {
56514
+ ...props,
56515
+ as: "li",
56516
+ className: cn(
56517
+ "eui-markdown-list-item",
56518
+ className?.includes("task-list-item") && "list-none pl-0",
56519
+ className
56520
+ )
56521
+ }
56522
+ );
56523
+ }
56524
+ var MarkdownListItem_default = MarkdownListItem;
56525
+ function MarkdownTaskCheckbox({
56526
+ className,
56527
+ ...props
56528
+ }) {
56529
+ return /* @__PURE__ */ jsxRuntime.jsx(
56530
+ "input",
56531
+ {
56532
+ ...props,
56533
+ className: classNames77__default.default(
56534
+ "eui-markdown-task-checkbox mr-2 translate-y-px accent-blue-600",
56535
+ className
56536
+ )
56537
+ }
56538
+ );
56539
+ }
56540
+ var MarkdownTaskCheckbox_default = MarkdownTaskCheckbox;
56541
+ function MarkdownThematicBreak({
56542
+ className,
56543
+ ...props
56544
+ }) {
56545
+ return /* @__PURE__ */ jsxRuntime.jsx(
56546
+ "hr",
56547
+ {
56548
+ ...props,
56549
+ className: classNames77__default.default(
56550
+ "eui-markdown-thematic-break my-8 border-0 border-t border-gray-200 dark:border-gray-800",
56551
+ className
56552
+ )
56553
+ }
56554
+ );
56555
+ }
56556
+ var MarkdownThematicBreak_default = MarkdownThematicBreak;
56557
+ function MarkdownBreak(props) {
56558
+ return /* @__PURE__ */ jsxRuntime.jsx("br", { ...props });
56559
+ }
56560
+ var MarkdownBreak_default = MarkdownBreak;
56561
+ function MarkdownDetails({ className, ...props }) {
56562
+ return /* @__PURE__ */ jsxRuntime.jsx(
56563
+ "details",
56564
+ {
56565
+ ...props,
56566
+ className: classNames77__default.default(
56567
+ "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",
56568
+ className
56569
+ )
56570
+ }
56571
+ );
56572
+ }
56573
+ function MarkdownSummary({ className, ...props }) {
56574
+ return /* @__PURE__ */ jsxRuntime.jsx(
56575
+ "summary",
56576
+ {
56577
+ ...props,
56578
+ className: classNames77__default.default(
56579
+ "eui-markdown-summary cursor-pointer font-semibold text-gray-950 dark:text-gray-100",
56580
+ className
56581
+ )
56582
+ }
56583
+ );
56584
+ }
56585
+ function MarkdownFigure({ className, ...props }) {
56586
+ return /* @__PURE__ */ jsxRuntime.jsx(
56587
+ "figure",
56588
+ {
56589
+ ...props,
56590
+ className: classNames77__default.default("eui-markdown-figure my-6", className)
56591
+ }
56592
+ );
56593
+ }
56594
+ function MarkdownFigcaption({
56595
+ children: children3,
56596
+ className,
56597
+ ...props
56598
+ }) {
56599
+ return /* @__PURE__ */ jsxRuntime.jsx("figcaption", { ...props, className: "eui-markdown-figcaption mt-2 text-center", children: /* @__PURE__ */ jsxRuntime.jsx(
56600
+ Caption,
56601
+ {
56602
+ className: classNames77__default.default(
56603
+ "text-gray-500 opacity-100 dark:text-gray-400",
56604
+ className
56605
+ ),
56606
+ children: /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: children3 })
56607
+ }
56608
+ ) });
56609
+ }
56228
56610
  function getTextContent(node2) {
56229
56611
  if (typeof node2 === "string" || typeof node2 === "number") {
56230
56612
  return String(node2);
@@ -56232,7 +56614,7 @@ function getTextContent(node2) {
56232
56614
  if (Array.isArray(node2)) {
56233
56615
  return node2.map(getTextContent).join("");
56234
56616
  }
56235
- if (React27.isValidElement(node2)) {
56617
+ if (React26.isValidElement(node2)) {
56236
56618
  return getTextContent(node2.props.children);
56237
56619
  }
56238
56620
  return "";
@@ -56240,6 +56622,24 @@ function getTextContent(node2) {
56240
56622
  function createHeadingKey(level, text10) {
56241
56623
  return `${level}:${sanitizeHeading(text10)}`;
56242
56624
  }
56625
+ function remarkCodeMetadata() {
56626
+ return (tree) => {
56627
+ const visit2 = (node2) => {
56628
+ if (node2.type === "code") {
56629
+ const data = node2.data ?? (node2.data = {});
56630
+ const properties2 = data.hProperties ?? (data.hProperties = {});
56631
+ if (node2.lang) {
56632
+ properties2["data-language"] = node2.lang;
56633
+ }
56634
+ if (node2.meta) {
56635
+ properties2["data-meta"] = node2.meta;
56636
+ }
56637
+ }
56638
+ node2.children?.forEach(visit2);
56639
+ };
56640
+ visit2(tree);
56641
+ };
56642
+ }
56243
56643
  function parseNumberRanges(value) {
56244
56644
  if (!value) return [];
56245
56645
  const normalized = value.replace(/[{}[\]\s]/g, "");
@@ -56265,15 +56665,19 @@ function parseNumberRanges(value) {
56265
56665
  }
56266
56666
  function parseCodeMeta(metaString) {
56267
56667
  if (!metaString) return void 0;
56268
- const filenameMatch = metaString.match(
56269
- /(?:filename|file)=["']?([^"'\s]+)["']?/
56270
- );
56271
- const titleMatch = metaString.match(/(?:title)=["']?([^"']+)["']?/);
56272
- const highlightMatch = metaString.match(/(?:highlight|lines)=["']?([^"'\s]+)["']?/) || metaString.match(/{([^}]+)}/);
56668
+ const readValue = (key) => {
56669
+ const match = metaString.match(
56670
+ new RegExp(`(?:^|\\s)${key}=(?:"([^"]*)"|'([^']*)'|([^\\s]+))`, "i")
56671
+ );
56672
+ return match?.[1] ?? match?.[2] ?? match?.[3];
56673
+ };
56674
+ const filename = readValue("(?:filename|file)");
56675
+ const title = readValue("title");
56676
+ const highlightMatch = metaString.match(/(?:highlight|lines)=["']?([^"'\s]+)["']?/i) || metaString.match(/{([^}]+)}/);
56273
56677
  return {
56274
- filename: filenameMatch?.[1],
56275
- title: titleMatch?.[1],
56276
- showLineNumbers: /\b(showLineNumbers|lineNumbers|line-numbers)\b/.test(
56678
+ filename,
56679
+ title,
56680
+ showLineNumbers: /\b(showLineNumbers|lineNumbers|line-numbers)\b/i.test(
56277
56681
  metaString
56278
56682
  ),
56279
56683
  highlightLines: parseNumberRanges(highlightMatch?.[1])
@@ -56281,26 +56685,35 @@ function parseCodeMeta(metaString) {
56281
56685
  }
56282
56686
  function getCodeMetaString(node2) {
56283
56687
  const value = node2;
56284
- return value?.data?.meta || value?.data?.hProperties?.meta || value?.properties?.meta || value?.properties?.dataMeta || value?.meta;
56688
+ return value?.data?.meta || value?.data?.hProperties?.meta || value?.properties?.meta || value?.properties?.dataMeta || value?.properties?.["data-meta"] || value?.meta;
56689
+ }
56690
+ function getStringProperty(value) {
56691
+ if (typeof value === "string") return value;
56692
+ if (Array.isArray(value)) {
56693
+ return value.map(String).join(" ");
56694
+ }
56695
+ return void 0;
56285
56696
  }
56286
56697
  function getLanguageFromClassName(className) {
56287
56698
  if (!className) return void 0;
56288
56699
  const match = className.match(/language-([^\s]+)/);
56289
56700
  return match?.[1];
56290
56701
  }
56291
- function getCodeInfoFromPreChildren(children3) {
56292
- const childArray = React27__default.default.Children.toArray(children3);
56293
- const codeElement = childArray.find((child) => {
56294
- if (!React27.isValidElement(child)) return false;
56295
- return child.type === "code";
56296
- });
56297
- const codeProps = codeElement?.props;
56298
- const code4 = getTextContent(codeProps?.children ?? children3).replace(
56299
- /\n$/,
56300
- ""
56301
- );
56302
- const language = getLanguageFromClassName(codeProps?.className);
56303
- const meta = parseCodeMeta(codeProps?.["data-meta"]);
56702
+ function getAstTextContent(node2) {
56703
+ if (!node2) return "";
56704
+ if (typeof node2.value === "string") return node2.value;
56705
+ return node2.children?.map(getAstTextContent).join("") ?? "";
56706
+ }
56707
+ function getCodeInfoFromPreNode(node2, fallbackChildren) {
56708
+ const preNode = node2;
56709
+ const codeNode = preNode?.children?.find((child) => child.tagName === "code");
56710
+ const properties2 = codeNode?.properties;
56711
+ const className = getStringProperty(properties2?.className);
56712
+ const dataLanguage = getStringProperty(properties2?.dataLanguage) ?? getStringProperty(properties2?.["data-language"]);
56713
+ const astCode = getAstTextContent(codeNode);
56714
+ const code4 = (astCode || getTextContent(fallbackChildren)).replace(/\n$/, "");
56715
+ const language = getLanguageFromClassName(className) ?? dataLanguage;
56716
+ const meta = parseCodeMeta(getCodeMetaString(codeNode));
56304
56717
  return {
56305
56718
  code: code4,
56306
56719
  language,
@@ -56348,6 +56761,7 @@ function MarkdownRenderer({
56348
56761
  })}`;
56349
56762
  };
56350
56763
  const remarkPlugins = [];
56764
+ remarkPlugins.push(remarkCodeMetadata);
56351
56765
  if (enableGfm) {
56352
56766
  remarkPlugins.push(remarkGfm);
56353
56767
  }
@@ -56443,13 +56857,15 @@ function MarkdownRenderer({
56443
56857
  * Then the pre renderer can reliably extract language + meta.
56444
56858
  */
56445
56859
  code: ({ node: node2, className: className2, children: children3, ...rest }) => {
56446
- const language = getLanguageFromClassName(className2);
56860
+ const astNode = node2;
56861
+ const language = getLanguageFromClassName(className2) ?? getStringProperty(astNode.properties?.dataLanguage) ?? getStringProperty(astNode.properties?.["data-language"]);
56447
56862
  if (language) {
56448
56863
  return /* @__PURE__ */ jsxRuntime.jsx(
56449
56864
  "code",
56450
56865
  {
56451
56866
  ...rest,
56452
56867
  className: className2,
56868
+ "data-language": language,
56453
56869
  "data-meta": getCodeMetaString(node2),
56454
56870
  children: children3
56455
56871
  }
@@ -56463,9 +56879,9 @@ function MarkdownRenderer({
56463
56879
  * React-markdown's pre props are HTMLPreElement props.
56464
56880
  * MarkdownCodeBlock root is a div.
56465
56881
  */
56466
- pre: ({ node: _node, children: children3 }) => {
56882
+ pre: ({ node: node2, children: children3 }) => {
56467
56883
  const Component = components?.pre ?? MarkdownCodeBlock_default;
56468
- const { code: code4, language, meta } = getCodeInfoFromPreChildren(children3);
56884
+ const { code: code4, language, meta } = getCodeInfoFromPreNode(node2, children3);
56469
56885
  return /* @__PURE__ */ jsxRuntime.jsx(
56470
56886
  Component,
56471
56887
  {
@@ -56509,18 +56925,104 @@ function MarkdownRenderer({
56509
56925
  const Component = components?.blockquote ?? MarkdownBlockquote_default;
56510
56926
  return /* @__PURE__ */ jsxRuntime.jsx(Component, { ...rest, children: children3 });
56511
56927
  },
56928
+ p: ({ node: _node, ...rest }) => {
56929
+ const Component = components?.p ?? MarkdownParagraph_default;
56930
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { ...rest });
56931
+ },
56932
+ strong: ({ node: _node, ...rest }) => {
56933
+ const Component = components?.strong ?? MarkdownStrong_default;
56934
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { ...rest });
56935
+ },
56936
+ em: ({ node: _node, ...rest }) => {
56937
+ const Component = components?.em ?? MarkdownEmphasis_default;
56938
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { ...rest });
56939
+ },
56940
+ del: ({ node: _node, ...rest }) => {
56941
+ const Component = components?.del ?? MarkdownStrikethrough_default;
56942
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { ...rest });
56943
+ },
56944
+ ul: ({ node: _node, ...rest }) => {
56945
+ const Component = components?.ul ?? MarkdownUnorderedList;
56946
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { ...rest });
56947
+ },
56948
+ ol: ({ node: _node, ...rest }) => {
56949
+ const Component = components?.ol ?? MarkdownOrderedList;
56950
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { ...rest });
56951
+ },
56952
+ li: ({ node: _node, ...rest }) => {
56953
+ const Component = components?.li ?? MarkdownListItem_default;
56954
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { ...rest });
56955
+ },
56956
+ input: ({ node: _node, ...rest }) => {
56957
+ const Component = components?.input ?? MarkdownTaskCheckbox_default;
56958
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { ...rest });
56959
+ },
56960
+ hr: ({ node: _node, ...rest }) => {
56961
+ const Component = components?.hr ?? MarkdownThematicBreak_default;
56962
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { ...rest });
56963
+ },
56964
+ br: ({ node: _node, ...rest }) => {
56965
+ const Component = components?.br ?? MarkdownBreak_default;
56966
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { ...rest });
56967
+ },
56968
+ details: ({ node: _node, ...rest }) => {
56969
+ const Component = components?.details ?? MarkdownDetails;
56970
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { ...rest });
56971
+ },
56972
+ summary: ({ node: _node, ...rest }) => {
56973
+ const Component = components?.summary ?? MarkdownSummary;
56974
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { ...rest });
56975
+ },
56976
+ figure: ({ node: _node, ...rest }) => {
56977
+ const Component = components?.figure ?? MarkdownFigure;
56978
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { ...rest });
56979
+ },
56980
+ figcaption: ({ node: _node, ...rest }) => {
56981
+ const Component = components?.figcaption ?? MarkdownFigcaption;
56982
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { ...rest });
56983
+ },
56984
+ thead: ({ node: _node, ...rest }) => {
56985
+ const Component = components?.thead ?? MarkdownTableHead;
56986
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { ...rest });
56987
+ },
56988
+ tbody: ({ node: _node, ...rest }) => {
56989
+ const Component = components?.tbody ?? MarkdownTableBody;
56990
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { ...rest });
56991
+ },
56992
+ tr: ({ node: _node, ...rest }) => {
56993
+ const Component = components?.tr ?? MarkdownTableRow;
56994
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { ...rest });
56995
+ },
56512
56996
  ...components
56513
56997
  };
56514
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames66__default.default("eui-markdown markdown-body", className), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: contentClassName, children: /* @__PURE__ */ jsxRuntime.jsx(
56515
- Markdown,
56998
+ return /* @__PURE__ */ jsxRuntime.jsx(
56999
+ "div",
56516
57000
  {
56517
- remarkPlugins,
56518
- rehypePlugins,
56519
- skipHtml: !allowHtml,
56520
- components: rendererComponents,
56521
- children: markdown
57001
+ className: classNames77__default.default(
57002
+ "eui-markdown markdown-body break-words bg-transparent text-[0.95rem] leading-7 text-gray-800 dark:text-gray-300",
57003
+ className
57004
+ ),
57005
+ children: /* @__PURE__ */ jsxRuntime.jsx(
57006
+ "div",
57007
+ {
57008
+ className: classNames77__default.default(
57009
+ "[&>*:first-child]:mt-0 [&>*:last-child]:mb-0",
57010
+ contentClassName
57011
+ ),
57012
+ children: /* @__PURE__ */ jsxRuntime.jsx(
57013
+ Markdown,
57014
+ {
57015
+ remarkPlugins,
57016
+ rehypePlugins,
57017
+ skipHtml: !allowHtml,
57018
+ components: rendererComponents,
57019
+ children: markdown
57020
+ }
57021
+ )
57022
+ }
57023
+ )
56522
57024
  }
56523
- ) }) });
57025
+ );
56524
57026
  }
56525
57027
  var MarkdownRenderer_default = MarkdownRenderer;
56526
57028
  function MarkdownViewer({
@@ -56532,7 +57034,7 @@ function MarkdownViewer({
56532
57034
  }) {
56533
57035
  const context = useMarkdown();
56534
57036
  const markdown = value ?? context?.markdown ?? "";
56535
- const headings = React27.useMemo(() => {
57037
+ const headings = React26.useMemo(() => {
56536
57038
  if (externalHeadings) {
56537
57039
  return externalHeadings;
56538
57040
  }
@@ -56581,11 +57083,11 @@ function MarkdownTOCItem({
56581
57083
  onClick: () => onSelect?.(heading3),
56582
57084
  "aria-current": active ? "location" : void 0,
56583
57085
  title: label,
56584
- className: classNames66__default.default(
57086
+ className: classNames77__default.default(
56585
57087
  "eui-markdown-toc-item",
56586
57088
  "block w-full text-left text-sm transition-all ease-in-out duration-150",
56587
57089
  "hover:text-primary",
56588
- active ? classNames66__default.default("text-primary font-semibold underline", activeClassName) : classNames66__default.default("text-gray-500 dark:text-gray-400", inactiveClassName),
57090
+ active ? classNames77__default.default("text-primary font-semibold underline", activeClassName) : classNames77__default.default("text-gray-500 dark:text-gray-400", inactiveClassName),
56589
57091
  className
56590
57092
  ),
56591
57093
  style: {
@@ -56624,14 +57126,14 @@ function MarkdownTOC({
56624
57126
  onHeadingClick
56625
57127
  }) {
56626
57128
  const context = useMarkdown();
56627
- const [collapsed, setCollapsed] = React27.useState(defaultCollapsed);
57129
+ const [collapsed, setCollapsed] = React26.useState(defaultCollapsed);
56628
57130
  const { headings, numberedHeadings, hasHeadings } = useMarkdownHeadings({
56629
57131
  markdown,
56630
57132
  headings: externalHeadings,
56631
57133
  minDepth,
56632
57134
  maxDepth
56633
57135
  });
56634
- const tocHeadings = React27.useMemo(() => {
57136
+ const tocHeadings = React26.useMemo(() => {
56635
57137
  return numbered ? numberedHeadings : headings;
56636
57138
  }, [headings, numbered, numberedHeadings]);
56637
57139
  const { activeHeading, scrollToHeading, setActiveHeading } = useActiveHeading(
@@ -56651,7 +57153,7 @@ function MarkdownTOC({
56651
57153
  return emptyState ? /* @__PURE__ */ jsxRuntime.jsx(
56652
57154
  "div",
56653
57155
  {
56654
- className: classNames66__default.default(
57156
+ className: classNames77__default.default(
56655
57157
  "eui-markdown-toc",
56656
57158
  "text-sm text-gray-500 dark:text-gray-400",
56657
57159
  className
@@ -56671,7 +57173,7 @@ function MarkdownTOC({
56671
57173
  {
56672
57174
  type: "button",
56673
57175
  onClick: () => setCollapsed((value) => !value),
56674
- className: classNames66__default.default(
57176
+ className: classNames77__default.default(
56675
57177
  "eui-markdown-toc-title",
56676
57178
  "flex w-full items-center justify-between gap-2 text-left",
56677
57179
  "text-sm font-semibold uppercase tracking-wide",
@@ -56684,7 +57186,7 @@ function MarkdownTOC({
56684
57186
  /* @__PURE__ */ jsxRuntime.jsx(
56685
57187
  "span",
56686
57188
  {
56687
- className: classNames66__default.default(
57189
+ className: classNames77__default.default(
56688
57190
  "text-xs opacity-60 transition-transform duration-150",
56689
57191
  !collapsed && "rotate-90"
56690
57192
  ),
@@ -56697,7 +57199,7 @@ function MarkdownTOC({
56697
57199
  ) : /* @__PURE__ */ jsxRuntime.jsx(
56698
57200
  "h2",
56699
57201
  {
56700
- className: classNames66__default.default(
57202
+ className: classNames77__default.default(
56701
57203
  "eui-markdown-toc-title",
56702
57204
  "text-sm font-semibold uppercase tracking-wide",
56703
57205
  "text-gray-900 dark:text-gray-100",
@@ -56709,7 +57211,7 @@ function MarkdownTOC({
56709
57211
  !collapsed ? /* @__PURE__ */ jsxRuntime.jsx(
56710
57212
  "nav",
56711
57213
  {
56712
- className: classNames66__default.default(
57214
+ className: classNames77__default.default(
56713
57215
  "eui-markdown-toc-list",
56714
57216
  "space-y-1",
56715
57217
  listClassName
@@ -56733,7 +57235,7 @@ function MarkdownTOC({
56733
57235
  }
56734
57236
  ) : null
56735
57237
  ] });
56736
- return /* @__PURE__ */ jsxRuntime.jsx("aside", { className: classNames66__default.default("eui-markdown-toc", "space-y-4", className), children: content3 });
57238
+ return /* @__PURE__ */ jsxRuntime.jsx("aside", { className: classNames77__default.default("eui-markdown-toc", "space-y-4", className), children: content3 });
56737
57239
  }
56738
57240
  var MarkdownTOC_default = MarkdownTOC;
56739
57241
  var DEFAULT_MARKDOWN_TOOLBAR_ACTIONS = [
@@ -56832,7 +57334,7 @@ function MarkdownToolbar({
56832
57334
  return /* @__PURE__ */ jsxRuntime.jsxs(
56833
57335
  "div",
56834
57336
  {
56835
- className: classNames66__default.default(
57337
+ className: classNames77__default.default(
56836
57338
  "eui-markdown-toolbar",
56837
57339
  "flex flex-wrap items-center gap-1 border-b border-gray-200 bg-gray-50 p-2",
56838
57340
  "dark:border-gray-700 dark:bg-gray-900",
@@ -56846,7 +57348,7 @@ function MarkdownToolbar({
56846
57348
  disabled: disabled || actionsDisabled,
56847
57349
  title: action.shortcut ? `${action.title || action.label} (${action.shortcut})` : action.title || action.label,
56848
57350
  onClick: () => onAction?.(action.id),
56849
- className: classNames66__default.default(
57351
+ className: classNames77__default.default(
56850
57352
  "eui-markdown-toolbar-button",
56851
57353
  "inline-flex items-center justify-center rounded border border-transparent",
56852
57354
  "text-gray-700 transition-colors hover:border-gray-300 hover:bg-white",
@@ -56866,7 +57368,7 @@ function MarkdownToolbar({
56866
57368
  disabled,
56867
57369
  onClick: onViewModeToggle,
56868
57370
  title: isPreviewMode ? "Switch to Markdown syntax" : "Switch to preview",
56869
- className: classNames66__default.default(
57371
+ className: classNames77__default.default(
56870
57372
  "eui-markdown-view-toggle",
56871
57373
  "inline-flex items-center justify-center rounded border font-medium transition-colors",
56872
57374
  "border-gray-300 bg-white text-gray-700 hover:bg-gray-100",
@@ -57052,20 +57554,20 @@ function MarkdownSourceEditor({
57052
57554
  onKeyDown,
57053
57555
  ...props
57054
57556
  }) {
57055
- const textareaRef = React27.useRef(null);
57557
+ const textareaRef = React26.useRef(null);
57056
57558
  const isControlled = value !== void 0;
57057
57559
  const isViewModeControlled = viewMode !== void 0;
57058
- const [internalValue, setInternalValue] = React27.useState(defaultValue);
57059
- const [internalViewMode, setInternalViewMode] = React27.useState(defaultViewMode);
57560
+ const [internalValue, setInternalValue] = React26.useState(defaultValue);
57561
+ const [internalViewMode, setInternalViewMode] = React26.useState(defaultViewMode);
57060
57562
  const currentValue = isControlled ? value : internalValue;
57061
57563
  const currentViewMode = isViewModeControlled ? viewMode : internalViewMode;
57062
57564
  const resolvedValue = currentValue ?? "";
57063
- React27.useEffect(() => {
57565
+ React26.useEffect(() => {
57064
57566
  if (!isControlled) {
57065
57567
  setInternalValue(defaultValue);
57066
57568
  }
57067
57569
  }, [defaultValue, isControlled]);
57068
- React27.useEffect(() => {
57570
+ React26.useEffect(() => {
57069
57571
  if (!isViewModeControlled) {
57070
57572
  setInternalViewMode(defaultViewMode);
57071
57573
  }
@@ -57123,7 +57625,7 @@ function MarkdownSourceEditor({
57123
57625
  return /* @__PURE__ */ jsxRuntime.jsxs(
57124
57626
  "div",
57125
57627
  {
57126
- className: classNames66__default.default(
57628
+ className: classNames77__default.default(
57127
57629
  "eui-markdown-editor",
57128
57630
  "overflow-hidden rounded border border-gray-300 bg-white",
57129
57631
  "dark:border-gray-700 dark:bg-gray-950",
@@ -57139,7 +57641,7 @@ function MarkdownSourceEditor({
57139
57641
  actionsDisabled: readOnly,
57140
57642
  viewMode: currentViewMode,
57141
57643
  showViewModeToggle,
57142
- className: classNames66__default.default(toolbarClassName, toolbarProps?.className),
57644
+ className: classNames77__default.default(toolbarClassName, toolbarProps?.className),
57143
57645
  onViewModeToggle: toggleViewMode,
57144
57646
  onAction: handleToolbarAction
57145
57647
  }
@@ -57147,7 +57649,7 @@ function MarkdownSourceEditor({
57147
57649
  currentViewMode === "preview" ? /* @__PURE__ */ jsxRuntime.jsx(
57148
57650
  "div",
57149
57651
  {
57150
- className: classNames66__default.default(
57652
+ className: classNames77__default.default(
57151
57653
  "eui-markdown-editor-preview",
57152
57654
  "min-h-[260px] p-4",
57153
57655
  previewClassName
@@ -57170,7 +57672,7 @@ function MarkdownSourceEditor({
57170
57672
  onChange: (event) => updateValue(event.target.value),
57171
57673
  onBlur,
57172
57674
  onKeyDown: handleKeyDown,
57173
- className: classNames66__default.default(
57675
+ className: classNames77__default.default(
57174
57676
  "eui-markdown-source-textarea",
57175
57677
  "block w-full resize-y border-0 bg-transparent p-4 font-mono text-sm leading-7",
57176
57678
  "text-gray-900 outline-none placeholder:text-gray-400",
@@ -57200,7 +57702,7 @@ function MarkdownPreviewPane({
57200
57702
  return /* @__PURE__ */ jsxRuntime.jsx(
57201
57703
  "div",
57202
57704
  {
57203
- className: classNames66__default.default(
57705
+ className: classNames77__default.default(
57204
57706
  "eui-markdown-preview-pane",
57205
57707
  "rounded border border-gray-300 bg-white p-4",
57206
57708
  "dark:border-gray-700 dark:bg-gray-950",
@@ -57233,9 +57735,9 @@ function MarkdownSplitEditor({
57233
57735
  ...sourceEditorProps
57234
57736
  }) {
57235
57737
  const isControlled = value !== void 0;
57236
- const [internalValue, setInternalValue] = React27.useState(defaultValue);
57738
+ const [internalValue, setInternalValue] = React26.useState(defaultValue);
57237
57739
  const currentValue = isControlled ? value : internalValue;
57238
- React27.useEffect(() => {
57740
+ React26.useEffect(() => {
57239
57741
  if (!isControlled) {
57240
57742
  setInternalValue(defaultValue);
57241
57743
  }
@@ -57250,7 +57752,7 @@ function MarkdownSplitEditor({
57250
57752
  return /* @__PURE__ */ jsxRuntime.jsxs(
57251
57753
  "div",
57252
57754
  {
57253
- className: classNames66__default.default(
57755
+ className: classNames77__default.default(
57254
57756
  "eui-markdown-split-editor",
57255
57757
  "grid gap-4",
57256
57758
  isHorizontal ? "grid-cols-1 lg:grid-cols-2" : "grid-cols-1",
@@ -57260,7 +57762,7 @@ function MarkdownSplitEditor({
57260
57762
  /* @__PURE__ */ jsxRuntime.jsxs(
57261
57763
  "div",
57262
57764
  {
57263
- className: classNames66__default.default(
57765
+ className: classNames77__default.default(
57264
57766
  "eui-markdown-split-source",
57265
57767
  "min-w-0 space-y-2",
57266
57768
  sourceWrapperClassName
@@ -57284,7 +57786,7 @@ function MarkdownSplitEditor({
57284
57786
  /* @__PURE__ */ jsxRuntime.jsxs(
57285
57787
  "div",
57286
57788
  {
57287
- className: classNames66__default.default(
57789
+ className: classNames77__default.default(
57288
57790
  "eui-markdown-split-preview",
57289
57791
  "min-w-0 space-y-2",
57290
57792
  previewWrapperClassName
@@ -57314,9 +57816,9 @@ function MarkdownEditor({
57314
57816
  ...sourceEditorProps
57315
57817
  }) {
57316
57818
  const isControlled = value !== void 0;
57317
- const [internalValue, setInternalValue] = React27.useState(defaultValue);
57819
+ const [internalValue, setInternalValue] = React26.useState(defaultValue);
57318
57820
  const currentValue = isControlled ? value : internalValue;
57319
- React27.useEffect(() => {
57821
+ React26.useEffect(() => {
57320
57822
  if (!isControlled) {
57321
57823
  setInternalValue(defaultValue);
57322
57824
  }
@@ -57374,7 +57876,7 @@ function MarkdownField({
57374
57876
  return /* @__PURE__ */ jsxRuntime.jsxs(
57375
57877
  "div",
57376
57878
  {
57377
- className: classNames66__default.default(
57879
+ className: classNames77__default.default(
57378
57880
  "eui-markdown-field",
57379
57881
  "relative space-y-2",
57380
57882
  wrapperClassName
@@ -57384,7 +57886,7 @@ function MarkdownField({
57384
57886
  "label",
57385
57887
  {
57386
57888
  htmlFor: editorProps.id || field.name,
57387
- className: classNames66__default.default(
57889
+ className: classNames77__default.default(
57388
57890
  "block text-sm font-medium text-gray-700 dark:text-gray-200",
57389
57891
  labelClassName
57390
57892
  ),
@@ -57409,7 +57911,7 @@ function MarkdownField({
57409
57911
  helperText && !hasError ? /* @__PURE__ */ jsxRuntime.jsx(
57410
57912
  "p",
57411
57913
  {
57412
- className: classNames66__default.default(
57914
+ className: classNames77__default.default(
57413
57915
  "text-sm text-gray-500 dark:text-gray-400",
57414
57916
  helperTextClassName
57415
57917
  ),
@@ -57422,6 +57924,414 @@ function MarkdownField({
57422
57924
  );
57423
57925
  }
57424
57926
  var MarkdownField_default = MarkdownField;
57927
+ function toCssSize2(value) {
57928
+ if (typeof value === "number") return `${value}px`;
57929
+ return value;
57930
+ }
57931
+ function CodeMirrorMarkdownEditor({
57932
+ value,
57933
+ defaultValue = "",
57934
+ onChange,
57935
+ onBlur,
57936
+ id: id2,
57937
+ name: name2,
57938
+ placeholder = "Write markdown...",
57939
+ disabled = false,
57940
+ readOnly = false,
57941
+ autoFocus = false,
57942
+ minHeight = 320,
57943
+ maxHeight,
57944
+ height,
57945
+ dark = false,
57946
+ className,
57947
+ editorClassName,
57948
+ extensions
57949
+ }) {
57950
+ const isControlled = value !== void 0;
57951
+ const [internalValue, setInternalValue] = React26.useState(defaultValue);
57952
+ const currentValue = isControlled ? value : internalValue;
57953
+ React26.useEffect(() => {
57954
+ if (!isControlled) {
57955
+ setInternalValue(defaultValue);
57956
+ }
57957
+ }, [defaultValue, isControlled]);
57958
+ const updateValue = (nextValue) => {
57959
+ if (!isControlled) {
57960
+ setInternalValue(nextValue);
57961
+ }
57962
+ onChange?.(nextValue);
57963
+ };
57964
+ return /* @__PURE__ */ jsxRuntime.jsx(
57965
+ "div",
57966
+ {
57967
+ id: id2,
57968
+ "data-name": name2,
57969
+ className: classNames77__default.default(
57970
+ "eui-markdown-adapter",
57971
+ "eui-markdown-codemirror-adapter",
57972
+ "overflow-hidden rounded border border-gray-300 bg-white",
57973
+ "dark:border-gray-700 dark:bg-gray-950",
57974
+ disabled && "cursor-not-allowed opacity-60",
57975
+ className
57976
+ ),
57977
+ style: {
57978
+ minHeight: toCssSize2(minHeight),
57979
+ maxHeight: toCssSize2(maxHeight)
57980
+ },
57981
+ children: /* @__PURE__ */ jsxRuntime.jsx(
57982
+ CodeMirror__default.default,
57983
+ {
57984
+ value: currentValue,
57985
+ height,
57986
+ minHeight: toCssSize2(minHeight),
57987
+ maxHeight: toCssSize2(maxHeight),
57988
+ placeholder,
57989
+ autoFocus,
57990
+ editable: !disabled && !readOnly,
57991
+ readOnly,
57992
+ theme: dark ? themeOneDark.oneDark : void 0,
57993
+ extensions: [langMarkdown.markdown(), ...extensions ?? []],
57994
+ basicSetup: {
57995
+ lineNumbers: true,
57996
+ foldGutter: true,
57997
+ highlightActiveLine: true,
57998
+ highlightSelectionMatches: true,
57999
+ autocompletion: true,
58000
+ closeBrackets: true,
58001
+ bracketMatching: true
58002
+ },
58003
+ className: classNames77__default.default("eui-markdown-codemirror", editorClassName),
58004
+ onChange: updateValue,
58005
+ onBlur
58006
+ }
58007
+ )
58008
+ }
58009
+ );
58010
+ }
58011
+ var CodeMirrorMarkdownEditor_default = CodeMirrorMarkdownEditor;
58012
+ var DEFAULT_CODE_BLOCK_LANGUAGES = {
58013
+ js: "JavaScript",
58014
+ jsx: "JSX",
58015
+ ts: "TypeScript",
58016
+ tsx: "TSX",
58017
+ css: "CSS",
58018
+ scss: "SCSS",
58019
+ json: "JSON",
58020
+ bash: "Bash",
58021
+ sh: "Shell",
58022
+ html: "HTML",
58023
+ xml: "XML",
58024
+ md: "Markdown"
58025
+ };
58026
+ function toCssSize3(value) {
58027
+ if (typeof value === "number") return `${value}px`;
58028
+ return value;
58029
+ }
58030
+ function DefaultToolbar() {
58031
+ return /* @__PURE__ */ jsxRuntime.jsx(
58032
+ editor.ConditionalContents,
58033
+ {
58034
+ options: [
58035
+ {
58036
+ when: (editor) => editor?.editorType === "codeblock",
58037
+ contents: () => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
58038
+ /* @__PURE__ */ jsxRuntime.jsx(editor.UndoRedo, {}),
58039
+ /* @__PURE__ */ jsxRuntime.jsx(editor.Separator, {}),
58040
+ /* @__PURE__ */ jsxRuntime.jsx(editor.ChangeCodeMirrorLanguage, {})
58041
+ ] })
58042
+ },
58043
+ {
58044
+ fallback: () => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
58045
+ /* @__PURE__ */ jsxRuntime.jsx(editor.UndoRedo, {}),
58046
+ /* @__PURE__ */ jsxRuntime.jsx(editor.Separator, {}),
58047
+ /* @__PURE__ */ jsxRuntime.jsx(editor.BlockTypeSelect, {}),
58048
+ /* @__PURE__ */ jsxRuntime.jsx(editor.Separator, {}),
58049
+ /* @__PURE__ */ jsxRuntime.jsx(editor.BoldItalicUnderlineToggles, {}),
58050
+ /* @__PURE__ */ jsxRuntime.jsx(editor.CodeToggle, {}),
58051
+ /* @__PURE__ */ jsxRuntime.jsx(editor.StrikeThroughSupSubToggles, {}),
58052
+ /* @__PURE__ */ jsxRuntime.jsx(editor.Separator, {}),
58053
+ /* @__PURE__ */ jsxRuntime.jsx(editor.ListsToggle, {}),
58054
+ /* @__PURE__ */ jsxRuntime.jsx(editor.Separator, {}),
58055
+ /* @__PURE__ */ jsxRuntime.jsx(editor.CreateLink, {}),
58056
+ /* @__PURE__ */ jsxRuntime.jsx(editor.InsertImage, {}),
58057
+ /* @__PURE__ */ jsxRuntime.jsx(editor.Separator, {}),
58058
+ /* @__PURE__ */ jsxRuntime.jsx(editor.InsertTable, {}),
58059
+ /* @__PURE__ */ jsxRuntime.jsx(editor.InsertCodeBlock, {}),
58060
+ /* @__PURE__ */ jsxRuntime.jsx(editor.InsertThematicBreak, {})
58061
+ ] })
58062
+ }
58063
+ ]
58064
+ }
58065
+ );
58066
+ }
58067
+ function createDefaultPlugins({
58068
+ showToolbar,
58069
+ toolbarPosition,
58070
+ toolbarClassName,
58071
+ toolbarContents,
58072
+ defaultCodeBlockLanguage,
58073
+ codeMirrorOptions,
58074
+ imageOptions,
58075
+ linkDialogOptions
58076
+ }) {
58077
+ const codeBlockLanguages = codeMirrorOptions?.codeBlockLanguages ?? DEFAULT_CODE_BLOCK_LANGUAGES;
58078
+ return [
58079
+ editor.headingsPlugin(),
58080
+ editor.listsPlugin(),
58081
+ editor.quotePlugin(),
58082
+ editor.thematicBreakPlugin(),
58083
+ editor.markdownShortcutPlugin(),
58084
+ editor.linkPlugin(),
58085
+ editor.linkDialogPlugin(linkDialogOptions),
58086
+ editor.imagePlugin(imageOptions),
58087
+ editor.tablePlugin(),
58088
+ editor.codeBlockPlugin({
58089
+ defaultCodeBlockLanguage
58090
+ }),
58091
+ editor.codeMirrorPlugin({
58092
+ ...codeMirrorOptions,
58093
+ codeBlockLanguages
58094
+ }),
58095
+ ...showToolbar ? [
58096
+ editor.toolbarPlugin({
58097
+ toolbarContents: toolbarContents ?? DefaultToolbar,
58098
+ toolbarClassName: classNames77__default.default(
58099
+ "eui-markdown-mdx-toolbar",
58100
+ toolbarClassName
58101
+ ),
58102
+ toolbarPosition
58103
+ })
58104
+ ] : []
58105
+ ];
58106
+ }
58107
+ var MDXMarkdownEditor = React26.forwardRef(
58108
+ function MDXMarkdownEditor2({
58109
+ value,
58110
+ defaultValue = "",
58111
+ onChange,
58112
+ onBlur,
58113
+ id: id2,
58114
+ name: name2,
58115
+ disabled = false,
58116
+ readOnly = false,
58117
+ required = false,
58118
+ minHeight = 360,
58119
+ maxHeight,
58120
+ dark = false,
58121
+ invalid = false,
58122
+ ariaLabel,
58123
+ ariaDescribedBy,
58124
+ className,
58125
+ editorClassName,
58126
+ contentEditableClassName,
58127
+ toolbarClassName,
58128
+ plugins,
58129
+ showToolbar = true,
58130
+ toolbarPosition = "top",
58131
+ toolbarContents,
58132
+ defaultCodeBlockLanguage = "tsx",
58133
+ codeMirrorOptions,
58134
+ imageOptions,
58135
+ linkDialogOptions,
58136
+ ...props
58137
+ }, forwardedRef) {
58138
+ const editorRef = React26.useRef(null);
58139
+ const isControlled = value !== void 0;
58140
+ const [internalValue, setInternalValue] = React26.useState(defaultValue);
58141
+ const currentValue = isControlled ? value : internalValue;
58142
+ const defaultPlugins = React26.useMemo(
58143
+ () => createDefaultPlugins({
58144
+ showToolbar,
58145
+ toolbarPosition,
58146
+ toolbarClassName,
58147
+ toolbarContents,
58148
+ defaultCodeBlockLanguage,
58149
+ codeMirrorOptions,
58150
+ imageOptions,
58151
+ linkDialogOptions
58152
+ }),
58153
+ [
58154
+ codeMirrorOptions,
58155
+ defaultCodeBlockLanguage,
58156
+ imageOptions,
58157
+ linkDialogOptions,
58158
+ showToolbar,
58159
+ toolbarClassName,
58160
+ toolbarContents,
58161
+ toolbarPosition
58162
+ ]
58163
+ );
58164
+ React26.useImperativeHandle(
58165
+ forwardedRef,
58166
+ () => ({
58167
+ focus: (callbackFn, options) => editorRef.current?.focus(callbackFn, options),
58168
+ getContentEditableHTML: () => editorRef.current?.getContentEditableHTML() ?? "",
58169
+ getMarkdown: () => editorRef.current?.getMarkdown() ?? currentValue,
58170
+ getSelectionMarkdown: () => editorRef.current?.getSelectionMarkdown() ?? "",
58171
+ insertMarkdown: (markdown) => editorRef.current?.insertMarkdown(markdown),
58172
+ setMarkdown: (markdown) => editorRef.current?.setMarkdown(markdown)
58173
+ }),
58174
+ [currentValue]
58175
+ );
58176
+ React26.useEffect(() => {
58177
+ if (!isControlled || !editorRef.current) return;
58178
+ const nextValue = value ?? "";
58179
+ if (editorRef.current.getMarkdown() !== nextValue) {
58180
+ editorRef.current.setMarkdown(nextValue);
58181
+ }
58182
+ }, [isControlled, value]);
58183
+ const updateValue = (nextValue, initialMarkdownNormalize) => {
58184
+ if (!isControlled) {
58185
+ setInternalValue(nextValue);
58186
+ }
58187
+ onChange?.(nextValue, initialMarkdownNormalize);
58188
+ };
58189
+ const handleBlur = (event) => {
58190
+ const nextTarget = event.relatedTarget;
58191
+ if (nextTarget instanceof Node && event.currentTarget.contains(nextTarget)) {
58192
+ return;
58193
+ }
58194
+ onBlur?.(event.nativeEvent);
58195
+ };
58196
+ const style2 = {
58197
+ minHeight: toCssSize3(minHeight),
58198
+ maxHeight: toCssSize3(maxHeight),
58199
+ "--eui-mdx-min-height": toCssSize3(minHeight),
58200
+ "--eui-mdx-max-height": toCssSize3(maxHeight)
58201
+ };
58202
+ return /* @__PURE__ */ jsxRuntime.jsx(
58203
+ "div",
58204
+ {
58205
+ id: id2,
58206
+ role: "group",
58207
+ "data-name": name2,
58208
+ "aria-label": ariaLabel,
58209
+ "aria-describedby": ariaDescribedBy,
58210
+ "aria-disabled": disabled || void 0,
58211
+ "aria-readonly": readOnly || void 0,
58212
+ "aria-required": required || void 0,
58213
+ "aria-invalid": invalid || void 0,
58214
+ onBlurCapture: handleBlur,
58215
+ className: classNames77__default.default(
58216
+ "eui-markdown-adapter",
58217
+ "eui-markdown-mdx-adapter",
58218
+ dark && ["dark", "dark-theme"],
58219
+ disabled && "is-disabled",
58220
+ readOnly && "is-read-only",
58221
+ invalid && "has-error",
58222
+ className
58223
+ ),
58224
+ style: style2,
58225
+ children: /* @__PURE__ */ jsxRuntime.jsx(
58226
+ editor.MDXEditor,
58227
+ {
58228
+ ...props,
58229
+ ref: editorRef,
58230
+ markdown: currentValue ?? "",
58231
+ readOnly: disabled || readOnly,
58232
+ plugins: plugins ?? defaultPlugins,
58233
+ className: classNames77__default.default("eui-markdown-mdx-editor", editorClassName),
58234
+ contentEditableClassName: classNames77__default.default(
58235
+ "eui-markdown-mdx-content",
58236
+ contentEditableClassName
58237
+ ),
58238
+ onChange: updateValue
58239
+ }
58240
+ )
58241
+ }
58242
+ );
58243
+ }
58244
+ );
58245
+ var MDXMarkdownEditor_default = MDXMarkdownEditor;
58246
+ function MDXMarkdownField({
58247
+ name: name2,
58248
+ validate,
58249
+ label,
58250
+ helperText,
58251
+ validateOnChange = true,
58252
+ validateOnBlur = true,
58253
+ wrapperClassName,
58254
+ labelClassName,
58255
+ helperTextClassName,
58256
+ ...editorProps
58257
+ }) {
58258
+ const editorRef = React26.useRef(null);
58259
+ const [field, meta, helpers] = formik.useField({
58260
+ name: name2,
58261
+ validate
58262
+ });
58263
+ const editorId = editorProps.id || field.name;
58264
+ const helperId = helperText ? `${editorId}-help` : void 0;
58265
+ const errorId = `${editorId}-error`;
58266
+ const hasError = Boolean(meta.touched && meta.error);
58267
+ const describedBy = [helperId, hasError ? errorId : void 0].filter(Boolean).join(" ");
58268
+ return /* @__PURE__ */ jsxRuntime.jsxs(
58269
+ "div",
58270
+ {
58271
+ className: classNames77__default.default(
58272
+ "eui-markdown-mdx-field",
58273
+ "relative space-y-2",
58274
+ wrapperClassName
58275
+ ),
58276
+ children: [
58277
+ label ? /* @__PURE__ */ jsxRuntime.jsxs(
58278
+ "label",
58279
+ {
58280
+ htmlFor: editorId,
58281
+ className: classNames77__default.default(
58282
+ "block text-sm font-medium text-gray-700 dark:text-gray-200",
58283
+ labelClassName
58284
+ ),
58285
+ onClick: () => editorRef.current?.focus(),
58286
+ children: [
58287
+ label,
58288
+ editorProps.required ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1 text-red-600", "aria-hidden": "true", children: "*" }) : null
58289
+ ]
58290
+ }
58291
+ ) : null,
58292
+ /* @__PURE__ */ jsxRuntime.jsx(
58293
+ MDXMarkdownEditor_default,
58294
+ {
58295
+ ...editorProps,
58296
+ ref: editorRef,
58297
+ id: editorId,
58298
+ name: field.name,
58299
+ value: field.value ?? "",
58300
+ invalid: hasError,
58301
+ ariaLabel: editorProps.ariaLabel ?? label,
58302
+ ariaDescribedBy: describedBy || void 0,
58303
+ onChange: (nextValue) => {
58304
+ void helpers.setValue(nextValue, validateOnChange);
58305
+ },
58306
+ onBlur: () => {
58307
+ void helpers.setTouched(true, validateOnBlur);
58308
+ }
58309
+ }
58310
+ ),
58311
+ helperText ? /* @__PURE__ */ jsxRuntime.jsx(
58312
+ "p",
58313
+ {
58314
+ id: helperId,
58315
+ className: classNames77__default.default(
58316
+ "text-sm text-gray-500 dark:text-gray-400",
58317
+ helperTextClassName
58318
+ ),
58319
+ children: helperText
58320
+ }
58321
+ ) : null,
58322
+ /* @__PURE__ */ jsxRuntime.jsx("div", { id: errorId, role: hasError ? "alert" : void 0, children: /* @__PURE__ */ jsxRuntime.jsx(
58323
+ InputResponse_default,
58324
+ {
58325
+ name: field.name,
58326
+ visibility: hasError,
58327
+ variant: "danger"
58328
+ }
58329
+ ) })
58330
+ ]
58331
+ }
58332
+ );
58333
+ }
58334
+ var MDXMarkdownField_default = MDXMarkdownField;
57425
58335
  function resolveSize(value) {
57426
58336
  if (value === void 0) return void 0;
57427
58337
  return typeof value === "number" ? `${value}px` : value;
@@ -57462,10 +58372,10 @@ function MarkdownLayout({
57462
58372
  };
57463
58373
  const hasLeftToc = hasToc && tocPosition === "left";
57464
58374
  const hasRightToc = hasToc && tocPosition === "right";
57465
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames66__default.default("eui-markdown-layout", "w-full", className), children: /* @__PURE__ */ jsxRuntime.jsxs(
58375
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames77__default.default("eui-markdown-layout", "w-full", className), children: /* @__PURE__ */ jsxRuntime.jsxs(
57466
58376
  "div",
57467
58377
  {
57468
- className: classNames66__default.default(
58378
+ className: classNames77__default.default(
57469
58379
  "eui-markdown-layout-container",
57470
58380
  "mx-auto w-full px-4 sm:px-6 lg:px-8",
57471
58381
  containerClassName
@@ -57477,7 +58387,7 @@ function MarkdownLayout({
57477
58387
  header ? /* @__PURE__ */ jsxRuntime.jsx(
57478
58388
  "header",
57479
58389
  {
57480
- className: classNames66__default.default(
58390
+ className: classNames77__default.default(
57481
58391
  "eui-markdown-layout-header",
57482
58392
  "mb-8",
57483
58393
  headerClassName
@@ -57488,7 +58398,7 @@ function MarkdownLayout({
57488
58398
  /* @__PURE__ */ jsxRuntime.jsxs(
57489
58399
  "div",
57490
58400
  {
57491
- className: classNames66__default.default(
58401
+ className: classNames77__default.default(
57492
58402
  "eui-markdown-layout-grid",
57493
58403
  "grid grid-cols-1 gap-8",
57494
58404
  hasSidebar && hasToc && "xl:grid-cols-[16rem_minmax(0,1fr)_18rem]",
@@ -57501,7 +58411,7 @@ function MarkdownLayout({
57501
58411
  hasSidebar ? /* @__PURE__ */ jsxRuntime.jsx(
57502
58412
  "aside",
57503
58413
  {
57504
- className: classNames66__default.default(
58414
+ className: classNames77__default.default(
57505
58415
  "eui-markdown-layout-sidebar",
57506
58416
  "min-w-0",
57507
58417
  stickySidebar && "lg:sticky lg:self-start",
@@ -57514,7 +58424,7 @@ function MarkdownLayout({
57514
58424
  hasLeftToc ? /* @__PURE__ */ jsxRuntime.jsx(
57515
58425
  "aside",
57516
58426
  {
57517
- className: classNames66__default.default(
58427
+ className: classNames77__default.default(
57518
58428
  "eui-markdown-layout-toc",
57519
58429
  "min-w-0",
57520
58430
  stickyToc && "lg:sticky lg:self-start",
@@ -57527,7 +58437,7 @@ function MarkdownLayout({
57527
58437
  /* @__PURE__ */ jsxRuntime.jsx(
57528
58438
  "main",
57529
58439
  {
57530
- className: classNames66__default.default(
58440
+ className: classNames77__default.default(
57531
58441
  "eui-markdown-layout-content",
57532
58442
  "min-w-0",
57533
58443
  contentClassName
@@ -57538,7 +58448,7 @@ function MarkdownLayout({
57538
58448
  hasRightToc ? /* @__PURE__ */ jsxRuntime.jsx(
57539
58449
  "aside",
57540
58450
  {
57541
- className: classNames66__default.default(
58451
+ className: classNames77__default.default(
57542
58452
  "eui-markdown-layout-toc",
57543
58453
  "min-w-0",
57544
58454
  stickyToc && "lg:sticky lg:self-start",
@@ -57551,7 +58461,7 @@ function MarkdownLayout({
57551
58461
  hasAside ? /* @__PURE__ */ jsxRuntime.jsx(
57552
58462
  "aside",
57553
58463
  {
57554
- className: classNames66__default.default(
58464
+ className: classNames77__default.default(
57555
58465
  "eui-markdown-layout-aside",
57556
58466
  "min-w-0",
57557
58467
  stickyAside && "2xl:sticky 2xl:self-start",
@@ -57567,7 +58477,7 @@ function MarkdownLayout({
57567
58477
  footer2 ? /* @__PURE__ */ jsxRuntime.jsx(
57568
58478
  "footer",
57569
58479
  {
57570
- className: classNames66__default.default(
58480
+ className: classNames77__default.default(
57571
58481
  "eui-markdown-layout-footer",
57572
58482
  "mt-10",
57573
58483
  footerClassName
@@ -57604,7 +58514,7 @@ function MarkdownDocsLayoutContent({
57604
58514
  const resolvedHeader = header ?? (title || description || headerActions ? /* @__PURE__ */ jsxRuntime.jsx(
57605
58515
  "div",
57606
58516
  {
57607
- className: classNames66__default.default(
58517
+ className: classNames77__default.default(
57608
58518
  "eui-markdown-docs-header",
57609
58519
  "flex flex-col gap-4 border-b border-gray-200 pb-6",
57610
58520
  "dark:border-gray-700",
@@ -57615,7 +58525,7 @@ function MarkdownDocsLayoutContent({
57615
58525
  title ? /* @__PURE__ */ jsxRuntime.jsx(
57616
58526
  "h1",
57617
58527
  {
57618
- className: classNames66__default.default(
58528
+ className: classNames77__default.default(
57619
58529
  "eui-markdown-docs-title",
57620
58530
  "text-3xl font-bold tracking-tight text-gray-950",
57621
58531
  "dark:text-gray-50",
@@ -57627,7 +58537,7 @@ function MarkdownDocsLayoutContent({
57627
58537
  description ? /* @__PURE__ */ jsxRuntime.jsx(
57628
58538
  "div",
57629
58539
  {
57630
- className: classNames66__default.default(
58540
+ className: classNames77__default.default(
57631
58541
  "eui-markdown-docs-description",
57632
58542
  "max-w-3xl text-base leading-7 text-gray-600",
57633
58543
  "dark:text-gray-400",
@@ -57715,7 +58625,7 @@ function GenericLayout({
57715
58625
  return /* @__PURE__ */ jsxRuntime.jsx(ThemeProvider, { defaultTheme, children: /* @__PURE__ */ jsxRuntime.jsx(
57716
58626
  "div",
57717
58627
  {
57718
- className: classNames66__default.default({
58628
+ className: classNames77__default.default({
57719
58629
  [`${styles}`]: styles
57720
58630
  }),
57721
58631
  children: children3
@@ -57752,7 +58662,7 @@ function SidebarLayout({
57752
58662
  header = /* @__PURE__ */ jsxRuntime.jsx(Header, {}),
57753
58663
  footer: footer2 = /* @__PURE__ */ jsxRuntime.jsx(Footer, {})
57754
58664
  }) {
57755
- const [showSidebar, setShowSidebar] = React27.useState(true);
58665
+ const [showSidebar, setShowSidebar] = React26.useState(true);
57756
58666
  return /* @__PURE__ */ jsxRuntime.jsx(GenericLayout_default, { children: /* @__PURE__ */ jsxRuntime.jsx(Layout, { children: /* @__PURE__ */ jsxRuntime.jsx(Layout, { flexDirection: "horizontal", children: /* @__PURE__ */ jsxRuntime.jsxs(Content, { sidebarVisible: showSidebar, styles: "theme-bg-md pt-[60px]", children: [
57757
58667
  /* @__PURE__ */ jsxRuntime.jsx(ContentArea_default, { children: children3 }),
57758
58668
  footer2
@@ -57764,7 +58674,7 @@ function SidemenuLayout({ data, children: children3 }) {
57764
58674
  return /* @__PURE__ */ jsxRuntime.jsx(DefaultLayout_default, { children: /* @__PURE__ */ jsxRuntime.jsxs(
57765
58675
  "div",
57766
58676
  {
57767
- className: classNames66__default.default({
58677
+ className: classNames77__default.default({
57768
58678
  grid: true,
57769
58679
  "grid-cols-7 gap-10": !isMobile,
57770
58680
  "grid-cols-1 gap-": isMobile
@@ -57806,7 +58716,7 @@ function ScrollToTop({
57806
58716
  behavior = "smooth",
57807
58717
  target
57808
58718
  }) {
57809
- React27.useEffect(() => {
58719
+ React26.useEffect(() => {
57810
58720
  if (target) {
57811
58721
  target.scrollTo({
57812
58722
  top: 0,
@@ -57882,6 +58792,7 @@ exports.CloudinaryImage = CloudinaryImage_default;
57882
58792
  exports.CloudinaryProvider = CloudinaryProvider;
57883
58793
  exports.CloudinaryVideo = CloudinaryVideo_default;
57884
58794
  exports.Code = Code;
58795
+ exports.CodeMirrorMarkdownEditor = CodeMirrorMarkdownEditor_default;
57885
58796
  exports.CommentThread = CommentThread_default;
57886
58797
  exports.ConfigBootstrap = ConfigBootstrap_default;
57887
58798
  exports.Configurator = Configurator;
@@ -57945,28 +58856,49 @@ exports.LinePlot = LinePlot;
57945
58856
  exports.Link = Link;
57946
58857
  exports.List = List_default;
57947
58858
  exports.ListItem = ListItem_default;
58859
+ exports.ListItemElement = ListItemElement;
58860
+ exports.ListRoot = ListRoot;
58861
+ exports.MDXMarkdownEditor = MDXMarkdownEditor_default;
58862
+ exports.MDXMarkdownField = MDXMarkdownField_default;
57948
58863
  exports.MarkdownBlockquote = MarkdownBlockquote_default;
58864
+ exports.MarkdownBreak = MarkdownBreak_default;
57949
58865
  exports.MarkdownCodeBlock = MarkdownCodeBlock_default;
57950
58866
  exports.MarkdownContext = MarkdownContext;
58867
+ exports.MarkdownDetails = MarkdownDetails;
57951
58868
  exports.MarkdownDocsLayout = MarkdownDocsLayout_default;
57952
58869
  exports.MarkdownEditor = MarkdownEditor_default;
58870
+ exports.MarkdownEmphasis = MarkdownEmphasis_default;
57953
58871
  exports.MarkdownField = MarkdownField_default;
58872
+ exports.MarkdownFigcaption = MarkdownFigcaption;
58873
+ exports.MarkdownFigure = MarkdownFigure;
57954
58874
  exports.MarkdownHeadingComponent = MarkdownHeading_default;
57955
58875
  exports.MarkdownImage = MarkdownImage_default;
57956
58876
  exports.MarkdownInlineCode = MarkdownInlineCode_default;
57957
58877
  exports.MarkdownLayout = MarkdownLayout_default;
57958
58878
  exports.MarkdownLink = MarkdownLink_default;
58879
+ exports.MarkdownListItem = MarkdownListItem_default;
58880
+ exports.MarkdownOrderedList = MarkdownOrderedList;
58881
+ exports.MarkdownParagraph = MarkdownParagraph_default;
57959
58882
  exports.MarkdownPreviewPane = MarkdownPreviewPane_default;
57960
58883
  exports.MarkdownProvider = MarkdownProvider_default;
57961
58884
  exports.MarkdownRenderer = MarkdownRenderer_default;
57962
58885
  exports.MarkdownSourceEditor = MarkdownSourceEditor_default;
57963
58886
  exports.MarkdownSplitEditor = MarkdownSplitEditor_default;
58887
+ exports.MarkdownStrikethrough = MarkdownStrikethrough_default;
58888
+ exports.MarkdownStrong = MarkdownStrong_default;
58889
+ exports.MarkdownSummary = MarkdownSummary;
57964
58890
  exports.MarkdownTOC = MarkdownTOC_default;
57965
58891
  exports.MarkdownTOCItem = MarkdownTOCItem_default;
57966
58892
  exports.MarkdownTable = MarkdownTable_default;
58893
+ exports.MarkdownTableBody = MarkdownTableBody;
57967
58894
  exports.MarkdownTableCell = MarkdownTableCell;
58895
+ exports.MarkdownTableHead = MarkdownTableHead;
57968
58896
  exports.MarkdownTableHeaderCell = MarkdownTableHeaderCell;
58897
+ exports.MarkdownTableRow = MarkdownTableRow;
58898
+ exports.MarkdownTaskCheckbox = MarkdownTaskCheckbox_default;
58899
+ exports.MarkdownThematicBreak = MarkdownThematicBreak_default;
57969
58900
  exports.MarkdownToolbar = MarkdownToolbar_default;
58901
+ exports.MarkdownUnorderedList = MarkdownUnorderedList;
57970
58902
  exports.MarkdownViewer = MarkdownViewer_default;
57971
58903
  exports.Menu = Menu;
57972
58904
  exports.MenuGroup = MenuGroup;
@@ -58012,6 +58944,13 @@ exports.TNDropdownItem = TNDropdownItem;
58012
58944
  exports.TNDropdownTitle = TNDropdownTitle;
58013
58945
  exports.TNGroup = TNGroup;
58014
58946
  exports.Table = Table_default;
58947
+ exports.TableBody = TableBody;
58948
+ exports.TableCell = TableCell;
58949
+ exports.TableElement = TableElement;
58950
+ exports.TableFrame = TableFrame;
58951
+ exports.TableHead = TableHead;
58952
+ exports.TableHeaderCell = TableHeaderCell;
58953
+ exports.TableRow = TableRow;
58015
58954
  exports.Tag = Tag_default;
58016
58955
  exports.Tags = Tags_default;
58017
58956
  exports.TextArea = TextArea_default;