@atom-learning/components 6.14.4 → 6.16.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/dist/components/accordion/Accordion.js +2 -2
  2. package/dist/components/accordion/Accordion.js.map +1 -1
  3. package/dist/components/action-icon/ActionIcon.d.ts +1 -0
  4. package/dist/components/action-icon/ActionIcon.js +4 -2
  5. package/dist/components/action-icon/ActionIcon.js.map +1 -1
  6. package/dist/components/avatar/Avatar.js +2 -3
  7. package/dist/components/avatar/Avatar.js.map +1 -1
  8. package/dist/components/banner/banner-regular/BannerRegular.d.ts +1 -0
  9. package/dist/components/banner/banner-regular/BannerRegularActions.js +2 -2
  10. package/dist/components/banner/banner-regular/BannerRegularActions.js.map +1 -1
  11. package/dist/components/banner/banner-regular/BannerRegularDismiss.d.ts +2 -1
  12. package/dist/components/banner/banner-slim/BannerSlim.d.ts +1 -0
  13. package/dist/components/banner/banner-slim/BannerSlimButton.js +2 -2
  14. package/dist/components/banner/banner-slim/BannerSlimButton.js.map +1 -1
  15. package/dist/components/banner/banner-slim/BannerSlimContainer.js +2 -3
  16. package/dist/components/banner/banner-slim/BannerSlimContainer.js.map +1 -1
  17. package/dist/components/banner/banner-slim/BannerSlimDismiss.d.ts +2 -1
  18. package/dist/components/button/Button.d.ts +1 -0
  19. package/dist/components/button/Button.js +17 -13
  20. package/dist/components/button/Button.js.map +1 -1
  21. package/dist/components/calendar/Calendar.js +2 -3
  22. package/dist/components/calendar/Calendar.js.map +1 -1
  23. package/dist/components/carousel/CarouselSlider.js +2 -2
  24. package/dist/components/carousel/CarouselSlider.js.map +1 -1
  25. package/dist/components/data-table/DataTableGlobalFilter.js +2 -2
  26. package/dist/components/data-table/DataTableGlobalFilter.js.map +1 -1
  27. package/dist/components/data-table/DataTableHead.js +3 -3
  28. package/dist/components/data-table/DataTableHead.js.map +1 -1
  29. package/dist/components/data-table/DataTableHeaderCell.js +2 -3
  30. package/dist/components/data-table/DataTableHeaderCell.js.map +1 -1
  31. package/dist/components/data-table/DataTableRow.js +2 -3
  32. package/dist/components/data-table/DataTableRow.js.map +1 -1
  33. package/dist/components/data-table/DataTableTable.js +3 -4
  34. package/dist/components/data-table/DataTableTable.js.map +1 -1
  35. package/dist/components/data-table/drag-and-drop/DragAndDropTable.js +2 -2
  36. package/dist/components/data-table/drag-and-drop/DragAndDropTable.js.map +1 -1
  37. package/dist/components/dialog/DialogHeading.js +2 -2
  38. package/dist/components/dialog/DialogHeading.js.map +1 -1
  39. package/dist/components/dropdown-menu/DropdownMenu.d.ts +2 -1
  40. package/dist/components/dropdown-menu/DropdownMenuLinkItem.d.ts +2 -1
  41. package/dist/components/dropdown-menu/DropdownMenuLinkItem.js +13 -8
  42. package/dist/components/dropdown-menu/DropdownMenuLinkItem.js.map +1 -1
  43. package/dist/components/field-wrapper/FieldDescription.js +2 -2
  44. package/dist/components/field-wrapper/FieldDescription.js.map +1 -1
  45. package/dist/components/field-wrapper/FieldWrapper.js +2 -2
  46. package/dist/components/field-wrapper/FieldWrapper.js.map +1 -1
  47. package/dist/components/field-wrapper/InlineFieldWrapper.js +2 -2
  48. package/dist/components/field-wrapper/InlineFieldWrapper.js.map +1 -1
  49. package/dist/components/grid/Grid.js +2 -3
  50. package/dist/components/grid/Grid.js.map +1 -1
  51. package/dist/components/index.d.ts +1 -0
  52. package/dist/components/link/Link.d.ts +1 -0
  53. package/dist/components/link/Link.js +13 -9
  54. package/dist/components/link/Link.js.map +1 -1
  55. package/dist/components/loader/Loader.js +2 -3
  56. package/dist/components/loader/Loader.js.map +1 -1
  57. package/dist/components/markdown-content/components/MarkdownList.js +2 -2
  58. package/dist/components/markdown-content/components/MarkdownList.js.map +1 -1
  59. package/dist/components/markdown-content/components/MarkdownThematicBreak.js +2 -2
  60. package/dist/components/markdown-content/components/MarkdownThematicBreak.js.map +1 -1
  61. package/dist/components/navigation/NavigationMenu.js +3 -4
  62. package/dist/components/navigation/NavigationMenu.js.map +1 -1
  63. package/dist/components/navigation/NavigationMenuDropdownTrigger.js +2 -3
  64. package/dist/components/navigation/NavigationMenuDropdownTrigger.js.map +1 -1
  65. package/dist/components/navigation-menu-vertical/NavigationMenuVertical.d.ts +3 -1
  66. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalItem.js +2 -2
  67. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalItem.js.map +1 -1
  68. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalItemContent.js +2 -2
  69. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalItemContent.js.map +1 -1
  70. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalLink.d.ts +4 -2
  71. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalLink.js +5 -3
  72. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalLink.js.map +1 -1
  73. package/dist/components/number-input/NumberInput.js +4 -5
  74. package/dist/components/number-input/NumberInput.js.map +1 -1
  75. package/dist/components/number-input/NumberInputStepper.d.ts +2 -1
  76. package/dist/components/pagination/Pagination.js +2 -2
  77. package/dist/components/pagination/Pagination.js.map +1 -1
  78. package/dist/components/pagination/PaginationNextButton.d.ts +2 -1
  79. package/dist/components/pagination/PaginationPreviousButton.d.ts +2 -1
  80. package/dist/components/password-field/PasswordField.js +2 -2
  81. package/dist/components/password-field/PasswordField.js.map +1 -1
  82. package/dist/components/password-input/PasswordInput.js +3 -3
  83. package/dist/components/password-input/PasswordInput.js.map +1 -1
  84. package/dist/components/radio-card/RadioCardGroup.js +2 -2
  85. package/dist/components/radio-card/RadioCardGroup.js.map +1 -1
  86. package/dist/components/router-provider/RouterProvider.d.ts +17 -0
  87. package/dist/components/router-provider/RouterProvider.js +15 -0
  88. package/dist/components/router-provider/RouterProvider.js.map +1 -0
  89. package/dist/components/search-input/SearchInput.js +4 -5
  90. package/dist/components/search-input/SearchInput.js.map +1 -1
  91. package/dist/components/section-message/SectionMessageDescription.js +2 -2
  92. package/dist/components/section-message/SectionMessageDescription.js.map +1 -1
  93. package/dist/components/section-message/SectionMessageDismiss.js +2 -2
  94. package/dist/components/section-message/SectionMessageDismiss.js.map +1 -1
  95. package/dist/components/section-message/SectionMessageIcon.js +2 -2
  96. package/dist/components/section-message/SectionMessageIcon.js.map +1 -1
  97. package/dist/components/section-message/SectionMessageLayout.js +2 -3
  98. package/dist/components/section-message/SectionMessageLayout.js.map +1 -1
  99. package/dist/components/segmented-control/SegmentedControlBadge.js +2 -2
  100. package/dist/components/segmented-control/SegmentedControlBadge.js.map +1 -1
  101. package/dist/components/side-bar/SideBar.js +2 -3
  102. package/dist/components/side-bar/SideBar.js.map +1 -1
  103. package/dist/components/skeleton-loader/SkeletonBarChart.js +2 -2
  104. package/dist/components/skeleton-loader/SkeletonBarChart.js.map +1 -1
  105. package/dist/components/skeleton-loader/SkeletonButton.js +2 -2
  106. package/dist/components/skeleton-loader/SkeletonButton.js.map +1 -1
  107. package/dist/components/skeleton-loader/SkeletonCard.js +2 -2
  108. package/dist/components/skeleton-loader/SkeletonCard.js.map +1 -1
  109. package/dist/components/skeleton-loader/SkeletonColumnChart.js +2 -2
  110. package/dist/components/skeleton-loader/SkeletonColumnChart.js.map +1 -1
  111. package/dist/components/skeleton-loader/SkeletonDoughnutChart.js +2 -2
  112. package/dist/components/skeleton-loader/SkeletonDoughnutChart.js.map +1 -1
  113. package/dist/components/skeleton-loader/SkeletonHeading.js +2 -2
  114. package/dist/components/skeleton-loader/SkeletonHeading.js.map +1 -1
  115. package/dist/components/skeleton-loader/SkeletonPanelList.js +2 -2
  116. package/dist/components/skeleton-loader/SkeletonPanelList.js.map +1 -1
  117. package/dist/components/skeleton-loader/SkeletonSubjectList.js +2 -2
  118. package/dist/components/skeleton-loader/SkeletonSubjectList.js.map +1 -1
  119. package/dist/components/skeleton-loader/SkeletonTable.js +2 -2
  120. package/dist/components/skeleton-loader/SkeletonTable.js.map +1 -1
  121. package/dist/components/skeleton-loader/SkeletonTabs.js +3 -3
  122. package/dist/components/skeleton-loader/SkeletonTabs.js.map +1 -1
  123. package/dist/components/sortable/Handle.d.ts +2 -1
  124. package/dist/components/sortable/SortableItem.js +2 -2
  125. package/dist/components/sortable/SortableItem.js.map +1 -1
  126. package/dist/components/stepper/Stepper.js +2 -2
  127. package/dist/components/stepper/Stepper.js.map +1 -1
  128. package/dist/components/table/Table.js +2 -3
  129. package/dist/components/table/Table.js.map +1 -1
  130. package/dist/components/table/TableStickyColumnsContainer.js +2 -2
  131. package/dist/components/table/TableStickyColumnsContainer.js.map +1 -1
  132. package/dist/components/tile-toggle-group/TileToggleGroupRoot.js +2 -2
  133. package/dist/components/tile-toggle-group/TileToggleGroupRoot.js.map +1 -1
  134. package/dist/components/toast/ToastCloseButton.js +2 -2
  135. package/dist/components/toast/ToastCloseButton.js.map +1 -1
  136. package/dist/components/toggle-group/ToggleGroupRoot.js +2 -3
  137. package/dist/components/toggle-group/ToggleGroupRoot.js.map +1 -1
  138. package/dist/components/top-bar/TopBar.d.ts +2 -1
  139. package/dist/components/top-bar/TopBarBrand.js +2 -3
  140. package/dist/components/top-bar/TopBarBrand.js.map +1 -1
  141. package/dist/components/tree/TreeCollapsibleContent.js +2 -2
  142. package/dist/components/tree/TreeCollapsibleContent.js.map +1 -1
  143. package/dist/components/tree/TreeCollapsibleTrigger.js +2 -3
  144. package/dist/components/tree/TreeCollapsibleTrigger.js.map +1 -1
  145. package/dist/components/tree/TreeIcon.js +2 -2
  146. package/dist/components/tree/TreeIcon.js.map +1 -1
  147. package/dist/components/tree/TreeListItem.js +2 -2
  148. package/dist/components/tree/TreeListItem.js.map +1 -1
  149. package/dist/components/tree/TreeText.js +2 -2
  150. package/dist/components/tree/TreeText.js.map +1 -1
  151. package/dist/docgen.json +1 -1
  152. package/dist/index.cjs.js +134 -108
  153. package/dist/index.cjs.js.map +1 -1
  154. package/dist/index.js +3 -2
  155. package/dist/styled.d.ts +2 -0
  156. package/dist/styled.js +5 -4
  157. package/dist/styled.js.map +1 -1
  158. package/package.json +1 -1
package/dist/index.cjs.js CHANGED
@@ -31,10 +31,10 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
31
31
  }) : target, mod));
32
32
  //#endregion
33
33
  let _radix_ui_react_accordion = require("@radix-ui/react-accordion");
34
- let clsx = require("clsx");
35
- clsx = __toESM(clsx);
36
34
  let react = require("react");
37
35
  react = __toESM(react);
36
+ let clsx = require("clsx");
37
+ clsx = __toESM(clsx);
38
38
  let tailwind_merge = require("tailwind-merge");
39
39
  let tailwind_variants = require("tailwind-variants");
40
40
  let _atom_learning_icons = require("@atom-learning/icons");
@@ -105,6 +105,7 @@ var twMerge = (0, tailwind_merge.extendTailwindMerge)({ extend: {
105
105
  "capsize-after": ["capsize"]
106
106
  }
107
107
  } });
108
+ var cn = (...inputs) => twMerge((0, clsx.default)(inputs));
108
109
  var Theme = ({ children, theme }) => /* @__PURE__ */ react.default.createElement("div", {
109
110
  className: "contents",
110
111
  style: theme
@@ -190,11 +191,11 @@ function styled(el, styles, options) {
190
191
  const element = el;
191
192
  const existingClass = element.props.className;
192
193
  const incomingClass = filteredProps.className;
193
- const finalClassName = (0, clsx.default)(existingClass, incomingClass, mergedClassName).trim();
194
+ const finalClassName = cn(existingClass, incomingClass, mergedClassName).trim();
194
195
  const cloneProps = {
195
196
  ...filteredProps,
196
197
  as: props.as || element.props.as,
197
- className: twMerge(finalClassName)
198
+ className: finalClassName
198
199
  };
199
200
  if (ref) cloneProps.ref = ref;
200
201
  return react.default.cloneElement(element, cloneProps);
@@ -400,7 +401,7 @@ var AccordionTrigger = ({ children, colorScheme = {}, asChild, arrowPosition = "
400
401
  var Accordion = react.default.forwardRef(({ type = "single", className, children, ...remainingProps }, ref) => /* @__PURE__ */ react.default.createElement(_radix_ui_react_accordion.Root, {
401
402
  ref,
402
403
  type,
403
- className: (0, clsx.default)("w-full", className),
404
+ className: cn("w-full", className),
404
405
  ...remainingProps
405
406
  }, children));
406
407
  Accordion.Item = AccordionItem;
@@ -485,6 +486,17 @@ var getExternalAnchorProps = (url) => isExternalUrl(url) ? {
485
486
  rel: "noopener noreferrer"
486
487
  } : {};
487
488
  //#endregion
489
+ //#region src/components/router-provider/RouterProvider.tsx
490
+ var RouterContext = react.createContext({});
491
+ var RouterProvider = ({ link, children }) => /* @__PURE__ */ react.createElement(RouterContext.Provider, { value: { link } }, children);
492
+ var isAbsoluteUrl = (url) => /^https?:\/\//.test(url || "");
493
+ var useRouterLinkProps = (href, { reloadDocument } = {}) => {
494
+ const { link } = react.useContext(RouterContext);
495
+ if (!link || !href || isAbsoluteUrl(href) || reloadDocument) return {};
496
+ return { as: link };
497
+ };
498
+ RouterProvider.displayName = "RouterProvider";
499
+ //#endregion
488
500
  //#region src/components/action-icon/ActionIcon.constants.ts
489
501
  var ActionIconSizeMap = {
490
502
  xs: "sm",
@@ -589,11 +601,12 @@ var StyledButton$5 = styled("button", {
589
601
  isRounded: { true: ["rounded-full"] }
590
602
  }
591
603
  }, { enabledResponsiveVariants: true });
592
- var ActionIcon = react.forwardRef(({ children, theme = "primary", appearance = "simple", size = "sm", label, href, disabled, hasTooltip = true, tooltipSide, ...remainingProps }, ref) => {
604
+ var ActionIcon = react.forwardRef(({ children, theme = "primary", appearance = "simple", size = "sm", label, href, disabled, hasTooltip = true, tooltipSide, reloadDocument, ...remainingProps }, ref) => {
593
605
  const INVALID_CHILDREN_MESSAGE = `A single ${Icon.displayName} component is permitted as a child of ${ActionIcon.displayName}`;
594
606
  (0, invariant.default)(react.Children.count(children) === 1, INVALID_CHILDREN_MESSAGE);
607
+ const routerLinkProps = useRouterLinkProps(href, { reloadDocument });
595
608
  const optionalLinkProps = href ? {
596
- as: "a",
609
+ as: routerLinkProps.as || "a",
597
610
  href: disabled ? void 0 : href,
598
611
  onClick: void 0,
599
612
  "aria-disabled": !!disabled
@@ -700,7 +713,7 @@ var Dot = styled("div", {
700
713
  } }
701
714
  });
702
715
  var Loader = ({ className, message = "Loading", size = "md", ...props }) => /* @__PURE__ */ react.createElement("div", {
703
- className: (0, clsx.default)("flex", "justify-center", className),
716
+ className: cn("flex", "justify-center", className),
704
717
  role: "alert",
705
718
  ...props
706
719
  }, /* @__PURE__ */ react.createElement("span", { className: "sr-only" }, message), /* @__PURE__ */ react.createElement(Dot, { size }), /* @__PURE__ */ react.createElement(Dot, { size }), /* @__PURE__ */ react.createElement(Dot, { size }));
@@ -847,19 +860,22 @@ var LoaderContentsWrapper = styled("span", {
847
860
  defaultVariants: { size: "md" }
848
861
  }, { enabledResponsiveVariants: true });
849
862
  var WithLoader = ({ size, children }) => /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(Loader, { className: "absolute" }), /* @__PURE__ */ react.createElement(LoaderContentsWrapper, { size }, children));
850
- var Button = react.forwardRef(({ children, as, href, isLoading = false, onClick, disabled, ...rest }, ref) => /* @__PURE__ */ react.createElement(StyledButton, {
851
- as: as || (href ? "a" : void 0),
852
- ...!disabled && !isLoading && {
853
- href,
854
- onClick
855
- },
856
- isLoading,
857
- type: !href ? "button" : void 0,
858
- disabled,
859
- ...rest,
860
- ...getExternalAnchorProps(href),
861
- ref
862
- }, isLoading ? /* @__PURE__ */ react.createElement(WithLoader, { size: rest.size }, children) : children));
863
+ var Button = react.forwardRef(({ children, as, href, isLoading = false, onClick, disabled, reloadDocument, ...rest }, ref) => {
864
+ const routerLinkProps = useRouterLinkProps(href, { reloadDocument });
865
+ return /* @__PURE__ */ react.createElement(StyledButton, {
866
+ as: as || routerLinkProps.as || (href ? "a" : void 0),
867
+ ...!disabled && !isLoading && {
868
+ href,
869
+ onClick
870
+ },
871
+ isLoading,
872
+ type: !href ? "button" : void 0,
873
+ disabled,
874
+ ...rest,
875
+ ...getExternalAnchorProps(href),
876
+ ref
877
+ }, isLoading ? /* @__PURE__ */ react.createElement(WithLoader, { size: rest.size }, children) : children);
878
+ });
863
879
  Button.displayName = "Button";
864
880
  //#endregion
865
881
  //#region src/components/heading/Heading.tsx
@@ -1267,7 +1283,7 @@ var AvatarRoot = ({ children, size = "lg", name, emphasis = "white", disabled =
1267
1283
  style: { "--bg-color": backgroundColor },
1268
1284
  disabled,
1269
1285
  onClick: disabled ? void 0 : onClick,
1270
- className: (0, clsx.default)(disabled ? "cursor-auto" : "cursor-pointer"),
1286
+ className: cn(disabled ? "cursor-auto" : "cursor-pointer"),
1271
1287
  emphasis
1272
1288
  }, children) : /* @__PURE__ */ react.createElement(StyledDiv, {
1273
1289
  size,
@@ -1720,7 +1736,7 @@ var BannerRegularActions = ({ children, className, ...props }) => {
1720
1736
  }, [size]);
1721
1737
  (0, invariant.default)(react.Children.count(children) <= MAX_ALLOWED_CHILDREN, `A maximum of ${MAX_ALLOWED_CHILDREN} ${BannerRegularButton.displayName} component(s) are permitted as children of ${BannerRegularActions.displayName}`);
1722
1738
  return /* @__PURE__ */ react.createElement("div", {
1723
- className: (0, clsx.default)("flex", gap, direction, className),
1739
+ className: cn("flex", gap, direction, className),
1724
1740
  ...props
1725
1741
  }, react.Children.map(children, (child, index) => {
1726
1742
  if (child == null) return child;
@@ -1953,7 +1969,7 @@ var BannerSlimButton = ({ className, ...props }) => {
1953
1969
  fullWidth,
1954
1970
  theme: emphasis === "bold" ? "neutral" : "primary",
1955
1971
  ...props,
1956
- className: (0, clsx.default)("ml-auto", className)
1972
+ className: cn("ml-auto", className)
1957
1973
  });
1958
1974
  };
1959
1975
  BannerSlimButton.displayName = "BannerSlimButton";
@@ -1995,7 +2011,7 @@ var BannerSlimContainer = (props) => {
1995
2011
  return /* @__PURE__ */ react.createElement(StyledBannerSlimContainer, {
1996
2012
  ...props,
1997
2013
  sizeWorkaround: size,
1998
- className: (0, clsx.default)(direction, align, "gap-4", wrap, props.className)
2014
+ className: cn(direction, align, "gap-4", wrap, props.className)
1999
2015
  });
2000
2016
  };
2001
2017
  BannerSlimContainer.displayName = "BannerSlimContainer";
@@ -2171,7 +2187,7 @@ var CarouselSlide = ({ children, ...remainingProps }) => /* @__PURE__ */ react.c
2171
2187
  //#region src/components/carousel/CarouselSlider.tsx
2172
2188
  var CarouselSlider = ({ children, className, overflow, ...rest }) => /* @__PURE__ */ react.createElement(pure_react_carousel.Slider, {
2173
2189
  ...rest,
2174
- className: (0, clsx.default)(String.raw`ml-[50%] -translate-x-1/2 cursor-grab overflow-hidden **:[[class*=slideInner]]:flex **:[[class*=slideInner]]:justify-center **:[[class*=slide\_]]:float-left **:[[class*=slide\_]]:pb-0! **:[[class*=sliderTray\_]]:transition-transform **:[[class*=sliderTray\_]]:duration-500 **:[[class*=sliderTray\_]]:ease-[cubic-bezier(.645,.045,.355,1)]`, overflow && "overflow-visible", className)
2190
+ className: cn(String.raw`ml-[50%] -translate-x-1/2 cursor-grab overflow-hidden **:[[class*=slideInner]]:flex **:[[class*=slideInner]]:justify-center **:[[class*=slide\_]]:float-left **:[[class*=slide\_]]:pb-0! **:[[class*=sliderTray\_]]:transition-transform **:[[class*=sliderTray\_]]:duration-500 **:[[class*=sliderTray\_]]:ease-[cubic-bezier(.645,.045,.355,1)]`, overflow && "overflow-visible", className)
2175
2191
  }, children);
2176
2192
  //#endregion
2177
2193
  //#region src/components/carousel/Carousel.tsx
@@ -2411,7 +2427,7 @@ var TreeListItem = react.forwardRef(({ className, ...props }, ref) => /* @__PURE
2411
2427
  ...props,
2412
2428
  ref,
2413
2429
  role: "treeitem",
2414
- className: (0, clsx.default)("flex items-center gap-2 not-first:mt-0.5", className)
2430
+ className: cn("flex items-center gap-2 not-first:mt-0.5", className)
2415
2431
  }));
2416
2432
  //#endregion
2417
2433
  //#region src/components/tree/TreeCollapsible.tsx
@@ -2452,7 +2468,7 @@ var TreeCollapsibleContent = react.default.forwardRef(({ children, className, ..
2452
2468
  }
2453
2469
  };
2454
2470
  return /* @__PURE__ */ react.default.createElement(_radix_ui_react_collapsible.Content, {
2455
- className: (0, clsx.default)("data-[state=closed]:hidden", className),
2471
+ className: cn("data-[state=closed]:hidden", className),
2456
2472
  onKeyDown: handleOnKeydown,
2457
2473
  ...rest,
2458
2474
  asChild: true
@@ -2466,14 +2482,14 @@ var TreeCollapsibleContent = react.default.forwardRef(({ children, className, ..
2466
2482
  var TreeIcon = ({ className, ...props }) => /* @__PURE__ */ react.createElement(Icon, {
2467
2483
  size: "md",
2468
2484
  ...props,
2469
- className: (0, clsx.default)("my-1 shrink-0 self-start", className)
2485
+ className: cn("my-1 shrink-0 self-start", className)
2470
2486
  });
2471
2487
  //#endregion
2472
2488
  //#region src/components/tree/TreeText.tsx
2473
2489
  var TreeText = (props) => /* @__PURE__ */ react.default.createElement(Text, {
2474
2490
  as: "span",
2475
2491
  ...props,
2476
- className: (0, clsx.default)("py-0.5", "whitespace-nowrap", "overflow-x-hidden", "text-ellipsis", props.className),
2492
+ className: cn("py-0.5", "whitespace-nowrap", "overflow-x-hidden", "text-ellipsis", props.className),
2477
2493
  size: "md"
2478
2494
  });
2479
2495
  //#endregion
@@ -2511,7 +2527,7 @@ var TreeCollapsibleTrigger = ({ children, label, className, ...rest }) => {
2511
2527
  const { setTriggerRef, triggerRef } = react.default.useContext(TreeCollapsibleContext);
2512
2528
  return /* @__PURE__ */ react.default.createElement(TreeItemContent, {
2513
2529
  ...rest,
2514
- className: (0, clsx.default)("cursor-pointer", className),
2530
+ className: cn("cursor-pointer", className),
2515
2531
  onClick: (event) => {
2516
2532
  rest.onClick?.(event);
2517
2533
  triggerRef?.current?.click();
@@ -2795,7 +2811,7 @@ RadioButton.displayName = "RadioButton";
2795
2811
  //#region src/components/field-wrapper/FieldDescription.tsx
2796
2812
  var Description$1 = ({ children, className }) => /* @__PURE__ */ react.createElement(Text, {
2797
2813
  size: "sm",
2798
- className: (0, clsx.default)("text-grey-700", "max-w-[80ch]", className)
2814
+ className: cn("text-grey-700", "max-w-[80ch]", className)
2799
2815
  }, children);
2800
2816
  //#endregion
2801
2817
  //#region src/components/field-wrapper/InlineFieldWrapper.tsx
@@ -2804,7 +2820,7 @@ var InlineFieldWrapper = ({ align = "start", children, className, description, d
2804
2820
  direction,
2805
2821
  required,
2806
2822
  type: "inline"
2807
- }, react.Children.map(children, (child) => /* @__PURE__ */ react.createElement("div", { className: (0, clsx.default)(direction === "reverse" && "ml-3", direction === "row" && "mr-3", (child?.type === Checkbox || child?.type === RadioButton) && child?.props?.size !== "lg" && "translate-y-1") }, child)), label), error && /* @__PURE__ */ react.createElement(InlineMessage, { className: "mt-2" }, error), description && /* @__PURE__ */ react.createElement(Description$1, { className: (0, clsx.default)("mt-2", direction === "reverse" && "mr-7", direction === "row" && "ml-7") }, description));
2823
+ }, react.Children.map(children, (child) => /* @__PURE__ */ react.createElement("div", { className: cn(direction === "reverse" && "ml-3", direction === "row" && "mr-3", (child?.type === Checkbox || child?.type === RadioButton) && child?.props?.size !== "lg" && "translate-y-1") }, child)), label), error && /* @__PURE__ */ react.createElement(InlineMessage, { className: "mt-2" }, error), description && /* @__PURE__ */ react.createElement(Description$1, { className: cn("mt-2", direction === "reverse" && "mr-7", direction === "row" && "ml-7") }, description));
2808
2824
  InlineFieldWrapper.displayName = "InlineFieldWrapper";
2809
2825
  //#endregion
2810
2826
  //#region src/components/form/useFieldError.ts
@@ -3296,19 +3312,22 @@ var StyledLink = styled("a", {
3296
3312
  },
3297
3313
  defaultVariants: { size: "md" }
3298
3314
  }, { enabledResponsiveVariants: true });
3299
- var Link = react.forwardRef(({ as, disabled, href, ...rest }, ref) => /* @__PURE__ */ react.createElement(StyledLink, {
3300
- as: as || (!href ? "button" : void 0),
3301
- noCapsize: !href ? true : void 0,
3302
- href,
3303
- ...disabled && { disabled: true },
3304
- ...rest,
3305
- ...getExternalAnchorProps(href),
3306
- ref
3307
- }));
3315
+ var Link = react.forwardRef(({ as, disabled, href, reloadDocument, ...rest }, ref) => {
3316
+ const routerLinkProps = useRouterLinkProps(href, { reloadDocument });
3317
+ return /* @__PURE__ */ react.createElement(StyledLink, {
3318
+ as: as || routerLinkProps.as || (!href ? "button" : void 0),
3319
+ noCapsize: !href ? true : void 0,
3320
+ href,
3321
+ ...disabled && { disabled: true },
3322
+ ...rest,
3323
+ ...getExternalAnchorProps(href),
3324
+ ref
3325
+ });
3326
+ });
3308
3327
  Link.displayName = "Link";
3309
3328
  //#endregion
3310
3329
  //#region src/components/field-wrapper/FieldWrapper.tsx
3311
- var FieldWrapper = ({ children, error, fieldId, label, prompt, description, required, hideLabel, appearance, ...rest }) => /* @__PURE__ */ react.createElement("div", rest, /* @__PURE__ */ react.createElement("div", { className: (0, clsx.default)("mb-3", "flex", "items-center", "justify-between", hideLabel && "sr-only") }, /* @__PURE__ */ react.createElement(Label, {
3330
+ var FieldWrapper = ({ children, error, fieldId, label, prompt, description, required, hideLabel, appearance, ...rest }) => /* @__PURE__ */ react.createElement("div", rest, /* @__PURE__ */ react.createElement("div", { className: cn("mb-3", "flex", "items-center", "justify-between", hideLabel && "sr-only") }, /* @__PURE__ */ react.createElement(Label, {
3312
3331
  htmlFor: fieldId,
3313
3332
  required,
3314
3333
  appearance
@@ -3453,7 +3472,7 @@ var PasswordInput = react.forwardRef(({ className, hidePasswordText = "Hide pass
3453
3472
  const [isPasswordVisible, setIsPasswordVisible] = (0, react.useState)(false);
3454
3473
  const togglePasswordVisibility = () => setIsPasswordVisible((currentState) => !currentState);
3455
3474
  const iconSize = react.useMemo(() => getFieldIconSize(size), [size]);
3456
- return /* @__PURE__ */ react.createElement("div", { className: (0, clsx.default)("relative", className) }, /* @__PURE__ */ react.createElement(Input, {
3475
+ return /* @__PURE__ */ react.createElement("div", { className: cn("relative", className) }, /* @__PURE__ */ react.createElement(Input, {
3457
3476
  ...restProps,
3458
3477
  size,
3459
3478
  type: isPasswordVisible ? "text" : "password",
@@ -3466,7 +3485,7 @@ var PasswordInput = react.forwardRef(({ className, hidePasswordText = "Hide pass
3466
3485
  onClick: togglePasswordVisibility,
3467
3486
  onMouseDown: (e) => e.preventDefault(),
3468
3487
  size: iconSize,
3469
- className: (0, clsx.default)(size === "lg" ? "bottom-1" : "bottom-0", "absolute", "right-0")
3488
+ className: cn(size === "lg" ? "bottom-1" : "bottom-0", "absolute", "right-0")
3470
3489
  }, /* @__PURE__ */ react.createElement(Icon, { is: isPasswordVisible ? _atom_learning_icons.Eye : _atom_learning_icons.EyeCrossed })));
3471
3490
  });
3472
3491
  PasswordInput.displayName = "PasswordInput";
@@ -3488,7 +3507,7 @@ var PasswordField = ({ className, hideLabel, label = "Password", name, prompt =
3488
3507
  prompt,
3489
3508
  required: Boolean(validation?.required),
3490
3509
  appearance: formAppearance,
3491
- className: (0, clsx.default)(className, "relative")
3510
+ className: cn(className, "relative")
3492
3511
  }, /* @__PURE__ */ react.createElement(PasswordInput, {
3493
3512
  autoComplete: "current-password",
3494
3513
  name,
@@ -3687,7 +3706,7 @@ var TableStickyColumnsContainer = ({ children, numberOfStickyColumns = 0, classN
3687
3706
  role: "scrollbar",
3688
3707
  ref: wrapperRef,
3689
3708
  style: columnsStyle,
3690
- className: (0, clsx.default)("overflow-auto", "max-w-full", "relative", "overscroll-x-contain", "[&_td,&_th]:bg-inherit", className, numberOfStickyColumns >= 1 && [
3709
+ className: cn("overflow-auto", "max-w-full", "relative", "overscroll-x-contain", "[&_td,&_th]:bg-inherit", className, numberOfStickyColumns >= 1 && [
3691
3710
  "[&_td:nth-of-type(1),&_th:nth-of-type(1)]:sticky",
3692
3711
  "[&_td:nth-of-type(1),&_th:nth-of-type(1)]:left-(--sticky-offset-left-1)",
3693
3712
  "[&_td:nth-of-type(1),&_th:nth-of-type(1)]:min-w-(--sticky-column-width-1)",
@@ -3761,7 +3780,7 @@ var TableComponent = react.forwardRef(({ size = "md", corners = "round", numberO
3761
3780
  });
3762
3781
  if (numberOfStickyColumns) return /* @__PURE__ */ react.createElement(TableStickyColumnsContainer, {
3763
3782
  key: scrollContainerkey,
3764
- className: (0, clsx.default)(scrollContainerCls),
3783
+ className: cn(scrollContainerCls),
3765
3784
  numberOfStickyColumns
3766
3785
  }, tableComponent);
3767
3786
  return tableComponent;
@@ -4063,7 +4082,7 @@ var DataTableRow = ({ row, rowAction }) => {
4063
4082
  }, getCanSomeRowsExpand() && /* @__PURE__ */ react.createElement(Table.Cell, {
4064
4083
  "data-testid": `expand-icon-${row.id}`,
4065
4084
  onClick: toggleExpandHandler,
4066
- className: (0, clsx.default)("w-10", row.getCanExpand() ? "cursor-pointer" : "cursor-auto")
4085
+ className: cn("w-10", row.getCanExpand() ? "cursor-pointer" : "cursor-auto")
4067
4086
  }, row.getCanExpand() && /* @__PURE__ */ react.createElement(Icon, { is: row.getIsExpanded() ? _atom_learning_icons.ChevronDown : _atom_learning_icons.ChevronRight })), enableRowSelection && /* @__PURE__ */ react.createElement(Table.Cell, { className: "w-10" }, /* @__PURE__ */ react.createElement(DataTableRowSelectionCheckbox, {
4068
4087
  row,
4069
4088
  checked: getCheckedState(),
@@ -4435,7 +4454,7 @@ var SearchInput = react.forwardRef(({ size = "md", appearance = "standard", them
4435
4454
  if (activeIcon === INPUT_ICON.SEARCH) return /* @__PURE__ */ react.createElement(StyledIcon$1, {
4436
4455
  is: _atom_learning_icons.Search,
4437
4456
  size,
4438
- className: (0, clsx.default)(size == "sm" ? "size-4" : "size-5", "top-1/2", "-translate-y-1/2")
4457
+ className: cn(size == "sm" ? "size-4" : "size-5", "top-1/2", "-translate-y-1/2")
4439
4458
  });
4440
4459
  return /* @__PURE__ */ react.createElement(ActionIcon, {
4441
4460
  label: clearText,
@@ -4449,7 +4468,7 @@ var SearchInput = react.forwardRef(({ size = "md", appearance = "standard", them
4449
4468
  size,
4450
4469
  appearance,
4451
4470
  theme,
4452
- className: (0, clsx.default)("relative", "w-auto", className)
4471
+ className: cn("relative", "w-auto", className)
4453
4472
  }, /* @__PURE__ */ react.createElement(InputText, {
4454
4473
  ref: setInputElRef,
4455
4474
  size,
@@ -4457,7 +4476,7 @@ var SearchInput = react.forwardRef(({ size = "md", appearance = "standard", them
4457
4476
  ...remainingProps,
4458
4477
  value: innerValue,
4459
4478
  onChange: handleOnChange,
4460
- className: (0, clsx.default)(size === "sm" ? "pr-8" : "pr-10", "[&::-webkit-search-decoration]:appearance-none", "[&::-webkit-search-cancel-button]:appearance-none", "[&::-webkit-search-results-button]:appearance-none")
4479
+ className: cn(size === "sm" ? "pr-8" : "pr-10", "[&::-webkit-search-decoration]:appearance-none", "[&::-webkit-search-cancel-button]:appearance-none", "[&::-webkit-search-results-button]:appearance-none")
4461
4480
  }), getIcon());
4462
4481
  });
4463
4482
  SearchInput.displayName = "SearchInput";
@@ -4475,7 +4494,7 @@ var DataTableGlobalFilter = ({ onChange, label, hideLabel = false, ...props }) =
4475
4494
  });
4476
4495
  return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(Label, {
4477
4496
  htmlFor: label,
4478
- className: (0, clsx.default)("mb-3", hideLabel && "sr-only")
4497
+ className: cn("mb-3", hideLabel && "sr-only")
4479
4498
  }, label), /* @__PURE__ */ react.createElement(SearchInput, {
4480
4499
  ...props,
4481
4500
  defaultValue: globalFilter,
@@ -4538,7 +4557,7 @@ var DataTableHeaderCell = ({ header, includeTotal = false, totalSuffix = "items"
4538
4557
  ...hoverProps,
4539
4558
  className,
4540
4559
  ...props
4541
- }, /* @__PURE__ */ react.createElement("div", { className: (0, clsx.default)("flex", "gap-1", "items-center", header.colSpan > 1 ? "justify-center" : "justify-start") }, (0, _tanstack_react_table.flexRender)(header.column.columnDef.header, header.getContext()), sortDirection && isSortableTable && /* @__PURE__ */ react.createElement("div", { className: (0, clsx.default)("flex", "items-center", "relative", "size-6", "ml-2", isHovered ? "bg-primary-200" : "bg-primary-100", "rounded-sm") }, /* @__PURE__ */ react.createElement(SortIcon, { direction: sortDirection })), includeTotal && /* @__PURE__ */ react.createElement(StyledCount, {
4560
+ }, /* @__PURE__ */ react.createElement("div", { className: cn("flex", "gap-1", "items-center", header.colSpan > 1 ? "justify-center" : "justify-start") }, (0, _tanstack_react_table.flexRender)(header.column.columnDef.header, header.getContext()), sortDirection && isSortableTable && /* @__PURE__ */ react.createElement("div", { className: cn("flex", "items-center", "relative", "size-6", "ml-2", isHovered ? "bg-primary-200" : "bg-primary-100", "rounded-sm") }, /* @__PURE__ */ react.createElement(SortIcon, { direction: sortDirection })), includeTotal && /* @__PURE__ */ react.createElement(StyledCount, {
4542
4561
  size: "sm",
4543
4562
  weight: "normal"
4544
4563
  }, "(", totalRows, " ", totalSuffix, ")")));
@@ -4612,12 +4631,12 @@ var DataTableHead = ({ sortable = true, theme = "light", isSticky = false, stick
4612
4631
  "--header-offset": `${headerOffset}px`
4613
4632
  },
4614
4633
  ...props,
4615
- className: (0, clsx.default)("relative", "z-3", "[&_tr:not(:last-child)>th]:border-b-none", "[&_tr:not(:first-child)>th]:rounded-none!", className)
4634
+ className: cn("relative", "z-3", "[&_tr:not(:last-child)>th]:border-b-none", "[&_tr:not(:first-child)>th]:rounded-none!", className)
4616
4635
  }, getHeaderGroups().map((headerGroup) => {
4617
4636
  return /* @__PURE__ */ react.createElement(Table.Row, {
4618
4637
  key: headerGroup.id,
4619
4638
  ref: tableHeaderRowRef,
4620
- className: isSticky && headerOffset !== 0 ? (0, clsx.default)("translate-y-(--header-offset)", headerHide ? "delay-0ms opacity-0 transition-none" : "delay-150ms opacity-100 transition-opacity duration-100", "[&_th]:last:before:absolute", "[&_th]:last:before:bottom-0", "[&_th]:last:before:pointer-events-none", "[&_th]:last:before:right-0", "[&_th]:last:before:shadow-sm", "[&_th]:last:before:top-0", "[&_th]:last:before:w-full") : void 0
4639
+ className: isSticky && headerOffset !== 0 ? cn("translate-y-(--header-offset)", headerHide ? "delay-0ms opacity-0 transition-none" : "delay-150ms opacity-100 transition-opacity duration-100", "[&_th]:last:before:absolute", "[&_th]:last:before:bottom-0", "[&_th]:last:before:pointer-events-none", "[&_th]:last:before:right-0", "[&_th]:last:before:shadow-sm", "[&_th]:last:before:top-0", "[&_th]:last:before:w-full") : void 0
4621
4640
  }, getCanSomeRowsExpand() && /* @__PURE__ */ react.createElement(Table.HeaderCell, { className: "w-10" }), enableRowSelection && /* @__PURE__ */ react.createElement(Table.HeaderCell, { className: "w-10" }, /* @__PURE__ */ react.createElement(DataTableSelectAllRowsCheckbox, null)), headerGroup.headers.map((header, index) => /* @__PURE__ */ react.createElement(DataTableHeaderCell, {
4622
4641
  header,
4623
4642
  key: header.id,
@@ -4730,7 +4749,7 @@ var DataTableTable = ({ sortable, striped, theme = "white", className, scrollOpt
4730
4749
  numberOfStickyColumns: scrollOptions.numberOfStickyColumns,
4731
4750
  scrollContainerCls: scrollOptions.scrollContainerCls,
4732
4751
  scrollContainerkey: buildScrollContainerKey(),
4733
- className: (0, clsx.default)(className, isPending && [
4752
+ className: cn(className, isPending && [
4734
4753
  "opacity-50",
4735
4754
  "pointer-events-none",
4736
4755
  "transition-opacity",
@@ -4750,7 +4769,7 @@ var DataTableTable = ({ sortable, striped, theme = "white", className, scrollOpt
4750
4769
  striped,
4751
4770
  rowAction
4752
4771
  }));
4753
- return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(DataTableLoading, null), withContainer ? /* @__PURE__ */ react.createElement(TableContainer, { className: (0, clsx.default)(scrollOptions.numberOfStickyColumns === 0 && "overflow-x-auto") }, tableComponent) : tableComponent);
4772
+ return /* @__PURE__ */ react.createElement(react.Fragment, null, /* @__PURE__ */ react.createElement(DataTableLoading, null), withContainer ? /* @__PURE__ */ react.createElement(TableContainer, { className: cn(scrollOptions.numberOfStickyColumns === 0 && "overflow-x-auto") }, tableComponent) : tableComponent);
4754
4773
  };
4755
4774
  //#endregion
4756
4775
  //#region src/components/sortable/Handle.tsx
@@ -4811,7 +4830,7 @@ var SortableItem = ({ id, asChild = false, className, style, isDragHandle = fals
4811
4830
  ...isDragHandle && !disabled ? listeners : {},
4812
4831
  ...isDragHandle && !disabled ? attributes : {},
4813
4832
  ...rest,
4814
- className: (0, clsx.default)("translate-x-[calc(var(--translate-x)*1px)]", "translate-y-[calc(var(--translate-y)*1px)]", "scale-(--scale)", isDragging && "z-5", "disabled:**:pointer-events-none", "disabled:cursor-not-allowed", "disabled:opacity-30", isDragHandle && (isDragging ? "cursor-grabbing" : "cursor-grab"), className)
4833
+ className: cn("translate-x-[calc(var(--translate-x)*1px)]", "translate-y-[calc(var(--translate-y)*1px)]", "scale-(--scale)", isDragging && "z-5", "disabled:**:pointer-events-none", "disabled:cursor-not-allowed", "disabled:opacity-30", isDragHandle && (isDragging ? "cursor-grabbing" : "cursor-grab"), className)
4815
4834
  });
4816
4835
  };
4817
4836
  SortableItem.displayName = "SortableItem";
@@ -4913,7 +4932,7 @@ var DragAndDropTable = ({ idColumn = "id", onDragAndDrop, sortable, striped, the
4913
4932
  sortableIds: rowIds
4914
4933
  }, /* @__PURE__ */ react.createElement(DataTableLoading, null), /* @__PURE__ */ react.createElement(Table, {
4915
4934
  ...props,
4916
- className: (0, clsx.default)(className, isPending && [
4935
+ className: cn(className, isPending && [
4917
4936
  "opacity-50",
4918
4937
  "pointer-events-none",
4919
4938
  "transition-opacity,duration-250,linear,delay-150"
@@ -5372,7 +5391,7 @@ var PaginationComponent = ({ colorScheme, onSelectedPageChange, selectedPage, vi
5372
5391
  asChild: true
5373
5392
  }, /* @__PURE__ */ react.createElement("div", {
5374
5393
  ...rest,
5375
- className: (0, clsx.default)("flex", "gap-1", className)
5394
+ className: cn("flex", "gap-1", className)
5376
5395
  }, children || /* @__PURE__ */ react.createElement(PaginationItems, null))));
5377
5396
  };
5378
5397
  var Pagination = Object.assign(PaginationComponent, { Popover: PaginationPopover });
@@ -5555,7 +5574,7 @@ var Calendar = ({ className, refDateSelected, refDateToday, firstDayOfWeek = 0,
5555
5574
  ...remainingProps
5556
5575
  });
5557
5576
  if (!calendars.length) return null;
5558
- return /* @__PURE__ */ react.createElement("div", { className: (0, clsx.default)("relative", "w-fit", "-mt-1", className) }, /* @__PURE__ */ react.createElement("div", { className: "absolute top-0 -right-1 flex" }, /* @__PURE__ */ react.createElement(ActionIcon, {
5577
+ return /* @__PURE__ */ react.createElement("div", { className: cn("relative", "w-fit", "-mt-1", className) }, /* @__PURE__ */ react.createElement("div", { className: "absolute top-0 -right-1 flex" }, /* @__PURE__ */ react.createElement(ActionIcon, {
5559
5578
  label: labels[showYears ? "previousYear" : "previous"],
5560
5579
  theme: "neutral",
5561
5580
  size: "md",
@@ -5871,7 +5890,7 @@ var DialogFooter = styled("footer", { base: [
5871
5890
  var DialogHeading = ({ className, ...rest }) => /* @__PURE__ */ react.createElement(Heading, {
5872
5891
  size: "sm",
5873
5892
  ...rest,
5874
- className: (0, clsx.default)("border-b", "border-b-grey-200", "pb-8", "pt-0", "px-8", "mb-8", "-mx-8", "box-content", className)
5893
+ className: cn("border-b", "border-b-grey-200", "pb-8", "pt-0", "px-8", "mb-8", "-mx-8", "box-content", className)
5875
5894
  });
5876
5895
  //#endregion
5877
5896
  //#region src/components/dialog/DialogNavigationBar.tsx
@@ -6089,14 +6108,18 @@ var DropdownMenuItem = styled(_radix_ui_react_dropdown_menu.Item, { base: [
6089
6108
  //#endregion
6090
6109
  //#region src/components/dropdown-menu/DropdownMenuLinkItem.tsx
6091
6110
  var StyledLink$2 = styled("a", { base: ["no-underline"] });
6092
- var DropdownMenuLinkItem = ({ children, href, ...props }) => /* @__PURE__ */ react.default.createElement(DropdownMenuItem, {
6093
- ...props,
6094
- asChild: true
6095
- }, /* @__PURE__ */ react.default.createElement(StyledLink$2, {
6096
- href,
6097
- role: "menuitem",
6098
- ...getExternalAnchorProps(href)
6099
- }, children));
6111
+ var DropdownMenuLinkItem = ({ children, href, reloadDocument, ...props }) => {
6112
+ const routerLinkProps = useRouterLinkProps(href, { reloadDocument });
6113
+ return /* @__PURE__ */ react.default.createElement(DropdownMenuItem, {
6114
+ ...props,
6115
+ asChild: true
6116
+ }, /* @__PURE__ */ react.default.createElement(StyledLink$2, {
6117
+ as: routerLinkProps.as,
6118
+ href,
6119
+ role: "menuitem",
6120
+ ...getExternalAnchorProps(href)
6121
+ }, children));
6122
+ };
6100
6123
  //#endregion
6101
6124
  //#region src/components/dropdown-menu/DropdownMenuSeparator.tsx
6102
6125
  var DropdownMenuSeparator = styled(_radix_ui_react_dropdown_menu.Separator, { base: [
@@ -6264,7 +6287,7 @@ var Grid = ({ className, style, gap = "2", minItemSize, maxItemSize = "1fr", ...
6264
6287
  ...maxItemSize && { "--max-item-size": maxItemSize }
6265
6288
  },
6266
6289
  gap,
6267
- className: (0, clsx.default)(minItemSize && ["grid-cols-[repeat(auto-fit,minmax(var(--min-item-size,0),var(--max-item-size,0)))]"], className)
6290
+ className: cn(minItemSize && ["grid-cols-[repeat(auto-fit,minmax(var(--min-item-size,0),var(--max-item-size,0)))]"], className)
6268
6291
  });
6269
6292
  Grid.displayName = "Grid";
6270
6293
  //#endregion
@@ -6441,7 +6464,7 @@ var MarkdownLink = ({ node, handleNode }) => /* @__PURE__ */ react.createElement
6441
6464
  //#region src/components/markdown-content/components/MarkdownList.tsx
6442
6465
  var MarkdownList = ({ node, handleNode, className }) => /* @__PURE__ */ react.createElement(List, {
6443
6466
  ordered: node.ordered || void 0,
6444
- className: (0, clsx.default)("[&_p]:inline", "[&_p]:before:hidden", "[&_p]:after:hidden", className)
6467
+ className: cn("[&_p]:inline", "[&_p]:before:hidden", "[&_p]:after:hidden", className)
6445
6468
  }, node.children?.map(handleNode));
6446
6469
  //#endregion
6447
6470
  //#region src/components/markdown-content/components/MarkdownListItem.tsx
@@ -6458,7 +6481,7 @@ var MarkdownStrong = ({ node, handleNode }) => /* @__PURE__ */ react.createEleme
6458
6481
  var MarkdownText = ({ node }) => node.value;
6459
6482
  //#endregion
6460
6483
  //#region src/components/markdown-content/components/MarkdownThematicBreak.tsx
6461
- var MarkdownThematicBreak = ({ className }) => /* @__PURE__ */ react.createElement(Divider, { className: (0, clsx.default)("w-full", className) });
6484
+ var MarkdownThematicBreak = ({ className }) => /* @__PURE__ */ react.createElement(Divider, { className: cn("w-full", className) });
6462
6485
  //#endregion
6463
6486
  //#region src/components/markdown-content/MarkdownContent.tsx
6464
6487
  var StyledMarkdownContent = styled("div", { base: [
@@ -6618,7 +6641,7 @@ var NavigationMenuDropdownTrigger = react.default.forwardRef(({ children, active
6618
6641
  }, children, /* @__PURE__ */ react.default.createElement(Icon, {
6619
6642
  is: _atom_learning_icons.ChevronDown,
6620
6643
  size: "sm",
6621
- className: (0, clsx.default)("ml-1", "in-data-[state=open]:-rotate-180", "motion-safe:duration-200", "motion-safe:ease-in", "motion-safe:transition-transform")
6644
+ className: cn("ml-1", "in-data-[state=open]:-rotate-180", "motion-safe:duration-200", "motion-safe:ease-in", "motion-safe:transition-transform")
6622
6645
  })));
6623
6646
  NavigationMenuDropdownTrigger.displayName = "NavigationMenuDropdownTrigger";
6624
6647
  //#endregion
@@ -6751,13 +6774,13 @@ var NavigationMenuComponent = ({ children, className, ...props }) => {
6751
6774
  return trigger;
6752
6775
  };
6753
6776
  return /* @__PURE__ */ react.default.createElement(NavigationMenuContext.Provider, { value: { onNodeUpdate } }, /* @__PURE__ */ react.default.createElement(StyledMenu, {
6754
- className: (0, clsx.default)(className),
6777
+ className: cn(className),
6755
6778
  style: colorSchemes$2["light"],
6756
6779
  onValueChange: setActiveItem,
6757
6780
  ...props
6758
6781
  }, /* @__PURE__ */ react.default.createElement(StyledList$1, { ref: listRef }, children), /* @__PURE__ */ react.default.createElement(ViewportPosition, null, /* @__PURE__ */ react.default.createElement(StyledViewport, {
6759
6782
  style: { "--navigation-menu-viewport-offset": `${offset || 0}px` },
6760
- className: (0, clsx.default)([
6783
+ className: cn([
6761
6784
  "data-[state=open]:animate-fade-in",
6762
6785
  "data-[state=closed]:animate-fade-out",
6763
6786
  "translate-x-(--navigation-menu-viewport-offset)"
@@ -6784,7 +6807,7 @@ var colorSchemes$1 = { light: {
6784
6807
  //#endregion
6785
6808
  //#region src/components/navigation-menu-vertical/NavigationMenuVerticalItem.tsx
6786
6809
  var NavigationMenuVerticalItem = (props) => /* @__PURE__ */ react.default.createElement(_radix_ui_react_navigation_menu.Item, {
6787
- className: (0, clsx.default)("[ul_li_&]:[--navigation-menu-vertical-item-pl:--spacing(8)]", "[ul_li_&_&]:[--navigation-menu-vertical-item-pl:--spacing(12)]", "[ul_li_&_&_&]:[--navigation-menu-vertical-item-pl:--spacing(16)]"),
6810
+ className: cn("[ul_li_&]:[--navigation-menu-vertical-item-pl:--spacing(8)]", "[ul_li_&_&]:[--navigation-menu-vertical-item-pl:--spacing(12)]", "[ul_li_&_&_&]:[--navigation-menu-vertical-item-pl:--spacing(16)]"),
6788
6811
  ...props
6789
6812
  });
6790
6813
  //#endregion
@@ -6901,7 +6924,7 @@ var NavigationMenuVerticalText = (props) => {
6901
6924
  //#endregion
6902
6925
  //#region src/components/navigation-menu-vertical/NavigationMenuVerticalItemContent.tsx
6903
6926
  var NavigationMenuVerticalItemContent = ({ children, className, ...rest }) => /* @__PURE__ */ react.createElement("div", {
6904
- className: (0, clsx.default)("flex", "gap-2", "items-center", className),
6927
+ className: cn("flex", "gap-2", "items-center", className),
6905
6928
  ...rest
6906
6929
  }, react.Children.map(children, (child) => {
6907
6930
  if (typeof child === "string" || typeof child === "number") return /* @__PURE__ */ react.createElement(NavigationMenuVerticalText, null, child);
@@ -6946,9 +6969,10 @@ var StyledNavigationMenuVerticalLink = styled(_radix_ui_react_navigation_menu.Li
6946
6969
  lg: ["min-h-12"]
6947
6970
  } }
6948
6971
  });
6949
- var NavigationMenuVerticalLink = ({ as, href, children, ...rest }) => {
6950
- const Component = as || (href ? "a" : "button");
6951
- const componentProps = as ? {} : href ? getExternalAnchorProps(href) : { type: "button" };
6972
+ var NavigationMenuVerticalLink = ({ as, href, children, reloadDocument, ...rest }) => {
6973
+ const routerLinkProps = useRouterLinkProps(href, { reloadDocument });
6974
+ const Component = as || routerLinkProps.as || (href ? "a" : "button");
6975
+ const componentProps = as || routerLinkProps.as ? {} : href ? getExternalAnchorProps(href) : { type: "button" };
6952
6976
  return /* @__PURE__ */ react.default.createElement(NavigationMenuVerticalItem, null, /* @__PURE__ */ react.default.createElement(StyledNavigationMenuVerticalLink, {
6953
6977
  size: "lg",
6954
6978
  href,
@@ -7182,7 +7206,7 @@ var NumberInput = react.forwardRef(({ value, defaultValue = 0, onValueChange, mi
7182
7206
  theme,
7183
7207
  state: externalState || (hasError ? "error" : void 0),
7184
7208
  "aria-invalid": externalAriaInvalid || hasError || void 0,
7185
- className: (0, clsx.default)("rounded-none", "w-16", "[&_>_input]:text-center", "disabled:opacity-30", "disabled:pointer-events-none", emphasis === "bold" && [
7209
+ className: cn("rounded-none", "w-16", "[&_>_input]:text-center", "disabled:opacity-30", "disabled:pointer-events-none", emphasis === "bold" && [
7186
7210
  "rounded-1",
7187
7211
  "[&_>_input[aria-invalid=true]]:text-danger",
7188
7212
  "focus-within:[&_>_input]:text-grey-1000"
@@ -7208,7 +7232,7 @@ var NumberInput = react.forwardRef(({ value, defaultValue = 0, onValueChange, mi
7208
7232
  }, /* @__PURE__ */ react.createElement(NumberInputStepper, {
7209
7233
  onClick: decrement,
7210
7234
  icon: _atom_learning_icons.Minus,
7211
- className: (0, clsx.default)(emphasis !== "bold" && "border-r-none rounded-r-none"),
7235
+ className: cn(emphasis !== "bold" && "border-r-none rounded-r-none"),
7212
7236
  size: iconSize,
7213
7237
  fieldAppearance: appearance,
7214
7238
  fieldTheme: theme,
@@ -7220,7 +7244,7 @@ var NumberInput = react.forwardRef(({ value, defaultValue = 0, onValueChange, mi
7220
7244
  }), /* @__PURE__ */ react.createElement(Input, inputProps), /* @__PURE__ */ react.createElement(NumberInputStepper, {
7221
7245
  onClick: increment,
7222
7246
  icon: _atom_learning_icons.Plus,
7223
- className: (0, clsx.default)(emphasis !== "bold" && "border-l-none rounded-l-none"),
7247
+ className: cn(emphasis !== "bold" && "border-l-none rounded-l-none"),
7224
7248
  size: iconSize,
7225
7249
  fieldAppearance: appearance,
7226
7250
  fieldTheme: theme,
@@ -7471,7 +7495,7 @@ var RadioCard = ({ children, isFullWidth = false, size = "md", align = "left", .
7471
7495
  }, /* @__PURE__ */ react.createElement(Indicator, null)), /* @__PURE__ */ react.createElement("div", null, children));
7472
7496
  //#endregion
7473
7497
  //#region src/components/radio-card/RadioCardGroup.tsx
7474
- var RadioCardGroup = ({ className, children, size, isFullWidth, align, ...rest }) => /* @__PURE__ */ react.createElement(_radix_ui_react_radio_group.Root, rest, /* @__PURE__ */ react.createElement("div", { className: (0, clsx.default)("flex", "flex-row", "flex-wrap", "gap-3", className) }, react.Children.map(children, (child) => {
7498
+ var RadioCardGroup = ({ className, children, size, isFullWidth, align, ...rest }) => /* @__PURE__ */ react.createElement(_radix_ui_react_radio_group.Root, rest, /* @__PURE__ */ react.createElement("div", { className: cn("flex", "flex-row", "flex-wrap", "gap-3", className) }, react.Children.map(children, (child) => {
7475
7499
  if (react.isValidElement(child) && child?.type === RadioCard) return react.cloneElement(child, {
7476
7500
  size,
7477
7501
  isFullWidth,
@@ -7540,7 +7564,7 @@ var useSectionMessageContext = () => {
7540
7564
  var SectionMessageDescription = ({ className, ...rest }) => /* @__PURE__ */ react.default.createElement(Text, {
7541
7565
  size: "sm",
7542
7566
  ...rest,
7543
- className: (0, clsx.default)("text-grey-900", className)
7567
+ className: cn("text-grey-900", className)
7544
7568
  });
7545
7569
  //#endregion
7546
7570
  //#region src/components/section-message/SectionMessageDismiss.tsx
@@ -7556,7 +7580,7 @@ var SectionMessageDismiss = ({ label = "Dismiss", className, ...rest }) => {
7556
7580
  appearance: "simple",
7557
7581
  theme: "neutral",
7558
7582
  ...rest,
7559
- className: (0, clsx.default)("m-auto", "absolute", "top-2", "right-2", className)
7583
+ className: cn("m-auto", "absolute", "top-2", "right-2", className)
7560
7584
  }, /* @__PURE__ */ react.default.createElement(Icon, { is: _atom_learning_icons.Close })));
7561
7585
  };
7562
7586
  //#endregion
@@ -7578,7 +7602,7 @@ var SectionMessageIcon = ({ className, is, ...rest }) => {
7578
7602
  is: is || themeIcons[theme],
7579
7603
  size: "sm",
7580
7604
  ...rest,
7581
- className: (0, clsx.default)("m-auto", "absolute", "left-4", "top-4", "text-current", className)
7605
+ className: cn("m-auto", "absolute", "left-4", "top-4", "text-current", className)
7582
7606
  });
7583
7607
  };
7584
7608
  //#endregion
@@ -7589,7 +7613,7 @@ var SectionMessageContent = styled("div", { base: [
7589
7613
  "pt-0.5",
7590
7614
  "*:not-last:mb-2"
7591
7615
  ] });
7592
- var SectionMessageActions = ({ className, ...rest }) => /* @__PURE__ */ react.default.createElement("div", { className: (0, clsx.default)("max-w-full", "shrink-0", className) }, /* @__PURE__ */ react.default.createElement("div", {
7616
+ var SectionMessageActions = ({ className, ...rest }) => /* @__PURE__ */ react.default.createElement("div", { className: cn("max-w-full", "shrink-0", className) }, /* @__PURE__ */ react.default.createElement("div", {
7593
7617
  className: "flex flex-wrap gap-3",
7594
7618
  ...rest
7595
7619
  }));
@@ -7901,7 +7925,7 @@ var SideBar = ({ theme, className, children, type = "expandable", offset = "0px"
7901
7925
  "--offset": offset
7902
7926
  },
7903
7927
  type,
7904
- className: (0, clsx.default)("h-[calc(100svh-var(--offset))]", "top-(--offset)", className)
7928
+ className: cn("h-[calc(100svh-var(--offset))]", "top-(--offset)", className)
7905
7929
  }, /* @__PURE__ */ react.default.createElement(Content$1, {
7906
7930
  ...expandableProps,
7907
7931
  isExpanded,
@@ -8052,10 +8076,10 @@ var SkeletonLoader = styled("div", { base: [
8052
8076
  SkeletonLoader.displayName = "Skeleton";
8053
8077
  //#endregion
8054
8078
  //#region src/components/skeleton-loader/SkeletonHeading.tsx
8055
- var SkeletonHeading = ({ className }) => /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: (0, clsx.default)("w-64", "h-6", "rounded-xl", className) });
8079
+ var SkeletonHeading = ({ className }) => /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: cn("w-64", "h-6", "rounded-xl", className) });
8056
8080
  //#endregion
8057
8081
  //#region src/components/skeleton-loader/SkeletonButton.tsx
8058
- var SkeletonButton = ({ className }) => /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: (0, clsx.default)("w-[10rem]", "h-8", "rounded-sm", className) });
8082
+ var SkeletonButton = ({ className }) => /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: cn("w-[10rem]", "h-8", "rounded-sm", className) });
8059
8083
  //#endregion
8060
8084
  //#region src/components/tile/Tile.tsx
8061
8085
  var StyledTile = styled("div", {
@@ -8093,9 +8117,9 @@ var Tile = react.default.forwardRef(({ children, borderRadius = "lg", colorSchem
8093
8117
  Tile.displayName = "Tile";
8094
8118
  //#endregion
8095
8119
  //#region src/components/skeleton-loader/SkeletonTabs.tsx
8096
- var SkeletonTabs = ({ numberOfTabs, className, tabClassName }) => /* @__PURE__ */ react.default.createElement(Tile, { className: (0, clsx.default)("p-6", "flex-row", "gap-4", className) }, Array.from({ length: numberOfTabs }, (_, index) => `tab_${index}`).map((key) => /* @__PURE__ */ react.default.createElement(SkeletonLoader, {
8120
+ var SkeletonTabs = ({ numberOfTabs, className, tabClassName }) => /* @__PURE__ */ react.default.createElement(Tile, { className: cn("p-6", "flex-row", "gap-4", className) }, Array.from({ length: numberOfTabs }, (_, index) => `tab_${index}`).map((key) => /* @__PURE__ */ react.default.createElement(SkeletonLoader, {
8097
8121
  key,
8098
- className: (0, clsx.default)("w-32", "h-6", "rounded-sm", tabClassName)
8122
+ className: cn("w-32", "h-6", "rounded-sm", tabClassName)
8099
8123
  })));
8100
8124
  //#endregion
8101
8125
  //#region src/components/skeleton-loader/SkeletonDoughnutChart.tsx
@@ -8113,14 +8137,14 @@ var buildConicGradient = () => {
8113
8137
  });
8114
8138
  return `conic-gradient(${stops.join(", ")})`;
8115
8139
  };
8116
- var SkeletonDoughnutChart = ({ className }) => /* @__PURE__ */ react.default.createElement(Tile, { className: (0, clsx.default)("p-6", "size-60", className) }, /* @__PURE__ */ react.default.createElement("div", {
8140
+ var SkeletonDoughnutChart = ({ className }) => /* @__PURE__ */ react.default.createElement(Tile, { className: cn("p-6", "size-60", className) }, /* @__PURE__ */ react.default.createElement("div", {
8117
8141
  className: "animate-shimmer aspect-square w-full rounded-full [background-image:var(--gradient)] bg-clip-padding",
8118
8142
  style: { "--gradient": buildConicGradient() }
8119
8143
  }, /* @__PURE__ */ react.default.createElement("div", { className: "mt-[20%] ml-[20%] size-[60%] rounded-full bg-white" })));
8120
8144
  //#endregion
8121
8145
  //#region src/components/skeleton-loader/SkeletonTable.tsx
8122
8146
  var SkeletonTable = ({ numberOfColumns = 4, numberOfRows = 4, columnWidth, className }) => {
8123
- return /* @__PURE__ */ react.default.createElement(Tile, { className: (0, clsx.default)("p-6", "flex-row", "gap-4", "relative", className) }, /* @__PURE__ */ react.default.createElement(Table, { size: "md" }, /* @__PURE__ */ react.default.createElement(Table.Header, { theme: "white" }, Array.from({ length: numberOfColumns }, (_, index) => index).map((columnIndex) => /* @__PURE__ */ react.default.createElement(Table.HeaderCell, { key: columnIndex }, /* @__PURE__ */ react.default.createElement(SkeletonLoader, {
8147
+ return /* @__PURE__ */ react.default.createElement(Tile, { className: cn("p-6", "flex-row", "gap-4", "relative", className) }, /* @__PURE__ */ react.default.createElement(Table, { size: "md" }, /* @__PURE__ */ react.default.createElement(Table.Header, { theme: "white" }, Array.from({ length: numberOfColumns }, (_, index) => index).map((columnIndex) => /* @__PURE__ */ react.default.createElement(Table.HeaderCell, { key: columnIndex }, /* @__PURE__ */ react.default.createElement(SkeletonLoader, {
8124
8148
  style: { "--width": columnWidth?.[columnIndex] || "100px" },
8125
8149
  className: "h-4 w-(--width) rounded-xl"
8126
8150
  })))), /* @__PURE__ */ react.default.createElement(Table.Body, { striped: false }, Array.from({ length: numberOfRows }, (_, index) => index).map((rowIndex) => /* @__PURE__ */ react.default.createElement(Table.Row, { key: rowIndex }, Array.from({ length: numberOfColumns }, (_, index) => index).map((columnIndex) => /* @__PURE__ */ react.default.createElement(Table.Cell, {
@@ -8133,7 +8157,7 @@ var SkeletonTable = ({ numberOfColumns = 4, numberOfRows = 4, columnWidth, class
8133
8157
  };
8134
8158
  //#endregion
8135
8159
  //#region src/components/skeleton-loader/SkeletonCard.tsx
8136
- var SkeletonCard = ({ numberOfRows = 3, withChart, className }) => /* @__PURE__ */ react.default.createElement(Tile, { className: (0, clsx.default)("relative", "w-full", "flex-col", "items-center", "gap-6 p-6", className) }, /* @__PURE__ */ react.default.createElement("div", { className: "align-center flex w-full gap-6" }, withChart && /* @__PURE__ */ react.default.createElement(SkeletonDoughnutChart, null), /* @__PURE__ */ react.default.createElement("div", { className: "flex grow flex-col gap-6" }, Array.from({ length: numberOfRows }, (_, index) => index).map((rowNumber) => /* @__PURE__ */ react.default.createElement(SkeletonLoader, {
8160
+ var SkeletonCard = ({ numberOfRows = 3, withChart, className }) => /* @__PURE__ */ react.default.createElement(Tile, { className: cn("relative", "w-full", "flex-col", "items-center", "gap-6 p-6", className) }, /* @__PURE__ */ react.default.createElement("div", { className: "align-center flex w-full gap-6" }, withChart && /* @__PURE__ */ react.default.createElement(SkeletonDoughnutChart, null), /* @__PURE__ */ react.default.createElement("div", { className: "flex grow flex-col gap-6" }, Array.from({ length: numberOfRows }, (_, index) => index).map((rowNumber) => /* @__PURE__ */ react.default.createElement(SkeletonLoader, {
8137
8161
  key: rowNumber,
8138
8162
  className: "bg-grey-200 h-10 w-full min-w-25 rounded-md"
8139
8163
  })))), /* @__PURE__ */ react.default.createElement(SkeletonButton, null));
@@ -8146,7 +8170,7 @@ var ColumnGroup = ({ numberOfColumns, groupIndex }) => /* @__PURE__ */ react.def
8146
8170
  style: { "--height": `${getBarHeight(groupIndex, i)}px` }
8147
8171
  }))), /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "h-2 w-14 rounded-full" }));
8148
8172
  var LegendItem$1 = () => /* @__PURE__ */ react.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "h-3 w-3 rounded-full" }), /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "h-3 w-24 rounded-full" }));
8149
- var SkeletonColumnChart = ({ numberOfLabels = 2, numberOfGroups = 7, numberOfColumns = 1, className }) => /* @__PURE__ */ react.default.createElement(Tile, { className: (0, clsx.default)("p-6", "flex-col", "gap-6", "w-full", className) }, /* @__PURE__ */ react.default.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ react.default.createElement("div", { className: "flex items-center gap-4" }, Array.from({ length: numberOfLabels }, (_, i) => /* @__PURE__ */ react.default.createElement(LegendItem$1, { key: i })))), /* @__PURE__ */ react.default.createElement("div", { className: "flex items-end justify-between gap-2" }, Array.from({ length: numberOfGroups }, (_, i) => /* @__PURE__ */ react.default.createElement(ColumnGroup, {
8173
+ var SkeletonColumnChart = ({ numberOfLabels = 2, numberOfGroups = 7, numberOfColumns = 1, className }) => /* @__PURE__ */ react.default.createElement(Tile, { className: cn("p-6", "flex-col", "gap-6", "w-full", className) }, /* @__PURE__ */ react.default.createElement("div", { className: "flex flex-col gap-3" }, /* @__PURE__ */ react.default.createElement("div", { className: "flex items-center gap-4" }, Array.from({ length: numberOfLabels }, (_, i) => /* @__PURE__ */ react.default.createElement(LegendItem$1, { key: i })))), /* @__PURE__ */ react.default.createElement("div", { className: "flex items-end justify-between gap-2" }, Array.from({ length: numberOfGroups }, (_, i) => /* @__PURE__ */ react.default.createElement(ColumnGroup, {
8150
8174
  key: i,
8151
8175
  numberOfColumns,
8152
8176
  groupIndex: i
@@ -8155,7 +8179,7 @@ var SkeletonColumnChart = ({ numberOfLabels = 2, numberOfGroups = 7, numberOfCol
8155
8179
  //#region src/components/skeleton-loader/SkeletonBarChart.tsx
8156
8180
  var getBarWidth = (rowIndex) => Math.round(40 + Math.abs(Math.sin(rowIndex + 1)) * 55);
8157
8181
  var LegendItem = () => /* @__PURE__ */ react.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "h-3 w-3 rounded-full" }), /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "h-3 w-24 rounded-full" }));
8158
- var SkeletonBarChart = ({ numberOfLabels = 3, numberOfRows = 4, numberOfTicks = 4, className }) => /* @__PURE__ */ react.default.createElement(Tile, { className: (0, clsx.default)("p-6", "flex-col", "gap-6", "w-full", className) }, /* @__PURE__ */ react.default.createElement("div", { className: "flex items-center gap-4" }, Array.from({ length: numberOfLabels }, (_, i) => /* @__PURE__ */ react.default.createElement(LegendItem, { key: i }))), /* @__PURE__ */ react.default.createElement("div", { className: "flex flex-col justify-between gap-4" }, Array.from({ length: numberOfRows }, (_, i) => /* @__PURE__ */ react.default.createElement("div", {
8182
+ var SkeletonBarChart = ({ numberOfLabels = 3, numberOfRows = 4, numberOfTicks = 4, className }) => /* @__PURE__ */ react.default.createElement(Tile, { className: cn("p-6", "flex-col", "gap-6", "w-full", className) }, /* @__PURE__ */ react.default.createElement("div", { className: "flex items-center gap-4" }, Array.from({ length: numberOfLabels }, (_, i) => /* @__PURE__ */ react.default.createElement(LegendItem, { key: i }))), /* @__PURE__ */ react.default.createElement("div", { className: "flex flex-col justify-between gap-4" }, Array.from({ length: numberOfRows }, (_, i) => /* @__PURE__ */ react.default.createElement("div", {
8159
8183
  key: i,
8160
8184
  className: "flex items-center gap-5"
8161
8185
  }, /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "h-3 w-20 shrink-0 rounded-full" }), /* @__PURE__ */ react.default.createElement("div", { className: "grow" }, /* @__PURE__ */ react.default.createElement(SkeletonLoader, {
@@ -8167,10 +8191,10 @@ var SkeletonBarChart = ({ numberOfLabels = 3, numberOfRows = 4, numberOfTicks =
8167
8191
  })))));
8168
8192
  //#endregion
8169
8193
  //#region src/components/skeleton-loader/SkeletonPanelList.tsx
8170
- var SkeletonPanelList = ({ className }) => /* @__PURE__ */ react.default.createElement(Tile, { className: (0, clsx.default)("px-6", "flex-col", "w-full", className) }, /* @__PURE__ */ react.default.createElement("div", { className: "border-grey-100 flex flex-wrap items-center gap-4 border-b py-4 last:border-b-0" }, /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "size-10 rounded-full" }), /* @__PURE__ */ react.default.createElement("div", { className: "grow" }, /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "h-4 w-2/3 rounded-full" })), /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "h-8 w-28 rounded-md" })));
8194
+ var SkeletonPanelList = ({ className }) => /* @__PURE__ */ react.default.createElement(Tile, { className: cn("px-6", "flex-col", "w-full", className) }, /* @__PURE__ */ react.default.createElement("div", { className: "border-grey-100 flex flex-wrap items-center gap-4 border-b py-4 last:border-b-0" }, /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "size-10 rounded-full" }), /* @__PURE__ */ react.default.createElement("div", { className: "grow" }, /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "h-4 w-2/3 rounded-full" })), /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "h-8 w-28 rounded-md" })));
8171
8195
  //#endregion
8172
8196
  //#region src/components/skeleton-loader/SkeletonSubjectList.tsx
8173
- var SkeletonSubjectList = ({ className }) => /* @__PURE__ */ react.default.createElement(Tile, { className: (0, clsx.default)("p-2", "flex-row", "flex-wrap", "items-center", "justify-between", "gap-4", "w-full", className) }, /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "h-22 max-w-xl grow rounded-xl" }), /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "size-10 shrink-0 rounded-md" }));
8197
+ var SkeletonSubjectList = ({ className }) => /* @__PURE__ */ react.default.createElement(Tile, { className: cn("p-2", "flex-row", "flex-wrap", "items-center", "justify-between", "gap-4", "w-full", className) }, /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "h-22 max-w-xl grow rounded-xl" }), /* @__PURE__ */ react.default.createElement(SkeletonLoader, { className: "size-10 shrink-0 rounded-md" }));
8174
8198
  //#endregion
8175
8199
  //#region src/components/skeleton-loader/index.ts
8176
8200
  var skeleton_loader_exports = /* @__PURE__ */ __exportAll({
@@ -8523,7 +8547,7 @@ var StepperComponent = ({ children, stepCount, allowSkip, onComplete, onStepChan
8523
8547
  showCompletedIcons
8524
8548
  }, /* @__PURE__ */ react.createElement("div", {
8525
8549
  "aria-label": "progress",
8526
- className: (0, clsx.default)("w-full", className)
8550
+ className: cn("w-full", className)
8527
8551
  }, children));
8528
8552
  };
8529
8553
  var Stepper = Object.assign(StepperComponent, {
@@ -8942,7 +8966,7 @@ var TileToggleGroupItem = ({ children, ...rest }) => /* @__PURE__ */ react.creat
8942
8966
  var TileToggleGroup = react.forwardRef((props, ref) => /* @__PURE__ */ react.createElement(ToggleGroup$1.Root, {
8943
8967
  ref,
8944
8968
  ...props,
8945
- className: (0, clsx.default)(props.className, "flex", "gap-2", props.orientation === "horizontal" && "flex-row", props.orientation === "vertical" && "flex-col", "flex-wrap")
8969
+ className: cn(props.className, "flex", "gap-2", props.orientation === "horizontal" && "flex-row", props.orientation === "vertical" && "flex-col", "flex-wrap")
8946
8970
  }));
8947
8971
  TileToggleGroup.Item = TileToggleGroupItem;
8948
8972
  TileToggleGroup.displayName = "TileToggleGroup";
@@ -8965,7 +8989,7 @@ var ToastCloseButton = ({ onDismiss, label = "Close alert", ...rest }) => {
8965
8989
  onDismiss?.();
8966
8990
  },
8967
8991
  ...rest,
8968
- className: (0, clsx.default)("text-white", "-mr-2", "hover:opacity-80", "hover:text-white", "focus:opacity-80", "focus:text-white")
8992
+ className: cn("text-white", "-mr-2", "hover:opacity-80", "hover:text-white", "focus:opacity-80", "focus:text-white")
8969
8993
  }, /* @__PURE__ */ react.createElement(Icon, { is: _atom_learning_icons.Close }));
8970
8994
  };
8971
8995
  //#endregion
@@ -9327,7 +9351,7 @@ var ToggleGroup = {
9327
9351
  orientation,
9328
9352
  theme,
9329
9353
  ...rest
9330
- }, /* @__PURE__ */ react.createElement("div", { className: (0, clsx.default)("flex", hasGap && gapClassMap[gap], orientation === "horizontal" ? "flex-row" : "flex-col", wrap ? "flex-wrap" : "flex-nowrap") }, react.Children.toArray(children).map((child) => {
9354
+ }, /* @__PURE__ */ react.createElement("div", { className: cn("flex", hasGap && gapClassMap[gap], orientation === "horizontal" ? "flex-row" : "flex-col", wrap ? "flex-wrap" : "flex-nowrap") }, react.Children.toArray(children).map((child) => {
9331
9355
  if (react.isValidElement(child)) return react.cloneElement(child, {
9332
9356
  ...child.props,
9333
9357
  theme
@@ -9380,7 +9404,7 @@ var TopBarBrandLogo = ({ src, alt = "Atom Learning logo", className }) => {
9380
9404
  return /* @__PURE__ */ react.default.createElement(Image, {
9381
9405
  src,
9382
9406
  alt,
9383
- className: (0, clsx.default)("h-8", "mr-3", "w-auto", className)
9407
+ className: cn("h-8", "mr-3", "w-auto", className)
9384
9408
  });
9385
9409
  };
9386
9410
  var TopBarBrandName = styled(Text, { base: ["text-grey-800"] });
@@ -9551,7 +9575,7 @@ var SegmentedControlBadge = ({ className, ...props }) => {
9551
9575
  return /* @__PURE__ */ react.createElement(Badge, {
9552
9576
  ...props,
9553
9577
  size: badgeSizeMap[size],
9554
- className: (0, clsx.default)("border-none", className, "font-normal")
9578
+ className: cn("border-none", className, "font-normal")
9555
9579
  });
9556
9580
  };
9557
9581
  //#endregion
@@ -9962,6 +9986,7 @@ exports.RadioButtonField = RadioButtonField;
9962
9986
  exports.RadioButtonGroup = RadioButtonGroup;
9963
9987
  exports.RadioCard = RadioCard;
9964
9988
  exports.RadioCardGroup = RadioCardGroup;
9989
+ exports.RouterProvider = RouterProvider;
9965
9990
  exports.SearchField = SearchField;
9966
9991
  exports.SearchInput = SearchInput;
9967
9992
  exports.SectionMessage = SectionMessage;
@@ -10004,6 +10029,7 @@ exports.Tooltip = Tooltip;
10004
10029
  exports.TopBar = TopBar;
10005
10030
  exports.Tree = Tree;
10006
10031
  exports.Video = Video;
10032
+ exports.cn = cn;
10007
10033
  exports.createTheme = createTheme;
10008
10034
  exports.styled = styled;
10009
10035
  Object.defineProperty(exports, "toast", {