@plitzi/sdk-elements 0.32.0 → 0.32.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 (215) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist/Component/ComponentHelper.d.ts +2 -2
  3. package/dist/Component/ComponentHelper.mjs +3 -12
  4. package/dist/Component/ComponentProvider.d.ts +1 -1
  5. package/dist/Element/ElementContext.d.ts +19 -0
  6. package/dist/Element/ElementContext.mjs +6 -0
  7. package/dist/Element/JsxManager.d.ts +1 -1
  8. package/dist/Element/JsxManager.mjs +23 -29
  9. package/dist/Element/PluginManager.d.ts +1 -1
  10. package/dist/Element/PluginRemote.d.ts +1 -1
  11. package/dist/Element/ReplicaProvider.d.ts +1 -1
  12. package/dist/Element/RootElement.d.ts +3 -2
  13. package/dist/Element/RootElement.mjs +53 -111
  14. package/dist/Element/element.bench.d.ts +1 -0
  15. package/dist/Element/helpers/elementUtils.mjs +1 -1
  16. package/dist/Element/helpers/omitKeys.d.ts +1 -0
  17. package/dist/Element/helpers/omitKeys.mjs +8 -0
  18. package/dist/Element/helpers/pluginSelector.d.ts +9 -1
  19. package/dist/Element/helpers/pluginSelector.mjs +1 -1
  20. package/dist/Element/helpers/renderStaticTag.d.ts +17 -0
  21. package/dist/Element/helpers/renderStaticTag.mjs +13 -0
  22. package/dist/Element/hocs/withElement.d.ts +1 -1
  23. package/dist/Element/hocs/withElement.mjs +96 -71
  24. package/dist/Element/hooks/useElement.d.ts +3 -0
  25. package/dist/Element/hooks/useElement.mjs +10 -0
  26. package/dist/Element/hooks/useElementDataSource.mjs +4 -4
  27. package/dist/Element/hooks/useElementInteractions.mjs +21 -29
  28. package/dist/Element/hooks/useElementInternal.d.ts +16 -4
  29. package/dist/Element/hooks/useElementInternal.mjs +53 -52
  30. package/dist/Element/hooks/useElementState.d.ts +2 -2
  31. package/dist/Element/hooks/useElementState.mjs +26 -19
  32. package/dist/Element/hooks/useInternalItems.mjs +27 -25
  33. package/dist/Element/hooks/useRootElementInteractions.d.ts +21 -0
  34. package/dist/Element/hooks/useRootElementInteractions.mjs +69 -0
  35. package/dist/Element/hooks/useRscData.d.ts +8 -0
  36. package/dist/Element/hooks/useRscData.mjs +16 -0
  37. package/dist/components/ElementAdvancedEditor.d.ts +1 -1
  38. package/dist/dataSource/GlobalSources.mjs +77 -81
  39. package/dist/dataSource/index.d.ts +0 -2
  40. package/dist/dataSource/index.mjs +3 -5
  41. package/dist/elements/advanced/BlockHtml/BlockHtml.d.ts +2 -2
  42. package/dist/elements/advanced/BlockHtml/BlockHtml.mjs +5 -4
  43. package/dist/elements/advanced/BlockHtml/Settings.d.ts +1 -1
  44. package/dist/elements/advanced/BlockHtml/index.d.ts +1 -1
  45. package/dist/elements/advanced/BlockJsx/BlockJsx.d.ts +2 -2
  46. package/dist/elements/advanced/BlockJsx/BlockJsx.mjs +20 -19
  47. package/dist/elements/advanced/BlockJsx/Settings.d.ts +1 -1
  48. package/dist/elements/advanced/BlockJsx/index.d.ts +1 -1
  49. package/dist/elements/advanced/Custom/Custom.d.ts +2 -2
  50. package/dist/elements/advanced/Custom/Custom.mjs +26 -25
  51. package/dist/elements/advanced/Custom/Settings.d.ts +1 -1
  52. package/dist/elements/advanced/Custom/index.d.ts +1 -1
  53. package/dist/elements/advanced/NodeHtml/NodeHtml.d.ts +2 -2
  54. package/dist/elements/advanced/NodeHtml/NodeHtml.mjs +5 -4
  55. package/dist/elements/advanced/NodeHtml/Settings.d.ts +1 -1
  56. package/dist/elements/advanced/NodeHtml/index.d.ts +1 -1
  57. package/dist/elements/advanced/PlitziSdk/Settings.d.ts +1 -1
  58. package/dist/elements/advanced/Reference/Reference.d.ts +2 -2
  59. package/dist/elements/advanced/Reference/Reference.mjs +69 -68
  60. package/dist/elements/advanced/Reference/Settings.d.ts +1 -1
  61. package/dist/elements/advanced/Reference/Settings.mjs +32 -32
  62. package/dist/elements/advanced/Reference/index.d.ts +1 -1
  63. package/dist/elements/basic/Button/Button.d.ts +2 -2
  64. package/dist/elements/basic/Button/Button.mjs +15 -14
  65. package/dist/elements/basic/Button/Settings.d.ts +1 -1
  66. package/dist/elements/basic/Button/index.d.ts +1 -1
  67. package/dist/elements/basic/Dropdown/Dropdown.d.ts +2 -2
  68. package/dist/elements/basic/Dropdown/Dropdown.mjs +24 -23
  69. package/dist/elements/basic/Dropdown/DropdownPopup/DropdownPopup.d.ts +2 -2
  70. package/dist/elements/basic/Dropdown/DropdownPopup/DropdownPopup.mjs +5 -4
  71. package/dist/elements/basic/Dropdown/DropdownPopup/Settings.d.ts +1 -1
  72. package/dist/elements/basic/Dropdown/DropdownPopup/index.d.ts +1 -1
  73. package/dist/elements/basic/Dropdown/Settings.d.ts +1 -1
  74. package/dist/elements/basic/Dropdown/index.d.ts +2 -2
  75. package/dist/elements/basic/Dropdown/useDropdown.mjs +5 -1
  76. package/dist/elements/basic/Heading/Heading.d.ts +2 -2
  77. package/dist/elements/basic/Heading/Heading.mjs +16 -15
  78. package/dist/elements/basic/Heading/Settings.d.ts +1 -1
  79. package/dist/elements/basic/Heading/index.d.ts +1 -1
  80. package/dist/elements/basic/Link/Link.d.ts +2 -2
  81. package/dist/elements/basic/Link/Link.mjs +28 -27
  82. package/dist/elements/basic/Link/Settings.d.ts +1 -1
  83. package/dist/elements/basic/Link/Settings.mjs +22 -22
  84. package/dist/elements/basic/Link/index.d.ts +1 -1
  85. package/dist/elements/basic/Markdown/Markdown.d.ts +2 -2
  86. package/dist/elements/basic/Markdown/Markdown.mjs +5 -4
  87. package/dist/elements/basic/Markdown/Settings.d.ts +1 -1
  88. package/dist/elements/basic/Markdown/index.d.ts +1 -1
  89. package/dist/elements/basic/Paragraph/Paragraph.d.ts +2 -2
  90. package/dist/elements/basic/Paragraph/Paragraph.mjs +16 -15
  91. package/dist/elements/basic/Paragraph/Settings.d.ts +1 -1
  92. package/dist/elements/basic/Paragraph/index.d.ts +1 -1
  93. package/dist/elements/basic/Text/Settings.d.ts +1 -1
  94. package/dist/elements/basic/Text/Text.d.ts +2 -2
  95. package/dist/elements/basic/Text/Text.mjs +16 -15
  96. package/dist/elements/basic/Text/index.d.ts +1 -1
  97. package/dist/elements/form/Form/Form.d.ts +2 -4
  98. package/dist/elements/form/Form/Form.mjs +54 -58
  99. package/dist/elements/form/Form/Settings.d.ts +1 -1
  100. package/dist/elements/form/Form/index.d.ts +2 -2
  101. package/dist/elements/form/FormControl/FormControl.d.ts +2 -2
  102. package/dist/elements/form/FormControl/FormControl.mjs +39 -38
  103. package/dist/elements/form/FormControl/Settings.d.ts +1 -1
  104. package/dist/elements/form/FormControl/components/Label.d.ts +1 -1
  105. package/dist/elements/form/FormControl/hocs/withFieldValue.d.ts +1 -1
  106. package/dist/elements/form/FormControl/hocs/withFieldValue.mjs +1 -1
  107. package/dist/elements/form/FormControl/index.d.ts +2 -2
  108. package/dist/elements/form/FormControl/inputs/Checkbox.d.ts +1 -1
  109. package/dist/elements/form/FormControl/inputs/Hidden.d.ts +1 -1
  110. package/dist/elements/form/FormControl/inputs/Input.d.ts +1 -1
  111. package/dist/elements/form/FormControl/inputs/Select.d.ts +1 -1
  112. package/dist/elements/form/FormControl/inputs/Textarea.d.ts +1 -1
  113. package/dist/elements/internal/LayoutContainer/LayoutContainer.d.ts +2 -2
  114. package/dist/elements/internal/LayoutContainer/LayoutContainer.mjs +27 -26
  115. package/dist/elements/internal/LayoutContainer/Settings.d.ts +1 -1
  116. package/dist/elements/internal/LayoutContainer/Settings.mjs +7 -7
  117. package/dist/elements/internal/LayoutContainer/index.d.ts +1 -1
  118. package/dist/elements/internal/Loading/Loading.d.ts +2 -2
  119. package/dist/elements/internal/Loading/Loading.mjs +14 -13
  120. package/dist/elements/internal/Loading/index.d.ts +1 -1
  121. package/dist/elements/internal/NotFound/NotFound.d.ts +2 -2
  122. package/dist/elements/internal/NotFound/NotFound.mjs +16 -15
  123. package/dist/elements/internal/NotFound/index.d.ts +1 -1
  124. package/dist/elements/internal/Page/Page.d.ts +2 -2
  125. package/dist/elements/internal/Page/Page.mjs +20 -19
  126. package/dist/elements/internal/Page/Settings.d.ts +1 -1
  127. package/dist/elements/internal/Page/Settings.mjs +34 -34
  128. package/dist/elements/internal/Page/index.d.ts +1 -1
  129. package/dist/elements/media/FontAwesome/FontAwesome.d.ts +2 -2
  130. package/dist/elements/media/FontAwesome/FontAwesome.mjs +5 -4
  131. package/dist/elements/media/FontAwesome/Settings.d.ts +1 -1
  132. package/dist/elements/media/FontAwesome/Settings.mjs +3 -1
  133. package/dist/elements/media/FontAwesome/index.d.ts +1 -1
  134. package/dist/elements/media/Image/Image.d.ts +2 -2
  135. package/dist/elements/media/Image/Image.mjs +4 -4
  136. package/dist/elements/media/Image/Settings.d.ts +1 -1
  137. package/dist/elements/media/Image/index.d.ts +1 -1
  138. package/dist/elements/media/Video/Settings.d.ts +1 -1
  139. package/dist/elements/media/Video/Video.d.ts +2 -2
  140. package/dist/elements/media/Video/Video.mjs +5 -4
  141. package/dist/elements/media/Video/index.d.ts +1 -1
  142. package/dist/elements/provider/ApiContainer/ApiContainer.d.ts +2 -2
  143. package/dist/elements/provider/ApiContainer/ApiContainer.mjs +33 -32
  144. package/dist/elements/provider/ApiContainer/Settings.d.ts +1 -1
  145. package/dist/elements/provider/ApiContainer/Settings.mjs +19 -19
  146. package/dist/elements/provider/ApiContainer/index.d.ts +1 -1
  147. package/dist/elements/provider/CollectionContainer/CollectionContainer.d.ts +2 -2
  148. package/dist/elements/provider/CollectionContainer/CollectionContainer.mjs +23 -22
  149. package/dist/elements/provider/CollectionContainer/Settings.d.ts +1 -1
  150. package/dist/elements/provider/CollectionContainer/hooks/useCollectionContext.mjs +38 -38
  151. package/dist/elements/provider/CollectionContainer/index.d.ts +1 -1
  152. package/dist/elements/structure/Container/Container.d.ts +2 -2
  153. package/dist/elements/structure/Container/Container.mjs +5 -4
  154. package/dist/elements/structure/Container/Settings.d.ts +1 -1
  155. package/dist/elements/structure/Container/index.d.ts +1 -1
  156. package/dist/elements/structure/DialogContainer/DialogContainer.d.ts +2 -2
  157. package/dist/elements/structure/DialogContainer/DialogContainer.mjs +49 -46
  158. package/dist/elements/structure/DialogContainer/Settings.d.ts +1 -1
  159. package/dist/elements/structure/DialogContainer/index.d.ts +1 -1
  160. package/dist/elements/structure/List/List.d.ts +2 -2
  161. package/dist/elements/structure/List/List.mjs +4 -3
  162. package/dist/elements/structure/List/ListItem/ListItem.d.ts +2 -2
  163. package/dist/elements/structure/List/ListItem/ListItem.mjs +5 -4
  164. package/dist/elements/structure/List/ListItem/Settings.d.ts +1 -1
  165. package/dist/elements/structure/List/ListItem/index.d.ts +1 -1
  166. package/dist/elements/structure/List/Settings.d.ts +1 -1
  167. package/dist/elements/structure/List/index.d.ts +2 -2
  168. package/dist/elements/structure/List/modes/ListBasic.d.ts +1 -1
  169. package/dist/elements/structure/List/modes/ListBasic.mjs +1 -1
  170. package/dist/elements/structure/List/modes/ListControlled/ListControlled.d.ts +1 -1
  171. package/dist/elements/structure/List/modes/ListControlled/ListControlled.mjs +25 -25
  172. package/dist/elements/structure/List/modes/ListControlled/ListControlledItem.d.ts +1 -1
  173. package/dist/elements/structure/List/modes/ListControlled/ListControlledItem.mjs +24 -23
  174. package/dist/elements/structure/ModalContainer/ModalContainer.d.ts +2 -2
  175. package/dist/elements/structure/ModalContainer/ModalContainer.mjs +40 -37
  176. package/dist/elements/structure/ModalContainer/Settings.d.ts +1 -1
  177. package/dist/elements/structure/ModalContainer/index.d.ts +1 -1
  178. package/dist/elements/structure/TabContainer/Settings.d.ts +1 -1
  179. package/dist/elements/structure/TabContainer/TabContainer.d.ts +2 -2
  180. package/dist/elements/structure/TabContainer/TabContainer.mjs +5 -4
  181. package/dist/elements/structure/TabContainer/TabContainerBody/Settings.d.ts +1 -1
  182. package/dist/elements/structure/TabContainer/TabContainerBody/TabContainerBody.d.ts +2 -2
  183. package/dist/elements/structure/TabContainer/TabContainerBody/TabContainerBody.mjs +5 -4
  184. package/dist/elements/structure/TabContainer/TabContainerBody/index.d.ts +1 -1
  185. package/dist/elements/structure/TabContainer/TabContainerHeader/Settings.d.ts +1 -1
  186. package/dist/elements/structure/TabContainer/TabContainerHeader/TabContainerHeader.d.ts +2 -2
  187. package/dist/elements/structure/TabContainer/TabContainerHeader/TabContainerHeader.mjs +5 -4
  188. package/dist/elements/structure/TabContainer/TabContainerHeader/index.d.ts +1 -1
  189. package/dist/elements/structure/TabContainer/TabContainerItem/Settings.d.ts +1 -1
  190. package/dist/elements/structure/TabContainer/TabContainerItem/TabContainerItem.d.ts +2 -2
  191. package/dist/elements/structure/TabContainer/TabContainerItem/TabContainerItem.mjs +5 -4
  192. package/dist/elements/structure/TabContainer/TabContainerItem/index.d.ts +1 -1
  193. package/dist/elements/structure/TabContainer/index.d.ts +4 -4
  194. package/dist/index.d.ts +37 -36
  195. package/dist/index.mjs +62 -61
  196. package/dist/testUtils/elementTestUtils.d.ts +4 -0
  197. package/package.json +37 -53
  198. package/dist/dataSource/getBindingsDetails.d.ts +0 -10
  199. package/dist/dataSource/getBindingsDetails.mjs +0 -49
  200. package/dist/dataSource/utility/arrayMap.d.ts +0 -6
  201. package/dist/dataSource/utility/arrayMap.mjs +0 -28
  202. package/dist/dataSource/utility/capitalize.d.ts +0 -3
  203. package/dist/dataSource/utility/capitalize.mjs +0 -11
  204. package/dist/dataSource/utility/dateConverter.d.ts +0 -3
  205. package/dist/dataSource/utility/dateConverter.mjs +0 -60
  206. package/dist/dataSource/utility/index.d.ts +0 -7
  207. package/dist/dataSource/utility/index.mjs +0 -22
  208. package/dist/dataSource/utility/staticValue.d.ts +0 -3
  209. package/dist/dataSource/utility/staticValue.mjs +0 -47
  210. package/dist/dataSource/utility/stringToArray.d.ts +0 -3
  211. package/dist/dataSource/utility/stringToArray.mjs +0 -20
  212. package/dist/dataSource/utility/styleSelector.d.ts +0 -3
  213. package/dist/dataSource/utility/styleSelector.mjs +0 -42
  214. package/dist/dataSource/utility/twigTemplate.d.ts +0 -3
  215. package/dist/dataSource/utility/twigTemplate.mjs +0 -26
@@ -1,58 +1,93 @@
1
- import e from "../hooks/useElementInternal.mjs";
2
- import t from "@plitzi/plitzi-ui/ErrorBoundary";
3
- import { omit as n } from "@plitzi/plitzi-ui/helpers/lodash";
4
- import { useMemo as r, useRef as i } from "react";
5
- import a from "@plitzi/sdk-event-bridge/hooks/useEventBridge";
6
- import o from "@plitzi/sdk-shared/elements/ElementContext";
7
- import s from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
8
- import { jsx as c } from "react/jsx-runtime";
1
+ import e from "../ElementContext.mjs";
2
+ import { omitKeys as t } from "../helpers/omitKeys.mjs";
3
+ import n from "../hooks/useElementInternal.mjs";
4
+ import r from "@plitzi/plitzi-ui/ErrorBoundary";
5
+ import { Profiler as i, use as a, useMemo as o, useRef as s } from "react";
6
+ import c from "@plitzi/sdk-event-bridge/hooks/useEventBridge";
7
+ import l from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
8
+ import { useCommonStore as u } from "@plitzi/sdk-shared/store";
9
+ import { diffProps as d, tracingCollector as f } from "@plitzi/sdk-shared/store/tracing";
10
+ import { jsx as p } from "react/jsx-runtime";
9
11
  //#region src/Element/hocs/withElement.tsx
10
- var l = (l) => {
11
- let u = (u) => {
12
- let d = i(void 0), { id: f, rootId: p } = u.internalProps, m = r(() => ({
13
- id: f,
14
- rootId: p,
12
+ var m = (m) => {
13
+ let h = m.displayName || m.name, g = (h) => {
14
+ let g = s(void 0), _ = s(void 0), { id: v, rootId: y } = h.internalProps, b = o(() => ({
15
+ id: v,
16
+ rootId: y,
15
17
  plitziJsxSkipHOC: !0
16
- }), [f, p]);
17
- if (u.plitziJsxSkipHOC) return r(() => /* @__PURE__ */ c(o, {
18
- value: m,
19
- children: /* @__PURE__ */ c(l, {
20
- ...u,
21
- internalProps: u.internalProps
22
- })
23
- }), [m, u]);
24
- let { settings: { previewMode: h }, root: { baseElementId: g } } = s(), { internalProps: _, customProps: v, children: y } = e({
25
- internalProps: u.internalProps,
26
- children: u.children,
27
- previewMode: h,
28
- baseElementId: g
29
- }), { attributes: b, definition: x, style: S, plitziElementLayout: C, elementState: w, setElementState: T } = _;
30
- a("element", r(() => ({ [`${f}_setState`]: T }), [f, T]));
31
- let E = r(() => ({
32
- id: f,
33
- rootId: p,
34
- attributes: b,
35
- definition: x,
36
- plitziElementLayout: C,
37
- style: S,
38
- elementState: w,
39
- setElementState: T
40
- }), [
41
- b,
42
- x,
43
- w,
44
- f,
45
- C,
46
- p,
47
- S,
48
- T
49
- ]);
50
- return r(() => {
18
+ }), [v, y]);
19
+ if (h.plitziJsxSkipHOC) return /* @__PURE__ */ p(e, {
20
+ value: b,
21
+ children: /* @__PURE__ */ p(m, { ...h })
22
+ });
23
+ let x = a(e), { settings: { previewMode: S, debugMode: C }, root: { baseElementId: w } } = l(), [T] = u(`schema.flat.${v}`);
24
+ if (!T) throw Error(`Element ${v} not found, Page ${w}`);
25
+ let { internalProps: E, customProps: D, children: O } = n({
26
+ element: T,
27
+ internalProps: h.internalProps,
28
+ children: h.children,
29
+ previewMode: S
30
+ }), { attributes: k, definition: A, style: j, plitziElementLayout: M, elementState: N, setElementState: P } = E;
31
+ c("element", o(() => ({ [`${v}_setState`]: P }), [v, P]));
32
+ let F = /* @__PURE__ */ p(e, {
33
+ value: o(() => ({
34
+ id: v,
35
+ rootId: y,
36
+ attributes: k,
37
+ definition: A,
38
+ plitziElementLayout: M,
39
+ style: j,
40
+ elementState: N,
41
+ setElementState: P
42
+ }), [
43
+ k,
44
+ A,
45
+ N,
46
+ v,
47
+ M,
48
+ y,
49
+ j,
50
+ P
51
+ ]),
52
+ children: o(() => {
53
+ let e = {
54
+ ...E.attributes,
55
+ ...h.extraProps,
56
+ ...D,
57
+ ...t(h, [
58
+ "plitziJsxSkipHOC",
59
+ "internalProps",
60
+ "className",
61
+ "children",
62
+ "extraProps"
63
+ ])
64
+ };
65
+ return O && (e = {
66
+ ...e,
67
+ children: O
68
+ }), /* @__PURE__ */ p(r, { children: /* @__PURE__ */ p(m, {
69
+ ...e,
70
+ ref: g
71
+ }) });
72
+ }, [
73
+ E.attributes,
74
+ h,
75
+ D,
76
+ O
77
+ ])
78
+ });
79
+ if (C) {
80
+ f.linkParent(v, x?.id);
51
81
  let e = {
52
- ..._.attributes,
53
- ...u.extraProps,
54
- ...v,
55
- ...n(u, [
82
+ attributes: k,
83
+ definition: A,
84
+ style: j,
85
+ elementState: N,
86
+ plitziElementLayout: M,
87
+ children: O,
88
+ ...D,
89
+ ...h.extraProps,
90
+ ...t(h, [
56
91
  "plitziJsxSkipHOC",
57
92
  "internalProps",
58
93
  "className",
@@ -60,25 +95,15 @@ var l = (l) => {
60
95
  "extraProps"
61
96
  ])
62
97
  };
63
- return y && (e = {
64
- ...e,
65
- children: y
66
- }), /* @__PURE__ */ c(t, { children: /* @__PURE__ */ c(o, {
67
- value: E,
68
- children: /* @__PURE__ */ c(l, {
69
- ...e,
70
- ref: d
71
- })
72
- }) });
73
- }, [
74
- _.attributes,
75
- u,
76
- v,
77
- y,
78
- E
79
- ]);
98
+ return f.recordProps(v, d(_.current, e)), _.current = e, /* @__PURE__ */ p(i, {
99
+ id: v,
100
+ onRender: f.onRender,
101
+ children: F
102
+ });
103
+ }
104
+ return F;
80
105
  };
81
- return u.displayName = `withElement(${l.displayName || l.name})`, u;
106
+ return g.displayName = `withElement(${h})`, g;
82
107
  };
83
108
  //#endregion
84
- export { l as default };
109
+ export { m as default };
@@ -0,0 +1,3 @@
1
+ import { ElementContextValue } from '../ElementContext';
2
+ declare const useElement: () => ElementContextValue;
3
+ export default useElement;
@@ -0,0 +1,10 @@
1
+ import e from "../ElementContext.mjs";
2
+ import { use as t } from "react";
3
+ //#region src/Element/hooks/useElement.ts
4
+ var n = () => {
5
+ let n = t(e);
6
+ if (n === void 0) throw Error("Element data not found. Make sure the element is rendered under withElement.");
7
+ return n;
8
+ };
9
+ //#endregion
10
+ export { n as default };
@@ -1,18 +1,18 @@
1
1
  import { useMemo as e } from "react";
2
- import { createStoreHook as t } from "@plitzi/nexus/createStore";
2
+ import { useCommonStore as t } from "@plitzi/sdk-shared/store";
3
3
  //#region src/Element/hooks/useElementDataSource.ts
4
4
  var n = ({ bindings: n, sources: r }) => {
5
5
  let i = e(() => {
6
6
  let e = new Set(r ?? []);
7
7
  for (let t of Object.values(n ?? {})) if (Array.isArray(t)) for (let { source: n } of t) n && e.add(n);
8
8
  return e.size > 0 && !e.has("variables") && e.add("variables"), [...e];
9
- }, [n, r]), { useStore: a } = t(), [o] = a(e(() => i.map((e) => `runtime.sources.${e}`), [i]));
9
+ }, [n, r]), [a] = t(e(() => i.map((e) => `runtime.sources.${e}`), [i]));
10
10
  return e(() => {
11
11
  let e = {};
12
12
  return i.forEach((t, n) => {
13
- e[t] = o[n];
13
+ e[t] = a[n];
14
14
  }), e;
15
- }, [i, o]);
15
+ }, [i, a]);
16
16
  };
17
17
  //#endregion
18
18
  export { n as default };
@@ -1,41 +1,33 @@
1
1
  import e from "../helpers/getInteractions.mjs";
2
- import { useCallback as t, useMemo as n, useRef as r } from "react";
3
- import { omit as i, set as a } from "@plitzi/plitzi-ui/helpers";
4
- import { produce as o } from "immer";
2
+ import { useCallback as t, useMemo as n } from "react";
3
+ import { set as r } from "@plitzi/plitzi-ui/helpers";
4
+ import { produce as i } from "immer";
5
5
  //#region src/Element/hooks/useElementInteractions.ts
6
- var s = (e) => {
6
+ var a = (e) => {
7
7
  if (typeof e != "string") return e;
8
8
  let t = e.toLowerCase();
9
9
  return t === "true" || t === "false" || t === "yes" || t === "no" ? t === "true" || t === "yes" : e;
10
- }, c = ({ attributes: c, definition: l, setElementState: u }) => {
11
- let d = r({}), f = t((e) => {
12
- let t = d.current;
10
+ }, o = ({ attributes: o, definition: s, setElementState: c }) => {
11
+ let l = t((e) => {
13
12
  if (!e.key || !e.value) return {
14
- prevState: t,
15
- nextState: t
13
+ prevState: void 0,
14
+ nextState: void 0
16
15
  };
17
- let { key: n } = e, { value: r } = e;
18
- r = s(r);
19
- let c = {};
20
- return c = r === void 0 ? i(t, [n]) : o(t, (e) => a(e, n, r)), u(c) ? (d.current = c, {
21
- prevState: t,
22
- nextState: c
23
- }) : {
24
- prevState: t,
25
- nextState: t
16
+ let { key: t } = e, n = a(e.value), o, s;
17
+ return c((e) => (o = e, s = i(e, (e) => r(e, t, n)), s)), {
18
+ prevState: o,
19
+ nextState: s
26
20
  };
27
- }, [u]), p = t((e, t) => {
28
- let { revertOnFinish: n } = e;
29
- if (!n || !t || !t.prevState) return;
30
- let { prevState: r } = t;
31
- d.current = r, u(r);
32
- }, [u]);
33
- return n(() => e(c, l, f, p), [
34
- c,
21
+ }, [c]), u = t((e, t) => {
22
+ let n = t?.prevState;
23
+ !e.revertOnFinish || !n || c(n);
24
+ }, [c]);
25
+ return n(() => e(o, s, l, u), [
26
+ o,
27
+ s,
35
28
  l,
36
- f,
37
- p
29
+ u
38
30
  ]);
39
31
  };
40
32
  //#endregion
41
- export { c as default };
33
+ export { o as default };
@@ -4,6 +4,10 @@ export declare const getProps: (element: Element, internalProps: InternalPropsST
4
4
  rootId: string | undefined;
5
5
  attributes: {
6
6
  [x: string]: unknown;
7
+ id?: string | undefined;
8
+ rootId?: string | undefined;
9
+ plitziElementLayout?: import('@plitzi/sdk-shared').ElementLayout | undefined;
10
+ attributes?: Element["attributes"] | undefined;
7
11
  subType?: string;
8
12
  };
9
13
  definition: import('@plitzi/sdk-shared').ElementDefinition;
@@ -18,17 +22,21 @@ export declare const getProps: (element: Element, internalProps: InternalPropsST
18
22
  plitziElementLayout?: import('@plitzi/sdk-shared').ElementLayout;
19
23
  };
20
24
  export type UseElementInternalProps = {
25
+ element: Element;
21
26
  children?: ReactNode;
22
27
  internalProps: InternalPropsSTG1;
23
28
  previewMode?: boolean;
24
- baseElementId?: string;
25
29
  };
26
- declare const useElementInternal: ({ children, internalProps, previewMode, baseElementId }: UseElementInternalProps) => {
30
+ declare const useElementInternal: ({ element, children, internalProps, previewMode }: UseElementInternalProps) => {
27
31
  internalProps: {
28
32
  setElementState: <T extends Record<string, unknown> = Record<string, unknown>>(value?: T | ((prev: T) => T)) => boolean;
29
33
  rootId: string | undefined;
30
34
  attributes: {
31
35
  [x: string]: unknown;
36
+ id?: string | undefined;
37
+ rootId?: string | undefined;
38
+ plitziElementLayout?: import('@plitzi/sdk-shared').ElementLayout | undefined;
39
+ attributes?: Element["attributes"] | undefined;
32
40
  subType?: string;
33
41
  };
34
42
  definition: import('@plitzi/sdk-shared').ElementDefinition;
@@ -42,11 +50,15 @@ declare const useElementInternal: ({ children, internalProps, previewMode, baseE
42
50
  id: string;
43
51
  plitziElementLayout?: import('@plitzi/sdk-shared').ElementLayout;
44
52
  };
45
- customProps: Omit<{
53
+ customProps: Partial<{
46
54
  setElementState: <T extends Record<string, unknown> = Record<string, unknown>>(value?: T | ((prev: T) => T)) => boolean;
47
55
  rootId: string | undefined;
48
56
  attributes: {
49
57
  [x: string]: unknown;
58
+ id?: string | undefined;
59
+ rootId?: string | undefined;
60
+ plitziElementLayout?: import('@plitzi/sdk-shared').ElementLayout | undefined;
61
+ attributes?: Element["attributes"] | undefined;
50
62
  subType?: string;
51
63
  };
52
64
  definition: import('@plitzi/sdk-shared').ElementDefinition;
@@ -59,7 +71,7 @@ declare const useElementInternal: ({ children, internalProps, previewMode, baseE
59
71
  style: Record<string, string> | undefined;
60
72
  id: string;
61
73
  plitziElementLayout?: import('@plitzi/sdk-shared').ElementLayout;
62
- }, "style" | "definition" | "id" | "attributes" | "rootId" | "plitziElementLayout" | "setElementState" | "elementState">;
74
+ }>;
63
75
  children: ReactNode;
64
76
  };
65
77
  export default useElementInternal;
@@ -1,35 +1,37 @@
1
- import e from "./useElementDataSource.mjs";
2
- import t from "./useElementState.mjs";
3
- import n from "./useInternalItems.mjs";
4
- import r from "../../dataSource/getBindingsDetails.mjs";
1
+ import { omitKeys as e } from "../helpers/omitKeys.mjs";
2
+ import t from "./useElementDataSource.mjs";
3
+ import n from "./useElementState.mjs";
4
+ import r from "./useInternalItems.mjs";
5
5
  import i from "../helpers/parseStyleSelectors.mjs";
6
6
  import { useMemo as a } from "react";
7
- import { get as o, omit as s } from "@plitzi/plitzi-ui/helpers";
8
- import { createStoreHook as c } from "@plitzi/nexus/createStore";
9
- import { hasValidToken as l, processTwig as u } from "@plitzi/sdk-shared/helpers/twigWrapper";
7
+ import { get as o } from "@plitzi/plitzi-ui/helpers";
8
+ import s from "@plitzi/sdk-shared/dataSource/getBindingsDetails";
9
+ import { hasValidToken as c, processTwig as l } from "@plitzi/sdk-shared/helpers/twigWrapper";
10
10
  //#region src/Element/hooks/useElementInternal.ts
11
- var d = (e, t, n = {}, a = {}) => {
12
- let c, { attributes: d, definition: f } = e, { rootId: p, plitziElementLayout: m } = t;
13
- if (t.attributes && (d = {
11
+ var u = (t, n, r = {}, a = {}) => {
12
+ let u, { attributes: d, definition: f } = t, { rootId: p, plitziElementLayout: m } = n;
13
+ if (n.attributes && (d = {
14
14
  ...d,
15
- ...t.attributes
16
- }), Object.keys(n).length > 0) {
17
- let t = r(n, {
18
- ...e,
15
+ ...n.attributes
16
+ }), Object.keys(r).length > 0) {
17
+ let e = s(r, {
18
+ ...t,
19
19
  attributes: d
20
- }, c);
21
- ({attributes: d, definition: f, style: c} = t);
20
+ }, u);
21
+ ({attributes: d, definition: f, style: u} = e);
22
22
  }
23
- let { variables: h } = n;
24
- return h && Object.keys(h).length > 0 && (d = Object.keys(d).reduce((e, t) => typeof d[t] == "string" && l(d[t]) ? {
25
- ...e,
26
- [t]: u(d[t], h, !0)
27
- } : {
28
- ...e,
29
- [t]: d[t]
30
- }, {})), d = {
23
+ let { variables: h } = r;
24
+ if (h && Object.keys(h).length > 0) {
25
+ let e = {};
26
+ for (let t of Object.keys(d)) {
27
+ let n = d[t];
28
+ e[t] = typeof n == "string" && c(n) ? l(n, h, !0) : n;
29
+ }
30
+ d = e;
31
+ }
32
+ return d = {
31
33
  ...d,
32
- ...s(a, ["visibility", "styleSelectors"])
34
+ ...e(a, ["visibility", "styleSelectors"])
33
35
  }, f = {
34
36
  ...f,
35
37
  styleSelectors: {
@@ -38,11 +40,11 @@ var d = (e, t, n = {}, a = {}) => {
38
40
  ...a.styleSelectors ?? {}
39
41
  }
40
42
  }, f.styleSelectors = i(f), {
41
- ...t,
43
+ ...n,
42
44
  rootId: o(m, "rootId", p),
43
45
  attributes: {
44
46
  ...d,
45
- ...s(t, [
47
+ ...e(n, [
46
48
  "id",
47
49
  "rootId",
48
50
  "attributes",
@@ -55,30 +57,29 @@ var d = (e, t, n = {}, a = {}) => {
55
57
  ...f.initialState,
56
58
  ...a
57
59
  },
58
- style: c
60
+ style: u
59
61
  };
60
- }, f = ({ children: r, internalProps: i, previewMode: o = !1, baseElementId: l }) => {
61
- let { useStore: u } = c(), { id: f } = i, [p] = u(`schema.flat.${f}`);
62
- if (!p) throw Error(`Element ${f} not found, Page ${l}`);
63
- let { state: m, setElementState: h } = t({
64
- bindings: p.definition.bindings,
65
- previewMode: o
66
- }), g = e({
67
- bindings: p.definition.bindings,
62
+ }, d = ({ element: i, children: o, internalProps: s, previewMode: c = !1 }) => {
63
+ let { id: l } = s, { state: d, setElementState: f } = n({
64
+ id: l,
65
+ bindings: i.definition.bindings,
66
+ previewMode: c
67
+ }), p = t({
68
+ bindings: i.definition.bindings,
68
69
  sources: ["variables"]
69
- }), _ = a(() => ({
70
- ...d(p, i, g, m),
71
- setElementState: h
70
+ }), m = a(() => ({
71
+ ...u(i, s, p, d),
72
+ setElementState: f
72
73
  }), [
73
- p,
74
74
  i,
75
- g,
76
- m,
77
- h
75
+ s,
76
+ p,
77
+ d,
78
+ f
78
79
  ]);
79
80
  return {
80
- internalProps: _,
81
- customProps: s(_, [
81
+ internalProps: m,
82
+ customProps: e(m, [
82
83
  "id",
83
84
  "rootId",
84
85
  "plitziElementLayout",
@@ -88,14 +89,14 @@ var d = (e, t, n = {}, a = {}) => {
88
89
  "elementState",
89
90
  "setElementState"
90
91
  ]),
91
- children: n({
92
- id: f,
93
- definition: _.definition,
94
- plitziElementLayout: _.plitziElementLayout,
95
- children: r,
96
- previewMode: o
92
+ children: r({
93
+ id: l,
94
+ definition: m.definition,
95
+ plitziElementLayout: m.plitziElementLayout,
96
+ children: o,
97
+ previewMode: c
97
98
  })
98
99
  };
99
100
  };
100
101
  //#endregion
101
- export { f as default };
102
+ export { d as default, u as getProps };
@@ -1,11 +1,11 @@
1
1
  import { Element } from '@plitzi/sdk-shared';
2
2
  export type UseElementStateProps = {
3
+ id: string;
3
4
  bindings?: Partial<Element['definition']['bindings']>;
4
5
  previewMode: boolean;
5
6
  };
6
- declare const useElementState: ({ bindings, previewMode }: UseElementStateProps) => {
7
+ declare const useElementState: ({ id, bindings, previewMode }: UseElementStateProps) => {
7
8
  state: Record<string, unknown>;
8
- setState: import('react').Dispatch<import('react').SetStateAction<Record<string, unknown>>>;
9
9
  setElementState: <T extends Record<string, unknown> = Record<string, unknown>>(value?: T | ((prev: T) => T)) => boolean;
10
10
  };
11
11
  export default useElementState;
@@ -1,23 +1,30 @@
1
- import { useCallback as e, useMemo as t, useState as n } from "react";
2
- import { get as r, omit as i } from "@plitzi/plitzi-ui/helpers";
1
+ import { useCallback as e, useEffect as t, useMemo as n } from "react";
2
+ import { useCommonStore as r, useCommonStoreSetter as i } from "@plitzi/sdk-shared/store";
3
+ import { get as a, omit as o } from "@plitzi/plitzi-ui/helpers";
4
+ import { useStoreById as s } from "@plitzi/nexus/react";
3
5
  //#region src/Element/hooks/useElementState.ts
4
- var a = ({ bindings: a, previewMode: o }) => {
5
- let [s, c] = n({}), l = t(() => {
6
- let e = a?.initialState && Array.isArray(a.initialState) ? a.initialState : [], t = a?.attributes && Array.isArray(a.attributes) ? a.attributes : [];
7
- return {
8
- stateBinded: e.filter((e) => e.enabled !== !1).map((e) => r(e, "toPath", "")),
9
- attributesBinded: t.filter((e) => e.enabled !== !1).map((e) => r(e, "toPath", ""))
10
- };
11
- }, [a]);
12
- return {
13
- state: s,
14
- setState: c,
15
- setElementState: e((e) => o ? (c((t) => {
16
- if (!e) return {};
17
- let n = typeof e == "function" ? e(t) : e;
18
- return l.attributesBinded.length && (n = i(n, l.attributesBinded)), n;
19
- }), !0) : !1, [l, o])
6
+ var c = {}, l = (e, t) => t ? `runtime.elements.${e}.${t}` : `runtime.elements.${e}`, u = ({ id: u, bindings: d, previewMode: f }) => {
7
+ let { scopePath: p } = s(), m = n(() => l(u, p), [u, p]), [h] = r(m), g = h ?? c, _ = i(), v = n(() => (d?.attributes && Array.isArray(d.attributes) ? d.attributes : []).filter((e) => e.enabled !== !1).map((e) => a(e, "toPath", "")), [d]), y = e((e) => f ? (_(m, (t) => {
8
+ if (!e) return {};
9
+ let n = typeof e == "function" ? e(t ?? c) : e;
10
+ return v.length && (n = o(n, v)), n;
11
+ }), !0) : !1, [
12
+ v,
13
+ m,
14
+ f,
15
+ _
16
+ ]);
17
+ return t(() => {
18
+ if (!(!f || !p)) return () => _(m, void 0);
19
+ }, [
20
+ f,
21
+ p,
22
+ m,
23
+ _
24
+ ]), {
25
+ state: g,
26
+ setElementState: y
20
27
  };
21
28
  };
22
29
  //#endregion
23
- export { a as default };
30
+ export { u as default };
@@ -1,55 +1,57 @@
1
1
  import e from "../helpers/pluginSelector.mjs";
2
2
  import t from "../ServerStaticShell.mjs";
3
- import { isValidElement as n, use as r, useMemo as i, useSyncExternalStore as a } from "react";
4
- import { get as o } from "@plitzi/plitzi-ui/helpers";
5
- import { createStoreHook as s } from "@plitzi/nexus/createStore";
6
- import { usePlitziServiceContext as c } from "@plitzi/sdk-shared";
7
- import l from "@plitzi/sdk-shared/elements/ComponentContext";
8
- import { jsx as u } from "react/jsx-runtime";
3
+ import { isValidElement as n, use as r, useMemo as i, useRef as a, useSyncExternalStore as o } from "react";
4
+ import { useCommonStore as s } from "@plitzi/sdk-shared/store";
5
+ import { get as c } from "@plitzi/plitzi-ui/helpers";
6
+ import { usePlitziServiceContext as l } from "@plitzi/sdk-shared";
7
+ import u from "@plitzi/sdk-shared/elements/ComponentContext";
8
+ import { jsx as d } from "react/jsx-runtime";
9
9
  //#region src/Element/hooks/useInternalItems.tsx
10
- var d = typeof window > "u", f = () => () => {}, p = () => !0, m = () => !1, h = ({ id: h, definition: g, plitziElementLayout: _, children: v, previewMode: y }) => {
11
- let { useStore: b } = s(), [[x, S]] = b(["schema.flat", "schema.rsc.enabled"], { mode: "mount" }), { components: C } = r(l), { contexts: { PluginsContext: w } } = c(), { plugins: T } = r(w), { items: E } = g, D = _ || v || E?.length, O = i(() => Math.round(Date.now()), [_]), k = a(f, p, m);
10
+ var f = typeof window > "u", p = () => () => {}, m = () => !0, h = () => !1, g = ({ id: g, definition: _, plitziElementLayout: v, children: y, previewMode: b }) => {
11
+ let [[x, S]] = s(["schema.flat", "schema.rsc.enabled"], { mode: "mount" }), { components: C } = r(u), { contexts: { PluginsContext: w } } = l(), { plugins: T } = r(w), { items: E } = _, D = v || y || E?.length, O = a(v), k = a(0);
12
+ O.current !== v && (O.current = v, k.current += 1);
13
+ let A = k.current, j = o(p, m, h);
12
14
  return i(() => {
13
15
  if (!D) return;
14
16
  let r = (E ?? []).filter((e) => {
15
17
  let t = x[e];
16
18
  if (!t) return !1;
17
- if (!y || !S) return !0;
19
+ if (!b || !S) return !0;
18
20
  let n = t.definition.runtime ?? "shared";
19
- return !(!k && n === "client");
21
+ return !(!j && n === "client");
20
22
  }).map((n) => {
21
- let { rootId: r, type: i, runtime: a } = o(x, `${n}.definition`, {}), s = o(_, "rootId", r);
22
- return S && a === "server" && !d && y ? /* @__PURE__ */ u(t, { id: n }, n) : e({
23
- key: !y && _ ? `${n}_${O}` : n,
24
- plitziElementLayout: _,
23
+ let { rootId: r, type: i, runtime: a } = c(x, `${n}.definition`, {}), o = c(v, "rootId", r);
24
+ return S && a === "server" && !f && b ? /* @__PURE__ */ d(t, { id: n }, n) : e({
25
+ key: !b && v ? `${n}_${A}` : n,
26
+ plitziElementLayout: v,
25
27
  type: i,
26
28
  internalProps: {
27
29
  id: n,
28
- rootId: s
30
+ rootId: o
29
31
  },
30
32
  components: C.current,
31
33
  plugins: T
32
34
  });
33
35
  });
34
- if (_) {
35
- let { containerId: e, bodyChildren: t } = _;
36
- e === h && r.push(t);
36
+ if (v) {
37
+ let { containerId: e, bodyChildren: t } = v;
38
+ e === g && r.push(t);
37
39
  }
38
- if (v && n(v) && (Array.isArray(v) ? r.push(...v) : r.push(v)), E) return r.length === 1 ? r[0] : r;
40
+ if (Array.isArray(y) ? r.push(...y.filter(n)) : n(y) && r.push(y), E) return r.length === 1 ? r[0] : r;
39
41
  }, [
40
42
  D,
41
43
  E,
42
- _,
43
44
  v,
44
- x,
45
45
  y,
46
+ x,
47
+ b,
46
48
  S,
47
- k,
48
- O,
49
+ j,
50
+ A,
49
51
  C,
50
52
  T,
51
- h
53
+ g
52
54
  ]);
53
55
  };
54
56
  //#endregion
55
- export { h as default };
57
+ export { g as default };