@verbb/plugin-kit-react 1.0.9 → 2.0.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 (720) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +91 -16
  3. package/dist/app/PluginKitProvider.d.ts +28 -0
  4. package/dist/app/PluginKitProvider.d.ts.map +1 -0
  5. package/dist/app/PluginKitProvider.js +39 -0
  6. package/dist/app/PluginKitProvider.js.map +1 -0
  7. package/dist/app/configure.d.ts +29 -0
  8. package/dist/app/configure.d.ts.map +1 -0
  9. package/dist/app/configure.js +35 -0
  10. package/dist/app/configure.js.map +1 -0
  11. package/dist/app/index.d.ts +5 -0
  12. package/dist/app/index.d.ts.map +1 -0
  13. package/dist/app/index.js +5 -0
  14. package/dist/app/mountShadowApp.d.ts +6 -0
  15. package/dist/app/mountShadowApp.d.ts.map +1 -0
  16. package/dist/app/mountShadowApp.js +2 -0
  17. package/dist/components/Button.d.ts +26 -25
  18. package/dist/components/Button.d.ts.map +1 -1
  19. package/dist/components/Button.js +34 -141
  20. package/dist/components/Button.js.map +1 -1
  21. package/dist/components/ButtonGroup.d.ts +15 -10
  22. package/dist/components/ButtonGroup.d.ts.map +1 -1
  23. package/dist/components/ButtonGroup.js +24 -54
  24. package/dist/components/ButtonGroup.js.map +1 -1
  25. package/dist/components/Calendar.d.ts +17 -10
  26. package/dist/components/Calendar.d.ts.map +1 -1
  27. package/dist/components/Calendar.js +17 -129
  28. package/dist/components/Calendar.js.map +1 -1
  29. package/dist/components/Checkbox.d.ts +27 -4
  30. package/dist/components/Checkbox.d.ts.map +1 -1
  31. package/dist/components/Checkbox.js +37 -34
  32. package/dist/components/Checkbox.js.map +1 -1
  33. package/dist/components/CheckboxInput.d.ts +10 -10
  34. package/dist/components/CheckboxInput.d.ts.map +1 -1
  35. package/dist/components/CheckboxInput.js +30 -10
  36. package/dist/components/CheckboxInput.js.map +1 -1
  37. package/dist/components/CheckboxSelect.d.ts +18 -17
  38. package/dist/components/CheckboxSelect.d.ts.map +1 -1
  39. package/dist/components/CheckboxSelect.js +30 -58
  40. package/dist/components/CheckboxSelect.js.map +1 -1
  41. package/dist/components/CodeEditor.d.ts +16 -10
  42. package/dist/components/CodeEditor.d.ts.map +1 -1
  43. package/dist/components/CodeEditor.js +32 -71
  44. package/dist/components/CodeEditor.js.map +1 -1
  45. package/dist/components/ColorInput.d.ts +25 -12
  46. package/dist/components/ColorInput.d.ts.map +1 -1
  47. package/dist/components/ColorInput.js +42 -142
  48. package/dist/components/ColorInput.js.map +1 -1
  49. package/dist/components/Combobox.d.ts +31 -39
  50. package/dist/components/Combobox.d.ts.map +1 -1
  51. package/dist/components/Combobox.js +47 -385
  52. package/dist/components/Combobox.js.map +1 -1
  53. package/dist/components/ComboboxInput.d.ts +34 -17
  54. package/dist/components/ComboboxInput.d.ts.map +1 -1
  55. package/dist/components/ComboboxInput.js +81 -161
  56. package/dist/components/ComboboxInput.js.map +1 -1
  57. package/dist/components/CopyButton.d.ts +12 -8
  58. package/dist/components/CopyButton.d.ts.map +1 -1
  59. package/dist/components/CopyButton.js +15 -36
  60. package/dist/components/CopyButton.js.map +1 -1
  61. package/dist/components/DatePicker.d.ts +28 -7
  62. package/dist/components/DatePicker.d.ts.map +1 -1
  63. package/dist/components/DatePicker.js +82 -53
  64. package/dist/components/DatePicker.js.map +1 -1
  65. package/dist/components/Dialog.d.ts +20 -20
  66. package/dist/components/Dialog.d.ts.map +1 -1
  67. package/dist/components/Dialog.js +50 -175
  68. package/dist/components/Dialog.js.map +1 -1
  69. package/dist/components/DropdownMenu.d.ts +39 -46
  70. package/dist/components/DropdownMenu.d.ts.map +1 -1
  71. package/dist/components/DropdownMenu.js +40 -232
  72. package/dist/components/DropdownMenu.js.map +1 -1
  73. package/dist/components/EditableTable.d.ts +82 -27
  74. package/dist/components/EditableTable.d.ts.map +1 -1
  75. package/dist/components/EditableTable.js +183 -133
  76. package/dist/components/EditableTable.js.map +1 -1
  77. package/dist/components/Field.d.ts +13 -0
  78. package/dist/components/Field.d.ts.map +1 -0
  79. package/dist/components/Field.js +32 -0
  80. package/dist/components/Field.js.map +1 -0
  81. package/dist/components/Icon.d.ts +7 -0
  82. package/dist/components/Icon.d.ts.map +1 -0
  83. package/dist/components/Icon.js +15 -0
  84. package/dist/components/Icon.js.map +1 -0
  85. package/dist/components/Input.d.ts +20 -8
  86. package/dist/components/Input.d.ts.map +1 -1
  87. package/dist/components/Input.js +37 -34
  88. package/dist/components/Input.js.map +1 -1
  89. package/dist/components/InputGroup.d.ts +39 -19
  90. package/dist/components/InputGroup.d.ts.map +1 -1
  91. package/dist/components/InputGroup.js +83 -102
  92. package/dist/components/InputGroup.js.map +1 -1
  93. package/dist/components/Lightswitch.d.ts +15 -8
  94. package/dist/components/Lightswitch.d.ts.map +1 -1
  95. package/dist/components/Lightswitch.js +22 -47
  96. package/dist/components/Lightswitch.js.map +1 -1
  97. package/dist/components/Popover.d.ts +23 -11
  98. package/dist/components/Popover.d.ts.map +1 -1
  99. package/dist/components/Popover.js +46 -65
  100. package/dist/components/Popover.js.map +1 -1
  101. package/dist/components/Popup.d.ts +14 -0
  102. package/dist/components/Popup.d.ts.map +1 -0
  103. package/dist/components/Popup.js +19 -0
  104. package/dist/components/Popup.js.map +1 -0
  105. package/dist/components/RadioGroup.d.ts +26 -5
  106. package/dist/components/RadioGroup.d.ts.map +1 -1
  107. package/dist/components/RadioGroup.js +56 -26
  108. package/dist/components/RadioGroup.js.map +1 -1
  109. package/dist/components/RadioGroupInput.d.ts +19 -0
  110. package/dist/components/RadioGroupInput.d.ts.map +1 -0
  111. package/dist/components/RadioGroupInput.js +35 -0
  112. package/dist/components/RadioGroupInput.js.map +1 -0
  113. package/dist/components/ScrollArea.d.ts +11 -15
  114. package/dist/components/ScrollArea.d.ts.map +1 -1
  115. package/dist/components/ScrollArea.js +11 -42
  116. package/dist/components/ScrollArea.js.map +1 -1
  117. package/dist/components/Select.d.ts +46 -22
  118. package/dist/components/Select.d.ts.map +1 -1
  119. package/dist/components/Select.js +74 -196
  120. package/dist/components/Select.js.map +1 -1
  121. package/dist/components/SelectInput.d.ts +28 -21
  122. package/dist/components/SelectInput.d.ts.map +1 -1
  123. package/dist/components/SelectInput.js +62 -76
  124. package/dist/components/SelectInput.js.map +1 -1
  125. package/dist/components/Separator.d.ts +7 -3
  126. package/dist/components/Separator.d.ts.map +1 -1
  127. package/dist/components/Separator.js +11 -13
  128. package/dist/components/Separator.js.map +1 -1
  129. package/dist/components/Spinner.d.ts +12 -8
  130. package/dist/components/Spinner.d.ts.map +1 -1
  131. package/dist/components/Spinner.js +15 -34
  132. package/dist/components/Spinner.js.map +1 -1
  133. package/dist/components/Status.d.ts +7 -7
  134. package/dist/components/Status.d.ts.map +1 -1
  135. package/dist/components/Status.js +11 -51
  136. package/dist/components/Status.js.map +1 -1
  137. package/dist/components/Tabs.d.ts +31 -7
  138. package/dist/components/Tabs.d.ts.map +1 -1
  139. package/dist/components/Tabs.js +57 -30
  140. package/dist/components/Tabs.js.map +1 -1
  141. package/dist/components/Textarea.d.ts +18 -7
  142. package/dist/components/Textarea.d.ts.map +1 -1
  143. package/dist/components/Textarea.js +33 -18
  144. package/dist/components/Textarea.js.map +1 -1
  145. package/dist/components/TimePicker.d.ts +18 -8
  146. package/dist/components/TimePicker.d.ts.map +1 -1
  147. package/dist/components/TimePicker.js +38 -36
  148. package/dist/components/TimePicker.js.map +1 -1
  149. package/dist/components/Tiptap.d.ts +43 -0
  150. package/dist/components/Tiptap.d.ts.map +1 -0
  151. package/dist/components/Tiptap.js +96 -0
  152. package/dist/components/Tiptap.js.map +1 -0
  153. package/dist/components/Toggle.d.ts +13 -8
  154. package/dist/components/Toggle.d.ts.map +1 -1
  155. package/dist/components/Toggle.js +13 -42
  156. package/dist/components/Toggle.js.map +1 -1
  157. package/dist/components/ToggleGroup.d.ts +11 -10
  158. package/dist/components/ToggleGroup.d.ts.map +1 -1
  159. package/dist/components/ToggleGroup.js +11 -65
  160. package/dist/components/ToggleGroup.js.map +1 -1
  161. package/dist/components/Tooltip.d.ts +18 -8
  162. package/dist/components/Tooltip.d.ts.map +1 -1
  163. package/dist/components/Tooltip.js +18 -47
  164. package/dist/components/Tooltip.js.map +1 -1
  165. package/dist/components/index.d.ts +37 -45
  166. package/dist/components/index.d.ts.map +1 -1
  167. package/dist/components/index.js +35 -43
  168. package/dist/fault/AppFaultBoundary.d.ts +18 -0
  169. package/dist/fault/AppFaultBoundary.d.ts.map +1 -0
  170. package/dist/fault/AppFaultBoundary.js +24 -0
  171. package/dist/fault/AppFaultBoundary.js.map +1 -0
  172. package/dist/fault/AppFaultProvider.d.ts +43 -0
  173. package/dist/fault/AppFaultProvider.d.ts.map +1 -0
  174. package/dist/fault/AppFaultProvider.js +192 -0
  175. package/dist/fault/AppFaultProvider.js.map +1 -0
  176. package/dist/fault/FaultFallback.d.ts +16 -0
  177. package/dist/fault/FaultFallback.d.ts.map +1 -0
  178. package/dist/fault/FaultFallback.js +67 -0
  179. package/dist/fault/FaultFallback.js.map +1 -0
  180. package/dist/fault/buildSupportBundle.d.ts +3 -0
  181. package/dist/fault/buildSupportBundle.d.ts.map +1 -0
  182. package/dist/fault/buildSupportBundle.js +22 -0
  183. package/dist/fault/buildSupportBundle.js.map +1 -0
  184. package/dist/fault/index.d.ts +8 -0
  185. package/dist/fault/index.d.ts.map +1 -0
  186. package/dist/fault/index.js +7 -0
  187. package/dist/fault/isIgnorableGlobalError.d.ts +3 -0
  188. package/dist/fault/isIgnorableGlobalError.d.ts.map +1 -0
  189. package/dist/fault/isIgnorableGlobalError.js +14 -0
  190. package/dist/fault/isIgnorableGlobalError.js.map +1 -0
  191. package/dist/fault/types.d.ts +18 -0
  192. package/dist/fault/types.d.ts.map +1 -0
  193. package/dist/fault/useUiWatchdog.d.ts +13 -0
  194. package/dist/fault/useUiWatchdog.d.ts.map +1 -0
  195. package/dist/fault/useUiWatchdog.js +38 -0
  196. package/dist/fault/useUiWatchdog.js.map +1 -0
  197. package/dist/forms/Field.d.ts +19 -31
  198. package/dist/forms/Field.d.ts.map +1 -1
  199. package/dist/forms/Field.js +28 -164
  200. package/dist/forms/Field.js.map +1 -1
  201. package/dist/forms/SchemaFormEngine.d.ts +5 -4
  202. package/dist/forms/SchemaFormEngine.d.ts.map +1 -1
  203. package/dist/forms/SchemaFormEngine.js +36 -16
  204. package/dist/forms/SchemaFormEngine.js.map +1 -1
  205. package/dist/forms/SchemaFormFieldNode.d.ts +13 -0
  206. package/dist/forms/SchemaFormFieldNode.d.ts.map +1 -0
  207. package/dist/forms/SchemaFormFieldNode.js +48 -0
  208. package/dist/forms/SchemaFormFieldNode.js.map +1 -0
  209. package/dist/forms/assertSchemaRegistry.d.ts +18 -0
  210. package/dist/forms/assertSchemaRegistry.d.ts.map +1 -0
  211. package/dist/forms/assertSchemaRegistry.js +71 -0
  212. package/dist/forms/assertSchemaRegistry.js.map +1 -0
  213. package/dist/forms/builtin-field-loaders.d.ts +11 -0
  214. package/dist/forms/builtin-field-loaders.d.ts.map +1 -0
  215. package/dist/forms/builtin-field-loaders.js +31 -0
  216. package/dist/forms/builtin-field-loaders.js.map +1 -0
  217. package/dist/forms/components/FieldWrap.d.ts +7 -1
  218. package/dist/forms/components/FieldWrap.d.ts.map +1 -1
  219. package/dist/forms/components/FieldWrap.js +17 -23
  220. package/dist/forms/components/FieldWrap.js.map +1 -1
  221. package/dist/forms/components/ModalTabs.d.ts +28 -13
  222. package/dist/forms/components/ModalTabs.d.ts.map +1 -1
  223. package/dist/forms/components/ModalTabs.js +99 -30
  224. package/dist/forms/components/ModalTabs.js.map +1 -1
  225. package/dist/forms/components/index.d.ts +3 -2
  226. package/dist/forms/components/index.d.ts.map +1 -1
  227. package/dist/forms/components/schemaErrors.d.ts +5 -0
  228. package/dist/forms/components/schemaErrors.d.ts.map +1 -0
  229. package/dist/forms/components/schemaErrors.js +34 -0
  230. package/dist/forms/components/schemaErrors.js.map +1 -0
  231. package/dist/forms/datetime.d.ts +12 -0
  232. package/dist/forms/datetime.d.ts.map +1 -0
  233. package/dist/forms/datetime.js +34 -0
  234. package/dist/forms/datetime.js.map +1 -0
  235. package/dist/forms/engine/context.d.ts +4 -19
  236. package/dist/forms/engine/context.d.ts.map +1 -1
  237. package/dist/forms/engine/context.js.map +1 -1
  238. package/dist/forms/fields/CheckboxSelectField.d.ts +3 -3
  239. package/dist/forms/fields/CheckboxSelectField.d.ts.map +1 -1
  240. package/dist/forms/fields/CheckboxSelectField.js +1 -3
  241. package/dist/forms/fields/CheckboxSelectField.js.map +1 -1
  242. package/dist/forms/fields/CodeEditorField.d.ts +3 -3
  243. package/dist/forms/fields/CodeEditorField.d.ts.map +1 -1
  244. package/dist/forms/fields/CodeEditorField.js +7 -7
  245. package/dist/forms/fields/CodeEditorField.js.map +1 -1
  246. package/dist/forms/fields/ColorField.d.ts +1 -1
  247. package/dist/forms/fields/ColorField.d.ts.map +1 -1
  248. package/dist/forms/fields/ColorField.js +4 -5
  249. package/dist/forms/fields/ColorField.js.map +1 -1
  250. package/dist/forms/fields/ComboboxField.d.ts +4 -5
  251. package/dist/forms/fields/ComboboxField.d.ts.map +1 -1
  252. package/dist/forms/fields/ComboboxField.js +2 -5
  253. package/dist/forms/fields/ComboboxField.js.map +1 -1
  254. package/dist/forms/fields/DateTimeField.d.ts +1 -1
  255. package/dist/forms/fields/DateTimeField.d.ts.map +1 -1
  256. package/dist/forms/fields/DateTimeField.js +22 -18
  257. package/dist/forms/fields/DateTimeField.js.map +1 -1
  258. package/dist/forms/fields/GroupField.d.ts +2 -2
  259. package/dist/forms/fields/GroupField.d.ts.map +1 -1
  260. package/dist/forms/fields/GroupField.js +0 -1
  261. package/dist/forms/fields/GroupField.js.map +1 -1
  262. package/dist/forms/fields/LightswitchField.d.ts +1 -1
  263. package/dist/forms/fields/LightswitchField.d.ts.map +1 -1
  264. package/dist/forms/fields/LightswitchField.js +2 -6
  265. package/dist/forms/fields/LightswitchField.js.map +1 -1
  266. package/dist/forms/fields/NumberField.d.ts +1 -1
  267. package/dist/forms/fields/NumberField.d.ts.map +1 -1
  268. package/dist/forms/fields/NumberField.js +4 -5
  269. package/dist/forms/fields/NumberField.js.map +1 -1
  270. package/dist/forms/fields/RadioGroupField.d.ts +2 -2
  271. package/dist/forms/fields/RadioGroupField.d.ts.map +1 -1
  272. package/dist/forms/fields/RadioGroupField.js +14 -39
  273. package/dist/forms/fields/RadioGroupField.js.map +1 -1
  274. package/dist/forms/fields/SelectField.d.ts +2 -2
  275. package/dist/forms/fields/SelectField.d.ts.map +1 -1
  276. package/dist/forms/fields/SelectField.js +1 -2
  277. package/dist/forms/fields/SelectField.js.map +1 -1
  278. package/dist/forms/fields/TextField.d.ts +1 -1
  279. package/dist/forms/fields/TextField.d.ts.map +1 -1
  280. package/dist/forms/fields/TextField.js +3 -4
  281. package/dist/forms/fields/TextField.js.map +1 -1
  282. package/dist/forms/fields/TextareaField.d.ts +1 -1
  283. package/dist/forms/fields/TextareaField.d.ts.map +1 -1
  284. package/dist/forms/fields/TextareaField.js +3 -5
  285. package/dist/forms/fields/TextareaField.js.map +1 -1
  286. package/dist/forms/index.d.ts +12 -7
  287. package/dist/forms/index.d.ts.map +1 -1
  288. package/dist/forms/index.js +9 -7
  289. package/dist/forms/registry.d.ts +4 -1
  290. package/dist/forms/registry.d.ts.map +1 -1
  291. package/dist/forms/registry.js +18 -50
  292. package/dist/forms/registry.js.map +1 -1
  293. package/dist/forms/useEngineField.d.ts +1 -1
  294. package/dist/forms/useEngineField.d.ts.map +1 -1
  295. package/dist/forms/useEngineField.js.map +1 -1
  296. package/dist/forms/utils.d.ts +6 -0
  297. package/dist/forms/utils.d.ts.map +1 -0
  298. package/dist/forms/utils.js +14 -0
  299. package/dist/forms/utils.js.map +1 -0
  300. package/dist/hooks/index.d.ts +1 -2
  301. package/dist/hooks/index.d.ts.map +1 -1
  302. package/dist/hooks/index.js +1 -2
  303. package/dist/hooks/useTranslation.d.ts +2 -1
  304. package/dist/hooks/useTranslation.d.ts.map +1 -1
  305. package/dist/hooks/useTranslation.js +3 -5
  306. package/dist/hooks/useTranslation.js.map +1 -1
  307. package/dist/index.d.ts +2 -1
  308. package/dist/index.d.ts.map +1 -1
  309. package/dist/index.js +42 -2
  310. package/dist/utils/cn.d.ts +4 -0
  311. package/dist/utils/cn.d.ts.map +1 -0
  312. package/dist/utils/cn.js +11 -0
  313. package/dist/utils/cn.js.map +1 -0
  314. package/dist/utils/craftHostBridge.d.ts +3 -2
  315. package/dist/utils/craftHostBridge.d.ts.map +1 -1
  316. package/dist/utils/craftHostBridge.js +1 -0
  317. package/dist/utils/craftHostBridge.js.map +1 -1
  318. package/dist/utils/create-plugin-kit-component.d.ts +16 -0
  319. package/dist/utils/create-plugin-kit-component.d.ts.map +1 -0
  320. package/dist/utils/create-plugin-kit-component.js +97 -0
  321. package/dist/utils/create-plugin-kit-component.js.map +1 -0
  322. package/dist/utils/index.d.ts +8 -19
  323. package/dist/utils/index.d.ts.map +1 -1
  324. package/dist/utils/index.js +7 -73
  325. package/dist/utils/isHostEvent.d.ts +7 -0
  326. package/dist/utils/isHostEvent.d.ts.map +1 -0
  327. package/dist/utils/isHostEvent.js +13 -0
  328. package/dist/utils/isHostEvent.js.map +1 -0
  329. package/dist/utils/lit-react-booleans.d.ts +9 -0
  330. package/dist/utils/lit-react-booleans.d.ts.map +1 -0
  331. package/dist/utils/lit-react-booleans.js +17 -0
  332. package/dist/utils/lit-react-booleans.js.map +1 -0
  333. package/dist/utils/pk-change.d.ts +5 -0
  334. package/dist/utils/pk-change.d.ts.map +1 -0
  335. package/dist/utils/pk-change.js +13 -0
  336. package/dist/utils/pk-change.js.map +1 -0
  337. package/package.json +34 -80
  338. package/style.css +16 -0
  339. package/tailwind-preflight-scope.css +28 -0
  340. package/tailwind-theme.css +245 -0
  341. package/vite-dev.mjs +22 -2
  342. package/dist/_virtual/_rolldown/runtime.js +0 -34
  343. package/dist/components/Command.d.ts +0 -26
  344. package/dist/components/Command.d.ts.map +0 -1
  345. package/dist/components/Command.js +0 -94
  346. package/dist/components/Command.js.map +0 -1
  347. package/dist/components/FadeIn.d.ts +0 -12
  348. package/dist/components/FadeIn.d.ts.map +0 -1
  349. package/dist/components/FadeIn.js +0 -24
  350. package/dist/components/FadeIn.js.map +0 -1
  351. package/dist/components/Label.d.ts +0 -4
  352. package/dist/components/Label.d.ts.map +0 -1
  353. package/dist/components/Label.js +0 -15
  354. package/dist/components/Label.js.map +0 -1
  355. package/dist/components/Markdown.d.ts +0 -11
  356. package/dist/components/Markdown.d.ts.map +0 -1
  357. package/dist/components/Markdown.js +0 -46
  358. package/dist/components/Markdown.js.map +0 -1
  359. package/dist/components/MenuButton.d.ts +0 -40
  360. package/dist/components/MenuButton.d.ts.map +0 -1
  361. package/dist/components/MenuButton.js +0 -122
  362. package/dist/components/MenuButton.js.map +0 -1
  363. package/dist/components/ModalTabs.d.ts +0 -8
  364. package/dist/components/ModalTabs.d.ts.map +0 -1
  365. package/dist/components/ModalTabs.js +0 -37
  366. package/dist/components/ModalTabs.js.map +0 -1
  367. package/dist/components/PaneTabs.d.ts +0 -8
  368. package/dist/components/PaneTabs.d.ts.map +0 -1
  369. package/dist/components/PaneTabs.js +0 -37
  370. package/dist/components/PaneTabs.js.map +0 -1
  371. package/dist/components/SlideUp.d.ts +0 -12
  372. package/dist/components/SlideUp.d.ts.map +0 -1
  373. package/dist/components/SlideUp.js +0 -36
  374. package/dist/components/SlideUp.js.map +0 -1
  375. package/dist/components/Slot.d.ts +0 -6
  376. package/dist/components/Slot.d.ts.map +0 -1
  377. package/dist/components/Slot.js +0 -52
  378. package/dist/components/Slot.js.map +0 -1
  379. package/dist/components/Table.d.ts +0 -10
  380. package/dist/components/Table.d.ts.map +0 -1
  381. package/dist/components/Table.js +0 -64
  382. package/dist/components/Table.js.map +0 -1
  383. package/dist/components/TiptapContent.d.ts +0 -9
  384. package/dist/components/TiptapContent.d.ts.map +0 -1
  385. package/dist/components/TiptapContent.js +0 -43
  386. package/dist/components/TiptapContent.js.map +0 -1
  387. package/dist/components/TiptapEditor.d.ts +0 -43
  388. package/dist/components/TiptapEditor.d.ts.map +0 -1
  389. package/dist/components/TiptapEditor.js +0 -573
  390. package/dist/components/TiptapEditor.js.map +0 -1
  391. package/dist/components/TiptapInput.d.ts +0 -20
  392. package/dist/components/TiptapInput.d.ts.map +0 -1
  393. package/dist/components/TiptapInput.js +0 -140
  394. package/dist/components/TiptapInput.js.map +0 -1
  395. package/dist/components/VirtualizedScrollArea.d.ts +0 -25
  396. package/dist/components/VirtualizedScrollArea.d.ts.map +0 -1
  397. package/dist/components/VirtualizedScrollArea.js +0 -80
  398. package/dist/components/VirtualizedScrollArea.js.map +0 -1
  399. package/dist/components/editable-table/RowDataCells.d.ts +0 -3
  400. package/dist/components/editable-table/RowDataCells.d.ts.map +0 -1
  401. package/dist/components/editable-table/RowDataCells.js +0 -33
  402. package/dist/components/editable-table/RowDataCells.js.map +0 -1
  403. package/dist/components/editable-table/TableCell.d.ts +0 -13
  404. package/dist/components/editable-table/TableCell.d.ts.map +0 -1
  405. package/dist/components/editable-table/TableCell.js +0 -415
  406. package/dist/components/editable-table/TableCell.js.map +0 -1
  407. package/dist/components/editable-table/TableRow.d.ts +0 -3
  408. package/dist/components/editable-table/TableRow.d.ts.map +0 -1
  409. package/dist/components/editable-table/TableRow.js +0 -166
  410. package/dist/components/editable-table/TableRow.js.map +0 -1
  411. package/dist/components/editable-table/helpers.d.ts +0 -12
  412. package/dist/components/editable-table/helpers.d.ts.map +0 -1
  413. package/dist/components/editable-table/helpers.js +0 -23
  414. package/dist/components/editable-table/helpers.js.map +0 -1
  415. package/dist/components/editable-table/index.d.ts +0 -4
  416. package/dist/components/editable-table/index.d.ts.map +0 -1
  417. package/dist/components/editable-table/index.js +0 -4
  418. package/dist/components/editable-table/types.d.ts +0 -55
  419. package/dist/components/editable-table/types.d.ts.map +0 -1
  420. package/dist/components/editable-table/types.js +0 -0
  421. package/dist/components/editable-table/useEditableTableCellChange.d.ts +0 -17
  422. package/dist/components/editable-table/useEditableTableCellChange.d.ts.map +0 -1
  423. package/dist/components/editable-table/useEditableTableCellChange.js +0 -152
  424. package/dist/components/editable-table/useEditableTableCellChange.js.map +0 -1
  425. package/dist/components/editable-table/useEditableTableDnd.d.ts +0 -18
  426. package/dist/components/editable-table/useEditableTableDnd.d.ts.map +0 -1
  427. package/dist/components/editable-table/useEditableTableDnd.js +0 -55
  428. package/dist/components/editable-table/useEditableTableDnd.js.map +0 -1
  429. package/dist/components/editable-table/useEditableTableRows.d.ts +0 -17
  430. package/dist/components/editable-table/useEditableTableRows.d.ts.map +0 -1
  431. package/dist/components/editable-table/useEditableTableRows.js +0 -108
  432. package/dist/components/editable-table/useEditableTableRows.js.map +0 -1
  433. package/dist/components/tiptap/InlineVariablePickerPopover.d.ts +0 -24
  434. package/dist/components/tiptap/InlineVariablePickerPopover.d.ts.map +0 -1
  435. package/dist/components/tiptap/InlineVariablePickerPopover.js +0 -63
  436. package/dist/components/tiptap/InlineVariablePickerPopover.js.map +0 -1
  437. package/dist/components/tiptap/InsertLinkDialog.d.ts +0 -14
  438. package/dist/components/tiptap/InsertLinkDialog.d.ts.map +0 -1
  439. package/dist/components/tiptap/InsertLinkDialog.js +0 -145
  440. package/dist/components/tiptap/InsertLinkDialog.js.map +0 -1
  441. package/dist/components/tiptap/LinkBubbleMenu.d.ts +0 -10
  442. package/dist/components/tiptap/LinkBubbleMenu.d.ts.map +0 -1
  443. package/dist/components/tiptap/LinkBubbleMenu.js +0 -106
  444. package/dist/components/tiptap/LinkBubbleMenu.js.map +0 -1
  445. package/dist/components/tiptap/LinkDropdown.d.ts +0 -53
  446. package/dist/components/tiptap/LinkDropdown.d.ts.map +0 -1
  447. package/dist/components/tiptap/LinkDropdown.js +0 -155
  448. package/dist/components/tiptap/LinkDropdown.js.map +0 -1
  449. package/dist/components/tiptap/VariableCommandList.d.ts +0 -37
  450. package/dist/components/tiptap/VariableCommandList.d.ts.map +0 -1
  451. package/dist/components/tiptap/VariableCommandList.js +0 -166
  452. package/dist/components/tiptap/VariableCommandList.js.map +0 -1
  453. package/dist/components/tiptap/VariableDropdown.d.ts +0 -40
  454. package/dist/components/tiptap/VariableDropdown.d.ts.map +0 -1
  455. package/dist/components/tiptap/VariableDropdown.js +0 -121
  456. package/dist/components/tiptap/VariableDropdown.js.map +0 -1
  457. package/dist/components/tiptap/VariablePickerContext.d.ts +0 -58
  458. package/dist/components/tiptap/VariablePickerContext.d.ts.map +0 -1
  459. package/dist/components/tiptap/VariablePickerContext.js +0 -34
  460. package/dist/components/tiptap/VariablePickerContext.js.map +0 -1
  461. package/dist/components/tiptap/VariableTag.d.ts +0 -6
  462. package/dist/components/tiptap/VariableTag.d.ts.map +0 -1
  463. package/dist/components/tiptap/VariableTag.js +0 -153
  464. package/dist/components/tiptap/VariableTag.js.map +0 -1
  465. package/dist/components/tiptap/VariableTagView.d.ts +0 -3
  466. package/dist/components/tiptap/VariableTagView.d.ts.map +0 -1
  467. package/dist/components/tiptap/VariableTagView.js +0 -584
  468. package/dist/components/tiptap/VariableTagView.js.map +0 -1
  469. package/dist/components/tiptap/VariableTransformControls.d.ts +0 -37
  470. package/dist/components/tiptap/VariableTransformControls.d.ts.map +0 -1
  471. package/dist/components/tiptap/VariableTransformControls.js +0 -157
  472. package/dist/components/tiptap/VariableTransformControls.js.map +0 -1
  473. package/dist/components/tiptap/editorConfig.d.ts +0 -15
  474. package/dist/components/tiptap/editorConfig.d.ts.map +0 -1
  475. package/dist/components/tiptap/editorConfig.js +0 -191
  476. package/dist/components/tiptap/editorConfig.js.map +0 -1
  477. package/dist/components/tiptap/useInlineVariablePicker.d.ts +0 -34
  478. package/dist/components/tiptap/useInlineVariablePicker.d.ts.map +0 -1
  479. package/dist/components/tiptap/useInlineVariablePicker.js +0 -240
  480. package/dist/components/tiptap/useInlineVariablePicker.js.map +0 -1
  481. package/dist/components/tiptap/useVariablePicker.d.ts +0 -28
  482. package/dist/components/tiptap/useVariablePicker.d.ts.map +0 -1
  483. package/dist/components/tiptap/useVariablePicker.js +0 -122
  484. package/dist/components/tiptap/useVariablePicker.js.map +0 -1
  485. package/dist/components/tiptap/variablePickerUtils.d.ts +0 -11
  486. package/dist/components/tiptap/variablePickerUtils.d.ts.map +0 -1
  487. package/dist/components/tiptap/variablePickerUtils.js +0 -63
  488. package/dist/components/tiptap/variablePickerUtils.js.map +0 -1
  489. package/dist/components/tiptap/variableSerialization.d.ts +0 -53
  490. package/dist/components/tiptap/variableSerialization.d.ts.map +0 -1
  491. package/dist/components/tiptap/variableSerialization.js +0 -291
  492. package/dist/components/tiptap/variableSerialization.js.map +0 -1
  493. package/dist/css/core.css +0 -288
  494. package/dist/css/style.css +0 -295
  495. package/dist/forms/TranslationIcon.d.ts +0 -5
  496. package/dist/forms/TranslationIcon.d.ts.map +0 -1
  497. package/dist/forms/TranslationIcon.js +0 -18
  498. package/dist/forms/TranslationIcon.js.map +0 -1
  499. package/dist/forms/components/index.js +0 -3
  500. package/dist/forms/contexts/VariableCategoriesContext.d.ts +0 -19
  501. package/dist/forms/contexts/VariableCategoriesContext.d.ts.map +0 -1
  502. package/dist/forms/contexts/VariableCategoriesContext.js +0 -20
  503. package/dist/forms/contexts/VariableCategoriesContext.js.map +0 -1
  504. package/dist/forms/engine/FormStateStore.d.ts +0 -24
  505. package/dist/forms/engine/FormStateStore.d.ts.map +0 -1
  506. package/dist/forms/engine/FormStateStore.js +0 -97
  507. package/dist/forms/engine/FormStateStore.js.map +0 -1
  508. package/dist/forms/engine/SchemaIndex.d.ts +0 -33
  509. package/dist/forms/engine/SchemaIndex.d.ts.map +0 -1
  510. package/dist/forms/engine/SchemaIndex.js +0 -21
  511. package/dist/forms/engine/SchemaIndex.js.map +0 -1
  512. package/dist/forms/engine/ValidationEngine.d.ts +0 -13
  513. package/dist/forms/engine/ValidationEngine.d.ts.map +0 -1
  514. package/dist/forms/engine/ValidationEngine.js +0 -155
  515. package/dist/forms/engine/ValidationEngine.js.map +0 -1
  516. package/dist/forms/engine/buildGroupedMessage.d.ts +0 -2
  517. package/dist/forms/engine/buildGroupedMessage.d.ts.map +0 -1
  518. package/dist/forms/engine/buildGroupedMessage.js +0 -20
  519. package/dist/forms/engine/buildGroupedMessage.js.map +0 -1
  520. package/dist/forms/engine/rules/email.d.ts +0 -2
  521. package/dist/forms/engine/rules/email.d.ts.map +0 -1
  522. package/dist/forms/engine/rules/email.js +0 -11
  523. package/dist/forms/engine/rules/email.js.map +0 -1
  524. package/dist/forms/engine/rules/emailOrVariable.d.ts +0 -2
  525. package/dist/forms/engine/rules/emailOrVariable.d.ts.map +0 -1
  526. package/dist/forms/engine/rules/emailOrVariable.js +0 -13
  527. package/dist/forms/engine/rules/emailOrVariable.js.map +0 -1
  528. package/dist/forms/engine/rules/handle.d.ts +0 -2
  529. package/dist/forms/engine/rules/handle.d.ts.map +0 -1
  530. package/dist/forms/engine/rules/handle.js +0 -12
  531. package/dist/forms/engine/rules/handle.js.map +0 -1
  532. package/dist/forms/engine/rules/index.d.ts +0 -9
  533. package/dist/forms/engine/rules/index.d.ts.map +0 -1
  534. package/dist/forms/engine/rules/index.js +0 -35
  535. package/dist/forms/engine/rules/index.js.map +0 -1
  536. package/dist/forms/engine/rules/max.d.ts +0 -2
  537. package/dist/forms/engine/rules/max.d.ts.map +0 -1
  538. package/dist/forms/engine/rules/max.js +0 -16
  539. package/dist/forms/engine/rules/max.js.map +0 -1
  540. package/dist/forms/engine/rules/min.d.ts +0 -2
  541. package/dist/forms/engine/rules/min.d.ts.map +0 -1
  542. package/dist/forms/engine/rules/min.js +0 -16
  543. package/dist/forms/engine/rules/min.js.map +0 -1
  544. package/dist/forms/engine/rules/required.d.ts +0 -2
  545. package/dist/forms/engine/rules/required.d.ts.map +0 -1
  546. package/dist/forms/engine/rules/required.js +0 -11
  547. package/dist/forms/engine/rules/required.js.map +0 -1
  548. package/dist/forms/engine/rules/uniqueHandle.d.ts +0 -9
  549. package/dist/forms/engine/rules/uniqueHandle.d.ts.map +0 -1
  550. package/dist/forms/engine/rules/uniqueHandle.js +0 -95
  551. package/dist/forms/engine/rules/uniqueHandle.js.map +0 -1
  552. package/dist/forms/engine/rules/utils.d.ts +0 -3
  553. package/dist/forms/engine/rules/utils.d.ts.map +0 -1
  554. package/dist/forms/engine/rules/utils.js +0 -21
  555. package/dist/forms/engine/rules/utils.js.map +0 -1
  556. package/dist/forms/fields/CalculationsField.d.ts +0 -24
  557. package/dist/forms/fields/CalculationsField.d.ts.map +0 -1
  558. package/dist/forms/fields/CalculationsField.js +0 -215
  559. package/dist/forms/fields/CalculationsField.js.map +0 -1
  560. package/dist/forms/fields/CalculationsToolbar.d.ts +0 -17
  561. package/dist/forms/fields/CalculationsToolbar.d.ts.map +0 -1
  562. package/dist/forms/fields/CalculationsToolbar.js +0 -130
  563. package/dist/forms/fields/CalculationsToolbar.js.map +0 -1
  564. package/dist/forms/fields/EditableTableField.d.ts +0 -22
  565. package/dist/forms/fields/EditableTableField.d.ts.map +0 -1
  566. package/dist/forms/fields/EditableTableField.js +0 -37
  567. package/dist/forms/fields/EditableTableField.js.map +0 -1
  568. package/dist/forms/fields/ElementSelectField.d.ts +0 -20
  569. package/dist/forms/fields/ElementSelectField.d.ts.map +0 -1
  570. package/dist/forms/fields/ElementSelectField.js +0 -215
  571. package/dist/forms/fields/ElementSelectField.js.map +0 -1
  572. package/dist/forms/fields/HandleField.d.ts +0 -20
  573. package/dist/forms/fields/HandleField.d.ts.map +0 -1
  574. package/dist/forms/fields/HandleField.js +0 -70
  575. package/dist/forms/fields/HandleField.js.map +0 -1
  576. package/dist/forms/fields/ListField.d.ts +0 -18
  577. package/dist/forms/fields/ListField.d.ts.map +0 -1
  578. package/dist/forms/fields/ListField.js +0 -52
  579. package/dist/forms/fields/ListField.js.map +0 -1
  580. package/dist/forms/fields/RichTextField.d.ts +0 -24
  581. package/dist/forms/fields/RichTextField.d.ts.map +0 -1
  582. package/dist/forms/fields/RichTextField.js +0 -53
  583. package/dist/forms/fields/RichTextField.js.map +0 -1
  584. package/dist/forms/fields/StaticTableField.d.ts +0 -34
  585. package/dist/forms/fields/StaticTableField.d.ts.map +0 -1
  586. package/dist/forms/fields/StaticTableField.js +0 -128
  587. package/dist/forms/fields/StaticTableField.js.map +0 -1
  588. package/dist/forms/fields/VariablePickerField.d.ts +0 -21
  589. package/dist/forms/fields/VariablePickerField.d.ts.map +0 -1
  590. package/dist/forms/fields/VariablePickerField.js +0 -51
  591. package/dist/forms/fields/VariablePickerField.js.map +0 -1
  592. package/dist/forms/store/element-store.d.ts +0 -11
  593. package/dist/forms/store/element-store.d.ts.map +0 -1
  594. package/dist/forms/store/element-store.js +0 -41
  595. package/dist/forms/store/element-store.js.map +0 -1
  596. package/dist/forms/useEditableTableFieldBinding.d.ts +0 -13
  597. package/dist/forms/useEditableTableFieldBinding.d.ts.map +0 -1
  598. package/dist/forms/useEditableTableFieldBinding.js +0 -91
  599. package/dist/forms/useEditableTableFieldBinding.js.map +0 -1
  600. package/dist/hooks/useKeyboardShortcuts.d.ts +0 -14
  601. package/dist/hooks/useKeyboardShortcuts.d.ts.map +0 -1
  602. package/dist/hooks/useKeyboardShortcuts.js +0 -67
  603. package/dist/hooks/useKeyboardShortcuts.js.map +0 -1
  604. package/dist/node_modules/@babel/runtime/helpers/arrayLikeToArray.js +0 -15
  605. package/dist/node_modules/@babel/runtime/helpers/arrayLikeToArray.js.map +0 -1
  606. package/dist/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js +0 -15
  607. package/dist/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js.map +0 -1
  608. package/dist/node_modules/@babel/runtime/helpers/classCallCheck.js +0 -13
  609. package/dist/node_modules/@babel/runtime/helpers/classCallCheck.js.map +0 -1
  610. package/dist/node_modules/@babel/runtime/helpers/createClass.js +0 -21
  611. package/dist/node_modules/@babel/runtime/helpers/createClass.js.map +0 -1
  612. package/dist/node_modules/@babel/runtime/helpers/defineProperty.js +0 -20
  613. package/dist/node_modules/@babel/runtime/helpers/defineProperty.js.map +0 -1
  614. package/dist/node_modules/@babel/runtime/helpers/interopRequireDefault.js +0 -13
  615. package/dist/node_modules/@babel/runtime/helpers/interopRequireDefault.js.map +0 -1
  616. package/dist/node_modules/@babel/runtime/helpers/iterableToArray.js +0 -13
  617. package/dist/node_modules/@babel/runtime/helpers/iterableToArray.js.map +0 -1
  618. package/dist/node_modules/@babel/runtime/helpers/nonIterableSpread.js +0 -13
  619. package/dist/node_modules/@babel/runtime/helpers/nonIterableSpread.js.map +0 -1
  620. package/dist/node_modules/@babel/runtime/helpers/toConsumableArray.js +0 -21
  621. package/dist/node_modules/@babel/runtime/helpers/toConsumableArray.js.map +0 -1
  622. package/dist/node_modules/@babel/runtime/helpers/toPrimitive.js +0 -22
  623. package/dist/node_modules/@babel/runtime/helpers/toPrimitive.js.map +0 -1
  624. package/dist/node_modules/@babel/runtime/helpers/toPropertyKey.js +0 -18
  625. package/dist/node_modules/@babel/runtime/helpers/toPropertyKey.js.map +0 -1
  626. package/dist/node_modules/@babel/runtime/helpers/typeof.js +0 -18
  627. package/dist/node_modules/@babel/runtime/helpers/typeof.js.map +0 -1
  628. package/dist/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js +0 -19
  629. package/dist/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js.map +0 -1
  630. package/dist/node_modules/jexl/dist/Expression.js +0 -84
  631. package/dist/node_modules/jexl/dist/Expression.js.map +0 -1
  632. package/dist/node_modules/jexl/dist/Jexl.js +0 -165
  633. package/dist/node_modules/jexl/dist/Jexl.js.map +0 -1
  634. package/dist/node_modules/jexl/dist/Lexer.js +0 -152
  635. package/dist/node_modules/jexl/dist/Lexer.js.map +0 -1
  636. package/dist/node_modules/jexl/dist/PromiseSync.js +0 -87
  637. package/dist/node_modules/jexl/dist/PromiseSync.js.map +0 -1
  638. package/dist/node_modules/jexl/dist/evaluator/Evaluator.js +0 -98
  639. package/dist/node_modules/jexl/dist/evaluator/Evaluator.js.map +0 -1
  640. package/dist/node_modules/jexl/dist/evaluator/handlers.js +0 -162
  641. package/dist/node_modules/jexl/dist/evaluator/handlers.js.map +0 -1
  642. package/dist/node_modules/jexl/dist/grammar.js +0 -195
  643. package/dist/node_modules/jexl/dist/grammar.js.map +0 -1
  644. package/dist/node_modules/jexl/dist/parser/Parser.js +0 -135
  645. package/dist/node_modules/jexl/dist/parser/Parser.js.map +0 -1
  646. package/dist/node_modules/jexl/dist/parser/handlers.js +0 -205
  647. package/dist/node_modules/jexl/dist/parser/handlers.js.map +0 -1
  648. package/dist/node_modules/jexl/dist/parser/states.js +0 -158
  649. package/dist/node_modules/jexl/dist/parser/states.js.map +0 -1
  650. package/dist/types/global.d.d.ts +0 -1
  651. package/dist/types/global.d.js +0 -0
  652. package/dist/utils/classes.d.ts +0 -18
  653. package/dist/utils/classes.d.ts.map +0 -1
  654. package/dist/utils/classes.js +0 -25
  655. package/dist/utils/classes.js.map +0 -1
  656. package/dist/utils/config.d.ts +0 -14
  657. package/dist/utils/config.d.ts.map +0 -1
  658. package/dist/utils/config.js +0 -20
  659. package/dist/utils/config.js.map +0 -1
  660. package/dist/utils/datetime.d.ts +0 -10
  661. package/dist/utils/datetime.d.ts.map +0 -1
  662. package/dist/utils/datetime.js +0 -60
  663. package/dist/utils/datetime.js.map +0 -1
  664. package/dist/utils/documentScrollStability.d.ts +0 -7
  665. package/dist/utils/documentScrollStability.d.ts.map +0 -1
  666. package/dist/utils/documentScrollStability.js +0 -19
  667. package/dist/utils/documentScrollStability.js.map +0 -1
  668. package/dist/utils/handle.d.ts +0 -10
  669. package/dist/utils/handle.d.ts.map +0 -1
  670. package/dist/utils/handle.js +0 -51
  671. package/dist/utils/handle.js.map +0 -1
  672. package/dist/utils/hostBridge.d.ts +0 -40
  673. package/dist/utils/hostBridge.d.ts.map +0 -1
  674. package/dist/utils/hostBridge.js +0 -35
  675. package/dist/utils/hostBridge.js.map +0 -1
  676. package/dist/utils/index.js.map +0 -1
  677. package/dist/utils/portal.d.ts +0 -17
  678. package/dist/utils/portal.d.ts.map +0 -1
  679. package/dist/utils/portal.js +0 -51
  680. package/dist/utils/portal.js.map +0 -1
  681. package/dist/utils/schema.d.ts +0 -17
  682. package/dist/utils/schema.d.ts.map +0 -1
  683. package/dist/utils/schema.js +0 -56
  684. package/dist/utils/schema.js.map +0 -1
  685. package/dist/utils/schemaFieldNames.d.ts +0 -2
  686. package/dist/utils/schemaFieldNames.d.ts.map +0 -1
  687. package/dist/utils/schemaFieldNames.js +0 -16
  688. package/dist/utils/schemaFieldNames.js.map +0 -1
  689. package/dist/utils/schemaIndex.d.ts +0 -6
  690. package/dist/utils/schemaIndex.d.ts.map +0 -1
  691. package/dist/utils/schemaIndex.js +0 -31
  692. package/dist/utils/schemaIndex.js.map +0 -1
  693. package/dist/utils/schemaIndexCache.d.ts +0 -6
  694. package/dist/utils/schemaIndexCache.d.ts.map +0 -1
  695. package/dist/utils/schemaIndexCache.js +0 -32
  696. package/dist/utils/schemaIndexCache.js.map +0 -1
  697. package/dist/utils/schemaNormalize.d.ts +0 -13
  698. package/dist/utils/schemaNormalize.d.ts.map +0 -1
  699. package/dist/utils/schemaNormalize.js +0 -17
  700. package/dist/utils/schemaNormalize.js.map +0 -1
  701. package/dist/utils/store.d.ts +0 -7
  702. package/dist/utils/store.d.ts.map +0 -1
  703. package/dist/utils/store.js +0 -6
  704. package/dist/utils/store.js.map +0 -1
  705. package/dist/utils/timeOptions.d.ts +0 -6
  706. package/dist/utils/timeOptions.d.ts.map +0 -1
  707. package/dist/utils/timeOptions.js +0 -42
  708. package/dist/utils/timeOptions.js.map +0 -1
  709. package/dist/utils/tiptap.d.ts +0 -13
  710. package/dist/utils/tiptap.d.ts.map +0 -1
  711. package/dist/utils/tiptap.js +0 -39
  712. package/dist/utils/tiptap.js.map +0 -1
  713. package/dist/utils/translation.d.ts +0 -5
  714. package/dist/utils/translation.d.ts.map +0 -1
  715. package/dist/utils/translation.js +0 -21
  716. package/dist/utils/translation.js.map +0 -1
  717. package/dist/utils/validation.d.ts +0 -4
  718. package/dist/utils/validation.d.ts.map +0 -1
  719. package/dist/utils/validation.js +0 -253
  720. package/dist/utils/validation.js.map +0 -1
@@ -1,155 +0,0 @@
1
- import { evaluateCondition } from "../../utils/schema.js";
2
- import { isEmptyValue } from "./rules/utils.js";
3
- import { ruleHandlers } from "./rules/index.js";
4
- import { get } from "lodash-es";
5
- //#region src/forms/engine/ValidationEngine.ts
6
- var isRecord = (value) => {
7
- return Boolean(value) && typeof value === "object" && !Array.isArray(value);
8
- };
9
- var parseRules = (field) => {
10
- const tokens = (typeof field.validation === "string" ? field.validation : "").split("|").map((token) => {
11
- return token.trim();
12
- }).filter(Boolean);
13
- const hasRequiredRule = tokens.some((rule) => {
14
- return rule === "required" || rule.startsWith("required");
15
- });
16
- if (field.required && !hasRequiredRule) tokens.unshift("required");
17
- return tokens.map((token) => {
18
- const [name, ...rest] = token.split(":");
19
- return {
20
- name,
21
- args: rest.length > 0 ? rest.join(":").split(",") : []
22
- };
23
- });
24
- };
25
- var expandWildcardPaths = (values, path) => {
26
- if (!path.includes("*")) return [path];
27
- const parts = path.split(".");
28
- const results = [];
29
- const walk = (current, index, acc) => {
30
- if (index >= parts.length) {
31
- results.push(acc.join("."));
32
- return;
33
- }
34
- const part = parts[index];
35
- if (part === "*") {
36
- if (Array.isArray(current)) current.forEach((item, idx) => {
37
- walk(item, index + 1, [...acc, String(idx)]);
38
- });
39
- return;
40
- }
41
- if (isRecord(current) && part in current) {
42
- walk(current[part], index + 1, [...acc, part]);
43
- return;
44
- }
45
- walk(void 0, index + 1, [...acc, part]);
46
- };
47
- walk(values, 0, []);
48
- return results;
49
- };
50
- var validateValue = (field, rules, value, context) => {
51
- const label = String(field.label || field.name || "");
52
- const isRequired = rules.some((rule) => {
53
- return rule.name === "required";
54
- });
55
- for (const rule of rules) {
56
- const { name, args } = rule;
57
- if (!isRequired && isEmptyValue(value)) continue;
58
- const handler = ruleHandlers[name];
59
- if (!handler) continue;
60
- const message = handler(value, label, args, context);
61
- if (message) return message;
62
- }
63
- return null;
64
- };
65
- var buildConditionData = (field, values, conditionDataResolver) => {
66
- const scopePath = typeof field?._scopePath === "string" ? field._scopePath : "";
67
- const scopedValues = scopePath ? get(values, scopePath) : null;
68
- const scopedObject = isRecord(scopedValues) ? scopedValues : {};
69
- const conditionContext = conditionDataResolver?.(values, field);
70
- const normalizedConditionContext = isRecord(conditionContext) ? conditionContext : {};
71
- const fieldData = isRecord(field._data) ? field._data : {};
72
- return {
73
- ...values,
74
- ...scopedObject,
75
- ...fieldData,
76
- ...normalizedConditionContext
77
- };
78
- };
79
- var shouldValidateField = (field, values, conditionDataResolver) => {
80
- const condition = field?.if;
81
- if (!condition) return true;
82
- try {
83
- return evaluateCondition(condition, buildConditionData(field, values, conditionDataResolver));
84
- } catch {
85
- return true;
86
- }
87
- };
88
- var collectPathConditions = (schema) => {
89
- const pathConditions = /* @__PURE__ */ new Map();
90
- const walk = (node, currentPath = "", inherited = []) => {
91
- if (Array.isArray(node)) {
92
- node.forEach((child) => {
93
- walk(child, currentPath, inherited);
94
- });
95
- return;
96
- }
97
- if (!isRecord(node)) return;
98
- const name = typeof node.name === "string" && node.name ? node.name : "";
99
- let nodePath = currentPath;
100
- if (name) nodePath = currentPath ? `${currentPath}.${name}` : name;
101
- const ownCondition = typeof node.if === "string" && node.if ? [{
102
- condition: node.if,
103
- field: node
104
- }] : [];
105
- const nextInherited = [...inherited, ...ownCondition];
106
- if (nodePath && nextInherited.length) pathConditions.set(nodePath, nextInherited);
107
- if (Array.isArray(node.children)) walk(node.children, nodePath, nextInherited);
108
- if (Array.isArray(node.schema)) walk(node.schema, nodePath, nextInherited);
109
- };
110
- walk(schema, "", []);
111
- return pathConditions;
112
- };
113
- var shouldValidatePathConditions = (path, fallbackField, values, pathConditions, conditionDataResolver) => {
114
- const conditions = pathConditions.get(path) || [];
115
- if (!conditions.length) return true;
116
- return conditions.every(({ condition, field }) => {
117
- try {
118
- return evaluateCondition(condition, buildConditionData(field || fallbackField, values, conditionDataResolver));
119
- } catch {
120
- return true;
121
- }
122
- });
123
- };
124
- var createValidationEngine = (index, options = {}) => {
125
- const { conditionDataResolver } = options;
126
- const fieldRules = /* @__PURE__ */ new Map();
127
- const pathConditions = collectPathConditions(index.schema);
128
- index.fieldEntries.forEach((entry) => {
129
- fieldRules.set(entry, parseRules(entry.field));
130
- });
131
- const validate = (values) => {
132
- const fieldErrors = {};
133
- index.fieldEntries.forEach((entry) => {
134
- const rules = fieldRules.get(entry) || [];
135
- if (!rules.length) return;
136
- if (!shouldValidateField(entry.field, values, conditionDataResolver)) return;
137
- expandWildcardPaths(values, entry.path).forEach((path) => {
138
- if (!shouldValidatePathConditions(path, entry.field, values, pathConditions, conditionDataResolver)) return;
139
- const value = get(values, path);
140
- const message = validateValue(entry.field, rules, value, {
141
- path,
142
- values,
143
- field: entry.field
144
- });
145
- if (message) fieldErrors[path] = [message];
146
- });
147
- });
148
- return Object.keys(fieldErrors).length > 0 ? { fields: fieldErrors } : void 0;
149
- };
150
- return { validate };
151
- };
152
- //#endregion
153
- export { createValidationEngine };
154
-
155
- //# sourceMappingURL=ValidationEngine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ValidationEngine.js","names":[],"sources":["../../../src/forms/engine/ValidationEngine.ts"],"sourcesContent":["import { get } from 'lodash-es';\nimport { evaluateCondition } from '@verbb/plugin-kit-react/utils/schema';\n\nimport type { FieldEntry, SchemaIndex, SchemaNode, SchemaRenderable } from './SchemaIndex';\nimport { ruleHandlers, RuleHandlerContext } from './rules';\nimport { isEmptyValue } from './rules/utils';\nimport type { FormValues } from './context';\n\ntype RuleToken = {\n name: string;\n args: string[];\n};\ntype ConditionContext = {\n condition: string;\n field: SchemaNode;\n};\ntype ConditionDataResolver = (values: FormValues, field?: SchemaNode) => Record<string, unknown>;\n\nconst isRecord = (value: unknown): value is Record<string, unknown> => {\n return Boolean(value) && typeof value === 'object' && !Array.isArray(value);\n};\n\nconst parseRules = (field: { validation?: string; required?: boolean }): RuleToken[] => {\n const rawRules = typeof field.validation === 'string' ? field.validation : '';\n const tokens = rawRules\n .split('|')\n .map((token) => { return token.trim(); })\n .filter(Boolean);\n\n const hasRequiredRule = tokens.some((rule) => { return rule === 'required' || rule.startsWith('required'); });\n if (field.required && !hasRequiredRule) {\n tokens.unshift('required');\n }\n\n return tokens.map((token) => {\n const [name, ...rest] = token.split(':');\n const args = rest.length > 0 ? rest.join(':').split(',') : [];\n return { name, args };\n });\n};\n\nconst expandWildcardPaths = (values: FormValues, path: string) => {\n if (!path.includes('*')) {\n return [path];\n }\n\n const parts = path.split('.');\n const results: string[] = [];\n\n const walk = (current: unknown, index: number, acc: string[]) => {\n if (index >= parts.length) {\n results.push(acc.join('.'));\n return;\n }\n\n const part = parts[index];\n if (part === '*') {\n if (Array.isArray(current)) {\n current.forEach((item, idx) => {\n walk(item, index + 1, [...acc, String(idx)]);\n });\n }\n return;\n }\n\n if (isRecord(current) && part in current) {\n walk(current[part], index + 1, [...acc, part]);\n return;\n }\n\n walk(undefined, index + 1, [...acc, part]);\n };\n\n walk(values, 0, []);\n return results;\n};\n\nconst validateValue = (\n field: SchemaNode,\n rules: RuleToken[],\n value: unknown,\n context: RuleHandlerContext,\n) => {\n const label = String(field.label || field.name || '');\n const isRequired = rules.some((rule) => { return rule.name === 'required'; });\n\n for (const rule of rules) {\n const { name, args } = rule;\n const shouldSkip = !isRequired && isEmptyValue(value);\n\n if (shouldSkip) {\n continue;\n }\n\n const handler = ruleHandlers[name];\n if (!handler) {\n continue;\n }\n\n const message = handler(value, label, args, context);\n if (message) {\n return message;\n }\n }\n\n return null;\n};\n\nconst buildConditionData = (\n field: SchemaNode,\n values: FormValues,\n conditionDataResolver?: ConditionDataResolver,\n) => {\n const scopePath = typeof field?._scopePath === 'string' ? field._scopePath : '';\n const scopedValues = scopePath ? get(values, scopePath) : null;\n const scopedObject = isRecord(scopedValues) ? scopedValues : {};\n const conditionContext = conditionDataResolver?.(values, field);\n const normalizedConditionContext = isRecord(conditionContext) ? conditionContext : {};\n const fieldData = isRecord(field._data) ? field._data : {};\n\n return {\n ...values,\n ...scopedObject,\n ...fieldData,\n ...normalizedConditionContext,\n };\n};\n\nconst shouldValidateField = (\n field: SchemaNode,\n values: FormValues,\n conditionDataResolver?: ConditionDataResolver,\n) => {\n const condition = field?.if;\n\n if (!condition) {\n return true;\n }\n\n try {\n return evaluateCondition(condition, buildConditionData(field, values, conditionDataResolver));\n } catch {\n // Fail-open to avoid accidentally blocking saves due to malformed conditions.\n return true;\n }\n};\n\nconst collectPathConditions = (schema: SchemaRenderable) => {\n const pathConditions = new Map<string, ConditionContext[]>();\n\n const walk = (node: SchemaRenderable, currentPath = '', inherited: ConditionContext[] = []) => {\n if (Array.isArray(node)) {\n node.forEach((child) => {\n walk(child, currentPath, inherited);\n });\n return;\n }\n\n if (!isRecord(node)) {\n return;\n }\n\n const name = typeof node.name === 'string' && node.name ? node.name : '';\n let nodePath = currentPath;\n if (name) {\n nodePath = currentPath ? `${currentPath}.${name}` : name;\n }\n\n const ownCondition = typeof node.if === 'string' && node.if\n ? [{ condition: node.if, field: node }]\n : [];\n const nextInherited = [...inherited, ...ownCondition];\n\n if (nodePath && nextInherited.length) {\n pathConditions.set(nodePath, nextInherited);\n }\n\n if (Array.isArray(node.children)) {\n walk(node.children, nodePath, nextInherited);\n }\n\n if (Array.isArray(node.schema)) {\n walk(node.schema, nodePath, nextInherited);\n }\n };\n\n walk(schema, '', []);\n\n return pathConditions;\n};\n\nconst shouldValidatePathConditions = (\n path: string,\n fallbackField: SchemaNode,\n values: FormValues,\n pathConditions: Map<string, ConditionContext[]>,\n conditionDataResolver?: ConditionDataResolver,\n) => {\n const conditions = pathConditions.get(path) || [];\n\n if (!conditions.length) {\n return true;\n }\n\n return conditions.every(({ condition, field }) => {\n try {\n return evaluateCondition(condition, buildConditionData(field || fallbackField, values, conditionDataResolver));\n } catch {\n // Fail-open to avoid accidental save blocking on malformed conditions.\n return true;\n }\n });\n};\n\nexport type ValidationResult = { fields: Record<string, string[]> } | undefined;\n\nexport const createValidationEngine = (\n index: SchemaIndex,\n options: { conditionDataResolver?: ConditionDataResolver } = {},\n) => {\n const { conditionDataResolver } = options;\n const fieldRules = new Map<FieldEntry, RuleToken[]>();\n const pathConditions = collectPathConditions(index.schema);\n\n index.fieldEntries.forEach((entry) => {\n fieldRules.set(entry, parseRules(entry.field));\n });\n\n const validate = (values: FormValues): ValidationResult => {\n const fieldErrors: Record<string, string[]> = {};\n index.fieldEntries.forEach((entry) => {\n const rules = fieldRules.get(entry) || [];\n if (!rules.length) {\n return;\n }\n\n if (!shouldValidateField(entry.field, values, conditionDataResolver)) {\n return;\n }\n\n const paths = expandWildcardPaths(values, entry.path);\n paths.forEach((path) => {\n if (!shouldValidatePathConditions(path, entry.field, values, pathConditions, conditionDataResolver)) {\n return;\n }\n\n const value = get(values, path);\n const message = validateValue(entry.field, rules, value, {\n path,\n values,\n field: entry.field,\n });\n if (message) {\n fieldErrors[path] = [message];\n\n }\n });\n });\n\n return Object.keys(fieldErrors).length > 0 ? { fields: fieldErrors } : undefined;\n };\n\n return { validate };\n};\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare const buildGroupedMessage: (message: string, parentLabel?: string, childLabel?: string) => string;
2
- //# sourceMappingURL=buildGroupedMessage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildGroupedMessage.d.ts","sourceRoot":"","sources":["../../../src/forms/engine/buildGroupedMessage.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,mBAAmB,GAC5B,SAAS,MAAM,EACf,cAAc,MAAM,EACpB,aAAa,MAAM,WAkBtB,CAAC"}
@@ -1,20 +0,0 @@
1
- //#region src/forms/engine/buildGroupedMessage.ts
2
- var buildGroupLabel = (parentLabel, childLabel) => {
3
- if (parentLabel && childLabel) return `${parentLabel}: ${childLabel}`;
4
- return parentLabel || childLabel || "";
5
- };
6
- var ATTRIBUTE_MESSAGE_PATTERN = /^(.+?) (cannot be blank\.|must be .+)$/;
7
- var buildGroupedMessage = (message, parentLabel, childLabel) => {
8
- const groupLabel = buildGroupLabel(parentLabel, childLabel);
9
- if (!groupLabel) return message;
10
- const match = String(message).match(ATTRIBUTE_MESSAGE_PATTERN);
11
- if (match) {
12
- const [, attribute, suffix] = match;
13
- return `${buildGroupLabel(parentLabel, (childLabel && attribute !== childLabel ? attribute : childLabel) || attribute)} ${suffix}`;
14
- }
15
- return `${groupLabel} ${message}`;
16
- };
17
- //#endregion
18
- export { buildGroupedMessage };
19
-
20
- //# sourceMappingURL=buildGroupedMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildGroupedMessage.js","names":[],"sources":["../../../src/forms/engine/buildGroupedMessage.ts"],"sourcesContent":["const buildGroupLabel = (parentLabel?: string, childLabel?: string) => {\n if (parentLabel && childLabel) {\n return `${parentLabel}: ${childLabel}`;\n }\n\n return parentLabel || childLabel || '';\n};\n\n// Matches \"{attribute} cannot be blank.\" and similar validation messages\nconst ATTRIBUTE_MESSAGE_PATTERN = /^(.+?) (cannot be blank\\.|must be .+)$/;\n\nexport const buildGroupedMessage = (\n message: string,\n parentLabel?: string,\n childLabel?: string,\n) => {\n const groupLabel = buildGroupLabel(parentLabel, childLabel);\n if (!groupLabel) {\n return message;\n }\n\n const match = String(message).match(ATTRIBUTE_MESSAGE_PATTERN);\n if (match) {\n const [, attribute, suffix] = match;\n // Use attribute in groupLabel (fixes \"label\" -> \"Option Label\") and only append suffix\n // to avoid \"Options: Option Label Option Label cannot be blank.\"\n const displayLabel = (childLabel && attribute !== childLabel) ? attribute : childLabel;\n const finalGroupLabel = buildGroupLabel(parentLabel, displayLabel || attribute);\n return `${finalGroupLabel} ${suffix}`;\n }\n\n return `${groupLabel} ${message}`;\n};\n"],"mappings":";AAAA,IAAM,mBAAmB,aAAsB,eAAwB;AACnE,KAAI,eAAe,WACf,QAAO,GAAG,YAAY,IAAI;AAG9B,QAAO,eAAe,cAAc;;AAIxC,IAAM,4BAA4B;AAElC,IAAa,uBACT,SACA,aACA,eACC;CACD,MAAM,aAAa,gBAAgB,aAAa,WAAW;AAC3D,KAAI,CAAC,WACD,QAAO;CAGX,MAAM,QAAQ,OAAO,QAAQ,CAAC,MAAM,0BAA0B;AAC9D,KAAI,OAAO;EACP,MAAM,GAAG,WAAW,UAAU;AAK9B,SAAO,GADiB,gBAAgB,cADlB,cAAc,cAAc,aAAc,YAAY,eACP,UAC3D,CAAgB,GAAG;;AAGjC,QAAO,GAAG,WAAW,GAAG"}
@@ -1,2 +0,0 @@
1
- export declare const emailRule: (value: unknown, label: string) => string | null;
2
- //# sourceMappingURL=email.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../../src/forms/engine/rules/email.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,EAAE,OAAO,MAAM,kBAKtD,CAAC"}
@@ -1,11 +0,0 @@
1
- import { translate } from "../../../utils/translation.js";
2
- //#region src/forms/engine/rules/email.ts
3
- var emailRegex = /(^$|^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$)/;
4
- var emailRule = (value, label) => {
5
- if (!emailRegex.test(String(value))) return translate("{attribute} must be a valid email address.", { attribute: label });
6
- return null;
7
- };
8
- //#endregion
9
- export { emailRule };
10
-
11
- //# sourceMappingURL=email.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email.js","names":[],"sources":["../../../../src/forms/engine/rules/email.ts"],"sourcesContent":["import { translate } from '@verbb/plugin-kit-react/utils/translation';\n\nconst emailRegex = /(^$|^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$)/;\n\nexport const emailRule = (value: unknown, label: string) => {\n if (!emailRegex.test(String(value))) {\n return translate('{attribute} must be a valid email address.', { attribute: label });\n }\n return null;\n};\n"],"mappings":";;AAEA,IAAM,aAAa;AAEnB,IAAa,aAAa,OAAgB,UAAkB;AACxD,KAAI,CAAC,WAAW,KAAK,OAAO,MAAM,CAAC,CAC/B,QAAO,UAAU,8CAA8C,EAAE,WAAW,OAAO,CAAC;AAExF,QAAO"}
@@ -1,2 +0,0 @@
1
- export declare const emailOrVariableRule: (value: unknown, label: string) => string | null;
2
- //# sourceMappingURL=emailOrVariable.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emailOrVariable.d.ts","sourceRoot":"","sources":["../../../../src/forms/engine/rules/emailOrVariable.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mBAAmB,GAAI,OAAO,OAAO,EAAE,OAAO,MAAM,kBAMhE,CAAC"}
@@ -1,13 +0,0 @@
1
- import { translate } from "../../../utils/translation.js";
2
- //#region src/forms/engine/rules/emailOrVariable.ts
3
- var emailRegex = /(^$|^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$)/;
4
- var variableRegex = /({.*?})/;
5
- var emailOrVariableRule = (value, label) => {
6
- const text = String(value);
7
- if (!variableRegex.test(text) && !emailRegex.test(text)) return translate("{attribute} must be a valid email address or variable.", { attribute: label });
8
- return null;
9
- };
10
- //#endregion
11
- export { emailOrVariableRule };
12
-
13
- //# sourceMappingURL=emailOrVariable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"emailOrVariable.js","names":[],"sources":["../../../../src/forms/engine/rules/emailOrVariable.ts"],"sourcesContent":["import { translate } from '@verbb/plugin-kit-react/utils/translation';\n\nconst emailRegex = /(^$|^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$)/;\nconst variableRegex = /({.*?})/;\n\nexport const emailOrVariableRule = (value: unknown, label: string) => {\n const text = String(value);\n if (!variableRegex.test(text) && !emailRegex.test(text)) {\n return translate('{attribute} must be a valid email address or variable.', { attribute: label });\n }\n return null;\n};\n"],"mappings":";;AAEA,IAAM,aAAa;AACnB,IAAM,gBAAgB;AAEtB,IAAa,uBAAuB,OAAgB,UAAkB;CAClE,MAAM,OAAO,OAAO,MAAM;AAC1B,KAAI,CAAC,cAAc,KAAK,KAAK,IAAI,CAAC,WAAW,KAAK,KAAK,CACnD,QAAO,UAAU,0DAA0D,EAAE,WAAW,OAAO,CAAC;AAEpG,QAAO"}
@@ -1,2 +0,0 @@
1
- export declare const handleRule: (value: unknown) => string | null;
2
- //# sourceMappingURL=handle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handle.d.ts","sourceRoot":"","sources":["../../../../src/forms/engine/rules/handle.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,kBAQxC,CAAC"}
@@ -1,12 +0,0 @@
1
- import { translate } from "../../../utils/translation.js";
2
- //#region src/forms/engine/rules/handle.ts
3
- var handleRegex = /^[a-zA-Z][a-zA-Z0-9_]*$/;
4
- var handleRule = (value) => {
5
- const handle = String(value ?? "");
6
- if (!handleRegex.test(handle)) return translate("“{handle}” isn’t a valid handle.", { handle });
7
- return null;
8
- };
9
- //#endregion
10
- export { handleRule };
11
-
12
- //# sourceMappingURL=handle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handle.js","names":[],"sources":["../../../../src/forms/engine/rules/handle.ts"],"sourcesContent":["import { translate } from '@verbb/plugin-kit-react/utils/translation';\n\nconst handleRegex = /^[a-zA-Z][a-zA-Z0-9_]*$/;\n\nexport const handleRule = (value: unknown) => {\n const handle = String(value ?? '');\n\n if (!handleRegex.test(handle)) {\n return translate('“{handle}” isn’t a valid handle.', { handle });\n }\n\n return null;\n};\n"],"mappings":";;AAEA,IAAM,cAAc;AAEpB,IAAa,cAAc,UAAmB;CAC1C,MAAM,SAAS,OAAO,SAAS,GAAG;AAElC,KAAI,CAAC,YAAY,KAAK,OAAO,CACzB,QAAO,UAAU,oCAAoC,EAAE,QAAQ,CAAC;AAGpE,QAAO"}
@@ -1,9 +0,0 @@
1
- import { SchemaNode } from '../SchemaIndex';
2
- export type RuleHandlerContext = {
3
- path: string;
4
- values: Record<string, unknown>;
5
- field: SchemaNode;
6
- };
7
- export type RuleHandler = (value: unknown, label: string, args: string[], context?: RuleHandlerContext) => string | null;
8
- export declare const ruleHandlers: Record<string, RuleHandler>;
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/forms/engine/rules/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,kBAAkB,KAAK,MAAM,GAAG,IAAI,CAAC;AAEzH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAQpD,CAAC"}
@@ -1,35 +0,0 @@
1
- import { emailRule } from "./email.js";
2
- import { emailOrVariableRule } from "./emailOrVariable.js";
3
- import { handleRule } from "./handle.js";
4
- import { maxRule } from "./max.js";
5
- import { minRule } from "./min.js";
6
- import { requiredRule } from "./required.js";
7
- import { uniqueHandleRule } from "./uniqueHandle.js";
8
- //#region src/forms/engine/rules/index.ts
9
- var ruleHandlers = {
10
- required: (value, label) => {
11
- return requiredRule(value, label);
12
- },
13
- min: (value, label, args) => {
14
- return minRule(value, label, args);
15
- },
16
- max: (value, label, args) => {
17
- return maxRule(value, label, args);
18
- },
19
- email: (value, label) => {
20
- return emailRule(value, label);
21
- },
22
- emailOrVariable: (value, label) => {
23
- return emailOrVariableRule(value, label);
24
- },
25
- handle: (value) => {
26
- return handleRule(value);
27
- },
28
- uniqueHandle: (value, label, args, context) => {
29
- return uniqueHandleRule(value, label, args, context);
30
- }
31
- };
32
- //#endregion
33
- export { ruleHandlers };
34
-
35
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../src/forms/engine/rules/index.ts"],"sourcesContent":["import { emailRule } from './email';\nimport { emailOrVariableRule } from './emailOrVariable';\nimport { handleRule } from './handle';\nimport { maxRule } from './max';\nimport { minRule } from './min';\nimport { requiredRule } from './required';\nimport { uniqueHandleRule } from './uniqueHandle';\n\nimport type { SchemaNode } from '../SchemaIndex';\n\nexport type RuleHandlerContext = {\n path: string;\n values: Record<string, unknown>;\n field: SchemaNode;\n};\n\nexport type RuleHandler = (value: unknown, label: string, args: string[], context?: RuleHandlerContext) => string | null;\n\nexport const ruleHandlers: Record<string, RuleHandler> = {\n required: (value, label) => { return requiredRule(value, label); },\n min: (value, label, args) => { return minRule(value, label, args); },\n max: (value, label, args) => { return maxRule(value, label, args); },\n email: (value, label) => { return emailRule(value, label); },\n emailOrVariable: (value, label) => { return emailOrVariableRule(value, label); },\n handle: (value) => { return handleRule(value); },\n uniqueHandle: (value, label, args, context) => { return uniqueHandleRule(value, label, args, context); },\n};\n"],"mappings":";;;;;;;;AAkBA,IAAa,eAA4C;CACrD,WAAW,OAAO,UAAU;AAAE,SAAO,aAAa,OAAO,MAAM;;CAC/D,MAAM,OAAO,OAAO,SAAS;AAAE,SAAO,QAAQ,OAAO,OAAO,KAAK;;CACjE,MAAM,OAAO,OAAO,SAAS;AAAE,SAAO,QAAQ,OAAO,OAAO,KAAK;;CACjE,QAAQ,OAAO,UAAU;AAAE,SAAO,UAAU,OAAO,MAAM;;CACzD,kBAAkB,OAAO,UAAU;AAAE,SAAO,oBAAoB,OAAO,MAAM;;CAC7E,SAAS,UAAU;AAAE,SAAO,WAAW,MAAM;;CAC7C,eAAe,OAAO,OAAO,MAAM,YAAY;AAAE,SAAO,iBAAiB,OAAO,OAAO,MAAM,QAAQ;;CACxG"}
@@ -1,2 +0,0 @@
1
- export declare const maxRule: (value: unknown, label: string, args: string[]) => string | null;
2
- //# sourceMappingURL=max.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"max.d.ts","sourceRoot":"","sources":["../../../../src/forms/engine/rules/max.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,EAAE,OAAO,MAAM,EAAE,MAAM,MAAM,EAAE,kBAOpE,CAAC"}
@@ -1,16 +0,0 @@
1
- import { translate } from "../../../utils/translation.js";
2
- import { getValueSize } from "./utils.js";
3
- //#region src/forms/engine/rules/max.ts
4
- var maxRule = (value, label, args) => {
5
- const max = Number(args[0]);
6
- const size = getValueSize(value);
7
- if (!Number.isFinite(size) || size > max) return translate("{attribute} must be at most {max}.", {
8
- attribute: label,
9
- max: String(args[0])
10
- });
11
- return null;
12
- };
13
- //#endregion
14
- export { maxRule };
15
-
16
- //# sourceMappingURL=max.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"max.js","names":[],"sources":["../../../../src/forms/engine/rules/max.ts"],"sourcesContent":["import { translate } from '@verbb/plugin-kit-react/utils/translation';\nimport { getValueSize } from './utils';\n\nexport const maxRule = (value: unknown, label: string, args: string[]) => {\n const max = Number(args[0]);\n const size = getValueSize(value);\n if (!Number.isFinite(size) || size > max) {\n return translate('{attribute} must be at most {max}.', { attribute: label, max: String(args[0]) });\n }\n return null;\n};\n"],"mappings":";;;AAGA,IAAa,WAAW,OAAgB,OAAe,SAAmB;CACtE,MAAM,MAAM,OAAO,KAAK,GAAG;CAC3B,MAAM,OAAO,aAAa,MAAM;AAChC,KAAI,CAAC,OAAO,SAAS,KAAK,IAAI,OAAO,IACjC,QAAO,UAAU,sCAAsC;EAAE,WAAW;EAAO,KAAK,OAAO,KAAK,GAAG;EAAE,CAAC;AAEtG,QAAO"}
@@ -1,2 +0,0 @@
1
- export declare const minRule: (value: unknown, label: string, args: string[]) => string | null;
2
- //# sourceMappingURL=min.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"min.d.ts","sourceRoot":"","sources":["../../../../src/forms/engine/rules/min.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,EAAE,OAAO,MAAM,EAAE,MAAM,MAAM,EAAE,kBAOpE,CAAC"}
@@ -1,16 +0,0 @@
1
- import { translate } from "../../../utils/translation.js";
2
- import { getValueSize } from "./utils.js";
3
- //#region src/forms/engine/rules/min.ts
4
- var minRule = (value, label, args) => {
5
- const min = Number(args[0]);
6
- const size = getValueSize(value);
7
- if (!Number.isFinite(size) || size < min) return translate("{attribute} must be at least {min}.", {
8
- attribute: label,
9
- min: String(args[0])
10
- });
11
- return null;
12
- };
13
- //#endregion
14
- export { minRule };
15
-
16
- //# sourceMappingURL=min.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"min.js","names":[],"sources":["../../../../src/forms/engine/rules/min.ts"],"sourcesContent":["import { translate } from '@verbb/plugin-kit-react/utils/translation';\nimport { getValueSize } from './utils';\n\nexport const minRule = (value: unknown, label: string, args: string[]) => {\n const min = Number(args[0]);\n const size = getValueSize(value);\n if (!Number.isFinite(size) || size < min) {\n return translate('{attribute} must be at least {min}.', { attribute: label, min: String(args[0]) });\n }\n return null;\n};\n"],"mappings":";;;AAGA,IAAa,WAAW,OAAgB,OAAe,SAAmB;CACtE,MAAM,MAAM,OAAO,KAAK,GAAG;CAC3B,MAAM,OAAO,aAAa,MAAM;AAChC,KAAI,CAAC,OAAO,SAAS,KAAK,IAAI,OAAO,IACjC,QAAO,UAAU,uCAAuC;EAAE,WAAW;EAAO,KAAK,OAAO,KAAK,GAAG;EAAE,CAAC;AAEvG,QAAO"}
@@ -1,2 +0,0 @@
1
- export declare const requiredRule: (value: unknown, label: string) => string | null;
2
- //# sourceMappingURL=required.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"required.d.ts","sourceRoot":"","sources":["../../../../src/forms/engine/rules/required.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,EAAE,OAAO,MAAM,kBAKzD,CAAC"}
@@ -1,11 +0,0 @@
1
- import { translate } from "../../../utils/translation.js";
2
- import { isEmptyValue } from "./utils.js";
3
- //#region src/forms/engine/rules/required.ts
4
- var requiredRule = (value, label) => {
5
- if (isEmptyValue(value)) return translate("{attribute} cannot be blank.", { attribute: label });
6
- return null;
7
- };
8
- //#endregion
9
- export { requiredRule };
10
-
11
- //# sourceMappingURL=required.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"required.js","names":[],"sources":["../../../../src/forms/engine/rules/required.ts"],"sourcesContent":["import { translate } from '@verbb/plugin-kit-react/utils/translation';\nimport { isEmptyValue } from './utils';\n\nexport const requiredRule = (value: unknown, label: string) => {\n if (isEmptyValue(value)) {\n return translate('{attribute} cannot be blank.', { attribute: label });\n }\n return null;\n};\n"],"mappings":";;;AAGA,IAAa,gBAAgB,OAAgB,UAAkB;AAC3D,KAAI,aAAa,MAAM,CACnB,QAAO,UAAU,gCAAgC,EAAE,WAAW,OAAO,CAAC;AAE1E,QAAO"}
@@ -1,9 +0,0 @@
1
- import { SchemaNode } from '../SchemaIndex';
2
- type RuleContext = {
3
- path: string;
4
- values: Record<string, unknown>;
5
- field: SchemaNode;
6
- };
7
- export declare const uniqueHandleRule: (value: unknown, label: string, args: string[], context?: RuleContext) => string | null;
8
- export {};
9
- //# sourceMappingURL=uniqueHandle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uniqueHandle.d.ts","sourceRoot":"","sources":["../../../../src/forms/engine/rules/uniqueHandle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,KAAK,WAAW,GAAG;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,EAAE,UAAU,CAAC;CACrB,CAAC;AA+HF,eAAO,MAAM,gBAAgB,GAAI,OAAO,OAAO,EAAE,OAAO,MAAM,EAAE,MAAM,MAAM,EAAE,EAAE,UAAU,WAAW,kBAmCpG,CAAC"}
@@ -1,95 +0,0 @@
1
- import { translate } from "../../../utils/translation.js";
2
- import { get } from "lodash-es";
3
- //#region src/forms/engine/rules/uniqueHandle.ts
4
- var isRecord = (value) => {
5
- return Boolean(value) && typeof value === "object" && !Array.isArray(value);
6
- };
7
- var getHandleValue = (value) => {
8
- if (!isRecord(value)) return "";
9
- const settings = isRecord(value.settings) ? value.settings : {};
10
- return String(value.handle || settings.handle || "").trim();
11
- };
12
- var collectTopLevelFieldHandles = (values) => {
13
- const entries = [];
14
- (Array.isArray(values?.pages) ? values.pages : []).forEach((page, pageIndex) => {
15
- (Array.isArray(page?.rows) ? page.rows : []).forEach((row, rowIndex) => {
16
- (Array.isArray(row?.fields) ? row.fields : []).forEach((field, fieldIndex) => {
17
- const handle = getHandleValue(field);
18
- if (!handle) return;
19
- entries.push({
20
- path: `pages.${pageIndex}.rows.${rowIndex}.fields.${fieldIndex}.handle`,
21
- handle
22
- });
23
- });
24
- });
25
- });
26
- return entries;
27
- };
28
- var collectNestedFieldHandles = (values, parentFieldPath) => {
29
- const entries = [];
30
- const rows = get(values, `${parentFieldPath}.rows`, []);
31
- (Array.isArray(rows) ? rows : []).forEach((row, nestedRowIndex) => {
32
- (Array.isArray(row?.fields) ? row.fields : []).forEach((field, nestedFieldIndex) => {
33
- const handle = getHandleValue(field);
34
- if (!handle) return;
35
- entries.push({
36
- path: `${parentFieldPath}.rows.${nestedRowIndex}.fields.${nestedFieldIndex}.handle`,
37
- handle
38
- });
39
- });
40
- });
41
- return entries;
42
- };
43
- var collectNotificationHandles = (values) => {
44
- const entries = [];
45
- (Array.isArray(values?.notifications) ? values.notifications : []).forEach((notification, index) => {
46
- const handle = String(notification?.handle || "").trim();
47
- if (!handle) return;
48
- entries.push({
49
- path: `notifications.${index}.handle`,
50
- handle
51
- });
52
- });
53
- return entries;
54
- };
55
- var getScopedHandleEntries = (context) => {
56
- const { path, values } = context;
57
- const explicitScope = context?.field?.uniqueHandleScope;
58
- if (explicitScope === "topLevelFields") return collectTopLevelFieldHandles(values);
59
- if (explicitScope === "notifications") return collectNotificationHandles(values);
60
- if (explicitScope === "nestedSiblings") {
61
- const parentFieldPath = context?.field?.uniqueHandleScopePath;
62
- if (typeof parentFieldPath === "string" && parentFieldPath.trim() !== "") return collectNestedFieldHandles(values, parentFieldPath);
63
- }
64
- const nestedMatch = path.match(/^(pages\.\d+\.rows\.\d+\.fields\.\d+(?:\.rows\.\d+\.fields\.\d+)*)\.rows\.\d+\.fields\.\d+\.handle$/);
65
- if (nestedMatch) {
66
- const [, parentFieldPath] = nestedMatch;
67
- return collectNestedFieldHandles(values, parentFieldPath);
68
- }
69
- if (/^pages\.\d+\.rows\.\d+\.fields\.\d+\.handle$/.test(path)) return collectTopLevelFieldHandles(values);
70
- if (/^notifications\.\d+\.handle$/.test(path)) return collectNotificationHandles(values);
71
- return [];
72
- };
73
- var uniqueHandleRule = (value, label, args, context) => {
74
- if (!context?.path || !context?.values) return null;
75
- const handle = String(value ?? "").trim();
76
- if (!handle) return null;
77
- const entries = getScopedHandleEntries(context);
78
- const normalizedHandle = handle.toLowerCase();
79
- const scopedDuplicate = entries.some((entry) => {
80
- if (entry.path === context.path) return false;
81
- return entry.handle.toLowerCase() === normalizedHandle;
82
- });
83
- const reservedDuplicate = (Array.isArray(context.field?.reservedHandles) ? context.field.reservedHandles : []).some((reservedHandle) => {
84
- return String(reservedHandle || "").toLowerCase() === normalizedHandle;
85
- });
86
- if (!(scopedDuplicate || reservedDuplicate)) return null;
87
- return translate("{attribute} \"{value}\" has already been taken.", {
88
- attribute: label,
89
- value: handle
90
- });
91
- };
92
- //#endregion
93
- export { uniqueHandleRule };
94
-
95
- //# sourceMappingURL=uniqueHandle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"uniqueHandle.js","names":[],"sources":["../../../../src/forms/engine/rules/uniqueHandle.ts"],"sourcesContent":["import { get } from 'lodash-es';\nimport { translate } from '@verbb/plugin-kit-react/utils/translation';\nimport type { SchemaNode } from '../SchemaIndex';\n\ntype RuleContext = {\n path: string;\n values: Record<string, unknown>;\n field: SchemaNode;\n};\n\ntype HandleEntry = {\n path: string;\n handle: string;\n};\n\nconst isRecord = (value: unknown): value is Record<string, unknown> => {\n return Boolean(value) && typeof value === 'object' && !Array.isArray(value);\n};\n\nconst getHandleValue = (value: unknown) => {\n if (!isRecord(value)) {\n return '';\n }\n\n const settings = isRecord(value.settings) ? value.settings : {};\n return String(value.handle || settings.handle || '').trim();\n};\n\nconst collectTopLevelFieldHandles = (values: Record<string, unknown>) => {\n const entries: HandleEntry[] = [];\n const pages = Array.isArray(values?.pages) ? values.pages : [];\n\n pages.forEach((page, pageIndex) => {\n const rows = Array.isArray(page?.rows) ? page.rows : [];\n\n rows.forEach((row, rowIndex) => {\n const fields = Array.isArray(row?.fields) ? row.fields : [];\n\n fields.forEach((field, fieldIndex) => {\n const handle = getHandleValue(field);\n if (!handle) {\n return;\n }\n\n entries.push({\n path: `pages.${pageIndex}.rows.${rowIndex}.fields.${fieldIndex}.handle`,\n handle,\n });\n });\n });\n });\n\n return entries;\n};\n\nconst collectNestedFieldHandles = (values: Record<string, unknown>, parentFieldPath: string) => {\n const entries: HandleEntry[] = [];\n const rows = get(values, `${parentFieldPath}.rows`, []);\n const nestedRows = Array.isArray(rows) ? rows : [];\n\n nestedRows.forEach((row, nestedRowIndex) => {\n const fields = Array.isArray(row?.fields) ? row.fields : [];\n\n fields.forEach((field, nestedFieldIndex) => {\n const handle = getHandleValue(field);\n if (!handle) {\n return;\n }\n\n entries.push({\n path: `${parentFieldPath}.rows.${nestedRowIndex}.fields.${nestedFieldIndex}.handle`,\n handle,\n });\n });\n });\n\n return entries;\n};\n\nconst collectNotificationHandles = (values: Record<string, unknown>) => {\n const entries: HandleEntry[] = [];\n const notifications = Array.isArray(values?.notifications) ? values.notifications : [];\n\n notifications.forEach((notification, index) => {\n const handle = String(notification?.handle || '').trim();\n if (!handle) {\n return;\n }\n\n entries.push({\n path: `notifications.${index}.handle`,\n handle,\n });\n });\n\n return entries;\n};\n\nconst getScopedHandleEntries = (context: RuleContext) => {\n const { path, values } = context;\n const explicitScope = context?.field?.uniqueHandleScope;\n\n if (explicitScope === 'topLevelFields') {\n return collectTopLevelFieldHandles(values);\n }\n\n if (explicitScope === 'notifications') {\n return collectNotificationHandles(values);\n }\n\n if (explicitScope === 'nestedSiblings') {\n const parentFieldPath = context?.field?.uniqueHandleScopePath;\n\n if (typeof parentFieldPath === 'string' && parentFieldPath.trim() !== '') {\n return collectNestedFieldHandles(values, parentFieldPath);\n }\n }\n\n const nestedMatch = path.match(/^(pages\\.\\d+\\.rows\\.\\d+\\.fields\\.\\d+(?:\\.rows\\.\\d+\\.fields\\.\\d+)*)\\.rows\\.\\d+\\.fields\\.\\d+\\.handle$/);\n if (nestedMatch) {\n const [, parentFieldPath] = nestedMatch;\n return collectNestedFieldHandles(values, parentFieldPath);\n }\n\n if (/^pages\\.\\d+\\.rows\\.\\d+\\.fields\\.\\d+\\.handle$/.test(path)) {\n return collectTopLevelFieldHandles(values);\n }\n\n if (/^notifications\\.\\d+\\.handle$/.test(path)) {\n return collectNotificationHandles(values);\n }\n\n return [];\n};\n\nexport const uniqueHandleRule = (value: unknown, label: string, args: string[], context?: RuleContext) => {\n if (!context?.path || !context?.values) {\n return null;\n }\n\n const handle = String(value ?? '').trim();\n if (!handle) {\n return null;\n }\n\n const entries = getScopedHandleEntries(context);\n const normalizedHandle = handle.toLowerCase();\n const scopedDuplicate = entries.some((entry) => {\n if (entry.path === context.path) {\n return false;\n }\n\n return entry.handle.toLowerCase() === normalizedHandle;\n });\n\n const reservedHandles = Array.isArray(context.field?.reservedHandles) ? context.field.reservedHandles : [];\n const reservedDuplicate = reservedHandles.some((reservedHandle) => {\n return String(reservedHandle || '').toLowerCase() === normalizedHandle;\n });\n\n const duplicate = scopedDuplicate || reservedDuplicate;\n\n if (!duplicate) {\n return null;\n }\n\n return translate('{attribute} \"{value}\" has already been taken.', {\n attribute: label,\n value: handle,\n });\n};\n"],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export declare const isEmptyValue: (value: unknown) => boolean;
2
- export declare const getValueSize: (value: unknown) => number;
3
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/forms/engine/rules/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,YAc1C,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,WAmB1C,CAAC"}
@@ -1,21 +0,0 @@
1
- //#region src/forms/engine/rules/utils.ts
2
- var isEmptyValue = (value) => {
3
- if (value === void 0 || value === null) return true;
4
- if (typeof value === "string") return value === "";
5
- if (Array.isArray(value)) return value.length === 0;
6
- return false;
7
- };
8
- var getValueSize = (value) => {
9
- if (typeof value === "number") return value;
10
- if (typeof value === "string") {
11
- const trimmed = value.trim();
12
- if (trimmed !== "" && Number.isFinite(Number(trimmed))) return Number(trimmed);
13
- return value.length;
14
- }
15
- if (Array.isArray(value)) return value.length;
16
- return NaN;
17
- };
18
- //#endregion
19
- export { getValueSize, isEmptyValue };
20
-
21
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","names":[],"sources":["../../../../src/forms/engine/rules/utils.ts"],"sourcesContent":["export const isEmptyValue = (value: unknown) => {\n if (value === undefined || value === null) {\n return true;\n }\n\n if (typeof value === 'string') {\n return value === '';\n }\n\n if (Array.isArray(value)) {\n return value.length === 0;\n }\n\n return false;\n};\n\nexport const getValueSize = (value: unknown) => {\n if (typeof value === 'number') {\n return value;\n }\n\n if (typeof value === 'string') {\n const trimmed = value.trim();\n if (trimmed !== '' && Number.isFinite(Number(trimmed))) {\n return Number(trimmed);\n }\n\n return value.length;\n }\n\n if (Array.isArray(value)) {\n return value.length;\n }\n\n return NaN;\n};\n"],"mappings":";AAAA,IAAa,gBAAgB,UAAmB;AAC5C,KAAI,UAAU,KAAA,KAAa,UAAU,KACjC,QAAO;AAGX,KAAI,OAAO,UAAU,SACjB,QAAO,UAAU;AAGrB,KAAI,MAAM,QAAQ,MAAM,CACpB,QAAO,MAAM,WAAW;AAG5B,QAAO;;AAGX,IAAa,gBAAgB,UAAmB;AAC5C,KAAI,OAAO,UAAU,SACjB,QAAO;AAGX,KAAI,OAAO,UAAU,UAAU;EAC3B,MAAM,UAAU,MAAM,MAAM;AAC5B,MAAI,YAAY,MAAM,OAAO,SAAS,OAAO,QAAQ,CAAC,CAClD,QAAO,OAAO,QAAQ;AAG1B,SAAO,MAAM;;AAGjB,KAAI,MAAM,QAAQ,MAAM,CACpB,QAAO,MAAM;AAGjB,QAAO"}