@ixo/ui 0.1.0 → 0.1.2

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 (58) hide show
  1. package/dist/.vite/manifest.json +43 -43
  2. package/dist/components/AIChatToolbar/index.d.ts.map +1 -1
  3. package/dist/components/AppShellNavigation/components/AsideResizable.d.ts +3 -1
  4. package/dist/components/AppShellNavigation/components/AsideResizable.d.ts.map +1 -1
  5. package/dist/components/AppShellNavigation/components/MobileBurger.d.ts +13 -0
  6. package/dist/components/AppShellNavigation/components/MobileBurger.d.ts.map +1 -0
  7. package/dist/components/AppShellNavigation/index.d.ts +2 -1
  8. package/dist/components/AppShellNavigation/index.d.ts.map +1 -1
  9. package/dist/{components-Dd5AcCq0.js → components-DU5waziW.js} +142 -90
  10. package/dist/components-DU5waziW.js.map +1 -0
  11. package/dist/{components-DH1wUH8v.cjs → components-DmNQnT1T.cjs} +140 -88
  12. package/dist/components-DmNQnT1T.cjs.map +1 -0
  13. package/dist/constants/mantineTheme.d.ts.map +1 -1
  14. package/dist/export/components.cjs +1 -1
  15. package/dist/export/components.mjs +1 -1
  16. package/dist/{index-8mrl_91C.cjs → index-1Tkzfew0.cjs} +2 -2
  17. package/dist/{index-8mrl_91C.cjs.map → index-1Tkzfew0.cjs.map} +1 -1
  18. package/dist/{index-CnUrZJ6d.cjs → index-BZeVHJgv.cjs} +2 -2
  19. package/dist/{index-CnUrZJ6d.cjs.map → index-BZeVHJgv.cjs.map} +1 -1
  20. package/dist/{index-CJf3kiYw.js → index-BgZLJbJW.js} +2 -2
  21. package/dist/{index-CJf3kiYw.js.map → index-BgZLJbJW.js.map} +1 -1
  22. package/dist/{index-DPdnPYOK.cjs → index-BmvOflos.cjs} +3 -3
  23. package/dist/{index-DPdnPYOK.cjs.map → index-BmvOflos.cjs.map} +1 -1
  24. package/dist/{index-CEnAOLa3.cjs → index-BrKy3nSz.cjs} +2 -2
  25. package/dist/{index-CEnAOLa3.cjs.map → index-BrKy3nSz.cjs.map} +1 -1
  26. package/dist/{index-CHxc81t7.js → index-By1i1uLU.js} +2 -2
  27. package/dist/{index-CHxc81t7.js.map → index-By1i1uLU.js.map} +1 -1
  28. package/dist/{index-C9TPn4gB.cjs → index-C7R4oqBT.cjs} +2 -2
  29. package/dist/{index-C9TPn4gB.cjs.map → index-C7R4oqBT.cjs.map} +1 -1
  30. package/dist/{index-BwFcOXoo.cjs → index-CxphVeLF.cjs} +2 -2
  31. package/dist/{index-BwFcOXoo.cjs.map → index-CxphVeLF.cjs.map} +1 -1
  32. package/dist/{index-DCeJ-EjR.js → index-D0yj6C11.js} +2 -2
  33. package/dist/{index-DCeJ-EjR.js.map → index-D0yj6C11.js.map} +1 -1
  34. package/dist/{index-DcOglj4H.js → index-D7heNqqK.js} +2 -2
  35. package/dist/{index-DcOglj4H.js.map → index-D7heNqqK.js.map} +1 -1
  36. package/dist/{index-DX1KrNFO.cjs → index-DCwo8wx3.cjs} +3 -3
  37. package/dist/{index-DX1KrNFO.cjs.map → index-DCwo8wx3.cjs.map} +1 -1
  38. package/dist/{index-CWtfpAdi.cjs → index-DVUI2LeU.cjs} +2 -2
  39. package/dist/{index-CWtfpAdi.cjs.map → index-DVUI2LeU.cjs.map} +1 -1
  40. package/dist/{index-CNVan44C.js → index-DWyqNmtm.js} +2 -2
  41. package/dist/{index-CNVan44C.js.map → index-DWyqNmtm.js.map} +1 -1
  42. package/dist/{index-F3Bif7Ud.cjs → index-DgnK5qdX.cjs} +2 -2
  43. package/dist/{index-F3Bif7Ud.cjs.map → index-DgnK5qdX.cjs.map} +1 -1
  44. package/dist/{index-znGVxTmK.js → index-EYDtd-NN.js} +2 -2
  45. package/dist/{index-znGVxTmK.js.map → index-EYDtd-NN.js.map} +1 -1
  46. package/dist/{index-BQ756FwG.js → index-IuTPQRsY.js} +3 -3
  47. package/dist/{index-BQ756FwG.js.map → index-IuTPQRsY.js.map} +1 -1
  48. package/dist/{index-JPCFjEIL.js → index-RGurwgcA.js} +2 -2
  49. package/dist/{index-JPCFjEIL.js.map → index-RGurwgcA.js.map} +1 -1
  50. package/dist/{index-LMTN501y.js → index-WlnEQMCk.js} +3 -3
  51. package/dist/{index-LMTN501y.js.map → index-WlnEQMCk.js.map} +1 -1
  52. package/dist/{index-B3UsRV_8.cjs → index-XY4B3I-N.cjs} +2 -2
  53. package/dist/{index-B3UsRV_8.cjs.map → index-XY4B3I-N.cjs.map} +1 -1
  54. package/dist/{index-wQ0-D7du.js → index-zJl481wB.js} +2 -2
  55. package/dist/{index-wQ0-D7du.js.map → index-zJl481wB.js.map} +1 -1
  56. package/package.json +1 -1
  57. package/dist/components-DH1wUH8v.cjs.map +0 -1
  58. package/dist/components-Dd5AcCq0.js.map +0 -1
@@ -798,8 +798,8 @@ function AccordionTable({
798
798
  }
799
799
  );
800
800
  }
801
- const Header$3 = react$1.lazy(() => Promise.resolve().then(() => require("./index-B3UsRV_8.cjs")));
802
- const Footer = react$1.lazy(() => Promise.resolve().then(() => require("./index-DX1KrNFO.cjs")));
801
+ const Header$3 = react$1.lazy(() => Promise.resolve().then(() => require("./index-XY4B3I-N.cjs")));
802
+ const Footer = react$1.lazy(() => Promise.resolve().then(() => require("./index-DCwo8wx3.cjs")));
803
803
  function ActionCard({ header, content, footer, useHoverMode = false }) {
804
804
  const hasContent = !!content || !!footer;
805
805
  const initialVisibility = footer?.startHidden !== true;
@@ -883,7 +883,7 @@ function Loader({ size, color = "primary" }) {
883
883
  }
884
884
  const CARD_WIDTH$1 = 350;
885
885
  const CARD_HEADER_HEIGHT = 158;
886
- const Header$2 = react$1.lazy(() => Promise.resolve().then(() => require("./index-CEnAOLa3.cjs")));
886
+ const Header$2 = react$1.lazy(() => Promise.resolve().then(() => require("./index-BrKy3nSz.cjs")));
887
887
  function Card({ children, className, contentClassName, roundedBottom, noPadding = false, fullWidth = false, header, wrapperSx, onClick }) {
888
888
  const wrapperRef = react$1.useRef(null);
889
889
  const handleOnClick = react$1.useCallback(
@@ -1318,7 +1318,7 @@ function ModalSheet({ isOpen, children, hideHandler, zIndex, onRequestHide, onRe
1318
1318
  document.body
1319
1319
  );
1320
1320
  }
1321
- const Badge = react$1.lazy(() => Promise.resolve().then(() => require("./index-C9TPn4gB.cjs")));
1321
+ const Badge = react$1.lazy(() => Promise.resolve().then(() => require("./index-C7R4oqBT.cjs")));
1322
1322
  function ActionSheet({ children, isOpen, header, navMenu = void 0, onRequestHide, onRequestShow }) {
1323
1323
  const shadowScrollRef = react$1.useRef(null);
1324
1324
  const wrapperContentAreaRef = react$1.useRef(null);
@@ -2126,6 +2126,7 @@ function AIInputBar({ placeholder, icon, disabledInput, disabledButton, valueInp
2126
2126
  );
2127
2127
  }
2128
2128
  function AIChatToolbar({ onClose, onHistoryClick, onPlusClick, onHistoryClose, onCanvasCycle, isHistoryOpened, canvasMode = "hidden", oracleModel, sessionTitle }) {
2129
+ const isMobile = hooks.useMediaQuery("(max-width: 48em)");
2129
2130
  const canvasActive = canvasMode !== "hidden";
2130
2131
  return /* @__PURE__ */ jsxRuntime.jsxs(Flex, { bg: "neutralColor.4", py: 16, justify: "space-between", align: "center", children: [
2131
2132
  /* @__PURE__ */ jsxRuntime.jsxs(Flex, { gap: 6, align: "center", children: [
@@ -2162,7 +2163,7 @@ function AIChatToolbar({ onClose, onHistoryClick, onPlusClick, onHistoryClose, o
2162
2163
  }
2163
2164
  ),
2164
2165
  /* @__PURE__ */ jsxRuntime.jsx(core.Center, { sx: { cursor: "pointer", borderRadius: 24 }, onClick: onHistoryClick, children: /* @__PURE__ */ jsxRuntime.jsx(UsersSolid.HistorySolid, { size: 18, color: "secondary" }) }),
2165
- /* @__PURE__ */ jsxRuntime.jsx(
2166
+ !isMobile && /* @__PURE__ */ jsxRuntime.jsx(
2166
2167
  core.Center,
2167
2168
  {
2168
2169
  sx: {
@@ -2219,7 +2220,7 @@ function Avatar({ src, rounded = true, size = 62, did }) {
2219
2220
  }
2220
2221
  const MIN_WIDTH = 200;
2221
2222
  const MAX_WIDTH = 700;
2222
- function AsideResizable({ children, asideCollapsed = false, onAsideToggle, width = 450, onWidthChange, onMaxExpand }) {
2223
+ function AsideResizable({ children, navbarWidth, asideMaximized, asideCollapsed = false, onAsideToggle, width = 450, onWidthChange, onMaxExpand }) {
2223
2224
  const [isResizing, setIsResizing] = react$1.useState(false);
2224
2225
  const [ref] = hooks.useResizeObserver();
2225
2226
  const isShowingRef = react$1.useRef(false);
@@ -2296,9 +2297,9 @@ function AsideResizable({ children, asideCollapsed = false, onAsideToggle, width
2296
2297
  return /* @__PURE__ */ jsxRuntime.jsxs(
2297
2298
  core.AppShell.Aside,
2298
2299
  {
2299
- w: width,
2300
+ w: asideMaximized ? "100%" : width,
2300
2301
  miw: 200,
2301
- maw: MAX_WIDTH,
2302
+ maw: asideMaximized ? `calc(100% - ${navbarWidth}px)` : MAX_WIDTH,
2302
2303
  ref,
2303
2304
  sx: {
2304
2305
  overflowY: "auto",
@@ -2310,7 +2311,7 @@ function AsideResizable({ children, asideCollapsed = false, onAsideToggle, width
2310
2311
  }
2311
2312
  },
2312
2313
  children: [
2313
- /* @__PURE__ */ jsxRuntime.jsx(
2314
+ !asideMaximized && /* @__PURE__ */ jsxRuntime.jsx(
2314
2315
  core.Box,
2315
2316
  {
2316
2317
  w: 4,
@@ -2606,6 +2607,15 @@ function carbonToUSD(carbon) {
2606
2607
  maximumFractionDigits: 6
2607
2608
  });
2608
2609
  }
2610
+ function MobileBurger({ avatarIcon, isOpened, onClick }) {
2611
+ if (isOpened) {
2612
+ return /* @__PURE__ */ jsxRuntime.jsx(core.CloseButton, { hiddenFrom: "sm", pos: "absolute", w: 28, sx: { borderRadius: 8, zIndex: 100 }, h: 28, onClick, right: 12, top: 12, bg: "neutralColor.4" });
2613
+ }
2614
+ return /* @__PURE__ */ jsxRuntime.jsxs(core.Group, { hiddenFrom: "sm", pos: "absolute", left: 12, top: 12, onClick, p: 8, py: 4, wrap: "nowrap", w: "fit-content", gap: 6, sx: { borderRadius: 8, zIndex: 100 }, bg: "neutralColor.4", children: [
2615
+ avatarIcon && (typeof avatarIcon.icon === "string" ? /* @__PURE__ */ jsxRuntime.jsx(core.Image, { radius: 18, src: avatarIcon.icon, w: 18, h: 18 }) : avatarIcon.icon),
2616
+ /* @__PURE__ */ jsxRuntime.jsx(core.Burger, { lineSize: 2, pr: 0, size: "xs" })
2617
+ ] });
2618
+ }
2609
2619
  const CANVAS_MIN_WIDTH = 350;
2610
2620
  const CONTENT_MIN_WIDTH = 350;
2611
2621
  function AppShellNavigation({
@@ -2624,6 +2634,7 @@ function AppShellNavigation({
2624
2634
  roomCategories,
2625
2635
  right,
2626
2636
  asideCollapsed = true,
2637
+ asideMaximized = false,
2627
2638
  onAsideToggle,
2628
2639
  onMaxExpand,
2629
2640
  onAiOpen,
@@ -2638,8 +2649,10 @@ function AppShellNavigation({
2638
2649
  splitRatio = 0.4,
2639
2650
  onSplitRatioChange
2640
2651
  }) {
2641
- const [isNavbarNotCollapsed, { toggle: toggleNavbar }] = hooks.useDisclosure(true);
2642
2652
  const [asideWidth, setAsideWidth] = react$1.useState(450);
2653
+ const isMobile = hooks.useMediaQuery("(max-width: 48em)");
2654
+ const [mobileOpened, { toggle: toggleMobile }] = hooks.useDisclosure();
2655
+ const [desktopOpened, { toggle: toggleDesktop }] = hooks.useDisclosure(true);
2643
2656
  const [isSplitResizing, setIsSplitResizing] = react$1.useState(false);
2644
2657
  const isSplitResizingRef = react$1.useRef(false);
2645
2658
  const mainContainerRef = react$1.useRef(null);
@@ -2769,13 +2782,15 @@ function AppShellNavigation({
2769
2782
  transition: isNavbarResizing ? "none" : "width 0.3s ease"
2770
2783
  },
2771
2784
  aside: {
2772
- background: "var(--mantine-color-neutralColor-4)"
2785
+ background: "var(--mantine-color-neutralColor-2)",
2786
+ borderLeft: "1px solid var(--mantine-color-neutralColor-6)"
2773
2787
  }
2774
2788
  },
2775
2789
  bg: "neutralColor.2",
2776
2790
  navbar: {
2777
- width: isNavbarNotCollapsed ? navbarWidth : 56,
2778
- breakpoint: "sm"
2791
+ width: navbarWidth,
2792
+ breakpoint: "sm",
2793
+ collapsed: { mobile: !mobileOpened, desktop: !desktopOpened }
2779
2794
  },
2780
2795
  aside: {
2781
2796
  width: asideCollapsed ? 0 : asideWidth,
@@ -2801,7 +2816,7 @@ function AppShellNavigation({
2801
2816
  }
2802
2817
  ),
2803
2818
  /* @__PURE__ */ jsxRuntime.jsxs(Flex, { style: { height: "100%" }, children: [
2804
- /* @__PURE__ */ jsxRuntime.jsxs(core.Stack, { p: 8, w: 56, justify: "space-between", h: "100%", bg: "neutralColor.2", children: [
2819
+ /* @__PURE__ */ jsxRuntime.jsxs(core.Stack, { p: 8, w: 56, visibleFrom: "sm", justify: "space-between", h: "100%", bg: "neutralColor.2", children: [
2805
2820
  /* @__PURE__ */ jsxRuntime.jsxs(core.Stack, { align: "center", style: { flex: 1 }, gap: 8, children: [
2806
2821
  /* @__PURE__ */ jsxRuntime.jsxs(core.Center, { sx: { cursor: "pointer", borderRadius: 24 }, pos: "relative", h: 40, w: 40, onClick: companyIcon.onClick, children: [
2807
2822
  typeof companyIcon.icon === "string" ? /* @__PURE__ */ jsxRuntime.jsx(core.Image, { radius: 24, src: companyIcon.icon, w: 32, h: 32 }) : companyIcon.icon,
@@ -2851,12 +2866,12 @@ function AppShellNavigation({
2851
2866
  /* @__PURE__ */ jsxRuntime.jsx(core.Center, { sx: { cursor: "pointer", borderRadius: 24 }, bg: "neutralColor.5", h: 40, w: 40, onClick: onSettingsIconClick, children: /* @__PURE__ */ jsxRuntime.jsx(UsersSolid.SettingsBarSolid, { size: 22, color: "secondary" }) })
2852
2867
  ] })
2853
2868
  ] }),
2854
- isAiOpened && isNavbarNotCollapsed && aiNavbarContent,
2855
- isNavbarNotCollapsed && !isAiOpened && /* @__PURE__ */ jsxRuntime.jsxs(core.Stack, { justify: "space-between", w: "100%", pt: 16, pb: 10, px: 12, children: [
2869
+ isAiOpened && !isMobile && aiNavbarContent,
2870
+ !isAiOpened && /* @__PURE__ */ jsxRuntime.jsxs(core.Stack, { justify: "space-between", w: "100%", pt: 16, pb: 10, px: 12, children: [
2856
2871
  /* @__PURE__ */ jsxRuntime.jsxs(core.Stack, { gap: 5, children: [
2857
2872
  /* @__PURE__ */ jsxRuntime.jsxs(Flex, { mb: 24, style: { width: "100%" }, justify: "space-between", align: "center", children: [
2858
2873
  /* @__PURE__ */ jsxRuntime.jsx(Flex, { align: "center", gap: "10px", children: /* @__PURE__ */ jsxRuntime.jsx(core.Tooltip, { label: pageItem.pageTitle || "Unknown", disabled: !isTitleOverflowing, position: "bottom", withArrow: true, children: /* @__PURE__ */ jsxRuntime.jsx(core.Text, { lh: 1, c: "neutralColor.8", children: cutText(pageItem.pageTitle, 19) || "Unknown" }) }) }),
2859
- isAiBtnVisible && !isAiOpened && /* @__PURE__ */ jsxRuntime.jsx(
2874
+ isAiBtnVisible && !isAiOpened && !isMobile && /* @__PURE__ */ jsxRuntime.jsx(
2860
2875
  core.Center,
2861
2876
  {
2862
2877
  sx: {
@@ -2889,80 +2904,117 @@ function AppShellNavigation({
2889
2904
  ] })
2890
2905
  ] })
2891
2906
  ] }) }),
2892
- /* @__PURE__ */ jsxRuntime.jsx(
2907
+ /* @__PURE__ */ jsxRuntime.jsxs(
2893
2908
  core.AppShell.Main,
2894
2909
  {
2895
2910
  style: {
2896
2911
  display: "flex",
2897
2912
  flexDirection: "column",
2898
2913
  height: "100vh",
2899
- overflow: "hidden"
2914
+ overflow: "hidden",
2915
+ position: "relative"
2900
2916
  },
2901
- children: /* @__PURE__ */ jsxRuntime.jsxs(
2902
- Flex,
2903
- {
2904
- ref: mainContainerRef,
2905
- style: {
2906
- flex: 1,
2907
- height: "100%",
2908
- overflow: "hidden",
2909
- position: "relative"
2910
- },
2911
- children: [
2912
- /* @__PURE__ */ jsxRuntime.jsx(
2913
- core.Box,
2914
- {
2915
- bg: "neutralColor.5",
2916
- style: {
2917
- width: getCanvasWidth(),
2918
- minWidth: shouldShowCanvas && canvasMode === "split" ? CANVAS_MIN_WIDTH : void 0,
2919
- display: shouldShowCanvas ? "flex" : "none",
2920
- flexDirection: "column",
2921
- overflow: "hidden",
2922
- height: "100%",
2923
- transition: isSplitResizing ? "none" : "width 0.3s ease, opacity 0.2s ease",
2924
- opacity: shouldShowCanvas ? 1 : 0,
2925
- borderLeft: "1px solid var(--mantine-color-neutralColor-6)"
2926
- },
2927
- children: canvasContent
2928
- }
2929
- ),
2930
- canvasMode === "split" && !isRightPanelOpen && /* @__PURE__ */ jsxRuntime.jsx(
2931
- core.Box,
2932
- {
2933
- w: 4,
2934
- h: "100%",
2935
- bg: isSplitResizing ? "accent.5" : "transparent",
2936
- sx: {
2937
- cursor: "col-resize",
2938
- flexShrink: 0,
2939
- transition: "background-color 0.2s ease"
2940
- },
2941
- onMouseDown: handleSplitMouseDown
2942
- }
2943
- ),
2944
- /* @__PURE__ */ jsxRuntime.jsx(
2945
- core.Box,
2946
- {
2947
- style: {
2948
- width: getContentWidth(),
2949
- minWidth: shouldShowContent && canvasMode === "split" ? CONTENT_MIN_WIDTH : void 0,
2950
- display: shouldShowContent ? "flex" : "none",
2951
- flexDirection: "column",
2952
- overflow: "auto",
2953
- height: "100%",
2954
- transition: isSplitResizing ? "none" : "width 0.3s ease, opacity 0.2s ease",
2955
- opacity: shouldShowContent ? 1 : 0
2956
- },
2957
- children
2958
- }
2959
- )
2960
- ]
2961
- }
2962
- )
2917
+ children: [
2918
+ mobileOpened && /* @__PURE__ */ jsxRuntime.jsx(core.Overlay, { hiddenFrom: "sm", color: "var(--mantine-color-neutralColor-0)", backgroundOpacity: 0.6, blur: 2, onClick: toggleMobile, zIndex: 99 }),
2919
+ /* @__PURE__ */ jsxRuntime.jsxs(
2920
+ Flex,
2921
+ {
2922
+ ref: mainContainerRef,
2923
+ style: {
2924
+ flex: 1,
2925
+ height: isMobile ? "calc(100% - 60px)" : "100%",
2926
+ overflow: "hidden",
2927
+ position: "relative",
2928
+ minHeight: 0,
2929
+ marginTop: isMobile && isAiOpened ? "calc(-100vh + 60px)" : 0,
2930
+ transition: isMobile ? "margin-top 0.5s ease" : "none"
2931
+ },
2932
+ children: [
2933
+ /* @__PURE__ */ jsxRuntime.jsx(
2934
+ core.Box,
2935
+ {
2936
+ bg: "neutralColor.5",
2937
+ style: {
2938
+ width: getCanvasWidth(),
2939
+ minWidth: shouldShowCanvas && canvasMode === "split" ? CANVAS_MIN_WIDTH : void 0,
2940
+ display: shouldShowCanvas ? "flex" : "none",
2941
+ flexDirection: "column",
2942
+ overflow: "hidden",
2943
+ height: "100%",
2944
+ transition: isSplitResizing ? "none" : "width 0.3s ease, opacity 0.2s ease",
2945
+ opacity: shouldShowCanvas ? 1 : 0,
2946
+ borderLeft: "1px solid var(--mantine-color-neutralColor-6)"
2947
+ },
2948
+ children: canvasContent
2949
+ }
2950
+ ),
2951
+ canvasMode === "split" && !isRightPanelOpen && /* @__PURE__ */ jsxRuntime.jsx(
2952
+ core.Box,
2953
+ {
2954
+ w: 4,
2955
+ h: "100%",
2956
+ bg: isSplitResizing ? "accent.5" : "transparent",
2957
+ sx: {
2958
+ cursor: "col-resize",
2959
+ flexShrink: 0,
2960
+ transition: "background-color 0.2s ease"
2961
+ },
2962
+ onMouseDown: handleSplitMouseDown
2963
+ }
2964
+ ),
2965
+ /* @__PURE__ */ jsxRuntime.jsxs(
2966
+ core.Box,
2967
+ {
2968
+ style: {
2969
+ width: getContentWidth(),
2970
+ minWidth: shouldShowContent && canvasMode === "split" ? CONTENT_MIN_WIDTH : void 0,
2971
+ display: shouldShowContent ? "flex" : "none",
2972
+ flexDirection: "column",
2973
+ overflow: "auto",
2974
+ height: "100%",
2975
+ transition: isSplitResizing ? "none" : "width 0.3s ease, opacity 0.2s ease",
2976
+ opacity: shouldShowContent ? 1 : 0
2977
+ },
2978
+ children: [
2979
+ /* @__PURE__ */ jsxRuntime.jsx(MobileBurger, { isOpened: mobileOpened, onClick: toggleMobile, avatarIcon }),
2980
+ children
2981
+ ]
2982
+ }
2983
+ )
2984
+ ]
2985
+ }
2986
+ ),
2987
+ isMobile && isAiBtnVisible && /* @__PURE__ */ jsxRuntime.jsxs(
2988
+ core.Box,
2989
+ {
2990
+ bg: "neutralColor.3",
2991
+ pos: "relative",
2992
+ h: isAiOpened ? "100%" : 60,
2993
+ sx: {
2994
+ transition: "height 0.5s ease"
2995
+ },
2996
+ children: [
2997
+ /* @__PURE__ */ jsxRuntime.jsx(core.Box, { onClick: onAiOpen, pos: "absolute", left: "50%", top: 18, sx: { zIndex: 3, transform: "translateX(-50%)" }, children: /* @__PURE__ */ jsxRuntime.jsx(UsersSolid.Assistant, {}) }),
2998
+ isAiOpened && aiNavbarContent
2999
+ ]
3000
+ }
3001
+ )
3002
+ ]
2963
3003
  }
2964
3004
  ),
2965
- /* @__PURE__ */ jsxRuntime.jsx(AsideResizable, { asideCollapsed, onAsideToggle, onMaxExpand, width: asideWidth, onWidthChange: setAsideWidth, children: right })
3005
+ /* @__PURE__ */ jsxRuntime.jsx(
3006
+ AsideResizable,
3007
+ {
3008
+ navbarWidth,
3009
+ asideCollapsed,
3010
+ asideMaximized,
3011
+ onAsideToggle,
3012
+ onMaxExpand,
3013
+ width: asideWidth,
3014
+ onWidthChange: setAsideWidth,
3015
+ children: right
3016
+ }
3017
+ )
2966
3018
  ]
2967
3019
  }
2968
3020
  );
@@ -5982,13 +6034,13 @@ function ActionButton({ onClick, left, right }) {
5982
6034
  }
5983
6035
  );
5984
6036
  }
5985
- const MainAction = react$1.lazy(() => Promise.resolve().then(() => require("./index-BwFcOXoo.cjs")));
5986
- const Header$1 = react$1.lazy(() => Promise.resolve().then(() => require("./index-8mrl_91C.cjs")));
5987
- const Content = react$1.lazy(() => Promise.resolve().then(() => require("./index-CWtfpAdi.cjs")));
6037
+ const MainAction = react$1.lazy(() => Promise.resolve().then(() => require("./index-CxphVeLF.cjs")));
6038
+ const Header$1 = react$1.lazy(() => Promise.resolve().then(() => require("./index-1Tkzfew0.cjs")));
6039
+ const Content = react$1.lazy(() => Promise.resolve().then(() => require("./index-DVUI2LeU.cjs")));
5988
6040
  const Map = react$1.lazy(() => Promise.resolve().then(() => require("./index-D4PsPquZ.cjs")));
5989
6041
  const CustomContent = react$1.lazy(() => Promise.resolve().then(() => require("./index-ByrCNpS2.cjs")));
5990
- const Assets = react$1.lazy(() => Promise.resolve().then(() => require("./index-CnUrZJ6d.cjs")));
5991
- const Actions = react$1.lazy(() => Promise.resolve().then(() => require("./index-DPdnPYOK.cjs")));
6042
+ const Assets = react$1.lazy(() => Promise.resolve().then(() => require("./index-BZeVHJgv.cjs")));
6043
+ const Actions = react$1.lazy(() => Promise.resolve().then(() => require("./index-BmvOflos.cjs")));
5992
6044
  const HOVER_BORDER_WIDTH = 1;
5993
6045
  function SodaCardCmp({ numSelected = 0, expanded = true, mainAction, header, content, map, customContent, customFooter, actions, assets, onClick }, ref) {
5994
6046
  const wrapperRef = react$1.useRef(null);
@@ -11279,4 +11331,4 @@ exports.UserMessage = UserMessage;
11279
11331
  exports.WorkspaceModal = WorkspaceModal;
11280
11332
  exports.cutText = cutText;
11281
11333
  exports.isValidClick = isValidClick;
11282
- //# sourceMappingURL=components-DH1wUH8v.cjs.map
11334
+ //# sourceMappingURL=components-DmNQnT1T.cjs.map