@plitzi/sdk-elements 0.33.1 → 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 +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 +9 -9
  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
@@ -0,0 +1,75 @@
1
+ import e from "../advanced/BlockHtml/declaration.mjs";
2
+ import t from "../advanced/BlockJsx/declaration.mjs";
3
+ import n from "../advanced/Custom/declaration.mjs";
4
+ import r from "../advanced/NodeHtml/declaration.mjs";
5
+ import i from "../advanced/Reference/declaration.mjs";
6
+ import a from "../basic/Button/declaration.mjs";
7
+ import o from "../basic/Dropdown/declaration.mjs";
8
+ import s from "../basic/Dropdown/DropdownPopup/declaration.mjs";
9
+ import c from "../basic/Heading/declaration.mjs";
10
+ import l from "../basic/Link/declaration.mjs";
11
+ import u from "../basic/Markdown/declaration.mjs";
12
+ import d from "../basic/Paragraph/declaration.mjs";
13
+ import f from "../basic/RichText/declaration.mjs";
14
+ import p from "../basic/Text/declaration.mjs";
15
+ import m from "../basic/ThemeToggle/declaration.mjs";
16
+ import h from "../form/Form/declaration.mjs";
17
+ import g from "../form/FormControl/declaration.mjs";
18
+ import _ from "../internal/LayoutContainer/declaration.mjs";
19
+ import v from "../internal/Loading/declaration.mjs";
20
+ import y from "../internal/NotFound/declaration.mjs";
21
+ import b from "../internal/Page/declaration.mjs";
22
+ import x from "../media/FontAwesome/declaration.mjs";
23
+ import S from "../media/Image/declaration.mjs";
24
+ import C from "../media/Video/declaration.mjs";
25
+ import w from "../provider/ApiContainer/declaration.mjs";
26
+ import T from "../structure/Container/declaration.mjs";
27
+ import E from "../structure/DialogContainer/declaration.mjs";
28
+ import D from "../structure/List/declaration.mjs";
29
+ import O from "../structure/List/ListItem/declaration.mjs";
30
+ import k from "../structure/ModalContainer/declaration.mjs";
31
+ import A from "../structure/Pagination/declaration.mjs";
32
+ import j from "../structure/TabContainer/declaration.mjs";
33
+ import M from "../structure/TabContainer/TabContainerBody/declaration.mjs";
34
+ import N from "../structure/TabContainer/TabContainerHeader/declaration.mjs";
35
+ import P from "../structure/TabContainer/TabContainerItem/declaration.mjs";
36
+ //#region src/elements/declarations/index.ts
37
+ var F = {
38
+ ApiContainer: w,
39
+ BlockHtml: e,
40
+ BlockJsx: t,
41
+ Button: a,
42
+ Container: T,
43
+ Custom: n,
44
+ DialogContainer: E,
45
+ Dropdown: o,
46
+ DropdownPopup: s,
47
+ FontAwesome: x,
48
+ Form: h,
49
+ FormControl: g,
50
+ Heading: c,
51
+ Image: S,
52
+ LayoutContainer: _,
53
+ Link: l,
54
+ List: D,
55
+ ListItem: O,
56
+ Loading: v,
57
+ Markdown: u,
58
+ ModalContainer: k,
59
+ NodeHtml: r,
60
+ NotFound: y,
61
+ Page: b,
62
+ Pagination: A,
63
+ Paragraph: d,
64
+ Reference: i,
65
+ RichText: f,
66
+ TabContainer: j,
67
+ TabContainerBody: M,
68
+ TabContainerHeader: N,
69
+ TabContainerItem: P,
70
+ Text: p,
71
+ ThemeToggle: m,
72
+ Video: C
73
+ };
74
+ //#endregion
75
+ export { w as ApiContainerDeclaration, e as BlockHtmlDeclaration, t as BlockJsxDeclaration, a as ButtonDeclaration, T as ContainerDeclaration, n as CustomDeclaration, E as DialogContainerDeclaration, o as DropdownDeclaration, s as DropdownPopupDeclaration, x as FontAwesomeDeclaration, g as FormControlDeclaration, h as FormDeclaration, c as HeadingDeclaration, S as ImageDeclaration, _ as LayoutContainerDeclaration, l as LinkDeclaration, D as ListDeclaration, O as ListItemDeclaration, v as LoadingDeclaration, u as MarkdownDeclaration, k as ModalContainerDeclaration, r as NodeHtmlDeclaration, y as NotFoundDeclaration, b as PageDeclaration, A as PaginationDeclaration, d as ParagraphDeclaration, i as ReferenceDeclaration, f as RichTextDeclaration, M as TabContainerBodyDeclaration, j as TabContainerDeclaration, N as TabContainerHeaderDeclaration, P as TabContainerItemDeclaration, p as TextDeclaration, m as ThemeToggleDeclaration, C as VideoDeclaration, F as elementDeclarations };
@@ -15,11 +15,15 @@ export type Field = {
15
15
  name: string;
16
16
  };
17
17
  export type FieldValue = string | boolean | number;
18
+ /** What a control says about the form's values as they stand: the sentence to show under it, or `''`. */
19
+ export type FieldValidator = (values: Record<string, unknown>) => string;
18
20
  export type FormContextValue = {
19
21
  errors: Record<string, string>;
20
22
  values: Record<string, unknown>;
21
23
  registerField: (field: SourceField) => void;
22
24
  unregisterField: (name: string) => void;
25
+ registerValidator: (name: string, validate: FieldValidator) => void;
26
+ unregisterValidator: (name: string) => void;
23
27
  setFieldValue: (name: string, value: FieldValue | null) => void;
24
28
  setFieldError: (name: string, error: string) => void;
25
29
  };
@@ -1,37 +1,46 @@
1
- import e from "../../../Element/hooks/useElement.mjs";
2
- import { RootElement as t } from "../../../Element/RootElement.mjs";
3
- import n from "../../../Element/hocs/withElement.mjs";
4
- import { use as r, useCallback as i, useMemo as a, useState as o } from "react";
5
- import s from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
6
- import { get as c, omit as l } from "@plitzi/plitzi-ui/helpers";
7
- import { StoreProvider as u } from "@plitzi/nexus/react";
8
- import { emptyObject as d } from "@plitzi/sdk-shared/helpers/utils";
9
- import { jsx as f } from "react/jsx-runtime";
10
- import p from "clsx";
11
- import { produce as m } from "immer";
12
- import h from "@plitzi/sdk-shared/dataSource/helpers/getSourceName";
13
- import g from "@plitzi/sdk-shared/dataSource/hooks/useRegisterSource";
1
+ import e from "../../../Element/hocs/withElement.mjs";
2
+ import t from "../../../Element/hooks/useElement.mjs";
3
+ import { RootElement as n } from "../../../Element/RootElement.mjs";
4
+ import r from "./declaration.mjs";
5
+ import { use as i, useCallback as a, useEffect as o, useMemo as s, useRef as c, useState as l } from "react";
6
+ import u from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
7
+ import { get as d, omit as f } from "@plitzi/plitzi-ui/helpers";
8
+ import { StoreProvider as p } from "@plitzi/nexus/react";
9
+ import { emptyObject as m } from "@plitzi/sdk-shared/helpers/utils";
10
+ import { jsx as h } from "react/jsx-runtime";
11
+ import g from "clsx";
12
+ import { produce as _ } from "immer";
13
+ import v from "@plitzi/sdk-shared/dataSource/helpers/getSourceName";
14
+ import y from "@plitzi/sdk-shared/dataSource/hooks/useRegisterSource";
14
15
  //#region src/elements/form/Form/Form.tsx
15
- var _ = ({ ref: n, className: _ = "", children: v, method: y = "get", actionUrl: b = "", managedByInteractions: x = !1, errors: S = d, values: C = d }) => {
16
- let [w, T] = o({}), { id: E, idRef: D, definition: { label: O = "Form" }, setElementState: k } = e(), A = h("apiContainer", { idRef: D }), { settings: { previewMode: j }, contexts: { InteractionsContext: M } } = s(), { interactionsManager: N } = r(M), P = i((e) => T((t) => ({
16
+ var b = ({ ref: e, className: b = "", children: x, method: S = "get", actionUrl: C = "", managedByInteractions: w = !1, errors: T = m, values: E = m }) => {
17
+ let [D, O] = l({}), k = c(/* @__PURE__ */ new Map()), A = c(!1), { id: j, definition: { label: M = "Form" }, setElementState: N } = t(), P = v(r.sourceType, j), { settings: { previewMode: F }, contexts: { InteractionsContext: I } } = u(), { interactionsManager: L } = i(I), R = a((e) => O((t) => ({
17
18
  ...t,
18
19
  [e.name]: e
19
- })), [T]), F = i((e) => {
20
- T((t) => m(t, (t) => {
20
+ })), [O]);
21
+ o(() => (A.current = !1, () => {
22
+ A.current = !0;
23
+ }), []);
24
+ let z = a((e) => {
25
+ A.current || (O((t) => _(t, (t) => {
21
26
  t[e] && delete t[e];
22
- })), e && k((t) => ({
27
+ })), e && N((t) => ({
23
28
  ...t,
24
- values: l(t, `values.${e}`),
25
- errors: l(t, `errors.${e}`)
26
- }));
27
- }, [k]), I = i((e, t = "") => {
28
- e && (t === null && (t = ""), k((n) => n.errors && n.errors[e] ? {
29
+ values: f(t, `values.${e}`),
30
+ errors: f(t, `errors.${e}`)
31
+ })));
32
+ }, [N]), B = a((e, t) => {
33
+ k.current.set(e, t);
34
+ }, []), V = a((e) => {
35
+ k.current.delete(e);
36
+ }, []), H = a((e, t = "") => {
37
+ e && (t === null && (t = ""), N((n) => n.errors && n.errors[e] ? {
29
38
  ...n,
30
39
  values: {
31
40
  ...n.values,
32
41
  [e]: t
33
42
  },
34
- errors: l(n.errors, [e])
43
+ errors: f(n.errors, [e])
35
44
  } : {
36
45
  ...n,
37
46
  values: {
@@ -39,10 +48,10 @@ var _ = ({ ref: n, className: _ = "", children: v, method: y = "get", actionUrl:
39
48
  [e]: t
40
49
  }
41
50
  }));
42
- }, [k]), L = i((e, t) => {
43
- e && k((n) => !t && !c(n, `errors.${e}`) ? n : !t && n.errors && n.errors[e] ? {
51
+ }, [N]), U = a((e, t) => {
52
+ e && N((n) => !t && !d(n, `errors.${e}`) ? n : !t && n.errors && n.errors[e] ? {
44
53
  ...n,
45
- errors: l(n, [`errors.${e}`])
54
+ errors: f(n, [`errors.${e}`])
46
55
  } : {
47
56
  ...n,
48
57
  errors: {
@@ -50,7 +59,7 @@ var _ = ({ ref: n, className: _ = "", children: v, method: y = "get", actionUrl:
50
59
  [e]: t
51
60
  }
52
61
  });
53
- }, [k]), R = i(() => Object.values(w).filter((e) => !!e.name).reduce((e, t) => [
62
+ }, [N]), W = a(() => Object.values(D).filter((e) => !!e.name).reduce((e, t) => [
54
63
  ...e,
55
64
  {
56
65
  path: `fields.${t.name}.id`,
@@ -64,96 +73,118 @@ var _ = ({ ref: n, className: _ = "", children: v, method: y = "get", actionUrl:
64
73
  path: `errors.${t.name}`,
65
74
  name: `${t.name} Error Message`
66
75
  }
67
- ], []), [w]), z = a(() => ({ runtime: { sources: { form: {
68
- errors: S,
69
- values: C,
70
- registerField: P,
71
- unregisterField: F,
72
- setFieldValue: I,
73
- setFieldError: L
74
- } } } }), [
75
- S,
76
- C,
76
+ ], []), [D]), G = s(() => ({ runtime: { sources: {
77
+ form: {
78
+ errors: T,
79
+ values: E,
80
+ registerField: R,
81
+ unregisterField: z,
82
+ registerValidator: B,
83
+ unregisterValidator: V,
84
+ setFieldValue: H,
85
+ setFieldError: U
86
+ },
87
+ [P]: {
88
+ values: E,
89
+ errors: T
90
+ }
91
+ } } }), [
77
92
  P,
78
- F,
79
- I,
80
- L
93
+ T,
94
+ E,
95
+ R,
96
+ z,
97
+ B,
98
+ V,
99
+ H,
100
+ U
81
101
  ]);
82
- g({
83
- id: E,
84
- source: A,
85
- name: O || `Form - ${E}`,
86
- fields: R
102
+ y({
103
+ id: j,
104
+ source: P,
105
+ name: M || `Form - ${j}`,
106
+ fields: W
87
107
  });
88
- let B = a(() => ({ onSubmit: {
108
+ let K = s(() => ({ onSubmit: {
89
109
  action: "onSubmit",
90
110
  title: "On Form Submit",
91
111
  type: "trigger",
92
112
  params: {},
93
113
  preview: {
94
- values: Object.values(w).reduce((e, t) => ({
114
+ values: Object.values(D).reduce((e, t) => ({
95
115
  ...e,
96
116
  [t.name]: ""
97
117
  }), {}),
98
118
  actionUrl: "",
99
119
  method: ""
100
120
  }
101
- } }), [w]), V = i((e) => {
102
- if (k((e) => ({
121
+ } }), [D]), q = a((e) => {
122
+ let t = [...k.current].reduce((e, [t, n]) => {
123
+ let r = n(E);
124
+ return r ? {
125
+ ...e,
126
+ [t]: r
127
+ } : e;
128
+ }, {});
129
+ if (N((e) => ({
103
130
  ...e,
104
- errors: {}
105
- })), !x || (e.stopPropagation(), e.preventDefault(), !j)) return;
106
- let t = Object.values(w).reduce((e, { name: t }) => ({
131
+ errors: t
132
+ })), Object.keys(t).length > 0) {
133
+ e.stopPropagation(), e.preventDefault();
134
+ return;
135
+ }
136
+ if (!w || (e.stopPropagation(), e.preventDefault(), !F)) return;
137
+ let n = Object.values(D).reduce((e, { name: t }) => ({
107
138
  ...e,
108
- [t]: C[t]
139
+ [t]: E[t]
109
140
  }), {});
110
- N.interactionTrigger(D, "onSubmit", {
111
- values: t,
112
- actionUrl: b,
113
- method: y
141
+ L.interactionTrigger(j, "onSubmit", {
142
+ values: n,
143
+ actionUrl: C,
144
+ method: S
114
145
  });
115
146
  }, [
116
- k,
117
- x,
118
- j,
119
- w,
120
147
  N,
148
+ w,
149
+ F,
121
150
  D,
122
- b,
123
- y,
124
- C
125
- ]), H = i((e) => {
126
- x && (e instanceof Event && (e.stopPropagation(), e.preventDefault()), k((e) => ({
151
+ L,
152
+ j,
153
+ C,
154
+ S,
155
+ E
156
+ ]), J = a((e) => {
157
+ w && (e instanceof Event && (e.stopPropagation(), e.preventDefault()), N((e) => ({
127
158
  ...e,
128
159
  values: {},
129
160
  errors: {}
130
161
  })));
131
- }, [k, x]), U = i((e) => {
162
+ }, [N, w]), Y = a((e) => {
132
163
  let { name: t, value: n } = e;
133
- I(t, n);
134
- }, [I]), W = i((e) => {
164
+ H(t, n);
165
+ }, [H]), X = a((e) => {
135
166
  let { name: t, error: n } = e;
136
- L(t, n);
137
- }, [L]), G = a(() => ({
167
+ U(t, n);
168
+ }, [U]), Z = s(() => ({
138
169
  performReset: {
139
170
  action: "performReset",
140
- title: `Reset ${O}`,
171
+ title: `Reset ${M}`,
141
172
  type: "callback",
142
- callback: H,
173
+ callback: J,
143
174
  params: {}
144
175
  },
145
176
  setFieldValue: {
146
177
  action: "setFieldValue",
147
- title: `Set Field Value ${O}`,
178
+ title: `Set Field Value ${M}`,
148
179
  type: "callback",
149
- callback: U,
180
+ callback: Y,
150
181
  preview: {},
151
182
  params: {
152
183
  name: {
153
184
  label: "Field Name",
154
185
  defaultValue: void 0,
155
186
  type: "select",
156
- options: Object.values(w).map((e) => ({
187
+ options: Object.values(D).map((e) => ({
157
188
  value: e.name,
158
189
  label: e.name
159
190
  }))
@@ -166,16 +197,16 @@ var _ = ({ ref: n, className: _ = "", children: v, method: y = "get", actionUrl:
166
197
  },
167
198
  setFieldError: {
168
199
  action: "setFieldError",
169
- title: `Set Field Error ${O}`,
200
+ title: `Set Field Error ${M}`,
170
201
  type: "callback",
171
- callback: W,
202
+ callback: X,
172
203
  preview: {},
173
204
  params: {
174
205
  name: {
175
206
  label: "Field Name",
176
207
  defaultValue: void 0,
177
208
  type: "select",
178
- options: Object.values(w).map((e) => ({
209
+ options: Object.values(D).map((e) => ({
179
210
  value: e.name,
180
211
  label: e.name
181
212
  }))
@@ -187,29 +218,29 @@ var _ = ({ ref: n, className: _ = "", children: v, method: y = "get", actionUrl:
187
218
  }
188
219
  }
189
220
  }), [
190
- O,
191
- H,
192
- U,
193
- w,
194
- W
221
+ M,
222
+ J,
223
+ Y,
224
+ D,
225
+ X
195
226
  ]);
196
- return /* @__PURE__ */ f(t, {
227
+ return /* @__PURE__ */ h(n, {
197
228
  tag: "form",
198
- ref: n,
199
- method: y,
200
- className: p("plitzi-component__form", _),
201
- interactionTriggers: B,
202
- interactionCallbacks: G,
203
- onSubmit: V,
204
- onReset: H,
205
- action: b,
206
- children: /* @__PURE__ */ f(u, {
229
+ ref: e,
230
+ method: S,
231
+ className: g("plitzi-component__form", b),
232
+ interactionTriggers: K,
233
+ interactionCallbacks: Z,
234
+ onSubmit: q,
235
+ onReset: J,
236
+ action: C,
237
+ children: /* @__PURE__ */ h(p, {
207
238
  inherit: "live",
208
- name: `Form:${E}`,
209
- value: z,
210
- children: v
239
+ name: `Form:${j}`,
240
+ value: G,
241
+ children: x
211
242
  })
212
243
  });
213
- }, v = n(_);
244
+ }, x = e(b);
214
245
  //#endregion
215
- export { _ as Form, v as default };
246
+ export { b as Form, x as default };
@@ -0,0 +1,64 @@
1
+ import { FormProps } from './Form';
2
+ import { AuthorableAttributes } from '@plitzi/sdk-shared/authoring/declare';
3
+ /** What this element can be authored with — its component's own props, minus what the runtime supplies. */
4
+ export type FormAttributes = AuthorableAttributes<FormProps>;
5
+ declare const declaration: {
6
+ readonly type: "form";
7
+ readonly sourceType: "apiContainer";
8
+ readonly content: {
9
+ readonly attributes: {
10
+ readonly method: "get";
11
+ readonly actionUrl: "";
12
+ readonly managedByInteractions: false;
13
+ readonly errors: {};
14
+ readonly values: {};
15
+ };
16
+ readonly definition: {
17
+ readonly label: "Form";
18
+ readonly type: "form";
19
+ readonly description: "A <form> that groups form controls and handles submission; wire its submit through an interaction flow.";
20
+ readonly items: readonly [];
21
+ readonly bindings: {};
22
+ readonly styleSelectors: {
23
+ readonly base: "";
24
+ };
25
+ readonly initialState: {
26
+ readonly visibility: true;
27
+ };
28
+ };
29
+ readonly builder: {
30
+ readonly canDelete: true;
31
+ readonly canSelect: true;
32
+ readonly canDragDrop: true;
33
+ readonly canMove: true;
34
+ readonly canTemplate: true;
35
+ readonly itemsAllowed: readonly [];
36
+ readonly itemsNotAllowed: readonly [];
37
+ };
38
+ readonly market: {
39
+ readonly category: "form";
40
+ readonly owner: "Plitzi";
41
+ readonly verified: true;
42
+ readonly license: "MIT";
43
+ readonly website: "https://plitzi.com";
44
+ readonly backgroundColor: "#4422ee";
45
+ };
46
+ readonly defaultStyle: {
47
+ readonly name: "Form";
48
+ readonly displayMode: "desktop";
49
+ readonly style: {
50
+ readonly base: {
51
+ readonly default: {};
52
+ };
53
+ };
54
+ };
55
+ readonly settings: {};
56
+ };
57
+ } & import('@plitzi/sdk-shared/authoring/declare').ElementAttributesBrand<Partial<{
58
+ values: Record<string, unknown>;
59
+ method: "get" | "post";
60
+ actionUrl: string;
61
+ managedByInteractions: boolean;
62
+ errors: Record<string, string>;
63
+ }>>;
64
+ export default declaration;
@@ -0,0 +1,49 @@
1
+ import { elementDeclaration as e } from "@plitzi/sdk-shared/authoring/declare";
2
+ //#region src/elements/form/Form/declaration.ts
3
+ var t = e()({
4
+ type: "form",
5
+ sourceType: "apiContainer",
6
+ content: {
7
+ attributes: {
8
+ method: "get",
9
+ actionUrl: "",
10
+ managedByInteractions: !1,
11
+ errors: {},
12
+ values: {}
13
+ },
14
+ definition: {
15
+ label: "Form",
16
+ type: "form",
17
+ description: "A <form> that groups form controls and handles submission; wire its submit through an interaction flow.",
18
+ items: [],
19
+ bindings: {},
20
+ styleSelectors: { base: "" },
21
+ initialState: { visibility: !0 }
22
+ },
23
+ builder: {
24
+ canDelete: !0,
25
+ canSelect: !0,
26
+ canDragDrop: !0,
27
+ canMove: !0,
28
+ canTemplate: !0,
29
+ itemsAllowed: [],
30
+ itemsNotAllowed: []
31
+ },
32
+ market: {
33
+ category: "form",
34
+ owner: "Plitzi",
35
+ verified: !0,
36
+ license: "MIT",
37
+ website: "https://plitzi.com",
38
+ backgroundColor: "#4422ee"
39
+ },
40
+ defaultStyle: {
41
+ name: "Form",
42
+ displayMode: "desktop",
43
+ style: { base: { default: {} } }
44
+ },
45
+ settings: {}
46
+ }
47
+ });
48
+ //#endregion
49
+ export { t as default };
@@ -2,60 +2,65 @@ declare const Form: {
2
2
  (props: import('../../../Element/hocs/withElement').WithElementProps<import('./Form').FormProps>): import("react").JSX.Element;
3
3
  displayName: string;
4
4
  } & {
5
- type: string;
6
5
  content: {
6
+ market: {
7
+ icon: import("react").JSX.Element;
8
+ category: "form";
9
+ owner: "Plitzi";
10
+ verified: true;
11
+ license: "MIT";
12
+ website: "https://plitzi.com";
13
+ backgroundColor: "#4422ee";
14
+ };
7
15
  attributes: {
8
- method: string;
9
- actionUrl: string;
10
- managedByInteractions: boolean;
11
- errors: {};
12
- values: {};
16
+ readonly method: "get";
17
+ readonly actionUrl: "";
18
+ readonly managedByInteractions: false;
19
+ readonly errors: {};
20
+ readonly values: {};
13
21
  };
14
22
  definition: {
15
- label: string;
16
- type: string;
17
- description: string;
18
- items: never[];
19
- bindings: {};
20
- styleSelectors: {
21
- base: string;
23
+ readonly label: "Form";
24
+ readonly type: "form";
25
+ readonly description: "A <form> that groups form controls and handles submission; wire its submit through an interaction flow.";
26
+ readonly items: readonly [];
27
+ readonly bindings: {};
28
+ readonly styleSelectors: {
29
+ readonly base: "";
22
30
  };
23
- initialState: {
24
- visibility: boolean;
31
+ readonly initialState: {
32
+ readonly visibility: true;
25
33
  };
26
34
  };
27
35
  builder: {
28
- canDelete: boolean;
29
- canSelect: boolean;
30
- canDragDrop: boolean;
31
- canMove: boolean;
32
- canTemplate: boolean;
33
- itemsAllowed: never[];
34
- itemsNotAllowed: never[];
35
- };
36
- market: {
37
- category: string;
38
- owner: string;
39
- verified: boolean;
40
- license: string;
41
- website: string;
42
- backgroundColor: string;
43
- icon: import("react").JSX.Element;
36
+ readonly canDelete: true;
37
+ readonly canSelect: true;
38
+ readonly canDragDrop: true;
39
+ readonly canMove: true;
40
+ readonly canTemplate: true;
41
+ readonly itemsAllowed: readonly [];
42
+ readonly itemsNotAllowed: readonly [];
44
43
  };
45
44
  defaultStyle: {
46
- name: string;
47
- displayMode: string;
48
- style: {
49
- base: {
50
- default: {
51
- 'min-width': string;
52
- 'min-height': string;
53
- };
45
+ readonly name: "Form";
46
+ readonly displayMode: "desktop";
47
+ readonly style: {
48
+ readonly base: {
49
+ readonly default: {};
54
50
  };
55
51
  };
56
52
  };
57
53
  settings: {};
58
54
  };
55
+ type: "form";
56
+ sourceType: "apiContainer";
57
+ __attributes: Partial<{
58
+ values: Record<string, unknown>;
59
+ method: "get" | "post";
60
+ actionUrl: string;
61
+ managedByInteractions: boolean;
62
+ errors: Record<string, string>;
63
+ }>;
59
64
  };
60
65
  export * from './Form';
61
66
  export default Form;