elseware-ui 3.0.15 → 3.1.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
@@ -6,7 +6,7 @@ var tailwindMerge = require('tailwind-merge');
6
6
  var index_js = require('react-icons/ai/index.js');
7
7
  var formik = require('formik');
8
8
  var index_js$2 = require('react-icons/fa/index.js');
9
- var classNames69 = require('classnames');
9
+ var classNames67 = require('classnames');
10
10
  var reactBeautifulDnd = require('react-beautiful-dnd');
11
11
  var cloudinaryReact = require('cloudinary-react');
12
12
  var index_js$1 = require('react-icons/md/index.js');
@@ -27,7 +27,7 @@ require('@mdxeditor/editor/style.css');
27
27
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
28
28
 
29
29
  var React26__default = /*#__PURE__*/_interopDefault(React26);
30
- var classNames69__default = /*#__PURE__*/_interopDefault(classNames69);
30
+ var classNames67__default = /*#__PURE__*/_interopDefault(classNames67);
31
31
  var ReactWorldFlags__default = /*#__PURE__*/_interopDefault(ReactWorldFlags);
32
32
  var emojiFlags__default = /*#__PURE__*/_interopDefault(emojiFlags);
33
33
  var CodeMirror__default = /*#__PURE__*/_interopDefault(CodeMirror);
@@ -4728,7 +4728,7 @@ var init_python = __esm({
4728
4728
  });
4729
4729
 
4730
4730
  // node_modules/refractor/lang/jsx.js
4731
- function jsx217(Prism2) {
4731
+ function jsx226(Prism2) {
4732
4732
  Prism2.register(javascript);
4733
4733
  Prism2.register(markup);
4734
4734
  (function(Prism3) {
@@ -4861,14 +4861,14 @@ var init_jsx = __esm({
4861
4861
  "node_modules/refractor/lang/jsx.js"() {
4862
4862
  init_javascript();
4863
4863
  init_markup();
4864
- jsx217.displayName = "jsx";
4865
- jsx217.aliases = [];
4864
+ jsx226.displayName = "jsx";
4865
+ jsx226.aliases = [];
4866
4866
  }
4867
4867
  });
4868
4868
 
4869
4869
  // node_modules/refractor/lang/tsx.js
4870
4870
  function tsx(Prism2) {
4871
- Prism2.register(jsx217);
4871
+ Prism2.register(jsx226);
4872
4872
  Prism2.register(typescript);
4873
4873
  (function(Prism3) {
4874
4874
  var typescript2 = Prism3.util.clone(Prism3.languages.typescript);
@@ -6548,7 +6548,7 @@ var Backdrop = ({ children: children3, styles }) => {
6548
6548
  return /* @__PURE__ */ jsxRuntime.jsx(
6549
6549
  "div",
6550
6550
  {
6551
- className: classNames69__default.default({
6551
+ className: classNames67__default.default({
6552
6552
  "bg-black/75 top-0 bottom-0 left-0 right-0 z-50 fixed inset-0 flex items-center justify-center overflow-hidden": true,
6553
6553
  [`${styles}`]: styles
6554
6554
  }),
@@ -7138,7 +7138,7 @@ function renderTransitionChild(children3, className) {
7138
7138
  }
7139
7139
  const element7 = child;
7140
7140
  return React26__default.default.cloneElement(element7, {
7141
- className: classNames69__default.default(element7.props.className, className)
7141
+ className: classNames67__default.default(element7.props.className, className)
7142
7142
  });
7143
7143
  }
7144
7144
  function TransitionBase({
@@ -7158,7 +7158,7 @@ function TransitionBase({
7158
7158
  if (!mounted && unmountOnExit) {
7159
7159
  return null;
7160
7160
  }
7161
- const transitionClassName = classNames69__default.default(
7161
+ const transitionClassName = classNames67__default.default(
7162
7162
  visibility ? enterClassName : leaveClassName,
7163
7163
  active ? visibleClassName : hiddenClassName
7164
7164
  );
@@ -7662,7 +7662,7 @@ function InputFile(inputFileProps) {
7662
7662
  className: cn(
7663
7663
  inputControlClassName,
7664
7664
  "block truncate pointer-events-none",
7665
- classNames69__default.default({
7665
+ classNames67__default.default({
7666
7666
  "text-gray-500 dark:text-gray-300": !fileName
7667
7667
  }),
7668
7668
  inputClassName
@@ -7743,7 +7743,7 @@ var InputList = ({ name: name2, placeholder, shape }) => {
7743
7743
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2", children: /* @__PURE__ */ jsxRuntime.jsx(formik.FieldArray, { name: name2, children: ({ push: push2, remove: remove2, move }) => /* @__PURE__ */ jsxRuntime.jsxs(
7744
7744
  "div",
7745
7745
  {
7746
- className: classNames69__default.default(
7746
+ className: classNames67__default.default(
7747
7747
  "flex w-full flex-col space-y-2 bg-eui-primary-300/10",
7748
7748
  shapes[resolvedShape]
7749
7749
  ),
@@ -7772,7 +7772,7 @@ var InputList = ({ name: name2, placeholder, shape }) => {
7772
7772
  ref: provided2.innerRef,
7773
7773
  ...draggableProps,
7774
7774
  style: draggableStyle,
7775
- className: classNames69__default.default(
7775
+ className: classNames67__default.default(
7776
7776
  "flex items-center space-x-2 bg-eui-primary-300/10 p-2",
7777
7777
  shapes[resolvedShape]
7778
7778
  ),
@@ -7783,7 +7783,7 @@ var InputList = ({ name: name2, placeholder, shape }) => {
7783
7783
  {
7784
7784
  name: `${name2}[${index3}]`,
7785
7785
  placeholder: `Item ${index3 + 1}`,
7786
- className: classNames69__default.default(
7786
+ className: classNames67__default.default(
7787
7787
  "peer h-[50px] w-full border bg-eui-primary-300/10 px-3 pb-2 pt-5 text-md placeholder-transparent placeholder-shown:p-3 focus:outline-none eui-text-md",
7788
7788
  shapes[resolvedShape],
7789
7789
  hasItemError ? "border-eui-danger-500" : "border-eui-primary-400 focus:border-eui-secondary-500"
@@ -7879,7 +7879,7 @@ var InputListGroup = ({
7879
7879
  return /* @__PURE__ */ jsxRuntime.jsxs(
7880
7880
  "div",
7881
7881
  {
7882
- className: classNames69__default.default(
7882
+ className: classNames67__default.default(
7883
7883
  "flex flex-col gap-2 bg-eui-primary-300/10 p-3",
7884
7884
  shapes[resolvedShape]
7885
7885
  ),
@@ -7891,7 +7891,7 @@ var InputListGroup = ({
7891
7891
  {
7892
7892
  name: `${name2}[${groupIndex}].name`,
7893
7893
  placeholder: `Group ${groupIndex + 1}`,
7894
- className: classNames69__default.default(
7894
+ className: classNames67__default.default(
7895
7895
  "h-[40px] w-full border bg-eui-primary-300/10 px-3 py-2 text-md focus:outline-none",
7896
7896
  shapes[resolvedShape],
7897
7897
  "border-eui-primary-400 focus:border-eui-secondary-500"
@@ -7922,7 +7922,7 @@ var InputListGroup = ({
7922
7922
  {
7923
7923
  ref: provided.innerRef,
7924
7924
  ...provided.droppableProps,
7925
- className: classNames69__default.default(
7925
+ className: classNames67__default.default(
7926
7926
  "space-y-2 bg-eui-primary-300/10 p-2",
7927
7927
  shapes[resolvedShape]
7928
7928
  ),
@@ -7942,7 +7942,7 @@ var InputListGroup = ({
7942
7942
  ref: provided2.innerRef,
7943
7943
  ...draggableProps,
7944
7944
  style: draggableStyle,
7945
- className: classNames69__default.default(
7945
+ className: classNames67__default.default(
7946
7946
  "flex items-center gap-2 bg-eui-primary-300/10 p-2",
7947
7947
  shapes[resolvedShape]
7948
7948
  ),
@@ -7953,7 +7953,7 @@ var InputListGroup = ({
7953
7953
  {
7954
7954
  name: `${itemsFieldName}[${itemIndex}]`,
7955
7955
  placeholder: `Item ${itemIndex + 1}`,
7956
- className: classNames69__default.default(
7956
+ className: classNames67__default.default(
7957
7957
  "h-[40px] w-full border bg-eui-primary-300/10 px-3 py-2 text-md focus:outline-none",
7958
7958
  shapes[resolvedShape],
7959
7959
  "border-eui-primary-400 focus:border-eui-secondary-500"
@@ -8706,7 +8706,7 @@ var ImageInput = React26.forwardRef(
8706
8706
  /* @__PURE__ */ jsxRuntime.jsxs(
8707
8707
  "label",
8708
8708
  {
8709
- className: classNames69__default.default({
8709
+ className: classNames67__default.default({
8710
8710
  "border-2 border-dashed border-gray-700 bg-gray-900 h-[200px] w-[300px] flex flex-col gap-2 items-center justify-center group": true,
8711
8711
  "hover:cursor-pointer hover:border-solid hover:border-gray-600 hover:bg-gray-900/80": true,
8712
8712
  "transition-all ease-in-out duration-150": true
@@ -8894,7 +8894,7 @@ function MultiImageInput({
8894
8894
  onDragOver: handleDragOver,
8895
8895
  onDrop: () => handleDrop(index3),
8896
8896
  onDragEnd: () => setDraggedIndex(null),
8897
- className: classNames69__default.default(
8897
+ className: classNames67__default.default(
8898
8898
  "relative h-[200px] w-[300px] overflow-hidden bg-gray-900",
8899
8899
  "transition-all duration-150",
8900
8900
  draggedIndex === index3 && "opacity-60",
@@ -9024,7 +9024,7 @@ function Radio({
9024
9024
  return /* @__PURE__ */ jsxRuntime.jsxs(
9025
9025
  "div",
9026
9026
  {
9027
- className: classNames69__default.default({
9027
+ className: classNames67__default.default({
9028
9028
  "flex flex-row gap-2 items-center mx-1 my-2": true
9029
9029
  }),
9030
9030
  children: [
@@ -9037,7 +9037,7 @@ function Radio({
9037
9037
  ...props,
9038
9038
  value: option.value,
9039
9039
  checked: field2.value === option.value,
9040
- className: classNames69__default.default({
9040
+ className: classNames67__default.default({
9041
9041
  "appearance-none w-4 h-4 border-2 border-eui-primary-400 rounded-full cursor-pointer transition-all duration-300": true,
9042
9042
  // base radio button styles
9043
9043
  "checked:bg-eui-secondary-700 checked:border-eui-primary-400": field2.value === option.value
@@ -9049,7 +9049,7 @@ function Radio({
9049
9049
  "label",
9050
9050
  {
9051
9051
  htmlFor: option.value,
9052
- className: classNames69__default.default({
9052
+ className: classNames67__default.default({
9053
9053
  "eui-text-md text-sm": true
9054
9054
  }),
9055
9055
  children: option.label
@@ -9092,7 +9092,7 @@ function StarRatingInput({
9092
9092
  return /* @__PURE__ */ jsxRuntime.jsxs(
9093
9093
  "div",
9094
9094
  {
9095
- className: classNames69__default.default({
9095
+ className: classNames67__default.default({
9096
9096
  "inline-flex gap-[4px] text-[20px]": true,
9097
9097
  [`${styles}`]: styles
9098
9098
  }),
@@ -9105,7 +9105,7 @@ function StarRatingInput({
9105
9105
  onClick: () => handleOnClick(index3),
9106
9106
  onMouseEnter: () => setHover(index3),
9107
9107
  onMouseLeave: () => setHover(null),
9108
- className: classNames69__default.default({
9108
+ className: classNames67__default.default({
9109
9109
  "text-yellow-600": index3 <= (hover ?? rating - 1),
9110
9110
  "text-gray-400": index3 > (hover ?? rating - 1)
9111
9111
  }),
@@ -9510,7 +9510,7 @@ function Switch({
9510
9510
  "div",
9511
9511
  {
9512
9512
  onClick: () => helpers.setValue(!field.value),
9513
- className: classNames69__default.default(
9513
+ className: classNames67__default.default(
9514
9514
  "w-11 h-6 bg-gray-200 peer-focus:outline-none rounded-full peer dark:bg-eui-dark-100",
9515
9515
  "peer-checked:after:translate-x-full peer-checked:after:border-white",
9516
9516
  "after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white",
@@ -9897,7 +9897,7 @@ function BreadcrumbItem({
9897
9897
  {
9898
9898
  href,
9899
9899
  onClick,
9900
- className: classNames69__default.default({
9900
+ className: classNames67__default.default({
9901
9901
  "text-lg font-semibold": true,
9902
9902
  "text-gray-400 hover:text-gray-600 cursor-pointer": !active,
9903
9903
  "text-eui-light-800": active,
@@ -9974,7 +9974,7 @@ var Breadcrumb = ({
9974
9974
  index3 < resolvedData.length - 1 && /* @__PURE__ */ jsxRuntime.jsx(
9975
9975
  "span",
9976
9976
  {
9977
- className: classNames69__default.default({
9977
+ className: classNames67__default.default({
9978
9978
  "text-lg font-semibold text-gray-500": true,
9979
9979
  [`px-${gap}`]: gap
9980
9980
  }),
@@ -9988,7 +9988,7 @@ var Breadcrumb = ({
9988
9988
  return /* @__PURE__ */ jsxRuntime.jsx(
9989
9989
  "div",
9990
9990
  {
9991
- className: classNames69__default.default({
9991
+ className: classNames67__default.default({
9992
9992
  "inline-flex": true,
9993
9993
  [`${styles}`]: styles
9994
9994
  }),
@@ -10032,7 +10032,7 @@ var Drawer = ({
10032
10032
  isMobile && showBackdrop && /* @__PURE__ */ jsxRuntime.jsx(TransitionFade_default, { visibility, leaveDuration: 200, children: /* @__PURE__ */ jsxRuntime.jsx(
10033
10033
  "div",
10034
10034
  {
10035
- className: classNames69__default.default(
10035
+ className: classNames67__default.default(
10036
10036
  "fixed inset-0 bg-black/50 z-40",
10037
10037
  backdropStyles
10038
10038
  ),
@@ -10043,7 +10043,7 @@ var Drawer = ({
10043
10043
  "div",
10044
10044
  {
10045
10045
  style: drawerStyle,
10046
- className: classNames69__default.default(
10046
+ className: classNames67__default.default(
10047
10047
  "fixed shadow-lg z-50",
10048
10048
  {
10049
10049
  "h-full w-[300px] top-0": isHorizontal && !hasOffset,
@@ -10072,7 +10072,7 @@ function DrawerToggler({
10072
10072
  return /* @__PURE__ */ jsxRuntime.jsx(
10073
10073
  "div",
10074
10074
  {
10075
- className: classNames69__default.default({
10075
+ className: classNames67__default.default({
10076
10076
  "text-xl p-3 cursor-pointer": true,
10077
10077
  "transition-all ease-in-out": true,
10078
10078
  "text-eui-dark-500 dark:text-eui-secondary-600": !styles,
@@ -10085,8 +10085,16 @@ function DrawerToggler({
10085
10085
  );
10086
10086
  }
10087
10087
  var DrawerToggler_default = DrawerToggler;
10088
- function FooterNav({ data = [], styles }) {
10089
- const isMobile = useIsMobile_default();
10088
+ var columnsClassName = (count) => {
10089
+ const map3 = {
10090
+ 1: "grid-cols-1",
10091
+ 2: "grid-cols-1 sm:grid-cols-2",
10092
+ 3: "grid-cols-2 sm:grid-cols-3",
10093
+ 4: "grid-cols-2 sm:grid-cols-2 lg:grid-cols-4"
10094
+ };
10095
+ return map3[Math.min(Math.max(count, 1), 4)] ?? map3[4];
10096
+ };
10097
+ function FooterNav({ data = [], navigate, styles }) {
10090
10098
  const renderFooterNavItem = (item, index3) => {
10091
10099
  const { icon, name: name2, badge, to, onClick, component, ...rest } = item;
10092
10100
  const Component = component;
@@ -10098,49 +10106,149 @@ function FooterNav({ data = [], styles }) {
10098
10106
  badge,
10099
10107
  to,
10100
10108
  onClick,
10109
+ navigate,
10101
10110
  ...rest
10102
10111
  },
10103
10112
  index3
10104
10113
  );
10105
10114
  };
10106
10115
  const renderFooterNavGroup = (item, index3) => {
10107
- const { icon, name: name2, badge, to, items, component, ...rest } = item;
10116
+ const { icon, name: name2, badge, to, items: items2, component, ...rest } = item;
10108
10117
  const Component = component;
10109
- const groupItems = items && Array.isArray(items) ? items.map(
10118
+ const groupItems = items2 && Array.isArray(items2) ? items2.map(
10110
10119
  (i, idx) => "items" in i ? renderFooterNavGroup(i, idx) : renderFooterNavItem(i, idx)
10111
10120
  ) : null;
10112
10121
  return /* @__PURE__ */ jsxRuntime.jsx(Component, { icon, name: name2, badge, ...rest, children: groupItems }, index3);
10113
10122
  };
10114
- const splitData = [...data];
10115
- let childrenContent;
10116
- if (splitData.length > 0) {
10117
- const items = splitData.map(
10118
- (item, index3) => "items" in item ? renderFooterNavGroup(item, index3) : renderFooterNavItem(item, index3)
10119
- );
10120
- childrenContent = /* @__PURE__ */ jsxRuntime.jsx(
10123
+ if (data.length === 0) return null;
10124
+ const items = data.map(
10125
+ (item, index3) => "items" in item ? renderFooterNavGroup(item, index3) : renderFooterNavItem(item, index3)
10126
+ );
10127
+ return /* @__PURE__ */ jsxRuntime.jsx(
10128
+ "div",
10129
+ {
10130
+ className: classNames67__default.default(
10131
+ "grid w-full gap-8",
10132
+ columnsClassName(data.length),
10133
+ {
10134
+ [`${styles}`]: styles
10135
+ }
10136
+ ),
10137
+ children: items
10138
+ }
10139
+ );
10140
+ }
10141
+ var FooterNav_default = FooterNav;
10142
+
10143
+ // src/components/data-display/typography/shared/typography.styles.ts
10144
+ var typographyStyles = ({
10145
+ variant = "default",
10146
+ decoration = "noUnderline",
10147
+ bold,
10148
+ italic,
10149
+ className
10150
+ }) => cn(
10151
+ textVariants[variant],
10152
+ decorations[decoration],
10153
+ bold && "font-bold",
10154
+ italic && "italic",
10155
+ className
10156
+ );
10157
+ var Overline = ({
10158
+ children: children3,
10159
+ variant,
10160
+ decoration,
10161
+ bold = true,
10162
+ italic,
10163
+ className,
10164
+ ...rest
10165
+ }) => {
10166
+ return /* @__PURE__ */ jsxRuntime.jsx(
10167
+ "div",
10168
+ {
10169
+ ...rest,
10170
+ className: cn(
10171
+ "text-xs uppercase tracking-[0.2em]",
10172
+ typographyStyles({
10173
+ variant,
10174
+ decoration,
10175
+ bold,
10176
+ italic,
10177
+ className
10178
+ })
10179
+ ),
10180
+ children: children3 || "Overline"
10181
+ }
10182
+ );
10183
+ };
10184
+ var FooterNavGroup = ({
10185
+ icon,
10186
+ name: name2,
10187
+ badge,
10188
+ title,
10189
+ children: children3,
10190
+ styles,
10191
+ className,
10192
+ titleClassName
10193
+ }) => {
10194
+ const heading3 = title ?? (name2 ? /* @__PURE__ */ jsxRuntime.jsx(Overline, { children: name2 }) : null);
10195
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col", styles, className), children: [
10196
+ heading3 && /* @__PURE__ */ jsxRuntime.jsxs(
10121
10197
  "div",
10122
10198
  {
10123
- className: classNames69__default.default({
10124
- "grid w-full": true,
10125
- "grid-cols-1": isMobile,
10126
- "grid-cols-3": !isMobile,
10127
- [`${styles}`]: styles
10128
- }),
10129
- children: items
10199
+ className: cn(
10200
+ "mb-3 flex items-center gap-2 text-eui-dark-700 dark:text-eui-light-600",
10201
+ titleClassName
10202
+ ),
10203
+ children: [
10204
+ icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-base", children: icon }),
10205
+ heading3,
10206
+ badge && /* @__PURE__ */ jsxRuntime.jsx("span", { children: badge })
10207
+ ]
10130
10208
  }
10131
- );
10132
- }
10209
+ ),
10210
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-1", children: children3 })
10211
+ ] });
10212
+ };
10213
+ var FooterNavGroup_default = FooterNavGroup;
10214
+ var Link = ({
10215
+ children: children3,
10216
+ href,
10217
+ target = "self",
10218
+ variant = "info",
10219
+ decoration = "underline",
10220
+ rel,
10221
+ bold,
10222
+ italic,
10223
+ styles,
10224
+ onClick
10225
+ }) => {
10226
+ const handleClick = (event) => {
10227
+ if (onClick) {
10228
+ event.preventDefault();
10229
+ onClick();
10230
+ }
10231
+ };
10133
10232
  return /* @__PURE__ */ jsxRuntime.jsx(
10134
- "div",
10233
+ "a",
10135
10234
  {
10136
- className: classNames69__default.default({
10235
+ href: href || "#",
10236
+ target: targets[target],
10237
+ rel,
10238
+ onClick: handleClick,
10239
+ className: classNames67__default.default({
10240
+ [`${textVariants[variant]}`]: variant,
10241
+ [`${decorations[decoration]}`]: decoration,
10242
+ "font-bold": bold,
10243
+ italic,
10244
+ "hover:cursor-pointer hover:brightness-125": true,
10245
+ "transition-all ease-in-out": true,
10137
10246
  [`${styles}`]: styles
10138
10247
  }),
10139
- children: childrenContent
10248
+ children: children3 ? children3 : "Link"
10140
10249
  }
10141
10250
  );
10142
- }
10143
- var FooterNav_default = FooterNav;
10251
+ };
10144
10252
  var FooterNavItemContext = ({
10145
10253
  icon,
10146
10254
  name: name2,
@@ -10156,76 +10264,60 @@ var FooterNavItemContext = ({
10156
10264
  badge && /* @__PURE__ */ jsxRuntime.jsx("div", { children: badge })
10157
10265
  ] });
10158
10266
  };
10159
- var FooterNavGroup = ({
10160
- icon,
10161
- name: name2,
10162
- description,
10163
- badge,
10164
- to,
10165
- styles,
10166
- children: children3
10167
- }) => {
10168
- const handleNavigation = () => {
10169
- if (to) {
10170
- window.location.href = to;
10171
- }
10172
- };
10173
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
10174
- /* @__PURE__ */ jsxRuntime.jsx(
10175
- "div",
10176
- {
10177
- className: classNames69__default.default({
10178
- "": true,
10179
- "py-2 font-semibold eui-text-lg": !styles,
10180
- [`${styles}`]: styles
10181
- }),
10182
- onClick: () => {
10183
- if (!children3) {
10184
- handleNavigation();
10185
- }
10186
- },
10187
- children: /* @__PURE__ */ jsxRuntime.jsx(
10188
- FooterNavItemContext,
10189
- {
10190
- icon,
10191
- name: name2,
10192
- description,
10193
- badge
10194
- }
10195
- )
10196
- }
10197
- ),
10198
- /* @__PURE__ */ jsxRuntime.jsx("div", { children: children3 })
10199
- ] });
10200
- };
10201
- var FooterNavGroup_default = FooterNavGroup;
10202
10267
  var FooterNavItem = ({
10203
10268
  icon,
10204
10269
  name: name2,
10205
10270
  description,
10206
10271
  badge,
10207
10272
  to,
10273
+ external,
10208
10274
  onClick,
10209
- styles
10275
+ navigate,
10276
+ styles,
10277
+ className
10210
10278
  }) => {
10211
- const handleNavigation = () => {
10212
- if (to) {
10213
- window.location.href = to;
10214
- } else if (onClick) {
10279
+ const handleClick = () => {
10280
+ if (onClick) {
10215
10281
  onClick();
10282
+ return;
10283
+ }
10284
+ if (!to) return;
10285
+ if (external) {
10286
+ window.open(to, "_blank", "noopener,noreferrer");
10287
+ return;
10288
+ }
10289
+ if (navigate) {
10290
+ navigate(to);
10291
+ return;
10216
10292
  }
10293
+ window.location.href = to;
10217
10294
  };
10295
+ const isSimpleLink = !icon && !description && !badge;
10296
+ if (isSimpleLink) {
10297
+ const useJsNav = Boolean(onClick) || Boolean(navigate) && Boolean(to);
10298
+ return /* @__PURE__ */ jsxRuntime.jsx(
10299
+ Link,
10300
+ {
10301
+ href: to || "#",
10302
+ target: external ? "blank" : "self",
10303
+ variant: "default",
10304
+ decoration: "noUnderline",
10305
+ onClick: useJsNav ? handleClick : void 0,
10306
+ styles: cn("block py-1 text-sm", styles, className),
10307
+ children: name2
10308
+ }
10309
+ );
10310
+ }
10218
10311
  return /* @__PURE__ */ jsxRuntime.jsx(
10219
10312
  "div",
10220
10313
  {
10221
- onClick: handleNavigation,
10222
- className: classNames69__default.default({
10223
- "flex flex-row items-center gap-3 cursor-pointer p-1 w-full": true,
10224
- "transition-all duration-200 ease-in-out": true,
10225
- "text-sm eui-text-sm": !styles,
10226
- "hover:eui-text-lg": !styles,
10227
- [`${styles}`]: styles
10228
- }),
10314
+ onClick: handleClick,
10315
+ className: cn(
10316
+ "flex w-full cursor-pointer flex-row items-center gap-3 py-1 text-sm",
10317
+ "eui-text-md eui-theme-transition hover:brightness-125",
10318
+ styles,
10319
+ className
10320
+ ),
10229
10321
  children: /* @__PURE__ */ jsxRuntime.jsx(
10230
10322
  FooterNavItemContext,
10231
10323
  {
@@ -10248,7 +10340,7 @@ var FooterNavItemTitle = ({
10248
10340
  return /* @__PURE__ */ jsxRuntime.jsx(
10249
10341
  "div",
10250
10342
  {
10251
- className: classNames69__default.default({
10343
+ className: classNames67__default.default({
10252
10344
  "": true,
10253
10345
  "py-2 font-thin eui-text-md": !styles,
10254
10346
  [`${styles}`]: styles
@@ -10301,7 +10393,7 @@ function HeaderNav({ data = [], styles }) {
10301
10393
  return /* @__PURE__ */ jsxRuntime.jsx(
10302
10394
  "div",
10303
10395
  {
10304
- className: classNames69__default.default({
10396
+ className: classNames67__default.default({
10305
10397
  [`${styles}`]: styles
10306
10398
  }),
10307
10399
  children: childrenContent
@@ -10345,7 +10437,7 @@ var HeaderNavGroup = ({
10345
10437
  /* @__PURE__ */ jsxRuntime.jsxs(
10346
10438
  "div",
10347
10439
  {
10348
- className: classNames69__default.default({
10440
+ className: classNames67__default.default({
10349
10441
  "flex flex-row gap-2 items-center justify-between cursor-pointer p-3 w-full": true,
10350
10442
  "transition-all duration-300 ease-in-out": true,
10351
10443
  "eui-text-md bg-gradient-to-t from-eui-dark-500/10 dark:from-green-700/10": !styles,
@@ -10373,7 +10465,7 @@ var HeaderNavGroup = ({
10373
10465
  children3 && /* @__PURE__ */ jsxRuntime.jsx(
10374
10466
  index_js$3.BsChevronDown,
10375
10467
  {
10376
- className: classNames69__default.default({
10468
+ className: classNames67__default.default({
10377
10469
  "text-md": true,
10378
10470
  "transition-all ease-in-out duration-300": true,
10379
10471
  "rotate-180": !collapsed
@@ -10386,7 +10478,7 @@ var HeaderNavGroup = ({
10386
10478
  !collapsed && children3 && /* @__PURE__ */ jsxRuntime.jsx(
10387
10479
  "div",
10388
10480
  {
10389
- className: classNames69__default.default({
10481
+ className: classNames67__default.default({
10390
10482
  "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,
10391
10483
  "transition-all duration-300 ease-in-out": true
10392
10484
  }),
@@ -10416,7 +10508,7 @@ var HeaderNavItem = ({
10416
10508
  "div",
10417
10509
  {
10418
10510
  onClick: handleNavigation,
10419
- className: classNames69__default.default({
10511
+ className: classNames67__default.default({
10420
10512
  "flex flex-row items-center gap-3 cursor-pointer p-3 w-full": true,
10421
10513
  "transition-all duration-200 ease-in-out": true,
10422
10514
  "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,
@@ -10445,7 +10537,7 @@ var HeaderNavItemTitle = ({
10445
10537
  return /* @__PURE__ */ jsxRuntime.jsx(
10446
10538
  "div",
10447
10539
  {
10448
- className: classNames69__default.default({
10540
+ className: classNames67__default.default({
10449
10541
  "p-3 font-thin": true,
10450
10542
  "eui-text-md": !styles,
10451
10543
  [`${styles}`]: styles
@@ -10462,42 +10554,6 @@ var HeaderNavItemTitle = ({
10462
10554
  }
10463
10555
  );
10464
10556
  };
10465
- var Link = ({
10466
- children: children3,
10467
- href,
10468
- target = "self",
10469
- variant = "info",
10470
- decoration = "underline",
10471
- bold,
10472
- italic,
10473
- styles,
10474
- onClick
10475
- }) => {
10476
- const handleClick = (event) => {
10477
- if (onClick) {
10478
- event.preventDefault();
10479
- onClick();
10480
- }
10481
- };
10482
- return /* @__PURE__ */ jsxRuntime.jsx(
10483
- "a",
10484
- {
10485
- href: href || "#",
10486
- target: targets[target],
10487
- onClick: handleClick,
10488
- className: classNames69__default.default({
10489
- [`${textVariants[variant]}`]: variant,
10490
- [`${decorations[decoration]}`]: decoration,
10491
- "font-bold": bold,
10492
- italic,
10493
- "hover:cursor-pointer hover:brightness-125": true,
10494
- "transition-all ease-in-out": true,
10495
- [`${styles}`]: styles
10496
- }),
10497
- children: children3 ? children3 : "Link"
10498
- }
10499
- );
10500
- };
10501
10557
  var MIContext = ({ icon, name: name2, badge }) => {
10502
10558
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
10503
10559
  icon && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-base text-gray-500 dark:text-gray-400", children: icon }),
@@ -13677,7 +13733,7 @@ function Accordion({
13677
13733
  /* @__PURE__ */ jsxRuntime.jsxs(
13678
13734
  "div",
13679
13735
  {
13680
- className: classNames69__default.default(
13736
+ className: classNames67__default.default(
13681
13737
  "inline-flex gap-3 items-center px-3 py-2 w-full eui-gradient-to-r-general-xs",
13682
13738
  {
13683
13739
  "hover:cursor-pointer": toggleOnSummaryClick
@@ -13698,7 +13754,7 @@ function Accordion({
13698
13754
  children: /* @__PURE__ */ jsxRuntime.jsx(
13699
13755
  index_js$4.FaCircleChevronDown,
13700
13756
  {
13701
- className: classNames69__default.default("text-xl transition-transform duration-300", {
13757
+ className: classNames67__default.default("text-xl transition-transform duration-300", {
13702
13758
  "rotate-180": collapse
13703
13759
  })
13704
13760
  }
@@ -13712,7 +13768,7 @@ function Accordion({
13712
13768
  /* @__PURE__ */ jsxRuntime.jsx(TransitionAccordion_default, { visibility: collapse, children: /* @__PURE__ */ jsxRuntime.jsx(
13713
13769
  "div",
13714
13770
  {
13715
- className: classNames69__default.default(
13771
+ className: classNames67__default.default(
13716
13772
  "border-t border-t-eui-dark-400/40 eui-text-sm",
13717
13773
  {
13718
13774
  "p-5": enableChildrenPadding
@@ -13769,7 +13825,7 @@ function CardHeader({ icon, title, description, className }) {
13769
13825
  return /* @__PURE__ */ jsxRuntime.jsxs(
13770
13826
  "div",
13771
13827
  {
13772
- className: classNames69__default.default(
13828
+ className: classNames67__default.default(
13773
13829
  "flex items-start gap-4 p-6 border-b border-white/10",
13774
13830
  className
13775
13831
  ),
@@ -13785,14 +13841,14 @@ function CardHeader({ icon, title, description, className }) {
13785
13841
  }
13786
13842
  var CardHeader_default = CardHeader;
13787
13843
  function CardContent({ children: children3, className }) {
13788
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames69__default.default("p-6 text-gray-300 text-sm", className), children: children3 });
13844
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames67__default.default("p-6 text-gray-300 text-sm", className), children: children3 });
13789
13845
  }
13790
13846
  var CardContent_default = CardContent;
13791
13847
  function CardFooter({ children: children3, className }) {
13792
13848
  return /* @__PURE__ */ jsxRuntime.jsx(
13793
13849
  "div",
13794
13850
  {
13795
- className: classNames69__default.default(
13851
+ className: classNames67__default.default(
13796
13852
  "flex items-center gap-3 p-5 border-t border-white/10 text-sm text-gray-400",
13797
13853
  className
13798
13854
  ),
@@ -13834,7 +13890,7 @@ function GradientAnimation({
13834
13890
  return /* @__PURE__ */ jsxRuntime.jsx(
13835
13891
  "div",
13836
13892
  {
13837
- className: classNames69__default.default("absolute inset-0"),
13893
+ className: classNames67__default.default("absolute inset-0"),
13838
13894
  style: {
13839
13895
  background: `linear-gradient(${cfg.angle}deg, ${cfg.colors?.join(",")})`,
13840
13896
  backgroundSize: cfg.backgroundSize,
@@ -13980,7 +14036,7 @@ function MotionSurface({
13980
14036
  }) {
13981
14037
  const AnimationComponent = animationVariant === "custom" ? CustomAnimation : animationRegistry[animationVariant];
13982
14038
  const OverlayComponent = overlay === "custom" ? CustomOverlay : overlayRegistry[overlay];
13983
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classNames69__default.default("relative overflow-hidden", className), children: [
14039
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classNames67__default.default("relative overflow-hidden", className), children: [
13984
14040
  AnimationComponent && /* @__PURE__ */ jsxRuntime.jsx(AnimationComponent, { config: animationConfig, animated }),
13985
14041
  OverlayComponent && /* @__PURE__ */ jsxRuntime.jsx(OverlayComponent, { config: overlayConfig }),
13986
14042
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-10", children: children3 })
@@ -17536,21 +17592,6 @@ var typographyLevels = {
17536
17592
  3: "text-xs leading-[20px]"
17537
17593
  }
17538
17594
  };
17539
-
17540
- // src/components/data-display/typography/shared/typography.styles.ts
17541
- var typographyStyles = ({
17542
- variant = "default",
17543
- decoration = "noUnderline",
17544
- bold,
17545
- italic,
17546
- className
17547
- }) => cn(
17548
- textVariants[variant],
17549
- decorations[decoration],
17550
- bold && "font-bold",
17551
- italic && "italic",
17552
- className
17553
- );
17554
17595
  var Chapter = ({
17555
17596
  level = 1,
17556
17597
  children: children3,
@@ -17765,33 +17806,6 @@ var Lead = ({
17765
17806
  }
17766
17807
  );
17767
17808
  };
17768
- var Overline = ({
17769
- children: children3,
17770
- variant,
17771
- decoration,
17772
- bold = true,
17773
- italic,
17774
- className,
17775
- ...rest
17776
- }) => {
17777
- return /* @__PURE__ */ jsxRuntime.jsx(
17778
- "div",
17779
- {
17780
- ...rest,
17781
- className: cn(
17782
- "text-xs uppercase tracking-[0.2em]",
17783
- typographyStyles({
17784
- variant,
17785
- decoration,
17786
- bold,
17787
- italic,
17788
- className
17789
- })
17790
- ),
17791
- children: children3 || "Overline"
17792
- }
17793
- );
17794
- };
17795
17809
  var Display = ({
17796
17810
  level = 1,
17797
17811
  children: children3,
@@ -19077,7 +19091,7 @@ var ThemeSwitch = () => {
19077
19091
  /* @__PURE__ */ jsxRuntime.jsx(
19078
19092
  "div",
19079
19093
  {
19080
- className: classNames69__default.default(
19094
+ className: classNames67__default.default(
19081
19095
  "w-6 h-6 bg-white dark:bg-gray-600 rounded-full shadow-md transition-transform duration-300",
19082
19096
  theme === "dark" ? "translate-x-8" : "translate-x-0"
19083
19097
  )
@@ -30846,7 +30860,7 @@ function Modal({
30846
30860
  "div",
30847
30861
  {
30848
30862
  ref: modalRef,
30849
- className: classNames69__default.default(
30863
+ className: classNames67__default.default(
30850
30864
  "eui-bg-md eui-shadow-lg border border-gray-700/80 w-fit h-fit",
30851
30865
  shapes[resolvedShape],
30852
30866
  styles
@@ -30858,7 +30872,7 @@ function Modal({
30858
30872
  "button",
30859
30873
  {
30860
30874
  type: "button",
30861
- className: classNames69__default.default(
30875
+ className: classNames67__default.default(
30862
30876
  "w-[60px] h-[60px] flex items-center justify-center transition-standard-fast",
30863
30877
  "hover:cursor-pointer hover:bg-eui-dark-500"
30864
30878
  ),
@@ -31250,7 +31264,7 @@ var ContentArea = React26.forwardRef(
31250
31264
  "div",
31251
31265
  {
31252
31266
  ref,
31253
- className: classNames69__default.default({
31267
+ className: classNames67__default.default({
31254
31268
  "min-h-screen h-full w-full transition-all duration-[200ms]": true,
31255
31269
  "py-3 px-5": !enablePadding,
31256
31270
  "py-3 px-5 lg:px-[150px]": enablePadding,
@@ -31267,7 +31281,7 @@ function FlexCol({ children: children3, gap = 3, styles }) {
31267
31281
  return /* @__PURE__ */ jsxRuntime.jsx(
31268
31282
  "div",
31269
31283
  {
31270
- className: classNames69__default.default({
31284
+ className: classNames67__default.default({
31271
31285
  [`flex flex-col gap-${gap}`]: true,
31272
31286
  [`${styles}`]: styles
31273
31287
  }),
@@ -31280,7 +31294,7 @@ function FlexRow({ children: children3, gap = 3, styles }) {
31280
31294
  return /* @__PURE__ */ jsxRuntime.jsx(
31281
31295
  "div",
31282
31296
  {
31283
- className: classNames69__default.default({
31297
+ className: classNames67__default.default({
31284
31298
  [`flex flex-row gap-${gap}`]: true,
31285
31299
  [`${styles}`]: styles
31286
31300
  }),
@@ -31299,7 +31313,7 @@ function Grid({ children: children3, styles }) {
31299
31313
  return /* @__PURE__ */ jsxRuntime.jsx(
31300
31314
  "div",
31301
31315
  {
31302
- className: classNames69__default.default({
31316
+ className: classNames67__default.default({
31303
31317
  [`grid`]: true,
31304
31318
  [`${styles}`]: styles
31305
31319
  }),
@@ -31316,7 +31330,7 @@ var Layout = ({
31316
31330
  return /* @__PURE__ */ jsxRuntime.jsx(
31317
31331
  "div",
31318
31332
  {
31319
- className: classNames69__default.default({
31333
+ className: classNames67__default.default({
31320
31334
  // "flex h-full w-screen bg-gray-100 overflow-auto": true,
31321
31335
  "flex bg-eui-light-600": true,
31322
31336
  "flex-col": flexDirection === "vertical",
@@ -31338,7 +31352,7 @@ var Header = ({
31338
31352
  return /* @__PURE__ */ jsxRuntime.jsx(
31339
31353
  "div",
31340
31354
  {
31341
- className: classNames69__default.default({
31355
+ className: classNames67__default.default({
31342
31356
  static: position4 === "static",
31343
31357
  fixed: position4 === "fixed",
31344
31358
  sticky: position4 === "sticky",
@@ -31373,7 +31387,7 @@ var Content = ({
31373
31387
  return /* @__PURE__ */ jsxRuntime.jsx(
31374
31388
  "div",
31375
31389
  {
31376
- className: classNames69__default.default({
31390
+ className: classNames67__default.default({
31377
31391
  "w-full min-h-screen transition-all duration-200 eui-bg-sm": true,
31378
31392
  "md:pl-[300px]": !overlayedSidebar && sidebarVisible && !isMobile,
31379
31393
  // Shift when sidebar is open (desktop)
@@ -31389,7 +31403,7 @@ var Footer = ({ children: children3, styles }) => {
31389
31403
  return /* @__PURE__ */ jsxRuntime.jsx(
31390
31404
  "div",
31391
31405
  {
31392
- className: classNames69__default.default({
31406
+ className: classNames67__default.default({
31393
31407
  "bottom-0 w-full h-fit": true,
31394
31408
  "border-t border-eui-dark-500/40 dark:border-eui-secondary-800 eui-bg-md": !styles,
31395
31409
  [`${styles}`]: styles
@@ -31577,7 +31591,7 @@ function ShowMore({ text: text10, limit }) {
31577
31591
  /* @__PURE__ */ jsxRuntime.jsx(
31578
31592
  "div",
31579
31593
  {
31580
- className: classNames69__default.default({
31594
+ className: classNames67__default.default({
31581
31595
  "text-blue-300 px-1 pb-1 mt-1": true,
31582
31596
  "bg-slate-900/70": !showMore,
31583
31597
  "bg-gradient-to-t from-slate-900/50 to-transparent": showMore
@@ -32493,7 +32507,7 @@ function DocumentationPanel({
32493
32507
  return /* @__PURE__ */ jsxRuntime.jsx(MarkdownProvider_default, { markdown: value, children: /* @__PURE__ */ jsxRuntime.jsxs(
32494
32508
  "section",
32495
32509
  {
32496
- className: classNames69__default.default(
32510
+ className: classNames67__default.default(
32497
32511
  "eui-documentation-panel",
32498
32512
  "min-h-0 overflow-hidden bg-white text-gray-900",
32499
32513
  "dark:bg-gray-950 dark:text-gray-100",
@@ -32507,7 +32521,7 @@ function DocumentationPanel({
32507
32521
  /* @__PURE__ */ jsxRuntime.jsx(
32508
32522
  "main",
32509
32523
  {
32510
- className: classNames69__default.default(
32524
+ className: classNames67__default.default(
32511
32525
  "eui-documentation-panel-viewer",
32512
32526
  "documentation-panel-scrollbar min-w-0 overflow-y-auto scroll-smooth",
32513
32527
  viewerClassName
@@ -32515,7 +32529,7 @@ function DocumentationPanel({
32515
32529
  children: /* @__PURE__ */ jsxRuntime.jsx(
32516
32530
  "div",
32517
32531
  {
32518
- className: classNames69__default.default(
32532
+ className: classNames67__default.default(
32519
32533
  "mx-auto px-5 py-8 sm:px-6 lg:px-8",
32520
32534
  contentMaxWidthClassName,
32521
32535
  contentClassName
@@ -32528,7 +32542,7 @@ function DocumentationPanel({
32528
32542
  toc ? /* @__PURE__ */ jsxRuntime.jsx(
32529
32543
  "aside",
32530
32544
  {
32531
- className: classNames69__default.default(
32545
+ className: classNames67__default.default(
32532
32546
  "eui-documentation-panel-toc",
32533
32547
  "hidden min-w-0 border-l border-gray-200 bg-white lg:block",
32534
32548
  "dark:border-gray-800 dark:bg-gray-950",
@@ -32537,7 +32551,7 @@ function DocumentationPanel({
32537
32551
  children: /* @__PURE__ */ jsxRuntime.jsx(
32538
32552
  "div",
32539
32553
  {
32540
- className: classNames69__default.default(
32554
+ className: classNames67__default.default(
32541
32555
  "documentation-panel-scrollbar h-full overflow-y-auto px-5 py-8"
32542
32556
  ),
32543
32557
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "sticky top-0", children: /* @__PURE__ */ jsxRuntime.jsx(MarkdownTOC_default, {}) })
@@ -32813,7 +32827,7 @@ function BoxNavItem({ icon, name: name2, to, selected, onClick }) {
32813
32827
  type: "button",
32814
32828
  onClick: handleClick,
32815
32829
  "aria-current": selected ? "page" : void 0,
32816
- className: classNames69__default.default(
32830
+ className: classNames67__default.default(
32817
32831
  "w-full min-w-[80px] flex flex-col items-center justify-center py-3 text-center",
32818
32832
  "hover:text-secondary-700 hover:bg-gray-300/10 hover:cursor-pointer",
32819
32833
  selected ? "text-eui-secondary-700 bg-gray-300/10" : "text-gray-400",
@@ -32857,6 +32871,327 @@ function BoxNav({ data = [], currentPath, onNavigate, navigate }) {
32857
32871
  }) });
32858
32872
  }
32859
32873
  var BoxNav_default = BoxNav;
32874
+ function FooterBrand({
32875
+ brand,
32876
+ brandSrc,
32877
+ brandAlt,
32878
+ className
32879
+ }) {
32880
+ if (brand) {
32881
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("inline-flex", className), children: brand });
32882
+ }
32883
+ return /* @__PURE__ */ jsxRuntime.jsx(Brand, { src: brandSrc, alt: brandAlt, className });
32884
+ }
32885
+ function FooterDescription({
32886
+ children: children3,
32887
+ className
32888
+ }) {
32889
+ if (!children3) return null;
32890
+ return /* @__PURE__ */ jsxRuntime.jsx(Paragraph, { level: 2, className: cn("max-w-sm text-sm", className), children: children3 });
32891
+ }
32892
+ function FooterSocial({ item, className }) {
32893
+ const { name: name2, href, icon, external = true, onClick } = item;
32894
+ const target = item.target ?? (external ? "blank" : void 0);
32895
+ return /* @__PURE__ */ jsxRuntime.jsx(
32896
+ "a",
32897
+ {
32898
+ href,
32899
+ onClick,
32900
+ target: target ? `_${target}` : void 0,
32901
+ rel: target === "blank" ? "noopener noreferrer" : void 0,
32902
+ "aria-label": name2,
32903
+ title: name2,
32904
+ className: cn(
32905
+ "flex h-9 w-9 items-center justify-center rounded-full text-base",
32906
+ "eui-text-md border border-eui-dark-500/30 dark:border-eui-light-600/30",
32907
+ "eui-theme-transition hover:brightness-125",
32908
+ "hover:bg-eui-dark-500/5 dark:hover:bg-eui-light-600/10",
32909
+ "focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-current",
32910
+ className
32911
+ ),
32912
+ children: icon
32913
+ }
32914
+ );
32915
+ }
32916
+ function FooterSocials({
32917
+ items,
32918
+ social,
32919
+ className,
32920
+ itemClassName
32921
+ }) {
32922
+ if (!items || items.length === 0) return null;
32923
+ const Social = social ?? FooterSocial;
32924
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-wrap items-center gap-3", className), children: items.map((item, index3) => /* @__PURE__ */ jsxRuntime.jsx(
32925
+ Social,
32926
+ {
32927
+ item,
32928
+ className: itemClassName
32929
+ },
32930
+ item.key ?? item.name ?? item.href ?? index3
32931
+ )) });
32932
+ }
32933
+ function FooterLink({ item, navigate, className }) {
32934
+ const { label, to, icon, description, badge, external, onClick } = item;
32935
+ const target = item.target ?? (external ? "blank" : "self");
32936
+ const isSelfTarget = target === "self";
32937
+ const useJsNav = Boolean(onClick) || Boolean(navigate) && Boolean(to) && isSelfTarget;
32938
+ const handleClick = () => {
32939
+ if (onClick) {
32940
+ onClick();
32941
+ return;
32942
+ }
32943
+ if (to && navigate) navigate(to);
32944
+ };
32945
+ const link3 = /* @__PURE__ */ jsxRuntime.jsx(
32946
+ Link,
32947
+ {
32948
+ href: to || "#",
32949
+ target,
32950
+ rel: target === "blank" ? "noopener noreferrer" : void 0,
32951
+ variant: "default",
32952
+ decoration: "noUnderline",
32953
+ onClick: useJsNav ? handleClick : void 0,
32954
+ styles: cn(
32955
+ "text-sm",
32956
+ !icon && !description && "block py-1",
32957
+ item.className,
32958
+ className
32959
+ ),
32960
+ children: label
32961
+ }
32962
+ );
32963
+ if (!icon && !description && !badge) return link3;
32964
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3 py-1 text-sm", children: [
32965
+ icon && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "eui-text-sm mt-0.5 shrink-0 text-base", children: icon }),
32966
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-w-0 flex-col", children: [
32967
+ link3,
32968
+ description && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "eui-text-sm text-xs", children: description })
32969
+ ] }),
32970
+ badge && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto", children: badge })
32971
+ ] });
32972
+ }
32973
+ function FooterColumn({
32974
+ column,
32975
+ navigate,
32976
+ link: link3,
32977
+ className,
32978
+ titleClassName,
32979
+ linkClassName
32980
+ }) {
32981
+ const Link2 = link3 ?? FooterLink;
32982
+ return /* @__PURE__ */ jsxRuntime.jsx(
32983
+ FooterNavGroup,
32984
+ {
32985
+ title: column.title,
32986
+ className,
32987
+ titleClassName,
32988
+ children: column.items.map((item, index3) => /* @__PURE__ */ jsxRuntime.jsx(
32989
+ Link2,
32990
+ {
32991
+ item,
32992
+ navigate,
32993
+ className: linkClassName
32994
+ },
32995
+ item.key ?? index3
32996
+ ))
32997
+ }
32998
+ );
32999
+ }
33000
+ var gridColsClassName = (count) => {
33001
+ const map3 = {
33002
+ 1: "grid-cols-1",
33003
+ 2: "grid-cols-2",
33004
+ 3: "grid-cols-2 sm:grid-cols-3",
33005
+ 4: "grid-cols-2 sm:grid-cols-4"
33006
+ };
33007
+ return map3[Math.min(Math.max(count, 1), 4)] ?? map3[4];
33008
+ };
33009
+ function FooterColumns({
33010
+ columns,
33011
+ navigate,
33012
+ column,
33013
+ link: link3,
33014
+ className,
33015
+ columnClassName,
33016
+ titleClassName,
33017
+ linkClassName
33018
+ }) {
33019
+ if (!columns || columns.length === 0) return null;
33020
+ const Column = column ?? FooterColumn;
33021
+ return /* @__PURE__ */ jsxRuntime.jsx(
33022
+ "div",
33023
+ {
33024
+ className: cn("grid gap-8", gridColsClassName(columns.length), className),
33025
+ children: columns.map((col, index3) => {
33026
+ const ColumnComponent = col.component ?? Column;
33027
+ return /* @__PURE__ */ jsxRuntime.jsx(
33028
+ ColumnComponent,
33029
+ {
33030
+ column: col,
33031
+ navigate,
33032
+ link: link3,
33033
+ className: cn(columnClassName, col.className),
33034
+ titleClassName,
33035
+ linkClassName
33036
+ },
33037
+ col.key ?? index3
33038
+ );
33039
+ })
33040
+ }
33041
+ );
33042
+ }
33043
+ function FooterBottom({
33044
+ copyright,
33045
+ legalLinks = [],
33046
+ bottomNote,
33047
+ navigate,
33048
+ classNames: classNames71
33049
+ }) {
33050
+ const hasLegal = legalLinks.length > 0;
33051
+ if (!copyright && !hasLegal && !bottomNote) return null;
33052
+ return /* @__PURE__ */ jsxRuntime.jsxs(
33053
+ "div",
33054
+ {
33055
+ className: cn(
33056
+ "mt-14 flex flex-col gap-4 pt-8",
33057
+ "border-t border-eui-dark-500/15 dark:border-eui-light-600/15",
33058
+ "md:flex-row md:items-center md:justify-between",
33059
+ classNames71?.bottom
33060
+ ),
33061
+ children: [
33062
+ copyright && /* @__PURE__ */ jsxRuntime.jsx(
33063
+ Caption,
33064
+ {
33065
+ className: cn("max-w-3xl leading-relaxed", classNames71?.copyright),
33066
+ children: copyright
33067
+ }
33068
+ ),
33069
+ (hasLegal || bottomNote) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-x-5 gap-y-2 md:justify-end", children: [
33070
+ legalLinks.map((item, index3) => {
33071
+ const useJsNav = Boolean(item.onClick) || Boolean(navigate) && Boolean(item.to);
33072
+ return /* @__PURE__ */ jsxRuntime.jsx(
33073
+ Link,
33074
+ {
33075
+ href: item.to || "#",
33076
+ target: item.external ? "blank" : "self",
33077
+ variant: "default",
33078
+ decoration: "noUnderline",
33079
+ onClick: useJsNav ? () => item.onClick ? item.onClick() : item.to && navigate?.(item.to) : void 0,
33080
+ styles: cn("whitespace-nowrap text-xs", classNames71?.legalLink),
33081
+ children: item.label
33082
+ },
33083
+ item.key ?? index3
33084
+ );
33085
+ }),
33086
+ bottomNote && /* @__PURE__ */ jsxRuntime.jsx(Caption, { children: bottomNote })
33087
+ ] })
33088
+ ]
33089
+ }
33090
+ );
33091
+ }
33092
+ function SiteFooter({
33093
+ brand,
33094
+ brandSrc,
33095
+ brandAlt,
33096
+ description,
33097
+ columns = [],
33098
+ socials = [],
33099
+ copyright,
33100
+ legalLinks = [],
33101
+ bottomNote,
33102
+ navigate,
33103
+ components,
33104
+ classNames: classNames71,
33105
+ className,
33106
+ styles,
33107
+ maxWidth = "max-w-7xl",
33108
+ showBrand = true,
33109
+ showColumns = true,
33110
+ showSocials = true,
33111
+ showBottom = true,
33112
+ children: children3
33113
+ }) {
33114
+ const Root = components?.root ?? Footer;
33115
+ const Container = components?.container;
33116
+ const BrandSlot = components?.brand ?? FooterBrand;
33117
+ const DescriptionSlot = components?.description ?? FooterDescription;
33118
+ const SocialsSlot = components?.socials ?? FooterSocials;
33119
+ const ColumnsSlot = components?.columns ?? FooterColumns;
33120
+ const BottomSlot = components?.bottom ?? FooterBottom;
33121
+ const hasBrandBlock = showBrand && (Boolean(brand) || Boolean(brandSrc) || Boolean(description) || showSocials && socials.length > 0);
33122
+ const hasColumns = showColumns && columns.length > 0;
33123
+ const brandBlock = hasBrandBlock ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-6", classNames71?.brandBlock), children: [
33124
+ showBrand && (Boolean(brand) || Boolean(brandSrc)) && /* @__PURE__ */ jsxRuntime.jsx(BrandSlot, { brand, brandSrc, brandAlt }),
33125
+ description && /* @__PURE__ */ jsxRuntime.jsx(DescriptionSlot, { className: classNames71?.description, children: description }),
33126
+ showSocials && socials.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
33127
+ SocialsSlot,
33128
+ {
33129
+ items: socials,
33130
+ social: components?.social,
33131
+ className: classNames71?.socials,
33132
+ itemClassName: classNames71?.social
33133
+ }
33134
+ )
33135
+ ] }) : null;
33136
+ const columnsBlock = hasColumns ? /* @__PURE__ */ jsxRuntime.jsx(
33137
+ ColumnsSlot,
33138
+ {
33139
+ columns,
33140
+ navigate,
33141
+ column: components?.column,
33142
+ link: components?.link,
33143
+ className: cn(classNames71?.columns, brandBlock && "lg:col-span-3"),
33144
+ columnClassName: classNames71?.column,
33145
+ titleClassName: classNames71?.columnTitle,
33146
+ linkClassName: classNames71?.link
33147
+ }
33148
+ ) : null;
33149
+ const topSection = children3 ?? (brandBlock || columnsBlock ? /* @__PURE__ */ jsxRuntime.jsxs(
33150
+ "div",
33151
+ {
33152
+ className: cn(
33153
+ "grid gap-12",
33154
+ brandBlock && columnsBlock && "lg:grid-cols-4",
33155
+ classNames71?.top
33156
+ ),
33157
+ children: [
33158
+ brandBlock,
33159
+ columnsBlock
33160
+ ]
33161
+ }
33162
+ ) : null);
33163
+ const content3 = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
33164
+ topSection,
33165
+ showBottom && /* @__PURE__ */ jsxRuntime.jsx(
33166
+ BottomSlot,
33167
+ {
33168
+ copyright,
33169
+ legalLinks,
33170
+ bottomNote,
33171
+ navigate,
33172
+ classNames: classNames71
33173
+ }
33174
+ )
33175
+ ] });
33176
+ const containerClassName = cn(
33177
+ "mx-auto px-6 py-16 md:px-10 lg:px-16",
33178
+ maxWidth,
33179
+ classNames71?.container
33180
+ );
33181
+ return /* @__PURE__ */ jsxRuntime.jsx(Root, { styles: cn(styles, classNames71?.root, className), children: Container ? /* @__PURE__ */ jsxRuntime.jsx(Container, { className: containerClassName, children: content3 }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: containerClassName, children: content3 }) });
33182
+ }
33183
+
33184
+ // src/compositions/navigation/site-footer/index.tsx
33185
+ var SiteFooter2 = Object.assign(SiteFooter, {
33186
+ Brand: FooterBrand,
33187
+ Description: FooterDescription,
33188
+ Socials: FooterSocials,
33189
+ Social: FooterSocial,
33190
+ Columns: FooterColumns,
33191
+ Column: FooterColumn,
33192
+ Link: FooterLink,
33193
+ Bottom: FooterBottom
33194
+ });
32860
33195
  function Sidebar({
32861
33196
  items = [],
32862
33197
  navigate,
@@ -33157,7 +33492,7 @@ var TopNav = ({
33157
33492
  currentPath,
33158
33493
  navigate,
33159
33494
  components,
33160
- classNames: classNames73,
33495
+ classNames: classNames71,
33161
33496
  className
33162
33497
  }) => {
33163
33498
  const pathname = currentPath ?? (typeof window !== "undefined" ? window.location.pathname : "");
@@ -33209,8 +33544,8 @@ var TopNav = ({
33209
33544
  return /* @__PURE__ */ jsxRuntime.jsx(
33210
33545
  TNThemeProvider,
33211
33546
  {
33212
- value: { components: components || {}, classNames: classNames73 || {} },
33213
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", classNames73?.root, className), children: items.map(renderNode) })
33547
+ value: { components: components || {}, classNames: classNames71 || {} },
33548
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex items-center", classNames71?.root, className), children: items.map(renderNode) })
33214
33549
  }
33215
33550
  );
33216
33551
  };
@@ -35393,11 +35728,11 @@ function addChildren(props, children3) {
35393
35728
  }
35394
35729
  }
35395
35730
  }
35396
- function productionCreate(_2, jsx256, jsxs127) {
35731
+ function productionCreate(_2, jsx265, jsxs130) {
35397
35732
  return create3;
35398
35733
  function create3(_3, type2, props, key) {
35399
35734
  const isStaticChildren = Array.isArray(props.children);
35400
- const fn = isStaticChildren ? jsxs127 : jsx256;
35735
+ const fn = isStaticChildren ? jsxs130 : jsx265;
35401
35736
  return key ? fn(type2, props, key) : fn(type2, props);
35402
35737
  }
35403
35738
  }
@@ -55428,7 +55763,7 @@ function MarkdownHeading({
55428
55763
  id: id2,
55429
55764
  level: typographyLevel,
55430
55765
  bold: true,
55431
- className: classNames69__default.default(
55766
+ className: classNames67__default.default(
55432
55767
  "eui-markdown-heading group relative scroll-mt-24 font-bold leading-tight text-gray-900 dark:text-gray-100",
55433
55768
  HEADING_STYLES[level],
55434
55769
  className
@@ -55591,18 +55926,18 @@ function powerSetPermutations(arr) {
55591
55926
  }
55592
55927
  }
55593
55928
  var classNameCombinations = {};
55594
- function getClassNameCombinations(classNames73) {
55595
- if (classNames73.length === 0 || classNames73.length === 1) return classNames73;
55596
- var key = classNames73.join(".");
55929
+ function getClassNameCombinations(classNames71) {
55930
+ if (classNames71.length === 0 || classNames71.length === 1) return classNames71;
55931
+ var key = classNames71.join(".");
55597
55932
  if (!classNameCombinations[key]) {
55598
- classNameCombinations[key] = powerSetPermutations(classNames73);
55933
+ classNameCombinations[key] = powerSetPermutations(classNames71);
55599
55934
  }
55600
55935
  return classNameCombinations[key];
55601
55936
  }
55602
- function createStyleObject(classNames73) {
55937
+ function createStyleObject(classNames71) {
55603
55938
  var elementStyle = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
55604
55939
  var stylesheet = arguments.length > 2 ? arguments[2] : void 0;
55605
- var nonTokenClassNames = classNames73.filter(function(className) {
55940
+ var nonTokenClassNames = classNames71.filter(function(className) {
55606
55941
  return className !== "token";
55607
55942
  });
55608
55943
  var classNamesCombinations = getClassNameCombinations(nonTokenClassNames);
@@ -55610,8 +55945,8 @@ function createStyleObject(classNames73) {
55610
55945
  return _objectSpread(_objectSpread({}, styleObject), stylesheet[className]);
55611
55946
  }, elementStyle);
55612
55947
  }
55613
- function createClassNameString(classNames73) {
55614
- return classNames73.join(" ");
55948
+ function createClassNameString(classNames71) {
55949
+ return classNames71.join(" ");
55615
55950
  }
55616
55951
  function createChildren2(stylesheet, useInlineStyles) {
55617
55952
  var childrenCount = 0;
@@ -55784,8 +56119,8 @@ function flattenCodeTree(tree) {
55784
56119
  }));
55785
56120
  } else if (node2.children) {
55786
56121
  var _node$properties;
55787
- var classNames73 = className.concat(((_node$properties = node2.properties) === null || _node$properties === void 0 ? void 0 : _node$properties.className) || []);
55788
- flattenCodeTree(node2.children, classNames73).forEach(function(i2) {
56122
+ var classNames71 = className.concat(((_node$properties = node2.properties) === null || _node$properties === void 0 ? void 0 : _node$properties.className) || []);
56123
+ flattenCodeTree(node2.children, classNames71).forEach(function(i2) {
55789
56124
  return newTree.push(i2);
55790
56125
  });
55791
56126
  }
@@ -56316,7 +56651,7 @@ var json_default = json;
56316
56651
 
56317
56652
  // node_modules/react-syntax-highlighter/dist/esm/languages/prism/jsx.js
56318
56653
  init_jsx();
56319
- var jsx_default = jsx217;
56654
+ var jsx_default = jsx226;
56320
56655
 
56321
56656
  // node_modules/react-syntax-highlighter/dist/esm/languages/prism/markup.js
56322
56657
  init_markup();
@@ -56449,7 +56784,7 @@ function MarkdownCodeBlock({
56449
56784
  "div",
56450
56785
  {
56451
56786
  ...props,
56452
- className: classNames69__default.default(
56787
+ className: classNames67__default.default(
56453
56788
  "eui-markdown-code my-6 overflow-hidden rounded-md border border-slate-700 bg-[#0d1117] text-slate-300",
56454
56789
  className
56455
56790
  ),
@@ -56520,7 +56855,7 @@ function MarkdownInlineCode({
56520
56855
  Code,
56521
56856
  {
56522
56857
  ...props,
56523
- className: classNames69__default.default(
56858
+ className: classNames67__default.default(
56524
56859
  "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",
56525
56860
  className
56526
56861
  ),
@@ -56561,7 +56896,7 @@ function MarkdownLink({
56561
56896
  href: safeHref,
56562
56897
  target: resolvedTarget,
56563
56898
  rel,
56564
- className: classNames69__default.default(
56899
+ className: classNames67__default.default(
56565
56900
  "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",
56566
56901
  className
56567
56902
  ),
@@ -56596,7 +56931,7 @@ function MarkdownImage({
56596
56931
  title,
56597
56932
  loading: "lazy",
56598
56933
  decoding: "async",
56599
- className: classNames69__default.default(
56934
+ className: classNames67__default.default(
56600
56935
  "eui-markdown-image my-6 h-auto max-w-full rounded-md border border-gray-200 dark:border-gray-700",
56601
56936
  className
56602
56937
  )
@@ -56613,7 +56948,7 @@ function MarkdownTable({
56613
56948
  TableElement,
56614
56949
  {
56615
56950
  ...props,
56616
- className: classNames69__default.default(
56951
+ className: classNames67__default.default(
56617
56952
  "eui-markdown-table w-full border-collapse text-[0.925rem]",
56618
56953
  className
56619
56954
  ),
@@ -56630,7 +56965,7 @@ function MarkdownTableCell({
56630
56965
  TableCell,
56631
56966
  {
56632
56967
  ...props,
56633
- className: classNames69__default.default(
56968
+ className: classNames67__default.default(
56634
56969
  "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",
56635
56970
  className
56636
56971
  ),
@@ -56647,7 +56982,7 @@ function MarkdownTableHeaderCell({
56647
56982
  TableHeaderCell,
56648
56983
  {
56649
56984
  ...props,
56650
- className: classNames69__default.default(
56985
+ className: classNames67__default.default(
56651
56986
  "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",
56652
56987
  className
56653
56988
  ),
@@ -56663,7 +56998,7 @@ function MarkdownTableHead({
56663
56998
  TableHead,
56664
56999
  {
56665
57000
  ...props,
56666
- className: classNames69__default.default(
57001
+ className: classNames67__default.default(
56667
57002
  "eui-markdown-table-head bg-gray-50 dark:bg-gray-900",
56668
57003
  className
56669
57004
  )
@@ -56678,7 +57013,7 @@ function MarkdownTableBody({
56678
57013
  TableBody,
56679
57014
  {
56680
57015
  ...props,
56681
- className: classNames69__default.default("eui-markdown-table-body", className)
57016
+ className: classNames67__default.default("eui-markdown-table-body", className)
56682
57017
  }
56683
57018
  );
56684
57019
  }
@@ -56690,7 +57025,7 @@ function MarkdownTableRow({
56690
57025
  TableRow,
56691
57026
  {
56692
57027
  ...props,
56693
- className: classNames69__default.default(
57028
+ className: classNames67__default.default(
56694
57029
  "eui-markdown-table-row even:bg-gray-50/70 dark:even:bg-gray-900/60",
56695
57030
  className
56696
57031
  )
@@ -56708,7 +57043,7 @@ function MarkdownBlockquote({
56708
57043
  {
56709
57044
  ...props,
56710
57045
  as: "blockquote",
56711
- className: classNames69__default.default(
57046
+ className: classNames67__default.default(
56712
57047
  "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",
56713
57048
  className
56714
57049
  ),
@@ -56727,7 +57062,7 @@ function MarkdownParagraph({
56727
57062
  {
56728
57063
  ...props,
56729
57064
  level: 1,
56730
- className: classNames69__default.default("eui-markdown-paragraph my-4", className),
57065
+ className: classNames67__default.default("eui-markdown-paragraph my-4", className),
56731
57066
  children: /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: children3 })
56732
57067
  }
56733
57068
  );
@@ -56738,7 +57073,7 @@ function MarkdownStrong({ className, ...props }) {
56738
57073
  "strong",
56739
57074
  {
56740
57075
  ...props,
56741
- className: classNames69__default.default(
57076
+ className: classNames67__default.default(
56742
57077
  "eui-markdown-strong font-semibold text-gray-950 dark:text-gray-100",
56743
57078
  className
56744
57079
  )
@@ -56751,7 +57086,7 @@ function MarkdownEmphasis({ className, ...props }) {
56751
57086
  "em",
56752
57087
  {
56753
57088
  ...props,
56754
- className: classNames69__default.default("eui-markdown-emphasis italic", className)
57089
+ className: classNames67__default.default("eui-markdown-emphasis italic", className)
56755
57090
  }
56756
57091
  );
56757
57092
  }
@@ -56764,7 +57099,7 @@ function MarkdownStrikethrough({
56764
57099
  "del",
56765
57100
  {
56766
57101
  ...props,
56767
- className: classNames69__default.default(
57102
+ className: classNames67__default.default(
56768
57103
  "eui-markdown-strikethrough text-gray-500 dark:text-gray-400",
56769
57104
  className
56770
57105
  )
@@ -56825,7 +57160,7 @@ function MarkdownTaskCheckbox({
56825
57160
  "input",
56826
57161
  {
56827
57162
  ...props,
56828
- className: classNames69__default.default(
57163
+ className: classNames67__default.default(
56829
57164
  "eui-markdown-task-checkbox mr-2 translate-y-px accent-blue-600",
56830
57165
  className
56831
57166
  )
@@ -56841,7 +57176,7 @@ function MarkdownThematicBreak({
56841
57176
  "hr",
56842
57177
  {
56843
57178
  ...props,
56844
- className: classNames69__default.default(
57179
+ className: classNames67__default.default(
56845
57180
  "eui-markdown-thematic-break my-8 border-0 border-t border-gray-200 dark:border-gray-800",
56846
57181
  className
56847
57182
  )
@@ -56858,7 +57193,7 @@ function MarkdownDetails({ className, ...props }) {
56858
57193
  "details",
56859
57194
  {
56860
57195
  ...props,
56861
- className: classNames69__default.default(
57196
+ className: classNames67__default.default(
56862
57197
  "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",
56863
57198
  className
56864
57199
  )
@@ -56870,7 +57205,7 @@ function MarkdownSummary({ className, ...props }) {
56870
57205
  "summary",
56871
57206
  {
56872
57207
  ...props,
56873
- className: classNames69__default.default(
57208
+ className: classNames67__default.default(
56874
57209
  "eui-markdown-summary cursor-pointer font-semibold text-gray-950 dark:text-gray-100",
56875
57210
  className
56876
57211
  )
@@ -56882,7 +57217,7 @@ function MarkdownFigure({ className, ...props }) {
56882
57217
  "figure",
56883
57218
  {
56884
57219
  ...props,
56885
- className: classNames69__default.default("eui-markdown-figure my-6", className)
57220
+ className: classNames67__default.default("eui-markdown-figure my-6", className)
56886
57221
  }
56887
57222
  );
56888
57223
  }
@@ -56894,7 +57229,7 @@ function MarkdownFigcaption({
56894
57229
  return /* @__PURE__ */ jsxRuntime.jsx("figcaption", { ...props, className: "eui-markdown-figcaption mt-2 text-center", children: /* @__PURE__ */ jsxRuntime.jsx(
56895
57230
  Caption,
56896
57231
  {
56897
- className: classNames69__default.default(
57232
+ className: classNames67__default.default(
56898
57233
  "text-gray-500 opacity-100 dark:text-gray-400",
56899
57234
  className
56900
57235
  ),
@@ -57293,14 +57628,14 @@ function MarkdownRenderer({
57293
57628
  return /* @__PURE__ */ jsxRuntime.jsx(
57294
57629
  "div",
57295
57630
  {
57296
- className: classNames69__default.default(
57631
+ className: classNames67__default.default(
57297
57632
  "eui-markdown markdown-body break-words bg-transparent text-[0.95rem] leading-7 text-gray-800 dark:text-gray-300",
57298
57633
  className
57299
57634
  ),
57300
57635
  children: /* @__PURE__ */ jsxRuntime.jsx(
57301
57636
  "div",
57302
57637
  {
57303
- className: classNames69__default.default(
57638
+ className: classNames67__default.default(
57304
57639
  "[&>*:first-child]:mt-0 [&>*:last-child]:mb-0",
57305
57640
  contentClassName
57306
57641
  ),
@@ -57378,11 +57713,11 @@ function MarkdownTOCItem({
57378
57713
  onClick: () => onSelect?.(heading3),
57379
57714
  "aria-current": active ? "location" : void 0,
57380
57715
  title: label,
57381
- className: classNames69__default.default(
57716
+ className: classNames67__default.default(
57382
57717
  "eui-markdown-toc-item",
57383
57718
  "block w-full text-left text-sm transition-all ease-in-out duration-150",
57384
57719
  "hover:text-primary",
57385
- active ? classNames69__default.default("text-primary font-semibold underline", activeClassName) : classNames69__default.default("text-gray-500 dark:text-gray-400", inactiveClassName),
57720
+ active ? classNames67__default.default("text-primary font-semibold underline", activeClassName) : classNames67__default.default("text-gray-500 dark:text-gray-400", inactiveClassName),
57386
57721
  className
57387
57722
  ),
57388
57723
  style: {
@@ -57448,7 +57783,7 @@ function MarkdownTOC({
57448
57783
  return emptyState ? /* @__PURE__ */ jsxRuntime.jsx(
57449
57784
  "div",
57450
57785
  {
57451
- className: classNames69__default.default(
57786
+ className: classNames67__default.default(
57452
57787
  "eui-markdown-toc",
57453
57788
  "text-sm text-gray-500 dark:text-gray-400",
57454
57789
  className
@@ -57468,7 +57803,7 @@ function MarkdownTOC({
57468
57803
  {
57469
57804
  type: "button",
57470
57805
  onClick: () => setCollapsed((value) => !value),
57471
- className: classNames69__default.default(
57806
+ className: classNames67__default.default(
57472
57807
  "eui-markdown-toc-title",
57473
57808
  "flex w-full items-center justify-between gap-2 text-left",
57474
57809
  "text-sm font-semibold uppercase tracking-wide",
@@ -57481,7 +57816,7 @@ function MarkdownTOC({
57481
57816
  /* @__PURE__ */ jsxRuntime.jsx(
57482
57817
  "span",
57483
57818
  {
57484
- className: classNames69__default.default(
57819
+ className: classNames67__default.default(
57485
57820
  "text-xs opacity-60 transition-transform duration-150",
57486
57821
  !collapsed && "rotate-90"
57487
57822
  ),
@@ -57494,7 +57829,7 @@ function MarkdownTOC({
57494
57829
  ) : /* @__PURE__ */ jsxRuntime.jsx(
57495
57830
  "h2",
57496
57831
  {
57497
- className: classNames69__default.default(
57832
+ className: classNames67__default.default(
57498
57833
  "eui-markdown-toc-title",
57499
57834
  "text-sm font-semibold uppercase tracking-wide",
57500
57835
  "text-gray-900 dark:text-gray-100",
@@ -57506,7 +57841,7 @@ function MarkdownTOC({
57506
57841
  !collapsed ? /* @__PURE__ */ jsxRuntime.jsx(
57507
57842
  "nav",
57508
57843
  {
57509
- className: classNames69__default.default(
57844
+ className: classNames67__default.default(
57510
57845
  "eui-markdown-toc-list",
57511
57846
  "space-y-1",
57512
57847
  listClassName
@@ -57530,7 +57865,7 @@ function MarkdownTOC({
57530
57865
  }
57531
57866
  ) : null
57532
57867
  ] });
57533
- return /* @__PURE__ */ jsxRuntime.jsx("aside", { className: classNames69__default.default("eui-markdown-toc", "space-y-4", className), children: content3 });
57868
+ return /* @__PURE__ */ jsxRuntime.jsx("aside", { className: classNames67__default.default("eui-markdown-toc", "space-y-4", className), children: content3 });
57534
57869
  }
57535
57870
  var MarkdownTOC_default = MarkdownTOC;
57536
57871
  var DEFAULT_MARKDOWN_TOOLBAR_ACTIONS = [
@@ -57629,7 +57964,7 @@ function MarkdownToolbar({
57629
57964
  return /* @__PURE__ */ jsxRuntime.jsxs(
57630
57965
  "div",
57631
57966
  {
57632
- className: classNames69__default.default(
57967
+ className: classNames67__default.default(
57633
57968
  "eui-markdown-toolbar",
57634
57969
  "flex flex-wrap items-center gap-1 border-b border-gray-200 bg-gray-50 p-2",
57635
57970
  "dark:border-gray-700 dark:bg-gray-900",
@@ -57643,7 +57978,7 @@ function MarkdownToolbar({
57643
57978
  disabled: disabled || actionsDisabled,
57644
57979
  title: action.shortcut ? `${action.title || action.label} (${action.shortcut})` : action.title || action.label,
57645
57980
  onClick: () => onAction?.(action.id),
57646
- className: classNames69__default.default(
57981
+ className: classNames67__default.default(
57647
57982
  "eui-markdown-toolbar-button",
57648
57983
  "inline-flex items-center justify-center rounded border border-transparent",
57649
57984
  "text-gray-700 transition-colors hover:border-gray-300 hover:bg-white",
@@ -57663,7 +57998,7 @@ function MarkdownToolbar({
57663
57998
  disabled,
57664
57999
  onClick: onViewModeToggle,
57665
58000
  title: isPreviewMode ? "Switch to Markdown syntax" : "Switch to preview",
57666
- className: classNames69__default.default(
58001
+ className: classNames67__default.default(
57667
58002
  "eui-markdown-view-toggle",
57668
58003
  "inline-flex items-center justify-center rounded border font-medium transition-colors",
57669
58004
  "border-gray-300 bg-white text-gray-700 hover:bg-gray-100",
@@ -57920,7 +58255,7 @@ function MarkdownSourceEditor({
57920
58255
  return /* @__PURE__ */ jsxRuntime.jsxs(
57921
58256
  "div",
57922
58257
  {
57923
- className: classNames69__default.default(
58258
+ className: classNames67__default.default(
57924
58259
  "eui-markdown-editor",
57925
58260
  "overflow-hidden rounded border border-gray-300 bg-white",
57926
58261
  "dark:border-gray-700 dark:bg-gray-950",
@@ -57936,7 +58271,7 @@ function MarkdownSourceEditor({
57936
58271
  actionsDisabled: readOnly,
57937
58272
  viewMode: currentViewMode,
57938
58273
  showViewModeToggle,
57939
- className: classNames69__default.default(toolbarClassName, toolbarProps?.className),
58274
+ className: classNames67__default.default(toolbarClassName, toolbarProps?.className),
57940
58275
  onViewModeToggle: toggleViewMode,
57941
58276
  onAction: handleToolbarAction
57942
58277
  }
@@ -57944,7 +58279,7 @@ function MarkdownSourceEditor({
57944
58279
  currentViewMode === "preview" ? /* @__PURE__ */ jsxRuntime.jsx(
57945
58280
  "div",
57946
58281
  {
57947
- className: classNames69__default.default(
58282
+ className: classNames67__default.default(
57948
58283
  "eui-markdown-editor-preview",
57949
58284
  "min-h-[260px] p-4",
57950
58285
  previewClassName
@@ -57967,7 +58302,7 @@ function MarkdownSourceEditor({
57967
58302
  onChange: (event) => updateValue(event.target.value),
57968
58303
  onBlur,
57969
58304
  onKeyDown: handleKeyDown,
57970
- className: classNames69__default.default(
58305
+ className: classNames67__default.default(
57971
58306
  "eui-markdown-source-textarea",
57972
58307
  "block w-full resize-y border-0 bg-transparent p-4 font-mono text-sm leading-7",
57973
58308
  "text-gray-900 outline-none placeholder:text-gray-400",
@@ -57997,7 +58332,7 @@ function MarkdownPreviewPane({
57997
58332
  return /* @__PURE__ */ jsxRuntime.jsx(
57998
58333
  "div",
57999
58334
  {
58000
- className: classNames69__default.default(
58335
+ className: classNames67__default.default(
58001
58336
  "eui-markdown-preview-pane",
58002
58337
  "rounded border border-gray-300 bg-white p-4",
58003
58338
  "dark:border-gray-700 dark:bg-gray-950",
@@ -58047,7 +58382,7 @@ function MarkdownSplitEditor({
58047
58382
  return /* @__PURE__ */ jsxRuntime.jsxs(
58048
58383
  "div",
58049
58384
  {
58050
- className: classNames69__default.default(
58385
+ className: classNames67__default.default(
58051
58386
  "eui-markdown-split-editor",
58052
58387
  "grid gap-4",
58053
58388
  isHorizontal ? "grid-cols-1 lg:grid-cols-2" : "grid-cols-1",
@@ -58057,7 +58392,7 @@ function MarkdownSplitEditor({
58057
58392
  /* @__PURE__ */ jsxRuntime.jsxs(
58058
58393
  "div",
58059
58394
  {
58060
- className: classNames69__default.default(
58395
+ className: classNames67__default.default(
58061
58396
  "eui-markdown-split-source",
58062
58397
  "min-w-0 space-y-2",
58063
58398
  sourceWrapperClassName
@@ -58081,7 +58416,7 @@ function MarkdownSplitEditor({
58081
58416
  /* @__PURE__ */ jsxRuntime.jsxs(
58082
58417
  "div",
58083
58418
  {
58084
- className: classNames69__default.default(
58419
+ className: classNames67__default.default(
58085
58420
  "eui-markdown-split-preview",
58086
58421
  "min-w-0 space-y-2",
58087
58422
  previewWrapperClassName
@@ -58171,7 +58506,7 @@ function MarkdownField({
58171
58506
  return /* @__PURE__ */ jsxRuntime.jsxs(
58172
58507
  "div",
58173
58508
  {
58174
- className: classNames69__default.default(
58509
+ className: classNames67__default.default(
58175
58510
  "eui-markdown-field",
58176
58511
  "relative space-y-2",
58177
58512
  wrapperClassName
@@ -58181,7 +58516,7 @@ function MarkdownField({
58181
58516
  "label",
58182
58517
  {
58183
58518
  htmlFor: editorProps.id || field.name,
58184
- className: classNames69__default.default(
58519
+ className: classNames67__default.default(
58185
58520
  "block text-sm font-medium text-gray-700 dark:text-gray-200",
58186
58521
  labelClassName
58187
58522
  ),
@@ -58206,7 +58541,7 @@ function MarkdownField({
58206
58541
  helperText && !hasError ? /* @__PURE__ */ jsxRuntime.jsx(
58207
58542
  "p",
58208
58543
  {
58209
- className: classNames69__default.default(
58544
+ className: classNames67__default.default(
58210
58545
  "text-sm text-gray-500 dark:text-gray-400",
58211
58546
  helperTextClassName
58212
58547
  ),
@@ -58261,7 +58596,7 @@ function CodeMirrorMarkdownEditor({
58261
58596
  {
58262
58597
  id: id2,
58263
58598
  "data-name": name2,
58264
- className: classNames69__default.default(
58599
+ className: classNames67__default.default(
58265
58600
  "eui-markdown-adapter",
58266
58601
  "eui-markdown-codemirror-adapter",
58267
58602
  "overflow-hidden rounded border border-gray-300 bg-white",
@@ -58295,7 +58630,7 @@ function CodeMirrorMarkdownEditor({
58295
58630
  closeBrackets: true,
58296
58631
  bracketMatching: true
58297
58632
  },
58298
- className: classNames69__default.default("eui-markdown-codemirror", editorClassName),
58633
+ className: classNames67__default.default("eui-markdown-codemirror", editorClassName),
58299
58634
  onChange: updateValue,
58300
58635
  onBlur
58301
58636
  }
@@ -58396,7 +58731,7 @@ function createDefaultPlugins({
58396
58731
  ...showToolbar ? [
58397
58732
  editor.toolbarPlugin({
58398
58733
  toolbarContents: toolbarContents ?? DefaultToolbar,
58399
- toolbarClassName: classNames69__default.default(
58734
+ toolbarClassName: classNames67__default.default(
58400
58735
  "eui-markdown-mdx-toolbar",
58401
58736
  toolbarClassName
58402
58737
  ),
@@ -58516,7 +58851,7 @@ var MDXMarkdownEditor = React26.forwardRef(
58516
58851
  "aria-invalid": invalid || void 0,
58517
58852
  "data-theme": dark ? "dark" : void 0,
58518
58853
  onBlurCapture: handleBlur,
58519
- className: classNames69__default.default(
58854
+ className: classNames67__default.default(
58520
58855
  "eui-markdown-adapter",
58521
58856
  "eui-markdown-mdx-adapter",
58522
58857
  dark && ["dark", "dark-theme"],
@@ -58534,12 +58869,12 @@ var MDXMarkdownEditor = React26.forwardRef(
58534
58869
  markdown: currentValue ?? "",
58535
58870
  readOnly: disabled || readOnly,
58536
58871
  plugins: plugins ?? defaultPlugins,
58537
- className: classNames69__default.default(
58872
+ className: classNames67__default.default(
58538
58873
  "eui-markdown-mdx-editor",
58539
58874
  dark && ["dark", "dark-theme"],
58540
58875
  editorClassName
58541
58876
  ),
58542
- contentEditableClassName: classNames69__default.default(
58877
+ contentEditableClassName: classNames67__default.default(
58543
58878
  "eui-markdown-mdx-content",
58544
58879
  contentEditableClassName
58545
58880
  ),
@@ -58576,7 +58911,7 @@ function MDXMarkdownField({
58576
58911
  return /* @__PURE__ */ jsxRuntime.jsxs(
58577
58912
  "div",
58578
58913
  {
58579
- className: classNames69__default.default(
58914
+ className: classNames67__default.default(
58580
58915
  "eui-markdown-mdx-field",
58581
58916
  "relative space-y-2",
58582
58917
  wrapperClassName
@@ -58586,7 +58921,7 @@ function MDXMarkdownField({
58586
58921
  "label",
58587
58922
  {
58588
58923
  htmlFor: editorId,
58589
- className: classNames69__default.default(
58924
+ className: classNames67__default.default(
58590
58925
  "block text-sm font-medium text-gray-700 dark:text-gray-200",
58591
58926
  labelClassName
58592
58927
  ),
@@ -58620,7 +58955,7 @@ function MDXMarkdownField({
58620
58955
  "p",
58621
58956
  {
58622
58957
  id: helperId,
58623
- className: classNames69__default.default(
58958
+ className: classNames67__default.default(
58624
58959
  "text-sm text-gray-500 dark:text-gray-400",
58625
58960
  helperTextClassName
58626
58961
  ),
@@ -58680,10 +59015,10 @@ function MarkdownLayout({
58680
59015
  };
58681
59016
  const hasLeftToc = hasToc && tocPosition === "left";
58682
59017
  const hasRightToc = hasToc && tocPosition === "right";
58683
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames69__default.default("eui-markdown-layout", "w-full", className), children: /* @__PURE__ */ jsxRuntime.jsxs(
59018
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: classNames67__default.default("eui-markdown-layout", "w-full", className), children: /* @__PURE__ */ jsxRuntime.jsxs(
58684
59019
  "div",
58685
59020
  {
58686
- className: classNames69__default.default(
59021
+ className: classNames67__default.default(
58687
59022
  "eui-markdown-layout-container",
58688
59023
  "mx-auto w-full px-4 sm:px-6 lg:px-8",
58689
59024
  containerClassName
@@ -58695,7 +59030,7 @@ function MarkdownLayout({
58695
59030
  header ? /* @__PURE__ */ jsxRuntime.jsx(
58696
59031
  "header",
58697
59032
  {
58698
- className: classNames69__default.default(
59033
+ className: classNames67__default.default(
58699
59034
  "eui-markdown-layout-header",
58700
59035
  "mb-8",
58701
59036
  headerClassName
@@ -58706,7 +59041,7 @@ function MarkdownLayout({
58706
59041
  /* @__PURE__ */ jsxRuntime.jsxs(
58707
59042
  "div",
58708
59043
  {
58709
- className: classNames69__default.default(
59044
+ className: classNames67__default.default(
58710
59045
  "eui-markdown-layout-grid",
58711
59046
  "grid grid-cols-1 gap-8",
58712
59047
  hasSidebar && hasToc && "xl:grid-cols-[16rem_minmax(0,1fr)_18rem]",
@@ -58719,7 +59054,7 @@ function MarkdownLayout({
58719
59054
  hasSidebar ? /* @__PURE__ */ jsxRuntime.jsx(
58720
59055
  "aside",
58721
59056
  {
58722
- className: classNames69__default.default(
59057
+ className: classNames67__default.default(
58723
59058
  "eui-markdown-layout-sidebar",
58724
59059
  "min-w-0",
58725
59060
  stickySidebar && "lg:sticky lg:self-start",
@@ -58732,7 +59067,7 @@ function MarkdownLayout({
58732
59067
  hasLeftToc ? /* @__PURE__ */ jsxRuntime.jsx(
58733
59068
  "aside",
58734
59069
  {
58735
- className: classNames69__default.default(
59070
+ className: classNames67__default.default(
58736
59071
  "eui-markdown-layout-toc",
58737
59072
  "min-w-0",
58738
59073
  stickyToc && "lg:sticky lg:self-start",
@@ -58745,7 +59080,7 @@ function MarkdownLayout({
58745
59080
  /* @__PURE__ */ jsxRuntime.jsx(
58746
59081
  "main",
58747
59082
  {
58748
- className: classNames69__default.default(
59083
+ className: classNames67__default.default(
58749
59084
  "eui-markdown-layout-content",
58750
59085
  "min-w-0",
58751
59086
  contentClassName
@@ -58756,7 +59091,7 @@ function MarkdownLayout({
58756
59091
  hasRightToc ? /* @__PURE__ */ jsxRuntime.jsx(
58757
59092
  "aside",
58758
59093
  {
58759
- className: classNames69__default.default(
59094
+ className: classNames67__default.default(
58760
59095
  "eui-markdown-layout-toc",
58761
59096
  "min-w-0",
58762
59097
  stickyToc && "lg:sticky lg:self-start",
@@ -58769,7 +59104,7 @@ function MarkdownLayout({
58769
59104
  hasAside ? /* @__PURE__ */ jsxRuntime.jsx(
58770
59105
  "aside",
58771
59106
  {
58772
- className: classNames69__default.default(
59107
+ className: classNames67__default.default(
58773
59108
  "eui-markdown-layout-aside",
58774
59109
  "min-w-0",
58775
59110
  stickyAside && "2xl:sticky 2xl:self-start",
@@ -58785,7 +59120,7 @@ function MarkdownLayout({
58785
59120
  footer2 ? /* @__PURE__ */ jsxRuntime.jsx(
58786
59121
  "footer",
58787
59122
  {
58788
- className: classNames69__default.default(
59123
+ className: classNames67__default.default(
58789
59124
  "eui-markdown-layout-footer",
58790
59125
  "mt-10",
58791
59126
  footerClassName
@@ -58822,7 +59157,7 @@ function MarkdownDocsLayoutContent({
58822
59157
  const resolvedHeader = header ?? (title || description || headerActions ? /* @__PURE__ */ jsxRuntime.jsx(
58823
59158
  "div",
58824
59159
  {
58825
- className: classNames69__default.default(
59160
+ className: classNames67__default.default(
58826
59161
  "eui-markdown-docs-header",
58827
59162
  "flex flex-col gap-4 border-b border-gray-200 pb-6",
58828
59163
  "dark:border-gray-700",
@@ -58833,7 +59168,7 @@ function MarkdownDocsLayoutContent({
58833
59168
  title ? /* @__PURE__ */ jsxRuntime.jsx(
58834
59169
  "h1",
58835
59170
  {
58836
- className: classNames69__default.default(
59171
+ className: classNames67__default.default(
58837
59172
  "eui-markdown-docs-title",
58838
59173
  "text-3xl font-bold tracking-tight text-gray-950",
58839
59174
  "dark:text-gray-50",
@@ -58845,7 +59180,7 @@ function MarkdownDocsLayoutContent({
58845
59180
  description ? /* @__PURE__ */ jsxRuntime.jsx(
58846
59181
  "div",
58847
59182
  {
58848
- className: classNames69__default.default(
59183
+ className: classNames67__default.default(
58849
59184
  "eui-markdown-docs-description",
58850
59185
  "max-w-3xl text-base leading-7 text-gray-600",
58851
59186
  "dark:text-gray-400",
@@ -58933,7 +59268,7 @@ function GenericLayout({
58933
59268
  return /* @__PURE__ */ jsxRuntime.jsx(ThemeProvider, { defaultTheme, children: /* @__PURE__ */ jsxRuntime.jsx(
58934
59269
  "div",
58935
59270
  {
58936
- className: classNames69__default.default({
59271
+ className: classNames67__default.default({
58937
59272
  [`${styles}`]: styles
58938
59273
  }),
58939
59274
  children: children3
@@ -58982,7 +59317,7 @@ function SidemenuLayout({ data, children: children3 }) {
58982
59317
  return /* @__PURE__ */ jsxRuntime.jsx(DefaultLayout_default, { children: /* @__PURE__ */ jsxRuntime.jsxs(
58983
59318
  "div",
58984
59319
  {
58985
- className: classNames69__default.default({
59320
+ className: classNames67__default.default({
58986
59321
  grid: true,
58987
59322
  "grid-cols-7 gap-10": !isMobile,
58988
59323
  "grid-cols-1 gap-": isMobile
@@ -59165,11 +59500,19 @@ exports.Flex = Flex;
59165
59500
  exports.FlexCol = FlexCol_default;
59166
59501
  exports.FlexRow = FlexRow_default;
59167
59502
  exports.Footer = Footer;
59503
+ exports.FooterBottom = FooterBottom;
59504
+ exports.FooterBrand = FooterBrand;
59505
+ exports.FooterColumn = FooterColumn;
59506
+ exports.FooterColumns = FooterColumns;
59507
+ exports.FooterDescription = FooterDescription;
59508
+ exports.FooterLink = FooterLink;
59168
59509
  exports.FooterNav = FooterNav_default;
59169
59510
  exports.FooterNavGroup = FooterNavGroup_default;
59170
59511
  exports.FooterNavItem = FooterNavItem;
59171
59512
  exports.FooterNavItemContext = FooterNavItemContext;
59172
59513
  exports.FooterNavItemTitle = FooterNavItemTitle;
59514
+ exports.FooterSocial = FooterSocial;
59515
+ exports.FooterSocials = FooterSocials;
59173
59516
  exports.Form = Form;
59174
59517
  exports.FormResponse = FormResponse;
59175
59518
  exports.GaugePlot = GaugePlot;
@@ -59282,6 +59625,7 @@ exports.ShowMore = ShowMore_default;
59282
59625
  exports.Sidebar = Sidebar_default;
59283
59626
  exports.SidebarLayout = SidebarLayout_default;
59284
59627
  exports.SidemenuLayout = SidemenuLayout_default;
59628
+ exports.SiteFooter = SiteFooter2;
59285
59629
  exports.Skeleton = Skeleton;
59286
59630
  exports.Slider = Slider_default;
59287
59631
  exports.Spinner = Spinner;