@gridui/grid 2.3.3 → 2.3.6
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/container/container.d.ts +2 -2
- package/dist/container/style.d.ts +1 -1
- package/dist/frame-boundary/boundary-options.d.ts +12 -0
- package/dist/frame-boundary/frame-boundary.d.ts +2 -5
- package/dist/frame-footer/frame-footer.d.ts +2 -7
- package/dist/frame-rail-group/frame-rail-group.d.ts +4 -6
- package/dist/frame-region/frame-region.d.ts +3 -3
- package/dist/frame-region-row/frame-region-row.d.ts +3 -3
- package/dist/frame-section/frame-section.d.ts +2 -7
- package/dist/grid-item/grid-item.d.ts +2 -3
- package/dist/index.d.ts +2 -1
- package/dist/index.js +31 -31
- package/dist/index.js.map +2 -2
- package/dist/page-frame/page-frame.d.ts +4 -4
- package/dist/page-frame/style.d.ts +1 -1
- package/dist/shared/decoration.d.ts +1 -1
- package/dist/shared/frame-rail-options.d.ts +12 -0
- package/dist/shared/frame-surface-options.d.ts +13 -0
- package/dist/shared/types.d.ts +4 -0
- package/dist/styles.css +62 -62
- package/docs/catalog.json +257 -0
- package/package.json +4 -4
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* @namespace Container
|
|
5
5
|
* @description Container
|
|
6
6
|
*/
|
|
7
|
-
import type { ElementProps } from "../shared/types";
|
|
7
|
+
import type { ContainerWidth, ElementProps } from "../shared/types";
|
|
8
8
|
import type { FC } from "react";
|
|
9
9
|
export type ContainerProps = ElementProps & {
|
|
10
|
-
readonly width?:
|
|
10
|
+
readonly width?: ContainerWidth;
|
|
11
11
|
};
|
|
12
12
|
export declare const Container: FC<ContainerProps>;
|
|
@@ -10,5 +10,5 @@ export declare const containerWidthClasses: {
|
|
|
10
10
|
wide: string;
|
|
11
11
|
};
|
|
12
12
|
export declare const containerVariants: (props?: ({
|
|
13
|
-
width?: "
|
|
13
|
+
width?: "narrow" | "standard" | "wide" | null | undefined;
|
|
14
14
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author WMXPY
|
|
3
|
+
* @package Grid
|
|
4
|
+
* @namespace FrameBoundary
|
|
5
|
+
* @description Boundary Options
|
|
6
|
+
*/
|
|
7
|
+
import type { frameBoundaryStyles } from "./style";
|
|
8
|
+
import type { VariantProps } from "class-variance-authority";
|
|
9
|
+
export type FrameBoundaryStyle = NonNullable<VariantProps<typeof frameBoundaryStyles>["boundary"]>;
|
|
10
|
+
export type FrameBoundaryOptions = {
|
|
11
|
+
readonly boundary?: FrameBoundaryStyle;
|
|
12
|
+
};
|
|
@@ -4,12 +4,9 @@
|
|
|
4
4
|
* @namespace FrameBoundary
|
|
5
5
|
* @description Frame Boundary
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
8
|
-
import type { VariantProps } from "class-variance-authority";
|
|
7
|
+
import type { FrameBoundaryOptions } from "./boundary-options";
|
|
9
8
|
import type { ComponentPropsWithRef, FC } from "react";
|
|
10
|
-
export type
|
|
11
|
-
export type FrameBoundaryProps = Omit<ComponentPropsWithRef<"div">, "children"> & {
|
|
12
|
-
readonly boundary?: FrameBoundaryStyle;
|
|
9
|
+
export type FrameBoundaryProps = Omit<ComponentPropsWithRef<"div">, "children"> & FrameBoundaryOptions & {
|
|
13
10
|
readonly extent?: "content" | "frame";
|
|
14
11
|
};
|
|
15
12
|
export declare const FrameBoundary: FC<FrameBoundaryProps>;
|
|
@@ -4,16 +4,11 @@
|
|
|
4
4
|
* @namespace FrameFooter
|
|
5
5
|
* @description Frame Footer
|
|
6
6
|
*/
|
|
7
|
-
import { type FrameBoundaryStyle } from "../frame-boundary/frame-boundary";
|
|
8
7
|
import { type ChromeProps } from "../shared/chrome";
|
|
9
|
-
import {
|
|
10
|
-
import { type FrameTone } from "../shared/frame-style";
|
|
8
|
+
import type { FrameSurfaceOptions } from "../shared/frame-surface-options";
|
|
11
9
|
import type { ComponentPropsWithRef, FC, ReactNode } from "react";
|
|
12
|
-
export type FrameFooterProps = ComponentPropsWithRef<"footer"> & ChromeProps & {
|
|
10
|
+
export type FrameFooterProps = ComponentPropsWithRef<"footer"> & ChromeProps & FrameSurfaceOptions & {
|
|
13
11
|
readonly contentLayout?: "flex" | "block";
|
|
14
|
-
readonly tone?: FrameTone;
|
|
15
|
-
readonly boundary?: FrameBoundaryStyle;
|
|
16
|
-
readonly decoration?: FrameDecorationStyle;
|
|
17
12
|
readonly signature?: ReactNode;
|
|
18
13
|
readonly signatureAppearance?: "standard" | "cropped";
|
|
19
14
|
};
|
|
@@ -4,10 +4,8 @@
|
|
|
4
4
|
* @namespace FrameRailGroup
|
|
5
5
|
* @description Frame Rail Group
|
|
6
6
|
*/
|
|
7
|
-
import
|
|
8
|
-
import type {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
readonly railWidth?: Responsive<Space>;
|
|
12
|
-
};
|
|
7
|
+
import type { FrameRailOptions } from "../shared/frame-rail-options";
|
|
8
|
+
import type { ElementProps } from "../shared/types";
|
|
9
|
+
import type { FC } from "react";
|
|
10
|
+
export type FrameRailGroupProps = ElementProps & FrameRailOptions;
|
|
13
11
|
export declare const FrameRailGroup: FC<FrameRailGroupProps>;
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* @namespace FrameRegion
|
|
5
5
|
* @description Frame Region
|
|
6
6
|
*/
|
|
7
|
-
import type {
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
import type { SlottedElementOptions } from "../shared/types";
|
|
8
|
+
import type { FC } from "react";
|
|
9
|
+
export type FrameRegionProps = SlottedElementOptions & {
|
|
10
10
|
readonly edge?: "none" | "left" | "right" | "both";
|
|
11
11
|
};
|
|
12
12
|
export declare const FrameRegion: FC<FrameRegionProps>;
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
* @namespace FrameRegionRow
|
|
5
5
|
* @description Frame Region Row
|
|
6
6
|
*/
|
|
7
|
-
import type {
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
import type { SlottedElementOptions } from "../shared/types";
|
|
8
|
+
import type { FC } from "react";
|
|
9
|
+
export type FrameRegionRowProps = SlottedElementOptions & {
|
|
10
10
|
readonly contentInset?: number | string;
|
|
11
11
|
};
|
|
12
12
|
export declare const FrameRegionRow: FC<FrameRegionRowProps>;
|
|
@@ -4,16 +4,11 @@
|
|
|
4
4
|
* @namespace FrameSection
|
|
5
5
|
* @description Frame Section
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
8
|
-
import { type FrameDecorationStyle } from "../shared/decoration";
|
|
9
|
-
import { type FrameTone } from "../shared/frame-style";
|
|
7
|
+
import type { FrameSurfaceOptions } from "../shared/frame-surface-options";
|
|
10
8
|
import type { FrameTextureStyle } from "../shared/texture-types";
|
|
11
9
|
import { type Responsive, type Space } from "@gridui/style-utils/responsive";
|
|
12
10
|
import type { ComponentPropsWithRef, FC } from "react";
|
|
13
|
-
export type FrameSectionProps = ComponentPropsWithRef<"section"> & {
|
|
14
|
-
readonly tone?: FrameTone;
|
|
15
|
-
readonly boundary?: FrameBoundaryStyle;
|
|
16
|
-
readonly decoration?: FrameDecorationStyle;
|
|
11
|
+
export type FrameSectionProps = ComponentPropsWithRef<"section"> & FrameSurfaceOptions & {
|
|
17
12
|
readonly texture?: FrameTextureStyle;
|
|
18
13
|
readonly edges?: "frame" | "none";
|
|
19
14
|
readonly paddingInline?: Responsive<Space>;
|
|
@@ -5,11 +5,10 @@
|
|
|
5
5
|
* @description Grid Item
|
|
6
6
|
*/
|
|
7
7
|
import type { Span } from "../shared/responsive-types";
|
|
8
|
-
import type {
|
|
8
|
+
import type { SlottedElementOptions } from "../shared/types";
|
|
9
9
|
import { type Responsive, type Space } from "@gridui/style-utils/responsive";
|
|
10
10
|
import type { FC } from "react";
|
|
11
|
-
export type GridItemProps =
|
|
12
|
-
readonly asChild?: boolean;
|
|
11
|
+
export type GridItemProps = SlottedElementOptions & {
|
|
13
12
|
readonly span?: Responsive<Span>;
|
|
14
13
|
readonly padding?: Responsive<Space>;
|
|
15
14
|
readonly align?: "end" | "center";
|
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,8 @@ export type { ContainerProps } from "./container/container";
|
|
|
8
8
|
export { Container } from "./container/container";
|
|
9
9
|
export type { DashboardFrameProps, DashboardFrameSize } from "./dashboard-frame/dashboard-frame";
|
|
10
10
|
export { DashboardFrame } from "./dashboard-frame/dashboard-frame";
|
|
11
|
-
export type {
|
|
11
|
+
export type { FrameBoundaryStyle } from "./frame-boundary/boundary-options";
|
|
12
|
+
export type { FrameBoundaryProps } from "./frame-boundary/frame-boundary";
|
|
12
13
|
export { FrameBoundary } from "./frame-boundary/frame-boundary";
|
|
13
14
|
export type { FrameFooterProps } from "./frame-footer/frame-footer";
|
|
14
15
|
export { FrameFooter } from "./frame-footer/frame-footer";
|
package/dist/index.js
CHANGED
|
@@ -71,28 +71,28 @@ import { cva as cva2 } from "class-variance-authority";
|
|
|
71
71
|
var dashboardFrameVariants = cva2("gridui-dashboard-frame", {
|
|
72
72
|
variants: {
|
|
73
73
|
startSize: {
|
|
74
|
-
none: "gridui-u-[--gridui-dashboard-start:0px] gridui-u-[--gridui-dashboard-start-minimum:0px]",
|
|
75
|
-
small: "gridui-u-[--gridui-dashboard-start:var(--gridui-space-8)]",
|
|
76
|
-
medium: "gridui-u-[--gridui-dashboard-start:var(--gridui-space-16)]",
|
|
77
|
-
large: "gridui-u-[--gridui-dashboard-start:var(--gridui-space-24)]"
|
|
74
|
+
none: "gridui-u-grid--[--gridui-dashboard-start:0px] gridui-u-grid--[--gridui-dashboard-start-minimum:0px]",
|
|
75
|
+
small: "gridui-u-grid--[--gridui-dashboard-start:var(--gridui-space-8)]",
|
|
76
|
+
medium: "gridui-u-grid--[--gridui-dashboard-start:var(--gridui-space-16)]",
|
|
77
|
+
large: "gridui-u-grid--[--gridui-dashboard-start:var(--gridui-space-24)]"
|
|
78
78
|
},
|
|
79
79
|
endSize: {
|
|
80
|
-
none: "gridui-u-[--gridui-dashboard-end:0px] gridui-u-[--gridui-dashboard-end-minimum:0px]",
|
|
81
|
-
small: "gridui-u-[--gridui-dashboard-end:var(--gridui-space-8)]",
|
|
82
|
-
medium: "gridui-u-[--gridui-dashboard-end:var(--gridui-space-16)]",
|
|
83
|
-
large: "gridui-u-[--gridui-dashboard-end:var(--gridui-space-24)]"
|
|
80
|
+
none: "gridui-u-grid--[--gridui-dashboard-end:0px] gridui-u-grid--[--gridui-dashboard-end-minimum:0px]",
|
|
81
|
+
small: "gridui-u-grid--[--gridui-dashboard-end:var(--gridui-space-8)]",
|
|
82
|
+
medium: "gridui-u-grid--[--gridui-dashboard-end:var(--gridui-space-16)]",
|
|
83
|
+
large: "gridui-u-grid--[--gridui-dashboard-end:var(--gridui-space-24)]"
|
|
84
84
|
},
|
|
85
85
|
compactStartSize: {
|
|
86
|
-
none: "gridui-u-[--gridui-dashboard-compact-start:0px] gridui-u-[--gridui-dashboard-compact-start-minimum:0px]",
|
|
87
|
-
small: "gridui-u-[--gridui-dashboard-compact-start:var(--gridui-space-8)]",
|
|
88
|
-
medium: "gridui-u-[--gridui-dashboard-compact-start:var(--gridui-space-16)]",
|
|
89
|
-
large: "gridui-u-[--gridui-dashboard-compact-start:var(--gridui-space-24)]"
|
|
86
|
+
none: "gridui-u-grid--[--gridui-dashboard-compact-start:0px] gridui-u-grid--[--gridui-dashboard-compact-start-minimum:0px]",
|
|
87
|
+
small: "gridui-u-grid--[--gridui-dashboard-compact-start:var(--gridui-space-8)]",
|
|
88
|
+
medium: "gridui-u-grid--[--gridui-dashboard-compact-start:var(--gridui-space-16)]",
|
|
89
|
+
large: "gridui-u-grid--[--gridui-dashboard-compact-start:var(--gridui-space-24)]"
|
|
90
90
|
},
|
|
91
91
|
compactEndSize: {
|
|
92
|
-
none: "gridui-u-[--gridui-dashboard-compact-end:0px] gridui-u-[--gridui-dashboard-compact-end-minimum:0px]",
|
|
93
|
-
small: "gridui-u-[--gridui-dashboard-compact-end:var(--gridui-space-8)]",
|
|
94
|
-
medium: "gridui-u-[--gridui-dashboard-compact-end:var(--gridui-space-16)]",
|
|
95
|
-
large: "gridui-u-[--gridui-dashboard-compact-end:var(--gridui-space-24)]"
|
|
92
|
+
none: "gridui-u-grid--[--gridui-dashboard-compact-end:0px] gridui-u-grid--[--gridui-dashboard-compact-end-minimum:0px]",
|
|
93
|
+
small: "gridui-u-grid--[--gridui-dashboard-compact-end:var(--gridui-space-8)]",
|
|
94
|
+
medium: "gridui-u-grid--[--gridui-dashboard-compact-end:var(--gridui-space-16)]",
|
|
95
|
+
large: "gridui-u-grid--[--gridui-dashboard-compact-end:var(--gridui-space-24)]"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
defaultVariants: {
|
|
@@ -214,17 +214,17 @@ var frameToneStyles = (options = {}) => {
|
|
|
214
214
|
};
|
|
215
215
|
var frameContentStyles = cva5(cn4(
|
|
216
216
|
"gridui-frame-content",
|
|
217
|
-
"gridui-u-border-x gridui-u-border-solid gridui-u-border-border gridui-u-wrap-anywhere"
|
|
217
|
+
"gridui-u-grid--border-x gridui-u-grid--border-solid gridui-u-grid--border-border gridui-u-grid--wrap-anywhere"
|
|
218
218
|
));
|
|
219
219
|
|
|
220
220
|
// src/frame-footer/style.ts
|
|
221
221
|
import { cn as cn5 } from "@gridui/style-utils";
|
|
222
222
|
import { cva as cva6 } from "class-variance-authority";
|
|
223
223
|
var frameSignatureStyles = cva6(cn5(
|
|
224
|
-
"gridui-frame-signature gridui-u-flex gridui-u-min-w-0 gridui-u-items-center gridui-u-justify-center gridui-u-gap-gridui-24 gridui-u-py-gridui-32 gridui-u-px-gridui-24 gridui-u-overflow-hidden gridui-u-border-t gridui-u-border-solid gridui-u-border-border gridui-u-bg-transparent",
|
|
225
|
-
"gridui-u-[&>svg]:h-auto gridui-u-[&>svg]:opacity-30 gridui-u-[&>span]:font-display gridui-u-[&>span]:leading-none gridui-u-[&>span]:text-transparent"
|
|
224
|
+
"gridui-frame-signature gridui-u-grid--flex gridui-u-grid--min-w-0 gridui-u-grid--items-center gridui-u-grid--justify-center gridui-u-grid--gap-gridui-24 gridui-u-grid--py-gridui-32 gridui-u-grid--px-gridui-24 gridui-u-grid--overflow-hidden gridui-u-grid--border-t gridui-u-grid--border-solid gridui-u-grid--border-border gridui-u-grid--bg-transparent",
|
|
225
|
+
"gridui-u-grid--[&>svg]:h-auto gridui-u-grid--[&>svg]:opacity-30 gridui-u-grid--[&>span]:font-display gridui-u-grid--[&>span]:leading-none gridui-u-grid--[&>span]:text-transparent"
|
|
226
226
|
));
|
|
227
|
-
var frameSignatureCroppedStyles = cva6("gridui-frame-signature-cropped gridui-u-block gridui-u-pb-0 gridui-u
|
|
227
|
+
var frameSignatureCroppedStyles = cva6("gridui-frame-signature-cropped gridui-u-grid--block gridui-u-grid--pb-0 gridui-u-grid--@container gridui-u-grid--[&>span]:block gridui-u-grid--[&>span]:text-center gridui-u-grid--[&>span]:whitespace-nowrap");
|
|
228
228
|
|
|
229
229
|
// src/frame-footer/frame-footer.tsx
|
|
230
230
|
import { cn as cn6 } from "@gridui/style-utils";
|
|
@@ -312,9 +312,9 @@ var FrameHeader = (props) => {
|
|
|
312
312
|
|
|
313
313
|
// src/frame-rail/style.ts
|
|
314
314
|
import { cva as cva7 } from "class-variance-authority";
|
|
315
|
-
var frameRailStyles = cva7("gridui-frame-rail gridui-u-flex gridui-u-h-full gridui-u-box-border gridui-u-flex-col gridui-u-py-gridui-24 gridui-u-text-muted");
|
|
316
|
-
var frameRailContentStyles = cva7("gridui-frame-rail-content gridui-u-relative gridui-u-z-(--gridui-z-interaction) gridui-u-min-w-0 gridui-u-type-eyebrow gridui-u-bg-inherit");
|
|
317
|
-
var frameRailStickyBottomStyles = cva7("gridui-frame-rail-sticky-bottom gridui-u-justify-end gridui-u-[&>.gridui-frame-rail-content]:sticky");
|
|
315
|
+
var frameRailStyles = cva7("gridui-frame-rail gridui-u-grid--flex gridui-u-grid--h-full gridui-u-grid--box-border gridui-u-grid--flex-col gridui-u-grid--py-gridui-24 gridui-u-grid--text-muted");
|
|
316
|
+
var frameRailContentStyles = cva7("gridui-frame-rail-content gridui-u-grid--relative gridui-u-grid--z-(--gridui-z-interaction) gridui-u-grid--min-w-0 gridui-u-grid--type-eyebrow gridui-u-grid--bg-inherit");
|
|
317
|
+
var frameRailStickyBottomStyles = cva7("gridui-frame-rail-sticky-bottom gridui-u-grid--justify-end gridui-u-grid--[&>.gridui-frame-rail-content]:sticky");
|
|
318
318
|
|
|
319
319
|
// src/frame-rail/frame-rail.tsx
|
|
320
320
|
import { cn as cn8 } from "@gridui/style-utils";
|
|
@@ -473,7 +473,7 @@ var FrameSection = (props) => {
|
|
|
473
473
|
/* @__PURE__ */ jsxs5(
|
|
474
474
|
"div",
|
|
475
475
|
{
|
|
476
|
-
className: cn12(frameContentStyles(), "gridui-frame-surface", edges === "none" && "gridui-u-border-x-0"),
|
|
476
|
+
className: cn12(frameContentStyles(), "gridui-frame-surface", edges === "none" && "gridui-u-grid--border-x-0"),
|
|
477
477
|
style: {
|
|
478
478
|
...spacingVariables("section-padding-inline", paddingInline),
|
|
479
479
|
...spacingVariables("section-padding-block", paddingBlock)
|
|
@@ -524,7 +524,7 @@ import { cn as cn14 } from "@gridui/style-utils";
|
|
|
524
524
|
import { cva as cva8 } from "class-variance-authority";
|
|
525
525
|
var gridItemStyles = cva8(cn14(
|
|
526
526
|
"gridui-grid-item",
|
|
527
|
-
"gridui-u-min-w-0 gridui-u-wrap-anywhere"
|
|
527
|
+
"gridui-u-grid--min-w-0 gridui-u-grid--wrap-anywhere"
|
|
528
528
|
));
|
|
529
529
|
|
|
530
530
|
// src/grid-item/grid-item.tsx
|
|
@@ -573,15 +573,15 @@ import { cn as cn16 } from "@gridui/style-utils";
|
|
|
573
573
|
import { cva as cva9 } from "class-variance-authority";
|
|
574
574
|
var gridStyles = cva9(cn16(
|
|
575
575
|
"gridui-grid",
|
|
576
|
-
"gridui-u-grid gridui-u-min-w-0"
|
|
576
|
+
"gridui-u-grid--grid gridui-u-grid--min-w-0"
|
|
577
577
|
));
|
|
578
578
|
var gridCellsStyles = cva9(cn16(
|
|
579
579
|
"gridui-grid-cells",
|
|
580
|
-
"gridui-u-border-t gridui-u-border-solid gridui-u-border-border gridui-u-border-l gridui-u-border-solid gridui-u-border-border"
|
|
580
|
+
"gridui-u-grid--border-t gridui-u-grid--border-solid gridui-u-grid--border-border gridui-u-grid--border-l gridui-u-grid--border-solid gridui-u-grid--border-border"
|
|
581
581
|
));
|
|
582
582
|
var gridInternalStyles = cva9(cn16(
|
|
583
583
|
"gridui-grid-internal",
|
|
584
|
-
"gridui-u-bg-border"
|
|
584
|
+
"gridui-u-grid--bg-border"
|
|
585
585
|
));
|
|
586
586
|
var gridVariants = cva9(gridStyles(), {
|
|
587
587
|
variants: {
|
|
@@ -751,7 +751,7 @@ var Grid = (props) => {
|
|
|
751
751
|
|
|
752
752
|
// src/page-frame/style.ts
|
|
753
753
|
import { cva as cva10 } from "class-variance-authority";
|
|
754
|
-
var pageFrameVariants = cva10("gridui-page-frame gridui-u-min-h-svh", {
|
|
754
|
+
var pageFrameVariants = cva10("gridui-page-frame gridui-u-grid--min-h-svh", {
|
|
755
755
|
variants: {
|
|
756
756
|
width: containerWidthClasses
|
|
757
757
|
},
|
|
@@ -840,7 +840,7 @@ import { cn as cn19 } from "@gridui/style-utils";
|
|
|
840
840
|
import { cva as cva11 } from "class-variance-authority";
|
|
841
841
|
var rowStyles = cva11(cn19(
|
|
842
842
|
"gridui-row",
|
|
843
|
-
"gridui-u-min-w-0"
|
|
843
|
+
"gridui-u-grid--min-w-0"
|
|
844
844
|
));
|
|
845
845
|
|
|
846
846
|
// src/row/row.tsx
|
|
@@ -906,7 +906,7 @@ import { cn as cn22 } from "@gridui/style-utils";
|
|
|
906
906
|
import { cva as cva12 } from "class-variance-authority";
|
|
907
907
|
var stackStyles = cva12(cn22(
|
|
908
908
|
"gridui-stack",
|
|
909
|
-
"gridui-u-flex gridui-u-min-w-0 gridui-u-flex-col"
|
|
909
|
+
"gridui-u-grid--flex gridui-u-grid--min-w-0 gridui-u-grid--flex-col"
|
|
910
910
|
));
|
|
911
911
|
|
|
912
912
|
// src/stack/stack.tsx
|
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/container/style.ts", "../src/container/container.tsx", "../src/shared/decoration.tsx", "../src/dashboard-frame/style.ts", "../src/dashboard-frame/dashboard-frame.tsx", "../src/frame-boundary/style.ts", "../src/frame-boundary/frame-boundary.tsx", "../src/shared/chrome.ts", "../src/shared/chrome-style.ts", "../src/shared/frame-style.ts", "../src/frame-footer/style.ts", "../src/frame-footer/frame-footer.tsx", "../src/frame-header/frame-header.tsx", "../src/frame-rail/style.ts", "../src/frame-rail/frame-rail.tsx", "../src/frame-rail-group/frame-rail-group.tsx", "../src/frame-region/frame-region.tsx", "../src/frame-region-row/frame-region-row.tsx", "../src/frame-texture/frame-texture.tsx", "../src/frame-section/frame-section.tsx", "../src/frame-sections/frame-sections.tsx", "../src/grid-item/responsive.ts", "../src/grid-item/style.ts", "../src/grid-item/grid-item.tsx", "../src/grid/style.ts", "../src/grid/tracks.ts", "../src/grid/grid.tsx", "../src/page-frame/style.ts", "../src/page-frame/page-frame.tsx", "../src/row/style.ts", "../src/row/row.tsx", "../src/split/split.tsx", "../src/stack/style.ts", "../src/stack/stack.tsx"],
|
|
4
|
-
"sourcesContent": ["/**\n * @author WMXPY\n * @package Grid\n * @namespace Container\n * @description Style\n */\n\nimport { cva } from \"class-variance-authority\";\n\nexport const containerWidthClasses = {\n narrow: \"gridui-container-narrow\",\n standard: \"gridui-container-standard\",\n wide: \"gridui-container-wide\",\n};\n\nexport const containerVariants = cva(\"gridui-container\", {\n variants: {\n width: containerWidthClasses,\n },\n defaultVariants: { width: \"standard\" },\n});\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Container\n * @description Container\n */\n\nimport type { ElementProps } from \"../shared/types\";\nimport { containerVariants } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { FC } from \"react\";\n\nexport type ContainerProps = ElementProps & {\n readonly width?: \"narrow\" | \"standard\" | \"wide\";\n};\n\nexport const Container: FC<ContainerProps> = (props: ContainerProps) => {\n const { width = \"standard\", className, ...restProps } = props;\n return (<div\n {...restProps}\n className={cn(containerVariants({ width }), className)}\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Shared\n * @description Decoration\n */\n\nimport type { FrameBoundaryStyle } from \"../frame-boundary/frame-boundary\";\nimport type { FC } from \"react\";\n\nexport type FrameDecorationStyle = \"none\" | \"nodes\" | \"marks\" | \"corners\" | \"ticks\";\n\nexport const resolveFrameDecoration = (\n boundary: FrameBoundaryStyle,\n decoration?: FrameDecorationStyle,\n): FrameDecorationStyle => {\n return decoration ?? (boundary === \"band\" ? \"nodes\" : \"none\");\n};\n\nexport type FrameDecorationProps = {\n readonly decoration: FrameDecorationStyle;\n readonly side?: \"start\" | \"end\";\n};\n\nexport const FrameDecoration: FC<FrameDecorationProps> = (props: FrameDecorationProps) => {\n const { decoration, side } = props;\n if (decoration === \"none\") {\n return null;\n }\n if (!side) {\n return (<>\n <FrameDecoration\n decoration={decoration}\n side=\"start\"\n />\n <FrameDecoration\n decoration={decoration}\n side=\"end\"\n />\n </>);\n }\n return (<div\n className=\"gridui-frame-decoration\"\n data-decoration={decoration}\n data-side={side}\n aria-hidden=\"true\"\n inert\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace DashboardFrame\n * @description Style\n */\n\nimport { cva } from \"class-variance-authority\";\n\nexport const dashboardFrameVariants = cva(\"gridui-dashboard-frame\", {\n variants: {\n startSize: {\n none: \"gridui-u-[--gridui-dashboard-start:0px] gridui-u-[--gridui-dashboard-start-minimum:0px]\",\n small: \"gridui-u-[--gridui-dashboard-start:var(--gridui-space-8)]\",\n medium: \"gridui-u-[--gridui-dashboard-start:var(--gridui-space-16)]\",\n large: \"gridui-u-[--gridui-dashboard-start:var(--gridui-space-24)]\",\n },\n endSize: {\n none: \"gridui-u-[--gridui-dashboard-end:0px] gridui-u-[--gridui-dashboard-end-minimum:0px]\",\n small: \"gridui-u-[--gridui-dashboard-end:var(--gridui-space-8)]\",\n medium: \"gridui-u-[--gridui-dashboard-end:var(--gridui-space-16)]\",\n large: \"gridui-u-[--gridui-dashboard-end:var(--gridui-space-24)]\",\n },\n compactStartSize: {\n none: \"gridui-u-[--gridui-dashboard-compact-start:0px] gridui-u-[--gridui-dashboard-compact-start-minimum:0px]\",\n small: \"gridui-u-[--gridui-dashboard-compact-start:var(--gridui-space-8)]\",\n medium: \"gridui-u-[--gridui-dashboard-compact-start:var(--gridui-space-16)]\",\n large: \"gridui-u-[--gridui-dashboard-compact-start:var(--gridui-space-24)]\",\n },\n compactEndSize: {\n none: \"gridui-u-[--gridui-dashboard-compact-end:0px] gridui-u-[--gridui-dashboard-compact-end-minimum:0px]\",\n small: \"gridui-u-[--gridui-dashboard-compact-end:var(--gridui-space-8)]\",\n medium: \"gridui-u-[--gridui-dashboard-compact-end:var(--gridui-space-16)]\",\n large: \"gridui-u-[--gridui-dashboard-compact-end:var(--gridui-space-24)]\",\n },\n },\n defaultVariants: {\n startSize: \"medium\",\n endSize: \"medium\",\n compactStartSize: \"small\",\n compactEndSize: \"small\",\n },\n});\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace DashboardFrame\n * @description Dashboard Frame\n */\n\nimport { FrameDecoration, type FrameDecorationStyle } from \"../shared/decoration\";\nimport { dashboardFrameVariants } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { VariantProps } from \"class-variance-authority\";\nimport type { ComponentPropsWithRef, FC } from \"react\";\n\nexport type DashboardFrameSize = NonNullable<VariantProps<typeof dashboardFrameVariants>[\"startSize\"]>;\n\nexport type DashboardFrameProps = ComponentPropsWithRef<\"div\"> & {\n readonly decoration?: FrameDecorationStyle;\n readonly startDecoration?: FrameDecorationStyle;\n readonly endDecoration?: FrameDecorationStyle;\n readonly startSize?: DashboardFrameSize;\n readonly endSize?: DashboardFrameSize;\n readonly compactStartSize?: DashboardFrameSize;\n readonly compactEndSize?: DashboardFrameSize;\n};\n\nexport const DashboardFrame: FC<DashboardFrameProps> = (props: DashboardFrameProps) => {\n const {\n startSize,\n endSize,\n compactStartSize,\n compactEndSize,\n decoration = \"none\",\n startDecoration = decoration,\n endDecoration = decoration,\n children,\n className,\n ...restProps\n } = props;\n\n return (<div\n {...restProps}\n className={cn(dashboardFrameVariants({\n startSize,\n endSize,\n compactStartSize,\n compactEndSize,\n }), className)}\n >\n <div\n className=\"gridui-dashboard-frame-body\"\n >\n {children}\n <FrameDecoration\n decoration={startDecoration}\n side=\"start\"\n />\n <FrameDecoration\n decoration={endDecoration}\n side=\"end\"\n />\n </div>\n </div>);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameBoundary\n * @description Style\n */\n\nimport { cva } from \"class-variance-authority\";\n\nexport const frameBoundaryStyles = cva(\"gridui-frame-boundary\", {\n variants: {\n boundary: {\n none: \"\",\n line: \"\",\n band: \"gridui-frame-divider\",\n stripe: \"gridui-frame-divider gridui-frame-stripe\",\n space: \"gridui-frame-space\",\n },\n },\n defaultVariants: { boundary: \"line\" },\n});\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameBoundary\n * @description Frame Boundary\n */\n\nimport { frameBoundaryStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { VariantProps } from \"class-variance-authority\";\nimport type { ComponentPropsWithRef, FC } from \"react\";\n\nexport type FrameBoundaryStyle = NonNullable<VariantProps<typeof frameBoundaryStyles>[\"boundary\"]>;\n\nexport type FrameBoundaryProps = Omit<ComponentPropsWithRef<\"div\">, \"children\"> & {\n readonly boundary?: FrameBoundaryStyle;\n readonly extent?: \"content\" | \"frame\";\n};\n\nexport const FrameBoundary: FC<FrameBoundaryProps> = (props: FrameBoundaryProps) => {\n const { boundary = \"line\", extent = \"content\", className, ...restProps } = props;\n return boundary === \"none\" ? null : (<div\n {...restProps}\n className={cn(frameBoundaryStyles({ boundary }), className)}\n data-boundary={boundary}\n data-boundary-extent={extent}\n aria-hidden=\"true\"\n inert\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Shared\n * @description Chrome\n */\n\nimport { resolveResponsive, type Responsive, type Space, spaceValue } from \"@gridui/style-utils/responsive\";\nimport type { CSSProperties } from \"react\";\n\nexport type ChromeProps = {\n readonly padding?: Responsive<Space>;\n};\n\nexport const chromeStyle = (padding: Responsive<Space>): CSSProperties & {\n \"--gridui-chrome-padding\": string;\n \"--gridui-chrome-padding-md\": string;\n \"--gridui-chrome-padding-lg\": string;\n} => {\n const values = resolveResponsive(padding);\n return {\n \"--gridui-chrome-padding\": spaceValue(values.base),\n \"--gridui-chrome-padding-md\": spaceValue(values.md),\n \"--gridui-chrome-padding-lg\": spaceValue(values.lg),\n };\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Shared\n * @description Chrome Style\n */\n\nimport { cva } from \"class-variance-authority\";\n\nexport const frameChromeStyles = cva(\"gridui-frame-chrome\");\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Shared\n * @description Frame Style\n */\n\nimport { cn } from \"@gridui/style-utils\";\nimport { paletteClass } from \"@gridui/theme\";\nimport { cva } from \"class-variance-authority\";\n\nexport type FrameTone = \"neutral\" | \"brand\" | \"warning\" | \"danger\";\n\nexport const frameToneStyles = (options: {\n readonly tone?: FrameTone;\n} = {}): string => {\n const { tone = \"neutral\" } = options;\n return tone === \"neutral\" ? \"\" : `gridui-frame-${tone} ${paletteClass(tone)}`;\n};\n\nexport const frameContentStyles = cva(cn(\n \"gridui-frame-content\",\n \"gridui-u-border-x gridui-u-border-solid gridui-u-border-border gridui-u-wrap-anywhere\",\n));\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameFooter\n * @description Style\n */\n\nimport { cn } from \"@gridui/style-utils\";\nimport { cva } from \"class-variance-authority\";\n\nexport const frameSignatureStyles = cva(cn(\n \"gridui-frame-signature gridui-u-flex gridui-u-min-w-0 gridui-u-items-center gridui-u-justify-center gridui-u-gap-gridui-24 gridui-u-py-gridui-32 gridui-u-px-gridui-24 gridui-u-overflow-hidden gridui-u-border-t gridui-u-border-solid gridui-u-border-border gridui-u-bg-transparent\",\n \"gridui-u-[&>svg]:h-auto gridui-u-[&>svg]:opacity-30 gridui-u-[&>span]:font-display gridui-u-[&>span]:leading-none gridui-u-[&>span]:text-transparent\",\n));\n\nexport const frameSignatureCroppedStyles = cva(\"gridui-frame-signature-cropped gridui-u-block gridui-u-pb-0 gridui-u-@container gridui-u-[&>span]:block gridui-u-[&>span]:text-center gridui-u-[&>span]:whitespace-nowrap\");\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameFooter\n * @description Frame Footer\n */\n\nimport { FrameBoundary, type FrameBoundaryStyle } from \"../frame-boundary/frame-boundary\";\nimport { type ChromeProps, chromeStyle } from \"../shared/chrome\";\nimport { frameChromeStyles } from \"../shared/chrome-style\";\nimport { FrameDecoration, type FrameDecorationStyle, resolveFrameDecoration } from \"../shared/decoration\";\nimport { frameContentStyles, type FrameTone, frameToneStyles } from \"../shared/frame-style\";\nimport { frameSignatureCroppedStyles, frameSignatureStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { ComponentPropsWithRef, FC, ReactNode } from \"react\";\n\nexport type FrameFooterProps = ComponentPropsWithRef<\"footer\"> & ChromeProps & {\n readonly contentLayout?: \"flex\" | \"block\";\n readonly tone?: FrameTone;\n readonly boundary?: FrameBoundaryStyle;\n readonly decoration?: FrameDecorationStyle;\n readonly signature?: ReactNode;\n readonly signatureAppearance?: \"standard\" | \"cropped\";\n};\n\nexport const FrameFooter: FC<FrameFooterProps> = (props: FrameFooterProps) => {\n const { padding = {\n base: 16,\n md: 24,\n }, contentLayout = \"flex\", tone = \"neutral\", boundary = \"line\", decoration, signature, signatureAppearance = \"standard\", className, children, ...restProps } = props;\n return (<footer\n {...restProps}\n className={cn(\"gridui-container gridui-frame-footer\", frameToneStyles({\n tone,\n }), className)}\n >\n <FrameBoundary\n boundary={boundary}\n />\n <div\n className={cn(frameContentStyles(), frameChromeStyles(), \"gridui-frame-surface\")}\n data-content-layout={contentLayout}\n style={chromeStyle(padding)}\n >\n {children}\n <FrameDecoration\n decoration={resolveFrameDecoration(boundary, decoration)}\n />\n </div>\n {signature ? (<div\n className={cn(frameContentStyles(), frameSignatureStyles(), signatureAppearance === \"cropped\" && frameSignatureCroppedStyles())}\n aria-hidden=\"true\"\n inert\n >\n {signature}\n </div>) : null}\n </footer>);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameHeader\n * @description Frame Header\n */\n\nimport { type ChromeProps, chromeStyle } from \"../shared/chrome\";\nimport { frameChromeStyles } from \"../shared/chrome-style\";\nimport { frameContentStyles } from \"../shared/frame-style\";\nimport { cn } from \"@gridui/style-utils\";\nimport { type Space, spaceValue } from \"@gridui/style-utils/responsive\";\nimport type { ComponentPropsWithRef, FC } from \"react\";\n\nexport type FrameHeaderProps = ComponentPropsWithRef<\"header\"> & ChromeProps & {\n readonly wrap?: boolean;\n readonly gap?: Space;\n readonly justify?: \"start\" | \"between\";\n};\n\nexport const FrameHeader: FC<FrameHeaderProps> = (props: FrameHeaderProps) => {\n const { padding = {\n base: 16,\n md: 24,\n }, wrap = true, gap = 16, justify = \"between\", className, children, ...restProps } = props;\n return (<header\n {...restProps}\n className={cn(\"gridui-container gridui-frame-header\", className)}\n >\n <div\n className={cn(frameContentStyles(), frameChromeStyles())}\n data-justify={justify}\n style={{\n ...chromeStyle(padding),\n flexWrap: wrap ? \"wrap\" : \"nowrap\",\n gap: spaceValue(gap),\n }}\n >\n {children}\n </div>\n </header>);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameRail\n * @description Style\n */\n\nimport { cva } from \"class-variance-authority\";\n\nexport const frameRailStyles = cva(\"gridui-frame-rail gridui-u-flex gridui-u-h-full gridui-u-box-border gridui-u-flex-col gridui-u-py-gridui-24 gridui-u-text-muted\");\n\nexport const frameRailContentStyles = cva(\"gridui-frame-rail-content gridui-u-relative gridui-u-z-(--gridui-z-interaction) gridui-u-min-w-0 gridui-u-type-eyebrow gridui-u-bg-inherit\");\n\nexport const frameRailStickyBottomStyles = cva(\"gridui-frame-rail-sticky-bottom gridui-u-justify-end gridui-u-[&>.gridui-frame-rail-content]:sticky\");\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameRail\n * @description Frame Rail\n */\n\nimport { frameRailContentStyles, frameRailStickyBottomStyles, frameRailStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { ComponentPropsWithRef, FC } from \"react\";\n\nexport type FrameRailProps = ComponentPropsWithRef<\"div\"> & {\n readonly placement?: \"start\" | \"sticky-bottom\";\n};\n\nexport const FrameRail: FC<FrameRailProps> = (props: FrameRailProps) => {\n const {\n placement = \"start\",\n children,\n className,\n ...restProps\n } = props;\n return (<div\n {...restProps}\n className={cn(frameRailStyles(), placement === \"sticky-bottom\" && frameRailStickyBottomStyles(), className)}\n >\n <div\n className={frameRailContentStyles()}\n >\n {children}\n </div>\n </div>);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameRailGroup\n * @description Frame Rail Group\n */\n\nimport { cn } from \"@gridui/style-utils\";\nimport { resolveResponsive, type Responsive, type Space, spaceValue } from \"@gridui/style-utils/responsive\";\nimport type { ComponentPropsWithRef, CSSProperties, FC, ReactNode } from \"react\";\n\nexport type FrameRailGroupProps = ComponentPropsWithRef<\"div\"> & {\n readonly rail?: ReactNode;\n readonly railWidth?: Responsive<Space>;\n};\n\nexport const FrameRailGroup: FC<FrameRailGroupProps> = (props: FrameRailGroupProps) => {\n const { rail, railWidth = {\n base: 0,\n md: 32,\n }, children, className, style, ...restProps } = props;\n const hasRail = rail !== undefined && rail !== null && rail !== false;\n const width = resolveResponsive(hasRail ? railWidth : 0);\n const layoutStyle: CSSProperties & {\n [key: `--gridui-${string}`]: string | number;\n } = {\n \"--gridui-rail-width-base\": spaceValue(width.base),\n \"--gridui-rail-width-md\": spaceValue(width.md),\n \"--gridui-rail-width-lg\": spaceValue(width.lg),\n \"--gridui-rail-display-base\": width.base === 0 ? \"none\" : \"block\",\n \"--gridui-rail-display-md\": width.md === 0 ? \"none\" : \"block\",\n \"--gridui-rail-display-lg\": width.lg === 0 ? \"none\" : \"block\",\n ...style,\n };\n return (<div\n {...restProps}\n className={cn(\"gridui-frame-rail-group\", className)}\n style={layoutStyle}\n >\n {hasRail ? (<div\n className=\"gridui-frame-rail-track\"\n >\n {rail}\n </div>) : null}\n <div\n className=\"gridui-frame-rail-body\"\n >\n {children}\n </div>\n </div>);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameRegion\n * @description Frame Region\n */\n\nimport { cn } from \"@gridui/style-utils\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport type { ComponentPropsWithRef, FC } from \"react\";\n\nexport type FrameRegionProps = ComponentPropsWithRef<\"div\"> & {\n readonly asChild?: boolean;\n readonly edge?: \"none\" | \"left\" | \"right\" | \"both\";\n};\n\nexport const FrameRegion: FC<FrameRegionProps> = (props: FrameRegionProps) => {\n const { asChild = false, edge = \"none\", className, ...restProps } = props;\n const Component = asChild ? Slot : \"div\";\n return (<Component\n {...restProps}\n className={cn(\"gridui-frame-region\", className)}\n data-frame-edge={edge}\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameRegionRow\n * @description Frame Region Row\n */\n\nimport { cn } from \"@gridui/style-utils\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport type { ComponentPropsWithRef, CSSProperties, FC } from \"react\";\n\nexport type FrameRegionRowProps = ComponentPropsWithRef<\"div\"> & {\n readonly asChild?: boolean;\n readonly contentInset?: number | string;\n};\n\nexport const FrameRegionRow: FC<FrameRegionRowProps> = (props: FrameRegionRowProps) => {\n const { asChild = false, contentInset = 0, className, style, ...restProps } = props;\n const Component = asChild ? Slot : \"div\";\n return (<Component\n {...restProps}\n className={cn(\"gridui-frame-region-row\", className)}\n style={{\n \"--gridui-frame-region-inset\": typeof contentInset === \"number\" ? `${contentInset}px` : contentInset,\n ...style,\n } as CSSProperties}\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameTexture\n * @description Frame Texture\n */\n\nimport type { FrameTextureStyle } from \"../shared/texture-types\";\nimport type { FC } from \"react\";\n\nexport type FrameTextureProps = {\n readonly texture: FrameTextureStyle;\n};\n\nexport const FrameTexture: FC<FrameTextureProps> = (props: FrameTextureProps) => {\n const { texture } = props;\n return texture === \"none\" ? null : (<div\n className=\"gridui-frame-texture\"\n data-texture={texture}\n aria-hidden=\"true\"\n inert\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameSection\n * @description Frame Section\n */\n\nimport { FrameBoundary, type FrameBoundaryStyle } from \"../frame-boundary/frame-boundary\";\nimport { FrameTexture } from \"../frame-texture/frame-texture\";\nimport { FrameDecoration, type FrameDecorationStyle, resolveFrameDecoration } from \"../shared/decoration\";\nimport { frameContentStyles, type FrameTone, frameToneStyles } from \"../shared/frame-style\";\nimport type { FrameTextureStyle } from \"../shared/texture-types\";\nimport { cn } from \"@gridui/style-utils\";\nimport { type Responsive, type Space, spacingVariables } from \"@gridui/style-utils/responsive\";\nimport type { ComponentPropsWithRef, FC } from \"react\";\n\nexport type FrameSectionProps = ComponentPropsWithRef<\"section\"> & {\n readonly tone?: FrameTone;\n readonly boundary?: FrameBoundaryStyle;\n readonly decoration?: FrameDecorationStyle;\n readonly texture?: FrameTextureStyle;\n readonly edges?: \"frame\" | \"none\";\n readonly paddingInline?: Responsive<Space>;\n readonly paddingBlock?: Responsive<Space>;\n};\n\nexport const FrameSection: FC<FrameSectionProps> = (props: FrameSectionProps) => {\n const {\n tone = \"neutral\",\n boundary = \"line\",\n decoration,\n texture = \"none\",\n edges = \"frame\",\n paddingInline = 0,\n paddingBlock = 0,\n className,\n children,\n ...restProps\n } = props;\n return (<section\n {...restProps}\n className={cn(\"gridui-container gridui-frame-section\", frameToneStyles({ tone }), className)}\n data-edges={edges}\n >\n <FrameBoundary\n boundary={boundary}\n />\n <div\n className={cn(frameContentStyles(), \"gridui-frame-surface\", edges === \"none\" && \"gridui-u-border-x-0\")}\n style={{\n ...spacingVariables(\"section-padding-inline\", paddingInline),\n ...spacingVariables(\"section-padding-block\", paddingBlock),\n }}\n >\n <FrameTexture\n texture={texture}\n />\n {children}\n <FrameDecoration\n decoration={resolveFrameDecoration(boundary, decoration)}\n />\n </div>\n </section>);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameSections\n * @description Frame Sections\n */\n\nimport { cn } from \"@gridui/style-utils\";\nimport type { ComponentPropsWithRef, FC } from \"react\";\n\nexport type FrameSectionsProps = ComponentPropsWithRef<\"div\">;\n\nexport const FrameSections: FC<FrameSectionsProps> = (props: FrameSectionsProps) => {\n const { className, ...restProps } = props;\n return (<div\n {...restProps}\n className={cn(\"gridui-frame-sections\", className)}\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace GridItem\n * @description Responsive\n */\n\nimport type { Span } from \"../shared/responsive-types\";\n\nexport const spanValue = (value: Span): string => {\n return value === \"full\" ? \"1 / -1\" : `span ${value} / span ${value}`;\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace GridItem\n * @description Style\n */\n\nimport { cn } from \"@gridui/style-utils\";\nimport { cva } from \"class-variance-authority\";\n\nexport const gridItemStyles = cva(cn(\n \"gridui-grid-item\",\n \"gridui-u-min-w-0 gridui-u-wrap-anywhere\",\n));\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace GridItem\n * @description Grid Item\n */\n\nimport type { Span } from \"../shared/responsive-types\";\nimport type { ElementProps, LayoutStyle } from \"../shared/types\";\nimport { spanValue } from \"./responsive\";\nimport { gridItemStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport { resolveResponsive, type Responsive, type Space, spaceValue } from \"@gridui/style-utils/responsive\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport type { FC } from \"react\";\n\nexport type GridItemProps = ElementProps & {\n readonly asChild?: boolean;\n readonly span?: Responsive<Span>;\n readonly padding?: Responsive<Space>;\n readonly align?: \"end\" | \"center\";\n};\n\nexport const GridItem: FC<GridItemProps> = (props: GridItemProps) => {\n const {\n asChild = false,\n span = 1,\n padding = 0,\n align,\n className,\n style,\n ...restProps\n } = props;\n const size = resolveResponsive(span);\n const inset = resolveResponsive(padding);\n const layoutStyle: LayoutStyle = {\n \"--gridui-span\": spanValue(size.base),\n \"--gridui-span-md\": spanValue(size.md),\n \"--gridui-span-lg\": spanValue(size.lg),\n \"--gridui-padding\": spaceValue(inset.base),\n \"--gridui-padding-md\": spaceValue(inset.md),\n \"--gridui-padding-lg\": spaceValue(inset.lg),\n ...(align ? {\n display: \"flex\",\n alignItems: align,\n } : {}),\n ...style,\n };\n\n const Component = asChild ? Slot : \"div\";\n return (<Component\n {...restProps}\n className={cn(gridItemStyles(), className)}\n style={layoutStyle}\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Grid\n * @description Style\n */\n\nimport { cn } from \"@gridui/style-utils\";\nimport { cva } from \"class-variance-authority\";\n\nexport const gridStyles = cva(cn(\n \"gridui-grid\",\n \"gridui-u-grid gridui-u-min-w-0\",\n));\n\nexport const gridCellsStyles = cva(cn(\n \"gridui-grid-cells\",\n \"gridui-u-border-t gridui-u-border-solid gridui-u-border-border gridui-u-border-l gridui-u-border-solid gridui-u-border-border\",\n));\n\nexport const gridInternalStyles = cva(cn(\n \"gridui-grid-internal\",\n \"gridui-u-bg-border\",\n));\n\nexport const gridVariants = cva(gridStyles(), {\n variants: {\n frame: {\n none: \"\",\n cells: gridCellsStyles(),\n internal: gridInternalStyles(),\n },\n },\n defaultVariants: { frame: \"none\" },\n});\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Grid\n * @description Tracks\n */\n\nimport type { GridColumns } from \"./responsive\";\n\nexport const gridColumnCount = (columns: GridColumns): number => {\n return typeof columns === \"number\" ? columns : columns.length;\n};\n\nexport const gridTemplate = (columns: GridColumns): string => {\n if (typeof columns === \"number\") {\n return `repeat(${columns}, minmax(0, 1fr))`;\n }\n return columns.map((track) => {\n return track === \"1fr\" ? \"minmax(0, 1fr)\" : track;\n }).join(\" \");\n};\n\nexport const adaptiveGridTemplate = (minItemWidth: string | number): string => {\n if ((typeof minItemWidth === \"number\" && (!Number.isFinite(minItemWidth) || minItemWidth <= 0))\n || (typeof minItemWidth === \"string\" && !minItemWidth.trim())) {\n throw new RangeError(\"Adaptive Grid minItemWidth must be a positive number or a nonempty CSS length.\");\n }\n const minimum = typeof minItemWidth === \"number\" ? `${minItemWidth}px` : minItemWidth;\n return `repeat(auto-fit, minmax(min(100%, ${minimum}), 1fr))`;\n};\n\n// Fill incomplete rows before the next item wraps or starts a full-width row.\nexport const fillGridRowSpans = (columns: number, spans: readonly number[]): number[] => {\n let occupied = 0;\n return spans.map((span, index) => {\n if (span < 1 || span > columns) {\n throw new RangeError(\"Grid item spans must fit within the grid columns.\");\n }\n if (occupied + span > columns) {\n occupied = 0;\n }\n occupied += span;\n const next = spans[index + 1];\n if (next === undefined || occupied + next > columns) {\n const filled = span + columns - occupied;\n occupied = 0;\n return filled;\n }\n if (occupied === columns) {\n occupied = 0;\n }\n return span;\n });\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Grid\n * @description Grid\n */\n\nimport { GridItem, type GridItemProps } from \"../grid-item/grid-item\";\nimport type { ElementProps, LayoutStyle } from \"../shared/types\";\nimport type { GridColumns } from \"./responsive\";\nimport { gridVariants } from \"./style\";\nimport { adaptiveGridTemplate, fillGridRowSpans, gridColumnCount, gridTemplate } from \"./tracks\";\nimport { cn } from \"@gridui/style-utils\";\nimport { resolveResponsive, type Responsive, type Space, spaceValue } from \"@gridui/style-utils/responsive\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Children, cloneElement, type FC, Fragment, isValidElement, type ReactElement } from \"react\";\n\ntype GridFrameOptions = {\n readonly frame?: \"none\";\n readonly gap?: Responsive<Space>;\n} | {\n readonly frame: \"none\" | \"cells\" | \"internal\";\n readonly gap?: never;\n};\n\ntype GridLayoutOptions = ({\n readonly columns?: Responsive<GridColumns>;\n readonly minItemWidth?: never;\n} & GridFrameOptions) | {\n readonly columns: \"auto\";\n readonly minItemWidth: Responsive<string | number>;\n readonly frame?: \"none\";\n readonly gap?: Responsive<Space>;\n readonly fillLastRow?: false;\n};\n\nexport type GridProps = ElementProps & GridLayoutOptions & ({\n readonly asChild?: false;\n readonly fillLastRow?: boolean;\n} | {\n readonly asChild: true;\n readonly children: ReactElement;\n readonly fillLastRow?: false;\n});\n\nexport const Grid: FC<GridProps> = (props: GridProps) => {\n const {\n columns = 1,\n minItemWidth,\n asChild = false,\n frame = \"none\",\n gap = 16,\n fillLastRow = false,\n className,\n style,\n children,\n ...restProps\n } = props;\n if (fillLastRow && (asChild || columns === \"auto\")) {\n throw new TypeError(\"Grid fillLastRow requires fixed columns and direct GridItem children, without asChild.\");\n }\n if (columns === \"auto\" && frame !== \"none\") {\n throw new TypeError(\"Adaptive Grid does not support framed cells.\");\n }\n if (asChild && (!isValidElement(children) || children.type === Fragment)) {\n throw new TypeError(\"Grid asChild requires one element that forwards props and refs to its root.\");\n }\n let geometry: LayoutStyle;\n let count: {\n base: number;\n md: number;\n lg: number;\n } | null = null;\n if (columns === \"auto\") {\n if (minItemWidth === undefined) {\n throw new TypeError(\"Adaptive Grid requires minItemWidth.\");\n }\n const minimum = resolveResponsive(minItemWidth);\n geometry = {\n \"--gridui-grid-template\": adaptiveGridTemplate(minimum.base),\n \"--gridui-grid-template-md\": adaptiveGridTemplate(minimum.md),\n \"--gridui-grid-template-lg\": adaptiveGridTemplate(minimum.lg),\n };\n } else {\n if (minItemWidth !== undefined) {\n throw new TypeError(\"Grid minItemWidth requires columns=auto.\");\n }\n const tracks = resolveResponsive(columns);\n count = {\n base: gridColumnCount(tracks.base),\n md: gridColumnCount(tracks.md),\n lg: gridColumnCount(tracks.lg),\n };\n geometry = {\n \"--gridui-columns\": count.base,\n \"--gridui-columns-md\": count.md,\n \"--gridui-columns-lg\": count.lg,\n \"--gridui-grid-template\": gridTemplate(tracks.base),\n \"--gridui-grid-template-md\": gridTemplate(tracks.md),\n \"--gridui-grid-template-lg\": gridTemplate(tracks.lg),\n };\n }\n const spacing = resolveResponsive(frame === \"none\" ? gap : 0);\n const layoutStyle: LayoutStyle = {\n ...geometry,\n \"--gridui-gap\": frame === \"internal\" ? \"1px\" : spaceValue(spacing.base),\n \"--gridui-gap-md\": frame === \"internal\" ? \"1px\" : spaceValue(spacing.md),\n \"--gridui-gap-lg\": frame === \"internal\" ? \"1px\" : spaceValue(spacing.lg),\n ...style,\n };\n let content = children;\n if (fillLastRow && count) {\n const items = Children.toArray(children).map((child) => {\n if (!isValidElement<GridItemProps>(child) || child.type !== GridItem) {\n throw new TypeError(\"Grid fillLastRow requires direct GridItem children.\");\n }\n return child;\n });\n const spans = items.map((item) => {\n return resolveResponsive(item.props.span ?? 1);\n });\n const filled = {\n base: fillGridRowSpans(count.base, spans.map((span) => {\n return span.base === \"full\" ? count.base : span.base;\n })),\n md: fillGridRowSpans(count.md, spans.map((span) => {\n return span.md === \"full\" ? count.md : span.md;\n })),\n lg: fillGridRowSpans(count.lg, spans.map((span) => {\n return span.lg === \"full\" ? count.lg : span.lg;\n })),\n };\n content = items.map((item, index) => {\n const itemStyle: LayoutStyle = {\n \"--gridui-span\": `span ${filled.base[index]} / span ${filled.base[index]}`,\n \"--gridui-span-md\": `span ${filled.md[index]} / span ${filled.md[index]}`,\n \"--gridui-span-lg\": `span ${filled.lg[index]} / span ${filled.lg[index]}`,\n ...item.props.style,\n };\n return cloneElement(item, {\n style: itemStyle,\n });\n });\n }\n const Component = asChild ? Slot : \"div\";\n return (<Component\n {...restProps}\n className={cn(gridVariants({ frame }), className)}\n style={layoutStyle}\n >\n {content}\n </Component>);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace PageFrame\n * @description Style\n */\n\nimport { containerWidthClasses } from \"../container/style\";\nimport { cva } from \"class-variance-authority\";\n\nexport const pageFrameVariants = cva(\"gridui-page-frame gridui-u-min-h-svh\", {\n variants: {\n width: containerWidthClasses,\n },\n defaultVariants: { width: \"standard\" },\n});\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace PageFrame\n * @description Page Frame\n */\n\nimport type { ContainerProps } from \"../container/container\";\nimport { FrameRailGroup, type FrameRailGroupProps } from \"../frame-rail-group/frame-rail-group\";\nimport { FrameSections } from \"../frame-sections/frame-sections\";\nimport { frameContentStyles } from \"../shared/frame-style\";\nimport { pageFrameVariants } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport { type Responsive, type Space, spacingVariables } from \"@gridui/style-utils/responsive\";\nimport type { FC, ReactNode } from \"react\";\n\nexport type PageFrameProps = FrameRailGroupProps & {\n readonly width?: ContainerProps[\"width\"];\n readonly header?: ReactNode;\n readonly footer?: ReactNode;\n readonly railScope?: \"page\" | \"main\";\n readonly mainGutterStart?: Responsive<Space>;\n};\n\nexport const PageFrame: FC<PageFrameProps> = (props: PageFrameProps) => {\n const {\n width = \"standard\",\n header,\n footer,\n rail,\n railWidth,\n railScope = \"page\",\n mainGutterStart,\n children,\n className,\n ...restProps\n } = props;\n const railOptions = railWidth === undefined ? {} : { railWidth };\n const content = (<>\n <FrameSections>\n {children}\n </FrameSections>\n <div\n className=\"gridui-container gridui-frame-fill\"\n aria-hidden=\"true\"\n >\n <div\n className={cn(frameContentStyles())}\n />\n </div>\n </>);\n return (<FrameRailGroup\n {...restProps}\n rail={railScope === \"page\" ? rail : undefined}\n {...railOptions}\n className={cn(pageFrameVariants({ width }), className)}\n >\n {header ? (<div\n className=\"gridui-frame-page-header\"\n >\n {header}\n </div>) : null}\n <main\n className=\"gridui-frame-main\"\n style={mainGutterStart === undefined ? undefined : spacingVariables(\"main-gutter-start\", mainGutterStart)}\n >\n {railScope === \"main\" && rail !== undefined && rail !== null && rail !== false ? (<FrameRailGroup\n rail={rail}\n {...railOptions}\n className=\"gridui-frame-main-rail-group\"\n >\n {content}\n </FrameRailGroup>) : content}\n </main>\n {footer ? (<div\n className=\"gridui-frame-page-footer\"\n >\n {footer}\n </div>) : null}\n </FrameRailGroup>);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Row\n * @description Style\n */\n\nimport { cn } from \"@gridui/style-utils\";\nimport { cva } from \"class-variance-authority\";\n\nexport const rowStyles = cva(cn(\n \"gridui-row\",\n \"gridui-u-min-w-0\",\n));\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Row\n * @description Row\n */\n\nimport { rowStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport { type Space, spaceValue } from \"@gridui/style-utils/responsive\";\nimport type { ComponentPropsWithRef, FC } from \"react\";\n\nexport type RowProps = ComponentPropsWithRef<\"div\"> & {\n readonly gap?: Space;\n readonly rowGap?: Space;\n readonly align?: \"stretch\" | \"center\" | \"baseline\" | \"end\";\n readonly justify?: \"start\" | \"between\";\n readonly wrap?: boolean;\n readonly inline?: boolean;\n};\n\nexport const Row: FC<RowProps> = (props: RowProps) => {\n const {\n gap = 16,\n rowGap = gap,\n align = \"stretch\",\n justify = \"start\",\n wrap = true,\n inline = false,\n className,\n style,\n ...restProps\n } = props;\n return (<div\n {...restProps}\n className={cn(rowStyles(), className)}\n data-inline={inline}\n style={{\n display: inline ? \"inline-flex\" : \"flex\",\n alignItems: align,\n justifyContent: justify === \"between\" ? \"space-between\" : \"flex-start\",\n flexWrap: wrap ? \"wrap\" : \"nowrap\",\n gap: `${spaceValue(rowGap)} ${spaceValue(gap)}`,\n ...style,\n }}\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Split\n * @description Split\n */\n\nimport type { ElementProps } from \"../shared/types\";\nimport { cn } from \"@gridui/style-utils\";\nimport { resolveResponsive, type Responsive } from \"@gridui/style-utils/responsive\";\nimport type { FC } from \"react\";\n\nexport type SplitDirection = \"row\" | \"column\" | \"row-reverse\" | \"column-reverse\";\n\nexport type SplitProps = ElementProps & {\n readonly direction?: Responsive<SplitDirection>;\n readonly order?: \"logical\" | \"physical\";\n readonly seam?: Responsive<\"line\" | \"none\">;\n};\n\nexport const Split: FC<SplitProps> = (props: SplitProps) => {\n const { direction = \"row\", order = \"logical\", seam = \"line\", className, ...restProps } = props;\n const directions = resolveResponsive(direction);\n const seams = resolveResponsive(seam);\n return (<div\n {...restProps}\n className={cn(\"gridui-split\", className)}\n data-order={order}\n data-direction={directions.base}\n data-direction-md={directions.md}\n data-direction-lg={directions.lg}\n data-seam={seams.base}\n data-seam-md={seams.md}\n data-seam-lg={seams.lg}\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Stack\n * @description Style\n */\n\nimport { cn } from \"@gridui/style-utils\";\nimport { cva } from \"class-variance-authority\";\n\nexport const stackStyles = cva(cn(\n \"gridui-stack\",\n \"gridui-u-flex gridui-u-min-w-0 gridui-u-flex-col\",\n));\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Stack\n * @description Stack\n */\n\nimport type { ElementProps, LayoutStyle } from \"../shared/types\";\nimport { stackStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport { resolveResponsive, type Responsive, type Space, spaceValue } from \"@gridui/style-utils/responsive\";\nimport type { CSSProperties, FC } from \"react\";\n\nexport type StackProps = ElementProps & {\n readonly gap?: Responsive<Space>;\n readonly width?: \"full\";\n readonly maxWidth?: CSSProperties[\"maxWidth\"];\n readonly paddingStart?: Space;\n};\n\nexport const Stack: FC<StackProps> = (props: StackProps) => {\n const {\n gap = 16,\n width,\n maxWidth,\n paddingStart,\n className,\n style,\n ...restProps\n } = props;\n const spacing = resolveResponsive(gap);\n const layoutStyle: LayoutStyle = {\n \"--gridui-gap\": spaceValue(spacing.base),\n \"--gridui-gap-md\": spaceValue(spacing.md),\n \"--gridui-gap-lg\": spaceValue(spacing.lg),\n width: width === \"full\" ? \"100%\" : undefined,\n maxWidth,\n paddingTop: paddingStart === undefined ? undefined : spaceValue(paddingStart),\n ...style,\n };\n return (<div\n {...restProps}\n className={cn(stackStyles(), className)}\n style={layoutStyle}\n />);\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["/**\n * @author WMXPY\n * @package Grid\n * @namespace Container\n * @description Style\n */\n\nimport { cva } from \"class-variance-authority\";\n\nexport const containerWidthClasses = {\n narrow: \"gridui-container-narrow\",\n standard: \"gridui-container-standard\",\n wide: \"gridui-container-wide\",\n};\n\nexport const containerVariants = cva(\"gridui-container\", {\n variants: {\n width: containerWidthClasses,\n },\n defaultVariants: { width: \"standard\" },\n});\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Container\n * @description Container\n */\n\nimport type { ContainerWidth, ElementProps } from \"../shared/types\";\nimport { containerVariants } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { FC } from \"react\";\n\nexport type ContainerProps = ElementProps & {\n readonly width?: ContainerWidth;\n};\n\nexport const Container: FC<ContainerProps> = (props: ContainerProps) => {\n const { width = \"standard\", className, ...restProps } = props;\n return (<div\n {...restProps}\n className={cn(containerVariants({ width }), className)}\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Shared\n * @description Decoration\n */\n\nimport type { FrameBoundaryStyle } from \"../frame-boundary/boundary-options\";\nimport type { FC } from \"react\";\n\nexport type FrameDecorationStyle = \"none\" | \"nodes\" | \"marks\" | \"corners\" | \"ticks\";\n\nexport const resolveFrameDecoration = (\n boundary: FrameBoundaryStyle,\n decoration?: FrameDecorationStyle,\n): FrameDecorationStyle => {\n return decoration ?? (boundary === \"band\" ? \"nodes\" : \"none\");\n};\n\nexport type FrameDecorationProps = {\n readonly decoration: FrameDecorationStyle;\n readonly side?: \"start\" | \"end\";\n};\n\nexport const FrameDecoration: FC<FrameDecorationProps> = (props: FrameDecorationProps) => {\n const { decoration, side } = props;\n if (decoration === \"none\") {\n return null;\n }\n if (!side) {\n return (<>\n <FrameDecoration\n decoration={decoration}\n side=\"start\"\n />\n <FrameDecoration\n decoration={decoration}\n side=\"end\"\n />\n </>);\n }\n return (<div\n className=\"gridui-frame-decoration\"\n data-decoration={decoration}\n data-side={side}\n aria-hidden=\"true\"\n inert\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace DashboardFrame\n * @description Style\n */\n\nimport { cva } from \"class-variance-authority\";\n\nexport const dashboardFrameVariants = cva(\"gridui-dashboard-frame\", {\n variants: {\n startSize: {\n none: \"gridui-u-grid--[--gridui-dashboard-start:0px] gridui-u-grid--[--gridui-dashboard-start-minimum:0px]\",\n small: \"gridui-u-grid--[--gridui-dashboard-start:var(--gridui-space-8)]\",\n medium: \"gridui-u-grid--[--gridui-dashboard-start:var(--gridui-space-16)]\",\n large: \"gridui-u-grid--[--gridui-dashboard-start:var(--gridui-space-24)]\",\n },\n endSize: {\n none: \"gridui-u-grid--[--gridui-dashboard-end:0px] gridui-u-grid--[--gridui-dashboard-end-minimum:0px]\",\n small: \"gridui-u-grid--[--gridui-dashboard-end:var(--gridui-space-8)]\",\n medium: \"gridui-u-grid--[--gridui-dashboard-end:var(--gridui-space-16)]\",\n large: \"gridui-u-grid--[--gridui-dashboard-end:var(--gridui-space-24)]\",\n },\n compactStartSize: {\n none: \"gridui-u-grid--[--gridui-dashboard-compact-start:0px] gridui-u-grid--[--gridui-dashboard-compact-start-minimum:0px]\",\n small: \"gridui-u-grid--[--gridui-dashboard-compact-start:var(--gridui-space-8)]\",\n medium: \"gridui-u-grid--[--gridui-dashboard-compact-start:var(--gridui-space-16)]\",\n large: \"gridui-u-grid--[--gridui-dashboard-compact-start:var(--gridui-space-24)]\",\n },\n compactEndSize: {\n none: \"gridui-u-grid--[--gridui-dashboard-compact-end:0px] gridui-u-grid--[--gridui-dashboard-compact-end-minimum:0px]\",\n small: \"gridui-u-grid--[--gridui-dashboard-compact-end:var(--gridui-space-8)]\",\n medium: \"gridui-u-grid--[--gridui-dashboard-compact-end:var(--gridui-space-16)]\",\n large: \"gridui-u-grid--[--gridui-dashboard-compact-end:var(--gridui-space-24)]\",\n },\n },\n defaultVariants: {\n startSize: \"medium\",\n endSize: \"medium\",\n compactStartSize: \"small\",\n compactEndSize: \"small\",\n },\n});\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace DashboardFrame\n * @description Dashboard Frame\n */\n\nimport { FrameDecoration, type FrameDecorationStyle } from \"../shared/decoration\";\nimport { dashboardFrameVariants } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { VariantProps } from \"class-variance-authority\";\nimport type { ComponentPropsWithRef, FC } from \"react\";\n\nexport type DashboardFrameSize = NonNullable<VariantProps<typeof dashboardFrameVariants>[\"startSize\"]>;\n\nexport type DashboardFrameProps = ComponentPropsWithRef<\"div\"> & {\n readonly decoration?: FrameDecorationStyle;\n readonly startDecoration?: FrameDecorationStyle;\n readonly endDecoration?: FrameDecorationStyle;\n readonly startSize?: DashboardFrameSize;\n readonly endSize?: DashboardFrameSize;\n readonly compactStartSize?: DashboardFrameSize;\n readonly compactEndSize?: DashboardFrameSize;\n};\n\nexport const DashboardFrame: FC<DashboardFrameProps> = (props: DashboardFrameProps) => {\n const {\n startSize,\n endSize,\n compactStartSize,\n compactEndSize,\n decoration = \"none\",\n startDecoration = decoration,\n endDecoration = decoration,\n children,\n className,\n ...restProps\n } = props;\n\n return (<div\n {...restProps}\n className={cn(dashboardFrameVariants({\n startSize,\n endSize,\n compactStartSize,\n compactEndSize,\n }), className)}\n >\n <div\n className=\"gridui-dashboard-frame-body\"\n >\n {children}\n <FrameDecoration\n decoration={startDecoration}\n side=\"start\"\n />\n <FrameDecoration\n decoration={endDecoration}\n side=\"end\"\n />\n </div>\n </div>);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameBoundary\n * @description Style\n */\n\nimport { cva } from \"class-variance-authority\";\n\nexport const frameBoundaryStyles = cva(\"gridui-frame-boundary\", {\n variants: {\n boundary: {\n none: \"\",\n line: \"\",\n band: \"gridui-frame-divider\",\n stripe: \"gridui-frame-divider gridui-frame-stripe\",\n space: \"gridui-frame-space\",\n },\n },\n defaultVariants: { boundary: \"line\" },\n});\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameBoundary\n * @description Frame Boundary\n */\n\nimport type { FrameBoundaryOptions } from \"./boundary-options\";\nimport { frameBoundaryStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { ComponentPropsWithRef, FC } from \"react\";\n\nexport type FrameBoundaryProps = Omit<ComponentPropsWithRef<\"div\">, \"children\"> & FrameBoundaryOptions & {\n readonly extent?: \"content\" | \"frame\";\n};\n\nexport const FrameBoundary: FC<FrameBoundaryProps> = (props: FrameBoundaryProps) => {\n const { boundary = \"line\", extent = \"content\", className, ...restProps } = props;\n return boundary === \"none\" ? null : (<div\n {...restProps}\n className={cn(frameBoundaryStyles({ boundary }), className)}\n data-boundary={boundary}\n data-boundary-extent={extent}\n aria-hidden=\"true\"\n inert\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Shared\n * @description Chrome\n */\n\nimport { resolveResponsive, type Responsive, type Space, spaceValue } from \"@gridui/style-utils/responsive\";\nimport type { CSSProperties } from \"react\";\n\nexport type ChromeProps = {\n readonly padding?: Responsive<Space>;\n};\n\nexport const chromeStyle = (padding: Responsive<Space>): CSSProperties & {\n \"--gridui-chrome-padding\": string;\n \"--gridui-chrome-padding-md\": string;\n \"--gridui-chrome-padding-lg\": string;\n} => {\n const values = resolveResponsive(padding);\n return {\n \"--gridui-chrome-padding\": spaceValue(values.base),\n \"--gridui-chrome-padding-md\": spaceValue(values.md),\n \"--gridui-chrome-padding-lg\": spaceValue(values.lg),\n };\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Shared\n * @description Chrome Style\n */\n\nimport { cva } from \"class-variance-authority\";\n\nexport const frameChromeStyles = cva(\"gridui-frame-chrome\");\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Shared\n * @description Frame Style\n */\n\nimport { cn } from \"@gridui/style-utils\";\nimport { paletteClass } from \"@gridui/theme\";\nimport { cva } from \"class-variance-authority\";\n\nexport type FrameTone = \"neutral\" | \"brand\" | \"warning\" | \"danger\";\n\nexport const frameToneStyles = (options: {\n readonly tone?: FrameTone;\n} = {}): string => {\n const { tone = \"neutral\" } = options;\n return tone === \"neutral\" ? \"\" : `gridui-frame-${tone} ${paletteClass(tone)}`;\n};\n\nexport const frameContentStyles = cva(cn(\n \"gridui-frame-content\",\n \"gridui-u-grid--border-x gridui-u-grid--border-solid gridui-u-grid--border-border gridui-u-grid--wrap-anywhere\",\n));\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameFooter\n * @description Style\n */\n\nimport { cn } from \"@gridui/style-utils\";\nimport { cva } from \"class-variance-authority\";\n\nexport const frameSignatureStyles = cva(cn(\n \"gridui-frame-signature gridui-u-grid--flex gridui-u-grid--min-w-0 gridui-u-grid--items-center gridui-u-grid--justify-center gridui-u-grid--gap-gridui-24 gridui-u-grid--py-gridui-32 gridui-u-grid--px-gridui-24 gridui-u-grid--overflow-hidden gridui-u-grid--border-t gridui-u-grid--border-solid gridui-u-grid--border-border gridui-u-grid--bg-transparent\",\n \"gridui-u-grid--[&>svg]:h-auto gridui-u-grid--[&>svg]:opacity-30 gridui-u-grid--[&>span]:font-display gridui-u-grid--[&>span]:leading-none gridui-u-grid--[&>span]:text-transparent\",\n));\n\nexport const frameSignatureCroppedStyles = cva(\"gridui-frame-signature-cropped gridui-u-grid--block gridui-u-grid--pb-0 gridui-u-grid--@container gridui-u-grid--[&>span]:block gridui-u-grid--[&>span]:text-center gridui-u-grid--[&>span]:whitespace-nowrap\");\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameFooter\n * @description Frame Footer\n */\n\nimport { FrameBoundary } from \"../frame-boundary/frame-boundary\";\nimport { type ChromeProps, chromeStyle } from \"../shared/chrome\";\nimport { frameChromeStyles } from \"../shared/chrome-style\";\nimport { FrameDecoration, resolveFrameDecoration } from \"../shared/decoration\";\nimport { frameContentStyles, frameToneStyles } from \"../shared/frame-style\";\nimport type { FrameSurfaceOptions } from \"../shared/frame-surface-options\";\nimport { frameSignatureCroppedStyles, frameSignatureStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { ComponentPropsWithRef, FC, ReactNode } from \"react\";\n\nexport type FrameFooterProps = ComponentPropsWithRef<\"footer\"> & ChromeProps & FrameSurfaceOptions & {\n readonly contentLayout?: \"flex\" | \"block\";\n readonly signature?: ReactNode;\n readonly signatureAppearance?: \"standard\" | \"cropped\";\n};\n\nexport const FrameFooter: FC<FrameFooterProps> = (props: FrameFooterProps) => {\n const { padding = {\n base: 16,\n md: 24,\n }, contentLayout = \"flex\", tone = \"neutral\", boundary = \"line\", decoration, signature, signatureAppearance = \"standard\", className, children, ...restProps } = props;\n return (<footer\n {...restProps}\n className={cn(\"gridui-container gridui-frame-footer\", frameToneStyles({\n tone,\n }), className)}\n >\n <FrameBoundary\n boundary={boundary}\n />\n <div\n className={cn(frameContentStyles(), frameChromeStyles(), \"gridui-frame-surface\")}\n data-content-layout={contentLayout}\n style={chromeStyle(padding)}\n >\n {children}\n <FrameDecoration\n decoration={resolveFrameDecoration(boundary, decoration)}\n />\n </div>\n {signature ? (<div\n className={cn(frameContentStyles(), frameSignatureStyles(), signatureAppearance === \"cropped\" && frameSignatureCroppedStyles())}\n aria-hidden=\"true\"\n inert\n >\n {signature}\n </div>) : null}\n </footer>);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameHeader\n * @description Frame Header\n */\n\nimport { type ChromeProps, chromeStyle } from \"../shared/chrome\";\nimport { frameChromeStyles } from \"../shared/chrome-style\";\nimport { frameContentStyles } from \"../shared/frame-style\";\nimport { cn } from \"@gridui/style-utils\";\nimport { type Space, spaceValue } from \"@gridui/style-utils/responsive\";\nimport type { ComponentPropsWithRef, FC } from \"react\";\n\nexport type FrameHeaderProps = ComponentPropsWithRef<\"header\"> & ChromeProps & {\n readonly wrap?: boolean;\n readonly gap?: Space;\n readonly justify?: \"start\" | \"between\";\n};\n\nexport const FrameHeader: FC<FrameHeaderProps> = (props: FrameHeaderProps) => {\n const { padding = {\n base: 16,\n md: 24,\n }, wrap = true, gap = 16, justify = \"between\", className, children, ...restProps } = props;\n return (<header\n {...restProps}\n className={cn(\"gridui-container gridui-frame-header\", className)}\n >\n <div\n className={cn(frameContentStyles(), frameChromeStyles())}\n data-justify={justify}\n style={{\n ...chromeStyle(padding),\n flexWrap: wrap ? \"wrap\" : \"nowrap\",\n gap: spaceValue(gap),\n }}\n >\n {children}\n </div>\n </header>);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameRail\n * @description Style\n */\n\nimport { cva } from \"class-variance-authority\";\n\nexport const frameRailStyles = cva(\"gridui-frame-rail gridui-u-grid--flex gridui-u-grid--h-full gridui-u-grid--box-border gridui-u-grid--flex-col gridui-u-grid--py-gridui-24 gridui-u-grid--text-muted\");\n\nexport const frameRailContentStyles = cva(\"gridui-frame-rail-content gridui-u-grid--relative gridui-u-grid--z-(--gridui-z-interaction) gridui-u-grid--min-w-0 gridui-u-grid--type-eyebrow gridui-u-grid--bg-inherit\");\n\nexport const frameRailStickyBottomStyles = cva(\"gridui-frame-rail-sticky-bottom gridui-u-grid--justify-end gridui-u-grid--[&>.gridui-frame-rail-content]:sticky\");\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameRail\n * @description Frame Rail\n */\n\nimport { frameRailContentStyles, frameRailStickyBottomStyles, frameRailStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { ComponentPropsWithRef, FC } from \"react\";\n\nexport type FrameRailProps = ComponentPropsWithRef<\"div\"> & {\n readonly placement?: \"start\" | \"sticky-bottom\";\n};\n\nexport const FrameRail: FC<FrameRailProps> = (props: FrameRailProps) => {\n const {\n placement = \"start\",\n children,\n className,\n ...restProps\n } = props;\n return (<div\n {...restProps}\n className={cn(frameRailStyles(), placement === \"sticky-bottom\" && frameRailStickyBottomStyles(), className)}\n >\n <div\n className={frameRailContentStyles()}\n >\n {children}\n </div>\n </div>);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameRailGroup\n * @description Frame Rail Group\n */\n\nimport type { FrameRailOptions } from \"../shared/frame-rail-options\";\nimport type { ElementProps } from \"../shared/types\";\nimport { cn } from \"@gridui/style-utils\";\nimport { resolveResponsive, spaceValue } from \"@gridui/style-utils/responsive\";\nimport type { CSSProperties, FC } from \"react\";\n\nexport type FrameRailGroupProps = ElementProps & FrameRailOptions;\n\nexport const FrameRailGroup: FC<FrameRailGroupProps> = (props: FrameRailGroupProps) => {\n const { rail, railWidth = {\n base: 0,\n md: 32,\n }, children, className, style, ...restProps } = props;\n const hasRail = rail !== undefined && rail !== null && rail !== false;\n const width = resolveResponsive(hasRail ? railWidth : 0);\n const layoutStyle: CSSProperties & {\n [key: `--gridui-${string}`]: string | number;\n } = {\n \"--gridui-rail-width-base\": spaceValue(width.base),\n \"--gridui-rail-width-md\": spaceValue(width.md),\n \"--gridui-rail-width-lg\": spaceValue(width.lg),\n \"--gridui-rail-display-base\": width.base === 0 ? \"none\" : \"block\",\n \"--gridui-rail-display-md\": width.md === 0 ? \"none\" : \"block\",\n \"--gridui-rail-display-lg\": width.lg === 0 ? \"none\" : \"block\",\n ...style,\n };\n return (<div\n {...restProps}\n className={cn(\"gridui-frame-rail-group\", className)}\n style={layoutStyle}\n >\n {hasRail ? (<div\n className=\"gridui-frame-rail-track\"\n >\n {rail}\n </div>) : null}\n <div\n className=\"gridui-frame-rail-body\"\n >\n {children}\n </div>\n </div>);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameRegion\n * @description Frame Region\n */\n\nimport type { SlottedElementOptions } from \"../shared/types\";\nimport { cn } from \"@gridui/style-utils\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport type { FC } from \"react\";\n\nexport type FrameRegionProps = SlottedElementOptions & {\n readonly edge?: \"none\" | \"left\" | \"right\" | \"both\";\n};\n\nexport const FrameRegion: FC<FrameRegionProps> = (props: FrameRegionProps) => {\n const { asChild = false, edge = \"none\", className, ...restProps } = props;\n const Component = asChild ? Slot : \"div\";\n return (<Component\n {...restProps}\n className={cn(\"gridui-frame-region\", className)}\n data-frame-edge={edge}\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameRegionRow\n * @description Frame Region Row\n */\n\nimport type { SlottedElementOptions } from \"../shared/types\";\nimport { cn } from \"@gridui/style-utils\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport type { CSSProperties, FC } from \"react\";\n\nexport type FrameRegionRowProps = SlottedElementOptions & {\n readonly contentInset?: number | string;\n};\n\nexport const FrameRegionRow: FC<FrameRegionRowProps> = (props: FrameRegionRowProps) => {\n const { asChild = false, contentInset = 0, className, style, ...restProps } = props;\n const Component = asChild ? Slot : \"div\";\n return (<Component\n {...restProps}\n className={cn(\"gridui-frame-region-row\", className)}\n style={{\n \"--gridui-frame-region-inset\": typeof contentInset === \"number\" ? `${contentInset}px` : contentInset,\n ...style,\n } as CSSProperties}\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameTexture\n * @description Frame Texture\n */\n\nimport type { FrameTextureStyle } from \"../shared/texture-types\";\nimport type { FC } from \"react\";\n\nexport type FrameTextureProps = {\n readonly texture: FrameTextureStyle;\n};\n\nexport const FrameTexture: FC<FrameTextureProps> = (props: FrameTextureProps) => {\n const { texture } = props;\n return texture === \"none\" ? null : (<div\n className=\"gridui-frame-texture\"\n data-texture={texture}\n aria-hidden=\"true\"\n inert\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameSection\n * @description Frame Section\n */\n\nimport { FrameBoundary } from \"../frame-boundary/frame-boundary\";\nimport { FrameTexture } from \"../frame-texture/frame-texture\";\nimport { FrameDecoration, resolveFrameDecoration } from \"../shared/decoration\";\nimport { frameContentStyles, frameToneStyles } from \"../shared/frame-style\";\nimport type { FrameSurfaceOptions } from \"../shared/frame-surface-options\";\nimport type { FrameTextureStyle } from \"../shared/texture-types\";\nimport { cn } from \"@gridui/style-utils\";\nimport { type Responsive, type Space, spacingVariables } from \"@gridui/style-utils/responsive\";\nimport type { ComponentPropsWithRef, FC } from \"react\";\n\nexport type FrameSectionProps = ComponentPropsWithRef<\"section\"> & FrameSurfaceOptions & {\n readonly texture?: FrameTextureStyle;\n readonly edges?: \"frame\" | \"none\";\n readonly paddingInline?: Responsive<Space>;\n readonly paddingBlock?: Responsive<Space>;\n};\n\nexport const FrameSection: FC<FrameSectionProps> = (props: FrameSectionProps) => {\n const {\n tone = \"neutral\",\n boundary = \"line\",\n decoration,\n texture = \"none\",\n edges = \"frame\",\n paddingInline = 0,\n paddingBlock = 0,\n className,\n children,\n ...restProps\n } = props;\n return (<section\n {...restProps}\n className={cn(\"gridui-container gridui-frame-section\", frameToneStyles({ tone }), className)}\n data-edges={edges}\n >\n <FrameBoundary\n boundary={boundary}\n />\n <div\n className={cn(frameContentStyles(), \"gridui-frame-surface\", edges === \"none\" && \"gridui-u-grid--border-x-0\")}\n style={{\n ...spacingVariables(\"section-padding-inline\", paddingInline),\n ...spacingVariables(\"section-padding-block\", paddingBlock),\n }}\n >\n <FrameTexture\n texture={texture}\n />\n {children}\n <FrameDecoration\n decoration={resolveFrameDecoration(boundary, decoration)}\n />\n </div>\n </section>);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameSections\n * @description Frame Sections\n */\n\nimport { cn } from \"@gridui/style-utils\";\nimport type { ComponentPropsWithRef, FC } from \"react\";\n\nexport type FrameSectionsProps = ComponentPropsWithRef<\"div\">;\n\nexport const FrameSections: FC<FrameSectionsProps> = (props: FrameSectionsProps) => {\n const { className, ...restProps } = props;\n return (<div\n {...restProps}\n className={cn(\"gridui-frame-sections\", className)}\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace GridItem\n * @description Responsive\n */\n\nimport type { Span } from \"../shared/responsive-types\";\n\nexport const spanValue = (value: Span): string => {\n return value === \"full\" ? \"1 / -1\" : `span ${value} / span ${value}`;\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace GridItem\n * @description Style\n */\n\nimport { cn } from \"@gridui/style-utils\";\nimport { cva } from \"class-variance-authority\";\n\nexport const gridItemStyles = cva(cn(\n \"gridui-grid-item\",\n \"gridui-u-grid--min-w-0 gridui-u-grid--wrap-anywhere\",\n));\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace GridItem\n * @description Grid Item\n */\n\nimport type { Span } from \"../shared/responsive-types\";\nimport type { LayoutStyle, SlottedElementOptions } from \"../shared/types\";\nimport { spanValue } from \"./responsive\";\nimport { gridItemStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport { resolveResponsive, type Responsive, type Space, spaceValue } from \"@gridui/style-utils/responsive\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport type { FC } from \"react\";\n\nexport type GridItemProps = SlottedElementOptions & {\n readonly span?: Responsive<Span>;\n readonly padding?: Responsive<Space>;\n readonly align?: \"end\" | \"center\";\n};\n\nexport const GridItem: FC<GridItemProps> = (props: GridItemProps) => {\n const {\n asChild = false,\n span = 1,\n padding = 0,\n align,\n className,\n style,\n ...restProps\n } = props;\n const size = resolveResponsive(span);\n const inset = resolveResponsive(padding);\n const layoutStyle: LayoutStyle = {\n \"--gridui-span\": spanValue(size.base),\n \"--gridui-span-md\": spanValue(size.md),\n \"--gridui-span-lg\": spanValue(size.lg),\n \"--gridui-padding\": spaceValue(inset.base),\n \"--gridui-padding-md\": spaceValue(inset.md),\n \"--gridui-padding-lg\": spaceValue(inset.lg),\n ...(align ? {\n display: \"flex\",\n alignItems: align,\n } : {}),\n ...style,\n };\n\n const Component = asChild ? Slot : \"div\";\n return (<Component\n {...restProps}\n className={cn(gridItemStyles(), className)}\n style={layoutStyle}\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Grid\n * @description Style\n */\n\nimport { cn } from \"@gridui/style-utils\";\nimport { cva } from \"class-variance-authority\";\n\nexport const gridStyles = cva(cn(\n \"gridui-grid\",\n \"gridui-u-grid--grid gridui-u-grid--min-w-0\",\n));\n\nexport const gridCellsStyles = cva(cn(\n \"gridui-grid-cells\",\n \"gridui-u-grid--border-t gridui-u-grid--border-solid gridui-u-grid--border-border gridui-u-grid--border-l gridui-u-grid--border-solid gridui-u-grid--border-border\",\n));\n\nexport const gridInternalStyles = cva(cn(\n \"gridui-grid-internal\",\n \"gridui-u-grid--bg-border\",\n));\n\nexport const gridVariants = cva(gridStyles(), {\n variants: {\n frame: {\n none: \"\",\n cells: gridCellsStyles(),\n internal: gridInternalStyles(),\n },\n },\n defaultVariants: { frame: \"none\" },\n});\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Grid\n * @description Tracks\n */\n\nimport type { GridColumns } from \"./responsive\";\n\nexport const gridColumnCount = (columns: GridColumns): number => {\n return typeof columns === \"number\" ? columns : columns.length;\n};\n\nexport const gridTemplate = (columns: GridColumns): string => {\n if (typeof columns === \"number\") {\n return `repeat(${columns}, minmax(0, 1fr))`;\n }\n return columns.map((track) => {\n return track === \"1fr\" ? \"minmax(0, 1fr)\" : track;\n }).join(\" \");\n};\n\nexport const adaptiveGridTemplate = (minItemWidth: string | number): string => {\n if ((typeof minItemWidth === \"number\" && (!Number.isFinite(minItemWidth) || minItemWidth <= 0))\n || (typeof minItemWidth === \"string\" && !minItemWidth.trim())) {\n throw new RangeError(\"Adaptive Grid minItemWidth must be a positive number or a nonempty CSS length.\");\n }\n const minimum = typeof minItemWidth === \"number\" ? `${minItemWidth}px` : minItemWidth;\n return `repeat(auto-fit, minmax(min(100%, ${minimum}), 1fr))`;\n};\n\n// Fill incomplete rows before the next item wraps or starts a full-width row.\nexport const fillGridRowSpans = (columns: number, spans: readonly number[]): number[] => {\n let occupied = 0;\n return spans.map((span, index) => {\n if (span < 1 || span > columns) {\n throw new RangeError(\"Grid item spans must fit within the grid columns.\");\n }\n if (occupied + span > columns) {\n occupied = 0;\n }\n occupied += span;\n const next = spans[index + 1];\n if (next === undefined || occupied + next > columns) {\n const filled = span + columns - occupied;\n occupied = 0;\n return filled;\n }\n if (occupied === columns) {\n occupied = 0;\n }\n return span;\n });\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Grid\n * @description Grid\n */\n\nimport { GridItem, type GridItemProps } from \"../grid-item/grid-item\";\nimport type { ElementProps, LayoutStyle } from \"../shared/types\";\nimport type { GridColumns } from \"./responsive\";\nimport { gridVariants } from \"./style\";\nimport { adaptiveGridTemplate, fillGridRowSpans, gridColumnCount, gridTemplate } from \"./tracks\";\nimport { cn } from \"@gridui/style-utils\";\nimport { resolveResponsive, type Responsive, type Space, spaceValue } from \"@gridui/style-utils/responsive\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { Children, cloneElement, type FC, Fragment, isValidElement, type ReactElement } from \"react\";\n\ntype GridFrameOptions = {\n readonly frame?: \"none\";\n readonly gap?: Responsive<Space>;\n} | {\n readonly frame: \"none\" | \"cells\" | \"internal\";\n readonly gap?: never;\n};\n\ntype GridLayoutOptions = ({\n readonly columns?: Responsive<GridColumns>;\n readonly minItemWidth?: never;\n} & GridFrameOptions) | {\n readonly columns: \"auto\";\n readonly minItemWidth: Responsive<string | number>;\n readonly frame?: \"none\";\n readonly gap?: Responsive<Space>;\n readonly fillLastRow?: false;\n};\n\nexport type GridProps = ElementProps & GridLayoutOptions & ({\n readonly asChild?: false;\n readonly fillLastRow?: boolean;\n} | {\n readonly asChild: true;\n readonly children: ReactElement;\n readonly fillLastRow?: false;\n});\n\nexport const Grid: FC<GridProps> = (props: GridProps) => {\n const {\n columns = 1,\n minItemWidth,\n asChild = false,\n frame = \"none\",\n gap = 16,\n fillLastRow = false,\n className,\n style,\n children,\n ...restProps\n } = props;\n if (fillLastRow && (asChild || columns === \"auto\")) {\n throw new TypeError(\"Grid fillLastRow requires fixed columns and direct GridItem children, without asChild.\");\n }\n if (columns === \"auto\" && frame !== \"none\") {\n throw new TypeError(\"Adaptive Grid does not support framed cells.\");\n }\n if (asChild && (!isValidElement(children) || children.type === Fragment)) {\n throw new TypeError(\"Grid asChild requires one element that forwards props and refs to its root.\");\n }\n let geometry: LayoutStyle;\n let count: {\n base: number;\n md: number;\n lg: number;\n } | null = null;\n if (columns === \"auto\") {\n if (minItemWidth === undefined) {\n throw new TypeError(\"Adaptive Grid requires minItemWidth.\");\n }\n const minimum = resolveResponsive(minItemWidth);\n geometry = {\n \"--gridui-grid-template\": adaptiveGridTemplate(minimum.base),\n \"--gridui-grid-template-md\": adaptiveGridTemplate(minimum.md),\n \"--gridui-grid-template-lg\": adaptiveGridTemplate(minimum.lg),\n };\n } else {\n if (minItemWidth !== undefined) {\n throw new TypeError(\"Grid minItemWidth requires columns=auto.\");\n }\n const tracks = resolveResponsive(columns);\n count = {\n base: gridColumnCount(tracks.base),\n md: gridColumnCount(tracks.md),\n lg: gridColumnCount(tracks.lg),\n };\n geometry = {\n \"--gridui-columns\": count.base,\n \"--gridui-columns-md\": count.md,\n \"--gridui-columns-lg\": count.lg,\n \"--gridui-grid-template\": gridTemplate(tracks.base),\n \"--gridui-grid-template-md\": gridTemplate(tracks.md),\n \"--gridui-grid-template-lg\": gridTemplate(tracks.lg),\n };\n }\n const spacing = resolveResponsive(frame === \"none\" ? gap : 0);\n const layoutStyle: LayoutStyle = {\n ...geometry,\n \"--gridui-gap\": frame === \"internal\" ? \"1px\" : spaceValue(spacing.base),\n \"--gridui-gap-md\": frame === \"internal\" ? \"1px\" : spaceValue(spacing.md),\n \"--gridui-gap-lg\": frame === \"internal\" ? \"1px\" : spaceValue(spacing.lg),\n ...style,\n };\n let content = children;\n if (fillLastRow && count) {\n const items = Children.toArray(children).map((child) => {\n if (!isValidElement<GridItemProps>(child) || child.type !== GridItem) {\n throw new TypeError(\"Grid fillLastRow requires direct GridItem children.\");\n }\n return child;\n });\n const spans = items.map((item) => {\n return resolveResponsive(item.props.span ?? 1);\n });\n const filled = {\n base: fillGridRowSpans(count.base, spans.map((span) => {\n return span.base === \"full\" ? count.base : span.base;\n })),\n md: fillGridRowSpans(count.md, spans.map((span) => {\n return span.md === \"full\" ? count.md : span.md;\n })),\n lg: fillGridRowSpans(count.lg, spans.map((span) => {\n return span.lg === \"full\" ? count.lg : span.lg;\n })),\n };\n content = items.map((item, index) => {\n const itemStyle: LayoutStyle = {\n \"--gridui-span\": `span ${filled.base[index]} / span ${filled.base[index]}`,\n \"--gridui-span-md\": `span ${filled.md[index]} / span ${filled.md[index]}`,\n \"--gridui-span-lg\": `span ${filled.lg[index]} / span ${filled.lg[index]}`,\n ...item.props.style,\n };\n return cloneElement(item, {\n style: itemStyle,\n });\n });\n }\n const Component = asChild ? Slot : \"div\";\n return (<Component\n {...restProps}\n className={cn(gridVariants({ frame }), className)}\n style={layoutStyle}\n >\n {content}\n </Component>);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace PageFrame\n * @description Style\n */\n\nimport { containerWidthClasses } from \"../container/style\";\nimport { cva } from \"class-variance-authority\";\n\nexport const pageFrameVariants = cva(\"gridui-page-frame gridui-u-grid--min-h-svh\", {\n variants: {\n width: containerWidthClasses,\n },\n defaultVariants: { width: \"standard\" },\n});\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace PageFrame\n * @description Page Frame\n */\n\nimport { FrameRailGroup } from \"../frame-rail-group/frame-rail-group\";\nimport { FrameSections } from \"../frame-sections/frame-sections\";\nimport type { FrameRailOptions } from \"../shared/frame-rail-options\";\nimport { frameContentStyles } from \"../shared/frame-style\";\nimport type { ContainerWidth, ElementProps } from \"../shared/types\";\nimport { pageFrameVariants } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport { type Responsive, type Space, spacingVariables } from \"@gridui/style-utils/responsive\";\nimport type { FC, ReactNode } from \"react\";\n\nexport type PageFrameProps = ElementProps & FrameRailOptions & {\n readonly width?: ContainerWidth | undefined;\n readonly header?: ReactNode;\n readonly footer?: ReactNode;\n readonly railScope?: \"page\" | \"main\";\n readonly mainGutterStart?: Responsive<Space>;\n};\n\nexport const PageFrame: FC<PageFrameProps> = (props: PageFrameProps) => {\n const {\n width = \"standard\",\n header,\n footer,\n rail,\n railWidth,\n railScope = \"page\",\n mainGutterStart,\n children,\n className,\n ...restProps\n } = props;\n const railOptions = railWidth === undefined ? {} : { railWidth };\n const content = (<>\n <FrameSections>\n {children}\n </FrameSections>\n <div\n className=\"gridui-container gridui-frame-fill\"\n aria-hidden=\"true\"\n >\n <div\n className={cn(frameContentStyles())}\n />\n </div>\n </>);\n return (<FrameRailGroup\n {...restProps}\n rail={railScope === \"page\" ? rail : undefined}\n {...railOptions}\n className={cn(pageFrameVariants({ width }), className)}\n >\n {header ? (<div\n className=\"gridui-frame-page-header\"\n >\n {header}\n </div>) : null}\n <main\n className=\"gridui-frame-main\"\n style={mainGutterStart === undefined ? undefined : spacingVariables(\"main-gutter-start\", mainGutterStart)}\n >\n {railScope === \"main\" && rail !== undefined && rail !== null && rail !== false ? (<FrameRailGroup\n rail={rail}\n {...railOptions}\n className=\"gridui-frame-main-rail-group\"\n >\n {content}\n </FrameRailGroup>) : content}\n </main>\n {footer ? (<div\n className=\"gridui-frame-page-footer\"\n >\n {footer}\n </div>) : null}\n </FrameRailGroup>);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Row\n * @description Style\n */\n\nimport { cn } from \"@gridui/style-utils\";\nimport { cva } from \"class-variance-authority\";\n\nexport const rowStyles = cva(cn(\n \"gridui-row\",\n \"gridui-u-grid--min-w-0\",\n));\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Row\n * @description Row\n */\n\nimport { rowStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport { type Space, spaceValue } from \"@gridui/style-utils/responsive\";\nimport type { ComponentPropsWithRef, FC } from \"react\";\n\nexport type RowProps = ComponentPropsWithRef<\"div\"> & {\n readonly gap?: Space;\n readonly rowGap?: Space;\n readonly align?: \"stretch\" | \"center\" | \"baseline\" | \"end\";\n readonly justify?: \"start\" | \"between\";\n readonly wrap?: boolean;\n readonly inline?: boolean;\n};\n\nexport const Row: FC<RowProps> = (props: RowProps) => {\n const {\n gap = 16,\n rowGap = gap,\n align = \"stretch\",\n justify = \"start\",\n wrap = true,\n inline = false,\n className,\n style,\n ...restProps\n } = props;\n return (<div\n {...restProps}\n className={cn(rowStyles(), className)}\n data-inline={inline}\n style={{\n display: inline ? \"inline-flex\" : \"flex\",\n alignItems: align,\n justifyContent: justify === \"between\" ? \"space-between\" : \"flex-start\",\n flexWrap: wrap ? \"wrap\" : \"nowrap\",\n gap: `${spaceValue(rowGap)} ${spaceValue(gap)}`,\n ...style,\n }}\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Split\n * @description Split\n */\n\nimport type { ElementProps } from \"../shared/types\";\nimport { cn } from \"@gridui/style-utils\";\nimport { resolveResponsive, type Responsive } from \"@gridui/style-utils/responsive\";\nimport type { FC } from \"react\";\n\nexport type SplitDirection = \"row\" | \"column\" | \"row-reverse\" | \"column-reverse\";\n\nexport type SplitProps = ElementProps & {\n readonly direction?: Responsive<SplitDirection>;\n readonly order?: \"logical\" | \"physical\";\n readonly seam?: Responsive<\"line\" | \"none\">;\n};\n\nexport const Split: FC<SplitProps> = (props: SplitProps) => {\n const { direction = \"row\", order = \"logical\", seam = \"line\", className, ...restProps } = props;\n const directions = resolveResponsive(direction);\n const seams = resolveResponsive(seam);\n return (<div\n {...restProps}\n className={cn(\"gridui-split\", className)}\n data-order={order}\n data-direction={directions.base}\n data-direction-md={directions.md}\n data-direction-lg={directions.lg}\n data-seam={seams.base}\n data-seam-md={seams.md}\n data-seam-lg={seams.lg}\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Stack\n * @description Style\n */\n\nimport { cn } from \"@gridui/style-utils\";\nimport { cva } from \"class-variance-authority\";\n\nexport const stackStyles = cva(cn(\n \"gridui-stack\",\n \"gridui-u-grid--flex gridui-u-grid--min-w-0 gridui-u-grid--flex-col\",\n));\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Stack\n * @description Stack\n */\n\nimport type { ElementProps, LayoutStyle } from \"../shared/types\";\nimport { stackStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport { resolveResponsive, type Responsive, type Space, spaceValue } from \"@gridui/style-utils/responsive\";\nimport type { CSSProperties, FC } from \"react\";\n\nexport type StackProps = ElementProps & {\n readonly gap?: Responsive<Space>;\n readonly width?: \"full\";\n readonly maxWidth?: CSSProperties[\"maxWidth\"];\n readonly paddingStart?: Space;\n};\n\nexport const Stack: FC<StackProps> = (props: StackProps) => {\n const {\n gap = 16,\n width,\n maxWidth,\n paddingStart,\n className,\n style,\n ...restProps\n } = props;\n const spacing = resolveResponsive(gap);\n const layoutStyle: LayoutStyle = {\n \"--gridui-gap\": spaceValue(spacing.base),\n \"--gridui-gap-md\": spaceValue(spacing.md),\n \"--gridui-gap-lg\": spaceValue(spacing.lg),\n width: width === \"full\" ? \"100%\" : undefined,\n maxWidth,\n paddingTop: paddingStart === undefined ? undefined : spaceValue(paddingStart),\n ...style,\n };\n return (<div\n {...restProps}\n className={cn(stackStyles(), className)}\n style={layoutStyle}\n />);\n};\n"],
|
|
5
|
+
"mappings": ";AAOA,SAAS,WAAW;AAEb,IAAM,wBAAwB;AAAA,EACjC,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,MAAM;AACV;AAEO,IAAM,oBAAoB,IAAI,oBAAoB;AAAA,EACrD,UAAU;AAAA,IACN,OAAO;AAAA,EACX;AAAA,EACA,iBAAiB,EAAE,OAAO,WAAW;AACzC,CAAC;;;ACXD,SAAS,UAAU;AASP;AAFL,IAAM,YAAgC,CAAC,UAA0B;AACpE,QAAM,EAAE,QAAQ,YAAY,WAAW,GAAG,UAAU,IAAI;AACxD,SAAQ;AAAA,IAAC;AAAA;AAAA,MACJ,GAAG;AAAA,MACJ,WAAW,GAAG,kBAAkB,EAAE,MAAM,CAAC,GAAG,SAAS;AAAA;AAAA,EACzD;AACJ;;;ACQgB,mBACJ,OAAAA,MADI;AAlBT,IAAM,yBAAyB,CAClC,UACA,eACuB;AACvB,SAAO,eAAe,aAAa,SAAS,UAAU;AAC1D;AAOO,IAAM,kBAA4C,CAAC,UAAgC;AACtF,QAAM,EAAE,YAAY,KAAK,IAAI;AAC7B,MAAI,eAAe,QAAQ;AACvB,WAAO;AAAA,EACX;AACA,MAAI,CAAC,MAAM;AACP,WAAQ,iCACJ;AAAA,sBAAAA;AAAA,QAAC;AAAA;AAAA,UACG;AAAA,UACA,MAAK;AAAA;AAAA,MACT;AAAA,MACA,gBAAAA;AAAA,QAAC;AAAA;AAAA,UACG;AAAA,UACA,MAAK;AAAA;AAAA,MACT;AAAA,OACJ;AAAA,EACJ;AACA,SAAQ,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACL,WAAU;AAAA,MACV,mBAAiB;AAAA,MACjB,aAAW;AAAA,MACX,eAAY;AAAA,MACZ,OAAK;AAAA;AAAA,EACT;AACJ;;;ACzCA,SAAS,OAAAC,YAAW;AAEb,IAAM,yBAAyBA,KAAI,0BAA0B;AAAA,EAChE,UAAU;AAAA,IACN,WAAW;AAAA,MACP,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACX;AAAA,IACA,SAAS;AAAA,MACL,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACX;AAAA,IACA,kBAAkB;AAAA,MACd,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACX;AAAA,IACA,gBAAgB;AAAA,MACZ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EACA,iBAAiB;AAAA,IACb,WAAW;AAAA,IACX,SAAS;AAAA,IACT,kBAAkB;AAAA,IAClB,gBAAgB;AAAA,EACpB;AACJ,CAAC;;;ACjCD,SAAS,MAAAC,WAAU;AAuCX,SAII,OAAAC,MAJJ,QAAAC,aAAA;AAvBD,IAAM,iBAA0C,CAAC,UAA+B;AACnF,QAAM;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACP,IAAI;AAEJ,SAAQ,gBAAAD;AAAA,IAAC;AAAA;AAAA,MACJ,GAAG;AAAA,MACJ,WAAWD,IAAG,uBAAuB;AAAA,QACjC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACJ,CAAC,GAAG,SAAS;AAAA,MAEb,0BAAAE;AAAA,QAAC;AAAA;AAAA,UACG,WAAU;AAAA,UAET;AAAA;AAAA,YACD,gBAAAD;AAAA,cAAC;AAAA;AAAA,gBACG,YAAY;AAAA,gBACZ,MAAK;AAAA;AAAA,YACT;AAAA,YACA,gBAAAA;AAAA,cAAC;AAAA;AAAA,gBACG,YAAY;AAAA,gBACZ,MAAK;AAAA;AAAA,YACT;AAAA;AAAA;AAAA,MACJ;AAAA;AAAA,EACJ;AACJ;;;ACvDA,SAAS,OAAAE,YAAW;AAEb,IAAM,sBAAsBA,KAAI,yBAAyB;AAAA,EAC5D,UAAU;AAAA,IACN,UAAU;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO;AAAA,IACX;AAAA,EACJ;AAAA,EACA,iBAAiB,EAAE,UAAU,OAAO;AACxC,CAAC;;;ACXD,SAAS,MAAAC,WAAU;AASsB,gBAAAC,YAAA;AAFlC,IAAM,gBAAwC,CAAC,UAA8B;AAChF,QAAM,EAAE,WAAW,QAAQ,SAAS,WAAW,WAAW,GAAG,UAAU,IAAI;AAC3E,SAAO,aAAa,SAAS,OAAQ,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACjC,GAAG;AAAA,MACJ,WAAWD,IAAG,oBAAoB,EAAE,SAAS,CAAC,GAAG,SAAS;AAAA,MAC1D,iBAAe;AAAA,MACf,wBAAsB;AAAA,MACtB,eAAY;AAAA,MACZ,OAAK;AAAA;AAAA,EACT;AACJ;;;ACnBA,SAAS,mBAAgD,kBAAkB;AAOpE,IAAM,cAAc,CAAC,YAIvB;AACD,QAAM,SAAS,kBAAkB,OAAO;AACxC,SAAO;AAAA,IACH,2BAA2B,WAAW,OAAO,IAAI;AAAA,IACjD,8BAA8B,WAAW,OAAO,EAAE;AAAA,IAClD,8BAA8B,WAAW,OAAO,EAAE;AAAA,EACtD;AACJ;;;AClBA,SAAS,OAAAE,YAAW;AAEb,IAAM,oBAAoBA,KAAI,qBAAqB;;;ACF1D,SAAS,MAAAC,WAAU;AACnB,SAAS,oBAAoB;AAC7B,SAAS,OAAAC,YAAW;AAIb,IAAM,kBAAkB,CAAC,UAE5B,CAAC,MAAc;AACf,QAAM,EAAE,OAAO,UAAU,IAAI;AAC7B,SAAO,SAAS,YAAY,KAAK,gBAAgB,IAAI,IAAI,aAAa,IAAI,CAAC;AAC/E;AAEO,IAAM,qBAAqBA,KAAID;AAAA,EAClC;AAAA,EACA;AACJ,CAAC;;;AChBD,SAAS,MAAAE,WAAU;AACnB,SAAS,OAAAC,YAAW;AAEb,IAAM,uBAAuBA,KAAID;AAAA,EACpC;AAAA,EACA;AACJ,CAAC;AAEM,IAAM,8BAA8BC,KAAI,+MAA+M;;;ACD9P,SAAS,MAAAC,WAAU;AAoBX,gBAAAC,MAGA,QAAAC,aAHA;AAXD,IAAM,cAAoC,CAAC,UAA4B;AAC1E,QAAM,EAAE,UAAU;AAAA,IACd,MAAM;AAAA,IACN,IAAI;AAAA,EACR,GAAG,gBAAgB,QAAQ,OAAO,WAAW,WAAW,QAAQ,YAAY,WAAW,sBAAsB,YAAY,WAAW,UAAU,GAAG,UAAU,IAAI;AAC/J,SAAQ,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACJ,GAAG;AAAA,MACJ,WAAWF,IAAG,wCAAwC,gBAAgB;AAAA,QAClE;AAAA,MACJ,CAAC,GAAG,SAAS;AAAA,MAEb;AAAA,wBAAAC;AAAA,UAAC;AAAA;AAAA,YACG;AAAA;AAAA,QACJ;AAAA,QACA,gBAAAC;AAAA,UAAC;AAAA;AAAA,YACG,WAAWF,IAAG,mBAAmB,GAAG,kBAAkB,GAAG,sBAAsB;AAAA,YAC/E,uBAAqB;AAAA,YACrB,OAAO,YAAY,OAAO;AAAA,YAEzB;AAAA;AAAA,cACD,gBAAAC;AAAA,gBAAC;AAAA;AAAA,kBACG,YAAY,uBAAuB,UAAU,UAAU;AAAA;AAAA,cAC3D;AAAA;AAAA;AAAA,QACJ;AAAA,QACC,YAAa,gBAAAA;AAAA,UAAC;AAAA;AAAA,YACX,WAAWD,IAAG,mBAAmB,GAAG,qBAAqB,GAAG,wBAAwB,aAAa,4BAA4B,CAAC;AAAA,YAC9H,eAAY;AAAA,YACZ,OAAK;AAAA,YAEJ;AAAA;AAAA,QACL,IAAU;AAAA;AAAA;AAAA,EACd;AACJ;;;AC7CA,SAAS,MAAAG,WAAU;AACnB,SAAqB,cAAAC,mBAAkB;AAkB/B,gBAAAC,YAAA;AATD,IAAM,cAAoC,CAAC,UAA4B;AAC1E,QAAM,EAAE,UAAU;AAAA,IACd,MAAM;AAAA,IACN,IAAI;AAAA,EACR,GAAG,OAAO,MAAM,MAAM,IAAI,UAAU,WAAW,WAAW,UAAU,GAAG,UAAU,IAAI;AACrF,SAAQ,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACJ,GAAG;AAAA,MACJ,WAAWF,IAAG,wCAAwC,SAAS;AAAA,MAE/D,0BAAAE;AAAA,QAAC;AAAA;AAAA,UACG,WAAWF,IAAG,mBAAmB,GAAG,kBAAkB,CAAC;AAAA,UACvD,gBAAc;AAAA,UACd,OAAO;AAAA,YACH,GAAG,YAAY,OAAO;AAAA,YACtB,UAAU,OAAO,SAAS;AAAA,YAC1B,KAAKC,YAAW,GAAG;AAAA,UACvB;AAAA,UAEC;AAAA;AAAA,MACL;AAAA;AAAA,EACJ;AACJ;;;AClCA,SAAS,OAAAE,YAAW;AAEb,IAAM,kBAAkBA,KAAI,qKAAqK;AAEjM,IAAM,yBAAyBA,KAAI,0KAA0K;AAE7M,IAAM,8BAA8BA,KAAI,iHAAiH;;;ACLhK,SAAS,MAAAC,WAAU;AAkBX,gBAAAC,YAAA;AAXD,IAAM,YAAgC,CAAC,UAA0B;AACpE,QAAM;AAAA,IACF,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACP,IAAI;AACJ,SAAQ,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACJ,GAAG;AAAA,MACJ,WAAWD,IAAG,gBAAgB,GAAG,cAAc,mBAAmB,4BAA4B,GAAG,SAAS;AAAA,MAE1G,0BAAAC;AAAA,QAAC;AAAA;AAAA,UACG,WAAW,uBAAuB;AAAA,UAEjC;AAAA;AAAA,MACL;AAAA;AAAA,EACJ;AACJ;;;ACvBA,SAAS,MAAAC,WAAU;AACnB,SAAS,qBAAAC,oBAAmB,cAAAC,mBAAkB;AAuBlC,SAKQ,OAAAC,MALR,QAAAC,aAAA;AAlBL,IAAM,iBAA0C,CAAC,UAA+B;AACnF,QAAM,EAAE,MAAM,YAAY;AAAA,IACtB,MAAM;AAAA,IACN,IAAI;AAAA,EACR,GAAG,UAAU,WAAW,OAAO,GAAG,UAAU,IAAI;AAChD,QAAM,UAAU,SAAS,UAAa,SAAS,QAAQ,SAAS;AAChE,QAAM,QAAQH,mBAAkB,UAAU,YAAY,CAAC;AACvD,QAAM,cAEF;AAAA,IACA,4BAA4BC,YAAW,MAAM,IAAI;AAAA,IACjD,0BAA0BA,YAAW,MAAM,EAAE;AAAA,IAC7C,0BAA0BA,YAAW,MAAM,EAAE;AAAA,IAC7C,8BAA8B,MAAM,SAAS,IAAI,SAAS;AAAA,IAC1D,4BAA4B,MAAM,OAAO,IAAI,SAAS;AAAA,IACtD,4BAA4B,MAAM,OAAO,IAAI,SAAS;AAAA,IACtD,GAAG;AAAA,EACP;AACA,SAAQ,gBAAAE;AAAA,IAAC;AAAA;AAAA,MACJ,GAAG;AAAA,MACJ,WAAWJ,IAAG,2BAA2B,SAAS;AAAA,MAClD,OAAO;AAAA,MAEN;AAAA,kBAAW,gBAAAG;AAAA,UAAC;AAAA;AAAA,YACT,WAAU;AAAA,YAET;AAAA;AAAA,QACL,IAAU;AAAA,QACV,gBAAAA;AAAA,UAAC;AAAA;AAAA,YACG,WAAU;AAAA,YAET;AAAA;AAAA,QACL;AAAA;AAAA;AAAA,EACJ;AACJ;;;ACzCA,SAAS,MAAAE,YAAU;AACnB,SAAS,YAAY;AAUT,gBAAAC,YAAA;AAHL,IAAM,cAAoC,CAAC,UAA4B;AAC1E,QAAM,EAAE,UAAU,OAAO,OAAO,QAAQ,WAAW,GAAG,UAAU,IAAI;AACpE,QAAM,YAAY,UAAU,OAAO;AACnC,SAAQ,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACJ,GAAG;AAAA,MACJ,WAAWD,KAAG,uBAAuB,SAAS;AAAA,MAC9C,mBAAiB;AAAA;AAAA,EACrB;AACJ;;;AChBA,SAAS,MAAAE,YAAU;AACnB,SAAS,QAAAC,aAAY;AAUT,gBAAAC,aAAA;AAHL,IAAM,iBAA0C,CAAC,UAA+B;AACnF,QAAM,EAAE,UAAU,OAAO,eAAe,GAAG,WAAW,OAAO,GAAG,UAAU,IAAI;AAC9E,QAAM,YAAY,UAAUD,QAAO;AACnC,SAAQ,gBAAAC;AAAA,IAAC;AAAA;AAAA,MACJ,GAAG;AAAA,MACJ,WAAWF,KAAG,2BAA2B,SAAS;AAAA,MAClD,OAAO;AAAA,QACH,+BAA+B,OAAO,iBAAiB,WAAW,GAAG,YAAY,OAAO;AAAA,QACxF,GAAG;AAAA,MACP;AAAA;AAAA,EACJ;AACJ;;;ACXwC,gBAAAG,aAAA;AAFjC,IAAM,eAAsC,CAAC,UAA6B;AAC7E,QAAM,EAAE,QAAQ,IAAI;AACpB,SAAO,YAAY,SAAS,OAAQ,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACjC,WAAU;AAAA,MACV,gBAAc;AAAA,MACd,eAAY;AAAA,MACZ,OAAK;AAAA;AAAA,EACT;AACJ;;;ACTA,SAAS,MAAAC,YAAU;AACnB,SAAsC,wBAAwB;AA4BtD,gBAAAC,OAGA,QAAAC,aAHA;AAlBD,IAAM,eAAsC,CAAC,UAA6B;AAC7E,QAAM;AAAA,IACF,OAAO;AAAA,IACP,WAAW;AAAA,IACX;AAAA,IACA,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACP,IAAI;AACJ,SAAQ,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACJ,GAAG;AAAA,MACJ,WAAWF,KAAG,yCAAyC,gBAAgB,EAAE,KAAK,CAAC,GAAG,SAAS;AAAA,MAC3F,cAAY;AAAA,MAEZ;AAAA,wBAAAC;AAAA,UAAC;AAAA;AAAA,YACG;AAAA;AAAA,QACJ;AAAA,QACA,gBAAAC;AAAA,UAAC;AAAA;AAAA,YACG,WAAWF,KAAG,mBAAmB,GAAG,wBAAwB,UAAU,UAAU,2BAA2B;AAAA,YAC3G,OAAO;AAAA,cACH,GAAG,iBAAiB,0BAA0B,aAAa;AAAA,cAC3D,GAAG,iBAAiB,yBAAyB,YAAY;AAAA,YAC7D;AAAA,YAEA;AAAA,8BAAAC;AAAA,gBAAC;AAAA;AAAA,kBACG;AAAA;AAAA,cACJ;AAAA,cACC;AAAA,cACD,gBAAAA;AAAA,gBAAC;AAAA;AAAA,kBACG,YAAY,uBAAuB,UAAU,UAAU;AAAA;AAAA,cAC3D;AAAA;AAAA;AAAA,QACJ;AAAA;AAAA;AAAA,EACJ;AACJ;;;ACtDA,SAAS,MAAAE,YAAU;AAOP,gBAAAC,aAAA;AAFL,IAAM,gBAAwC,CAAC,UAA8B;AAChF,QAAM,EAAE,WAAW,GAAG,UAAU,IAAI;AACpC,SAAQ,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACJ,GAAG;AAAA,MACJ,WAAWD,KAAG,yBAAyB,SAAS;AAAA;AAAA,EACpD;AACJ;;;ACTO,IAAM,YAAY,CAAC,UAAwB;AAC9C,SAAO,UAAU,SAAS,WAAW,QAAQ,KAAK,WAAW,KAAK;AACtE;;;ACJA,SAAS,MAAAE,YAAU;AACnB,SAAS,OAAAC,YAAW;AAEb,IAAM,iBAAiBA,KAAID;AAAA,EAC9B;AAAA,EACA;AACJ,CAAC;;;ACFD,SAAS,MAAAE,YAAU;AACnB,SAAS,qBAAAC,oBAAgD,cAAAC,mBAAkB;AAC3E,SAAS,QAAAC,aAAY;AAoCT,gBAAAC,aAAA;AA3BL,IAAM,WAA8B,CAAC,UAAyB;AACjE,QAAM;AAAA,IACF,UAAU;AAAA,IACV,OAAO;AAAA,IACP,UAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACP,IAAI;AACJ,QAAM,OAAOH,mBAAkB,IAAI;AACnC,QAAM,QAAQA,mBAAkB,OAAO;AACvC,QAAM,cAA2B;AAAA,IAC7B,iBAAiB,UAAU,KAAK,IAAI;AAAA,IACpC,oBAAoB,UAAU,KAAK,EAAE;AAAA,IACrC,oBAAoB,UAAU,KAAK,EAAE;AAAA,IACrC,oBAAoBC,YAAW,MAAM,IAAI;AAAA,IACzC,uBAAuBA,YAAW,MAAM,EAAE;AAAA,IAC1C,uBAAuBA,YAAW,MAAM,EAAE;AAAA,IAC1C,GAAI,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,YAAY;AAAA,IAChB,IAAI,CAAC;AAAA,IACL,GAAG;AAAA,EACP;AAEA,QAAM,YAAY,UAAUC,QAAO;AACnC,SAAQ,gBAAAC;AAAA,IAAC;AAAA;AAAA,MACJ,GAAG;AAAA,MACJ,WAAWJ,KAAG,eAAe,GAAG,SAAS;AAAA,MACzC,OAAO;AAAA;AAAA,EACX;AACJ;;;AC/CA,SAAS,MAAAK,YAAU;AACnB,SAAS,OAAAC,YAAW;AAEb,IAAM,aAAaA,KAAID;AAAA,EAC1B;AAAA,EACA;AACJ,CAAC;AAEM,IAAM,kBAAkBC,KAAID;AAAA,EAC/B;AAAA,EACA;AACJ,CAAC;AAEM,IAAM,qBAAqBC,KAAID;AAAA,EAClC;AAAA,EACA;AACJ,CAAC;AAEM,IAAM,eAAeC,KAAI,WAAW,GAAG;AAAA,EAC1C,UAAU;AAAA,IACN,OAAO;AAAA,MACH,MAAM;AAAA,MACN,OAAO,gBAAgB;AAAA,MACvB,UAAU,mBAAmB;AAAA,IACjC;AAAA,EACJ;AAAA,EACA,iBAAiB,EAAE,OAAO,OAAO;AACrC,CAAC;;;ACzBM,IAAM,kBAAkB,CAAC,YAAiC;AAC7D,SAAO,OAAO,YAAY,WAAW,UAAU,QAAQ;AAC3D;AAEO,IAAM,eAAe,CAAC,YAAiC;AAC1D,MAAI,OAAO,YAAY,UAAU;AAC7B,WAAO,UAAU,OAAO;AAAA,EAC5B;AACA,SAAO,QAAQ,IAAI,CAAC,UAAU;AAC1B,WAAO,UAAU,QAAQ,mBAAmB;AAAA,EAChD,CAAC,EAAE,KAAK,GAAG;AACf;AAEO,IAAM,uBAAuB,CAAC,iBAA0C;AAC3E,MAAK,OAAO,iBAAiB,aAAa,CAAC,OAAO,SAAS,YAAY,KAAK,gBAAgB,MACpF,OAAO,iBAAiB,YAAY,CAAC,aAAa,KAAK,GAAI;AAC/D,UAAM,IAAI,WAAW,gFAAgF;AAAA,EACzG;AACA,QAAM,UAAU,OAAO,iBAAiB,WAAW,GAAG,YAAY,OAAO;AACzE,SAAO,qCAAqC,OAAO;AACvD;AAGO,IAAM,mBAAmB,CAAC,SAAiB,UAAuC;AACrF,MAAI,WAAW;AACf,SAAO,MAAM,IAAI,CAAC,MAAM,UAAU;AAC9B,QAAI,OAAO,KAAK,OAAO,SAAS;AAC5B,YAAM,IAAI,WAAW,mDAAmD;AAAA,IAC5E;AACA,QAAI,WAAW,OAAO,SAAS;AAC3B,iBAAW;AAAA,IACf;AACA,gBAAY;AACZ,UAAM,OAAO,MAAM,QAAQ,CAAC;AAC5B,QAAI,SAAS,UAAa,WAAW,OAAO,SAAS;AACjD,YAAM,SAAS,OAAO,UAAU;AAChC,iBAAW;AACX,aAAO;AAAA,IACX;AACA,QAAI,aAAa,SAAS;AACtB,iBAAW;AAAA,IACf;AACA,WAAO;AAAA,EACX,CAAC;AACL;;;ACzCA,SAAS,MAAAC,YAAU;AACnB,SAAS,qBAAAC,oBAAgD,cAAAC,mBAAkB;AAC3E,SAAS,QAAAC,aAAY;AACrB,SAAS,UAAU,cAAuB,YAAAC,WAAU,sBAAyC;AAkIjF,gBAAAC,aAAA;AApGL,IAAM,OAAsB,CAAC,UAAqB;AACrD,QAAM;AAAA,IACF,UAAU;AAAA,IACV;AAAA,IACA,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACP,IAAI;AACJ,MAAI,gBAAgB,WAAW,YAAY,SAAS;AAChD,UAAM,IAAI,UAAU,wFAAwF;AAAA,EAChH;AACA,MAAI,YAAY,UAAU,UAAU,QAAQ;AACxC,UAAM,IAAI,UAAU,8CAA8C;AAAA,EACtE;AACA,MAAI,YAAY,CAAC,eAAe,QAAQ,KAAK,SAAS,SAASD,YAAW;AACtE,UAAM,IAAI,UAAU,6EAA6E;AAAA,EACrG;AACA,MAAI;AACJ,MAAI,QAIO;AACX,MAAI,YAAY,QAAQ;AACpB,QAAI,iBAAiB,QAAW;AAC5B,YAAM,IAAI,UAAU,sCAAsC;AAAA,IAC9D;AACA,UAAM,UAAUH,mBAAkB,YAAY;AAC9C,eAAW;AAAA,MACP,0BAA0B,qBAAqB,QAAQ,IAAI;AAAA,MAC3D,6BAA6B,qBAAqB,QAAQ,EAAE;AAAA,MAC5D,6BAA6B,qBAAqB,QAAQ,EAAE;AAAA,IAChE;AAAA,EACJ,OAAO;AACH,QAAI,iBAAiB,QAAW;AAC5B,YAAM,IAAI,UAAU,0CAA0C;AAAA,IAClE;AACA,UAAM,SAASA,mBAAkB,OAAO;AACxC,YAAQ;AAAA,MACJ,MAAM,gBAAgB,OAAO,IAAI;AAAA,MACjC,IAAI,gBAAgB,OAAO,EAAE;AAAA,MAC7B,IAAI,gBAAgB,OAAO,EAAE;AAAA,IACjC;AACA,eAAW;AAAA,MACP,oBAAoB,MAAM;AAAA,MAC1B,uBAAuB,MAAM;AAAA,MAC7B,uBAAuB,MAAM;AAAA,MAC7B,0BAA0B,aAAa,OAAO,IAAI;AAAA,MAClD,6BAA6B,aAAa,OAAO,EAAE;AAAA,MACnD,6BAA6B,aAAa,OAAO,EAAE;AAAA,IACvD;AAAA,EACJ;AACA,QAAM,UAAUA,mBAAkB,UAAU,SAAS,MAAM,CAAC;AAC5D,QAAM,cAA2B;AAAA,IAC7B,GAAG;AAAA,IACH,gBAAgB,UAAU,aAAa,QAAQC,YAAW,QAAQ,IAAI;AAAA,IACtE,mBAAmB,UAAU,aAAa,QAAQA,YAAW,QAAQ,EAAE;AAAA,IACvE,mBAAmB,UAAU,aAAa,QAAQA,YAAW,QAAQ,EAAE;AAAA,IACvE,GAAG;AAAA,EACP;AACA,MAAI,UAAU;AACd,MAAI,eAAe,OAAO;AACtB,UAAM,QAAQ,SAAS,QAAQ,QAAQ,EAAE,IAAI,CAAC,UAAU;AACpD,UAAI,CAAC,eAA8B,KAAK,KAAK,MAAM,SAAS,UAAU;AAClE,cAAM,IAAI,UAAU,qDAAqD;AAAA,MAC7E;AACA,aAAO;AAAA,IACX,CAAC;AACD,UAAM,QAAQ,MAAM,IAAI,CAAC,SAAS;AAC9B,aAAOD,mBAAkB,KAAK,MAAM,QAAQ,CAAC;AAAA,IACjD,CAAC;AACD,UAAM,SAAS;AAAA,MACX,MAAM,iBAAiB,MAAM,MAAM,MAAM,IAAI,CAAC,SAAS;AACnD,eAAO,KAAK,SAAS,SAAS,MAAM,OAAO,KAAK;AAAA,MACpD,CAAC,CAAC;AAAA,MACF,IAAI,iBAAiB,MAAM,IAAI,MAAM,IAAI,CAAC,SAAS;AAC/C,eAAO,KAAK,OAAO,SAAS,MAAM,KAAK,KAAK;AAAA,MAChD,CAAC,CAAC;AAAA,MACF,IAAI,iBAAiB,MAAM,IAAI,MAAM,IAAI,CAAC,SAAS;AAC/C,eAAO,KAAK,OAAO,SAAS,MAAM,KAAK,KAAK;AAAA,MAChD,CAAC,CAAC;AAAA,IACN;AACA,cAAU,MAAM,IAAI,CAAC,MAAM,UAAU;AACjC,YAAM,YAAyB;AAAA,QAC3B,iBAAiB,QAAQ,OAAO,KAAK,KAAK,CAAC,WAAW,OAAO,KAAK,KAAK,CAAC;AAAA,QACxE,oBAAoB,QAAQ,OAAO,GAAG,KAAK,CAAC,WAAW,OAAO,GAAG,KAAK,CAAC;AAAA,QACvE,oBAAoB,QAAQ,OAAO,GAAG,KAAK,CAAC,WAAW,OAAO,GAAG,KAAK,CAAC;AAAA,QACvE,GAAG,KAAK,MAAM;AAAA,MAClB;AACA,aAAO,aAAa,MAAM;AAAA,QACtB,OAAO;AAAA,MACX,CAAC;AAAA,IACL,CAAC;AAAA,EACL;AACA,QAAM,YAAY,UAAUE,QAAO;AACnC,SAAQ,gBAAAE;AAAA,IAAC;AAAA;AAAA,MACJ,GAAG;AAAA,MACJ,WAAWL,KAAG,aAAa,EAAE,MAAM,CAAC,GAAG,SAAS;AAAA,MAChD,OAAO;AAAA,MAEN;AAAA;AAAA,EACL;AACJ;;;AChJA,SAAS,OAAAM,aAAW;AAEb,IAAM,oBAAoBA,MAAI,8CAA8C;AAAA,EAC/E,UAAU;AAAA,IACN,OAAO;AAAA,EACX;AAAA,EACA,iBAAiB,EAAE,OAAO,WAAW;AACzC,CAAC;;;ACFD,SAAS,MAAAC,YAAU;AACnB,SAAsC,oBAAAC,yBAAwB;AAyBzC,qBAAAC,WACb,OAAAC,OADa,QAAAC,aAAA;AAdd,IAAM,YAAgC,CAAC,UAA0B;AACpE,QAAM;AAAA,IACF,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACP,IAAI;AACJ,QAAM,cAAc,cAAc,SAAY,CAAC,IAAI,EAAE,UAAU;AAC/D,QAAM,UAAW,gBAAAA,MAAAF,WAAA,EACb;AAAA,oBAAAC,MAAC,iBACI,UACL;AAAA,IACA,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACG,WAAU;AAAA,QACV,eAAY;AAAA,QAEZ,0BAAAA;AAAA,UAAC;AAAA;AAAA,YACG,WAAWH,KAAG,mBAAmB,CAAC;AAAA;AAAA,QACtC;AAAA;AAAA,IACJ;AAAA,KACJ;AACA,SAAQ,gBAAAI;AAAA,IAAC;AAAA;AAAA,MACJ,GAAG;AAAA,MACJ,MAAM,cAAc,SAAS,OAAO;AAAA,MACnC,GAAG;AAAA,MACJ,WAAWJ,KAAG,kBAAkB,EAAE,MAAM,CAAC,GAAG,SAAS;AAAA,MAEpD;AAAA,iBAAU,gBAAAG;AAAA,UAAC;AAAA;AAAA,YACR,WAAU;AAAA,YAET;AAAA;AAAA,QACL,IAAU;AAAA,QACV,gBAAAA;AAAA,UAAC;AAAA;AAAA,YACG,WAAU;AAAA,YACV,OAAO,oBAAoB,SAAY,SAAYF,kBAAiB,qBAAqB,eAAe;AAAA,YAEvG,wBAAc,UAAU,SAAS,UAAa,SAAS,QAAQ,SAAS,QAAS,gBAAAE;AAAA,cAAC;AAAA;AAAA,gBAC/E;AAAA,gBACC,GAAG;AAAA,gBACJ,WAAU;AAAA,gBAET;AAAA;AAAA,YACL,IAAqB;AAAA;AAAA,QACzB;AAAA,QACC,SAAU,gBAAAA;AAAA,UAAC;AAAA;AAAA,YACR,WAAU;AAAA,YAET;AAAA;AAAA,QACL,IAAU;AAAA;AAAA;AAAA,EACd;AACJ;;;AC1EA,SAAS,MAAAE,YAAU;AACnB,SAAS,OAAAC,aAAW;AAEb,IAAM,YAAYA,MAAID;AAAA,EACzB;AAAA,EACA;AACJ,CAAC;;;ACLD,SAAS,MAAAE,YAAU;AACnB,SAAqB,cAAAC,mBAAkB;AAwB3B,gBAAAC,aAAA;AAZL,IAAM,MAAoB,CAAC,UAAoB;AAClD,QAAM;AAAA,IACF,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,OAAO;AAAA,IACP,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACP,IAAI;AACJ,SAAQ,gBAAAA;AAAA,IAAC;AAAA;AAAA,MACJ,GAAG;AAAA,MACJ,WAAWF,KAAG,UAAU,GAAG,SAAS;AAAA,MACpC,eAAa;AAAA,MACb,OAAO;AAAA,QACH,SAAS,SAAS,gBAAgB;AAAA,QAClC,YAAY;AAAA,QACZ,gBAAgB,YAAY,YAAY,kBAAkB;AAAA,QAC1D,UAAU,OAAO,SAAS;AAAA,QAC1B,KAAK,GAAGC,YAAW,MAAM,CAAC,IAAIA,YAAW,GAAG,CAAC;AAAA,QAC7C,GAAG;AAAA,MACP;AAAA;AAAA,EACJ;AACJ;;;ACtCA,SAAS,MAAAE,YAAU;AACnB,SAAS,qBAAAC,0BAA0C;AAevC,gBAAAC,aAAA;AAJL,IAAM,QAAwB,CAAC,UAAsB;AACxD,QAAM,EAAE,YAAY,OAAO,QAAQ,WAAW,OAAO,QAAQ,WAAW,GAAG,UAAU,IAAI;AACzF,QAAM,aAAaD,mBAAkB,SAAS;AAC9C,QAAM,QAAQA,mBAAkB,IAAI;AACpC,SAAQ,gBAAAC;AAAA,IAAC;AAAA;AAAA,MACJ,GAAG;AAAA,MACJ,WAAWF,KAAG,gBAAgB,SAAS;AAAA,MACvC,cAAY;AAAA,MACZ,kBAAgB,WAAW;AAAA,MAC3B,qBAAmB,WAAW;AAAA,MAC9B,qBAAmB,WAAW;AAAA,MAC9B,aAAW,MAAM;AAAA,MACjB,gBAAc,MAAM;AAAA,MACpB,gBAAc,MAAM;AAAA;AAAA,EACxB;AACJ;;;AC5BA,SAAS,MAAAG,YAAU;AACnB,SAAS,OAAAC,aAAW;AAEb,IAAM,cAAcA,MAAID;AAAA,EAC3B;AAAA,EACA;AACJ,CAAC;;;ACJD,SAAS,MAAAE,YAAU;AACnB,SAAS,qBAAAC,oBAAgD,cAAAC,mBAAkB;AA8B/D,gBAAAC,aAAA;AApBL,IAAM,QAAwB,CAAC,UAAsB;AACxD,QAAM;AAAA,IACF,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACP,IAAI;AACJ,QAAM,UAAUF,mBAAkB,GAAG;AACrC,QAAM,cAA2B;AAAA,IAC7B,gBAAgBC,YAAW,QAAQ,IAAI;AAAA,IACvC,mBAAmBA,YAAW,QAAQ,EAAE;AAAA,IACxC,mBAAmBA,YAAW,QAAQ,EAAE;AAAA,IACxC,OAAO,UAAU,SAAS,SAAS;AAAA,IACnC;AAAA,IACA,YAAY,iBAAiB,SAAY,SAAYA,YAAW,YAAY;AAAA,IAC5E,GAAG;AAAA,EACP;AACA,SAAQ,gBAAAC;AAAA,IAAC;AAAA;AAAA,MACJ,GAAG;AAAA,MACJ,WAAWH,KAAG,YAAY,GAAG,SAAS;AAAA,MACtC,OAAO;AAAA;AAAA,EACX;AACJ;",
|
|
6
6
|
"names": ["jsx", "cva", "cn", "jsx", "jsxs", "cva", "cn", "jsx", "cva", "cn", "cva", "cn", "cva", "cn", "jsx", "jsxs", "cn", "spaceValue", "jsx", "cva", "cn", "jsx", "cn", "resolveResponsive", "spaceValue", "jsx", "jsxs", "cn", "jsx", "cn", "Slot", "jsx", "jsx", "cn", "jsx", "jsxs", "cn", "jsx", "cn", "cva", "cn", "resolveResponsive", "spaceValue", "Slot", "jsx", "cn", "cva", "cn", "resolveResponsive", "spaceValue", "Slot", "Fragment", "jsx", "cva", "cn", "spacingVariables", "Fragment", "jsx", "jsxs", "cn", "cva", "cn", "spaceValue", "jsx", "cn", "resolveResponsive", "jsx", "cn", "cva", "cn", "resolveResponsive", "spaceValue", "jsx"]
|
|
7
7
|
}
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
* @namespace PageFrame
|
|
5
5
|
* @description Page Frame
|
|
6
6
|
*/
|
|
7
|
-
import type {
|
|
8
|
-
import {
|
|
7
|
+
import type { FrameRailOptions } from "../shared/frame-rail-options";
|
|
8
|
+
import type { ContainerWidth, ElementProps } from "../shared/types";
|
|
9
9
|
import { type Responsive, type Space } from "@gridui/style-utils/responsive";
|
|
10
10
|
import type { FC, ReactNode } from "react";
|
|
11
|
-
export type PageFrameProps =
|
|
12
|
-
readonly width?:
|
|
11
|
+
export type PageFrameProps = ElementProps & FrameRailOptions & {
|
|
12
|
+
readonly width?: ContainerWidth | undefined;
|
|
13
13
|
readonly header?: ReactNode;
|
|
14
14
|
readonly footer?: ReactNode;
|
|
15
15
|
readonly railScope?: "page" | "main";
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* @description Style
|
|
6
6
|
*/
|
|
7
7
|
export declare const pageFrameVariants: (props?: ({
|
|
8
|
-
width?: "
|
|
8
|
+
width?: "narrow" | "standard" | "wide" | null | undefined;
|
|
9
9
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @namespace Shared
|
|
5
5
|
* @description Decoration
|
|
6
6
|
*/
|
|
7
|
-
import type { FrameBoundaryStyle } from "../frame-boundary/
|
|
7
|
+
import type { FrameBoundaryStyle } from "../frame-boundary/boundary-options";
|
|
8
8
|
import type { FC } from "react";
|
|
9
9
|
export type FrameDecorationStyle = "none" | "nodes" | "marks" | "corners" | "ticks";
|
|
10
10
|
export declare const resolveFrameDecoration: (boundary: FrameBoundaryStyle, decoration?: FrameDecorationStyle) => FrameDecorationStyle;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author WMXPY
|
|
3
|
+
* @package Grid
|
|
4
|
+
* @namespace Shared
|
|
5
|
+
* @description Frame Rail Options
|
|
6
|
+
*/
|
|
7
|
+
import type { Responsive, Space } from "@gridui/style-utils/responsive";
|
|
8
|
+
import type { ReactNode } from "react";
|
|
9
|
+
export type FrameRailOptions = {
|
|
10
|
+
readonly rail?: ReactNode;
|
|
11
|
+
readonly railWidth?: Responsive<Space>;
|
|
12
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @author WMXPY
|
|
3
|
+
* @package Grid
|
|
4
|
+
* @namespace Shared
|
|
5
|
+
* @description Frame Surface Options
|
|
6
|
+
*/
|
|
7
|
+
import type { FrameBoundaryOptions } from "../frame-boundary/boundary-options";
|
|
8
|
+
import type { FrameDecorationStyle } from "./decoration";
|
|
9
|
+
import type { FrameTone } from "./frame-style";
|
|
10
|
+
export type FrameSurfaceOptions = FrameBoundaryOptions & {
|
|
11
|
+
readonly tone?: FrameTone;
|
|
12
|
+
readonly decoration?: FrameDecorationStyle;
|
|
13
|
+
};
|
package/dist/shared/types.d.ts
CHANGED
|
@@ -9,3 +9,7 @@ export type LayoutStyle = CSSProperties & {
|
|
|
9
9
|
[key: `--gridui-${string}`]: string | number;
|
|
10
10
|
};
|
|
11
11
|
export type ElementProps = ComponentPropsWithRef<"div">;
|
|
12
|
+
export type SlottedElementOptions = ElementProps & {
|
|
13
|
+
readonly asChild?: boolean;
|
|
14
|
+
};
|
|
15
|
+
export type ContainerWidth = "narrow" | "standard" | "wide";
|
package/dist/styles.css
CHANGED
|
@@ -1,195 +1,195 @@
|
|
|
1
|
-
/*! tailwindcss v4.3.
|
|
1
|
+
/*! tailwindcss v4.3.5 | MIT License | https://tailwindcss.com */
|
|
2
2
|
@layer properties;
|
|
3
3
|
@layer theme, base, components, utilities;
|
|
4
4
|
@layer utilities {
|
|
5
|
-
.gridui-u
|
|
5
|
+
.gridui-u-grid--\@container {
|
|
6
6
|
container-type: inline-size;
|
|
7
7
|
}
|
|
8
|
-
.gridui-u-relative {
|
|
8
|
+
.gridui-u-grid--relative {
|
|
9
9
|
position: relative;
|
|
10
10
|
}
|
|
11
|
-
.gridui-u-z-\(--gridui-z-interaction\) {
|
|
11
|
+
.gridui-u-grid--z-\(--gridui-z-interaction\) {
|
|
12
12
|
z-index: var(--gridui-z-interaction);
|
|
13
13
|
}
|
|
14
|
-
.gridui-u-box-border {
|
|
14
|
+
.gridui-u-grid--box-border {
|
|
15
15
|
box-sizing: border-box;
|
|
16
16
|
}
|
|
17
|
-
.gridui-u-block {
|
|
17
|
+
.gridui-u-grid--block {
|
|
18
18
|
display: block;
|
|
19
19
|
}
|
|
20
|
-
.gridui-u-flex {
|
|
20
|
+
.gridui-u-grid--flex {
|
|
21
21
|
display: flex;
|
|
22
22
|
}
|
|
23
|
-
.gridui-u-grid {
|
|
23
|
+
.gridui-u-grid--grid {
|
|
24
24
|
display: grid;
|
|
25
25
|
}
|
|
26
|
-
.gridui-u-h-full {
|
|
26
|
+
.gridui-u-grid--h-full {
|
|
27
27
|
height: 100%;
|
|
28
28
|
}
|
|
29
|
-
.gridui-u-min-h-svh {
|
|
29
|
+
.gridui-u-grid--min-h-svh {
|
|
30
30
|
min-height: 100svh;
|
|
31
31
|
}
|
|
32
|
-
.gridui-u-min-w-0 {
|
|
32
|
+
.gridui-u-grid--min-w-0 {
|
|
33
33
|
min-width: 0px;
|
|
34
34
|
}
|
|
35
|
-
.gridui-u-flex-col {
|
|
35
|
+
.gridui-u-grid--flex-col {
|
|
36
36
|
flex-direction: column;
|
|
37
37
|
}
|
|
38
|
-
.gridui-u-items-center {
|
|
38
|
+
.gridui-u-grid--items-center {
|
|
39
39
|
align-items: center;
|
|
40
40
|
}
|
|
41
|
-
.gridui-u-justify-center {
|
|
41
|
+
.gridui-u-grid--justify-center {
|
|
42
42
|
justify-content: center;
|
|
43
43
|
}
|
|
44
|
-
.gridui-u-justify-end {
|
|
44
|
+
.gridui-u-grid--justify-end {
|
|
45
45
|
justify-content: flex-end;
|
|
46
46
|
}
|
|
47
|
-
.gridui-u-gap-gridui-24 {
|
|
47
|
+
.gridui-u-grid--gap-gridui-24 {
|
|
48
48
|
gap: var(--gridui-space-24);
|
|
49
49
|
}
|
|
50
|
-
.gridui-u-overflow-hidden {
|
|
50
|
+
.gridui-u-grid--overflow-hidden {
|
|
51
51
|
overflow: hidden;
|
|
52
52
|
}
|
|
53
|
-
.gridui-u-border-x {
|
|
53
|
+
.gridui-u-grid--border-x {
|
|
54
54
|
border-inline-style: var(--tw-border-style);
|
|
55
55
|
border-inline-width: 1px;
|
|
56
56
|
}
|
|
57
|
-
.gridui-u-border-x-0 {
|
|
57
|
+
.gridui-u-grid--border-x-0 {
|
|
58
58
|
border-inline-style: var(--tw-border-style);
|
|
59
59
|
border-inline-width: 0px;
|
|
60
60
|
}
|
|
61
|
-
.gridui-u-border-t {
|
|
61
|
+
.gridui-u-grid--border-t {
|
|
62
62
|
border-top-style: var(--tw-border-style);
|
|
63
63
|
border-top-width: 1px;
|
|
64
64
|
}
|
|
65
|
-
.gridui-u-border-l {
|
|
65
|
+
.gridui-u-grid--border-l {
|
|
66
66
|
border-left-style: var(--tw-border-style);
|
|
67
67
|
border-left-width: 1px;
|
|
68
68
|
}
|
|
69
|
-
.gridui-u-border-solid {
|
|
69
|
+
.gridui-u-grid--border-solid {
|
|
70
70
|
--tw-border-style: solid;
|
|
71
71
|
border-style: solid;
|
|
72
72
|
}
|
|
73
|
-
.gridui-u-border-border {
|
|
73
|
+
.gridui-u-grid--border-border {
|
|
74
74
|
border-color: var(--gridui-border);
|
|
75
75
|
}
|
|
76
|
-
.gridui-u-bg-border {
|
|
76
|
+
.gridui-u-grid--bg-border {
|
|
77
77
|
background-color: var(--gridui-border);
|
|
78
78
|
}
|
|
79
|
-
.gridui-u-bg-inherit {
|
|
79
|
+
.gridui-u-grid--bg-inherit {
|
|
80
80
|
background-color: inherit;
|
|
81
81
|
}
|
|
82
|
-
.gridui-u-bg-transparent {
|
|
82
|
+
.gridui-u-grid--bg-transparent {
|
|
83
83
|
background-color: transparent;
|
|
84
84
|
}
|
|
85
|
-
.gridui-u-px-gridui-24 {
|
|
85
|
+
.gridui-u-grid--px-gridui-24 {
|
|
86
86
|
padding-inline: var(--gridui-space-24);
|
|
87
87
|
}
|
|
88
|
-
.gridui-u-py-gridui-24 {
|
|
88
|
+
.gridui-u-grid--py-gridui-24 {
|
|
89
89
|
padding-block: var(--gridui-space-24);
|
|
90
90
|
}
|
|
91
|
-
.gridui-u-py-gridui-32 {
|
|
91
|
+
.gridui-u-grid--py-gridui-32 {
|
|
92
92
|
padding-block: var(--gridui-space-32);
|
|
93
93
|
}
|
|
94
|
-
.gridui-u-pb-0 {
|
|
94
|
+
.gridui-u-grid--pb-0 {
|
|
95
95
|
padding-bottom: 0px;
|
|
96
96
|
}
|
|
97
|
-
.gridui-u-type-eyebrow {
|
|
97
|
+
.gridui-u-grid--type-eyebrow {
|
|
98
98
|
font: var(--gridui-type-eyebrow);
|
|
99
99
|
letter-spacing: 0.08em;
|
|
100
100
|
}
|
|
101
|
-
.gridui-u-wrap-anywhere {
|
|
101
|
+
.gridui-u-grid--wrap-anywhere {
|
|
102
102
|
overflow-wrap: anywhere;
|
|
103
103
|
}
|
|
104
|
-
.gridui-u-text-muted {
|
|
104
|
+
.gridui-u-grid--text-muted {
|
|
105
105
|
color: var(--gridui-muted);
|
|
106
106
|
}
|
|
107
|
-
.gridui-u
|
|
107
|
+
.gridui-u-grid--\[--gridui-dashboard-compact-end-minimum\:0px\] {
|
|
108
108
|
--gridui-dashboard-compact-end-minimum: 0px;
|
|
109
109
|
}
|
|
110
|
-
.gridui-u
|
|
110
|
+
.gridui-u-grid--\[--gridui-dashboard-compact-end\:0px\] {
|
|
111
111
|
--gridui-dashboard-compact-end: 0px;
|
|
112
112
|
}
|
|
113
|
-
.gridui-u
|
|
113
|
+
.gridui-u-grid--\[--gridui-dashboard-compact-end\:var\(--gridui-space-8\)\] {
|
|
114
114
|
--gridui-dashboard-compact-end: var(--gridui-space-8);
|
|
115
115
|
}
|
|
116
|
-
.gridui-u
|
|
116
|
+
.gridui-u-grid--\[--gridui-dashboard-compact-end\:var\(--gridui-space-16\)\] {
|
|
117
117
|
--gridui-dashboard-compact-end: var(--gridui-space-16);
|
|
118
118
|
}
|
|
119
|
-
.gridui-u
|
|
119
|
+
.gridui-u-grid--\[--gridui-dashboard-compact-end\:var\(--gridui-space-24\)\] {
|
|
120
120
|
--gridui-dashboard-compact-end: var(--gridui-space-24);
|
|
121
121
|
}
|
|
122
|
-
.gridui-u
|
|
122
|
+
.gridui-u-grid--\[--gridui-dashboard-compact-start-minimum\:0px\] {
|
|
123
123
|
--gridui-dashboard-compact-start-minimum: 0px;
|
|
124
124
|
}
|
|
125
|
-
.gridui-u
|
|
125
|
+
.gridui-u-grid--\[--gridui-dashboard-compact-start\:0px\] {
|
|
126
126
|
--gridui-dashboard-compact-start: 0px;
|
|
127
127
|
}
|
|
128
|
-
.gridui-u
|
|
128
|
+
.gridui-u-grid--\[--gridui-dashboard-compact-start\:var\(--gridui-space-8\)\] {
|
|
129
129
|
--gridui-dashboard-compact-start: var(--gridui-space-8);
|
|
130
130
|
}
|
|
131
|
-
.gridui-u
|
|
131
|
+
.gridui-u-grid--\[--gridui-dashboard-compact-start\:var\(--gridui-space-16\)\] {
|
|
132
132
|
--gridui-dashboard-compact-start: var(--gridui-space-16);
|
|
133
133
|
}
|
|
134
|
-
.gridui-u
|
|
134
|
+
.gridui-u-grid--\[--gridui-dashboard-compact-start\:var\(--gridui-space-24\)\] {
|
|
135
135
|
--gridui-dashboard-compact-start: var(--gridui-space-24);
|
|
136
136
|
}
|
|
137
|
-
.gridui-u
|
|
137
|
+
.gridui-u-grid--\[--gridui-dashboard-end-minimum\:0px\] {
|
|
138
138
|
--gridui-dashboard-end-minimum: 0px;
|
|
139
139
|
}
|
|
140
|
-
.gridui-u
|
|
140
|
+
.gridui-u-grid--\[--gridui-dashboard-end\:0px\] {
|
|
141
141
|
--gridui-dashboard-end: 0px;
|
|
142
142
|
}
|
|
143
|
-
.gridui-u
|
|
143
|
+
.gridui-u-grid--\[--gridui-dashboard-end\:var\(--gridui-space-8\)\] {
|
|
144
144
|
--gridui-dashboard-end: var(--gridui-space-8);
|
|
145
145
|
}
|
|
146
|
-
.gridui-u
|
|
146
|
+
.gridui-u-grid--\[--gridui-dashboard-end\:var\(--gridui-space-16\)\] {
|
|
147
147
|
--gridui-dashboard-end: var(--gridui-space-16);
|
|
148
148
|
}
|
|
149
|
-
.gridui-u
|
|
149
|
+
.gridui-u-grid--\[--gridui-dashboard-end\:var\(--gridui-space-24\)\] {
|
|
150
150
|
--gridui-dashboard-end: var(--gridui-space-24);
|
|
151
151
|
}
|
|
152
|
-
.gridui-u
|
|
152
|
+
.gridui-u-grid--\[--gridui-dashboard-start-minimum\:0px\] {
|
|
153
153
|
--gridui-dashboard-start-minimum: 0px;
|
|
154
154
|
}
|
|
155
|
-
.gridui-u
|
|
155
|
+
.gridui-u-grid--\[--gridui-dashboard-start\:0px\] {
|
|
156
156
|
--gridui-dashboard-start: 0px;
|
|
157
157
|
}
|
|
158
|
-
.gridui-u
|
|
158
|
+
.gridui-u-grid--\[--gridui-dashboard-start\:var\(--gridui-space-8\)\] {
|
|
159
159
|
--gridui-dashboard-start: var(--gridui-space-8);
|
|
160
160
|
}
|
|
161
|
-
.gridui-u
|
|
161
|
+
.gridui-u-grid--\[--gridui-dashboard-start\:var\(--gridui-space-16\)\] {
|
|
162
162
|
--gridui-dashboard-start: var(--gridui-space-16);
|
|
163
163
|
}
|
|
164
|
-
.gridui-u
|
|
164
|
+
.gridui-u-grid--\[--gridui-dashboard-start\:var\(--gridui-space-24\)\] {
|
|
165
165
|
--gridui-dashboard-start: var(--gridui-space-24);
|
|
166
166
|
}
|
|
167
|
-
.gridui-u
|
|
167
|
+
.gridui-u-grid--\[\&\>\.gridui-frame-rail-content\]\:sticky > .gridui-frame-rail-content {
|
|
168
168
|
position: sticky;
|
|
169
169
|
}
|
|
170
|
-
.gridui-u
|
|
170
|
+
.gridui-u-grid--\[\&\>span\]\:block > span {
|
|
171
171
|
display: block;
|
|
172
172
|
}
|
|
173
|
-
.gridui-u
|
|
173
|
+
.gridui-u-grid--\[\&\>span\]\:text-center > span {
|
|
174
174
|
text-align: center;
|
|
175
175
|
}
|
|
176
|
-
.gridui-u
|
|
176
|
+
.gridui-u-grid--\[\&\>span\]\:font-display > span {
|
|
177
177
|
font-family: var(--gridui-font-display);
|
|
178
178
|
}
|
|
179
|
-
.gridui-u
|
|
179
|
+
.gridui-u-grid--\[\&\>span\]\:leading-none > span {
|
|
180
180
|
--tw-leading: 1;
|
|
181
181
|
line-height: 1;
|
|
182
182
|
}
|
|
183
|
-
.gridui-u
|
|
183
|
+
.gridui-u-grid--\[\&\>span\]\:whitespace-nowrap > span {
|
|
184
184
|
white-space: nowrap;
|
|
185
185
|
}
|
|
186
|
-
.gridui-u
|
|
186
|
+
.gridui-u-grid--\[\&\>span\]\:text-transparent > span {
|
|
187
187
|
color: transparent;
|
|
188
188
|
}
|
|
189
|
-
.gridui-u
|
|
189
|
+
.gridui-u-grid--\[\&\>svg\]\:h-auto > svg {
|
|
190
190
|
height: auto;
|
|
191
191
|
}
|
|
192
|
-
.gridui-u
|
|
192
|
+
.gridui-u-grid--\[\&\>svg\]\:opacity-30 > svg {
|
|
193
193
|
opacity: 30%;
|
|
194
194
|
}
|
|
195
195
|
}
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"name": "@gridui/grid",
|
|
4
|
+
"version": "2.3.6",
|
|
5
|
+
"category": "layout",
|
|
6
|
+
"description": "GridUI React grid",
|
|
7
|
+
"usage": "`@gridui/grid` owns Container, Grid, GridItem, Split, Stack, Row, PageFrame, FrameSections, FrameSection, frame chrome, rails, textures, FrameRegion/FrameRegionRow for composed edge geometry, and the public FrameBoundary primitive for structural boundaries. It does not know website routes or domain state. Load its explicit `styles.css` export after Theme and before styles of composed families. Theme supplies token values; `@gridui/style-utils/responsive` supplies the React-free spacing and breakpoint-value calculations.",
|
|
8
|
+
"documentation": [
|
|
9
|
+
"README.md",
|
|
10
|
+
"docs/README.md"
|
|
11
|
+
],
|
|
12
|
+
"exports": [
|
|
13
|
+
{
|
|
14
|
+
"name": "Columns",
|
|
15
|
+
"kind": "type",
|
|
16
|
+
"importPath": "@gridui/grid"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "Container",
|
|
20
|
+
"kind": "component",
|
|
21
|
+
"importPath": "@gridui/grid"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"name": "ContainerProps",
|
|
25
|
+
"kind": "type",
|
|
26
|
+
"importPath": "@gridui/grid"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"name": "DashboardFrame",
|
|
30
|
+
"kind": "component",
|
|
31
|
+
"importPath": "@gridui/grid"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "DashboardFrameProps",
|
|
35
|
+
"kind": "type",
|
|
36
|
+
"importPath": "@gridui/grid"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "DashboardFrameSize",
|
|
40
|
+
"kind": "type",
|
|
41
|
+
"importPath": "@gridui/grid"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"name": "FrameBoundary",
|
|
45
|
+
"kind": "component",
|
|
46
|
+
"importPath": "@gridui/grid"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "FrameBoundaryProps",
|
|
50
|
+
"kind": "type",
|
|
51
|
+
"importPath": "@gridui/grid"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"name": "FrameBoundaryStyle",
|
|
55
|
+
"kind": "type",
|
|
56
|
+
"importPath": "@gridui/grid"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "FrameDecorationStyle",
|
|
60
|
+
"kind": "type",
|
|
61
|
+
"importPath": "@gridui/grid"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"name": "FrameFooter",
|
|
65
|
+
"kind": "component",
|
|
66
|
+
"importPath": "@gridui/grid"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "FrameFooterProps",
|
|
70
|
+
"kind": "type",
|
|
71
|
+
"importPath": "@gridui/grid"
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"name": "FrameHeader",
|
|
75
|
+
"kind": "component",
|
|
76
|
+
"importPath": "@gridui/grid"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "FrameHeaderProps",
|
|
80
|
+
"kind": "type",
|
|
81
|
+
"importPath": "@gridui/grid"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"name": "FrameRail",
|
|
85
|
+
"kind": "component",
|
|
86
|
+
"importPath": "@gridui/grid"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"name": "FrameRailGroup",
|
|
90
|
+
"kind": "component",
|
|
91
|
+
"importPath": "@gridui/grid"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"name": "FrameRailGroupProps",
|
|
95
|
+
"kind": "type",
|
|
96
|
+
"importPath": "@gridui/grid"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"name": "FrameRailProps",
|
|
100
|
+
"kind": "type",
|
|
101
|
+
"importPath": "@gridui/grid"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"name": "FrameRegion",
|
|
105
|
+
"kind": "component",
|
|
106
|
+
"importPath": "@gridui/grid"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"name": "FrameRegionProps",
|
|
110
|
+
"kind": "type",
|
|
111
|
+
"importPath": "@gridui/grid"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"name": "FrameRegionRow",
|
|
115
|
+
"kind": "component",
|
|
116
|
+
"importPath": "@gridui/grid"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"name": "FrameRegionRowProps",
|
|
120
|
+
"kind": "type",
|
|
121
|
+
"importPath": "@gridui/grid"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"name": "FrameSection",
|
|
125
|
+
"kind": "component",
|
|
126
|
+
"importPath": "@gridui/grid"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"name": "FrameSectionProps",
|
|
130
|
+
"kind": "type",
|
|
131
|
+
"importPath": "@gridui/grid"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"name": "FrameSections",
|
|
135
|
+
"kind": "component",
|
|
136
|
+
"importPath": "@gridui/grid"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"name": "FrameSectionsProps",
|
|
140
|
+
"kind": "type",
|
|
141
|
+
"importPath": "@gridui/grid"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"name": "FrameTexture",
|
|
145
|
+
"kind": "component",
|
|
146
|
+
"importPath": "@gridui/grid"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"name": "FrameTextureProps",
|
|
150
|
+
"kind": "type",
|
|
151
|
+
"importPath": "@gridui/grid"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"name": "FrameTextureStyle",
|
|
155
|
+
"kind": "type",
|
|
156
|
+
"importPath": "@gridui/grid"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"name": "FrameTone",
|
|
160
|
+
"kind": "type",
|
|
161
|
+
"importPath": "@gridui/grid"
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"name": "Grid",
|
|
165
|
+
"kind": "component",
|
|
166
|
+
"importPath": "@gridui/grid"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"name": "GridColumns",
|
|
170
|
+
"kind": "type",
|
|
171
|
+
"importPath": "@gridui/grid"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"name": "GridItem",
|
|
175
|
+
"kind": "component",
|
|
176
|
+
"importPath": "@gridui/grid"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"name": "GridItemProps",
|
|
180
|
+
"kind": "type",
|
|
181
|
+
"importPath": "@gridui/grid"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"name": "GridProps",
|
|
185
|
+
"kind": "type",
|
|
186
|
+
"importPath": "@gridui/grid"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"name": "GridTrack",
|
|
190
|
+
"kind": "type",
|
|
191
|
+
"importPath": "@gridui/grid"
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"name": "PageFrame",
|
|
195
|
+
"kind": "component",
|
|
196
|
+
"importPath": "@gridui/grid"
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"name": "PageFrameProps",
|
|
200
|
+
"kind": "type",
|
|
201
|
+
"importPath": "@gridui/grid"
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"name": "Row",
|
|
205
|
+
"kind": "component",
|
|
206
|
+
"importPath": "@gridui/grid"
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"name": "RowProps",
|
|
210
|
+
"kind": "type",
|
|
211
|
+
"importPath": "@gridui/grid"
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"name": "Span",
|
|
215
|
+
"kind": "type",
|
|
216
|
+
"importPath": "@gridui/grid"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"name": "Split",
|
|
220
|
+
"kind": "component",
|
|
221
|
+
"importPath": "@gridui/grid"
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"name": "SplitDirection",
|
|
225
|
+
"kind": "type",
|
|
226
|
+
"importPath": "@gridui/grid"
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"name": "SplitProps",
|
|
230
|
+
"kind": "type",
|
|
231
|
+
"importPath": "@gridui/grid"
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"name": "Stack",
|
|
235
|
+
"kind": "component",
|
|
236
|
+
"importPath": "@gridui/grid"
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"name": "StackProps",
|
|
240
|
+
"kind": "type",
|
|
241
|
+
"importPath": "@gridui/grid"
|
|
242
|
+
}
|
|
243
|
+
],
|
|
244
|
+
"styles": [
|
|
245
|
+
"@gridui/theme/styles.css",
|
|
246
|
+
"@gridui/grid/styles.css"
|
|
247
|
+
],
|
|
248
|
+
"examples": [
|
|
249
|
+
"https://github.com/sudo-ui/GridUI-React-Monorepo/blob/main/packages-layout/grid/stories/container.stories.tsx",
|
|
250
|
+
"https://github.com/sudo-ui/GridUI-React-Monorepo/blob/main/packages-layout/grid/stories/frame-section.stories.tsx",
|
|
251
|
+
"https://github.com/sudo-ui/GridUI-React-Monorepo/blob/main/packages-layout/grid/stories/grid.stories.tsx",
|
|
252
|
+
"https://github.com/sudo-ui/GridUI-React-Monorepo/blob/main/packages-layout/grid/stories/page-frame.stories.tsx",
|
|
253
|
+
"https://github.com/sudo-ui/GridUI-React-Monorepo/blob/main/packages-layout/grid/stories/primitives.stories.tsx",
|
|
254
|
+
"https://github.com/sudo-ui/GridUI-React-Monorepo/blob/main/packages-layout/grid/stories/row.stories.tsx",
|
|
255
|
+
"https://github.com/sudo-ui/GridUI-React-Monorepo/blob/main/packages-layout/grid/stories/stack.stories.tsx"
|
|
256
|
+
]
|
|
257
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gridui/grid",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.6",
|
|
4
4
|
"description": "GridUI React grid",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|
|
@@ -23,15 +23,15 @@
|
|
|
23
23
|
"access": "public"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@gridui/style-utils": "^
|
|
27
|
-
"@gridui/theme": "^2.5.
|
|
26
|
+
"@gridui/style-utils": "^3.0.0",
|
|
27
|
+
"@gridui/theme": "^2.5.3",
|
|
28
28
|
"@radix-ui/react-slot": "1.5.0",
|
|
29
29
|
"class-variance-authority": "0.7.1"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@gridui-internal/configuration": "0.0.0-internal",
|
|
33
33
|
"@jest/globals": "30.5.2",
|
|
34
|
-
"@storybook/react-vite": "10.6.
|
|
34
|
+
"@storybook/react-vite": "10.6.6",
|
|
35
35
|
"@types/jest": "30.0.0",
|
|
36
36
|
"@types/node": "26.6.6",
|
|
37
37
|
"@types/react": "19.3.0",
|