@gridui/grid 2.3.5 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +3 -1
  2. package/dist/container/container.d.ts +2 -2
  3. package/dist/container/style.d.ts +1 -1
  4. package/dist/frame-boundary/boundary-options.d.ts +12 -0
  5. package/dist/frame-boundary/frame-boundary.d.ts +2 -5
  6. package/dist/frame-footer/frame-footer.d.ts +2 -7
  7. package/dist/frame-rail-group/frame-rail-group.d.ts +4 -6
  8. package/dist/frame-region/frame-region.d.ts +3 -3
  9. package/dist/frame-region-row/frame-region-row.d.ts +3 -3
  10. package/dist/frame-section/frame-section.d.ts +2 -7
  11. package/dist/grid/grid.d.ts +1 -1
  12. package/dist/grid/style.d.ts +2 -2
  13. package/dist/grid-item/grid-item.d.ts +2 -3
  14. package/dist/index.d.ts +2 -1
  15. package/dist/index.js +54 -37
  16. package/dist/index.js.map +2 -2
  17. package/dist/page-frame/page-frame.d.ts +4 -4
  18. package/dist/page-frame/style.d.ts +1 -1
  19. package/dist/shared/chrome.d.ts +1 -0
  20. package/dist/shared/decoration.d.ts +1 -1
  21. package/dist/shared/frame-rail-options.d.ts +12 -0
  22. package/dist/shared/frame-surface-options.d.ts +13 -0
  23. package/dist/shared/types.d.ts +4 -0
  24. package/dist/styles.css +143 -63
  25. package/docs/README.md +8 -387
  26. package/docs/catalog.json +38 -3
  27. package/docs/guides/dashboard-frame.md +91 -0
  28. package/docs/guides/grid.md +126 -0
  29. package/docs/guides/page-frame.md +137 -0
  30. package/docs/guides/split.md +49 -0
  31. package/docs/reference/README.md +21 -0
  32. package/docs/reference/container.md +63 -0
  33. package/docs/reference/dashboard-frame.md +99 -0
  34. package/docs/reference/frame-boundary.md +61 -0
  35. package/docs/reference/frame-footer.md +96 -0
  36. package/docs/reference/frame-header.md +84 -0
  37. package/docs/reference/frame-rail-group.md +68 -0
  38. package/docs/reference/frame-rail.md +61 -0
  39. package/docs/reference/frame-region-row.md +67 -0
  40. package/docs/reference/frame-region.md +67 -0
  41. package/docs/reference/frame-section.md +97 -0
  42. package/docs/reference/frame-sections.md +55 -0
  43. package/docs/reference/frame-texture.md +23 -0
  44. package/docs/reference/grid-item.md +79 -0
  45. package/docs/reference/grid.md +91 -0
  46. package/docs/reference/page-frame.md +89 -0
  47. package/docs/reference/row.md +93 -0
  48. package/docs/reference/split.md +75 -0
  49. package/docs/reference/stack.md +75 -0
  50. package/package.json +2 -2
package/README.md CHANGED
@@ -56,7 +56,7 @@ FrameBoundary instances use their current palette's border color.
56
56
  Astro host elements require an
57
57
  [application-owned adapter](https://github.com/sudo-ui/GridUI-React-Monorepo/blob/main/docs/usage/framework-adapters.md). The page filler uses
58
58
  the final section's tone for its leading line.
59
- Grid `frame="cells"` owns outer and cell edges; `frame="internal"` owns seams
59
+ Grid `frame="all"` owns outer and cell edges; `frame="internal"` owns seams
60
60
  inside an existing frame. Use `fillLastRow` with direct GridItem children to
61
61
  fill incomplete rows at every breakpoint. Explicit gaps are disallowed in
62
62
  framed grids. For wrapping lists with a container-driven track count, use
@@ -101,3 +101,5 @@ See [quarterly release history](https://github.com/sudo-ui/GridUI-React-Monorepo
101
101
 
102
102
  `DashboardFrame` supplies full-height workspace gutters and structural edges without
103
103
  creating a main landmark. See [dashboard frames](docs/README.md#dashboard-frames).
104
+
105
+ [Component reference](docs/reference/README.md) contains focused API pages for each public component.
@@ -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>;
@@ -12,7 +12,7 @@ type GridFrameOptions = {
12
12
  readonly frame?: "none";
13
13
  readonly gap?: Responsive<Space>;
14
14
  } | {
15
- readonly frame: "none" | "cells" | "internal";
15
+ readonly frame: "none" | "all" | "internal";
16
16
  readonly gap?: never;
17
17
  };
18
18
  type GridLayoutOptions = ({
@@ -5,8 +5,8 @@
5
5
  * @description Style
6
6
  */
7
7
  export declare const gridStyles: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
8
- export declare const gridCellsStyles: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
8
+ export declare const gridAllStyles: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
9
9
  export declare const gridInternalStyles: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
10
10
  export declare const gridVariants: (props?: ({
11
- frame?: "none" | "cells" | "internal" | null | undefined;
11
+ frame?: "none" | "all" | "internal" | null | undefined;
12
12
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
@@ -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: {
@@ -195,6 +195,7 @@ var chromeStyle = (padding) => {
195
195
  const values = resolveResponsive(padding);
196
196
  return {
197
197
  "--gridui-chrome-padding": spaceValue(values.base),
198
+ "--gridui-chrome-padding-sm": spaceValue(values.sm),
198
199
  "--gridui-chrome-padding-md": spaceValue(values.md),
199
200
  "--gridui-chrome-padding-lg": spaceValue(values.lg)
200
201
  };
@@ -214,17 +215,17 @@ var frameToneStyles = (options = {}) => {
214
215
  };
215
216
  var frameContentStyles = cva5(cn4(
216
217
  "gridui-frame-content",
217
- "gridui-u-border-x gridui-u-border-solid gridui-u-border-border gridui-u-wrap-anywhere"
218
+ "gridui-u-grid--border-x gridui-u-grid--border-solid gridui-u-grid--border-border gridui-u-grid--wrap-anywhere"
218
219
  ));
219
220
 
220
221
  // src/frame-footer/style.ts
221
222
  import { cn as cn5 } from "@gridui/style-utils";
222
223
  import { cva as cva6 } from "class-variance-authority";
223
224
  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"
225
+ "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",
226
+ "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
227
  ));
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");
228
+ 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
229
 
229
230
  // src/frame-footer/frame-footer.tsx
230
231
  import { cn as cn6 } from "@gridui/style-utils";
@@ -232,7 +233,7 @@ import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
232
233
  var FrameFooter = (props) => {
233
234
  const { padding = {
234
235
  base: 16,
235
- md: 24
236
+ sm: 24
236
237
  }, contentLayout = "flex", tone = "neutral", boundary = "line", decoration, signature, signatureAppearance = "standard", className, children, ...restProps } = props;
237
238
  return /* @__PURE__ */ jsxs3(
238
239
  "footer",
@@ -286,7 +287,7 @@ import { jsx as jsx6 } from "react/jsx-runtime";
286
287
  var FrameHeader = (props) => {
287
288
  const { padding = {
288
289
  base: 16,
289
- md: 24
290
+ sm: 24
290
291
  }, wrap = true, gap = 16, justify = "between", className, children, ...restProps } = props;
291
292
  return /* @__PURE__ */ jsx6(
292
293
  "header",
@@ -312,9 +313,9 @@ var FrameHeader = (props) => {
312
313
 
313
314
  // src/frame-rail/style.ts
314
315
  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");
316
+ 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");
317
+ 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");
318
+ var frameRailStickyBottomStyles = cva7("gridui-frame-rail-sticky-bottom gridui-u-grid--justify-end gridui-u-grid--[&>.gridui-frame-rail-content]:sticky");
318
319
 
319
320
  // src/frame-rail/frame-rail.tsx
320
321
  import { cn as cn8 } from "@gridui/style-utils";
@@ -349,15 +350,17 @@ import { jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
349
350
  var FrameRailGroup = (props) => {
350
351
  const { rail, railWidth = {
351
352
  base: 0,
352
- md: 32
353
+ sm: 32
353
354
  }, children, className, style, ...restProps } = props;
354
355
  const hasRail = rail !== void 0 && rail !== null && rail !== false;
355
356
  const width = resolveResponsive2(hasRail ? railWidth : 0);
356
357
  const layoutStyle = {
357
358
  "--gridui-rail-width-base": spaceValue3(width.base),
359
+ "--gridui-rail-width-sm": spaceValue3(width.sm),
358
360
  "--gridui-rail-width-md": spaceValue3(width.md),
359
361
  "--gridui-rail-width-lg": spaceValue3(width.lg),
360
362
  "--gridui-rail-display-base": width.base === 0 ? "none" : "block",
363
+ "--gridui-rail-display-sm": width.sm === 0 ? "none" : "block",
361
364
  "--gridui-rail-display-md": width.md === 0 ? "none" : "block",
362
365
  "--gridui-rail-display-lg": width.lg === 0 ? "none" : "block",
363
366
  ...style
@@ -473,7 +476,7 @@ var FrameSection = (props) => {
473
476
  /* @__PURE__ */ jsxs5(
474
477
  "div",
475
478
  {
476
- className: cn12(frameContentStyles(), "gridui-frame-surface", edges === "none" && "gridui-u-border-x-0"),
479
+ className: cn12(frameContentStyles(), "gridui-frame-surface", edges === "none" && "gridui-u-grid--border-x-0"),
477
480
  style: {
478
481
  ...spacingVariables("section-padding-inline", paddingInline),
479
482
  ...spacingVariables("section-padding-block", paddingBlock)
@@ -524,7 +527,7 @@ import { cn as cn14 } from "@gridui/style-utils";
524
527
  import { cva as cva8 } from "class-variance-authority";
525
528
  var gridItemStyles = cva8(cn14(
526
529
  "gridui-grid-item",
527
- "gridui-u-min-w-0 gridui-u-wrap-anywhere"
530
+ "gridui-u-grid--min-w-0 gridui-u-grid--wrap-anywhere"
528
531
  ));
529
532
 
530
533
  // src/grid-item/grid-item.tsx
@@ -546,9 +549,11 @@ var GridItem = (props) => {
546
549
  const inset = resolveResponsive3(padding);
547
550
  const layoutStyle = {
548
551
  "--gridui-span": spanValue(size.base),
552
+ "--gridui-span-sm": spanValue(size.sm),
549
553
  "--gridui-span-md": spanValue(size.md),
550
554
  "--gridui-span-lg": spanValue(size.lg),
551
555
  "--gridui-padding": spaceValue4(inset.base),
556
+ "--gridui-padding-sm": spaceValue4(inset.sm),
552
557
  "--gridui-padding-md": spaceValue4(inset.md),
553
558
  "--gridui-padding-lg": spaceValue4(inset.lg),
554
559
  ...align ? {
@@ -573,21 +578,21 @@ import { cn as cn16 } from "@gridui/style-utils";
573
578
  import { cva as cva9 } from "class-variance-authority";
574
579
  var gridStyles = cva9(cn16(
575
580
  "gridui-grid",
576
- "gridui-u-grid gridui-u-min-w-0"
581
+ "gridui-u-grid--grid gridui-u-grid--min-w-0"
577
582
  ));
578
- var gridCellsStyles = cva9(cn16(
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"
583
+ var gridAllStyles = cva9(cn16(
584
+ "gridui-grid-all",
585
+ "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
586
  ));
582
587
  var gridInternalStyles = cva9(cn16(
583
588
  "gridui-grid-internal",
584
- "gridui-u-bg-border"
589
+ "gridui-u-grid--bg-border"
585
590
  ));
586
591
  var gridVariants = cva9(gridStyles(), {
587
592
  variants: {
588
593
  frame: {
589
594
  none: "",
590
- cells: gridCellsStyles(),
595
+ all: gridAllStyles(),
591
596
  internal: gridInternalStyles()
592
597
  }
593
598
  },
@@ -673,6 +678,7 @@ var Grid = (props) => {
673
678
  const minimum = resolveResponsive4(minItemWidth);
674
679
  geometry = {
675
680
  "--gridui-grid-template": adaptiveGridTemplate(minimum.base),
681
+ "--gridui-grid-template-sm": adaptiveGridTemplate(minimum.sm),
676
682
  "--gridui-grid-template-md": adaptiveGridTemplate(minimum.md),
677
683
  "--gridui-grid-template-lg": adaptiveGridTemplate(minimum.lg)
678
684
  };
@@ -683,14 +689,17 @@ var Grid = (props) => {
683
689
  const tracks = resolveResponsive4(columns);
684
690
  count = {
685
691
  base: gridColumnCount(tracks.base),
692
+ sm: gridColumnCount(tracks.sm),
686
693
  md: gridColumnCount(tracks.md),
687
694
  lg: gridColumnCount(tracks.lg)
688
695
  };
689
696
  geometry = {
690
697
  "--gridui-columns": count.base,
698
+ "--gridui-columns-sm": count.sm,
691
699
  "--gridui-columns-md": count.md,
692
700
  "--gridui-columns-lg": count.lg,
693
701
  "--gridui-grid-template": gridTemplate(tracks.base),
702
+ "--gridui-grid-template-sm": gridTemplate(tracks.sm),
694
703
  "--gridui-grid-template-md": gridTemplate(tracks.md),
695
704
  "--gridui-grid-template-lg": gridTemplate(tracks.lg)
696
705
  };
@@ -699,6 +708,7 @@ var Grid = (props) => {
699
708
  const layoutStyle = {
700
709
  ...geometry,
701
710
  "--gridui-gap": frame === "internal" ? "1px" : spaceValue5(spacing.base),
711
+ "--gridui-gap-sm": frame === "internal" ? "1px" : spaceValue5(spacing.sm),
702
712
  "--gridui-gap-md": frame === "internal" ? "1px" : spaceValue5(spacing.md),
703
713
  "--gridui-gap-lg": frame === "internal" ? "1px" : spaceValue5(spacing.lg),
704
714
  ...style
@@ -718,6 +728,9 @@ var Grid = (props) => {
718
728
  base: fillGridRowSpans(count.base, spans.map((span) => {
719
729
  return span.base === "full" ? count.base : span.base;
720
730
  })),
731
+ sm: fillGridRowSpans(count.sm, spans.map((span) => {
732
+ return span.sm === "full" ? count.sm : span.sm;
733
+ })),
721
734
  md: fillGridRowSpans(count.md, spans.map((span) => {
722
735
  return span.md === "full" ? count.md : span.md;
723
736
  })),
@@ -728,6 +741,7 @@ var Grid = (props) => {
728
741
  content = items.map((item, index) => {
729
742
  const itemStyle = {
730
743
  "--gridui-span": `span ${filled.base[index]} / span ${filled.base[index]}`,
744
+ "--gridui-span-sm": `span ${filled.sm[index]} / span ${filled.sm[index]}`,
731
745
  "--gridui-span-md": `span ${filled.md[index]} / span ${filled.md[index]}`,
732
746
  "--gridui-span-lg": `span ${filled.lg[index]} / span ${filled.lg[index]}`,
733
747
  ...item.props.style
@@ -751,7 +765,7 @@ var Grid = (props) => {
751
765
 
752
766
  // src/page-frame/style.ts
753
767
  import { cva as cva10 } from "class-variance-authority";
754
- var pageFrameVariants = cva10("gridui-page-frame gridui-u-min-h-svh", {
768
+ var pageFrameVariants = cva10("gridui-page-frame gridui-u-grid--min-h-svh", {
755
769
  variants: {
756
770
  width: containerWidthClasses
757
771
  },
@@ -840,7 +854,7 @@ import { cn as cn19 } from "@gridui/style-utils";
840
854
  import { cva as cva11 } from "class-variance-authority";
841
855
  var rowStyles = cva11(cn19(
842
856
  "gridui-row",
843
- "gridui-u-min-w-0"
857
+ "gridui-u-grid--min-w-0"
844
858
  ));
845
859
 
846
860
  // src/row/row.tsx
@@ -892,9 +906,11 @@ var Split = (props) => {
892
906
  className: cn21("gridui-split", className),
893
907
  "data-order": order,
894
908
  "data-direction": directions.base,
909
+ "data-direction-sm": directions.sm,
895
910
  "data-direction-md": directions.md,
896
911
  "data-direction-lg": directions.lg,
897
912
  "data-seam": seams.base,
913
+ "data-seam-sm": seams.sm,
898
914
  "data-seam-md": seams.md,
899
915
  "data-seam-lg": seams.lg
900
916
  }
@@ -906,7 +922,7 @@ import { cn as cn22 } from "@gridui/style-utils";
906
922
  import { cva as cva12 } from "class-variance-authority";
907
923
  var stackStyles = cva12(cn22(
908
924
  "gridui-stack",
909
- "gridui-u-flex gridui-u-min-w-0 gridui-u-flex-col"
925
+ "gridui-u-grid--flex gridui-u-grid--min-w-0 gridui-u-grid--flex-col"
910
926
  ));
911
927
 
912
928
  // src/stack/stack.tsx
@@ -926,6 +942,7 @@ var Stack = (props) => {
926
942
  const spacing = resolveResponsive6(gap);
927
943
  const layoutStyle = {
928
944
  "--gridui-gap": spaceValue7(spacing.base),
945
+ "--gridui-gap-sm": spaceValue7(spacing.sm),
929
946
  "--gridui-gap-md": spaceValue7(spacing.md),
930
947
  "--gridui-gap-lg": spaceValue7(spacing.lg),
931
948
  width: width === "full" ? "100%" : void 0,