@janbox/storefront-builder 2.0.12 → 2.0.14

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.
@@ -0,0 +1,187 @@
1
+ import { useNode as g, Element as C, Frame as I, Editor as v, DefaultEventHandlers as A } from "@craftjs/core";
2
+ import { isFunction as w, merge as x, set as h, isNil as b, isString as P } from "lodash-es";
3
+ import { useMemo as E, useEffect as L } from "react";
4
+ import { N, W as e, g as S, A as k, c as B, b as F, a as y, p as M, T as q, o as G, n as R, q as U, M as D, l as H, m as j, S as O, k as V, r as _, L as $, I as z, V as J, j as W, f as X, B as Y, F as K, h as Q, e as Z, G as ee, i as oe, P as re, d as se, U as te, R as ne, y as ae, X as de, Y as f } from "./countdown-timer.node-6xtwT1rv.js";
5
+ import { getGridProps as ue, getCellProps as ce, getLinkProps as ie, getButtonProps as pe, getFlexboxProps as Ne, getFlexItemProps as me, getImageProps as le, getMarqueeProps as Pe, getTabsProps as fe, getSwiperProps as ge, getUnorderedListProps as be, getIconProps as Te, getAccordionProps as Ce, getAccordionGroupProps as Ie, getVideoProps as ve, getBoxProps as Ae, getContainerProps as we } from "@janbox/storefront-ui";
6
+ import { flatten as xe } from "flat";
7
+ import { jsx as T } from "@emotion/react/jsx-runtime";
8
+ const o = (s = {}) => {
9
+ const { id: r } = g(), t = s?.nodeId ?? r, { nodeProps: n, actions: a } = N((d) => ({
10
+ nodeProps: d.nodes[t ?? r]?.data.props ?? {}
11
+ })), u = (d, i) => w(d) ? a.setProp(t, d) : a.setProp(t, (p) => {
12
+ if (i?.merge) {
13
+ x(p, d);
14
+ return;
15
+ }
16
+ const m = xe(d);
17
+ Object.keys(m).forEach((l) => {
18
+ h(p, l, m[l]);
19
+ });
20
+ }), c = (d, i, p) => u(
21
+ i === "xs" ? d : {
22
+ [i]: d
23
+ },
24
+ p
25
+ );
26
+ return {
27
+ nodeProps: s?.transform?.(n) ?? n,
28
+ setNodeProps: u,
29
+ setNodeResponsiveProps: c
30
+ };
31
+ }, Ge = () => o({
32
+ transform: ue
33
+ }), Re = () => o({
34
+ transform: ce
35
+ }), Ue = () => o({
36
+ transform: ie
37
+ }), De = () => o({
38
+ transform: pe
39
+ }), He = () => o({
40
+ transform: Ne
41
+ }), je = () => o({
42
+ transform: me
43
+ }), Oe = () => o({
44
+ transform: le
45
+ }), Ve = () => o({
46
+ transform: Pe
47
+ }), _e = (s) => o({
48
+ transform: fe,
49
+ nodeId: s
50
+ }), $e = (s) => o({
51
+ nodeId: s
52
+ }), ze = () => o({
53
+ transform: ge
54
+ }), Je = () => o({
55
+ transform: be
56
+ }), We = () => o({
57
+ transform: Te
58
+ }), Xe = (s) => o({
59
+ transform: Ce,
60
+ nodeId: s
61
+ }), Ye = () => o({
62
+ transform: Ie
63
+ }), Ke = () => o({
64
+ transform: ve
65
+ }), Qe = () => o({
66
+ transform: Ae
67
+ }), Ze = () => o({
68
+ transform: we
69
+ }), eo = () => o(), oo = C, ro = ({ children: s, data: r }) => {
70
+ const { resolver: t } = N((a) => ({
71
+ resolver: a.options.resolver
72
+ })), n = E(() => {
73
+ if (b(r)) return r;
74
+ const a = P(r) ? JSON.parse(r) : r;
75
+ return Object.entries(a).forEach(([, u]) => {
76
+ const c = P(u.type) ? u.type : u.type.resolvedName;
77
+ t[c] || (console.error(`Unknown node: ${c}`), u.type = {
78
+ resolvedName: e.Unknown
79
+ });
80
+ }), a;
81
+ }, [r, t]);
82
+ return /* @__PURE__ */ T(I, { data: n, children: s });
83
+ }, he = {
84
+ // Root
85
+ [e.Root]: ne,
86
+ // Unknown
87
+ [e.Unknown]: te,
88
+ // Button
89
+ [e.Button]: se,
90
+ // Text
91
+ [e.Paragraph]: re,
92
+ [e.Heading]: oe,
93
+ // Layout
94
+ [e.Grid]: ee,
95
+ [e.Cell]: Z,
96
+ [e.Flexbox]: Q,
97
+ [e.FlexItem]: K,
98
+ [e.Box]: Y,
99
+ [e.Container]: X,
100
+ // Media
101
+ [e.Image]: W,
102
+ [e.Video]: J,
103
+ [e.Icon]: z,
104
+ // Navigation
105
+ [e.Link]: $,
106
+ // List
107
+ [e.UnorderedList]: _,
108
+ [e.ListItem]: V,
109
+ // Carousel
110
+ [e.Swiper]: O,
111
+ [e.SwiperSlide]: j,
112
+ [e.Marquee]: H,
113
+ [e.MarqueeItem]: D,
114
+ // Tabs
115
+ [e.Tabs]: U,
116
+ [e.TabList]: R,
117
+ [e.Tab]: G,
118
+ [e.TabContent]: q,
119
+ [e.TabPanel]: M,
120
+ // Accordion
121
+ [e.AccordionGroup]: y,
122
+ [e.Accordion]: F,
123
+ [e.AccordionSummary]: B,
124
+ [e.AccordionContent]: k,
125
+ // Timer
126
+ [e.CountdownTimer]: S
127
+ }, so = ({ resolver: s, children: r, ...t }) => /* @__PURE__ */ T(
128
+ v,
129
+ {
130
+ enabled: !1,
131
+ onRender: Ee,
132
+ handlers: (n) => new Le({
133
+ store: n,
134
+ removeHoverOnMouseleave: !0,
135
+ isMultiSelectEnabled: () => !1
136
+ }),
137
+ resolver: { ...he, ...s },
138
+ ...t,
139
+ children: r
140
+ }
141
+ ), Ee = ({ render: s }) => {
142
+ const { id: r } = g(), { query: t } = N();
143
+ return L(() => {
144
+ const n = t.node(r).get(), a = ae(n);
145
+ if (b(a))
146
+ throw new Error(
147
+ `The node with id "${n.data.displayName}" does not have a resolved ID. Please check your node configuration.`
148
+ );
149
+ }, [r, t]), s;
150
+ };
151
+ class Le extends A {
152
+ handlers() {
153
+ const r = super.handlers();
154
+ return {
155
+ ...r,
156
+ select(t, n) {
157
+ return (t.getAttribute(de.DATA_NODE_SELECTABLE) ?? f.True) === f.True ? r.select(t, n) : () => {
158
+ };
159
+ }
160
+ };
161
+ }
162
+ }
163
+ export {
164
+ ro as C,
165
+ oo as N,
166
+ so as a,
167
+ Ye as b,
168
+ Xe as c,
169
+ Qe as d,
170
+ De as e,
171
+ Re as f,
172
+ Ze as g,
173
+ eo as h,
174
+ je as i,
175
+ He as j,
176
+ Ge as k,
177
+ We as l,
178
+ Oe as m,
179
+ Ue as n,
180
+ Ve as o,
181
+ ze as p,
182
+ $e as q,
183
+ _e as r,
184
+ Je as s,
185
+ Ke as t,
186
+ o as u
187
+ };
@@ -0,0 +1,4 @@
1
+ import { W as p } from "./tooltip-oGi4C1cX.js";
2
+ export {
3
+ p as WbTooltip
4
+ };
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { A as c, a as g, b, c as C, B as x, d as f, C as T, e as I, f as L, g as S, F as A, h as v, G as w, H as R, i as h, I as k, j as q, L as B, k as F, M as G, l as H, P as M, R as U, S as y, m as D, T as V, n as j, o as E, p as z, q as J, U as K, r as O, V as Q, s as W, u as X, v as Y, w as Z, x as _, y as $, z as ee, D as oe, E as se, J as ae, K as re, N as de, O as Ne } from "./countdown-timer.node-d0EtGQ4_.js";
2
- import { u as e } from "./index-fErSlbD2.js";
3
- import { C as ne, a as pe, N as ue, b as ie, c as Pe, d as me, e as le, f as ce, g as ge, h as be, i as Ce, j as xe, k as fe, l as Te, m as Ie, n as Le, o as Se, p as Ae, q as ve, r as we, s as Re, t as he } from "./index-fErSlbD2.js";
1
+ import { A as c, a as g, b, c as C, B as x, d as f, C as T, e as I, f as L, g as S, F as A, h as v, G as w, H as R, i as h, I as k, j as q, L as B, k as F, M as G, l as H, P as M, R as U, S as y, m as D, T as V, n as j, o as E, p as z, q as J, U as K, r as O, V as Q, s as W, u as X, v as Y, w as Z, x as _, y as $, z as ee, D as oe, E as se, J as ae, K as re, N as de, O as Ne } from "./countdown-timer.node-6xtwT1rv.js";
2
+ import { u as e } from "./index-CosQvfly.js";
3
+ import { C as ne, a as pe, N as ue, b as ie, c as Pe, d as me, e as le, f as ce, g as ge, h as be, i as Ce, j as xe, k as fe, l as Te, m as Ie, n as Le, o as Se, p as Ae, q as ve, r as we, s as Re, t as he } from "./index-CosQvfly.js";
4
4
  import { getTextProps as s, getTabPanelProps as a, getListItemProps as r } from "@janbox/storefront-ui";
5
5
  import { useNode as qe } from "@craftjs/core";
6
6
  import "lodash-es";
package/dist/templates.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx as e, jsxs as o, Fragment as c } from "@emotion/react/jsx-runtime";
2
2
  import { getColorVar as u } from "@janbox/storefront-ui/theme";
3
3
  import { renderToString as p } from "react-dom/server";
4
- import { f as s, G as h, e as a, i as d, P as t, d as x, j as g, a as f, Q as T, b as n, c as r, A as i } from "./countdown-timer.node-d0EtGQ4_.js";
4
+ import { f as s, G as h, e as a, i as d, P as t, d as x, j as g, a as f, Q as T, b as n, c as r, A as i } from "./countdown-timer.node-6xtwT1rv.js";
5
5
  import "@craftjs/core";
6
6
  import "lodash-es";
7
7
  import "react";
@@ -4,7 +4,7 @@ import { useFloating as P, autoUpdate as S, flip as j, offset as V, size as W, a
4
4
  import { get as L } from "lodash-es";
5
5
  import { FLOATING_Z_INDEX as U } from "@janbox/storefront-ui/theme";
6
6
  import { useControllableState as X } from "@janbox/storefront-ui/hooks";
7
- import { t as o } from "./countdown-timer.node-d0EtGQ4_.js";
7
+ import { t as o } from "./countdown-timer.node-6xtwT1rv.js";
8
8
  const Y = ({ placement: d = "top", open: p, onOpenChange: c, children: e, content: m }) => {
9
9
  const [n, u] = X({
10
10
  defaultValue: !1,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@janbox/storefront-builder",
3
- "version": "2.0.12",
3
+ "version": "2.0.14",
4
4
  "description": "Standalone storefront builder library extracted from craft-layers-portal",
5
5
  "type": "module",
6
6
  "files": [
@@ -26,7 +26,7 @@
26
26
  "./style.css": "./dist/style.css"
27
27
  },
28
28
  "peerDependencies": {
29
- "@janbox/storefront-ui": ">=4",
29
+ "@janbox/storefront-ui": ">=4.0.2",
30
30
  "react": "^19.1.0",
31
31
  "react-dom": "^19.1.0"
32
32
  },
@@ -59,7 +59,7 @@
59
59
  "@types/react-dom": "^19.1.6",
60
60
  "@types/react-frame-component": "^4.1.6",
61
61
  "type-fest": "^5.5.0",
62
- "@janbox/storefront-ui": "^4.0.0"
62
+ "@janbox/storefront-ui": "^4.0.2"
63
63
  },
64
64
  "publishConfig": {
65
65
  "access": "public"
@@ -1,206 +0,0 @@
1
- import { useNode as b, Element as T, Frame as h, Editor as I, DefaultEventHandlers as v } from "@craftjs/core";
2
- import { isFunction as x, merge as A, set as w, isNil as C, isString as f } from "lodash-es";
3
- import { useMemo as S, useEffect as E } from "react";
4
- import { N as l, W as e, g as L, A as y, c as k, b as B, a as F, p as M, T as q, o as G, n as R, q as U, M as H, l as D, m as j, S as O, k as V, r as _, L as $, I as z, V as J, j as W, f as X, B as Y, F as K, h as Q, e as Z, G as ee, i as oe, P as re, d as se, U as ne, R as te, u as ae, y as de, X as ie, Y as g } from "./countdown-timer.node-d0EtGQ4_.js";
5
- import { getGridProps as ue, getCellProps as ce, getLinkProps as pe, getButtonProps as le, getFlexboxProps as me, getFlexItemProps as Ne, getImageProps as Pe, getMarqueeProps as fe, getTabsProps as ge, getSwiperProps as be, getUnorderedListProps as Ce, getIconProps as Te, getAccordionProps as he, getAccordionGroupProps as Ie, getVideoProps as ve, getBoxProps as xe, getContainerProps as Ae, Primitive as we } from "@janbox/storefront-ui";
6
- import { flatten as Se } from "flat";
7
- import { jsx as m } from "@emotion/react/jsx-runtime";
8
- const o = (n = {}) => {
9
- const { id: r } = b(), s = n?.nodeId ?? r, { nodeProps: a, actions: i } = l((d) => ({
10
- nodeProps: d.nodes[s ?? r]?.data.props ?? {}
11
- })), t = (d, c) => x(d) ? i.setProp(s, d) : i.setProp(s, (p) => {
12
- if (c?.merge) {
13
- A(p, d);
14
- return;
15
- }
16
- const N = Se(d);
17
- Object.keys(N).forEach((P) => {
18
- w(p, P, N[P]);
19
- });
20
- }), u = (d, c, p) => t(
21
- c === "xs" ? d : {
22
- [c]: d
23
- },
24
- p
25
- );
26
- return {
27
- nodeProps: n?.transform?.(a) ?? a,
28
- setNodeProps: t,
29
- setNodeResponsiveProps: u
30
- };
31
- }, Ue = () => o({
32
- transform: ue
33
- }), He = () => o({
34
- transform: ce
35
- }), De = () => o({
36
- transform: pe
37
- }), je = () => o({
38
- transform: le
39
- }), Oe = () => o({
40
- transform: me
41
- }), Ve = () => o({
42
- transform: Ne
43
- }), _e = () => o({
44
- transform: Pe
45
- }), $e = () => o({
46
- transform: fe
47
- }), ze = (n) => o({
48
- transform: ge,
49
- nodeId: n
50
- }), Je = (n) => o({
51
- nodeId: n
52
- }), We = () => o({
53
- transform: be
54
- }), Xe = () => o({
55
- transform: Ce
56
- }), Ye = () => o({
57
- transform: Te
58
- }), Ke = (n) => o({
59
- transform: he,
60
- nodeId: n
61
- }), Qe = () => o({
62
- transform: Ie
63
- }), Ze = () => o({
64
- transform: ve
65
- }), eo = () => o({
66
- transform: xe
67
- }), oo = () => o({
68
- transform: Ae
69
- }), ro = () => o(), so = T, no = ({ children: n, data: r }) => {
70
- const { resolver: s } = l((i) => ({
71
- resolver: i.options.resolver
72
- })), a = S(() => {
73
- if (C(r)) return r;
74
- const i = f(r) ? JSON.parse(r) : r;
75
- return Object.entries(i).forEach(([, t]) => {
76
- const u = f(t.type) ? t.type : t.type.resolvedName;
77
- s[u] || (console.error(`Unknown node: ${u}`), t.type = {
78
- resolvedName: e.Unknown
79
- });
80
- }), i;
81
- }, [r, s]);
82
- return /* @__PURE__ */ m(h, { data: a, children: n });
83
- }, Ee = {
84
- // Root
85
- [e.Root]: te,
86
- // Unknown
87
- [e.Unknown]: ne,
88
- // Button
89
- [e.Button]: se,
90
- // Text
91
- [e.Paragraph]: re,
92
- [e.Heading]: oe,
93
- // Layout
94
- [e.Grid]: ee,
95
- [e.Cell]: Z,
96
- [e.Flexbox]: Q,
97
- [e.FlexItem]: K,
98
- [e.Box]: Y,
99
- [e.Container]: X,
100
- // Media
101
- [e.Image]: W,
102
- [e.Video]: J,
103
- [e.Icon]: z,
104
- // Navigation
105
- [e.Link]: $,
106
- // List
107
- [e.UnorderedList]: _,
108
- [e.ListItem]: V,
109
- // Carousel
110
- [e.Swiper]: O,
111
- [e.SwiperSlide]: j,
112
- [e.Marquee]: D,
113
- [e.MarqueeItem]: H,
114
- // Tabs
115
- [e.Tabs]: U,
116
- [e.TabList]: R,
117
- [e.Tab]: G,
118
- [e.TabContent]: q,
119
- [e.TabPanel]: M,
120
- // Accordion
121
- [e.AccordionGroup]: F,
122
- [e.Accordion]: B,
123
- [e.AccordionSummary]: k,
124
- [e.AccordionContent]: y,
125
- // Timer
126
- [e.CountdownTimer]: L
127
- }, to = ({ resolver: n, children: r, ...s }) => /* @__PURE__ */ m(
128
- I,
129
- {
130
- enabled: !1,
131
- onRender: Le,
132
- handlers: (a) => new ye({
133
- store: a,
134
- removeHoverOnMouseleave: !0,
135
- isMultiSelectEnabled: () => !1
136
- }),
137
- resolver: { ...Ee, ...n },
138
- ...s,
139
- children: r
140
- }
141
- ), Le = ({ render: n }) => {
142
- const { id: r, hidden: s } = b((t) => ({
143
- hidden: ae(t).hidden ?? {}
144
- })), { query: a } = l();
145
- return E(() => {
146
- const t = a.node(r).get(), u = de(t);
147
- if (C(u))
148
- throw new Error(
149
- `The node with id "${t.data.displayName}" does not have a resolved ID. Please check your node configuration.`
150
- );
151
- }, [r, a]), Object.values(s).some((t) => t === !0) ? /* @__PURE__ */ m(
152
- we,
153
- {
154
- sx: {
155
- display: s.xs ? "none" : "contents",
156
- sm: {
157
- display: s.sm ? "none" : "contents"
158
- },
159
- md: {
160
- display: s.md ? "none" : "contents"
161
- },
162
- lg: {
163
- display: s.lg ? "none" : "contents"
164
- }
165
- },
166
- children: n
167
- }
168
- ) : n;
169
- };
170
- class ye extends v {
171
- handlers() {
172
- const r = super.handlers();
173
- return {
174
- ...r,
175
- select(s, a) {
176
- return (s.getAttribute(ie.DATA_NODE_SELECTABLE) ?? g.True) === g.True ? r.select(s, a) : () => {
177
- };
178
- }
179
- };
180
- }
181
- }
182
- export {
183
- no as C,
184
- so as N,
185
- to as a,
186
- Qe as b,
187
- Ke as c,
188
- eo as d,
189
- je as e,
190
- He as f,
191
- oo as g,
192
- ro as h,
193
- Ve as i,
194
- Oe as j,
195
- Ue as k,
196
- Ye as l,
197
- _e as m,
198
- De as n,
199
- $e as o,
200
- We as p,
201
- Je as q,
202
- ze as r,
203
- Xe as s,
204
- Ze as t,
205
- o as u
206
- };
@@ -1,4 +0,0 @@
1
- import { W as p } from "./tooltip-5WmNiI2z.js";
2
- export {
3
- p as WbTooltip
4
- };