@schemavaults/ui 0.42.2 → 0.44.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.
- package/dist/components/layout/dashboard-layout/DashboardLayoutProps.d.ts +6 -0
- package/dist/components/layout/dashboard-layout/dashboard-layout.d.ts +1 -7
- package/dist/components/layout/dashboard-layout/dashboard-layout.js +13 -5
- package/dist/components/layout/dashboard-layout/dashboard-layout.js.map +1 -1
- package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-header.js +35 -29
- package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-header.js.map +1 -1
- package/dist/components/layout/dashboard-layout/dashboard-sidebar/useCloseDashboardSidebarOnRouteChange.js +8 -2
- package/dist/components/layout/dashboard-layout/dashboard-sidebar/useCloseDashboardSidebarOnRouteChange.js.map +1 -1
- package/dist/components/ui/gauge/gauge.d.ts +73 -0
- package/dist/components/ui/gauge/gauge.js +134 -0
- package/dist/components/ui/gauge/gauge.js.map +1 -0
- package/dist/components/ui/gauge/index.d.ts +3 -0
- package/dist/components/ui/gauge/index.js +3 -0
- package/dist/components/ui/gauge/index.js.map +1 -0
- package/dist/components/ui/index.d.ts +2 -0
- package/dist/components/ui/index.js +1 -0
- package/dist/components/ui/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -14,4 +14,10 @@ export interface DashboardLayoutProps extends PropsWithChildren {
|
|
|
14
14
|
sizing?: DashboardLayoutSidebarSizing;
|
|
15
15
|
onOpenSidebar?: () => void;
|
|
16
16
|
onCloseSidebar?: () => void;
|
|
17
|
+
/**
|
|
18
|
+
* Optional `usePathname` hook (e.g. from `next/navigation`). When provided,
|
|
19
|
+
* the mobile sidebar will automatically close whenever the pathname
|
|
20
|
+
* changes. Pass the hook itself, not its return value.
|
|
21
|
+
*/
|
|
22
|
+
usePathname?: () => string;
|
|
17
23
|
}
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import type { ReactElement } from "react";
|
|
2
2
|
import type { DashboardLayoutProps } from "./DashboardLayoutProps";
|
|
3
3
|
export type { DashboardLayoutProps };
|
|
4
|
-
|
|
5
|
-
*
|
|
6
|
-
* @param param0 DashboardLayoutProps
|
|
7
|
-
*
|
|
8
|
-
* @returns A layout component wrapping the page content of 'children'
|
|
9
|
-
*/
|
|
10
|
-
export declare function DashboardLayout({ children, wordmark, logo, Link, brandHref, topBarTitle, ...props }: DashboardLayoutProps): ReactElement;
|
|
4
|
+
export declare function DashboardLayout({ children, wordmark, logo, Link, brandHref, topBarTitle, usePathname, ...props }: DashboardLayoutProps): ReactElement;
|
|
11
5
|
export default DashboardLayout;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import DashboardSidebar, { DashboardLayoutSidebarTrigger, DashboardSidebarContextProvider, useDashboardSidebarOpenState, useDashboardSidebarSizing, } from "./dashboard-sidebar";
|
|
3
|
+
import DashboardSidebar, { DashboardLayoutSidebarTrigger, DashboardSidebarContextProvider, useCloseDashboardSidebarOnRouteChange, useDashboardSidebarOpenState, useDashboardSidebarSizing, } from "./dashboard-sidebar";
|
|
4
4
|
import { Separator } from "../../ui/separator";
|
|
5
5
|
import DashboardLayoutMainContentContainer from "./dashboard-layout-main-content-container";
|
|
6
6
|
import { cn } from "../../../lib/utils";
|
|
@@ -10,7 +10,15 @@ import { cn } from "../../../lib/utils";
|
|
|
10
10
|
*
|
|
11
11
|
* @returns A layout component wrapping the page content of 'children'
|
|
12
12
|
*/
|
|
13
|
-
|
|
13
|
+
// Sibling component that subscribes to `usePathname` and closes the mobile
|
|
14
|
+
// sidebar on navigation. Rendered conditionally only when consumers opt in
|
|
15
|
+
// by passing `usePathname` — keeping the hook call out of the parent avoids
|
|
16
|
+
// the rule-of-hooks issue of a conditionally-called hook.
|
|
17
|
+
function AutoCloseSidebarOnNavigation({ usePathname, }) {
|
|
18
|
+
useCloseDashboardSidebarOnRouteChange(usePathname);
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
export function DashboardLayout({ children, wordmark, logo, Link, brandHref, topBarTitle, usePathname, ...props }) {
|
|
14
22
|
const size = useDashboardSidebarSizing();
|
|
15
23
|
function HeaderBarPageIdentifierComponent() {
|
|
16
24
|
if (typeof topBarTitle === "string") {
|
|
@@ -22,9 +30,9 @@ export function DashboardLayout({ children, wordmark, logo, Link, brandHref, top
|
|
|
22
30
|
}
|
|
23
31
|
}
|
|
24
32
|
const TopBarButtonsComponent = props.topBarButtons;
|
|
25
|
-
return (
|
|
26
|
-
|
|
27
|
-
|
|
33
|
+
return (_jsxs(DashboardSidebarContextProvider, { sidebarItems: props.sidebarItems, sizing: props.sizing, onOpenSidebar: props.onOpenSidebar, onCloseSidebar: props.onCloseSidebar, children: [typeof usePathname === "function" && (_jsx(AutoCloseSidebarOnNavigation, { usePathname: usePathname })), _jsxs("div", { id: "dashboard-layout-container", className: "w-full h-dvh min-h-dvh", children: [_jsx(DashboardSidebar, { wordmark: wordmark, Link: Link, brandHref: brandHref, logo: logo, sidebarFooterContent: props.sidebarFooterContent }), _jsxs(DashboardLayoutMainContentContainer, { children: [_jsx("header", { id: "dashboard-layout-main-content-header", className: cn("sticky top-0", "flex shrink-0 items-center gap-2", "transition-[width,height] ease-linear", "bg-background", "border-b border-border", size.sidebar_and_header_z_index_classname), style: {
|
|
34
|
+
height: size.header_height,
|
|
35
|
+
}, children: _jsxs("div", { className: "flex flex-row justify-between items-center gap-2 px-4 w-full", children: [_jsx(DashboardLayoutSidebarTrigger, {}), _jsx(Separator, { orientation: "vertical", className: "mr-2 data-[orientation=vertical]:h-4" }), _jsx(HeaderBarPageIdentifierComponent, {}), _jsx("div", { role: "none", className: "grow" }), typeof TopBarButtonsComponent === "function" && (_jsx(TopBarButtonsComponent, { useDashboardSidebarSizing: useDashboardSidebarSizing, useDashboardSidebarOpenState: useDashboardSidebarOpenState, Link: Link }))] }) }), children] })] })] }));
|
|
28
36
|
}
|
|
29
37
|
export default DashboardLayout;
|
|
30
38
|
//# sourceMappingURL=dashboard-layout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-layout.js","sourceRoot":"","sources":["../../../../src/components/layout/dashboard-layout/dashboard-layout.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,gBAAgB,EAAE,EACvB,6BAA6B,EAC7B,+BAA+B,EAC/B,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,mCAAmC,MAAM,2CAA2C,CAAC;AAE5F,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAIjC;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,WAAW,EACX,GAAG,KAAK,EACa;IACrB,MAAM,IAAI,GAAG,yBAAyB,EAAE,CAAC;IAEzC,SAAS,gCAAgC;QACvC,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO,aAAI,SAAS,EAAC,mBAAmB,YAAE,WAAW,GAAM,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,MAAM,2BAA2B,GAAG,WAAW,CAAC;YAChD,OAAO,CACL,KAAC,2BAA2B,IAC1B,yBAAyB,EAAE,yBAAyB,EACpD,4BAA4B,EAAE,4BAA4B,EAC1D,IAAI,EAAE,IAAI,GACV,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,sBAAsB,GAEZ,KAAK,CAAC,aAAa,CAAC;IAEpC,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"dashboard-layout.js","sourceRoot":"","sources":["../../../../src/components/layout/dashboard-layout/dashboard-layout.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,gBAAgB,EAAE,EACvB,6BAA6B,EAC7B,+BAA+B,EAC/B,qCAAqC,EACrC,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,mCAAmC,MAAM,2CAA2C,CAAC;AAE5F,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAIjC;;;;;GAKG;AACH,2EAA2E;AAC3E,2EAA2E;AAC3E,4EAA4E;AAC5E,0DAA0D;AAC1D,SAAS,4BAA4B,CAAC,EACpC,WAAW,GAGZ;IACC,qCAAqC,CAAC,WAAW,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAC9B,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,WAAW,EACX,WAAW,EACX,GAAG,KAAK,EACa;IACrB,MAAM,IAAI,GAAG,yBAAyB,EAAE,CAAC;IAEzC,SAAS,gCAAgC;QACvC,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO,aAAI,SAAS,EAAC,mBAAmB,YAAE,WAAW,GAAM,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,MAAM,2BAA2B,GAAG,WAAW,CAAC;YAChD,OAAO,CACL,KAAC,2BAA2B,IAC1B,yBAAyB,EAAE,yBAAyB,EACpD,4BAA4B,EAAE,4BAA4B,EAC1D,IAAI,EAAE,IAAI,GACV,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,sBAAsB,GAEZ,KAAK,CAAC,aAAa,CAAC;IAEpC,OAAO,CACL,MAAC,+BAA+B,IAC9B,YAAY,EAAE,KAAK,CAAC,YAAY,EAChC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,aAAa,EAAE,KAAK,CAAC,aAAa,EAClC,cAAc,EAAE,KAAK,CAAC,cAAc,aAEnC,OAAO,WAAW,KAAK,UAAU,IAAI,CACpC,KAAC,4BAA4B,IAAC,WAAW,EAAE,WAAW,GAAI,CAC3D,EACD,eAAK,EAAE,EAAC,4BAA4B,EAAC,SAAS,EAAC,wBAAwB,aACrE,KAAC,gBAAgB,IACf,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,EACV,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,GAChD,EACF,MAAC,mCAAmC,eAClC,iBACE,EAAE,EAAC,sCAAsC,EACzC,SAAS,EAAE,EAAE,CACX,cAAc,EACd,kCAAkC,EAClC,uCAAuC,EACvC,eAAe,EACf,wBAAwB,EACxB,IAAI,CAAC,oCAAoC,CAC1C,EACD,KAAK,EAAE;oCACL,MAAM,EAAE,IAAI,CAAC,aAAa;iCAC3B,YAED,eAAK,SAAS,EAAC,8DAA8D,aAC3E,KAAC,6BAA6B,KAAG,EACjC,KAAC,SAAS,IACR,WAAW,EAAC,UAAU,EACtB,SAAS,EAAC,sCAAsC,GAChD,EACF,KAAC,gCAAgC,KAAG,EACpC,cAAK,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,MAAM,GAAG,EACnC,OAAO,sBAAsB,KAAK,UAAU,IAAI,CAC/C,KAAC,sBAAsB,IACrB,yBAAyB,EAAE,yBAAyB,EACpD,4BAA4B,EAAE,4BAA4B,EAC1D,IAAI,EAAE,IAAI,GACV,CACH,IACG,GACC,EACR,QAAQ,IAC2B,IAClC,IAC0B,CACnC,CAAC;AACJ,CAAC;AAED,eAAe,eAAe,CAAC"}
|
package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-header.js
CHANGED
|
@@ -5,41 +5,47 @@ import toggleDashboardLayoutCollapsedTransitionTime, { toggleDashboardLayoutColl
|
|
|
5
5
|
import useDashboardSidebarOpenState from "./useDashboardSidebarOpenState";
|
|
6
6
|
import { cn } from "../../../../lib/utils";
|
|
7
7
|
import { useDashboardSidebarSizing } from "./useDashboardSidebarSizing";
|
|
8
|
+
// Declared at module scope so its component identity is stable across
|
|
9
|
+
// renders of DashboardSidebarHeader. Previously this was an inner function
|
|
10
|
+
// declaration, which produced a new component type on every parent render
|
|
11
|
+
// and caused React to unmount/remount the wordmark — re-triggering the
|
|
12
|
+
// AnimatePresence enter animation on every navigation when used inside a
|
|
13
|
+
// Next.js layout.tsx.
|
|
14
|
+
function AnimatedBrandWordmark({ wordmark, Link, brandHref, }) {
|
|
15
|
+
return (_jsx(m.div, { className: "will-change-transform", variants: {
|
|
16
|
+
exit: {
|
|
17
|
+
opacity: 0,
|
|
18
|
+
scale: 0,
|
|
19
|
+
transitionEnd: {
|
|
20
|
+
display: "none",
|
|
21
|
+
},
|
|
22
|
+
width: 0,
|
|
23
|
+
transition: {
|
|
24
|
+
duration: toggleDashboardLayoutCollapsedTransitionTime,
|
|
25
|
+
ease: toggleDashboardLayoutCollapsedTransitionEasing,
|
|
26
|
+
delay: 0,
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
enter: {
|
|
30
|
+
opacity: 1,
|
|
31
|
+
scale: 1,
|
|
32
|
+
display: "block",
|
|
33
|
+
width: "auto",
|
|
34
|
+
transition: {
|
|
35
|
+
duration: toggleDashboardLayoutCollapsedTransitionTime,
|
|
36
|
+
ease: toggleDashboardLayoutCollapsedTransitionEasing,
|
|
37
|
+
delay: toggleDashboardLayoutCollapsedTransitionTime / 1.5,
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
}, initial: "exit", animate: "enter", exit: "exit", layout: true, children: _jsx(Link, { href: brandHref, children: wordmark }) }));
|
|
41
|
+
}
|
|
8
42
|
export function DashboardSidebarHeader({ wordmark, logo, Link, brandHref, }) {
|
|
9
43
|
const size = useDashboardSidebarSizing();
|
|
10
44
|
const { open, mobile } = useDashboardSidebarOpenState();
|
|
11
45
|
const showWordmark = mobile || open;
|
|
12
|
-
function AnimatedBrandWordmark() {
|
|
13
|
-
return (_jsx(m.div, { className: "will-change-transform", variants: {
|
|
14
|
-
exit: {
|
|
15
|
-
opacity: 0,
|
|
16
|
-
scale: 0,
|
|
17
|
-
transitionEnd: {
|
|
18
|
-
display: "none",
|
|
19
|
-
},
|
|
20
|
-
width: 0,
|
|
21
|
-
transition: {
|
|
22
|
-
duration: toggleDashboardLayoutCollapsedTransitionTime,
|
|
23
|
-
ease: toggleDashboardLayoutCollapsedTransitionEasing,
|
|
24
|
-
delay: 0,
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
enter: {
|
|
28
|
-
opacity: 1,
|
|
29
|
-
scale: 1,
|
|
30
|
-
display: "block",
|
|
31
|
-
width: "auto",
|
|
32
|
-
transition: {
|
|
33
|
-
duration: toggleDashboardLayoutCollapsedTransitionTime,
|
|
34
|
-
ease: toggleDashboardLayoutCollapsedTransitionEasing,
|
|
35
|
-
delay: toggleDashboardLayoutCollapsedTransitionTime / 1.5,
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
}, initial: "exit", animate: "enter", exit: "exit", layout: true, children: _jsx(Link, { href: brandHref, children: wordmark }) }));
|
|
39
|
-
}
|
|
40
46
|
return (_jsxs(m.header, { layout: true, style: {
|
|
41
47
|
height: size.header_height,
|
|
42
|
-
}, className: cn("w-full", "flex flex-row flex-nowrap", "justify-start items-center bg-background", "overflow-hidden", "flex-shrink-0", "border-b"), children: [_jsx(Link, { href: brandHref, className: cn(size.desktop_collapsed_width_classname, size.header_height_classname, "flex items-center justify-center", "flex-shrink-0"), children: logo }), _jsx(AnimatePresence, { initial: !mobile, children: showWordmark && (_jsx(AnimatedBrandWordmark, {}, "animated-brand-wordmark")) })] }));
|
|
48
|
+
}, className: cn("w-full", "flex flex-row flex-nowrap", "justify-start items-center bg-background", "overflow-hidden", "flex-shrink-0", "border-b"), children: [_jsx(Link, { href: brandHref, className: cn(size.desktop_collapsed_width_classname, size.header_height_classname, "flex items-center justify-center", "flex-shrink-0"), children: logo }), _jsx(AnimatePresence, { initial: !mobile, children: showWordmark && (_jsx(AnimatedBrandWordmark, { wordmark: wordmark, Link: Link, brandHref: brandHref }, "animated-brand-wordmark")) })] }));
|
|
43
49
|
}
|
|
44
50
|
export default DashboardSidebarHeader;
|
|
45
51
|
//# sourceMappingURL=dashboard-sidebar-header.js.map
|
package/dist/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-header.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-sidebar-header.js","sourceRoot":"","sources":["../../../../../src/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-header.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,4CAA4C,EAAE,EACnD,8CAA8C,GAC/C,MAAM,sDAAsD,CAAC;AAC9D,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"dashboard-sidebar-header.js","sourceRoot":"","sources":["../../../../../src/components/layout/dashboard-layout/dashboard-sidebar/dashboard-sidebar-header.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,4CAA4C,EAAE,EACnD,8CAA8C,GAC/C,MAAM,sDAAsD,CAAC;AAC9D,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAgBxE,sEAAsE;AACtE,2EAA2E;AAC3E,0EAA0E;AAC1E,uEAAuE;AACvE,yEAAyE;AACzE,sBAAsB;AACtB,SAAS,qBAAqB,CAAC,EAC7B,QAAQ,EACR,IAAI,EACJ,SAAS,GACkB;IAC3B,OAAO,CACL,KAAC,CAAC,CAAC,GAAG,IACJ,SAAS,EAAC,uBAAuB,EACjC,QAAQ,EAAE;YACR,IAAI,EAAE;gBACJ,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,CAAC;gBACR,aAAa,EAAE;oBACb,OAAO,EAAE,MAAM;iBAChB;gBACD,KAAK,EAAE,CAAC;gBACR,UAAU,EAAE;oBACV,QAAQ,EAAE,4CAA4C;oBACtD,IAAI,EAAE,8CAA8C;oBACpD,KAAK,EAAE,CAAC;iBACT;aACF;YACD,KAAK,EAAE;gBACL,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,OAAO;gBAChB,KAAK,EAAE,MAAM;gBACb,UAAU,EAAE;oBACV,QAAQ,EAAE,4CAA4C;oBACtD,IAAI,EAAE,8CAA8C;oBACpD,KAAK,EAAE,4CAA4C,GAAG,GAAG;iBAC1D;aACF;SACF,EACD,OAAO,EAAC,MAAM,EACd,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,MAAM,EACX,MAAM,kBAEN,KAAC,IAAI,IAAC,IAAI,EAAE,SAAS,YAAG,QAAQ,GAAQ,GAClC,CACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EACrC,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,SAAS,GACyB;IAClC,MAAM,IAAI,GAAG,yBAAyB,EAAE,CAAC;IACzC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,4BAA4B,EAAE,CAAC;IACxD,MAAM,YAAY,GAAY,MAAM,IAAI,IAAI,CAAC;IAE7C,OAAO,CACL,MAAC,CAAC,CAAC,MAAM,IACP,MAAM,QACN,KAAK,EAAE;YACL,MAAM,EAAE,IAAI,CAAC,aAAa;SAC3B,EACD,SAAS,EAAE,EAAE,CACX,QAAQ,EACR,2BAA2B,EAC3B,0CAA0C,EAC1C,iBAAiB,EACjB,eAAe,EACf,UAAU,CACX,aAED,KAAC,IAAI,IAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,CAClC,IAAI,CAAC,iCAAiC,EACtC,IAAI,CAAC,uBAAuB,EAC5B,kCAAkC,EAClC,eAAe,CAChB,YAAG,IAAI,GAAQ,EAEhB,KAAC,eAAe,IAAC,OAAO,EAAE,CAAC,MAAM,YAC9B,YAAY,IAAI,CACf,KAAC,qBAAqB,IAEpB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,IAHhB,yBAAyB,CAI7B,CACH,GACe,IACT,CACZ,CAAC;AACJ,CAAC;AAED,eAAe,sBAAsB,CAAC"}
|
|
@@ -3,20 +3,26 @@ import { useEffect } from "react";
|
|
|
3
3
|
import useDashboardSidebarOpenState from "./useDashboardSidebarOpenState";
|
|
4
4
|
import useDashboardSidebarOpenStateDispatch from "./useDashboardSidebarOpenStateDispatch";
|
|
5
5
|
import useDebug from "../../../hooks/use-debug";
|
|
6
|
+
// Auto-closes the sidebar on route changes. Only acts on mobile — on desktop
|
|
7
|
+
// the sidebar's expanded/collapsed state is the user's preference and should
|
|
8
|
+
// persist across navigation. Closing the desktop sidebar on every route
|
|
9
|
+
// change would also re-animate the wordmark (via AnimatePresence) every
|
|
10
|
+
// navigation, which is undesirable.
|
|
6
11
|
export function useCloseDashboardSidebarOnRouteChange(usePathname) {
|
|
7
12
|
const debug = useDebug();
|
|
8
13
|
const pathname = usePathname();
|
|
9
14
|
const state = useDashboardSidebarOpenState();
|
|
10
15
|
const open = state.open;
|
|
16
|
+
const mobile = state.mobile ?? false;
|
|
11
17
|
const setOpen = useDashboardSidebarOpenStateDispatch();
|
|
12
18
|
useEffect(() => {
|
|
13
|
-
if (open) {
|
|
19
|
+
if (mobile && open) {
|
|
14
20
|
if (debug) {
|
|
15
21
|
console.log("[useCloseDashboardSidebarOnRouteChange] Closing sidebar...");
|
|
16
22
|
}
|
|
17
23
|
setOpen(false);
|
|
18
24
|
}
|
|
19
|
-
}, [pathname, open, setOpen, debug]);
|
|
25
|
+
}, [pathname, open, mobile, setOpen, debug]);
|
|
20
26
|
}
|
|
21
27
|
export default useCloseDashboardSidebarOnRouteChange;
|
|
22
28
|
//# sourceMappingURL=useCloseDashboardSidebarOnRouteChange.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCloseDashboardSidebarOnRouteChange.js","sourceRoot":"","sources":["../../../../../src/components/layout/dashboard-layout/dashboard-sidebar/useCloseDashboardSidebarOnRouteChange.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,oCAAoC,MAAM,wCAAwC,CAAC;AAC1F,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AAEpD,MAAM,UAAU,qCAAqC,CACnD,WAAyB;IAEzB,MAAM,KAAK,GAAY,QAAQ,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAW,WAAW,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,4BAA4B,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAY,KAAK,CAAC,IAAI,CAAC;IACjC,MAAM,OAAO,GAAG,oCAAoC,EAAE,CAAC;IAEvD,SAAS,CAAC,GAAS,EAAE;QACnB,IAAI,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"useCloseDashboardSidebarOnRouteChange.js","sourceRoot":"","sources":["../../../../../src/components/layout/dashboard-layout/dashboard-sidebar/useCloseDashboardSidebarOnRouteChange.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,4BAA4B,MAAM,gCAAgC,CAAC;AAC1E,OAAO,oCAAoC,MAAM,wCAAwC,CAAC;AAC1F,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AAEpD,6EAA6E;AAC7E,6EAA6E;AAC7E,wEAAwE;AACxE,wEAAwE;AACxE,oCAAoC;AACpC,MAAM,UAAU,qCAAqC,CACnD,WAAyB;IAEzB,MAAM,KAAK,GAAY,QAAQ,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAW,WAAW,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,4BAA4B,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAY,KAAK,CAAC,IAAI,CAAC;IACjC,MAAM,MAAM,GAAY,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC;IAC9C,MAAM,OAAO,GAAG,oCAAoC,EAAE,CAAC;IAEvD,SAAS,CAAC,GAAS,EAAE;QACnB,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CACT,4DAA4D,CAC7D,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,eAAe,qCAAqC,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { type VariantProps } from "class-variance-authority";
|
|
2
|
+
import type { HTMLAttributes, ReactElement, ReactNode } from "react";
|
|
3
|
+
export declare const gaugeSizeIds: readonly ["sm", "default", "lg", "xl"];
|
|
4
|
+
export type GaugeSizeId = (typeof gaugeSizeIds)[number];
|
|
5
|
+
export declare const gaugeColorIds: readonly ["default", "positive", "warning", "destructive"];
|
|
6
|
+
export type GaugeColorId = (typeof gaugeColorIds)[number];
|
|
7
|
+
export declare const gaugeVariants: (props?: ({
|
|
8
|
+
size?: "sm" | "default" | "lg" | "xl" | null | undefined;
|
|
9
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
10
|
+
export declare const gaugeIndicatorVariants: (props?: ({
|
|
11
|
+
color?: "default" | "destructive" | "warning" | "positive" | null | undefined;
|
|
12
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
13
|
+
export declare const gaugeValueLabelVariants: (props?: ({
|
|
14
|
+
size?: "sm" | "default" | "lg" | "xl" | null | undefined;
|
|
15
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
16
|
+
/**
|
|
17
|
+
* A single color zone painted along the gauge arc.
|
|
18
|
+
*
|
|
19
|
+
* Zones are rendered in order, each filling the portion of the arc between
|
|
20
|
+
* `from` and `to` (both expressed in the gauge's value space, not as
|
|
21
|
+
* percentages — they are normalized against the gauge's `min`/`max`).
|
|
22
|
+
*/
|
|
23
|
+
export interface GaugeZone {
|
|
24
|
+
/** Start of the zone, in the gauge's value space. */
|
|
25
|
+
from: number;
|
|
26
|
+
/** End of the zone, in the gauge's value space. */
|
|
27
|
+
to: number;
|
|
28
|
+
/** One of the standard gauge colors. */
|
|
29
|
+
color: GaugeColorId;
|
|
30
|
+
}
|
|
31
|
+
export interface GaugeProps extends Omit<HTMLAttributes<HTMLDivElement>, "role" | "color">, VariantProps<typeof gaugeVariants>, VariantProps<typeof gaugeIndicatorVariants> {
|
|
32
|
+
/** Current value (clamped to [min, max]). */
|
|
33
|
+
value: number;
|
|
34
|
+
/** Accessible label describing what the gauge represents. */
|
|
35
|
+
label: string;
|
|
36
|
+
/** Minimum value (defaults to 0). */
|
|
37
|
+
min?: number;
|
|
38
|
+
/** Maximum value (defaults to 100). */
|
|
39
|
+
max?: number;
|
|
40
|
+
/** Override the SVG stroke width. Defaults are size-aware. */
|
|
41
|
+
strokeWidth?: number;
|
|
42
|
+
/** When true (default), shows the numeric value below the arc. */
|
|
43
|
+
showValue?: boolean;
|
|
44
|
+
/** When true, render min/max tick labels below the arc endpoints. */
|
|
45
|
+
showRange?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Optional color zones rendered behind the indicator. Use to highlight
|
|
48
|
+
* acceptable / warning / danger ranges (e.g. CPU thresholds).
|
|
49
|
+
*/
|
|
50
|
+
zones?: ReadonlyArray<GaugeZone>;
|
|
51
|
+
/**
|
|
52
|
+
* When true and `zones` is provided, the indicator + value label color is
|
|
53
|
+
* automatically chosen from whichever zone contains the current value,
|
|
54
|
+
* overriding the `color` prop.
|
|
55
|
+
*/
|
|
56
|
+
autoColorFromZones?: boolean;
|
|
57
|
+
/** When true (default), render a needle indicator on top of the arc. */
|
|
58
|
+
showNeedle?: boolean;
|
|
59
|
+
/** When provided, displayed beneath the value (e.g. "ms", "%", "req/s"). */
|
|
60
|
+
unit?: string;
|
|
61
|
+
/** Custom content rendered beneath the arc, replacing the default value display. */
|
|
62
|
+
children?: ReactNode;
|
|
63
|
+
/** Additional classes for the indicator (animated) arc. */
|
|
64
|
+
indicatorClassName?: string;
|
|
65
|
+
/** Additional classes for the track (background) arc. */
|
|
66
|
+
trackClassName?: string;
|
|
67
|
+
/** Additional classes for the value label. */
|
|
68
|
+
valueLabelClassName?: string;
|
|
69
|
+
}
|
|
70
|
+
export declare function Gauge({ value, label, min, max, size, color, strokeWidth, showValue, showRange, showNeedle, zones, autoColorFromZones, unit, children, className, indicatorClassName, trackClassName, valueLabelClassName, ...props }: GaugeProps): ReactElement;
|
|
71
|
+
export declare namespace Gauge {
|
|
72
|
+
var displayName: string;
|
|
73
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { m } from "../../../framer-motion";
|
|
5
|
+
import { cn } from "../../../lib/utils";
|
|
6
|
+
export const gaugeSizeIds = ["sm", "default", "lg", "xl"];
|
|
7
|
+
export const gaugeColorIds = [
|
|
8
|
+
"default",
|
|
9
|
+
"positive",
|
|
10
|
+
"warning",
|
|
11
|
+
"destructive",
|
|
12
|
+
];
|
|
13
|
+
export const gaugeVariants = cva("relative inline-flex shrink-0 flex-col items-center justify-end", {
|
|
14
|
+
variants: {
|
|
15
|
+
size: {
|
|
16
|
+
sm: "w-32",
|
|
17
|
+
default: "w-48",
|
|
18
|
+
lg: "w-64",
|
|
19
|
+
xl: "w-80",
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
defaultVariants: {
|
|
23
|
+
size: "default",
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
export const gaugeIndicatorVariants = cva("transition-colors duration-300", {
|
|
27
|
+
variants: {
|
|
28
|
+
color: {
|
|
29
|
+
default: "stroke-schemavaults-brand-blue",
|
|
30
|
+
positive: "stroke-emerald-500 dark:stroke-emerald-400",
|
|
31
|
+
warning: "stroke-warning",
|
|
32
|
+
destructive: "stroke-destructive",
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
defaultVariants: {
|
|
36
|
+
color: "default",
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
const gaugeNeedleVariants = cva("transition-colors duration-300", {
|
|
40
|
+
variants: {
|
|
41
|
+
color: {
|
|
42
|
+
default: "fill-foreground stroke-foreground",
|
|
43
|
+
positive: "fill-emerald-500 stroke-emerald-500 dark:fill-emerald-400 dark:stroke-emerald-400",
|
|
44
|
+
warning: "fill-warning stroke-warning",
|
|
45
|
+
destructive: "fill-destructive stroke-destructive",
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
defaultVariants: {
|
|
49
|
+
color: "default",
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
export const gaugeValueLabelVariants = cva("font-semibold tabular-nums leading-none text-foreground", {
|
|
53
|
+
variants: {
|
|
54
|
+
size: {
|
|
55
|
+
sm: "text-base",
|
|
56
|
+
default: "text-2xl",
|
|
57
|
+
lg: "text-3xl",
|
|
58
|
+
xl: "text-4xl",
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
defaultVariants: {
|
|
62
|
+
size: "default",
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
const SIZE_TO_STROKE_WIDTH = {
|
|
66
|
+
sm: 12,
|
|
67
|
+
default: 14,
|
|
68
|
+
lg: 16,
|
|
69
|
+
xl: 18,
|
|
70
|
+
};
|
|
71
|
+
const VIEWBOX_WIDTH = 200;
|
|
72
|
+
const ARC_RADIUS = 80;
|
|
73
|
+
const ARC_CENTER_X = 100;
|
|
74
|
+
const ARC_CENTER_Y = 100;
|
|
75
|
+
const ARC_START_X = ARC_CENTER_X - ARC_RADIUS;
|
|
76
|
+
const ARC_END_X = ARC_CENTER_X + ARC_RADIUS;
|
|
77
|
+
const ARC_PATH = `M ${ARC_START_X} ${ARC_CENTER_Y} A ${ARC_RADIUS} ${ARC_RADIUS} 0 0 1 ${ARC_END_X} ${ARC_CENTER_Y}`;
|
|
78
|
+
const ZONE_STROKE_CLASSES = {
|
|
79
|
+
default: "stroke-schemavaults-brand-blue/60",
|
|
80
|
+
positive: "stroke-emerald-500/60 dark:stroke-emerald-400/60",
|
|
81
|
+
warning: "stroke-warning/70",
|
|
82
|
+
destructive: "stroke-destructive/60",
|
|
83
|
+
};
|
|
84
|
+
function clampValue(value, min, max) {
|
|
85
|
+
return Math.min(max, Math.max(min, value));
|
|
86
|
+
}
|
|
87
|
+
function valueToPercentage(value, min, max) {
|
|
88
|
+
if (max === min) {
|
|
89
|
+
return 0;
|
|
90
|
+
}
|
|
91
|
+
return ((value - min) / (max - min)) * 100;
|
|
92
|
+
}
|
|
93
|
+
function valueToNeedleAngle(percentage) {
|
|
94
|
+
// Map 0% → -90deg (pointing left) and 100% → +90deg (pointing right),
|
|
95
|
+
// so the needle rotates through the top of the dial.
|
|
96
|
+
return -90 + (percentage / 100) * 180;
|
|
97
|
+
}
|
|
98
|
+
function resolveAutoColor(value, zones, fallback) {
|
|
99
|
+
if (!zones || zones.length === 0) {
|
|
100
|
+
return fallback;
|
|
101
|
+
}
|
|
102
|
+
for (const zone of zones) {
|
|
103
|
+
const lo = Math.min(zone.from, zone.to);
|
|
104
|
+
const hi = Math.max(zone.from, zone.to);
|
|
105
|
+
if (value >= lo && value <= hi) {
|
|
106
|
+
return zone.color;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return fallback;
|
|
110
|
+
}
|
|
111
|
+
export function Gauge({ value, label, min = 0, max = 100, size, color, strokeWidth, showValue = true, showRange = false, showNeedle = true, zones, autoColorFromZones = false, unit, children, className, indicatorClassName, trackClassName, valueLabelClassName, ...props }) {
|
|
112
|
+
const resolvedSize = size ?? "default";
|
|
113
|
+
const resolvedStrokeWidth = strokeWidth ?? SIZE_TO_STROKE_WIDTH[resolvedSize];
|
|
114
|
+
const clamped = clampValue(value, min, max);
|
|
115
|
+
const percentage = valueToPercentage(clamped, min, max);
|
|
116
|
+
const fallbackColor = color ?? "default";
|
|
117
|
+
const indicatorColor = autoColorFromZones
|
|
118
|
+
? resolveAutoColor(clamped, zones, fallbackColor)
|
|
119
|
+
: fallbackColor;
|
|
120
|
+
const needleAngle = valueToNeedleAngle(percentage);
|
|
121
|
+
return (_jsxs("div", { role: "meter", "aria-valuenow": clamped, "aria-valuemin": min, "aria-valuemax": max, "aria-label": label, className: cn(gaugeVariants({ size }), className), ...props, children: [_jsxs("svg", { viewBox: `0 0 ${VIEWBOX_WIDTH} ${ARC_CENTER_Y + resolvedStrokeWidth + 4}`, className: "w-full", "aria-hidden": "true", children: [_jsx("path", { d: ARC_PATH, fill: "none", strokeWidth: resolvedStrokeWidth, strokeLinecap: "round", className: cn("stroke-secondary", trackClassName), pathLength: 1 }), zones?.map((zone, index) => {
|
|
122
|
+
const zoneLo = clampValue(Math.min(zone.from, zone.to), min, max);
|
|
123
|
+
const zoneHi = clampValue(Math.max(zone.from, zone.to), min, max);
|
|
124
|
+
const startPct = valueToPercentage(zoneLo, min, max) / 100;
|
|
125
|
+
const endPct = valueToPercentage(zoneHi, min, max) / 100;
|
|
126
|
+
const span = Math.max(0, endPct - startPct);
|
|
127
|
+
if (span === 0) {
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
return (_jsx("path", { d: ARC_PATH, fill: "none", strokeWidth: resolvedStrokeWidth, strokeLinecap: "butt", pathLength: 1, strokeDasharray: `${span} ${1 - span}`, strokeDashoffset: -startPct, className: ZONE_STROKE_CLASSES[zone.color] }, `zone-${index.toString()}`));
|
|
131
|
+
}), _jsx(m.path, { d: ARC_PATH, fill: "none", strokeWidth: resolvedStrokeWidth, strokeLinecap: "round", pathLength: 1, strokeDasharray: 1, initial: { strokeDashoffset: 1 }, animate: { strokeDashoffset: 1 - percentage / 100 }, transition: { duration: 0.5, ease: "easeOut" }, className: cn(gaugeIndicatorVariants({ color: indicatorColor }), indicatorClassName) }), showNeedle && (_jsxs(m.g, { initial: { rotate: valueToNeedleAngle(0) }, animate: { rotate: needleAngle }, transition: { duration: 0.5, ease: "easeOut" }, style: { transformOrigin: `${ARC_CENTER_X}px ${ARC_CENTER_Y}px` }, children: [_jsx("line", { x1: ARC_CENTER_X, y1: ARC_CENTER_Y, x2: ARC_CENTER_X, y2: ARC_CENTER_Y - (ARC_RADIUS - resolvedStrokeWidth / 2 - 2), strokeWidth: 3, strokeLinecap: "round", className: gaugeNeedleVariants({ color: indicatorColor }) }), _jsx("circle", { cx: ARC_CENTER_X, cy: ARC_CENTER_Y, r: 6, className: cn(gaugeNeedleVariants({ color: indicatorColor }), "stroke-background"), strokeWidth: 2 })] }))] }), showRange && (_jsxs("div", { className: "flex w-[88%] justify-between text-xs tabular-nums text-muted-foreground -mt-1", children: [_jsx("span", { children: min }), _jsx("span", { children: max })] })), (children || showValue) && (_jsx("div", { className: cn("mt-1 flex flex-col items-center gap-0.5", valueLabelClassName), children: children ?? (_jsxs(_Fragment, { children: [_jsx("span", { className: gaugeValueLabelVariants({ size: resolvedSize }), children: Math.round(clamped) }), unit && (_jsx("span", { className: "text-xs uppercase tracking-wide text-muted-foreground", children: unit }))] })) }))] }));
|
|
132
|
+
}
|
|
133
|
+
Gauge.displayName = "Gauge";
|
|
134
|
+
//# sourceMappingURL=gauge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gauge.js","sourceRoot":"","sources":["../../../../src/components/ui/gauge/gauge.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/ui/gauge/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,aAAa,EACb,sBAAsB,EACtB,uBAAuB,EACvB,YAAY,EACZ,aAAa,GACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,KAAK,IAAI,OAAO,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -104,6 +104,8 @@ export * from "./progress-bar";
|
|
|
104
104
|
export type * from "./progress-bar";
|
|
105
105
|
export * from "./circular-progress";
|
|
106
106
|
export type * from "./circular-progress";
|
|
107
|
+
export * from "./gauge";
|
|
108
|
+
export type * from "./gauge";
|
|
107
109
|
export * from "./breadcrumb";
|
|
108
110
|
export type * from "./breadcrumb";
|
|
109
111
|
export * from "./pagination";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AAGzB,cAAc,aAAa,CAAC;AAG5B,cAAc,SAAS,CAAC;AAGxB,cAAc,WAAW,CAAC;AAG1B,cAAc,SAAS,CAAC;AAGxB,cAAc,mBAAmB,CAAC;AAGlC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAGxB,cAAc,kBAAkB,CAAC;AAGjC,cAAc,aAAa,CAAC;AAG5B,cAAc,kCAAkC,CAAC;AAGjD,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,SAAS,CAAC;AAExB,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,QAAQ,CAAC;AAGvB,cAAc,QAAQ,CAAC;AAGvB,cAAc,aAAa,CAAC;AAG5B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,WAAW,CAAC;AAG1B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,UAAU,CAAC;AAGzB,cAAc,WAAW,CAAC;AAG1B,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC;AAGxB,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,YAAY,CAAC;AAG3B,cAAc,cAAc,CAAC;AAG7B,cAAc,eAAe,CAAC;AAG9B,cAAc,YAAY,CAAC;AAG3B,cAAc,2BAA2B,CAAC;AAG1C,cAAc,kBAAkB,CAAC;AAGjC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,eAAe,CAAC;AAG9B,cAAc,WAAW,CAAC;AAG1B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,eAAe,CAAC;AAG9B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,QAAQ,CAAC;AAGvB,cAAc,QAAQ,CAAC;AAGvB,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC;AAGzB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,cAAc,CAAC;AAG7B,cAAc,cAAc,CAAC;AAG7B,cAAc,OAAO,CAAC;AAGtB,cAAc,eAAe,CAAC;AAG9B,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC;AAGzB,cAAc,eAAe,CAAC;AAG9B,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,UAAU,CAAC;AAGzB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC;AAG7B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC;AAGzB,cAAc,QAAQ,CAAC;AAGvB,cAAc,cAAc,CAAC;AAG7B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,aAAa,CAAC;AAG5B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,oBAAoB,CAAC;AAGnC,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AAGzB,cAAc,aAAa,CAAC;AAG5B,cAAc,SAAS,CAAC;AAGxB,cAAc,WAAW,CAAC;AAG1B,cAAc,SAAS,CAAC;AAGxB,cAAc,mBAAmB,CAAC;AAGlC,cAAc,0BAA0B,CAAC;AAGzC,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAGxB,cAAc,kBAAkB,CAAC;AAGjC,cAAc,aAAa,CAAC;AAG5B,cAAc,kCAAkC,CAAC;AAGjD,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,SAAS,CAAC;AAExB,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,QAAQ,CAAC;AAGvB,cAAc,QAAQ,CAAC;AAGvB,cAAc,aAAa,CAAC;AAG5B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,WAAW,CAAC;AAG1B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,UAAU,CAAC;AAGzB,cAAc,WAAW,CAAC;AAG1B,cAAc,WAAW,CAAC;AAG1B,cAAc,YAAY,CAAC;AAG3B,cAAc,SAAS,CAAC;AAGxB,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,YAAY,CAAC;AAG3B,cAAc,cAAc,CAAC;AAG7B,cAAc,eAAe,CAAC;AAG9B,cAAc,YAAY,CAAC;AAG3B,cAAc,2BAA2B,CAAC;AAG1C,cAAc,kBAAkB,CAAC;AAGjC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,eAAe,CAAC;AAG9B,cAAc,WAAW,CAAC;AAG1B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC;AAG7B,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,cAAc,eAAe,CAAC;AAG9B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,QAAQ,CAAC;AAGvB,cAAc,QAAQ,CAAC;AAGvB,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC;AAGzB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,SAAS,CAAC;AAGxB,cAAc,cAAc,CAAC;AAG7B,cAAc,cAAc,CAAC;AAG7B,cAAc,OAAO,CAAC;AAGtB,cAAc,eAAe,CAAC;AAG9B,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC;AAGzB,cAAc,eAAe,CAAC;AAG9B,cAAc,aAAa,CAAC;AAG5B,cAAc,YAAY,CAAC;AAG3B,cAAc,UAAU,CAAC;AAGzB,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC;AAG7B,cAAc,qBAAqB,CAAC;AAGpC,cAAc,WAAW,CAAC;AAG1B,cAAc,UAAU,CAAC;AAGzB,cAAc,QAAQ,CAAC;AAGvB,cAAc,cAAc,CAAC;AAG7B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,aAAa,CAAC;AAG5B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,oBAAoB,CAAC;AAGnC,cAAc,aAAa,CAAC"}
|