@tempots/beatui 0.81.0 → 0.82.1
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/dist/_commonjsHelpers-DKOUU3wS.cjs +1 -0
- package/dist/_commonjsHelpers-DaMA6jEr.js +8 -0
- package/dist/{ar-DwHLVgKj.cjs → ar-D7CXDmVZ.cjs} +1 -1
- package/dist/{ar-Bo_FZZi7.js → ar-nOSKXpIW.js} +1 -1
- package/dist/auth/index.cjs.js +1 -1
- package/dist/auth/index.es.js +63 -1349
- package/dist/auth-divider-BqZPH1-z.cjs +1 -0
- package/dist/auth-divider-Wr-S16kF.js +1355 -0
- package/dist/beatui.css +2035 -295
- package/dist/beatui.tailwind.css +2036 -296
- package/dist/better-auth/index.cjs.js +1 -0
- package/dist/better-auth/index.es.js +754 -0
- package/dist/{de-zI5mdV4M.cjs → de-WzsOu9Gn.cjs} +1 -1
- package/dist/{de-CCqwOkqN.js → de-f2xcEb34.js} +1 -1
- package/dist/{deep-merge-1uN6CG6K.js → deep-merge-BYm0y62g.js} +271 -285
- package/dist/deep-merge-d7sf0xmN.cjs +1 -0
- package/dist/duration-input-B9UNmUCh.cjs +1 -0
- package/dist/{duration-input-C9kpsw-t.js → duration-input-DqcJbxKD.js} +31 -29
- package/dist/editor-toolbar-group--a-xgsJw.cjs +1 -0
- package/dist/editor-toolbar-group-CVpl5mxF.js +31 -0
- package/dist/{es-BF02UrPL.js → es-CDqqzpCw.js} +1 -1
- package/dist/{es-Cw90CAbu.cjs → es-Ds2Xf3wV.cjs} +1 -1
- package/dist/{fa-DPQV4YB8.js → fa-C7tE_hR3.js} +1 -1
- package/dist/{fa-B4lssnzR.cjs → fa-Ct1UtDB7.cjs} +1 -1
- package/dist/{fr-1Kd6z1F-.cjs → fr-CzAkRFed.cjs} +1 -1
- package/dist/{fr-dmxPhwkD.js → fr-yOW_68YY.js} +1 -1
- package/dist/{he-BtQbrVt3.js → he-D2oUloCJ.js} +1 -1
- package/dist/{he-CJ3XnuPm.cjs → he-DlXALrK7.cjs} +1 -1
- package/dist/{hi-BpfnFKHp.cjs → hi-3dBhLwDs.cjs} +1 -1
- package/dist/{hi-D_Le4Yka.js → hi-D5ZlZoQq.js} +1 -1
- package/dist/{hls.light.min-Bhrf47iR.cjs → hls.light.min-C6xKDzRR.cjs} +1 -1
- package/dist/{hls.light.min-C6VwviEa.js → hls.light.min-hEMf_E8u.js} +1 -1
- package/dist/{index-CfaWytS2.cjs → index-05UbKOYe.cjs} +1 -1
- package/dist/{index-K6u33-GC.cjs → index-Bt7FYl80.cjs} +19 -19
- package/dist/{index-YtW7SCWB.js → index-C2Lq1m45.js} +1434 -1463
- package/dist/{index-CGEzILlC.js → index-lYhXnu6I.js} +1 -1
- package/dist/index.cjs.js +4 -4
- package/dist/index.es.js +2389 -2738
- package/dist/input-container-C6qEIjcA.cjs +1 -0
- package/dist/input-container-DiCjOzR2.js +247 -0
- package/dist/{it-DyHjSuHN.js → it-6e6X-4BB.js} +1 -1
- package/dist/{it-COCZ9NyB.cjs → it-DohtcWi9.cjs} +1 -1
- package/dist/{ja-X43lABza.js → ja-BxNuNo2H.js} +1 -1
- package/dist/{ja--NdggLU9.cjs → ja-eyTArrgS.cjs} +1 -1
- package/dist/json-schema/index.cjs.js +1 -8
- package/dist/json-schema/index.es.js +1359 -7608
- package/dist/json-schema-display/index.cjs.js +1 -0
- package/dist/json-schema-display/index.es.js +846 -0
- package/dist/json-structure/index.cjs.js +1 -1
- package/dist/json-structure/index.es.js +542 -698
- package/dist/{ko-BUvb0ggK.cjs → ko-BFLCDMMs.cjs} +1 -1
- package/dist/{ko-B9g9iw99.js → ko-Ch0jFsBV.js} +1 -1
- package/dist/lexical/index.cjs.js +46 -0
- package/dist/lexical/index.es.js +21370 -0
- package/dist/lexical.css +1124 -0
- package/dist/menu-CZzRsQP_.js +372 -0
- package/dist/menu-ClrU72xH.cjs +1 -0
- package/dist/modal-I5srcntN.cjs +1 -0
- package/dist/modal-v3u2Fpnd.js +488 -0
- package/dist/{nl-0S25Gsld.cjs → nl-Bx2ACvr4.cjs} +1 -1
- package/dist/{nl-Ew5jnSsT.js → nl-NuTdZO1s.js} +1 -1
- package/dist/{notice-C-964yaY.js → notice-BuZvdvZh.js} +84 -82
- package/dist/notice-CLDdy1MW.cjs +1 -0
- package/dist/oneof-branch-detection-DsM1K5xc.cjs +8 -0
- package/dist/oneof-branch-detection-Dt8ss9lc.js +6281 -0
- package/dist/{pl-C9f6UBSe.js → pl-Bs4nLJ__.js} +1 -1
- package/dist/{pl-B3k-K3S4.cjs → pl-QHl6sl8f.cjs} +1 -1
- package/dist/prosemirror/index.cjs.js +1 -1
- package/dist/prosemirror/index.es.js +1 -1
- package/dist/{pt-DYtAvbrw.js → pt-BETjHZrL.js} +1 -1
- package/dist/{pt-CKoikRO5.cjs → pt-DZGw2Z-1.cjs} +1 -1
- package/dist/{ru-ZexN-b8V.js → ru-Bi1_DEKM.js} +1 -1
- package/dist/{ru-COb7RSDt.cjs → ru-D03IuLqh.cjs} +1 -1
- package/dist/session-id-3KiilioY.js +8 -0
- package/dist/session-id-B5lJMzbB.cjs +1 -0
- package/dist/stack-BJgsPJ9A.js +873 -0
- package/dist/stack-DcZ_u50f.cjs +1 -0
- package/dist/string-B9vVyfq3.cjs +1 -0
- package/dist/string-DYyMxBl-.js +19 -0
- package/dist/styles-url-B2dzXrYt.cjs +1 -0
- package/dist/styles-url-Cw_mxshe.js +4 -0
- package/dist/text-input-B3VBat1k.js +44 -0
- package/dist/text-input-Ds8e7Z1G.cjs +1 -0
- package/dist/{toolbar-DNpBIoJo.js → toolbar-D994_E_s.js} +4 -4
- package/dist/toolbar-x0_8lmKu.cjs +1 -0
- package/dist/{tr-tO_EH-Y2.cjs → tr-B_-_1wua.cjs} +1 -1
- package/dist/{tr-BDvn05-H.js → tr-DiYB-FwX.js} +1 -1
- package/dist/translations-B4-Zd2LM.cjs +1 -0
- package/dist/translations-Cq8bUKJP.js +584 -0
- package/dist/{translations-DwGC_94w.cjs → translations-D62qqNV9.cjs} +1 -1
- package/dist/{translations-CfWR4loD.js → translations-DPr6c05Z.js} +1 -1
- package/dist/types/better-auth/bridge.d.ts +2 -0
- package/dist/types/better-auth/callbacks.d.ts +6 -0
- package/dist/types/better-auth/components/authenticated.d.ts +4 -0
- package/dist/types/better-auth/components/better-auth-container.d.ts +4 -0
- package/dist/types/better-auth/components/better-auth-modal.d.ts +4 -0
- package/dist/types/better-auth/components/magic-link-form.d.ts +7 -0
- package/dist/types/better-auth/components/passkey-management.d.ts +6 -0
- package/dist/types/better-auth/components/passkey-signin.d.ts +12 -0
- package/dist/types/better-auth/components/two-factor-setup.d.ts +8 -0
- package/dist/types/better-auth/components/two-factor-verify.d.ts +10 -0
- package/dist/types/better-auth/i18n/default.d.ts +29 -0
- package/dist/types/better-auth/i18n/locales/en.d.ts +28 -0
- package/dist/types/better-auth/i18n/translations.d.ts +27 -0
- package/dist/types/better-auth/index.d.ts +22 -0
- package/dist/types/better-auth/provider.d.ts +6 -0
- package/dist/types/better-auth/session.d.ts +14 -0
- package/dist/types/better-auth/social-mapping.d.ts +2 -0
- package/dist/types/better-auth/types.d.ts +164 -0
- package/dist/types/components/auth/auth-container.d.ts +1 -1
- package/dist/types/components/auth/social-providers.d.ts +1 -1
- package/dist/types/components/auth/types.d.ts +2 -0
- package/dist/types/components/editor-toolbar/editor-toolbar-button.d.ts +16 -0
- package/dist/types/components/editor-toolbar/editor-toolbar-group.d.ts +9 -0
- package/dist/types/components/editor-toolbar/index.d.ts +2 -0
- package/dist/types/components/json-schema-display/display-widget-customization.d.ts +61 -0
- package/dist/types/components/json-schema-display/display-wrapper.d.ts +14 -0
- package/dist/types/components/json-schema-display/displays/any-display.d.ts +14 -0
- package/dist/types/components/json-schema-display/displays/array-display.d.ts +13 -0
- package/dist/types/components/json-schema-display/displays/boolean-display.d.ts +13 -0
- package/dist/types/components/json-schema-display/displays/composition-display.d.ts +14 -0
- package/dist/types/components/json-schema-display/displays/enum-const-display.d.ts +13 -0
- package/dist/types/components/json-schema-display/displays/generic-display.d.ts +18 -0
- package/dist/types/components/json-schema-display/displays/null-display.d.ts +13 -0
- package/dist/types/components/json-schema-display/displays/number-display.d.ts +13 -0
- package/dist/types/components/json-schema-display/displays/object-display.d.ts +13 -0
- package/dist/types/components/json-schema-display/displays/string-display.d.ts +14 -0
- package/dist/types/components/json-schema-display/index.d.ts +14 -0
- package/dist/types/components/json-schema-display/json-schema-display.d.ts +25 -0
- package/dist/types/components/json-schema-display/mismatch.d.ts +14 -0
- package/dist/types/components/json-structure/controls/control-utils.d.ts +19 -0
- package/dist/types/components/json-structure/controls/index.d.ts +1 -0
- package/dist/types/components/lexical/bare-editor.d.ts +29 -0
- package/dist/types/components/lexical/code/index.d.ts +1 -0
- package/dist/types/components/lexical/code/language-selector.d.ts +13 -0
- package/dist/types/components/lexical/contextual-editor.d.ts +22 -0
- package/dist/types/components/lexical/docked-editor.d.ts +23 -0
- package/dist/types/components/lexical/floating/block-handle.d.ts +16 -0
- package/dist/types/components/lexical/floating/floating-toolbar.d.ts +12 -0
- package/dist/types/components/lexical/floating/index.d.ts +6 -0
- package/dist/types/components/lexical/floating/slash-command-palette.d.ts +20 -0
- package/dist/types/components/lexical/index.d.ts +8 -0
- package/dist/types/components/lexical/lexical-editor-input.d.ts +30 -0
- package/dist/types/components/lexical/table/index.d.ts +1 -0
- package/dist/types/components/lexical/table/table-controls.d.ts +12 -0
- package/dist/types/components/lexical/toolbar/index.d.ts +6 -0
- package/dist/types/components/lexical/toolbar/lexical-toolbar.d.ts +12 -0
- package/dist/types/components/lexical/toolbar/toolbar-button.d.ts +1 -0
- package/dist/types/components/lexical/toolbar/toolbar-group.d.ts +1 -0
- package/dist/types/components/lexical/toolbar/toolbar-helpers.d.ts +30 -0
- package/dist/types/components/prosemirror/etoolbar-button.d.ts +1 -11
- package/dist/types/components/prosemirror/etoolbar-group.d.ts +1 -4
- package/dist/types/json-schema-display/index.d.ts +1 -0
- package/dist/types/lexical/commands/index.d.ts +17 -0
- package/dist/types/lexical/headless.d.ts +39 -0
- package/dist/types/lexical/horizontal-rule-node.d.ts +20 -0
- package/dist/types/lexical/index.d.ts +20 -0
- package/dist/types/lexical/lazy-loader.d.ts +35 -0
- package/dist/types/lexical/nodes.d.ts +29 -0
- package/dist/types/lexical/plugins/auto-link.d.ts +7 -0
- package/dist/types/lexical/plugins/clipboard.d.ts +11 -0
- package/dist/types/lexical/plugins/code-shiki.d.ts +11 -0
- package/dist/types/lexical/plugins/code.d.ts +7 -0
- package/dist/types/lexical/plugins/dragon.d.ts +6 -0
- package/dist/types/lexical/plugins/file-io.d.ts +10 -0
- package/dist/types/lexical/plugins/hashtag.d.ts +7 -0
- package/dist/types/lexical/plugins/history.d.ts +7 -0
- package/dist/types/lexical/plugins/horizontal-rule.d.ts +12 -0
- package/dist/types/lexical/plugins/html-io.d.ts +9 -0
- package/dist/types/lexical/plugins/index.d.ts +24 -0
- package/dist/types/lexical/plugins/link.d.ts +6 -0
- package/dist/types/lexical/plugins/list.d.ts +6 -0
- package/dist/types/lexical/plugins/mark.d.ts +15 -0
- package/dist/types/lexical/plugins/markdown-io.d.ts +13 -0
- package/dist/types/lexical/plugins/offset.d.ts +6 -0
- package/dist/types/lexical/plugins/overflow.d.ts +7 -0
- package/dist/types/lexical/plugins/plain-text.d.ts +6 -0
- package/dist/types/lexical/plugins/rich-text.d.ts +6 -0
- package/dist/types/lexical/plugins/selection.d.ts +6 -0
- package/dist/types/lexical/plugins/slash-commands.d.ts +26 -0
- package/dist/types/lexical/plugins/table.d.ts +11 -0
- package/dist/types/lexical/plugins/text.d.ts +13 -0
- package/dist/types/lexical/plugins/yjs.d.ts +9 -0
- package/dist/types/lexical/styles-url.d.ts +2 -0
- package/dist/types/lexical/styles.d.ts +2 -0
- package/dist/types/lexical/types.d.ts +634 -0
- package/dist/types/lexical-i18n/default.d.ts +92 -0
- package/dist/types/lexical-i18n/index.d.ts +21 -0
- package/dist/types/lexical-i18n/locales/ar.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/de.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/en.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/es.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/fa.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/fr.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/he.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/hi.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/it.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/ja.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/ko.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/nl.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/pl.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/pt.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/ru.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/tr.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/ur.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/vi.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/zh.d.ts +91 -0
- package/dist/types/lexical-i18n/translations.d.ts +21 -0
- package/dist/{ur-DbEqQgS6.js → ur-B69X-xNs.js} +1 -1
- package/dist/{ur-BbnYJ3HS.cjs → ur-DyUSmIbo.cjs} +1 -1
- package/dist/use-animated-toggle-ChycsEoj.js +175 -0
- package/dist/use-animated-toggle-DR6CyMac.cjs +1 -0
- package/dist/use-form-B56E_x5Y.js +859 -0
- package/dist/use-form-Cnp3XQ5X.cjs +2 -0
- package/dist/utils-DEbsp9Q9.js +129 -0
- package/dist/utils-DIUEhA-Z.cjs +1 -0
- package/dist/{vi-CpZUeuSj.js → vi-BdzxA60L.js} +1 -1
- package/dist/{vi-ByBwvGQY.cjs → vi-CBmPaHxg.cjs} +1 -1
- package/dist/widget-customization-Dk7XcVly.cjs +1 -0
- package/dist/widget-customization-Ds9sicAg.js +1073 -0
- package/dist/{zh-DnxK0ieB.cjs → zh-Cb1b8uik.cjs} +1 -1
- package/dist/{zh-DJyhKO0I.js → zh-Dn1UJiZa.js} +1 -1
- package/package.json +59 -8
- package/dist/_commonjsHelpers-C6fGbg64.js +0 -6
- package/dist/_commonjsHelpers-DwGv2jUC.cjs +0 -1
- package/dist/deep-merge-CBIkQM4E.cjs +0 -1
- package/dist/duration-input-DHWhQJnn.cjs +0 -1
- package/dist/modal-CSHIhHvI.js +0 -654
- package/dist/modal-cc8Ehngz.cjs +0 -1
- package/dist/notice-C_BWqu2K.cjs +0 -1
- package/dist/toolbar-D5FcnRju.cjs +0 -1
- package/dist/translations-0tLX4x7M.js +0 -866
- package/dist/translations-WPN3ibDg.cjs +0 -1
- package/dist/use-form-D4JFOcjo.cjs +0 -2
- package/dist/use-form-D4rqJkvG.js +0 -1731
- package/dist/widget-customization-BSjJz3_Y.js +0 -1195
- package/dist/widget-customization-CrFVrt4V.cjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("../deep-merge-CBIkQM4E.cjs"),l=require("@tempots/dom"),d=require("../use-form-D4JFOcjo.cjs"),P=require("../translations-WPN3ibDg.cjs"),C=require("../duration-input-DHWhQJnn.cjs"),Ke=require("../colors-B2yrgHSW.cjs");function le(e){return e==="int64"||e==="int128"||e==="uint64"||e==="uint128"}function q(e){return e==="int8"||e==="int16"||e==="int32"||e==="int64"||e==="int128"||e==="uint8"||e==="uint16"||e==="uint32"||e==="uint64"||e==="uint128"}function U(e){return e==="float"||e==="double"||e==="decimal"}function ce(e){return q(e)||U(e)}function W(e){return e==="date"||e==="datetime"||e==="time"||e==="duration"}function pe(e){return e==="string"||e==="boolean"||e==="null"||ce(e)||W(e)||e==="uuid"||e==="uri"||e==="binary"}function Ze(e){return e==="object"||e==="array"||e==="set"||e==="map"||e==="tuple"||e==="choice"||e==="any"}function D(e){return typeof e=="object"&&e!==null&&"$ref"in e}function de(e){return typeof e=="object"&&e!==null&&!("type"in e)&&!("$ref"in e)&&!("enum"in e)&&!("const"in e)}function fe(e){return typeof e=="object"&&e!==null&&("type"in e||"$ref"in e||"enum"in e||"const"in e)}function M(e){return e.type==="object"&&"properties"in e}function Z(e){return e.type==="array"&&"items"in e}function H(e){return e.type==="set"&&"items"in e}function X(e){return e.type==="map"&&"values"in e}function Y(e){return e.type==="tuple"&&"tuple"in e}function Q(e){return e.type==="choice"&&"choices"in e}function me(e){return"enum"in e&&Array.isArray(e.enum)}function ye(e){return"const"in e}function J(e){return e===void 0?null:typeof e=="string"||Array.isArray(e)?e:(D(e),null)}function ge(e){return e===void 0?!1:e==="null"?!0:Array.isArray(e)?e.includes("null"):!1}function B(e){return typeof e=="string"?e==="null"?[]:[e]:Array.isArray(e)?e.filter(t=>t!=="null"):[]}const V={int8:{min:-128n,max:127n},int16:{min:-32768n,max:32767n},int32:{min:-2147483648n,max:2147483647n},int64:{min:-9223372036854775808n,max:9223372036854775807n},int128:{min:-170141183460469231731687303715884105728n,max:170141183460469231731687303715884105727n},uint8:{min:0n,max:255n},uint16:{min:0n,max:65535n},uint32:{min:0n,max:4294967295n},uint64:{min:0n,max:18446744073709551615n},uint128:{min:0n,max:340282366920938463463374607431768211455n}};function he(e){return e.startsWith("#/")?e.slice(2).split("/"):e.includes("/")?e.split("/"):["definitions",e]}function He(e,t){let r=e;for(const n of t){if(r==null||typeof r!="object")return;r=r[n]}return r}function R(e,t){const r=he(e),n=He(t,r);if(n==null){console.warn(`Failed to resolve $ref: ${e}`);return}if(fe(n))return n;if(de(n)){console.warn(`$ref "${e}" points to a namespace, not a type definition`);return}}function Xe(e,t){return R(e.$ref,t)}class be{schema;visited=new Set;constructor(t){this.schema=t}resolve(t){if(this.visited.has(t)){console.warn(`Circular reference detected: ${t}`);return}this.visited.add(t);try{const r=R(t,this.schema);if(r?.type&&D(r.type)){const n=this.resolve(r.type.$ref);if(n){const{type:s,...a}=r;return{...n,...a}}}return r}finally{this.visited.delete(t)}}resolveDefinition(t){if(t.type&&D(t.type)){const r=this.resolve(t.type.$ref);if(r){const{type:n,...s}=t;return{...r,...s}}}return t}reset(){this.visited.clear()}}function _(e){return new be(e)}class z{schema;definition;path;readOnly;locale;widgetRegistry;isPropertyRequired;suppressLabel;refResolver;constructor(t){this.schema=t.schema,this.definition=t.definition,this.path=t.path,this.readOnly=t.readOnly??!1,this.locale=t.locale,this.widgetRegistry=t.widgetRegistry,this.isPropertyRequired=t.isPropertyRequired??!1,this.suppressLabel=t.suppressLabel??!1,this.refResolver=t.refResolver??_(t.schema)}with(t){return new z({schema:this.schema,definition:t.definition??this.definition,path:t.path??this.path,readOnly:t.readOnly??this.readOnly,locale:t.locale??this.locale,widgetRegistry:t.widgetRegistry??this.widgetRegistry,isPropertyRequired:t.isPropertyRequired??this.isPropertyRequired,suppressLabel:t.suppressLabel??this.suppressLabel,refResolver:this.refResolver})}append(t){return this.with({path:[...this.path,t]})}get isRoot(){return this.path.length===0}get name(){const t=this.path[this.path.length-1];return typeof t=="string"?t:void 0}get widgetName(){return this.path.map(String).join(".")}get resolvedType(){const t=this.definition.type;if(!t)return null;if(D(t)){const r=this.refResolver.resolve(t.$ref);return r?.type?J(r.type):null}return J(t)}get primaryType(){const t=this.resolvedType;return t?typeof t=="string"?t==="null"?null:t:B(t)[0]??null:null}get isNullable(){return ge(this.definition.type)}get isRequired(){return this.isPropertyRequired}get isOptional(){return!this.isPropertyRequired}get isDeprecated(){return this.definition.deprecated===!0}get isAbstract(){return this.definition.abstract===!0}get isPrimitive(){const t=this.primaryType;return t!=null&&pe(t)}get description(){return this.definition.description}get examples(){return this.definition.examples}get defaultValue(){return this.definition.default}get unit(){return this.definition.unit}get currency(){return this.definition.currency}get label(){if(this.locale&&this.definition.altnames){const r=`lang:${this.locale}`,n=this.definition.altnames[r];if(n)return n}if(this.definition.name)return this.definition.name;const t=this.name;return t?h._t(h.gt(t)):""}get altnames(){return this.definition.altnames}get jsonPath(){return this.path.length===0?"":"/"+this.path.map(String).join("/")}resolveRef(t){return this.refResolver.resolve(t)}get hasEnum(){return"enum"in this.definition&&Array.isArray(this.definition.enum)}get enumValues(){if("enum"in this.definition)return this.definition.enum}get hasConst(){return"const"in this.definition}get constValue(){if("const"in this.definition)return this.definition.const}get format(){if("format"in this.definition)return this.definition.format}}function ve(e,t){let r;const n=_(e);if(e.$root){const s=n.resolve(e.$root);s?r=s:(console.warn(`Failed to resolve $root: ${e.$root}`),r=e)}else e.type||e.properties?r=e:r={type:"any"};return new z({schema:e,definition:r,path:[],readOnly:t?.readOnly,locale:t?.locale,widgetRegistry:t?.widgetRegistry,refResolver:n})}function ee(e,t,r){const n=[],s=[];if(!e.$extends)return{merged:e,inheritanceChain:n,errors:s};const a=Array.isArray(e.$extends)?e.$extends:[e.$extends],u=new Set,i=(p,y=0)=>{if(y>100)return s.push({path:p.join(" -> "),message:"Maximum inheritance depth exceeded"}),[];const b=[];for(const m of p){if(u.has(m)){s.push({path:m,message:`Circular inheritance detected: ${m}`});continue}u.add(m),n.push(m);const g=R(m,t);if(!g){s.push({path:m,message:`Failed to resolve base type: ${m}`});continue}if(g.$extends){const f=Array.isArray(g.$extends)?g.$extends:[g.$extends],v=i(f,y+1);b.push(...v)}b.push(g),u.delete(m)}return b},o=i(a);return{merged:Ye(o,e),inheritanceChain:n,errors:s}}function Ye(e,t){if(e.length===0)return t;let r={...e[0]};for(let a=1;a<e.length;a++)r=ie(r,e[a]);r=ie(r,t);const{$extends:n,...s}=r;return s}function ie(e,t){return M(e)&&M(t)?Qe(e,t):{...e,...t}}function Qe(e,t){const r={...e.properties??{},...t.properties??{}},n=se(e.required),s=se(t.required),a=et([...n,...s]),u={...e,...t,type:"object",properties:r};return a.length>0&&(u.required=a),u}function se(e){return e?e.length===0?[]:Array.isArray(e[0])?e.flat():e:[]}function et(e){return[...new Set(e)]}function tt(e){const t=_(e);return{resolve:r=>(t.reset(),ee(r,e))}}function rt(){return l.html.span(l.attr.class("bc-json-structure-deprecated-badge"),l.attr.style("font-size: var(--font-size-xs); color: var(--color-warning-500, #d97706); background: var(--color-warning-100, #fef3c7); padding: 0.125em 0.5em; border-radius: var(--radius-sm); margin-inline-start: 0.5em; font-weight: normal;"),"(deprecated)")}function I(e,t){return!e||!t?e??"":l.html.span(e,rt())}function nt(e){const t=e.examples?.[0]!=null?String(e.examples[0]):void 0;return{label:e.suppressLabel?void 0:I(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated,placeholder:t}}function xe({ctx:e,controller:t}){const r=nt(e);return d.Control(P.TextInput,{...r,controller:h.transformEmptyStringToUndefined(t)})}function it(e){return{label:e.suppressLabel?void 0:I(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated}}function $e({ctx:e,controller:t}){const r=it(e),n=d.Control(d.CheckboxInput,{...r,controller:t});return e.isNullable?d.Control(d.CheckboxInput,{...r,controller:t,after:h.NullableResetAfter(t.signal,t.disabled,s=>t.change(s))}):n}function st(e,t){const r=V[t],n=Te(e,r.min),s=Ie(e,r.max),a=e.examples?.[0]!=null?String(e.examples[0]):void 0;return{label:e.suppressLabel?void 0:I(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated,min:typeof n=="bigint"?Number(n):n,max:typeof s=="bigint"?Number(s):s,step:1,placeholder:a}}function at(e,t){const r=V[t],n=Te(e,r.min),s=Ie(e,r.max),a=e.examples?.[0]!=null?String(e.examples[0]):void 0;return{label:e.suppressLabel?void 0:I(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated,min:typeof n=="number"?BigInt(n):n,max:typeof s=="number"?BigInt(s):s,placeholder:a}}function Te(e,t){const r=e.definition;if(r.minimum!==void 0){const n=typeof r.minimum=="string"?BigInt(r.minimum):r.minimum;return typeof n=="bigint"?n>t?n:t:BigInt(n)>t?n:Number(t)}if(r.exclusiveMinimum!==void 0){const n=typeof r.exclusiveMinimum=="string"?BigInt(r.exclusiveMinimum):r.exclusiveMinimum,s=typeof n=="bigint"?n+1n:n+1;return typeof s=="bigint"?s>t?s:t:BigInt(s)>t?s:Number(t)}return t>=BigInt(Number.MIN_SAFE_INTEGER)&&t<=BigInt(Number.MAX_SAFE_INTEGER)?Number(t):t}function Ie(e,t){const r=e.definition;if(r.maximum!==void 0){const n=typeof r.maximum=="string"?BigInt(r.maximum):r.maximum;return typeof n=="bigint"?n<t?n:t:BigInt(n)<t?n:Number(t)}if(r.exclusiveMaximum!==void 0){const n=typeof r.exclusiveMaximum=="string"?BigInt(r.exclusiveMaximum):r.exclusiveMaximum,s=typeof n=="bigint"?n-1n:n-1;return typeof s=="bigint"?s<t?s:t:BigInt(s)<t?s:Number(t)}return t>=BigInt(Number.MIN_SAFE_INTEGER)&&t<=BigInt(Number.MAX_SAFE_INTEGER)?Number(t):t}function Ce({ctx:e,controller:t,intType:r}){if(le(r)){const s=at(e,r);return e.isNullable?d.Control(C.NullableBigintInput,{...s,controller:t}):d.Control(C.BigintInput,{...s,controller:t})}const n=st(e,r);return e.isNullable?d.Control(h.NullableNumberInput,{...n,controller:t}):d.Control(h.NumberInput,{...n,controller:t})}function ut(e,t){const r=e.definition;let n;r.multipleOf!==void 0?n=r.multipleOf:t==="decimal"&&r.scale!==void 0?n=Math.pow(10,-r.scale):n=void 0;const s=r.minimum!==void 0?typeof r.minimum=="string"?parseFloat(r.minimum):r.minimum:void 0,a=r.maximum!==void 0?typeof r.maximum=="string"?parseFloat(r.maximum):r.maximum:void 0,u=r.exclusiveMinimum!==void 0?typeof r.exclusiveMinimum=="string"?parseFloat(r.exclusiveMinimum):r.exclusiveMinimum:void 0,i=r.exclusiveMaximum!==void 0?typeof r.exclusiveMaximum=="string"?parseFloat(r.exclusiveMaximum):r.exclusiveMaximum:void 0;let o=e.description;if(u!==void 0||i!==void 0){const p=[];u!==void 0&&p.push(`> ${u}`),i!==void 0&&p.push(`< ${i}`);const y=`Valid range: ${p.join(" and ")}`;o=o?`${o} (${y})`:y}const c=e.examples?.[0]!=null?String(e.examples[0]):void 0;return{label:e.suppressLabel?void 0:I(e.label,e.isDeprecated),description:o,required:e.isRequired,disabled:e.readOnly||e.isDeprecated,min:s??u,max:a??i,step:n,placeholder:c}}function je({ctx:e,controller:t,floatType:r}){const n=ut(e,r);return e.isNullable?d.Control(h.NullableNumberInput,{...n,controller:t}):d.Control(h.NumberInput,{...n,controller:t})}function ot(e){return{label:e.suppressLabel?void 0:I(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated,placeholder:"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}}function we({ctx:e,controller:t}){const r=ot(e);return d.Control(h.UUIDInput,{...r,controller:h.transformEmptyStringToUndefined(t)})}function lt(e){return{label:e.suppressLabel?void 0:I(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated}}function Se({ctx:e,controller:t,temporalType:r}){const n=lt(e);switch(r){case"date":return e.isNullable?d.Control(C.NullablePlainDateInput,{...n,controller:t}):d.Control(C.PlainDateInput,{...n,controller:t});case"datetime":return e.isNullable?d.Control(C.NullablePlainDateTimeInput,{...n,controller:t}):d.Control(C.PlainDateTimeInput,{...n,controller:t});case"time":return e.isNullable?d.Control(C.NullablePlainTimeInput,{...n,controller:t}):d.Control(C.PlainTimeInput,{...n,controller:t});case"duration":return e.isNullable?d.Control(h.NullableDurationInput,{...n,controller:t}):d.Control(C.DurationInput,{...n,controller:t});default:return console.warn(`Unknown temporal type: ${r}`),l.Fragment()}}function ct(e){return{label:e.suppressLabel?void 0:I(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated,placeholder:"https://example.com"}}function De({ctx:e,controller:t}){const r=ct(e);return d.Control(h.UrlInput,{...r,controller:h.transformEmptyStringToUndefined(t)})}function pt(e){return{label:e.suppressLabel?void 0:I(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated}}function Oe({ctx:e,controller:t}){const r=pt(e);return d.Control(C.FileInput,{...r,controller:t})}function dt(e){return{label:e.suppressLabel?void 0:I(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated,placeholder:"Enter JSON value"}}function ft(e){return e.transform(t=>t===void 0?void 0:JSON.stringify(t,null,2),t=>{if(!(t===void 0||t.trim()===""))try{return JSON.parse(t)}catch{return t}})}function K({ctx:e,controller:t}){const r=dt(e);return d.Control(h.TextArea,{...r,controller:ft(t)})}function mt(e){return{label:e.suppressLabel?void 0:e.label,description:e.description,required:e.isRequired}}function yt(e,t){return!t||t.length===0?!1:typeof t[0]=="string"?t.includes(e):Array.isArray(t[0])?t.some(r=>r.includes(e)):!1}function gt(e){if(e.default!==void 0)return e.default;if(e.examples&&e.examples.length>0)return e.examples[0];if(!e.type)return;const t=Array.isArray(e.type)?e.type[0]:e.type;if(!(typeof t=="object"&&"$ref"in t))switch(t){case"string":return"";case"boolean":return!1;case"null":return null;case"object":return{};case"array":case"set":return[];case"map":return{};case"any":return;default:return t==="int8"||t==="int16"||t==="int32"||t==="int64"||t==="uint8"||t==="uint16"||t==="uint32"||t==="uint64"||t==="float"||t==="double"||t==="decimal"?0:void 0}}function ht(e,t="property"){if(!e.has(t))return t;let r=1;for(;e.has(`${t}${r}`);)r++;return`${t}${r}`}function Ae({ctx:e,controller:t}){const r=e.definition;return r.type!=="object"||!("properties"in r)?(console.warn("StructureObjectControl requires an ObjectTypeDefinition"),l.html.div("Invalid object definition")):l.MapSignal(t.signal,n=>{const s=r.properties,a=r.required,u=r.additionalProperties,i=u!==!1,o=typeof u=="object"&&u!==null?u:{type:"any"},c=r.minProperties??0,p=r.maxProperties??1/0,y=Ke.l(s),b=new Set(y.map(([x])=>x)),m=Object.keys(n??{}),g=m.filter(x=>!b.has(x)),f=i&&m.length<p&&!e.readOnly,v=m.length>c&&!e.readOnly,$=y.map(([x,A])=>{const S=x,G=t.field(S),Je=yt(S,a);return T({ctx:e.with({definition:A,isPropertyRequired:Je,suppressLabel:!1}).append(S),controller:G})}),j=g.map(x=>{const A=t.field(x);return l.html.div(l.attr.class("bc-json-structure-additional-property"),l.html.div(l.attr.class("bc-json-structure-additional-property-header"),l.html.strong(`${x}:`),P.Button({variant:"text",size:"xs",onClick:()=>{const S={...l.Value.get(t.signal)??{}};delete S[x],t.change(S)},disabled:!v},"Remove")),l.html.div(l.attr.class("bc-json-structure-additional-property-value"),T({ctx:e.with({definition:o,isPropertyRequired:!1,suppressLabel:!0}).append(x),controller:A})))}),N=f?P.Button({variant:"outline",size:"sm",onClick:()=>{const x=l.Value.get(t.signal)??{},A=new Set(Object.keys(x)),S=ht(A),G=gt(o);t.change({...x,[S]:G})}},"Add Property"):null,O=l.html.div(l.attr.class("bc-json-structure-object-fields"),...$,...j,N),k=l.html.div(l.attr.class("bc-json-structure-object"),O);return!e.suppressLabel&&e.name?d.InputWrapper({...mt(e),content:k}):k})}function bt(e){return{label:e.suppressLabel?void 0:e.label,description:e.description,required:e.isRequired}}function vt(e){if(e.default!==void 0)return e.default;if(e.examples&&e.examples.length>0)return e.examples[0];if(!e.type)return;const t=Array.isArray(e.type)?e.type[0]:e.type;if(!(typeof t=="object"&&"$ref"in t))switch(t){case"string":return"";case"boolean":return!1;case"null":return null;case"object":return{};case"array":case"set":return[];case"map":return{};case"any":return;default:return t==="int8"||t==="int16"||t==="int32"||t==="int64"||t==="int128"||t==="uint8"||t==="uint16"||t==="uint32"||t==="uint64"||t==="uint128"||t==="float"||t==="double"||t==="decimal"?0:void 0}}function Me({ctx:e,controller:t}){const r=e.definition;if(r.type!=="array"||!("items"in r))return console.warn("StructureArrayControl requires an ArrayTypeDefinition"),l.html.div("Invalid array definition");const n=r.items,s=r.minItems??0,a=r.maxItems??1/0,u=l.computedOf(t.signal)(o=>(o?.length??0)<a),i=l.computedOf(t.signal)(o=>(o?.length??0)>s);return h.ListControl({...bt(e),controller:t,createItem:()=>vt(n),showAdd:!0,addDisabled:l.computedOf(u)(o=>!o||e.readOnly),showRemove:!0,removeDisabled:l.computedOf(i)(o=>!o||e.readOnly),element:o=>{const c=o.position.index,p=o.item;return T({ctx:e.with({definition:n,suppressLabel:!0}).append(c),controller:p})}})}function xt(e){return{label:e.suppressLabel?void 0:e.label,description:e.description,required:e.isRequired}}function $t(e){if(e.default!==void 0)return e.default;if(e.examples&&e.examples.length>0)return e.examples[0];if(!e.type)return;const t=Array.isArray(e.type)?e.type[0]:e.type;if(!(typeof t=="object"&&"$ref"in t))switch(t){case"string":return"";case"boolean":return!1;case"null":return null;case"object":return{};case"array":case"set":return[];case"map":return{};case"any":return;default:return t==="int8"||t==="int16"||t==="int32"||t==="int64"||t==="int128"||t==="uint8"||t==="uint16"||t==="uint32"||t==="uint64"||t==="uint128"||t==="float"||t==="double"||t==="decimal"?0:void 0}}function Re({ctx:e,controller:t}){const r=e.definition;if(r.type!=="set"||!("items"in r))return console.warn("StructureSetControl requires a SetTypeDefinition"),l.html.div("Invalid set definition");const n=r.items,s=r.minItems??0,a=r.maxItems??1/0,u=l.computedOf(t.signal)(c=>(c?.length??0)<a),i=l.computedOf(t.signal)(c=>(c?.length??0)>s),o=l.computedOf(t.signal)(c=>{if(!c||c.length===0)return new Set;const p=new Map,y=new Set;for(let b=0;b<c.length;b++){const m=JSON.stringify(c[b]);p.has(m)?(y.add(p.get(m)),y.add(b)):p.set(m,b)}return y});return h.ListControl({...xt(e),controller:t,createItem:()=>$t(n),showAdd:!0,addDisabled:l.computedOf(u)(c=>!c||e.readOnly),showRemove:!0,removeDisabled:l.computedOf(i)(c=>!c||e.readOnly),element:c=>{const p=c.position.index,y=c.item,b=o.map(g=>g.has(p)),m=T({ctx:e.with({definition:n,suppressLabel:!0}).append(p),controller:y});return b.map(g=>g?d.Stack(l.attr.class("bc-stack--gap-1"),m,d.Label(l.attr.class("bc-json-structure-set-error"),"⚠️ Duplicate value - sets must contain unique items")):m)}})}function Tt(e){return{label:e.suppressLabel?void 0:e.label,description:e.description,required:e.isRequired}}function It(e){if(e.default!==void 0)return e.default;if(e.examples&&e.examples.length>0)return e.examples[0];if(!e.type)return;const t=Array.isArray(e.type)?e.type[0]:e.type;if(!(typeof t=="object"&&"$ref"in t))switch(t){case"string":return"";case"boolean":return!1;case"null":return null;case"object":return{};case"array":case"set":return[];case"map":return{};case"any":return;default:return t==="int8"||t==="int16"||t==="int32"||t==="int64"||t==="int128"||t==="uint8"||t==="uint16"||t==="uint32"||t==="uint64"||t==="uint128"||t==="float"||t==="double"||t==="decimal"?0:void 0}}function Ct(e,t="key"){if(!e.has(t))return t;let r=1;for(;e.has(`${t}${r}`);)r++;return`${t}${r}`}function Ne({ctx:e,controller:t}){const r=e.definition;if(r.type!=="map"||!("values"in r))return console.warn("StructureMapControl requires a MapTypeDefinition"),l.html.div("Invalid map definition");const n=r.values,s=r.minProperties??0,a=r.maxProperties??1/0;return l.MapSignal(t.signal,u=>{const i=Object.keys(u??{}),o=i.length,c=o<a&&!e.readOnly,p=o>s&&!e.readOnly,y=i.map(f=>{const v=t.field(f);return l.html.div(l.attr.class("bc-json-structure-map-entry"),l.html.div(l.attr.class("bc-json-structure-map-entry-header"),l.html.strong(l.attr.class("bc-json-structure-map-entry-key"),`${f}:`),P.Button({variant:"text",size:"xs",onClick:()=>{const $={...l.Value.get(t.signal)??{}};delete $[f],t.change($)},disabled:!p},"Remove")),l.html.div(l.attr.class("bc-json-structure-map-entry-value"),T({ctx:e.with({definition:n,suppressLabel:!0}).append(f),controller:v})))}),b=c?P.Button({variant:"outline",size:"sm",onClick:()=>{const f=l.Value.get(t.signal)??{},v=new Set(Object.keys(f)),$=Ct(v),j=It(n);t.change({...f,[$]:j})}},"Add Entry"):null,m=l.html.div(l.attr.class("bc-json-structure-map-entries"),...y,b),g=l.html.div(l.attr.class("bc-json-structure-map"),m);return!e.suppressLabel&&e.name?d.InputWrapper({...Tt(e),content:g}):g})}function jt(e){return{label:e.suppressLabel?void 0:e.label,description:e.description,required:e.isRequired}}function wt(e){if(e.default!==void 0)return e.default;if(e.examples&&e.examples.length>0)return e.examples[0];if(!e.type)return;const t=Array.isArray(e.type)?e.type[0]:e.type;if(!(typeof t=="object"&&"$ref"in t))switch(t){case"string":return"";case"boolean":return!1;case"null":return null;case"object":return{};case"array":case"set":return[];case"map":return{};case"any":return;default:return t==="int8"||t==="int16"||t==="int32"||t==="int64"||t==="int128"||t==="uint8"||t==="uint16"||t==="uint32"||t==="uint64"||t==="uint128"||t==="float"||t==="double"||t==="decimal"?0:void 0}}function ke({ctx:e,controller:t}){const r=e.definition;if(r.type!=="tuple"||!("tuple"in r)||!("properties"in r))return console.warn("StructureTupleControl requires a TupleTypeDefinition"),l.html.div("Invalid tuple definition");const n=r.tuple,s=r.properties,a=t.signal.value;if(!Array.isArray(a)||a.length!==n.length){const i=n.map(o=>{const c=s[o];return c?wt(c):void 0});t.change(i)}const u=jt(e);return l.html.div(l.attr.class("bc-json-structure-tuple"),u.label&&l.html.label(l.attr.class("bc-json-structure-tuple-label"),u.label,u.required&&l.html.span(l.attr.class("bc-required-indicator"),"*")),u.description&&l.html.div(l.attr.class("bc-json-structure-tuple-description"),u.description),l.html.div(l.attr.class("bc-json-structure-tuple-elements"),...n.map((i,o)=>{const c=s[i];if(!c)return console.warn(`Tuple element "${i}" at index ${o} not found in properties`),l.html.div(l.attr.class("bc-json-structure-tuple-element"),l.html.span(`Missing definition for "${i}"`));const p=t.item(o),y=c.name||i;return l.html.div(l.attr.class("bc-json-structure-tuple-element"),l.html.div(l.attr.class("bc-json-structure-tuple-element-header"),l.html.span(l.attr.class("bc-json-structure-tuple-position"),`[${o}]`),l.html.span(l.attr.class("bc-json-structure-tuple-element-name"),y)),l.html.div(l.attr.class("bc-json-structure-tuple-element-control"),T({ctx:e.with({definition:c,suppressLabel:!0}).append(o),controller:p})))})))}function St({options:e,selected:t,onChange:r,disabled:n}){return h.NativeSelect({options:e.map(s=>({type:"value",value:s.value,label:s.label})),value:t,onChange:r,disabled:n})}function Dt({ctx:e,selector:t,inner:r}){const n=d.Stack(l.attr.class("bc-stack--gap-2 bc-stack--align-start"),t,r);return e.isRoot?n:d.InputWrapper({label:e.suppressLabel?void 0:e.label,description:e.description,required:e.isRequired,content:n})}function Ot(e,t,r){if(!e||typeof e!="object")return null;const n=e;if(r&&r in n){const a=n[r];if(typeof a=="string"&&a in t)return a}const s=Object.keys(n);if(s.length===1){const a=s[0];if(a in t)return a}return null}function At(e,t,r){if(!e||typeof e!="object")return;const n=e;if(r&&r in n){const{[r]:s,...a}=n;return a}if(t in n)return n[t]}function ae(e,t,r){return r?e&&typeof e=="object"?{[r]:t,...e}:{[r]:t}:{[t]:e}}function Mt(e){if(e.default!==void 0)return e.default;if(e.examples&&e.examples.length>0)return e.examples[0];const t=Array.isArray(e.type)?e.type[0]:e.type;if(!(!t||typeof t=="object"))switch(t){case"string":return"";case"boolean":return!1;case"null":return null;case"object":return{};case"array":case"set":return[];case"map":return{};default:return}}function qe({ctx:e,controller:t}){const r=e.definition;if(!r.choices||typeof r.choices!="object")return console.warn("StructureChoiceControl requires choices property"),l.html.div(l.attr.class("bc-json-structure-error"),"Invalid choice definition: missing choices");const n=r.choices,s=r.selector,a=Object.keys(n);if(a.length===0)return l.html.div(l.attr.class("bc-json-structure-error"),"Choice type has no variants defined");const u=a.map(f=>{const $=n[f].name||f;return{value:f,label:$}}),i=l.computedOf(t.signal)(f=>Ot(f,n,s)),o=l.Value.get(i)||a[0],c=l.prop(o);t.onDispose(c.dispose);let p=!1;const y=i.on(f=>{!p&&f!==null&&c.set(f)});t.onDispose(y);const m=St({options:u,selected:c,onChange:f=>{p=!0,c.set(f);const v=n[f];if(v){const $=Mt(v),j=ae($,f,s);t.change(j)}},disabled:e.readOnly||e.isDeprecated}),g=l.MapSignal(c,f=>{const v=n[l.Value.get(f)];if(!v)return l.html.div(l.attr.class("bc-json-structure-error"),`Choice variant not found: ${l.Value.get(f)}`);const $=l.computedOf(t.signal)(O=>At(O,l.Value.get(f),s)),j=O=>{const k=ae(O,l.Value.get(f),s);t.change(k)},N=new d.Controller([...t.path,l.Value.get(f)],j,$,t.status,{disabled:t.disabled},void 0);return t.onDispose(()=>N.dispose()),T({ctx:e.with({definition:v,suppressLabel:!0}).append(l.Value.get(f)),controller:N})});return Dt({ctx:e,selector:m,inner:g})}function Rt(e){return{label:e.suppressLabel?void 0:I(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated}}function Fe({ctx:e,controller:t}){const r=Rt(e);return h.NativeSelectControl({...r,options:(e.enumValues??[]).map(n=>({type:"value",value:n,label:String(n)})),controller:t})}function Pe({ctx:e,controller:t}){return l.Fragment(l.WithElement(()=>{l.Value.get(t.signal)!==e.constValue&&t.change(e.constValue)}),h.Group(d.MutedLabel(e.label,": "),d.Label(String(e.constValue))))}function Nt(e){return{label:e.suppressLabel?void 0:e.label,description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated}}function kt(e,t){if(e===null)return t.includes("null")?"null":null;if(e===void 0)return t.includes("string")?"string":t[0]??null;switch(typeof e){case"string":return t.includes("uuid")?"uuid":t.includes("uri")?"uri":t.includes("date")?"date":t.includes("datetime")?"datetime":t.includes("time")?"time":t.includes("duration")?"duration":t.includes("string")?"string":null;case"number":{if(Number.isInteger(e)){if(t.includes("int32"))return"int32";if(t.includes("int64"))return"int64";if(t.includes("uint32"))return"uint32";if(t.includes("uint64"))return"uint64";if(t.includes("int16"))return"int16";if(t.includes("int8"))return"int8";if(t.includes("uint16"))return"uint16";if(t.includes("uint8"))return"uint8"}return t.includes("double")?"double":t.includes("float")?"float":t.includes("decimal")?"decimal":null}case"bigint":return t.includes("int128")?"int128":t.includes("int64")?"int64":t.includes("uint128")?"uint128":t.includes("uint64")?"uint64":null;case"boolean":return t.includes("boolean")?"boolean":null;case"object":return e instanceof File||e instanceof Blob?t.includes("binary")?"binary":null:Array.isArray(e)?t.includes("array")?"array":t.includes("set")?"set":t.includes("tuple")?"tuple":null:t.includes("object")?"object":t.includes("map")?"map":null;default:return null}}function qt(e,t){try{switch(t){case"string":case"uuid":case"uri":case"date":case"datetime":case"time":case"duration":return e==null?{ok:!0,value:void 0}:{ok:!0,value:String(e)};case"int8":case"int16":case"int32":case"uint8":case"uint16":case"uint32":return typeof e=="number"&&Number.isInteger(e)?{ok:!0,value:e}:typeof e=="string"?/^[-+]?\d+$/.test(e.trim())?{ok:!0,value:parseInt(e,10)}:{ok:!1}:typeof e=="boolean"?{ok:!0,value:e?1:0}:{ok:!1};case"int64":case"int128":case"uint64":case"uint128":{if(typeof e=="bigint")return{ok:!0,value:e};if(typeof e=="number"&&Number.isInteger(e))return{ok:!0,value:BigInt(e)};if(typeof e=="string")try{return{ok:!0,value:BigInt(e.trim())}}catch{return{ok:!1}}return{ok:!1}}case"float":case"double":case"decimal":{if(typeof e=="number")return{ok:!0,value:e};if(typeof e=="string"){const r=Number(e);return Number.isFinite(r)?{ok:!0,value:r}:{ok:!1}}return typeof e=="boolean"?{ok:!0,value:e?1:0}:{ok:!1}}case"boolean":{if(typeof e=="boolean")return{ok:!0,value:e};if(typeof e=="string"){const r=e.trim().toLowerCase();return r==="true"||r==="1"||r==="yes"?{ok:!0,value:!0}:r==="false"||r==="0"||r==="no"?{ok:!0,value:!1}:{ok:!1}}return typeof e=="number"?{ok:!0,value:e!==0}:{ok:!1}}case"array":case"set":case"tuple":return Array.isArray(e)?{ok:!0,value:e}:{ok:!1};case"object":case"map":return e!=null&&typeof e=="object"&&!Array.isArray(e)?{ok:!0,value:e}:{ok:!1};case"binary":return e instanceof File||e instanceof Blob?{ok:!0,value:e}:{ok:!1};case"null":return{ok:!0,value:null};case"any":case"choice":return{ok:!0,value:e};default:return{ok:!1}}}catch{return{ok:!1}}}function Ft(e){switch(e){case"null":return null;case"array":case"set":case"tuple":return[];case"object":case"map":return{};case"binary":return;default:return}}function Pt(e){return e.map(t=>({key:t,label:h._t(t),detect:r=>kt(r,[t])===t,convert:r=>qt(r,t),defaultValue:()=>Ft(t)}))}function Vt({options:e,selected:t,onChange:r}){if((e.length<=3?"segmented":"select")==="segmented"){const a=Object.fromEntries(e.map(u=>[u.value,u.label]));return h.SegmentedInput({options:a,value:t,onChange:u=>r(u),size:"sm"})}return h.NativeSelect({options:e.map(a=>({type:"value",value:a.value,label:a.label})),value:t,onChange:r})}function Lt({ctx:e,showSelector:t,selector:r,inner:n}){return e.isRoot?t?d.Stack(l.attr.class("bc-stack--gap-2"),r,n):n:d.InputWrapper({...Nt(e),content:t?d.Stack(l.attr.class("bc-stack--gap-2 bc-stack--align-start"),r,n):n})}function Et({ctx:e,controller:t}){const r=e.definition,n=r.type;let s=[];if(Array.isArray(n))s=n;else return console.warn("StructureUnionControl called with non-array type"),T({ctx:e,controller:t});const a=s.includes("null"),u=B(n),i=a&&u.length>0?u:s,o=Pt(i),c=new h.UnionController(t.path,t.change,t.signal,t.status,{disabled:t.disabled},o);t.onDispose(()=>c.dispose());const p=m=>Vt({options:i.map(g=>({value:g,label:h._t(g)})),selected:c.activeBranch,onChange:m}),y=m=>{c.switchToBranch(m,!1)},b=l.MapSignal(c.activeBranch,m=>{const g=l.Value.get(m),f=c.getBranchController(g),v=e.with({definition:{...r,type:g},suppressLabel:!e.isRoot});return T({ctx:v,controller:f})});return Lt({ctx:e,showSelector:i.length>1,selector:p(y),inner:b})}function T({ctx:e,controller:t}){let r=e;const n=e.definition;if(n.type&&D(n.type)){const i=e.resolveRef(n.type.$ref);if(i){const{type:o,...c}=n,p={...i,...c};r=e.with({definition:p})}}if(r.definition.$extends){const{merged:i}=ee(r.definition,e.schema);r=r.with({definition:i})}const s=r.widgetRegistry;if(s){const i=s.findBestWidget(r);if(i)return i.registration.factory({controller:t,ctx:r})}if(me(r.definition))return Fe({ctx:r,controller:t});if(ye(r.definition))return Pe({ctx:r,controller:t});const a=r.resolvedType;if(Array.isArray(a)&&B(a).length>1)return Et({ctx:r,controller:t});const u=r.primaryType;if(!u)return K({ctx:r,controller:t});if(M(r.definition)){const i=t instanceof d.ObjectController?t:t.object();return Ae({ctx:r,controller:i})}if(Z(r.definition)){const i=t instanceof d.ArrayController?t:t.array();return Me({ctx:r,controller:i})}if(H(r.definition)){const i=t instanceof d.ArrayController?t:t.array();return Re({ctx:r,controller:i})}if(X(r.definition)){const i=t instanceof d.ObjectController?t:t.object();return Ne({ctx:r,controller:i})}if(Y(r.definition)){const i=t instanceof d.ArrayController?t:t.array();return ke({ctx:r,controller:i})}if(Q(r.definition))return qe({ctx:r,controller:t});switch(u){case"string":return xe({ctx:r,controller:t});case"boolean":return $e({ctx:r,controller:t});case"uuid":return we({ctx:r,controller:t});case"uri":return De({ctx:r,controller:t});case"binary":return Oe({ctx:r,controller:t});case"null":return Ut(r);case"any":return K({ctx:r,controller:t});default:return q(u)?Ce({ctx:r,controller:t,intType:u}):U(u)?je({ctx:r,controller:t,floatType:u}):W(u)?Se({ctx:r,controller:t,temporalType:u}):(console.warn(`Unknown type: ${u}`),Wt(r,u))}}function Ve({schema:e,controller:t,widgetRegistry:r,readOnly:n,locale:s}){const a=ve(e,{widgetRegistry:r,readOnly:n,locale:s});return T({ctx:a,controller:t})}function Ut(e){return l.html.div(l.attr.class("bc-json-structure-placeholder"),l.html.span(`[Null: ${e.label}]`),l.html.em("null"))}function Wt(e,t){return l.html.div(l.attr.class("bc-json-structure-unknown"),l.html.span(`Unknown type: ${t}`),l.html.em(`at path: ${e.jsonPath}`))}function te(e,t){return new Bt(e,t)}class Bt{schema;options;constructor(t,r){this.schema=t,this.options=r??{}}validate(t){const r=[];return this.validateValue(t,this.schema,"",r),{isValid:r.length===0,errors:r}}validateAt(t,r){return this.validate(t)}validateValue(t,r,n,s){if(this.options.stopOnFirstError&&s.length>0)return;if(t===null){const c=r.type;if(c==="null"||Array.isArray(c)&&c.includes("null"))return;s.push({path:n,type:"type",expected:c,actual:"null"});return}if("enum"in r&&Array.isArray(r.enum)){r.enum.includes(t)||s.push({path:n,type:"enum",expected:r.enum,actual:t});return}if("const"in r){t!==r.const&&s.push({path:n,type:"const",expected:r.const,actual:t});return}const a=r.type;if(!a)return;const i=(Array.isArray(a)?a:[a]).filter(c=>typeof c=="string");!i.some(c=>this.checkType(t,c,r,n,s))&&i.length>0&&s.push({path:n,type:"type",expected:a,actual:typeof t})}checkType(t,r,n,s,a){switch(r){case"string":return this.validateString(t,n,s,a);case"boolean":return typeof t=="boolean";case"null":return t===null;case"object":return this.validateObject(t,n,s,a);case"array":return this.validateArray(t,n,s,a);case"set":return this.validateSet(t,n,s,a);case"map":return this.validateMap(t,n,s,a);case"tuple":return this.validateTuple(t,n,s,a);case"choice":return this.validateChoice(t,n,s,a);case"any":return!0;default:return q(r)?this.validateInteger(t,r,n,s,a):U(r)?this.validateFloat(t,n,s,a):W(r)?this.validateTemporal(t,r,s,a):r==="uuid"?this.validateUuid(t,s,a):r==="uri"?this.validateUri(t,s,a):r==="binary"?this.validateBinary(t,s,a):!1}}validateString(t,r,n,s){if(typeof t!="string")return!1;const a=r;if(a.minLength!==void 0&&t.length<a.minLength&&s.push({path:n,type:"minLength",expected:a.minLength,actual:t.length}),a.maxLength!==void 0&&t.length>a.maxLength&&s.push({path:n,type:"maxLength",expected:a.maxLength,actual:t.length}),a.pattern!==void 0)try{new RegExp(a.pattern).test(t)||s.push({path:n,type:"pattern",expected:a.pattern,actual:t})}catch{}return!0}validateInteger(t,r,n,s,a){if(typeof t!="number"&&typeof t!="bigint")return!1;if(typeof t=="number"&&!Number.isInteger(t))return a.push({path:s,type:"type",expected:r,actual:"float"}),!1;if(q(r)){const u=V[r],i=typeof t=="bigint"?t:BigInt(Math.round(t));(i<u.min||i>u.max)&&a.push({path:s,type:"integer_bounds",expected:{min:u.min.toString(),max:u.max.toString()},actual:i.toString(),context:{type:r}})}return this.validateNumericConstraints(t,n,s,a),!0}validateFloat(t,r,n,s){return typeof t!="number"?!1:(this.validateNumericConstraints(t,r,n,s),!0)}validateNumericConstraints(t,r,n,s){const a=r,u=typeof t=="bigint"?Number(t):t;if(a.minimum!==void 0){const i=typeof a.minimum=="string"?Number(a.minimum):a.minimum;u<i&&s.push({path:n,type:"minimum",expected:i,actual:u})}if(a.maximum!==void 0){const i=typeof a.maximum=="string"?Number(a.maximum):a.maximum;u>i&&s.push({path:n,type:"maximum",expected:i,actual:u})}if(a.exclusiveMinimum!==void 0){const i=typeof a.exclusiveMinimum=="string"?Number(a.exclusiveMinimum):a.exclusiveMinimum;u<=i&&s.push({path:n,type:"exclusiveMinimum",expected:i,actual:u})}if(a.exclusiveMaximum!==void 0){const i=typeof a.exclusiveMaximum=="string"?Number(a.exclusiveMaximum):a.exclusiveMaximum;u>=i&&s.push({path:n,type:"exclusiveMaximum",expected:i,actual:u})}a.multipleOf!==void 0&&typeof t=="number"&&t%a.multipleOf!==0&&s.push({path:n,type:"multipleOf",expected:a.multipleOf,actual:t})}validateTemporal(t,r,n,s){if(typeof t!="string")return!1;const u={date:/^\d{4}-\d{2}-\d{2}$/,datetime:/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})?$/,time:/^\d{2}:\d{2}:\d{2}(\.\d+)?$/,duration:/^P(\d+Y)?(\d+M)?(\d+W)?(\d+D)?(T(\d+H)?(\d+M)?(\d+S)?)?$/}[r];return u&&!u.test(t)?(s.push({path:n,type:"format",expected:r,actual:t}),!1):!0}validateUuid(t,r,n){return typeof t!="string"?!1:/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t)?!0:(n.push({path:r,type:"format",expected:"uuid",actual:t}),!1)}validateUri(t,r,n){if(typeof t!="string")return!1;try{return new URL(t),!0}catch{return n.push({path:r,type:"format",expected:"uri",actual:t}),!1}}validateBinary(t,r,n){return t instanceof Uint8Array?!0:typeof t!="string"?!1:/^[A-Za-z0-9+/]*={0,2}$/.test(t)?!0:(n.push({path:r,type:"format",expected:"binary",actual:t}),!1)}validateObject(t,r,n,s){if(typeof t!="object"||t===null||Array.isArray(t))return!1;if(!M(r))return!0;const a=t,u=r.required;if(u){const i=Array.isArray(u[0])?u.flat():u;for(const o of i)o in a||s.push({path:n?`${n}/${o}`:`/${o}`,type:"required",expected:o})}for(const[i,o]of Object.entries(a)){const c=r.properties?.[i];if(c){const p=n?`${n}/${i}`:`/${i}`;this.validateValue(o,c,p,s)}else if(r.additionalProperties===!1)s.push({path:n?`${n}/${i}`:`/${i}`,type:"additionalProperties",actual:i});else if(typeof r.additionalProperties=="object"){const p=n?`${n}/${i}`:`/${i}`;this.validateValue(o,r.additionalProperties,p,s)}}return!0}validateArray(t,r,n,s){if(!Array.isArray(t))return!1;if(!Z(r))return!0;const a=r;a.minItems!==void 0&&t.length<a.minItems&&s.push({path:n,type:"minItems",expected:a.minItems,actual:t.length}),a.maxItems!==void 0&&t.length>a.maxItems&&s.push({path:n,type:"maxItems",expected:a.maxItems,actual:t.length});for(let u=0;u<t.length;u++){const i=`${n}/${u}`;this.validateValue(t[u],r.items,i,s)}return!0}validateSet(t,r,n,s){if(!Array.isArray(t))return!1;if(!H(r))return!0;const a=new Set;for(let u=0;u<t.length;u++){const i=JSON.stringify(t[u]);a.has(i)&&s.push({path:`${n}/${u}`,type:"uniqueItems",actual:t[u]}),a.add(i)}return this.validateArray(t,r,n,s)}validateMap(t,r,n,s){if(typeof t!="object"||t===null||Array.isArray(t))return!1;if(!X(r))return!0;const a=t;for(const[u,i]of Object.entries(a)){const o=`${n}/${u}`;this.validateValue(i,r.values,o,s)}return!0}validateTuple(t,r,n,s){if(!Array.isArray(t))return!1;if(!Y(r))return!0;const a=r.tuple.length;t.length!==a&&s.push({path:n,type:"tuple_length",expected:a,actual:t.length});for(let u=0;u<r.tuple.length;u++){const i=r.tuple[u],o=r.properties?.[i];o&&u<t.length&&this.validateValue(t[u],o,`${n}/${u}`,s)}return!0}validateChoice(t,r,n,s){if(typeof t!="object"||t===null||Array.isArray(t))return!1;if(!Q(r))return!0;const a=t,u=Object.keys(r.choices),i=Object.keys(a).find(c=>u.includes(c));if(!i)return s.push({path:n,type:"choice",expected:u,actual:Object.keys(a)}),!1;const o=r.choices[i];return o&&this.validateValue(a[i],o,`${n}/${i}`,s),!0}}function _t(e,t,r){return te(e,r).validate(t)}function Le(e,t){const r=zt(e,t);return{path:e.path,message:r,code:e.type}}function re(e,t){return e.map(r=>{const n=t?.get(r.path);return Le(r,n)})}function zt(e,t){switch(e.type){case"type":return`Expected ${ue(e.expected)}, got ${Gt(e.actual)}`;case"type_mismatch":return`Value must be of type ${ue(e.expected)}`;case"minLength":return`Must be at least ${e.expected} characters`;case"maxLength":return`Must be no more than ${e.expected} characters`;case"pattern":return Jt(e,t);case"format":return Kt(e);case"minimum":return`Must be at least ${e.expected}`;case"maximum":return`Must be at most ${e.expected}`;case"exclusiveMinimum":return`Must be greater than ${e.expected}`;case"exclusiveMaximum":return`Must be less than ${e.expected}`;case"multipleOf":return`Must be a multiple of ${e.expected}`;case"integer_bounds":return Zt(e);case"minItems":return`Must have at least ${e.expected} items`;case"maxItems":return`Must have no more than ${e.expected} items`;case"uniqueItems":return"All items must be unique";case"contains":return"Must contain at least one matching item";case"minContains":return`Must contain at least ${e.expected} matching items`;case"maxContains":return`Must contain no more than ${e.expected} matching items`;case"required":return"This field is required";case"minProperties":return`Must have at least ${e.expected} properties`;case"maxProperties":return`Must have no more than ${e.expected} properties`;case"additionalProperties":return`Unknown property: ${e.actual}`;case"dependentRequired":return Ht(e);case"enum":return Xt(e);case"const":return`Must be exactly ${JSON.stringify(e.expected)}`;case"ref_not_found":return`Invalid reference: ${e.expected}`;case"circular_ref":return"Circular reference detected";case"invalid":return"Invalid value";default:return e.context?.message??`Validation error: ${e.type}`}}function ue(e){return typeof e=="string"?oe(e):Array.isArray(e)?e.map(oe).join(" or "):String(e)}function Gt(e){return e===null?"null":e===void 0?"undefined":typeof e}function oe(e){return{string:"text",boolean:"true/false",int8:"integer (-128 to 127)",int16:"integer (-32768 to 32767)",int32:"integer",int64:"large integer",int128:"very large integer",uint8:"positive integer (0 to 255)",uint16:"positive integer (0 to 65535)",uint32:"positive integer",uint64:"large positive integer",uint128:"very large positive integer",float:"decimal number",double:"decimal number",decimal:"decimal number",date:"date",datetime:"date and time",time:"time",duration:"duration",uuid:"UUID",uri:"URL",binary:"binary data",object:"object",array:"list",set:"unique list",map:"key-value pairs",tuple:"ordered list",choice:"one of multiple options",any:"any value",null:"empty"}[e]??e}function Jt(e,t){const r=t?.description;if(r&&e.type==="pattern")return`Does not match required format: ${r}`;const n=e.expected;if(n){const a={"^[a-zA-Z]+$":"letters only","^[0-9]+$":"numbers only","^[a-zA-Z0-9]+$":"letters and numbers only","^\\S+$":"no spaces allowed","^[a-z]+$":"lowercase letters only","^[A-Z]+$":"uppercase letters only"}[n];if(a)return`Must be ${a}`}return"Does not match required format"}function Kt(e){const t=e.expected;return{email:"Must be a valid email address","date-time":"Must be a valid date and time",date:"Must be a valid date",time:"Must be a valid time",uri:"Must be a valid URL","uri-reference":"Must be a valid URL or relative path",uuid:"Must be a valid UUID",hostname:"Must be a valid hostname",ipv4:"Must be a valid IPv4 address",ipv6:"Must be a valid IPv6 address",regex:"Must be a valid regular expression","json-pointer":"Must be a valid JSON pointer"}[t]??`Must be a valid ${t}`}function Zt(e){const t=e.context?.type;if(t&&q(t)){const r=V[t];return`Must be between ${r.min} and ${r.max}`}return"Value is out of range for this integer type"}function Ht(e){const t=e.context?.dependent,r=e.context?.required;return t&&r?.length?`When "${t}" is present, "${r.join('", "')}" must also be provided`:"Missing required dependent fields"}function Xt(e){const t=e.expected;return t&&t.length<=5?`Must be one of: ${t.map(n=>JSON.stringify(n)).join(", ")}`:"Invalid value"}function Yt(e){const t=new Map;for(const r of e){const n=t.get(r.path)??[];n.push(r),t.set(r.path,n)}return t}function Qt(e,t){return e.filter(r=>r.path===t)}function er(e,t){return e.some(r=>r.path===t)}function tr(e,t){const r=t===""?"/":`${t}/`;return e.filter(n=>n.path.startsWith(r))}class L{registrations=new Map;parent;constructor(t){this.parent=t??null}register(t,r){this.registrations.set(t,r)}unregister(t){this.registrations.delete(t)}get(t){return this.registrations.get(t)??this.parent?.get(t)}has(t){return this.registrations.has(t)||(this.parent?.has(t)??!1)}names(){const t=this.parent?.names()??[],r=Array.from(this.registrations.keys());return[...new Set([...t,...r])]}getForType(t){const r=[];this.parent&&r.push(...this.parent.getForType(t));for(const n of this.registrations.values())n.supportedTypes?.includes(t)&&r.push(n);return r}getForFormat(t){const r=[];this.parent&&r.push(...this.parent.getForFormat(t));for(const n of this.registrations.values())n.supportedFormats?.includes(t)&&r.push(n);return r}findBestWidget(t){const r=[];for(const s of this.names()){const a=this.get(s);if(!a)continue;const u=this.scoreWidget(a,t);u>0&&r.push({name:s,registration:a,score:u})}if(r.length===0)return null;r.sort((s,a)=>a.score!==s.score?a.score-s.score:(a.registration.priority??0)-(s.registration.priority??0));const n=r[0];return{name:n.name,registration:n.registration}}scoreWidget(t,r){let n=0;if(t.matcher)if(t.matcher(r))n+=100;else return 0;const s=r.primaryType;s&&t.supportedTypes?.includes(s)&&(n+=50);const a=r.format;return a&&t.supportedFormats?.includes(a)&&(n+=30),n+=t.priority??0,n}createChild(){return new L(this)}}let E=null;function F(){return E||(E=new L),E}function rr(e){E=e}function nr(e){return new L(e)}function ir(e,t,r){return{name:`type:${e}`,registration:{factory:t,displayName:r?.displayName??`${e} widget`,description:r?.description,supportedTypes:[e],priority:r?.priority??0,canFallback:r?.canFallback??!1}}}function sr(e,t,r){return{name:`format:${e}`,registration:{factory:t,displayName:r?.displayName??`${e} widget`,description:r?.description,supportedFormats:[e],priority:r?.priority??10,canFallback:r?.canFallback??!1}}}function ar(e,t,r,n){return{name:`type:${e}:format:${t}`,registration:{factory:r,displayName:n?.displayName??`${e}/${t} widget`,description:n?.description,supportedTypes:[e],supportedFormats:[t],priority:n?.priority??20,canFallback:n?.canFallback??!1}}}function ur(e,t,r,n){return{name:e,registration:{factory:r,displayName:n?.displayName??e,description:n?.description,matcher:t,priority:n?.priority??50,canFallback:n?.canFallback??!1}}}function Ee(e,t){if(t){const n=t.findBestWidget(e);if(n)return n}return F().findBestWidget(e)}function or(e){const t=e.definition,r={};if(typeof t=="object"&&"x:ui"in t){const n=t["x:ui"];n.widget&&typeof n.widget=="object"&&(r.options=n.widget),typeof n.priority=="number"&&(r.priority=n.priority)}if(typeof t=="object"&&"widget"in t){const n=t.widget;typeof n=="object"&&n!==null&&(r.options={...r.options??{},...n})}return Object.keys(r).length>0?r:void 0}function ne(e){const t=e.definition;if(typeof t=="object"&&"x:ui"in t){const r=t["x:ui"];if(typeof r.widget=="string")return r.widget}if(typeof t=="object"&&"widget"in t){const r=t.widget;if(r&&typeof r.type=="string")return r.type}}function lr(e){return ne(e)!==void 0}function cr(e,t){const r=ne(e);if(r){if(t){const a=t.get(r);if(a)return{name:r,registration:a}}const s=F().get(r);if(s)return{name:r,registration:s};console.warn(`Widget "${r}" specified in definition but not found in registry`,{path:e.jsonPath})}return Ee(e,t)}function pr(e,t,r){return{...e,...t,...r}}function Ue(e=F()){e.register("string",{factory:({controller:i,ctx:o})=>xe({ctx:o,controller:i}),displayName:"String",description:"Text input for string values",supportedTypes:["string"],priority:0,canFallback:!0}),e.register("boolean",{factory:({controller:i,ctx:o})=>$e({ctx:o,controller:i}),displayName:"Boolean",description:"Checkbox for boolean values",supportedTypes:["boolean"],priority:0,canFallback:!0}),e.register("uuid",{factory:({controller:i,ctx:o})=>we({ctx:o,controller:i}),displayName:"UUID",description:"Input for UUID values",supportedTypes:["uuid"],priority:0,canFallback:!0}),e.register("uri",{factory:({controller:i,ctx:o})=>De({ctx:o,controller:i}),displayName:"URI",description:"Input for URI/URL values",supportedTypes:["uri"],priority:0,canFallback:!0}),e.register("binary",{factory:({controller:i,ctx:o})=>Oe({ctx:o,controller:i}),displayName:"Binary",description:"File upload for binary data",supportedTypes:["binary"],priority:0,canFallback:!0}),e.register("any",{factory:({controller:i,ctx:o})=>K({ctx:o,controller:i}),displayName:"Any",description:"Generic control for any type",supportedTypes:["any"],priority:0,canFallback:!0});const t=["int8","int16","int32","int64","int128","uint8","uint16","uint32","uint64","uint128"],r=({controller:i,ctx:o})=>Ce({ctx:o,controller:i,intType:o.primaryType});for(const i of t)e.register(i,{factory:r,displayName:i.toUpperCase(),description:`Number input for ${i} values`,supportedTypes:[i],priority:0,canFallback:!0});const n=["float","double","decimal"],s=({controller:i,ctx:o})=>je({ctx:o,controller:i,floatType:o.primaryType});for(const i of n)e.register(i,{factory:s,displayName:i.charAt(0).toUpperCase()+i.slice(1),description:`Number input for ${i} values`,supportedTypes:[i],priority:0,canFallback:!0});const a=["date","datetime","time","duration"],u=({controller:i,ctx:o})=>Se({ctx:o,controller:i,temporalType:o.primaryType});for(const i of a)e.register(i,{factory:u,displayName:i.charAt(0).toUpperCase()+i.slice(1),description:`Input for ${i} values`,supportedTypes:[i],priority:0,canFallback:!0});e.register("object",{factory:({controller:i,ctx:o})=>Ae({ctx:o,controller:i}),displayName:"Object",description:"Form for object values",supportedTypes:["object"],priority:0,canFallback:!0}),e.register("array",{factory:({controller:i,ctx:o})=>Me({ctx:o,controller:i}),displayName:"Array",description:"List control for array values",supportedTypes:["array"],priority:0,canFallback:!0}),e.register("set",{factory:({controller:i,ctx:o})=>Re({ctx:o,controller:i}),displayName:"Set",description:"Set control for unique values",supportedTypes:["set"],priority:0,canFallback:!0}),e.register("map",{factory:({controller:i,ctx:o})=>Ne({ctx:o,controller:i}),displayName:"Map",description:"Map control for key-value pairs",supportedTypes:["map"],priority:0,canFallback:!0}),e.register("tuple",{factory:({controller:i,ctx:o})=>ke({ctx:o,controller:i}),displayName:"Tuple",description:"Tuple control for fixed-length arrays",supportedTypes:["tuple"],priority:0,canFallback:!0}),e.register("choice",{factory:({controller:i,ctx:o})=>qe({ctx:o,controller:i}),displayName:"Choice",description:"Choice control for union types",supportedTypes:["choice"],priority:0,canFallback:!0}),e.register("enum",{factory:({controller:i,ctx:o})=>Fe({ctx:o,controller:i}),displayName:"Enum",description:"Dropdown for enumerated values",priority:10,canFallback:!1,matcher:i=>i.hasEnum}),e.register("const",{factory:({controller:i,ctx:o})=>Pe({ctx:o,controller:i}),displayName:"Const",description:"Display for constant values",priority:20,canFallback:!1,matcher:i=>i.hasConst})}function We(e=F()){return e.has("string")&&e.has("object")&&e.has("array")}function dr(e=F()){We(e)||Ue(e)}function Be(e){let t=e;if(e.$root){const r=R(e.$root,e);r&&(t=r)}return w(t,e,new Set)}function w(e,t,r){if(e.type&&D(e.type)){const n=e.type.$ref;if(r.has(n))return;r.add(n);const s=R(n,t);if(s){const a={...s,...e,type:s.type},u=w(a,t,r);return r.delete(n),u}r.delete(n);return}return e.default!==void 0?e.default:Array.isArray(e.examples)&&e.examples.length>0?e.examples[0]:"const"in e&&e.const!==void 0?e.const:"enum"in e&&Array.isArray(e.enum)&&e.enum.length>0?e.enum[0]:Cr(e)?null:fr(e,t,r)}function fr(e,t,r){const n=_e(e);if(M(e))return yr(e,t,r);if(n==="choice"&&"choices"in e)return gr(e,t,r);if(n==="tuple"&&"tuple"in e&&"properties"in e)return hr(e,t,r);if(n==="array")return br(e,t,r);if(n==="set")return vr(e,t,r);if(n==="map")return{};if(n==="string")return xr(e);if(jr(n))return $r(e);if(wr(n))return Tr(e);if(n==="boolean")return!1;if(n==="null")return null;if(Sr(n))return Ir(n);if(n==="uuid"||n==="uri"||n==="uri-reference"||n==="binary"||n==="bytes")return""}function mr(e){if(!e||e.length===0)return new Set;if(Array.isArray(e[0])){const t=e.flat();return new Set(t)}return new Set(e)}function yr(e,t,r){if(!M(e))return{};const n=mr(e.required),s={};for(const[a,u]of Object.entries(e.properties))if(n.has(a))if(u.type&&D(u.type)){const i=u.type.$ref;if(r.has(i))continue;r.add(i);const o=R(i,t);if(o){const c={...o,...u,type:o.type},p=w(c,t,r);p!==void 0&&(s[a]=p)}r.delete(i)}else{const i=w(u,t,r);i!==void 0&&(s[a]=i)}return s}function gr(e,t,r){if(!("choices"in e))return;const n=e.choices,s=Object.keys(n);if(s.length===0)return;const a=s[0],u=n[a];if("selector"in e&&e.selector){const o=e.selector,c=w(u,t,r);return typeof c=="object"&&c!==null?{[o]:a,...c}:{[o]:a}}const i=w(u,t,r);return{[a]:i}}function hr(e,t,r){if(!("tuple"in e)||!("properties"in e))return{};const n=e.tuple,s=e.properties,a=new Set(e.required??n),u={};for(const i of n){if(!a.has(i))continue;const o=s[i];if(o){const c=w(o,t,r);c!==void 0&&(u[i]=c)}}return u}function br(e,t,r){const n=("minItems"in e?e.minItems:0)??0;if(n===0)return[];const s="items"in e?e.items:void 0;if(!s)return Array(n).fill(null);const a=w(s,t,r);return Array(n).fill(a??null)}function vr(e,t,r){const n=("minItems"in e?e.minItems:0)??0;if(n===0)return[];const s="items"in e?e.items:void 0;if(!s)return Array(n).fill(null);const a=w(s,t,r);return Array(n).fill(a??null)}function xr(e){switch("format"in e?e.format:void 0){case"date":return ze();case"date-time":return Ge();case"time":return"00:00:00";case"email":case"uri":case"uri-reference":case"uuid":default:return""}}function $r(e){const t=_e(e),r=t==="int64"||t==="uint64"||t==="int128"||t==="uint128";let n="minimum"in e?e.minimum:void 0,s="maximum"in e?e.maximum:void 0;const a="exclusiveMinimum"in e?e.exclusiveMinimum:void 0,u="exclusiveMaximum"in e?e.exclusiveMaximum:void 0;a!==void 0&&(n=a+1),u!==void 0&&(s=u-1);let i;n!==void 0&&s!==void 0?i=Math.round((n+s)/2):n!==void 0?i=n:s!==void 0?i=0<=s?0:s:i=0;const o="multipleOf"in e?e.multipleOf:void 0;return o!==void 0&&o>0&&(i=Math.round(i/o)*o,n!==void 0&&i<n&&(i=Math.ceil(n/o)*o),s!==void 0&&i>s&&(i=Math.floor(s/o)*o)),r?BigInt(Math.round(i)):Math.round(i)}function Tr(e){let t="minimum"in e?e.minimum:void 0,r="maximum"in e?e.maximum:void 0;const n="exclusiveMinimum"in e?e.exclusiveMinimum:void 0,s="exclusiveMaximum"in e?e.exclusiveMaximum:void 0,a="multipleOf"in e?e.multipleOf:.001;n!==void 0&&(t=n+a),s!==void 0&&(r=s-a);let u;t!==void 0&&r!==void 0?u=(t+r)/2:t!==void 0?u=t:r!==void 0?u=0<=r?0:r:u=0;const i="multipleOf"in e?e.multipleOf:void 0;return i!==void 0&&i>0&&(u=Math.round(u/i)*i,t!==void 0&&u<t&&(u=Math.ceil(t/i)*i),r!==void 0&&u>r&&(u=Math.floor(r/i)*i)),u}function Ir(e){switch(e){case"date":return ze();case"time":return"00:00:00";case"datetime":return Ge();case"duration":return"PT0S";default:return""}}function Cr(e){return Array.isArray(e.type)?e.type.some(t=>typeof t=="string"?t==="null":!1):!1}function _e(e){const t=e.type;if(typeof t=="string")return t;if(Array.isArray(t)){for(const r of t)if(typeof r=="string"&&r!=="null")return r}}function jr(e){return e?["int8","int16","int32","int64","int128","uint8","uint16","uint32","uint64","uint128"].includes(e):!1}function wr(e){return e?["float","double","decimal"].includes(e):!1}function Sr(e){return e?["date","time","datetime","duration"].includes(e):!1}function ze(){return new Date().toISOString().split("T")[0]}function Ge(){return new Date().toISOString()}function Dr(e){if(e.isValid)return d.i.valid;const t=re(e.errors),r=new Map;for(const u of t){const i=r.get(u.path)||[];i.push(u),r.set(u.path,i)}const n=(u,i)=>{if(u.length===0)return{message:i.map(y=>y.message).join("; ")};const[o,...c]=u,p=n(c,i);return{dependencies:{[o]:p}}},s={},a={};for(const[u,i]of r.entries())if(u===""||u==="/")s.message=i.map(o=>o.message).join("; ");else{const o=u.split("/").filter(c=>c!=="");if(o.length===1)a[o[0]]={message:i.map(c=>c.message).join("; ")};else{const[c,...p]=o;a[c]=n(p,i)}}return Object.keys(a).length>0&&(s.dependencies=a),d.i.invalid(s)}function Or({schema:e,initialValue:t,validationMode:r,validateDebounceMs:n,widgetRegistry:s,readOnly:a,locale:u,onChange:i,onValidate:o,applySchemaDefaults:c=!0},p){const y=t!==void 0?l.Value.get(t):void 0,b=Be(e);let m;t===void 0?m=b??{}:c?m=h.deepMergeDefaults(b,y):m=y;const g=te(e),f=r??"onTouched",v=k=>{const x=g.validate(k);if(o&&!x.isValid){const A=re(x.errors);o(A)}return Dr(x)},{controller:$,setStatus:j}=d.useController({initialValue:m,validationMode:f,validateDebounceMs:n,validate:f==="onSubmit"?void 0:v,onChange:i}),N=()=>{$.dispose()},O=l.Fragment(l.OnDispose(N),Ve({schema:e,controller:$,widgetRegistry:s,readOnly:a,locale:u}));return p({Form:O,controller:$,setStatus:j})}exports.DefaultWidgetRegistry=L;exports.INTEGER_BOUNDS=V;exports.JSONStructureForm=Or;exports.RefResolver=be;exports.StructureContext=z;exports.StructureControl=Ve;exports.StructureGenericControl=T;exports.createExtendsResolver=tt;exports.createRefResolver=_;exports.createStructureContext=ve;exports.createValidator=te;exports.createWidgetRegistry=nr;exports.ensureDefaultWidgets=dr;exports.extractStructureDefaults=Be;exports.forFormat=sr;exports.forMatcher=ur;exports.forType=ir;exports.forTypeAndFormat=ar;exports.formatValidationError=Le;exports.formatValidationErrors=re;exports.getChildErrors=tr;exports.getErrorsForPath=Qt;exports.getExplicitWidgetName=ne;exports.getGlobalWidgetRegistry=F;exports.getNonNullTypes=B;exports.getResolvedType=J;exports.getWidgetOptions=or;exports.groupErrorsByPath=Yt;exports.hasConstValue=ye;exports.hasCustomWidget=lr;exports.hasDefaultWidgets=We;exports.hasEnumValue=me;exports.hasErrorsAtPath=er;exports.isArrayTypeDefinition=Z;exports.isBigIntType=le;exports.isChoiceTypeDefinition=Q;exports.isCompoundType=Ze;exports.isFloatType=U;exports.isIntegerType=q;exports.isMapTypeDefinition=X;exports.isNamespace=de;exports.isNullableType=ge;exports.isNumericType=ce;exports.isObjectTypeDefinition=M;exports.isPrimitiveType=pe;exports.isSetTypeDefinition=H;exports.isTemporalType=W;exports.isTupleTypeDefinition=Y;exports.isTypeDefinition=fe;exports.isTypeReference=D;exports.mergeWidgetOptions=pr;exports.parseRefPath=he;exports.registerDefaultWidgets=Ue;exports.resolveExtends=ee;exports.resolveRef=R;exports.resolveTypeReference=Xe;exports.resolveWidget=Ee;exports.resolveWidgetWithOverride=cr;exports.setGlobalWidgetRegistry=rr;exports.validate=_t;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const B=require("../string-B9vVyfq3.cjs"),l=require("@tempots/dom"),m=require("../use-form-Cnp3XQ5X.cjs"),b=require("../deep-merge-d7sf0xmN.cjs"),Ye=require("../text-input-Ds8e7Z1G.cjs"),I=require("../duration-input-B9UNmUCh.cjs"),Qe=require("../colors-B2yrgHSW.cjs"),_=require("../input-container-C6qEIjcA.cjs"),w=require("../stack-DcZ_u50f.cjs");function fe(e){return e==="int64"||e==="int128"||e==="uint64"||e==="uint128"}function F(e){return e==="int8"||e==="int16"||e==="int32"||e==="int64"||e==="int128"||e==="uint8"||e==="uint16"||e==="uint32"||e==="uint64"||e==="uint128"}function z(e){return e==="float"||e==="double"||e==="decimal"}function me(e){return F(e)||z(e)}function G(e){return e==="date"||e==="datetime"||e==="time"||e==="duration"}function ye(e){return e==="string"||e==="boolean"||e==="null"||me(e)||G(e)||e==="uuid"||e==="uri"||e==="binary"}function et(e){return e==="object"||e==="array"||e==="set"||e==="map"||e==="tuple"||e==="choice"||e==="any"}function O(e){return typeof e=="object"&&e!==null&&"$ref"in e}function ge(e){return typeof e=="object"&&e!==null&&!("type"in e)&&!("$ref"in e)&&!("enum"in e)&&!("const"in e)}function he(e){return typeof e=="object"&&e!==null&&("type"in e||"$ref"in e||"enum"in e||"const"in e)}function R(e){return e.type==="object"&&"properties"in e}function Q(e){return e.type==="array"&&"items"in e}function ee(e){return e.type==="set"&&"items"in e}function te(e){return e.type==="map"&&"values"in e}function ne(e){return e.type==="tuple"&&"tuple"in e}function re(e){return e.type==="choice"&&"choices"in e}function be(e){return"enum"in e&&Array.isArray(e.enum)}function ve(e){return"const"in e}function X(e){return e===void 0?null:typeof e=="string"||Array.isArray(e)?e:(O(e),null)}function xe(e){return e===void 0?!1:e==="null"?!0:Array.isArray(e)?e.includes("null"):!1}function J(e){return typeof e=="string"?e==="null"?[]:[e]:Array.isArray(e)?e.filter(t=>t!=="null"):[]}const E={int8:{min:-128n,max:127n},int16:{min:-32768n,max:32767n},int32:{min:-2147483648n,max:2147483647n},int64:{min:-9223372036854775808n,max:9223372036854775807n},int128:{min:-170141183460469231731687303715884105728n,max:170141183460469231731687303715884105727n},uint8:{min:0n,max:255n},uint16:{min:0n,max:65535n},uint32:{min:0n,max:4294967295n},uint64:{min:0n,max:18446744073709551615n},uint128:{min:0n,max:340282366920938463463374607431768211455n}};function Te(e){return e.startsWith("#/")?e.slice(2).split("/"):e.includes("/")?e.split("/"):["definitions",e]}function tt(e,t){let n=e;for(const r of t){if(n==null||typeof n!="object")return;n=n[r]}return n}function N(e,t){const n=Te(e),r=tt(t,n);if(r==null){console.warn(`Failed to resolve $ref: ${e}`);return}if(he(r))return r;if(ge(r)){console.warn(`$ref "${e}" points to a namespace, not a type definition`);return}}function nt(e,t){return N(e.$ref,t)}class $e{schema;visited=new Set;constructor(t){this.schema=t}resolve(t){if(this.visited.has(t)){console.warn(`Circular reference detected: ${t}`);return}this.visited.add(t);try{const n=N(t,this.schema);if(n?.type&&O(n.type)){const r=this.resolve(n.type.$ref);if(r){const{type:s,...a}=n;return{...r,...a}}}return n}finally{this.visited.delete(t)}}resolveDefinition(t){if(t.type&&O(t.type)){const n=this.resolve(t.type.$ref);if(n){const{type:r,...s}=t;return{...n,...s}}}return t}reset(){this.visited.clear()}}function K(e){return new $e(e)}class Z{schema;definition;path;readOnly;locale;widgetRegistry;isPropertyRequired;suppressLabel;refResolver;constructor(t){this.schema=t.schema,this.definition=t.definition,this.path=t.path,this.readOnly=t.readOnly??!1,this.locale=t.locale,this.widgetRegistry=t.widgetRegistry,this.isPropertyRequired=t.isPropertyRequired??!1,this.suppressLabel=t.suppressLabel??!1,this.refResolver=t.refResolver??K(t.schema)}with(t){return new Z({schema:this.schema,definition:t.definition??this.definition,path:t.path??this.path,readOnly:t.readOnly??this.readOnly,locale:t.locale??this.locale,widgetRegistry:t.widgetRegistry??this.widgetRegistry,isPropertyRequired:t.isPropertyRequired??this.isPropertyRequired,suppressLabel:t.suppressLabel??this.suppressLabel,refResolver:this.refResolver})}append(t){return this.with({path:[...this.path,t]})}get isRoot(){return this.path.length===0}get name(){const t=this.path[this.path.length-1];return typeof t=="string"?t:void 0}get widgetName(){return this.path.map(String).join(".")}get resolvedType(){const t=this.definition.type;if(!t)return null;if(O(t)){const n=this.refResolver.resolve(t.$ref);return n?.type?X(n.type):null}return X(t)}get primaryType(){const t=this.resolvedType;return t?typeof t=="string"?t==="null"?null:t:J(t)[0]??null:null}get isNullable(){return xe(this.definition.type)}get isRequired(){return this.isPropertyRequired}get isOptional(){return!this.isPropertyRequired}get isDeprecated(){return this.definition.deprecated===!0}get isAbstract(){return this.definition.abstract===!0}get isPrimitive(){const t=this.primaryType;return t!=null&&ye(t)}get description(){return this.definition.description}get examples(){return this.definition.examples}get defaultValue(){return this.definition.default}get unit(){return this.definition.unit}get currency(){return this.definition.currency}get label(){if(this.locale&&this.definition.altnames){const n=`lang:${this.locale}`,r=this.definition.altnames[n];if(r)return r}if(this.definition.name)return this.definition.name;const t=this.name;return t?B._t(B.gt(t)):""}get altnames(){return this.definition.altnames}get jsonPath(){return this.path.length===0?"":"/"+this.path.map(String).join("/")}resolveRef(t){return this.refResolver.resolve(t)}get hasEnum(){return"enum"in this.definition&&Array.isArray(this.definition.enum)}get enumValues(){if("enum"in this.definition)return this.definition.enum}get hasConst(){return"const"in this.definition}get constValue(){if("const"in this.definition)return this.definition.const}get format(){if("format"in this.definition)return this.definition.format}}function Ce(e,t){let n;const r=K(e);if(e.$root){const s=r.resolve(e.$root);s?n=s:(console.warn(`Failed to resolve $root: ${e.$root}`),n=e)}else e.type||e.properties?n=e:n={type:"any"};return new Z({schema:e,definition:n,path:[],readOnly:t?.readOnly,locale:t?.locale,widgetRegistry:t?.widgetRegistry,refResolver:r})}function ie(e,t,n){const r=[],s=[];if(!e.$extends)return{merged:e,inheritanceChain:r,errors:s};const a=Array.isArray(e.$extends)?e.$extends:[e.$extends],o=new Set,i=(p,y=0)=>{if(y>100)return s.push({path:p.join(" -> "),message:"Maximum inheritance depth exceeded"}),[];const h=[];for(const f of p){if(o.has(f)){s.push({path:f,message:`Circular inheritance detected: ${f}`});continue}o.add(f),r.push(f);const g=N(f,t);if(!g){s.push({path:f,message:`Failed to resolve base type: ${f}`});continue}if(g.$extends){const d=Array.isArray(g.$extends)?g.$extends:[g.$extends],v=i(d,y+1);h.push(...v)}h.push(g),o.delete(f)}return h},u=i(a);return{merged:rt(u,e),inheritanceChain:r,errors:s}}function rt(e,t){if(e.length===0)return t;let n={...e[0]};for(let a=1;a<e.length;a++)n=ue(n,e[a]);n=ue(n,t);const{$extends:r,...s}=n;return s}function ue(e,t){return R(e)&&R(t)?it(e,t):{...e,...t}}function it(e,t){const n={...e.properties??{},...t.properties??{}},r=le(e.required),s=le(t.required),a=st([...r,...s]),o={...e,...t,type:"object",properties:n};return a.length>0&&(o.required=a),o}function le(e){return e?e.length===0?[]:Array.isArray(e[0])?e.flat():e:[]}function st(e){return[...new Set(e)]}function at(e){const t=K(e);return{resolve:n=>(t.reset(),ie(n,e))}}function ot(){return l.html.span(l.attr.class("bc-json-structure-deprecated-badge"),l.attr.style("font-size: var(--font-size-xs); color: var(--color-warning-500, #d97706); background: var(--color-warning-100, #fef3c7); padding: 0.125em 0.5em; border-radius: var(--radius-sm); margin-inline-start: 0.5em; font-weight: normal;"),"(deprecated)")}function C(e,t){return!e||!t?e??"":l.html.span(e,ot())}function ut(e){const t=e.examples?.[0]!=null?String(e.examples[0]):void 0;return{label:e.suppressLabel?void 0:C(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated,placeholder:t}}function Ie({ctx:e,controller:t}){const n=ut(e);return m.Control(Ye.TextInput,{...n,controller:b.transformEmptyStringToUndefined(t)})}function lt(e){return{label:e.suppressLabel?void 0:C(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated}}function Se({ctx:e,controller:t}){const n=lt(e),r=m.Control(m.CheckboxInput,{...n,controller:t});return e.isNullable?m.Control(m.CheckboxInput,{...n,controller:t,after:b.NullableResetAfter(t.signal,t.disabled,s=>t.change(s))}):r}function ct(e,t){const n=E[t],r=we(e,n.min),s=De(e,n.max),a=e.examples?.[0]!=null?String(e.examples[0]):void 0;return{label:e.suppressLabel?void 0:C(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated,min:typeof r=="bigint"?Number(r):r,max:typeof s=="bigint"?Number(s):s,step:1,placeholder:a}}function pt(e,t){const n=E[t],r=we(e,n.min),s=De(e,n.max),a=e.examples?.[0]!=null?String(e.examples[0]):void 0;return{label:e.suppressLabel?void 0:C(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated,min:typeof r=="number"?BigInt(r):r,max:typeof s=="number"?BigInt(s):s,placeholder:a}}function we(e,t){const n=e.definition;if(n.minimum!==void 0){const r=typeof n.minimum=="string"?BigInt(n.minimum):n.minimum;return typeof r=="bigint"?r>t?r:t:BigInt(r)>t?r:Number(t)}if(n.exclusiveMinimum!==void 0){const r=typeof n.exclusiveMinimum=="string"?BigInt(n.exclusiveMinimum):n.exclusiveMinimum,s=typeof r=="bigint"?r+1n:r+1;return typeof s=="bigint"?s>t?s:t:BigInt(s)>t?s:Number(t)}return t>=BigInt(Number.MIN_SAFE_INTEGER)&&t<=BigInt(Number.MAX_SAFE_INTEGER)?Number(t):t}function De(e,t){const n=e.definition;if(n.maximum!==void 0){const r=typeof n.maximum=="string"?BigInt(n.maximum):n.maximum;return typeof r=="bigint"?r<t?r:t:BigInt(r)<t?r:Number(t)}if(n.exclusiveMaximum!==void 0){const r=typeof n.exclusiveMaximum=="string"?BigInt(n.exclusiveMaximum):n.exclusiveMaximum,s=typeof r=="bigint"?r-1n:r-1;return typeof s=="bigint"?s<t?s:t:BigInt(s)<t?s:Number(t)}return t>=BigInt(Number.MIN_SAFE_INTEGER)&&t<=BigInt(Number.MAX_SAFE_INTEGER)?Number(t):t}function Me({ctx:e,controller:t,intType:n}){if(fe(n)){const s=pt(e,n);return e.isNullable?m.Control(I.NullableBigintInput,{...s,controller:t}):m.Control(I.BigintInput,{...s,controller:t})}const r=ct(e,n);return e.isNullable?m.Control(b.NullableNumberInput,{...r,controller:t}):m.Control(b.NumberInput,{...r,controller:t})}function dt(e,t){const n=e.definition;let r;n.multipleOf!==void 0?r=n.multipleOf:t==="decimal"&&n.scale!==void 0?r=Math.pow(10,-n.scale):r=void 0;const s=n.minimum!==void 0?typeof n.minimum=="string"?parseFloat(n.minimum):n.minimum:void 0,a=n.maximum!==void 0?typeof n.maximum=="string"?parseFloat(n.maximum):n.maximum:void 0,o=n.exclusiveMinimum!==void 0?typeof n.exclusiveMinimum=="string"?parseFloat(n.exclusiveMinimum):n.exclusiveMinimum:void 0,i=n.exclusiveMaximum!==void 0?typeof n.exclusiveMaximum=="string"?parseFloat(n.exclusiveMaximum):n.exclusiveMaximum:void 0;let u=e.description;if(o!==void 0||i!==void 0){const p=[];o!==void 0&&p.push(`> ${o}`),i!==void 0&&p.push(`< ${i}`);const y=`Valid range: ${p.join(" and ")}`;u=u?`${u} (${y})`:y}const c=e.examples?.[0]!=null?String(e.examples[0]):void 0;return{label:e.suppressLabel?void 0:C(e.label,e.isDeprecated),description:u,required:e.isRequired,disabled:e.readOnly||e.isDeprecated,min:s??o,max:a??i,step:r,placeholder:c}}function Oe({ctx:e,controller:t,floatType:n}){const r=dt(e,n);return e.isNullable?m.Control(b.NullableNumberInput,{...r,controller:t}):m.Control(b.NumberInput,{...r,controller:t})}function ft(e){return{label:e.suppressLabel?void 0:C(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated,placeholder:"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}}function je({ctx:e,controller:t}){const n=ft(e);return m.Control(b.UUIDInput,{...n,controller:b.transformEmptyStringToUndefined(t)})}function mt(e){return{label:e.suppressLabel?void 0:C(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated}}function Ae({ctx:e,controller:t,temporalType:n}){const r=mt(e);switch(n){case"date":return e.isNullable?m.Control(I.NullablePlainDateInput,{...r,controller:t}):m.Control(I.PlainDateInput,{...r,controller:t});case"datetime":return e.isNullable?m.Control(I.NullablePlainDateTimeInput,{...r,controller:t}):m.Control(I.PlainDateTimeInput,{...r,controller:t});case"time":return e.isNullable?m.Control(I.NullablePlainTimeInput,{...r,controller:t}):m.Control(I.PlainTimeInput,{...r,controller:t});case"duration":return e.isNullable?m.Control(b.NullableDurationInput,{...r,controller:t}):m.Control(I.DurationInput,{...r,controller:t});default:return console.warn(`Unknown temporal type: ${n}`),l.Fragment()}}function yt(e){return{label:e.suppressLabel?void 0:C(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated,placeholder:"https://example.com"}}function Re({ctx:e,controller:t}){const n=yt(e);return m.Control(b.UrlInput,{...n,controller:b.transformEmptyStringToUndefined(t)})}function gt(e){return{label:e.suppressLabel?void 0:C(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated}}function Ne({ctx:e,controller:t}){const n=gt(e);return m.Control(I.FileInput,{...n,controller:t})}function ht(e){return{label:e.suppressLabel?void 0:C(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated,placeholder:"Enter JSON value"}}function bt(e){return e.transform(t=>t===void 0?void 0:JSON.stringify(t,null,2),t=>{if(!(t===void 0||t.trim()===""))try{return JSON.parse(t)}catch{return t}})}function Y({ctx:e,controller:t}){const n=ht(e);return m.Control(b.TextArea,{...n,controller:bt(t)})}function L(e){return{label:e.suppressLabel?void 0:e.label,description:e.description,required:e.isRequired}}function P(e){if(e.default!==void 0)return e.default;if(e.examples&&e.examples.length>0)return e.examples[0];if(!e.type)return;const t=Array.isArray(e.type)?e.type[0]:e.type;if(!(typeof t=="object"&&"$ref"in t))switch(t){case"string":return"";case"boolean":return!1;case"null":return null;case"object":return{};case"array":case"set":return[];case"map":return{};case"any":return;default:return t==="int8"||t==="int16"||t==="int32"||t==="int64"||t==="int128"||t==="uint8"||t==="uint16"||t==="uint32"||t==="uint64"||t==="uint128"||t==="float"||t==="double"||t==="decimal"?0:void 0}}function vt(e,t){return!t||t.length===0?!1:typeof t[0]=="string"?t.includes(e):Array.isArray(t[0])?t.some(n=>n.includes(e)):!1}function xt(e,t="property"){if(!e.has(t))return t;let n=1;for(;e.has(`${t}${n}`);)n++;return`${t}${n}`}function ke({ctx:e,controller:t}){const n=e.definition;return n.type!=="object"||!("properties"in n)?(console.warn("StructureObjectControl requires an ObjectTypeDefinition"),l.html.div("Invalid object definition")):l.MapSignal(t.signal,r=>{const s=n.properties,a=n.required,o=n.additionalProperties,i=o!==!1,u=typeof o=="object"&&o!==null?o:{type:"any"},c=n.minProperties??0,p=n.maxProperties??1/0,y=Qe.l(s),h=new Set(y.map(([x])=>x)),f=Object.keys(r??{}),g=f.filter(x=>!h.has(x)),d=i&&f.length<p&&!e.readOnly,v=f.length>c&&!e.readOnly,T=y.map(([x,A])=>{const M=x,H=t.field(M),Xe=vt(M,a);return $({ctx:e.with({definition:A,isPropertyRequired:Xe,suppressLabel:!1}).append(M),controller:H})}),S=g.map(x=>{const A=t.field(x);return l.html.div(l.attr.class("bc-json-structure-additional-property"),l.html.div(l.attr.class("bc-json-structure-additional-property-header"),l.html.strong(`${x}:`),_.Button({variant:"text",size:"xs",onClick:()=>{const M={...l.Value.get(t.signal)??{}};delete M[x],t.change(M)},disabled:!v},"Remove")),l.html.div(l.attr.class("bc-json-structure-additional-property-value"),$({ctx:e.with({definition:u,isPropertyRequired:!1,suppressLabel:!0}).append(x),controller:A})))}),k=d?_.Button({variant:"outline",size:"sm",onClick:()=>{const x=l.Value.get(t.signal)??{},A=new Set(Object.keys(x)),M=xt(A),H=P(u);t.change({...x,[M]:H})}},"Add Property"):null,j=l.html.div(l.attr.class("bc-json-structure-object-fields"),...T,...S,k),q=l.html.div(l.attr.class("bc-json-structure-object"),j);return!e.suppressLabel&&e.name?m.InputWrapper({...L(e),content:q}):q})}function qe({ctx:e,controller:t}){const n=e.definition;if(n.type!=="array"||!("items"in n))return console.warn("StructureArrayControl requires an ArrayTypeDefinition"),l.html.div("Invalid array definition");const r=n.items,s=n.minItems??0,a=n.maxItems??1/0,o=l.computedOf(t.signal)(u=>(u?.length??0)<a),i=l.computedOf(t.signal)(u=>(u?.length??0)>s);return b.ListControl({...L(e),controller:t,createItem:()=>P(r),showAdd:!0,addDisabled:l.computedOf(o)(u=>!u||e.readOnly),showRemove:!0,removeDisabled:l.computedOf(i)(u=>!u||e.readOnly),element:u=>{const c=u.position.index,p=u.item;return $({ctx:e.with({definition:r,suppressLabel:!0}).append(c),controller:p})}})}function Fe({ctx:e,controller:t}){const n=e.definition;if(n.type!=="set"||!("items"in n))return console.warn("StructureSetControl requires a SetTypeDefinition"),l.html.div("Invalid set definition");const r=n.items,s=n.minItems??0,a=n.maxItems??1/0,o=l.computedOf(t.signal)(c=>(c?.length??0)<a),i=l.computedOf(t.signal)(c=>(c?.length??0)>s),u=l.computedOf(t.signal)(c=>{if(!c||c.length===0)return new Set;const p=new Map,y=new Set;for(let h=0;h<c.length;h++){const f=JSON.stringify(c[h]);p.has(f)?(y.add(p.get(f)),y.add(h)):p.set(f,h)}return y});return b.ListControl({...L(e),controller:t,createItem:()=>P(r),showAdd:!0,addDisabled:l.computedOf(o)(c=>!c||e.readOnly),showRemove:!0,removeDisabled:l.computedOf(i)(c=>!c||e.readOnly),element:c=>{const p=c.position.index,y=c.item,h=u.map(g=>g.has(p)),f=$({ctx:e.with({definition:r,suppressLabel:!0}).append(p),controller:y});return h.map(g=>g?w.Stack(l.attr.class("bc-stack--gap-1"),f,w.Label(l.attr.class("bc-json-structure-set-error"),"⚠️ Duplicate value - sets must contain unique items")):f)}})}function Tt(e,t="key"){if(!e.has(t))return t;let n=1;for(;e.has(`${t}${n}`);)n++;return`${t}${n}`}function Pe({ctx:e,controller:t}){const n=e.definition;if(n.type!=="map"||!("values"in n))return console.warn("StructureMapControl requires a MapTypeDefinition"),l.html.div("Invalid map definition");const r=n.values,s=n.minProperties??0,a=n.maxProperties??1/0;return l.MapSignal(t.signal,o=>{const i=Object.keys(o??{}),u=i.length,c=u<a&&!e.readOnly,p=u>s&&!e.readOnly,y=i.map(d=>{const v=t.field(d);return l.html.div(l.attr.class("bc-json-structure-map-entry"),l.html.div(l.attr.class("bc-json-structure-map-entry-header"),l.html.strong(l.attr.class("bc-json-structure-map-entry-key"),`${d}:`),_.Button({variant:"text",size:"xs",onClick:()=>{const T={...l.Value.get(t.signal)??{}};delete T[d],t.change(T)},disabled:!p},"Remove")),l.html.div(l.attr.class("bc-json-structure-map-entry-value"),$({ctx:e.with({definition:r,suppressLabel:!0}).append(d),controller:v})))}),h=c?_.Button({variant:"outline",size:"sm",onClick:()=>{const d=l.Value.get(t.signal)??{},v=new Set(Object.keys(d)),T=Tt(v),S=P(r);t.change({...d,[T]:S})}},"Add Entry"):null,f=l.html.div(l.attr.class("bc-json-structure-map-entries"),...y,h),g=l.html.div(l.attr.class("bc-json-structure-map"),f);return!e.suppressLabel&&e.name?m.InputWrapper({...L(e),content:g}):g})}function Ve({ctx:e,controller:t}){const n=e.definition;if(n.type!=="tuple"||!("tuple"in n)||!("properties"in n))return console.warn("StructureTupleControl requires a TupleTypeDefinition"),l.html.div("Invalid tuple definition");const r=n.tuple,s=n.properties,a=t.signal.value;if(!Array.isArray(a)||a.length!==r.length){const i=r.map(u=>{const c=s[u];return c?P(c):void 0});t.change(i)}const o=L(e);return l.html.div(l.attr.class("bc-json-structure-tuple"),o.label&&l.html.label(l.attr.class("bc-json-structure-tuple-label"),o.label,o.required&&l.html.span(l.attr.class("bc-required-indicator"),"*")),o.description&&l.html.div(l.attr.class("bc-json-structure-tuple-description"),o.description),l.html.div(l.attr.class("bc-json-structure-tuple-elements"),...r.map((i,u)=>{const c=s[i];if(!c)return console.warn(`Tuple element "${i}" at index ${u} not found in properties`),l.html.div(l.attr.class("bc-json-structure-tuple-element"),l.html.span(`Missing definition for "${i}"`));const p=t.item(u),y=c.name||i;return l.html.div(l.attr.class("bc-json-structure-tuple-element"),l.html.div(l.attr.class("bc-json-structure-tuple-element-header"),l.html.span(l.attr.class("bc-json-structure-tuple-position"),`[${u}]`),l.html.span(l.attr.class("bc-json-structure-tuple-element-name"),y)),l.html.div(l.attr.class("bc-json-structure-tuple-element-control"),$({ctx:e.with({definition:c,suppressLabel:!0}).append(u),controller:p})))})))}function $t({options:e,selected:t,onChange:n,disabled:r}){return b.NativeSelect({options:e.map(s=>({type:"value",value:s.value,label:s.label})),value:t,onChange:n,disabled:r})}function Ct({ctx:e,selector:t,inner:n}){const r=w.Stack(l.attr.class("bc-stack--gap-2 bc-stack--align-start"),t,n);return e.isRoot?r:m.InputWrapper({label:e.suppressLabel?void 0:e.label,description:e.description,required:e.isRequired,content:r})}function It(e,t,n){if(!e||typeof e!="object")return null;const r=e;if(n&&n in r){const a=r[n];if(typeof a=="string"&&a in t)return a}const s=Object.keys(r);if(s.length===1){const a=s[0];if(a in t)return a}return null}function St(e,t,n){if(!e||typeof e!="object")return;const r=e;if(n&&n in r){const{[n]:s,...a}=r;return a}if(t in r)return r[t]}function ce(e,t,n){return n?e&&typeof e=="object"?{[n]:t,...e}:{[n]:t}:{[t]:e}}function Ee({ctx:e,controller:t}){const n=e.definition;if(!n.choices||typeof n.choices!="object")return console.warn("StructureChoiceControl requires choices property"),l.html.div(l.attr.class("bc-json-structure-error"),"Invalid choice definition: missing choices");const r=n.choices,s=n.selector,a=Object.keys(r);if(a.length===0)return l.html.div(l.attr.class("bc-json-structure-error"),"Choice type has no variants defined");const o=a.map(d=>{const T=r[d].name||d;return{value:d,label:T}}),i=l.computedOf(t.signal)(d=>It(d,r,s)),u=l.Value.get(i)||a[0],c=l.prop(u);t.onDispose(c.dispose);let p=!1;const y=i.on(d=>{!p&&d!==null&&c.set(d)});t.onDispose(y);const f=$t({options:o,selected:c,onChange:d=>{p=!0,c.set(d);const v=r[d];if(v){const T=P(v),S=ce(T,d,s);t.change(S)}},disabled:e.readOnly||e.isDeprecated}),g=l.MapSignal(c,d=>{const v=r[l.Value.get(d)];if(!v)return l.html.div(l.attr.class("bc-json-structure-error"),`Choice variant not found: ${l.Value.get(d)}`);const T=l.computedOf(t.signal)(j=>St(j,l.Value.get(d),s)),S=j=>{const q=ce(j,l.Value.get(d),s);t.change(q)},k=new m.Controller([...t.path,l.Value.get(d)],S,T,t.status,{disabled:t.disabled},void 0);return t.onDispose(()=>k.dispose()),$({ctx:e.with({definition:v,suppressLabel:!0}).append(l.Value.get(d)),controller:k})});return Ct({ctx:e,selector:f,inner:g})}function wt(e){return{label:e.suppressLabel?void 0:C(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated}}function Le({ctx:e,controller:t}){const n=wt(e);return b.NativeSelectControl({...n,options:(e.enumValues??[]).map(r=>({type:"value",value:r,label:String(r)})),controller:t})}function Ue({ctx:e,controller:t}){return l.Fragment(l.WithElement(()=>{l.Value.get(t.signal)!==e.constValue&&t.change(e.constValue)}),b.Group(w.MutedLabel(e.label,": "),w.Label(String(e.constValue))))}function Dt(e){return{label:e.suppressLabel?void 0:e.label,description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated}}function Mt(e,t){if(e===null)return t.includes("null")?"null":null;if(e===void 0)return t.includes("string")?"string":t[0]??null;switch(typeof e){case"string":return t.includes("uuid")?"uuid":t.includes("uri")?"uri":t.includes("date")?"date":t.includes("datetime")?"datetime":t.includes("time")?"time":t.includes("duration")?"duration":t.includes("string")?"string":null;case"number":{if(Number.isInteger(e)){if(t.includes("int32"))return"int32";if(t.includes("int64"))return"int64";if(t.includes("uint32"))return"uint32";if(t.includes("uint64"))return"uint64";if(t.includes("int16"))return"int16";if(t.includes("int8"))return"int8";if(t.includes("uint16"))return"uint16";if(t.includes("uint8"))return"uint8"}return t.includes("double")?"double":t.includes("float")?"float":t.includes("decimal")?"decimal":null}case"bigint":return t.includes("int128")?"int128":t.includes("int64")?"int64":t.includes("uint128")?"uint128":t.includes("uint64")?"uint64":null;case"boolean":return t.includes("boolean")?"boolean":null;case"object":return e instanceof File||e instanceof Blob?t.includes("binary")?"binary":null:Array.isArray(e)?t.includes("array")?"array":t.includes("set")?"set":t.includes("tuple")?"tuple":null:t.includes("object")?"object":t.includes("map")?"map":null;default:return null}}function Ot(e,t){try{switch(t){case"string":case"uuid":case"uri":case"date":case"datetime":case"time":case"duration":return e==null?{ok:!0,value:void 0}:{ok:!0,value:String(e)};case"int8":case"int16":case"int32":case"uint8":case"uint16":case"uint32":return typeof e=="number"&&Number.isInteger(e)?{ok:!0,value:e}:typeof e=="string"?/^[-+]?\d+$/.test(e.trim())?{ok:!0,value:parseInt(e,10)}:{ok:!1}:typeof e=="boolean"?{ok:!0,value:e?1:0}:{ok:!1};case"int64":case"int128":case"uint64":case"uint128":{if(typeof e=="bigint")return{ok:!0,value:e};if(typeof e=="number"&&Number.isInteger(e))return{ok:!0,value:BigInt(e)};if(typeof e=="string")try{return{ok:!0,value:BigInt(e.trim())}}catch{return{ok:!1}}return{ok:!1}}case"float":case"double":case"decimal":{if(typeof e=="number")return{ok:!0,value:e};if(typeof e=="string"){const n=Number(e);return Number.isFinite(n)?{ok:!0,value:n}:{ok:!1}}return typeof e=="boolean"?{ok:!0,value:e?1:0}:{ok:!1}}case"boolean":{if(typeof e=="boolean")return{ok:!0,value:e};if(typeof e=="string"){const n=e.trim().toLowerCase();return n==="true"||n==="1"||n==="yes"?{ok:!0,value:!0}:n==="false"||n==="0"||n==="no"?{ok:!0,value:!1}:{ok:!1}}return typeof e=="number"?{ok:!0,value:e!==0}:{ok:!1}}case"array":case"set":case"tuple":return Array.isArray(e)?{ok:!0,value:e}:{ok:!1};case"object":case"map":return e!=null&&typeof e=="object"&&!Array.isArray(e)?{ok:!0,value:e}:{ok:!1};case"binary":return e instanceof File||e instanceof Blob?{ok:!0,value:e}:{ok:!1};case"null":return{ok:!0,value:null};case"any":case"choice":return{ok:!0,value:e};default:return{ok:!1}}}catch{return{ok:!1}}}function jt(e){switch(e){case"null":return null;case"array":case"set":case"tuple":return[];case"object":case"map":return{};case"binary":return;default:return}}function At(e){return e.map(t=>({key:t,label:B._t(t),detect:n=>Mt(n,[t])===t,convert:n=>Ot(n,t),defaultValue:()=>jt(t)}))}function Rt({options:e,selected:t,onChange:n}){if((e.length<=3?"segmented":"select")==="segmented"){const a=Object.fromEntries(e.map(o=>[o.value,o.label]));return b.SegmentedInput({options:a,value:t,onChange:o=>n(o),size:"sm"})}return b.NativeSelect({options:e.map(a=>({type:"value",value:a.value,label:a.label})),value:t,onChange:n})}function Nt({ctx:e,showSelector:t,selector:n,inner:r}){return e.isRoot?t?w.Stack(l.attr.class("bc-stack--gap-2"),n,r):r:m.InputWrapper({...Dt(e),content:t?w.Stack(l.attr.class("bc-stack--gap-2 bc-stack--align-start"),n,r):r})}function kt({ctx:e,controller:t}){const n=e.definition,r=n.type;let s=[];if(Array.isArray(r))s=r;else return console.warn("StructureUnionControl called with non-array type"),$({ctx:e,controller:t});const a=s.includes("null"),o=J(r),i=a&&o.length>0?o:s,u=At(i),c=new b.UnionController(t.path,t.change,t.signal,t.status,{disabled:t.disabled},u);t.onDispose(()=>c.dispose());const p=f=>Rt({options:i.map(g=>({value:g,label:B._t(g)})),selected:c.activeBranch,onChange:f}),y=f=>{c.switchToBranch(f,!1)},h=l.MapSignal(c.activeBranch,f=>{const g=l.Value.get(f),d=c.getBranchController(g),v=e.with({definition:{...n,type:g},suppressLabel:!e.isRoot});return $({ctx:v,controller:d})});return Nt({ctx:e,showSelector:i.length>1,selector:p(y),inner:h})}function $({ctx:e,controller:t}){let n=e;const r=e.definition;if(r.type&&O(r.type)){const i=e.resolveRef(r.type.$ref);if(i){const{type:u,...c}=r,p={...i,...c};n=e.with({definition:p})}}if(n.definition.$extends){const{merged:i}=ie(n.definition,e.schema);n=n.with({definition:i})}const s=n.widgetRegistry;if(s){const i=s.findBestWidget(n);if(i)return i.registration.factory({controller:t,ctx:n})}if(be(n.definition))return Le({ctx:n,controller:t});if(ve(n.definition))return Ue({ctx:n,controller:t});const a=n.resolvedType;if(Array.isArray(a)&&J(a).length>1)return kt({ctx:n,controller:t});const o=n.primaryType;if(!o)return Y({ctx:n,controller:t});if(R(n.definition)){const i=t instanceof m.ObjectController?t:t.object();return ke({ctx:n,controller:i})}if(Q(n.definition)){const i=t instanceof m.ArrayController?t:t.array();return qe({ctx:n,controller:i})}if(ee(n.definition)){const i=t instanceof m.ArrayController?t:t.array();return Fe({ctx:n,controller:i})}if(te(n.definition)){const i=t instanceof m.ObjectController?t:t.object();return Pe({ctx:n,controller:i})}if(ne(n.definition)){const i=t instanceof m.ArrayController?t:t.array();return Ve({ctx:n,controller:i})}if(re(n.definition))return Ee({ctx:n,controller:t});switch(o){case"string":return Ie({ctx:n,controller:t});case"boolean":return Se({ctx:n,controller:t});case"uuid":return je({ctx:n,controller:t});case"uri":return Re({ctx:n,controller:t});case"binary":return Ne({ctx:n,controller:t});case"null":return qt(n);case"any":return Y({ctx:n,controller:t});default:return F(o)?Me({ctx:n,controller:t,intType:o}):z(o)?Oe({ctx:n,controller:t,floatType:o}):G(o)?Ae({ctx:n,controller:t,temporalType:o}):(console.warn(`Unknown type: ${o}`),Ft(n,o))}}function We({schema:e,controller:t,widgetRegistry:n,readOnly:r,locale:s}){const a=Ce(e,{widgetRegistry:n,readOnly:r,locale:s});return $({ctx:a,controller:t})}function qt(e){return l.html.div(l.attr.class("bc-json-structure-placeholder"),l.html.span(`[Null: ${e.label}]`),l.html.em("null"))}function Ft(e,t){return l.html.div(l.attr.class("bc-json-structure-unknown"),l.html.span(`Unknown type: ${t}`),l.html.em(`at path: ${e.jsonPath}`))}function se(e,t){return new Pt(e,t)}class Pt{schema;options;constructor(t,n){this.schema=t,this.options=n??{}}validate(t){const n=[];return this.validateValue(t,this.schema,"",n),{isValid:n.length===0,errors:n}}validateAt(t,n){return this.validate(t)}validateValue(t,n,r,s){if(this.options.stopOnFirstError&&s.length>0)return;if(t===null){const c=n.type;if(c==="null"||Array.isArray(c)&&c.includes("null"))return;s.push({path:r,type:"type",expected:c,actual:"null"});return}if("enum"in n&&Array.isArray(n.enum)){n.enum.includes(t)||s.push({path:r,type:"enum",expected:n.enum,actual:t});return}if("const"in n){t!==n.const&&s.push({path:r,type:"const",expected:n.const,actual:t});return}const a=n.type;if(!a)return;const i=(Array.isArray(a)?a:[a]).filter(c=>typeof c=="string");!i.some(c=>this.checkType(t,c,n,r,s))&&i.length>0&&s.push({path:r,type:"type",expected:a,actual:typeof t})}checkType(t,n,r,s,a){switch(n){case"string":return this.validateString(t,r,s,a);case"boolean":return typeof t=="boolean";case"null":return t===null;case"object":return this.validateObject(t,r,s,a);case"array":return this.validateArray(t,r,s,a);case"set":return this.validateSet(t,r,s,a);case"map":return this.validateMap(t,r,s,a);case"tuple":return this.validateTuple(t,r,s,a);case"choice":return this.validateChoice(t,r,s,a);case"any":return!0;default:return F(n)?this.validateInteger(t,n,r,s,a):z(n)?this.validateFloat(t,r,s,a):G(n)?this.validateTemporal(t,n,s,a):n==="uuid"?this.validateUuid(t,s,a):n==="uri"?this.validateUri(t,s,a):n==="binary"?this.validateBinary(t,s,a):!1}}validateString(t,n,r,s){if(typeof t!="string")return!1;const a=n;if(a.minLength!==void 0&&t.length<a.minLength&&s.push({path:r,type:"minLength",expected:a.minLength,actual:t.length}),a.maxLength!==void 0&&t.length>a.maxLength&&s.push({path:r,type:"maxLength",expected:a.maxLength,actual:t.length}),a.pattern!==void 0)try{new RegExp(a.pattern).test(t)||s.push({path:r,type:"pattern",expected:a.pattern,actual:t})}catch{}return!0}validateInteger(t,n,r,s,a){if(typeof t!="number"&&typeof t!="bigint")return!1;if(typeof t=="number"&&!Number.isInteger(t))return a.push({path:s,type:"type",expected:n,actual:"float"}),!1;if(F(n)){const o=E[n],i=typeof t=="bigint"?t:BigInt(Math.round(t));(i<o.min||i>o.max)&&a.push({path:s,type:"integer_bounds",expected:{min:o.min.toString(),max:o.max.toString()},actual:i.toString(),context:{type:n}})}return this.validateNumericConstraints(t,r,s,a),!0}validateFloat(t,n,r,s){return typeof t!="number"?!1:(this.validateNumericConstraints(t,n,r,s),!0)}validateNumericConstraints(t,n,r,s){const a=n,o=typeof t=="bigint"?Number(t):t;if(a.minimum!==void 0){const i=typeof a.minimum=="string"?Number(a.minimum):a.minimum;o<i&&s.push({path:r,type:"minimum",expected:i,actual:o})}if(a.maximum!==void 0){const i=typeof a.maximum=="string"?Number(a.maximum):a.maximum;o>i&&s.push({path:r,type:"maximum",expected:i,actual:o})}if(a.exclusiveMinimum!==void 0){const i=typeof a.exclusiveMinimum=="string"?Number(a.exclusiveMinimum):a.exclusiveMinimum;o<=i&&s.push({path:r,type:"exclusiveMinimum",expected:i,actual:o})}if(a.exclusiveMaximum!==void 0){const i=typeof a.exclusiveMaximum=="string"?Number(a.exclusiveMaximum):a.exclusiveMaximum;o>=i&&s.push({path:r,type:"exclusiveMaximum",expected:i,actual:o})}a.multipleOf!==void 0&&typeof t=="number"&&t%a.multipleOf!==0&&s.push({path:r,type:"multipleOf",expected:a.multipleOf,actual:t})}validateTemporal(t,n,r,s){if(typeof t!="string")return!1;const o={date:/^\d{4}-\d{2}-\d{2}$/,datetime:/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}:\d{2})?$/,time:/^\d{2}:\d{2}:\d{2}(\.\d+)?$/,duration:/^P(\d+Y)?(\d+M)?(\d+W)?(\d+D)?(T(\d+H)?(\d+M)?(\d+S)?)?$/}[n];return o&&!o.test(t)?(s.push({path:r,type:"format",expected:n,actual:t}),!1):!0}validateUuid(t,n,r){return typeof t!="string"?!1:/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(t)?!0:(r.push({path:n,type:"format",expected:"uuid",actual:t}),!1)}validateUri(t,n,r){if(typeof t!="string")return!1;try{return new URL(t),!0}catch{return r.push({path:n,type:"format",expected:"uri",actual:t}),!1}}validateBinary(t,n,r){return t instanceof Uint8Array?!0:typeof t!="string"?!1:/^[A-Za-z0-9+/]*={0,2}$/.test(t)?!0:(r.push({path:n,type:"format",expected:"binary",actual:t}),!1)}validateObject(t,n,r,s){if(typeof t!="object"||t===null||Array.isArray(t))return!1;if(!R(n))return!0;const a=t,o=n.required;if(o){const i=Array.isArray(o[0])?o.flat():o;for(const u of i)u in a||s.push({path:r?`${r}/${u}`:`/${u}`,type:"required",expected:u})}for(const[i,u]of Object.entries(a)){const c=n.properties?.[i];if(c){const p=r?`${r}/${i}`:`/${i}`;this.validateValue(u,c,p,s)}else if(n.additionalProperties===!1)s.push({path:r?`${r}/${i}`:`/${i}`,type:"additionalProperties",actual:i});else if(typeof n.additionalProperties=="object"){const p=r?`${r}/${i}`:`/${i}`;this.validateValue(u,n.additionalProperties,p,s)}}return!0}validateArray(t,n,r,s){if(!Array.isArray(t))return!1;if(!Q(n))return!0;const a=n;a.minItems!==void 0&&t.length<a.minItems&&s.push({path:r,type:"minItems",expected:a.minItems,actual:t.length}),a.maxItems!==void 0&&t.length>a.maxItems&&s.push({path:r,type:"maxItems",expected:a.maxItems,actual:t.length});for(let o=0;o<t.length;o++){const i=`${r}/${o}`;this.validateValue(t[o],n.items,i,s)}return!0}validateSet(t,n,r,s){if(!Array.isArray(t))return!1;if(!ee(n))return!0;const a=new Set;for(let o=0;o<t.length;o++){const i=JSON.stringify(t[o]);a.has(i)&&s.push({path:`${r}/${o}`,type:"uniqueItems",actual:t[o]}),a.add(i)}return this.validateArray(t,n,r,s)}validateMap(t,n,r,s){if(typeof t!="object"||t===null||Array.isArray(t))return!1;if(!te(n))return!0;const a=t;for(const[o,i]of Object.entries(a)){const u=`${r}/${o}`;this.validateValue(i,n.values,u,s)}return!0}validateTuple(t,n,r,s){if(!Array.isArray(t))return!1;if(!ne(n))return!0;const a=n.tuple.length;t.length!==a&&s.push({path:r,type:"tuple_length",expected:a,actual:t.length});for(let o=0;o<n.tuple.length;o++){const i=n.tuple[o],u=n.properties?.[i];u&&o<t.length&&this.validateValue(t[o],u,`${r}/${o}`,s)}return!0}validateChoice(t,n,r,s){if(typeof t!="object"||t===null||Array.isArray(t))return!1;if(!re(n))return!0;const a=t,o=Object.keys(n.choices),i=Object.keys(a).find(c=>o.includes(c));if(!i)return s.push({path:r,type:"choice",expected:o,actual:Object.keys(a)}),!1;const u=n.choices[i];return u&&this.validateValue(a[i],u,`${r}/${i}`,s),!0}}function Vt(e,t,n){return se(e,n).validate(t)}function Be(e,t){const n=Et(e,t);return{path:e.path,message:n,code:e.type}}function ae(e,t){return e.map(n=>{const r=t?.get(n.path);return Be(n,r)})}function Et(e,t){switch(e.type){case"type":return`Expected ${pe(e.expected)}, got ${Lt(e.actual)}`;case"type_mismatch":return`Value must be of type ${pe(e.expected)}`;case"minLength":return`Must be at least ${e.expected} characters`;case"maxLength":return`Must be no more than ${e.expected} characters`;case"pattern":return Ut(e,t);case"format":return Wt(e);case"minimum":return`Must be at least ${e.expected}`;case"maximum":return`Must be at most ${e.expected}`;case"exclusiveMinimum":return`Must be greater than ${e.expected}`;case"exclusiveMaximum":return`Must be less than ${e.expected}`;case"multipleOf":return`Must be a multiple of ${e.expected}`;case"integer_bounds":return Bt(e);case"minItems":return`Must have at least ${e.expected} items`;case"maxItems":return`Must have no more than ${e.expected} items`;case"uniqueItems":return"All items must be unique";case"contains":return"Must contain at least one matching item";case"minContains":return`Must contain at least ${e.expected} matching items`;case"maxContains":return`Must contain no more than ${e.expected} matching items`;case"required":return"This field is required";case"minProperties":return`Must have at least ${e.expected} properties`;case"maxProperties":return`Must have no more than ${e.expected} properties`;case"additionalProperties":return`Unknown property: ${e.actual}`;case"dependentRequired":return _t(e);case"enum":return zt(e);case"const":return`Must be exactly ${JSON.stringify(e.expected)}`;case"ref_not_found":return`Invalid reference: ${e.expected}`;case"circular_ref":return"Circular reference detected";case"invalid":return"Invalid value";default:return e.context?.message??`Validation error: ${e.type}`}}function pe(e){return typeof e=="string"?de(e):Array.isArray(e)?e.map(de).join(" or "):String(e)}function Lt(e){return e===null?"null":e===void 0?"undefined":typeof e}function de(e){return{string:"text",boolean:"true/false",int8:"integer (-128 to 127)",int16:"integer (-32768 to 32767)",int32:"integer",int64:"large integer",int128:"very large integer",uint8:"positive integer (0 to 255)",uint16:"positive integer (0 to 65535)",uint32:"positive integer",uint64:"large positive integer",uint128:"very large positive integer",float:"decimal number",double:"decimal number",decimal:"decimal number",date:"date",datetime:"date and time",time:"time",duration:"duration",uuid:"UUID",uri:"URL",binary:"binary data",object:"object",array:"list",set:"unique list",map:"key-value pairs",tuple:"ordered list",choice:"one of multiple options",any:"any value",null:"empty"}[e]??e}function Ut(e,t){const n=t?.description;if(n&&e.type==="pattern")return`Does not match required format: ${n}`;const r=e.expected;if(r){const a={"^[a-zA-Z]+$":"letters only","^[0-9]+$":"numbers only","^[a-zA-Z0-9]+$":"letters and numbers only","^\\S+$":"no spaces allowed","^[a-z]+$":"lowercase letters only","^[A-Z]+$":"uppercase letters only"}[r];if(a)return`Must be ${a}`}return"Does not match required format"}function Wt(e){const t=e.expected;return{email:"Must be a valid email address","date-time":"Must be a valid date and time",date:"Must be a valid date",time:"Must be a valid time",uri:"Must be a valid URL","uri-reference":"Must be a valid URL or relative path",uuid:"Must be a valid UUID",hostname:"Must be a valid hostname",ipv4:"Must be a valid IPv4 address",ipv6:"Must be a valid IPv6 address",regex:"Must be a valid regular expression","json-pointer":"Must be a valid JSON pointer"}[t]??`Must be a valid ${t}`}function Bt(e){const t=e.context?.type;if(t&&F(t)){const n=E[t];return`Must be between ${n.min} and ${n.max}`}return"Value is out of range for this integer type"}function _t(e){const t=e.context?.dependent,n=e.context?.required;return t&&n?.length?`When "${t}" is present, "${n.join('", "')}" must also be provided`:"Missing required dependent fields"}function zt(e){const t=e.expected;return t&&t.length<=5?`Must be one of: ${t.map(r=>JSON.stringify(r)).join(", ")}`:"Invalid value"}function Gt(e){const t=new Map;for(const n of e){const r=t.get(n.path)??[];r.push(n),t.set(n.path,r)}return t}function Jt(e,t){return e.filter(n=>n.path===t)}function Kt(e,t){return e.some(n=>n.path===t)}function Zt(e,t){const n=t===""?"/":`${t}/`;return e.filter(r=>r.path.startsWith(n))}class U{registrations=new Map;parent;constructor(t){this.parent=t??null}register(t,n){this.registrations.set(t,n)}unregister(t){this.registrations.delete(t)}get(t){return this.registrations.get(t)??this.parent?.get(t)}has(t){return this.registrations.has(t)||(this.parent?.has(t)??!1)}names(){const t=this.parent?.names()??[],n=Array.from(this.registrations.keys());return[...new Set([...t,...n])]}getForType(t){const n=[];this.parent&&n.push(...this.parent.getForType(t));for(const r of this.registrations.values())r.supportedTypes?.includes(t)&&n.push(r);return n}getForFormat(t){const n=[];this.parent&&n.push(...this.parent.getForFormat(t));for(const r of this.registrations.values())r.supportedFormats?.includes(t)&&n.push(r);return n}findBestWidget(t){const n=[];for(const s of this.names()){const a=this.get(s);if(!a)continue;const o=this.scoreWidget(a,t);o>0&&n.push({name:s,registration:a,score:o})}if(n.length===0)return null;n.sort((s,a)=>a.score!==s.score?a.score-s.score:(a.registration.priority??0)-(s.registration.priority??0));const r=n[0];return{name:r.name,registration:r.registration}}scoreWidget(t,n){let r=0;if(t.matcher)if(t.matcher(n))r+=100;else return 0;const s=n.primaryType;s&&t.supportedTypes?.includes(s)&&(r+=50);const a=n.format;return a&&t.supportedFormats?.includes(a)&&(r+=30),r+=t.priority??0,r}createChild(){return new U(this)}}let W=null;function V(){return W||(W=new U),W}function Ht(e){W=e}function Xt(e){return new U(e)}function Yt(e,t,n){return{name:`type:${e}`,registration:{factory:t,displayName:n?.displayName??`${e} widget`,description:n?.description,supportedTypes:[e],priority:n?.priority??0,canFallback:n?.canFallback??!1}}}function Qt(e,t,n){return{name:`format:${e}`,registration:{factory:t,displayName:n?.displayName??`${e} widget`,description:n?.description,supportedFormats:[e],priority:n?.priority??10,canFallback:n?.canFallback??!1}}}function en(e,t,n,r){return{name:`type:${e}:format:${t}`,registration:{factory:n,displayName:r?.displayName??`${e}/${t} widget`,description:r?.description,supportedTypes:[e],supportedFormats:[t],priority:r?.priority??20,canFallback:r?.canFallback??!1}}}function tn(e,t,n,r){return{name:e,registration:{factory:n,displayName:r?.displayName??e,description:r?.description,matcher:t,priority:r?.priority??50,canFallback:r?.canFallback??!1}}}function _e(e,t){if(t){const r=t.findBestWidget(e);if(r)return r}return V().findBestWidget(e)}function nn(e){const t=e.definition,n={};if(typeof t=="object"&&"x:ui"in t){const r=t["x:ui"];r.widget&&typeof r.widget=="object"&&(n.options=r.widget),typeof r.priority=="number"&&(n.priority=r.priority)}if(typeof t=="object"&&"widget"in t){const r=t.widget;typeof r=="object"&&r!==null&&(n.options={...n.options??{},...r})}return Object.keys(n).length>0?n:void 0}function oe(e){const t=e.definition;if(typeof t=="object"&&"x:ui"in t){const n=t["x:ui"];if(typeof n.widget=="string")return n.widget}if(typeof t=="object"&&"widget"in t){const n=t.widget;if(n&&typeof n.type=="string")return n.type}}function rn(e){return oe(e)!==void 0}function sn(e,t){const n=oe(e);if(n){if(t){const a=t.get(n);if(a)return{name:n,registration:a}}const s=V().get(n);if(s)return{name:n,registration:s};console.warn(`Widget "${n}" specified in definition but not found in registry`,{path:e.jsonPath})}return _e(e,t)}function an(e,t,n){return{...e,...t,...n}}function ze(e=V()){e.register("string",{factory:({controller:i,ctx:u})=>Ie({ctx:u,controller:i}),displayName:"String",description:"Text input for string values",supportedTypes:["string"],priority:0,canFallback:!0}),e.register("boolean",{factory:({controller:i,ctx:u})=>Se({ctx:u,controller:i}),displayName:"Boolean",description:"Checkbox for boolean values",supportedTypes:["boolean"],priority:0,canFallback:!0}),e.register("uuid",{factory:({controller:i,ctx:u})=>je({ctx:u,controller:i}),displayName:"UUID",description:"Input for UUID values",supportedTypes:["uuid"],priority:0,canFallback:!0}),e.register("uri",{factory:({controller:i,ctx:u})=>Re({ctx:u,controller:i}),displayName:"URI",description:"Input for URI/URL values",supportedTypes:["uri"],priority:0,canFallback:!0}),e.register("binary",{factory:({controller:i,ctx:u})=>Ne({ctx:u,controller:i}),displayName:"Binary",description:"File upload for binary data",supportedTypes:["binary"],priority:0,canFallback:!0}),e.register("any",{factory:({controller:i,ctx:u})=>Y({ctx:u,controller:i}),displayName:"Any",description:"Generic control for any type",supportedTypes:["any"],priority:0,canFallback:!0});const t=["int8","int16","int32","int64","int128","uint8","uint16","uint32","uint64","uint128"],n=({controller:i,ctx:u})=>Me({ctx:u,controller:i,intType:u.primaryType});for(const i of t)e.register(i,{factory:n,displayName:i.toUpperCase(),description:`Number input for ${i} values`,supportedTypes:[i],priority:0,canFallback:!0});const r=["float","double","decimal"],s=({controller:i,ctx:u})=>Oe({ctx:u,controller:i,floatType:u.primaryType});for(const i of r)e.register(i,{factory:s,displayName:i.charAt(0).toUpperCase()+i.slice(1),description:`Number input for ${i} values`,supportedTypes:[i],priority:0,canFallback:!0});const a=["date","datetime","time","duration"],o=({controller:i,ctx:u})=>Ae({ctx:u,controller:i,temporalType:u.primaryType});for(const i of a)e.register(i,{factory:o,displayName:i.charAt(0).toUpperCase()+i.slice(1),description:`Input for ${i} values`,supportedTypes:[i],priority:0,canFallback:!0});e.register("object",{factory:({controller:i,ctx:u})=>ke({ctx:u,controller:i}),displayName:"Object",description:"Form for object values",supportedTypes:["object"],priority:0,canFallback:!0}),e.register("array",{factory:({controller:i,ctx:u})=>qe({ctx:u,controller:i}),displayName:"Array",description:"List control for array values",supportedTypes:["array"],priority:0,canFallback:!0}),e.register("set",{factory:({controller:i,ctx:u})=>Fe({ctx:u,controller:i}),displayName:"Set",description:"Set control for unique values",supportedTypes:["set"],priority:0,canFallback:!0}),e.register("map",{factory:({controller:i,ctx:u})=>Pe({ctx:u,controller:i}),displayName:"Map",description:"Map control for key-value pairs",supportedTypes:["map"],priority:0,canFallback:!0}),e.register("tuple",{factory:({controller:i,ctx:u})=>Ve({ctx:u,controller:i}),displayName:"Tuple",description:"Tuple control for fixed-length arrays",supportedTypes:["tuple"],priority:0,canFallback:!0}),e.register("choice",{factory:({controller:i,ctx:u})=>Ee({ctx:u,controller:i}),displayName:"Choice",description:"Choice control for union types",supportedTypes:["choice"],priority:0,canFallback:!0}),e.register("enum",{factory:({controller:i,ctx:u})=>Le({ctx:u,controller:i}),displayName:"Enum",description:"Dropdown for enumerated values",priority:10,canFallback:!1,matcher:i=>i.hasEnum}),e.register("const",{factory:({controller:i,ctx:u})=>Ue({ctx:u,controller:i}),displayName:"Const",description:"Display for constant values",priority:20,canFallback:!1,matcher:i=>i.hasConst})}function Ge(e=V()){return e.has("string")&&e.has("object")&&e.has("array")}function on(e=V()){Ge(e)||ze(e)}function Je(e){let t=e;if(e.$root){const n=N(e.$root,e);n&&(t=n)}return D(t,e,new Set)}function D(e,t,n){if(e.type&&O(e.type)){const r=e.type.$ref;if(n.has(r))return;n.add(r);try{const s=N(r,t);if(s){const a={...s,...e,type:s.type};return D(a,t,n)}return}finally{n.delete(r)}}return e.default!==void 0?e.default:Array.isArray(e.examples)&&e.examples.length>0?e.examples[0]:"const"in e&&e.const!==void 0?e.const:"enum"in e&&Array.isArray(e.enum)&&e.enum.length>0?e.enum[0]:vn(e)?null:un(e,t,n)}function un(e,t,n){const r=Ke(e);if(R(e))return cn(e,t,n);if(r==="choice"&&"choices"in e)return pn(e,t,n);if(r==="tuple"&&"tuple"in e&&"properties"in e)return dn(e,t,n);if(r==="array")return fn(e,t,n);if(r==="set")return mn(e,t,n);if(r==="map")return{};if(r==="string")return yn(e);if(xn(r))return gn(e);if(Tn(r))return hn(e);if(r==="boolean")return!1;if(r==="null")return null;if($n(r))return bn(r);if(r==="uuid"||r==="uri"||r==="uri-reference"||r==="binary"||r==="bytes")return""}function ln(e){if(!e||e.length===0)return new Set;if(Array.isArray(e[0])){const t=e.flat();return new Set(t)}return new Set(e)}function cn(e,t,n){if(!R(e))return{};const r=ln(e.required),s={};for(const[a,o]of Object.entries(e.properties))if(r.has(a))if(o.type&&O(o.type)){const i=o.type.$ref;if(n.has(i))continue;n.add(i);try{const u=N(i,t);if(u){const c={...u,...o,type:u.type},p=D(c,t,n);p!==void 0&&(s[a]=p)}}finally{n.delete(i)}}else{const i=D(o,t,n);i!==void 0&&(s[a]=i)}return s}function pn(e,t,n){if(!("choices"in e))return;const r=e.choices,s=Object.keys(r);if(s.length===0)return;const a=s[0],o=r[a];if("selector"in e&&e.selector){const u=e.selector,c=D(o,t,n);return typeof c=="object"&&c!==null?{[u]:a,...c}:{[u]:a}}const i=D(o,t,n);return{[a]:i}}function dn(e,t,n){if(!("tuple"in e)||!("properties"in e))return{};const r=e.tuple,s=e.properties,a=new Set(e.required??r),o={};for(const i of r){if(!a.has(i))continue;const u=s[i];if(u){const c=D(u,t,n);c!==void 0&&(o[i]=c)}}return o}function fn(e,t,n){const r=("minItems"in e?e.minItems:0)??0;if(r===0)return[];const s="items"in e?e.items:void 0;if(!s)return Array(r).fill(null);const a=D(s,t,n);return Array(r).fill(a??null)}function mn(e,t,n){const r=("minItems"in e?e.minItems:0)??0;if(r===0)return[];const s="items"in e?e.items:void 0;if(!s)return Array(r).fill(null);const a=D(s,t,n);return Array(r).fill(a??null)}function yn(e){switch("format"in e?e.format:void 0){case"date":return Ze();case"date-time":return He();case"time":return"00:00:00";case"email":case"uri":case"uri-reference":case"uuid":default:return""}}function gn(e){const t=Ke(e),n=t==="int64"||t==="uint64"||t==="int128"||t==="uint128";let r="minimum"in e?e.minimum:void 0,s="maximum"in e?e.maximum:void 0;const a="exclusiveMinimum"in e?e.exclusiveMinimum:void 0,o="exclusiveMaximum"in e?e.exclusiveMaximum:void 0;a!==void 0&&(r=a+1),o!==void 0&&(s=o-1);let i;r!==void 0&&s!==void 0?i=Math.round((r+s)/2):r!==void 0?i=r:s!==void 0?i=0<=s?0:s:i=0;const u="multipleOf"in e?e.multipleOf:void 0;return u!==void 0&&u>0&&(i=Math.round(i/u)*u,r!==void 0&&i<r&&(i=Math.ceil(r/u)*u),s!==void 0&&i>s&&(i=Math.floor(s/u)*u)),n?BigInt(Math.round(i)):Math.round(i)}function hn(e){let t="minimum"in e?e.minimum:void 0,n="maximum"in e?e.maximum:void 0;const r="exclusiveMinimum"in e?e.exclusiveMinimum:void 0,s="exclusiveMaximum"in e?e.exclusiveMaximum:void 0,a="multipleOf"in e?e.multipleOf:.001;r!==void 0&&(t=r+a),s!==void 0&&(n=s-a);let o;t!==void 0&&n!==void 0?o=(t+n)/2:t!==void 0?o=t:n!==void 0?o=0<=n?0:n:o=0;const i="multipleOf"in e?e.multipleOf:void 0;return i!==void 0&&i>0&&(o=Math.round(o/i)*i,t!==void 0&&o<t&&(o=Math.ceil(t/i)*i),n!==void 0&&o>n&&(o=Math.floor(n/i)*i)),o}function bn(e){switch(e){case"date":return Ze();case"time":return"00:00:00";case"datetime":return He();case"duration":return"PT0S";default:return""}}function vn(e){return Array.isArray(e.type)?e.type.some(t=>typeof t=="string"?t==="null":!1):!1}function Ke(e){const t=e.type;if(typeof t=="string")return t;if(Array.isArray(t)){for(const n of t)if(typeof n=="string"&&n!=="null")return n}}function xn(e){return e?["int8","int16","int32","int64","int128","uint8","uint16","uint32","uint64","uint128"].includes(e):!1}function Tn(e){return e?["float","double","decimal"].includes(e):!1}function $n(e){return e?["date","time","datetime","duration"].includes(e):!1}function Ze(){return new Date().toISOString().split("T")[0]}function He(){return new Date().toISOString()}function Cn(e){if(e.isValid)return w.i.valid;const t=ae(e.errors),n=new Map;for(const o of t){const i=n.get(o.path)||[];i.push(o),n.set(o.path,i)}const r=(o,i)=>{if(o.length===0)return{message:i.map(y=>y.message).join("; ")};const[u,...c]=o,p=r(c,i);return{dependencies:{[u]:p}}},s={},a={};for(const[o,i]of n.entries())if(o===""||o==="/")s.message=i.map(u=>u.message).join("; ");else{const u=o.split("/").filter(c=>c!=="");if(u.length===1)a[u[0]]={message:i.map(c=>c.message).join("; ")};else{const[c,...p]=u;a[c]=r(p,i)}}return Object.keys(a).length>0&&(s.dependencies=a),w.i.invalid(s)}function In({schema:e,initialValue:t,validationMode:n,validateDebounceMs:r,widgetRegistry:s,readOnly:a,locale:o,onChange:i,onValidate:u,applySchemaDefaults:c=!0},p){const y=t!==void 0?l.Value.get(t):void 0,h=Je(e);let f;t===void 0?f=h??{}:c?f=b.deepMergeDefaults(h,y):f=y;const g=se(e),d=n??"onTouched",v=q=>{const x=g.validate(q);if(u&&!x.isValid){const A=ae(x.errors);u(A)}return Cn(x)},{controller:T,setStatus:S}=m.useController({initialValue:f,validationMode:d,validateDebounceMs:r,validate:d==="onSubmit"?void 0:v,onChange:i}),k=()=>{T.dispose()},j=l.Fragment(l.OnDispose(k),We({schema:e,controller:T,widgetRegistry:s,readOnly:a,locale:o}));return p({Form:j,controller:T,setStatus:S})}exports.DefaultWidgetRegistry=U;exports.INTEGER_BOUNDS=E;exports.JSONStructureForm=In;exports.RefResolver=$e;exports.StructureContext=Z;exports.StructureControl=We;exports.StructureGenericControl=$;exports.createExtendsResolver=at;exports.createRefResolver=K;exports.createStructureContext=Ce;exports.createValidator=se;exports.createWidgetRegistry=Xt;exports.ensureDefaultWidgets=on;exports.extractStructureDefaults=Je;exports.forFormat=Qt;exports.forMatcher=tn;exports.forType=Yt;exports.forTypeAndFormat=en;exports.formatValidationError=Be;exports.formatValidationErrors=ae;exports.getChildErrors=Zt;exports.getErrorsForPath=Jt;exports.getExplicitWidgetName=oe;exports.getGlobalWidgetRegistry=V;exports.getNonNullTypes=J;exports.getResolvedType=X;exports.getWidgetOptions=nn;exports.groupErrorsByPath=Gt;exports.hasConstValue=ve;exports.hasCustomWidget=rn;exports.hasDefaultWidgets=Ge;exports.hasEnumValue=be;exports.hasErrorsAtPath=Kt;exports.isArrayTypeDefinition=Q;exports.isBigIntType=fe;exports.isChoiceTypeDefinition=re;exports.isCompoundType=et;exports.isFloatType=z;exports.isIntegerType=F;exports.isMapTypeDefinition=te;exports.isNamespace=ge;exports.isNullableType=xe;exports.isNumericType=me;exports.isObjectTypeDefinition=R;exports.isPrimitiveType=ye;exports.isSetTypeDefinition=ee;exports.isTemporalType=G;exports.isTupleTypeDefinition=ne;exports.isTypeDefinition=he;exports.isTypeReference=O;exports.mergeWidgetOptions=an;exports.parseRefPath=Te;exports.registerDefaultWidgets=ze;exports.resolveExtends=ie;exports.resolveRef=N;exports.resolveTypeReference=nt;exports.resolveWidget=_e;exports.resolveWidgetWithOverride=sn;exports.setGlobalWidgetRegistry=Ht;exports.validate=Vt;
|