@plitzi/sdk-elements 0.33.2 → 0.34.0

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 +42 -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
@@ -2,59 +2,65 @@ declare const Video: {
2
2
  (props: import('../../../Element/hocs/withElement').WithElementProps<import('./Video').VideoProps>): import("react").JSX.Element;
3
3
  displayName: string;
4
4
  } & {
5
- type: string;
6
- content: {
7
- attributes: {
8
- src: string;
9
- autoPlay: boolean;
10
- playsInline: boolean;
11
- loop: boolean;
12
- muted: boolean;
5
+ readonly type: "video";
6
+ readonly content: {
7
+ readonly attributes: {
8
+ readonly src: "";
9
+ readonly autoPlay: false;
10
+ readonly playsInline: false;
11
+ readonly loop: false;
12
+ readonly muted: true;
13
13
  };
14
- definition: {
15
- label: string;
16
- type: string;
17
- description: string;
18
- bindings: {};
19
- styleSelectors: {
20
- base: string;
14
+ readonly definition: {
15
+ readonly label: "Video";
16
+ readonly type: "video";
17
+ readonly description: "Embeds a video from a URL.";
18
+ readonly bindings: {};
19
+ readonly styleSelectors: {
20
+ readonly base: "";
21
21
  };
22
- initialState: {
23
- visibility: boolean;
22
+ readonly initialState: {
23
+ readonly visibility: true;
24
24
  };
25
25
  };
26
- builder: {
27
- canDelete: boolean;
28
- canSelect: boolean;
29
- canDragDrop: boolean;
30
- canMove: boolean;
31
- canTemplate: boolean;
32
- itemsAllowed: never[];
33
- itemsNotAllowed: never[];
26
+ readonly builder: {
27
+ readonly canDelete: true;
28
+ readonly canSelect: true;
29
+ readonly canDragDrop: true;
30
+ readonly canMove: true;
31
+ readonly canTemplate: true;
32
+ readonly itemsAllowed: readonly [];
33
+ readonly itemsNotAllowed: readonly [];
34
34
  };
35
- market: {
36
- category: string;
37
- owner: string;
38
- verified: boolean;
39
- license: string;
40
- website: string;
41
- backgroundColor: string;
42
- icon: string;
35
+ readonly market: {
36
+ readonly category: "media";
37
+ readonly owner: "Plitzi";
38
+ readonly verified: true;
39
+ readonly license: "MIT";
40
+ readonly website: "https://plitzi.com";
41
+ readonly backgroundColor: "#4422ee";
42
+ readonly icon: "fa-solid fa-video";
43
43
  };
44
- defaultStyle: {
45
- name: string;
46
- displayMode: string;
47
- style: {
48
- base: {
49
- default: {
50
- display: string;
51
- width: string;
52
- height: string;
44
+ readonly defaultStyle: {
45
+ readonly name: "Video";
46
+ readonly displayMode: "desktop";
47
+ readonly style: {
48
+ readonly base: {
49
+ readonly default: {
50
+ readonly display: "block";
51
+ readonly width: "400px";
52
+ readonly height: "250px";
53
53
  };
54
54
  };
55
55
  };
56
56
  };
57
- settings: {};
57
+ readonly settings: {};
58
58
  };
59
- };
59
+ } & import('@plitzi/sdk-shared/authoring/declare').ElementAttributesBrand<Partial<{
60
+ src?: string | undefined;
61
+ autoPlay?: boolean | undefined;
62
+ loop?: boolean | undefined;
63
+ muted?: boolean | undefined;
64
+ playsInline?: boolean | undefined;
65
+ }>>;
60
66
  export default Video;
@@ -1,52 +1,6 @@
1
- import e from "./Video.mjs";
1
+ import e from "./declaration.mjs";
2
+ import t from "./Video.mjs";
2
3
  //#region src/elements/media/Video/index.ts
3
- var t = Object.assign(e, {
4
- type: "video",
5
- content: {
6
- attributes: {
7
- src: "",
8
- autoPlay: !1,
9
- playsInline: !1,
10
- loop: !1,
11
- muted: !0
12
- },
13
- definition: {
14
- label: "Video",
15
- type: "video",
16
- description: "Use an URL to display a video.",
17
- bindings: {},
18
- styleSelectors: { base: "" },
19
- initialState: { visibility: !0 }
20
- },
21
- builder: {
22
- canDelete: !0,
23
- canSelect: !0,
24
- canDragDrop: !0,
25
- canMove: !0,
26
- canTemplate: !0,
27
- itemsAllowed: [],
28
- itemsNotAllowed: []
29
- },
30
- market: {
31
- category: "media",
32
- owner: "Plitzi",
33
- verified: !0,
34
- license: "MIT",
35
- website: "https://plitzi.com",
36
- backgroundColor: "#4422ee",
37
- icon: "fa-solid fa-video"
38
- },
39
- defaultStyle: {
40
- name: "Video",
41
- displayMode: "desktop",
42
- style: { base: { default: {
43
- display: "block",
44
- width: "400px",
45
- height: "250px"
46
- } } }
47
- },
48
- settings: {}
49
- }
50
- });
4
+ var n = Object.assign(t, e);
51
5
  //#endregion
52
- export { t as default };
6
+ export { n as default };
@@ -14,10 +14,19 @@ export type ApiContainerProps = {
14
14
  when?: RuleGroup;
15
15
  headers?: Record<string, string>;
16
16
  mockData?: Record<string, unknown> | string;
17
- subType?: 'div' | 'header' | 'footer' | 'nav' | 'main' | 'section' | 'article' | 'aside' | 'address' | 'figure';
17
+ subType?: 'div' | 'header' | 'footer' | 'nav' | 'main' | 'section' | 'article' | 'aside' | 'address' | 'figure' | '';
18
18
  credentials?: RequestCredentials;
19
19
  /** Identifier of the server-side connector that feeds this provider. Only meaningful with `runtime: 'server'`. */
20
20
  connector?: string;
21
+ /**
22
+ * Identifier of the server ACTION that feeds this provider instead of a connector, for the read a manifest
23
+ * cannot express — two calls joined, a computed field, a shape that depends on who is looking.
24
+ *
25
+ * An element names one producer: the server resolves a connector when the element declares one and looks at
26
+ * this only otherwise, so the panel clears whichever the author did not pick. The action is fed this page's
27
+ * route and query params, and answers whatever its output step returns.
28
+ */
29
+ action?: string;
21
30
  /** Which of the connector's read endpoints to execute. Defaults to `list`. */
22
31
  endpoint?: string;
23
32
  /** Content type / collection read through the connector. */
@@ -1,135 +1,114 @@
1
- import e from "../../../Element/hooks/useElement.mjs";
2
- import t from "../../../Element/hooks/useRscData.mjs";
3
- import { RootElement as n } from "../../../Element/RootElement.mjs";
4
- import ee from "./hooks/useApi.mjs";
5
- import te from "./hooks/useProviderPagination.mjs";
6
- import r from "./hooks/useProviderWrite.mjs";
7
- import i from "../../../Element/hocs/withElement.mjs";
8
- import { use as ne, useCallback as a, useEffect as re, useMemo as o } from "react";
9
- import s from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
10
- import { useSdkStore as ie } from "@plitzi/sdk-shared/store";
11
- import { get as ae } from "@plitzi/plitzi-ui/helpers";
12
- import { processTwig as oe } from "@plitzi/sdk-shared/helpers/twigWrapper";
1
+ import e from "../../../Element/hocs/withElement.mjs";
2
+ import t from "../../../Element/hooks/useElement.mjs";
3
+ import n from "../../../Element/hooks/useRscData.mjs";
4
+ import { RootElement as r } from "../../../Element/RootElement.mjs";
5
+ import ee from "./declaration.mjs";
6
+ import te from "./hooks/useApi.mjs";
7
+ import ne from "./hooks/useProviderPagination.mjs";
8
+ import re from "./hooks/useProviderWrite.mjs";
9
+ import { use as ie, useCallback as i, useEffect as ae, useMemo as a } from "react";
10
+ import o from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
11
+ import { useSdkStore as oe } from "@plitzi/sdk-shared/store";
13
12
  import { StoreProvider as se } from "@plitzi/nexus/react";
14
- import { emptyObject as c, getPathsFromObeject as ce } from "@plitzi/sdk-shared/helpers/utils";
15
- import { jsx as l } from "react/jsx-runtime";
16
- import le from "clsx";
17
- import ue from "@plitzi/sdk-shared/dataSource/helpers/getSourceName";
18
- import u from "@plitzi/sdk-shared/dataSource/hooks/useRegisterSource";
19
- import { QueryBuilderEvaluator as d } from "@plitzi/plitzi-ui/QueryBuilder";
13
+ import { emptyObject as s, getPathsFromObeject as ce } from "@plitzi/sdk-shared/helpers/utils";
14
+ import { jsx as c } from "react/jsx-runtime";
15
+ import { currentRscLocation as le } from "@plitzi/sdk-shared/server/rsc/refreshRsc";
16
+ import l from "clsx";
17
+ import u from "@plitzi/sdk-shared/dataSource/helpers/getSourceName";
18
+ import d from "@plitzi/sdk-shared/dataSource/hooks/useRegisterSource";
19
+ import { QueryBuilderEvaluator as ue } from "@plitzi/plitzi-ui/QueryBuilder";
20
20
  //#region src/elements/provider/ApiContainer/ApiContainer.tsx
21
- var f = ({ ref: i, className: f = "", children: p, query: m = "", method: h = "get", accessToken: g = "", when: _ = c, headers: v = c, mockData: y = "{}", subType: de = "div", credentials: fe = "same-origin", singleRecord: b = !1, pagination: x = "none", pageParam: pe = "page", renderWhileLoading: me = !1 }) => {
22
- let { id: S, idRef: C, visible: w, definition: { label: T = "Api Container", runtime: he } } = e(), E = he === "server", { loaded: D, elementData: O, refresh: k } = t(), A = ue("apiContainer", { idRef: C }), { settings: { previewMode: j, debugMode: M }, contexts: { InteractionsContext: N } } = s(), { interactionsManager: P } = ne(N), [[F, I, L]] = ie([
21
+ var f = ({ ref: e, className: f = "", children: p, query: m = "", method: h = "get", accessToken: g = "", when: _ = s, headers: v = s, mockData: y = "{}", subType: de = "", credentials: fe = "same-origin", singleRecord: b = !1, pagination: pe = "none", pageParam: me = "page", renderWhileLoading: x = !1 }) => {
22
+ let { id: S, visible: C, definition: { label: w = "Api Container", runtime: he, items: ge } } = t(), T = he === "server", { loaded: E, stale: D, location: O, elementData: k, refresh: A } = n(), j = u(ee.sourceType, S), { settings: { previewMode: M }, contexts: { InteractionsContext: N } } = o(), { interactionsManager: P } = ie(N), [[F, I, L]] = oe([
23
23
  "navigation.routeParams",
24
24
  "navigation.queryParams",
25
25
  "navigation.navigate"
26
- ]), R = o(() => {
27
- if (!m) return "";
28
- try {
29
- let e = {
30
- ...I,
31
- ...F
32
- };
33
- M && [...m.matchAll(/{{([ ]+|)(?<token>[a-zA-Z0-9-_:*/]+)([ ]+|)}}/gim)].forEach(({ groups: t }) => {
34
- let n = t?.token.trim();
35
- (!n || !ae(e, n)) && console.log(`Token ${n} is required`);
36
- });
37
- let t = oe(m, e, !0);
38
- return typeof t == "string" ? t : m;
39
- } catch (e) {
40
- console.error(e.message);
41
- }
42
- return "";
43
- }, [
44
- m,
45
- I,
46
- F,
47
- M
48
- ]), ge = o(() => g ? {
26
+ ]), _e = a(() => g ? {
49
27
  ...v,
50
28
  Authorization: `Bearer ${g}`
51
- } : v, [v, g]), _e = o(() => E || !w ? !1 : !!(j && R && (_ === c || d(_, {
29
+ } : v, [v, g]), ve = a(() => T || !C ? !1 : !!(M && m && (_ === s || ue(_, {
52
30
  ...F,
53
31
  ...I
54
- })) || !j && (R || y && y !== "{}" && y !== c)), [
55
- E,
56
- w,
57
- j,
58
- R,
32
+ })) || !M && (m || y && y !== "{}" && y !== s)), [
33
+ T,
34
+ C,
35
+ M,
36
+ m,
59
37
  _,
60
38
  F,
61
39
  I,
62
40
  y
63
- ]), { isLoading: ve, data: z, refetch: B, isSuccess: V, isError: H } = ee({
64
- url: R,
41
+ ]), { isLoading: ye, isFetching: be, data: R, refetch: z, isSuccess: B, isError: V } = te({
42
+ url: m,
65
43
  method: h,
66
44
  credentials: fe,
67
- mock: j ? void 0 : y,
68
- customHeaders: ge,
69
- enabled: _e
70
- }), U = E && D && O === null, W = o(() => {
71
- if (!E) return z ?? c;
72
- if (O) return O;
73
- if (D) return c;
45
+ mock: M ? void 0 : y,
46
+ customHeaders: _e,
47
+ enabled: ve
48
+ }), H = T && !!O && O !== le(), U = T && E && !H && k === null, W = a(() => {
49
+ if (!T) return R ?? s;
50
+ if (k) return k;
51
+ if (E) return s;
74
52
  if (typeof y != "string") return y;
75
53
  try {
76
54
  return JSON.parse(y || "{}");
77
55
  } catch {
78
- return c;
56
+ return s;
79
57
  }
80
58
  }, [
59
+ T,
60
+ R,
61
+ k,
81
62
  E,
82
- z,
83
- O,
84
- D,
85
63
  y
86
- ]), G = !E && ve, K = a(async () => {
87
- if (!E) {
88
- B();
64
+ ]), G = T ? H : be, xe = T ? H : ye, K = i(async () => {
65
+ if (!T) {
66
+ z();
89
67
  return;
90
68
  }
91
- await k([S]);
69
+ await A([S]);
92
70
  }, [
93
- E,
94
- B,
95
- k,
71
+ T,
72
+ z,
73
+ A,
96
74
  S
97
- ]), q = W, ye = o(() => Array.isArray(q.records) ? q.records : [], [q.records]), { records: J, isLoadingMore: Y, goToPage: X, loadMore: Z } = te({
75
+ ]), q = W, Se = a(() => Array.isArray(q.records) ? q.records : [], [q.records]), { records: J, isLoadingMore: Y, goToPage: X, loadMore: Z } = ne({
98
76
  elementId: S,
99
- mode: x,
100
- pageParam: pe,
101
- records: ye,
77
+ mode: pe,
78
+ pageParam: me,
79
+ records: Se,
102
80
  page: q.pageInfo?.page ?? 1,
103
- refresh: k,
81
+ refresh: A,
104
82
  navigate: L
105
83
  });
106
- re(() => {
107
- G || !C || (V ? P.interactionTrigger(C, "onApiSuccess", {
108
- url: R,
84
+ ae(() => {
85
+ !G && S && (B ? P.interactionTrigger(S, "onApiSuccess", {
86
+ url: m,
109
87
  method: h,
110
88
  ...W
111
- }) : H && P.interactionTrigger(C, "onApiError", {
112
- url: R,
89
+ }) : V && P.interactionTrigger(S, "onApiError", {
90
+ url: m,
113
91
  method: h,
114
92
  ...W
115
93
  }));
116
94
  }, [
117
95
  W,
118
- C,
96
+ S,
119
97
  P,
120
- H,
121
- G,
122
98
  V,
99
+ G,
100
+ B,
123
101
  h,
124
- R
102
+ m
125
103
  ]);
126
- let Q = o(() => ({
104
+ let Q = a(() => ({
127
105
  ...W,
128
- ...Array.isArray(q.records) ? { records: J } : c,
106
+ ...Array.isArray(q.records) ? { records: J } : s,
129
107
  isLoading: G || Y,
130
108
  isEmpty: b ? q.record === void 0 : J.length === 0,
131
109
  hasError: U,
132
- errorMessage: U ? "The data provider could not be reached" : ""
110
+ errorMessage: U ? "The data provider could not be reached" : "",
111
+ isStale: T && D
133
112
  }), [
134
113
  W,
135
114
  q.records,
@@ -138,8 +117,10 @@ var f = ({ ref: i, className: f = "", children: p, query: m = "", method: h = "g
138
117
  G,
139
118
  Y,
140
119
  b,
141
- U
142
- ]), be = a(() => ce(Q).reduce((e, t) => {
120
+ U,
121
+ T,
122
+ D
123
+ ]), Ce = i(() => ce(Q).reduce((e, t) => {
143
124
  let n = t.split(".");
144
125
  return n.length > 1 ? [...e, {
145
126
  path: t,
@@ -149,21 +130,21 @@ var f = ({ ref: i, className: f = "", children: p, query: m = "", method: h = "g
149
130
  name: n[n.length - 1]
150
131
  }];
151
132
  }, []), [Q]);
152
- u({
133
+ d({
153
134
  id: S,
154
- source: A,
155
- name: T || `API - ${S}`,
156
- fields: be
135
+ source: j,
136
+ name: w || `API - ${S}`,
137
+ fields: Ce
157
138
  });
158
- let { writeRecord: $ } = r({
139
+ let { writeRecord: $ } = re({
159
140
  elementId: S,
160
- enabled: E,
141
+ enabled: T,
161
142
  onDone: K
162
- }), xe = o(() => {
143
+ }), we = a(() => {
163
144
  let e = {
164
145
  performQuery: {
165
146
  action: "performQuery",
166
- title: `Perform Query ${T}`,
147
+ title: `Perform Query ${w}`,
167
148
  type: "callback",
168
149
  callback: K,
169
150
  preview: {},
@@ -171,7 +152,7 @@ var f = ({ ref: i, className: f = "", children: p, query: m = "", method: h = "g
171
152
  },
172
153
  loadMore: {
173
154
  action: "loadMore",
174
- title: `Load More ${T}`,
155
+ title: `Load More ${w}`,
175
156
  type: "callback",
176
157
  callback: Z,
177
158
  preview: {},
@@ -179,7 +160,7 @@ var f = ({ ref: i, className: f = "", children: p, query: m = "", method: h = "g
179
160
  },
180
161
  goToPage: {
181
162
  action: "goToPage",
182
- title: `Go To Page ${T}`,
163
+ title: `Go To Page ${w}`,
183
164
  type: "callback",
184
165
  callback: ({ page: e }) => X(Number(e) || 1),
185
166
  preview: {},
@@ -190,9 +171,9 @@ var f = ({ ref: i, className: f = "", children: p, query: m = "", method: h = "g
190
171
  } }
191
172
  }
192
173
  };
193
- return E && (e.writeRecord = {
174
+ return T && (e.writeRecord = {
194
175
  action: "writeRecord",
195
- title: `Write Record ${T}`,
176
+ title: `Write Record ${w}`,
196
177
  type: "callback",
197
178
  callback: $,
198
179
  preview: { action: "create" },
@@ -210,13 +191,13 @@ var f = ({ ref: i, className: f = "", children: p, query: m = "", method: h = "g
210
191
  }
211
192
  }), e;
212
193
  }, [
213
- T,
194
+ w,
214
195
  K,
215
196
  Z,
216
197
  X,
217
- E,
198
+ T,
218
199
  $
219
- ]), Se = o(() => ({
200
+ ]), Te = a(() => ({
220
201
  onApiError: {
221
202
  action: "onApiError",
222
203
  title: "On Api Error",
@@ -241,20 +222,20 @@ var f = ({ ref: i, className: f = "", children: p, query: m = "", method: h = "g
241
222
  data: ""
242
223
  }
243
224
  }
244
- }), []), Ce = o(() => A ? { runtime: { sources: { [A]: Q } } } : c, [Q, A]);
245
- return /* @__PURE__ */ l(n, {
246
- ref: i,
247
- tag: de,
248
- className: le("plitzi-component__api-container", f),
249
- interactionTriggers: Se,
250
- interactionCallbacks: xe,
251
- children: /* @__PURE__ */ l(se, {
225
+ }), []), Ee = a(() => j ? { runtime: { sources: { [j]: Q } } } : s, [Q, j]);
226
+ return /* @__PURE__ */ c(r, {
227
+ ref: e,
228
+ tag: !M && !ge?.length ? "div" : de,
229
+ className: l("plitzi-component__api-container", f),
230
+ interactionTriggers: Te,
231
+ interactionCallbacks: we,
232
+ children: (!xe || x) && /* @__PURE__ */ c(se, {
252
233
  inherit: "live",
253
234
  name: `Api:${S}`,
254
- value: Ce,
255
- children: (!G || me) && p
235
+ value: Ee,
236
+ children: p
256
237
  })
257
238
  });
258
- }, p = i(f);
239
+ }, p = e(f);
259
240
  //#endregion
260
241
  export { f as ApiContainer, p as default };
@@ -7,11 +7,12 @@ type SettingsProps = {
7
7
  accessToken?: string;
8
8
  headers?: object;
9
9
  when?: RuleGroup;
10
- subType?: 'div' | 'header' | 'footer' | 'nav' | 'main' | 'section' | 'article' | 'aside' | 'address' | 'figure';
10
+ subType?: 'div' | 'header' | 'footer' | 'nav' | 'main' | 'section' | 'article' | 'aside' | 'address' | 'figure' | '';
11
11
  mockData?: string;
12
12
  credentials?: RequestCredentials;
13
13
  runtime?: ElementRuntime;
14
14
  connector?: string;
15
+ action?: string;
15
16
  endpoint?: string;
16
17
  resource?: string;
17
18
  limit?: string;
@@ -22,5 +23,5 @@ type SettingsProps = {
22
23
  renderWhileLoading?: boolean;
23
24
  onUpdate?: (key: string, value: string | boolean | number | object, isDefinition?: boolean) => void;
24
25
  };
25
- declare const Settings: ({ query, method, accessToken, headers, when, subType, mockData, credentials, runtime, connector, endpoint, resource, limit, singleRecord, filters, pagination, pageParam, renderWhileLoading, onUpdate }: SettingsProps) => import("react").JSX.Element;
26
+ declare const Settings: ({ query, method, accessToken, headers, when, subType, mockData, credentials, runtime, connector, action, endpoint, resource, limit, singleRecord, filters, pagination, pageParam, renderWhileLoading, onUpdate }: SettingsProps) => import("react").JSX.Element;
26
27
  export default Settings;