@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,14 +1,19 @@
1
1
  import { __assign } from '../../node_modules/tslib/tslib.es6.js';
2
2
  import Ajv from '../../_virtual/ajv.js';
3
+ import addFormats from '../../_virtual/index.js';
3
4
  import metaSchemaDraftV7 from '../../node_modules/ajv/lib/refs/json-schema-draft-07.json.js';
4
5
  import metaSchemaDraftV6 from '../../node_modules/ajv/lib/refs/json-schema-draft-06.json.js';
5
6
  import metaSchemaV5 from '../../node_modules/ajv/lib/refs/json-schema-2020-12/schema.json.js';
6
7
  import metaSchemaV4 from '../../node_modules/ajv/lib/refs/json-schema-2019-09/schema.json.js';
7
8
  import { resolveRefs } from './resolveRefs.js';
8
9
  import { omit } from 'lodash';
10
+ import { copyAndAddPathToFields, getFieldsFromFormSection, getPathFromField } from './helpers.js';
9
11
 
10
12
  var getValidator = function (schema) {
11
- var ajv = new Ajv({ strict: false });
13
+ var ajv = new Ajv({
14
+ strict: false
15
+ });
16
+ addFormats(ajv);
12
17
  switch (schema) {
13
18
  case 4:
14
19
  return ajv.compile(metaSchemaV4);
@@ -25,6 +30,7 @@ var getValidator = function (schema) {
25
30
  var validateSchema = function (schemaOb, version) {
26
31
  if (version === void 0) { version = 6; }
27
32
  var ajv = new Ajv({ strict: false });
33
+ addFormats(ajv);
28
34
  var validator = getValidator(version);
29
35
  var valid = validator(schemaOb);
30
36
  if (!valid) {
@@ -43,6 +49,7 @@ var validateAgainstSchema = function (schema, formValues) {
43
49
  return [validSchema.error];
44
50
  }
45
51
  var ajv = new Ajv({ strict: false, allErrors: true });
52
+ addFormats(ajv);
46
53
  var validator = ajv.compile(schema);
47
54
  var valid = validator(formValues);
48
55
  if (validator.errors !== null && validator.errors !== undefined && !valid) {
@@ -103,7 +110,7 @@ var getFieldType = function (schema) {
103
110
  else if (schemaType === 'boolean') {
104
111
  return 'boolean';
105
112
  }
106
- else if (schemaType === 'object') {
113
+ else if (schemaType === 'object' || (schemaType === undefined && (schema.oneOf !== undefined || schema.anyOf !== undefined || schema.allOf !== undefined))) {
107
114
  return 'object';
108
115
  }
109
116
  if (!schemaType && (schema.anyOf !== undefined || schema.enum !== undefined)) {
@@ -150,8 +157,10 @@ var getLabelFromSchema = function (schema) {
150
157
  }
151
158
  return String(getValueFromSchema(schema));
152
159
  };
153
- var schemaToFormField = function (schema, property, schemaField, multiple) {
154
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
160
+ var schemaToFormField = function (_a) {
161
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k;
162
+ var schema = _a.schema, property = _a.property, schemaField = _a.schemaField, multiple = _a.multiple, _l = _a.path, path = _l === void 0 ? [] : _l;
163
+ path.push(property);
155
164
  if (schemaField === undefined) {
156
165
  return {
157
166
  id: makeFormFieldId([schema.$id, property]),
@@ -169,35 +178,47 @@ var schemaToFormField = function (schema, property, schemaField, multiple) {
169
178
  };
170
179
  }
171
180
  if (schemaField.type === 'array' && schemaField.items !== undefined) {
172
- return schemaToFormField(schemaField, property, schemaField.items, true);
181
+ return schemaToFormField({
182
+ schema: schemaField,
183
+ property: property,
184
+ schemaField: schemaField.items,
185
+ multiple: true,
186
+ path: path.slice()
187
+ });
173
188
  }
174
189
  if (schemaField.anyOf !== undefined && schemaField.anyOf.length === 2 && schemaField.anyOf.filter(function (d) { return typeof d !== 'boolean' && d.type === 'null'; }).length === 1) {
175
190
  var notNull = schemaField.anyOf.filter(function (d) { return typeof d !== 'boolean' && d.type !== 'null'; })[0];
176
- return schemaToFormField(schemaField, property, __assign(__assign({}, omit(schemaField, 'anyOf')), (typeof notNull !== 'boolean' ? notNull : {})), multiple);
191
+ return schemaToFormField({
192
+ schema: schemaField,
193
+ property: property,
194
+ schemaField: __assign(__assign({}, omit(schemaField, 'anyOf')), (typeof notNull !== 'boolean' ? notNull : {})),
195
+ multiple: multiple,
196
+ path: path.slice()
197
+ });
177
198
  }
178
199
  var type = getFieldType(schemaField);
179
200
  var id = makeFormFieldId([
180
201
  schemaField.$id,
181
202
  property,
182
- (_a = schemaField.title) === null || _a === void 0 ? void 0 : _a.toLowerCase().replace(' ', '-')
203
+ (_b = schemaField.title) === null || _b === void 0 ? void 0 : _b.toLowerCase().replace(' ', '-')
183
204
  ]);
184
205
  var label = makeLabel([
185
206
  schemaField.title,
186
207
  property
187
208
  ]);
188
- var schemaRequired = (_b = schema.required) !== null && _b !== void 0 ? _b : [];
209
+ var schemaRequired = (_c = schema.required) !== null && _c !== void 0 ? _c : [];
189
210
  var ob = {
190
211
  id: id,
191
212
  label: label,
192
213
  description: schemaField.description,
193
214
  multiple: multiple,
194
- required: (_c = schemaRequired.includes(property)) !== null && _c !== void 0 ? _c : false
215
+ required: (_d = schemaRequired.includes(property)) !== null && _d !== void 0 ? _d : false
195
216
  };
196
217
  if (type === 'text' || type === 'number' || type === 'long_text' || type === 'boolean' || type === 'datetime' || type === 'date' || type === 'time') {
197
218
  return __assign(__assign({}, ob), { type: type });
198
219
  }
199
220
  if (type === 'select' || type === 'checkbox') {
200
- var schemaOptions = (_f = (_e = (_d = schemaField.enum) !== null && _d !== void 0 ? _d : schemaField.oneOf) !== null && _e !== void 0 ? _e : schemaField.anyOf) !== null && _f !== void 0 ? _f : [];
221
+ var schemaOptions = (_g = (_f = (_e = schemaField.enum) !== null && _e !== void 0 ? _e : schemaField.oneOf) !== null && _f !== void 0 ? _f : schemaField.anyOf) !== null && _g !== void 0 ? _g : [];
201
222
  var options = schemaOptions.map(function (e) {
202
223
  var value = getValueFromSchema(e);
203
224
  var label = getLabelFromSchema(e);
@@ -212,21 +233,75 @@ var schemaToFormField = function (schema, property, schemaField, multiple) {
212
233
  }
213
234
  if (type === 'object') {
214
235
  // const anyOfAsProps = schemaField.anyOf !== undefined && schemaField.anyOf.filter(d => typeof d !== 'boolean' && d.type !== 'null').length > 0
215
- var properties = (_g = schemaField.properties) !== null && _g !== void 0 ? _g : {};
236
+ var properties = (_h = schemaField.properties) !== null && _h !== void 0 ? _h : {};
216
237
  var fields_1 = [];
217
238
  for (var key in properties) {
218
239
  if (properties[key] !== undefined && typeof properties[key] !== 'boolean') {
219
- fields_1.push(schemaToFormField(schemaField, key, properties[key]));
240
+ fields_1.push(schemaToFormField({
241
+ schema: schemaField,
242
+ property: key,
243
+ schemaField: properties[key],
244
+ path: path.slice()
245
+ }));
220
246
  }
221
247
  }
222
- var ofArr = ((_h = schemaField.anyOf) !== null && _h !== void 0 ? _h : []).concat((_j = schemaField.allOf) !== null && _j !== void 0 ? _j : []);
248
+ if (schemaField.oneOf !== undefined) {
249
+ var oneOfFields_1 = [];
250
+ var options_1 = [];
251
+ var selectorField_1 = "select_".concat(property);
252
+ schemaField.oneOf.forEach(function (f, i) {
253
+ var _a, _b, _c, _d, _e, _f;
254
+ if (typeof f !== 'boolean') {
255
+ var value = (_a = f.$id) !== null && _a !== void 0 ? _a : f.title;
256
+ if (((_b = schemaField.discriminator) === null || _b === void 0 ? void 0 : _b.propertyName) !== undefined) {
257
+ var v = getValueFromSchema((_c = f === null || f === void 0 ? void 0 : f.properties) === null || _c === void 0 ? void 0 : _c[(_d = schemaField.discriminator) === null || _d === void 0 ? void 0 : _d.propertyName]);
258
+ if (v !== null && v !== undefined && typeof v !== 'boolean') {
259
+ value = String(v);
260
+ }
261
+ }
262
+ if (value === undefined || value === null) {
263
+ value = "".concat(property, "_").concat(i);
264
+ }
265
+ options_1.push({
266
+ label: (_f = (_e = f.title) !== null && _e !== void 0 ? _e : f.$id) !== null && _f !== void 0 ? _f : "".concat(property, " option ").concat(String(i + 1)),
267
+ value: value
268
+ });
269
+ var oneOfield = schemaToFormField({
270
+ schema: schemaField,
271
+ property: value,
272
+ schemaField: f,
273
+ path: path.slice()
274
+ });
275
+ oneOfield.conditions = {
276
+ dependsOn: "".concat(path.join('.'), ".").concat(selectorField_1),
277
+ value: value
278
+ };
279
+ oneOfFields_1.push(oneOfield);
280
+ }
281
+ });
282
+ fields_1.push({
283
+ id: selectorField_1,
284
+ type: 'select',
285
+ label: schemaField.title,
286
+ options: options_1
287
+ });
288
+ oneOfFields_1.forEach(function (f) {
289
+ fields_1.push(f);
290
+ });
291
+ }
292
+ var ofArr = ((_j = schemaField.anyOf) !== null && _j !== void 0 ? _j : []).concat((_k = schemaField.allOf) !== null && _k !== void 0 ? _k : []);
223
293
  ofArr.forEach(function (anyOf) {
224
294
  var _a;
225
295
  var anyOfId = schemaField.$id;
226
296
  if (typeof anyOf !== 'boolean' && anyOf.type !== 'null') {
227
- var field = schemaToFormField(schemaField, anyOfId !== null && anyOfId !== void 0 ? anyOfId : makeRandom(), typeof anyOf === 'boolean'
228
- ? anyOf
229
- : __assign({ title: (_a = anyOf.title) !== null && _a !== void 0 ? _a : '' }, anyOf), true);
297
+ var field = schemaToFormField({
298
+ schema: schemaField,
299
+ property: anyOfId !== null && anyOfId !== void 0 ? anyOfId : makeRandom(),
300
+ schemaField: typeof anyOf === 'boolean'
301
+ ? anyOf
302
+ : __assign({ title: (_a = anyOf.title) !== null && _a !== void 0 ? _a : '' }, anyOf),
303
+ path: path.slice()
304
+ });
230
305
  if (anyOfId === undefined && field.type === 'object') {
231
306
  field.skip_path = true;
232
307
  }
@@ -241,12 +316,97 @@ var schemaToFormField = function (schema, property, schemaField, multiple) {
241
316
  multiple: multiple
242
317
  };
243
318
  };
319
+ function mergeObjects(objects) {
320
+ var initialValue = {};
321
+ return objects.reduce(function (acc, obj) { return (__assign(__assign({}, acc), obj)); }, initialValue);
322
+ }
323
+ var mergeFormFields = function (_a) {
324
+ var fieldOverrides = _a.fieldOverrides, schemaForm = _a.schemaForm, formFieldsOverrideMap = _a.formFieldsOverrideMap;
325
+ var schemaFormObject = buildFormObject(schemaForm);
326
+ return (fieldOverrides !== null && fieldOverrides !== void 0 ? fieldOverrides : []).map(function (field) {
327
+ var _a, _b, _c, _d;
328
+ var schemaField = schemaFormObject[field.prop];
329
+ var pageField = __assign({}, mergeObjects([
330
+ schemaField,
331
+ mergeObjects(formFieldsOverrideMap.map(function (overrides) { var _a; return (_a = overrides[field.prop]) !== null && _a !== void 0 ? _a : {}; })),
332
+ field
333
+ ]));
334
+ var id = (_a = pageField.id) !== null && _a !== void 0 ? _a : makeFormFieldId([pageField.id]);
335
+ return __assign({ type: (_b = pageField.type) !== null && _b !== void 0 ? _b : 'text', id: id, label: (_d = (_c = pageField.label) !== null && _c !== void 0 ? _c : makeLabel([id])) !== null && _d !== void 0 ? _d : 'Default' }, pageField);
336
+ });
337
+ };
338
+ var mergeFormSections = function (_a) {
339
+ var sectionOverrides = _a.sectionOverrides, schemaForm = _a.schemaForm, formFieldsOverrideMap = _a.formFieldsOverrideMap;
340
+ var sections = (sectionOverrides !== null && sectionOverrides !== void 0 ? sectionOverrides : []).map(function (sectionToMerge, index) {
341
+ var _a, _b;
342
+ var sectionFields = mergeFormFields({
343
+ fieldOverrides: sectionToMerge.fields,
344
+ schemaForm: schemaForm,
345
+ formFieldsOverrideMap: formFieldsOverrideMap
346
+ });
347
+ var sectionId = (_a = sectionToMerge.id) !== null && _a !== void 0 ? _a : makeFormFieldId([sectionToMerge.id, index]);
348
+ return __assign(__assign({ id: sectionId !== null && sectionId !== void 0 ? sectionId : makeFormFieldId([sectionId, index]), label: (_b = sectionToMerge.label) !== null && _b !== void 0 ? _b : makeLabel([sectionId]) }, sectionToMerge), { fields: sectionToMerge.fields !== undefined
349
+ ? sectionFields
350
+ : undefined, wizard_steps: sectionToMerge.wizard_steps !== undefined
351
+ ? mergeFormSections({
352
+ sectionOverrides: sectionToMerge.wizard_steps,
353
+ schemaForm: schemaForm,
354
+ formFieldsOverrideMap: formFieldsOverrideMap
355
+ })
356
+ : undefined, pages: sectionToMerge.pages !== undefined
357
+ ? mergeFormSections({
358
+ sectionOverrides: sectionToMerge.pages,
359
+ schemaForm: schemaForm,
360
+ formFieldsOverrideMap: formFieldsOverrideMap
361
+ })
362
+ : undefined });
363
+ });
364
+ return sections;
365
+ };
366
+ var overridesAndSchemaToFormObject = function (_a) {
367
+ var _b;
368
+ var formOverrides = _a.formOverrides, formFieldOverrides = _a.formFieldOverrides, schema = _a.schema;
369
+ var schemaForm = schemaToFormObject(schema);
370
+ var form = {
371
+ id: schemaForm.id,
372
+ label: schemaForm.label
373
+ };
374
+ var mergedFormOverrides = mergeObjects(formOverrides !== null && formOverrides !== void 0 ? formOverrides : []);
375
+ var formFieldsByProp = (_b = formFieldOverrides === null || formFieldOverrides === void 0 ? void 0 : formFieldOverrides.map(function (overrides) { return Object.fromEntries(overrides.map(function (override) { return [override.prop, override]; })); })) !== null && _b !== void 0 ? _b : [];
376
+ form.pages = mergedFormOverrides.pages !== undefined
377
+ ? mergeFormSections({
378
+ sectionOverrides: mergedFormOverrides.pages,
379
+ schemaForm: schemaForm,
380
+ formFieldsOverrideMap: formFieldsByProp
381
+ })
382
+ : undefined;
383
+ form.wizard_steps = mergedFormOverrides.wizard_steps !== undefined
384
+ ? mergeFormSections({
385
+ sectionOverrides: mergedFormOverrides.wizard_steps,
386
+ schemaForm: schemaForm,
387
+ formFieldsOverrideMap: formFieldsByProp
388
+ })
389
+ : undefined;
390
+ form.fields = mergedFormOverrides.fields !== undefined
391
+ ? mergeFormFields({
392
+ fieldOverrides: mergedFormOverrides.fields,
393
+ schemaForm: schemaForm,
394
+ formFieldsOverrideMap: formFieldsByProp
395
+ })
396
+ : undefined;
397
+ return form;
398
+ };
244
399
  var schemaToFormObject = function (schema) {
245
400
  var _a, _b;
246
401
  var formFields = [];
247
402
  for (var key in schema.properties) {
248
403
  if (schema.properties[key] !== undefined && typeof schema.properties[key] !== 'boolean') {
249
- formFields.push(schemaToFormField(schema, key, schema.properties[key]));
404
+ formFields.push(schemaToFormField({
405
+ schema: schema,
406
+ property: key,
407
+ schemaField: schema.properties[key],
408
+ path: []
409
+ }));
250
410
  }
251
411
  }
252
412
  return {
@@ -255,6 +415,37 @@ var schemaToFormObject = function (schema) {
255
415
  fields: formFields
256
416
  };
257
417
  };
418
+ var buildFormObject = function (form) {
419
+ var formCopy = copyAndAddPathToFields(form);
420
+ var fields = getFieldsFromFormSection(formCopy);
421
+ return Object.fromEntries(fields.map(function (field) { return [getPathFromField(field), field]; }));
422
+ };
423
+ var getSchemaPaths = function (schema, prefix) {
424
+ if (prefix === void 0) { prefix = ''; }
425
+ var paths = [];
426
+ if (schema.type === 'object' && schema.properties) {
427
+ for (var _i = 0, _a = Object.keys(schema.properties); _i < _a.length; _i++) {
428
+ var key = _a[_i];
429
+ var newPrefix = prefix ? "".concat(prefix, ".").concat(key) : key;
430
+ paths.push(newPrefix);
431
+ paths = paths.concat(getSchemaPaths(schema.properties[key], newPrefix));
432
+ }
433
+ }
434
+ else if (schema.type === 'array' && schema.items) {
435
+ var arrayPrefix = "".concat(prefix, "[]");
436
+ paths.push(arrayPrefix);
437
+ paths = paths.concat(getSchemaPaths(schema.items, arrayPrefix));
438
+ }
439
+ else if (schema.oneOf || schema.anyOf || schema.allOf) {
440
+ for (var _b = 0, _c = schema.oneOf || schema.anyOf || schema.allOf; _b < _c.length; _b++) {
441
+ var subSchema = _c[_b];
442
+ if (subSchema.properties) {
443
+ paths = paths.concat(getSchemaPaths(subSchema, prefix));
444
+ }
445
+ }
446
+ }
447
+ return paths;
448
+ };
258
449
 
259
- export { getLabelFromSchema, getValueFromSchema, schemaToFormObject, validateAgainstSchema, validateSchema };
450
+ export { buildFormObject, getLabelFromSchema, getSchemaPaths, getValueFromSchema, mergeObjects, overridesAndSchemaToFormObject, schemaToFormObject, validateAgainstSchema, validateSchema };
260
451
  //# sourceMappingURL=schemaToFormHelpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemaToFormHelpers.js","sources":["../../../../src/Form/schemaToFormHelpers.ts"],"sourcesContent":["import { type IForm, type IFormField, type IFormFieldType, type IFormValues } from '@/Form/Creator/FormCreatorTypes'\nimport Ajv, { type ValidateFunction } from 'ajv'\n\nimport { type JSONSchema6Type, type JSONSchema6Definition, type JSONSchema6 } from 'json-schema'\n\nimport metaSchemaDraftV7 from 'ajv/lib/refs/json-schema-draft-07.json'\nimport metaSchemaDraftV6 from 'ajv/lib/refs/json-schema-draft-06.json'\nimport metaSchemaV5 from 'ajv/lib/refs/json-schema-2020-12/schema.json'\nimport metaSchemaV4 from 'ajv/lib/refs/json-schema-2019-09/schema.json'\n\nimport { resolveRefs } from '@/Form/resolveRefs'\nimport { omit } from 'lodash'\n\nconst getValidator = (schema: number): ValidateFunction => {\n const ajv = new Ajv({ strict: false })\n switch (schema) {\n case 4:\n return ajv.compile(metaSchemaV4)\n case 5:\n return ajv.compile(metaSchemaV5)\n case 6:\n return ajv.compile(metaSchemaDraftV6)\n case 7:\n return ajv.compile(metaSchemaDraftV7)\n default:\n return ajv.compile(metaSchemaV5)\n }\n}\n\nexport const validateSchema = (schemaOb: unknown, version: number = 6): { schema?: JSONSchema6, error?: string, unrefed?: JSONSchema6 } => {\n const ajv = new Ajv({ strict: false })\n const validator = getValidator(version)\n const valid = validator(schemaOb)\n if (!valid) {\n return { error: ajv.errorsText(validator.errors) }\n }\n // const v = ajv.compile<JSONSchema6>(schemaOb as JSONSchema6)\n /* registerSchema(schemaOb as SchemaObject, 'https://axds.co/test')\n const bundledSchema = await bundle('https://axds.co/test')\n return { schema: bundledSchema as JSONSchema6 } */\n\n const resolved = resolveRefs(structuredClone(schemaOb) as JSONSchema6)\n return { schema: resolved, unrefed: schemaOb as JSONSchema6 }\n}\n\nexport const validateAgainstSchema = (schema: JSONSchema6, formValues: IFormValues): string[] | undefined => {\n const validSchema = validateSchema(schema)\n if (validSchema.error !== undefined) {\n return [validSchema.error]\n }\n const ajv = new Ajv({ strict: false, allErrors: true })\n const validator = ajv.compile(schema)\n const valid = validator(formValues)\n if (validator.errors !== null && validator.errors !== undefined && !valid) {\n return validator.errors.map(e => {\n return `${e.instancePath} ${e.message}`\n })\n }\n return undefined\n}\n\nconst makeRandom = (): string => {\n return crypto !== undefined ? crypto.randomUUID() : Math.random().toString(36).substring(2)\n}\n\nconst makeFormFieldId = (options: Array<string | number | undefined | null>): string => {\n const validOptions = options.filter((o) => o !== undefined && o !== null)\n if (validOptions.length === 0) {\n return makeRandom()\n }\n return String(validOptions[0])\n}\n\nconst makeLabel = (options: Array<string | number | undefined | null>): string | undefined => {\n const validOptions = options.filter((o) => o !== undefined && o !== null)\n if (validOptions.length === 0) {\n return undefined\n }\n return String(validOptions[0])\n .replace(/_/g, ' ')\n .split(' ')\n .map((s, i) => {\n return i === 0 ? `${s.charAt(0).toUpperCase()}${s.slice(1)}` : s\n }).join(' ')\n}\n\nconst getFieldType = (schema: JSONSchema6): IFormFieldType => {\n const schemaType = schema.type\n if (schemaType === 'string' || schemaType === 'number' || schemaType === 'integer') {\n if (schema.enum !== undefined || schema.oneOf !== undefined) {\n return 'select'\n } else if (schema.anyOf !== undefined) {\n return 'checkbox'\n } else if (schemaType === 'string' && (schema.maxLength !== undefined && schema.maxLength <= 100)) {\n return 'text'\n } else if (schemaType === 'number' || schemaType === 'integer') {\n return 'number'\n } else if (schema.format === 'date-time') {\n return 'datetime'\n } else if (schema.format === 'date') {\n return 'date'\n } else if (schema.format === 'time') {\n return 'time'\n }\n return 'long_text'\n } else if (schemaType === 'boolean') {\n return 'boolean'\n } else if (schemaType === 'object') {\n return 'object'\n }\n if (!schemaType && (schema.anyOf !== undefined || schema.enum !== undefined)) {\n return 'object'\n }\n\n return 'text'\n}\n\nexport const getValueFromSchema = (schema: JSONSchema6Type | JSONSchema6Definition | undefined): string | number | boolean | undefined => {\n if (schema === undefined || schema === null) {\n return undefined\n }\n if (typeof schema === 'string' || typeof schema === 'number' || typeof schema === 'boolean') {\n return schema\n }\n if (Array.isArray(schema)) {\n if (schema.length > 0) {\n return getValueFromSchema(schema[0])\n }\n return undefined\n }\n if (schema.const !== undefined) {\n return String(schema.const)\n }\n return undefined\n}\n\nexport const getLabelFromSchema = (schema: JSONSchema6Type | JSONSchema6Definition | undefined): string | undefined => {\n if (schema === undefined || schema === null) {\n return undefined\n }\n if (typeof schema === 'boolean') {\n return schema ? 'true' : 'false'\n }\n if (typeof schema === 'string' || typeof schema === 'number' || typeof schema === 'boolean') {\n return String(schema)\n }\n if (Array.isArray(schema)) {\n if (schema.length > 0) {\n return getLabelFromSchema(schema[0])\n }\n return undefined\n }\n if (schema.title !== undefined && schema.title !== null) {\n return getLabelFromSchema(schema.title)\n }\n return String(getValueFromSchema(schema))\n}\n\nconst schemaToFormField = (schema: JSONSchema6, property: string, schemaField: JSONSchema6, multiple?: boolean): IFormField => {\n if (schemaField === undefined) {\n return {\n id: makeFormFieldId([schema.$id, property]),\n label: property,\n type: 'text',\n multiple\n }\n }\n if (typeof schemaField === 'boolean') {\n return {\n id: makeFormFieldId([schema.$id, property]),\n label: property,\n type: 'boolean',\n multiple\n }\n }\n if (schemaField.type === 'array' && schemaField.items !== undefined) {\n return schemaToFormField(schemaField, property, schemaField.items as JSONSchema6, true)\n }\n if (schemaField.anyOf !== undefined && schemaField.anyOf.length === 2 && schemaField.anyOf.filter(d => typeof d !== 'boolean' && d.type === 'null').length === 1) {\n const notNull = schemaField.anyOf.filter(d => typeof d !== 'boolean' && d.type !== 'null')[0]\n return schemaToFormField(schemaField, property, { ...omit(schemaField, 'anyOf'), ...(typeof notNull !== 'boolean' ? notNull : {}) }, multiple)\n }\n const type = getFieldType(schemaField)\n const id = makeFormFieldId([\n schemaField.$id,\n property,\n schemaField.title?.toLowerCase().replace(' ', '-')\n ])\n const label = makeLabel([\n schemaField.title,\n property\n ])\n const schemaRequired = schema.required ?? []\n const ob: Pick<IFormField, 'id' | 'label' | 'description' | 'multiple' | 'required'> = {\n id,\n label,\n description: schemaField.description,\n multiple,\n required: schemaRequired.includes(property) ?? false\n }\n if (type === 'text' || type === 'number' || type === 'long_text' || type === 'boolean' || type === 'datetime' || type === 'date' || type === 'time') {\n return {\n ...ob,\n type\n }\n }\n\n if (type === 'select' || type === 'checkbox') {\n const schemaOptions = schemaField.enum ?? schemaField.oneOf ?? schemaField.anyOf ?? []\n const options = schemaOptions.map(e => {\n const value = getValueFromSchema(e)\n const label = getLabelFromSchema(e)\n return value !== undefined\n ? {\n value: String(value),\n label: label ?? String(value)\n }\n : null\n }).filter(d => d !== null)\n return {\n ...ob,\n type,\n options\n }\n }\n if (type === 'object') {\n // const anyOfAsProps = schemaField.anyOf !== undefined && schemaField.anyOf.filter(d => typeof d !== 'boolean' && d.type !== 'null').length > 0\n const properties = schemaField.properties ?? {}\n const fields: IFormField[] = []\n for (const key in properties) {\n if (properties[key] !== undefined && typeof properties[key] !== 'boolean') {\n fields.push(schemaToFormField(schemaField, key, properties[key]))\n }\n }\n\n const ofArr = (schemaField.anyOf ?? []).concat(schemaField.allOf ?? [])\n\n ofArr.forEach((anyOf) => {\n const anyOfId = schemaField.$id\n if (typeof anyOf !== 'boolean' && anyOf.type !== 'null') {\n const field = schemaToFormField(\n schemaField,\n anyOfId ?? makeRandom(),\n typeof anyOf === 'boolean'\n ? anyOf\n : {\n title: anyOf.title ?? '',\n ...anyOf\n },\n true\n )\n if (anyOfId === undefined && field.type === 'object') {\n field.skip_path = true\n }\n fields.push(field)\n }\n })\n\n return {\n ...ob,\n type,\n fields,\n multiple\n }\n }\n\n return {\n id,\n type: 'text',\n multiple\n }\n}\n\nexport const schemaToFormObject = (schema: JSONSchema6): IForm => {\n const formFields: IFormField[] = []\n for (const key in schema.properties) {\n if (schema.properties[key] !== undefined && typeof schema.properties[key] !== 'boolean') {\n formFields.push(schemaToFormField(schema, key, schema.properties[key]))\n }\n }\n return {\n id: makeFormFieldId([schema.$id, schema.title?.toLowerCase().replace(' ', '-')]),\n label: schema.title ?? 'Untitled',\n fields: formFields\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemaToFormHelpers.js","sources":["../../../../src/Form/schemaToFormHelpers.ts"],"sourcesContent":["import { type IFormOverride, type IForm, type IFormField, type IFormFieldType, type IFormValues, type IFormFieldOverride, type IFormSectionOverride, type IPage, type IFormSection, type IWizardStep } from '@/Form/Creator/FormCreatorTypes'\nimport Ajv, { type ValidateFunction } from 'ajv'\nimport addFormats from 'ajv-formats'\n\nimport { type JSONSchema6Type, type JSONSchema6Definition, type JSONSchema6 } from 'json-schema'\n\nimport metaSchemaDraftV7 from 'ajv/lib/refs/json-schema-draft-07.json'\nimport metaSchemaDraftV6 from 'ajv/lib/refs/json-schema-draft-06.json'\nimport metaSchemaV5 from 'ajv/lib/refs/json-schema-2020-12/schema.json'\nimport metaSchemaV4 from 'ajv/lib/refs/json-schema-2019-09/schema.json'\n\nimport { resolveRefs } from '@/Form/resolveRefs'\nimport { omit } from 'lodash'\nimport { type ISelectOptionProps } from '@axdspub/axiom-ui-utilities'\nimport { copyAndAddPathToFields, getFieldsFromFormSection, getPathFromField } from '@/Form/helpers'\n\nconst getValidator = (schema: number): ValidateFunction => {\n const ajv = new Ajv({\n strict: false\n })\n addFormats(ajv)\n switch (schema) {\n case 4:\n return ajv.compile(metaSchemaV4)\n case 5:\n return ajv.compile(metaSchemaV5)\n case 6:\n return ajv.compile(metaSchemaDraftV6)\n case 7:\n return ajv.compile(metaSchemaDraftV7)\n default:\n return ajv.compile(metaSchemaV5)\n }\n}\n\nexport const validateSchema = (schemaOb: unknown, version: number = 6): { schema?: JSONSchema6, error?: string, unrefed?: JSONSchema6 } => {\n const ajv = new Ajv({ strict: false })\n addFormats(ajv)\n const validator = getValidator(version)\n const valid = validator(schemaOb)\n if (!valid) {\n return { error: ajv.errorsText(validator.errors) }\n }\n // const v = ajv.compile<JSONSchema6>(schemaOb as JSONSchema6)\n /* registerSchema(schemaOb as SchemaObject, 'https://axds.co/test')\n const bundledSchema = await bundle('https://axds.co/test')\n return { schema: bundledSchema as JSONSchema6 } */\n\n const resolved = resolveRefs(structuredClone(schemaOb) as JSONSchema6)\n return { schema: resolved, unrefed: schemaOb as JSONSchema6 }\n}\n\nexport const validateAgainstSchema = (schema: JSONSchema6, formValues: IFormValues): string[] | undefined => {\n const validSchema = validateSchema(schema)\n if (validSchema.error !== undefined) {\n return [validSchema.error]\n }\n const ajv = new Ajv({ strict: false, allErrors: true })\n addFormats(ajv)\n const validator = ajv.compile(schema)\n const valid = validator(formValues)\n if (validator.errors !== null && validator.errors !== undefined && !valid) {\n return validator.errors.map(e => {\n return `${e.instancePath} ${e.message}`\n })\n }\n return undefined\n}\n\nconst makeRandom = (): string => {\n return crypto !== undefined ? crypto.randomUUID() : Math.random().toString(36).substring(2)\n}\n\nconst makeFormFieldId = (options: Array<string | number | undefined | null>): string => {\n const validOptions = options.filter((o) => o !== undefined && o !== null)\n if (validOptions.length === 0) {\n return makeRandom()\n }\n return String(validOptions[0])\n}\n\nconst makeLabel = (options: Array<string | number | undefined | null>): string | undefined => {\n const validOptions = options.filter((o) => o !== undefined && o !== null)\n if (validOptions.length === 0) {\n return undefined\n }\n return String(validOptions[0])\n .replace(/_/g, ' ')\n .split(' ')\n .map((s, i) => {\n return i === 0 ? `${s.charAt(0).toUpperCase()}${s.slice(1)}` : s\n }).join(' ')\n}\n\nconst getFieldType = (schema: JSONSchema6): IFormFieldType => {\n const schemaType = schema.type\n if (schemaType === 'string' || schemaType === 'number' || schemaType === 'integer') {\n if (schema.enum !== undefined || schema.oneOf !== undefined) {\n return 'select'\n } else if (schema.anyOf !== undefined) {\n return 'checkbox'\n } else if (schemaType === 'string' && (schema.maxLength !== undefined && schema.maxLength <= 100)) {\n return 'text'\n } else if (schemaType === 'number' || schemaType === 'integer') {\n return 'number'\n } else if (schema.format === 'date-time') {\n return 'datetime'\n } else if (schema.format === 'date') {\n return 'date'\n } else if (schema.format === 'time') {\n return 'time'\n }\n return 'long_text'\n } else if (schemaType === 'boolean') {\n return 'boolean'\n } else if (schemaType === 'object' || (schemaType === undefined && (schema.oneOf !== undefined || schema.anyOf !== undefined || schema.allOf !== undefined))) {\n return 'object'\n }\n if (!schemaType && (schema.anyOf !== undefined || schema.enum !== undefined)) {\n return 'object'\n }\n\n return 'text'\n}\n\nexport const getValueFromSchema = (schema: JSONSchema6Type | JSONSchema6Definition | undefined): string | number | boolean | undefined => {\n if (schema === undefined || schema === null) {\n return undefined\n }\n if (typeof schema === 'string' || typeof schema === 'number' || typeof schema === 'boolean') {\n return schema\n }\n if (Array.isArray(schema)) {\n if (schema.length > 0) {\n return getValueFromSchema(schema[0])\n }\n return undefined\n }\n if (schema.const !== undefined) {\n return String(schema.const)\n }\n return undefined\n}\n\nexport const getLabelFromSchema = (schema: JSONSchema6Type | JSONSchema6Definition | undefined): string | undefined => {\n if (schema === undefined || schema === null) {\n return undefined\n }\n if (typeof schema === 'boolean') {\n return schema ? 'true' : 'false'\n }\n if (typeof schema === 'string' || typeof schema === 'number' || typeof schema === 'boolean') {\n return String(schema)\n }\n if (Array.isArray(schema)) {\n if (schema.length > 0) {\n return getLabelFromSchema(schema[0])\n }\n return undefined\n }\n if (schema.title !== undefined && schema.title !== null) {\n return getLabelFromSchema(schema.title)\n }\n return String(getValueFromSchema(schema))\n}\n\ninterface ISchemaToFormFieldProps {\n schema: JSONSchema6\n property: string\n schemaField: JSONSchema6\n multiple?: boolean\n path?: string[]\n}\n\nconst schemaToFormField = ({\n schema,\n property,\n schemaField,\n multiple,\n path = []\n}: ISchemaToFormFieldProps): IFormField => {\n path.push(property)\n if (schemaField === undefined) {\n return {\n id: makeFormFieldId([schema.$id, property]),\n label: property,\n type: 'text',\n multiple\n }\n }\n if (typeof schemaField === 'boolean') {\n return {\n id: makeFormFieldId([schema.$id, property]),\n label: property,\n type: 'boolean',\n multiple\n }\n }\n if (schemaField.type === 'array' && schemaField.items !== undefined) {\n return schemaToFormField({\n schema: schemaField,\n property,\n schemaField: schemaField.items as JSONSchema6,\n multiple: true,\n path: path.slice()\n })\n }\n if (schemaField.anyOf !== undefined && schemaField.anyOf.length === 2 && schemaField.anyOf.filter(d => typeof d !== 'boolean' && d.type === 'null').length === 1) {\n const notNull = schemaField.anyOf.filter(d => typeof d !== 'boolean' && d.type !== 'null')[0]\n return schemaToFormField({\n schema: schemaField,\n property,\n schemaField: { ...omit(schemaField, 'anyOf'), ...(typeof notNull !== 'boolean' ? notNull : {}) },\n multiple,\n path: path.slice()\n })\n }\n const type = getFieldType(schemaField)\n const id = makeFormFieldId([\n schemaField.$id,\n property,\n schemaField.title?.toLowerCase().replace(' ', '-')\n ])\n const label = makeLabel([\n schemaField.title,\n property\n ])\n const schemaRequired = schema.required ?? []\n const ob: Pick<IFormField, 'id' | 'label' | 'description' | 'multiple' | 'required'> = {\n id,\n label,\n description: schemaField.description,\n multiple,\n required: schemaRequired.includes(property) ?? false\n }\n if (type === 'text' || type === 'number' || type === 'long_text' || type === 'boolean' || type === 'datetime' || type === 'date' || type === 'time') {\n return {\n ...ob,\n type\n }\n }\n\n if (type === 'select' || type === 'checkbox') {\n const schemaOptions = schemaField.enum ?? schemaField.oneOf ?? schemaField.anyOf ?? []\n const options = schemaOptions.map(e => {\n const value = getValueFromSchema(e)\n const label = getLabelFromSchema(e)\n return value !== undefined\n ? {\n value: String(value),\n label: label ?? String(value)\n }\n : null\n }).filter(d => d !== null)\n return {\n ...ob,\n type,\n options\n }\n }\n if (type === 'object') {\n // const anyOfAsProps = schemaField.anyOf !== undefined && schemaField.anyOf.filter(d => typeof d !== 'boolean' && d.type !== 'null').length > 0\n const properties = schemaField.properties ?? {}\n const fields: IFormField[] = []\n for (const key in properties) {\n if (properties[key] !== undefined && typeof properties[key] !== 'boolean') {\n fields.push(schemaToFormField({\n schema: schemaField,\n property: key,\n schemaField: properties[key],\n path: path.slice()\n }))\n }\n }\n\n if (schemaField.oneOf !== undefined) {\n const oneOfFields: IFormField[] = []\n const options: ISelectOptionProps[] = []\n const selectorField = `select_${property}`\n schemaField.oneOf.forEach((f, i) => {\n if (typeof f !== 'boolean') {\n let value = f.$id ?? f.title\n if ((schemaField as any).discriminator?.propertyName !== undefined) {\n const v = getValueFromSchema(f?.properties?.[(schemaField as any).discriminator?.propertyName])\n if (v !== null && v !== undefined && typeof v !== 'boolean') {\n value = String(v)\n }\n }\n if (value === undefined || value === null) {\n value = `${property}_${i}`\n }\n options.push({\n label: f.title ?? f.$id ?? `${property} option ${String(i + 1)}`,\n value\n })\n const oneOfield = schemaToFormField({\n schema: schemaField,\n property: value,\n schemaField: f,\n path: path.slice()\n })\n oneOfield.conditions = {\n dependsOn: `${path.join('.')}.${selectorField}`,\n value\n }\n oneOfFields.push(oneOfield)\n }\n })\n fields.push({\n id: selectorField,\n type: 'select',\n label: schemaField.title,\n options\n })\n oneOfFields.forEach(f => {\n fields.push(f)\n })\n }\n\n const ofArr = (schemaField.anyOf ?? []).concat(schemaField.allOf ?? [])\n ofArr.forEach((anyOf) => {\n const anyOfId = schemaField.$id\n if (typeof anyOf !== 'boolean' && anyOf.type !== 'null') {\n const field = schemaToFormField({\n schema: schemaField,\n property: anyOfId ?? makeRandom(),\n schemaField: typeof anyOf === 'boolean'\n ? anyOf\n : {\n title: anyOf.title ?? '',\n ...anyOf\n },\n path: path.slice()\n })\n if (anyOfId === undefined && field.type === 'object') {\n field.skip_path = true\n }\n fields.push(field)\n }\n })\n\n return {\n ...ob,\n type,\n fields,\n multiple\n }\n }\n\n return {\n id,\n type: 'text',\n multiple\n }\n}\n\nexport function mergeObjects<T extends Record<string, any>> (objects: T[]): T {\n const initialValue: T = {} as unknown as T\n return objects.reduce<T>((acc, obj) => ({ ...acc, ...obj }), initialValue)\n}\n\nconst mergeFormFields = ({\n fieldOverrides,\n schemaForm,\n formFieldsOverrideMap\n}: {\n fieldOverrides?: IFormFieldOverride[]\n schemaForm: IForm\n formFieldsOverrideMap: Array<Record<string, IFormFieldOverride>>\n}): IFormField[] => {\n const schemaFormObject = buildFormObject(schemaForm)\n return (fieldOverrides ?? []).map(field => {\n const schemaField = schemaFormObject[field.prop]\n const pageField = {\n ...mergeObjects<IFormFieldOverride | IFormField>([\n schemaField,\n mergeObjects<IFormFieldOverride>(formFieldsOverrideMap.map(overrides => overrides[field.prop] ?? {})),\n field\n ])\n }\n const id = pageField.id ?? makeFormFieldId([pageField.id])\n return {\n type: pageField.type ?? 'text',\n id,\n label: pageField.label ?? makeLabel([id]) ?? 'Default',\n ...pageField\n }\n }) as IFormField[]\n}\n\nconst mergeFormSections = ({\n sectionOverrides,\n schemaForm,\n formFieldsOverrideMap\n\n}: {\n sectionOverrides?: IFormSectionOverride[]\n schemaForm: IForm\n formFieldsOverrideMap: Array<Record<string, IFormFieldOverride>>\n\n}): IFormSection[] => {\n const sections = (sectionOverrides ?? []).map((sectionToMerge, index) => {\n const sectionFields = mergeFormFields({\n fieldOverrides: sectionToMerge.fields,\n schemaForm,\n formFieldsOverrideMap\n })\n const sectionId = sectionToMerge.id ?? makeFormFieldId([sectionToMerge.id, index])\n return {\n id: sectionId ?? makeFormFieldId([sectionId, index]),\n label: sectionToMerge.label ?? makeLabel([sectionId]),\n ...sectionToMerge,\n fields: sectionToMerge.fields !== undefined\n ? sectionFields\n : undefined,\n wizard_steps: sectionToMerge.wizard_steps !== undefined\n ? mergeFormSections({\n sectionOverrides: sectionToMerge.wizard_steps,\n schemaForm,\n formFieldsOverrideMap\n })\n : undefined,\n pages: sectionToMerge.pages !== undefined\n ? mergeFormSections({\n sectionOverrides: sectionToMerge.pages,\n schemaForm,\n formFieldsOverrideMap\n })\n : undefined\n }\n })\n return sections as IFormSection[]\n}\n\nexport const overridesAndSchemaToFormObject = ({\n formOverrides,\n formFieldOverrides,\n schema\n}: {\n formOverrides?: IFormOverride[]\n formFieldOverrides?: IFormFieldOverride[][]\n schema: JSONSchema6\n}): IForm => {\n const schemaForm = schemaToFormObject(schema)\n const form: IForm = {\n id: schemaForm.id,\n label: schemaForm.label\n }\n const mergedFormOverrides = mergeObjects<IFormOverride>(formOverrides ?? [])\n const formFieldsByProp = formFieldOverrides?.map(overrides => Object.fromEntries(overrides.map(override => [override.prop, override]))) ?? []\n\n form.pages = mergedFormOverrides.pages !== undefined\n ? mergeFormSections({\n sectionOverrides: mergedFormOverrides.pages,\n schemaForm,\n formFieldsOverrideMap: formFieldsByProp\n }) as IPage[]\n : undefined\n form.wizard_steps = mergedFormOverrides.wizard_steps !== undefined\n ? mergeFormSections({\n sectionOverrides: mergedFormOverrides.wizard_steps,\n schemaForm,\n formFieldsOverrideMap: formFieldsByProp\n }) as IWizardStep[]\n : undefined\n\n form.fields = mergedFormOverrides.fields !== undefined\n ? mergeFormFields({\n fieldOverrides: mergedFormOverrides.fields,\n schemaForm,\n formFieldsOverrideMap: formFieldsByProp\n })\n : undefined\n\n return form\n}\n\nexport const schemaToFormObject = (schema: JSONSchema6): IForm => {\n const formFields: IFormField[] = []\n for (const key in schema.properties) {\n if (schema.properties[key] !== undefined && typeof schema.properties[key] !== 'boolean') {\n formFields.push(schemaToFormField({\n schema,\n property: key,\n schemaField: schema.properties[key],\n path: []\n }))\n }\n }\n return {\n id: makeFormFieldId([schema.$id, schema.title?.toLowerCase().replace(' ', '-')]),\n label: schema.title ?? 'Untitled',\n fields: formFields\n }\n}\n\nexport const buildFormObject = (form: IForm): Record<string, IFormField> => {\n const formCopy = copyAndAddPathToFields(form)\n const fields = getFieldsFromFormSection(formCopy)\n return Object.fromEntries(fields.map(field => [getPathFromField(field), field]))\n}\n\nexport const getSchemaPaths = (schema: any, prefix = ''): string[] => {\n let paths: string[] = []\n\n if (schema.type === 'object' && schema.properties) {\n for (const key of Object.keys(schema.properties)) {\n const newPrefix = prefix ? `${prefix}.${key}` : key\n paths.push(newPrefix)\n paths = paths.concat(getSchemaPaths(schema.properties[key], newPrefix))\n }\n } else if (schema.type === 'array' && schema.items) {\n const arrayPrefix = `${prefix}[]`\n paths.push(arrayPrefix)\n paths = paths.concat(getSchemaPaths(schema.items, arrayPrefix))\n } else if (schema.oneOf || schema.anyOf || schema.allOf) {\n for (const subSchema of schema.oneOf || schema.anyOf || schema.allOf) {\n if (subSchema.properties) {\n paths = paths.concat(getSchemaPaths(subSchema, prefix))\n }\n }\n }\n\n return paths\n}\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- export { addFieldPath, calculateSectionStatus, checkCondition, cleanUnusedDependenciesFromFormValues, copyAndAddPathToFields, getChildFields, getFieldValue, getFields, getFieldsFromFormSection, getPathFromField, getUniqueFormFields, makeJsonPath, updateFormValuesWithFieldValue, updateFormValuesWithFieldValueInPlace } from './Form/helpers.js';
1
+ export { addFieldPath, assignDefaultValuesToFormValues, calculateSectionStatus, checkCondition, cleanUnusedDependenciesFromFormValues, copyAndAddPathToFields, getChildFields, getFieldValue, getFields, getFieldsFromFormSection, getPathFromField, getUniqueFormFields, makeJsonPath, updateFormValuesWithFieldValue, updateFormValuesWithFieldValueInPlace } from './Form/helpers.js';
2
2
  export { default as FormCreator } from './Form/Creator/FormCreator.js';
3
3
  export { default as FieldCreator } from './Form/Components/FieldCreator.js';
4
4
  export { default as BooleanInput } from './Form/Components/Inputs/Boolean.js';
5
- export { default as JSONStringInput } from './Form/Components/Inputs/JSONString.js';
5
+ export { default as JSONInput } from './Form/Components/Inputs/JSONInputLoader.js';
6
6
  export { default as NumberInput } from './Form/Components/Inputs/Number.js';
7
7
  export { default as TextInput } from './Form/Components/Inputs/String.js';
8
8
  export { default as LongTextInput } from './Form/Components/Inputs/LongString.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axdspub/axiom-ui-forms",
3
- "version": "0.2.7",
3
+ "version": "0.2.9",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "Axiom UI Forms",
@@ -19,6 +19,8 @@
19
19
  "dependencies": {
20
20
  "@axdspub/axiom-maps": "^0.4.9-alpha.28",
21
21
  "@axdspub/axiom-ui-utilities": "^0.1.6",
22
+ "@codemirror/lang-json": "^6.0.1",
23
+ "@codemirror/lang-yaml": "^6.1.2",
22
24
  "@radix-ui/react-icons": "^1.3.2",
23
25
  "@rollup/plugin-alias": "^5.1.1",
24
26
  "@rollup/plugin-babel": "^6.0.4",
@@ -32,16 +34,20 @@
32
34
  "@types/json-schema": "^7.0.15",
33
35
  "@types/react": "^18.2.28",
34
36
  "@types/react-dom": "^18.2.13",
37
+ "@uiw/react-codemirror": "^4.23.10",
35
38
  "ajv": "^8.17.1",
39
+ "ajv-formats": "^3.0.1",
36
40
  "autoprefixer": "^10.4.21",
37
41
  "cbor-x": "^1.6.0",
38
42
  "generate-schema": "^2.6.0",
39
43
  "jotai": "^2.7.0",
40
44
  "jotai-tanstack-query": "^0.8.5",
45
+ "js-yaml": "^4.1.0",
41
46
  "lodash.set": "^4.3.2",
42
47
  "postcss": "^8.5.3",
43
48
  "react": "^18.0.0",
44
49
  "react-dom": "^18.0.0",
50
+ "react-markdown": "^10.1.0",
45
51
  "react-media": "^1.10.0",
46
52
  "react-router-dom": "^7.2.0",
47
53
  "rimraf": "^6.0.1",
@@ -94,6 +100,7 @@
94
100
  },
95
101
  "devDependencies": {
96
102
  "@babel/plugin-proposal-private-property-in-object": "^7.21.11",
103
+ "@types/js-yaml": "^4.0.9",
97
104
  "@types/lodash": "^4.17.12",
98
105
  "@types/rison": "^0.1.0",
99
106
  "@types/to-json-schema": "^0.2.4",
@@ -1,34 +0,0 @@
1
- import { __assign } from '../../../../node_modules/tslib/tslib.es6.js';
2
- import FieldLabel from '../FieldLabel.js';
3
- import { TextArea } from '../../../../node_modules/@axdspub/axiom-ui-utilities/library/index.js';
4
- import React__default, { useState } from 'react';
5
-
6
- var JSONStringInput = function (_a) {
7
- var field = _a.field, onChange = _a.onChange, value = _a.value;
8
- var _b = useState(undefined), error = _b[0], setError = _b[1];
9
- var initialValue = value !== undefined ? value : '';
10
- var getValue = function () {
11
- return initialValue !== undefined && initialValue !== null
12
- ? typeof initialValue === 'object'
13
- ? JSON.stringify(initialValue, null, 2)
14
- : String(initialValue)
15
- : '';
16
- };
17
- return React__default.createElement("div", null,
18
- React__default.createElement(TextArea, { error: error, className: [
19
- 'min-h-[500px] bg-slate-50 rounded-lg shadow-inner'
20
- // 'p-0 bg-[repeating-linear-gradient(to_bottom,var(--tw-gradient-stops))] from-[#efefef] from-[length:0_25px] to-[#FFF] to-[length:25px_50px]'
21
- ].join(' '), id: field.id, testId: field.id, label: React__default.createElement(FieldLabel, __assign({}, field)), value: getValue(), onChange: function (e) {
22
- try {
23
- JSON.parse(e !== null && e !== void 0 ? e : '');
24
- onChange(JSON.parse(e !== null && e !== void 0 ? e : ''));
25
- setError(undefined);
26
- }
27
- catch (e) {
28
- setError('Invalid JSON');
29
- }
30
- } }));
31
- };
32
-
33
- export { JSONStringInput as default };
34
- //# sourceMappingURL=JSONString.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"JSONString.js","sources":["../../../../../../src/Form/Components/Inputs/JSONString.tsx"],"sourcesContent":["import FieldLabel from '@/Form/Components/FieldLabel'\nimport { type IFieldInputProps } from '@/Form/Creator/FormCreatorTypes'\nimport { TextArea } from '@axdspub/axiom-ui-utilities'\nimport React, { useState, type ReactElement } from 'react'\n\nconst JSONStringInput = ({ field, onChange, value }: IFieldInputProps): ReactElement => {\n const [error, setError] = useState<string | undefined>(undefined)\n const initialValue = value !== undefined ? value : ''\n const getValue = (): string => {\n return initialValue !== undefined && initialValue !== null\n ? typeof initialValue === 'object'\n ? JSON.stringify(initialValue, null, 2)\n : String(initialValue)\n : ''\n }\n return <div>\n <TextArea\n error={error}\n className={\n [\n 'min-h-[500px] bg-slate-50 rounded-lg shadow-inner'\n // 'p-0 bg-[repeating-linear-gradient(to_bottom,var(--tw-gradient-stops))] from-[#efefef] from-[length:0_25px] to-[#FFF] to-[length:25px_50px]'\n ].join(' ')\n }\n id={field.id}\n testId={field.id}\n label={<FieldLabel {...field} />}\n value={getValue()}\n onChange={(e) => {\n try {\n JSON.parse(e ?? '')\n onChange(JSON.parse(e ?? ''))\n setError(undefined)\n } catch (e) {\n setError('Invalid JSON')\n }\n }} /></div>\n}\n\nexport default JSONStringInput\n"],"names":["React"],"mappings":";;;;;AAKM,IAAA,eAAe,GAAG,UAAC,EAA4C,EAAA;AAA1C,IAAA,IAAA,KAAK,WAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA;IACzC,IAAA,EAAA,GAAoB,QAAQ,CAAqB,SAAS,CAAC,EAA1D,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,CAAA,CAA2C;AACjE,IAAA,IAAM,YAAY,GAAG,KAAK,KAAK,SAAS,GAAG,KAAK,GAAG,EAAE;AACrD,IAAA,IAAM,QAAQ,GAAG,YAAA;AACf,QAAA,OAAO,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK;AACpD,cAAE,OAAO,YAAY,KAAK;kBACtB,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;AACtC,kBAAE,MAAM,CAAC,YAAY;cACrB,EAAE;AACR,KAAC;IACD,OAAOA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,IAAA;AACH,QAAAA,cAAA,CAAA,aAAA,CAAC,QAAQ,EACP,EAAA,KAAK,EAAE,KAAK,EACZ,SAAS,EACL;gBACE;;AAED,aAAA,CAAC,IAAI,CAAC,GAAG,CAAC,EAEf,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,MAAM,EAAE,KAAK,CAAC,EAAE,EAChB,KAAK,EAAEA,cAAA,CAAA,aAAA,CAAC,UAAU,EAAA,QAAA,CAAA,EAAA,EAAK,KAAK,CAAI,CAAA,EAChC,KAAK,EAAE,QAAQ,EAAE,EACjB,QAAQ,EAAE,UAAC,CAAC,EAAA;AACV,gBAAA,IAAI;oBACF,IAAI,CAAC,KAAK,CAAC,CAAC,KAAA,IAAA,IAAD,CAAC,KAAA,KAAA,CAAA,GAAD,CAAC,GAAI,EAAE,CAAC;AACnB,oBAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAA,IAAA,IAAD,CAAC,KAAA,KAAA,CAAA,GAAD,CAAC,GAAI,EAAE,CAAC,CAAC;oBAC7B,QAAQ,CAAC,SAAS,CAAC;;gBACnB,OAAO,CAAC,EAAE;oBACV,QAAQ,CAAC,cAAc,CAAC;;aAE3B,EAAA,CAAI,CAAM;AACnB;;;;"}