@frontlit/page-builder 0.1.0-alpha.1 → 0.1.0-alpha.2

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 (58) hide show
  1. package/README.md +6 -2
  2. package/dist/blocks/index.d.ts +7 -5
  3. package/dist/blocks/index.js +4 -3
  4. package/dist/builder/index.d.ts +5 -7
  5. package/dist/builder/index.js +6 -5
  6. package/dist/{button-C3VrMJkr.d.ts → button-Bzt1GDO-.d.ts} +2 -2
  7. package/dist/{chunk-GTY75HW2.js → chunk-ATNM5JHI.js} +2 -2
  8. package/dist/chunk-ATNM5JHI.js.map +1 -0
  9. package/dist/{chunk-7W6Q4WA7.js → chunk-H4P5MFJI.js} +89 -73
  10. package/dist/chunk-H4P5MFJI.js.map +1 -0
  11. package/dist/{chunk-SSQWYMQR.js → chunk-HDINUNI2.js} +11 -39
  12. package/dist/chunk-HDINUNI2.js.map +1 -0
  13. package/dist/{chunk-MO76KZY2.js → chunk-KQKSLI3L.js} +339 -314
  14. package/dist/chunk-KQKSLI3L.js.map +1 -0
  15. package/dist/{chunk-RBJBODQP.js → chunk-SGNRWWG3.js} +1931 -919
  16. package/dist/chunk-SGNRWWG3.js.map +1 -0
  17. package/dist/{chunk-7KIX4WAO.js → chunk-UO7XGBGM.js} +439 -535
  18. package/dist/chunk-UO7XGBGM.js.map +1 -0
  19. package/dist/chunk-XU7ALPGQ.js +22 -0
  20. package/dist/chunk-XU7ALPGQ.js.map +1 -0
  21. package/dist/components/index.d.ts +3 -3
  22. package/dist/components/index.js +3 -2
  23. package/dist/data-slots.d.ts +3 -3
  24. package/dist/data-slots.js +1 -1
  25. package/dist/{image-D7GlnOio.d.ts → image-DAWVx1zQ.d.ts} +3 -2
  26. package/dist/index.d.ts +7 -7
  27. package/dist/index.js +7 -6
  28. package/dist/media-CnLImjVC.d.ts +21 -0
  29. package/dist/models/index.d.ts +5 -5
  30. package/dist/models/index.js +1 -0
  31. package/dist/{page-DfVl_aHX.d.ts → page-W3hQga4w.d.ts} +2 -3
  32. package/dist/primitives/index.d.ts +251 -60
  33. package/dist/primitives/index.js +2 -1
  34. package/dist/renderer/index.d.ts +3 -3
  35. package/dist/renderer/index.js +5 -4
  36. package/dist/{section-background-BgOCp5l3.d.ts → section-background-MsdE40Rk.d.ts} +1 -1
  37. package/dist/styles.css +3896 -8303
  38. package/dist/{theme-style-39nxXQy0.d.ts → theme-style-Cbl7NM-T.d.ts} +23 -1
  39. package/dist/theme.css +174 -191
  40. package/dist/{widget--uEOpdq3.d.ts → widget-B_RoG6se.d.ts} +10 -6
  41. package/package.json +21 -10
  42. package/dist/chunk-7KIX4WAO.js.map +0 -1
  43. package/dist/chunk-7W6Q4WA7.js.map +0 -1
  44. package/dist/chunk-GTY75HW2.js.map +0 -1
  45. package/dist/chunk-MO76KZY2.js.map +0 -1
  46. package/dist/chunk-RBJBODQP.js.map +0 -1
  47. package/dist/chunk-SSQWYMQR.js.map +0 -1
  48. package/dist/fonts/montserrat/montserrat-latin-100-normal.woff2 +0 -0
  49. package/dist/fonts/montserrat/montserrat-latin-200-normal.woff2 +0 -0
  50. package/dist/fonts/montserrat/montserrat-latin-300-normal.woff2 +0 -0
  51. package/dist/fonts/montserrat/montserrat-latin-400-normal.woff2 +0 -0
  52. package/dist/fonts/montserrat/montserrat-latin-500-normal.woff2 +0 -0
  53. package/dist/fonts/montserrat/montserrat-latin-600-normal.woff2 +0 -0
  54. package/dist/fonts/montserrat/montserrat-latin-700-normal.woff2 +0 -0
  55. package/dist/fonts/montserrat/montserrat-latin-800-normal.woff2 +0 -0
  56. package/dist/fonts/montserrat/montserrat-latin-900-normal.woff2 +0 -0
  57. package/dist/fonts/source-sans-3/source-sans-3-latin-400-normal.woff2 +0 -0
  58. package/dist/media-Njv378j7.d.ts +0 -13
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/primitives/lib/utils.ts","../src/primitives/preheader.tsx","../src/primitives/header1.tsx","../src/primitives/header2.tsx","../src/primitives/header3.tsx","../src/primitives/header4.tsx","../src/primitives/subheader1.tsx","../src/primitives/subheader2.tsx","../src/primitives/text1.tsx","../src/primitives/text2.tsx","../src/primitives/link.tsx","../src/primitives/components/ui/button.tsx","../src/primitives/button.tsx","../src/primitives/components/ui/input.tsx","../src/primitives/input.tsx","../src/primitives/textarea.tsx","../src/primitives/caption.tsx","../src/primitives/card.tsx","../src/primitives/components/ui/label.tsx","../src/primitives/label.tsx","../src/primitives/section.tsx","../src/primitives/components/ui/badge.tsx","../src/primitives/badge.tsx","../src/primitives/components/ui/switch.tsx","../src/primitives/switch.tsx","../src/primitives/themes/classic.ts","../src/primitives/themes/studio.ts","../src/primitives/themes/midnight.ts","../src/primitives/themes/editorial.ts","../src/primitives/themes/neobrutalism.ts","../src/primitives/themes/index.ts","../src/primitives/components/ui/sheet.tsx","../src/primitives/drawer.tsx"],"names":["jsx","React","Button","React2","Input","cva","React5","Label","Badge","React8","Switch","themeStyles","jsxs"],"mappings":"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","file":"chunk-RBJBODQP.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import React from \"react\";\nimport { TypographyProps } from \"./typography\";\nimport { cn } from \"./lib/utils\";\n\nexport const Preheader: React.FC<TypographyProps> = ({\n children,\n className = \"\",\n theme,\n ...props\n}) => {\n const typographyStyles = theme?.typography?.preheader;\n const classes = cn(\n // Base styles\n \"text-sm font-medium uppercase tracking-wide\",\n // Theme typography\n typographyStyles?.fontFamily,\n typographyStyles?.fontSize,\n typographyStyles?.fontWeight,\n typographyStyles?.lineHeight,\n typographyStyles?.letterSpacing,\n typographyStyles?.textTransform,\n typographyStyles?.textDecoration,\n typographyStyles?.textOverflow,\n className,\n );\n\n return (\n <p className={classes} {...props}>\n {children}\n </p>\n );\n};\n","import React from \"react\";\nimport { TypographyProps } from \"./typography\";\nimport { cn } from \"./lib/utils\";\n\nexport const Header1: React.FC<TypographyProps> = ({\n children,\n className = \"\",\n theme,\n ...props\n}) => {\n const typographyStyles = theme?.typography?.header1;\n const classes = cn(\n // Base styles\n \"scroll-m-20 text-4xl font-bold tracking-tight\",\n // Theme overrides\n typographyStyles?.fontFamily,\n typographyStyles?.fontSize,\n typographyStyles?.fontWeight,\n typographyStyles?.lineHeight,\n typographyStyles?.letterSpacing,\n typographyStyles?.textTransform,\n typographyStyles?.textDecoration,\n typographyStyles?.textOverflow,\n className,\n );\n\n return (\n <h1 className={classes} {...props}>\n {children}\n </h1>\n );\n};\n","import React from \"react\";\nimport { TypographyProps } from \"./typography\";\nimport { cn } from \"./lib/utils\";\n\nexport const Header2: React.FC<TypographyProps> = ({\n children,\n className = \"\",\n theme,\n ...props\n}) => {\n const typographyStyles = theme?.typography?.header2;\n const classes = cn(\n // Base styles\n \"scroll-m-20 text-3xl font-bold tracking-tight\",\n // Theme overrides\n typographyStyles?.fontFamily,\n typographyStyles?.fontSize,\n typographyStyles?.fontWeight,\n typographyStyles?.lineHeight,\n typographyStyles?.letterSpacing,\n typographyStyles?.textTransform,\n typographyStyles?.textDecoration,\n typographyStyles?.textOverflow,\n className,\n );\n\n return (\n <h2 className={classes} {...props}>\n {children}\n </h2>\n );\n};\n","import React from \"react\";\nimport { TypographyProps } from \"./typography\";\nimport { cn } from \"./lib/utils\";\n\nexport const Header3: React.FC<TypographyProps> = ({\n children,\n className = \"\",\n theme,\n ...props\n}) => {\n const typographyStyles = theme?.typography?.header3;\n const classes = cn(\n // Base styles\n \"scroll-m-20 text-2xl font-semibold tracking-normal\",\n // Theme overrides\n typographyStyles?.fontFamily,\n typographyStyles?.fontSize,\n typographyStyles?.fontWeight,\n typographyStyles?.lineHeight,\n typographyStyles?.letterSpacing,\n typographyStyles?.textTransform,\n typographyStyles?.textDecoration,\n typographyStyles?.textOverflow,\n className,\n );\n\n return (\n <h3 className={classes} {...props}>\n {children}\n </h3>\n );\n};\n","import React from \"react\";\nimport { TypographyProps } from \"./typography\";\nimport { cn } from \"./lib/utils\";\n\nexport const Header4: React.FC<TypographyProps> = ({\n children,\n className = \"\",\n theme,\n ...props\n}) => {\n const typographyStyles = theme?.typography?.header4;\n const classes = cn(\n // Base styles\n \"scroll-m-20 text-xl font-semibold tracking-normal\",\n // Theme overrides\n typographyStyles?.fontFamily,\n typographyStyles?.fontSize,\n typographyStyles?.fontWeight,\n typographyStyles?.lineHeight,\n typographyStyles?.letterSpacing,\n typographyStyles?.textTransform,\n typographyStyles?.textDecoration,\n typographyStyles?.textOverflow,\n className,\n );\n\n return (\n <h4 className={classes} {...props}>\n {children}\n </h4>\n );\n};\n","import React from \"react\";\nimport { TypographyProps } from \"./typography\";\nimport { cn } from \"./lib/utils\";\n\nexport const Subheader1: React.FC<\n TypographyProps & { component?: \"h5\" | \"span\" }\n> = ({ children, className = \"\", theme, component = \"h5\", ...props }) => {\n const typographyStyles = theme?.typography?.subheader1;\n const classes = cn(\n typographyStyles?.fontFamily || \"font-sans\",\n typographyStyles?.fontSize || \"text-lg\",\n typographyStyles?.fontWeight || \"font-medium\",\n typographyStyles?.lineHeight || \"leading-relaxed\",\n typographyStyles?.letterSpacing || \"tracking-normal\",\n typographyStyles?.textTransform,\n typographyStyles?.textDecoration,\n typographyStyles?.textOverflow,\n className,\n );\n\n return component === \"h5\" ? (\n <h5 className={classes} {...props}>\n {children}\n </h5>\n ) : (\n <span className={classes} {...props}>\n {children}\n </span>\n );\n};\n","import React from \"react\";\nimport { TypographyProps } from \"./typography\";\n\nexport const Subheader2: React.FC<TypographyProps> = ({\n children,\n className = \"\",\n theme,\n ...props\n}) => {\n const typographyStyles = theme?.typography?.subheader2;\n const classes = [\n typographyStyles?.fontFamily || \"font-sans\",\n typographyStyles?.fontSize || \"text-base\",\n typographyStyles?.fontWeight || \"font-medium\",\n typographyStyles?.lineHeight || \"leading-relaxed\",\n typographyStyles?.letterSpacing || \"tracking-normal\",\n typographyStyles?.textTransform,\n typographyStyles?.textDecoration,\n typographyStyles?.textOverflow,\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <h6 className={classes} {...props}>\n {children}\n </h6>\n );\n};\n","import React from \"react\";\nimport { TypographyProps } from \"./typography\";\nimport { cn } from \"./lib/utils\";\n\nexport const Text1: React.FC<\n TypographyProps & { component?: \"p\" | \"span\" }\n> = ({ children, className = \"\", theme, component = \"p\", ...props }) => {\n const typographyStyles = theme?.typography?.text1;\n const classes = cn(\n // Base styles\n \"text-base\",\n // Theme overrides\n typographyStyles?.fontFamily,\n typographyStyles?.fontSize,\n typographyStyles?.fontWeight,\n typographyStyles?.lineHeight,\n typographyStyles?.letterSpacing,\n typographyStyles?.textTransform,\n typographyStyles?.textDecoration,\n typographyStyles?.textOverflow,\n className,\n );\n\n return component === \"p\" ? (\n <p className={classes} {...props}>\n {children}\n </p>\n ) : (\n <span className={classes} {...props}>\n {children}\n </span>\n );\n};\n","import React from \"react\";\nimport { TypographyProps } from \"./typography\";\nimport { cn } from \"./lib/utils\";\n\nexport const Text2: React.FC<\n TypographyProps & { component?: \"p\" | \"span\" }\n> = ({ children, className = \"\", theme, component = \"p\", ...props }) => {\n const typographyStyles = theme?.typography?.text2;\n const classes = cn(\n // Base styles\n \"text-sm\",\n // Theme overrides\n typographyStyles?.fontFamily,\n typographyStyles?.fontSize,\n typographyStyles?.fontWeight,\n typographyStyles?.lineHeight,\n typographyStyles?.letterSpacing,\n typographyStyles?.textTransform,\n typographyStyles?.textDecoration,\n typographyStyles?.textOverflow,\n className,\n );\n\n return component === \"p\" ? (\n <p className={classes} {...props}>\n {children}\n </p>\n ) : (\n <span className={classes} {...props}>\n {children}\n </span>\n );\n};\n","import React from \"react\";\nimport { cn } from \"./lib/utils\";\nimport type { ThemeStyle } from \"../models\";\n\nexport interface LinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n children: React.ReactNode;\n className?: string;\n theme?: ThemeStyle;\n disabled?: boolean;\n style?: React.CSSProperties;\n}\n\nexport const Link: React.FC<LinkProps> = ({\n children,\n className = \"\",\n theme,\n disabled = false,\n style,\n ...props\n}) => {\n const typographyStyles = theme?.typography?.link;\n const linkStyles = theme?.interactives?.link;\n const classes = cn(\n // Base styles\n \"font-medium cursor-pointer\",\n // Theme typography\n typographyStyles?.fontFamily,\n typographyStyles?.fontSize,\n typographyStyles?.fontWeight,\n typographyStyles?.lineHeight,\n typographyStyles?.letterSpacing,\n typographyStyles?.textTransform,\n typographyStyles?.textDecoration,\n typographyStyles?.textOverflow,\n // Theme interactivity\n linkStyles?.padding?.x,\n linkStyles?.padding?.y,\n linkStyles?.border?.width,\n linkStyles?.border?.radius,\n linkStyles?.border?.style,\n // Theme disabled states\n disabled && linkStyles?.disabled?.color,\n disabled && linkStyles?.disabled?.background,\n disabled && linkStyles?.disabled?.border,\n disabled && linkStyles?.disabled?.opacity,\n disabled && linkStyles?.disabled?.cursor,\n // User overrides\n linkStyles?.custom,\n className,\n );\n\n return (\n <span\n className={classes}\n style={{\n ...style,\n textShadow: linkStyles?.textShadow || undefined,\n }}\n {...props}\n >\n {children}\n </span>\n );\n};\n","import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline:\n \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"h-10 w-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nexport interface ButtonProps\n extends\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\";\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n {...props}\n />\n );\n },\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","import React from \"react\";\nimport {\n Button as ShadcnButton,\n type ButtonProps as ShadcnButtonProps,\n} from \"./components/ui/button\";\nimport { cn } from \"./lib/utils\";\nimport type { ThemeStyle } from \"../models\";\n\nexport interface ButtonProps extends ShadcnButtonProps {\n theme?: ThemeStyle;\n}\n\nexport const Button: React.FC<ButtonProps> = ({\n variant = \"default\",\n size = \"default\",\n disabled = false,\n children,\n className = \"\",\n theme,\n ...props\n}) => {\n const buttonStyles = theme?.interactives?.button;\n const typographyStyles = theme?.typography?.button;\n const isIcon = size === \"icon\";\n\n const classes = cn(\n // Base styles\n \"\",\n // Theme typography\n typographyStyles?.fontFamily,\n typographyStyles?.fontSize,\n typographyStyles?.fontWeight,\n typographyStyles?.lineHeight,\n typographyStyles?.letterSpacing,\n typographyStyles?.textTransform,\n typographyStyles?.textDecoration,\n typographyStyles?.textOverflow,\n // Theme interactivity. Icon buttons stay square — CTA padding\n // would stretch them off the size=\"icon\" box.\n !isIcon && buttonStyles?.padding?.x,\n !isIcon && buttonStyles?.padding?.y,\n buttonStyles?.border?.width,\n buttonStyles?.border?.radius,\n buttonStyles?.border?.style,\n // buttonStyles?.border?.color,\n buttonStyles?.shadow,\n // Theme disabled states\n disabled && buttonStyles?.disabled?.opacity,\n disabled && buttonStyles?.disabled?.cursor,\n disabled && buttonStyles?.disabled?.color,\n disabled && buttonStyles?.disabled?.background,\n disabled && buttonStyles?.disabled?.border,\n // User overrides\n buttonStyles?.custom,\n className,\n );\n\n return (\n <ShadcnButton\n variant={variant}\n size={size}\n disabled={disabled}\n className={classes}\n {...props}\n >\n {children}\n </ShadcnButton>\n );\n};\n","import * as React from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Input = React.forwardRef<HTMLInputElement, React.ComponentProps<\"input\">>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n },\n);\nInput.displayName = \"Input\";\n\nexport { Input };\n","import React from \"react\";\nimport { Input as ShadcnInput } from \"./components/ui/input\";\nimport { cn } from \"./lib/utils\";\nimport type { ThemeStyle } from \"../models\";\n\nexport interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {\n theme?: ThemeStyle;\n error?: boolean;\n // style?: React.CSSProperties;\n}\n\nexport const Input = React.forwardRef<HTMLInputElement, InputProps>(\n (\n { className = \"\", theme, error = false, /*style = {},*/ ...props },\n ref,\n ) => {\n const inputStyles = theme?.interactives?.input;\n const typographyStyles = theme?.typography?.input;\n\n const classes = cn(\n // Base styles\n // \"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n // Theme typography\n typographyStyles?.fontFamily,\n typographyStyles?.fontSize,\n typographyStyles?.fontWeight,\n typographyStyles?.lineHeight,\n typographyStyles?.letterSpacing,\n typographyStyles?.textTransform,\n typographyStyles?.textDecoration,\n typographyStyles?.textOverflow,\n // Theme interactivity\n inputStyles?.padding?.x,\n inputStyles?.padding?.y,\n inputStyles?.border?.width,\n inputStyles?.border?.style,\n inputStyles?.border?.radius,\n // inputStyles?.border?.color,\n inputStyles?.shadow,\n // Theme disabled states\n props.disabled && inputStyles?.disabled?.opacity,\n props.disabled && inputStyles?.disabled?.cursor,\n props.disabled && inputStyles?.disabled?.color,\n props.disabled && inputStyles?.disabled?.background,\n props.disabled && inputStyles?.disabled?.border,\n // Error state\n error && \"border-red-300 focus:border-red-500 focus:ring-red-500\",\n // User overrides\n inputStyles?.custom,\n className,\n );\n\n return <ShadcnInput ref={ref} className={classes} {...props} />;\n },\n);\n\nInput.displayName = \"Input\";\n","import React from \"react\";\nimport { cn } from \"./lib/utils\";\nimport type { ThemeStyle } from \"../models\";\n\nexport interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {\n theme?: ThemeStyle;\n error?: boolean;\n}\n\nexport const Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className = \"\", theme, error = false, ...props }, ref) => {\n const inputStyles = theme?.interactives?.input;\n const typographyStyles = theme?.typography?.input;\n const classes = cn(\n \"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm outline-none placeholder:text-muted-foreground focus-visible:ring-2 focus-visible:ring-ring/30 disabled:cursor-not-allowed disabled:opacity-50\",\n typographyStyles?.fontFamily,\n typographyStyles?.fontSize,\n typographyStyles?.fontWeight,\n typographyStyles?.lineHeight,\n typographyStyles?.letterSpacing,\n inputStyles?.padding?.x,\n inputStyles?.padding?.y,\n inputStyles?.border?.width,\n inputStyles?.border?.style,\n inputStyles?.border?.radius,\n inputStyles?.shadow,\n props.disabled && inputStyles?.disabled?.opacity,\n props.disabled && inputStyles?.disabled?.cursor,\n error && \"border-red-300 focus:border-red-500 focus:ring-red-500\",\n inputStyles?.custom,\n className,\n );\n\n return <textarea ref={ref} className={classes} {...props} />;\n },\n);\n\nTextarea.displayName = \"Textarea\";\n","import React from \"react\";\nimport { TypographyProps } from \"./typography\";\nimport { cn } from \"./lib/utils\";\n\nexport const Caption: React.FC<TypographyProps> = ({\n children,\n className = \"\",\n theme,\n ...props\n}) => {\n const typographyStyles = theme?.typography?.caption;\n const classes = cn(\n // Base styles\n \"text-xs leading-7 text-muted-foreground\",\n // Theme overrides\n typographyStyles?.fontFamily,\n typographyStyles?.fontSize,\n typographyStyles?.fontWeight,\n typographyStyles?.lineHeight,\n typographyStyles?.letterSpacing,\n typographyStyles?.textTransform,\n typographyStyles?.textDecoration,\n typographyStyles?.textOverflow,\n className,\n );\n\n return (\n <span className={classes} {...props}>\n {children}\n </span>\n );\n};\n","import React from \"react\";\nimport { cn } from \"./lib/utils\";\nimport { Header4 } from \"./header4\";\nimport type { ThemeStyle } from \"../models\";\n\nexport interface PageCardProps extends React.HTMLAttributes<HTMLDivElement> {\n isLink?: boolean;\n children: React.ReactNode;\n className?: string;\n theme?: ThemeStyle;\n}\n\nexport interface PageCardImageProps extends React.ImgHTMLAttributes<HTMLImageElement> {\n src: string;\n alt: string;\n className?: string;\n theme?: ThemeStyle;\n}\n\nexport interface PageCardContentProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n className?: string;\n theme?: ThemeStyle;\n}\n\nexport interface PageCardHeaderProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode;\n className?: string;\n theme?: ThemeStyle;\n}\n\nexport const PageCard: React.FC<PageCardProps> = ({\n isLink,\n children,\n className = \"\",\n theme,\n ...props\n}) => {\n const cardStyles = theme?.interactives?.card;\n const classes = cn(\n // Base styles\n \"bg-card text-card-foreground\",\n // Theme interactivity\n cardStyles?.border?.width,\n cardStyles?.border?.radius,\n cardStyles?.border?.style,\n cardStyles?.shadow,\n isLink ? \"cursor-pointer\" : \"\",\n // User overrides\n cardStyles?.custom,\n className,\n );\n\n return (\n <div className={classes} {...props}>\n {children}\n </div>\n );\n};\n\nexport const PageCardImage: React.FC<PageCardImageProps> = ({\n src,\n alt,\n className = \"\",\n theme,\n ...props\n}) => {\n // const cardStyles = theme?.interactives?.card;\n const classes = cn(\n // Base styles\n \"w-full\",\n className,\n );\n\n return <img src={src} alt={alt} className={classes} {...props} />;\n};\n\nexport const PageCardContent: React.FC<PageCardContentProps> = ({\n children,\n className = \"\",\n theme,\n ...props\n}) => {\n const cardStyles = theme?.interactives?.card;\n const classes = cn(\n // Base styles\n \"p-4\",\n // Theme interactivity\n cardStyles?.padding?.x,\n cardStyles?.padding?.y,\n className,\n );\n\n return (\n <div className={classes} {...props}>\n {children}\n </div>\n );\n};\n\nexport const PageCardHeader: React.FC<PageCardHeaderProps> = ({\n children,\n className = \"\",\n theme,\n ...props\n}) => {\n const classes = cn(\n // Base styles\n \"pb-4\",\n className,\n );\n\n return (\n <div className={classes} {...props}>\n <Header4 theme={theme}>{children}</Header4>\n </div>\n );\n};\n","import * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\n);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","import React from \"react\";\nimport { Label as ShadcnLabel } from \"./components/ui/label\";\nimport { cn } from \"./lib/utils\";\nimport type { ThemeStyle } from \"../models\";\n\nexport interface LabelProps extends React.LabelHTMLAttributes<HTMLLabelElement> {\n theme?: ThemeStyle;\n error?: boolean;\n}\n\nexport const Label = React.forwardRef<HTMLLabelElement, LabelProps>(\n ({ className = \"\", theme, error = false, ...props }, ref) => {\n const typographyStyles = theme?.typography?.text2;\n\n const classes = cn(\n // Theme typography\n typographyStyles?.fontFamily,\n typographyStyles?.fontSize,\n typographyStyles?.fontWeight,\n typographyStyles?.lineHeight,\n typographyStyles?.letterSpacing,\n typographyStyles?.textTransform,\n typographyStyles?.textDecoration,\n typographyStyles?.textOverflow,\n // Error state\n error && \"text-red-500\",\n className,\n );\n\n return <ShadcnLabel ref={ref} className={classes} {...props} />;\n },\n);\n\nLabel.displayName = \"Label\";\n","import React from \"react\";\nimport { cn } from \"./lib/utils\";\nimport type { SectionBackground, ThemeStyle } from \"../models\";\n\ninterface SectionProps extends React.HTMLAttributes<HTMLElement> {\n children: React.ReactNode;\n className?: string;\n theme?: ThemeStyle;\n component?: \"header\" | \"footer\" | \"section\";\n background?: SectionBackground;\n nextTheme?: \"dark\" | \"light\";\n}\n\nfunction resolveBackgroundLayerStyle(\n background: SectionBackground,\n nextTheme?: \"dark\" | \"light\",\n): React.CSSProperties {\n const isDark = nextTheme === \"dark\";\n const attachment = background.backgroundAttachment || \"scroll\";\n\n if (background.type === \"color\") {\n return {\n backgroundColor: isDark\n ? background.backgroundColorDark || background.backgroundColor\n : background.backgroundColor,\n };\n }\n\n if (background.type === \"image\") {\n return {\n backgroundImage: background.media?.file\n ? `url(${background.media.file})`\n : undefined,\n backgroundSize: background.backgroundSize || \"cover\",\n backgroundPosition: background.backgroundPosition || \"center\",\n backgroundRepeat: background.backgroundRepeat || \"no-repeat\",\n backgroundAttachment: attachment,\n maskImage: background.maskImage,\n WebkitMaskImage: background.maskImage,\n };\n }\n\n // Pattern / gradient\n return {\n backgroundImage: isDark\n ? background.backgroundImageDark || background.backgroundImage\n : background.backgroundImage,\n backgroundSize: background.gradientBackgroundSize || \"cover\",\n backgroundPosition: background.gradientBackgroundPosition || \"center\",\n backgroundRepeat: background.gradientBackgroundRepeat || \"no-repeat\",\n backgroundAttachment: attachment,\n maskImage: background.gradientMaskImage,\n WebkitMaskImage: background.gradientMaskImage,\n };\n}\n\nexport const Section: React.FC<SectionProps> = ({\n children,\n className = \"\",\n theme,\n background,\n nextTheme,\n component = \"section\",\n ...props\n}) => {\n const classes = cn(\"bg-background text-foreground relative\", className);\n const isFixed =\n background &&\n background.type !== \"color\" &&\n background.backgroundAttachment === \"fixed\";\n\n return (\n <>\n {React.createElement(\n component as React.ElementType,\n {\n // `overflow-clip` keeps a fixed-attachment layer painted\n // only within the section bounds without creating a new\n // scroll container (unlike overflow-hidden in some cases).\n className: cn(classes, isFixed && \"overflow-clip\"),\n ...props,\n },\n <>\n {background && (\n <div\n suppressHydrationWarning\n aria-hidden\n className=\"pointer-events-none absolute inset-0 z-0\"\n style={resolveBackgroundLayerStyle(\n background,\n nextTheme,\n )}\n />\n )}\n {background && background.type === \"image\" && (\n <div\n aria-hidden\n className=\"pointer-events-none absolute inset-0 z-[1]\"\n style={{\n backgroundColor:\n nextTheme === \"dark\"\n ? background?.overlay?.colorDark ||\n background?.overlay?.color\n : background?.overlay?.color,\n opacity: background?.overlay?.opacity\n ? background.overlay.opacity / 10\n : 0,\n mixBlendMode: background?.overlay?.blendMode,\n }}\n />\n )}\n {background && background.type === \"image\" && (\n <div\n aria-hidden\n className=\"pointer-events-none absolute inset-0 z-[2]\"\n style={{\n backdropFilter: background?.blur\n ? `blur(${background?.blur}px)`\n : undefined,\n }}\n />\n )}\n <div\n className={cn(\n \"mx-auto z-[3] relative overflow-hidden\",\n `lg:${theme?.structure?.page?.width || \"max-w-6xl\"}`,\n theme?.structure?.section?.padding?.x || \"px-4\",\n theme?.structure?.section?.padding?.y || \"py-4\",\n )}\n >\n {children}\n </div>\n </>,\n )}\n </>\n );\n};\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst badgeVariants = cva(\n \"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground hover:bg-primary/80\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n destructive:\n \"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80\",\n outline: \"text-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nexport interface BadgeProps\n extends\n React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return (\n <div className={cn(badgeVariants({ variant }), className)} {...props} />\n );\n}\n\nexport { Badge, badgeVariants };\n","import React from \"react\";\nimport {\n Badge as ShadcnBadge,\n type BadgeProps as ShadcnBadgeProps,\n} from \"./components/ui/badge\";\nimport { cn } from \"./lib/utils\";\nimport type { ThemeStyle } from \"../models\";\n\nexport interface BadgeProps extends Omit<ShadcnBadgeProps, \"variant\"> {\n theme?: ThemeStyle;\n style?: Record<string, string>;\n variant?: \"default\" | \"secondary\" | \"destructive\" | \"outline\";\n}\n\nexport const Badge: React.FC<BadgeProps> = ({\n variant = \"default\",\n children,\n className = \"\",\n style = {},\n theme,\n ...props\n}) => {\n const typographyStyles = theme?.typography?.caption;\n const buttonStyles = theme?.interactives?.button;\n\n const classes = cn(\n // Base styles\n // \"bg-secondary\",\n // Theme typography from caption\n typographyStyles?.fontFamily,\n typographyStyles?.fontSize,\n typographyStyles?.fontWeight,\n typographyStyles?.lineHeight,\n typographyStyles?.letterSpacing,\n typographyStyles?.textTransform,\n buttonStyles?.border?.width,\n buttonStyles?.border?.radius,\n buttonStyles?.border?.style,\n className,\n );\n\n return (\n <ShadcnBadge\n variant={variant}\n className={classes}\n style={{\n ...style,\n backgroundColor: style.backgroundColor,\n color: style.color,\n }}\n {...props}\n >\n {children}\n </ShadcnBadge>\n );\n};\n","import * as React from \"react\";\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>\n>(({ className, ...props }, ref) => (\n <SwitchPrimitives.Root\n className={cn(\n \"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input\",\n className,\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n \"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0\",\n )}\n />\n </SwitchPrimitives.Root>\n));\nSwitch.displayName = SwitchPrimitives.Root.displayName;\n\nexport { Switch };\n","import React from \"react\";\nimport { Switch as ShadcnSwitch } from \"./components/ui/switch\";\nimport { cn } from \"./lib/utils\";\nimport type { ThemeStyle } from \"../models\";\n\nexport interface SwitchProps extends React.ComponentPropsWithoutRef<\n typeof ShadcnSwitch\n> {\n theme?: ThemeStyle;\n}\n\nexport const Switch = React.forwardRef<\n React.ElementRef<typeof ShadcnSwitch>,\n SwitchProps\n>(({ className = \"\", theme, ...props }, ref) => {\n const classes = cn(\n // Base styles\n \"\",\n // User overrides\n className,\n );\n\n return <ShadcnSwitch ref={ref} className={classes} {...props} />;\n});\n","import { Theme, ThemeStyle } from \"../../models\";\n\nconst themeStyles: ThemeStyle = {\n colors: {\n light: {\n background: \"#f7f7f5\",\n foreground: \"#18181b\",\n card: \"#ffffff\",\n cardForeground: \"#18181b\",\n popover: \"#ffffff\",\n popoverForeground: \"#18181b\",\n primary: \"#18181b\",\n primaryForeground: \"#fafafa\",\n secondary: \"#eeeee8\",\n secondaryForeground: \"#18181b\",\n muted: \"#f0efe9\",\n mutedForeground: \"#52525b\",\n accent: \"#eeeee8\",\n accentForeground: \"#18181b\",\n destructive: \"#e11d48\",\n border: \"#e4e4de\",\n input: \"#e4e4de\",\n ring: \"#18181b\",\n chart1: \"#18181b\",\n chart2: \"#71717a\",\n chart3: \"#a1a1aa\",\n chart4: \"#d4d4d8\",\n chart5: \"#e4e4e7\",\n sidebar: \"#f7f7f5\",\n sidebarForeground: \"#18181b\",\n sidebarPrimary: \"#18181b\",\n sidebarPrimaryForeground: \"#fafafa\",\n sidebarAccent: \"#eeeee8\",\n sidebarAccentForeground: \"#18181b\",\n sidebarBorder: \"#e4e4de\",\n sidebarRing: \"#18181b\",\n shadow2xs: \"0 1px 2px 0 rgb(24 24 27 / 0.04)\",\n shadowXs: \"0 1px 2px 0 rgb(24 24 27 / 0.05)\",\n shadowSm:\n \"0 1px 2px 0 rgb(24 24 27 / 0.05), 0 1px 3px -1px rgb(24 24 27 / 0.08)\",\n shadowMd:\n \"0 2px 4px -1px rgb(24 24 27 / 0.06), 0 4px 8px -2px rgb(24 24 27 / 0.08)\",\n shadowLg:\n \"0 8px 16px -4px rgb(24 24 27 / 0.08), 0 4px 6px -2px rgb(24 24 27 / 0.04)\",\n shadowXl: \"0 16px 32px -8px rgb(24 24 27 / 0.12)\",\n shadow2xl: \"0 24px 48px -12px rgb(24 24 27 / 0.18)\",\n },\n dark: {\n background: \"#09090b\",\n foreground: \"#fafafa\",\n card: \"#141416\",\n cardForeground: \"#fafafa\",\n popover: \"#18181b\",\n popoverForeground: \"#fafafa\",\n primary: \"#fafafa\",\n primaryForeground: \"#09090b\",\n secondary: \"#27272a\",\n secondaryForeground: \"#fafafa\",\n muted: \"#1c1c1f\",\n mutedForeground: \"#a1a1aa\",\n accent: \"#27272a\",\n accentForeground: \"#fafafa\",\n destructive: \"#fb7185\",\n border: \"#27272a\",\n input: \"#27272a\",\n ring: \"#d4d4d8\",\n chart1: \"#fafafa\",\n chart2: \"#a1a1aa\",\n chart3: \"#71717a\",\n chart4: \"#52525b\",\n chart5: \"#3f3f46\",\n sidebar: \"#141416\",\n sidebarForeground: \"#fafafa\",\n sidebarPrimary: \"#fafafa\",\n sidebarPrimaryForeground: \"#09090b\",\n sidebarAccent: \"#27272a\",\n sidebarAccentForeground: \"#fafafa\",\n sidebarBorder: \"#27272a\",\n sidebarRing: \"#d4d4d8\",\n shadow2xs: \"0 1px 2px 0 rgb(0 0 0 / 0.24)\",\n shadowXs: \"0 1px 2px 0 rgb(0 0 0 / 0.28)\",\n shadowSm:\n \"0 1px 2px 0 rgb(0 0 0 / 0.32), 0 1px 3px -1px rgb(0 0 0 / 0.4)\",\n shadowMd:\n \"0 4px 8px -2px rgb(0 0 0 / 0.4), 0 2px 4px -1px rgb(0 0 0 / 0.28)\",\n shadowLg: \"0 12px 24px -6px rgb(0 0 0 / 0.5)\",\n shadowXl: \"0 20px 40px -8px rgb(0 0 0 / 0.55)\",\n shadow2xl: \"0 32px 64px -12px rgb(0 0 0 / 0.65)\",\n },\n },\n typography: {\n preheader: {\n fontFamily: \"font-inter\",\n fontSize: \"text-xs\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-normal\",\n letterSpacing: \"tracking-widest\",\n textTransform: \"uppercase\",\n },\n header1: {\n fontFamily: \"font-inter\",\n fontSize: \"text-5xl\",\n fontWeight: \"font-semibold\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tighter\",\n },\n header2: {\n fontFamily: \"font-inter\",\n fontSize: \"text-4xl\",\n fontWeight: \"font-semibold\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tight\",\n },\n header3: {\n fontFamily: \"font-inter\",\n fontSize: \"text-2xl\",\n fontWeight: \"font-semibold\",\n lineHeight: \"leading-snug\",\n letterSpacing: \"tracking-tight\",\n },\n header4: {\n fontFamily: \"font-inter\",\n fontSize: \"text-xl\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-snug\",\n letterSpacing: \"tracking-tight\",\n },\n subheader1: {\n fontFamily: \"font-inter\",\n fontSize: \"text-xl\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n letterSpacing: \"tracking-normal\",\n },\n subheader2: {\n fontFamily: \"font-inter\",\n fontSize: \"text-lg\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n letterSpacing: \"tracking-normal\",\n },\n text1: {\n fontFamily: \"font-inter\",\n fontSize: \"text-base\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n letterSpacing: \"tracking-normal\",\n },\n text2: {\n fontFamily: \"font-inter\",\n fontSize: \"text-sm\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n letterSpacing: \"tracking-normal\",\n },\n caption: {\n fontFamily: \"font-inter\",\n fontSize: \"text-xs\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-relaxed\",\n letterSpacing: \"tracking-wide\",\n },\n link: {\n fontFamily: \"font-inter\",\n fontSize: \"text-base\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-relaxed\",\n letterSpacing: \"tracking-normal\",\n textDecoration: \"no-underline\",\n },\n button: {\n fontFamily: \"font-inter\",\n fontSize: \"text-sm\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-normal\",\n letterSpacing: \"tracking-wide\",\n },\n input: {\n fontFamily: \"font-inter\",\n fontSize: \"text-sm\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-normal\",\n letterSpacing: \"tracking-normal\",\n },\n },\n interactives: {\n button: {\n padding: {\n x: \"px-5\",\n y: \"py-3\",\n },\n border: {\n width: \"border-0\",\n radius: \"rounded-xl\",\n },\n shadow: \"shadow-xs\",\n disabled: {\n opacity: \"opacity-50\",\n cursor: \"cursor-not-allowed\",\n },\n custom: \"transition-colors duration-200\",\n },\n link: {\n custom: \"underline-offset-4 hover:underline\",\n disabled: {\n color: \"gray-400\",\n cursor: \"cursor-not-allowed\",\n },\n },\n card: {\n padding: {\n x: \"px-6\",\n y: \"py-6\",\n },\n border: {\n width: \"border\",\n radius: \"rounded-2xl\",\n style: \"border-solid\",\n },\n shadow: \"shadow-xs\",\n custom: \"transition-shadow duration-200 hover:shadow-md\",\n },\n input: {\n borderRadius: \"rounded-xl\",\n padding: {\n x: \"px-4\",\n y: \"py-3\",\n },\n border: {\n width: \"border\",\n style: \"border-solid\",\n radius: \"rounded-xl\",\n },\n shadow: \"shadow-none\",\n custom: \"transition-shadow duration-150 focus-visible:shadow-sm\",\n disabled: {\n opacity: \"opacity-50\",\n cursor: \"cursor-not-allowed\",\n },\n },\n },\n structure: {\n page: {\n width: \"max-w-6xl\",\n },\n section: {\n padding: {\n x: \"px-6\",\n y: \"py-20\",\n },\n },\n },\n};\n\nexport const classic: Theme = {\n id: \"classic\",\n name: \"Classic\",\n theme: themeStyles,\n};\n","import { Theme, ThemeStyle } from \"../../models\";\n\nconst themeStyles: ThemeStyle = {\n colors: {\n light: {\n background: \"#f4f1ea\",\n foreground: \"#1c1917\",\n card: \"#fffcf7\",\n cardForeground: \"#1c1917\",\n popover: \"#fffcf7\",\n popoverForeground: \"#1c1917\",\n primary: \"#0f766e\",\n primaryForeground: \"#f4fffc\",\n secondary: \"#ebe4d6\",\n secondaryForeground: \"#1c1917\",\n muted: \"#ebe6dc\",\n mutedForeground: \"#57534e\",\n accent: \"#d9f3ee\",\n accentForeground: \"#115e59\",\n destructive: \"#dc2626\",\n border: \"#e0d8cc\",\n input: \"#e0d8cc\",\n ring: \"#0f766e\",\n chart1: \"#0f766e\",\n chart2: \"#0d9488\",\n chart3: \"#14b8a6\",\n chart4: \"#5eead4\",\n chart5: \"#ccfbf1\",\n sidebar: \"#fffcf7\",\n sidebarForeground: \"#1c1917\",\n sidebarPrimary: \"#0f766e\",\n sidebarPrimaryForeground: \"#f4fffc\",\n sidebarAccent: \"#ebe4d6\",\n sidebarAccentForeground: \"#1c1917\",\n sidebarBorder: \"#e0d8cc\",\n sidebarRing: \"#0f766e\",\n shadow2xs: \"0 1px 2px 0 rgb(28 25 23 / 0.04)\",\n shadowXs: \"0 1px 2px 0 rgb(28 25 23 / 0.05)\",\n shadowSm:\n \"0 1px 2px 0 rgb(15 118 110 / 0.08), 0 1px 3px -1px rgb(28 25 23 / 0.08)\",\n shadowMd:\n \"0 6px 16px -4px rgb(28 25 23 / 0.1), 0 2px 6px -2px rgb(15 118 110 / 0.08)\",\n shadowLg:\n \"0 16px 32px -8px rgb(28 25 23 / 0.12), 0 6px 12px -4px rgb(15 118 110 / 0.08)\",\n shadowXl: \"0 24px 48px -12px rgb(28 25 23 / 0.16)\",\n shadow2xl: \"0 32px 64px -16px rgb(28 25 23 / 0.22)\",\n },\n dark: {\n background: \"#12100d\",\n foreground: \"#f4efe6\",\n card: \"#1b1814\",\n cardForeground: \"#f4efe6\",\n popover: \"#1b1814\",\n popoverForeground: \"#f4efe6\",\n primary: \"#2dd4bf\",\n primaryForeground: \"#042f2e\",\n secondary: \"#2a241c\",\n secondaryForeground: \"#f4efe6\",\n muted: \"#221e19\",\n mutedForeground: \"#a8a29e\",\n accent: \"#134e4a\",\n accentForeground: \"#ccfbf1\",\n destructive: \"#f87171\",\n border: \"#2e2922\",\n input: \"#2e2922\",\n ring: \"#2dd4bf\",\n chart1: \"#2dd4bf\",\n chart2: \"#5eead4\",\n chart3: \"#99f6e4\",\n chart4: \"#14b8a6\",\n chart5: \"#0f766e\",\n sidebar: \"#1b1814\",\n sidebarForeground: \"#f4efe6\",\n sidebarPrimary: \"#2dd4bf\",\n sidebarPrimaryForeground: \"#042f2e\",\n sidebarAccent: \"#2a241c\",\n sidebarAccentForeground: \"#f4efe6\",\n sidebarBorder: \"#2e2922\",\n sidebarRing: \"#2dd4bf\",\n shadow2xs: \"0 1px 2px 0 rgb(0 0 0 / 0.28)\",\n shadowXs: \"0 1px 2px 0 rgb(0 0 0 / 0.32)\",\n shadowSm:\n \"0 1px 2px 0 rgb(0 0 0 / 0.36), 0 1px 3px -1px rgb(0 0 0 / 0.4)\",\n shadowMd: \"0 8px 20px -6px rgb(0 0 0 / 0.48)\",\n shadowLg: \"0 16px 32px -8px rgb(0 0 0 / 0.52)\",\n shadowXl: \"0 24px 48px -10px rgb(0 0 0 / 0.56)\",\n shadow2xl: \"0 32px 64px -12px rgb(0 0 0 / 0.64)\",\n },\n },\n typography: {\n preheader: {\n fontFamily: \"font-montserrat\",\n fontSize: \"text-xs\",\n fontWeight: \"font-semibold\",\n lineHeight: \"leading-normal\",\n letterSpacing: \"tracking-widest\",\n textTransform: \"uppercase\",\n },\n header1: {\n fontFamily: \"font-montserrat\",\n fontSize: \"text-6xl\",\n fontWeight: \"font-semibold\",\n lineHeight: \"leading-none\",\n letterSpacing: \"tracking-tighter\",\n },\n header2: {\n fontFamily: \"font-montserrat\",\n fontSize: \"text-4xl\",\n fontWeight: \"font-semibold\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tight\",\n },\n header3: {\n fontFamily: \"font-montserrat\",\n fontSize: \"text-2xl\",\n fontWeight: \"font-semibold\",\n lineHeight: \"leading-snug\",\n letterSpacing: \"tracking-tight\",\n },\n header4: {\n fontFamily: \"font-montserrat\",\n fontSize: \"text-xl\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-snug\",\n },\n subheader1: {\n fontFamily: \"font-source-sans-3\",\n fontSize: \"text-xl\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n subheader2: {\n fontFamily: \"font-source-sans-3\",\n fontSize: \"text-lg\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n text1: {\n fontFamily: \"font-source-sans-3\",\n fontSize: \"text-base\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n text2: {\n fontFamily: \"font-source-sans-3\",\n fontSize: \"text-sm\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n link: {\n fontFamily: \"font-source-sans-3\",\n fontSize: \"text-base\",\n fontWeight: \"font-medium\",\n },\n button: {\n fontFamily: \"font-montserrat\",\n fontSize: \"text-sm\",\n fontWeight: \"font-medium\",\n letterSpacing: \"tracking-wide\",\n },\n input: {\n fontFamily: \"font-source-sans-3\",\n fontSize: \"text-base\",\n fontWeight: \"font-normal\",\n },\n caption: {\n fontFamily: \"font-source-sans-3\",\n fontSize: \"text-xs\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-normal\",\n letterSpacing: \"tracking-wide\",\n },\n },\n interactives: {\n button: {\n padding: { x: \"px-6\", y: \"py-3\" },\n border: {\n width: \"border-0\",\n radius: \"rounded-2xl\",\n },\n shadow: \"shadow-xs\",\n custom: \"transition-colors duration-200\",\n disabled: {\n opacity: \"opacity-50\",\n cursor: \"cursor-not-allowed\",\n },\n },\n link: {\n padding: { x: \"px-0\", y: \"py-0\" },\n custom: \"underline-offset-4 transition-colors duration-150 hover:underline\",\n },\n card: {\n padding: { x: \"px-8\", y: \"py-8\" },\n border: {\n width: \"border\",\n radius: \"rounded-3xl\",\n style: \"border-solid\",\n },\n shadow: \"shadow-xs\",\n custom: \"transition-shadow duration-200 hover:shadow-lg\",\n },\n input: {\n borderRadius: \"rounded-2xl\",\n padding: { x: \"px-4\", y: \"py-3\" },\n border: {\n width: \"border\",\n style: \"border-solid\",\n radius: \"rounded-2xl\",\n },\n shadow: \"shadow-none\",\n custom: \"transition-shadow duration-150\",\n disabled: {\n cursor: \"cursor-not-allowed\",\n opacity: \"opacity-50\",\n },\n },\n },\n structure: {\n page: { width: \"max-w-6xl\" },\n section: {\n padding: { x: \"px-6\", y: \"py-24\" },\n },\n },\n};\n\nexport const studio: Theme = {\n id: \"studio\",\n name: \"Studio\",\n theme: themeStyles,\n};\n","import { Theme, ThemeStyle } from \"../../models\";\n\nconst themeStyles: ThemeStyle = {\n colors: {\n light: {\n background: \"#f4f5f7\",\n foreground: \"#1c1f26\",\n card: \"#ffffff\",\n cardForeground: \"#1c1f26\",\n popover: \"#ffffff\",\n popoverForeground: \"#1c1f26\",\n primary: \"#61afef\",\n primaryForeground: \"#0b0d11\",\n secondary: \"#e8eaf0\",\n secondaryForeground: \"#1c1f26\",\n muted: \"#eceef2\",\n mutedForeground: \"#5b6170\",\n accent: \"#d7f1f4\",\n accentForeground: \"#164e63\",\n border: \"#d7dbe3\",\n destructive: \"#e06c75\",\n input: \"#d7dbe3\",\n ring: \"#61afef\",\n chart1: \"#61afef\",\n chart2: \"#818cf8\",\n chart3: \"#56b6c2\",\n chart4: \"#98c379\",\n chart5: \"#e5c07b\",\n sidebar: \"#ffffff\",\n sidebarForeground: \"#1c1f26\",\n sidebarPrimary: \"#61afef\",\n sidebarPrimaryForeground: \"#0b0d11\",\n sidebarAccent: \"#e8eaf0\",\n sidebarAccentForeground: \"#1c1f26\",\n sidebarBorder: \"#d7dbe3\",\n sidebarRing: \"#61afef\",\n shadow2xs: \"0 1px 2px 0 rgb(28 31 38 / 0.05)\",\n shadowXs: \"0 1px 2px 0 rgb(28 31 38 / 0.06)\",\n shadowSm:\n \"0 1px 2px 0 rgb(97 175 239 / 0.12), 0 1px 3px -1px rgb(28 31 38 / 0.08)\",\n shadowMd: \"0 8px 20px -6px rgb(28 31 38 / 0.12)\",\n shadowLg: \"0 16px 32px -8px rgb(28 31 38 / 0.16)\",\n shadowXl: \"0 24px 48px -12px rgb(28 31 38 / 0.2)\",\n shadow2xl: \"0 32px 64px -16px rgb(28 31 38 / 0.24)\",\n },\n dark: {\n background: \"#0c0e12\",\n foreground: \"#e6e8ee\",\n card: \"#14171e\",\n cardForeground: \"#e6e8ee\",\n popover: \"#14171e\",\n popoverForeground: \"#e6e8ee\",\n primary: \"#61afef\",\n primaryForeground: \"#0b0d11\",\n secondary: \"#1d2230\",\n secondaryForeground: \"#e6e8ee\",\n muted: \"#171b24\",\n mutedForeground: \"#9aa3b2\",\n accent: \"#14363c\",\n accentForeground: \"#a5f3fc\",\n border: \"#262b38\",\n destructive: \"#e06c75\",\n input: \"#262b38\",\n ring: \"#61afef\",\n chart1: \"#61afef\",\n chart2: \"#818cf8\",\n chart3: \"#56b6c2\",\n chart4: \"#98c379\",\n chart5: \"#e5c07b\",\n sidebar: \"#14171e\",\n sidebarForeground: \"#e6e8ee\",\n sidebarPrimary: \"#61afef\",\n sidebarPrimaryForeground: \"#0b0d11\",\n sidebarAccent: \"#1d2230\",\n sidebarAccentForeground: \"#e6e8ee\",\n sidebarBorder: \"#262b38\",\n sidebarRing: \"#61afef\",\n shadow2xs: \"0 1px 2px 0 rgb(0 0 0 / 0.35)\",\n shadowXs: \"0 1px 2px 0 rgb(0 0 0 / 0.4)\",\n shadowSm: \"0 2px 6px 0 rgb(0 0 0 / 0.45)\",\n shadowMd: \"0 10px 24px -6px rgb(0 0 0 / 0.55)\",\n shadowLg: \"0 18px 36px -8px rgb(0 0 0 / 0.6)\",\n shadowXl: \"0 28px 52px -12px rgb(0 0 0 / 0.65)\",\n shadow2xl: \"0 36px 72px -16px rgb(0 0 0 / 0.75)\",\n },\n },\n typography: {\n preheader: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-xs\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-normal\",\n letterSpacing: \"tracking-widest\",\n textTransform: \"uppercase\",\n },\n header1: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-5xl\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tighter\",\n },\n header2: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-4xl\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tight\",\n },\n header3: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-2xl\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-snug\",\n },\n header4: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-xl\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-snug\",\n },\n subheader1: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-lg\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n subheader2: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-base\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n text1: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-base\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n text2: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-sm\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n link: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-base\",\n fontWeight: \"font-medium\",\n },\n button: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-sm\",\n fontWeight: \"font-medium\",\n letterSpacing: \"tracking-wide\",\n },\n input: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-base\",\n fontWeight: \"font-normal\",\n },\n caption: {\n fontFamily: \"font-roboto\",\n fontSize: \"text-xs\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-normal\",\n letterSpacing: \"tracking-wide\",\n },\n },\n interactives: {\n button: {\n padding: { x: \"px-5\", y: \"py-3\" },\n border: {\n width: \"border-0\",\n radius: \"rounded-xl\",\n },\n shadow: \"shadow-xs\",\n custom: \"transition-colors duration-200\",\n disabled: {\n opacity: \"opacity-50\",\n cursor: \"cursor-not-allowed\",\n },\n },\n link: {\n padding: { x: \"px-0\", y: \"py-0\" },\n custom: \"underline-offset-4 hover:underline\",\n },\n card: {\n padding: { x: \"px-6\", y: \"py-6\" },\n border: {\n width: \"border\",\n radius: \"rounded-2xl\",\n style: \"border-solid\",\n },\n shadow: \"shadow-xs\",\n custom: \"transition-shadow duration-200 hover:shadow-md\",\n },\n input: {\n padding: { x: \"px-4\", y: \"py-3\" },\n border: {\n width: \"border\",\n radius: \"rounded-xl\",\n style: \"border-solid\",\n },\n shadow: \"shadow-none\",\n custom: \"\",\n disabled: {\n opacity: \"opacity-50\",\n cursor: \"cursor-not-allowed\",\n },\n },\n },\n structure: {\n page: { width: \"max-w-6xl\" },\n section: {\n padding: { x: \"px-6\", y: \"py-16\" },\n },\n },\n};\n\nexport const midnight: Theme = {\n id: \"midnight\",\n name: \"Midnight\",\n theme: themeStyles,\n};\n","import { Theme, ThemeStyle } from \"../../models\";\n\nconst themeStyles: ThemeStyle = {\n colors: {\n light: {\n background: \"#f6f1e8\",\n foreground: \"#1a1612\",\n card: \"#fffaf2\",\n cardForeground: \"#1a1612\",\n popover: \"#fffaf2\",\n popoverForeground: \"#1a1612\",\n primary: \"#1e3a8a\",\n primaryForeground: \"#fffaf2\",\n secondary: \"#c2410c\",\n secondaryForeground: \"#fffaf2\",\n muted: \"#ece4d6\",\n mutedForeground: \"#5c5348\",\n accent: \"#1d4ed8\",\n accentForeground: \"#fffaf2\",\n border: \"#e0d5c4\",\n destructive: \"#b91c1c\",\n input: \"#e0d5c4\",\n ring: \"#1e3a8a\",\n chart1: \"#1e3a8a\",\n chart2: \"#c2410c\",\n chart3: \"#1d4ed8\",\n chart4: \"#b91c1c\",\n chart5: \"#78716c\",\n sidebar: \"#fffaf2\",\n sidebarForeground: \"#1a1612\",\n sidebarPrimary: \"#1e3a8a\",\n sidebarPrimaryForeground: \"#fffaf2\",\n sidebarAccent: \"#ece4d6\",\n sidebarAccentForeground: \"#1a1612\",\n sidebarBorder: \"#e0d5c4\",\n sidebarRing: \"#1e3a8a\",\n shadow2xs: \"0 1px 2px 0 rgb(26 22 18 / 0.05)\",\n shadowXs: \"0 1px 2px 0 rgb(26 22 18 / 0.06)\",\n shadowSm:\n \"0 1px 2px 0 rgb(26 22 18 / 0.06), 0 2px 6px -2px rgb(26 22 18 / 0.1)\",\n shadowMd: \"0 8px 20px -6px rgb(26 22 18 / 0.12)\",\n shadowLg: \"0 16px 32px -10px rgb(26 22 18 / 0.14)\",\n shadowXl: \"0 24px 48px -12px rgb(26 22 18 / 0.16)\",\n shadow2xl: \"0 32px 64px -16px rgb(26 22 18 / 0.2)\",\n },\n dark: {\n background: \"#100e0c\",\n foreground: \"#f6f1e8\",\n card: \"#1b1713\",\n cardForeground: \"#f6f1e8\",\n popover: \"#1b1713\",\n popoverForeground: \"#f6f1e8\",\n primary: \"#93c5fd\",\n primaryForeground: \"#100e0c\",\n secondary: \"#fb923c\",\n secondaryForeground: \"#100e0c\",\n muted: \"#241f19\",\n mutedForeground: \"#c4b8a5\",\n accent: \"#60a5fa\",\n accentForeground: \"#100e0c\",\n border: \"#3a3228\",\n destructive: \"#f87171\",\n input: \"#3a3228\",\n ring: \"#93c5fd\",\n chart1: \"#93c5fd\",\n chart2: \"#fb923c\",\n chart3: \"#60a5fa\",\n chart4: \"#f87171\",\n chart5: \"#a8a29e\",\n sidebar: \"#1b1713\",\n sidebarForeground: \"#f6f1e8\",\n sidebarPrimary: \"#93c5fd\",\n sidebarPrimaryForeground: \"#100e0c\",\n sidebarAccent: \"#241f19\",\n sidebarAccentForeground: \"#f6f1e8\",\n sidebarBorder: \"#3a3228\",\n sidebarRing: \"#93c5fd\",\n shadow2xs: \"0 1px 2px 0 rgb(0 0 0 / 0.3)\",\n shadowXs: \"0 1px 2px 0 rgb(0 0 0 / 0.35)\",\n shadowSm: \"0 2px 6px 0 rgb(0 0 0 / 0.4)\",\n shadowMd: \"0 8px 20px -6px rgb(0 0 0 / 0.5)\",\n shadowLg: \"0 16px 32px -10px rgb(0 0 0 / 0.55)\",\n shadowXl: \"0 24px 48px -12px rgb(0 0 0 / 0.6)\",\n shadow2xl: \"0 32px 64px -16px rgb(0 0 0 / 0.7)\",\n },\n },\n typography: {\n preheader: {\n fontFamily: \"font-work-sans\",\n fontSize: \"text-xs\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-relaxed\",\n letterSpacing: \"tracking-widest\",\n textTransform: \"uppercase\",\n },\n header1: {\n fontFamily: \"font-playfair-display\",\n fontSize: \"text-6xl\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-none\",\n letterSpacing: \"tracking-tighter\",\n },\n header2: {\n fontFamily: \"font-playfair-display\",\n fontSize: \"text-4xl\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tighter\",\n },\n header3: {\n fontFamily: \"font-source-serif-4\",\n fontSize: \"text-3xl\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-snug\",\n letterSpacing: \"tracking-tight\",\n },\n header4: {\n fontFamily: \"font-source-serif-4\",\n fontSize: \"text-2xl\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-snug\",\n letterSpacing: \"tracking-tight\",\n },\n subheader1: {\n fontFamily: \"font-source-serif-4\",\n fontSize: \"text-xl\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n subheader2: {\n fontFamily: \"font-work-sans\",\n fontSize: \"text-lg\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n text1: {\n fontFamily: \"font-source-serif-4\",\n fontSize: \"text-lg\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-loose\",\n },\n text2: {\n fontFamily: \"font-work-sans\",\n fontSize: \"text-sm\",\n fontWeight: \"font-normal\",\n lineHeight: \"leading-relaxed\",\n },\n link: {\n fontFamily: \"font-work-sans\",\n fontSize: \"text-base\",\n fontWeight: \"font-medium\",\n },\n button: {\n fontFamily: \"font-work-sans\",\n fontSize: \"text-sm\",\n fontWeight: \"font-medium\",\n letterSpacing: \"tracking-wide\",\n },\n input: {\n fontFamily: \"font-work-sans\",\n fontSize: \"text-base\",\n fontWeight: \"font-normal\",\n },\n caption: {\n fontFamily: \"font-work-sans\",\n fontSize: \"text-xs\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-normal\",\n letterSpacing: \"tracking-wide\",\n },\n },\n interactives: {\n button: {\n padding: { x: \"px-6\", y: \"py-3\" },\n border: {\n width: \"border-0\",\n radius: \"rounded-full\",\n },\n shadow: \"shadow-none\",\n custom: \"transition-colors duration-200\",\n disabled: {\n opacity: \"opacity-50\",\n cursor: \"cursor-not-allowed\",\n },\n },\n link: {\n padding: { x: \"px-0\", y: \"py-0\" },\n custom: \"underline-offset-4 decoration-1 hover:underline\",\n },\n card: {\n padding: { x: \"px-8\", y: \"py-8\" },\n border: {\n width: \"border-0\",\n radius: \"rounded-none\",\n },\n shadow: \"shadow-none\",\n custom: \"\",\n },\n input: {\n padding: { x: \"px-4\", y: \"py-3\" },\n border: {\n width: \"border\",\n radius: \"rounded-none\",\n style: \"border-solid\",\n },\n shadow: \"shadow-none\",\n custom: \"\",\n disabled: {\n opacity: \"opacity-50\",\n cursor: \"cursor-not-allowed\",\n },\n },\n },\n structure: {\n page: { width: \"max-w-5xl\" },\n section: {\n padding: { x: \"px-6\", y: \"py-24\" },\n },\n },\n};\n\nexport const editorial: Theme = {\n id: \"editorial\",\n name: \"Editorial\",\n theme: themeStyles,\n};\n","import { Theme, ThemeStyle } from \"../../models\";\n\nconst themeStyles: ThemeStyle = {\n colors: {\n light: {\n background: \"#f3fff9\",\n foreground: \"#050505\",\n card: \"#ffffff\",\n cardForeground: \"#050505\",\n popover: \"#ffffff\",\n popoverForeground: \"#050505\",\n primary: \"#ffe600\",\n primaryForeground: \"#050505\",\n secondary: \"#7df9ff\",\n secondaryForeground: \"#050505\",\n muted: \"#e7fff4\",\n mutedForeground: \"#3f3f46\",\n accent: \"#2ff2f2\",\n accentForeground: \"#050505\",\n border: \"#050505\",\n destructive: \"#ff4911\",\n input: \"#050505\",\n ring: \"#050505\",\n chart1: \"#ffe600\",\n chart2: \"#7df9ff\",\n chart3: \"#2ff2f2\",\n chart4: \"#ff4911\",\n chart5: \"#6fffd7\",\n sidebar: \"#ffffff\",\n sidebarForeground: \"#050505\",\n sidebarPrimary: \"#ffe600\",\n sidebarPrimaryForeground: \"#050505\",\n sidebarAccent: \"#2ff2f2\",\n sidebarAccentForeground: \"#050505\",\n sidebarBorder: \"#050505\",\n sidebarRing: \"#050505\",\n shadow2xs: \"2px 2px 0 0 #050505\",\n shadowXs: \"3px 3px 0 0 #050505\",\n shadowSm: \"4px 4px 0 0 #050505\",\n shadowMd: \"6px 6px 0 0 #050505\",\n shadowLg: \"8px 8px 0 0 #050505\",\n shadowXl: \"10px 10px 0 0 #050505\",\n shadow2xl: \"14px 14px 0 0 #050505\",\n },\n dark: {\n background: \"#050505\",\n foreground: \"#6fffd7\",\n card: \"#0a0a0a\",\n cardForeground: \"#6fffd7\",\n popover: \"#0a0a0a\",\n popoverForeground: \"#6fffd7\",\n primary: \"#ffe600\",\n primaryForeground: \"#050505\",\n secondary: \"#7df9ff\",\n secondaryForeground: \"#050505\",\n muted: \"#141414\",\n mutedForeground: \"#a1a1aa\",\n accent: \"#2ff2f2\",\n accentForeground: \"#050505\",\n border: \"#6fffd7\",\n destructive: \"#ff4911\",\n input: \"#6fffd7\",\n ring: \"#6fffd7\",\n chart1: \"#ffe600\",\n chart2: \"#7df9ff\",\n chart3: \"#2ff2f2\",\n chart4: \"#ff4911\",\n chart5: \"#6fffd7\",\n sidebar: \"#050505\",\n sidebarForeground: \"#6fffd7\",\n sidebarPrimary: \"#ffe600\",\n sidebarPrimaryForeground: \"#050505\",\n sidebarAccent: \"#2ff2f2\",\n sidebarAccentForeground: \"#050505\",\n sidebarBorder: \"#6fffd7\",\n sidebarRing: \"#6fffd7\",\n shadow2xs: \"2px 2px 0 0 #6fffd7\",\n shadowXs: \"3px 3px 0 0 #6fffd7\",\n shadowSm: \"4px 4px 0 0 #6fffd7\",\n shadowMd: \"6px 6px 0 0 #6fffd7\",\n shadowLg: \"8px 8px 0 0 #6fffd7\",\n shadowXl: \"10px 10px 0 0 #6fffd7\",\n shadow2xl: \"14px 14px 0 0 #6fffd7\",\n },\n },\n typography: {\n preheader: {\n fontFamily: \"font-inter\",\n fontSize: \"text-sm\",\n fontWeight: \"font-bold\",\n letterSpacing: \"tracking-widest\",\n textTransform: \"uppercase\",\n },\n header1: {\n fontFamily: \"font-inter\",\n fontSize: \"text-5xl\",\n fontWeight: \"font-black\",\n lineHeight: \"leading-none\",\n letterSpacing: \"tracking-tighter\",\n },\n header2: {\n fontFamily: \"font-inter\",\n fontSize: \"text-4xl\",\n fontWeight: \"font-extrabold\",\n lineHeight: \"leading-tight\",\n letterSpacing: \"tracking-tight\",\n },\n header3: {\n fontFamily: \"font-inter\",\n fontSize: \"text-2xl\",\n fontWeight: \"font-extrabold\",\n lineHeight: \"leading-snug\",\n },\n header4: {\n fontFamily: \"font-inter\",\n fontSize: \"text-xl\",\n fontWeight: \"font-bold\",\n lineHeight: \"leading-snug\",\n },\n subheader1: {\n fontFamily: \"font-inter\",\n fontSize: \"text-lg\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-relaxed\",\n },\n subheader2: {\n fontFamily: \"font-inter\",\n fontSize: \"text-base\",\n fontWeight: \"font-medium\",\n },\n text1: {\n fontFamily: \"font-inter\",\n fontSize: \"text-base\",\n fontWeight: \"font-medium\",\n lineHeight: \"leading-relaxed\",\n },\n text2: {\n fontFamily: \"font-inter\",\n fontSize: \"text-sm\",\n fontWeight: \"font-medium\",\n },\n link: {\n fontFamily: \"font-inter\",\n fontSize: \"text-base\",\n fontWeight: \"font-extrabold\",\n },\n button: {\n fontFamily: \"font-inter\",\n fontSize: \"text-base\",\n fontWeight: \"font-extrabold\",\n letterSpacing: \"tracking-wide\",\n },\n input: {\n fontFamily: \"font-inter\",\n fontSize: \"text-base\",\n fontWeight: \"font-medium\",\n },\n caption: {\n fontFamily: \"font-inter\",\n fontSize: \"text-xs\",\n fontWeight: \"font-bold\",\n letterSpacing: \"tracking-wide\",\n textTransform: \"uppercase\",\n },\n },\n interactives: {\n button: {\n padding: { x: \"px-6\", y: \"py-3\" },\n border: {\n width: \"border-2\",\n radius: \"rounded-none\",\n style: \"border-solid\",\n },\n shadow: \"shadow-md\",\n custom: \"transition-transform duration-150 ease-out hover:translate-x-1 hover:translate-y-1 hover:shadow-none\",\n disabled: {\n opacity: \"opacity-50\",\n cursor: \"cursor-not-allowed\",\n },\n },\n link: {\n padding: { x: \"px-0\", y: \"py-0\" },\n custom: \"underline decoration-2 underline-offset-4\",\n },\n card: {\n padding: { x: \"px-6\", y: \"py-6\" },\n border: {\n width: \"border-2\",\n radius: \"rounded-none\",\n style: \"border-solid\",\n },\n shadow: \"shadow-md\",\n custom: \"transition-transform duration-150 ease-out hover:translate-x-1 hover:translate-y-1 hover:shadow-none\",\n },\n input: {\n padding: { x: \"px-4\", y: \"py-3\" },\n border: {\n width: \"border-2\",\n style: \"border-solid\",\n radius: \"rounded-none\",\n },\n shadow: \"shadow-sm\",\n custom: \"\",\n disabled: {\n cursor: \"cursor-not-allowed\",\n opacity: \"opacity-50\",\n },\n },\n },\n structure: {\n page: { width: \"max-w-6xl\" },\n section: {\n padding: { x: \"px-6\", y: \"py-16\" },\n },\n },\n};\n\nexport const neobrutalism: Theme = {\n id: \"neobrutalism\",\n name: \"Neo-Brutalism\",\n theme: themeStyles,\n};\n","import { classic } from \"./classic\";\nimport { studio } from \"./studio\";\nimport { midnight } from \"./midnight\";\nimport { editorial } from \"./editorial\";\nimport { neobrutalism } from \"./neobrutalism\";\nimport { Theme } from \"../../models\";\n\nexport const themes: Theme[] = [\n classic,\n studio,\n midnight,\n editorial,\n neobrutalism,\n];\n","import * as React from \"react\";\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { X } from \"lucide-react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Sheet = SheetPrimitive.Root;\n\nconst SheetTrigger = SheetPrimitive.Trigger;\n\nconst SheetClose = SheetPrimitive.Close;\n\nconst SheetPortal = SheetPrimitive.Portal;\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className,\n )}\n {...props}\n ref={ref}\n />\n));\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName;\n\nconst sheetVariants = cva(\n \"fixed z-50 gap-4 bg-background p-6 text-foreground shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500\",\n {\n variants: {\n side: {\n top: \"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\n bottom: \"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\n left: \"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm\",\n right: \"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm\",\n },\n },\n defaultVariants: {\n side: \"right\",\n },\n },\n);\n\ninterface SheetContentProps\n extends\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> {\n /** Mount the overlay and panel here so scoped theme tokens still apply. */\n container?: HTMLElement | null;\n}\n\nconst SheetContent = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Content>,\n SheetContentProps\n>(({ side = \"right\", className, children, container, ...props }, ref) => (\n <SheetPortal container={container ?? undefined}>\n <SheetOverlay />\n <SheetPrimitive.Content\n ref={ref}\n className={cn(sheetVariants({ side }), className)}\n {...props}\n >\n {children}\n <SheetPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n));\nSheetContent.displayName = SheetPrimitive.Content.displayName;\n\nconst SheetHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-2 text-center sm:text-left\",\n className,\n )}\n {...props}\n />\n);\nSheetHeader.displayName = \"SheetHeader\";\n\nconst SheetFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className,\n )}\n {...props}\n />\n);\nSheetFooter.displayName = \"SheetFooter\";\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Title\n ref={ref}\n className={cn(\"text-lg font-semibold text-foreground\", className)}\n {...props}\n />\n));\nSheetTitle.displayName = SheetPrimitive.Title.displayName;\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nSheetDescription.displayName = SheetPrimitive.Description.displayName;\n\nexport {\n Sheet,\n SheetPortal,\n SheetOverlay,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n};\n","\"use client\";\n\nimport { ReactNode, useLayoutEffect, useRef, useState } from \"react\";\nimport { Sheet, SheetContent, SheetTrigger } from \"./components/ui/sheet\";\nimport { cn } from \"./lib/utils\";\nimport type { ThemeStyle } from \"../models\";\n\ninterface DrawerProps {\n trigger: ReactNode;\n children: ReactNode;\n side?: \"left\" | \"right\" | \"top\" | \"bottom\";\n open: boolean;\n setOpen: (open: boolean) => void;\n style?: React.CSSProperties;\n className?: string;\n theme?: ThemeStyle;\n}\n\nexport function Drawer({\n trigger,\n children,\n side = \"left\",\n open,\n setOpen,\n style,\n className = \"\",\n theme: _theme,\n}: DrawerProps) {\n const triggerWrapRef = useRef<HTMLSpanElement>(null);\n const [container, setContainer] = useState<HTMLElement | null>(null);\n\n useLayoutEffect(() => {\n const root = triggerWrapRef.current?.closest(\n \"[data-pb-theme], .pb-theme\",\n );\n setContainer(root instanceof HTMLElement ? root : null);\n }, []);\n\n return (\n <Sheet open={open} onOpenChange={setOpen}>\n <SheetTrigger asChild>\n <span ref={triggerWrapRef}>{trigger}</span>\n </SheetTrigger>\n <SheetContent\n side={side}\n style={style}\n container={container}\n className={cn(\n \"bg-background text-foreground\",\n !container && \"pb-theme\",\n className,\n )}\n >\n {children}\n </SheetContent>\n </Sheet>\n );\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/registry.ts","../src/renderer/editable-block.tsx","../src/renderer/generate-theme-styles.ts","../src/renderer/page-renderer.tsx"],"names":["jsx","jsxs"],"mappings":"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","file":"chunk-SSQWYMQR.js","sourcesContent":["import type { Widget } from \"./models\";\nimport {\n Header,\n Hero,\n Content,\n Featured,\n Faq,\n Pricing,\n Banner,\n EmailForm,\n SupportForm,\n Footer,\n RichText,\n Grid,\n MediaBlock,\n Marquee,\n Embed,\n DataSlot,\n} from \"./blocks\";\n\n/**\n * Every block available to the page builder, keyed by its\n * `metadata.name`. `header` and `footer` are singleton, layout-level\n * blocks placed outside the normal flow by the renderer.\n */\nexport const blockRegistry: Record<string, Widget<any>> = {\n header: Header,\n hero: Hero,\n content: Content,\n featured: Featured,\n faq: Faq,\n pricing: Pricing,\n banner: Banner,\n \"email-form\": EmailForm,\n \"support-form\": SupportForm,\n footer: Footer,\n \"rich-text\": RichText,\n grid: Grid,\n media: MediaBlock,\n marquee: Marquee,\n embed: Embed,\n \"data-slot\": DataSlot,\n};\n\nexport const LAYOUT_BLOCK_NAMES = [\"header\", \"footer\"];\nexport const NON_ADDABLE_BLOCK_NAMES = [...LAYOUT_BLOCK_NAMES, \"data-slot\"];\n\n/**\n * Adds a host application's block to the shared renderer and builder\n * registry. Register blocks while the application module initializes, before\n * rendering either `PageBuilder` or `PageRenderer`.\n *\n * Built-in names are intentionally protected: a persisted page must always\n * have one stable implementation for a block name. Give host blocks a\n * namespaced name such as `acme-event-list`.\n */\nexport function registerBlock(widget: Widget<any>): void {\n const name = widget.metadata.name.trim();\n if (!name) {\n throw new Error(\"A page-builder block must have a non-empty name.\");\n }\n if (blockRegistry[name]) {\n throw new Error(\n `A page-builder block named \\\"${name}\\\" is already registered.`,\n );\n }\n if (NON_ADDABLE_BLOCK_NAMES.includes(name)) {\n throw new Error(\n `\\\"${name}\\\" is a reserved page-builder block name and cannot be registered by a host application.`,\n );\n }\n blockRegistry[name] = widget;\n}\n\nexport function getWidget(name: string): Widget<any> | undefined {\n return blockRegistry[name];\n}\n\n/** Blocks a user can add to the body of a page. */\nexport function getAddableBlocks(): Widget<any>[] {\n return Object.values(blockRegistry).filter(\n (widget) => !NON_ADDABLE_BLOCK_NAMES.includes(widget.metadata.name),\n );\n}\n","\"use client\";\n\nimport React from \"react\";\nimport { ArrowDown, ArrowUp, Plus, Settings2, Trash2 } from \"lucide-react\";\nimport { cn } from \"../primitives/lib/utils\";\n\nexport interface EditableBlockProps {\n children: React.ReactNode;\n editing: boolean;\n /** Ref to the wrapper element so the canvas can scroll the block into view. */\n containerRef?: React.Ref<HTMLDivElement>;\n selected?: boolean;\n /** Draws a temporary attention flash, e.g. right after the block was moved. */\n highlighted?: boolean;\n label?: string;\n onSelect?: () => void;\n onMoveUp?: () => void;\n onMoveDown?: () => void;\n onDelete?: () => void;\n onAddBelow?: () => void;\n}\n\nfunction ToolbarButton({\n icon: Icon,\n label,\n onClick,\n}: {\n icon: React.ComponentType<{ className?: string }>;\n label: string;\n onClick?: () => void;\n}) {\n if (!onClick) return null;\n return (\n <button\n type=\"button\"\n title={label}\n aria-label={label}\n className=\"inline-flex h-7 w-7 items-center justify-center rounded bg-background text-foreground shadow-sm hover:bg-muted\"\n onClick={(e) => {\n e.stopPropagation();\n onClick();\n }}\n >\n <Icon className=\"h-3.5 w-3.5\" />\n </button>\n );\n}\n\n/**\n * Two-click delete: first click arms the button (\"Sure?\"), second click\n * actually deletes. Disarms after a short delay or when the pointer leaves.\n */\nfunction DeleteButton({ onDelete }: { onDelete?: () => void }) {\n const [confirming, setConfirming] = React.useState(false);\n\n React.useEffect(() => {\n if (!confirming) return;\n const timeout = setTimeout(() => setConfirming(false), 3000);\n return () => clearTimeout(timeout);\n }, [confirming]);\n\n if (!onDelete) return null;\n\n if (confirming) {\n return (\n <button\n type=\"button\"\n title=\"Confirm delete\"\n aria-label=\"Confirm delete\"\n className=\"inline-flex h-7 items-center justify-center rounded bg-destructive px-2 text-xs font-medium text-destructive-foreground shadow-sm hover:bg-destructive/90\"\n onMouseLeave={() => setConfirming(false)}\n onClick={(e) => {\n e.stopPropagation();\n setConfirming(false);\n onDelete();\n }}\n >\n Sure?\n </button>\n );\n }\n\n return (\n <button\n type=\"button\"\n title=\"Delete\"\n aria-label=\"Delete\"\n className=\"inline-flex h-7 w-7 items-center justify-center rounded bg-background text-foreground shadow-sm hover:bg-muted\"\n onClick={(e) => {\n e.stopPropagation();\n setConfirming(true);\n }}\n >\n <Trash2 className=\"h-3.5 w-3.5\" />\n </button>\n );\n}\n\n/**\n * Wraps a rendered block with hover/selection affordances when the page\n * builder is in editing mode. In non-editing (plain display) mode it's a\n * transparent passthrough.\n */\nexport function EditableBlock({\n children,\n editing,\n containerRef,\n selected,\n highlighted,\n label,\n onSelect,\n onMoveUp,\n onMoveDown,\n onDelete,\n onAddBelow,\n}: EditableBlockProps) {\n if (!editing) {\n return <>{children}</>;\n }\n\n return (\n <div\n ref={containerRef}\n className={cn(\n \"group/block relative outline outline-1 outline-transparent transition-colors hover:outline-primary/40\",\n selected && \"outline-2 outline-primary\",\n highlighted && \"outline-2 outline-primary/70\",\n )}\n onClick={onSelect}\n >\n <div\n aria-hidden\n className={cn(\n \"pointer-events-none absolute inset-0 z-10 bg-primary/10 opacity-0 transition-opacity duration-500\",\n highlighted && \"opacity-100\",\n )}\n />\n <div className=\"pointer-events-none absolute inset-x-0 top-0 z-20 flex justify-center opacity-0 transition-opacity group-hover/block:opacity-100\">\n <div className=\"pointer-events-auto flex items-center gap-1 rounded-b-md border border-t-0 border-border bg-background px-1.5 py-1 shadow-sm\">\n {label && (\n <span className=\"px-1.5 text-xs font-medium text-muted-foreground\">\n {label}\n </span>\n )}\n <ToolbarButton\n icon={Settings2}\n label=\"Edit settings\"\n onClick={onSelect}\n />\n <ToolbarButton\n icon={ArrowUp}\n label=\"Move up\"\n onClick={onMoveUp}\n />\n <ToolbarButton\n icon={ArrowDown}\n label=\"Move down\"\n onClick={onMoveDown}\n />\n <DeleteButton onDelete={onDelete} />\n </div>\n </div>\n {children}\n {onAddBelow && (\n <div className=\"pointer-events-none absolute inset-x-0 -bottom-3 z-20 flex justify-center opacity-0 transition-opacity group-hover/block:opacity-100\">\n <button\n type=\"button\"\n title=\"Add block below\"\n aria-label=\"Add block below\"\n className=\"pointer-events-auto inline-flex h-6 w-6 items-center justify-center rounded-full border border-border bg-background text-foreground shadow-sm hover:bg-primary hover:text-primary-foreground\"\n onClick={(e) => {\n e.stopPropagation();\n onAddBelow();\n }}\n >\n <Plus className=\"h-3.5 w-3.5\" />\n </button>\n </div>\n )}\n </div>\n );\n}\n","import convert, { HSL } from \"color-convert\";\nimport type { Theme } from \"../models\";\n\nfunction formatHSL(hsl: HSL): string {\n return `${hsl[0]} ${hsl[1]}% ${hsl[2]}%`;\n}\n\nfunction cssColorFromHex(hex?: string): string {\n if (!hex) return \"\";\n try {\n return `hsl(${formatHSL(convert.hex.hsl(hex.replace(\"#\", \"\")))})`;\n } catch {\n return \"\";\n }\n}\n\n/**\n * Generates full CSS color values for the custom properties every primitive\n * reads. Full colors (rather than bare HSL channels) let the renderer coexist\n * with Tailwind v4 hosts whose semantic utilities use `var(--primary)` while\n * still accepting CourseLit-derived hex theme data.\n *\n * Callers rendering more than one theme in a document should pass a unique\n * selector so one renderer cannot overwrite another renderer's variables.\n */\nexport function generateThemeStyles(\n theme: Theme,\n selector = \".pb-theme\",\n): string {\n const colors = theme?.theme?.colors;\n if (!colors) {\n return \"\";\n }\n\n const { light, dark } = colors;\n if (!light || !dark) {\n return \"\";\n }\n\n const block = (c: typeof light) => `\n --background: ${cssColorFromHex(c.background)};\n --foreground: ${cssColorFromHex(c.foreground)};\n --card: ${cssColorFromHex(c.card)};\n --card-foreground: ${cssColorFromHex(c.cardForeground)};\n --popover: ${cssColorFromHex(c.popover)};\n --popover-foreground: ${cssColorFromHex(c.popoverForeground)};\n --primary: ${cssColorFromHex(c.primary)};\n --primary-foreground: ${cssColorFromHex(c.primaryForeground)};\n --secondary: ${cssColorFromHex(c.secondary)};\n --secondary-foreground: ${cssColorFromHex(c.secondaryForeground)};\n --muted: ${cssColorFromHex(c.muted)};\n --muted-foreground: ${cssColorFromHex(c.mutedForeground)};\n --accent: ${cssColorFromHex(c.accent)};\n --accent-foreground: ${cssColorFromHex(c.accentForeground)};\n --destructive: ${cssColorFromHex(c.destructive)};\n --border: ${cssColorFromHex(c.border)};\n --input: ${cssColorFromHex(c.input)};\n --ring: ${cssColorFromHex(c.ring)};\n --chart-1: ${cssColorFromHex(c.chart1)};\n --chart-2: ${cssColorFromHex(c.chart2)};\n --chart-3: ${cssColorFromHex(c.chart3)};\n --chart-4: ${cssColorFromHex(c.chart4)};\n --chart-5: ${cssColorFromHex(c.chart5)};\n --sidebar-background: ${cssColorFromHex(c.sidebar)};\n --sidebar-foreground: ${cssColorFromHex(c.sidebarForeground)};\n --sidebar-primary: ${cssColorFromHex(c.sidebarPrimary)};\n --sidebar-primary-foreground: ${cssColorFromHex(c.sidebarPrimaryForeground)};\n --sidebar-accent: ${cssColorFromHex(c.sidebarAccent)};\n --sidebar-accent-foreground: ${cssColorFromHex(c.sidebarAccentForeground)};\n --sidebar-border: ${cssColorFromHex(c.sidebarBorder)};\n --sidebar-ring: ${cssColorFromHex(c.sidebarRing)};\n --shadow-2xs: ${c.shadow2xs ?? \"\"};\n --shadow-xs: ${c.shadowXs ?? \"\"};\n --shadow-sm: ${c.shadowSm ?? \"\"};\n --shadow-md: ${c.shadowMd ?? \"\"};\n --shadow-lg: ${c.shadowLg ?? \"\"};\n --shadow-xl: ${c.shadowXl ?? \"\"};\n --shadow-2xl: ${c.shadow2xl ?? \"\"};\n `;\n\n return `\n ${selector} {\n ${block(light)}\n }\n ${selector}:is(.dark, .dark *) {\n ${block(dark)}\n }\n `;\n}\n","\"use client\";\n\nimport React, { useEffect, useId, useRef } from \"react\";\nimport type { PageData, Theme, WidgetInstance } from \"../models\";\nimport { getWidget, LAYOUT_BLOCK_NAMES } from \"../registry\";\nimport { EditableBlock } from \"./editable-block\";\nimport { generateThemeStyles } from \"./generate-theme-styles\";\nimport { cn } from \"../primitives/lib/utils\";\nimport {\n PageBuilderLinkProvider,\n type PageBuilderLinkComponent,\n} from \"../components/nav-link\";\n\nexport interface PageRendererProps {\n layout: WidgetInstance[];\n theme: Theme;\n pageData?: PageData;\n /** Optional content rendered between the shared header and footer. */\n children?: React.ReactNode;\n /** Host-resolved data keyed by a generic data-slot's configured name. */\n dataSlots?: Record<string, React.ReactNode>;\n /** Resolved palette currently painted (`system` is already applied). */\n nextTheme?: \"light\" | \"dark\";\n /** Visitor or preview preference, including follow-the-OS. */\n themeMode?: \"light\" | \"dark\" | \"system\";\n onThemeModeChange?: (mode: \"light\" | \"dark\" | \"system\") => void;\n /** When true, renders hover controls (edit/move/delete/add) for use inside the builder canvas. */\n editing?: boolean;\n selectedWidgetId?: string;\n /** Widget to briefly highlight, e.g. right after it was moved. */\n highlightedWidgetId?: string;\n onSelectWidget?: (widgetId: string) => void;\n onMoveWidgetUp?: (widgetId: string) => void;\n onMoveWidgetDown?: (widgetId: string) => void;\n onDeleteWidget?: (widgetId: string) => void;\n onAddWidgetBelow?: (widgetId: string) => void;\n /** Injects the theme's generated CSS custom properties as a `<style>` tag. Disable if the host app renders it elsewhere. */\n injectThemeStyles?: boolean;\n /**\n * Optional host link (e.g. Next.js `Link`) used for internal `/...` paths\n * inside block widgets. Omit it to render native `<a>` tags — no\n * framework dependency.\n */\n linkComponent?: PageBuilderLinkComponent;\n className?: string;\n}\n\n/**\n * Renders a page's widget layout using the block registry. Used both for\n * plain (non-editable) display and, with `editing`, as the live canvas\n * inside the page builder.\n */\nexport function PageRenderer({\n layout,\n theme,\n pageData,\n children,\n dataSlots,\n nextTheme = \"light\",\n themeMode = \"light\",\n onThemeModeChange,\n editing = false,\n selectedWidgetId,\n highlightedWidgetId,\n onSelectWidget,\n onMoveWidgetUp,\n onMoveWidgetDown,\n onDeleteWidget,\n onAddWidgetBelow,\n injectThemeStyles = true,\n linkComponent,\n className,\n}: PageRendererProps) {\n // Refs to each block's wrapper, keyed by widget id. Refs (unlike DOM\n // attribute lookups) stay correct even when SSR and client render\n // different generated widget ids.\n const blockRefs = useRef(new Map<string, HTMLDivElement>());\n const themeScope = `pb-${useId().replace(/[^a-zA-Z0-9_-]/g, \"\")}`;\n const themeSelector = `[data-pb-theme=\"${themeScope}\"]`;\n\n // Keep the highlighted (just-moved) block in view. Keyed on `layout` too\n // so repeated move clicks on the same widget re-scroll as it travels.\n useEffect(() => {\n if (!highlightedWidgetId) return;\n blockRefs.current\n .get(highlightedWidgetId)\n ?.scrollIntoView({ behavior: \"smooth\", block: \"nearest\" });\n }, [highlightedWidgetId, layout]);\n\n const header = layout.find((widget) => widget.name === \"header\");\n const footer = layout.find((widget) => widget.name === \"footer\");\n const body = layout.filter(\n (widget) => !LAYOUT_BLOCK_NAMES.includes(widget.name),\n );\n\n const resolvedPageData: PageData = {\n pageType: \"site\",\n ...pageData,\n };\n\n function renderInstance(\n instance: WidgetInstance,\n options: {\n allowUp: boolean;\n allowDown: boolean;\n locked: boolean;\n allowAddBelow: boolean;\n },\n ) {\n const definition = getWidget(instance.name);\n if (!definition) return null;\n\n const Widget = definition.widget;\n const settings = {\n ...definition.getDefaultSettings?.(),\n ...instance.settings,\n };\n\n return (\n <EditableBlock\n key={instance.widgetId}\n editing={editing}\n containerRef={(node) => {\n if (node) {\n blockRefs.current.set(instance.widgetId, node);\n } else {\n blockRefs.current.delete(instance.widgetId);\n }\n }}\n selected={selectedWidgetId === instance.widgetId}\n highlighted={highlightedWidgetId === instance.widgetId}\n label={definition.metadata.displayName}\n onSelect={() => onSelectWidget?.(instance.widgetId)}\n onMoveUp={\n options.allowUp\n ? () => onMoveWidgetUp?.(instance.widgetId)\n : undefined\n }\n onMoveDown={\n options.allowDown\n ? () => onMoveWidgetDown?.(instance.widgetId)\n : undefined\n }\n onDelete={\n !options.locked\n ? () => onDeleteWidget?.(instance.widgetId)\n : undefined\n }\n onAddBelow={\n options.allowAddBelow && onAddWidgetBelow\n ? () => onAddWidgetBelow(instance.widgetId)\n : undefined\n }\n >\n <Widget\n settings={settings as any}\n state={{ theme }}\n pageData={resolvedPageData}\n data={\n instance.name === \"data-slot\"\n ? dataSlots?.[String(settings.slot ?? \"\")]\n : undefined\n }\n editing={editing}\n nextTheme={nextTheme}\n themeMode={themeMode}\n setThemeMode={onThemeModeChange}\n toggleTheme={\n onThemeModeChange\n ? () =>\n onThemeModeChange(\n nextTheme === \"dark\" ? \"light\" : \"dark\",\n )\n : undefined\n }\n />\n </EditableBlock>\n );\n }\n\n return (\n <PageBuilderLinkProvider component={linkComponent}>\n <div\n data-pb-theme={themeScope}\n className={cn(\n \"pb-theme flex min-h-full flex-col bg-background text-foreground\",\n nextTheme === \"dark\" && \"dark\",\n className,\n )}\n >\n {header &&\n renderInstance(header, {\n allowUp: false,\n allowDown: false,\n locked: true,\n allowAddBelow: true,\n })}\n <div className=\"flex flex-1 flex-col\">\n {children !== undefined &&\n !body.some((instance) => instance.name === \"data-slot\")\n ? children\n : body.map((instance, index) =>\n renderInstance(instance, {\n allowUp: instance.moveable && index !== 0,\n allowDown:\n instance.moveable &&\n index !== body.length - 1,\n locked: !instance.deletable,\n allowAddBelow: true,\n }),\n )}\n </div>\n {footer &&\n renderInstance(footer, {\n allowUp: false,\n allowDown: false,\n locked: true,\n allowAddBelow: false,\n })}\n {injectThemeStyles && (\n <style>{generateThemeStyles(theme, themeSelector)}</style>\n )}\n </div>\n </PageBuilderLinkProvider>\n );\n}\n"]}
@@ -1,13 +0,0 @@
1
- interface Media {
2
- mediaId: string;
3
- originalFileName?: string;
4
- mimeType?: string;
5
- size?: number;
6
- caption?: string;
7
- /** Public URL of the asset. */
8
- file?: string;
9
- /** Thumbnail URL, falls back to `file` when absent. */
10
- thumbnail?: string;
11
- }
12
-
13
- export type { Media as M };