@frontlit/page-builder 0.1.0-alpha.6 → 0.1.0-alpha.7

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 (33) hide show
  1. package/dist/blocks/index.js +2 -2
  2. package/dist/builder/index.js +5 -5
  3. package/dist/{chunk-PQTDUFKU.js → chunk-HEKBPKGS.js} +6 -6
  4. package/dist/{chunk-PQTDUFKU.js.map → chunk-HEKBPKGS.js.map} +1 -1
  5. package/dist/{chunk-YXLOVEQZ.js → chunk-I2LRKHSL.js} +5 -5
  6. package/dist/{chunk-YXLOVEQZ.js.map → chunk-I2LRKHSL.js.map} +1 -1
  7. package/dist/{chunk-OEQJQ4OA.js → chunk-KRQWGGAJ.js} +244 -6
  8. package/dist/chunk-KRQWGGAJ.js.map +1 -0
  9. package/dist/{chunk-BWOGREWJ.js → chunk-LL6CG6KH.js} +3 -3
  10. package/dist/{chunk-BWOGREWJ.js.map → chunk-LL6CG6KH.js.map} +1 -1
  11. package/dist/{chunk-FZBLE44D.js → chunk-XQE4RVNO.js} +4 -4
  12. package/dist/chunk-XQE4RVNO.js.map +1 -0
  13. package/dist/components/index.js +2 -2
  14. package/dist/index.js +5 -5
  15. package/dist/primitives/index.d.ts +68 -1
  16. package/dist/primitives/index.js +1 -1
  17. package/dist/renderer/index.js +4 -4
  18. package/dist/server/index.js +4 -2
  19. package/dist/server/index.js.map +1 -1
  20. package/dist/server/islands/code-snippet.js +1 -1
  21. package/dist/server/islands/code-snippet.js.map +1 -1
  22. package/dist/server/islands/header-mobile-menu.js +1 -1
  23. package/dist/server/islands/header-mobile-menu.js.map +1 -1
  24. package/dist/server/islands/tabs.d.ts +23 -0
  25. package/dist/server/islands/tabs.js +86 -0
  26. package/dist/server/islands/tabs.js.map +1 -0
  27. package/dist/server/primitives.d.ts +81 -1
  28. package/dist/server/primitives.js +231 -36
  29. package/dist/server/primitives.js.map +1 -1
  30. package/dist/styles.css +78 -0
  31. package/package.json +1 -1
  32. package/dist/chunk-FZBLE44D.js.map +0 -1
  33. package/dist/chunk-OEQJQ4OA.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { Button2, Button } from './chunk-OEQJQ4OA.js';
2
+ import { Button2, Button } from './chunk-KRQWGGAJ.js';
3
3
  import { useState, useEffect } from 'react';
4
4
  import { Sun, Moon } from 'lucide-react';
5
5
  import { jsx } from 'react/jsx-runtime';
@@ -52,5 +52,5 @@ function ThemeModeSwitcher({
52
52
  }
53
53
 
54
54
  export { ThemeModeSwitcher };
55
- //# sourceMappingURL=chunk-BWOGREWJ.js.map
56
- //# sourceMappingURL=chunk-BWOGREWJ.js.map
55
+ //# sourceMappingURL=chunk-LL6CG6KH.js.map
56
+ //# sourceMappingURL=chunk-LL6CG6KH.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/theme-mode-switcher.tsx"],"names":["Button"],"mappings":";;;;;AAiBO,SAAS,iBAAA,CAAkB;AAAA,EAChC,QAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,EAOG;AACD,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAC5C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,UAAA,CAAW,IAAI,CAAA;AAAA,EACjB,CAAA,EAAG,EAAE,CAAA;AACL,EAAA,MAAM,OAAA,GAAU,UAAU,QAAA,GAAW,OAAA;AACrC,EAAA,MAAM,IAAA,GAAO,OAAA,KAAY,MAAA,GAAS,OAAA,GAAU,MAAA;AAC5C,EAAA,MAAM,KAAA,GAAQ,IAAA,KAAS,MAAA,GAAS,qBAAA,GAAwB,sBAAA;AACxD,EAAA,MAAM,IAAA,GAAO,OAAA,KAAY,MAAA,GAAS,GAAA,GAAM,IAAA;AAExC,EAAA,IAAI,KAAA,EAAO;AACT,IAAA,uBACE,GAAA;AAAA,MAACA,OAAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,QAAA;AAAA,QACL,SAAS,OAAA,IAAW,SAAA;AAAA,QACpB,MAAM,IAAA,IAAQ,IAAA;AAAA,QACd,KAAA;AAAA,QACA,KAAA,EAAO,KAAA;AAAA,QACP,YAAA,EAAY,KAAA;AAAA,QACZ,SAAA;AAAA,QACA,OAAA,EAAS,QAAA;AAAA,QAET,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU;AAAA;AAAA,KAC5B;AAAA,EAEJ;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,QAAA;AAAA,MACL,OAAA,EAAQ,SAAA;AAAA,MACR,IAAA,EAAK,MAAA;AAAA,MACL,KAAA,EAAO,KAAA;AAAA,MACP,YAAA,EAAY,KAAA;AAAA,MACZ,SAAA;AAAA,MACA,OAAA,EAAS,QAAA;AAAA,MAET,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU;AAAA;AAAA,GAC5B;AAEJ","file":"chunk-BWOGREWJ.js","sourcesContent":["\"use client\";\n\nimport React, { useEffect, useState } from \"react\";\nimport { Moon, Sun } from \"lucide-react\";\nimport { Button, type ButtonProps } from \"../primitives\";\nimport { Button as ChromeButton } from \"../primitives/components/ui/button\";\nimport type { ThemeStyle } from \"../models\";\nimport type { ResolvedColorMode } from \"../utils\";\n\n/**\n * Light / dark toggle. Public sites pass `theme` so the button uses\n * page-builder primitives; the builder chrome omits it and matches the\n * other icon buttons in the top bar.\n *\n * Preference starts as system (OS). The first click pins an explicit\n * light or dark side; later clicks flip between those two.\n */\nexport function ThemeModeSwitcher({\n resolved,\n onToggle,\n theme,\n className,\n size,\n variant,\n}: {\n resolved: ResolvedColorMode;\n onToggle: () => void;\n theme?: ThemeStyle;\n className?: string;\n size?: ButtonProps[\"size\"];\n variant?: ButtonProps[\"variant\"];\n}) {\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n const painted = mounted ? resolved : \"light\";\n const next = painted === \"dark\" ? \"light\" : \"dark\";\n const label = next === \"dark\" ? \"Switch to dark mode\" : \"Switch to light mode\";\n const Icon = painted === \"dark\" ? Sun : Moon;\n\n if (theme) {\n return (\n <Button\n type=\"button\"\n variant={variant ?? \"outline\"}\n size={size ?? \"sm\"}\n theme={theme}\n title={label}\n aria-label={label}\n className={className}\n onClick={onToggle}\n >\n <Icon className=\"h-4 w-4\" />\n </Button>\n );\n }\n\n return (\n <ChromeButton\n type=\"button\"\n variant=\"outline\"\n size=\"icon\"\n title={label}\n aria-label={label}\n className={className}\n onClick={onToggle}\n >\n <Icon className=\"h-4 w-4\" />\n </ChromeButton>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/components/theme-mode-switcher.tsx"],"names":["Button"],"mappings":";;;;;AAiBO,SAAS,iBAAA,CAAkB;AAAA,EAChC,QAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,IAAA;AAAA,EACA;AACF,CAAA,EAOG;AACD,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,KAAK,CAAA;AAC5C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,UAAA,CAAW,IAAI,CAAA;AAAA,EACjB,CAAA,EAAG,EAAE,CAAA;AACL,EAAA,MAAM,OAAA,GAAU,UAAU,QAAA,GAAW,OAAA;AACrC,EAAA,MAAM,IAAA,GAAO,OAAA,KAAY,MAAA,GAAS,OAAA,GAAU,MAAA;AAC5C,EAAA,MAAM,KAAA,GAAQ,IAAA,KAAS,MAAA,GAAS,qBAAA,GAAwB,sBAAA;AACxD,EAAA,MAAM,IAAA,GAAO,OAAA,KAAY,MAAA,GAAS,GAAA,GAAM,IAAA;AAExC,EAAA,IAAI,KAAA,EAAO;AACT,IAAA,uBACE,GAAA;AAAA,MAACA,OAAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,QAAA;AAAA,QACL,SAAS,OAAA,IAAW,SAAA;AAAA,QACpB,MAAM,IAAA,IAAQ,IAAA;AAAA,QACd,KAAA;AAAA,QACA,KAAA,EAAO,KAAA;AAAA,QACP,YAAA,EAAY,KAAA;AAAA,QACZ,SAAA;AAAA,QACA,OAAA,EAAS,QAAA;AAAA,QAET,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU;AAAA;AAAA,KAC5B;AAAA,EAEJ;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,QAAA;AAAA,MACL,OAAA,EAAQ,SAAA;AAAA,MACR,IAAA,EAAK,MAAA;AAAA,MACL,KAAA,EAAO,KAAA;AAAA,MACP,YAAA,EAAY,KAAA;AAAA,MACZ,SAAA;AAAA,MACA,OAAA,EAAS,QAAA;AAAA,MAET,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU;AAAA;AAAA,GAC5B;AAEJ","file":"chunk-LL6CG6KH.js","sourcesContent":["\"use client\";\n\nimport React, { useEffect, useState } from \"react\";\nimport { Moon, Sun } from \"lucide-react\";\nimport { Button, type ButtonProps } from \"../primitives\";\nimport { Button as ChromeButton } from \"../primitives/components/ui/button\";\nimport type { ThemeStyle } from \"../models\";\nimport type { ResolvedColorMode } from \"../utils\";\n\n/**\n * Light / dark toggle. Public sites pass `theme` so the button uses\n * page-builder primitives; the builder chrome omits it and matches the\n * other icon buttons in the top bar.\n *\n * Preference starts as system (OS). The first click pins an explicit\n * light or dark side; later clicks flip between those two.\n */\nexport function ThemeModeSwitcher({\n resolved,\n onToggle,\n theme,\n className,\n size,\n variant,\n}: {\n resolved: ResolvedColorMode;\n onToggle: () => void;\n theme?: ThemeStyle;\n className?: string;\n size?: ButtonProps[\"size\"];\n variant?: ButtonProps[\"variant\"];\n}) {\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n setMounted(true);\n }, []);\n const painted = mounted ? resolved : \"light\";\n const next = painted === \"dark\" ? \"light\" : \"dark\";\n const label = next === \"dark\" ? \"Switch to dark mode\" : \"Switch to light mode\";\n const Icon = painted === \"dark\" ? Sun : Moon;\n\n if (theme) {\n return (\n <Button\n type=\"button\"\n variant={variant ?? \"outline\"}\n size={size ?? \"sm\"}\n theme={theme}\n title={label}\n aria-label={label}\n className={className}\n onClick={onToggle}\n >\n <Icon className=\"h-4 w-4\" />\n </Button>\n );\n }\n\n return (\n <ChromeButton\n type=\"button\"\n variant=\"outline\"\n size=\"icon\"\n title={label}\n aria-label={label}\n className={className}\n onClick={onToggle}\n >\n <Icon className=\"h-4 w-4\" />\n </ChromeButton>\n );\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { NavLink, VideoWithPreview, TextRenderer, InlineEmbed } from './chunk-QMUIISN3.js';
3
- import { Button2, Section, cn, Image, Preheader, Display, Subheader1, CodeSnippet, Caption, PageCard, PageCardContent, Header2, Header1, Header4, Text2, Badge, PageCardHeader, Text1, Link, Header3, Drawer, Label, Switch2, Input } from './chunk-OEQJQ4OA.js';
3
+ import { Button2, Section, cn, Image, Preheader, Display, Subheader1, CodeSnippet, Caption, PageCard, PageCardContent, Header2, Header1, Header4, Text2, Badge, PageCardHeader, Text1, Link, Header3, Drawer, Label, Switch2, Input } from './chunk-KRQWGGAJ.js';
4
4
  import { getMediaUrl, getMediaAlt } from './chunk-XU7ALPGQ.js';
5
5
  import clsx3 from 'clsx';
6
6
  import * as Icons from 'lucide-react';
@@ -3160,7 +3160,7 @@ function FooterWidget({
3160
3160
  tagline && /* @__PURE__ */ jsx(Text2, { theme: overriddenTheme, children: tagline })
3161
3161
  ] }),
3162
3162
  /* @__PURE__ */ jsx("div", { className: "flex flex-col flex-wrap gap-8 lg:!flex-row", children: columns.map((column) => /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3 lg:min-w-[140px]", children: [
3163
- /* @__PURE__ */ jsx(Header4, { theme: overriddenTheme, className: "text-sm", children: column.title }),
3163
+ /* @__PURE__ */ jsx(Header4, { theme: overriddenTheme, as: "h2", className: "text-sm", children: column.title }),
3164
3164
  /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-2", children: column.links.map((link) => /* @__PURE__ */ jsx(NavLink, { href: link.href, className: "no-underline", children: /* @__PURE__ */ jsx(Link, { theme: overriddenTheme, className: "text-xs", children: link.label }) }, link.id)) })
3165
3165
  ] }, column.id)) })
3166
3166
  ] }),
@@ -4529,5 +4529,5 @@ var DataSlot = {
4529
4529
  };
4530
4530
 
4531
4531
  export { Banner, CodeSnippetBlock, Content, DataSlot, EmailForm2 as EmailForm, Embed, Faq, Featured, FieldGroup, Footer, Grid, Header, Hero, Marquee, MediaBlock, Pricing, RichText, SupportForm2 as SupportForm, TextField, TitleSizeField, ToggleField, generateUniqueId };
4532
- //# sourceMappingURL=chunk-FZBLE44D.js.map
4533
- //# sourceMappingURL=chunk-FZBLE44D.js.map
4532
+ //# sourceMappingURL=chunk-XQE4RVNO.js.map
4533
+ //# sourceMappingURL=chunk-XQE4RVNO.js.map