@gridui/grid 2.3.5 → 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.
@@ -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?: "narrow" | "standard" | "wide";
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?: "standard" | "narrow" | "wide" | null | undefined;
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 { frameBoundaryStyles } from "./style";
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 FrameBoundaryStyle = NonNullable<VariantProps<typeof frameBoundaryStyles>["boundary"]>;
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 { type FrameDecorationStyle } from "../shared/decoration";
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 { type Responsive, type Space } from "@gridui/style-utils/responsive";
8
- import type { ComponentPropsWithRef, FC, ReactNode } from "react";
9
- export type FrameRailGroupProps = ComponentPropsWithRef<"div"> & {
10
- readonly rail?: ReactNode;
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 { ComponentPropsWithRef, FC } from "react";
8
- export type FrameRegionProps = ComponentPropsWithRef<"div"> & {
9
- readonly asChild?: boolean;
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 { ComponentPropsWithRef, FC } from "react";
8
- export type FrameRegionRowProps = ComponentPropsWithRef<"div"> & {
9
- readonly asChild?: boolean;
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 { type FrameBoundaryStyle } from "../frame-boundary/frame-boundary";
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 { ElementProps } from "../shared/types";
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 = ElementProps & {
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 { FrameBoundaryProps, FrameBoundaryStyle } from "./frame-boundary/frame-boundary";
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-@container gridui-u-[&>span]:block gridui-u-[&>span]:text-center gridui-u-[&>span]:whitespace-nowrap");
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": "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",
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 { ContainerProps } from "../container/container";
8
- import { type FrameRailGroupProps } from "../frame-rail-group/frame-rail-group";
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 = FrameRailGroupProps & {
12
- readonly width?: ContainerProps["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?: "standard" | "narrow" | "wide" | null | undefined;
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/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
+ };
@@ -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.4 | MIT License | https://tailwindcss.com */
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-\@container {
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-\[--gridui-dashboard-compact-end-minimum\:0px\] {
107
+ .gridui-u-grid--\[--gridui-dashboard-compact-end-minimum\:0px\] {
108
108
  --gridui-dashboard-compact-end-minimum: 0px;
109
109
  }
110
- .gridui-u-\[--gridui-dashboard-compact-end\:0px\] {
110
+ .gridui-u-grid--\[--gridui-dashboard-compact-end\:0px\] {
111
111
  --gridui-dashboard-compact-end: 0px;
112
112
  }
113
- .gridui-u-\[--gridui-dashboard-compact-end\:var\(--gridui-space-8\)\] {
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-\[--gridui-dashboard-compact-end\:var\(--gridui-space-16\)\] {
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-\[--gridui-dashboard-compact-end\:var\(--gridui-space-24\)\] {
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-\[--gridui-dashboard-compact-start-minimum\:0px\] {
122
+ .gridui-u-grid--\[--gridui-dashboard-compact-start-minimum\:0px\] {
123
123
  --gridui-dashboard-compact-start-minimum: 0px;
124
124
  }
125
- .gridui-u-\[--gridui-dashboard-compact-start\:0px\] {
125
+ .gridui-u-grid--\[--gridui-dashboard-compact-start\:0px\] {
126
126
  --gridui-dashboard-compact-start: 0px;
127
127
  }
128
- .gridui-u-\[--gridui-dashboard-compact-start\:var\(--gridui-space-8\)\] {
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-\[--gridui-dashboard-compact-start\:var\(--gridui-space-16\)\] {
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-\[--gridui-dashboard-compact-start\:var\(--gridui-space-24\)\] {
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-\[--gridui-dashboard-end-minimum\:0px\] {
137
+ .gridui-u-grid--\[--gridui-dashboard-end-minimum\:0px\] {
138
138
  --gridui-dashboard-end-minimum: 0px;
139
139
  }
140
- .gridui-u-\[--gridui-dashboard-end\:0px\] {
140
+ .gridui-u-grid--\[--gridui-dashboard-end\:0px\] {
141
141
  --gridui-dashboard-end: 0px;
142
142
  }
143
- .gridui-u-\[--gridui-dashboard-end\:var\(--gridui-space-8\)\] {
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-\[--gridui-dashboard-end\:var\(--gridui-space-16\)\] {
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-\[--gridui-dashboard-end\:var\(--gridui-space-24\)\] {
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-\[--gridui-dashboard-start-minimum\:0px\] {
152
+ .gridui-u-grid--\[--gridui-dashboard-start-minimum\:0px\] {
153
153
  --gridui-dashboard-start-minimum: 0px;
154
154
  }
155
- .gridui-u-\[--gridui-dashboard-start\:0px\] {
155
+ .gridui-u-grid--\[--gridui-dashboard-start\:0px\] {
156
156
  --gridui-dashboard-start: 0px;
157
157
  }
158
- .gridui-u-\[--gridui-dashboard-start\:var\(--gridui-space-8\)\] {
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-\[--gridui-dashboard-start\:var\(--gridui-space-16\)\] {
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-\[--gridui-dashboard-start\:var\(--gridui-space-24\)\] {
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-\[\&\>\.gridui-frame-rail-content\]\:sticky > .gridui-frame-rail-content {
167
+ .gridui-u-grid--\[\&\>\.gridui-frame-rail-content\]\:sticky > .gridui-frame-rail-content {
168
168
  position: sticky;
169
169
  }
170
- .gridui-u-\[\&\>span\]\:block > span {
170
+ .gridui-u-grid--\[\&\>span\]\:block > span {
171
171
  display: block;
172
172
  }
173
- .gridui-u-\[\&\>span\]\:text-center > span {
173
+ .gridui-u-grid--\[\&\>span\]\:text-center > span {
174
174
  text-align: center;
175
175
  }
176
- .gridui-u-\[\&\>span\]\:font-display > span {
176
+ .gridui-u-grid--\[\&\>span\]\:font-display > span {
177
177
  font-family: var(--gridui-font-display);
178
178
  }
179
- .gridui-u-\[\&\>span\]\:leading-none > span {
179
+ .gridui-u-grid--\[\&\>span\]\:leading-none > span {
180
180
  --tw-leading: 1;
181
181
  line-height: 1;
182
182
  }
183
- .gridui-u-\[\&\>span\]\:whitespace-nowrap > span {
183
+ .gridui-u-grid--\[\&\>span\]\:whitespace-nowrap > span {
184
184
  white-space: nowrap;
185
185
  }
186
- .gridui-u-\[\&\>span\]\:text-transparent > span {
186
+ .gridui-u-grid--\[\&\>span\]\:text-transparent > span {
187
187
  color: transparent;
188
188
  }
189
- .gridui-u-\[\&\>svg\]\:h-auto > svg {
189
+ .gridui-u-grid--\[\&\>svg\]\:h-auto > svg {
190
190
  height: auto;
191
191
  }
192
- .gridui-u-\[\&\>svg\]\:opacity-30 > svg {
192
+ .gridui-u-grid--\[\&\>svg\]\:opacity-30 > svg {
193
193
  opacity: 30%;
194
194
  }
195
195
  }
package/docs/catalog.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "name": "@gridui/grid",
4
- "version": "2.3.5",
4
+ "version": "2.3.6",
5
5
  "category": "layout",
6
6
  "description": "GridUI React grid",
7
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.",
@@ -246,9 +246,12 @@
246
246
  "@gridui/grid/styles.css"
247
247
  ],
248
248
  "examples": [
249
+ "https://github.com/sudo-ui/GridUI-React-Monorepo/blob/main/packages-layout/grid/stories/container.stories.tsx",
249
250
  "https://github.com/sudo-ui/GridUI-React-Monorepo/blob/main/packages-layout/grid/stories/frame-section.stories.tsx",
250
251
  "https://github.com/sudo-ui/GridUI-React-Monorepo/blob/main/packages-layout/grid/stories/grid.stories.tsx",
251
252
  "https://github.com/sudo-ui/GridUI-React-Monorepo/blob/main/packages-layout/grid/stories/page-frame.stories.tsx",
252
- "https://github.com/sudo-ui/GridUI-React-Monorepo/blob/main/packages-layout/grid/stories/primitives.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"
253
256
  ]
254
257
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gridui/grid",
3
- "version": "2.3.5",
3
+ "version": "2.3.6",
4
4
  "description": "GridUI React grid",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -23,7 +23,7 @@
23
23
  "access": "public"
24
24
  },
25
25
  "dependencies": {
26
- "@gridui/style-utils": "^2.2.2",
26
+ "@gridui/style-utils": "^3.0.0",
27
27
  "@gridui/theme": "^2.5.3",
28
28
  "@radix-ui/react-slot": "1.5.0",
29
29
  "class-variance-authority": "0.7.1"