@tempots/beatui 0.90.0 → 0.92.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/{ar-MUKILk4c.js → ar-8Cko5i-Z.js} +18 -10
  2. package/dist/{ar-CBrjAlIY.cjs → ar-D2DjoXta.cjs} +1 -1
  3. package/dist/auth/index.cjs.js +1 -1
  4. package/dist/auth/index.es.js +1 -1
  5. package/dist/{auth-divider-DvVmqjnk.js → auth-divider-B4n8lGx5.js} +7 -7
  6. package/dist/{auth-divider-Cj-xJxF_.cjs → auth-divider-VzrKnv2d.cjs} +1 -1
  7. package/dist/beatui.css +299 -287
  8. package/dist/beatui.tailwind.css +299 -287
  9. package/dist/better-auth/index.cjs.js +1 -1
  10. package/dist/better-auth/index.es.js +5 -5
  11. package/dist/{de-CEsW1rVX.js → de-Bt-d2iKj.js} +12 -4
  12. package/dist/{de-CrBw41po.cjs → de-Cdf3432J.cjs} +1 -1
  13. package/dist/deep-merge-CI1g9sjh.cjs +1 -0
  14. package/dist/{deep-merge-OvVqSLSN.js → deep-merge-DxUvbsBl.js} +42 -38
  15. package/dist/{duration-input-BCXujp0V.js → duration-input-DQTX3S_A.js} +4 -4
  16. package/dist/{duration-input-MJz6UO6E.cjs → duration-input-a1fCTfKl.cjs} +1 -1
  17. package/dist/{editor-toolbar-group-Cnta0SOa.js → editor-toolbar-group-CzdBZ1yr.js} +2 -2
  18. package/dist/{editor-toolbar-group-BgWLVgMZ.cjs → editor-toolbar-group-DhKJdqER.cjs} +1 -1
  19. package/dist/{es-ChP-aFwC.js → es-2llfNFX2.js} +10 -2
  20. package/dist/{es-Ca5xT3NE.cjs → es-6fFPkKHL.cjs} +1 -1
  21. package/dist/{fa-CNsrlIqh.js → fa-CQVIBjKP.js} +18 -10
  22. package/dist/{fa-DhZJYuC6.cjs → fa-GXyNzAXz.cjs} +1 -1
  23. package/dist/{fr-1nSKSIlw.cjs → fr-C6EYTwSH.cjs} +1 -1
  24. package/dist/{fr-DgEFKpML.js → fr-CC3smTlW.js} +19 -11
  25. package/dist/{he-DhcurPt5.cjs → he-CJUgxvi8.cjs} +1 -1
  26. package/dist/{he-B4TqfISZ.js → he-CZilsN75.js} +16 -8
  27. package/dist/{hi-TSoDsngT.js → hi-CAZjwGv-.js} +16 -8
  28. package/dist/{hi-CxsIxbfM.cjs → hi-DqIR4VtX.cjs} +1 -1
  29. package/dist/{index-D4ZFV8Rs.cjs → index-B-cwxUsP.cjs} +1 -1
  30. package/dist/{index-DOc1_-Nm.js → index-BFzxpY7y.js} +1 -1
  31. package/dist/{index-D3QVPAme.cjs → index-BOC0cVoY.cjs} +2 -2
  32. package/dist/{index-D_aTUfqS.js → index-DJ9YIJcG.js} +6 -6
  33. package/dist/index.cjs.js +2 -2
  34. package/dist/index.es.js +1847 -1822
  35. package/dist/{input-container-BBWCDGTv.js → input-container-9r1F3KuX.js} +1 -1
  36. package/dist/{input-container-B31Seozh.cjs → input-container-DiYEl_y8.cjs} +1 -1
  37. package/dist/{it-D_IcaYxp.cjs → it-BvHsJ7fH.cjs} +1 -1
  38. package/dist/{it-BrbebXg4.js → it-D6RXFIL6.js} +19 -11
  39. package/dist/{ja-CMGqpPo7.cjs → ja-B2gP7OHY.cjs} +1 -1
  40. package/dist/{ja-DcfOktrV.js → ja-D7zsz4Ij.js} +15 -7
  41. package/dist/json-schema/index.cjs.js +1 -1
  42. package/dist/json-schema/index.es.js +11 -12
  43. package/dist/json-schema-display/index.cjs.js +1 -1
  44. package/dist/json-schema-display/index.es.js +1 -1
  45. package/dist/json-structure/index.cjs.js +1 -1
  46. package/dist/json-structure/index.es.js +6 -6
  47. package/dist/{ko-BPl5rP97.cjs → ko-BddhddIA.cjs} +1 -1
  48. package/dist/{ko-73e6t369.js → ko-taN2Npr4.js} +12 -4
  49. package/dist/lexical/index.cjs.js +30 -30
  50. package/dist/lexical/index.es.js +5847 -5625
  51. package/dist/lexical.css +79 -74
  52. package/dist/{modal-jJMS0ZlW.cjs → modal-C-d5Btti.cjs} +1 -1
  53. package/dist/{modal-BBJWY7NB.js → modal-DTz98Dk7.js} +3 -3
  54. package/dist/{nl-BSfaHFt0.cjs → nl-COrtZUnH.cjs} +1 -1
  55. package/dist/{nl-Bq-1-ulc.js → nl-CRC6r4Q4.js} +22 -14
  56. package/dist/{notice-9lpZ-VDn.cjs → notice-BDTfBGtx.cjs} +1 -1
  57. package/dist/{notice-AUVH8Lho.js → notice-CZuh-h6a.js} +4 -4
  58. package/dist/{oneof-branch-detection-BsGhMslW.cjs → oneof-branch-detection-D6Xa8qNR.cjs} +1 -1
  59. package/dist/{oneof-branch-detection-BQnRjp9P.js → oneof-branch-detection-DCPwyutI.js} +1 -1
  60. package/dist/{pl-D-O4sCnr.cjs → pl-BHI4zBgV.cjs} +1 -1
  61. package/dist/{pl-Du9-VCfW.js → pl-C6qNs0Lq.js} +19 -11
  62. package/dist/prosemirror/index.cjs.js +1 -1
  63. package/dist/prosemirror/index.es.js +1 -1
  64. package/dist/{pt-chEEYLlt.cjs → pt-BGzC9MhU.cjs} +1 -1
  65. package/dist/{pt-B2UqqSAB.js → pt-CcWPLqBh.js} +20 -12
  66. package/dist/{ru-B46hVpFF.cjs → ru-CXeFbIPb.cjs} +1 -1
  67. package/dist/{ru-DiWa2inw.js → ru-Dt9-9m0E.js} +20 -12
  68. package/dist/styles-url-BIeImEjl.js +4 -0
  69. package/dist/styles-url-CkPTI32j.cjs +1 -0
  70. package/dist/tailwind/vite-plugin.es.js +0 -1
  71. package/dist/{text-input-6FD7p7hN.js → text-input-BgPx8BbG.js} +1 -1
  72. package/dist/{text-input-w0eVcqk5.cjs → text-input-DUnhBUd6.cjs} +1 -1
  73. package/dist/{toolbar-Cr0JGj5h.js → toolbar-DKOh_gbA.js} +1 -1
  74. package/dist/{toolbar-BR8In7O0.cjs → toolbar-Dkc2y1dI.cjs} +1 -1
  75. package/dist/{tr-Culcm2Zb.js → tr-CDTWeRY0.js} +14 -6
  76. package/dist/{tr-CaMaflJL.cjs → tr-CdOtQAtA.cjs} +1 -1
  77. package/dist/{translations-CZ0KOii3.cjs → translations-BdCtLBZt.cjs} +1 -1
  78. package/dist/{translations-uEUkO6gJ.js → translations-CiBhB2FV.js} +135 -127
  79. package/dist/translations-Cy9hoMGV.cjs +1 -0
  80. package/dist/{translations-Cttn6w0G.js → translations-NBY7SubC.js} +1 -1
  81. package/dist/types/beatui-i18n/default.d.ts +8 -0
  82. package/dist/types/beatui-i18n/locales/en.d.ts +8 -0
  83. package/dist/types/beatui-i18n/translations.d.ts +8 -0
  84. package/dist/types/components/form/input/index.d.ts +2 -0
  85. package/dist/types/components/form/input/nullable-color-input.d.ts +31 -0
  86. package/dist/types/components/form/input/nullable-color-swatch-input.d.ts +39 -0
  87. package/dist/types/components/lexical/table/table-controls.d.ts +3 -1
  88. package/dist/types/components/lexical/toolbar/index.d.ts +1 -0
  89. package/dist/types/components/lexical/toolbar/toolbar-registry.d.ts +16 -0
  90. package/dist/types/lexical/index.d.ts +2 -1
  91. package/dist/types/lexical/plugins/element-style.d.ts +29 -0
  92. package/dist/types/lexical/plugins/index.d.ts +1 -0
  93. package/dist/types/lexical/types.d.ts +48 -2
  94. package/dist/{ur-CvGP14xo.cjs → ur-C7itXvnC.cjs} +1 -1
  95. package/dist/{ur-Deb-uH6b.js → ur-CLrK5FPQ.js} +16 -8
  96. package/dist/{use-form-lg6-7Brc.js → use-form-Cd8YFWaN.js} +3 -3
  97. package/dist/{use-form-i97PToWB.cjs → use-form-DQVN_Zjb.cjs} +2 -2
  98. package/dist/{vi-CUsCVh3n.js → vi-B1_QDUQJ.js} +21 -13
  99. package/dist/{vi-Df4WZe9y.cjs → vi-CQrUWB3y.cjs} +1 -1
  100. package/dist/{widget-customization-CDD72zYs.js → widget-customization-Cs422IGY.js} +25 -25
  101. package/dist/{widget-customization-BLvD4Lqt.cjs → widget-customization-eyQ2pxvu.cjs} +1 -1
  102. package/dist/{zh-C5a9NGFW.cjs → zh-DWswYYTS.cjs} +1 -1
  103. package/dist/{zh-Dil2Jft8.js → zh-rDtQ92Pp.js} +12 -4
  104. package/package.json +1 -1
  105. package/dist/deep-merge-Dgy9xj6w.cjs +0 -1
  106. package/dist/styles-url-4g2WnNJ8.js +0 -4
  107. package/dist/styles-url-mlDYoWbF.cjs +0 -1
  108. package/dist/translations-gVgMyNno.cjs +0 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@tempots/dom"),f=require("../oneof-branch-detection-BsGhMslW.cjs"),P=require("../utils-DIUEhA-Z.cjs");function U(t){return t===null?"null":Array.isArray(t)?"array":typeof t=="object"?"object":typeof t=="string"?"string":typeof t=="number"?Number.isInteger(t)?"integer":"number":typeof t=="boolean"?"boolean":"unknown"}function X(t,a){return t===a||a==="number"&&t==="integer"}function b(t,a,i=[]){if(typeof a=="boolean")return a===!1?[{kind:"type-mismatch",path:i,message:"Schema disallows any value",actual:String(t)}]:[];const r=[],n=a;if(n.type!=null&&t!==void 0){const s=Array.isArray(n.type)?n.type:[n.type],c=U(t);if(c!=="unknown"&&!s.some(o=>X(c,o)))return r.push({kind:"type-mismatch",path:i,message:`Expected ${s.join(" | ")}, got ${c}`,expected:s.join(" | "),actual:c}),r}if(n.enum!=null&&t!==void 0&&(n.enum.some(c=>JSON.stringify(c)===JSON.stringify(t))||r.push({kind:"enum-mismatch",path:i,message:`Value not in enum: ${JSON.stringify(n.enum)}`,expected:n.enum.map(String).join(", "),actual:String(t)})),n.const!==void 0&&t!==void 0&&JSON.stringify(n.const)!==JSON.stringify(t)&&r.push({kind:"const-mismatch",path:i,message:`Expected const ${JSON.stringify(n.const)}, got ${JSON.stringify(t)}`,expected:JSON.stringify(n.const),actual:JSON.stringify(t)}),typeof t=="string"&&(n.minLength!=null&&t.length<n.minLength&&r.push({kind:"constraint-violation",path:i,message:`String length ${t.length} < minLength ${n.minLength}`,expected:`>= ${n.minLength} chars`,actual:`${t.length} chars`}),n.maxLength!=null&&t.length>n.maxLength&&r.push({kind:"constraint-violation",path:i,message:`String length ${t.length} > maxLength ${n.maxLength}`,expected:`<= ${n.maxLength} chars`,actual:`${t.length} chars`}),n.pattern!=null))try{new RegExp(n.pattern).test(t)||r.push({kind:"constraint-violation",path:i,message:`String does not match pattern /${n.pattern}/`,expected:`/${n.pattern}/`,actual:t})}catch{}if(typeof t=="number"&&(n.minimum!=null&&t<n.minimum&&r.push({kind:"constraint-violation",path:i,message:`Value ${t} < minimum ${n.minimum}`,expected:`>= ${n.minimum}`,actual:String(t)}),n.maximum!=null&&t>n.maximum&&r.push({kind:"constraint-violation",path:i,message:`Value ${t} > maximum ${n.maximum}`,expected:`<= ${n.maximum}`,actual:String(t)}),n.exclusiveMinimum!=null&&t<=n.exclusiveMinimum&&r.push({kind:"constraint-violation",path:i,message:`Value ${t} <= exclusiveMinimum ${n.exclusiveMinimum}`,expected:`> ${n.exclusiveMinimum}`,actual:String(t)}),n.exclusiveMaximum!=null&&t>=n.exclusiveMaximum&&r.push({kind:"constraint-violation",path:i,message:`Value ${t} >= exclusiveMaximum ${n.exclusiveMaximum}`,expected:`< ${n.exclusiveMaximum}`,actual:String(t)}),n.multipleOf!=null&&t%n.multipleOf!==0&&r.push({kind:"constraint-violation",path:i,message:`Value ${t} is not a multiple of ${n.multipleOf}`,expected:`multiple of ${n.multipleOf}`,actual:String(t)})),typeof t=="object"&&t!==null&&!Array.isArray(t)){const s=t,c=Object.keys(s);if(n.required!=null)for(const o of n.required)o in s||r.push({kind:"missing-required",path:[...i,o],message:`Missing required property "${o}"`,expected:o});if(n.additionalProperties===!1&&n.properties!=null){const o=new Set(Object.keys(n.properties));if(n.patternProperties!=null){const l=Object.keys(n.patternProperties).map(m=>new RegExp(m));for(const m of c)!o.has(m)&&!l.some(p=>p.test(m))&&r.push({kind:"extra-property",path:[...i,m],message:`Extra property "${m}" not allowed`,actual:m})}else for(const l of c)o.has(l)||r.push({kind:"extra-property",path:[...i,l],message:`Extra property "${l}" not allowed`,actual:l})}if(n.properties!=null)for(const[o,l]of Object.entries(n.properties))o in s&&r.push(...b(s[o],l,[...i,o]))}if(Array.isArray(t)){if(n.minItems!=null&&t.length<n.minItems&&r.push({kind:"constraint-violation",path:i,message:`Array length ${t.length} < minItems ${n.minItems}`,expected:`>= ${n.minItems} items`,actual:`${t.length} items`}),n.maxItems!=null&&t.length>n.maxItems&&r.push({kind:"constraint-violation",path:i,message:`Array length ${t.length} > maxItems ${n.maxItems}`,expected:`<= ${n.maxItems} items`,actual:`${t.length} items`}),n.prefixItems!=null){for(let s=0;s<t.length&&s<n.prefixItems.length;s++)r.push(...b(t[s],n.prefixItems[s],[...i,s]));if(n.items!=null&&!Array.isArray(n.items))for(let s=n.prefixItems.length;s<t.length;s++)r.push(...b(t[s],n.items,[...i,s]))}else if(Array.isArray(n.items)){for(let s=0;s<t.length&&s<n.items.length;s++)r.push(...b(t[s],n.items[s],[...i,s]));if(n.additionalItems!=null)for(let s=n.items.length;s<t.length;s++)r.push(...b(t[s],n.additionalItems,[...i,s]))}else if(n.items!=null)for(let s=0;s<t.length;s++)r.push(...b(t[s],n.items,[...i,s]))}return r}class L{widgets=[];register(a){this.widgets.push(a),this.widgets.sort((i,r)=>(r.priority??50)-(i.priority??50))}findBestWidget(a){const i=P.resolveWidget(a.definition,a.name);if(i?.widget){const r=this.widgets.find(n=>n.displayName===i.widget&&n.matcher(a));if(r)return{factory:r.factory,resolved:i}}for(const r of this.widgets)try{if(r.matcher(a))return{factory:r.factory,resolved:i}}catch(n){console.warn(`Error in display widget matcher "${r.displayName??"unknown"}":`,n)}}}function W(t,a,i){return{factory:a,matcher:r=>{const s=r.definition["x:ui"];return s===t||typeof s=="object"&&s!==null&&s.widget===t},displayName:i?.displayName??t,priority:i?.priority??100,...i}}function z(t,a,i){return{factory:a,matcher:r=>r.definition.format===t,displayName:i?.displayName??`${t} display`,priority:i?.priority??75,...i}}function H(t,a,i,r){return{factory:i,matcher:n=>{const s=n.definition;return s.type===t&&s.format===a},displayName:r?.displayName??`${t}:${a} display`,priority:r?.priority??80,...r}}function Q(t){return t.length===0?e.Empty:e.html.div(e.attr.class("bc-json-schema-display__mismatches"),...t.map(a=>e.html.span(e.attr.class(`bc-json-schema-display__mismatch bc-json-schema-display__mismatch--${a.kind}`),e.attr.title(a.expected?`Expected: ${a.expected}${a.actual?`, got: ${a.actual}`:""}`:a.message),a.message)))}function d({ctx:t,mismatches:a,children:i}){const r=t.widgetLabel,n=t.isPropertyRequired,s=t.isDeprecated,c=t.description;if(t.isRoot&&!a?.length)return e.Fragment(i);const o=a?a.filter(l=>{const m=l.path.map(String).join("."),p=t.path.map(String).join(".");return m===p}):[];return e.html.div(e.attr.class("bc-json-schema-display__field"),r||n||s?e.html.div(e.attr.class("bc-json-schema-display__label-row"),r?e.html.span(e.attr.class("bc-json-schema-display__label"),r):null,n?e.html.span(e.attr.class("bc-json-schema-display__required"),"*"):null,s?e.html.span(e.attr.class("bc-json-schema-display__deprecated"),"deprecated"):null):null,i,c?e.html.div(e.attr.class("bc-json-schema-display__description"),c):null,Q(o))}function Y(t,a){switch(a){case"email":return t?e.html.a(e.attr.class("bc-json-schema-display__link"),e.attr.href(`mailto:${t}`),t):e.html.span(e.attr.class("bc-json-schema-display__value--null"),"—");case"uri":case"uri-reference":case"url":return t?e.html.a(e.attr.class("bc-json-schema-display__link"),e.attr.href(t),e.attr.target("_blank"),e.attr.rel("noopener noreferrer"),t):e.html.span(e.attr.class("bc-json-schema-display__value--null"),"—");case"color":return t?e.html.span(e.attr.class("bc-json-schema-display__color-display"),e.html.span(e.attr.class("bc-json-schema-display__color-swatch"),e.attr.style(`background-color: ${t}`)),e.html.span(e.attr.class("bc-json-schema-display__monospace"),t)):e.html.span(e.attr.class("bc-json-schema-display__value--null"),"—");case"date-time":case"date":case"time":if(!t)return e.html.span(e.attr.class("bc-json-schema-display__value--null"),"—");try{if(a==="time")return e.html.span(t);const i=new Date(t);return isNaN(i.getTime())?e.html.span(t):e.html.span(a==="date"?i.toLocaleDateString():i.toLocaleString())}catch{return e.html.span(t)}case"password":return t?e.html.span(e.attr.class("bc-json-schema-display__value"),"•".repeat(Math.min(t.length,12))):e.html.span(e.attr.class("bc-json-schema-display__value--null"),"—");case"uuid":return t?e.html.span(e.attr.class("bc-json-schema-display__monospace"),t):e.html.span(e.attr.class("bc-json-schema-display__value--null"),"—");case"textarea":case"markdown":return t?e.html.pre(e.attr.class("bc-json-schema-display__pre"),t):e.html.span(e.attr.class("bc-json-schema-display__value--null"),"—");default:return t!==""?e.html.span(e.attr.class("bc-json-schema-display__value"),t):e.html.span(e.attr.class("bc-json-schema-display__value--null"),"—")}}function C({ctx:t,value:a,mismatches:i}){const r=t.definition,s=P.resolveWidget(r,t.name)?.widget,c=e.Value.map(a,l=>l!=null?String(l):""),o=e.MapSignal(c,l=>Y(l,s));return d({ctx:t,mismatches:i,children:o})}function Z(t){if(t==null)return"—";const a=Number(t);return isNaN(a)?String(t):a.toLocaleString()}function v(t){return t==null?"bc-json-schema-display__value--null":"bc-json-schema-display__value"}function q({ctx:t,value:a,mismatches:i}){return d({ctx:t,mismatches:i,children:e.html.span(e.attr.class(e.Value.map(a,v)),e.Value.map(a,Z))})}function tt(t){return t==null?"bc-json-schema-display__value--null":`bc-json-schema-display__boolean bc-json-schema-display__boolean--${!!t?"true":"false"}`}function et(t){return t==null?"—":t?"true":"false"}function R({ctx:t,value:a,mismatches:i}){return d({ctx:t,mismatches:i,children:e.html.span(e.attr.class(e.Value.map(a,tt)),e.Value.map(a,et))})}function B({ctx:t,mismatches:a}){return d({ctx:t,mismatches:a,children:e.html.span(e.attr.class("bc-json-schema-display__value--null"),"null")})}function nt(t,a){if(t.prefixItems!=null&&a<t.prefixItems.length)return t.prefixItems[a];if(Array.isArray(t.items)&&a<t.items.length)return t.items[a];if(t.prefixItems!=null&&a>=t.prefixItems.length)return t.items!=null&&!Array.isArray(t.items)?t.items:void 0;if(t.items!=null&&!Array.isArray(t.items))return t.items}function E({ctx:t,value:a,mismatches:i,displayWidgetRegistry:r}){const n=t.definition,s=e.Value.toSignal(a),c=e.MapSignal(s,o=>Array.isArray(o)?o.length===0?e.html.span(e.attr.class("bc-json-schema-display__empty"),"(empty array)"):e.html.div(e.attr.class("bc-json-schema-display__array"),...o.map((l,m)=>{const p=nt(n,m),h=t.with({definition:p??!0}).append(m),g=i?.filter(_=>{const y=_.path.map(String),S=[...t.path.map(String),String(m)];return y.length>=S.length&&S.every(($,x)=>y[x]===$)});return e.html.div(e.attr.class("bc-json-schema-display__array-item"),e.html.span(e.attr.class("bc-json-schema-display__array-index"),`[${m}]`),j({ctx:h,value:l,mismatches:g,displayWidgetRegistry:r}))})):o==null?e.html.span(e.attr.class("bc-json-schema-display__value--null"),"—"):e.html.span(e.attr.class("bc-json-schema-display__value"),String(o)));return d({ctx:t,mismatches:i,children:c})}function T({ctx:t,value:a,mismatches:i,displayWidgetRegistry:r}){const n=t.definition,s=e.Value.toSignal(a),c=e.MapSignal(s,o=>{if(o==null)return e.html.span(e.attr.class("bc-json-schema-display__value--null"),"—");if(typeof o!="object"||Array.isArray(o))return e.html.span(e.attr.class("bc-json-schema-display__value"),JSON.stringify(o));const l=o,m=n.properties??{},p=Object.keys(m),h=Object.keys(l),g=p.map(u=>{const I=m[u],D=t.with({definition:I,isPropertyRequired:t.hasRequiredProperty(u)}).append(u),V=i?.filter(A=>{const w=A.path.map(String),M=[...t.path.map(String),u];return w.length>=M.length&&M.every((K,G)=>w[G]===K)}),N=u in l?l[u]:void 0;return!(u in l)&&t.hasRequiredProperty(u)?e.html.div(e.attr.class("bc-json-schema-display__field"),e.html.div(e.attr.class("bc-json-schema-display__label-row"),e.html.span(e.attr.class("bc-json-schema-display__label"),D.widgetLabel??u),e.html.span(e.attr.class("bc-json-schema-display__required"),"*")),e.html.span(e.attr.class("bc-json-schema-display__value--missing"),"(missing)")):u in l?j({ctx:D,value:N,mismatches:V,displayWidgetRegistry:r}):e.Empty}),_=new Set(p),y=h.filter(u=>!_.has(u)),S=y.map(u=>{const I=t.with({definition:!0}).append(u),D=i?.filter(V=>{const N=V.path.map(String),A=[...t.path.map(String),u];return N.length>=A.length&&A.every((w,M)=>N[M]===w)});return e.html.div(e.attr.class("bc-json-schema-display__extra-property"),j({ctx:I,value:l[u],mismatches:D,displayWidgetRegistry:r}))}),$=[...g,...S],x=f.getContainerLayout(t);return x?f.applyContainerLayout(x,t,$,[...p,...y]):t.isRoot?e.html.div(e.attr.class("bc-json-schema-display__fields"),...$):e.html.div(e.attr.class("bc-json-schema-display__object"),...$)});return t.isRoot?c:e.html.div(e.attr.class("bc-json-schema-display__field"),t.widgetLabel?e.html.div(e.attr.class("bc-json-schema-display__label-row"),e.html.span(e.attr.class("bc-json-schema-display__label"),t.widgetLabel),t.isPropertyRequired?e.html.span(e.attr.class("bc-json-schema-display__required"),"*"):null,t.isDeprecated?e.html.span(e.attr.class("bc-json-schema-display__deprecated"),"deprecated"):null):null,c,t.description?e.html.div(e.attr.class("bc-json-schema-display__description"),t.description):null)}function k({ctx:t,value:a,mismatches:i}){const r=t.definition,n=e.Value.toSignal(a),s=e.MapSignal(n,c=>{if(c==null)return e.html.span(e.attr.class("bc-json-schema-display__value--null"),"—");const o=typeof c=="string"?c:JSON.stringify(c);let l=!0;return r.enum!=null?l=r.enum.some(m=>JSON.stringify(m)===JSON.stringify(c)):r.const!==void 0&&(l=JSON.stringify(r.const)===JSON.stringify(c)),e.html.span(e.attr.class(`bc-json-schema-display__value${l?"":" bc-json-schema-display__mismatch--enum-mismatch"}`),o,l?null:e.html.span(e.attr.class("bc-json-schema-display__mismatch-indicator"),r.enum!=null?` (not in enum: ${r.enum.map(m=>JSON.stringify(m)).join(", ")})`:` (expected: ${JSON.stringify(r.const)})`))});return d({ctx:t,mismatches:i,children:s})}function F({ctx:t,value:a,mismatches:i,displayWidgetRegistry:r}){const n=t.definition;if(n.allOf!=null){const l=n.allOf.filter(m=>typeof m=="object"&&m!==null);if(l.length>0){const m=l.map(S=>f.resolveAnyRef(S,t.schema,t.ajv)),{mergedSchema:p}=f.mergeAllOf(m,t.path),{allOf:h,...g}=n,_={...g,...p},y=t.with({definition:_});return j({ctx:y,value:a,mismatches:i,displayWidgetRegistry:r})}}const s=n.oneOf??n.anyOf;if(!Array.isArray(s)||s.length===0){const l=e.Value.toSignal(a);return d({ctx:t,mismatches:i,children:e.MapSignal(l,m=>e.html.span(e.attr.class("bc-json-schema-display__value"),JSON.stringify(m)))})}const c=e.Value.toSignal(a),o=e.MapSignal(c,l=>{const m=f.detectOneOfBranch(t,l,t.ajv);if(m.matchingBranch>=0){const p=s[m.matchingBranch],h=typeof p=="object"&&p!==null&&p.$ref?f.resolveRef(p,t.schema):p;if((typeof h=="object"?h?.type:void 0)==="object"){const y=t.with({definition:h});return j({ctx:y,value:l,mismatches:i,displayWidgetRegistry:r})}const _=typeof l=="string"?l:JSON.stringify(l);return e.html.span(e.attr.class("bc-json-schema-display__value"),_)}return m.isAmbiguous?e.html.div(e.html.span(e.attr.class("bc-json-schema-display__branch-label bc-json-schema-display__branch-label--ambiguous"),`Ambiguous (${m.validBranches.length} branches match)`),e.html.pre(e.attr.class("bc-json-schema-display__pre"),JSON.stringify(l,null,2))):e.html.div(e.html.span(e.attr.class("bc-json-schema-display__branch-label bc-json-schema-display__branch-label--no-match"),"No matching branch"),e.html.pre(e.attr.class("bc-json-schema-display__pre"),JSON.stringify(l,null,2)))});return d({ctx:t,mismatches:i,children:o})}function O({ctx:t,value:a,mismatches:i}){const r=e.Value.toSignal(a),n=e.MapSignal(r,s=>{if(s==null)return e.html.span(e.attr.class("bc-json-schema-display__value--null"),s===null?"null":"—");if(typeof s=="boolean")return e.html.span(e.attr.class(`bc-json-schema-display__boolean bc-json-schema-display__boolean--${s?"true":"false"}`),String(s));if(typeof s=="number")return e.html.span(e.attr.class("bc-json-schema-display__value"),s.toLocaleString());if(typeof s=="string")return e.html.span(e.attr.class("bc-json-schema-display__value"),s);try{return e.html.pre(e.attr.class("bc-json-schema-display__pre"),JSON.stringify(s,null,2))}catch{return e.html.span(e.attr.class("bc-json-schema-display__value"),String(s))}});return d({ctx:t,mismatches:i,children:n})}function j({ctx:t,value:a,mismatches:i,displayWidgetRegistry:r}){const n=typeof t.definition=="boolean"?{}:t.definition;let s=n?.$ref?f.resolveRef(n,t.schema):n,c=t.with({definition:s});if(s?.allOf!=null){const o=s.allOf.filter(l=>typeof l=="object"&&l!==null);if(o.length>0){const l=o.map(g=>f.resolveAnyRef(g,t.schema,t.ajv)),{mergedSchema:m}=f.mergeAllOf(l,t.path),{allOf:p,...h}=s;s={...h,...m},c=t.with({definition:s})}}if(r){const o=r.findBestWidget(c);if(o)return o.factory({value:a,ctx:c,mismatches:i})}if(s==null)return O({ctx:c,value:a,mismatches:i});if(s.enum!=null)return k({ctx:c,value:a,mismatches:i});if(s.const!==void 0)return k({ctx:c,value:a,mismatches:i});if(s.anyOf!=null||s.oneOf!=null)return F({ctx:c,value:a,mismatches:i,displayWidgetRegistry:r});if(s.type==null)return O({ctx:c,value:a,mismatches:i});if(Array.isArray(s.type)){const l=s.type.filter(m=>m!=="null");return l.length===1&&["string","number","integer","boolean"].includes(l[0])?J(l[0],{ctx:c,value:a,mismatches:i,displayWidgetRegistry:r}):O({ctx:c,value:a,mismatches:i})}return J(s.type,{ctx:c,value:a,mismatches:i,displayWidgetRegistry:r})}function J(t,a){switch(t){case"string":return C(a);case"number":case"integer":return q(a);case"boolean":return R(a);case"array":return E(a);case"object":return T(a);case"null":return B(a);default:return O(a)}}function st({schema:t,value:a,showMismatches:i=!0,customWidgets:r,horizontal:n=!1}){const s=new f.SchemaContext({schema:t,definition:t,horizontal:n,isPropertyRequired:!1,path:[]});let c;if(r&&r.length>0){c=new L;for(const l of r)c.register(l)}const o=e.Value.toSignal(a);return e.MapSignal(o,l=>{const m=i?b(l,t):void 0;return j({ctx:s,value:l,mismatches:m,displayWidgetRegistry:c})})}exports.AnyDisplay=O;exports.ArrayDisplay=E;exports.BooleanDisplay=R;exports.CompositionDisplay=F;exports.DisplayWidgetRegistry=L;exports.DisplayWrapper=d;exports.EnumConstDisplay=k;exports.GenericDisplay=j;exports.JSONSchemaDisplay=st;exports.NullDisplay=B;exports.NumberDisplay=q;exports.ObjectDisplay=T;exports.StringDisplay=C;exports.detectMismatches=b;exports.forDisplayFormat=z;exports.forDisplayTypeAndFormat=H;exports.forDisplayXUI=W;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("@tempots/dom"),f=require("../oneof-branch-detection-D6Xa8qNR.cjs"),P=require("../utils-DIUEhA-Z.cjs");function U(t){return t===null?"null":Array.isArray(t)?"array":typeof t=="object"?"object":typeof t=="string"?"string":typeof t=="number"?Number.isInteger(t)?"integer":"number":typeof t=="boolean"?"boolean":"unknown"}function X(t,a){return t===a||a==="number"&&t==="integer"}function b(t,a,i=[]){if(typeof a=="boolean")return a===!1?[{kind:"type-mismatch",path:i,message:"Schema disallows any value",actual:String(t)}]:[];const r=[],n=a;if(n.type!=null&&t!==void 0){const s=Array.isArray(n.type)?n.type:[n.type],c=U(t);if(c!=="unknown"&&!s.some(o=>X(c,o)))return r.push({kind:"type-mismatch",path:i,message:`Expected ${s.join(" | ")}, got ${c}`,expected:s.join(" | "),actual:c}),r}if(n.enum!=null&&t!==void 0&&(n.enum.some(c=>JSON.stringify(c)===JSON.stringify(t))||r.push({kind:"enum-mismatch",path:i,message:`Value not in enum: ${JSON.stringify(n.enum)}`,expected:n.enum.map(String).join(", "),actual:String(t)})),n.const!==void 0&&t!==void 0&&JSON.stringify(n.const)!==JSON.stringify(t)&&r.push({kind:"const-mismatch",path:i,message:`Expected const ${JSON.stringify(n.const)}, got ${JSON.stringify(t)}`,expected:JSON.stringify(n.const),actual:JSON.stringify(t)}),typeof t=="string"&&(n.minLength!=null&&t.length<n.minLength&&r.push({kind:"constraint-violation",path:i,message:`String length ${t.length} < minLength ${n.minLength}`,expected:`>= ${n.minLength} chars`,actual:`${t.length} chars`}),n.maxLength!=null&&t.length>n.maxLength&&r.push({kind:"constraint-violation",path:i,message:`String length ${t.length} > maxLength ${n.maxLength}`,expected:`<= ${n.maxLength} chars`,actual:`${t.length} chars`}),n.pattern!=null))try{new RegExp(n.pattern).test(t)||r.push({kind:"constraint-violation",path:i,message:`String does not match pattern /${n.pattern}/`,expected:`/${n.pattern}/`,actual:t})}catch{}if(typeof t=="number"&&(n.minimum!=null&&t<n.minimum&&r.push({kind:"constraint-violation",path:i,message:`Value ${t} < minimum ${n.minimum}`,expected:`>= ${n.minimum}`,actual:String(t)}),n.maximum!=null&&t>n.maximum&&r.push({kind:"constraint-violation",path:i,message:`Value ${t} > maximum ${n.maximum}`,expected:`<= ${n.maximum}`,actual:String(t)}),n.exclusiveMinimum!=null&&t<=n.exclusiveMinimum&&r.push({kind:"constraint-violation",path:i,message:`Value ${t} <= exclusiveMinimum ${n.exclusiveMinimum}`,expected:`> ${n.exclusiveMinimum}`,actual:String(t)}),n.exclusiveMaximum!=null&&t>=n.exclusiveMaximum&&r.push({kind:"constraint-violation",path:i,message:`Value ${t} >= exclusiveMaximum ${n.exclusiveMaximum}`,expected:`< ${n.exclusiveMaximum}`,actual:String(t)}),n.multipleOf!=null&&t%n.multipleOf!==0&&r.push({kind:"constraint-violation",path:i,message:`Value ${t} is not a multiple of ${n.multipleOf}`,expected:`multiple of ${n.multipleOf}`,actual:String(t)})),typeof t=="object"&&t!==null&&!Array.isArray(t)){const s=t,c=Object.keys(s);if(n.required!=null)for(const o of n.required)o in s||r.push({kind:"missing-required",path:[...i,o],message:`Missing required property "${o}"`,expected:o});if(n.additionalProperties===!1&&n.properties!=null){const o=new Set(Object.keys(n.properties));if(n.patternProperties!=null){const l=Object.keys(n.patternProperties).map(m=>new RegExp(m));for(const m of c)!o.has(m)&&!l.some(p=>p.test(m))&&r.push({kind:"extra-property",path:[...i,m],message:`Extra property "${m}" not allowed`,actual:m})}else for(const l of c)o.has(l)||r.push({kind:"extra-property",path:[...i,l],message:`Extra property "${l}" not allowed`,actual:l})}if(n.properties!=null)for(const[o,l]of Object.entries(n.properties))o in s&&r.push(...b(s[o],l,[...i,o]))}if(Array.isArray(t)){if(n.minItems!=null&&t.length<n.minItems&&r.push({kind:"constraint-violation",path:i,message:`Array length ${t.length} < minItems ${n.minItems}`,expected:`>= ${n.minItems} items`,actual:`${t.length} items`}),n.maxItems!=null&&t.length>n.maxItems&&r.push({kind:"constraint-violation",path:i,message:`Array length ${t.length} > maxItems ${n.maxItems}`,expected:`<= ${n.maxItems} items`,actual:`${t.length} items`}),n.prefixItems!=null){for(let s=0;s<t.length&&s<n.prefixItems.length;s++)r.push(...b(t[s],n.prefixItems[s],[...i,s]));if(n.items!=null&&!Array.isArray(n.items))for(let s=n.prefixItems.length;s<t.length;s++)r.push(...b(t[s],n.items,[...i,s]))}else if(Array.isArray(n.items)){for(let s=0;s<t.length&&s<n.items.length;s++)r.push(...b(t[s],n.items[s],[...i,s]));if(n.additionalItems!=null)for(let s=n.items.length;s<t.length;s++)r.push(...b(t[s],n.additionalItems,[...i,s]))}else if(n.items!=null)for(let s=0;s<t.length;s++)r.push(...b(t[s],n.items,[...i,s]))}return r}class L{widgets=[];register(a){this.widgets.push(a),this.widgets.sort((i,r)=>(r.priority??50)-(i.priority??50))}findBestWidget(a){const i=P.resolveWidget(a.definition,a.name);if(i?.widget){const r=this.widgets.find(n=>n.displayName===i.widget&&n.matcher(a));if(r)return{factory:r.factory,resolved:i}}for(const r of this.widgets)try{if(r.matcher(a))return{factory:r.factory,resolved:i}}catch(n){console.warn(`Error in display widget matcher "${r.displayName??"unknown"}":`,n)}}}function W(t,a,i){return{factory:a,matcher:r=>{const s=r.definition["x:ui"];return s===t||typeof s=="object"&&s!==null&&s.widget===t},displayName:i?.displayName??t,priority:i?.priority??100,...i}}function z(t,a,i){return{factory:a,matcher:r=>r.definition.format===t,displayName:i?.displayName??`${t} display`,priority:i?.priority??75,...i}}function H(t,a,i,r){return{factory:i,matcher:n=>{const s=n.definition;return s.type===t&&s.format===a},displayName:r?.displayName??`${t}:${a} display`,priority:r?.priority??80,...r}}function Q(t){return t.length===0?e.Empty:e.html.div(e.attr.class("bc-json-schema-display__mismatches"),...t.map(a=>e.html.span(e.attr.class(`bc-json-schema-display__mismatch bc-json-schema-display__mismatch--${a.kind}`),e.attr.title(a.expected?`Expected: ${a.expected}${a.actual?`, got: ${a.actual}`:""}`:a.message),a.message)))}function d({ctx:t,mismatches:a,children:i}){const r=t.widgetLabel,n=t.isPropertyRequired,s=t.isDeprecated,c=t.description;if(t.isRoot&&!a?.length)return e.Fragment(i);const o=a?a.filter(l=>{const m=l.path.map(String).join("."),p=t.path.map(String).join(".");return m===p}):[];return e.html.div(e.attr.class("bc-json-schema-display__field"),r||n||s?e.html.div(e.attr.class("bc-json-schema-display__label-row"),r?e.html.span(e.attr.class("bc-json-schema-display__label"),r):null,n?e.html.span(e.attr.class("bc-json-schema-display__required"),"*"):null,s?e.html.span(e.attr.class("bc-json-schema-display__deprecated"),"deprecated"):null):null,i,c?e.html.div(e.attr.class("bc-json-schema-display__description"),c):null,Q(o))}function Y(t,a){switch(a){case"email":return t?e.html.a(e.attr.class("bc-json-schema-display__link"),e.attr.href(`mailto:${t}`),t):e.html.span(e.attr.class("bc-json-schema-display__value--null"),"—");case"uri":case"uri-reference":case"url":return t?e.html.a(e.attr.class("bc-json-schema-display__link"),e.attr.href(t),e.attr.target("_blank"),e.attr.rel("noopener noreferrer"),t):e.html.span(e.attr.class("bc-json-schema-display__value--null"),"—");case"color":return t?e.html.span(e.attr.class("bc-json-schema-display__color-display"),e.html.span(e.attr.class("bc-json-schema-display__color-swatch"),e.attr.style(`background-color: ${t}`)),e.html.span(e.attr.class("bc-json-schema-display__monospace"),t)):e.html.span(e.attr.class("bc-json-schema-display__value--null"),"—");case"date-time":case"date":case"time":if(!t)return e.html.span(e.attr.class("bc-json-schema-display__value--null"),"—");try{if(a==="time")return e.html.span(t);const i=new Date(t);return isNaN(i.getTime())?e.html.span(t):e.html.span(a==="date"?i.toLocaleDateString():i.toLocaleString())}catch{return e.html.span(t)}case"password":return t?e.html.span(e.attr.class("bc-json-schema-display__value"),"•".repeat(Math.min(t.length,12))):e.html.span(e.attr.class("bc-json-schema-display__value--null"),"—");case"uuid":return t?e.html.span(e.attr.class("bc-json-schema-display__monospace"),t):e.html.span(e.attr.class("bc-json-schema-display__value--null"),"—");case"textarea":case"markdown":return t?e.html.pre(e.attr.class("bc-json-schema-display__pre"),t):e.html.span(e.attr.class("bc-json-schema-display__value--null"),"—");default:return t!==""?e.html.span(e.attr.class("bc-json-schema-display__value"),t):e.html.span(e.attr.class("bc-json-schema-display__value--null"),"—")}}function C({ctx:t,value:a,mismatches:i}){const r=t.definition,s=P.resolveWidget(r,t.name)?.widget,c=e.Value.map(a,l=>l!=null?String(l):""),o=e.MapSignal(c,l=>Y(l,s));return d({ctx:t,mismatches:i,children:o})}function Z(t){if(t==null)return"—";const a=Number(t);return isNaN(a)?String(t):a.toLocaleString()}function v(t){return t==null?"bc-json-schema-display__value--null":"bc-json-schema-display__value"}function q({ctx:t,value:a,mismatches:i}){return d({ctx:t,mismatches:i,children:e.html.span(e.attr.class(e.Value.map(a,v)),e.Value.map(a,Z))})}function tt(t){return t==null?"bc-json-schema-display__value--null":`bc-json-schema-display__boolean bc-json-schema-display__boolean--${!!t?"true":"false"}`}function et(t){return t==null?"—":t?"true":"false"}function R({ctx:t,value:a,mismatches:i}){return d({ctx:t,mismatches:i,children:e.html.span(e.attr.class(e.Value.map(a,tt)),e.Value.map(a,et))})}function B({ctx:t,mismatches:a}){return d({ctx:t,mismatches:a,children:e.html.span(e.attr.class("bc-json-schema-display__value--null"),"null")})}function nt(t,a){if(t.prefixItems!=null&&a<t.prefixItems.length)return t.prefixItems[a];if(Array.isArray(t.items)&&a<t.items.length)return t.items[a];if(t.prefixItems!=null&&a>=t.prefixItems.length)return t.items!=null&&!Array.isArray(t.items)?t.items:void 0;if(t.items!=null&&!Array.isArray(t.items))return t.items}function E({ctx:t,value:a,mismatches:i,displayWidgetRegistry:r}){const n=t.definition,s=e.Value.toSignal(a),c=e.MapSignal(s,o=>Array.isArray(o)?o.length===0?e.html.span(e.attr.class("bc-json-schema-display__empty"),"(empty array)"):e.html.div(e.attr.class("bc-json-schema-display__array"),...o.map((l,m)=>{const p=nt(n,m),h=t.with({definition:p??!0}).append(m),g=i?.filter(_=>{const y=_.path.map(String),S=[...t.path.map(String),String(m)];return y.length>=S.length&&S.every(($,x)=>y[x]===$)});return e.html.div(e.attr.class("bc-json-schema-display__array-item"),e.html.span(e.attr.class("bc-json-schema-display__array-index"),`[${m}]`),j({ctx:h,value:l,mismatches:g,displayWidgetRegistry:r}))})):o==null?e.html.span(e.attr.class("bc-json-schema-display__value--null"),"—"):e.html.span(e.attr.class("bc-json-schema-display__value"),String(o)));return d({ctx:t,mismatches:i,children:c})}function T({ctx:t,value:a,mismatches:i,displayWidgetRegistry:r}){const n=t.definition,s=e.Value.toSignal(a),c=e.MapSignal(s,o=>{if(o==null)return e.html.span(e.attr.class("bc-json-schema-display__value--null"),"—");if(typeof o!="object"||Array.isArray(o))return e.html.span(e.attr.class("bc-json-schema-display__value"),JSON.stringify(o));const l=o,m=n.properties??{},p=Object.keys(m),h=Object.keys(l),g=p.map(u=>{const I=m[u],D=t.with({definition:I,isPropertyRequired:t.hasRequiredProperty(u)}).append(u),V=i?.filter(A=>{const w=A.path.map(String),M=[...t.path.map(String),u];return w.length>=M.length&&M.every((K,G)=>w[G]===K)}),N=u in l?l[u]:void 0;return!(u in l)&&t.hasRequiredProperty(u)?e.html.div(e.attr.class("bc-json-schema-display__field"),e.html.div(e.attr.class("bc-json-schema-display__label-row"),e.html.span(e.attr.class("bc-json-schema-display__label"),D.widgetLabel??u),e.html.span(e.attr.class("bc-json-schema-display__required"),"*")),e.html.span(e.attr.class("bc-json-schema-display__value--missing"),"(missing)")):u in l?j({ctx:D,value:N,mismatches:V,displayWidgetRegistry:r}):e.Empty}),_=new Set(p),y=h.filter(u=>!_.has(u)),S=y.map(u=>{const I=t.with({definition:!0}).append(u),D=i?.filter(V=>{const N=V.path.map(String),A=[...t.path.map(String),u];return N.length>=A.length&&A.every((w,M)=>N[M]===w)});return e.html.div(e.attr.class("bc-json-schema-display__extra-property"),j({ctx:I,value:l[u],mismatches:D,displayWidgetRegistry:r}))}),$=[...g,...S],x=f.getContainerLayout(t);return x?f.applyContainerLayout(x,t,$,[...p,...y]):t.isRoot?e.html.div(e.attr.class("bc-json-schema-display__fields"),...$):e.html.div(e.attr.class("bc-json-schema-display__object"),...$)});return t.isRoot?c:e.html.div(e.attr.class("bc-json-schema-display__field"),t.widgetLabel?e.html.div(e.attr.class("bc-json-schema-display__label-row"),e.html.span(e.attr.class("bc-json-schema-display__label"),t.widgetLabel),t.isPropertyRequired?e.html.span(e.attr.class("bc-json-schema-display__required"),"*"):null,t.isDeprecated?e.html.span(e.attr.class("bc-json-schema-display__deprecated"),"deprecated"):null):null,c,t.description?e.html.div(e.attr.class("bc-json-schema-display__description"),t.description):null)}function k({ctx:t,value:a,mismatches:i}){const r=t.definition,n=e.Value.toSignal(a),s=e.MapSignal(n,c=>{if(c==null)return e.html.span(e.attr.class("bc-json-schema-display__value--null"),"—");const o=typeof c=="string"?c:JSON.stringify(c);let l=!0;return r.enum!=null?l=r.enum.some(m=>JSON.stringify(m)===JSON.stringify(c)):r.const!==void 0&&(l=JSON.stringify(r.const)===JSON.stringify(c)),e.html.span(e.attr.class(`bc-json-schema-display__value${l?"":" bc-json-schema-display__mismatch--enum-mismatch"}`),o,l?null:e.html.span(e.attr.class("bc-json-schema-display__mismatch-indicator"),r.enum!=null?` (not in enum: ${r.enum.map(m=>JSON.stringify(m)).join(", ")})`:` (expected: ${JSON.stringify(r.const)})`))});return d({ctx:t,mismatches:i,children:s})}function F({ctx:t,value:a,mismatches:i,displayWidgetRegistry:r}){const n=t.definition;if(n.allOf!=null){const l=n.allOf.filter(m=>typeof m=="object"&&m!==null);if(l.length>0){const m=l.map(S=>f.resolveAnyRef(S,t.schema,t.ajv)),{mergedSchema:p}=f.mergeAllOf(m,t.path),{allOf:h,...g}=n,_={...g,...p},y=t.with({definition:_});return j({ctx:y,value:a,mismatches:i,displayWidgetRegistry:r})}}const s=n.oneOf??n.anyOf;if(!Array.isArray(s)||s.length===0){const l=e.Value.toSignal(a);return d({ctx:t,mismatches:i,children:e.MapSignal(l,m=>e.html.span(e.attr.class("bc-json-schema-display__value"),JSON.stringify(m)))})}const c=e.Value.toSignal(a),o=e.MapSignal(c,l=>{const m=f.detectOneOfBranch(t,l,t.ajv);if(m.matchingBranch>=0){const p=s[m.matchingBranch],h=typeof p=="object"&&p!==null&&p.$ref?f.resolveRef(p,t.schema):p;if((typeof h=="object"?h?.type:void 0)==="object"){const y=t.with({definition:h});return j({ctx:y,value:l,mismatches:i,displayWidgetRegistry:r})}const _=typeof l=="string"?l:JSON.stringify(l);return e.html.span(e.attr.class("bc-json-schema-display__value"),_)}return m.isAmbiguous?e.html.div(e.html.span(e.attr.class("bc-json-schema-display__branch-label bc-json-schema-display__branch-label--ambiguous"),`Ambiguous (${m.validBranches.length} branches match)`),e.html.pre(e.attr.class("bc-json-schema-display__pre"),JSON.stringify(l,null,2))):e.html.div(e.html.span(e.attr.class("bc-json-schema-display__branch-label bc-json-schema-display__branch-label--no-match"),"No matching branch"),e.html.pre(e.attr.class("bc-json-schema-display__pre"),JSON.stringify(l,null,2)))});return d({ctx:t,mismatches:i,children:o})}function O({ctx:t,value:a,mismatches:i}){const r=e.Value.toSignal(a),n=e.MapSignal(r,s=>{if(s==null)return e.html.span(e.attr.class("bc-json-schema-display__value--null"),s===null?"null":"—");if(typeof s=="boolean")return e.html.span(e.attr.class(`bc-json-schema-display__boolean bc-json-schema-display__boolean--${s?"true":"false"}`),String(s));if(typeof s=="number")return e.html.span(e.attr.class("bc-json-schema-display__value"),s.toLocaleString());if(typeof s=="string")return e.html.span(e.attr.class("bc-json-schema-display__value"),s);try{return e.html.pre(e.attr.class("bc-json-schema-display__pre"),JSON.stringify(s,null,2))}catch{return e.html.span(e.attr.class("bc-json-schema-display__value"),String(s))}});return d({ctx:t,mismatches:i,children:n})}function j({ctx:t,value:a,mismatches:i,displayWidgetRegistry:r}){const n=typeof t.definition=="boolean"?{}:t.definition;let s=n?.$ref?f.resolveRef(n,t.schema):n,c=t.with({definition:s});if(s?.allOf!=null){const o=s.allOf.filter(l=>typeof l=="object"&&l!==null);if(o.length>0){const l=o.map(g=>f.resolveAnyRef(g,t.schema,t.ajv)),{mergedSchema:m}=f.mergeAllOf(l,t.path),{allOf:p,...h}=s;s={...h,...m},c=t.with({definition:s})}}if(r){const o=r.findBestWidget(c);if(o)return o.factory({value:a,ctx:c,mismatches:i})}if(s==null)return O({ctx:c,value:a,mismatches:i});if(s.enum!=null)return k({ctx:c,value:a,mismatches:i});if(s.const!==void 0)return k({ctx:c,value:a,mismatches:i});if(s.anyOf!=null||s.oneOf!=null)return F({ctx:c,value:a,mismatches:i,displayWidgetRegistry:r});if(s.type==null)return O({ctx:c,value:a,mismatches:i});if(Array.isArray(s.type)){const l=s.type.filter(m=>m!=="null");return l.length===1&&["string","number","integer","boolean"].includes(l[0])?J(l[0],{ctx:c,value:a,mismatches:i,displayWidgetRegistry:r}):O({ctx:c,value:a,mismatches:i})}return J(s.type,{ctx:c,value:a,mismatches:i,displayWidgetRegistry:r})}function J(t,a){switch(t){case"string":return C(a);case"number":case"integer":return q(a);case"boolean":return R(a);case"array":return E(a);case"object":return T(a);case"null":return B(a);default:return O(a)}}function st({schema:t,value:a,showMismatches:i=!0,customWidgets:r,horizontal:n=!1}){const s=new f.SchemaContext({schema:t,definition:t,horizontal:n,isPropertyRequired:!1,path:[]});let c;if(r&&r.length>0){c=new L;for(const l of r)c.register(l)}const o=e.Value.toSignal(a);return e.MapSignal(o,l=>{const m=i?b(l,t):void 0;return j({ctx:s,value:l,mismatches:m,displayWidgetRegistry:c})})}exports.AnyDisplay=O;exports.ArrayDisplay=E;exports.BooleanDisplay=R;exports.CompositionDisplay=F;exports.DisplayWidgetRegistry=L;exports.DisplayWrapper=d;exports.EnumConstDisplay=k;exports.GenericDisplay=j;exports.JSONSchemaDisplay=st;exports.NullDisplay=B;exports.NumberDisplay=q;exports.ObjectDisplay=T;exports.StringDisplay=C;exports.detectMismatches=b;exports.forDisplayFormat=z;exports.forDisplayTypeAndFormat=H;exports.forDisplayXUI=W;
@@ -1,5 +1,5 @@
1
1
  import { Fragment as F, html as l, attr as r, Empty as q, Value as d, MapSignal as _ } from "@tempots/dom";
2
- import { g as G, a as U, r as V, m as B, d as X, b as E, S as z } from "../oneof-branch-detection-BQnRjp9P.js";
2
+ import { g as G, a as U, r as V, m as B, d as X, b as E, S as z } from "../oneof-branch-detection-DCPwyutI.js";
3
3
  import { r as R } from "../utils-DEbsp9Q9.js";
4
4
  function H(e) {
5
5
  return e === null ? "null" : Array.isArray(e) ? "array" : typeof e == "object" ? "object" : typeof e == "string" ? "string" : typeof e == "number" ? Number.isInteger(e) ? "integer" : "number" : typeof e == "boolean" ? "boolean" : "unknown";
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("@tempots/dom"),O=require("../stack-4VUGISn6.cjs"),W=require("../string-B9vVyfq3.cjs"),f=require("../use-form-i97PToWB.cjs"),b=require("../deep-merge-Dgy9xj6w.cjs"),Ze=require("../text-input-w0eVcqk5.cjs"),D=require("../duration-input-MJz6UO6E.cjs"),He=require("../colors-BI0YhONJ.cjs"),B=require("../input-container-B31Seozh.cjs");function pe(e){return e==="int64"||e==="int128"||e==="uint64"||e==="uint128"}function N(e){return e==="int8"||e==="int16"||e==="int32"||e==="int64"||e==="int128"||e==="uint8"||e==="uint16"||e==="uint32"||e==="uint64"||e==="uint128"}function _(e){return e==="float"||e==="double"||e==="decimal"}function de(e){return N(e)||_(e)}function z(e){return e==="date"||e==="datetime"||e==="time"||e==="duration"}function fe(e){return e==="string"||e==="boolean"||e==="null"||de(e)||z(e)||e==="uuid"||e==="uri"||e==="binary"}function Xe(e){return e==="object"||e==="array"||e==="set"||e==="map"||e==="tuple"||e==="choice"||e==="any"}function j(e){return typeof e=="object"&&e!==null&&"$ref"in e}function me(e){return typeof e=="object"&&e!==null&&!("type"in e)&&!("$ref"in e)&&!("enum"in e)&&!("const"in e)}function ye(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 X(e){return e.type==="array"&&"items"in e}function Y(e){return e.type==="set"&&"items"in e}function Q(e){return e.type==="map"&&"values"in e}function ee(e){return e.type==="tuple"&&"tuple"in e}function te(e){return e.type==="choice"&&"choices"in e}function ge(e){return"enum"in e&&Array.isArray(e.enum)}function he(e){return"const"in e}function Z(e){return e===void 0?null:typeof e=="string"||Array.isArray(e)?e:(j(e),null)}function be(e){return e===void 0?!1:e==="null"?!0:Array.isArray(e)?e.includes("null"):!1}function G(e){return typeof e=="string"?e==="null"?[]:[e]:Array.isArray(e)?e.filter(t=>t!=="null"):[]}const P={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 ve(e){return e.startsWith("#/")?e.slice(2).split("/"):e.includes("/")?e.split("/"):["definitions",e]}function Ye(e,t){let n=e;for(const r of t){if(n==null||typeof n!="object")return;n=n[r]}return n}function A(e,t){const n=ve(e),r=Ye(t,n);if(r==null){console.warn(`Failed to resolve $ref: ${e}`);return}if(ye(r))return r;if(me(r)){console.warn(`$ref "${e}" points to a namespace, not a type definition`);return}}function Qe(e,t){return A(e.$ref,t)}class xe{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=A(t,this.schema);if(n?.type&&j(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&&j(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 J(e){return new xe(e)}class K{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??J(t.schema)}with(t){return new K({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(j(t)){const n=this.refResolver.resolve(t.$ref);return n?.type?Z(n.type):null}return Z(t)}get primaryType(){const t=this.resolvedType;return t?typeof t=="string"?t==="null"?null:t:G(t)[0]??null:null}get isNullable(){return be(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&&fe(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?W._t(W.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 Te(e,t){let n;const r=J(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 K({schema:e,definition:n,path:[],readOnly:t?.readOnly,locale:t?.locale,widgetRegistry:t?.widgetRegistry,refResolver:r})}function ne(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 g=[];for(const d of p){if(o.has(d)){s.push({path:d,message:`Circular inheritance detected: ${d}`});continue}o.add(d),r.push(d);const h=A(d,t);if(!h){s.push({path:d,message:`Failed to resolve base type: ${d}`});continue}if(h.$extends){const m=Array.isArray(h.$extends)?h.$extends:[h.$extends],x=i(m,y+1);g.push(...x)}g.push(h),o.delete(d)}return g},u=i(a);return{merged:et(u,e),inheritanceChain:r,errors:s}}function et(e,t){if(e.length===0)return t;let n={...e[0]};for(let a=1;a<e.length;a++)n=ae(n,e[a]);n=ae(n,t);const{$extends:r,...s}=n;return s}function ae(e,t){return R(e)&&R(t)?tt(e,t):{...e,...t}}function tt(e,t){const n={...e.properties??{},...t.properties??{}},r=oe(e.required),s=oe(t.required),a=nt([...r,...s]),o={...e,...t,type:"object",properties:n};return a.length>0&&(o.required=a),o}function oe(e){return e?e.length===0?[]:Array.isArray(e[0])?e.flat():e:[]}function nt(e){return[...new Set(e)]}function rt(e){const t=J(e);return{resolve:n=>(t.reset(),ne(n,e))}}function it(){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 w(e,t){return!e||!t?e??"":l.html.span(e,it())}function st(e){const t=e.examples?.[0]!=null?String(e.examples[0]):void 0;return{label:e.suppressLabel?void 0:w(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated,placeholder:t}}function $e({ctx:e,controller:t}){const n=st(e);return f.Control(Ze.TextInput,{...n,controller:b.transformEmptyStringToUndefined(t)})}function at(e){return{label:e.suppressLabel?void 0:w(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated}}function Ie({ctx:e,controller:t}){const n=at(e),r=f.Control(f.CheckboxInput,{...n,controller:t});return e.isNullable?f.Control(f.CheckboxInput,{...n,controller:t,after:b.NullableResetAfter(t.signal,t.disabled,s=>t.change(s))}):r}function ot(e,t){const n=P[t],r=Ce(e,n.min),s=Se(e,n.max),a=e.examples?.[0]!=null?String(e.examples[0]):void 0;return{label:e.suppressLabel?void 0:w(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 ut(e,t){const n=P[t],r=Ce(e,n.min),s=Se(e,n.max),a=e.examples?.[0]!=null?String(e.examples[0]):void 0;return{label:e.suppressLabel?void 0:w(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 Ce(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 Se(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 we({ctx:e,controller:t,intType:n}){if(pe(n)){const s=ut(e,n);return e.isNullable?f.Control(D.NullableBigintInput,{...s,controller:t}):f.Control(D.BigintInput,{...s,controller:t})}const r=ot(e,n);return e.isNullable?f.Control(b.NullableNumberInput,{...r,controller:t}):f.Control(b.NumberInput,{...r,controller:t})}function lt(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));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:w(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 De({ctx:e,controller:t,floatType:n}){const r=lt(e,n);return e.isNullable?f.Control(b.NullableNumberInput,{...r,controller:t}):f.Control(b.NumberInput,{...r,controller:t})}function ct(e){return{label:e.suppressLabel?void 0:w(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated,placeholder:"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}}function Me({ctx:e,controller:t}){const n=ct(e);return f.Control(b.UUIDInput,{...n,controller:b.transformEmptyStringToUndefined(t)})}function pt(e){return{label:e.suppressLabel?void 0:w(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated}}function Oe({ctx:e,controller:t,temporalType:n}){const r=pt(e);switch(n){case"date":return e.isNullable?f.Control(D.NullablePlainDateInput,{...r,controller:t}):f.Control(D.PlainDateInput,{...r,controller:t});case"datetime":return e.isNullable?f.Control(D.NullablePlainDateTimeInput,{...r,controller:t}):f.Control(D.PlainDateTimeInput,{...r,controller:t});case"time":return e.isNullable?f.Control(D.NullablePlainTimeInput,{...r,controller:t}):f.Control(D.PlainTimeInput,{...r,controller:t});case"duration":return e.isNullable?f.Control(b.NullableDurationInput,{...r,controller:t}):f.Control(D.DurationInput,{...r,controller:t});default:return console.warn(`Unknown temporal type: ${n}`),l.Empty}}function dt(e){return{label:e.suppressLabel?void 0:w(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated,placeholder:"https://example.com"}}function je({ctx:e,controller:t}){const n=dt(e);return f.Control(b.UrlInput,{...n,controller:b.transformEmptyStringToUndefined(t)})}function ft(e){return{label:e.suppressLabel?void 0:w(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated}}function Re({ctx:e,controller:t}){const n=ft(e);return f.Control(D.FileInput,{...n,controller:t})}function mt(e){return{label:e.suppressLabel?void 0:w(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated,placeholder:"Enter JSON value"}}function yt(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 H({ctx:e,controller:t}){const n=mt(e);return f.Control(b.TextArea,{...n,controller:yt(t)})}function V(e){return{label:e.suppressLabel?void 0:e.label,description:e.description,required:e.isRequired}}function k(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 gt(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 ht(e,t="property"){if(!e.has(t))return t;let n=1;for(;e.has(`${t}${n}`);)n++;return`${t}${n}`}function Ae({ctx:e,controller:t}){const n=e.definition;if(n.type!=="object"||!("properties"in n))return console.warn("StructureObjectControl requires an ObjectTypeDefinition"),l.html.div("Invalid object definition");const r=n.properties,s=n.required,a=n.additionalProperties,o=a!==!1,i=typeof a=="object"&&a!==null?a:{type:"any"},u=n.minProperties??0,c=n.maxProperties??1/0,p=He.l(r),y=new Set(p.map(([v])=>v)),g=p.map(([v,$])=>{const T=v,C=t.field(T),I=gt(T,s);return S({ctx:e.with({definition:$,isPropertyRequired:I,suppressLabel:!1}).append(T),controller:C})}),d=l.MapSignal(t.signal,v=>{const $=Object.keys(v??{}),T=$.filter(I=>!y.has(I));if(T.length===0)return l.Empty;const C=$.length>u&&!e.readOnly;return l.Fragment(...T.map(I=>{const F=t.field(I);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(`${I}:`),B.Button({variant:"text",size:"xs",onClick:()=>{const L={...l.Value.get(t.signal)??{}};delete L[I],t.change(L)},disabled:!C},"Remove")),l.html.div(l.attr.class("bc-json-structure-additional-property-value"),S({ctx:e.with({definition:i,isPropertyRequired:!1,suppressLabel:!0}).append(I),controller:F})))}))}),h=o&&!e.readOnly?B.Button({variant:"outline",size:"sm",disabled:l.Value.map(t.signal,v=>Object.keys(v??{}).length>=c),onClick:()=>{const v=l.Value.get(t.signal)??{},$=new Set(Object.keys(v)),T=ht($),C=k(i);t.change({...v,[T]:C})}},"Add Property"):null,m=l.html.div(l.attr.class("bc-json-structure-object-fields"),...g,d,h),x=l.html.div(l.attr.class("bc-json-structure-object"),m);return!e.suppressLabel&&e.name?f.InputWrapper({...V(e),content:x}):x}function Ne({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({...V(e),controller:t,createItem:()=>k(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 S({ctx:e.with({definition:r,suppressLabel:!0}).append(c),controller:p})}})}function ke({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 g=0;g<c.length;g++){const d=JSON.stringify(c[g]);p.has(d)?(y.add(p.get(d)),y.add(g)):p.set(d,g)}return y});return b.ListControl({...V(e),controller:t,createItem:()=>k(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,g=u.map(h=>h.has(p)),d=S({ctx:e.with({definition:r,suppressLabel:!0}).append(p),controller:y});return l.Fragment(d,l.When(g,()=>O.Label(l.attr.class("bc-json-structure-set-error"),"Duplicate value - sets must contain unique items")))}})}function bt(e,t="key"){if(!e.has(t))return t;let n=1;for(;e.has(`${t}${n}`);)n++;return`${t}${n}`}function qe({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,o=l.MapSignal(t.signal,p=>{const y=Object.keys(p??{});if(y.length===0)return l.Empty;const g=y.length>s&&!e.readOnly;return l.Fragment(...y.map(d=>{const h=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}:`),B.Button({variant:"text",size:"xs",onClick:()=>{const m={...l.Value.get(t.signal)??{}};delete m[d],t.change(m)},disabled:!g},"Remove")),l.html.div(l.attr.class("bc-json-structure-map-entry-value"),S({ctx:e.with({definition:r,suppressLabel:!0}).append(d),controller:h})))}))}),i=e.readOnly?null:B.Button({variant:"outline",size:"sm",disabled:l.Value.map(t.signal,p=>Object.keys(p??{}).length>=a),onClick:()=>{const p=l.Value.get(t.signal)??{},y=new Set(Object.keys(p)),g=bt(y),d=k(r);t.change({...p,[g]:d})}},"Add Entry"),u=l.html.div(l.attr.class("bc-json-structure-map-entries"),o,i),c=l.html.div(l.attr.class("bc-json-structure-map"),u);return!e.suppressLabel&&e.name?f.InputWrapper({...V(e),content:c}):c}function Fe({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?k(c):void 0});t.change(i)}const o=V(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"),"*"):null):null,o.description?l.html.div(l.attr.class("bc-json-structure-tuple-description"),o.description):null,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"),S({ctx:e.with({definition:c,suppressLabel:!0}).append(u),controller:p})))})))}function vt({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 xt({ctx:e,selector:t,inner:n}){const r=O.Stack(l.attr.class("bc-stack--gap-2 bc-stack--align-start"),t,n);return e.isRoot?r:f.InputWrapper({label:e.suppressLabel?void 0:e.label,description:e.description,required:e.isRequired,content:r})}function Tt(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 $t(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 ue(e,t,n){return n?e&&typeof e=="object"?{[n]:t,...e}:{[n]:t}:{[t]:e}}function Pe({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(m=>{const v=r[m].name||m;return{value:m,label:v}}),i=l.computedOf(t.signal)(m=>Tt(m,r,s)),u=l.Value.get(i)||a[0],c=l.prop(u);t.onDispose(c.dispose);let p=!1;const y=i.on(m=>{!p&&m!==null&&c.set(m)});t.onDispose(y);const d=vt({options:o,selected:c,onChange:m=>{p=!0,c.set(m);const x=r[m];if(x){const v=k(x),$=ue(v,m,s);t.change($)}},disabled:e.readOnly||e.isDeprecated}),h=l.MapSignal(c,m=>{const x=r[l.Value.get(m)];if(!x)return l.html.div(l.attr.class("bc-json-structure-error"),`Choice variant not found: ${l.Value.get(m)}`);const v=l.computedOf(t.signal)(C=>$t(C,l.Value.get(m),s)),$=C=>{const I=ue(C,l.Value.get(m),s);t.change(I)},T=new f.Controller([...t.path,l.Value.get(m)],$,v,t.status,{disabled:t.disabled},void 0);return t.onDispose(()=>T.dispose()),S({ctx:e.with({definition:x,suppressLabel:!0}).append(l.Value.get(m)),controller:T})});return xt({ctx:e,selector:d,inner:h})}function It(e){return{label:e.suppressLabel?void 0:w(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated}}function Ve({ctx:e,controller:t}){const n=It(e);return b.NativeSelectControl({...n,options:(e.enumValues??[]).map(r=>({type:"value",value:r,label:String(r)})),controller:t})}function Ee({ctx:e,controller:t}){return l.Fragment(l.WithElement(()=>{l.Value.get(t.signal)!==e.constValue&&t.change(e.constValue)}),b.Group(O.MutedLabel(e.label,": "),O.Label(String(e.constValue))))}function Ct(e){return{label:e.suppressLabel?void 0:e.label,description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated}}function St(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 wt(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 Dt(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 Mt(e){return e.map(t=>({key:t,label:W._t(t),detect:n=>St(n,[t])===t,convert:n=>wt(n,t),defaultValue:()=>Dt(t)}))}function Ot({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 jt({ctx:e,showSelector:t,selector:n,inner:r}){return e.isRoot?t?O.Stack(l.attr.class("bc-stack--gap-2"),n,r):r:f.InputWrapper({...Ct(e),content:t?O.Stack(l.attr.class("bc-stack--gap-2 bc-stack--align-start"),n,r):r})}function Rt({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"),S({ctx:e,controller:t});const a=s.includes("null"),o=G(r),i=a&&o.length>0?o:s,u=Mt(i),c=new b.UnionController(t.path,t.change,t.signal,t.status,{disabled:t.disabled},u);t.onDispose(()=>c.dispose());const p=d=>Ot({options:i.map(h=>({value:h,label:W._t(h)})),selected:c.activeBranch,onChange:d}),y=d=>{c.switchToBranch(d,!1)},g=l.MapSignal(c.activeBranch,d=>{const h=l.Value.get(d),m=c.getBranchController(h),x=e.with({definition:{...n,type:h},suppressLabel:!e.isRoot});return S({ctx:x,controller:m})});return jt({ctx:e,showSelector:i.length>1,selector:p(y),inner:g})}function S({ctx:e,controller:t}){let n=e;const r=e.definition;if(r.type&&j(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}=ne(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(ge(n.definition))return Ve({ctx:n,controller:t});if(he(n.definition))return Ee({ctx:n,controller:t});const a=n.resolvedType;if(Array.isArray(a)&&G(a).length>1)return Rt({ctx:n,controller:t});const o=n.primaryType;if(!o)return H({ctx:n,controller:t});if(R(n.definition)){const i=t instanceof f.ObjectController?t:t.object();return Ae({ctx:n,controller:i})}if(X(n.definition)){const i=t instanceof f.ArrayController?t:t.array();return Ne({ctx:n,controller:i})}if(Y(n.definition)){const i=t instanceof f.ArrayController?t:t.array();return ke({ctx:n,controller:i})}if(Q(n.definition)){const i=t instanceof f.ObjectController?t:t.object();return qe({ctx:n,controller:i})}if(ee(n.definition)){const i=t instanceof f.ArrayController?t:t.array();return Fe({ctx:n,controller:i})}if(te(n.definition))return Pe({ctx:n,controller:t});switch(o){case"string":return $e({ctx:n,controller:t});case"boolean":return Ie({ctx:n,controller:t});case"uuid":return Me({ctx:n,controller:t});case"uri":return je({ctx:n,controller:t});case"binary":return Re({ctx:n,controller:t});case"null":return At(n);case"any":return H({ctx:n,controller:t});default:return N(o)?we({ctx:n,controller:t,intType:o}):_(o)?De({ctx:n,controller:t,floatType:o}):z(o)?Oe({ctx:n,controller:t,temporalType:o}):(console.warn(`Unknown type: ${o}`),Nt(n,o))}}function Le({schema:e,controller:t,widgetRegistry:n,readOnly:r,locale:s}){const a=Te(e,{widgetRegistry:n,readOnly:r,locale:s});return S({ctx:a,controller:t})}function At(e){return l.html.div(l.attr.class("bc-json-structure-placeholder"),l.html.span(`[Null: ${e.label}]`),l.html.em("null"))}function Nt(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 re(e,t){return new kt(e,t)}class kt{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 N(n)?this.validateInteger(t,n,r,s,a):_(n)?this.validateFloat(t,r,s,a):z(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(N(n)){const o=P[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(!X(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(!Y(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(!Q(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(!ee(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(!te(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 qt(e,t,n){return re(e,n).validate(t)}function Ue(e,t){const n=Ft(e,t);return{path:e.path,message:n,code:e.type}}function ie(e,t){return e.map(n=>{const r=t?.get(n.path);return Ue(n,r)})}function Ft(e,t){switch(e.type){case"type":return`Expected ${le(e.expected)}, got ${Pt(e.actual)}`;case"type_mismatch":return`Value must be of type ${le(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 Vt(e,t);case"format":return Et(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 Lt(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 Ut(e);case"enum":return Wt(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 le(e){return typeof e=="string"?ce(e):Array.isArray(e)?e.map(ce).join(" or "):String(e)}function Pt(e){return e===null?"null":e===void 0?"undefined":typeof e}function ce(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 Vt(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 Et(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 Lt(e){const t=e.context?.type;if(t&&N(t)){const n=P[t];return`Must be between ${n.min} and ${n.max}`}return"Value is out of range for this integer type"}function Ut(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 Wt(e){const t=e.expected;return t&&t.length<=5?`Must be one of: ${t.map(r=>JSON.stringify(r)).join(", ")}`:"Invalid value"}function Bt(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 _t(e,t){return e.filter(n=>n.path===t)}function zt(e,t){return e.some(n=>n.path===t)}function Gt(e,t){const n=t===""?"/":`${t}/`;return e.filter(r=>r.path.startsWith(n))}class E{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 E(this)}}let U=null;function q(){return U||(U=new E),U}function Jt(e){U=e}function Kt(e){return new E(e)}function Zt(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 Ht(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 Xt(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 Yt(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 We(e,t){if(t){const r=t.findBestWidget(e);if(r)return r}return q().findBestWidget(e)}function Qt(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 se(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 en(e){return se(e)!==void 0}function tn(e,t){const n=se(e);if(n){if(t){const a=t.get(n);if(a)return{name:n,registration:a}}const s=q().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 We(e,t)}function nn(e,t,n){return{...e,...t,...n}}function Be(e=q()){e.register("string",{factory:({controller:i,ctx:u})=>$e({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})=>Ie({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})=>Me({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})=>je({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})=>Re({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})=>H({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})=>we({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})=>De({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})=>Oe({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})=>Ae({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})=>Ne({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})=>ke({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})=>qe({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})=>Fe({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})=>Pe({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})=>Ve({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})=>Ee({ctx:u,controller:i}),displayName:"Const",description:"Display for constant values",priority:20,canFallback:!1,matcher:i=>i.hasConst})}function _e(e=q()){return e.has("string")&&e.has("object")&&e.has("array")}function rn(e=q()){_e(e)||Be(e)}function ze(e){let t=e;if(e.$root){const n=A(e.$root,e);n&&(t=n)}return M(t,e,new Set)}function M(e,t,n){if(e.type&&j(e.type)){const r=e.type.$ref;if(n.has(r))return;n.add(r);try{const s=A(r,t);if(s){const a={...s,...e,type:s.type};return M(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]:gn(e)?null:sn(e,t,n)}function sn(e,t,n){const r=Ge(e);if(R(e))return on(e,t,n);if(r==="choice"&&"choices"in e)return un(e,t,n);if(r==="tuple"&&"tuple"in e&&"properties"in e)return ln(e,t,n);if(r==="array")return cn(e,t,n);if(r==="set")return pn(e,t,n);if(r==="map")return{};if(r==="string")return dn(e);if(hn(r))return fn(e);if(bn(r))return mn(e);if(r==="boolean")return!1;if(r==="null")return null;if(vn(r))return yn(r);if(r==="uuid"||r==="uri"||r==="uri-reference"||r==="binary"||r==="bytes")return""}function an(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 on(e,t,n){if(!R(e))return{};const r=an(e.required),s={};for(const[a,o]of Object.entries(e.properties))if(r.has(a))if(o.type&&j(o.type)){const i=o.type.$ref;if(n.has(i))continue;n.add(i);try{const u=A(i,t);if(u){const c={...u,...o,type:u.type},p=M(c,t,n);p!==void 0&&(s[a]=p)}}finally{n.delete(i)}}else{const i=M(o,t,n);i!==void 0&&(s[a]=i)}return s}function un(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=M(o,t,n);return typeof c=="object"&&c!==null?{[u]:a,...c}:{[u]:a}}const i=M(o,t,n);return{[a]:i}}function ln(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=M(u,t,n);c!==void 0&&(o[i]=c)}}return o}function cn(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=M(s,t,n);return Array(r).fill(a??null)}function pn(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=M(s,t,n);return Array(r).fill(a??null)}function dn(e){switch("format"in e?e.format:void 0){case"date":return Je();case"date-time":return Ke();case"time":return"00:00:00";default:return""}}function fn(e){const t=Ge(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 mn(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 yn(e){switch(e){case"date":return Je();case"time":return"00:00:00";case"datetime":return Ke();case"duration":return"PT0S";default:return""}}function gn(e){return Array.isArray(e.type)?e.type.some(t=>typeof t=="string"?t==="null":!1):!1}function Ge(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 hn(e){return e?["int8","int16","int32","int64","int128","uint8","uint16","uint32","uint64","uint128"].includes(e):!1}function bn(e){return e?["float","double","decimal"].includes(e):!1}function vn(e){return e?["date","time","datetime","duration"].includes(e):!1}function Je(){return new Date().toISOString().split("T")[0]}function Ke(){return new Date().toISOString()}function xn(e){if(e.isValid)return O.i.valid;const t=ie(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),O.i.invalid(s)}function Tn({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,g=ze(e);let d;t===void 0?d=g??{}:c?d=b.deepMergeDefaults(g,y):d=y;const h=re(e),m=n??"onTouched",x=I=>{const F=h.validate(I);if(u&&!F.isValid){const L=ie(F.errors);u(L)}return xn(F)},{controller:v,setStatus:$}=f.useController({initialValue:d,validationMode:m,validateDebounceMs:r,validate:m==="onSubmit"?void 0:x,onChange:i}),T=()=>{v.dispose()},C=l.Fragment(l.OnDispose(T),Le({schema:e,controller:v,widgetRegistry:s,readOnly:a,locale:o}));return p({Form:C,controller:v,setStatus:$})}exports.DefaultWidgetRegistry=E;exports.INTEGER_BOUNDS=P;exports.JSONStructureForm=Tn;exports.RefResolver=xe;exports.StructureContext=K;exports.StructureControl=Le;exports.StructureGenericControl=S;exports.createExtendsResolver=rt;exports.createRefResolver=J;exports.createStructureContext=Te;exports.createValidator=re;exports.createWidgetRegistry=Kt;exports.ensureDefaultWidgets=rn;exports.extractStructureDefaults=ze;exports.forFormat=Ht;exports.forMatcher=Yt;exports.forType=Zt;exports.forTypeAndFormat=Xt;exports.formatValidationError=Ue;exports.formatValidationErrors=ie;exports.getChildErrors=Gt;exports.getErrorsForPath=_t;exports.getExplicitWidgetName=se;exports.getGlobalWidgetRegistry=q;exports.getNonNullTypes=G;exports.getResolvedType=Z;exports.getWidgetOptions=Qt;exports.groupErrorsByPath=Bt;exports.hasConstValue=he;exports.hasCustomWidget=en;exports.hasDefaultWidgets=_e;exports.hasEnumValue=ge;exports.hasErrorsAtPath=zt;exports.isArrayTypeDefinition=X;exports.isBigIntType=pe;exports.isChoiceTypeDefinition=te;exports.isCompoundType=Xe;exports.isFloatType=_;exports.isIntegerType=N;exports.isMapTypeDefinition=Q;exports.isNamespace=me;exports.isNullableType=be;exports.isNumericType=de;exports.isObjectTypeDefinition=R;exports.isPrimitiveType=fe;exports.isSetTypeDefinition=Y;exports.isTemporalType=z;exports.isTupleTypeDefinition=ee;exports.isTypeDefinition=ye;exports.isTypeReference=j;exports.mergeWidgetOptions=nn;exports.parseRefPath=ve;exports.registerDefaultWidgets=Be;exports.resolveExtends=ne;exports.resolveRef=A;exports.resolveTypeReference=Qe;exports.resolveWidget=We;exports.resolveWidgetWithOverride=tn;exports.setGlobalWidgetRegistry=Jt;exports.validate=qt;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("@tempots/dom"),O=require("../stack-4VUGISn6.cjs"),W=require("../string-B9vVyfq3.cjs"),f=require("../use-form-DQVN_Zjb.cjs"),b=require("../deep-merge-CI1g9sjh.cjs"),Ze=require("../text-input-DUnhBUd6.cjs"),D=require("../duration-input-a1fCTfKl.cjs"),He=require("../colors-BI0YhONJ.cjs"),B=require("../input-container-DiYEl_y8.cjs");function pe(e){return e==="int64"||e==="int128"||e==="uint64"||e==="uint128"}function N(e){return e==="int8"||e==="int16"||e==="int32"||e==="int64"||e==="int128"||e==="uint8"||e==="uint16"||e==="uint32"||e==="uint64"||e==="uint128"}function _(e){return e==="float"||e==="double"||e==="decimal"}function de(e){return N(e)||_(e)}function z(e){return e==="date"||e==="datetime"||e==="time"||e==="duration"}function fe(e){return e==="string"||e==="boolean"||e==="null"||de(e)||z(e)||e==="uuid"||e==="uri"||e==="binary"}function Xe(e){return e==="object"||e==="array"||e==="set"||e==="map"||e==="tuple"||e==="choice"||e==="any"}function j(e){return typeof e=="object"&&e!==null&&"$ref"in e}function me(e){return typeof e=="object"&&e!==null&&!("type"in e)&&!("$ref"in e)&&!("enum"in e)&&!("const"in e)}function ye(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 X(e){return e.type==="array"&&"items"in e}function Y(e){return e.type==="set"&&"items"in e}function Q(e){return e.type==="map"&&"values"in e}function ee(e){return e.type==="tuple"&&"tuple"in e}function te(e){return e.type==="choice"&&"choices"in e}function ge(e){return"enum"in e&&Array.isArray(e.enum)}function he(e){return"const"in e}function Z(e){return e===void 0?null:typeof e=="string"||Array.isArray(e)?e:(j(e),null)}function be(e){return e===void 0?!1:e==="null"?!0:Array.isArray(e)?e.includes("null"):!1}function G(e){return typeof e=="string"?e==="null"?[]:[e]:Array.isArray(e)?e.filter(t=>t!=="null"):[]}const P={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 ve(e){return e.startsWith("#/")?e.slice(2).split("/"):e.includes("/")?e.split("/"):["definitions",e]}function Ye(e,t){let n=e;for(const r of t){if(n==null||typeof n!="object")return;n=n[r]}return n}function A(e,t){const n=ve(e),r=Ye(t,n);if(r==null){console.warn(`Failed to resolve $ref: ${e}`);return}if(ye(r))return r;if(me(r)){console.warn(`$ref "${e}" points to a namespace, not a type definition`);return}}function Qe(e,t){return A(e.$ref,t)}class xe{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=A(t,this.schema);if(n?.type&&j(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&&j(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 J(e){return new xe(e)}class K{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??J(t.schema)}with(t){return new K({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(j(t)){const n=this.refResolver.resolve(t.$ref);return n?.type?Z(n.type):null}return Z(t)}get primaryType(){const t=this.resolvedType;return t?typeof t=="string"?t==="null"?null:t:G(t)[0]??null:null}get isNullable(){return be(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&&fe(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?W._t(W.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 Te(e,t){let n;const r=J(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 K({schema:e,definition:n,path:[],readOnly:t?.readOnly,locale:t?.locale,widgetRegistry:t?.widgetRegistry,refResolver:r})}function ne(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 g=[];for(const d of p){if(o.has(d)){s.push({path:d,message:`Circular inheritance detected: ${d}`});continue}o.add(d),r.push(d);const h=A(d,t);if(!h){s.push({path:d,message:`Failed to resolve base type: ${d}`});continue}if(h.$extends){const m=Array.isArray(h.$extends)?h.$extends:[h.$extends],x=i(m,y+1);g.push(...x)}g.push(h),o.delete(d)}return g},u=i(a);return{merged:et(u,e),inheritanceChain:r,errors:s}}function et(e,t){if(e.length===0)return t;let n={...e[0]};for(let a=1;a<e.length;a++)n=ae(n,e[a]);n=ae(n,t);const{$extends:r,...s}=n;return s}function ae(e,t){return R(e)&&R(t)?tt(e,t):{...e,...t}}function tt(e,t){const n={...e.properties??{},...t.properties??{}},r=oe(e.required),s=oe(t.required),a=nt([...r,...s]),o={...e,...t,type:"object",properties:n};return a.length>0&&(o.required=a),o}function oe(e){return e?e.length===0?[]:Array.isArray(e[0])?e.flat():e:[]}function nt(e){return[...new Set(e)]}function rt(e){const t=J(e);return{resolve:n=>(t.reset(),ne(n,e))}}function it(){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 w(e,t){return!e||!t?e??"":l.html.span(e,it())}function st(e){const t=e.examples?.[0]!=null?String(e.examples[0]):void 0;return{label:e.suppressLabel?void 0:w(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated,placeholder:t}}function $e({ctx:e,controller:t}){const n=st(e);return f.Control(Ze.TextInput,{...n,controller:b.transformEmptyStringToUndefined(t)})}function at(e){return{label:e.suppressLabel?void 0:w(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated}}function Ie({ctx:e,controller:t}){const n=at(e),r=f.Control(f.CheckboxInput,{...n,controller:t});return e.isNullable?f.Control(f.CheckboxInput,{...n,controller:t,after:b.NullableResetAfter(t.signal,t.disabled,s=>t.change(s))}):r}function ot(e,t){const n=P[t],r=Ce(e,n.min),s=Se(e,n.max),a=e.examples?.[0]!=null?String(e.examples[0]):void 0;return{label:e.suppressLabel?void 0:w(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 ut(e,t){const n=P[t],r=Ce(e,n.min),s=Se(e,n.max),a=e.examples?.[0]!=null?String(e.examples[0]):void 0;return{label:e.suppressLabel?void 0:w(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 Ce(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 Se(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 we({ctx:e,controller:t,intType:n}){if(pe(n)){const s=ut(e,n);return e.isNullable?f.Control(D.NullableBigintInput,{...s,controller:t}):f.Control(D.BigintInput,{...s,controller:t})}const r=ot(e,n);return e.isNullable?f.Control(b.NullableNumberInput,{...r,controller:t}):f.Control(b.NumberInput,{...r,controller:t})}function lt(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));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:w(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 De({ctx:e,controller:t,floatType:n}){const r=lt(e,n);return e.isNullable?f.Control(b.NullableNumberInput,{...r,controller:t}):f.Control(b.NumberInput,{...r,controller:t})}function ct(e){return{label:e.suppressLabel?void 0:w(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated,placeholder:"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"}}function Me({ctx:e,controller:t}){const n=ct(e);return f.Control(b.UUIDInput,{...n,controller:b.transformEmptyStringToUndefined(t)})}function pt(e){return{label:e.suppressLabel?void 0:w(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated}}function Oe({ctx:e,controller:t,temporalType:n}){const r=pt(e);switch(n){case"date":return e.isNullable?f.Control(D.NullablePlainDateInput,{...r,controller:t}):f.Control(D.PlainDateInput,{...r,controller:t});case"datetime":return e.isNullable?f.Control(D.NullablePlainDateTimeInput,{...r,controller:t}):f.Control(D.PlainDateTimeInput,{...r,controller:t});case"time":return e.isNullable?f.Control(D.NullablePlainTimeInput,{...r,controller:t}):f.Control(D.PlainTimeInput,{...r,controller:t});case"duration":return e.isNullable?f.Control(b.NullableDurationInput,{...r,controller:t}):f.Control(D.DurationInput,{...r,controller:t});default:return console.warn(`Unknown temporal type: ${n}`),l.Empty}}function dt(e){return{label:e.suppressLabel?void 0:w(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated,placeholder:"https://example.com"}}function je({ctx:e,controller:t}){const n=dt(e);return f.Control(b.UrlInput,{...n,controller:b.transformEmptyStringToUndefined(t)})}function ft(e){return{label:e.suppressLabel?void 0:w(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated}}function Re({ctx:e,controller:t}){const n=ft(e);return f.Control(D.FileInput,{...n,controller:t})}function mt(e){return{label:e.suppressLabel?void 0:w(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated,placeholder:"Enter JSON value"}}function yt(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 H({ctx:e,controller:t}){const n=mt(e);return f.Control(b.TextArea,{...n,controller:yt(t)})}function V(e){return{label:e.suppressLabel?void 0:e.label,description:e.description,required:e.isRequired}}function k(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 gt(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 ht(e,t="property"){if(!e.has(t))return t;let n=1;for(;e.has(`${t}${n}`);)n++;return`${t}${n}`}function Ae({ctx:e,controller:t}){const n=e.definition;if(n.type!=="object"||!("properties"in n))return console.warn("StructureObjectControl requires an ObjectTypeDefinition"),l.html.div("Invalid object definition");const r=n.properties,s=n.required,a=n.additionalProperties,o=a!==!1,i=typeof a=="object"&&a!==null?a:{type:"any"},u=n.minProperties??0,c=n.maxProperties??1/0,p=He.l(r),y=new Set(p.map(([v])=>v)),g=p.map(([v,$])=>{const T=v,C=t.field(T),I=gt(T,s);return S({ctx:e.with({definition:$,isPropertyRequired:I,suppressLabel:!1}).append(T),controller:C})}),d=l.MapSignal(t.signal,v=>{const $=Object.keys(v??{}),T=$.filter(I=>!y.has(I));if(T.length===0)return l.Empty;const C=$.length>u&&!e.readOnly;return l.Fragment(...T.map(I=>{const F=t.field(I);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(`${I}:`),B.Button({variant:"text",size:"xs",onClick:()=>{const L={...l.Value.get(t.signal)??{}};delete L[I],t.change(L)},disabled:!C},"Remove")),l.html.div(l.attr.class("bc-json-structure-additional-property-value"),S({ctx:e.with({definition:i,isPropertyRequired:!1,suppressLabel:!0}).append(I),controller:F})))}))}),h=o&&!e.readOnly?B.Button({variant:"outline",size:"sm",disabled:l.Value.map(t.signal,v=>Object.keys(v??{}).length>=c),onClick:()=>{const v=l.Value.get(t.signal)??{},$=new Set(Object.keys(v)),T=ht($),C=k(i);t.change({...v,[T]:C})}},"Add Property"):null,m=l.html.div(l.attr.class("bc-json-structure-object-fields"),...g,d,h),x=l.html.div(l.attr.class("bc-json-structure-object"),m);return!e.suppressLabel&&e.name?f.InputWrapper({...V(e),content:x}):x}function Ne({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({...V(e),controller:t,createItem:()=>k(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 S({ctx:e.with({definition:r,suppressLabel:!0}).append(c),controller:p})}})}function ke({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 g=0;g<c.length;g++){const d=JSON.stringify(c[g]);p.has(d)?(y.add(p.get(d)),y.add(g)):p.set(d,g)}return y});return b.ListControl({...V(e),controller:t,createItem:()=>k(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,g=u.map(h=>h.has(p)),d=S({ctx:e.with({definition:r,suppressLabel:!0}).append(p),controller:y});return l.Fragment(d,l.When(g,()=>O.Label(l.attr.class("bc-json-structure-set-error"),"Duplicate value - sets must contain unique items")))}})}function bt(e,t="key"){if(!e.has(t))return t;let n=1;for(;e.has(`${t}${n}`);)n++;return`${t}${n}`}function qe({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,o=l.MapSignal(t.signal,p=>{const y=Object.keys(p??{});if(y.length===0)return l.Empty;const g=y.length>s&&!e.readOnly;return l.Fragment(...y.map(d=>{const h=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}:`),B.Button({variant:"text",size:"xs",onClick:()=>{const m={...l.Value.get(t.signal)??{}};delete m[d],t.change(m)},disabled:!g},"Remove")),l.html.div(l.attr.class("bc-json-structure-map-entry-value"),S({ctx:e.with({definition:r,suppressLabel:!0}).append(d),controller:h})))}))}),i=e.readOnly?null:B.Button({variant:"outline",size:"sm",disabled:l.Value.map(t.signal,p=>Object.keys(p??{}).length>=a),onClick:()=>{const p=l.Value.get(t.signal)??{},y=new Set(Object.keys(p)),g=bt(y),d=k(r);t.change({...p,[g]:d})}},"Add Entry"),u=l.html.div(l.attr.class("bc-json-structure-map-entries"),o,i),c=l.html.div(l.attr.class("bc-json-structure-map"),u);return!e.suppressLabel&&e.name?f.InputWrapper({...V(e),content:c}):c}function Fe({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?k(c):void 0});t.change(i)}const o=V(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"),"*"):null):null,o.description?l.html.div(l.attr.class("bc-json-structure-tuple-description"),o.description):null,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"),S({ctx:e.with({definition:c,suppressLabel:!0}).append(u),controller:p})))})))}function vt({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 xt({ctx:e,selector:t,inner:n}){const r=O.Stack(l.attr.class("bc-stack--gap-2 bc-stack--align-start"),t,n);return e.isRoot?r:f.InputWrapper({label:e.suppressLabel?void 0:e.label,description:e.description,required:e.isRequired,content:r})}function Tt(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 $t(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 ue(e,t,n){return n?e&&typeof e=="object"?{[n]:t,...e}:{[n]:t}:{[t]:e}}function Pe({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(m=>{const v=r[m].name||m;return{value:m,label:v}}),i=l.computedOf(t.signal)(m=>Tt(m,r,s)),u=l.Value.get(i)||a[0],c=l.prop(u);t.onDispose(()=>c.dispose());let p=!1;const y=i.on(m=>{!p&&m!==null&&c.set(m)});t.onDispose(y);const d=vt({options:o,selected:c,onChange:m=>{p=!0,c.set(m);const x=r[m];if(x){const v=k(x),$=ue(v,m,s);t.change($)}},disabled:e.readOnly||e.isDeprecated}),h=l.MapSignal(c,m=>{const x=r[l.Value.get(m)];if(!x)return l.html.div(l.attr.class("bc-json-structure-error"),`Choice variant not found: ${l.Value.get(m)}`);const v=l.computedOf(t.signal)(C=>$t(C,l.Value.get(m),s)),$=C=>{const I=ue(C,l.Value.get(m),s);t.change(I)},T=new f.Controller([...t.path,l.Value.get(m)],$,v,t.status,{disabled:t.disabled},void 0);return t.onDispose(()=>T.dispose()),S({ctx:e.with({definition:x,suppressLabel:!0}).append(l.Value.get(m)),controller:T})});return xt({ctx:e,selector:d,inner:h})}function It(e){return{label:e.suppressLabel?void 0:w(e.label,e.isDeprecated),description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated}}function Ve({ctx:e,controller:t}){const n=It(e);return b.NativeSelectControl({...n,options:(e.enumValues??[]).map(r=>({type:"value",value:r,label:String(r)})),controller:t})}function Ee({ctx:e,controller:t}){return l.Fragment(l.WithElement(()=>{l.Value.get(t.signal)!==e.constValue&&t.change(e.constValue)}),b.Group(O.MutedLabel(e.label,": "),O.Label(String(e.constValue))))}function Ct(e){return{label:e.suppressLabel?void 0:e.label,description:e.description,required:e.isRequired,disabled:e.readOnly||e.isDeprecated}}function St(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 wt(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 Dt(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 Mt(e){return e.map(t=>({key:t,label:W._t(t),detect:n=>St(n,[t])===t,convert:n=>wt(n,t),defaultValue:()=>Dt(t)}))}function Ot({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 jt({ctx:e,showSelector:t,selector:n,inner:r}){return e.isRoot?t?O.Stack(l.attr.class("bc-stack--gap-2"),n,r):r:f.InputWrapper({...Ct(e),content:t?O.Stack(l.attr.class("bc-stack--gap-2 bc-stack--align-start"),n,r):r})}function Rt({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"),S({ctx:e,controller:t});const a=s.includes("null"),o=G(r),i=a&&o.length>0?o:s,u=Mt(i),c=new b.UnionController(t.path,t.change,t.signal,t.status,{disabled:t.disabled},u);t.onDispose(()=>c.dispose());const p=d=>Ot({options:i.map(h=>({value:h,label:W._t(h)})),selected:c.activeBranch,onChange:d}),y=d=>{c.switchToBranch(d,!1)},g=l.MapSignal(c.activeBranch,d=>{const h=l.Value.get(d),m=c.getBranchController(h),x=e.with({definition:{...n,type:h},suppressLabel:!e.isRoot});return S({ctx:x,controller:m})});return jt({ctx:e,showSelector:i.length>1,selector:p(y),inner:g})}function S({ctx:e,controller:t}){let n=e;const r=e.definition;if(r.type&&j(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}=ne(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(ge(n.definition))return Ve({ctx:n,controller:t});if(he(n.definition))return Ee({ctx:n,controller:t});const a=n.resolvedType;if(Array.isArray(a)&&G(a).length>1)return Rt({ctx:n,controller:t});const o=n.primaryType;if(!o)return H({ctx:n,controller:t});if(R(n.definition)){const i=t instanceof f.ObjectController?t:t.object();return Ae({ctx:n,controller:i})}if(X(n.definition)){const i=t instanceof f.ArrayController?t:t.array();return Ne({ctx:n,controller:i})}if(Y(n.definition)){const i=t instanceof f.ArrayController?t:t.array();return ke({ctx:n,controller:i})}if(Q(n.definition)){const i=t instanceof f.ObjectController?t:t.object();return qe({ctx:n,controller:i})}if(ee(n.definition)){const i=t instanceof f.ArrayController?t:t.array();return Fe({ctx:n,controller:i})}if(te(n.definition))return Pe({ctx:n,controller:t});switch(o){case"string":return $e({ctx:n,controller:t});case"boolean":return Ie({ctx:n,controller:t});case"uuid":return Me({ctx:n,controller:t});case"uri":return je({ctx:n,controller:t});case"binary":return Re({ctx:n,controller:t});case"null":return At(n);case"any":return H({ctx:n,controller:t});default:return N(o)?we({ctx:n,controller:t,intType:o}):_(o)?De({ctx:n,controller:t,floatType:o}):z(o)?Oe({ctx:n,controller:t,temporalType:o}):(console.warn(`Unknown type: ${o}`),Nt(n,o))}}function Le({schema:e,controller:t,widgetRegistry:n,readOnly:r,locale:s}){const a=Te(e,{widgetRegistry:n,readOnly:r,locale:s});return S({ctx:a,controller:t})}function At(e){return l.html.div(l.attr.class("bc-json-structure-placeholder"),l.html.span(`[Null: ${e.label}]`),l.html.em("null"))}function Nt(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 re(e,t){return new kt(e,t)}class kt{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 N(n)?this.validateInteger(t,n,r,s,a):_(n)?this.validateFloat(t,r,s,a):z(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(N(n)){const o=P[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(!X(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(!Y(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(!Q(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(!ee(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(!te(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 qt(e,t,n){return re(e,n).validate(t)}function Ue(e,t){const n=Ft(e,t);return{path:e.path,message:n,code:e.type}}function ie(e,t){return e.map(n=>{const r=t?.get(n.path);return Ue(n,r)})}function Ft(e,t){switch(e.type){case"type":return`Expected ${le(e.expected)}, got ${Pt(e.actual)}`;case"type_mismatch":return`Value must be of type ${le(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 Vt(e,t);case"format":return Et(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 Lt(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 Ut(e);case"enum":return Wt(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 le(e){return typeof e=="string"?ce(e):Array.isArray(e)?e.map(ce).join(" or "):String(e)}function Pt(e){return e===null?"null":e===void 0?"undefined":typeof e}function ce(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 Vt(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 Et(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 Lt(e){const t=e.context?.type;if(t&&N(t)){const n=P[t];return`Must be between ${n.min} and ${n.max}`}return"Value is out of range for this integer type"}function Ut(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 Wt(e){const t=e.expected;return t&&t.length<=5?`Must be one of: ${t.map(r=>JSON.stringify(r)).join(", ")}`:"Invalid value"}function Bt(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 _t(e,t){return e.filter(n=>n.path===t)}function zt(e,t){return e.some(n=>n.path===t)}function Gt(e,t){const n=t===""?"/":`${t}/`;return e.filter(r=>r.path.startsWith(n))}class E{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 E(this)}}let U=null;function q(){return U||(U=new E),U}function Jt(e){U=e}function Kt(e){return new E(e)}function Zt(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 Ht(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 Xt(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 Yt(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 We(e,t){if(t){const r=t.findBestWidget(e);if(r)return r}return q().findBestWidget(e)}function Qt(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 se(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 en(e){return se(e)!==void 0}function tn(e,t){const n=se(e);if(n){if(t){const a=t.get(n);if(a)return{name:n,registration:a}}const s=q().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 We(e,t)}function nn(e,t,n){return{...e,...t,...n}}function Be(e=q()){e.register("string",{factory:({controller:i,ctx:u})=>$e({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})=>Ie({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})=>Me({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})=>je({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})=>Re({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})=>H({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})=>we({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})=>De({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})=>Oe({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})=>Ae({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})=>Ne({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})=>ke({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})=>qe({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})=>Fe({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})=>Pe({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})=>Ve({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})=>Ee({ctx:u,controller:i}),displayName:"Const",description:"Display for constant values",priority:20,canFallback:!1,matcher:i=>i.hasConst})}function _e(e=q()){return e.has("string")&&e.has("object")&&e.has("array")}function rn(e=q()){_e(e)||Be(e)}function ze(e){let t=e;if(e.$root){const n=A(e.$root,e);n&&(t=n)}return M(t,e,new Set)}function M(e,t,n){if(e.type&&j(e.type)){const r=e.type.$ref;if(n.has(r))return;n.add(r);try{const s=A(r,t);if(s){const a={...s,...e,type:s.type};return M(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]:gn(e)?null:sn(e,t,n)}function sn(e,t,n){const r=Ge(e);if(R(e))return on(e,t,n);if(r==="choice"&&"choices"in e)return un(e,t,n);if(r==="tuple"&&"tuple"in e&&"properties"in e)return ln(e,t,n);if(r==="array")return cn(e,t,n);if(r==="set")return pn(e,t,n);if(r==="map")return{};if(r==="string")return dn(e);if(hn(r))return fn(e);if(bn(r))return mn(e);if(r==="boolean")return!1;if(r==="null")return null;if(vn(r))return yn(r);if(r==="uuid"||r==="uri"||r==="uri-reference"||r==="binary"||r==="bytes")return""}function an(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 on(e,t,n){if(!R(e))return{};const r=an(e.required),s={};for(const[a,o]of Object.entries(e.properties))if(r.has(a))if(o.type&&j(o.type)){const i=o.type.$ref;if(n.has(i))continue;n.add(i);try{const u=A(i,t);if(u){const c={...u,...o,type:u.type},p=M(c,t,n);p!==void 0&&(s[a]=p)}}finally{n.delete(i)}}else{const i=M(o,t,n);i!==void 0&&(s[a]=i)}return s}function un(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=M(o,t,n);return typeof c=="object"&&c!==null?{[u]:a,...c}:{[u]:a}}const i=M(o,t,n);return{[a]:i}}function ln(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=M(u,t,n);c!==void 0&&(o[i]=c)}}return o}function cn(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=M(s,t,n);return Array(r).fill(a??null)}function pn(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=M(s,t,n);return Array(r).fill(a??null)}function dn(e){switch("format"in e?e.format:void 0){case"date":return Je();case"date-time":return Ke();case"time":return"00:00:00";default:return""}}function fn(e){const t=Ge(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 mn(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 yn(e){switch(e){case"date":return Je();case"time":return"00:00:00";case"datetime":return Ke();case"duration":return"PT0S";default:return""}}function gn(e){return Array.isArray(e.type)?e.type.some(t=>typeof t=="string"?t==="null":!1):!1}function Ge(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 hn(e){return e?["int8","int16","int32","int64","int128","uint8","uint16","uint32","uint64","uint128"].includes(e):!1}function bn(e){return e?["float","double","decimal"].includes(e):!1}function vn(e){return e?["date","time","datetime","duration"].includes(e):!1}function Je(){return new Date().toISOString().split("T")[0]}function Ke(){return new Date().toISOString()}function xn(e){if(e.isValid)return O.i.valid;const t=ie(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),O.i.invalid(s)}function Tn({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,g=ze(e);let d;t===void 0?d=g??{}:c?d=b.deepMergeDefaults(g,y):d=y;const h=re(e),m=n??"onTouched",x=I=>{const F=h.validate(I);if(u&&!F.isValid){const L=ie(F.errors);u(L)}return xn(F)},{controller:v,setStatus:$}=f.useController({initialValue:d,validationMode:m,validateDebounceMs:r,validate:m==="onSubmit"?void 0:x,onChange:i}),T=()=>{v.dispose()},C=l.Fragment(l.OnDispose(T),Le({schema:e,controller:v,widgetRegistry:s,readOnly:a,locale:o}));return p({Form:C,controller:v,setStatus:$})}exports.DefaultWidgetRegistry=E;exports.INTEGER_BOUNDS=P;exports.JSONStructureForm=Tn;exports.RefResolver=xe;exports.StructureContext=K;exports.StructureControl=Le;exports.StructureGenericControl=S;exports.createExtendsResolver=rt;exports.createRefResolver=J;exports.createStructureContext=Te;exports.createValidator=re;exports.createWidgetRegistry=Kt;exports.ensureDefaultWidgets=rn;exports.extractStructureDefaults=ze;exports.forFormat=Ht;exports.forMatcher=Yt;exports.forType=Zt;exports.forTypeAndFormat=Xt;exports.formatValidationError=Ue;exports.formatValidationErrors=ie;exports.getChildErrors=Gt;exports.getErrorsForPath=_t;exports.getExplicitWidgetName=se;exports.getGlobalWidgetRegistry=q;exports.getNonNullTypes=G;exports.getResolvedType=Z;exports.getWidgetOptions=Qt;exports.groupErrorsByPath=Bt;exports.hasConstValue=he;exports.hasCustomWidget=en;exports.hasDefaultWidgets=_e;exports.hasEnumValue=ge;exports.hasErrorsAtPath=zt;exports.isArrayTypeDefinition=X;exports.isBigIntType=pe;exports.isChoiceTypeDefinition=te;exports.isCompoundType=Xe;exports.isFloatType=_;exports.isIntegerType=N;exports.isMapTypeDefinition=Q;exports.isNamespace=me;exports.isNullableType=be;exports.isNumericType=de;exports.isObjectTypeDefinition=R;exports.isPrimitiveType=fe;exports.isSetTypeDefinition=Y;exports.isTemporalType=z;exports.isTupleTypeDefinition=ee;exports.isTypeDefinition=ye;exports.isTypeReference=j;exports.mergeWidgetOptions=nn;exports.parseRefPath=ve;exports.registerDefaultWidgets=Be;exports.resolveExtends=ne;exports.resolveRef=A;exports.resolveTypeReference=Qe;exports.resolveWidget=We;exports.resolveWidgetWithOverride=tn;exports.setGlobalWidgetRegistry=Jt;exports.validate=qt;
@@ -1,12 +1,12 @@
1
1
  import { html as p, attr as f, Empty as Z, MapSignal as B, Fragment as q, Value as x, computedOf as M, When as Ke, prop as Je, WithElement as Ze, OnDispose as He } from "@tempots/dom";
2
2
  import { L as de, S as K, M as Xe, i as re } from "../stack-Bm-UZosx.js";
3
3
  import { _ as H, g as Ye } from "../string-DYyMxBl-.js";
4
- import { b, a as ie, I as W, d as Qe, f as se, A as G, g as et } from "../use-form-lg6-7Brc.js";
5
- import { e as X, N as tt, f as fe, g as me, U as nt, c as rt, a as it, T as st, L as ye, b as ge, h as at, G as ut, i as ot, S as ct, j as lt } from "../deep-merge-OvVqSLSN.js";
6
- import { T as pt } from "../text-input-6FD7p7hN.js";
7
- import { N as dt, B as ft, D as mt, a as yt, P as gt, b as ht, c as bt, d as vt, e as xt, F as $t } from "../duration-input-BCXujp0V.js";
4
+ import { b, a as ie, I as W, d as Qe, f as se, A as G, g as et } from "../use-form-Cd8YFWaN.js";
5
+ import { e as X, N as tt, f as fe, g as me, U as nt, c as rt, a as it, T as st, L as ye, b as ge, h as at, G as ut, i as ot, S as ct, j as lt } from "../deep-merge-DxUvbsBl.js";
6
+ import { T as pt } from "../text-input-BgPx8BbG.js";
7
+ import { N as dt, B as ft, D as mt, a as yt, P as gt, b as ht, c as bt, d as vt, e as xt, F as $t } from "../duration-input-DQTX3S_A.js";
8
8
  import { l as It } from "../colors-BY0Ja_bf.js";
9
- import { B as U } from "../input-container-BBWCDGTv.js";
9
+ import { B as U } from "../input-container-9r1F3KuX.js";
10
10
  function Tt(e) {
11
11
  return e === "int64" || e === "int128" || e === "uint64" || e === "uint128";
12
12
  }
@@ -1232,7 +1232,7 @@ function Le({
1232
1232
  const v = r[m].name || m;
1233
1233
  return { value: m, label: v };
1234
1234
  }), i = M(t.signal)((m) => tn(m, r, s)), o = x.get(i) || a[0], c = Je(o);
1235
- t.onDispose(c.dispose);
1235
+ t.onDispose(() => c.dispose());
1236
1236
  let l = !1;
1237
1237
  const y = i.on((m) => {
1238
1238
  !l && m !== null && c.set(m);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./translations-gVgMyNno.cjs"),r={loadingExtended:"로딩 중입니다. 잠시만 기다려 주세요",loadingShort:"로딩 중...",locale:"지역",iconDescription:"아이콘",loadingIcon:"로딩 아이콘",failedToLoadIcon:"아이콘 로드 실패",editLabel:"편집",selectOne:"하나 선택",selectNone:"없음",selectMany:"여러 개 선택",noResults:"결과 없음",passwordPlaceholderText:"비밀번호",togglePasswordVisibility:"비밀번호 표시 전환",toggleMenu:"메뉴 전환",toggleAside:"사이드 패널 전환",mainNavigation:"메인 네비게이션",sidebar:"사이드바",closeDrawer:"드로어 닫기",closeModal:"모달 닫기",confirm:"확인",cancel:"취소",addLabel:"추가",removeItem:"항목 제거",currentLocale:"한국어",ar:"아랍어",de:"독일어",en:"영어",es:"스페인어",fr:"프랑스어",hi:"힌디어",it:"이탈리아어",ja:"일본어",ko:"한국어",nl:"네덜란드어",pl:"폴란드어",pt:"포르투갈어",ru:"러시아어",tr:"터키어",vi:"베트남어",zh:"중국어",he:"히브리어",fa:"페르시아어",ur:"우르두어",emailPlaceholderText:"이메일을 입력하세요",incrementValue:"값 증가",decrementValue:"값 감소",dropZoneInstructions:e=>e?"클릭하여 선택하거나 파일을 여기로 드래그하세요, 또는 Enter 또는 Space 키를 눌러 파일 선택기를 여세요":"파일을 여기로 드래그하세요",fileSizeUnits:["바이트","KB","MB","GB","TB"],removeFile:"파일 제거",clearAllFiles:"모든 파일 지우기",clearValue:"값 지우기",unknownType:"알 수 없는 형식",filesInputInstructions:(e,o,n)=>{let l=(e==null||e>1,"클릭하여 선택하거나 파일을 여기로 드래그하세요");if(e||o){const t=[];if(e!=null&&e>1&&t.push(`최대 ${e}개 파일`),o&&n){const a=i.formatFileSize(o,{units:n});t.push(`각각 최대 ${a}`)}t.length>0&&(l+=` (${t.join(", ")})`)}return l},paginationLabel:"페이지네이션",firstPage:"첫 페이지",previousPage:"이전 페이지",nextPage:"다음 페이지",lastPage:"마지막 페이지",breadcrumbs:"탐색 경로",commandPalette:"명령 팔레트",typeACommand:"명령어를 입력하세요...",noResultsFound:"결과를 찾을 수 없음",noMatchingCommands:"일치하는 명령어 없음",appearanceSystem:"시스템",appearanceLight:"라이트",appearanceDark:"다크",ok:"OK",changeTypeConfirmation:"유형을 변경하면 현재 값이 지워집니다. 계속하시겠습니까?",notifications:"알림",markAllAsRead:"모두 읽음으로 표시",noNotifications:"알림 없음",schemaConflictsDetected:"스키마 충돌 감지됨",schemaViolationsDetected:"스키마 위반 감지됨",properties:"속성",uploading:"업로드 중...",dropFilesOrBrowse:"파일을 여기에 놓거나 클릭하여 찾아보기",acceptedTypes:e=>`허용 형식: ${e}`,enterUrlPrompt:"URL 입력:",exceeded:"(초과)",pdfPreview:"PDF 미리보기",lexical:{fontFamily:"글꼴",fontSize:"글꼴 크기",fontColor:"글꼴 색상",highlightColor:"강조 색상",backgroundColor:"배경 색상",bold:"굵게",italic:"기울임꼴",underline:"밑줄",strikethrough:"취소선",code:"코드",clearFormatting:"서식 지우기",normal:"본문",heading:e=>`제목 ${e}`,bulletList:"글머리 기호 목록",orderedList:"번호 매기기 목록",checkList:"체크리스트",indent:"들여쓰기",outdent:"내어쓰기",blockquote:"인용문",codeBlock:"코드 블록",horizontalRule:"가로줄",insertTable:"표 삽입",link:"링크",undo:"실행 취소",redo:"다시 실행",cut:"잘라내기",copy:"복사",paste:"붙여넣기",defaultOption:"기본값",slashCommands:"슬래시 명령어",noCommandsFound:"명령어를 찾을 수 없음",changeBlockType:"블록 유형 변경",blockTypes:"블록 유형",enterUrl:"URL 입력:"},prosemirror:{bold:"Bold",italic:"Italic",code:"Code",link:"Link",removeLink:"Remove Link",heading:e=>`Heading ${e}`,bulletList:"Bullet List",orderedList:"Ordered List",blockquote:"Blockquote",codeBlock:"Code Block",horizontalRule:"Horizontal Rule",linkUrlPlaceholder:"https://example.com"},pdfPageViewer:{loading:"PDF 로딩 중...",loadFailed:"PDF 로드 실패",invalidPdf:"유효하지 않은 PDF 파일",pageOutOfRange:(e,o)=>`페이지 ${e}이(가) 범위를 벗어났습니다 (1-${o})`,renderFailed:"PDF 페이지 렌더링 실패"}};exports.default=r;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./translations-Cy9hoMGV.cjs"),r={loadingExtended:"로딩 중입니다. 잠시만 기다려 주세요",loadingShort:"로딩 중...",locale:"지역",iconDescription:"아이콘",loadingIcon:"로딩 아이콘",failedToLoadIcon:"아이콘 로드 실패",editLabel:"편집",selectOne:"하나 선택",selectNone:"없음",selectMany:"여러 개 선택",noResults:"결과 없음",passwordPlaceholderText:"비밀번호",togglePasswordVisibility:"비밀번호 표시 전환",toggleMenu:"메뉴 전환",toggleAside:"사이드 패널 전환",mainNavigation:"메인 네비게이션",sidebar:"사이드바",closeDrawer:"드로어 닫기",closeModal:"모달 닫기",confirm:"확인",cancel:"취소",addLabel:"추가",removeItem:"항목 제거",currentLocale:"한국어",ar:"아랍어",de:"독일어",en:"영어",es:"스페인어",fr:"프랑스어",hi:"힌디어",it:"이탈리아어",ja:"일본어",ko:"한국어",nl:"네덜란드어",pl:"폴란드어",pt:"포르투갈어",ru:"러시아어",tr:"터키어",vi:"베트남어",zh:"중국어",he:"히브리어",fa:"페르시아어",ur:"우르두어",emailPlaceholderText:"이메일을 입력하세요",incrementValue:"값 증가",decrementValue:"값 감소",dropZoneInstructions:e=>e?"클릭하여 선택하거나 파일을 여기로 드래그하세요, 또는 Enter 또는 Space 키를 눌러 파일 선택기를 여세요":"파일을 여기로 드래그하세요",fileSizeUnits:["바이트","KB","MB","GB","TB"],removeFile:"파일 제거",clearAllFiles:"모든 파일 지우기",clearValue:"값 지우기",unknownType:"알 수 없는 형식",filesInputInstructions:(e,o,n)=>{let l=(e==null||e>1,"클릭하여 선택하거나 파일을 여기로 드래그하세요");if(e||o){const t=[];if(e!=null&&e>1&&t.push(`최대 ${e}개 파일`),o&&n){const i=a.formatFileSize(o,{units:n});t.push(`각각 최대 ${i}`)}t.length>0&&(l+=` (${t.join(", ")})`)}return l},paginationLabel:"페이지네이션",firstPage:"첫 페이지",previousPage:"이전 페이지",nextPage:"다음 페이지",lastPage:"마지막 페이지",breadcrumbs:"탐색 경로",commandPalette:"명령 팔레트",typeACommand:"명령어를 입력하세요...",noResultsFound:"결과를 찾을 수 없음",noMatchingCommands:"일치하는 명령어 없음",appearanceSystem:"시스템",appearanceLight:"라이트",appearanceDark:"다크",ok:"OK",changeTypeConfirmation:"유형을 변경하면 현재 값이 지워집니다. 계속하시겠습니까?",notifications:"알림",markAllAsRead:"모두 읽음으로 표시",noNotifications:"알림 없음",schemaConflictsDetected:"스키마 충돌 감지됨",schemaViolationsDetected:"스키마 위반 감지됨",properties:"속성",uploading:"업로드 중...",dropFilesOrBrowse:"파일을 여기에 놓거나 클릭하여 찾아보기",acceptedTypes:e=>`허용 형식: ${e}`,enterUrlPrompt:"URL 입력:",exceeded:"(초과)",pdfPreview:"PDF 미리보기",lexical:{fontFamily:"글꼴",fontSize:"글꼴 크기",fontColor:"글꼴 색상",highlightColor:"강조 색상",backgroundColor:"배경 색상",bold:"굵게",italic:"기울임꼴",underline:"밑줄",strikethrough:"취소선",code:"코드",clearFormatting:"서식 지우기",normal:"본문",heading:e=>`제목 ${e}`,bulletList:"글머리 기호 목록",orderedList:"번호 매기기 목록",checkList:"체크리스트",indent:"들여쓰기",outdent:"내어쓰기",blockquote:"인용문",codeBlock:"코드 블록",horizontalRule:"가로줄",insertTable:"표 삽입",link:"링크",undo:"실행 취소",redo:"다시 실행",cut:"잘라내기",copy:"복사",paste:"붙여넣기",defaultOption:"기본값",slashCommands:"슬래시 명령어",noCommandsFound:"명령어를 찾을 수 없음",changeBlockType:"블록 유형 변경",blockTypes:"블록 유형",enterUrl:"URL 입력:",tableActions:"Table actions",insertRowAbove:"Insert row above",insertRowBelow:"Insert row below",insertColumnLeft:"Insert column left",insertColumnRight:"Insert column right",deleteRow:"Delete row",deleteColumn:"Delete column",deleteTable:"Delete table"},prosemirror:{bold:"Bold",italic:"Italic",code:"Code",link:"Link",removeLink:"Remove Link",heading:e=>`Heading ${e}`,bulletList:"Bullet List",orderedList:"Ordered List",blockquote:"Blockquote",codeBlock:"Code Block",horizontalRule:"Horizontal Rule",linkUrlPlaceholder:"https://example.com"},pdfPageViewer:{loading:"PDF 로딩 중...",loadFailed:"PDF 로드 실패",invalidPdf:"유효하지 않은 PDF 파일",pageOutOfRange:(e,o)=>`페이지 ${e}이(가) 범위를 벗어났습니다 (1-${o})`,renderFailed:"PDF 페이지 렌더링 실패"}};exports.default=r;
@@ -1,5 +1,5 @@
1
- import { f as i } from "./translations-uEUkO6gJ.js";
2
- const d = {
1
+ import { f as i } from "./translations-CiBhB2FV.js";
2
+ const c = {
3
3
  loadingExtended: "로딩 중입니다. 잠시만 기다려 주세요",
4
4
  loadingShort: "로딩 중...",
5
5
  locale: "지역",
@@ -144,7 +144,15 @@ const d = {
144
144
  noCommandsFound: "명령어를 찾을 수 없음",
145
145
  changeBlockType: "블록 유형 변경",
146
146
  blockTypes: "블록 유형",
147
- enterUrl: "URL 입력:"
147
+ enterUrl: "URL 입력:",
148
+ tableActions: "Table actions",
149
+ insertRowAbove: "Insert row above",
150
+ insertRowBelow: "Insert row below",
151
+ insertColumnLeft: "Insert column left",
152
+ insertColumnRight: "Insert column right",
153
+ deleteRow: "Delete row",
154
+ deleteColumn: "Delete column",
155
+ deleteTable: "Delete table"
148
156
  },
149
157
  // prosemirror
150
158
  prosemirror: {
@@ -171,5 +179,5 @@ const d = {
171
179
  }
172
180
  };
173
181
  export {
174
- d as default
182
+ c as default
175
183
  };