@axdspub/axiom-ui-forms 0.2.8 → 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.
- package/library/axiom-ui-forms.d.ts +36 -4
- package/library/esm/_virtual/index10.js +2 -2
- package/library/esm/_virtual/index11.js +2 -2
- package/library/esm/_virtual/index12.js +6 -2
- package/library/esm/_virtual/index12.js.map +1 -1
- package/library/esm/_virtual/index13.js +6 -2
- package/library/esm/_virtual/index13.js.map +1 -1
- package/library/esm/_virtual/index14.js +2 -2
- package/library/esm/_virtual/index15.js +4 -0
- package/library/esm/_virtual/index15.js.map +1 -0
- package/library/esm/_virtual/index16.js +4 -0
- package/library/esm/_virtual/index16.js.map +1 -0
- package/library/esm/_virtual/index17.js +4 -0
- package/library/esm/_virtual/index17.js.map +1 -0
- package/library/esm/_virtual/index6.js +2 -2
- package/library/esm/_virtual/index6.js.map +1 -1
- package/library/esm/_virtual/index7.js +2 -2
- package/library/esm/_virtual/index7.js.map +1 -1
- package/library/esm/_virtual/index8.js +2 -2
- package/library/esm/_virtual/index9.js +2 -2
- package/library/esm/_virtual/utilities.js +4 -0
- package/library/esm/_virtual/utilities.js.map +1 -0
- package/library/esm/node_modules/@axdspub/axiom-ui-utilities/library/index.js +241 -9
- package/library/esm/node_modules/@axdspub/axiom-ui-utilities/library/index.js.map +1 -1
- package/library/esm/node_modules/@babel/runtime/helpers/esm/extends.js +12 -0
- package/library/esm/node_modules/@babel/runtime/helpers/esm/extends.js.map +1 -0
- package/library/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js +12 -0
- package/library/esm/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js.map +1 -0
- package/library/esm/node_modules/@codemirror/autocomplete/dist/index.js +1652 -0
- package/library/esm/node_modules/@codemirror/autocomplete/dist/index.js.map +1 -0
- package/library/esm/node_modules/@codemirror/commands/dist/index.js +1444 -0
- package/library/esm/node_modules/@codemirror/commands/dist/index.js.map +1 -0
- package/library/esm/node_modules/@codemirror/lang-json/dist/index.js +33 -0
- package/library/esm/node_modules/@codemirror/lang-json/dist/index.js.map +1 -0
- package/library/esm/node_modules/@codemirror/lang-yaml/dist/index.js +59 -0
- package/library/esm/node_modules/@codemirror/lang-yaml/dist/index.js.map +1 -0
- package/library/esm/node_modules/@codemirror/language/dist/index.js +1821 -0
- package/library/esm/node_modules/@codemirror/language/dist/index.js.map +1 -0
- package/library/esm/node_modules/@codemirror/lint/dist/index.js +589 -0
- package/library/esm/node_modules/@codemirror/lint/dist/index.js.map +1 -0
- package/library/esm/node_modules/@codemirror/search/dist/index.js +1227 -0
- package/library/esm/node_modules/@codemirror/search/dist/index.js.map +1 -0
- package/library/esm/node_modules/@codemirror/state/dist/index.js +3882 -0
- package/library/esm/node_modules/@codemirror/state/dist/index.js.map +1 -0
- package/library/esm/node_modules/@codemirror/theme-one-dark/dist/index.js +114 -0
- package/library/esm/node_modules/@codemirror/theme-one-dark/dist/index.js.map +1 -0
- package/library/esm/node_modules/@codemirror/view/dist/index.js +11052 -0
- package/library/esm/node_modules/@codemirror/view/dist/index.js.map +1 -0
- package/library/esm/node_modules/@lezer/common/dist/index.js +1704 -0
- package/library/esm/node_modules/@lezer/common/dist/index.js.map +1 -0
- package/library/esm/node_modules/@lezer/highlight/dist/index.js +876 -0
- package/library/esm/node_modules/@lezer/highlight/dist/index.js.map +1 -0
- package/library/esm/node_modules/@lezer/json/dist/index.js +38 -0
- package/library/esm/node_modules/@lezer/json/dist/index.js.map +1 -0
- package/library/esm/node_modules/@lezer/lr/dist/index.js +1855 -0
- package/library/esm/node_modules/@lezer/lr/dist/index.js.map +1 -0
- package/library/esm/node_modules/@lezer/yaml/dist/index.js +392 -0
- package/library/esm/node_modules/@lezer/yaml/dist/index.js.map +1 -0
- package/library/esm/node_modules/@marijn/find-cluster-break/src/index.js +83 -0
- package/library/esm/node_modules/@marijn/find-cluster-break/src/index.js.map +1 -0
- package/library/esm/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js +67 -1
- package/library/esm/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js.map +1 -1
- package/library/esm/node_modules/@uiw/codemirror-extensions-basic-setup/esm/index.js +100 -0
- package/library/esm/node_modules/@uiw/codemirror-extensions-basic-setup/esm/index.js.map +1 -0
- package/library/esm/node_modules/@uiw/react-codemirror/esm/getDefaultExtensions.js +58 -0
- package/library/esm/node_modules/@uiw/react-codemirror/esm/getDefaultExtensions.js.map +1 -0
- package/library/esm/node_modules/@uiw/react-codemirror/esm/index.js +89 -0
- package/library/esm/node_modules/@uiw/react-codemirror/esm/index.js.map +1 -0
- package/library/esm/node_modules/@uiw/react-codemirror/esm/theme/light.js +12 -0
- package/library/esm/node_modules/@uiw/react-codemirror/esm/theme/light.js.map +1 -0
- package/library/esm/node_modules/@uiw/react-codemirror/esm/useCodeMirror.js +151 -0
- package/library/esm/node_modules/@uiw/react-codemirror/esm/useCodeMirror.js.map +1 -0
- package/library/esm/node_modules/@uiw/react-codemirror/esm/utils.js +19 -0
- package/library/esm/node_modules/@uiw/react-codemirror/esm/utils.js.map +1 -0
- package/library/esm/node_modules/@ungap/structured-clone/esm/deserialize.js +77 -0
- package/library/esm/node_modules/@ungap/structured-clone/esm/deserialize.js.map +1 -0
- package/library/esm/node_modules/@ungap/structured-clone/esm/index.js +25 -0
- package/library/esm/node_modules/@ungap/structured-clone/esm/index.js.map +1 -0
- package/library/esm/node_modules/@ungap/structured-clone/esm/serialize.js +159 -0
- package/library/esm/node_modules/@ungap/structured-clone/esm/serialize.js.map +1 -0
- package/library/esm/node_modules/@ungap/structured-clone/esm/types.js +14 -0
- package/library/esm/node_modules/@ungap/structured-clone/esm/types.js.map +1 -0
- package/library/esm/node_modules/ajv/dist/compile/index.js +1 -1
- package/library/esm/node_modules/ajv/dist/vocabularies/applicator/index.js +1 -1
- package/library/esm/node_modules/ajv/dist/vocabularies/core/index.js +1 -1
- package/library/esm/node_modules/ajv/dist/vocabularies/format/index.js +1 -1
- package/library/esm/node_modules/ajv/dist/vocabularies/validation/index.js +1 -1
- package/library/esm/node_modules/bail/index.js +15 -0
- package/library/esm/node_modules/bail/index.js.map +1 -0
- package/library/esm/node_modules/comma-separated-tokens/index.js +37 -0
- package/library/esm/node_modules/comma-separated-tokens/index.js.map +1 -0
- package/library/esm/node_modules/crelt/index.js +30 -0
- package/library/esm/node_modules/crelt/index.js.map +1 -0
- package/library/esm/node_modules/decode-named-character-reference/index.dom.js +39 -0
- package/library/esm/node_modules/decode-named-character-reference/index.dom.js.map +1 -0
- package/library/esm/node_modules/devlop/lib/default.js +6 -0
- package/library/esm/node_modules/devlop/lib/default.js.map +1 -0
- package/library/esm/node_modules/estree-util-is-identifier-name/lib/index.js +31 -0
- package/library/esm/node_modules/estree-util-is-identifier-name/lib/index.js.map +1 -0
- package/library/esm/node_modules/extend/index.js +127 -0
- package/library/esm/node_modules/extend/index.js.map +1 -0
- package/library/esm/node_modules/fast-uri/index.js +1 -1
- package/library/esm/node_modules/hast-util-to-jsx-runtime/lib/index.js +791 -0
- package/library/esm/node_modules/hast-util-to-jsx-runtime/lib/index.js.map +1 -0
- package/library/esm/node_modules/hast-util-whitespace/lib/index.js +37 -0
- package/library/esm/node_modules/hast-util-whitespace/lib/index.js.map +1 -0
- package/library/esm/node_modules/html-url-attributes/lib/index.js +34 -0
- package/library/esm/node_modules/html-url-attributes/lib/index.js.map +1 -0
- package/library/esm/node_modules/inline-style-parser/index.js +268 -0
- package/library/esm/node_modules/inline-style-parser/index.js.map +1 -0
- package/library/esm/node_modules/js-yaml/dist/js-yaml.js +3850 -0
- package/library/esm/node_modules/js-yaml/dist/js-yaml.js.map +1 -0
- package/library/esm/node_modules/json-schema-traverse/index.js +1 -1
- package/library/esm/node_modules/mdast-util-from-markdown/lib/index.js +1181 -0
- package/library/esm/node_modules/mdast-util-from-markdown/lib/index.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/footer.js +197 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/footer.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/blockquote.js +31 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/blockquote.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/break.js +27 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/break.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/code.js +51 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/code.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/delete.js +31 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/delete.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/emphasis.js +31 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/emphasis.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js +74 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/heading.js +31 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/heading.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/html.js +32 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/html.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/image-reference.js +45 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/image-reference.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/image.js +40 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/image.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/index.js +67 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/index.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/inline-code.js +36 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/inline-code.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/link-reference.js +50 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/link-reference.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/link.js +41 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/link.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/list-item.js +126 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/list-item.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/list.js +57 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/list.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/paragraph.js +31 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/paragraph.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/root.js +27 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/root.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/strong.js +31 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/strong.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/table-cell.js +33 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/table-cell.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/table-row.js +70 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/table-row.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/table.js +65 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/table.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/text.js +29 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/text.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js +31 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/index.js +105 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/index.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/revert.js +56 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/revert.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/state.js +322 -0
- package/library/esm/node_modules/mdast-util-to-hast/lib/state.js.map +1 -0
- package/library/esm/node_modules/mdast-util-to-string/lib/index.js +111 -0
- package/library/esm/node_modules/mdast-util-to-string/lib/index.js.map +1 -0
- package/library/esm/node_modules/micromark/lib/constructs.js +108 -0
- package/library/esm/node_modules/micromark/lib/constructs.js.map +1 -0
- package/library/esm/node_modules/micromark/lib/create-tokenizer.js +576 -0
- package/library/esm/node_modules/micromark/lib/create-tokenizer.js.map +1 -0
- package/library/esm/node_modules/micromark/lib/initialize/content.js +83 -0
- package/library/esm/node_modules/micromark/lib/initialize/content.js.map +1 -0
- package/library/esm/node_modules/micromark/lib/initialize/document.js +361 -0
- package/library/esm/node_modules/micromark/lib/initialize/document.js.map +1 -0
- package/library/esm/node_modules/micromark/lib/initialize/flow.js +62 -0
- package/library/esm/node_modules/micromark/lib/initialize/flow.js.map +1 -0
- package/library/esm/node_modules/micromark/lib/initialize/text.js +213 -0
- package/library/esm/node_modules/micromark/lib/initialize/text.js.map +1 -0
- package/library/esm/node_modules/micromark/lib/parse.js +60 -0
- package/library/esm/node_modules/micromark/lib/parse.js.map +1 -0
- package/library/esm/node_modules/micromark/lib/postprocess.js +22 -0
- package/library/esm/node_modules/micromark/lib/postprocess.js.map +1 -0
- package/library/esm/node_modules/micromark/lib/preprocess.js +118 -0
- package/library/esm/node_modules/micromark/lib/preprocess.js.map +1 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/attention.js +245 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/attention.js.map +1 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/autolink.js +237 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/autolink.js.map +1 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/blank-line.js +65 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/blank-line.js.map +1 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/block-quote.js +147 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/block-quote.js.map +1 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/character-escape.js +68 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/character-escape.js.map +1 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/character-reference.js +153 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/character-reference.js.map +1 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/code-fenced.js +464 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/code-fenced.js.map +1 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/code-indented.js +181 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/code-indented.js.map +1 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/code-text.js +228 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/code-text.js.map +1 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/content.js +167 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/content.js.map +1 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/definition.js +258 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/definition.js.map +1 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/hard-break-escape.js +64 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/hard-break-escape.js.map +1 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/heading-atx.js +199 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/heading-atx.js.map +1 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/html-flow.js +880 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/html-flow.js.map +1 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/html-text.js +682 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/html-text.js.map +1 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/label-end.js +564 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/label-end.js.map +1 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/label-start-image.js +106 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/label-start-image.js.map +1 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/label-start-link.js +59 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/label-start-link.js.map +1 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/line-ending.js +36 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/line-ending.js.map +1 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/list.js +217 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/list.js.map +1 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/setext-underline.js +189 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/setext-underline.js.map +1 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/thematic-break.js +106 -0
- package/library/esm/node_modules/micromark-core-commonmark/lib/thematic-break.js.map +1 -0
- package/library/esm/node_modules/micromark-factory-destination/index.js +210 -0
- package/library/esm/node_modules/micromark-factory-destination/index.js.map +1 -0
- package/library/esm/node_modules/micromark-factory-label/index.js +152 -0
- package/library/esm/node_modules/micromark-factory-label/index.js.map +1 -0
- package/library/esm/node_modules/micromark-factory-space/index.js +68 -0
- package/library/esm/node_modules/micromark-factory-space/index.js.map +1 -0
- package/library/esm/node_modules/micromark-factory-title/index.js +162 -0
- package/library/esm/node_modules/micromark-factory-title/index.js.map +1 -0
- package/library/esm/node_modules/micromark-factory-whitespace/index.js +48 -0
- package/library/esm/node_modules/micromark-factory-whitespace/index.js.map +1 -0
- package/library/esm/node_modules/micromark-util-character/index.js +249 -0
- package/library/esm/node_modules/micromark-util-character/index.js.map +1 -0
- package/library/esm/node_modules/micromark-util-chunked/index.js +84 -0
- package/library/esm/node_modules/micromark-util-chunked/index.js.map +1 -0
- package/library/esm/node_modules/micromark-util-classify-character/index.js +31 -0
- package/library/esm/node_modules/micromark-util-classify-character/index.js.map +1 -0
- package/library/esm/node_modules/micromark-util-combine-extensions/index.js +96 -0
- package/library/esm/node_modules/micromark-util-combine-extensions/index.js.map +1 -0
- package/library/esm/node_modules/micromark-util-decode-numeric-character-reference/index.js +35 -0
- package/library/esm/node_modules/micromark-util-decode-numeric-character-reference/index.js.map +1 -0
- package/library/esm/node_modules/micromark-util-decode-string/index.js +49 -0
- package/library/esm/node_modules/micromark-util-decode-string/index.js.map +1 -0
- package/library/esm/node_modules/micromark-util-html-tag-name/index.js +96 -0
- package/library/esm/node_modules/micromark-util-html-tag-name/index.js.map +1 -0
- package/library/esm/node_modules/micromark-util-normalize-identifier/index.js +36 -0
- package/library/esm/node_modules/micromark-util-normalize-identifier/index.js.map +1 -0
- package/library/esm/node_modules/micromark-util-resolve-all/index.js +35 -0
- package/library/esm/node_modules/micromark-util-resolve-all/index.js.map +1 -0
- package/library/esm/node_modules/micromark-util-sanitize-uri/index.js +67 -0
- package/library/esm/node_modules/micromark-util-sanitize-uri/index.js.map +1 -0
- package/library/esm/node_modules/micromark-util-subtokenize/index.js +227 -0
- package/library/esm/node_modules/micromark-util-subtokenize/index.js.map +1 -0
- package/library/esm/node_modules/micromark-util-subtokenize/lib/splice-buffer.js +254 -0
- package/library/esm/node_modules/micromark-util-subtokenize/lib/splice-buffer.js.map +1 -0
- package/library/esm/node_modules/property-information/index.js +16 -0
- package/library/esm/node_modules/property-information/index.js.map +1 -0
- package/library/esm/node_modules/property-information/lib/aria.js +64 -0
- package/library/esm/node_modules/property-information/lib/aria.js.map +1 -0
- package/library/esm/node_modules/property-information/lib/find.js +101 -0
- package/library/esm/node_modules/property-information/lib/find.js.map +1 -0
- package/library/esm/node_modules/property-information/lib/hast-to-react.js +33 -0
- package/library/esm/node_modules/property-information/lib/hast-to-react.js.map +1 -0
- package/library/esm/node_modules/property-information/lib/html.js +318 -0
- package/library/esm/node_modules/property-information/lib/html.js.map +1 -0
- package/library/esm/node_modules/property-information/lib/normalize.js +15 -0
- package/library/esm/node_modules/property-information/lib/normalize.js.map +1 -0
- package/library/esm/node_modules/property-information/lib/svg.js +564 -0
- package/library/esm/node_modules/property-information/lib/svg.js.map +1 -0
- package/library/esm/node_modules/property-information/lib/util/case-insensitive-transform.js +16 -0
- package/library/esm/node_modules/property-information/lib/util/case-insensitive-transform.js.map +1 -0
- package/library/esm/node_modules/property-information/lib/util/case-sensitive-transform.js +14 -0
- package/library/esm/node_modules/property-information/lib/util/case-sensitive-transform.js.map +1 -0
- package/library/esm/node_modules/property-information/lib/util/create.js +47 -0
- package/library/esm/node_modules/property-information/lib/util/create.js.map +1 -0
- package/library/esm/node_modules/property-information/lib/util/defined-info.js +64 -0
- package/library/esm/node_modules/property-information/lib/util/defined-info.js.map +1 -0
- package/library/esm/node_modules/property-information/lib/util/info.js +35 -0
- package/library/esm/node_modules/property-information/lib/util/info.js.map +1 -0
- package/library/esm/node_modules/property-information/lib/util/merge.js +31 -0
- package/library/esm/node_modules/property-information/lib/util/merge.js.map +1 -0
- package/library/esm/node_modules/property-information/lib/util/schema.js +32 -0
- package/library/esm/node_modules/property-information/lib/util/schema.js.map +1 -0
- package/library/esm/node_modules/property-information/lib/util/types.js +16 -0
- package/library/esm/node_modules/property-information/lib/util/types.js.map +1 -0
- package/library/esm/node_modules/property-information/lib/xlink.js +20 -0
- package/library/esm/node_modules/property-information/lib/xlink.js.map +1 -0
- package/library/esm/node_modules/property-information/lib/xml.js +12 -0
- package/library/esm/node_modules/property-information/lib/xml.js.map +1 -0
- package/library/esm/node_modules/property-information/lib/xmlns.js +12 -0
- package/library/esm/node_modules/property-information/lib/xmlns.js.map +1 -0
- package/library/esm/node_modules/react-markdown/lib/index.js +267 -0
- package/library/esm/node_modules/react-markdown/lib/index.js.map +1 -0
- package/library/esm/node_modules/react-router/dist/development/chunk-HA7DTUK3.js +1 -1
- package/library/esm/node_modules/react-router/node_modules/cookie/dist/index.js +1 -1
- package/library/esm/node_modules/remark-parse/lib/index.js +43 -0
- package/library/esm/node_modules/remark-parse/lib/index.js.map +1 -0
- package/library/esm/node_modules/remark-rehype/lib/index.js +132 -0
- package/library/esm/node_modules/remark-rehype/lib/index.js.map +1 -0
- package/library/esm/node_modules/space-separated-tokens/index.js +23 -0
- package/library/esm/node_modules/space-separated-tokens/index.js.map +1 -0
- package/library/esm/node_modules/style-mod/src/style-mod.js +175 -0
- package/library/esm/node_modules/style-mod/src/style-mod.js.map +1 -0
- package/library/esm/node_modules/style-to-js/cjs/index.js +38 -0
- package/library/esm/node_modules/style-to-js/cjs/index.js.map +1 -0
- package/library/esm/node_modules/style-to-js/cjs/utilities.js +58 -0
- package/library/esm/node_modules/style-to-js/cjs/utilities.js.map +1 -0
- package/library/esm/node_modules/style-to-object/cjs/index.js +56 -0
- package/library/esm/node_modules/style-to-object/cjs/index.js.map +1 -0
- package/library/esm/node_modules/trim-lines/index.js +72 -0
- package/library/esm/node_modules/trim-lines/index.js.map +1 -0
- package/library/esm/node_modules/trough/lib/index.js +209 -0
- package/library/esm/node_modules/trough/lib/index.js.map +1 -0
- package/library/esm/node_modules/unified/lib/callable-instance.js +47 -0
- package/library/esm/node_modules/unified/lib/callable-instance.js.map +1 -0
- package/library/esm/node_modules/unified/lib/index.js +979 -0
- package/library/esm/node_modules/unified/lib/index.js.map +1 -0
- package/library/esm/node_modules/unified/node_modules/is-plain-obj/index.js +11 -0
- package/library/esm/node_modules/unified/node_modules/is-plain-obj/index.js.map +1 -0
- package/library/esm/node_modules/unist-util-is/lib/index.js +179 -0
- package/library/esm/node_modules/unist-util-is/lib/index.js.map +1 -0
- package/library/esm/node_modules/unist-util-position/lib/index.js +98 -0
- package/library/esm/node_modules/unist-util-position/lib/index.js.map +1 -0
- package/library/esm/node_modules/unist-util-stringify-position/lib/index.js +87 -0
- package/library/esm/node_modules/unist-util-stringify-position/lib/index.js.map +1 -0
- package/library/esm/node_modules/unist-util-visit/lib/index.js +95 -0
- package/library/esm/node_modules/unist-util-visit/lib/index.js.map +1 -0
- package/library/esm/node_modules/unist-util-visit-parents/lib/color.js +10 -0
- package/library/esm/node_modules/unist-util-visit-parents/lib/color.js.map +1 -0
- package/library/esm/node_modules/unist-util-visit-parents/lib/index.js +188 -0
- package/library/esm/node_modules/unist-util-visit-parents/lib/index.js.map +1 -0
- package/library/esm/node_modules/vfile/lib/index.js +644 -0
- package/library/esm/node_modules/vfile/lib/index.js.map +1 -0
- package/library/esm/node_modules/vfile/lib/minpath.browser.js +427 -0
- package/library/esm/node_modules/vfile/lib/minpath.browser.js.map +1 -0
- package/library/esm/node_modules/vfile/lib/minproc.browser.js +11 -0
- package/library/esm/node_modules/vfile/lib/minproc.browser.js.map +1 -0
- package/library/esm/node_modules/vfile/lib/minurl.browser.js +77 -0
- package/library/esm/node_modules/vfile/lib/minurl.browser.js.map +1 -0
- package/library/esm/node_modules/vfile/lib/minurl.shared.js +34 -0
- package/library/esm/node_modules/vfile/lib/minurl.shared.js.map +1 -0
- package/library/esm/node_modules/vfile-message/lib/index.js +305 -0
- package/library/esm/node_modules/vfile-message/lib/index.js.map +1 -0
- package/library/esm/node_modules/w3c-keyname/index.js +122 -0
- package/library/esm/node_modules/w3c-keyname/index.js.map +1 -0
- package/library/esm/src/Form/Components/FieldLabel.js +13 -3
- package/library/esm/src/Form/Components/FieldLabel.js.map +1 -1
- package/library/esm/src/Form/Components/InlineMarkdown.js +15 -0
- package/library/esm/src/Form/Components/InlineMarkdown.js.map +1 -0
- package/library/esm/src/Form/Components/Inputs/Boolean.js +5 -2
- package/library/esm/src/Form/Components/Inputs/Boolean.js.map +1 -1
- package/library/esm/src/Form/Components/Inputs/GeoJSONInputLoader.js +1 -1
- package/library/esm/src/Form/Components/Inputs/Geometry.js +290 -329
- package/library/esm/src/Form/Components/Inputs/Geometry.js.map +1 -1
- package/library/esm/src/Form/Components/Inputs/JSON.js +132 -0
- package/library/esm/src/Form/Components/Inputs/JSON.js.map +1 -0
- package/library/esm/src/Form/Components/Inputs/JSONInputLoader.js +19 -0
- package/library/esm/src/Form/Components/Inputs/JSONInputLoader.js.map +1 -0
- package/library/esm/src/Form/Components/Inputs/Number.js +78 -8
- package/library/esm/src/Form/Components/Inputs/Number.js.map +1 -1
- package/library/esm/src/Form/Components/Inputs/inputMap.js +2 -2
- package/library/esm/src/Form/Components/Inputs/inputMap.js.map +1 -1
- package/library/esm/src/Form/Creator/FormCreator.js +6 -2
- package/library/esm/src/Form/Creator/FormCreator.js.map +1 -1
- package/library/esm/src/Form/Creator/FormHeader.js +7 -5
- package/library/esm/src/Form/Creator/FormHeader.js.map +1 -1
- package/library/esm/src/Form/Creator/Page.js +4 -3
- package/library/esm/src/Form/Creator/Page.js.map +1 -1
- package/library/esm/src/Form/Manage/CopyableJSONOutput.js +41 -0
- package/library/esm/src/Form/Manage/CopyableJSONOutput.js.map +1 -0
- package/library/esm/src/Form/helpers.js +1 -1
- package/library/esm/src/Form/helpers.js.map +1 -1
- package/library/esm/src/Form/schemaToFormHelpers.js +87 -1
- package/library/esm/src/Form/schemaToFormHelpers.js.map +1 -1
- package/library/esm/src/library.js +1 -1
- package/package.json +7 -1
- package/library/esm/src/Form/Components/Inputs/JSONString.js +0 -34
- package/library/esm/src/Form/Components/Inputs/JSONString.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Geometry.js","sources":["../../../../../../src/Form/Components/Inputs/Geometry.tsx"],"sourcesContent":["import { Button, TextArea } from '@axdspub/axiom-ui-utilities'\nimport FieldLabel from '@/Form/Components/FieldLabel'\nimport { type IFieldInputProps } from '@/Form/Creator/FormCreatorTypes'\n\nimport { EMapShape, type IMap, type IMapDrawEvent, type IStyleableMapProps } from '@axdspub/axiom-maps'\nimport { OpenLayersMap as Map } from '@axdspub/axiom-maps/library/openlayers'\nimport { type Feature, type GeoJSON } from 'geojson'\nimport React, { useEffect, useState, type ReactElement } from 'react'\nimport { TrashIcon, SquareIcon, BorderSolidIcon, DrawingPinFilledIcon } from '@radix-ui/react-icons'\n\n/*\nList of coordinates for testing. Around Anchorage.\n61.44480592425796, -150.3785489314675\n61.26059021199541, -150.7356022485971\n61.05235501381105, -150.61435734866856\n61.06014246374005, -149.9221328461051\n61.441517540302925, -149.16102284579276\n61.44480592425796, -150.3785489314675\n*/\n\nconst calculateCenterFromGeoJSON = (geo: GeoJSON | undefined): { lat: number, lon: number, zoom: number } => {\n if (!geo || !('features' in geo) || !Array.isArray(geo.features) || geo.features.length === 0) {\n return { lat: 61.2181, lon: -149.9003, zoom: 8 } // Default to Anchorage\n }\n\n const feature = geo.features[0]\n if (!feature?.geometry) {\n return { lat: 61.2181, lon: -149.9003, zoom: 8 }\n }\n\n const geometry = feature.geometry\n let coordinates: GeoJSON.Position[] = []\n\n switch (geometry.type) {\n case 'Polygon':\n coordinates = geometry.coordinates[0] // Get first ring (ignore holes)\n break\n case 'LineString':\n coordinates = geometry.coordinates\n break\n case 'Point':\n coordinates = [geometry.coordinates]\n break\n default:\n return { lat: 61.2181, lon: -149.9003, zoom: 8 }\n }\n\n if (!Array.isArray(coordinates) || coordinates.length === 0) {\n return { lat: 61.2181, lon: -149.9003, zoom: 8 }\n }\n\n // Calculate bounds\n let minLat = Infinity\n let maxLat = -Infinity\n let minLon = Infinity\n let maxLon = -Infinity\n let sumLat = 0\n let sumLon = 0\n let count = 0\n\n coordinates.forEach((coord: GeoJSON.Position) => {\n const [lon, lat] = coord\n minLat = Math.min(minLat, lat)\n maxLat = Math.max(maxLat, lat)\n minLon = Math.min(minLon, lon)\n maxLon = Math.max(maxLon, lon)\n sumLat += lat\n sumLon += lon\n count++\n })\n\n // Calculate center\n const centerLat = sumLat / count\n const centerLon = sumLon / count\n\n // Calculate zoom level based on bounds\n const latDiff = maxLat - minLat\n const lonDiff = maxLon - minLon\n const maxDiff = Math.max(latDiff, lonDiff)\n\n // Adjust zoom based on the size of the shape\n let zoom = 8 // default zoom\n if (maxDiff < 0.1) zoom = 12 // very small shape\n else if (maxDiff < 0.5) zoom = 10 // small shape\n else if (maxDiff < 1) zoom = 9 // medium shape\n else if (maxDiff < 2) zoom = 8 // large shape\n else if (maxDiff < 5) zoom = 7 // very large shape\n else zoom = 6 // huge shape\n\n return {\n lat: centerLat,\n lon: centerLon,\n zoom\n }\n}\n\nexport const GeoJSONInput = ({ field, onChange, value }: IFieldInputProps): ReactElement => {\n console.log('INITIAL VALUE', value)\n const initialGeoJSON = value as unknown as GeoJSON\n const initialMapConfig = calculateCenterFromGeoJSON(initialGeoJSON)\n const [currentDrawType, setCurrentDrawType] = useState<EMapShape>(EMapShape.polygon)\n const [isDrawing, setIsDrawing] = useState<boolean>(false)\n\n // Draw settings\n const drawEnabled = field.settings?.drawEnabled !== false // Default to true if not specified\n const drawPolygonEnabled = field.settings?.drawPolygonEnabled !== false && drawEnabled // Default to true if drawEnabled and not specified\n const drawPathEnabled = field.settings?.drawPathEnabled !== false && drawEnabled // Default to true if drawEnabled and not specified\n const drawPointEnabled = field.settings?.drawPointEnabled !== false && drawEnabled // Default to true if drawEnabled and not specified\n const showCoordinateInput = field.settings?.showCoordinateInput !== false // Default to true if not specified\n\n // Set initial draw type based on enabled tools\n useEffect(() => {\n if (drawPolygonEnabled) {\n setCurrentDrawType(EMapShape.polygon)\n } else if (drawPathEnabled) {\n setCurrentDrawType(EMapShape.linestring)\n } else if (drawPointEnabled) {\n setCurrentDrawType(EMapShape.point)\n }\n }, [drawPolygonEnabled, drawPathEnabled, drawPointEnabled])\n\n const MAP_CONFIG: IStyleableMapProps = {\n baseLayerKey: 'hybrid',\n height: '500px',\n width: '100%',\n style: {\n left: '0px',\n top: '0px',\n right: '0px',\n bottom: '0px',\n padding: '0'\n },\n center: { lat: initialMapConfig.lat, lon: initialMapConfig.lon },\n zoom: initialMapConfig.zoom,\n tools: {\n draw: {\n shape: currentDrawType,\n enabled: drawEnabled && (drawPolygonEnabled || drawPathEnabled || drawPointEnabled)\n }\n }\n }\n\n const [map, setMapState] = useState<IMap | undefined>(undefined)\n const [error, setError] = useState<string | undefined>(undefined)\n const [geojson, setGeojson] = useState<Feature | undefined>(() => {\n if (!value) return undefined\n return value as unknown as Feature\n })\n const [showGeoJSONInput] = useState<boolean>(false) // For debugging purposes\n const [coordinates, setCoordinates] = useState<string>(() => {\n if (!value) return ''\n const geoValue = value as unknown as GeoJSON.FeatureCollection\n if (geoValue?.type === 'FeatureCollection' && Array.isArray(geoValue.features) && geoValue.features.length > 0) {\n const feature = geoValue.features[0]\n const geometry = feature?.geometry\n if (!geometry) return ''\n\n if (geometry.type === 'Polygon') {\n const coords = geometry.coordinates[0]\n return coords.map((pos: GeoJSON.Position) => `${pos[1]}, ${pos[0]}`).join('\\n')\n } else if (geometry.type === 'LineString') {\n const coords = geometry.coordinates\n return coords.map((pos: GeoJSON.Position) => `${pos[1]}, ${pos[0]}`).join('\\n')\n } else if (geometry.type === 'Point') {\n const coords = geometry.coordinates\n return `${coords[1]}, ${coords[0]}`\n }\n }\n return ''\n })\n\n const getValue = (): string => {\n return geojson !== undefined && geojson !== null\n ? typeof geojson === 'object'\n ? JSON.stringify(geojson, null, 2)\n : String(geojson)\n : ''\n }\n\n const createGeoJSONFromCoordinates = (coordString: string, forceType?: EMapShape): Feature | undefined => {\n if (!coordString.trim()) {\n setError(undefined)\n return undefined\n }\n\n try {\n const points = coordString\n .split('\\n')\n .map(line => line.trim())\n .filter(line => line.length > 0)\n .map(line => {\n const [lat, lon] = line.split(',').map(coord => parseFloat(coord.trim()))\n if (isNaN(lat) || isNaN(lon)) {\n throw new Error('Invalid coordinate format')\n }\n return [lon, lat]\n })\n\n if (points.length === 0) {\n throw new Error('No valid coordinates found')\n }\n\n // Single point\n if (points.length === 1) {\n return {\n type: 'Feature',\n properties: {},\n geometry: {\n type: 'Point',\n coordinates: points[0]\n }\n }\n }\n\n // For polygon or line, based on forceType or number of points\n if (forceType === EMapShape.polygon || (!forceType && points.length >= 3)) {\n // Close the polygon by adding the first point at the end if not already closed\n if (JSON.stringify(points[0]) !== JSON.stringify(points[points.length - 1])) {\n points.push(points[0])\n }\n return {\n type: 'Feature',\n properties: {},\n geometry: {\n type: 'Polygon',\n coordinates: [points]\n }\n }\n }\n\n // LineString\n return {\n\n type: 'Feature',\n properties: {},\n geometry: {\n type: 'LineString',\n coordinates: points\n }\n\n }\n } catch (e) {\n setError('Invalid coordinate format. Use \"lat, lon\" format, one per line')\n return undefined\n }\n }\n\n const [showShapeTypeButtons, setShowShapeTypeButtons] = useState<boolean>(() => {\n // Show buttons if initial value has 2+ coordinates\n if (!value) return false\n const geoValue = value as unknown as GeoJSON.FeatureCollection\n if (geoValue?.type === 'FeatureCollection' && Array.isArray(geoValue.features) && geoValue.features.length > 0) {\n const feature = geoValue.features[0]\n const geometry = feature?.geometry\n if (!geometry) return false\n\n if (geometry.type === 'Polygon' || geometry.type === 'LineString') {\n return geometry.coordinates.length >= 2\n }\n }\n return false\n })\n\n const updateCoordinatesFromGeoJSON = (geo: GeoJSON | undefined): void => {\n if (!geo || geo.type !== 'FeatureCollection' || !geo.features?.[0]?.geometry) return\n\n const feature = geo.features[0]\n const geometry = feature.geometry\n let newCoords = ''\n\n if (geometry.type === 'Polygon') {\n const coords = geometry.coordinates[0]\n newCoords = coords.map((pos: GeoJSON.Position) => `${pos[1]}, ${pos[0]}`).join('\\n')\n } else if (geometry.type === 'LineString') {\n const coords = geometry.coordinates\n newCoords = coords.map((pos: GeoJSON.Position) => `${pos[1]}, ${pos[0]}`).join('\\n')\n } else if (geometry.type === 'Point') {\n const coords = geometry.coordinates\n newCoords = `${coords[1]}, ${coords[0]}`\n }\n\n setCoordinates(newCoords)\n setShowShapeTypeButtons(shouldShowShapeButtons(newCoords))\n }\n\n // i think this has to stay - we're basically staying in sync with dom element outside of react\n useEffect(() => {\n if (map === undefined) return\n\n map.onDrawComplete((e: IMapDrawEvent) => {\n console.log('draw complete', e)\n setGeojson(e.data?.geojson.features?.[0])\n updateCoordinatesFromGeoJSON(e.data?.geojson)\n setIsDrawing(false)\n // Disable drawing after shape is completed\n map.disableDraw(currentDrawType)\n })\n\n // On modify drawing\n map.onDrawUpdate((e: IMapDrawEvent) => {\n console.log('draw update', e)\n setGeojson(e.data?.geojson?.features?.[0])\n updateCoordinatesFromGeoJSON(e.data?.geojson)\n })\n }, [map])\n\n // can we get rid of this?\n useEffect(() => {\n if (geojson !== undefined) {\n onChange(geojson.geometry)\n }\n }, [geojson])\n\n const hasValidShape = (geo: GeoJSON | undefined): boolean => {\n return geo !== undefined &&\n 'features' in geo &&\n Array.isArray(geo.features) &&\n geo.features.length > 0\n }\n\n const clearShape = (): void => {\n setGeojson(undefined)\n onChange(undefined)\n setCoordinates('')\n if (map) {\n map.setDrawGeojson({\n type: 'FeatureCollection',\n features: []\n })\n map.enableDraw(currentDrawType) // Re-enable drawing when shape is cleared\n setIsDrawing(true)\n }\n }\n\n const handleDrawTypeChange = (shapeType: EMapShape): void => {\n if (map) {\n // Clear existing shape if any\n map.setDrawGeojson({\n type: 'FeatureCollection',\n features: []\n })\n setGeojson(undefined)\n onChange(undefined)\n setCoordinates('')\n setShowShapeTypeButtons(false)\n setCurrentDrawType(shapeType)\n map.enableDraw(shapeType)\n setIsDrawing(true)\n }\n }\n\n const shouldShowShapeButtons = (coords: string): boolean => {\n const validLines = coords.trim().split('\\n')\n .map(line => line.trim())\n .filter(line => line.length > 0)\n .filter(line => {\n try {\n const [lat, lon] = line.split(',').map(coord => parseFloat(coord.trim()))\n return !isNaN(lat) && !isNaN(lon)\n } catch {\n return false\n }\n })\n return validLines.length >= 3\n }\n\n const handleCoordinatesChange = (e: string | undefined): void => {\n const newCoords = e ?? ''\n setCoordinates(newCoords)\n setShowShapeTypeButtons(shouldShowShapeButtons(newCoords))\n\n try {\n const newGeoJSON = createGeoJSONFromCoordinates(newCoords)\n if (newGeoJSON) {\n setGeojson(newGeoJSON)\n setError(undefined)\n if (map) {\n map.setDrawGeojson({\n type: 'FeatureCollection',\n features: []\n })\n map.setDrawGeojson({ type: 'FeatureCollection', features: [newGeoJSON] } satisfies GeoJSON.FeatureCollection)\n map.disableDraw(currentDrawType) // Disable drawing when coordinates are entered\n }\n } else {\n setGeojson(undefined)\n onChange(undefined)\n if (map) {\n map.setDrawGeojson({\n type: 'FeatureCollection',\n features: []\n })\n }\n }\n } catch (e) {\n setError('Invalid coordinate format')\n }\n }\n\n // Reload shape on the map\n useEffect(() => {\n if (map === undefined) return\n\n if (geojson !== undefined && 'features' in geojson) {\n map.setDrawGeojson({\n type: 'FeatureCollection',\n features: [geojson]\n } satisfies GeoJSON.FeatureCollection)\n map.disableDraw(currentDrawType) // Disable drawing when there's a shape\n setIsDrawing(false)\n // Update coordinates display and shape type buttons\n updateCoordinatesFromGeoJSON(geojson)\n setShowShapeTypeButtons(shouldShowShapeButtons(coordinates))\n } else {\n map.enableDraw(currentDrawType)\n setIsDrawing(true)\n }\n }, [map, currentDrawType])\n\n const applyShapeType = (shapeType: EMapShape): void => {\n const newGeoJSON = createGeoJSONFromCoordinates(coordinates, shapeType)\n if (newGeoJSON) {\n setGeojson(newGeoJSON)\n setError(undefined)\n if (map) {\n map.setDrawGeojson({\n type: 'FeatureCollection',\n features: []\n })\n map.setDrawGeojson({ type: 'FeatureCollection', features: [newGeoJSON] } satisfies GeoJSON.FeatureCollection)\n }\n }\n // Don't hide the buttons anymore\n // setShowShapeTypeButtons(false)\n }\n\n return <div>\n <FieldLabel {...field} />\n <div className=\"relative\">\n {drawEnabled && (drawPolygonEnabled || drawPathEnabled || drawPointEnabled) && (\n <div className=\"absolute z-20 top-12 right-4 flex flex-col gap-2\">\n {drawPolygonEnabled && (\n <div className=\"tooltip-container relative group\">\n <Button\n onClick={() => { handleDrawTypeChange(EMapShape.polygon) }}\n className={`p-2 rounded-lg shadow-lg ${\n currentDrawType === EMapShape.polygon && isDrawing\n ? 'bg-white hover:bg-gray-50 ring-2 ring-yellow-200 shadow-[0_0_10px_rgba(253,224,71,0.5)]'\n : 'bg-gray-100 hover:bg-gray-50'\n } text-black w-10 h-10 flex items-center justify-center`}\n >\n <SquareIcon className=\"w-5 h-5 rotate-45\" />\n <span className=\"tooltip absolute right-full mr-2 px-2 py-1 bg-gray-800 text-white text-sm rounded whitespace-nowrap opacity-0 group-hover:opacity-100 pointer-events-none\">\n Draw Polygon\n </span>\n </Button>\n </div>\n )}\n {drawPathEnabled && (\n <div className=\"tooltip-container relative group\">\n <Button\n onClick={() => { handleDrawTypeChange(EMapShape.linestring) }}\n className={`p-2 rounded-lg shadow-lg ${\n currentDrawType === EMapShape.linestring && isDrawing\n ? 'bg-white hover:bg-gray-50 ring-2 ring-yellow-200 shadow-[0_0_10px_rgba(253,224,71,0.5)]'\n : 'bg-gray-100 hover:bg-gray-50'\n } text-black w-10 h-10 flex items-center justify-center`}\n >\n <BorderSolidIcon className=\"w-5 h-5\" />\n <span className=\"tooltip absolute right-full mr-2 px-2 py-1 bg-gray-800 text-white text-sm rounded whitespace-nowrap opacity-0 group-hover:opacity-100 pointer-events-none\">\n Draw Path\n </span>\n </Button>\n </div>\n )}\n {drawPointEnabled && (\n <div className=\"tooltip-container relative group\">\n <Button\n onClick={() => { handleDrawTypeChange(EMapShape.point) }}\n className={`p-2 rounded-lg shadow-lg ${\n currentDrawType === EMapShape.point && isDrawing\n ? 'bg-white hover:bg-gray-50 ring-2 ring-yellow-200 shadow-[0_0_10px_rgba(253,224,71,0.5)]'\n : 'bg-gray-100 hover:bg-gray-50'\n } text-black w-10 h-10 flex items-center justify-center`}\n >\n <DrawingPinFilledIcon className=\"w-5 h-5\" />\n <span className=\"tooltip absolute right-full mr-2 px-2 py-1 bg-gray-800 text-white text-sm rounded whitespace-nowrap opacity-0 group-hover:opacity-100 pointer-events-none\">\n Draw Point\n </span>\n </Button>\n </div>\n )}\n {hasValidShape(geojson) && (\n <div className=\"tooltip-container relative group\">\n <Button\n onClick={clearShape}\n className=\"p-2 rounded-lg shadow-lg bg-red-500 hover:bg-red-600 text-white w-10 h-10 flex items-center justify-center\"\n >\n <TrashIcon className=\"w-5 h-5\" />\n <span className=\"tooltip absolute right-full mr-2 px-2 py-1 bg-gray-800 text-white text-sm rounded whitespace-nowrap opacity-0 group-hover:opacity-100 pointer-events-none\">\n Clear Shape\n </span>\n </Button>\n </div>\n )}\n </div>\n )}\n <Map {...MAP_CONFIG} setState={setMapState} />\n {showCoordinateInput && (\n <div className=\"mt-4\">\n <div className=\"flex justify-between items-center mb-2\">\n <span>Draw on map or enter coordinates <pre className=\"inline-block text-sm\">(latitude, longitude)</pre></span>\n {drawEnabled && showShapeTypeButtons && (\n <div className=\"flex gap-2\">\n {drawPathEnabled && (\n <Button\n onClick={() => { applyShapeType(EMapShape.linestring) }}\n className=\"px-4 py-1 bg-white hover:bg-gray-50 text-black rounded-lg shadow-sm border border-gray-200 text-sm flex items-center gap-2\"\n >\n <BorderSolidIcon className=\"w-4 h-4\" />\n Create Path\n </Button>\n )}\n {drawPolygonEnabled && (\n <Button\n onClick={() => { applyShapeType(EMapShape.polygon) }}\n className=\"px-4 py-1 bg-white hover:bg-gray-50 text-black rounded-lg shadow-sm border border-gray-200 text-sm flex items-center gap-2\"\n >\n <SquareIcon className=\"w-4 h-4 rotate-45\" />\n Create Polygon\n </Button>\n )}\n </div>\n )}\n </div>\n <TextArea\n error={error}\n className='min-h-[100px] bg-slate-50 rounded-lg shadow-inner'\n id={`${field.id}-coordinates`}\n testId={`${field.id}-coordinates`}\n value={coordinates}\n onChange={handleCoordinatesChange}\n placeholder=\"61.2181, -149.9003 61.2182, -149.9004 61.2183, -149.9005\"\n />\n </div>\n )}\n {showGeoJSONInput && <TextArea\n error={error}\n className='min-h-[500px] bg-slate-50 rounded-lg shadow-inner'\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 }} />}\n </div>\n </div>\n}\n\nexport default GeoJSONInput\n"],"names":["React","Map"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Geometry.js","sources":["../../../../../../src/Form/Components/Inputs/Geometry.tsx"],"sourcesContent":["import { Button, TextArea } from '@axdspub/axiom-ui-utilities'\nimport FieldLabel from '@/Form/Components/FieldLabel'\nimport { type IFieldInputProps, type IFormField } from '@/Form/Creator/FormCreatorTypes' // Added IFormField explicitly\n\nimport { EMapShape, type IMap, type IMapDrawEvent, type IStyleableMapProps } from '@axdspub/axiom-maps'\nimport { OpenLayersMap as Map } from '@axdspub/axiom-maps/library/openlayers'\n// Import Geometry type if not already done\nimport { type Feature, type GeoJSON, type Geometry } from 'geojson'\nimport React, { useEffect, useState, type ReactElement, useCallback } from 'react' // Added useCallback\nimport { TrashIcon, SquareIcon, BorderSolidIcon, DrawingPinFilledIcon } from '@radix-ui/react-icons'\n\n/*\nList of coordinates for testing. Around Anchorage.\n...\n*/\n\n// --- calculateCenterFromGeoJSON remains the same (zoom ignored for initial load) ---\nconst calculateCenterFromGeoJSON = (geo: GeoJSON | undefined): { lat: number, lon: number, zoom: number } => {\n // ... (Implementation from previous correct version) ...\n // If input is Geometry, wrap it temporarily for calculation\n let featureCollection: GeoJSON.FeatureCollection | undefined\n if (geo && geo.type !== 'FeatureCollection') {\n if (geo.type === 'Feature') {\n featureCollection = { type: 'FeatureCollection', features: [geo] }\n } else if (geo.type === 'Point' || geo.type === 'LineString' || geo.type === 'Polygon' /* add others as needed */) {\n featureCollection = { type: 'FeatureCollection', features: [{ type: 'Feature', properties: {}, geometry: geo as Geometry }] }\n }\n } else if (geo && geo.type === 'FeatureCollection') {\n featureCollection = geo\n }\n\n if (!featureCollection || !('features' in featureCollection) || !Array.isArray(featureCollection.features) || featureCollection.features.length === 0) {\n return { lat: 61.2181, lon: -149.9003, zoom: 8 } // Default to Anchorage\n }\n\n const feature = featureCollection.features[0]\n if (!feature?.geometry) {\n return { lat: 61.2181, lon: -149.9003, zoom: 8 }\n }\n\n const geometry = feature.geometry\n let coordinates: GeoJSON.Position | GeoJSON.Position[] | GeoJSON.Position[][] = [] // Adjusted type\n\n switch (geometry.type) {\n case 'Polygon':\n coordinates = geometry.coordinates[0] // Get first ring (ignore holes)\n break\n case 'LineString':\n coordinates = geometry.coordinates\n break\n case 'Point':\n coordinates = [geometry.coordinates] // Wrap single point for uniform handling\n break\n default:\n return { lat: 61.2181, lon: -149.9003, zoom: 8 }\n }\n\n // Flatten coordinates for bounds calculation if needed (e.g., MultiPoint, MultiLineString)\n const flatCoordinates = ([] as GeoJSON.Position[]).concat(...coordinates as any)\n\n if (!Array.isArray(flatCoordinates) || flatCoordinates.length === 0 || !Array.isArray(flatCoordinates[0])) {\n // Handle single point case where flatCoordinates might be just [lon, lat]\n if (Array.isArray(flatCoordinates) && flatCoordinates.length === 2 && typeof flatCoordinates[0] === 'number') {\n const [lon, lat] = flatCoordinates as GeoJSON.Position\n // FIX #2: Return a default zoom even for a point here for centering logic,\n // but we won't use this zoom for the initial MAP_CONFIG.\n return { lat, lon, zoom: 8 } // Default zoom\n }\n console.warn('Could not determine coordinates for centering.')\n return { lat: 61.2181, lon: -149.9003, zoom: 8 }\n }\n\n // Calculate bounds\n let minLat = Infinity; let maxLat = -Infinity; let minLon = Infinity; let maxLon = -Infinity\n let sumLat = 0; let sumLon = 0; let count = 0\n\n flatCoordinates.forEach((coord: GeoJSON.Position) => {\n if (!Array.isArray(coord) || coord.length < 2) return; const [lon, lat] = coord\n minLat = Math.min(minLat, lat); maxLat = Math.max(maxLat, lat); minLon = Math.min(minLon, lon); maxLon = Math.max(maxLon, lon)\n sumLat += lat; sumLon += lon; count++\n })\n\n if (count === 0) { return { lat: 61.2181, lon: -149.9003, zoom: 8 } }\n\n const centerLat = sumLat / count; const centerLon = sumLon / count\n const latDiff = maxLat - minLat; const lonDiff = maxLon - minLon; const maxDiff = Math.max(latDiff, lonDiff)\n\n let zoom = 8 // default zoom\n if (count === 1 || maxDiff === 0) zoom = 12; else if (maxDiff < 0.1) zoom = 12; else if (maxDiff < 0.5) zoom = 10\n else if (maxDiff < 1) zoom = 9; else if (maxDiff < 2) zoom = 8; else if (maxDiff < 5) zoom = 7; else zoom = 6\n\n return { lat: centerLat, lon: centerLon, zoom }\n}\n\n// Helper function to determine initial draw type based on settings\nconst getInitialDrawType = (field: IFormField): EMapShape => {\n const settings = field.settings ?? {}\n const drawEnabled = settings.drawEnabled !== false\n const drawPointEnabled = settings.drawPointEnable === true && drawEnabled\n const drawPathEnabled = settings.drawPathEnabled === true && drawEnabled\n const drawPolygonEnabled = settings.drawPolygonEnabled === true && drawEnabled\n\n if (drawPointEnabled) return EMapShape.point\n if (drawPathEnabled) return EMapShape.linestring\n if (drawPolygonEnabled) return EMapShape.polygon\n return EMapShape.point // Defaulting to Point if none specified\n}\n\nexport const GeometryInput = ({ field, onChange, value }: IFieldInputProps): ReactElement => {\n const [map, setMapState] = useState<IMap | undefined>(undefined)\n const [error, setError] = useState<string | undefined>(undefined)\n const [showGeoJSONInput] = useState<boolean>(false)\n\n const [geojson, setGeojson] = useState<Feature | undefined>(() => {\n if (value && typeof value === 'object' && 'type' in value && value.type !== 'FeatureCollection' && value.type !== 'Feature') {\n return { type: 'Feature', properties: {}, geometry: value as Geometry }\n }\n if (value && typeof value === 'object' && 'type' in value && value.type === 'Feature') { return value as Feature }\n return undefined\n })\n\n const drawEnabled = field.settings?.drawEnabled !== false\n const drawPointEnabled = field.settings?.drawPointEnable === true && drawEnabled\n const drawPathEnabled = field.settings?.drawPathEnabled === true && drawEnabled\n const drawPolygonEnabled = field.settings?.drawPolygonEnabled === true && drawEnabled\n const showCoordinateInput = field.settings?.showCoordinateInput !== false\n\n const [currentDrawType, setCurrentDrawType] = useState<EMapShape>(() => getInitialDrawType(field))\n const [isDrawing, setIsDrawing] = useState<boolean>(!geojson && drawEnabled)\n\n const initialMapCenter = calculateCenterFromGeoJSON(geojson)\n const INITIAL_DEFAULT_ZOOM = 8 // Fixed default zoom\n\n const MAP_CONFIG: IStyleableMapProps = {\n baseLayerKey: 'hybrid',\n height: '500px',\n width: '100%',\n style: { /* ... styles ... */ },\n center: { lat: initialMapCenter.lat, lon: initialMapCenter.lon },\n zoom: INITIAL_DEFAULT_ZOOM, // Use fixed zoom\n tools: {\n draw: {\n shape: currentDrawType,\n enabled: drawEnabled && (drawPolygonEnabled || drawPathEnabled || drawPointEnabled)\n }\n }\n }\n\n // ---- Coordinate Handling ----\n const updateCoordinatesFromFeature = useCallback((feature: Feature | undefined): void => {\n if (!feature?.geometry) { setCoordinates(''); return }\n const geometry = feature.geometry; let newCoords = ''\n try {\n if (geometry.type === 'Polygon') { newCoords = (geometry.coordinates[0] ?? []).map(pos => `${pos[1]}, ${pos[0]}`).join('\\n') } else if (geometry.type === 'LineString') { newCoords = (geometry.coordinates ?? []).map(pos => `${pos[1]}, ${pos[0]}`).join('\\n') } else if (geometry.type === 'Point') { const coords = geometry.coordinates ?? [NaN, NaN]; if (!isNaN(coords[0]) && !isNaN(coords[1])) { newCoords = `${coords[1]}, ${coords[0]}` } else { newCoords = '' } }\n } catch (e) { console.error('Err format coords:', e); newCoords = '' }\n setCoordinates(newCoords)\n // setShowShapeTypeButtons(shouldShowShapeButtons(newCoords)); // Let coordinate effect handle this\n }, [])\n\n const [coordinates, setCoordinates] = useState<string>(() => {\n if (!geojson?.geometry) return ''; let initCoords = ''; const geometry = geojson.geometry\n try {\n if (geometry.type === 'Polygon') { initCoords = (geometry.coordinates[0] ?? []).map(pos => `${pos[1]}, ${pos[0]}`).join('\\n') } else if (geometry.type === 'LineString') { initCoords = (geometry.coordinates ?? []).map(pos => `${pos[1]}, ${pos[0]}`).join('\\n') } else if (geometry.type === 'Point') { const coords = geometry.coordinates ?? [NaN, NaN]; if (!isNaN(coords[0]) && !isNaN(coords[1])) { initCoords = `${coords[1]}, ${coords[0]}` } }\n } catch (e) { console.error('Err init coords:', e); initCoords = '' } return initCoords\n })\n\n useEffect(() => { updateCoordinatesFromFeature(geojson) }, [geojson, updateCoordinatesFromFeature])\n\n const createGeoJSONFromCoordinates = (coordString: string, forceType?: EMapShape): Feature | undefined => { /* ... same as last working version ... */\n if (!coordString.trim()) { setError(undefined); return undefined }\n try {\n const points = coordString.split('\\n').map(l => l.trim()).filter(l => l).map(l => { const [lat, lon] = l.split(',').map(c => parseFloat(c.trim())); if (isNaN(lat) || isNaN(lon) || lat < -90 || lat > 90 || lon < -180 || lon > 180) throw Error(`Invalid: ${lat}, ${lon}`); return [lon, lat] })\n if (points.length === 0) throw Error('No valid coords')\n if (points.length === 1 && drawPointEnabled) return { type: 'Feature', properties: {}, geometry: { type: 'Point', coordinates: points[0] } }\n if ((forceType === EMapShape.polygon || (!forceType && points.length >= 3)) && drawPolygonEnabled) { if (points.length > 0 && JSON.stringify(points[0]) !== JSON.stringify(points[points.length - 1])) points.push(points[0]); if (points.length < 4) throw Error('Min 3 unique coords for polygon'); return { type: 'Feature', properties: {}, geometry: { type: 'Polygon', coordinates: [points] } } }\n if ((forceType === EMapShape.linestring || (!forceType && points.length >= 2)) && drawPathEnabled) { if (points.length < 2) throw Error('Min 2 coords for path'); return { type: 'Feature', properties: {}, geometry: { type: 'LineString', coordinates: points } } }\n setError('Cannot create shape. Check tools/coords.'); return undefined\n } catch (e: any) { setError(`Invalid coords/count: ${e.message}. Use \"lat, lon\"`); return undefined }\n }\n\n const shouldShowShapeButtons = (coords: string): boolean => { /* ... same as last working version ... */\n const validLinesCount = coords.trim().split('\\n').filter(l => l.trim()).length\n return (drawPolygonEnabled || drawPathEnabled) && validLinesCount >= 2\n }\n const [showShapeTypeButtons, setShowShapeTypeButtons] = useState<boolean>(() => shouldShowShapeButtons(coordinates))\n useEffect(() => { setShowShapeTypeButtons(shouldShowShapeButtons(coordinates)) }, [coordinates, drawPolygonEnabled, drawPathEnabled]) // Added effect to update buttons\n\n // ---- Map Event Handlers & State Updates ----\n useEffect(() => { // Map event listeners\n if (!map) return\n const drawCompleteListener = (e: IMapDrawEvent) => { /* ... same ... */ const f = e.data?.geojson?.features?.[0]; if (f) { setGeojson(f); setIsDrawing(false); map.disableDraw(currentDrawType) } }\n const drawUpdateListener = (e: IMapDrawEvent) => { /* ... same ... */ const f = e.data?.geojson?.features?.[0]; if (f) { setGeojson(f) } }\n map.onDrawComplete(drawCompleteListener); map.onDrawUpdate(drawUpdateListener)\n // Cleanup omitted\n }, [map, currentDrawType])\n\n useEffect(() => { // Parent onChange trigger\n onChange(geojson?.geometry ?? undefined)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [geojson])\n\n useEffect(() => { // Map drawing/state sync effect\n if (!map) return\n const correctDrawType = getInitialDrawType(field)\n if (currentDrawType !== correctDrawType) { setCurrentDrawType(correctDrawType) }\n\n if (geojson?.geometry) {\n map.setDrawGeojson({ type: 'FeatureCollection', features: [geojson] })\n map.disableDraw(correctDrawType) // Ensure correct tool is disabled\n setIsDrawing(false)\n } else {\n map.setDrawGeojson({ type: 'FeatureCollection', features: [] })\n if (drawEnabled && (drawPointEnabled || drawPathEnabled || drawPolygonEnabled)) {\n map.enableDraw(correctDrawType) // Enable the correct initial tool\n setIsDrawing(true)\n } else {\n map.disableDraw(correctDrawType) // Ensure drawing is off if not enabled\n setIsDrawing(false)\n }\n }\n }, [map, geojson, drawEnabled, drawPointEnabled, drawPathEnabled, drawPolygonEnabled, currentDrawType, field])\n\n // ---- Helper Functions ----\n const hasValidShape = (feature?: Feature): boolean => !!feature?.geometry\n\n const clearShape = (): void => { /* ... same ... */\n setGeojson(undefined); setCoordinates(''); setShowShapeTypeButtons(false)\n if (map && drawEnabled) { map.setDrawGeojson({ type: 'FeatureCollection', features: [] }); const iType = getInitialDrawType(field); setCurrentDrawType(iType); map.enableDraw(iType); setIsDrawing(true) }\n }\n\n const handleDrawTypeChange = (shapeType: EMapShape): void => { /* ... same as minimal fix version ... */\n if (map && drawEnabled) {\n const isAllowed = (shapeType === EMapShape.point && drawPointEnabled) || (shapeType === EMapShape.linestring && drawPathEnabled) || (shapeType === EMapShape.polygon && drawPolygonEnabled)\n if (isAllowed && shapeType !== currentDrawType) { map.disableDraw(currentDrawType); setCurrentDrawType(shapeType); map.enableDraw(shapeType); setIsDrawing(true) }\n }\n }\n\n const handleCoordinatesChange = (e: string | undefined): void => { /* ... same as minimal fix version ... */\n const newCoords = e ?? ''; setCoordinates(newCoords)\n const pointsCount = newCoords.trim().split('\\n').filter(l => l.trim()).length\n let intendedType: EMapShape | undefined\n if (pointsCount === 1 && drawPointEnabled) intendedType = EMapShape.point\n else if (pointsCount >= 3 && drawPolygonEnabled) intendedType = EMapShape.polygon\n else if (pointsCount >= 2 && drawPathEnabled) intendedType = EMapShape.linestring\n const newFeature = createGeoJSONFromCoordinates(newCoords, intendedType)\n if (newFeature) {\n setGeojson(newFeature); setError(undefined)\n if (map) { map.setDrawGeojson({ type: 'FeatureCollection', features: [] }); map.setDrawGeojson({ type: 'FeatureCollection', features: [newFeature] }); map.disableDraw(currentDrawType); setIsDrawing(false) }\n // setShowShapeTypeButtons(shouldShowShapeButtons(newCoords)); // Let effect handle this\n } else {\n if (!newCoords.trim()) { setGeojson(undefined); if (map && drawEnabled) { map.setDrawGeojson({ type: 'FeatureCollection', features: [] }); map.enableDraw(currentDrawType); setIsDrawing(true) } setShowShapeTypeButtons(false) } else if (!error) { setError('Cannot form valid shape with coords/tools.') }\n }\n }\n\n const applyShapeType = (shapeType: EMapShape): void => { /* ... same ... */\n const newFeature = createGeoJSONFromCoordinates(coordinates, shapeType)\n if (newFeature) { setGeojson(newFeature); setError(undefined) } else if (!error) { setError(`Could not create ${shapeType === EMapShape.polygon ? 'poly' : 'path'}.`) }\n }\n\n // ---- JSX Return (Reverting Button ClassNames and removing disabled) ----\n return (\n <div>\n <FieldLabel {...field} />\n <div className=\"relative\">\n {drawEnabled && (drawPolygonEnabled || drawPathEnabled || drawPointEnabled) && (\n <div className=\"absolute z-20 top-12 right-4 flex flex-col gap-2\">\n {/* Point Button - Render only if allowed */}\n {drawPointEnabled && (\n <div className=\"tooltip-container relative group\">\n <Button\n onClick={() => { handleDrawTypeChange(EMapShape.point) }}\n // Reverted className logic\n className={`p-2 rounded-lg shadow-lg ${\n currentDrawType === EMapShape.point && isDrawing\n ? 'bg-white hover:bg-gray-50 ring-2 ring-yellow-200 shadow-[0_0_10px_rgba(253,224,71,0.5)]'\n : 'bg-gray-100 hover:bg-gray-50'\n } text-black w-10 h-10 flex items-center justify-center`}\n aria-label=\"Draw Point\"\n >\n <DrawingPinFilledIcon className=\"w-5 h-5\" />\n <span className=\"tooltip absolute right-full mr-2 px-2 py-1 bg-gray-800 text-white text-sm rounded whitespace-nowrap opacity-0 group-hover:opacity-100 pointer-events-none\">\n Draw Point\n </span>\n </Button>\n </div>\n )}\n {/* Path Button - Render only if allowed */}\n {drawPathEnabled && (\n <div className=\"tooltip-container relative group\">\n <Button\n onClick={() => { handleDrawTypeChange(EMapShape.linestring) }}\n // Reverted className logic\n className={`p-2 rounded-lg shadow-lg ${\n currentDrawType === EMapShape.linestring && isDrawing\n ? 'bg-white hover:bg-gray-50 ring-2 ring-yellow-200 shadow-[0_0_10px_rgba(253,224,71,0.5)]'\n : 'bg-gray-100 hover:bg-gray-50'\n } text-black w-10 h-10 flex items-center justify-center`}\n aria-label=\"Draw Path\"\n >\n <BorderSolidIcon className=\"w-5 h-5\" />\n <span className=\"tooltip absolute right-full mr-2 px-2 py-1 bg-gray-800 text-white text-sm rounded whitespace-nowrap opacity-0 group-hover:opacity-100 pointer-events-none\">\n Draw Path\n </span>\n </Button>\n </div>\n )}\n {/* Polygon Button - Render only if allowed */}\n {drawPolygonEnabled && (\n <div className=\"tooltip-container relative group\">\n <Button\n onClick={() => { handleDrawTypeChange(EMapShape.polygon) }}\n // Reverted className logic\n className={`p-2 rounded-lg shadow-lg ${\n currentDrawType === EMapShape.polygon && isDrawing\n ? 'bg-white hover:bg-gray-50 ring-2 ring-yellow-200 shadow-[0_0_10px_rgba(253,224,71,0.5)]'\n : 'bg-gray-100 hover:bg-gray-50'\n } text-black w-10 h-10 flex items-center justify-center`}\n aria-label=\"Draw Polygon\"\n >\n <SquareIcon className=\"w-5 h-5 rotate-45\" />\n <span className=\"tooltip absolute right-full mr-2 px-2 py-1 bg-gray-800 text-white text-sm rounded whitespace-nowrap opacity-0 group-hover:opacity-100 pointer-events-none\">\n Draw Polygon\n </span>\n </Button>\n </div>\n )}\n {/* Clear Button - Render if shape exists */}\n {hasValidShape(geojson) && (\n <div className=\"tooltip-container relative group\">\n <Button\n onClick={clearShape}\n className=\"p-2 rounded-lg shadow-lg bg-red-500 hover:bg-red-600 text-white w-10 h-10 flex items-center justify-center\"\n aria-label=\"Clear Shape\"\n >\n <TrashIcon className=\"w-5 h-5\" />\n <span className=\"tooltip absolute right-full mr-2 px-2 py-1 bg-gray-800 text-white text-sm rounded whitespace-nowrap opacity-0 group-hover:opacity-100 pointer-events-none\">\n Clear Shape\n </span>\n </Button>\n </div>\n )}\n </div>\n )}\n\n {/* Map Component */}\n <Map {...MAP_CONFIG} setState={setMapState} />\n\n {/* Coordinate Input Section */}\n {showCoordinateInput && (\n <div className=\"mt-4\">\n <div className=\"flex justify-between items-center mb-2 flex-wrap gap-y-2\">\n <span className=\"text-sm\"> {/* ... label ... */} </span>\n {showShapeTypeButtons && (drawPathEnabled || drawPolygonEnabled) && (\n <div className=\"flex gap-2\"> {/* ... Create Path/Polygon buttons ... */}\n {drawPathEnabled && <Button onClick={() => { applyShapeType(EMapShape.linestring) }} className=\"px-3 py-1 bg-white hover:bg-gray-50 text-black rounded-lg shadow-sm border border-gray-200 text-xs flex items-center gap-1\"><BorderSolidIcon className=\"w-3 h-3\" />Create Path</Button>}\n {drawPolygonEnabled && <Button onClick={() => { applyShapeType(EMapShape.polygon) }} className=\"px-3 py-1 bg-white hover:bg-gray-50 text-black rounded-lg shadow-sm border border-gray-200 text-xs flex items-center gap-1\"><SquareIcon className=\"w-3 h-3 rotate-45\" />Create Polygon</Button>}\n </div>\n )}\n </div>\n <TextArea error={error} className='min-h-[100px] bg-slate-50 rounded-lg shadow-inner font-mono text-sm' id={`${field.id}-coordinates`} testId={`${field.id}-coordinates`} value={coordinates} onChange={handleCoordinatesChange} placeholder={'...'} aria-label=\"Coordinates Input\" />\n {error && <p className=\"text-red-600 text-xs mt-1\">{error}</p>}\n </div>\n )}\n\n {/* Debug Output (Optional) */}\n {showGeoJSONInput && <TextArea error={error} className='...' id={field.id + '-debug'} testId={field.id + '-debug'} label={<FieldLabel {...field} label=\"Debug GeoJSON Feature State\"/>} value={getValue()} readOnly />}\n </div>\n </div>\n )\n}\n\nexport default GeometryInput\n"],"names":["React","Map"],"mappings":"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"}
|
@@ -0,0 +1,132 @@
|
|
1
|
+
import { __assign } from '../../../../node_modules/tslib/tslib.es6.js';
|
2
|
+
import React__default, { useState } from 'react';
|
3
|
+
import ReactCodeMirror from '../../../../node_modules/@uiw/react-codemirror/esm/index.js';
|
4
|
+
import { json } from '../../../../node_modules/@codemirror/lang-json/dist/index.js';
|
5
|
+
import { yaml } from '../../../../node_modules/@codemirror/lang-yaml/dist/index.js';
|
6
|
+
import { autocompletion } from '../../../../node_modules/@codemirror/autocomplete/dist/index.js';
|
7
|
+
import { EditorView } from '../../../../node_modules/@codemirror/view/dist/index.js';
|
8
|
+
import jsYaml from '../../../../node_modules/js-yaml/dist/js-yaml.js';
|
9
|
+
import { Button } from '../../../../node_modules/@axdspub/axiom-ui-utilities/library/index.js';
|
10
|
+
import { UpdateIcon, ExclamationTriangleIcon } from '../../../../node_modules/@radix-ui/react-icons/dist/react-icons.esm.js';
|
11
|
+
import FieldLabel from '../FieldLabel.js';
|
12
|
+
import { CopyButton } from '../../Manage/CopyableJSONOutput.js';
|
13
|
+
|
14
|
+
var JsonYamlEditor = function (_a) {
|
15
|
+
var field = _a.field, onChange = _a.onChange, value = _a.value;
|
16
|
+
var _b = useState('json'), format = _b[0], setFormat = _b[1];
|
17
|
+
var _c = useState(typeof value === 'object'
|
18
|
+
? JSON.stringify(value, null, 2)
|
19
|
+
: (value !== undefined && value !== null
|
20
|
+
? String(value)
|
21
|
+
: '')), workingValue = _c[0], setWorkingValue = _c[1];
|
22
|
+
var _d = useState(null), error = _d[0], setError = _d[1];
|
23
|
+
// Validate JSON and display error
|
24
|
+
var validateJson = function (val) {
|
25
|
+
try {
|
26
|
+
if (val.trim() !== '') {
|
27
|
+
JSON.parse(val);
|
28
|
+
}
|
29
|
+
setError(null); // Clear error if valid
|
30
|
+
}
|
31
|
+
catch (err) {
|
32
|
+
setError('Invalid JSON: ' + err.message);
|
33
|
+
}
|
34
|
+
};
|
35
|
+
var validateYaml = function (val) {
|
36
|
+
try {
|
37
|
+
if (val.trim() !== '') {
|
38
|
+
jsYaml.load(val);
|
39
|
+
}
|
40
|
+
setError(null);
|
41
|
+
}
|
42
|
+
catch (err) {
|
43
|
+
setError('Invalid YAML: ' + err.message);
|
44
|
+
}
|
45
|
+
};
|
46
|
+
// Handle content change
|
47
|
+
var handleChange = function (val) {
|
48
|
+
setWorkingValue(val);
|
49
|
+
if (format === 'json') {
|
50
|
+
validateJson(val);
|
51
|
+
onChange(val);
|
52
|
+
}
|
53
|
+
else if (format === 'yaml') {
|
54
|
+
validateYaml(val);
|
55
|
+
var ob = jsYaml.load(val);
|
56
|
+
var json_1 = JSON.stringify(ob, null, 2);
|
57
|
+
validateJson(json_1);
|
58
|
+
onChange(json_1);
|
59
|
+
}
|
60
|
+
};
|
61
|
+
// Format JSON or YAML
|
62
|
+
var handleFormat = function () {
|
63
|
+
try {
|
64
|
+
if (format === 'json') {
|
65
|
+
var jsonObject = JSON.parse(workingValue);
|
66
|
+
setWorkingValue(JSON.stringify(jsonObject, null, 2));
|
67
|
+
validateJson(workingValue);
|
68
|
+
}
|
69
|
+
else {
|
70
|
+
var yamlObject = jsYaml.load(workingValue);
|
71
|
+
setWorkingValue(jsYaml.dump(yamlObject));
|
72
|
+
}
|
73
|
+
setError(null);
|
74
|
+
}
|
75
|
+
catch (error) {
|
76
|
+
setError('Formatting failed: Invalid data.');
|
77
|
+
}
|
78
|
+
};
|
79
|
+
var updateFormat = function (newFormat) {
|
80
|
+
try {
|
81
|
+
if (newFormat === 'yaml') {
|
82
|
+
if (workingValue.trim() !== '') {
|
83
|
+
var jsonObject = JSON.parse(workingValue);
|
84
|
+
setWorkingValue(jsYaml.dump(jsonObject));
|
85
|
+
}
|
86
|
+
setFormat('yaml');
|
87
|
+
setError(null);
|
88
|
+
}
|
89
|
+
else {
|
90
|
+
if (workingValue.trim() !== '') {
|
91
|
+
var yamlObject = jsYaml.load(workingValue);
|
92
|
+
var jsonString = JSON.stringify(yamlObject, null, 2);
|
93
|
+
setWorkingValue(jsonString);
|
94
|
+
validateJson(jsonString);
|
95
|
+
}
|
96
|
+
setFormat('json');
|
97
|
+
}
|
98
|
+
}
|
99
|
+
catch (error) {
|
100
|
+
setError('Format conversion failed: Invalid data.');
|
101
|
+
}
|
102
|
+
};
|
103
|
+
var btnClass = 'border-0 rounded-none';
|
104
|
+
return (React__default.createElement("div", { className: 'flex flex-col' },
|
105
|
+
React__default.createElement(FieldLabel, __assign({}, field)),
|
106
|
+
React__default.createElement("div", { className: 'flex flex-row' },
|
107
|
+
React__default.createElement(Button, { size: 'xs', disabled: error !== null, className: "".concat(btnClass, " ").concat(format !== 'json' ? 'font-normal' : 'text-white bg-[#282c34]'), onClick: function () { updateFormat('json'); } }, "JSON"),
|
108
|
+
React__default.createElement(Button, { size: 'xs', disabled: error !== null, className: "".concat(btnClass, " ").concat(format !== 'yaml' ? 'font-normal' : 'text-white bg-[#282c34]'), onClick: function () { updateFormat('yaml'); } }, "YAML"),
|
109
|
+
React__default.createElement("div", { className: "ml-auto" },
|
110
|
+
React__default.createElement(Button, { size: 'xs', className: btnClass, onClick: function () { handleFormat(); } },
|
111
|
+
"Format ",
|
112
|
+
React__default.createElement(UpdateIcon, { className: 'inline w-3 h-3 -mt-1 ml-1' })))),
|
113
|
+
React__default.createElement("div", { className: ' relative flex-grow' },
|
114
|
+
React__default.createElement("span", { className: 'absolute right-6 bottom-4 pointer-events-auto z-50' },
|
115
|
+
React__default.createElement(CopyButton, { string: error === null && workingValue !== ''
|
116
|
+
? format === 'json'
|
117
|
+
? JSON.stringify(JSON.parse(workingValue), null, 2)
|
118
|
+
: jsYaml.dump(workingValue)
|
119
|
+
: workingValue, className: 'white z-50' })),
|
120
|
+
error && React__default.createElement("p", { className: "text-red-500 text-xs mb-2 absolute bg-white bg-opacity-90 max-w-[50%] p-2 right-0 z-50" },
|
121
|
+
React__default.createElement(ExclamationTriangleIcon, { className: 'inline w-3 h-3 -mt-1 mr-1' }),
|
122
|
+
" ",
|
123
|
+
error),
|
124
|
+
React__default.createElement(ReactCodeMirror, { value: workingValue, className: 'h-full', height: '550px', extensions: [
|
125
|
+
format === 'json' ? json() : yaml(),
|
126
|
+
autocompletion(),
|
127
|
+
EditorView.lineWrapping
|
128
|
+
], onChange: handleChange, theme: "dark" }))));
|
129
|
+
};
|
130
|
+
|
131
|
+
export { JsonYamlEditor as default };
|
132
|
+
//# sourceMappingURL=JSON.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"JSON.js","sources":["../../../../../../src/Form/Components/Inputs/JSON.tsx"],"sourcesContent":["import React, { type ReactElement, useState } from 'react'\nimport CodeMirror from '@uiw/react-codemirror'\nimport { json } from '@codemirror/lang-json'\nimport { yaml } from '@codemirror/lang-yaml'\nimport { autocompletion } from '@codemirror/autocomplete'\nimport { EditorView } from '@codemirror/view'\nimport yamlParser from 'js-yaml'\nimport { Button } from '@axdspub/axiom-ui-utilities'\nimport { ExclamationTriangleIcon, UpdateIcon } from '@radix-ui/react-icons'\nimport { type IFieldInputProps } from '@/library'\nimport FieldLabel from '@/Form/Components/FieldLabel'\nimport { CopyButton } from '@/Form/Manage/CopyableJSONOutput'\n\nconst JsonYamlEditor = ({ field, onChange, value }: IFieldInputProps): ReactElement => {\n const [format, setFormat] = useState<'json' | 'yaml'>('json')\n const [workingValue, setWorkingValue] = useState<string>(typeof value === 'object'\n ? JSON.stringify(value, null, 2)\n : (value !== undefined && value !== null\n ? String(value)\n : ''\n )\n )\n const [error, setError] = useState<string | null>(null)\n\n // Validate JSON and display error\n const validateJson = (val: string): void => {\n try {\n if (val.trim() !== '') {\n JSON.parse(val)\n }\n setError(null) // Clear error if valid\n } catch (err) {\n setError('Invalid JSON: ' + (err as Error).message)\n }\n }\n\n const validateYaml = (val: string): void => {\n try {\n if (val.trim() !== '') {\n yamlParser.load(val)\n }\n setError(null)\n } catch (err) {\n setError('Invalid YAML: ' + (err as Error).message)\n }\n }\n\n // Handle content change\n const handleChange = (val: string): void => {\n setWorkingValue(val)\n if (format === 'json') {\n validateJson(val)\n onChange(val)\n } else if (format === 'yaml') {\n validateYaml(val)\n const ob = yamlParser.load(val)\n const json = JSON.stringify(ob, null, 2)\n validateJson(json)\n onChange(json)\n }\n }\n\n // Format JSON or YAML\n const handleFormat = (): void => {\n try {\n if (format === 'json') {\n const jsonObject = JSON.parse(workingValue)\n setWorkingValue(JSON.stringify(jsonObject, null, 2))\n validateJson(workingValue)\n } else {\n const yamlObject = yamlParser.load(workingValue)\n setWorkingValue(yamlParser.dump(yamlObject))\n }\n setError(null)\n } catch (error) {\n setError('Formatting failed: Invalid data.')\n }\n }\n\n const updateFormat = (newFormat: 'json' | 'yaml'): void => {\n try {\n if (newFormat === 'yaml') {\n if (workingValue.trim() !== '') {\n const jsonObject = JSON.parse(workingValue)\n setWorkingValue(yamlParser.dump(jsonObject))\n }\n setFormat('yaml')\n setError(null)\n } else {\n if (workingValue.trim() !== '') {\n const yamlObject = yamlParser.load(workingValue)\n const jsonString = JSON.stringify(yamlObject, null, 2)\n setWorkingValue(jsonString)\n validateJson(jsonString)\n }\n setFormat('json')\n }\n } catch (error) {\n setError('Format conversion failed: Invalid data.')\n }\n }\n\n const btnClass = 'border-0 rounded-none'\n\n return (\n <div className='flex flex-col'>\n <FieldLabel {...field} />\n <div className='flex flex-row'>\n <Button size='xs' disabled={error !== null} className={`${btnClass} ${format !== 'json' ? 'font-normal' : 'text-white bg-[#282c34]'}`} onClick={() => { updateFormat('json') }}>JSON</Button>\n <Button size='xs' disabled={error !== null} className={`${btnClass} ${format !== 'yaml' ? 'font-normal' : 'text-white bg-[#282c34]'}`} onClick={() => { updateFormat('yaml') }}>YAML</Button>\n <div className=\"ml-auto\">\n <Button size='xs' className={btnClass} onClick={() => { handleFormat() }}>Format <UpdateIcon className='inline w-3 h-3 -mt-1 ml-1' /></Button>\n </div>\n </div>\n <div className=' relative flex-grow'>\n <span className='absolute right-6 bottom-4 pointer-events-auto z-50'>\n <CopyButton string={\n error === null && workingValue !== ''\n ? format === 'json'\n ? JSON.stringify(JSON.parse(workingValue), null, 2)\n : yamlParser.dump(workingValue)\n : workingValue\n } className='white z-50' />\n </span>\n {error && <p className=\"text-red-500 text-xs mb-2 absolute bg-white bg-opacity-90 max-w-[50%] p-2 right-0 z-50\"><ExclamationTriangleIcon className='inline w-3 h-3 -mt-1 mr-1' /> {error}</p>}\n <CodeMirror\n value={workingValue}\n className='h-full'\n height='550px'\n extensions={[\n format === 'json' ? json() : yaml(),\n autocompletion(),\n EditorView.lineWrapping\n ]}\n onChange={handleChange}\n theme=\"dark\"\n />\n </div>\n\n </div>\n )\n}\n\nexport default JsonYamlEditor\n"],"names":["yamlParser","React","CodeMirror"],"mappings":";;;;;;;;;;;;;AAaM,IAAA,cAAc,GAAG,UAAC,EAA4C,EAAA;AAA1C,IAAA,IAAA,KAAK,WAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA;IACxC,IAAA,EAAA,GAAsB,QAAQ,CAAkB,MAAM,CAAC,EAAtD,MAAM,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,SAAS,GAAA,EAAA,CAAA,CAAA,CAAqC;AACvD,IAAA,IAAA,KAAkC,QAAQ,CAAS,OAAO,KAAK,KAAK;UACtE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;WAC5B,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK;AAChC,cAAE,MAAM,CAAC,KAAK;cACZ,EAAE,CACL,CACJ,EANM,YAAY,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,eAAe,GAAA,EAAA,CAAA,CAAA,CAMnC;IACK,IAAA,EAAA,GAAoB,QAAQ,CAAgB,IAAI,CAAC,EAAhD,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,CAAA,CAAiC;;IAGvD,IAAM,YAAY,GAAG,UAAC,GAAW,EAAA;AAC/B,QAAA,IAAI;AACF,YAAA,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;AACrB,gBAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;;AAEjB,YAAA,QAAQ,CAAC,IAAI,CAAC,CAAA;;QACd,OAAO,GAAG,EAAE;AACZ,YAAA,QAAQ,CAAC,gBAAgB,GAAI,GAAa,CAAC,OAAO,CAAC;;AAEvD,KAAC;IAED,IAAM,YAAY,GAAG,UAAC,GAAW,EAAA;AAC/B,QAAA,IAAI;AACF,YAAA,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;AACrB,gBAAAA,MAAU,CAAC,IAAI,CAAC,GAAG,CAAC;;YAEtB,QAAQ,CAAC,IAAI,CAAC;;QACd,OAAO,GAAG,EAAE;AACZ,YAAA,QAAQ,CAAC,gBAAgB,GAAI,GAAa,CAAC,OAAO,CAAC;;AAEvD,KAAC;;IAGD,IAAM,YAAY,GAAG,UAAC,GAAW,EAAA;QAC/B,eAAe,CAAC,GAAG,CAAC;AACpB,QAAA,IAAI,MAAM,KAAK,MAAM,EAAE;YACrB,YAAY,CAAC,GAAG,CAAC;YACjB,QAAQ,CAAC,GAAG,CAAC;;AACR,aAAA,IAAI,MAAM,KAAK,MAAM,EAAE;YAC5B,YAAY,CAAC,GAAG,CAAC;YACjB,IAAM,EAAE,GAAGA,MAAU,CAAC,IAAI,CAAC,GAAG,CAAC;AAC/B,YAAA,IAAM,MAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,YAAY,CAAC,MAAI,CAAC;YAClB,QAAQ,CAAC,MAAI,CAAC;;AAElB,KAAC;;AAGD,IAAA,IAAM,YAAY,GAAG,YAAA;AACnB,QAAA,IAAI;AACF,YAAA,IAAI,MAAM,KAAK,MAAM,EAAE;gBACrB,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;AAC3C,gBAAA,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBACpD,YAAY,CAAC,YAAY,CAAC;;iBACrB;gBACL,IAAM,UAAU,GAAGA,MAAU,CAAC,IAAI,CAAC,YAAY,CAAC;gBAChD,eAAe,CAACA,MAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;;YAE9C,QAAQ,CAAC,IAAI,CAAC;;QACd,OAAO,KAAK,EAAE;YACd,QAAQ,CAAC,kCAAkC,CAAC;;AAEhD,KAAC;IAED,IAAM,YAAY,GAAG,UAAC,SAA0B,EAAA;AAC9C,QAAA,IAAI;AACF,YAAA,IAAI,SAAS,KAAK,MAAM,EAAE;AACxB,gBAAA,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBAC9B,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;oBAC3C,eAAe,CAACA,MAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;;gBAE9C,SAAS,CAAC,MAAM,CAAC;gBACjB,QAAQ,CAAC,IAAI,CAAC;;iBACT;AACL,gBAAA,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBAC9B,IAAM,UAAU,GAAGA,MAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AAChD,oBAAA,IAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;oBACtD,eAAe,CAAC,UAAU,CAAC;oBAC3B,YAAY,CAAC,UAAU,CAAC;;gBAE1B,SAAS,CAAC,MAAM,CAAC;;;QAEnB,OAAO,KAAK,EAAE;YACd,QAAQ,CAAC,yCAAyC,CAAC;;AAEvD,KAAC;IAED,IAAM,QAAQ,GAAG,uBAAuB;AAExC,IAAA,QACEC,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,eAAe,EAAA;QAC5BA,cAAC,CAAA,aAAA,CAAA,UAAU,EAAK,QAAA,CAAA,EAAA,EAAA,KAAK,CAAI,CAAA;QACzBA,cAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,eAAe,EAAA;AAC5B,YAAAA,cAAA,CAAA,aAAA,CAAC,MAAM,EAAC,EAAA,IAAI,EAAC,IAAI,EAAC,QAAQ,EAAE,KAAK,KAAK,IAAI,EAAE,SAAS,EAAE,UAAG,QAAQ,EAAA,GAAA,CAAA,CAAA,MAAA,CAAI,MAAM,KAAK,MAAM,GAAG,aAAa,GAAG,yBAAyB,CAAE,EAAE,OAAO,EAAE,YAAA,EAAQ,YAAY,CAAC,MAAM,CAAC,CAAA,EAAE,EAAe,EAAA,MAAA,CAAA;AAC7L,YAAAA,cAAA,CAAA,aAAA,CAAC,MAAM,EAAC,EAAA,IAAI,EAAC,IAAI,EAAC,QAAQ,EAAE,KAAK,KAAK,IAAI,EAAE,SAAS,EAAE,UAAG,QAAQ,EAAA,GAAA,CAAA,CAAA,MAAA,CAAI,MAAM,KAAK,MAAM,GAAG,aAAa,GAAG,yBAAyB,CAAE,EAAE,OAAO,EAAE,YAAA,EAAQ,YAAY,CAAC,MAAM,CAAC,CAAA,EAAE,EAAe,EAAA,MAAA,CAAA;YAC7LA,cAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,SAAS,EAAA;AACxB,gBAAAA,cAAA,CAAA,aAAA,CAAC,MAAM,EAAC,EAAA,IAAI,EAAC,IAAI,EAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAA,EAAQ,YAAY,EAAE,CAAA,EAAE,EAAA;;oBAASA,cAAC,CAAA,aAAA,CAAA,UAAU,IAAC,SAAS,EAAC,2BAA2B,EAAG,CAAA,CAAS,CACxI,CACF;QACNA,cAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,qBAAqB,EAAA;YAClCA,cAAM,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,oDAAoD,EAAA;gBACpEA,cAAC,CAAA,aAAA,CAAA,UAAU,EAAC,EAAA,MAAM,EAChB,KAAK,KAAK,IAAI,IAAI,YAAY,KAAK;0BAC/B,MAAM,KAAK;AACX,8BAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC;AAClD,8BAAED,MAAU,CAAC,IAAI,CAAC,YAAY;AAChC,0BAAE,YAAY,EAChB,SAAS,EAAC,YAAY,GAAG,CACpB;AACR,YAAA,KAAK,IAAIC,cAAA,CAAA,aAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,wFAAwF,EAAA;AAAC,gBAAAA,cAAA,CAAA,aAAA,CAAC,uBAAuB,EAAA,EAAC,SAAS,EAAC,2BAA2B,EAAG,CAAA;;AAAE,gBAAA,KAAK,CAAK;AAC7L,YAAAA,cAAA,CAAA,aAAA,CAACC,eAAU,EAAA,EACT,KAAK,EAAE,YAAY,EACnB,SAAS,EAAC,QAAQ,EAClB,MAAM,EAAC,OAAO,EACd,UAAU,EAAE;oBACV,MAAM,KAAK,MAAM,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE;AACnC,oBAAA,cAAc,EAAE;AAChB,oBAAA,UAAU,CAAC;iBACZ,EACD,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAC,MAAM,EACZ,CAAA,CACI,CAEF;AAEV;;;;"}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { __awaiter, __assign, __generator } from '../../../../node_modules/tslib/tslib.es6.js';
|
2
|
+
import { Loader } from '../../../../node_modules/@axdspub/axiom-ui-utilities/library/index.js';
|
3
|
+
import React__default, { lazy, Suspense } from 'react';
|
4
|
+
|
5
|
+
var JSONInput = lazy(function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
6
|
+
switch (_a.label) {
|
7
|
+
case 0: return [4 /*yield*/, import('./JSON.js')];
|
8
|
+
case 1: return [2 /*return*/, _a.sent()];
|
9
|
+
}
|
10
|
+
}); }); });
|
11
|
+
var JSONInputLoader = function (props) {
|
12
|
+
return (React__default.createElement(React__default.Fragment, null,
|
13
|
+
React__default.createElement(Suspense, { fallback: React__default.createElement("div", { className: 'h-[500px]' },
|
14
|
+
React__default.createElement(Loader, { className: 'pt-20' })) },
|
15
|
+
React__default.createElement(JSONInput, __assign({}, props)))));
|
16
|
+
};
|
17
|
+
|
18
|
+
export { JSONInputLoader as default };
|
19
|
+
//# sourceMappingURL=JSONInputLoader.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"JSONInputLoader.js","sources":["../../../../../../src/Form/Components/Inputs/JSONInputLoader.tsx"],"sourcesContent":["import { type IFieldInputProps } from '@/Form/Creator/FormCreatorTypes'\nimport { Loader } from '@axdspub/axiom-ui-utilities'\nimport React, { lazy, Suspense, type ReactElement } from 'react'\n\nconst JSONInput = lazy(async () => await import('./JSON'))\nconst JSONInputLoader = (props: IFieldInputProps): ReactElement => {\n return (\n <>\n <Suspense fallback={<div className='h-[500px]'><Loader className='pt-20' /></div>}>\n <JSONInput {...props} />\n </Suspense>\n </>\n )\n}\n\nexport default JSONInputLoader\n"],"names":["React"],"mappings":";;;;AAIA,IAAM,SAAS,GAAG,IAAI,CAAC,YAAA,EAAA,OAAA,SAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,OAAA,WAAA,CAAA,IAAA,EAAA,UAAA,EAAA,EAAA;;AAAY,QAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,OAAO,WAAQ,CAAC,CAAA;AAAtB,QAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAA,SAAsB,CAAA;;AAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAC;AACpD,IAAA,eAAe,GAAG,UAAC,KAAuB,EAAA;AAC9C,IAAA,QACIA,cAAA,CAAA,aAAA,CAAAA,cAAA,CAAA,QAAA,EAAA,IAAA;AACE,QAAAA,cAAA,CAAA,aAAA,CAAC,QAAQ,EAAC,EAAA,QAAQ,EAAEA,cAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,WAAW,EAAA;AAAC,gBAAAA,cAAA,CAAA,aAAA,CAAC,MAAM,EAAC,EAAA,SAAS,EAAC,OAAO,GAAG,CAAM,EAAA;AAC7E,YAAAA,cAAA,CAAA,aAAA,CAAC,SAAS,EAAK,QAAA,CAAA,EAAA,EAAA,KAAK,EAAI,CACjB,CACV;AAET;;;;"}
|
@@ -1,20 +1,90 @@
|
|
1
1
|
import { __assign } from '../../../../node_modules/tslib/tslib.es6.js';
|
2
2
|
import FieldLabel from '../FieldLabel.js';
|
3
|
-
import { Input } from '../../../../node_modules/@axdspub/axiom-ui-utilities/library/index.js';
|
4
|
-
import
|
3
|
+
import { Slider as SliderSingle, Input } from '../../../../node_modules/@axdspub/axiom-ui-utilities/library/index.js';
|
4
|
+
import { Pencil1Icon, Cross2Icon, CheckIcon } from '../../../../node_modules/@radix-ui/react-icons/dist/react-icons.esm.js';
|
5
|
+
import React__default, { useState } from 'react';
|
5
6
|
|
6
|
-
var
|
7
|
+
var isValidNumber = function (value) {
|
8
|
+
if (value === undefined || value === null || value === '') {
|
9
|
+
return false;
|
10
|
+
}
|
11
|
+
var num = Number(value);
|
12
|
+
return !isNaN(num) && isFinite(num);
|
13
|
+
};
|
14
|
+
var SliderInput = function (_a) {
|
15
|
+
var field = _a.field, value = _a.value, onChange = _a.onChange, min = _a.min, max = _a.max, step = _a.step;
|
16
|
+
var updateTemp = function (value) {
|
17
|
+
if (value !== undefined && isValidNumber(String(value))) {
|
18
|
+
setTempValue(+value);
|
19
|
+
setTempTextValue(String(value));
|
20
|
+
}
|
21
|
+
else {
|
22
|
+
setTempTextValue(value !== undefined ? String(value) : undefined);
|
23
|
+
}
|
24
|
+
};
|
25
|
+
var _b = useState(value !== undefined && value !== null ? +value : 0), tempValue = _b[0], setTempValue = _b[1];
|
26
|
+
var _c = useState(value !== undefined ? String(value) : undefined), tempTextValue = _c[0], setTempTextValue = _c[1];
|
27
|
+
var _d = useState('slider'), mode = _d[0], setMode = _d[1];
|
28
|
+
return (React__default.createElement("div", null,
|
29
|
+
React__default.createElement(FieldLabel, __assign({}, field)),
|
30
|
+
React__default.createElement("div", { className: 'flex flex-row gap-4' },
|
31
|
+
React__default.createElement(SliderSingle, { className: 'flex-grow max-w-[400px] mt-1', size: 'sm', value: tempValue, min: min !== null && min !== void 0 ? min : 0, max: max, onChange: function (v) {
|
32
|
+
updateTemp(v);
|
33
|
+
}, onChangeComplete: function (v) {
|
34
|
+
updateTemp(v);
|
35
|
+
onChange(v);
|
36
|
+
}, id: field.id, testId: field.id, step: step !== null && step !== void 0 ? step : ((max - (min !== null && min !== void 0 ? min : 0)) / 100) }),
|
37
|
+
React__default.createElement("div", { className: 'w-[100px] flex flex-row text-right' }, mode === 'slider'
|
38
|
+
? React__default.createElement(React__default.Fragment, null,
|
39
|
+
React__default.createElement("strong", { className: 'w-[60px]' }, tempValue),
|
40
|
+
React__default.createElement(Pencil1Icon, { className: 'inline m-1 w-5 h-5 cursor-pointer', onClick: function () {
|
41
|
+
setMode('text');
|
42
|
+
} }))
|
43
|
+
: React__default.createElement(React__default.Fragment, null,
|
44
|
+
React__default.createElement(Input, { id: "slider-text-".concat(field.id), testId: "slider-text-".concat(field.id), value: tempTextValue !== undefined && tempTextValue !== null ? String(tempTextValue) : '', className: 'w-[50px] text-xs text-right', size: 'xs', label: undefined, onChange: function (e) {
|
45
|
+
updateTemp(e);
|
46
|
+
} }),
|
47
|
+
React__default.createElement(Cross2Icon, { className: 'flex-none inline w-5 h-5 m-1 cursor-pointer', color: 'red', onClick: function () {
|
48
|
+
setMode('slider');
|
49
|
+
} }),
|
50
|
+
React__default.createElement(CheckIcon, { className: "flex-none inline w-5 h-5 m-1 ".concat(isValidNumber(String(tempTextValue)) ? 'cursor-pointer' : 'opacity-50'), color: 'green', onClick: function () {
|
51
|
+
if (isValidNumber(String(tempTextValue))) {
|
52
|
+
setMode('slider');
|
53
|
+
updateTemp(tempTextValue);
|
54
|
+
onChange(tempTextValue);
|
55
|
+
}
|
56
|
+
} }))))));
|
57
|
+
};
|
58
|
+
var TextInput = function (_a) {
|
7
59
|
var field = _a.field, onChange = _a.onChange, value = _a.value;
|
8
|
-
var
|
9
|
-
return React__default.createElement(
|
10
|
-
React__default.createElement(Input, { id: field.id, testId: field.id, value:
|
11
|
-
if (e !== undefined && !isNaN(+e)) {
|
60
|
+
var _b = useState(undefined), error = _b[0], setError = _b[1];
|
61
|
+
return (React__default.createElement(React__default.Fragment, null,
|
62
|
+
React__default.createElement(Input, { id: field.id, testId: field.id, error: error, value: value !== undefined && value !== null ? String(value) : '', label: React__default.createElement(FieldLabel, __assign({}, field)), onChange: function (e) {
|
63
|
+
if (e !== undefined && !isNaN(+e) && e !== '') {
|
12
64
|
onChange(+e);
|
65
|
+
setError(undefined);
|
13
66
|
}
|
14
67
|
else {
|
68
|
+
if (String(e).length > 0) {
|
69
|
+
setError('Please enter a valid number');
|
70
|
+
}
|
71
|
+
else {
|
72
|
+
setError(undefined);
|
73
|
+
}
|
15
74
|
onChange(undefined);
|
16
75
|
}
|
17
|
-
} })
|
76
|
+
} }),
|
77
|
+
error !== undefined && React__default.createElement("p", { className: 'text-red-500 text-xs py-2' }, error)));
|
78
|
+
};
|
79
|
+
var NumberInput = function (_a) {
|
80
|
+
var _b, _c, _d;
|
81
|
+
var field = _a.field, onChange = _a.onChange, value = _a.value;
|
82
|
+
var initialValue = value !== undefined ? value : '';
|
83
|
+
var numberField = field;
|
84
|
+
var max = (_b = numberField === null || numberField === void 0 ? void 0 : numberField.constraints) === null || _b === void 0 ? void 0 : _b.max;
|
85
|
+
return (React__default.createElement("div", null, max !== undefined
|
86
|
+
? React__default.createElement(SliderInput, { field: field, value: initialValue, onChange: onChange, min: (_c = numberField === null || numberField === void 0 ? void 0 : numberField.constraints) === null || _c === void 0 ? void 0 : _c.min, max: max, step: (_d = numberField === null || numberField === void 0 ? void 0 : numberField.settings) === null || _d === void 0 ? void 0 : _d.step })
|
87
|
+
: React__default.createElement(TextInput, { field: field, value: initialValue, onChange: onChange })));
|
18
88
|
};
|
19
89
|
|
20
90
|
export { NumberInput as default };
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Number.js","sources":["../../../../../../src/Form/Components/Inputs/Number.tsx"],"sourcesContent":["import FieldLabel from '@/Form/Components/FieldLabel'\nimport { type IFieldInputProps } from '@/Form/Creator/FormCreatorTypes'\nimport { Input } from '@axdspub/axiom-ui-utilities'\nimport React, { type ReactElement } from 'react'\n\nconst NumberInput = ({ field, onChange, value }: IFieldInputProps): ReactElement => {\n const initialValue = value !== undefined ? value : ''\n return <div>\n <Input\n id={field.id}\n testId={field.id}\n value={initialValue !== undefined && initialValue !== null ? String(initialValue) : ''}\n label={<FieldLabel {...field} />} onChange={(e) => {\n if (e !== undefined && !isNaN(+e)) {\n onChange(+e)\n } else {\n onChange(undefined)\n }\n }} /></div>\n}\n\nexport default NumberInput\n"],"names":["React"],"mappings":";;;;;AAKM,IAAA,WAAW,GAAG,UAAC,EAA4C,EAAA;AAA1C,IAAA,IAAA,KAAK,WAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,KAAK,GAAA,EAAA,CAAA,KAAA;AAC3C,IAAA,IAAM,YAAY,GAAG,KAAK,KAAK,SAAS,GAAG,KAAK,GAAG,EAAE;IACrD,OAAOA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,IAAA;QACHA,cAAC,CAAA,aAAA,CAAA,KAAK,IACJ,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,MAAM,EAAE,KAAK,CAAC,EAAE,EAChB,KAAK,EAAE,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,EACtF,KAAK,EAAEA,cAAA,CAAA,aAAA,CAAC,UAAU,EAAK,QAAA,CAAA,EAAA,EAAA,KAAK,EAAI,EAAE,QAAQ,EAAE,UAAC,CAAC,EAAA;gBAC5C,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;AACjC,oBAAA,QAAQ,CAAC,CAAC,CAAC,CAAC;;qBACP;oBACL,QAAQ,CAAC,SAAS,CAAC;;aAEtB,EAAA,CAAI,CAAM;AACnB;;;;"}
|
1
|
+
{"version":3,"file":"Number.js","sources":["../../../../../../src/Form/Components/Inputs/Number.tsx"],"sourcesContent":["import FieldLabel from '@/Form/Components/FieldLabel'\nimport { type INumberField, type IFieldInputProps } from '@/Form/Creator/FormCreatorTypes'\nimport { Input, Slider } from '@axdspub/axiom-ui-utilities'\nimport { CheckIcon, Cross2Icon, Pencil1Icon } from '@radix-ui/react-icons'\nimport React, { useState, type ReactElement } from 'react'\n\nconst isValidNumber = (value: string): boolean => {\n if (value === undefined || value === null || value === '') {\n return false\n }\n const num = Number(value)\n return !isNaN(num) && isFinite(num)\n}\n\nconst SliderInput = ({ field, value, onChange, min, max, step }: IFieldInputProps & { max: number, min?: number, step?: number }): ReactElement => {\n const updateTemp = (value: string | number | undefined): void => {\n if (value !== undefined && isValidNumber(String(value))) {\n setTempValue(+value)\n setTempTextValue(String(value))\n } else {\n setTempTextValue(value !== undefined ? String(value) : undefined)\n }\n }\n const [tempValue, setTempValue] = useState<number>(value !== undefined && value !== null ? +value : 0)\n const [tempTextValue, setTempTextValue] = useState<string | undefined>(value !== undefined ? String(value) : undefined)\n const [mode, setMode] = useState<'slider' | 'text'>('slider')\n\n return (<div>\n <FieldLabel {...field} />\n <div className='flex flex-row gap-4'>\n <Slider\n className='flex-grow max-w-[400px] mt-1'\n size='sm'\n value={tempValue}\n min={min ?? 0}\n max={max}\n onChange={(v: number): void => {\n updateTemp(v)\n } }\n onChangeComplete={(v: number): void => {\n updateTemp(v)\n onChange(v)\n } }\n id={field.id}\n testId={field.id}\n step={step ?? ((max - (min ?? 0)) / 100)} />\n <div className='w-[100px] flex flex-row text-right'>\n {\n mode === 'slider'\n ? <>\n <strong className='w-[60px]'>{tempValue}</strong>\n <Pencil1Icon className='inline m-1 w-5 h-5 cursor-pointer' onClick={() => {\n setMode('text')\n }} />\n </>\n : <>\n <Input\n id={`slider-text-${field.id}`}\n testId={`slider-text-${field.id}`}\n value={tempTextValue !== undefined && tempTextValue !== null ? String(tempTextValue) : ''}\n className='w-[50px] text-xs text-right'\n size='xs'\n label={undefined}\n onChange={(e) => {\n updateTemp(e)\n }} />\n <Cross2Icon className='flex-none inline w-5 h-5 m-1 cursor-pointer' color='red' onClick={() => {\n setMode('slider')\n }} />\n <CheckIcon className={`flex-none inline w-5 h-5 m-1 ${isValidNumber(String(tempTextValue)) ? 'cursor-pointer' : 'opacity-50'}`} color='green' onClick={() => {\n if (isValidNumber(String(tempTextValue))) {\n setMode('slider')\n updateTemp(tempTextValue)\n onChange(tempTextValue)\n }\n }} />\n </>\n }\n </div>\n </div>\n </div>)\n}\n\nconst TextInput = ({ field, onChange, value }: IFieldInputProps): ReactElement => {\n const [error, setError] = useState<string | undefined>(undefined)\n\n return (\n <>\n <Input\n id={field.id}\n testId={field.id}\n error={error}\n value={value !== undefined && value !== null ? String(value) : ''}\n label={<FieldLabel {...field} />} onChange={(e) => {\n if (e !== undefined && !isNaN(+e) && e !== '') {\n onChange(+e)\n setError(undefined)\n } else {\n if (String(e).length > 0) {\n setError('Please enter a valid number')\n } else {\n setError(undefined)\n }\n onChange(undefined)\n }\n }} />\n {error !== undefined && <p className='text-red-500 text-xs py-2'>{error}</p>}\n </>\n )\n}\n\nconst NumberInput = ({ field, onChange, value }: IFieldInputProps): ReactElement => {\n const initialValue = value !== undefined ? value : ''\n const numberField = field as INumberField\n\n const max = numberField?.constraints?.max\n return (\n <div>{\n max !== undefined\n ? <SliderInput\n field={field}\n value={initialValue}\n onChange={onChange}\n min={numberField?.constraints?.min}\n max={max}\n step={numberField?.settings?.step} />\n : <TextInput\n field={field}\n value={initialValue}\n onChange={onChange} />\n }</div>\n )\n}\n\nexport default NumberInput\n"],"names":["React","Slider"],"mappings":"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"}
|
@@ -4,7 +4,7 @@ import StringInput from './String.js';
|
|
4
4
|
import ObjectInput from './Object.js';
|
5
5
|
import RadioInput from './RadioGroup.js';
|
6
6
|
import SingleSelectInput from './SingleSelect.js';
|
7
|
-
import
|
7
|
+
import JSONInputLoader from './JSONInputLoader.js';
|
8
8
|
import NumberInput from './Number.js';
|
9
9
|
import GeoJSONInputLoader$1 from './GeoJSONInputLoader.js';
|
10
10
|
import GeoJSONInputLoader from './GeometryInputLoader.js';
|
@@ -18,7 +18,7 @@ var inputMap = {
|
|
18
18
|
text: StringInput,
|
19
19
|
long_text: LongStringInput,
|
20
20
|
number: NumberInput,
|
21
|
-
json:
|
21
|
+
json: JSONInputLoader,
|
22
22
|
boolean: BooleanInput,
|
23
23
|
select: SingleSelectInput,
|
24
24
|
radio: RadioInput,
|
@@ -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/
|
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,6 +3,9 @@ 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 '../../../_virtual/ajv.js';
|
7
|
+
import '../../../_virtual/index.js';
|
8
|
+
import 'lodash';
|
6
9
|
import { utils as index$1 } from '../../../node_modules/@axdspub/axiom-ui-utilities/library/index.js';
|
7
10
|
import React__default, { useContext } from 'react';
|
8
11
|
|
@@ -24,7 +27,7 @@ var FormStatus = function () {
|
|
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 =
|
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);
|
29
32
|
var activeFormValues = structuredClone(formValueState[0]);
|
30
33
|
getFieldsFromFormSection(activeForm).forEach(function (field) {
|
@@ -44,7 +47,8 @@ var FormCreator = function (_a) {
|
|
44
47
|
} },
|
45
48
|
React__default.createElement("div", { className: index$1.makeClassName({
|
46
49
|
className: (_b = activeForm === null || activeForm === void 0 ? void 0 : activeForm.settings) === null || _b === void 0 ? void 0 : _b.class_name,
|
47
|
-
defaultClassName:
|
50
|
+
defaultClassName: defaultClassName,
|
51
|
+
extras: [className]
|
48
52
|
}) },
|
49
53
|
React__default.createElement(FormHeader, { form: activeForm, note: note, error: error }),
|
50
54
|
(activeForm === null || activeForm === void 0 ? void 0 : activeForm.fields) !== undefined && activeForm.fields.length > 0 && activeForm.pages === undefined && activeForm.wizard_steps === undefined
|