@brunoalz/smartgesti-site-editor 1.4.0 → 1.4.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 (73) hide show
  1. package/dist/editor/BlockSelector.js +4 -2
  2. package/dist/editor/BlockSelector.js.map +1 -1
  3. package/dist/engine/export/exportHtml.d.ts +5 -1
  4. package/dist/engine/export/exportHtml.d.ts.map +1 -1
  5. package/dist/engine/export/exportHtml.js +69 -51
  6. package/dist/engine/export/exportHtml.js.map +1 -1
  7. package/dist/engine/export/exporters/sections/BlogPostExporters.d.ts +2 -0
  8. package/dist/engine/export/exporters/sections/BlogPostExporters.d.ts.map +1 -1
  9. package/dist/engine/export/exporters/sections/BlogPostExporters.js +137 -80
  10. package/dist/engine/export/exporters/sections/BlogPostExporters.js.map +1 -1
  11. package/dist/engine/export/exporters/sections/index.d.ts.map +1 -1
  12. package/dist/engine/export/exporters/sections/index.js +40 -38
  13. package/dist/engine/export/exporters/sections/index.js.map +1 -1
  14. package/dist/engine/index.js +97 -95
  15. package/dist/engine/index.js.map +1 -1
  16. package/dist/engine/plugins/builtin/blog/manifest.d.ts.map +1 -1
  17. package/dist/engine/plugins/builtin/blog/manifest.js +103 -53
  18. package/dist/engine/plugins/builtin/blog/manifest.js.map +1 -1
  19. package/dist/engine/plugins/builtin/blog/mockContentProvider.d.ts.map +1 -1
  20. package/dist/engine/plugins/builtin/blog/mockContentProvider.js +13 -9
  21. package/dist/engine/plugins/builtin/blog/mockContentProvider.js.map +1 -1
  22. package/dist/engine/plugins/contentHydration.d.ts.map +1 -1
  23. package/dist/engine/plugins/contentHydration.js +119 -79
  24. package/dist/engine/plugins/contentHydration.js.map +1 -1
  25. package/dist/engine/plugins/types.d.ts +5 -0
  26. package/dist/engine/plugins/types.d.ts.map +1 -1
  27. package/dist/engine/registry/blocks/sections/blogCategoryFilter.d.ts +3 -0
  28. package/dist/engine/registry/blocks/sections/blogCategoryFilter.d.ts.map +1 -0
  29. package/dist/engine/registry/blocks/sections/blogCategoryFilter.js +53 -0
  30. package/dist/engine/registry/blocks/sections/blogCategoryFilter.js.map +1 -0
  31. package/dist/engine/registry/blocks/sections/blogPostDetail.d.ts.map +1 -1
  32. package/dist/engine/registry/blocks/sections/blogPostDetail.js +4 -1
  33. package/dist/engine/registry/blocks/sections/blogPostDetail.js.map +1 -1
  34. package/dist/engine/registry/blocks/sections/blogPostGrid.js +4 -4
  35. package/dist/engine/registry/blocks/sections/blogPostGrid.js.map +1 -1
  36. package/dist/engine/registry/blocks/sections/blogSearchBar.d.ts +3 -0
  37. package/dist/engine/registry/blocks/sections/blogSearchBar.d.ts.map +1 -0
  38. package/dist/engine/registry/blocks/sections/blogSearchBar.js +56 -0
  39. package/dist/engine/registry/blocks/sections/blogSearchBar.js.map +1 -0
  40. package/dist/engine/registry/blocks/sections/index.d.ts +2 -0
  41. package/dist/engine/registry/blocks/sections/index.d.ts.map +1 -1
  42. package/dist/engine/render/renderers/sections/BlogCategoryFilterRenderer.d.ts +3 -0
  43. package/dist/engine/render/renderers/sections/BlogCategoryFilterRenderer.d.ts.map +1 -0
  44. package/dist/engine/render/renderers/sections/BlogCategoryFilterRenderer.js +213 -0
  45. package/dist/engine/render/renderers/sections/BlogCategoryFilterRenderer.js.map +1 -0
  46. package/dist/engine/render/renderers/sections/BlogSearchBarRenderer.d.ts +3 -0
  47. package/dist/engine/render/renderers/sections/BlogSearchBarRenderer.d.ts.map +1 -0
  48. package/dist/engine/render/renderers/sections/BlogSearchBarRenderer.js +138 -0
  49. package/dist/engine/render/renderers/sections/BlogSearchBarRenderer.js.map +1 -0
  50. package/dist/engine/render/renderers/sections/index.js +28 -24
  51. package/dist/engine/render/renderers/sections/index.js.map +1 -1
  52. package/dist/engine/schema/siteDocument.d.ts +66 -2
  53. package/dist/engine/schema/siteDocument.d.ts.map +1 -1
  54. package/dist/engine/schema/siteDocument.js.map +1 -1
  55. package/dist/hooks/useNavbarAutoSync.d.ts.map +1 -1
  56. package/dist/hooks/useNavbarAutoSync.js +27 -15
  57. package/dist/hooks/useNavbarAutoSync.js.map +1 -1
  58. package/dist/index.d.ts +1 -1
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +108 -106
  61. package/dist/index.js.map +1 -1
  62. package/dist/utils/blockIcons.d.ts.map +1 -1
  63. package/dist/utils/blockIcons.js +2 -0
  64. package/dist/utils/blockIcons.js.map +1 -1
  65. package/dist/utils/navbarSync.d.ts +3 -1
  66. package/dist/utils/navbarSync.d.ts.map +1 -1
  67. package/dist/utils/navbarSync.js +3 -3
  68. package/dist/utils/navbarSync.js.map +1 -1
  69. package/dist/viewer/LandingPageViewer.d.ts +7 -2
  70. package/dist/viewer/LandingPageViewer.d.ts.map +1 -1
  71. package/dist/viewer/LandingPageViewer.js +106 -92
  72. package/dist/viewer/LandingPageViewer.js.map +1 -1
  73. package/package.json +1 -1
@@ -0,0 +1,3 @@
1
+ import { BlockDefinition } from '../../types';
2
+ export declare const blogSearchBarBlock: BlockDefinition<"blogSearchBar">;
3
+ //# sourceMappingURL=blogSearchBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blogSearchBar.d.ts","sourceRoot":"","sources":["../../../../../src/engine/registry/blocks/sections/blogSearchBar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,eAAO,MAAM,kBAAkB,EAAE,eAAe,CAAC,eAAe,CAiD/D,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { componentRegistry as e } from "../../registry.js";
2
+ const a = {
3
+ type: "blogSearchBar",
4
+ name: "Blog Search Bar",
5
+ description: "Barra de busca para o blog (plugin Blog)",
6
+ category: "sections",
7
+ pluginId: "blog",
8
+ canHaveChildren: !1,
9
+ defaultProps: {
10
+ placeholder: "Buscar posts...",
11
+ variant: "simple",
12
+ showIcon: !0,
13
+ searchUrl: "/site/p/blog",
14
+ filterCategories: !1,
15
+ filterTags: !1,
16
+ filterDate: !1
17
+ },
18
+ inspectorMeta: {
19
+ placeholder: { label: "Placeholder", inputType: "text", group: "Conteúdo" },
20
+ variant: {
21
+ label: "Variante",
22
+ inputType: "select",
23
+ group: "Aparência",
24
+ options: [
25
+ { value: "simple", label: "Simples" },
26
+ { value: "expanded", label: "Expandida" },
27
+ { value: "with-filters", label: "Com filtros" }
28
+ ]
29
+ },
30
+ showIcon: { label: "Mostrar Ícone", inputType: "checkbox", group: "Aparência" },
31
+ searchUrl: { label: "URL de Busca", inputType: "text", group: "Comportamento" },
32
+ filterCategories: {
33
+ label: "Filtro por Categoria",
34
+ inputType: "checkbox",
35
+ group: "Filtros",
36
+ showWhen: { field: "variant", equals: "with-filters" }
37
+ },
38
+ filterTags: {
39
+ label: "Filtro por Tag",
40
+ inputType: "checkbox",
41
+ group: "Filtros",
42
+ showWhen: { field: "variant", equals: "with-filters" }
43
+ },
44
+ filterDate: {
45
+ label: "Filtro por Período",
46
+ inputType: "checkbox",
47
+ group: "Filtros",
48
+ showWhen: { field: "variant", equals: "with-filters" }
49
+ }
50
+ }
51
+ };
52
+ e.register(a);
53
+ export {
54
+ a as blogSearchBarBlock
55
+ };
56
+ //# sourceMappingURL=blogSearchBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blogSearchBar.js","sources":["../../../../../src/engine/registry/blocks/sections/blogSearchBar.ts"],"sourcesContent":["import { BlockDefinition } from \"../../types\";\nimport { componentRegistry } from \"../../registry\";\n\nexport const blogSearchBarBlock: BlockDefinition<\"blogSearchBar\"> = {\n type: \"blogSearchBar\",\n name: \"Blog Search Bar\",\n description: \"Barra de busca para o blog (plugin Blog)\",\n category: \"sections\",\n pluginId: \"blog\",\n canHaveChildren: false,\n defaultProps: {\n placeholder: \"Buscar posts...\",\n variant: \"simple\",\n showIcon: true,\n searchUrl: \"/site/p/blog\",\n filterCategories: false,\n filterTags: false,\n filterDate: false,\n },\n inspectorMeta: {\n placeholder: { label: \"Placeholder\", inputType: \"text\", group: \"Conteúdo\" },\n variant: {\n label: \"Variante\",\n inputType: \"select\",\n group: \"Aparência\",\n options: [\n { value: \"simple\", label: \"Simples\" },\n { value: \"expanded\", label: \"Expandida\" },\n { value: \"with-filters\", label: \"Com filtros\" },\n ],\n },\n showIcon: { label: \"Mostrar Ícone\", inputType: \"checkbox\", group: \"Aparência\" },\n searchUrl: { label: \"URL de Busca\", inputType: \"text\", group: \"Comportamento\" },\n filterCategories: {\n label: \"Filtro por Categoria\",\n inputType: \"checkbox\",\n group: \"Filtros\",\n showWhen: { field: \"variant\", equals: \"with-filters\" },\n },\n filterTags: {\n label: \"Filtro por Tag\",\n inputType: \"checkbox\",\n group: \"Filtros\",\n showWhen: { field: \"variant\", equals: \"with-filters\" },\n },\n filterDate: {\n label: \"Filtro por Período\",\n inputType: \"checkbox\",\n group: \"Filtros\",\n showWhen: { field: \"variant\", equals: \"with-filters\" },\n },\n },\n};\n\n// Auto-registro\ncomponentRegistry.register(blogSearchBarBlock);\n"],"names":["blogSearchBarBlock","componentRegistry"],"mappings":";AAGO,MAAMA,IAAuD;AAAA,EAClE,MAAM;AAAA,EACN,MAAM;AAAA,EACN,aAAa;AAAA,EACb,UAAU;AAAA,EACV,UAAU;AAAA,EACV,iBAAiB;AAAA,EACjB,cAAc;AAAA,IACZ,aAAa;AAAA,IACb,SAAS;AAAA,IACT,UAAU;AAAA,IACV,WAAW;AAAA,IACX,kBAAkB;AAAA,IAClB,YAAY;AAAA,IACZ,YAAY;AAAA,EAAA;AAAA,EAEd,eAAe;AAAA,IACb,aAAa,EAAE,OAAO,eAAe,WAAW,QAAQ,OAAO,WAAA;AAAA,IAC/D,SAAS;AAAA,MACP,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,MACP,SAAS;AAAA,QACP,EAAE,OAAO,UAAU,OAAO,UAAA;AAAA,QAC1B,EAAE,OAAO,YAAY,OAAO,YAAA;AAAA,QAC5B,EAAE,OAAO,gBAAgB,OAAO,cAAA;AAAA,MAAc;AAAA,IAChD;AAAA,IAEF,UAAU,EAAE,OAAO,iBAAiB,WAAW,YAAY,OAAO,YAAA;AAAA,IAClE,WAAW,EAAE,OAAO,gBAAgB,WAAW,QAAQ,OAAO,gBAAA;AAAA,IAC9D,kBAAkB;AAAA,MAChB,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,MACP,UAAU,EAAE,OAAO,WAAW,QAAQ,eAAA;AAAA,IAAe;AAAA,IAEvD,YAAY;AAAA,MACV,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,MACP,UAAU,EAAE,OAAO,WAAW,QAAQ,eAAA;AAAA,IAAe;AAAA,IAEvD,YAAY;AAAA,MACV,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,MACP,UAAU,EAAE,OAAO,WAAW,QAAQ,eAAA;AAAA,IAAe;AAAA,EACvD;AAEJ;AAGAC,EAAkB,SAASD,CAAkB;"}
@@ -24,6 +24,8 @@ export * from './categoryCardGrid';
24
24
  export * from './blogPostCard';
25
25
  export * from './blogPostGrid';
26
26
  export * from './blogPostDetail';
27
+ export * from './blogCategoryFilter';
28
+ export * from './blogSearchBar';
27
29
  export * from './productShowcase';
28
30
  export * from './aboutSection';
29
31
  export * from './contactSection';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/engine/registry/blocks/sections/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/engine/registry/blocks/sections/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ export declare function renderBlogCategoryFilter(block: any): React.ReactNode;
3
+ //# sourceMappingURL=BlogCategoryFilterRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlogCategoryFilterRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/render/renderers/sections/BlogCategoryFilterRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,SAAS,CAsOpE"}
@@ -0,0 +1,213 @@
1
+ import { jsx as a, jsxs as t } from "react/jsx-runtime";
2
+ function u(s) {
3
+ const {
4
+ title: n,
5
+ categories: l = [],
6
+ variant: p = "chips",
7
+ showCount: d = !0,
8
+ showAll: g = !0,
9
+ allLabel: m = "Todas",
10
+ activeCategory: e,
11
+ filterUrl: i = "#"
12
+ } = s.props, f = (r) => r ? `${i}?categoria=${r}` : i;
13
+ return p === "chips" ? /* @__PURE__ */ a(
14
+ "div",
15
+ {
16
+ "data-block-group": "Conteúdo",
17
+ style: {
18
+ padding: "1.5rem 0",
19
+ backgroundColor: "var(--sg-bg)"
20
+ },
21
+ children: /* @__PURE__ */ t("div", { style: { maxWidth: "1200px", margin: "0 auto", padding: "0 1rem" }, children: [
22
+ n && /* @__PURE__ */ a("h3", { style: { fontSize: "1rem", fontWeight: 600, marginBottom: "1rem", color: "var(--sg-text)" }, children: n }),
23
+ /* @__PURE__ */ t("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.5rem" }, children: [
24
+ g && /* @__PURE__ */ a(
25
+ "a",
26
+ {
27
+ href: i,
28
+ style: {
29
+ display: "inline-flex",
30
+ alignItems: "center",
31
+ gap: "0.375rem",
32
+ padding: "0.375rem 0.875rem",
33
+ borderRadius: "9999px",
34
+ fontSize: "0.875rem",
35
+ fontWeight: 500,
36
+ textDecoration: "none",
37
+ backgroundColor: e ? "var(--sg-surface, #f3f4f6)" : "var(--sg-primary)",
38
+ color: e ? "var(--sg-text)" : "var(--sg-primary-text, #fff)",
39
+ transition: "all 0.2s ease"
40
+ },
41
+ children: m
42
+ }
43
+ ),
44
+ l.map((r, o) => /* @__PURE__ */ t(
45
+ "a",
46
+ {
47
+ href: f(r.slug),
48
+ style: {
49
+ display: "inline-flex",
50
+ alignItems: "center",
51
+ gap: "0.375rem",
52
+ padding: "0.375rem 0.875rem",
53
+ borderRadius: "9999px",
54
+ fontSize: "0.875rem",
55
+ fontWeight: 500,
56
+ textDecoration: "none",
57
+ backgroundColor: e === r.slug ? "var(--sg-primary)" : "var(--sg-surface, #f3f4f6)",
58
+ color: e === r.slug ? "var(--sg-primary-text, #fff)" : "var(--sg-text)",
59
+ transition: "all 0.2s ease"
60
+ },
61
+ children: [
62
+ r.name,
63
+ d && r.count != null && /* @__PURE__ */ t("span", { style: { fontSize: "0.75rem", opacity: 0.7 }, children: [
64
+ "(",
65
+ r.count,
66
+ ")"
67
+ ] })
68
+ ]
69
+ },
70
+ o
71
+ ))
72
+ ] })
73
+ ] })
74
+ },
75
+ s.id
76
+ ) : p === "buttons" ? /* @__PURE__ */ a(
77
+ "div",
78
+ {
79
+ "data-block-group": "Conteúdo",
80
+ style: {
81
+ padding: "1.5rem 0",
82
+ backgroundColor: "var(--sg-bg)"
83
+ },
84
+ children: /* @__PURE__ */ t("div", { style: { maxWidth: "1200px", margin: "0 auto", padding: "0 1rem" }, children: [
85
+ n && /* @__PURE__ */ a("h3", { style: { fontSize: "1rem", fontWeight: 600, marginBottom: "1rem", color: "var(--sg-text)" }, children: n }),
86
+ /* @__PURE__ */ t("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.5rem" }, children: [
87
+ g && /* @__PURE__ */ a(
88
+ "a",
89
+ {
90
+ href: i,
91
+ style: {
92
+ display: "inline-flex",
93
+ alignItems: "center",
94
+ gap: "0.375rem",
95
+ padding: "0.5rem 1rem",
96
+ borderRadius: "var(--sg-card-radius, 0.5rem)",
97
+ fontSize: "0.875rem",
98
+ fontWeight: 500,
99
+ textDecoration: "none",
100
+ border: "1px solid",
101
+ borderColor: e ? "var(--sg-border, #e5e7eb)" : "var(--sg-primary)",
102
+ backgroundColor: e ? "transparent" : "var(--sg-primary)",
103
+ color: e ? "var(--sg-text)" : "var(--sg-primary-text, #fff)",
104
+ transition: "all 0.2s ease"
105
+ },
106
+ children: m
107
+ }
108
+ ),
109
+ l.map((r, o) => /* @__PURE__ */ t(
110
+ "a",
111
+ {
112
+ href: f(r.slug),
113
+ style: {
114
+ display: "inline-flex",
115
+ alignItems: "center",
116
+ gap: "0.375rem",
117
+ padding: "0.5rem 1rem",
118
+ borderRadius: "var(--sg-card-radius, 0.5rem)",
119
+ fontSize: "0.875rem",
120
+ fontWeight: 500,
121
+ textDecoration: "none",
122
+ border: "1px solid",
123
+ borderColor: e === r.slug ? "var(--sg-primary)" : "var(--sg-border, #e5e7eb)",
124
+ backgroundColor: e === r.slug ? "var(--sg-primary)" : "transparent",
125
+ color: e === r.slug ? "var(--sg-primary-text, #fff)" : "var(--sg-text)",
126
+ transition: "all 0.2s ease"
127
+ },
128
+ children: [
129
+ r.name,
130
+ d && r.count != null && /* @__PURE__ */ t("span", { style: { fontSize: "0.75rem", opacity: 0.7 }, children: [
131
+ "(",
132
+ r.count,
133
+ ")"
134
+ ] })
135
+ ]
136
+ },
137
+ o
138
+ ))
139
+ ] })
140
+ ] })
141
+ },
142
+ s.id
143
+ ) : /* @__PURE__ */ a(
144
+ "div",
145
+ {
146
+ "data-block-group": "Conteúdo",
147
+ style: {
148
+ padding: "1.5rem 0",
149
+ backgroundColor: "var(--sg-bg)"
150
+ },
151
+ children: /* @__PURE__ */ t("div", { style: { maxWidth: "1200px", margin: "0 auto", padding: "0 1rem" }, children: [
152
+ n && /* @__PURE__ */ a("h3", { style: { fontSize: "1rem", fontWeight: 600, marginBottom: "1rem", color: "var(--sg-text)" }, children: n }),
153
+ /* @__PURE__ */ t("div", { style: { display: "flex", flexDirection: "column", gap: "0.25rem" }, children: [
154
+ g && /* @__PURE__ */ a(
155
+ "a",
156
+ {
157
+ href: i,
158
+ style: {
159
+ display: "flex",
160
+ alignItems: "center",
161
+ justifyContent: "space-between",
162
+ padding: "0.625rem 0.75rem",
163
+ borderRadius: "var(--sg-card-radius, 0.5rem)",
164
+ fontSize: "0.875rem",
165
+ fontWeight: e ? 400 : 600,
166
+ textDecoration: "none",
167
+ backgroundColor: e ? "transparent" : "var(--sg-surface, #f3f4f6)",
168
+ color: e ? "var(--sg-text)" : "var(--sg-primary)",
169
+ transition: "all 0.2s ease"
170
+ },
171
+ children: m
172
+ }
173
+ ),
174
+ l.map((r, o) => /* @__PURE__ */ t(
175
+ "a",
176
+ {
177
+ href: f(r.slug),
178
+ style: {
179
+ display: "flex",
180
+ alignItems: "center",
181
+ justifyContent: "space-between",
182
+ padding: "0.625rem 0.75rem",
183
+ borderRadius: "var(--sg-card-radius, 0.5rem)",
184
+ fontSize: "0.875rem",
185
+ fontWeight: e === r.slug ? 600 : 400,
186
+ textDecoration: "none",
187
+ backgroundColor: e === r.slug ? "var(--sg-surface, #f3f4f6)" : "transparent",
188
+ color: e === r.slug ? "var(--sg-primary)" : "var(--sg-text)",
189
+ transition: "all 0.2s ease"
190
+ },
191
+ children: [
192
+ /* @__PURE__ */ a("span", { children: r.name }),
193
+ d && r.count != null && /* @__PURE__ */ a("span", { style: {
194
+ fontSize: "0.75rem",
195
+ color: "var(--sg-muted-text)",
196
+ backgroundColor: "var(--sg-surface, #f3f4f6)",
197
+ padding: "0.125rem 0.5rem",
198
+ borderRadius: "9999px"
199
+ }, children: r.count })
200
+ ]
201
+ },
202
+ o
203
+ ))
204
+ ] })
205
+ ] })
206
+ },
207
+ s.id
208
+ );
209
+ }
210
+ export {
211
+ u as renderBlogCategoryFilter
212
+ };
213
+ //# sourceMappingURL=BlogCategoryFilterRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlogCategoryFilterRenderer.js","sources":["../../../../../src/engine/render/renderers/sections/BlogCategoryFilterRenderer.tsx"],"sourcesContent":["/**\n * BlogCategoryFilter Renderer\n * Renderiza filtro de categorias com 3 variantes: chips, buttons, list\n */\n\nimport React from \"react\";\n\nexport function renderBlogCategoryFilter(block: any): React.ReactNode {\n const {\n title,\n categories = [],\n variant = \"chips\",\n showCount = true,\n showAll = true,\n allLabel = \"Todas\",\n activeCategory,\n filterUrl = \"#\",\n } = block.props;\n\n const buildHref = (slug?: string) => {\n if (!slug) return filterUrl;\n return `${filterUrl}?categoria=${slug}`;\n };\n\n // ─── Variant: chips ───\n if (variant === \"chips\") {\n return (\n <div\n key={block.id}\n data-block-group=\"Conteúdo\"\n style={{\n padding: \"1.5rem 0\",\n backgroundColor: \"var(--sg-bg)\",\n }}\n >\n <div style={{ maxWidth: \"1200px\", margin: \"0 auto\", padding: \"0 1rem\" }}>\n {title && (\n <h3 style={{ fontSize: \"1rem\", fontWeight: 600, marginBottom: \"1rem\", color: \"var(--sg-text)\" }}>\n {title}\n </h3>\n )}\n <div style={{ display: \"flex\", flexWrap: \"wrap\", gap: \"0.5rem\" }}>\n {showAll && (\n <a\n href={filterUrl}\n style={{\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: \"0.375rem\",\n padding: \"0.375rem 0.875rem\",\n borderRadius: \"9999px\",\n fontSize: \"0.875rem\",\n fontWeight: 500,\n textDecoration: \"none\",\n backgroundColor: !activeCategory ? \"var(--sg-primary)\" : \"var(--sg-surface, #f3f4f6)\",\n color: !activeCategory ? \"var(--sg-primary-text, #fff)\" : \"var(--sg-text)\",\n transition: \"all 0.2s ease\",\n }}\n >\n {allLabel}\n </a>\n )}\n {categories.map((cat: any, i: number) => (\n <a\n key={i}\n href={buildHref(cat.slug)}\n style={{\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: \"0.375rem\",\n padding: \"0.375rem 0.875rem\",\n borderRadius: \"9999px\",\n fontSize: \"0.875rem\",\n fontWeight: 500,\n textDecoration: \"none\",\n backgroundColor: activeCategory === cat.slug ? \"var(--sg-primary)\" : \"var(--sg-surface, #f3f4f6)\",\n color: activeCategory === cat.slug ? \"var(--sg-primary-text, #fff)\" : \"var(--sg-text)\",\n transition: \"all 0.2s ease\",\n }}\n >\n {cat.name}\n {showCount && cat.count != null && (\n <span style={{ fontSize: \"0.75rem\", opacity: 0.7 }}>({cat.count})</span>\n )}\n </a>\n ))}\n </div>\n </div>\n </div>\n );\n }\n\n // ─── Variant: buttons ───\n if (variant === \"buttons\") {\n return (\n <div\n key={block.id}\n data-block-group=\"Conteúdo\"\n style={{\n padding: \"1.5rem 0\",\n backgroundColor: \"var(--sg-bg)\",\n }}\n >\n <div style={{ maxWidth: \"1200px\", margin: \"0 auto\", padding: \"0 1rem\" }}>\n {title && (\n <h3 style={{ fontSize: \"1rem\", fontWeight: 600, marginBottom: \"1rem\", color: \"var(--sg-text)\" }}>\n {title}\n </h3>\n )}\n <div style={{ display: \"flex\", flexWrap: \"wrap\", gap: \"0.5rem\" }}>\n {showAll && (\n <a\n href={filterUrl}\n style={{\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: \"0.375rem\",\n padding: \"0.5rem 1rem\",\n borderRadius: \"var(--sg-card-radius, 0.5rem)\",\n fontSize: \"0.875rem\",\n fontWeight: 500,\n textDecoration: \"none\",\n border: \"1px solid\",\n borderColor: !activeCategory ? \"var(--sg-primary)\" : \"var(--sg-border, #e5e7eb)\",\n backgroundColor: !activeCategory ? \"var(--sg-primary)\" : \"transparent\",\n color: !activeCategory ? \"var(--sg-primary-text, #fff)\" : \"var(--sg-text)\",\n transition: \"all 0.2s ease\",\n }}\n >\n {allLabel}\n </a>\n )}\n {categories.map((cat: any, i: number) => (\n <a\n key={i}\n href={buildHref(cat.slug)}\n style={{\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: \"0.375rem\",\n padding: \"0.5rem 1rem\",\n borderRadius: \"var(--sg-card-radius, 0.5rem)\",\n fontSize: \"0.875rem\",\n fontWeight: 500,\n textDecoration: \"none\",\n border: \"1px solid\",\n borderColor: activeCategory === cat.slug ? \"var(--sg-primary)\" : \"var(--sg-border, #e5e7eb)\",\n backgroundColor: activeCategory === cat.slug ? \"var(--sg-primary)\" : \"transparent\",\n color: activeCategory === cat.slug ? \"var(--sg-primary-text, #fff)\" : \"var(--sg-text)\",\n transition: \"all 0.2s ease\",\n }}\n >\n {cat.name}\n {showCount && cat.count != null && (\n <span style={{ fontSize: \"0.75rem\", opacity: 0.7 }}>({cat.count})</span>\n )}\n </a>\n ))}\n </div>\n </div>\n </div>\n );\n }\n\n // ─── Variant: list ───\n return (\n <div\n key={block.id}\n data-block-group=\"Conteúdo\"\n style={{\n padding: \"1.5rem 0\",\n backgroundColor: \"var(--sg-bg)\",\n }}\n >\n <div style={{ maxWidth: \"1200px\", margin: \"0 auto\", padding: \"0 1rem\" }}>\n {title && (\n <h3 style={{ fontSize: \"1rem\", fontWeight: 600, marginBottom: \"1rem\", color: \"var(--sg-text)\" }}>\n {title}\n </h3>\n )}\n <div style={{ display: \"flex\", flexDirection: \"column\", gap: \"0.25rem\" }}>\n {showAll && (\n <a\n href={filterUrl}\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"0.625rem 0.75rem\",\n borderRadius: \"var(--sg-card-radius, 0.5rem)\",\n fontSize: \"0.875rem\",\n fontWeight: !activeCategory ? 600 : 400,\n textDecoration: \"none\",\n backgroundColor: !activeCategory ? \"var(--sg-surface, #f3f4f6)\" : \"transparent\",\n color: !activeCategory ? \"var(--sg-primary)\" : \"var(--sg-text)\",\n transition: \"all 0.2s ease\",\n }}\n >\n {allLabel}\n </a>\n )}\n {categories.map((cat: any, i: number) => (\n <a\n key={i}\n href={buildHref(cat.slug)}\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"0.625rem 0.75rem\",\n borderRadius: \"var(--sg-card-radius, 0.5rem)\",\n fontSize: \"0.875rem\",\n fontWeight: activeCategory === cat.slug ? 600 : 400,\n textDecoration: \"none\",\n backgroundColor: activeCategory === cat.slug ? \"var(--sg-surface, #f3f4f6)\" : \"transparent\",\n color: activeCategory === cat.slug ? \"var(--sg-primary)\" : \"var(--sg-text)\",\n transition: \"all 0.2s ease\",\n }}\n >\n <span>{cat.name}</span>\n {showCount && cat.count != null && (\n <span style={{\n fontSize: \"0.75rem\",\n color: \"var(--sg-muted-text)\",\n backgroundColor: \"var(--sg-surface, #f3f4f6)\",\n padding: \"0.125rem 0.5rem\",\n borderRadius: \"9999px\",\n }}>\n {cat.count}\n </span>\n )}\n </a>\n ))}\n </div>\n </div>\n </div>\n );\n}\n"],"names":["renderBlogCategoryFilter","block","title","categories","variant","showCount","showAll","allLabel","activeCategory","filterUrl","buildHref","slug","jsx","jsxs","cat","i"],"mappings":";AAOO,SAASA,EAAyBC,GAA6B;AACpE,QAAM;AAAA,IACJ,OAAAC;AAAA,IACA,YAAAC,IAAa,CAAA;AAAA,IACb,SAAAC,IAAU;AAAA,IACV,WAAAC,IAAY;AAAA,IACZ,SAAAC,IAAU;AAAA,IACV,UAAAC,IAAW;AAAA,IACX,gBAAAC;AAAA,IACA,WAAAC,IAAY;AAAA,EAAA,IACVR,EAAM,OAEJS,IAAY,CAACC,MACZA,IACE,GAAGF,CAAS,cAAcE,CAAI,KADnBF;AAKpB,SAAIL,MAAY,UAEZ,gBAAAQ;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,oBAAiB;AAAA,MACjB,OAAO;AAAA,QACL,SAAS;AAAA,QACT,iBAAiB;AAAA,MAAA;AAAA,MAGnB,UAAA,gBAAAC,EAAC,OAAA,EAAI,OAAO,EAAE,UAAU,UAAU,QAAQ,UAAU,SAAS,SAAA,GAC1D,UAAA;AAAA,QAAAX,KACC,gBAAAU,EAAC,MAAA,EAAG,OAAO,EAAE,UAAU,QAAQ,YAAY,KAAK,cAAc,QAAQ,OAAO,iBAAA,GAC1E,UAAAV,GACH;AAAA,QAEF,gBAAAW,EAAC,OAAA,EAAI,OAAO,EAAE,SAAS,QAAQ,UAAU,QAAQ,KAAK,SAAA,GACnD,UAAA;AAAA,UAAAP,KACC,gBAAAM;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAMH;AAAA,cACN,OAAO;AAAA,gBACL,SAAS;AAAA,gBACT,YAAY;AAAA,gBACZ,KAAK;AAAA,gBACL,SAAS;AAAA,gBACT,cAAc;AAAA,gBACd,UAAU;AAAA,gBACV,YAAY;AAAA,gBACZ,gBAAgB;AAAA,gBAChB,iBAAkBD,IAAuC,+BAAtB;AAAA,gBACnC,OAAQA,IAAkD,mBAAjC;AAAA,gBACzB,YAAY;AAAA,cAAA;AAAA,cAGb,UAAAD;AAAA,YAAA;AAAA,UAAA;AAAA,UAGJJ,EAAW,IAAI,CAACW,GAAUC,MACzB,gBAAAF;AAAA,YAAC;AAAA,YAAA;AAAA,cAEC,MAAMH,EAAUI,EAAI,IAAI;AAAA,cACxB,OAAO;AAAA,gBACL,SAAS;AAAA,gBACT,YAAY;AAAA,gBACZ,KAAK;AAAA,gBACL,SAAS;AAAA,gBACT,cAAc;AAAA,gBACd,UAAU;AAAA,gBACV,YAAY;AAAA,gBACZ,gBAAgB;AAAA,gBAChB,iBAAiBN,MAAmBM,EAAI,OAAO,sBAAsB;AAAA,gBACrE,OAAON,MAAmBM,EAAI,OAAO,iCAAiC;AAAA,gBACtE,YAAY;AAAA,cAAA;AAAA,cAGb,UAAA;AAAA,gBAAAA,EAAI;AAAA,gBACJT,KAAaS,EAAI,SAAS,QACzB,gBAAAD,EAAC,QAAA,EAAK,OAAO,EAAE,UAAU,WAAW,SAAS,IAAA,GAAO,UAAA;AAAA,kBAAA;AAAA,kBAAEC,EAAI;AAAA,kBAAM;AAAA,gBAAA,EAAA,CAAC;AAAA,cAAA;AAAA,YAAA;AAAA,YAlB9DC;AAAA,UAAA,CAqBR;AAAA,QAAA,EAAA,CACH;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,IA3DKd,EAAM;AAAA,EAAA,IAiEbG,MAAY,YAEZ,gBAAAQ;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,oBAAiB;AAAA,MACjB,OAAO;AAAA,QACL,SAAS;AAAA,QACT,iBAAiB;AAAA,MAAA;AAAA,MAGnB,UAAA,gBAAAC,EAAC,OAAA,EAAI,OAAO,EAAE,UAAU,UAAU,QAAQ,UAAU,SAAS,SAAA,GAC1D,UAAA;AAAA,QAAAX,KACC,gBAAAU,EAAC,MAAA,EAAG,OAAO,EAAE,UAAU,QAAQ,YAAY,KAAK,cAAc,QAAQ,OAAO,iBAAA,GAC1E,UAAAV,GACH;AAAA,QAEF,gBAAAW,EAAC,OAAA,EAAI,OAAO,EAAE,SAAS,QAAQ,UAAU,QAAQ,KAAK,SAAA,GACnD,UAAA;AAAA,UAAAP,KACC,gBAAAM;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAMH;AAAA,cACN,OAAO;AAAA,gBACL,SAAS;AAAA,gBACT,YAAY;AAAA,gBACZ,KAAK;AAAA,gBACL,SAAS;AAAA,gBACT,cAAc;AAAA,gBACd,UAAU;AAAA,gBACV,YAAY;AAAA,gBACZ,gBAAgB;AAAA,gBAChB,QAAQ;AAAA,gBACR,aAAcD,IAAuC,8BAAtB;AAAA,gBAC/B,iBAAkBA,IAAuC,gBAAtB;AAAA,gBACnC,OAAQA,IAAkD,mBAAjC;AAAA,gBACzB,YAAY;AAAA,cAAA;AAAA,cAGb,UAAAD;AAAA,YAAA;AAAA,UAAA;AAAA,UAGJJ,EAAW,IAAI,CAACW,GAAUC,MACzB,gBAAAF;AAAA,YAAC;AAAA,YAAA;AAAA,cAEC,MAAMH,EAAUI,EAAI,IAAI;AAAA,cACxB,OAAO;AAAA,gBACL,SAAS;AAAA,gBACT,YAAY;AAAA,gBACZ,KAAK;AAAA,gBACL,SAAS;AAAA,gBACT,cAAc;AAAA,gBACd,UAAU;AAAA,gBACV,YAAY;AAAA,gBACZ,gBAAgB;AAAA,gBAChB,QAAQ;AAAA,gBACR,aAAaN,MAAmBM,EAAI,OAAO,sBAAsB;AAAA,gBACjE,iBAAiBN,MAAmBM,EAAI,OAAO,sBAAsB;AAAA,gBACrE,OAAON,MAAmBM,EAAI,OAAO,iCAAiC;AAAA,gBACtE,YAAY;AAAA,cAAA;AAAA,cAGb,UAAA;AAAA,gBAAAA,EAAI;AAAA,gBACJT,KAAaS,EAAI,SAAS,QACzB,gBAAAD,EAAC,QAAA,EAAK,OAAO,EAAE,UAAU,WAAW,SAAS,IAAA,GAAO,UAAA;AAAA,kBAAA;AAAA,kBAAEC,EAAI;AAAA,kBAAM;AAAA,gBAAA,EAAA,CAAC;AAAA,cAAA;AAAA,YAAA;AAAA,YApB9DC;AAAA,UAAA,CAuBR;AAAA,QAAA,EAAA,CACH;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,IA/DKd,EAAM;AAAA,EAAA,IAsEf,gBAAAW;AAAA,IAAC;AAAA,IAAA;AAAA,MAEC,oBAAiB;AAAA,MACjB,OAAO;AAAA,QACL,SAAS;AAAA,QACT,iBAAiB;AAAA,MAAA;AAAA,MAGnB,UAAA,gBAAAC,EAAC,OAAA,EAAI,OAAO,EAAE,UAAU,UAAU,QAAQ,UAAU,SAAS,SAAA,GAC1D,UAAA;AAAA,QAAAX,KACC,gBAAAU,EAAC,MAAA,EAAG,OAAO,EAAE,UAAU,QAAQ,YAAY,KAAK,cAAc,QAAQ,OAAO,iBAAA,GAC1E,UAAAV,GACH;AAAA,QAEF,gBAAAW,EAAC,OAAA,EAAI,OAAO,EAAE,SAAS,QAAQ,eAAe,UAAU,KAAK,UAAA,GAC1D,UAAA;AAAA,UAAAP,KACC,gBAAAM;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,MAAMH;AAAA,cACN,OAAO;AAAA,gBACL,SAAS;AAAA,gBACT,YAAY;AAAA,gBACZ,gBAAgB;AAAA,gBAChB,SAAS;AAAA,gBACT,cAAc;AAAA,gBACd,UAAU;AAAA,gBACV,YAAaD,IAAuB,MAAN;AAAA,gBAC9B,gBAAgB;AAAA,gBAChB,iBAAkBA,IAAgD,gBAA/B;AAAA,gBACnC,OAAQA,IAAuC,mBAAtB;AAAA,gBACzB,YAAY;AAAA,cAAA;AAAA,cAGb,UAAAD;AAAA,YAAA;AAAA,UAAA;AAAA,UAGJJ,EAAW,IAAI,CAACW,GAAUC,MACzB,gBAAAF;AAAA,YAAC;AAAA,YAAA;AAAA,cAEC,MAAMH,EAAUI,EAAI,IAAI;AAAA,cACxB,OAAO;AAAA,gBACL,SAAS;AAAA,gBACT,YAAY;AAAA,gBACZ,gBAAgB;AAAA,gBAChB,SAAS;AAAA,gBACT,cAAc;AAAA,gBACd,UAAU;AAAA,gBACV,YAAYN,MAAmBM,EAAI,OAAO,MAAM;AAAA,gBAChD,gBAAgB;AAAA,gBAChB,iBAAiBN,MAAmBM,EAAI,OAAO,+BAA+B;AAAA,gBAC9E,OAAON,MAAmBM,EAAI,OAAO,sBAAsB;AAAA,gBAC3D,YAAY;AAAA,cAAA;AAAA,cAGd,UAAA;AAAA,gBAAA,gBAAAF,EAAC,QAAA,EAAM,YAAI,KAAA,CAAK;AAAA,gBACfP,KAAaS,EAAI,SAAS,QACzB,gBAAAF,EAAC,UAAK,OAAO;AAAA,kBACX,UAAU;AAAA,kBACV,OAAO;AAAA,kBACP,iBAAiB;AAAA,kBACjB,SAAS;AAAA,kBACT,cAAc;AAAA,gBAAA,GAEb,YAAI,MAAA,CACP;AAAA,cAAA;AAAA,YAAA;AAAA,YA1BGG;AAAA,UAAA,CA6BR;AAAA,QAAA,EAAA,CACH;AAAA,MAAA,EAAA,CACF;AAAA,IAAA;AAAA,IAnEKd,EAAM;AAAA,EAAA;AAsEjB;"}
@@ -0,0 +1,3 @@
1
+ import { default as React } from 'react';
2
+ export declare function renderBlogSearchBar(block: any): React.ReactNode;
3
+ //# sourceMappingURL=BlogSearchBarRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlogSearchBarRenderer.d.ts","sourceRoot":"","sources":["../../../../../src/engine/render/renderers/sections/BlogSearchBarRenderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAwB1B,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAAC,SAAS,CAmI/D"}
@@ -0,0 +1,138 @@
1
+ import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
+ function s() {
3
+ return /* @__PURE__ */ t(
4
+ "svg",
5
+ {
6
+ style: {
7
+ position: "absolute",
8
+ left: "0.75rem",
9
+ top: "50%",
10
+ transform: "translateY(-50%)",
11
+ width: "1.25rem",
12
+ height: "1.25rem",
13
+ color: "var(--sg-muted-text)"
14
+ },
15
+ fill: "none",
16
+ stroke: "currentColor",
17
+ viewBox: "0 0 24 24",
18
+ children: [
19
+ /* @__PURE__ */ e("circle", { cx: "11", cy: "11", r: "8" }),
20
+ /* @__PURE__ */ e("path", { d: "m21 21-4.35-4.35", strokeLinecap: "round" })
21
+ ]
22
+ }
23
+ );
24
+ }
25
+ function h(a) {
26
+ const {
27
+ placeholder: d = "Buscar posts...",
28
+ variant: r = "simple",
29
+ showIcon: i = !0,
30
+ searchUrl: o = "#",
31
+ filterCategories: c = !1,
32
+ filterTags: p = !1,
33
+ filterDate: g = !1
34
+ } = a.props, n = {
35
+ width: "100%",
36
+ paddingLeft: i ? "2.5rem" : "0.75rem",
37
+ paddingRight: "1rem",
38
+ paddingTop: r === "expanded" ? "0.875rem" : "0.625rem",
39
+ paddingBottom: r === "expanded" ? "0.875rem" : "0.625rem",
40
+ fontSize: r === "expanded" ? "1.0625rem" : "0.875rem",
41
+ border: r === "expanded" ? "2px solid var(--sg-border, #e5e7eb)" : "1px solid var(--sg-border, #e5e7eb)",
42
+ borderRadius: "var(--sg-card-radius, 0.5rem)",
43
+ backgroundColor: "var(--sg-bg)",
44
+ color: "var(--sg-text)",
45
+ outline: "none"
46
+ }, l = {
47
+ padding: "0.625rem 0.75rem",
48
+ fontSize: "0.875rem",
49
+ border: "1px solid var(--sg-border, #e5e7eb)",
50
+ borderRadius: "var(--sg-card-radius, 0.5rem)",
51
+ backgroundColor: "var(--sg-bg)",
52
+ color: "var(--sg-text)"
53
+ };
54
+ return r === "expanded" ? /* @__PURE__ */ e(
55
+ "form",
56
+ {
57
+ "data-block-group": "Conteúdo",
58
+ action: o,
59
+ method: "get",
60
+ style: {
61
+ padding: "2rem 0",
62
+ backgroundColor: "var(--sg-bg)"
63
+ },
64
+ children: /* @__PURE__ */ e(
65
+ "div",
66
+ {
67
+ style: {
68
+ maxWidth: "1200px",
69
+ margin: "0 auto",
70
+ padding: "0 1rem",
71
+ display: "flex",
72
+ justifyContent: "center"
73
+ },
74
+ children: /* @__PURE__ */ t("div", { style: { position: "relative", width: "100%", maxWidth: "600px" }, children: [
75
+ i && /* @__PURE__ */ e(s, {}),
76
+ /* @__PURE__ */ e("input", { type: "search", name: "busca", placeholder: d, style: n })
77
+ ] })
78
+ }
79
+ )
80
+ },
81
+ a.id
82
+ ) : r === "with-filters" ? /* @__PURE__ */ e(
83
+ "form",
84
+ {
85
+ "data-block-group": "Conteúdo",
86
+ action: o,
87
+ method: "get",
88
+ style: {
89
+ padding: "1.5rem 0",
90
+ backgroundColor: "var(--sg-bg)"
91
+ },
92
+ children: /* @__PURE__ */ t(
93
+ "div",
94
+ {
95
+ style: {
96
+ maxWidth: "1200px",
97
+ margin: "0 auto",
98
+ padding: "0 1rem",
99
+ display: "flex",
100
+ flexWrap: "wrap",
101
+ gap: "0.75rem",
102
+ alignItems: "center"
103
+ },
104
+ children: [
105
+ /* @__PURE__ */ t("div", { style: { position: "relative", flex: 1, minWidth: "200px" }, children: [
106
+ i && /* @__PURE__ */ e(s, {}),
107
+ /* @__PURE__ */ e("input", { type: "search", name: "busca", placeholder: d, style: n })
108
+ ] }),
109
+ c && /* @__PURE__ */ e("select", { name: "categoria", style: l, children: /* @__PURE__ */ e("option", { value: "", children: "Categoria" }) }),
110
+ p && /* @__PURE__ */ e("select", { name: "tag", style: l, children: /* @__PURE__ */ e("option", { value: "", children: "Tag" }) }),
111
+ g && /* @__PURE__ */ e("select", { name: "periodo", style: l, children: /* @__PURE__ */ e("option", { value: "", children: "Período" }) })
112
+ ]
113
+ }
114
+ )
115
+ },
116
+ a.id
117
+ ) : /* @__PURE__ */ e(
118
+ "form",
119
+ {
120
+ "data-block-group": "Conteúdo",
121
+ action: o,
122
+ method: "get",
123
+ style: {
124
+ padding: "1.5rem 0",
125
+ backgroundColor: "var(--sg-bg)"
126
+ },
127
+ children: /* @__PURE__ */ e("div", { style: { maxWidth: "1200px", margin: "0 auto", padding: "0 1rem" }, children: /* @__PURE__ */ t("div", { style: { position: "relative", width: "100%", maxWidth: "400px" }, children: [
128
+ i && /* @__PURE__ */ e(s, {}),
129
+ /* @__PURE__ */ e("input", { type: "search", name: "busca", placeholder: d, style: n })
130
+ ] }) })
131
+ },
132
+ a.id
133
+ );
134
+ }
135
+ export {
136
+ h as renderBlogSearchBar
137
+ };
138
+ //# sourceMappingURL=BlogSearchBarRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlogSearchBarRenderer.js","sources":["../../../../../src/engine/render/renderers/sections/BlogSearchBarRenderer.tsx"],"sourcesContent":["/**\n * BlogSearchBar Renderer\n * Renderiza barra de busca com 3 variantes: simple, expanded, with-filters\n */\n\nimport React from \"react\";\n\nfunction SearchIcon() {\n return (\n <svg\n style={{\n position: \"absolute\",\n left: \"0.75rem\",\n top: \"50%\",\n transform: \"translateY(-50%)\",\n width: \"1.25rem\",\n height: \"1.25rem\",\n color: \"var(--sg-muted-text)\",\n }}\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <path d=\"m21 21-4.35-4.35\" strokeLinecap=\"round\" />\n </svg>\n );\n}\n\nexport function renderBlogSearchBar(block: any): React.ReactNode {\n const {\n placeholder = \"Buscar posts...\",\n variant = \"simple\",\n showIcon = true,\n searchUrl = \"#\",\n filterCategories = false,\n filterTags = false,\n filterDate = false,\n } = block.props;\n\n const inputStyle: React.CSSProperties = {\n width: \"100%\",\n paddingLeft: showIcon ? \"2.5rem\" : \"0.75rem\",\n paddingRight: \"1rem\",\n paddingTop: variant === \"expanded\" ? \"0.875rem\" : \"0.625rem\",\n paddingBottom: variant === \"expanded\" ? \"0.875rem\" : \"0.625rem\",\n fontSize: variant === \"expanded\" ? \"1.0625rem\" : \"0.875rem\",\n border: variant === \"expanded\" ? \"2px solid var(--sg-border, #e5e7eb)\" : \"1px solid var(--sg-border, #e5e7eb)\",\n borderRadius: \"var(--sg-card-radius, 0.5rem)\",\n backgroundColor: \"var(--sg-bg)\",\n color: \"var(--sg-text)\",\n outline: \"none\",\n };\n\n const selectStyle: React.CSSProperties = {\n padding: \"0.625rem 0.75rem\",\n fontSize: \"0.875rem\",\n border: \"1px solid var(--sg-border, #e5e7eb)\",\n borderRadius: \"var(--sg-card-radius, 0.5rem)\",\n backgroundColor: \"var(--sg-bg)\",\n color: \"var(--sg-text)\",\n };\n\n if (variant === \"expanded\") {\n return (\n <form\n key={block.id}\n data-block-group=\"Conteúdo\"\n action={searchUrl}\n method=\"get\"\n style={{\n padding: \"2rem 0\",\n backgroundColor: \"var(--sg-bg)\",\n }}\n >\n <div\n style={{\n maxWidth: \"1200px\",\n margin: \"0 auto\",\n padding: \"0 1rem\",\n display: \"flex\",\n justifyContent: \"center\",\n }}\n >\n <div style={{ position: \"relative\", width: \"100%\", maxWidth: \"600px\" }}>\n {showIcon && <SearchIcon />}\n <input type=\"search\" name=\"busca\" placeholder={placeholder} style={inputStyle} />\n </div>\n </div>\n </form>\n );\n }\n\n if (variant === \"with-filters\") {\n return (\n <form\n key={block.id}\n data-block-group=\"Conteúdo\"\n action={searchUrl}\n method=\"get\"\n style={{\n padding: \"1.5rem 0\",\n backgroundColor: \"var(--sg-bg)\",\n }}\n >\n <div\n style={{\n maxWidth: \"1200px\",\n margin: \"0 auto\",\n padding: \"0 1rem\",\n display: \"flex\",\n flexWrap: \"wrap\",\n gap: \"0.75rem\",\n alignItems: \"center\",\n }}\n >\n <div style={{ position: \"relative\", flex: 1, minWidth: \"200px\" }}>\n {showIcon && <SearchIcon />}\n <input type=\"search\" name=\"busca\" placeholder={placeholder} style={inputStyle} />\n </div>\n {filterCategories && (\n <select name=\"categoria\" style={selectStyle}>\n <option value=\"\">Categoria</option>\n </select>\n )}\n {filterTags && (\n <select name=\"tag\" style={selectStyle}>\n <option value=\"\">Tag</option>\n </select>\n )}\n {filterDate && (\n <select name=\"periodo\" style={selectStyle}>\n <option value=\"\">Período</option>\n </select>\n )}\n </div>\n </form>\n );\n }\n\n // simple variant\n return (\n <form\n key={block.id}\n data-block-group=\"Conteúdo\"\n action={searchUrl}\n method=\"get\"\n style={{\n padding: \"1.5rem 0\",\n backgroundColor: \"var(--sg-bg)\",\n }}\n >\n <div style={{ maxWidth: \"1200px\", margin: \"0 auto\", padding: \"0 1rem\" }}>\n <div style={{ position: \"relative\", width: \"100%\", maxWidth: \"400px\" }}>\n {showIcon && <SearchIcon />}\n <input type=\"search\" name=\"busca\" placeholder={placeholder} style={inputStyle} />\n </div>\n </div>\n </form>\n );\n}\n"],"names":["SearchIcon","jsxs","jsx","renderBlogSearchBar","block","placeholder","variant","showIcon","searchUrl","filterCategories","filterTags","filterDate","inputStyle","selectStyle"],"mappings":"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"}
@@ -4,41 +4,45 @@ import { renderFeature as t } from "./FeatureRenderer.js";
4
4
  import { renderFeatureGrid as o } from "./FeatureGridRenderer.js";
5
5
  import { renderPricing as i } from "./PricingRenderer.js";
6
6
  import { renderPricingCard as m } from "./PricingCardRenderer.js";
7
- import { renderTestimonial as s } from "./TestimonialRenderer.js";
8
- import { renderTestimonialGrid as n } from "./TestimonialGridRenderer.js";
9
- import { renderFaq as d } from "./FaqRenderer.js";
10
- import { renderFaqItem as g } from "./FaqItemRenderer.js";
11
- import { renderCta as a } from "./CtaRenderer.js";
7
+ import { renderTestimonial as g } from "./TestimonialRenderer.js";
8
+ import { renderTestimonialGrid as s } from "./TestimonialGridRenderer.js";
9
+ import { renderFaq as a } from "./FaqRenderer.js";
10
+ import { renderFaqItem as n } from "./FaqItemRenderer.js";
11
+ import { renderCta as d } from "./CtaRenderer.js";
12
12
  import { renderStats as f } from "./StatsRenderer.js";
13
13
  import { renderStatItem as p } from "./StatItemRenderer.js";
14
- import { renderLogoCloud as c } from "./LogoCloudRenderer.js";
15
- import { renderNavbar as l } from "./NavbarRenderer.js";
14
+ import { renderLogoCloud as l } from "./LogoCloudRenderer.js";
15
+ import { renderNavbar as c } from "./NavbarRenderer.js";
16
16
  import { renderFooter as u } from "./FooterRenderer.js";
17
- import { renderBlogPostCard as P } from "./BlogPostCardRenderer.js";
18
- import { renderBlogPostGrid as C } from "./BlogPostGridRenderer.js";
19
- import { renderBlogPostDetail as S } from "./BlogPostDetailRenderer.js";
20
- import { renderProductShowcase as b } from "./ProductShowcaseRenderer.js";
17
+ import { renderBlogPostCard as C } from "./BlogPostCardRenderer.js";
18
+ import { renderBlogPostGrid as S } from "./BlogPostGridRenderer.js";
19
+ import { renderBlogPostDetail as b } from "./BlogPostDetailRenderer.js";
20
+ import { renderBlogCategoryFilter as P } from "./BlogCategoryFilterRenderer.js";
21
+ import { renderBlogSearchBar as B } from "./BlogSearchBarRenderer.js";
22
+ import { renderProductShowcase as F } from "./ProductShowcaseRenderer.js";
21
23
  import { renderAboutSection as G } from "./AboutSectionRenderer.js";
22
- import { renderContactSection as F } from "./ContactSectionRenderer.js";
24
+ import { renderContactSection as h } from "./ContactSectionRenderer.js";
23
25
  r.register("hero", e);
24
26
  r.register("feature", t);
25
27
  r.register("featureGrid", o);
26
28
  r.register("pricing", i);
27
29
  r.register("pricingCard", m);
28
- r.register("testimonial", s);
29
- r.register("testimonialGrid", n);
30
- r.register("faq", d);
31
- r.register("faqItem", g);
32
- r.register("cta", a);
30
+ r.register("testimonial", g);
31
+ r.register("testimonialGrid", s);
32
+ r.register("faq", a);
33
+ r.register("faqItem", n);
34
+ r.register("cta", d);
33
35
  r.register("stats", f);
34
36
  r.register("statItem", p);
35
- r.register("logoCloud", c);
36
- r.register("navbar", l);
37
+ r.register("logoCloud", l);
38
+ r.register("navbar", c);
37
39
  r.register("footer", u);
38
- r.register("blogPostCard", P);
39
- r.register("blogPostGrid", C);
40
- r.register("blogPostDetail", S);
41
- r.register("productShowcase", b);
40
+ r.register("blogPostCard", C);
41
+ r.register("blogPostGrid", S);
42
+ r.register("blogPostDetail", b);
43
+ r.register("blogCategoryFilter", P);
44
+ r.register("blogSearchBar", B);
45
+ r.register("productShowcase", F);
42
46
  r.register("aboutSection", G);
43
- r.register("contactSection", F);
47
+ r.register("contactSection", h);
44
48
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/engine/render/renderers/sections/index.ts"],"sourcesContent":["/**\n * Section Renderers\n * Auto-registra todos os renderizadores de seções\n */\n\nimport { renderRegistry } from \"../../registry/renderRegistry\";\nimport { renderHero } from \"./HeroRenderer\";\nimport { renderFeature } from \"./FeatureRenderer\";\nimport { renderFeatureGrid } from \"./FeatureGridRenderer\";\nimport { renderPricing } from \"./PricingRenderer\";\nimport { renderPricingCard } from \"./PricingCardRenderer\";\nimport { renderTestimonial } from \"./TestimonialRenderer\";\nimport { renderTestimonialGrid } from \"./TestimonialGridRenderer\";\nimport { renderFaq } from \"./FaqRenderer\";\nimport { renderFaqItem } from \"./FaqItemRenderer\";\nimport { renderCta } from \"./CtaRenderer\";\nimport { renderStats } from \"./StatsRenderer\";\nimport { renderStatItem } from \"./StatItemRenderer\";\nimport { renderLogoCloud } from \"./LogoCloudRenderer\";\nimport { renderNavbar } from \"./NavbarRenderer\";\nimport { renderFooter } from \"./FooterRenderer\";\nimport { renderBlogPostCard } from \"./BlogPostCardRenderer\";\nimport { renderBlogPostGrid } from \"./BlogPostGridRenderer\";\nimport { renderBlogPostDetail } from \"./BlogPostDetailRenderer\";\nimport { renderProductShowcase } from \"./ProductShowcaseRenderer\";\nimport { renderAboutSection } from \"./AboutSectionRenderer\";\nimport { renderContactSection } from \"./ContactSectionRenderer\";\n\n// Registrar renderizadores\nrenderRegistry.register(\"hero\", renderHero);\nrenderRegistry.register(\"feature\", renderFeature);\nrenderRegistry.register(\"featureGrid\", renderFeatureGrid);\nrenderRegistry.register(\"pricing\", renderPricing);\nrenderRegistry.register(\"pricingCard\", renderPricingCard);\nrenderRegistry.register(\"testimonial\", renderTestimonial);\nrenderRegistry.register(\"testimonialGrid\", renderTestimonialGrid);\nrenderRegistry.register(\"faq\", renderFaq);\nrenderRegistry.register(\"faqItem\", renderFaqItem);\nrenderRegistry.register(\"cta\", renderCta);\nrenderRegistry.register(\"stats\", renderStats);\nrenderRegistry.register(\"statItem\", renderStatItem);\nrenderRegistry.register(\"logoCloud\", renderLogoCloud);\nrenderRegistry.register(\"navbar\", renderNavbar);\nrenderRegistry.register(\"footer\", renderFooter);\nrenderRegistry.register(\"blogPostCard\", renderBlogPostCard);\nrenderRegistry.register(\"blogPostGrid\", renderBlogPostGrid);\nrenderRegistry.register(\"blogPostDetail\", renderBlogPostDetail);\nrenderRegistry.register(\"productShowcase\", renderProductShowcase);\nrenderRegistry.register(\"aboutSection\", renderAboutSection);\nrenderRegistry.register(\"contactSection\", renderContactSection);\n"],"names":["renderRegistry","renderHero","renderFeature","renderFeatureGrid","renderPricing","renderPricingCard","renderTestimonial","renderTestimonialGrid","renderFaq","renderFaqItem","renderCta","renderStats","renderStatItem","renderLogoCloud","renderNavbar","renderFooter","renderBlogPostCard","renderBlogPostGrid","renderBlogPostDetail","renderProductShowcase","renderAboutSection","renderContactSection"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA6BAA,EAAe,SAAS,QAAQC,CAAU;AAC1CD,EAAe,SAAS,WAAWE,CAAa;AAChDF,EAAe,SAAS,eAAeG,CAAiB;AACxDH,EAAe,SAAS,WAAWI,CAAa;AAChDJ,EAAe,SAAS,eAAeK,CAAiB;AACxDL,EAAe,SAAS,eAAeM,CAAiB;AACxDN,EAAe,SAAS,mBAAmBO,CAAqB;AAChEP,EAAe,SAAS,OAAOQ,CAAS;AACxCR,EAAe,SAAS,WAAWS,CAAa;AAChDT,EAAe,SAAS,OAAOU,CAAS;AACxCV,EAAe,SAAS,SAASW,CAAW;AAC5CX,EAAe,SAAS,YAAYY,CAAc;AAClDZ,EAAe,SAAS,aAAaa,CAAe;AACpDb,EAAe,SAAS,UAAUc,CAAY;AAC9Cd,EAAe,SAAS,UAAUe,CAAY;AAC9Cf,EAAe,SAAS,gBAAgBgB,CAAkB;AAC1DhB,EAAe,SAAS,gBAAgBiB,CAAkB;AAC1DjB,EAAe,SAAS,kBAAkBkB,CAAoB;AAC9DlB,EAAe,SAAS,mBAAmBmB,CAAqB;AAChEnB,EAAe,SAAS,gBAAgBoB,CAAkB;AAC1DpB,EAAe,SAAS,kBAAkBqB,CAAoB;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/engine/render/renderers/sections/index.ts"],"sourcesContent":["/**\n * Section Renderers\n * Auto-registra todos os renderizadores de seções\n */\n\nimport { renderRegistry } from \"../../registry/renderRegistry\";\nimport { renderHero } from \"./HeroRenderer\";\nimport { renderFeature } from \"./FeatureRenderer\";\nimport { renderFeatureGrid } from \"./FeatureGridRenderer\";\nimport { renderPricing } from \"./PricingRenderer\";\nimport { renderPricingCard } from \"./PricingCardRenderer\";\nimport { renderTestimonial } from \"./TestimonialRenderer\";\nimport { renderTestimonialGrid } from \"./TestimonialGridRenderer\";\nimport { renderFaq } from \"./FaqRenderer\";\nimport { renderFaqItem } from \"./FaqItemRenderer\";\nimport { renderCta } from \"./CtaRenderer\";\nimport { renderStats } from \"./StatsRenderer\";\nimport { renderStatItem } from \"./StatItemRenderer\";\nimport { renderLogoCloud } from \"./LogoCloudRenderer\";\nimport { renderNavbar } from \"./NavbarRenderer\";\nimport { renderFooter } from \"./FooterRenderer\";\nimport { renderBlogPostCard } from \"./BlogPostCardRenderer\";\nimport { renderBlogPostGrid } from \"./BlogPostGridRenderer\";\nimport { renderBlogPostDetail } from \"./BlogPostDetailRenderer\";\nimport { renderBlogCategoryFilter } from \"./BlogCategoryFilterRenderer\";\nimport { renderBlogSearchBar } from \"./BlogSearchBarRenderer\";\nimport { renderProductShowcase } from \"./ProductShowcaseRenderer\";\nimport { renderAboutSection } from \"./AboutSectionRenderer\";\nimport { renderContactSection } from \"./ContactSectionRenderer\";\n\n// Registrar renderizadores\nrenderRegistry.register(\"hero\", renderHero);\nrenderRegistry.register(\"feature\", renderFeature);\nrenderRegistry.register(\"featureGrid\", renderFeatureGrid);\nrenderRegistry.register(\"pricing\", renderPricing);\nrenderRegistry.register(\"pricingCard\", renderPricingCard);\nrenderRegistry.register(\"testimonial\", renderTestimonial);\nrenderRegistry.register(\"testimonialGrid\", renderTestimonialGrid);\nrenderRegistry.register(\"faq\", renderFaq);\nrenderRegistry.register(\"faqItem\", renderFaqItem);\nrenderRegistry.register(\"cta\", renderCta);\nrenderRegistry.register(\"stats\", renderStats);\nrenderRegistry.register(\"statItem\", renderStatItem);\nrenderRegistry.register(\"logoCloud\", renderLogoCloud);\nrenderRegistry.register(\"navbar\", renderNavbar);\nrenderRegistry.register(\"footer\", renderFooter);\nrenderRegistry.register(\"blogPostCard\", renderBlogPostCard);\nrenderRegistry.register(\"blogPostGrid\", renderBlogPostGrid);\nrenderRegistry.register(\"blogPostDetail\", renderBlogPostDetail);\nrenderRegistry.register(\"blogCategoryFilter\", renderBlogCategoryFilter);\nrenderRegistry.register(\"blogSearchBar\", renderBlogSearchBar);\nrenderRegistry.register(\"productShowcase\", renderProductShowcase);\nrenderRegistry.register(\"aboutSection\", renderAboutSection);\nrenderRegistry.register(\"contactSection\", renderContactSection);\n"],"names":["renderRegistry","renderHero","renderFeature","renderFeatureGrid","renderPricing","renderPricingCard","renderTestimonial","renderTestimonialGrid","renderFaq","renderFaqItem","renderCta","renderStats","renderStatItem","renderLogoCloud","renderNavbar","renderFooter","renderBlogPostCard","renderBlogPostGrid","renderBlogPostDetail","renderBlogCategoryFilter","renderBlogSearchBar","renderProductShowcase","renderAboutSection","renderContactSection"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA+BAA,EAAe,SAAS,QAAQC,CAAU;AAC1CD,EAAe,SAAS,WAAWE,CAAa;AAChDF,EAAe,SAAS,eAAeG,CAAiB;AACxDH,EAAe,SAAS,WAAWI,CAAa;AAChDJ,EAAe,SAAS,eAAeK,CAAiB;AACxDL,EAAe,SAAS,eAAeM,CAAiB;AACxDN,EAAe,SAAS,mBAAmBO,CAAqB;AAChEP,EAAe,SAAS,OAAOQ,CAAS;AACxCR,EAAe,SAAS,WAAWS,CAAa;AAChDT,EAAe,SAAS,OAAOU,CAAS;AACxCV,EAAe,SAAS,SAASW,CAAW;AAC5CX,EAAe,SAAS,YAAYY,CAAc;AAClDZ,EAAe,SAAS,aAAaa,CAAe;AACpDb,EAAe,SAAS,UAAUc,CAAY;AAC9Cd,EAAe,SAAS,UAAUe,CAAY;AAC9Cf,EAAe,SAAS,gBAAgBgB,CAAkB;AAC1DhB,EAAe,SAAS,gBAAgBiB,CAAkB;AAC1DjB,EAAe,SAAS,kBAAkBkB,CAAoB;AAC9DlB,EAAe,SAAS,sBAAsBmB,CAAwB;AACtEnB,EAAe,SAAS,iBAAiBoB,CAAmB;AAC5DpB,EAAe,SAAS,mBAAmBqB,CAAqB;AAChErB,EAAe,SAAS,gBAAgBsB,CAAkB;AAC1DtB,EAAe,SAAS,kBAAkBuB,CAAoB;"}