@gridui/grid 2.3.6 → 3.0.1

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 (41) hide show
  1. package/README.md +3 -1
  2. package/dist/frame-footer/style.d.ts +3 -2
  3. package/dist/frame-header/style.d.ts +9 -0
  4. package/dist/frame-rail/style.d.ts +3 -2
  5. package/dist/frame-section/style.d.ts +9 -0
  6. package/dist/grid/grid.d.ts +1 -1
  7. package/dist/grid/style.d.ts +2 -2
  8. package/dist/grid-item/style.d.ts +3 -1
  9. package/dist/index.js +156 -46
  10. package/dist/index.js.map +4 -4
  11. package/dist/row/style.d.ts +6 -1
  12. package/dist/shared/chrome.d.ts +1 -0
  13. package/dist/shared/frame-style.d.ts +3 -3
  14. package/dist/stack/style.d.ts +3 -1
  15. package/dist/styles.css +129 -1
  16. package/docs/README.md +8 -387
  17. package/docs/catalog.json +37 -3
  18. package/docs/guides/dashboard-frame.md +91 -0
  19. package/docs/guides/grid.md +126 -0
  20. package/docs/guides/page-frame.md +137 -0
  21. package/docs/guides/split.md +49 -0
  22. package/docs/reference/README.md +21 -0
  23. package/docs/reference/container.md +63 -0
  24. package/docs/reference/dashboard-frame.md +99 -0
  25. package/docs/reference/frame-boundary.md +63 -0
  26. package/docs/reference/frame-footer.md +96 -0
  27. package/docs/reference/frame-header.md +84 -0
  28. package/docs/reference/frame-rail-group.md +70 -0
  29. package/docs/reference/frame-rail.md +63 -0
  30. package/docs/reference/frame-region-row.md +69 -0
  31. package/docs/reference/frame-region.md +69 -0
  32. package/docs/reference/frame-section.md +97 -0
  33. package/docs/reference/frame-sections.md +55 -0
  34. package/docs/reference/frame-texture.md +25 -0
  35. package/docs/reference/grid-item.md +79 -0
  36. package/docs/reference/grid.md +91 -0
  37. package/docs/reference/page-frame.md +89 -0
  38. package/docs/reference/row.md +93 -0
  39. package/docs/reference/split.md +75 -0
  40. package/docs/reference/stack.md +75 -0
  41. package/package.json +5 -6
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 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 { 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
- "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"]
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/style.ts", "../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/style.ts", "../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 { 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-sm\": 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-sm\": spaceValue(values.sm),\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 = cva(\"\", {\n variants: {\n tone: {\n neutral: null,\n brand: `gridui-frame-brand ${paletteClass(\"brand\")}`,\n warning: `gridui-frame-warning ${paletteClass(\"warning\")}`,\n danger: `gridui-frame-danger ${paletteClass(\"danger\")}`,\n },\n },\n defaultVariants: { tone: \"neutral\" },\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 variants: {\n appearance: {\n standard: null,\n cropped: \"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 },\n defaultVariants: { appearance: \"standard\" },\n});\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 { 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 sm: 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({ appearance: signatureAppearance }))}\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 Style\n */\n\nimport { frameChromeStyles } from \"../shared/chrome-style\";\nimport { cva } from \"class-variance-authority\";\n\nexport const frameHeaderContentStyles = cva(frameChromeStyles(), {\n variants: {\n wrap: {\n false: \"gridui-u-grid--[--gridui-frame-header-wrap:nowrap]\",\n true: \"gridui-u-grid--[--gridui-frame-header-wrap:wrap]\",\n },\n },\n defaultVariants: { wrap: true },\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 { frameContentStyles } from \"../shared/frame-style\";\nimport { frameHeaderContentStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport { type Space, spaceValue } from \"@gridui/style-utils/responsive\";\nimport type { ComponentPropsWithRef, CSSProperties, 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 sm: 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(), frameHeaderContentStyles({ wrap }))}\n data-justify={justify}\n style={{\n ...chromeStyle(padding),\n flexWrap: \"var(--gridui-frame-header-wrap)\" as CSSProperties[\"flexWrap\"],\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 variants: {\n placement: {\n start: null,\n \"sticky-bottom\": \"gridui-frame-rail-sticky-bottom gridui-u-grid--justify-end gridui-u-grid--[&>.gridui-frame-rail-content]:sticky\",\n },\n },\n defaultVariants: { placement: \"start\" },\n});\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", "/**\n * @author WMXPY\n * @package Grid\n * @namespace FrameRail\n * @description Frame Rail\n */\n\nimport { frameRailContentStyles, 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 }), 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 sm: 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-sm\": spaceValue(width.sm),\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-sm\": width.sm === 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 Style\n */\n\nimport { frameContentStyles } from \"../shared/frame-style\";\nimport { cva } from \"class-variance-authority\";\n\nexport const frameSectionSurfaceStyles = cva([\n frameContentStyles(),\n \"gridui-frame-surface\",\n], {\n variants: {\n edges: {\n frame: null,\n none: \"gridui-u-grid--border-x-0\",\n },\n },\n defaultVariants: { edges: \"frame\" },\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 { frameToneStyles } from \"../shared/frame-style\";\nimport type { FrameSurfaceOptions } from \"../shared/frame-surface-options\";\nimport type { FrameTextureStyle } from \"../shared/texture-types\";\nimport { frameSectionSurfaceStyles } from \"./style\";\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(frameSectionSurfaceStyles({ edges }))}\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 variants: {\n align: {\n center: \"gridui-u-grid--[--gridui-grid-item-display:flex] gridui-u-grid--[--gridui-grid-item-align:center]\",\n end: \"gridui-u-grid--[--gridui-grid-item-display:flex] gridui-u-grid--[--gridui-grid-item-align:end]\",\n },\n },\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-sm\": spanValue(size.sm),\n \"--gridui-span-md\": spanValue(size.md),\n \"--gridui-span-lg\": spanValue(size.lg),\n \"--gridui-padding\": spaceValue(inset.base),\n \"--gridui-padding-sm\": spaceValue(inset.sm),\n \"--gridui-padding-md\": spaceValue(inset.md),\n \"--gridui-padding-lg\": spaceValue(inset.lg),\n ...(align ? {\n display: \"var(--gridui-grid-item-display)\",\n alignItems: \"var(--gridui-grid-item-align)\",\n } : {}),\n ...style,\n };\n\n const Component = asChild ? Slot : \"div\";\n return (<Component\n {...restProps}\n className={cn(gridItemStyles({ align }), 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 gridAllStyles = cva(cn(\n \"gridui-grid-all\",\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 all: gridAllStyles(),\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\" | \"all\" | \"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 sm: 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-sm\": adaptiveGridTemplate(minimum.sm),\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 sm: gridColumnCount(tracks.sm),\n md: gridColumnCount(tracks.md),\n lg: gridColumnCount(tracks.lg),\n };\n geometry = {\n \"--gridui-columns\": count.base,\n \"--gridui-columns-sm\": count.sm,\n \"--gridui-columns-md\": count.md,\n \"--gridui-columns-lg\": count.lg,\n \"--gridui-grid-template\": gridTemplate(tracks.base),\n \"--gridui-grid-template-sm\": gridTemplate(tracks.sm),\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-sm\": frame === \"internal\" ? \"1px\" : spaceValue(spacing.sm),\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 sm: fillGridRowSpans(count.sm, spans.map((span) => {\n return span.sm === \"full\" ? count.sm : span.sm;\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-sm\": `span ${filled.sm[index]} / span ${filled.sm[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 variants: {\n inline: {\n false: \"gridui-u-grid--[--gridui-row-display:flex]\",\n true: \"gridui-u-grid--[--gridui-row-display:inline-flex]\",\n },\n align: {\n stretch: \"gridui-u-grid--[--gridui-row-align:stretch]\",\n center: \"gridui-u-grid--[--gridui-row-align:center]\",\n baseline: \"gridui-u-grid--[--gridui-row-align:baseline]\",\n end: \"gridui-u-grid--[--gridui-row-align:end]\",\n },\n justify: {\n start: \"gridui-u-grid--[--gridui-row-justify:flex-start]\",\n between: \"gridui-u-grid--[--gridui-row-justify:space-between]\",\n },\n wrap: {\n false: \"gridui-u-grid--[--gridui-row-wrap:nowrap]\",\n true: \"gridui-u-grid--[--gridui-row-wrap:wrap]\",\n },\n },\n defaultVariants: {\n inline: false,\n align: \"stretch\",\n justify: \"start\",\n wrap: true,\n },\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, CSSProperties, 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({\n inline,\n align,\n justify,\n wrap,\n }), className)}\n data-inline={inline}\n style={{\n display: \"var(--gridui-row-display)\",\n alignItems: \"var(--gridui-row-align)\",\n justifyContent: \"var(--gridui-row-justify)\",\n flexWrap: \"var(--gridui-row-wrap)\" as CSSProperties[\"flexWrap\"],\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-sm={directions.sm}\n data-direction-md={directions.md}\n data-direction-lg={directions.lg}\n data-seam={seams.base}\n data-seam-sm={seams.sm}\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 variants: {\n width: {\n full: \"gridui-u-grid--[--gridui-stack-width:100%]\",\n },\n },\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-sm\": spaceValue(spacing.sm),\n \"--gridui-gap-md\": spaceValue(spacing.md),\n \"--gridui-gap-lg\": spaceValue(spacing.lg),\n width: width === \"full\" ? \"var(--gridui-stack-width)\" : undefined,\n maxWidth,\n paddingTop: paddingStart === undefined ? undefined : spaceValue(paddingStart),\n ...style,\n };\n return (<div\n {...restProps}\n className={cn(stackStyles({ width }), className)}\n style={layoutStyle}\n />);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["jsx", "cva", "cn", "jsx", "jsxs", "cva", "cn", "jsx", "cva", "cn", "cva", "cn", "cva", "cn", "jsx", "jsxs", "cva", "cn", "spaceValue", "jsx", "cva", "cn", "jsx", "cn", "resolveResponsive", "spaceValue", "jsx", "jsxs", "cn", "jsx", "cn", "Slot", "jsx", "jsx", "cva", "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,4 +4,9 @@
4
4
  * @namespace Row
5
5
  * @description Style
6
6
  */
7
- export declare const rowStyles: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
7
+ export declare const rowStyles: (props?: ({
8
+ inline?: boolean | null | undefined;
9
+ align?: "center" | "end" | "stretch" | "baseline" | null | undefined;
10
+ justify?: "start" | "between" | null | undefined;
11
+ wrap?: boolean | null | undefined;
12
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
@@ -11,6 +11,7 @@ export type ChromeProps = {
11
11
  };
12
12
  export declare const chromeStyle: (padding: Responsive<Space>) => CSSProperties & {
13
13
  "--gridui-chrome-padding": string;
14
+ "--gridui-chrome-padding-sm": string;
14
15
  "--gridui-chrome-padding-md": string;
15
16
  "--gridui-chrome-padding-lg": string;
16
17
  };
@@ -5,7 +5,7 @@
5
5
  * @description Frame Style
6
6
  */
7
7
  export type FrameTone = "neutral" | "brand" | "warning" | "danger";
8
- export declare const frameToneStyles: (options?: {
9
- readonly tone?: FrameTone;
10
- }) => string;
8
+ export declare const frameToneStyles: (props?: ({
9
+ tone?: "neutral" | "brand" | "warning" | "danger" | null | undefined;
10
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
11
11
  export declare const frameContentStyles: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
@@ -4,4 +4,6 @@
4
4
  * @namespace Stack
5
5
  * @description Style
6
6
  */
7
- export declare const stackStyles: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
7
+ export declare const stackStyles: (props?: ({
8
+ width?: "full" | null | undefined;
9
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
package/dist/styles.css CHANGED
@@ -164,6 +164,54 @@
164
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-grid--\[--gridui-frame-header-wrap\:nowrap\] {
168
+ --gridui-frame-header-wrap: nowrap;
169
+ }
170
+ .gridui-u-grid--\[--gridui-frame-header-wrap\:wrap\] {
171
+ --gridui-frame-header-wrap: wrap;
172
+ }
173
+ .gridui-u-grid--\[--gridui-grid-item-align\:center\] {
174
+ --gridui-grid-item-align: center;
175
+ }
176
+ .gridui-u-grid--\[--gridui-grid-item-align\:end\] {
177
+ --gridui-grid-item-align: end;
178
+ }
179
+ .gridui-u-grid--\[--gridui-grid-item-display\:flex\] {
180
+ --gridui-grid-item-display: flex;
181
+ }
182
+ .gridui-u-grid--\[--gridui-row-align\:baseline\] {
183
+ --gridui-row-align: baseline;
184
+ }
185
+ .gridui-u-grid--\[--gridui-row-align\:center\] {
186
+ --gridui-row-align: center;
187
+ }
188
+ .gridui-u-grid--\[--gridui-row-align\:end\] {
189
+ --gridui-row-align: end;
190
+ }
191
+ .gridui-u-grid--\[--gridui-row-align\:stretch\] {
192
+ --gridui-row-align: stretch;
193
+ }
194
+ .gridui-u-grid--\[--gridui-row-display\:flex\] {
195
+ --gridui-row-display: flex;
196
+ }
197
+ .gridui-u-grid--\[--gridui-row-display\:inline-flex\] {
198
+ --gridui-row-display: inline-flex;
199
+ }
200
+ .gridui-u-grid--\[--gridui-row-justify\:flex-start\] {
201
+ --gridui-row-justify: flex-start;
202
+ }
203
+ .gridui-u-grid--\[--gridui-row-justify\:space-between\] {
204
+ --gridui-row-justify: space-between;
205
+ }
206
+ .gridui-u-grid--\[--gridui-row-wrap\:nowrap\] {
207
+ --gridui-row-wrap: nowrap;
208
+ }
209
+ .gridui-u-grid--\[--gridui-row-wrap\:wrap\] {
210
+ --gridui-row-wrap: wrap;
211
+ }
212
+ .gridui-u-grid--\[--gridui-stack-width\:100\%\] {
213
+ --gridui-stack-width: 100%;
214
+ }
167
215
  .gridui-u-grid--\[\&\>\.gridui-frame-rail-content\]\:sticky > .gridui-frame-rail-content {
168
216
  position: sticky;
169
217
  }
@@ -301,6 +349,11 @@
301
349
  align-content: start;
302
350
  }
303
351
  @media (min-width: 40rem) {
352
+ .gridui-frame-main {
353
+ --gridui-page-gutter-start: var(--gridui-main-gutter-start-sm, var(--gridui-page-gutter));
354
+ }
355
+ }
356
+ @media (min-width: 48rem) {
304
357
  .gridui-frame-main {
305
358
  --gridui-page-gutter-start: var(--gridui-main-gutter-start-md, var(--gridui-page-gutter));
306
359
  }
@@ -315,6 +368,12 @@
315
368
  padding-block: var(--gridui-section-padding-block);
316
369
  }
317
370
  @media (min-width: 40rem) {
371
+ .gridui-frame-section > .gridui-frame-surface {
372
+ padding-inline: var(--gridui-section-padding-inline-sm);
373
+ padding-block: var(--gridui-section-padding-block-sm);
374
+ }
375
+ }
376
+ @media (min-width: 48rem) {
318
377
  .gridui-frame-section > .gridui-frame-surface {
319
378
  padding-inline: var(--gridui-section-padding-inline-md);
320
379
  padding-block: var(--gridui-section-padding-block-md);
@@ -352,6 +411,12 @@
352
411
  bottom: max(var(--gridui-space-16), env(safe-area-inset-bottom));
353
412
  }
354
413
  @media (min-width: 40rem) {
414
+ .gridui-frame-rail-group {
415
+ --gridui-frame-rail-width: var(--gridui-rail-width-sm);
416
+ --gridui-frame-rail-display: var(--gridui-rail-display-sm);
417
+ }
418
+ }
419
+ @media (min-width: 48rem) {
355
420
  .gridui-frame-rail-group {
356
421
  --gridui-frame-rail-width: var(--gridui-rail-width-md);
357
422
  --gridui-frame-rail-display: var(--gridui-rail-display-md);
@@ -518,7 +583,7 @@
518
583
  grid-column: var(--gridui-span);
519
584
  padding: var(--gridui-padding);
520
585
  }
521
- .gridui-grid-cells > .gridui-grid-item {
586
+ .gridui-grid-all > .gridui-grid-item {
522
587
  border-right: 1px solid var(--gridui-border);
523
588
  border-bottom: 1px solid var(--gridui-border);
524
589
  }
@@ -533,6 +598,16 @@
533
598
  z-index: var(--gridui-z-interaction);
534
599
  }
535
600
  @media (min-width: 40rem) {
601
+ .gridui-grid {
602
+ grid-template-columns: var(--gridui-grid-template-sm);
603
+ gap: var(--gridui-gap-sm);
604
+ }
605
+ .gridui-grid-item {
606
+ grid-column: var(--gridui-span-sm);
607
+ padding: var(--gridui-padding-sm);
608
+ }
609
+ }
610
+ @media (min-width: 48rem) {
536
611
  .gridui-grid {
537
612
  grid-template-columns: var(--gridui-grid-template-md);
538
613
  gap: var(--gridui-gap-md);
@@ -556,6 +631,11 @@
556
631
  gap: var(--gridui-gap);
557
632
  }
558
633
  @media (min-width: 40rem) {
634
+ .gridui-stack {
635
+ gap: var(--gridui-gap-sm);
636
+ }
637
+ }
638
+ @media (min-width: 48rem) {
559
639
  .gridui-stack {
560
640
  gap: var(--gridui-gap-md);
561
641
  }
@@ -580,6 +660,11 @@
580
660
  display: block;
581
661
  }
582
662
  @media (min-width: 40rem) {
663
+ .gridui-frame-chrome {
664
+ padding: var(--gridui-chrome-padding-sm);
665
+ }
666
+ }
667
+ @media (min-width: 48rem) {
583
668
  .gridui-frame-chrome {
584
669
  padding: var(--gridui-chrome-padding-md);
585
670
  }
@@ -654,6 +739,49 @@
654
739
  border-right-width: 1px;
655
740
  }
656
741
  @media (min-width: 40rem) {
742
+ .gridui-split[data-direction-sm="row"] {
743
+ flex-direction: row;
744
+ }
745
+ .gridui-split[data-direction-sm="column"] {
746
+ flex-direction: column;
747
+ }
748
+ .gridui-split[data-direction-sm="row-reverse"] {
749
+ flex-direction: row-reverse;
750
+ }
751
+ .gridui-split[data-direction-sm="column-reverse"] {
752
+ flex-direction: column-reverse;
753
+ }
754
+ .gridui-split[data-direction-sm][data-seam-sm] > :where(:not([hidden]) ~ :not([hidden])) {
755
+ border: 0 solid var(--gridui-border);
756
+ }
757
+ .gridui-split[data-direction-sm="row"][data-seam-sm="line"] > :where(:not([hidden]) ~ :not([hidden])) {
758
+ border-inline-start-width: 1px;
759
+ }
760
+ .gridui-split[data-direction-sm="column"][data-seam-sm="line"] > :where(:not([hidden]) ~ :not([hidden])) {
761
+ border-block-start-width: 1px;
762
+ }
763
+ .gridui-split[data-direction-sm="row-reverse"][data-seam-sm="line"] > :where(:not([hidden]) ~ :not([hidden])) {
764
+ border-inline-end-width: 1px;
765
+ }
766
+ .gridui-split[data-direction-sm="column-reverse"][data-seam-sm="line"] > :where(:not([hidden]) ~ :not([hidden])) {
767
+ border-block-end-width: 1px;
768
+ }
769
+ .gridui-split[data-direction-sm="row"]:where([data-order="physical"]:dir(rtl)) {
770
+ flex-direction: row-reverse;
771
+ }
772
+ .gridui-split[data-direction-sm="row"]:where([data-order="physical"]:dir(rtl))[data-seam-sm="line"] > :where(:not([hidden]) ~ :not([hidden])) {
773
+ border: 0 solid var(--gridui-border);
774
+ border-left-width: 1px;
775
+ }
776
+ .gridui-split[data-direction-sm="row-reverse"]:where([data-order="physical"]:dir(rtl)) {
777
+ flex-direction: row;
778
+ }
779
+ .gridui-split[data-direction-sm="row-reverse"]:where([data-order="physical"]:dir(rtl))[data-seam-sm="line"] > :where(:not([hidden]) ~ :not([hidden])) {
780
+ border: 0 solid var(--gridui-border);
781
+ border-right-width: 1px;
782
+ }
783
+ }
784
+ @media (min-width: 48rem) {
657
785
  .gridui-split[data-direction-md="row"] {
658
786
  flex-direction: row;
659
787
  }