@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
@@ -0,0 +1,27 @@
1
+ /**
2
+ * What a control asks of its value before the form around it may submit.
3
+ *
4
+ * Zero and the empty string mean "no rule", so a control authored before these existed validates exactly as it did.
5
+ */
6
+ export type FieldRules = {
7
+ required: boolean;
8
+ minLength: number;
9
+ maxLength: number;
10
+ /** A regular expression the WHOLE value must match — anchored here, so an author never has to remember `^…$`. */
11
+ pattern: string;
12
+ patternMessage: string;
13
+ /** The `name` of another control in the same form whose value this one has to repeat. */
14
+ matches: string;
15
+ matchesMessage: string;
16
+ };
17
+ export declare const REQUIRED_MESSAGE = "This field is required";
18
+ /**
19
+ * The first rule a value breaks, as the sentence to show under the control — or `''` when it breaks none.
20
+ *
21
+ * An empty optional control is valid whatever else it asks for: "at least ten characters" is about a value somebody
22
+ * chose to give, and a blank company name has not given one.
23
+ *
24
+ * Lengths are counted in code points rather than UTF-16 units, because that is what a person typing counts: an emoji
25
+ * is one character to them and two to `String.length`.
26
+ */
27
+ export declare const validateField: (value: unknown, rules: FieldRules, values: Record<string, unknown>) => string;
@@ -0,0 +1,16 @@
1
+ import { get as e } from "@plitzi/plitzi-ui/helpers";
2
+ //#region src/elements/form/FormControl/helpers/validateField.ts
3
+ var t = "This field is required", n = "This is not in the expected format", r = "This does not match", i = (e) => e == null || e === "" || e === !1, a = (e) => typeof e == "string" ? e : typeof e == "number" ? String(e) : "", o = (e, t) => {
4
+ try {
5
+ return RegExp(`^(?:${t})$`, "u").test(e);
6
+ } catch {
7
+ return !1;
8
+ }
9
+ }, s = (s, c, l) => {
10
+ if (i(s)) return c.required ? t : "";
11
+ if (typeof s == "boolean") return "";
12
+ let u = a(s), d = Array.from(u).length;
13
+ return c.minLength > 0 && d < c.minLength ? `Use at least ${c.minLength} characters` : c.maxLength > 0 && d > c.maxLength ? `Use at most ${c.maxLength} characters` : c.pattern && !o(u, c.pattern) ? c.patternMessage || n : c.matches && u !== a(e(l, c.matches, "")) ? c.matchesMessage || r : "";
14
+ };
15
+ //#endregion
16
+ export { t as REQUIRED_MESSAGE, s as validateField };
@@ -5,6 +5,12 @@ export type WithFieldValueProps<T> = {
5
5
  defaultValue?: string;
6
6
  subType: 'hidden' | 'text' | 'number' | 'email' | 'password' | 'select' | 'checkbox' | 'textarea' | 'color' | 'switch';
7
7
  required: boolean;
8
+ minLength?: number;
9
+ maxLength?: number;
10
+ pattern?: string;
11
+ patternMessage?: string;
12
+ matches?: string;
13
+ matchesMessage?: string;
8
14
  previewError?: boolean;
9
15
  } & T;
10
16
  declare const withFieldValue: <T extends object>(WrappedComponent: FC<T>) => {
@@ -1,64 +1,87 @@
1
- import { useCallback as e, useEffect as t, useMemo as n } from "react";
2
- import r from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
3
- import { get as i } from "@plitzi/plitzi-ui/helpers";
4
- import { createStoreHook as a } from "@plitzi/nexus/react";
5
- import { getDisplayName as o } from "@plitzi/sdk-shared/helpers/utils";
6
- import { jsx as s } from "react/jsx-runtime";
1
+ import { validateField as e } from "../helpers/validateField.mjs";
2
+ import { useCallback as t, useEffect as n, useMemo as r } from "react";
3
+ import i from "@plitzi/sdk-shared/hooks/usePlitziServiceContext";
4
+ import { get as a } from "@plitzi/plitzi-ui/helpers";
5
+ import { createStoreHook as o } from "@plitzi/nexus/react";
6
+ import { getDisplayName as s } from "@plitzi/sdk-shared/helpers/utils";
7
+ import { jsx as c } from "react/jsx-runtime";
7
8
  //#region src/elements/form/FormControl/hocs/withFieldValue.tsx
8
- var c = (c) => {
9
- let l = (o) => {
10
- let { ref: l, name: u = "", subType: d = "text", defaultValue: f = "", required: p = !0, previewError: m = !1 } = o, { settings: { previewMode: h } } = r(), { useStore: g } = a(), [_] = g("runtime.sources.form");
11
- if (!_) return /* @__PURE__ */ s(c, { ...o });
12
- let { setFieldValue: v, setFieldError: y, errors: b, values: x } = _, S = n(() => i(x, u, f), [
9
+ var l = (l) => {
10
+ let u = (s) => {
11
+ let { ref: u, name: d = "", subType: f = "text", defaultValue: p = "", required: m = !0, minLength: h = 0, maxLength: g = 0, pattern: _ = "", patternMessage: v = "", matches: y = "", matchesMessage: b = "", previewError: x = !1 } = s, { settings: { previewMode: S } } = i(), { useStore: C } = o(), [w] = C("runtime.sources.form");
12
+ if (!w) return /* @__PURE__ */ c(l, { ...s });
13
+ let { setFieldValue: T, setFieldError: E, registerValidator: D, unregisterValidator: O, errors: k, values: A } = w, j = r(() => a(A, d, p), [
14
+ A,
15
+ d,
16
+ p
17
+ ]), M = r(() => !S && x ? "This is an error message" : k[d], [
18
+ S,
13
19
  x,
14
- u,
15
- f
16
- ]), C = n(() => !h && m ? "This is an error message" : b[u], [
17
- h,
20
+ k,
21
+ d
22
+ ]), N = r(() => ({
23
+ required: m,
24
+ minLength: h,
25
+ maxLength: g,
26
+ pattern: _,
27
+ patternMessage: v,
28
+ matches: y,
29
+ matchesMessage: b
30
+ }), [
18
31
  m,
19
- b,
20
- u
21
- ]);
22
- t(() => {
23
- f && S && u && v(u, S);
24
- }, [
25
- f,
26
- u,
32
+ h,
33
+ g,
34
+ _,
27
35
  v,
28
- S
36
+ y,
37
+ b
29
38
  ]);
30
- let w = e((e) => {
31
- e.target.type === "radio" || e.target.type === "checkbox" || d === "switch" ? v(u, e.target.checked) : v(u, e.target.value);
39
+ n(() => {
40
+ if (d) return D(d, (t) => e(a(t, d, p), N, t)), () => O(d);
32
41
  }, [
33
- v,
34
- u,
35
- d
36
- ]), T = e(() => {
37
- !S && p ? y(u, "This field is required") : C === "This field is required" && y(u, "");
42
+ d,
43
+ p,
44
+ N,
45
+ D,
46
+ O
47
+ ]), n(() => {
48
+ p && j && d && T(d, j);
38
49
  }, [
39
- S,
40
- C,
41
- u,
42
50
  p,
43
- y
51
+ d,
52
+ T,
53
+ j
44
54
  ]);
45
- return n(() => /* @__PURE__ */ s(c, {
46
- ...o,
47
- ref: l,
48
- value: S,
49
- error: C,
50
- handleChange: w,
51
- handleValidate: T
55
+ let P = t((e) => {
56
+ e.target.type === "radio" || e.target.type === "checkbox" || f === "switch" ? T(d, e.target.checked) : T(d, e.target.value);
57
+ }, [
58
+ T,
59
+ d,
60
+ f
61
+ ]), F = t(() => E(d, e(j, N, A)), [
62
+ j,
63
+ N,
64
+ A,
65
+ d,
66
+ E
67
+ ]);
68
+ return r(() => /* @__PURE__ */ c(l, {
69
+ ...s,
70
+ ref: u,
71
+ value: j,
72
+ error: M,
73
+ handleChange: P,
74
+ handleValidate: F
52
75
  }), [
53
- o,
54
- l,
55
- C,
56
- S,
57
- w,
58
- T
76
+ s,
77
+ u,
78
+ M,
79
+ j,
80
+ P,
81
+ F
59
82
  ]);
60
83
  };
61
- return l.displayName = `withFieldValue(${o(c)})`, l;
84
+ return u.displayName = `withFieldValue(${s(l)})`, u;
62
85
  };
63
86
  //#endregion
64
- export { c as default };
87
+ export { l as default };