@gridui/grid 0.1.0 → 0.1.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.
package/dist/index.js CHANGED
@@ -184,7 +184,7 @@ var FrameFooter = (props) => {
184
184
  // src/frame/rail/style.ts
185
185
  import { cva as cva3 } from "class-variance-authority";
186
186
  var frameRailStyles = cva3("gridui-frame-rail flex h-full box-border flex-col py-gridui-24 text-muted");
187
- var frameRailContentStyles = cva3("gridui-frame-rail-content relative z-[var(--gridui-z-interaction)] min-w-0 type-eyebrow bg-inherit");
187
+ var frameRailContentStyles = cva3("gridui-frame-rail-content relative z-(--gridui-z-interaction) min-w-0 type-eyebrow bg-inherit");
188
188
  var frameRailStickyBottomStyles = cva3("gridui-frame-rail-sticky-bottom justify-end [&>.gridui-frame-rail-content]:sticky");
189
189
 
190
190
  // src/frame/rail/rail.tsx
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/primitives/responsive.ts", "../src/frame/boundary/boundary.tsx", "../src/frame/decoration/decoration.tsx", "../src/frame/style.ts", "../src/frame/chrome/style.ts", "../src/frame/chrome/chrome.tsx", "../src/frame/rail/style.ts", "../src/frame/rail/rail.tsx", "../src/frame/page/style.ts", "../src/frame/page/page.tsx", "../src/frame/texture/texture.tsx", "../src/frame/section.tsx", "../src/primitives/container/style.ts", "../src/primitives/container/container.tsx", "../src/primitives/grid/style.ts", "../src/primitives/grid/grid-item.tsx", "../src/primitives/grid/tracks.ts", "../src/primitives/grid/grid.tsx", "../src/primitives/row/style.ts", "../src/primitives/row/row.tsx", "../src/primitives/stack/style.ts", "../src/primitives/stack/stack.tsx"],
4
- "sourcesContent": ["/**\n * @author WMXPY\n * @package Grid\n * @namespace Primitives\n * @description Responsive\n */\n\nimport type { CSSProperties } from \"react\";\n\nexport type Space = 0 | 4 | 8 | 16 | 24 | 32 | 48 | 64;\nexport type Columns = 1 | 2 | 3 | 4 | 6 | 12;\nexport type GridTrack = \"1fr\" | \"auto\";\nexport type GridColumns = Columns | readonly [GridTrack, ...GridTrack[]];\nexport type Span = Columns | 5 | 7 | 8 | 9 | 10 | 11 | \"full\";\nexport type Responsive<T extends string | number | readonly string[]> = T | {\n readonly base: T;\n readonly md?: T;\n readonly lg?: T;\n};\n\nexport const resolveResponsive = <T extends string | number | readonly string[]>(value: Responsive<T>,\n): {\n base: T;\n md: T;\n lg: T;\n} => {\n if (typeof value !== \"object\" || !(\"base\" in value)) {\n return {\n base: value,\n md: value,\n lg: value,\n };\n }\n return {\n base: value.base,\n md: value.md ?? value.base,\n lg: value.lg ?? value.md ?? value.base,\n };\n};\n\nexport const spaceValue = (value: Space): string => {\n return `var(--gridui-space-${value})`;\n};\n\nexport const spanValue = (value: Span): string => {\n return value === \"full\" ? \"1 / -1\" : `span ${value} / span ${value}`;\n};\n\nexport const spacingStyle = (name: string, value: Responsive<Space>): CSSProperties & {\n [key: `--gridui-${string}`]: string | number;\n} => {\n const sizes = resolveResponsive(value);\n return {\n [`--gridui-${name}`]: spaceValue(sizes.base),\n [`--gridui-${name}-md`]: spaceValue(sizes.md),\n [`--gridui-${name}-lg`]: spaceValue(sizes.lg),\n };\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Frame_Boundary\n * @description Boundary\n */\n\nimport { cn } from \"@gridui/style-utils\";\nimport type { FC } from \"react\";\n\nexport type FrameBoundaryStyle = \"none\" | \"line\" | \"band\" | \"stripe\" | \"space\";\n\nexport type FrameBoundaryProps = {\n readonly boundary: FrameBoundaryStyle;\n};\n\nexport const FrameBoundary: FC<FrameBoundaryProps> = (props: FrameBoundaryProps) => {\n const { boundary } = props;\n return boundary === \"none\" ? null : (<div\n className={cn(\n \"gridui-frame-boundary\",\n (boundary === \"band\" || boundary === \"stripe\") && \"gridui-frame-divider\",\n boundary === \"stripe\" && \"gridui-frame-stripe\",\n boundary === \"space\" && \"gridui-frame-space\",\n )}\n aria-hidden=\"true\"\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Frame_Decoration\n * @description Decoration\n */\n\nimport type { FrameBoundaryStyle } from \"../boundary/boundary\";\nimport type { FC } from \"react\";\n\nexport type FrameDecorationStyle = \"none\" | \"nodes\" | \"marks\" | \"corners\" | \"ticks\";\n\nexport const resolveFrameDecoration = (\n boundary: FrameBoundaryStyle,\n decoration?: FrameDecorationStyle,\n): FrameDecorationStyle => {\n return decoration ?? (boundary === \"band\" ? \"nodes\" : \"none\");\n};\n\nexport type FrameDecorationProps = {\n readonly decoration: FrameDecorationStyle;\n};\n\nexport const FrameDecoration: FC<FrameDecorationProps> = (props: FrameDecorationProps) => {\n const { decoration } = props;\n return decoration === \"none\" ? null : (<div\n className=\"gridui-frame-decoration\"\n data-decoration={decoration}\n aria-hidden=\"true\"\n inert\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Frame\n * @description Style\n */\n\nimport { cn } from \"@gridui/style-utils\";\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: \"\",\n brand: \"gridui-frame-brand\",\n warning: \"gridui-frame-warning\",\n danger: \"gridui-frame-danger\",\n },\n },\n});\n\nexport const frameContentStyles = cva(cn(\n \"gridui-frame-content\",\n \"border-x border-solid border-border wrap-anywhere\",\n));\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Frame_Chrome\n * @description Style\n */\n\nimport { cn } from \"@gridui/style-utils\";\nimport { cva } from \"class-variance-authority\";\n\nexport const frameChromeStyles = cva(cn(\n \"gridui-frame-chrome\",\n \"flex flex-wrap items-center justify-between gap-gridui-16\",\n));\n\nexport const frameSignatureStyles = cva(cn(\n \"gridui-frame-signature flex min-w-0 items-center justify-center gap-gridui-24 py-gridui-32 px-gridui-24 overflow-hidden border-t border-solid border-border bg-transparent\",\n \"[&>svg]:h-auto [&>svg]:opacity-30 [&>span]:font-display [&>span]:leading-none [&>span]:text-transparent\",\n));\n\nexport const frameSignatureCroppedStyles = cva(\"gridui-frame-signature-cropped block pb-0 @container [&>span]:block [&>span]:text-center [&>span]:whitespace-nowrap\");\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Frame_Chrome\n * @description Chrome\n */\n\nimport type { Responsive, Space } from \"../../primitives/responsive\";\nimport { resolveResponsive, spaceValue } from \"../../primitives/responsive\";\nimport type { FrameBoundaryStyle } from \"../boundary/boundary\";\nimport { FrameBoundary } from \"../boundary/boundary\";\nimport type { FrameDecorationStyle } from \"../decoration/decoration\";\nimport { FrameDecoration, resolveFrameDecoration } from \"../decoration/decoration\";\nimport type { FrameTone } from \"../style\";\nimport { frameContentStyles, frameToneStyles } from \"../style\";\nimport { frameChromeStyles, frameSignatureCroppedStyles, frameSignatureStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { ComponentPropsWithRef, CSSProperties, FC, ReactNode } from \"react\";\n\nexport type ChromeProps = {\n readonly padding?: Responsive<Space>;\n};\n\nconst 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\nexport type FrameHeaderProps = ComponentPropsWithRef<\"header\"> & ChromeProps & {\n readonly wrap?: boolean;\n readonly gap?: Space;\n};\n\nexport const FrameHeader: FC<FrameHeaderProps> = (props: FrameHeaderProps) => {\n const { padding = {\n base: 16,\n md: 24,\n }, wrap = true, gap = 16, 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 style={{\n ...chromeStyle(padding),\n flexWrap: wrap ? \"wrap\" : \"nowrap\",\n gap: spaceValue(gap),\n }}\n >\n {children}\n </div>\n </header>);\n};\n\nexport type FrameFooterProps = ComponentPropsWithRef<\"footer\"> & ChromeProps & {\n readonly tone?: FrameTone;\n readonly boundary?: FrameBoundaryStyle;\n readonly decoration?: FrameDecorationStyle;\n readonly signature?: ReactNode;\n readonly signatureAppearance?: \"standard\" | \"cropped\";\n};\n\nexport const FrameFooter: FC<FrameFooterProps> = (props: FrameFooterProps) => {\n const { padding = {\n base: 16,\n md: 24,\n }, 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 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 Frame_Rail\n * @description Style\n */\n\nimport { cva } from \"class-variance-authority\";\n\nexport const frameRailStyles = cva(\"gridui-frame-rail flex h-full box-border flex-col py-gridui-24 text-muted\");\n\nexport const frameRailContentStyles = cva(\"gridui-frame-rail-content relative z-[var(--gridui-z-interaction)] min-w-0 type-eyebrow bg-inherit\");\n\nexport const frameRailStickyBottomStyles = cva(\"gridui-frame-rail-sticky-bottom justify-end [&>.gridui-frame-rail-content]:sticky\");\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Frame_Rail\n * @description Rail\n */\n\nimport type { Responsive, Space } from \"../../primitives/responsive\";\nimport { resolveResponsive, spaceValue } from \"../../primitives/responsive\";\nimport { frameRailContentStyles, frameRailStickyBottomStyles, frameRailStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { ComponentPropsWithRef, CSSProperties, FC, ReactNode } 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\nexport type FrameRailGroupProps = ComponentPropsWithRef<\"div\"> & {\n readonly rail?: ReactNode;\n readonly railWidth?: Responsive<Space>;\n};\n\nexport const FrameRailGroup: FC<FrameRailGroupProps> = (props: FrameRailGroupProps) => {\n const { rail, railWidth = {\n base: 0,\n md: 32,\n }, children, className, style, ...restProps } = props;\n const hasRail = rail !== undefined && rail !== null && rail !== false;\n const width = resolveResponsive(hasRail ? railWidth : 0);\n const layoutStyle: CSSProperties & {\n [key: `--gridui-${string}`]: string | number;\n } = {\n \"--gridui-rail-width-base\": spaceValue(width.base),\n \"--gridui-rail-width-md\": spaceValue(width.md),\n \"--gridui-rail-width-lg\": spaceValue(width.lg),\n \"--gridui-rail-display-base\": width.base === 0 ? \"none\" : \"block\",\n \"--gridui-rail-display-md\": width.md === 0 ? \"none\" : \"block\",\n \"--gridui-rail-display-lg\": width.lg === 0 ? \"none\" : \"block\",\n ...style,\n };\n return (<div\n {...restProps}\n className={cn(\"gridui-frame-rail-group\", className)}\n style={layoutStyle}\n >\n {hasRail ? (<div\n className=\"gridui-frame-rail-track\"\n >\n {rail}\n </div>) : null}\n <div\n className=\"gridui-frame-rail-body\"\n >\n {children}\n </div>\n </div>);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Frame_Page\n * @description Style\n */\n\nimport { cva } from \"class-variance-authority\";\n\nexport const pageFrameVariants = cva(\"gridui-page-frame min-h-svh\", {\n variants: {\n width: {\n narrow: \"gridui-container-narrow\",\n standard: \"gridui-container-standard\",\n wide: \"gridui-container-wide\",\n },\n },\n defaultVariants: { width: \"standard\" },\n});\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Frame_Page\n * @description Page\n */\n\nimport type { ContainerProps } from \"../../primitives/container/container\";\nimport type { Responsive, Space } from \"../../primitives/responsive\";\nimport { spacingStyle } from \"../../primitives/responsive\";\nimport type { FrameRailGroupProps } from \"../rail/rail\";\nimport { FrameRailGroup } from \"../rail/rail\";\nimport { frameContentStyles } from \"../style\";\nimport { pageFrameVariants } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { ComponentPropsWithRef, FC, ReactNode } from \"react\";\n\nexport type PageFrameProps = FrameRailGroupProps & {\n readonly width?: ContainerProps[\"width\"];\n readonly header?: ReactNode;\n readonly footer?: ReactNode;\n readonly railScope?: \"page\" | \"main\";\n readonly mainGutterStart?: Responsive<Space>;\n};\n\nexport 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\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 : spacingStyle(\"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 Frame_Texture\n * @description Texture\n */\n\nimport type { FC } from \"react\";\n\nexport type FrameTextureStyle = \"none\" | \"grid\" | \"dots\" | \"lines\";\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 Frame\n * @description Section\n */\n\nimport type { FrameBoundaryStyle } from \"./boundary/boundary\";\nimport { FrameBoundary } from \"./boundary/boundary\";\nimport type { FrameDecorationStyle } from \"./decoration/decoration\";\nimport { FrameDecoration, resolveFrameDecoration } from \"./decoration/decoration\";\nimport type { FrameTone } from \"./style\";\nimport { frameContentStyles, frameToneStyles } from \"./style\";\nimport type { FrameTextureStyle } from \"./texture/texture\";\nimport { FrameTexture } from \"./texture/texture\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { ComponentPropsWithRef, FC } from \"react\";\n\nexport type FrameSectionProps = ComponentPropsWithRef<\"section\"> & {\n readonly tone?: FrameTone;\n readonly boundary?: FrameBoundaryStyle;\n readonly decoration?: FrameDecorationStyle;\n readonly texture?: FrameTextureStyle;\n readonly edges?: \"frame\" | \"none\";\n};\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 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\" && \"border-x-0\")}\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 Primitives_Container\n * @description Style\n */\n\nimport { cva } from \"class-variance-authority\";\n\nexport const containerVariants = cva(\"gridui-container\", {\n variants: {\n width: {\n narrow: \"gridui-container-narrow\",\n standard: \"gridui-container-standard\",\n wide: \"gridui-container-wide\",\n },\n },\n defaultVariants: { width: \"standard\" },\n});\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Primitives_Container\n * @description Container\n */\n\nimport type { ElementProps } from \"../types\";\nimport { containerVariants } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { FC } from \"react\";\n\nexport type ContainerProps = ElementProps & {\n readonly width?: \"narrow\" | \"standard\" | \"wide\";\n};\n\nexport const Container: FC<ContainerProps> = (props: ContainerProps) => {\n const { width = \"standard\", className, ...restProps } = props;\n return (<div\n {...restProps}\n className={cn(containerVariants({ width }), className)}\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Primitives_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 \"grid min-w-0\",\n));\n\nexport const gridCellsStyles = cva(cn(\n \"gridui-grid-cells\",\n \"border-t border-solid border-border border-l border-solid border-border\",\n));\n\nexport const gridItemStyles = cva(cn(\n \"gridui-grid-item\",\n \"min-w-0 wrap-anywhere\",\n));\n\nexport const gridInternalStyles = cva(cn(\n \"gridui-grid-internal\",\n \"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 Primitives_Grid\n * @description Grid Item\n */\n\nimport type { Responsive, Space, Span } from \"../responsive\";\nimport { resolveResponsive, spaceValue, spanValue } from \"../responsive\";\nimport type { ElementProps, LayoutStyle } from \"../types\";\nimport { gridItemStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport type { FC } from \"react\";\n\nexport type GridItemProps = ElementProps & {\n readonly asChild?: boolean;\n readonly span?: Responsive<Span>;\n readonly padding?: Responsive<Space>;\n readonly align?: \"end\" | \"center\";\n};\n\nexport const GridItem: FC<GridItemProps> = (props: GridItemProps) => {\n const {\n asChild = false,\n span = 1,\n padding = 0,\n align,\n className,\n style,\n ...restProps\n } = props;\n const size = resolveResponsive(span);\n const inset = resolveResponsive(padding);\n const layoutStyle: LayoutStyle = {\n \"--gridui-span\": spanValue(size.base),\n \"--gridui-span-md\": spanValue(size.md),\n \"--gridui-span-lg\": spanValue(size.lg),\n \"--gridui-padding\": spaceValue(inset.base),\n \"--gridui-padding-md\": spaceValue(inset.md),\n \"--gridui-padding-lg\": spaceValue(inset.lg),\n ...(align ? {\n display: \"flex\",\n alignItems: align,\n } : {}),\n ...style,\n };\n\n const Component = asChild ? Slot : \"div\";\n return (<Component\n {...restProps}\n className={cn(gridItemStyles(), className)}\n style={layoutStyle}\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Primitives_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\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 Primitives_Grid\n * @description Grid\n */\n\nimport type { GridColumns, Responsive, Space } from \"../responsive\";\nimport { resolveResponsive, spaceValue } from \"../responsive\";\nimport type { ElementProps, LayoutStyle } from \"../types\";\nimport type { GridItemProps } from \"./grid-item\";\nimport { GridItem } from \"./grid-item\";\nimport { gridVariants } from \"./style\";\nimport { fillGridRowSpans, gridColumnCount, gridTemplate } from \"./tracks\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { FC } from \"react\";\nimport { Children, cloneElement, isValidElement } from \"react\";\n\nexport type GridProps = ElementProps & {\n readonly columns?: Responsive<GridColumns>;\n readonly fillLastRow?: boolean;\n} & ({\n readonly frame?: \"none\";\n readonly gap?: Responsive<Space>;\n} | {\n readonly frame: \"cells\" | \"internal\";\n readonly gap?: never;\n});\n\nexport const Grid: FC<GridProps> = (props: GridProps) => {\n const {\n columns = 1,\n frame = \"none\",\n gap = 16,\n fillLastRow = false,\n className,\n style,\n children,\n ...restProps\n } = props;\n const tracks = resolveResponsive(columns);\n const count = {\n base: gridColumnCount(tracks.base),\n md: gridColumnCount(tracks.md),\n lg: gridColumnCount(tracks.lg),\n };\n const spacing = resolveResponsive(frame === \"none\" ? gap : 0);\n const layoutStyle: LayoutStyle = {\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 \"--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) {\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 return (<div\n {...restProps}\n className={cn(gridVariants({ frame }), className)}\n style={layoutStyle}\n >\n {content}\n </div>);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Primitives_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 \"min-w-0\",\n));\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Primitives_Row\n * @description Row\n */\n\nimport type { Space } from \"../responsive\";\nimport { spaceValue } from \"../responsive\";\nimport { rowStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\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 Primitives_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 \"flex min-w-0 flex-col\",\n));\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Primitives_Stack\n * @description Stack\n */\n\nimport type { Responsive, Space } from \"../responsive\";\nimport { resolveResponsive, spaceValue } from \"../responsive\";\nimport type { ElementProps, LayoutStyle } from \"../types\";\nimport { stackStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { CSSProperties, FC } from \"react\";\n\nexport type StackProps = ElementProps & {\n readonly gap?: Responsive<Space>;\n readonly width?: \"full\";\n readonly maxWidth?: CSSProperties[\"maxWidth\"];\n readonly paddingStart?: Space;\n};\n\nexport const Stack: FC<StackProps> = (props: StackProps) => {\n const {\n gap = 16,\n width,\n maxWidth,\n paddingStart,\n className,\n style,\n ...restProps\n } = props;\n const spacing = resolveResponsive(gap);\n const layoutStyle: LayoutStyle = {\n \"--gridui-gap\": spaceValue(spacing.base),\n \"--gridui-gap-md\": spaceValue(spacing.md),\n \"--gridui-gap-lg\": spaceValue(spacing.lg),\n width: width === \"full\" ? \"100%\" : undefined,\n maxWidth,\n paddingTop: paddingStart === undefined ? undefined : spaceValue(paddingStart),\n ...style,\n };\n return (<div\n {...restProps}\n className={cn(stackStyles(), className)}\n style={layoutStyle}\n />);\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * @author WMXPY\n * @package Grid\n * @namespace Primitives\n * @description Responsive\n */\n\nimport type { CSSProperties } from \"react\";\n\nexport type Space = 0 | 4 | 8 | 16 | 24 | 32 | 48 | 64;\nexport type Columns = 1 | 2 | 3 | 4 | 6 | 12;\nexport type GridTrack = \"1fr\" | \"auto\";\nexport type GridColumns = Columns | readonly [GridTrack, ...GridTrack[]];\nexport type Span = Columns | 5 | 7 | 8 | 9 | 10 | 11 | \"full\";\nexport type Responsive<T extends string | number | readonly string[]> = T | {\n readonly base: T;\n readonly md?: T;\n readonly lg?: T;\n};\n\nexport const resolveResponsive = <T extends string | number | readonly string[]>(value: Responsive<T>,\n): {\n base: T;\n md: T;\n lg: T;\n} => {\n if (typeof value !== \"object\" || !(\"base\" in value)) {\n return {\n base: value,\n md: value,\n lg: value,\n };\n }\n return {\n base: value.base,\n md: value.md ?? value.base,\n lg: value.lg ?? value.md ?? value.base,\n };\n};\n\nexport const spaceValue = (value: Space): string => {\n return `var(--gridui-space-${value})`;\n};\n\nexport const spanValue = (value: Span): string => {\n return value === \"full\" ? \"1 / -1\" : `span ${value} / span ${value}`;\n};\n\nexport const spacingStyle = (name: string, value: Responsive<Space>): CSSProperties & {\n [key: `--gridui-${string}`]: string | number;\n} => {\n const sizes = resolveResponsive(value);\n return {\n [`--gridui-${name}`]: spaceValue(sizes.base),\n [`--gridui-${name}-md`]: spaceValue(sizes.md),\n [`--gridui-${name}-lg`]: spaceValue(sizes.lg),\n };\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Frame_Boundary\n * @description Boundary\n */\n\nimport { cn } from \"@gridui/style-utils\";\nimport type { FC } from \"react\";\n\nexport type FrameBoundaryStyle = \"none\" | \"line\" | \"band\" | \"stripe\" | \"space\";\n\nexport type FrameBoundaryProps = {\n readonly boundary: FrameBoundaryStyle;\n};\n\nexport const FrameBoundary: FC<FrameBoundaryProps> = (props: FrameBoundaryProps) => {\n const { boundary } = props;\n return boundary === \"none\" ? null : (<div\n className={cn(\n \"gridui-frame-boundary\",\n (boundary === \"band\" || boundary === \"stripe\") && \"gridui-frame-divider\",\n boundary === \"stripe\" && \"gridui-frame-stripe\",\n boundary === \"space\" && \"gridui-frame-space\",\n )}\n aria-hidden=\"true\"\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Frame_Decoration\n * @description Decoration\n */\n\nimport type { FrameBoundaryStyle } from \"../boundary/boundary\";\nimport type { FC } from \"react\";\n\nexport type FrameDecorationStyle = \"none\" | \"nodes\" | \"marks\" | \"corners\" | \"ticks\";\n\nexport const resolveFrameDecoration = (\n boundary: FrameBoundaryStyle,\n decoration?: FrameDecorationStyle,\n): FrameDecorationStyle => {\n return decoration ?? (boundary === \"band\" ? \"nodes\" : \"none\");\n};\n\nexport type FrameDecorationProps = {\n readonly decoration: FrameDecorationStyle;\n};\n\nexport const FrameDecoration: FC<FrameDecorationProps> = (props: FrameDecorationProps) => {\n const { decoration } = props;\n return decoration === \"none\" ? null : (<div\n className=\"gridui-frame-decoration\"\n data-decoration={decoration}\n aria-hidden=\"true\"\n inert\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Frame\n * @description Style\n */\n\nimport { cn } from \"@gridui/style-utils\";\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: \"\",\n brand: \"gridui-frame-brand\",\n warning: \"gridui-frame-warning\",\n danger: \"gridui-frame-danger\",\n },\n },\n});\n\nexport const frameContentStyles = cva(cn(\n \"gridui-frame-content\",\n \"border-x border-solid border-border wrap-anywhere\",\n));\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Frame_Chrome\n * @description Style\n */\n\nimport { cn } from \"@gridui/style-utils\";\nimport { cva } from \"class-variance-authority\";\n\nexport const frameChromeStyles = cva(cn(\n \"gridui-frame-chrome\",\n \"flex flex-wrap items-center justify-between gap-gridui-16\",\n));\n\nexport const frameSignatureStyles = cva(cn(\n \"gridui-frame-signature flex min-w-0 items-center justify-center gap-gridui-24 py-gridui-32 px-gridui-24 overflow-hidden border-t border-solid border-border bg-transparent\",\n \"[&>svg]:h-auto [&>svg]:opacity-30 [&>span]:font-display [&>span]:leading-none [&>span]:text-transparent\",\n));\n\nexport const frameSignatureCroppedStyles = cva(\"gridui-frame-signature-cropped block pb-0 @container [&>span]:block [&>span]:text-center [&>span]:whitespace-nowrap\");\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Frame_Chrome\n * @description Chrome\n */\n\nimport type { Responsive, Space } from \"../../primitives/responsive\";\nimport { resolveResponsive, spaceValue } from \"../../primitives/responsive\";\nimport type { FrameBoundaryStyle } from \"../boundary/boundary\";\nimport { FrameBoundary } from \"../boundary/boundary\";\nimport type { FrameDecorationStyle } from \"../decoration/decoration\";\nimport { FrameDecoration, resolveFrameDecoration } from \"../decoration/decoration\";\nimport type { FrameTone } from \"../style\";\nimport { frameContentStyles, frameToneStyles } from \"../style\";\nimport { frameChromeStyles, frameSignatureCroppedStyles, frameSignatureStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { ComponentPropsWithRef, CSSProperties, FC, ReactNode } from \"react\";\n\nexport type ChromeProps = {\n readonly padding?: Responsive<Space>;\n};\n\nconst 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\nexport type FrameHeaderProps = ComponentPropsWithRef<\"header\"> & ChromeProps & {\n readonly wrap?: boolean;\n readonly gap?: Space;\n};\n\nexport const FrameHeader: FC<FrameHeaderProps> = (props: FrameHeaderProps) => {\n const { padding = {\n base: 16,\n md: 24,\n }, wrap = true, gap = 16, 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 style={{\n ...chromeStyle(padding),\n flexWrap: wrap ? \"wrap\" : \"nowrap\",\n gap: spaceValue(gap),\n }}\n >\n {children}\n </div>\n </header>);\n};\n\nexport type FrameFooterProps = ComponentPropsWithRef<\"footer\"> & ChromeProps & {\n readonly tone?: FrameTone;\n readonly boundary?: FrameBoundaryStyle;\n readonly decoration?: FrameDecorationStyle;\n readonly signature?: ReactNode;\n readonly signatureAppearance?: \"standard\" | \"cropped\";\n};\n\nexport const FrameFooter: FC<FrameFooterProps> = (props: FrameFooterProps) => {\n const { padding = {\n base: 16,\n md: 24,\n }, 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 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 Frame_Rail\n * @description Style\n */\n\nimport { cva } from \"class-variance-authority\";\n\nexport const frameRailStyles = cva(\"gridui-frame-rail flex h-full box-border flex-col py-gridui-24 text-muted\");\n\nexport const frameRailContentStyles = cva(\"gridui-frame-rail-content relative z-(--gridui-z-interaction) min-w-0 type-eyebrow bg-inherit\");\n\nexport const frameRailStickyBottomStyles = cva(\"gridui-frame-rail-sticky-bottom justify-end [&>.gridui-frame-rail-content]:sticky\");\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Frame_Rail\n * @description Rail\n */\n\nimport type { Responsive, Space } from \"../../primitives/responsive\";\nimport { resolveResponsive, spaceValue } from \"../../primitives/responsive\";\nimport { frameRailContentStyles, frameRailStickyBottomStyles, frameRailStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { ComponentPropsWithRef, CSSProperties, FC, ReactNode } 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\nexport type FrameRailGroupProps = ComponentPropsWithRef<\"div\"> & {\n readonly rail?: ReactNode;\n readonly railWidth?: Responsive<Space>;\n};\n\nexport const FrameRailGroup: FC<FrameRailGroupProps> = (props: FrameRailGroupProps) => {\n const { rail, railWidth = {\n base: 0,\n md: 32,\n }, children, className, style, ...restProps } = props;\n const hasRail = rail !== undefined && rail !== null && rail !== false;\n const width = resolveResponsive(hasRail ? railWidth : 0);\n const layoutStyle: CSSProperties & {\n [key: `--gridui-${string}`]: string | number;\n } = {\n \"--gridui-rail-width-base\": spaceValue(width.base),\n \"--gridui-rail-width-md\": spaceValue(width.md),\n \"--gridui-rail-width-lg\": spaceValue(width.lg),\n \"--gridui-rail-display-base\": width.base === 0 ? \"none\" : \"block\",\n \"--gridui-rail-display-md\": width.md === 0 ? \"none\" : \"block\",\n \"--gridui-rail-display-lg\": width.lg === 0 ? \"none\" : \"block\",\n ...style,\n };\n return (<div\n {...restProps}\n className={cn(\"gridui-frame-rail-group\", className)}\n style={layoutStyle}\n >\n {hasRail ? (<div\n className=\"gridui-frame-rail-track\"\n >\n {rail}\n </div>) : null}\n <div\n className=\"gridui-frame-rail-body\"\n >\n {children}\n </div>\n </div>);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Frame_Page\n * @description Style\n */\n\nimport { cva } from \"class-variance-authority\";\n\nexport const pageFrameVariants = cva(\"gridui-page-frame min-h-svh\", {\n variants: {\n width: {\n narrow: \"gridui-container-narrow\",\n standard: \"gridui-container-standard\",\n wide: \"gridui-container-wide\",\n },\n },\n defaultVariants: { width: \"standard\" },\n});\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Frame_Page\n * @description Page\n */\n\nimport type { ContainerProps } from \"../../primitives/container/container\";\nimport type { Responsive, Space } from \"../../primitives/responsive\";\nimport { spacingStyle } from \"../../primitives/responsive\";\nimport type { FrameRailGroupProps } from \"../rail/rail\";\nimport { FrameRailGroup } from \"../rail/rail\";\nimport { frameContentStyles } from \"../style\";\nimport { pageFrameVariants } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { ComponentPropsWithRef, FC, ReactNode } from \"react\";\n\nexport type PageFrameProps = FrameRailGroupProps & {\n readonly width?: ContainerProps[\"width\"];\n readonly header?: ReactNode;\n readonly footer?: ReactNode;\n readonly railScope?: \"page\" | \"main\";\n readonly mainGutterStart?: Responsive<Space>;\n};\n\nexport 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\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 : spacingStyle(\"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 Frame_Texture\n * @description Texture\n */\n\nimport type { FC } from \"react\";\n\nexport type FrameTextureStyle = \"none\" | \"grid\" | \"dots\" | \"lines\";\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 Frame\n * @description Section\n */\n\nimport type { FrameBoundaryStyle } from \"./boundary/boundary\";\nimport { FrameBoundary } from \"./boundary/boundary\";\nimport type { FrameDecorationStyle } from \"./decoration/decoration\";\nimport { FrameDecoration, resolveFrameDecoration } from \"./decoration/decoration\";\nimport type { FrameTone } from \"./style\";\nimport { frameContentStyles, frameToneStyles } from \"./style\";\nimport type { FrameTextureStyle } from \"./texture/texture\";\nimport { FrameTexture } from \"./texture/texture\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { ComponentPropsWithRef, FC } from \"react\";\n\nexport type FrameSectionProps = ComponentPropsWithRef<\"section\"> & {\n readonly tone?: FrameTone;\n readonly boundary?: FrameBoundaryStyle;\n readonly decoration?: FrameDecorationStyle;\n readonly texture?: FrameTextureStyle;\n readonly edges?: \"frame\" | \"none\";\n};\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 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\" && \"border-x-0\")}\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 Primitives_Container\n * @description Style\n */\n\nimport { cva } from \"class-variance-authority\";\n\nexport const containerVariants = cva(\"gridui-container\", {\n variants: {\n width: {\n narrow: \"gridui-container-narrow\",\n standard: \"gridui-container-standard\",\n wide: \"gridui-container-wide\",\n },\n },\n defaultVariants: { width: \"standard\" },\n});\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Primitives_Container\n * @description Container\n */\n\nimport type { ElementProps } from \"../types\";\nimport { containerVariants } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { FC } from \"react\";\n\nexport type ContainerProps = ElementProps & {\n readonly width?: \"narrow\" | \"standard\" | \"wide\";\n};\n\nexport const Container: FC<ContainerProps> = (props: ContainerProps) => {\n const { width = \"standard\", className, ...restProps } = props;\n return (<div\n {...restProps}\n className={cn(containerVariants({ width }), className)}\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Primitives_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 \"grid min-w-0\",\n));\n\nexport const gridCellsStyles = cva(cn(\n \"gridui-grid-cells\",\n \"border-t border-solid border-border border-l border-solid border-border\",\n));\n\nexport const gridItemStyles = cva(cn(\n \"gridui-grid-item\",\n \"min-w-0 wrap-anywhere\",\n));\n\nexport const gridInternalStyles = cva(cn(\n \"gridui-grid-internal\",\n \"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 Primitives_Grid\n * @description Grid Item\n */\n\nimport type { Responsive, Space, Span } from \"../responsive\";\nimport { resolveResponsive, spaceValue, spanValue } from \"../responsive\";\nimport type { ElementProps, LayoutStyle } from \"../types\";\nimport { gridItemStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport type { FC } from \"react\";\n\nexport type GridItemProps = ElementProps & {\n readonly asChild?: boolean;\n readonly span?: Responsive<Span>;\n readonly padding?: Responsive<Space>;\n readonly align?: \"end\" | \"center\";\n};\n\nexport const GridItem: FC<GridItemProps> = (props: GridItemProps) => {\n const {\n asChild = false,\n span = 1,\n padding = 0,\n align,\n className,\n style,\n ...restProps\n } = props;\n const size = resolveResponsive(span);\n const inset = resolveResponsive(padding);\n const layoutStyle: LayoutStyle = {\n \"--gridui-span\": spanValue(size.base),\n \"--gridui-span-md\": spanValue(size.md),\n \"--gridui-span-lg\": spanValue(size.lg),\n \"--gridui-padding\": spaceValue(inset.base),\n \"--gridui-padding-md\": spaceValue(inset.md),\n \"--gridui-padding-lg\": spaceValue(inset.lg),\n ...(align ? {\n display: \"flex\",\n alignItems: align,\n } : {}),\n ...style,\n };\n\n const Component = asChild ? Slot : \"div\";\n return (<Component\n {...restProps}\n className={cn(gridItemStyles(), className)}\n style={layoutStyle}\n />);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Primitives_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\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 Primitives_Grid\n * @description Grid\n */\n\nimport type { GridColumns, Responsive, Space } from \"../responsive\";\nimport { resolveResponsive, spaceValue } from \"../responsive\";\nimport type { ElementProps, LayoutStyle } from \"../types\";\nimport type { GridItemProps } from \"./grid-item\";\nimport { GridItem } from \"./grid-item\";\nimport { gridVariants } from \"./style\";\nimport { fillGridRowSpans, gridColumnCount, gridTemplate } from \"./tracks\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { FC } from \"react\";\nimport { Children, cloneElement, isValidElement } from \"react\";\n\nexport type GridProps = ElementProps & {\n readonly columns?: Responsive<GridColumns>;\n readonly fillLastRow?: boolean;\n} & ({\n readonly frame?: \"none\";\n readonly gap?: Responsive<Space>;\n} | {\n readonly frame: \"cells\" | \"internal\";\n readonly gap?: never;\n});\n\nexport const Grid: FC<GridProps> = (props: GridProps) => {\n const {\n columns = 1,\n frame = \"none\",\n gap = 16,\n fillLastRow = false,\n className,\n style,\n children,\n ...restProps\n } = props;\n const tracks = resolveResponsive(columns);\n const count = {\n base: gridColumnCount(tracks.base),\n md: gridColumnCount(tracks.md),\n lg: gridColumnCount(tracks.lg),\n };\n const spacing = resolveResponsive(frame === \"none\" ? gap : 0);\n const layoutStyle: LayoutStyle = {\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 \"--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) {\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 return (<div\n {...restProps}\n className={cn(gridVariants({ frame }), className)}\n style={layoutStyle}\n >\n {content}\n </div>);\n};\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Primitives_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 \"min-w-0\",\n));\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Primitives_Row\n * @description Row\n */\n\nimport type { Space } from \"../responsive\";\nimport { spaceValue } from \"../responsive\";\nimport { rowStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\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 Primitives_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 \"flex min-w-0 flex-col\",\n));\n", "/**\n * @author WMXPY\n * @package Grid\n * @namespace Primitives_Stack\n * @description Stack\n */\n\nimport type { Responsive, Space } from \"../responsive\";\nimport { resolveResponsive, spaceValue } from \"../responsive\";\nimport type { ElementProps, LayoutStyle } from \"../types\";\nimport { stackStyles } from \"./style\";\nimport { cn } from \"@gridui/style-utils\";\nimport type { CSSProperties, FC } from \"react\";\n\nexport type StackProps = ElementProps & {\n readonly gap?: Responsive<Space>;\n readonly width?: \"full\";\n readonly maxWidth?: CSSProperties[\"maxWidth\"];\n readonly paddingStart?: Space;\n};\n\nexport const Stack: FC<StackProps> = (props: StackProps) => {\n const {\n gap = 16,\n width,\n maxWidth,\n paddingStart,\n className,\n style,\n ...restProps\n } = props;\n const spacing = resolveResponsive(gap);\n const layoutStyle: LayoutStyle = {\n \"--gridui-gap\": spaceValue(spacing.base),\n \"--gridui-gap-md\": spaceValue(spacing.md),\n \"--gridui-gap-lg\": spaceValue(spacing.lg),\n width: width === \"full\" ? \"100%\" : undefined,\n maxWidth,\n paddingTop: paddingStart === undefined ? undefined : spaceValue(paddingStart),\n ...style,\n };\n return (<div\n {...restProps}\n className={cn(stackStyles(), className)}\n style={layoutStyle}\n />);\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["jsx", "cn", "cn", "cva", "cn", "jsx", "cva", "cn", "jsx", "jsxs", "cva", "cn", "jsx", "jsxs", "jsx", "cn", "jsx", "jsxs", "cva", "cn", "jsx", "cn", "cva", "cn", "jsx", "cn", "jsx", "cn", "cva", "cn", "jsx", "cn", "cva", "cn", "jsx"]
7
7
  }
package/dist/styles.css CHANGED
@@ -8,7 +8,7 @@
8
8
  .relative {
9
9
  position: relative;
10
10
  }
11
- .z-\[var\(--gridui-z-interaction\)\] {
11
+ .z-\(--gridui-z-interaction\) {
12
12
  z-index: var(--gridui-z-interaction);
13
13
  }
14
14
  .box-border {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gridui/grid",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "GridUI React grid",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -27,8 +27,8 @@
27
27
  "access": "public"
28
28
  },
29
29
  "dependencies": {
30
- "@gridui/style-utils": "0.1.0",
31
- "@gridui/theme": "0.1.0",
30
+ "@gridui/style-utils": "0.1.1",
31
+ "@gridui/theme": "0.1.1",
32
32
  "@radix-ui/react-slot": "1.5.0",
33
33
  "class-variance-authority": "0.7.1"
34
34
  },