@axdspub/axiom-ui-forms 0.2.7 → 0.2.9

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 (416) hide show
  1. package/library/axiom-ui-forms.d.ts +55 -6
  2. package/library/esm/_virtual/formats.js +4 -0
  3. package/library/esm/_virtual/formats.js.map +1 -0
  4. package/library/esm/_virtual/index.js +6 -2
  5. package/library/esm/_virtual/index.js.map +1 -1
  6. package/library/esm/_virtual/index10.js +2 -2
  7. package/library/esm/_virtual/index11.js +2 -2
  8. package/library/esm/_virtual/index12.js +6 -2
  9. package/library/esm/_virtual/index12.js.map +1 -1
  10. package/library/esm/_virtual/index13.js +8 -0
  11. package/library/esm/_virtual/index13.js.map +1 -0
  12. package/library/esm/_virtual/index14.js +4 -0
  13. package/library/esm/_virtual/index14.js.map +1 -0
  14. package/library/esm/_virtual/index15.js +4 -0
  15. package/library/esm/_virtual/index15.js.map +1 -0
  16. package/library/esm/_virtual/index16.js +4 -0
  17. package/library/esm/_virtual/index16.js.map +1 -0
  18. package/library/esm/_virtual/index17.js +4 -0
  19. package/library/esm/_virtual/index17.js.map +1 -0
  20. package/library/esm/_virtual/index2.js +2 -2
  21. package/library/esm/_virtual/index4.js +2 -2
  22. package/library/esm/_virtual/index4.js.map +1 -1
  23. package/library/esm/_virtual/index5.js +2 -2
  24. package/library/esm/_virtual/index6.js +2 -2
  25. package/library/esm/_virtual/index6.js.map +1 -1
  26. package/library/esm/_virtual/index7.js +2 -2
  27. package/library/esm/_virtual/index8.js +2 -2
  28. package/library/esm/_virtual/limit.js +4 -0
  29. package/library/esm/_virtual/limit.js.map +1 -0
  30. package/library/esm/_virtual/utilities.js +4 -0
  31. package/library/esm/_virtual/utilities.js.map +1 -0
  32. package/library/esm/node_modules/@axdspub/axiom-ui-utilities/library/index.js +241 -9
  33. package/library/esm/node_modules/@axdspub/axiom-ui-utilities/library/index.js.map +1 -1
  34. package/library/esm/node_modules/@babel/runtime/helpers/esm/extends.js +12 -0
  35. package/library/esm/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -0
  36. package/library/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +12 -0
  37. package/library/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -0
  38. package/library/esm/node_modules/@codemirror/autocomplete/dist/index.js +1652 -0
  39. package/library/esm/node_modules/@codemirror/autocomplete/dist/index.js.map +1 -0
  40. package/library/esm/node_modules/@codemirror/commands/dist/index.js +1444 -0
  41. package/library/esm/node_modules/@codemirror/commands/dist/index.js.map +1 -0
  42. package/library/esm/node_modules/@codemirror/lang-json/dist/index.js +33 -0
  43. package/library/esm/node_modules/@codemirror/lang-json/dist/index.js.map +1 -0
  44. package/library/esm/node_modules/@codemirror/lang-yaml/dist/index.js +59 -0
  45. package/library/esm/node_modules/@codemirror/lang-yaml/dist/index.js.map +1 -0
  46. package/library/esm/node_modules/@codemirror/language/dist/index.js +1821 -0
  47. package/library/esm/node_modules/@codemirror/language/dist/index.js.map +1 -0
  48. package/library/esm/node_modules/@codemirror/lint/dist/index.js +589 -0
  49. package/library/esm/node_modules/@codemirror/lint/dist/index.js.map +1 -0
  50. package/library/esm/node_modules/@codemirror/search/dist/index.js +1227 -0
  51. package/library/esm/node_modules/@codemirror/search/dist/index.js.map +1 -0
  52. package/library/esm/node_modules/@codemirror/state/dist/index.js +3882 -0
  53. package/library/esm/node_modules/@codemirror/state/dist/index.js.map +1 -0
  54. package/library/esm/node_modules/@codemirror/theme-one-dark/dist/index.js +114 -0
  55. package/library/esm/node_modules/@codemirror/theme-one-dark/dist/index.js.map +1 -0
  56. package/library/esm/node_modules/@codemirror/view/dist/index.js +11052 -0
  57. package/library/esm/node_modules/@codemirror/view/dist/index.js.map +1 -0
  58. package/library/esm/node_modules/@lezer/common/dist/index.js +1704 -0
  59. package/library/esm/node_modules/@lezer/common/dist/index.js.map +1 -0
  60. package/library/esm/node_modules/@lezer/highlight/dist/index.js +876 -0
  61. package/library/esm/node_modules/@lezer/highlight/dist/index.js.map +1 -0
  62. package/library/esm/node_modules/@lezer/json/dist/index.js +38 -0
  63. package/library/esm/node_modules/@lezer/json/dist/index.js.map +1 -0
  64. package/library/esm/node_modules/@lezer/lr/dist/index.js +1855 -0
  65. package/library/esm/node_modules/@lezer/lr/dist/index.js.map +1 -0
  66. package/library/esm/node_modules/@lezer/yaml/dist/index.js +392 -0
  67. package/library/esm/node_modules/@lezer/yaml/dist/index.js.map +1 -0
  68. package/library/esm/node_modules/@marijn/find-cluster-break/src/index.js +83 -0
  69. package/library/esm/node_modules/@marijn/find-cluster-break/src/index.js.map +1 -0
  70. package/library/esm/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js +67 -1
  71. package/library/esm/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js.map +1 -1
  72. package/library/esm/node_modules/@uiw/codemirror-extensions-basic-setup/esm/index.js +100 -0
  73. package/library/esm/node_modules/@uiw/codemirror-extensions-basic-setup/esm/index.js.map +1 -0
  74. package/library/esm/node_modules/@uiw/react-codemirror/esm/getDefaultExtensions.js +58 -0
  75. package/library/esm/node_modules/@uiw/react-codemirror/esm/getDefaultExtensions.js.map +1 -0
  76. package/library/esm/node_modules/@uiw/react-codemirror/esm/index.js +89 -0
  77. package/library/esm/node_modules/@uiw/react-codemirror/esm/index.js.map +1 -0
  78. package/library/esm/node_modules/@uiw/react-codemirror/esm/theme/light.js +12 -0
  79. package/library/esm/node_modules/@uiw/react-codemirror/esm/theme/light.js.map +1 -0
  80. package/library/esm/node_modules/@uiw/react-codemirror/esm/useCodeMirror.js +151 -0
  81. package/library/esm/node_modules/@uiw/react-codemirror/esm/useCodeMirror.js.map +1 -0
  82. package/library/esm/node_modules/@uiw/react-codemirror/esm/utils.js +19 -0
  83. package/library/esm/node_modules/@uiw/react-codemirror/esm/utils.js.map +1 -0
  84. package/library/esm/node_modules/@ungap/structured-clone/esm/deserialize.js +77 -0
  85. package/library/esm/node_modules/@ungap/structured-clone/esm/deserialize.js.map +1 -0
  86. package/library/esm/node_modules/@ungap/structured-clone/esm/index.js +25 -0
  87. package/library/esm/node_modules/@ungap/structured-clone/esm/index.js.map +1 -0
  88. package/library/esm/node_modules/@ungap/structured-clone/esm/serialize.js +159 -0
  89. package/library/esm/node_modules/@ungap/structured-clone/esm/serialize.js.map +1 -0
  90. package/library/esm/node_modules/@ungap/structured-clone/esm/types.js +14 -0
  91. package/library/esm/node_modules/@ungap/structured-clone/esm/types.js.map +1 -0
  92. package/library/esm/node_modules/ajv/dist/compile/codegen/index.js +1 -1
  93. package/library/esm/node_modules/ajv/dist/compile/index.js +1 -1
  94. package/library/esm/node_modules/ajv/dist/vocabularies/applicator/index.js +1 -1
  95. package/library/esm/node_modules/ajv/dist/vocabularies/core/index.js +1 -1
  96. package/library/esm/node_modules/ajv/dist/vocabularies/discriminator/index.js +1 -1
  97. package/library/esm/node_modules/ajv/dist/vocabularies/validation/index.js +1 -1
  98. package/library/esm/node_modules/ajv-formats/dist/formats.js +221 -0
  99. package/library/esm/node_modules/ajv-formats/dist/formats.js.map +1 -0
  100. package/library/esm/node_modules/ajv-formats/dist/index.js +53 -0
  101. package/library/esm/node_modules/ajv-formats/dist/index.js.map +1 -0
  102. package/library/esm/node_modules/ajv-formats/dist/limit.js +84 -0
  103. package/library/esm/node_modules/ajv-formats/dist/limit.js.map +1 -0
  104. package/library/esm/node_modules/bail/index.js +15 -0
  105. package/library/esm/node_modules/bail/index.js.map +1 -0
  106. package/library/esm/node_modules/comma-separated-tokens/index.js +37 -0
  107. package/library/esm/node_modules/comma-separated-tokens/index.js.map +1 -0
  108. package/library/esm/node_modules/crelt/index.js +30 -0
  109. package/library/esm/node_modules/crelt/index.js.map +1 -0
  110. package/library/esm/node_modules/decode-named-character-reference/index.dom.js +39 -0
  111. package/library/esm/node_modules/decode-named-character-reference/index.dom.js.map +1 -0
  112. package/library/esm/node_modules/devlop/lib/default.js +6 -0
  113. package/library/esm/node_modules/devlop/lib/default.js.map +1 -0
  114. package/library/esm/node_modules/estree-util-is-identifier-name/lib/index.js +31 -0
  115. package/library/esm/node_modules/estree-util-is-identifier-name/lib/index.js.map +1 -0
  116. package/library/esm/node_modules/extend/index.js +127 -0
  117. package/library/esm/node_modules/extend/index.js.map +1 -0
  118. package/library/esm/node_modules/fast-uri/index.js +1 -1
  119. package/library/esm/node_modules/hast-util-to-jsx-runtime/lib/index.js +791 -0
  120. package/library/esm/node_modules/hast-util-to-jsx-runtime/lib/index.js.map +1 -0
  121. package/library/esm/node_modules/hast-util-whitespace/lib/index.js +37 -0
  122. package/library/esm/node_modules/hast-util-whitespace/lib/index.js.map +1 -0
  123. package/library/esm/node_modules/html-url-attributes/lib/index.js +34 -0
  124. package/library/esm/node_modules/html-url-attributes/lib/index.js.map +1 -0
  125. package/library/esm/node_modules/inline-style-parser/index.js +268 -0
  126. package/library/esm/node_modules/inline-style-parser/index.js.map +1 -0
  127. package/library/esm/node_modules/js-yaml/dist/js-yaml.js +3850 -0
  128. package/library/esm/node_modules/js-yaml/dist/js-yaml.js.map +1 -0
  129. package/library/esm/node_modules/json-schema-traverse/index.js +1 -1
  130. package/library/esm/node_modules/mdast-util-from-markdown/lib/index.js +1181 -0
  131. package/library/esm/node_modules/mdast-util-from-markdown/lib/index.js.map +1 -0
  132. package/library/esm/node_modules/mdast-util-to-hast/lib/footer.js +197 -0
  133. package/library/esm/node_modules/mdast-util-to-hast/lib/footer.js.map +1 -0
  134. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/blockquote.js +31 -0
  135. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/blockquote.js.map +1 -0
  136. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/break.js +27 -0
  137. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/break.js.map +1 -0
  138. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/code.js +51 -0
  139. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/code.js.map +1 -0
  140. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/delete.js +31 -0
  141. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/delete.js.map +1 -0
  142. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/emphasis.js +31 -0
  143. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/emphasis.js.map +1 -0
  144. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js +74 -0
  145. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js.map +1 -0
  146. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/heading.js +31 -0
  147. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/heading.js.map +1 -0
  148. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/html.js +32 -0
  149. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/html.js.map +1 -0
  150. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/image-reference.js +45 -0
  151. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/image-reference.js.map +1 -0
  152. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/image.js +40 -0
  153. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/image.js.map +1 -0
  154. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/index.js +67 -0
  155. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/index.js.map +1 -0
  156. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/inline-code.js +36 -0
  157. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/inline-code.js.map +1 -0
  158. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/link-reference.js +50 -0
  159. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/link-reference.js.map +1 -0
  160. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/link.js +41 -0
  161. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/link.js.map +1 -0
  162. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/list-item.js +126 -0
  163. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/list-item.js.map +1 -0
  164. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/list.js +57 -0
  165. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/list.js.map +1 -0
  166. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/paragraph.js +31 -0
  167. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/paragraph.js.map +1 -0
  168. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/root.js +27 -0
  169. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/root.js.map +1 -0
  170. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/strong.js +31 -0
  171. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/strong.js.map +1 -0
  172. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/table-cell.js +33 -0
  173. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/table-cell.js.map +1 -0
  174. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/table-row.js +70 -0
  175. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/table-row.js.map +1 -0
  176. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/table.js +65 -0
  177. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/table.js.map +1 -0
  178. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/text.js +29 -0
  179. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/text.js.map +1 -0
  180. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js +31 -0
  181. package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js.map +1 -0
  182. package/library/esm/node_modules/mdast-util-to-hast/lib/index.js +105 -0
  183. package/library/esm/node_modules/mdast-util-to-hast/lib/index.js.map +1 -0
  184. package/library/esm/node_modules/mdast-util-to-hast/lib/revert.js +56 -0
  185. package/library/esm/node_modules/mdast-util-to-hast/lib/revert.js.map +1 -0
  186. package/library/esm/node_modules/mdast-util-to-hast/lib/state.js +322 -0
  187. package/library/esm/node_modules/mdast-util-to-hast/lib/state.js.map +1 -0
  188. package/library/esm/node_modules/mdast-util-to-string/lib/index.js +111 -0
  189. package/library/esm/node_modules/mdast-util-to-string/lib/index.js.map +1 -0
  190. package/library/esm/node_modules/micromark/lib/constructs.js +108 -0
  191. package/library/esm/node_modules/micromark/lib/constructs.js.map +1 -0
  192. package/library/esm/node_modules/micromark/lib/create-tokenizer.js +576 -0
  193. package/library/esm/node_modules/micromark/lib/create-tokenizer.js.map +1 -0
  194. package/library/esm/node_modules/micromark/lib/initialize/content.js +83 -0
  195. package/library/esm/node_modules/micromark/lib/initialize/content.js.map +1 -0
  196. package/library/esm/node_modules/micromark/lib/initialize/document.js +361 -0
  197. package/library/esm/node_modules/micromark/lib/initialize/document.js.map +1 -0
  198. package/library/esm/node_modules/micromark/lib/initialize/flow.js +62 -0
  199. package/library/esm/node_modules/micromark/lib/initialize/flow.js.map +1 -0
  200. package/library/esm/node_modules/micromark/lib/initialize/text.js +213 -0
  201. package/library/esm/node_modules/micromark/lib/initialize/text.js.map +1 -0
  202. package/library/esm/node_modules/micromark/lib/parse.js +60 -0
  203. package/library/esm/node_modules/micromark/lib/parse.js.map +1 -0
  204. package/library/esm/node_modules/micromark/lib/postprocess.js +22 -0
  205. package/library/esm/node_modules/micromark/lib/postprocess.js.map +1 -0
  206. package/library/esm/node_modules/micromark/lib/preprocess.js +118 -0
  207. package/library/esm/node_modules/micromark/lib/preprocess.js.map +1 -0
  208. package/library/esm/node_modules/micromark-core-commonmark/lib/attention.js +245 -0
  209. package/library/esm/node_modules/micromark-core-commonmark/lib/attention.js.map +1 -0
  210. package/library/esm/node_modules/micromark-core-commonmark/lib/autolink.js +237 -0
  211. package/library/esm/node_modules/micromark-core-commonmark/lib/autolink.js.map +1 -0
  212. package/library/esm/node_modules/micromark-core-commonmark/lib/blank-line.js +65 -0
  213. package/library/esm/node_modules/micromark-core-commonmark/lib/blank-line.js.map +1 -0
  214. package/library/esm/node_modules/micromark-core-commonmark/lib/block-quote.js +147 -0
  215. package/library/esm/node_modules/micromark-core-commonmark/lib/block-quote.js.map +1 -0
  216. package/library/esm/node_modules/micromark-core-commonmark/lib/character-escape.js +68 -0
  217. package/library/esm/node_modules/micromark-core-commonmark/lib/character-escape.js.map +1 -0
  218. package/library/esm/node_modules/micromark-core-commonmark/lib/character-reference.js +153 -0
  219. package/library/esm/node_modules/micromark-core-commonmark/lib/character-reference.js.map +1 -0
  220. package/library/esm/node_modules/micromark-core-commonmark/lib/code-fenced.js +464 -0
  221. package/library/esm/node_modules/micromark-core-commonmark/lib/code-fenced.js.map +1 -0
  222. package/library/esm/node_modules/micromark-core-commonmark/lib/code-indented.js +181 -0
  223. package/library/esm/node_modules/micromark-core-commonmark/lib/code-indented.js.map +1 -0
  224. package/library/esm/node_modules/micromark-core-commonmark/lib/code-text.js +228 -0
  225. package/library/esm/node_modules/micromark-core-commonmark/lib/code-text.js.map +1 -0
  226. package/library/esm/node_modules/micromark-core-commonmark/lib/content.js +167 -0
  227. package/library/esm/node_modules/micromark-core-commonmark/lib/content.js.map +1 -0
  228. package/library/esm/node_modules/micromark-core-commonmark/lib/definition.js +258 -0
  229. package/library/esm/node_modules/micromark-core-commonmark/lib/definition.js.map +1 -0
  230. package/library/esm/node_modules/micromark-core-commonmark/lib/hard-break-escape.js +64 -0
  231. package/library/esm/node_modules/micromark-core-commonmark/lib/hard-break-escape.js.map +1 -0
  232. package/library/esm/node_modules/micromark-core-commonmark/lib/heading-atx.js +199 -0
  233. package/library/esm/node_modules/micromark-core-commonmark/lib/heading-atx.js.map +1 -0
  234. package/library/esm/node_modules/micromark-core-commonmark/lib/html-flow.js +880 -0
  235. package/library/esm/node_modules/micromark-core-commonmark/lib/html-flow.js.map +1 -0
  236. package/library/esm/node_modules/micromark-core-commonmark/lib/html-text.js +682 -0
  237. package/library/esm/node_modules/micromark-core-commonmark/lib/html-text.js.map +1 -0
  238. package/library/esm/node_modules/micromark-core-commonmark/lib/label-end.js +564 -0
  239. package/library/esm/node_modules/micromark-core-commonmark/lib/label-end.js.map +1 -0
  240. package/library/esm/node_modules/micromark-core-commonmark/lib/label-start-image.js +106 -0
  241. package/library/esm/node_modules/micromark-core-commonmark/lib/label-start-image.js.map +1 -0
  242. package/library/esm/node_modules/micromark-core-commonmark/lib/label-start-link.js +59 -0
  243. package/library/esm/node_modules/micromark-core-commonmark/lib/label-start-link.js.map +1 -0
  244. package/library/esm/node_modules/micromark-core-commonmark/lib/line-ending.js +36 -0
  245. package/library/esm/node_modules/micromark-core-commonmark/lib/line-ending.js.map +1 -0
  246. package/library/esm/node_modules/micromark-core-commonmark/lib/list.js +217 -0
  247. package/library/esm/node_modules/micromark-core-commonmark/lib/list.js.map +1 -0
  248. package/library/esm/node_modules/micromark-core-commonmark/lib/setext-underline.js +189 -0
  249. package/library/esm/node_modules/micromark-core-commonmark/lib/setext-underline.js.map +1 -0
  250. package/library/esm/node_modules/micromark-core-commonmark/lib/thematic-break.js +106 -0
  251. package/library/esm/node_modules/micromark-core-commonmark/lib/thematic-break.js.map +1 -0
  252. package/library/esm/node_modules/micromark-factory-destination/index.js +210 -0
  253. package/library/esm/node_modules/micromark-factory-destination/index.js.map +1 -0
  254. package/library/esm/node_modules/micromark-factory-label/index.js +152 -0
  255. package/library/esm/node_modules/micromark-factory-label/index.js.map +1 -0
  256. package/library/esm/node_modules/micromark-factory-space/index.js +68 -0
  257. package/library/esm/node_modules/micromark-factory-space/index.js.map +1 -0
  258. package/library/esm/node_modules/micromark-factory-title/index.js +162 -0
  259. package/library/esm/node_modules/micromark-factory-title/index.js.map +1 -0
  260. package/library/esm/node_modules/micromark-factory-whitespace/index.js +48 -0
  261. package/library/esm/node_modules/micromark-factory-whitespace/index.js.map +1 -0
  262. package/library/esm/node_modules/micromark-util-character/index.js +249 -0
  263. package/library/esm/node_modules/micromark-util-character/index.js.map +1 -0
  264. package/library/esm/node_modules/micromark-util-chunked/index.js +84 -0
  265. package/library/esm/node_modules/micromark-util-chunked/index.js.map +1 -0
  266. package/library/esm/node_modules/micromark-util-classify-character/index.js +31 -0
  267. package/library/esm/node_modules/micromark-util-classify-character/index.js.map +1 -0
  268. package/library/esm/node_modules/micromark-util-combine-extensions/index.js +96 -0
  269. package/library/esm/node_modules/micromark-util-combine-extensions/index.js.map +1 -0
  270. package/library/esm/node_modules/micromark-util-decode-numeric-character-reference/index.js +35 -0
  271. package/library/esm/node_modules/micromark-util-decode-numeric-character-reference/index.js.map +1 -0
  272. package/library/esm/node_modules/micromark-util-decode-string/index.js +49 -0
  273. package/library/esm/node_modules/micromark-util-decode-string/index.js.map +1 -0
  274. package/library/esm/node_modules/micromark-util-html-tag-name/index.js +96 -0
  275. package/library/esm/node_modules/micromark-util-html-tag-name/index.js.map +1 -0
  276. package/library/esm/node_modules/micromark-util-normalize-identifier/index.js +36 -0
  277. package/library/esm/node_modules/micromark-util-normalize-identifier/index.js.map +1 -0
  278. package/library/esm/node_modules/micromark-util-resolve-all/index.js +35 -0
  279. package/library/esm/node_modules/micromark-util-resolve-all/index.js.map +1 -0
  280. package/library/esm/node_modules/micromark-util-sanitize-uri/index.js +67 -0
  281. package/library/esm/node_modules/micromark-util-sanitize-uri/index.js.map +1 -0
  282. package/library/esm/node_modules/micromark-util-subtokenize/index.js +227 -0
  283. package/library/esm/node_modules/micromark-util-subtokenize/index.js.map +1 -0
  284. package/library/esm/node_modules/micromark-util-subtokenize/lib/splice-buffer.js +254 -0
  285. package/library/esm/node_modules/micromark-util-subtokenize/lib/splice-buffer.js.map +1 -0
  286. package/library/esm/node_modules/property-information/index.js +16 -0
  287. package/library/esm/node_modules/property-information/index.js.map +1 -0
  288. package/library/esm/node_modules/property-information/lib/aria.js +64 -0
  289. package/library/esm/node_modules/property-information/lib/aria.js.map +1 -0
  290. package/library/esm/node_modules/property-information/lib/find.js +101 -0
  291. package/library/esm/node_modules/property-information/lib/find.js.map +1 -0
  292. package/library/esm/node_modules/property-information/lib/hast-to-react.js +33 -0
  293. package/library/esm/node_modules/property-information/lib/hast-to-react.js.map +1 -0
  294. package/library/esm/node_modules/property-information/lib/html.js +318 -0
  295. package/library/esm/node_modules/property-information/lib/html.js.map +1 -0
  296. package/library/esm/node_modules/property-information/lib/normalize.js +15 -0
  297. package/library/esm/node_modules/property-information/lib/normalize.js.map +1 -0
  298. package/library/esm/node_modules/property-information/lib/svg.js +564 -0
  299. package/library/esm/node_modules/property-information/lib/svg.js.map +1 -0
  300. package/library/esm/node_modules/property-information/lib/util/case-insensitive-transform.js +16 -0
  301. package/library/esm/node_modules/property-information/lib/util/case-insensitive-transform.js.map +1 -0
  302. package/library/esm/node_modules/property-information/lib/util/case-sensitive-transform.js +14 -0
  303. package/library/esm/node_modules/property-information/lib/util/case-sensitive-transform.js.map +1 -0
  304. package/library/esm/node_modules/property-information/lib/util/create.js +47 -0
  305. package/library/esm/node_modules/property-information/lib/util/create.js.map +1 -0
  306. package/library/esm/node_modules/property-information/lib/util/defined-info.js +64 -0
  307. package/library/esm/node_modules/property-information/lib/util/defined-info.js.map +1 -0
  308. package/library/esm/node_modules/property-information/lib/util/info.js +35 -0
  309. package/library/esm/node_modules/property-information/lib/util/info.js.map +1 -0
  310. package/library/esm/node_modules/property-information/lib/util/merge.js +31 -0
  311. package/library/esm/node_modules/property-information/lib/util/merge.js.map +1 -0
  312. package/library/esm/node_modules/property-information/lib/util/schema.js +32 -0
  313. package/library/esm/node_modules/property-information/lib/util/schema.js.map +1 -0
  314. package/library/esm/node_modules/property-information/lib/util/types.js +16 -0
  315. package/library/esm/node_modules/property-information/lib/util/types.js.map +1 -0
  316. package/library/esm/node_modules/property-information/lib/xlink.js +20 -0
  317. package/library/esm/node_modules/property-information/lib/xlink.js.map +1 -0
  318. package/library/esm/node_modules/property-information/lib/xml.js +12 -0
  319. package/library/esm/node_modules/property-information/lib/xml.js.map +1 -0
  320. package/library/esm/node_modules/property-information/lib/xmlns.js +12 -0
  321. package/library/esm/node_modules/property-information/lib/xmlns.js.map +1 -0
  322. package/library/esm/node_modules/react-markdown/lib/index.js +267 -0
  323. package/library/esm/node_modules/react-markdown/lib/index.js.map +1 -0
  324. package/library/esm/node_modules/react-router/dist/development/chunk-HA7DTUK3.js +1 -1
  325. package/library/esm/node_modules/react-router/node_modules/cookie/dist/index.js +1 -1
  326. package/library/esm/node_modules/remark-parse/lib/index.js +43 -0
  327. package/library/esm/node_modules/remark-parse/lib/index.js.map +1 -0
  328. package/library/esm/node_modules/remark-rehype/lib/index.js +132 -0
  329. package/library/esm/node_modules/remark-rehype/lib/index.js.map +1 -0
  330. package/library/esm/node_modules/space-separated-tokens/index.js +23 -0
  331. package/library/esm/node_modules/space-separated-tokens/index.js.map +1 -0
  332. package/library/esm/node_modules/style-mod/src/style-mod.js +175 -0
  333. package/library/esm/node_modules/style-mod/src/style-mod.js.map +1 -0
  334. package/library/esm/node_modules/style-to-js/cjs/index.js +38 -0
  335. package/library/esm/node_modules/style-to-js/cjs/index.js.map +1 -0
  336. package/library/esm/node_modules/style-to-js/cjs/utilities.js +58 -0
  337. package/library/esm/node_modules/style-to-js/cjs/utilities.js.map +1 -0
  338. package/library/esm/node_modules/style-to-object/cjs/index.js +56 -0
  339. package/library/esm/node_modules/style-to-object/cjs/index.js.map +1 -0
  340. package/library/esm/node_modules/trim-lines/index.js +72 -0
  341. package/library/esm/node_modules/trim-lines/index.js.map +1 -0
  342. package/library/esm/node_modules/trough/lib/index.js +209 -0
  343. package/library/esm/node_modules/trough/lib/index.js.map +1 -0
  344. package/library/esm/node_modules/unified/lib/callable-instance.js +47 -0
  345. package/library/esm/node_modules/unified/lib/callable-instance.js.map +1 -0
  346. package/library/esm/node_modules/unified/lib/index.js +979 -0
  347. package/library/esm/node_modules/unified/lib/index.js.map +1 -0
  348. package/library/esm/node_modules/unified/node_modules/is-plain-obj/index.js +11 -0
  349. package/library/esm/node_modules/unified/node_modules/is-plain-obj/index.js.map +1 -0
  350. package/library/esm/node_modules/unist-util-is/lib/index.js +179 -0
  351. package/library/esm/node_modules/unist-util-is/lib/index.js.map +1 -0
  352. package/library/esm/node_modules/unist-util-position/lib/index.js +98 -0
  353. package/library/esm/node_modules/unist-util-position/lib/index.js.map +1 -0
  354. package/library/esm/node_modules/unist-util-stringify-position/lib/index.js +87 -0
  355. package/library/esm/node_modules/unist-util-stringify-position/lib/index.js.map +1 -0
  356. package/library/esm/node_modules/unist-util-visit/lib/index.js +95 -0
  357. package/library/esm/node_modules/unist-util-visit/lib/index.js.map +1 -0
  358. package/library/esm/node_modules/unist-util-visit-parents/lib/color.js +10 -0
  359. package/library/esm/node_modules/unist-util-visit-parents/lib/color.js.map +1 -0
  360. package/library/esm/node_modules/unist-util-visit-parents/lib/index.js +188 -0
  361. package/library/esm/node_modules/unist-util-visit-parents/lib/index.js.map +1 -0
  362. package/library/esm/node_modules/vfile/lib/index.js +644 -0
  363. package/library/esm/node_modules/vfile/lib/index.js.map +1 -0
  364. package/library/esm/node_modules/vfile/lib/minpath.browser.js +427 -0
  365. package/library/esm/node_modules/vfile/lib/minpath.browser.js.map +1 -0
  366. package/library/esm/node_modules/vfile/lib/minproc.browser.js +11 -0
  367. package/library/esm/node_modules/vfile/lib/minproc.browser.js.map +1 -0
  368. package/library/esm/node_modules/vfile/lib/minurl.browser.js +77 -0
  369. package/library/esm/node_modules/vfile/lib/minurl.browser.js.map +1 -0
  370. package/library/esm/node_modules/vfile/lib/minurl.shared.js +34 -0
  371. package/library/esm/node_modules/vfile/lib/minurl.shared.js.map +1 -0
  372. package/library/esm/node_modules/vfile-message/lib/index.js +305 -0
  373. package/library/esm/node_modules/vfile-message/lib/index.js.map +1 -0
  374. package/library/esm/node_modules/w3c-keyname/index.js +122 -0
  375. package/library/esm/node_modules/w3c-keyname/index.js.map +1 -0
  376. package/library/esm/src/Form/Components/FieldCreator.js +0 -1
  377. package/library/esm/src/Form/Components/FieldCreator.js.map +1 -1
  378. package/library/esm/src/Form/Components/FieldLabel.js +13 -3
  379. package/library/esm/src/Form/Components/FieldLabel.js.map +1 -1
  380. package/library/esm/src/Form/Components/InlineMarkdown.js +15 -0
  381. package/library/esm/src/Form/Components/InlineMarkdown.js.map +1 -0
  382. package/library/esm/src/Form/Components/Inputs/Boolean.js +5 -2
  383. package/library/esm/src/Form/Components/Inputs/Boolean.js.map +1 -1
  384. package/library/esm/src/Form/Components/Inputs/Constant.js +18 -0
  385. package/library/esm/src/Form/Components/Inputs/Constant.js.map +1 -0
  386. package/library/esm/src/Form/Components/Inputs/GeoJSONInputLoader.js +1 -1
  387. package/library/esm/src/Form/Components/Inputs/Geometry.js +290 -329
  388. package/library/esm/src/Form/Components/Inputs/Geometry.js.map +1 -1
  389. package/library/esm/src/Form/Components/Inputs/JSON.js +132 -0
  390. package/library/esm/src/Form/Components/Inputs/JSON.js.map +1 -0
  391. package/library/esm/src/Form/Components/Inputs/JSONInputLoader.js +19 -0
  392. package/library/esm/src/Form/Components/Inputs/JSONInputLoader.js.map +1 -0
  393. package/library/esm/src/Form/Components/Inputs/Number.js +78 -8
  394. package/library/esm/src/Form/Components/Inputs/Number.js.map +1 -1
  395. package/library/esm/src/Form/Components/Inputs/OneOfInput.js +9 -0
  396. package/library/esm/src/Form/Components/Inputs/OneOfInput.js.map +1 -0
  397. package/library/esm/src/Form/Components/Inputs/String.js +9 -3
  398. package/library/esm/src/Form/Components/Inputs/String.js.map +1 -1
  399. package/library/esm/src/Form/Components/Inputs/inputMap.js +7 -3
  400. package/library/esm/src/Form/Components/Inputs/inputMap.js.map +1 -1
  401. package/library/esm/src/Form/Creator/FormCreator.js +42 -49
  402. package/library/esm/src/Form/Creator/FormCreator.js.map +1 -1
  403. package/library/esm/src/Form/Creator/FormHeader.js +7 -5
  404. package/library/esm/src/Form/Creator/FormHeader.js.map +1 -1
  405. package/library/esm/src/Form/Creator/Page.js +4 -3
  406. package/library/esm/src/Form/Creator/Page.js.map +1 -1
  407. package/library/esm/src/Form/Manage/CopyableJSONOutput.js +41 -0
  408. package/library/esm/src/Form/Manage/CopyableJSONOutput.js.map +1 -0
  409. package/library/esm/src/Form/helpers.js +12 -2
  410. package/library/esm/src/Form/helpers.js.map +1 -1
  411. package/library/esm/src/Form/schemaToFormHelpers.js +209 -18
  412. package/library/esm/src/Form/schemaToFormHelpers.js.map +1 -1
  413. package/library/esm/src/library.js +2 -2
  414. package/package.json +8 -1
  415. package/library/esm/src/Form/Components/Inputs/JSONString.js +0 -34
  416. package/library/esm/src/Form/Components/Inputs/JSONString.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"inputMap.js","sources":["../../../../../../src/Form/Components/Inputs/inputMap.ts"],"sourcesContent":["import BooleanInput from '@/Form/Components/Inputs/Boolean'\nimport LongString from '@/Form/Components/Inputs/LongString'\nimport StringInput from '@/Form/Components/Inputs/String'\nimport ObjectInput from '@/Form/Components/Inputs/Object'\nimport Radio from '@/Form/Components/Inputs/RadioGroup'\nimport SingleSelect from '@/Form/Components/Inputs/SingleSelect'\nimport { type IFieldInputProps } from '@/Form/Creator/FormCreatorTypes'\nimport JSONStringInput from '@/Form/Components/Inputs/JSONString'\nimport NumberInput from '@/Form/Components/Inputs/Number'\nimport GeoJSONInput from '@/Form/Components/Inputs/GeoJSONInputLoader'\nimport GeometryInput from '@/Form/Components/Inputs/GeometryInputLoader'\nimport DateTimeInput from '@/Form/Components/Inputs/DateTime'\nimport DateInput from '@/Form/Components/Inputs/Date'\nimport TimeInput from '@/Form/Components/Inputs/Time'\n\nconst inputMap: Record<string, React.FC<IFieldInputProps>> = {\n text: StringInput,\n long_text: LongString,\n number: NumberInput,\n json: JSONStringInput,\n boolean: BooleanInput,\n select: SingleSelect,\n radio: Radio,\n object: ObjectInput,\n geojson: GeoJSONInput,\n geometry: GeometryInput,\n datetime: DateTimeInput,\n date: DateInput,\n time: TimeInput\n}\n\nexport default inputMap\n"],"names":["LongString","SingleSelect","Radio","GeoJSONInput","GeometryInput"],"mappings":";;;;;;;;;;;;;;AAeA,IAAM,QAAQ,GAA+C;AAC3D,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,SAAS,EAAEA,eAAU;AACrB,IAAA,MAAM,EAAE,WAAW;AACnB,IAAA,IAAI,EAAE,eAAe;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,MAAM,EAAEC,iBAAY;AACpB,IAAA,KAAK,EAAEC,UAAK;AACZ,IAAA,MAAM,EAAE,WAAW;AACnB,IAAA,OAAO,EAAEC,oBAAY;AACrB,IAAA,QAAQ,EAAEC,kBAAa;AACvB,IAAA,QAAQ,EAAE,aAAa;AACvB,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE;;;;;"}
1
+ {"version":3,"file":"inputMap.js","sources":["../../../../../../src/Form/Components/Inputs/inputMap.ts"],"sourcesContent":["import BooleanInput from '@/Form/Components/Inputs/Boolean'\nimport LongString from '@/Form/Components/Inputs/LongString'\nimport StringInput from '@/Form/Components/Inputs/String'\nimport ObjectInput from '@/Form/Components/Inputs/Object'\nimport Radio from '@/Form/Components/Inputs/RadioGroup'\nimport SingleSelect from '@/Form/Components/Inputs/SingleSelect'\nimport { type IFieldInputProps } from '@/Form/Creator/FormCreatorTypes'\nimport JSONStringInput from '@/Form/Components/Inputs/JSONInputLoader'\nimport NumberInput from '@/Form/Components/Inputs/Number'\nimport GeoJSONInput from '@/Form/Components/Inputs/GeoJSONInputLoader'\nimport GeometryInput from '@/Form/Components/Inputs/GeometryInputLoader'\nimport DateTimeInput from '@/Form/Components/Inputs/DateTime'\nimport DateInput from '@/Form/Components/Inputs/Date'\nimport TimeInput from '@/Form/Components/Inputs/Time'\nimport ConstantInput from '@/Form/Components/Inputs/Constant'\nimport OneOfInput from '@/Form/Components/Inputs/OneOfInput'\n\nconst inputMap: Record<string, React.FC<IFieldInputProps>> = {\n text: StringInput,\n long_text: LongString,\n number: NumberInput,\n json: JSONStringInput,\n boolean: BooleanInput,\n select: SingleSelect,\n radio: Radio,\n object: ObjectInput,\n oneOf: OneOfInput,\n geojson: GeoJSONInput,\n geometry: GeometryInput,\n datetime: DateTimeInput,\n date: DateInput,\n time: TimeInput,\n constant: ConstantInput\n}\n\nexport default inputMap\n"],"names":["LongString","JSONStringInput","SingleSelect","Radio","GeoJSONInput","GeometryInput"],"mappings":";;;;;;;;;;;;;;;;AAiBA,IAAM,QAAQ,GAA+C;AAC3D,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,SAAS,EAAEA,eAAU;AACrB,IAAA,MAAM,EAAE,WAAW;AACnB,IAAA,IAAI,EAAEC,eAAe;AACrB,IAAA,OAAO,EAAE,YAAY;AACrB,IAAA,MAAM,EAAEC,iBAAY;AACpB,IAAA,KAAK,EAAEC,UAAK;AACZ,IAAA,MAAM,EAAE,WAAW;AACnB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,OAAO,EAAEC,oBAAY;AACrB,IAAA,QAAQ,EAAEC,kBAAa;AACvB,IAAA,QAAQ,EAAE,aAAa;AACvB,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,QAAQ,EAAE;;;;;"}
@@ -3,65 +3,58 @@ import { FormContext } from './FormContextProvider.js';
3
3
  import FormHeader from './FormHeader.js';
4
4
  import FormSection from './FormSection.js';
5
5
  import { copyAndAddPathToFields, getFieldsFromFormSection, getFieldValue, updateFormValuesWithFieldValueInPlace, calculateSectionStatus } from '../helpers.js';
6
- import { Loader, utils as index$1 } from '../../../node_modules/@axdspub/axiom-ui-utilities/library/index.js';
7
- import React__default, { useState, useEffect } from 'react';
6
+ import '../../../_virtual/ajv.js';
7
+ import '../../../_virtual/index.js';
8
+ import 'lodash';
9
+ import { utils as index$1 } from '../../../node_modules/@axdspub/axiom-ui-utilities/library/index.js';
10
+ import React__default, { useContext } from 'react';
8
11
 
9
- var FormStatus = function (_a) {
10
- var _b, _c, _d, _e;
11
- var form = _a.form, formValueState = _a.formValueState;
12
- var status = calculateSectionStatus([form], formValueState);
12
+ var FormStatus = function () {
13
+ var _a, _b, _c, _d;
14
+ var _e = useContext(FormContext), form = _e.form, formValues = _e.formValues, setFormValues = _e.setFormValues;
15
+ var status = calculateSectionStatus([form], [formValues, setFormValues]);
13
16
  return (React__default.createElement(React__default.Fragment, null,
14
- React__default.createElement("p", { className: 'text-xs mt-4' }, (_b = status[form.id]) === null || _b === void 0 ? void 0 :
15
- _b.completed,
16
- " of ", (_c = status[form.id]) === null || _c === void 0 ? void 0 :
17
- _c.total,
17
+ React__default.createElement("p", { className: 'text-xs mt-4' }, (_a = status[form.id]) === null || _a === void 0 ? void 0 :
18
+ _a.completed,
19
+ " of ", (_b = status[form.id]) === null || _b === void 0 ? void 0 :
20
+ _b.total,
18
21
  " total"),
19
- React__default.createElement("p", { className: 'text-xs mt-2' }, (_d = status[form.id]) === null || _d === void 0 ? void 0 :
20
- _d.requiredCompleted,
21
- " of ", (_e = status[form.id]) === null || _e === void 0 ? void 0 :
22
- _e.requiredTotal,
22
+ React__default.createElement("p", { className: 'text-xs mt-2' }, (_c = status[form.id]) === null || _c === void 0 ? void 0 :
23
+ _c.requiredCompleted,
24
+ " of ", (_d = status[form.id]) === null || _d === void 0 ? void 0 :
25
+ _d.requiredTotal,
23
26
  " required")));
24
27
  };
25
28
  var FormCreator = function (_a) {
26
29
  var _b;
27
- var form = _a.form, formValueState = _a.formValueState, note = _a.note, error = _a.error, onChange = _a.onChange, className = _a.className, _c = _a.urlNavigable, urlNavigable = _c === void 0 ? true : _c, inputOverrides = _a.inputOverrides, schema = _a.schema;
30
+ var form = _a.form, formValueState = _a.formValueState, note = _a.note, error = _a.error, onChange = _a.onChange, className = _a.className, _c = _a.defaultClassName, defaultClassName = _c === void 0 ? 'flex flex-col gap-2 flex-grow' : _c, _d = _a.urlNavigable, urlNavigable = _d === void 0 ? true : _d, inputOverrides = _a.inputOverrides, schema = _a.schema;
28
31
  var activeForm = copyAndAddPathToFields(form);
32
+ var activeFormValues = structuredClone(formValueState[0]);
33
+ getFieldsFromFormSection(activeForm).forEach(function (field) {
34
+ if (field.defaultValue !== undefined && getFieldValue(field, activeFormValues) === undefined) {
35
+ updateFormValuesWithFieldValueInPlace(field, field.defaultValue, activeFormValues);
36
+ }
37
+ });
29
38
  activeForm.settings = __assign({ url_navigable: urlNavigable }, activeForm.settings);
30
39
  var formValues = formValueState[0], setFormValues = formValueState[1];
31
- var _d = useState(false), isReady = _d[0], setIsReady = _d[1];
32
- useEffect(function () {
33
- var formValuesCopy = structuredClone(formValues);
34
- getFieldsFromFormSection(activeForm).forEach(function (field) {
35
- if (field.defaultValue !== undefined && getFieldValue(field, formValues) === undefined) {
36
- updateFormValuesWithFieldValueInPlace(field, field.defaultValue, formValuesCopy);
37
- }
38
- });
39
- setFormValues(formValuesCopy);
40
- setIsReady(true);
41
- }, [form]);
42
- console.log('isReady', isReady);
43
- if (isReady) {
44
- console.log('formValues', formValues);
45
- }
46
- return (React__default.createElement(React__default.Fragment, null, !isReady
47
- ? React__default.createElement(Loader, { className: 'pt-20' })
48
- : React__default.createElement(FormContext.Provider, { value: {
49
- form: activeForm,
50
- formValues: formValues,
51
- setFormValues: setFormValues,
52
- inputOverrides: inputOverrides,
53
- schema: schema,
54
- urlNavigable: activeForm.settings.url_navigable
55
- } },
56
- React__default.createElement("div", { className: index$1.makeClassName({
57
- className: (_b = activeForm === null || activeForm === void 0 ? void 0 : activeForm.settings) === null || _b === void 0 ? void 0 : _b.class_name,
58
- defaultClassName: className
59
- }) },
60
- React__default.createElement(FormHeader, { form: activeForm, note: note, error: error }),
61
- (activeForm === null || activeForm === void 0 ? void 0 : activeForm.fields) !== undefined && activeForm.fields.length > 0 && activeForm.pages === undefined && activeForm.wizard_steps === undefined
62
- ? React__default.createElement(FormStatus, { form: activeForm, formValueState: formValueState })
63
- : '',
64
- React__default.createElement(FormSection, { formSection: activeForm, onChange: onChange })))));
40
+ return (React__default.createElement(FormContext.Provider, { value: {
41
+ form: activeForm,
42
+ formValues: formValues,
43
+ setFormValues: setFormValues,
44
+ inputOverrides: inputOverrides,
45
+ schema: schema,
46
+ urlNavigable: activeForm.settings.url_navigable
47
+ } },
48
+ React__default.createElement("div", { className: index$1.makeClassName({
49
+ className: (_b = activeForm === null || activeForm === void 0 ? void 0 : activeForm.settings) === null || _b === void 0 ? void 0 : _b.class_name,
50
+ defaultClassName: defaultClassName,
51
+ extras: [className]
52
+ }) },
53
+ React__default.createElement(FormHeader, { form: activeForm, note: note, error: error }),
54
+ (activeForm === null || activeForm === void 0 ? void 0 : activeForm.fields) !== undefined && activeForm.fields.length > 0 && activeForm.pages === undefined && activeForm.wizard_steps === undefined
55
+ ? React__default.createElement(FormStatus, null)
56
+ : '',
57
+ React__default.createElement(FormSection, { formSection: activeForm, onChange: onChange }))));
65
58
  };
66
59
 
67
60
  export { FormCreator as default };
@@ -1 +1 @@
1
- {"version":3,"file":"FormCreator.js","sources":["../../../../../src/Form/Creator/FormCreator.tsx"],"sourcesContent":["import { FormContext } from '@/Form/Creator/FormContextProvider'\nimport { type IFormValues, type IForm, type IValueChangeFn, type IFieldInputProps, type IFormValueState } from '@/Form/Creator/FormCreatorTypes'\nimport FormHeader from '@/Form/Creator/FormHeader'\nimport FormSection from '@/Form/Creator/FormSection'\nimport { calculateSectionStatus, copyAndAddPathToFields, getFieldsFromFormSection, getFieldValue, updateFormValuesWithFieldValueInPlace } from '@/Form/helpers'\nimport { Loader, utils } from '@axdspub/axiom-ui-utilities'\nimport { type JSONSchema6 } from 'json-schema'\nimport React, { useEffect, useState, type ReactElement } from 'react'\n\nexport interface IFormCreatorProps {\n form: IForm\n schema?: JSONSchema6\n formValueState: [IFormValues, (v: IFormValues) => void]\n note?: string\n error?: string\n onChange?: IValueChangeFn\n className?: string\n urlNavigable?: boolean\n inputOverrides?: Record<string, React.FC<IFieldInputProps>>\n}\n\nconst FormStatus = ({ form, formValueState }: { form: IForm, formValueState: IFormValueState }): ReactElement => {\n const status = calculateSectionStatus([form], formValueState)\n\n return (\n <>\n <p className='text-xs mt-4'>{status[form.id]?.completed} of {status[form.id]?.total} total</p>\n <p className='text-xs mt-2'>{status[form.id]?.requiredCompleted} of {status[form.id]?.requiredTotal} required</p>\n </>\n )\n}\n\nconst FormCreator = ({\n form,\n formValueState,\n note,\n error,\n onChange,\n className,\n urlNavigable = true,\n inputOverrides,\n schema\n}: IFormCreatorProps): ReactElement => {\n const activeForm = copyAndAddPathToFields(form)\n\n activeForm.settings = {\n url_navigable: urlNavigable,\n ...activeForm.settings\n }\n\n const [formValues, setFormValues] = formValueState\n const [isReady, setIsReady] = useState(false)\n useEffect(() => {\n const formValuesCopy = structuredClone(formValues)\n getFieldsFromFormSection(activeForm).forEach(field => {\n if (field.defaultValue !== undefined && getFieldValue(field, formValues) === undefined) {\n updateFormValuesWithFieldValueInPlace(field, field.defaultValue, formValuesCopy)\n }\n })\n setFormValues(formValuesCopy)\n setIsReady(true)\n }, [form])\n\n console.log('isReady', isReady)\n if (isReady) {\n console.log('formValues', formValues)\n }\n\n return (\n <>\n {\n !isReady\n ? <Loader className='pt-20' />\n : <FormContext.Provider value={{\n form: activeForm,\n formValues,\n setFormValues,\n inputOverrides,\n schema,\n urlNavigable: activeForm.settings.url_navigable\n }}>\n <div className={utils.makeClassName({\n className: activeForm?.settings?.class_name,\n defaultClassName: className\n })}>\n <FormHeader form={activeForm} note={note} error={error} />\n {\n activeForm?.fields !== undefined && activeForm.fields.length > 0 && activeForm.pages === undefined && activeForm.wizard_steps === undefined\n ? <FormStatus form={activeForm} formValueState={formValueState} />\n : ''\n }\n <FormSection\n formSection={activeForm}\n onChange={onChange}\n />\n </div>\n </FormContext.Provider>\n }\n </>\n )\n}\n\nexport type IFormSectionStatus = Record<string, {\n completed: number\n total: number\n requiredTotal: number\n requiredCompleted: number\n valid: boolean\n}>\n\nexport default FormCreator\n"],"names":["React","utils"],"mappings":"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"}
1
+ {"version":3,"file":"FormCreator.js","sources":["../../../../../src/Form/Creator/FormCreator.tsx"],"sourcesContent":["import { FormContext } from '@/Form/Creator/FormContextProvider'\nimport { type IFormValues, type IForm, type IValueChangeFn, type IFieldInputProps, type IFormOverride, type IFormFieldOverride } from '@/Form/Creator/FormCreatorTypes'\nimport FormHeader from '@/Form/Creator/FormHeader'\nimport FormSection from '@/Form/Creator/FormSection'\nimport { calculateSectionStatus, copyAndAddPathToFields, getFieldsFromFormSection, getFieldValue, updateFormValuesWithFieldValueInPlace } from '@/Form/helpers'\nimport { overridesAndSchemaToFormObject, schemaToFormObject } from '@/Form/schemaToFormHelpers'\nimport { Loader, utils } from '@axdspub/axiom-ui-utilities'\nimport { type JSONSchema6 } from 'json-schema'\nimport React, { useContext, useEffect, useState, type ReactElement } from 'react'\n\nexport interface IFormCreatorProps {\n form: IForm\n schema?: JSONSchema6\n formValueState: [IFormValues, (v: IFormValues) => void]\n note?: string\n error?: string\n onChange?: IValueChangeFn\n className?: string\n defaultClassName?: string\n urlNavigable?: boolean\n inputOverrides?: Record<string, React.FC<IFieldInputProps>>\n}\n\nconst FormStatus = (): ReactElement => {\n const { form, formValues, setFormValues } = useContext(FormContext)\n const status = calculateSectionStatus([form], [formValues, setFormValues])\n\n return (\n <>\n <p className='text-xs mt-4'>{status[form.id]?.completed} of {status[form.id]?.total} total</p>\n <p className='text-xs mt-2'>{status[form.id]?.requiredCompleted} of {status[form.id]?.requiredTotal} required</p>\n </>\n )\n}\n\nexport const SchemaFormCreator = ({\n label,\n id,\n schema,\n formOverrides,\n formFieldOverrides,\n ...props\n}: Omit<IFormCreatorProps, 'form'> & {\n id?: string\n label?: string\n schema: JSONSchema6\n formOverrides?: IFormOverride[]\n formFieldOverrides?: IFormFieldOverride[][]\n}): ReactElement => {\n const [form, setForm] = useState<IForm | undefined>(undefined)\n useEffect(() => {\n const newForm = formOverrides === undefined\n ? schemaToFormObject(schema)\n : overridesAndSchemaToFormObject({\n formOverrides,\n formFieldOverrides,\n schema\n }) // Convert the JSON schema to a form object\n if (id !== undefined) {\n newForm.id = id\n }\n if (label !== undefined) {\n newForm.label = label\n }\n setForm(newForm)\n }, [schema, formOverrides, formFieldOverrides, id, label])\n\n return (\n <>{\n form !== undefined\n ? <FormCreator form={form} {...props} />\n : <div className='p-5 bg-slate-200 text-xs'><Loader className='pt-20' /></div>\n }</>\n\n )\n}\n\nconst FormCreator = ({\n form,\n formValueState,\n note,\n error,\n onChange,\n className,\n defaultClassName = 'flex flex-col gap-2 flex-grow',\n urlNavigable = true,\n inputOverrides,\n schema\n}: IFormCreatorProps): ReactElement => {\n const activeForm = copyAndAddPathToFields(form)\n const activeFormValues = structuredClone(formValueState[0])\n getFieldsFromFormSection(activeForm).forEach(field => {\n if (field.defaultValue !== undefined && getFieldValue(field, activeFormValues) === undefined) {\n updateFormValuesWithFieldValueInPlace(field, field.defaultValue, activeFormValues)\n }\n })\n\n activeForm.settings = {\n url_navigable: urlNavigable,\n ...activeForm.settings\n }\n\n const [formValues, setFormValues] = formValueState\n\n return (\n <FormContext.Provider value={{\n form: activeForm,\n formValues,\n setFormValues,\n inputOverrides,\n schema,\n urlNavigable: activeForm.settings.url_navigable\n }}>\n <div className={utils.makeClassName({\n className: activeForm?.settings?.class_name,\n defaultClassName,\n extras: [className]\n })}>\n <FormHeader form={activeForm} note={note} error={error} />\n {\n activeForm?.fields !== undefined && activeForm.fields.length > 0 && activeForm.pages === undefined && activeForm.wizard_steps === undefined\n ? <FormStatus />\n : ''\n }\n <FormSection\n formSection={activeForm}\n onChange={onChange}\n />\n </div>\n </FormContext.Provider>\n )\n}\n\nexport type IFormSectionStatus = Record<string, {\n completed: number\n total: number\n requiredTotal: number\n requiredCompleted: number\n valid: boolean\n}>\n\nexport default FormCreator\n"],"names":["React","utils"],"mappings":"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"}
@@ -1,21 +1,23 @@
1
+ import InlineMarkdown from '../Components/InlineMarkdown.js';
1
2
  import { ExclamationTriangleIcon } from '../../../node_modules/@radix-ui/react-icons/dist/react-icons.esm.js';
2
3
  import React__default from 'react';
4
+ import { Markdown } from '../../../node_modules/react-markdown/lib/index.js';
3
5
 
4
6
  var FormHeader = function (_a) {
5
7
  var form = _a.form, note = _a.note, error = _a.error;
6
- return (React__default.createElement(React__default.Fragment, null,
7
- React__default.createElement("h2", { className: 'text-2xl pb-4 font-bold' }, form.label),
8
+ return (React__default.createElement("div", { className: 'flex flex-col gap-4' },
9
+ React__default.createElement("h2", { className: 'text-2xl font-bold' }, form.label),
8
10
  note !== undefined
9
- ? React__default.createElement("p", { className: 'pb-4' }, note)
11
+ ? React__default.createElement(Markdown, null, note)
10
12
  : null,
11
13
  error !== undefined
12
14
  ? React__default.createElement("p", { className: 'pb-4 text-rose-800' },
13
15
  React__default.createElement(ExclamationTriangleIcon, { className: 'inline mr-2' }),
14
16
  " ",
15
- error)
17
+ React__default.createElement(InlineMarkdown, null, error))
16
18
  : null,
17
19
  form.description !== undefined
18
- ? React__default.createElement("p", { className: 'pb-4' }, form.description)
20
+ ? React__default.createElement(Markdown, null, form.description)
19
21
  : null));
20
22
  };
21
23
 
@@ -1 +1 @@
1
- {"version":3,"file":"FormHeader.js","sources":["../../../../../src/Form/Creator/FormHeader.tsx"],"sourcesContent":["import type { IForm } from '@/library'\nimport { ExclamationTriangleIcon } from '@radix-ui/react-icons'\nimport React, { type ReactElement } from 'react'\n\nconst FormHeader = ({\n form, note, error\n\n}: {\n form: IForm\n note?: string\n error?: string\n}): ReactElement => {\n return (\n <>\n <h2 className='text-2xl pb-4 font-bold'>{form.label}</h2>\n {note !== undefined\n ? <p className='pb-4'>{note}</p>\n : null}\n {error !== undefined\n ? <p className='pb-4 text-rose-800'><ExclamationTriangleIcon className='inline mr-2' /> {error}</p>\n : null}\n {form.description !== undefined\n ? <p className='pb-4'>{form.description}</p>\n : null}\n </>\n )\n}\n\nexport default FormHeader\n"],"names":["React"],"mappings":";;;AAIM,IAAA,UAAU,GAAG,UAAC,EAOnB,EAAA;AANC,IAAA,IAAA,IAAI,UAAA,EAAE,IAAI,GAAA,EAAA,CAAA,IAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA;AAOjB,IAAA,QACEA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA;AACE,QAAAA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAC,yBAAyB,IAAE,IAAI,CAAC,KAAK,CAAM;AACxD,QAAA,IAAI,KAAK;AACR,cAAEA,cAAG,CAAA,aAAA,CAAA,GAAA,EAAA,EAAA,SAAS,EAAC,MAAM,EAAA,EAAE,IAAI;AAC3B,cAAE,IAAI;AACP,QAAA,KAAK,KAAK;AACT,cAAEA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,oBAAoB,EAAA;AAAC,gBAAAA,cAAA,CAAA,aAAA,CAAC,uBAAuB,EAAA,EAAC,SAAS,EAAC,aAAa,EAAG,CAAA;;AAAE,gBAAA,KAAK;AAC9F,cAAE,IAAI;QACP,IAAI,CAAC,WAAW,KAAK;cAClBA,oCAAG,SAAS,EAAC,MAAM,EAAE,EAAA,IAAI,CAAC,WAAW;AACvC,cAAE,IAAI,CACP;AAEP;;;;"}
1
+ {"version":3,"file":"FormHeader.js","sources":["../../../../../src/Form/Creator/FormHeader.tsx"],"sourcesContent":["import InlineMarkdown from '@/Form/Components/InlineMarkdown'\nimport type { IForm } from '@/library'\nimport { ExclamationTriangleIcon } from '@radix-ui/react-icons'\nimport React, { type ReactElement } from 'react'\nimport Markdown from 'react-markdown'\n\nconst FormHeader = ({\n form, note, error\n\n}: {\n form: IForm\n note?: string\n error?: string\n}): ReactElement => {\n return (\n <div className='flex flex-col gap-4'>\n <h2 className='text-2xl font-bold'>{form.label}</h2>\n {note !== undefined\n ? <Markdown>{note}</Markdown>\n : null}\n {error !== undefined\n ? <p className='pb-4 text-rose-800'><ExclamationTriangleIcon className='inline mr-2' /> <InlineMarkdown>{error}</InlineMarkdown></p>\n : null}\n {form.description !== undefined\n ? <Markdown>{form.description}</Markdown>\n : null}\n </div>\n )\n}\n\nexport default FormHeader\n"],"names":["React"],"mappings":";;;;;AAMM,IAAA,UAAU,GAAG,UAAC,EAOnB,EAAA;AANC,IAAA,IAAA,IAAI,UAAA,EAAE,IAAI,GAAA,EAAA,CAAA,IAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA;AAOjB,IAAA,QACEA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,qBAAqB,EAAA;AAClC,QAAAA,cAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAC,oBAAoB,IAAE,IAAI,CAAC,KAAK,CAAM;AACnD,QAAA,IAAI,KAAK;AACR,cAAEA,cAAA,CAAA,aAAA,CAAC,QAAQ,EAAA,IAAA,EAAE,IAAI;AACjB,cAAE,IAAI;AACP,QAAA,KAAK,KAAK;AACT,cAAEA,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,oBAAoB,EAAA;AAAC,gBAAAA,cAAA,CAAA,aAAA,CAAC,uBAAuB,EAAA,EAAC,SAAS,EAAC,aAAa,EAAG,CAAA;;AAAC,gBAAAA,cAAA,CAAA,aAAA,CAAC,cAAc,EAAA,IAAA,EAAE,KAAK,CAAkB;AAChI,cAAE,IAAI;QACP,IAAI,CAAC,WAAW,KAAK;AACpB,cAAEA,cAAC,CAAA,aAAA,CAAA,QAAQ,QAAE,IAAI,CAAC,WAAW;AAC7B,cAAE,IAAI,CACJ;AAEV;;;;"}
@@ -6,6 +6,7 @@ import { calculateSectionStatus } from '../helpers.js';
6
6
  import { InfoCircledIcon } from '../../../node_modules/@radix-ui/react-icons/dist/react-icons.esm.js';
7
7
  import React__default from 'react';
8
8
  import { useFormContext } from './FormContextProvider.js';
9
+ import InlineMarkdown from '../Components/InlineMarkdown.js';
9
10
  import { useParams } from '../../../node_modules/react-router/dist/development/chunk-HA7DTUK3.js';
10
11
 
11
12
  var PageNav = function (_a) {
@@ -20,10 +21,10 @@ var ActivePage = function (_a) {
20
21
  var formSection = _a.formSection, onChange = _a.onChange, _b = _a.className, className = _b === void 0 ? 'flex flex-col gap-2 flex-grow' : _b, level = _a.level;
21
22
  return (React__default.createElement("div", { className: className },
22
23
  (formSection === null || formSection === void 0 ? void 0 : formSection.description) !== undefined
23
- ? React__default.createElement("p", { className: 'pb-4 border-b border-slate-200 text-sm' },
24
- React__default.createElement(InfoCircledIcon, { className: 'inline-block' }),
24
+ ? React__default.createElement("p", { className: ' text-sm' },
25
+ React__default.createElement(InfoCircledIcon, { className: 'inline -mt-1' }),
25
26
  " ",
26
- formSection.description)
27
+ React__default.createElement(InlineMarkdown, null, formSection.description))
27
28
  : '',
28
29
  React__default.createElement(FormSection, { formSection: formSection, onChange: onChange, level: level + 1 })));
29
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Page.js","sources":["../../../../../src/Form/Creator/Page.tsx"],"sourcesContent":["import { FormSectionContextProvider, useFormSectionContext } from '@/Form/Creator/FormSectionContextProvider'\nimport { type IFormSectionStatus } from '@/Form/Creator/FormCreator'\nimport { type IFormSection, type IValueChangeFn, type IFieldInputProps } from '@/Form/Creator/FormCreatorTypes'\nimport FormSection from '@/Form/Creator/FormSection'\nimport NavElement from '@/Form/Creator/NavElement'\nimport { calculateSectionStatus } from '@/Form/helpers'\nimport { InfoCircledIcon } from '@radix-ui/react-icons'\nimport React, { type ReactElement } from 'react'\nimport { useParams } from 'react-router-dom'\nimport { useFormContext } from '@/Form/Creator/FormContextProvider'\n\nconst PageNav = ({\n sections,\n level\n}: {\n sections?: IFormSection[]\n level: number\n}): ReactElement => {\n const { urlNavigable } = useFormContext()\n const { activeId, setActiveId, path } = useFormSectionContext()\n return (\n <div className='flex flex-col w-[200px] border-slate-200'>{\n sections?.map(p => {\n return (\n <NavElement\n key={p.id}\n path={path}\n id={p.id}\n navigable={urlNavigable ?? true}\n onClick={() => { setActiveId(p.id) }}\n className={ `border-none rounded-none bg-slate-100 text-sm font-normal text-left ${activeId === p.id ? 'bg-slate-700 text-white' : 'hover:bg-slate-200'}`}\n >{p.label}</NavElement>\n )\n })\n }</div>\n )\n}\n\nexport interface IPageLayoutProps {\n sections?: IFormSection[]\n onChange?: IValueChangeFn\n level: number\n ContentComponent?: React.FC<{\n level: number\n formSection?: IFormSection\n onChange?: IValueChangeFn\n sectionStatus: IFormSectionStatus\n }>\n NavComponent?: React.FC<{\n sections?: IFormSection[]\n sectionStatus: IFormSectionStatus\n level: number\n }>\n className?: string\n inputOverrides?: Record<string, React.FC<IFieldInputProps>>\n}\n\nexport const ActivePage = ({\n formSection,\n onChange,\n className = 'flex flex-col gap-2 flex-grow',\n level\n}: {\n formSection?: IFormSection\n onChange?: IValueChangeFn\n className?: string\n level: number\n}): ReactElement => {\n return (\n <div className={className}>\n {\n formSection?.description !== undefined\n ? <p className='pb-4 border-b border-slate-200 text-sm'><InfoCircledIcon className='inline-block' /> {formSection.description}</p>\n : ''\n }\n <FormSection formSection={formSection} onChange={onChange} level={level + 1} />\n </div>\n )\n}\n\nconst PageLayout = (props: IPageLayoutProps): ReactElement => {\n if (props.sections === undefined) {\n return <></>\n }\n const { urlNavigable } = useFormContext()\n const params = (useParams()['*'] ?? '').split('/')\n const path = params.slice(0, props.level).join('/')\n const id = urlNavigable\n ? (params[props.level] && params[props.level] !== '') ? params[props.level] : (props.sections[0]?.id ?? null)\n : props.sections[0]?.id ?? null\n\n return (\n <FormSectionContextProvider path={path} id={id}>\n <PageLayoutContent {...props} />\n </FormSectionContextProvider>\n )\n}\n\nconst PageLayoutContent = ({\n\n sections,\n onChange,\n inputOverrides,\n ContentComponent = ActivePage,\n NavComponent = PageNav,\n className = 'flex flex-row gap-8',\n level\n}: IPageLayoutProps): ReactElement => {\n if (sections === undefined) {\n return <></>\n }\n\n const { setFormValues, formValues } = useFormContext()\n const sectionStatus = calculateSectionStatus(sections, [formValues, setFormValues])\n const { activeId } = useFormSectionContext()\n const formSection = sections?.find(s => s.id === activeId) ?? sections?.[0]\n\n return (\n\n <div className={className}>\n <NavComponent\n sections={sections}\n sectionStatus={sectionStatus}\n level={level}\n />\n <ContentComponent\n formSection={formSection}\n onChange={onChange}\n sectionStatus={sectionStatus}\n level={level}\n />\n </div>\n )\n}\n\nexport default PageLayout\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"Page.js","sources":["../../../../../src/Form/Creator/Page.tsx"],"sourcesContent":["import { FormSectionContextProvider, useFormSectionContext } from '@/Form/Creator/FormSectionContextProvider'\nimport { type IFormSectionStatus } from '@/Form/Creator/FormCreator'\nimport { type IFormSection, type IValueChangeFn, type IFieldInputProps } from '@/Form/Creator/FormCreatorTypes'\nimport FormSection from '@/Form/Creator/FormSection'\nimport NavElement from '@/Form/Creator/NavElement'\nimport { calculateSectionStatus } from '@/Form/helpers'\nimport { InfoCircledIcon } from '@radix-ui/react-icons'\nimport React, { type ReactElement } from 'react'\nimport { useParams } from 'react-router-dom'\nimport { useFormContext } from '@/Form/Creator/FormContextProvider'\nimport InlineMarkdown from '@/Form/Components/InlineMarkdown'\n\nconst PageNav = ({\n sections,\n level\n}: {\n sections?: IFormSection[]\n level: number\n}): ReactElement => {\n const { urlNavigable } = useFormContext()\n const { activeId, setActiveId, path } = useFormSectionContext()\n return (\n <div className='flex flex-col w-[200px] border-slate-200'>{\n sections?.map(p => {\n return (\n <NavElement\n key={p.id}\n path={path}\n id={p.id}\n navigable={urlNavigable ?? true}\n onClick={() => { setActiveId(p.id) }}\n className={ `border-none rounded-none bg-slate-100 text-sm font-normal text-left ${activeId === p.id ? 'bg-slate-700 text-white' : 'hover:bg-slate-200'}`}\n >{p.label}</NavElement>\n )\n })\n }</div>\n )\n}\n\nexport interface IPageLayoutProps {\n sections?: IFormSection[]\n onChange?: IValueChangeFn\n level: number\n ContentComponent?: React.FC<{\n level: number\n formSection?: IFormSection\n onChange?: IValueChangeFn\n sectionStatus: IFormSectionStatus\n }>\n NavComponent?: React.FC<{\n sections?: IFormSection[]\n sectionStatus: IFormSectionStatus\n level: number\n }>\n className?: string\n inputOverrides?: Record<string, React.FC<IFieldInputProps>>\n}\n\nexport const ActivePage = ({\n formSection,\n onChange,\n className = 'flex flex-col gap-2 flex-grow',\n level\n}: {\n formSection?: IFormSection\n onChange?: IValueChangeFn\n className?: string\n level: number\n}): ReactElement => {\n return (\n <div className={className}>\n {\n formSection?.description !== undefined\n ? <p className=' text-sm'><InfoCircledIcon className='inline -mt-1' /> <InlineMarkdown>{formSection.description}</InlineMarkdown></p>\n : ''\n }\n <FormSection formSection={formSection} onChange={onChange} level={level + 1} />\n </div>\n )\n}\n\nconst PageLayout = (props: IPageLayoutProps): ReactElement => {\n if (props.sections === undefined) {\n return <></>\n }\n const { urlNavigable } = useFormContext()\n const params = (useParams()['*'] ?? '').split('/')\n const path = params.slice(0, props.level).join('/')\n const id = urlNavigable\n ? (params[props.level] && params[props.level] !== '') ? params[props.level] : (props.sections[0]?.id ?? null)\n : props.sections[0]?.id ?? null\n\n return (\n <FormSectionContextProvider path={path} id={id}>\n <PageLayoutContent {...props} />\n </FormSectionContextProvider>\n )\n}\n\nconst PageLayoutContent = ({\n\n sections,\n onChange,\n inputOverrides,\n ContentComponent = ActivePage,\n NavComponent = PageNav,\n className = 'flex flex-row gap-8',\n level\n}: IPageLayoutProps): ReactElement => {\n if (sections === undefined) {\n return <></>\n }\n\n const { setFormValues, formValues } = useFormContext()\n const sectionStatus = calculateSectionStatus(sections, [formValues, setFormValues])\n const { activeId } = useFormSectionContext()\n const formSection = sections?.find(s => s.id === activeId) ?? sections?.[0]\n\n return (\n\n <div className={className}>\n <NavComponent\n sections={sections}\n sectionStatus={sectionStatus}\n level={level}\n />\n <ContentComponent\n formSection={formSection}\n onChange={onChange}\n sectionStatus={sectionStatus}\n level={level}\n />\n </div>\n )\n}\n\nexport default PageLayout\n"],"names":["React"],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { utils as index$1 } from '../../../node_modules/@axdspub/axiom-ui-utilities/library/index.js';
2
+ import { CheckIcon, CopyIcon } from '../../../node_modules/@radix-ui/react-icons/dist/react-icons.esm.js';
3
+ import React__default, { useState } from 'react';
4
+
5
+ var CopyButton = function (_a) {
6
+ var string = _a.string, _b = _a.size, size = _b === void 0 ? 'med' : _b, _c = _a.defaultClassName, defaultClassName = _c === void 0 ? 'text-lg text-slate-400 pointer-events-none' : _c, className = _a.className, defaultWrapperClassName = _a.defaultWrapperClassName, wrapperClassName = _a.wrapperClassName;
7
+ var _d = useState(false), copied = _d[0], setCopied = _d[1];
8
+ return (React__default.createElement("button", { className: index$1.makeClassName({
9
+ className: wrapperClassName,
10
+ defaultClassName: defaultWrapperClassName
11
+ }), onClick: function () {
12
+ navigator.clipboard.writeText(string)
13
+ .then(function () {
14
+ setCopied(true);
15
+ setTimeout(function () {
16
+ setCopied(false);
17
+ }, 1000);
18
+ })
19
+ .catch(function (e) {
20
+ console.log('Error!');
21
+ });
22
+ } },
23
+ copied
24
+ ? React__default.createElement("span", { className: index$1.makeClassName({
25
+ className: className,
26
+ defaultClassName: defaultClassName
27
+ }) },
28
+ React__default.createElement(CheckIcon, { className: index$1.makeClassName({
29
+ className: 'bg-slate-600 text-white rounded-full',
30
+ extras: [index$1.getIconClassForSize(size)]
31
+ }) }))
32
+ : React__default.createElement(CopyIcon, { className: index$1.makeClassName({
33
+ className: className,
34
+ defaultClassName: defaultClassName,
35
+ extras: [index$1.getIconClassForSize(size)]
36
+ }) }),
37
+ React__default.createElement("span", { className: 'sr-only' }, "Copy")));
38
+ };
39
+
40
+ export { CopyButton };
41
+ //# sourceMappingURL=CopyableJSONOutput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CopyableJSONOutput.js","sources":["../../../../../src/Form/Manage/CopyableJSONOutput.tsx"],"sourcesContent":["import { utils } from '@axdspub/axiom-ui-utilities'\nimport { CheckIcon, CopyIcon } from '@radix-ui/react-icons'\nimport React, { type ReactElement, useState } from 'react'\n\nexport const CopyButton = ({\n string,\n size = 'med',\n defaultClassName = 'text-lg text-slate-400 pointer-events-none',\n className,\n defaultWrapperClassName,\n wrapperClassName\n}: {\n string: string\n defaultClassName?: string\n className?: string\n defaultWrapperClassName?: string\n wrapperClassName?: string\n size?: 'sm' | 'med' | 'lg' | 'xlg'\n}): ReactElement => {\n const [copied, setCopied] = useState(false)\n return (\n <button className={utils.makeClassName({\n className: wrapperClassName,\n defaultClassName: defaultWrapperClassName\n })} onClick={() => {\n navigator.clipboard.writeText(string)\n .then(() => {\n setCopied(true)\n setTimeout(() => {\n setCopied(false)\n }, 1000)\n })\n .catch(e => {\n console.log('Error!')\n })\n }}>\n {copied\n ? <span className={utils.makeClassName({\n className,\n defaultClassName\n })}><CheckIcon className={utils.makeClassName({\n className: 'bg-slate-600 text-white rounded-full',\n extras: [utils.getIconClassForSize(size)]\n })} /></span>\n : <CopyIcon className={utils.makeClassName({\n className,\n defaultClassName,\n extras: [utils.getIconClassForSize(size)]\n })} />}\n\n <span className='sr-only'>Copy</span>\n </button>\n )\n}\nexport const CopyableJSONOutput = ({ string, label }: { string: string, label?: string }): ReactElement => {\n return <div>\n {label !== undefined\n ? <h2 className='text-lg pb-4 font-bold'>{label}</h2>\n : ''}\n <div className='relative' onClick={() => {\n navigator.clipboard.writeText(string)\n .then(() => {\n console.log('Copied!')\n })\n .catch(e => {\n console.log('Error!')\n })\n }}>\n <CopyButton string={string} className='text-slate-400 absolute top-4 right-4' wrapperClassName='absolute top-0 right-0 bottom-0 left-0' />\n <pre className='p-10 bg-slate-200 hover:bg-slate-300 text-slate-600 select-none cursor-pointer font-mono text-xs'>\n {string}\n </pre>\n </div>\n </div>\n}\n"],"names":["React","utils"],"mappings":";;;;AAIO,IAAM,UAAU,GAAG,UAAC,EAc1B,EAAA;QAbC,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,EAAY,GAAA,EAAA,CAAA,IAAA,EAAZ,IAAI,GAAG,EAAA,KAAA,MAAA,GAAA,KAAK,GAAA,EAAA,EACZ,EAA+D,GAAA,EAAA,CAAA,gBAAA,EAA/D,gBAAgB,GAAG,EAAA,KAAA,MAAA,GAAA,4CAA4C,GAAA,EAAA,EAC/D,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,uBAAuB,GAAA,EAAA,CAAA,uBAAA,EACvB,gBAAgB,GAAA,EAAA,CAAA,gBAAA;IASV,IAAA,EAAA,GAAsB,QAAQ,CAAC,KAAK,CAAC,EAApC,MAAM,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,SAAS,GAAA,EAAA,CAAA,CAAA,CAAmB;AAC3C,IAAA,QACEA,cAAQ,CAAA,aAAA,CAAA,QAAA,EAAA,EAAA,SAAS,EAAEC,OAAK,CAAC,aAAa,CAAC;AACrC,YAAA,SAAS,EAAE,gBAAgB;AAC3B,YAAA,gBAAgB,EAAE;SACnB,CAAC,EAAE,OAAO,EAAE,YAAA;AACX,YAAA,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM;AACjC,iBAAA,IAAI,CAAC,YAAA;gBACJ,SAAS,CAAC,IAAI,CAAC;AACf,gBAAA,UAAU,CAAC,YAAA;oBACT,SAAS,CAAC,KAAK,CAAC;iBACjB,EAAE,IAAI,CAAC;AACV,aAAC;iBACA,KAAK,CAAC,UAAA,CAAC,EAAA;AACN,gBAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;AACvB,aAAC,CAAC;SACL,EAAA;QACE;AACC,cAAED,cAAM,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,SAAS,EAAEC,OAAK,CAAC,aAAa,CAAC;AACrC,oBAAA,SAAS,EAAA,SAAA;AACT,oBAAA,gBAAgB,EAAA;iBACjB,CAAC,EAAA;AAAE,gBAAAD,cAAA,CAAA,aAAA,CAAC,SAAS,EAAC,EAAA,SAAS,EAAEC,OAAK,CAAC,aAAa,CAAC;AAC5C,wBAAA,SAAS,EAAE,sCAAsC;wBACjD,MAAM,EAAE,CAACA,OAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC;AACzC,qBAAA,CAAC,GAAI;cACJD,6BAAC,QAAQ,EAAA,EAAC,SAAS,EAAEC,OAAK,CAAC,aAAa,CAAC;AACzC,oBAAA,SAAS,EAAA,SAAA;AACT,oBAAA,gBAAgB,EAAA,gBAAA;oBAChB,MAAM,EAAE,CAACA,OAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC;AACzC,iBAAA,CAAC,EAAI,CAAA;AAER,QAAAD,cAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,SAAS,EAAY,EAAA,MAAA,CAAA,CAC9B;AAEb;;;;"}
@@ -60,7 +60,7 @@ function addPathsToFormSections(section) {
60
60
  return section;
61
61
  }
62
62
  function copyAndAddPathToFields(formOrContainer) {
63
- var form = addPathsToFormSections(JSON.parse(JSON.stringify(formOrContainer)));
63
+ var form = addPathsToFormSections(structuredClone(formOrContainer));
64
64
  return form;
65
65
  }
66
66
  function getValueFromPath(path, formValues) {
@@ -147,6 +147,16 @@ var calculateSectionStatus = function (sections, formValueState) {
147
147
  return [s.id, { completed: completed, total: total, requiredTotal: requiredTotal, requiredCompleted: requiredCompleted, valid: valid }];
148
148
  }));
149
149
  };
150
+ var assignDefaultValuesToFormValues = function (form, formValues) {
151
+ var formValuesCopy = structuredClone(formValues);
152
+ var formWithPaths = copyAndAddPathToFields(form);
153
+ getFieldsFromFormSection(formWithPaths).forEach(function (field) {
154
+ if (field.defaultValue !== undefined && getFieldValue(field, formValuesCopy) === undefined) {
155
+ updateFormValuesWithFieldValueInPlace(field, field.defaultValue, formValuesCopy);
156
+ }
157
+ });
158
+ return formValuesCopy;
159
+ };
150
160
 
151
- export { addFieldPath, calculateSectionStatus, checkCondition, cleanUnusedDependenciesFromFormValues, copyAndAddPathToFields, getChildFields, getFieldValue, getFields, getFieldsFromFormSection, getPathFromField, getUniqueFormFields, makeJsonPath, updateFormValuesWithFieldValue, updateFormValuesWithFieldValueInPlace };
161
+ export { addFieldPath, assignDefaultValuesToFormValues, calculateSectionStatus, checkCondition, cleanUnusedDependenciesFromFormValues, copyAndAddPathToFields, getChildFields, getFieldValue, getFields, getFieldsFromFormSection, getPathFromField, getUniqueFormFields, makeJsonPath, updateFormValuesWithFieldValue, updateFormValuesWithFieldValueInPlace };
152
162
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":["../../../../src/Form/helpers.ts"],"sourcesContent":["import { type IFormSectionStatus } from '@/Form/Creator/FormCreator'\nimport { type IForm, type IFormField, type IValueType, type IFormValues, type IFormSection, type IFormValueState, type IPage, type IWizardStep } from '@/Form/Creator/FormCreatorTypes'\nimport { get, set } from 'lodash'\n\nexport const getChildFields = (field: { id: string, fields?: IFormField[] }): IFormField[] => {\n return field?.fields ?? []\n}\n\nexport const addFieldPath = (field: IFormField, parentPath?: IFormField[]): IFormField => {\n if (field.type === 'object' && field.skip_path === true) {\n field.path = parentPath !== undefined ? parentPath.slice() : []\n field.level = parentPath !== undefined ? parentPath.length : 0\n } else {\n const newSegment = field // `${field.id}${field.multiple === true ? '[]' : ''}`\n field.path = parentPath !== undefined ? parentPath.slice().concat(newSegment) : [newSegment]\n field.level = parentPath !== undefined ? parentPath.length + 1 : 1\n }\n if ((field.type === 'object' || field.type === 'section') && field.fields !== undefined) {\n field.fields = field.fields.map(childField => {\n return addFieldPath(childField, field.path?.slice())\n })\n }\n return field\n}\n\nexport const getUniqueFormFields = (form: IForm): IFormField[] => {\n const fieldMap = Object.fromEntries((form?.fields ?? []).map(f => [f.id, f]))\n return Object.values(fieldMap)\n}\n\nexport const getFields = (fields?: Array<{ id: string, fields?: IFormField[] }>): IFormField[] => {\n if (fields === undefined) {\n return []\n }\n const all = fields.map(field => {\n let fields = [field]\n const children = getChildFields(field)\n children.forEach(c => {\n fields = fields.concat(getFields([c]))\n })\n return fields\n }).flat(Infinity) as IFormField[]\n return all\n}\n\nfunction addPathsToFormSections (section: IFormSection): IFormSection {\n if (section.pages !== undefined) {\n section.pages = section.pages.map(page => {\n return addPathsToFormSections(page)\n }) as IPage[]\n }\n if (section.wizard_steps !== undefined) {\n section.wizard_steps = section.wizard_steps.map(wizardStep => {\n return addPathsToFormSections(wizardStep)\n }) as IWizardStep[]\n }\n if (section.fields !== undefined) {\n section.fields = section.fields.map(field => {\n return addFieldPath(field)\n })\n }\n return section\n}\n\nexport function copyAndAddPathToFields (formOrContainer: IForm): IForm {\n const form = addPathsToFormSections(JSON.parse(JSON.stringify(formOrContainer))) as IForm\n return form\n}\n\nfunction getValueFromPath (path: string, formValues: IFormValues): IValueType | IValueType[] | undefined {\n return get(formValues, path)\n}\n\nexport function getFieldValue (field: IFormField, formValues: IFormValues): IValueType | IValueType[] | undefined {\n const path = makeJsonPath(field)\n const val = getValueFromPath(path, formValues) // formValues[field.id]\n return val\n}\n\nexport function getPathFromField (field: IFormField): string {\n // console.log(`${field.path !== undefined ? field.path.join('.') : 'nopath'} = ${field.id}`)\n return field.path !== undefined ? field.path.filter(f => !(f.type === 'object' && f.skip_path === true)).map(f => f.id).join('.') : field.id\n}\n\n// THIS DOESN'T HANDLE NESTED YET\nexport const checkCondition = (field: IFormField, formValues: IFormValues): boolean => {\n if (field.conditions !== undefined) {\n const dependsOn = Array.isArray(field.conditions.dependsOn) ? field.conditions.dependsOn : [field.conditions.dependsOn]\n\n const val = field.conditions.value\n const check = dependsOn.every(d => {\n const fieldValue = getValueFromPath(d, formValues)\n return val !== undefined\n ? fieldValue === val\n : fieldValue !== null && fieldValue !== undefined && fieldValue !== false && fieldValue !== ''\n })\n return check\n }\n return true\n}\n\nexport function getFieldsFromFormSection (formSection: IFormSection): IFormField[] {\n const pageFields = formSection?.pages?.map(p => getFieldsFromFormSection(p)).flat(1)\n const wizardFields = formSection?.wizard_steps?.map(p => getFieldsFromFormSection(p)).flat(1)\n const fields = getFields((formSection?.fields ?? [])).concat(pageFields ?? []).concat(wizardFields ?? [])\n return fields\n}\n\nexport function cleanUnusedDependenciesFromFormValues (form: IForm, formValues: IFormValues): IFormValues {\n const fields = getFieldsFromFormSection(form)\n Object.keys(formValues).forEach(key => {\n const field = fields?.find(f => f.id === key)\n if (field !== undefined && !checkCondition(field, formValues)) {\n formValues[key] = undefined\n }\n })\n const fieldIds = fields.map(f => f.id)\n const newFormValues = Object.fromEntries(Object.entries(formValues).filter(([key]) => fieldIds.includes(key)))\n return newFormValues\n}\n\nexport function updateFormValuesWithFieldValueInPlace (field: IFormField, newValue: IValueType | IValueType[], formValues: IFormValues): void {\n const fieldPath = getPathFromField(field)\n set(formValues, fieldPath, newValue)\n}\n\nexport function updateFormValuesWithFieldValue (field: IFormField, newValue: IValueType | IValueType[], formValues: IFormValues): IFormValues {\n const formValuesCopy = structuredClone(formValues)\n updateFormValuesWithFieldValueInPlace(field, newValue, formValuesCopy)\n return formValuesCopy\n}\n\nexport const makeJsonPath = (field: IFormField, index: number = 0): string => {\n if (field.path === undefined) {\n return field.id\n } else {\n return field.path.map(f => f.multiple ? `${f.id}[${index}]` : f.id).join('.')\n }\n}\n\nconst testField = (field: IFormField, formValues: IFormValues): boolean => {\n const val = getFieldValue(field, formValues)\n return val !== undefined && val !== null && val !== ''\n}\n\nexport const calculateSectionStatus = (sections: IFormSection[], formValueState: IFormValueState): IFormSectionStatus => {\n const [formValues] = formValueState\n return Object.fromEntries(sections.map(s => {\n const fields = getFieldsFromFormSection(s).filter(f => f.type !== 'object')\n const total = fields.length\n const completed = fields.filter(f => testField(f, formValues)).length\n const required = fields.filter(f => f.required)\n const requiredTotal = required.length\n const requiredCompleted = required.filter(f => testField(f, formValues)).length\n const valid = requiredTotal === requiredCompleted\n return [s.id, { completed, total, requiredTotal, requiredCompleted, valid }]\n }))\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sources":["../../../../src/Form/helpers.ts"],"sourcesContent":["import { type IFormSectionStatus } from '@/Form/Creator/FormCreator'\nimport { type IForm, type IFormField, type IValueType, type IFormValues, type IFormSection, type IFormValueState, type IPage, type IWizardStep } from '@/Form/Creator/FormCreatorTypes'\nimport { get, set } from 'lodash'\n\nexport const getChildFields = (field: { id: string, fields?: IFormField[] }): IFormField[] => {\n return field?.fields ?? []\n}\n\nexport const addFieldPath = (field: IFormField, parentPath?: IFormField[]): IFormField => {\n if (field.type === 'object' && field.skip_path === true) {\n field.path = parentPath !== undefined ? parentPath.slice() : []\n field.level = parentPath !== undefined ? parentPath.length : 0\n } else {\n const newSegment = field // `${field.id}${field.multiple === true ? '[]' : ''}`\n field.path = parentPath !== undefined ? parentPath.slice().concat(newSegment) : [newSegment]\n field.level = parentPath !== undefined ? parentPath.length + 1 : 1\n }\n if ((field.type === 'object' || field.type === 'section') && field.fields !== undefined) {\n field.fields = field.fields.map(childField => {\n return addFieldPath(childField, field.path?.slice())\n })\n }\n return field\n}\n\nexport const getUniqueFormFields = (form: IForm): IFormField[] => {\n const fieldMap = Object.fromEntries((form?.fields ?? []).map(f => [f.id, f]))\n return Object.values(fieldMap)\n}\n\nexport const getFields = (fields?: Array<{ id: string, fields?: IFormField[] }>): IFormField[] => {\n if (fields === undefined) {\n return []\n }\n const all = fields.map(field => {\n let fields = [field]\n const children = getChildFields(field)\n children.forEach(c => {\n fields = fields.concat(getFields([c]))\n })\n return fields\n }).flat(Infinity) as IFormField[]\n return all\n}\n\nfunction addPathsToFormSections (section: IFormSection): IFormSection {\n if (section.pages !== undefined) {\n section.pages = section.pages.map(page => {\n return addPathsToFormSections(page)\n }) as IPage[]\n }\n if (section.wizard_steps !== undefined) {\n section.wizard_steps = section.wizard_steps.map(wizardStep => {\n return addPathsToFormSections(wizardStep)\n }) as IWizardStep[]\n }\n if (section.fields !== undefined) {\n section.fields = section.fields.map(field => {\n return addFieldPath(field)\n })\n }\n return section\n}\n\nexport function copyAndAddPathToFields (formOrContainer: IForm): IForm {\n const form = addPathsToFormSections(structuredClone(formOrContainer)) as IForm\n return form\n}\n\nfunction getValueFromPath (path: string, formValues: IFormValues): IValueType | IValueType[] | undefined {\n return get(formValues, path)\n}\n\nexport function getFieldValue (field: IFormField, formValues: IFormValues): IValueType | IValueType[] | undefined {\n const path = makeJsonPath(field)\n const val = getValueFromPath(path, formValues) // formValues[field.id]\n return val\n}\n\nexport function getPathFromField (field: IFormField): string {\n // console.log(`${field.path !== undefined ? field.path.join('.') : 'nopath'} = ${field.id}`)\n return field.path !== undefined ? field.path.filter(f => !(f.type === 'object' && f.skip_path === true)).map(f => f.id).join('.') : field.id\n}\n\n// THIS DOESN'T HANDLE NESTED YET\nexport const checkCondition = (field: IFormField, formValues: IFormValues): boolean => {\n if (field.conditions !== undefined) {\n const dependsOn = Array.isArray(field.conditions.dependsOn) ? field.conditions.dependsOn : [field.conditions.dependsOn]\n\n const val = field.conditions.value\n const check = dependsOn.every(d => {\n const fieldValue = getValueFromPath(d, formValues)\n return val !== undefined\n ? fieldValue === val\n : fieldValue !== null && fieldValue !== undefined && fieldValue !== false && fieldValue !== ''\n })\n return check\n }\n return true\n}\n\nexport function getFieldsFromFormSection (formSection: IFormSection): IFormField[] {\n const pageFields = formSection?.pages?.map(p => getFieldsFromFormSection(p)).flat(1)\n const wizardFields = formSection?.wizard_steps?.map(p => getFieldsFromFormSection(p)).flat(1)\n const fields = getFields((formSection?.fields ?? [])).concat(pageFields ?? []).concat(wizardFields ?? [])\n return fields\n}\n\nexport function cleanUnusedDependenciesFromFormValues (form: IForm, formValues: IFormValues): IFormValues {\n const fields = getFieldsFromFormSection(form)\n Object.keys(formValues).forEach(key => {\n const field = fields?.find(f => f.id === key)\n if (field !== undefined && !checkCondition(field, formValues)) {\n formValues[key] = undefined\n }\n })\n const fieldIds = fields.map(f => f.id)\n const newFormValues = Object.fromEntries(Object.entries(formValues).filter(([key]) => fieldIds.includes(key)))\n return newFormValues\n}\n\nexport function updateFormValuesWithFieldValueInPlace (field: IFormField, newValue: IValueType | IValueType[], formValues: IFormValues): void {\n const fieldPath = getPathFromField(field)\n set(formValues, fieldPath, newValue)\n}\n\nexport function updateFormValuesWithFieldValue (field: IFormField, newValue: IValueType | IValueType[], formValues: IFormValues): IFormValues {\n const formValuesCopy = structuredClone(formValues)\n updateFormValuesWithFieldValueInPlace(field, newValue, formValuesCopy)\n return formValuesCopy\n}\n\nexport const makeJsonPath = (field: IFormField, index: number = 0): string => {\n if (field.path === undefined) {\n return field.id\n } else {\n return field.path.map(f => f.multiple ? `${f.id}[${index}]` : f.id).join('.')\n }\n}\n\nconst testField = (field: IFormField, formValues: IFormValues): boolean => {\n const val = getFieldValue(field, formValues)\n return val !== undefined && val !== null && val !== ''\n}\n\nexport const calculateSectionStatus = (sections: IFormSection[], formValueState: IFormValueState): IFormSectionStatus => {\n const [formValues] = formValueState\n return Object.fromEntries(sections.map(s => {\n const fields = getFieldsFromFormSection(s).filter(f => f.type !== 'object')\n const total = fields.length\n const completed = fields.filter(f => testField(f, formValues)).length\n const required = fields.filter(f => f.required)\n const requiredTotal = required.length\n const requiredCompleted = required.filter(f => testField(f, formValues)).length\n const valid = requiredTotal === requiredCompleted\n return [s.id, { completed, total, requiredTotal, requiredCompleted, valid }]\n }))\n}\n\nexport const assignDefaultValuesToFormValues = (form: IForm, formValues: IFormValues): IFormValues => {\n const formValuesCopy = structuredClone(formValues)\n const formWithPaths = copyAndAddPathToFields(form)\n getFieldsFromFormSection(formWithPaths).forEach(field => {\n if (field.defaultValue !== undefined && getFieldValue(field, formValuesCopy) === undefined) {\n updateFormValuesWithFieldValueInPlace(field, field.defaultValue, formValuesCopy)\n }\n })\n return formValuesCopy\n}\n"],"names":[],"mappings":"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"}