@plitzi/sdk-elements 0.33.2 → 0.34.1

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 (247) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/dist/Component/ComponentProvider.mjs +20 -20
  3. package/dist/Component/index.mjs +3 -3
  4. package/dist/Element/ElementContext.d.ts +16 -4
  5. package/dist/Element/JsxManager.mjs +6 -7
  6. package/dist/Element/PluginRemote.d.ts +1 -2
  7. package/dist/Element/PluginRemote.mjs +14 -12
  8. package/dist/Element/RootElement.d.ts +1 -1
  9. package/dist/Element/RootElement.mjs +8 -6
  10. package/dist/Element/ServerStaticShell.d.ts +10 -10
  11. package/dist/Element/ServerStaticShell.mjs +8 -8
  12. package/dist/Element/helpers/elementConstants.mjs +35 -0
  13. package/dist/Element/helpers/elementUtils.d.ts +8 -1
  14. package/dist/Element/helpers/elementUtils.mjs +7 -34
  15. package/dist/Element/helpers/getInteractions.d.ts +1 -1
  16. package/dist/Element/helpers/getInteractions.mjs +61 -64
  17. package/dist/Element/helpers/loadComponent.d.ts +1 -1
  18. package/dist/Element/helpers/loadComponent.mjs +19 -19
  19. package/dist/Element/helpers/pluginSelector.d.ts +0 -1
  20. package/dist/Element/helpers/pluginSelector.mjs +2 -6
  21. package/dist/Element/helpers/renderStaticTag.d.ts +6 -2
  22. package/dist/Element/helpers/renderStaticTag.mjs +5 -4
  23. package/dist/Element/hocs/withElement.mjs +80 -77
  24. package/dist/Element/hooks/useElementInteractions.mjs +29 -18
  25. package/dist/Element/hooks/useElementInternal.d.ts +3 -1
  26. package/dist/Element/hooks/useElementInternal.mjs +82 -58
  27. package/dist/Element/hooks/useElementState.mjs +3 -2
  28. package/dist/Element/hooks/useInternalItems.d.ts +3 -1
  29. package/dist/Element/hooks/useInternalItems.mjs +47 -44
  30. package/dist/Element/hooks/useRootElementInteractions.mjs +30 -30
  31. package/dist/Element/hooks/useRscData.d.ts +10 -0
  32. package/dist/Element/hooks/useRscData.mjs +9 -5
  33. package/dist/components/ElementAdvancedEditor.mjs +19 -19
  34. package/dist/dataSource/GlobalSources.mjs +60 -51
  35. package/dist/elements/advanced/BlockHtml/BlockHtml.mjs +9 -9
  36. package/dist/elements/advanced/BlockHtml/declaration.d.ts +55 -0
  37. package/dist/elements/advanced/BlockHtml/declaration.mjs +42 -0
  38. package/dist/elements/advanced/BlockHtml/index.d.ts +39 -36
  39. package/dist/elements/advanced/BlockHtml/index.mjs +3 -38
  40. package/dist/elements/advanced/BlockJsx/BlockJsx.mjs +8 -8
  41. package/dist/elements/advanced/BlockJsx/Settings.mjs +8 -8
  42. package/dist/elements/advanced/BlockJsx/declaration.d.ts +59 -0
  43. package/dist/elements/advanced/BlockJsx/declaration.mjs +47 -0
  44. package/dist/elements/advanced/BlockJsx/index.d.ts +40 -39
  45. package/dist/elements/advanced/BlockJsx/index.mjs +3 -43
  46. package/dist/elements/advanced/Custom/Custom.d.ts +1 -2
  47. package/dist/elements/advanced/Custom/Custom.mjs +32 -33
  48. package/dist/elements/advanced/Custom/Settings.d.ts +1 -2
  49. package/dist/elements/advanced/Custom/Settings.mjs +44 -53
  50. package/dist/elements/advanced/Custom/declaration.d.ts +63 -0
  51. package/dist/elements/advanced/Custom/declaration.mjs +48 -0
  52. package/dist/elements/advanced/Custom/index.d.ts +47 -45
  53. package/dist/elements/advanced/Custom/index.mjs +3 -49
  54. package/dist/elements/advanced/NodeHtml/NodeHtml.mjs +6 -6
  55. package/dist/elements/advanced/NodeHtml/declaration.d.ts +353 -0
  56. package/dist/elements/advanced/NodeHtml/declaration.mjs +48 -0
  57. package/dist/elements/advanced/NodeHtml/index.d.ts +325 -49
  58. package/dist/elements/advanced/NodeHtml/index.mjs +4 -49
  59. package/dist/elements/advanced/Reference/Reference.mjs +13 -13
  60. package/dist/elements/advanced/Reference/declaration.d.ts +60 -0
  61. package/dist/elements/advanced/Reference/declaration.mjs +47 -0
  62. package/dist/elements/advanced/Reference/index.d.ts +44 -43
  63. package/dist/elements/advanced/Reference/index.mjs +4 -48
  64. package/dist/elements/basic/Button/Button.mjs +8 -8
  65. package/dist/elements/basic/Button/declaration.d.ts +127 -0
  66. package/dist/elements/basic/Button/declaration.mjs +101 -0
  67. package/dist/elements/basic/Button/index.d.ts +98 -98
  68. package/dist/elements/basic/Button/index.mjs +3 -103
  69. package/dist/elements/basic/Dropdown/Dropdown.mjs +13 -13
  70. package/dist/elements/basic/Dropdown/DropdownPopup/DropdownPopup.mjs +7 -7
  71. package/dist/elements/basic/Dropdown/DropdownPopup/Settings.mjs +5 -0
  72. package/dist/elements/basic/Dropdown/DropdownPopup/declaration.d.ts +67 -0
  73. package/dist/elements/basic/Dropdown/DropdownPopup/declaration.mjs +60 -0
  74. package/dist/elements/basic/Dropdown/DropdownPopup/index.d.ts +52 -54
  75. package/dist/elements/basic/Dropdown/DropdownPopup/index.mjs +4 -60
  76. package/dist/elements/basic/Dropdown/declaration.d.ts +86 -0
  77. package/dist/elements/basic/Dropdown/declaration.mjs +70 -0
  78. package/dist/elements/basic/Dropdown/index.d.ts +131 -124
  79. package/dist/elements/basic/Dropdown/index.mjs +7 -70
  80. package/dist/elements/basic/Dropdown/useDropdown.mjs +1 -1
  81. package/dist/elements/basic/Heading/Heading.mjs +8 -8
  82. package/dist/elements/basic/Heading/declaration.d.ts +149 -0
  83. package/dist/elements/basic/Heading/declaration.mjs +113 -0
  84. package/dist/elements/basic/Heading/index.d.ts +108 -104
  85. package/dist/elements/basic/Heading/index.mjs +4 -110
  86. package/dist/elements/basic/Link/Link.d.ts +8 -1
  87. package/dist/elements/basic/Link/Link.mjs +33 -31
  88. package/dist/elements/basic/Link/declaration.d.ts +66 -0
  89. package/dist/elements/basic/Link/declaration.mjs +52 -0
  90. package/dist/elements/basic/Link/index.d.ts +49 -45
  91. package/dist/elements/basic/Link/index.mjs +4 -51
  92. package/dist/elements/basic/Markdown/Markdown.mjs +6 -6
  93. package/dist/elements/basic/Markdown/declaration.d.ts +58 -0
  94. package/dist/elements/basic/Markdown/declaration.mjs +45 -0
  95. package/dist/elements/basic/Markdown/index.d.ts +41 -38
  96. package/dist/elements/basic/Markdown/index.mjs +4 -42
  97. package/dist/elements/basic/Paragraph/Paragraph.mjs +8 -8
  98. package/dist/elements/basic/Paragraph/declaration.d.ts +58 -0
  99. package/dist/elements/basic/Paragraph/declaration.mjs +45 -0
  100. package/dist/elements/basic/Paragraph/index.d.ts +41 -38
  101. package/dist/elements/basic/Paragraph/index.mjs +4 -42
  102. package/dist/elements/basic/RichText/RichText.mjs +8 -8
  103. package/dist/elements/basic/RichText/declaration.d.ts +61 -0
  104. package/dist/elements/basic/RichText/declaration.mjs +48 -0
  105. package/dist/elements/basic/RichText/index.d.ts +45 -44
  106. package/dist/elements/basic/RichText/index.mjs +4 -49
  107. package/dist/elements/basic/Text/Text.mjs +8 -8
  108. package/dist/elements/basic/Text/declaration.d.ts +59 -0
  109. package/dist/elements/basic/Text/declaration.mjs +46 -0
  110. package/dist/elements/basic/Text/index.d.ts +42 -39
  111. package/dist/elements/basic/Text/index.mjs +4 -43
  112. package/dist/elements/basic/ThemeToggle/ThemeToggle.d.ts +31 -0
  113. package/dist/elements/basic/ThemeToggle/ThemeToggle.mjs +114 -0
  114. package/dist/elements/basic/ThemeToggle/declaration.d.ts +71 -0
  115. package/dist/elements/basic/ThemeToggle/declaration.mjs +58 -0
  116. package/dist/elements/basic/ThemeToggle/index.d.ts +70 -0
  117. package/dist/elements/basic/ThemeToggle/index.mjs +6 -0
  118. package/dist/elements/declarations/index.d.ts +3098 -0
  119. package/dist/elements/declarations/index.mjs +75 -0
  120. package/dist/elements/form/Form/Form.d.ts +4 -0
  121. package/dist/elements/form/Form/Form.mjs +131 -100
  122. package/dist/elements/form/Form/declaration.d.ts +64 -0
  123. package/dist/elements/form/Form/declaration.mjs +49 -0
  124. package/dist/elements/form/Form/index.d.ts +44 -39
  125. package/dist/elements/form/Form/index.mjs +11 -48
  126. package/dist/elements/form/FormControl/FormControl.d.ts +21 -3
  127. package/dist/elements/form/FormControl/FormControl.mjs +142 -116
  128. package/dist/elements/form/FormControl/Settings.d.ts +7 -1
  129. package/dist/elements/form/FormControl/Settings.mjs +78 -33
  130. package/dist/elements/form/FormControl/declaration.d.ts +497 -0
  131. package/dist/elements/form/FormControl/declaration.mjs +197 -0
  132. package/dist/elements/form/FormControl/helpers/validateField.d.ts +27 -0
  133. package/dist/elements/form/FormControl/helpers/validateField.mjs +16 -0
  134. package/dist/elements/form/FormControl/hocs/withFieldValue.d.ts +6 -0
  135. package/dist/elements/form/FormControl/hocs/withFieldValue.mjs +73 -50
  136. package/dist/elements/form/FormControl/index.d.ts +186 -180
  137. package/dist/elements/form/FormControl/index.mjs +10 -186
  138. package/dist/elements/form/FormControl/inputs/Input.d.ts +3 -1
  139. package/dist/elements/form/FormControl/inputs/Input.mjs +16 -15
  140. package/dist/elements/form/FormControl/inputs/Select.mjs +16 -9
  141. package/dist/elements/form/FormControl/inputs/Textarea.d.ts +3 -1
  142. package/dist/elements/form/FormControl/inputs/Textarea.mjs +10 -9
  143. package/dist/elements/index.d.ts +3 -1
  144. package/dist/elements/index.mjs +36 -34
  145. package/dist/elements/internal/LayoutContainer/LayoutContainer.mjs +18 -18
  146. package/dist/elements/internal/LayoutContainer/declaration.d.ts +57 -0
  147. package/dist/elements/internal/LayoutContainer/declaration.mjs +44 -0
  148. package/dist/elements/internal/LayoutContainer/index.d.ts +41 -39
  149. package/dist/elements/internal/LayoutContainer/index.mjs +4 -42
  150. package/dist/elements/internal/Loading/Loading.mjs +8 -8
  151. package/dist/elements/internal/Loading/declaration.d.ts +51 -0
  152. package/dist/elements/internal/Loading/declaration.mjs +42 -0
  153. package/dist/elements/internal/Loading/index.d.ts +36 -36
  154. package/dist/elements/internal/Loading/index.mjs +4 -40
  155. package/dist/elements/internal/NotFound/NotFound.mjs +8 -8
  156. package/dist/elements/internal/NotFound/declaration.d.ts +51 -0
  157. package/dist/elements/internal/NotFound/declaration.mjs +42 -0
  158. package/dist/elements/internal/NotFound/index.d.ts +36 -36
  159. package/dist/elements/internal/NotFound/index.mjs +3 -39
  160. package/dist/elements/internal/Page/Page.mjs +26 -22
  161. package/dist/elements/internal/Page/declaration.d.ts +80 -0
  162. package/dist/elements/internal/Page/declaration.mjs +65 -0
  163. package/dist/elements/internal/Page/index.d.ts +63 -57
  164. package/dist/elements/internal/Page/index.mjs +4 -63
  165. package/dist/elements/media/FontAwesome/FontAwesome.mjs +10 -18
  166. package/dist/elements/media/FontAwesome/declaration.d.ts +62 -0
  167. package/dist/elements/media/FontAwesome/declaration.mjs +49 -0
  168. package/dist/elements/media/FontAwesome/index.d.ts +45 -40
  169. package/dist/elements/media/FontAwesome/index.mjs +4 -46
  170. package/dist/elements/media/Image/Image.d.ts +1 -1
  171. package/dist/elements/media/Image/Image.mjs +21 -21
  172. package/dist/elements/media/Image/declaration.d.ts +65 -0
  173. package/dist/elements/media/Image/declaration.mjs +51 -0
  174. package/dist/elements/media/Image/index.d.ts +48 -43
  175. package/dist/elements/media/Image/index.mjs +4 -49
  176. package/dist/elements/media/Video/Video.mjs +8 -8
  177. package/dist/elements/media/Video/declaration.d.ts +67 -0
  178. package/dist/elements/media/Video/declaration.mjs +52 -0
  179. package/dist/elements/media/Video/index.d.ts +50 -44
  180. package/dist/elements/media/Video/index.mjs +4 -50
  181. package/dist/elements/provider/ApiContainer/ApiContainer.d.ts +10 -1
  182. package/dist/elements/provider/ApiContainer/ApiContainer.mjs +95 -114
  183. package/dist/elements/provider/ApiContainer/Settings.d.ts +3 -2
  184. package/dist/elements/provider/ApiContainer/Settings.mjs +156 -119
  185. package/dist/elements/provider/ApiContainer/declaration.d.ts +77 -0
  186. package/dist/elements/provider/ApiContainer/declaration.mjs +60 -0
  187. package/dist/elements/provider/ApiContainer/hooks/useApi.d.ts +10 -0
  188. package/dist/elements/provider/ApiContainer/hooks/useApi.mjs +35 -30
  189. package/dist/elements/provider/ApiContainer/hooks/useProviderWrite.mjs +22 -15
  190. package/dist/elements/provider/ApiContainer/index.d.ts +53 -55
  191. package/dist/elements/provider/ApiContainer/index.mjs +4 -60
  192. package/dist/elements/structure/Container/Container.mjs +5 -5
  193. package/dist/elements/structure/Container/declaration.d.ts +57 -0
  194. package/dist/elements/structure/Container/declaration.mjs +44 -0
  195. package/dist/elements/structure/Container/index.d.ts +41 -42
  196. package/dist/elements/structure/Container/index.mjs +3 -44
  197. package/dist/elements/structure/DialogContainer/DialogContainer.mjs +65 -66
  198. package/dist/elements/structure/DialogContainer/declaration.d.ts +155 -0
  199. package/dist/elements/structure/DialogContainer/declaration.mjs +130 -0
  200. package/dist/elements/structure/DialogContainer/index.d.ts +124 -116
  201. package/dist/elements/structure/DialogContainer/index.mjs +4 -126
  202. package/dist/elements/structure/List/List.mjs +9 -9
  203. package/dist/elements/structure/List/ListItem/ListItem.mjs +5 -5
  204. package/dist/elements/structure/List/ListItem/declaration.d.ts +52 -0
  205. package/dist/elements/structure/List/ListItem/declaration.mjs +43 -0
  206. package/dist/elements/structure/List/ListItem/index.d.ts +37 -40
  207. package/dist/elements/structure/List/ListItem/index.mjs +4 -44
  208. package/dist/elements/structure/List/declaration.d.ts +90 -0
  209. package/dist/elements/structure/List/declaration.mjs +73 -0
  210. package/dist/elements/structure/List/index.d.ts +116 -117
  211. package/dist/elements/structure/List/index.mjs +7 -75
  212. package/dist/elements/structure/List/modes/ListControlled/ListControlled.mjs +30 -29
  213. package/dist/elements/structure/List/modes/ListControlled/ListControlledItem.d.ts +3 -2
  214. package/dist/elements/structure/List/modes/ListControlled/ListControlledItem.mjs +2 -2
  215. package/dist/elements/structure/ModalContainer/ModalContainer.mjs +47 -46
  216. package/dist/elements/structure/ModalContainer/declaration.d.ts +151 -0
  217. package/dist/elements/structure/ModalContainer/declaration.mjs +128 -0
  218. package/dist/elements/structure/ModalContainer/index.d.ts +117 -112
  219. package/dist/elements/structure/ModalContainer/index.mjs +4 -124
  220. package/dist/elements/structure/Pagination/Pagination.mjs +9 -9
  221. package/dist/elements/structure/Pagination/declaration.d.ts +76 -0
  222. package/dist/elements/structure/Pagination/declaration.mjs +58 -0
  223. package/dist/elements/structure/Pagination/index.d.ts +59 -51
  224. package/dist/elements/structure/Pagination/index.mjs +4 -57
  225. package/dist/elements/structure/TabContainer/TabContainer.mjs +8 -8
  226. package/dist/elements/structure/TabContainer/TabContainerBody/TabContainerBody.mjs +8 -8
  227. package/dist/elements/structure/TabContainer/TabContainerBody/declaration.d.ts +54 -0
  228. package/dist/elements/structure/TabContainer/TabContainerBody/declaration.mjs +49 -0
  229. package/dist/elements/structure/TabContainer/TabContainerBody/index.d.ts +39 -42
  230. package/dist/elements/structure/TabContainer/TabContainerBody/index.mjs +4 -50
  231. package/dist/elements/structure/TabContainer/TabContainerHeader/TabContainerHeader.mjs +8 -8
  232. package/dist/elements/structure/TabContainer/TabContainerHeader/declaration.d.ts +54 -0
  233. package/dist/elements/structure/TabContainer/TabContainerHeader/declaration.mjs +49 -0
  234. package/dist/elements/structure/TabContainer/TabContainerHeader/index.d.ts +39 -42
  235. package/dist/elements/structure/TabContainer/TabContainerHeader/index.mjs +4 -50
  236. package/dist/elements/structure/TabContainer/TabContainerItem/TabContainerItem.mjs +7 -7
  237. package/dist/elements/structure/TabContainer/TabContainerItem/declaration.d.ts +53 -0
  238. package/dist/elements/structure/TabContainer/TabContainerItem/declaration.mjs +48 -0
  239. package/dist/elements/structure/TabContainer/TabContainerItem/index.d.ts +38 -41
  240. package/dist/elements/structure/TabContainer/TabContainerItem/index.mjs +4 -49
  241. package/dist/elements/structure/TabContainer/declaration.d.ts +54 -0
  242. package/dist/elements/structure/TabContainer/declaration.mjs +45 -0
  243. package/dist/elements/structure/TabContainer/index.d.ts +163 -174
  244. package/dist/elements/structure/TabContainer/index.mjs +11 -51
  245. package/dist/index.d.ts +2618 -2200
  246. package/dist/index.mjs +38 -36
  247. package/package.json +182 -14
@@ -1,26 +1,26 @@
1
- import e from "../../elements/internal/NotFound/NotFound.mjs";
2
- import { generatePluginModule as t } from "./elementUtils.mjs";
3
- import n from "../hocs/withElement.mjs";
4
- import { nestedInject as r } from "../../Component/ComponentHelper.mjs";
5
- import { get as i } from "@plitzi/plitzi-ui/helpers";
1
+ import { generatePluginModule as e } from "./elementUtils.mjs";
2
+ import { get as t } from "@plitzi/plitzi-ui/helpers";
6
3
  //#region src/Element/helpers/loadComponent.ts
7
- var a = /* @__PURE__ */ new Map(), o = (o, s, c, l = !0, u = !1) => async () => {
8
- let d = `${o}::${s}`;
9
- if (!a.get(d)) {
10
- let e = o.endsWith(".mjs") || o.includes(".esm.") || o.includes(".module."), n = t(o, e, s).finally(() => {
11
- a.delete(d);
4
+ var n = /* @__PURE__ */ new Map(), r = (r, i, a = !0, o = !1) => async () => {
5
+ if (!n.get(r)) {
6
+ let t = e(r).finally(() => {
7
+ n.delete(r);
12
8
  });
13
- a.set(d, {
14
- promise: n,
9
+ n.set(r, {
10
+ promise: t,
15
11
  timestamp: Date.now()
16
12
  });
17
13
  }
18
- let f = await a.get(d)?.promise;
19
- if (!f) return { default: e };
20
- let { type: p, pluginSettings: m } = i(f, "default", {}), { version: h, initialItems: g, plugins: _ } = f;
21
- if (!p) return { default: e };
22
- let v = f.default;
23
- return u || (v = n(f.default)), v.version = h, v.origin = "remote", v.type = p, v.initialItems = g, v.pluginSettings = m, v.plugins = r(_, "remote"), l && c(v), { default: v };
14
+ let s = await n.get(r)?.promise, [{ default: c }, { default: l }, { nestedInject: u }] = await Promise.all([
15
+ import("../hocs/withElement.mjs"),
16
+ import("../../elements/internal/NotFound/NotFound.mjs"),
17
+ import("../../Component/ComponentHelper.mjs")
18
+ ]);
19
+ if (!s) return { default: l };
20
+ let { type: d, pluginSettings: f } = t(s, "default", {}), { version: p, initialItems: m, plugins: h } = s;
21
+ if (!d) return { default: l };
22
+ let g = s.default;
23
+ return o || (g = c(s.default)), g.version = p, g.origin = "remote", g.type = d, g.initialItems = m, g.pluginSettings = f, g.plugins = u(h, "remote"), a && i(g), { default: g };
24
24
  };
25
25
  //#endregion
26
- export { o as default };
26
+ export { r as default };
@@ -13,7 +13,6 @@ export declare const getRemoteSettings: ({ type, plugins }: {
13
13
  plugins: Record<string, ComponentDefinition>;
14
14
  }) => {
15
15
  url: string;
16
- scope: string;
17
16
  } | undefined;
18
17
  declare const pluginSelector: ({ key, plitziElementLayout, type, internalProps: internalPropsProp, components, plugins }: pluginSelectorProps) => import("react").JSX.Element | undefined;
19
18
  export default pluginSelector;
@@ -5,11 +5,8 @@ import { jsx as n } from "react/jsx-runtime";
5
5
  var r = (e, t) => Object.values(e).find((e) => e.subPlugins.find((e) => e === t)), i = ({ type: e, plugins: n }) => {
6
6
  let i = (e ? n[e] : void 0) ?? r(n, e);
7
7
  if (!i) return;
8
- let a = t(i, "assets", []).filter((e) => e.type === "script"), { scope: o } = i;
9
- return {
10
- url: a.find((e) => e.isMain)?.params.src ?? t(a, "0.params.src", ""),
11
- scope: o
12
- };
8
+ let a = t(i, "assets", []).filter((e) => e.type === "script");
9
+ return { url: a.find((e) => e.isMain)?.params.src ?? t(a, "0.params.src", "") };
13
10
  }, a = ({ key: t, plitziElementLayout: r, type: a, internalProps: o, components: s, plugins: c }) => {
14
11
  let l = {
15
12
  ...o,
@@ -27,7 +24,6 @@ var r = (e, t) => Object.values(e).find((e) => e.subPlugins.find((e) => e === t)
27
24
  });
28
25
  return f ? /* @__PURE__ */ n(e, {
29
26
  url: f.url,
30
- scope: f.scope,
31
27
  internalProps: l
32
28
  }, t) : u;
33
29
  };
@@ -1,7 +1,7 @@
1
1
  import { DebugParams } from '../RootElement';
2
2
  import { ReactNode, CSSProperties, RefObject, JSX, ReactElement } from 'react';
3
3
  export type StaticTagProps = {
4
- tag?: keyof JSX.IntrinsicElements;
4
+ tag?: keyof JSX.IntrinsicElements | '';
5
5
  refProp?: RefObject<HTMLElement | null>;
6
6
  style?: CSSProperties;
7
7
  className: string;
@@ -10,8 +10,12 @@ export type StaticTagProps = {
10
10
  serverMarker?: {
11
11
  'data-rsc-id': string;
12
12
  };
13
+ /** What an end-to-end test addresses this element by. Last in the spread: nothing may shadow it. */
14
+ testMarker?: {
15
+ 'data-plitzi-el': string;
16
+ };
13
17
  events?: Record<string, unknown>;
14
18
  children?: ReactNode;
15
19
  };
16
- declare const renderStaticTag: ({ tag, refProp, style, className, otherProps, params, serverMarker, events, children }: StaticTagProps) => ReactElement;
20
+ declare const renderStaticTag: ({ tag, refProp, style, className, otherProps, params, serverMarker, testMarker, events, children }: StaticTagProps) => ReactElement;
17
21
  export default renderStaticTag;
@@ -1,13 +1,14 @@
1
1
  import { createElement as e } from "react";
2
2
  //#region src/Element/helpers/renderStaticTag.ts
3
- var t = ({ tag: t = "div", refProp: n, style: r, className: i, otherProps: a, params: o, serverMarker: s, events: c, children: l }) => e(t, {
3
+ var t = ({ tag: t = "div", refProp: n, style: r, className: i, otherProps: a, params: o, serverMarker: s, testMarker: c, events: l, children: u }) => t === "" ? u : e(t, {
4
4
  ref: n,
5
5
  style: r,
6
6
  className: i,
7
7
  ...a,
8
8
  ...o,
9
- ...c,
10
- ...s
11
- }, l);
9
+ ...l,
10
+ ...s,
11
+ ...c
12
+ }, u);
12
13
  //#endregion
13
14
  export { t as default };
@@ -3,66 +3,69 @@ import { isVisible as t } from "../helpers/isVisible.mjs";
3
3
  import { omitKeys as n } from "../helpers/omitKeys.mjs";
4
4
  import r from "../hooks/useElementInternal.mjs";
5
5
  import i from "@plitzi/plitzi-ui/ErrorBoundary";
6
- import { Profiler as a, use as o, useMemo as s, useRef as c } from "react";
7
- import l from "@plitzi/sdk-event-bridge/hooks/useEventBridge";
8
- import u from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
9
- import { useCommonStore as d } from "@plitzi/sdk-shared/store";
10
- import { diffProps as f, tracingCollector as p } from "@plitzi/sdk-shared/store/tracing";
11
- import { jsx as m } from "react/jsx-runtime";
6
+ import { Profiler as a, use as o, useId as s, useMemo as c, useRef as l } from "react";
7
+ import u from "@plitzi/sdk-event-bridge/hooks/useEventBridge";
8
+ import d from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
9
+ import { useCommonStore as f } from "@plitzi/sdk-shared/store";
10
+ import { diffProps as p, tracingCollector as m } from "@plitzi/sdk-shared/store/tracing";
11
+ import { jsx as h } from "react/jsx-runtime";
12
12
  //#region src/Element/hocs/withElement.tsx
13
- var h = (h) => {
14
- let g = h.displayName || h.name, _ = (g) => {
15
- let _ = c(void 0), v = c(void 0), { id: y, rootId: b } = g.internalProps, x = o(e), S = x?.visible ?? !0, C = s(() => ({
16
- id: y,
17
- rootId: b,
18
- visible: S,
13
+ var g = (g) => {
14
+ let _ = g.displayName || g.name, v = (_) => {
15
+ let v = l(void 0), y = l(void 0), { id: b, rootId: x } = _.internalProps, S = o(e), C = S?.visible ?? !0, w = `${b}${s()}`, T = S?.traceId ?? w, E = c(() => ({
16
+ id: b,
17
+ rootId: x,
18
+ visible: C,
19
+ traceId: T,
19
20
  plitziJsxSkipHOC: !0
20
21
  }), [
21
- y,
22
22
  b,
23
- S
23
+ x,
24
+ C,
25
+ T
24
26
  ]);
25
- if (g.plitziJsxSkipHOC) return /* @__PURE__ */ m(e, {
26
- value: C,
27
- children: /* @__PURE__ */ m(h, { ...g })
27
+ if (_.plitziJsxSkipHOC) return /* @__PURE__ */ h(e, {
28
+ value: E,
29
+ children: /* @__PURE__ */ h(g, { ..._ })
28
30
  });
29
- let { settings: { previewMode: w, debugMode: T }, root: { baseElementId: E } } = u(), [D] = d(`schema.flat.${y}`);
30
- if (!D) throw Error(`Element ${y} not found, Page ${E}`);
31
- let { internalProps: O, customProps: k, children: A } = r({
32
- element: D,
33
- internalProps: g.internalProps,
34
- children: g.children,
35
- previewMode: w
36
- }), { attributes: j, definition: M, style: N, plitziElementLayout: P, elementState: F, setElementState: I } = O, L = s(() => ({ [`${y}_setState`]: I }), [y, I]);
37
- l("element", L);
38
- let R = D.idRef, z = S && t(F.visibility), B = s(() => ({
39
- id: y,
40
- idRef: R,
41
- rootId: b,
42
- visible: z,
43
- attributes: j,
44
- definition: M,
45
- plitziElementLayout: P,
46
- style: N,
47
- elementState: F,
48
- setElementState: I
31
+ let { settings: { previewMode: D, debugMode: O }, root: { baseElementId: k } } = d(), [A] = f(`schema.flat.${b}`);
32
+ if (!A) throw Error(`Element ${b} not found, Page ${k}`);
33
+ let { internalProps: j, customProps: M, children: N } = r({
34
+ element: A,
35
+ internalProps: _.internalProps,
36
+ children: _.children,
37
+ previewMode: D,
38
+ parentVisible: C
39
+ }), { attributes: P, definition: F, style: I, plitziElementLayout: L, elementState: R, setElementState: z } = j, B = c(() => ({ [`${b}_setState`]: z }), [b, z]);
40
+ u("element", B);
41
+ let V = C && t(R.visibility), H = c(() => ({
42
+ id: b,
43
+ rootId: x,
44
+ visible: V,
45
+ traceId: w,
46
+ attributes: P,
47
+ definition: F,
48
+ plitziElementLayout: L,
49
+ style: I,
50
+ elementState: R,
51
+ setElementState: z
49
52
  }), [
50
- j,
51
- M,
53
+ P,
52
54
  F,
53
- y,
54
55
  R,
55
- P,
56
56
  b,
57
- N,
57
+ L,
58
+ x,
58
59
  I,
59
- z
60
- ]), V = s(() => {
60
+ z,
61
+ V,
62
+ w
63
+ ]), U = c(() => {
61
64
  let e = {
62
- ...O.attributes,
63
- ...g.extraProps,
64
- ...k,
65
- ...n(g, [
65
+ ...j.attributes,
66
+ ..._.extraProps,
67
+ ...M,
68
+ ...n(_, [
66
69
  "plitziJsxSkipHOC",
67
70
  "internalProps",
68
71
  "className",
@@ -70,34 +73,34 @@ var h = (h) => {
70
73
  "extraProps"
71
74
  ])
72
75
  };
73
- return A && (e = {
76
+ return N && (e = {
74
77
  ...e,
75
- children: A
76
- }), /* @__PURE__ */ m(i, { children: /* @__PURE__ */ m(h, {
78
+ children: N
79
+ }), /* @__PURE__ */ h(i, { children: /* @__PURE__ */ h(g, {
77
80
  ...e,
78
- ref: _
81
+ ref: v
79
82
  }) });
80
83
  }, [
81
- O.attributes,
82
- g,
83
- k,
84
- A
85
- ]), H = /* @__PURE__ */ m(e, {
86
- value: B,
87
- children: V
84
+ j.attributes,
85
+ _,
86
+ M,
87
+ N
88
+ ]), W = /* @__PURE__ */ h(e, {
89
+ value: H,
90
+ children: U
88
91
  });
89
- if (T) {
90
- p.linkParent(y, x?.id);
92
+ if (O) {
93
+ m.linkParent(w, S?.traceId, b);
91
94
  let e = {
92
- attributes: j,
93
- definition: M,
94
- style: N,
95
- elementState: F,
96
- plitziElementLayout: P,
97
- children: A,
98
- ...k,
99
- ...g.extraProps,
100
- ...n(g, [
95
+ attributes: P,
96
+ definition: F,
97
+ style: I,
98
+ elementState: R,
99
+ plitziElementLayout: L,
100
+ children: N,
101
+ ...M,
102
+ ..._.extraProps,
103
+ ...n(_, [
101
104
  "plitziJsxSkipHOC",
102
105
  "internalProps",
103
106
  "className",
@@ -105,15 +108,15 @@ var h = (h) => {
105
108
  "extraProps"
106
109
  ])
107
110
  };
108
- return p.recordProps(y, f(v.current, e)), v.current = e, /* @__PURE__ */ m(a, {
109
- id: y,
110
- onRender: p.onRender,
111
- children: H
111
+ return m.recordProps(w, p(y.current, e)), y.current = e, /* @__PURE__ */ h(a, {
112
+ id: w,
113
+ onRender: m.onRender,
114
+ children: W
112
115
  });
113
116
  }
114
- return H;
117
+ return W;
115
118
  };
116
- return _.displayName = `withElement(${g})`, _;
119
+ return v.displayName = `withElement(${_})`, v;
117
120
  };
118
121
  //#endregion
119
- export { h as default };
122
+ export { g as default };
@@ -1,33 +1,44 @@
1
1
  import e from "../helpers/getInteractions.mjs";
2
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";
3
+ import { get as r, set as i } from "@plitzi/plitzi-ui/helpers";
4
+ import { produce as a } from "immer";
5
5
  //#region src/Element/hooks/useElementInteractions.ts
6
- var a = (e) => {
6
+ var o = (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
- }, o = ({ attributes: o, definition: s, setElementState: c }) => {
11
- let l = t((e) => {
12
- if (!e.key || !e.value) return {
10
+ }, s = ({ attributes: s, definition: c, setElementState: l }) => {
11
+ let u = t((e, t) => {
12
+ let n, o;
13
+ return l((s) => (n = s, o = a(s, (n) => i(n, e, t(r(s, e)))), o)), {
14
+ prevState: n,
15
+ nextState: o
16
+ };
17
+ }, [l]), d = t((e) => {
18
+ if (!e.key || e.value === void 0) return {
13
19
  prevState: void 0,
14
20
  nextState: void 0
15
21
  };
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
22
+ let { key: t } = e, n = o(e.value);
23
+ return u(t, () => n);
24
+ }, [u]), f = t((e) => {
25
+ if (!e.key) return {
26
+ prevState: void 0,
27
+ nextState: void 0
20
28
  };
21
- }, [c]), u = t((e, t) => {
29
+ let { key: t } = e;
30
+ return u(t, (e) => o(e) !== !0);
31
+ }, [u]), p = t((e, t) => {
22
32
  let n = t?.prevState;
23
- !e.revertOnFinish || !n || c(n);
24
- }, [c]);
25
- return n(() => e(o, s, l, u), [
26
- o,
33
+ e.revertOnFinish && n && l(n);
34
+ }, [l]);
35
+ return n(() => e(s, c, d, p, f), [
27
36
  s,
28
- l,
29
- u
37
+ c,
38
+ d,
39
+ p,
40
+ f
30
41
  ]);
31
42
  };
32
43
  //#endregion
33
- export { o as default };
44
+ export { s as default };
@@ -26,8 +26,10 @@ export type UseElementInternalProps = {
26
26
  children?: ReactNode;
27
27
  internalProps: InternalPropsSTG1;
28
28
  previewMode?: boolean;
29
+ /** Whether any ancestor is hiding this element — `withElement` has it before this element's own state is resolved. */
30
+ parentVisible?: boolean;
29
31
  };
30
- declare const useElementInternal: ({ element, children, internalProps, previewMode }: UseElementInternalProps) => {
32
+ declare const useElementInternal: ({ element, children, internalProps, previewMode, parentVisible }: UseElementInternalProps) => {
31
33
  internalProps: {
32
34
  setElementState: <T extends Record<string, unknown> = Record<string, unknown>>(value?: T | ((prev: T) => T)) => boolean;
33
35
  rootId: string | undefined;
@@ -1,50 +1,61 @@
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
- import i from "../helpers/parseStyleSelectors.mjs";
6
- import { useMemo as a } from "react";
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";
1
+ import { isVisible as e } from "../helpers/isVisible.mjs";
2
+ import { omitKeys as t } from "../helpers/omitKeys.mjs";
3
+ import n from "./useElementDataSource.mjs";
4
+ import r from "./useElementState.mjs";
5
+ import i from "./useInternalItems.mjs";
6
+ import a from "../helpers/parseStyleSelectors.mjs";
7
+ import { useMemo as o } from "react";
8
+ import { useCommonStore as s } from "@plitzi/sdk-shared/store";
9
+ import { get as c } from "@plitzi/plitzi-ui/helpers";
10
+ import l from "@plitzi/sdk-shared/dataSource/getBindingsDetails";
11
+ import { hasValidToken as u, processTwig as d } from "@plitzi/sdk-shared/helpers/twigWrapper";
10
12
  //#region src/Element/hooks/useElementInternal.ts
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
- ...d,
13
+ var f = (e, n, r = {}, i = {}) => {
14
+ let o, { attributes: s, definition: f } = e, { rootId: p, plitziElementLayout: m } = n;
15
+ if (n.attributes && (s = {
16
+ ...s,
15
17
  ...n.attributes
16
18
  }), Object.keys(r).length > 0) {
17
- let e = s(r, {
18
- ...t,
19
- attributes: d
20
- }, u);
21
- ({attributes: d, definition: f, style: u} = e);
19
+ let t = l(r, {
20
+ ...e,
21
+ attributes: s
22
+ }, o);
23
+ ({attributes: s, definition: f, style: o} = t);
22
24
  }
23
- let { variables: h } = r;
24
- if (h && Object.keys(h).length > 0) {
25
+ let { queryParams: h = {}, routeParams: g = {}, variables: _ = {}, origin: v = "" } = r, y = {
26
+ ..._,
27
+ ...g,
28
+ ...h,
29
+ navigation: {
30
+ routeParams: g,
31
+ queryParams: h,
32
+ origin: v
33
+ }
34
+ };
35
+ if (Object.keys(y).length > 0) {
25
36
  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;
37
+ for (let t of Object.keys(s)) {
38
+ let n = s[t];
39
+ e[t] = typeof n == "string" && u(n) ? d(n, y, !0) : n;
29
40
  }
30
- d = e;
41
+ s = e;
31
42
  }
32
- return d = {
33
- ...d,
34
- ...e(a, ["visibility", "styleSelectors"])
43
+ return s = {
44
+ ...s,
45
+ ...t(i, ["visibility", "styleSelectors"])
35
46
  }, f = {
36
47
  ...f,
37
48
  styleSelectors: {
38
49
  ...f.styleSelectors,
39
50
  ...f.initialState?.styleSelectors,
40
- ...a.styleSelectors ?? {}
51
+ ...i.styleSelectors ?? {}
41
52
  }
42
- }, f.styleSelectors = i(f), {
53
+ }, f.styleSelectors = a(f), {
43
54
  ...n,
44
- rootId: o(m, "rootId", p),
55
+ rootId: c(m, "rootId", p),
45
56
  attributes: {
46
- ...d,
47
- ...e(n, [
57
+ ...s,
58
+ ...t(n, [
48
59
  "id",
49
60
  "rootId",
50
61
  "attributes",
@@ -55,31 +66,43 @@ var u = (t, n, r = {}, a = {}) => {
55
66
  definition: f,
56
67
  elementState: {
57
68
  ...f.initialState,
58
- ...a
69
+ ...i
59
70
  },
60
- style: u
71
+ style: o
61
72
  };
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,
73
+ }, p = ({ element: a, children: c, internalProps: l, previewMode: u = !1, parentVisible: d = !0 }) => {
74
+ let { id: p } = l, { state: m, setElementState: h } = r({
75
+ id: p,
76
+ bindings: a.definition.bindings,
77
+ previewMode: u
78
+ }), [[g, _, v]] = s([
79
+ "navigation.routeParams",
80
+ "navigation.queryParams",
81
+ "navigation.origin"
82
+ ]), y = n({
83
+ bindings: a.definition.bindings,
69
84
  sources: ["variables"]
70
- }), m = a(() => ({
71
- ...u(i, s, p, d),
72
- setElementState: f
85
+ }), b = o(() => ({
86
+ ...f(a, l, {
87
+ ...y,
88
+ routeParams: g,
89
+ queryParams: _,
90
+ origin: v
91
+ }, m),
92
+ setElementState: h
73
93
  }), [
74
- i,
75
- s,
76
- p,
77
- d,
78
- f
94
+ a,
95
+ l,
96
+ y,
97
+ g,
98
+ _,
99
+ v,
100
+ m,
101
+ h
79
102
  ]);
80
103
  return {
81
- internalProps: m,
82
- customProps: e(m, [
104
+ internalProps: b,
105
+ customProps: t(b, [
83
106
  "id",
84
107
  "rootId",
85
108
  "plitziElementLayout",
@@ -89,14 +112,15 @@ var u = (t, n, r = {}, a = {}) => {
89
112
  "elementState",
90
113
  "setElementState"
91
114
  ]),
92
- children: r({
93
- id: l,
94
- definition: m.definition,
95
- plitziElementLayout: m.plitziElementLayout,
96
- children: o,
97
- previewMode: c
115
+ children: i({
116
+ id: p,
117
+ definition: b.definition,
118
+ plitziElementLayout: b.plitziElementLayout,
119
+ children: c,
120
+ previewMode: u,
121
+ visible: d && e(b.elementState.visibility)
98
122
  })
99
123
  };
100
124
  };
101
125
  //#endregion
102
- export { d as default, u as getProps };
126
+ export { p as default, f as getProps };
@@ -15,12 +15,13 @@ var c = {}, l = (e, t) => t ? `runtime.elements.${e}.${t}` : `runtime.elements.$
15
15
  _
16
16
  ]);
17
17
  return t(() => {
18
- if (!(!f || !p)) return () => _(m, void 0);
18
+ if (f && p) return () => _(m, void 0);
19
19
  }, [
20
20
  f,
21
21
  p,
22
22
  m,
23
- _
23
+ _,
24
+ u
24
25
  ]), {
25
26
  state: g,
26
27
  setElementState: y
@@ -1,10 +1,12 @@
1
1
  import { Element, ElementLayout } from '@plitzi/sdk-shared';
2
2
  import { ReactNode } from 'react';
3
- declare const useInternalItems: ({ id, definition, plitziElementLayout, children, previewMode }: {
3
+ declare const useInternalItems: ({ id, definition, plitziElementLayout, children, previewMode, visible }: {
4
4
  id: string;
5
5
  definition: Element["definition"];
6
6
  plitziElementLayout?: ElementLayout;
7
7
  children: ReactNode | ReactNode[];
8
8
  previewMode?: boolean;
9
+ /** This element's resolved visibility — its own `visibility` state AND every ancestor's. */
10
+ visible?: boolean;
9
11
  }) => ReactNode;
10
12
  export default useInternalItems;