@uportal/form-builder 1.3.2 → 2.0.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-builder.js","sources":["../node_modules/@lit/reactive-element/css-tag.js","../node_modules/@lit/reactive-element/reactive-element.js","../node_modules/lit-html/lit-html.js","../node_modules/lit-element/lit-element.js","../node_modules/jwt-decode/build/jwt-decode.esm.js","../src/form-builder.js"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){const e=this.constructor,h=this[t];if(i??=e.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(e._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.1\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=y(3),T=Symbol.for(\"lit-noChange\"),E=Symbol.for(\"lit-nothing\"),A=new WeakMap,C=r.createTreeWalker(r,129);function P(t,i){if(!a(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[P(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?H:\"?\"===e[1]?I:\"@\"===e[1]?L:k}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=C.nextNode(),o++)}return C.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),c(t)?t===E||null==t||\"\"===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new N(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l()),this.O(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===E?void 0:t}}class I extends k{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E)}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){S(this,t)}}const Z={M:e,P:h,A:o,C:1,L:V,R:M,D:u,V:S,I:R,H:k,N:I,U:L,B:H,F:z},j=t.litHtmlPolyfillSupport;j?.(N,R),(t.litHtmlVersions??=[]).push(\"3.3.1\");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{Z as _$LH,x as html,w as mathml,T as noChange,E as nothing,B as render,b as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.1\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","function e(e){this.message=e}e.prototype=new Error,e.prototype.name=\"InvalidCharacterError\";var r=\"undefined\"!=typeof window&&window.atob&&window.atob.bind(window)||function(r){var t=String(r).replace(/=+$/,\"\");if(t.length%4==1)throw new e(\"'atob' failed: The string to be decoded is not correctly encoded.\");for(var n,o,a=0,i=0,c=\"\";o=t.charAt(i++);~o&&(n=a%4?64*n+o:o,a++%4)?c+=String.fromCharCode(255&n>>(-2*a&6)):0)o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(o);return c};function t(e){var t=e.replace(/-/g,\"+\").replace(/_/g,\"/\");switch(t.length%4){case 0:break;case 2:t+=\"==\";break;case 3:t+=\"=\";break;default:throw\"Illegal base64url string!\"}try{return function(e){return decodeURIComponent(r(e).replace(/(.)/g,(function(e,r){var t=r.charCodeAt(0).toString(16).toUpperCase();return t.length<2&&(t=\"0\"+t),\"%\"+t})))}(t)}catch(e){return r(t)}}function n(e){this.message=e}function o(e,r){if(\"string\"!=typeof e)throw new n(\"Invalid token specified\");var o=!0===(r=r||{}).header?0:1;try{return JSON.parse(t(e.split(\".\")[o]))}catch(e){throw new n(\"Invalid token specified: \"+e.message)}}n.prototype=new Error,n.prototype.name=\"InvalidTokenError\";export default o;export{n as InvalidTokenError};\n//# sourceMappingURL=jwt-decode.esm.js.map\n","import { LitElement, html, css } from 'lit';\nimport decode from 'jwt-decode';\n\nfunction delay(ms) {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n\n/**\n * Dynamic Form Builder Web Component\n * Fetches JSON schema and form data, then renders a dynamic form\n * \n * @element form-builder\n * \n * @attr {string} fbms-base-url - Base URL of the form builder microservice\n * @attr {string} fbms-form-fname - Form name to fetch\n * @attr {string} oidc-url - OpenID Connect URL for authentication\n * @attr {string} styles - Optional custom CSS styles\n */\nclass FormBuilder extends LitElement {\n static properties = {\n fbmsBaseUrl: { type: String, attribute: 'fbms-base-url' },\n fbmsFormFname: { type: String, attribute: 'fbms-form-fname' },\n oidcUrl: { type: String, attribute: 'oidc-url' },\n customStyles: { type: String, attribute: 'styles' },\n\n // Internal state\n schema: { type: Object, state: true },\n formData: { type: Object, state: true },\n uiSchema: { type: Object, state: true },\n fbmsFormVersion: { type: String, state: true },\n loading: { type: Boolean, state: true },\n submitting: { type: Boolean, state: true },\n error: { type: String, state: true },\n token: { type: String, state: true },\n decoded: { type: Object, state: true },\n };\n\n static styles = css`\n :host {\n display: block;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n }\n\n .container {\n max-width: 800px;\n margin: 0 auto;\n padding: 20px;\n }\n\n .loading {\n text-align: center;\n padding: 40px;\n color: #666;\n }\n\n .error {\n background-color: #fee;\n border: 1px solid #fcc;\n border-radius: 4px;\n padding: 15px;\n margin: 20px 0;\n color: #c00;\n }\n\n form {\n display: flex;\n flex-direction: column;\n gap: 20px;\n }\n\n .form-group {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n label {\n font-weight: 500;\n color: #333;\n }\n\n .required::after {\n content: ' *';\n color: #c00;\n }\n\n .description {\n font-size: 0.875rem;\n color: #666;\n margin-top: 4px;\n }\n\n input[type=\"text\"],\n input[type=\"email\"],\n input[type=\"number\"],\n input[type=\"date\"],\n input[type=\"tel\"],\n textarea,\n select {\n padding: 8px 12px;\n border: 1px solid #ccc;\n border-radius: 4px;\n font-size: 1rem;\n font-family: inherit;\n width: 100%;\n box-sizing: border-box;\n }\n\n input:focus,\n textarea:focus,\n select:focus {\n outline: none;\n border-color: #0066cc;\n box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1);\n }\n\n textarea {\n min-height: 100px;\n resize: vertical;\n }\n\n input[type=\"checkbox\"],\n input[type=\"radio\"] {\n margin-right: 8px;\n }\n\n .checkbox-group,\n .radio-group {\n display: flex;\n flex-direction: column;\n gap: 8px;\n }\n\n .checkbox-item,\n .radio-item {\n display: flex;\n align-items: center;\n }\n\n .error-message {\n color: #c00;\n font-size: 0.875rem;\n margin-top: 4px;\n }\n\n .buttons {\n display: flex;\n gap: 12px;\n margin-top: 20px;\n }\n\n button {\n padding: 10px 20px;\n border: none;\n border-radius: 4px;\n font-size: 1rem;\n cursor: pointer;\n font-family: inherit;\n transition: background-color 0.2s;\n }\n\n button[type=\"submit\"] {\n background-color: #0066cc;\n color: white;\n }\n\n button[type=\"submit\"]:hover {\n background-color: #0052a3;\n }\n\n button[type=\"button\"] {\n background-color: #c0c0c0;\n color: #333;\n }\n\n button[type=\"button\"]:hover {\n background-color: #e0e0e0;\n }\n\n button:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .spinner {\n display: inline-block;\n width: 1em;\n height: 1em;\n border: 2px solid rgba(255, 255, 255, 0.3);\n border-radius: 50%;\n border-top-color: white;\n animation: spin 0.8s linear infinite;\n margin-right: 8px;\n vertical-align: middle;\n }\n\n @keyframes spin {\n to { transform: rotate(360deg); }\n }\n\n .button-content {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n `;\n\n constructor() {\n super();\n this.loading = true;\n this.submitting = false;\n this.error = null;\n this.schema = null;\n this.formData = {};\n this.uiSchema = null;\n this.fbmsFormVersion = null;\n this.token = null;\n this.decoded = {sub: 'unknown'};\n this.fieldErrors = {};\n }\n\n async connectedCallback() {\n super.connectedCallback();\n await this.initialize();\n }\n\n async initialize() {\n try {\n this.loading = true;\n this.error = null;\n\n // Fetch OIDC token if URL provided\n if (this.oidcUrl) {\n await this.fetchToken();\n }\n\n // Fetch form schema and data\n await Promise.all([\n this.fetchSchema(),\n this.fetchFormData(),\n ]);\n\n this.loading = false;\n } catch (err) {\n this.error = err.message || 'Failed to initialize form';\n this.loading = false;\n }\n }\n\n async fetchToken() {\n try {\n const response = await fetch(this.oidcUrl, {\n credentials: 'include',\n });\n\n if (!response.ok) {\n throw new Error('Failed to authenticate');\n }\n\n const data = await response.text();\n this.token = data\n this.decoded = decode(this.token);\n } catch (err) {\n console.error('Token fetch error:', err);\n throw new Error('Authentication failed');\n }\n }\n\n async fetchSchema() {\n const url = `${this.fbmsBaseUrl}/api/v1/forms/${this.fbmsFormFname}`;\n const headers = {\n 'content-type': 'application/jwt',\n };\n\n if (this.token) {\n headers['Authorization'] = `Bearer ${this.token}`;\n }\n\n const response = await fetch(url, {\n credentials: 'same-origin',\n headers,\n });\n\n if (!response.ok) {\n throw new Error(`Failed to fetch schema: ${response.statusText}`);\n }\n\n const data = await response.json();\n this.fbmsFormVersion = data.version;\n this.schema = data.schema || data;\n this.uiSchema = data.metadata;\n }\n\n async fetchFormData() {\n const url = `${this.fbmsBaseUrl}/api/v1/submissions/${this.fbmsFormFname}?safarifix=${Math.random()}`;\n const headers = {\n 'content-type': 'application/jwt',\n };\n\n if (this.token) {\n headers['Authorization'] = `Bearer ${this.token}`;\n }\n\n try {\n const response = await fetch(url, {\n credentials: 'same-origin',\n headers,\n });\n\n if (response.ok) {\n const payload = await response.json();\n this.formData = payload.answers;\n } else {\n // It's OK if there's no existing data\n this.formData = {};\n }\n } catch (err) {\n // Non-critical error\n console.warn('Could not fetch form data:', err);\n this.formData = {};\n }\n }\n\n handleInputChange(fieldName, event) {\n const { type, value, checked } = event.target;\n\n this.formData = {\n ...this.formData,\n [fieldName]: type === 'checkbox' ? checked : value,\n };\n\n // Clear field error on change\n if (this.fieldErrors[fieldName]) {\n this.fieldErrors = { ...this.fieldErrors };\n delete this.fieldErrors[fieldName];\n }\n }\n\n handleArrayChange(fieldName, index, event) {\n const currentArray = this.formData[fieldName] || [];\n const newArray = [...currentArray];\n newArray[index] = event.target.value;\n\n this.formData = {\n ...this.formData,\n [fieldName]: newArray,\n };\n }\n\n validateForm() {\n const errors = {};\n const { properties = {}, required = [] } = this.schema;\n\n // Check required fields\n required.forEach(fieldName => {\n const value = this.formData[fieldName];\n if (value === undefined || value === null || value === '') {\n errors[fieldName] = 'This field is required';\n }\n });\n\n // Type validation\n Object.entries(properties).forEach(([fieldName, fieldSchema]) => {\n const value = this.formData[fieldName];\n\n if (value !== undefined && value !== null && value !== '') {\n // Email validation\n if (fieldSchema.format === 'email') {\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\n if (!emailRegex.test(value)) {\n errors[fieldName] = 'Invalid email address';\n }\n }\n\n // Number validation\n if (fieldSchema.type === 'number' || fieldSchema.type === 'integer') {\n const num = Number(value);\n if (isNaN(num)) {\n errors[fieldName] = 'Must be a number';\n } else {\n if (fieldSchema.minimum !== undefined && num < fieldSchema.minimum) {\n errors[fieldName] = `Must be at least ${fieldSchema.minimum}`;\n }\n if (fieldSchema.maximum !== undefined && num > fieldSchema.maximum) {\n errors[fieldName] = `Must be at most ${fieldSchema.maximum}`;\n }\n }\n }\n\n // String length validation\n if (fieldSchema.type === 'string') {\n if (fieldSchema.minLength && value.length < fieldSchema.minLength) {\n errors[fieldName] = `Must be at least ${fieldSchema.minLength} characters`;\n }\n if (fieldSchema.maxLength && value.length > fieldSchema.maxLength) {\n errors[fieldName] = `Must be at most ${fieldSchema.maxLength} characters`;\n }\n }\n }\n });\n\n this.fieldErrors = errors;\n return Object.keys(errors).length === 0;\n }\n\n async handleSubmit(event) {\n event.preventDefault();\n\n if (!this.validateForm()) {\n this.requestUpdate();\n return;\n }\n\n // Prevent double-submission\n if (this.submitting) {\n return;\n }\n\n try {\n this.submitting = true;\n this.error = null;\n const body = {\n username: this.decoded.sub,\n formFname: this.fbmsFormFname,\n formVersion: this.fbmsFormVersion,\n timestamp: Date.now(),\n answers: this.formData\n };\n await delay(300);\n\n const url = `${this.fbmsBaseUrl}/api/v1/submissions/${this.fbmsFormFname}`;\n const headers = {\n 'content-type': 'application/json',\n };\n\n if (this.token) {\n headers['Authorization'] = `Bearer ${this.token}`;\n }\n\n const response = await fetch(url, {\n method: 'POST',\n credentials: 'same-origin',\n headers,\n body: JSON.stringify(body),\n });\n\n if (!response.ok) {\n throw new Error(`Failed to submit form: ${response.statusText}`);\n }\n\n // Dispatch success event\n this.dispatchEvent(new CustomEvent('form-submit-success', {\n detail: { data: body },\n bubbles: true,\n composed: true,\n }));\n\n // Optional: Reset or show success message\n this.error = null;\n } catch (err) {\n this.error = err.message || 'Failed to submit form';\n\n this.dispatchEvent(new CustomEvent('form-submit-error', {\n detail: { error: err.message },\n bubbles: true,\n composed: true,\n }));\n } finally {\n this.submitting = false;\n }\n }\n\n handleReset() {\n this.formData = {};\n this.fieldErrors = {};\n this.requestUpdate();\n }\n\n renderField(fieldName, fieldSchema) {\n const value = this.formData[fieldName];\n const error = this.fieldErrors[fieldName];\n const required = this.schema.required?.includes(fieldName);\n const uiOptions = this.uiSchema?.[fieldName] || {};\n\n return html`\n <div class=\"form-group\">\n <label class=\"${required ? 'required' : ''}\" for=\"${fieldName}\">\n ${fieldSchema.title || fieldName}\n </label>\n\n ${fieldSchema.description ? html`\n <span class=\"description\">${fieldSchema.description}</span>\n ` : ''}\n\n ${this.renderInput(fieldName, fieldSchema, value, uiOptions)}\n\n ${error ? html`\n <span class=\"error-message\">${error}</span>\n ` : ''}\n </div>\n `;\n }\n\n renderInput(fieldName, fieldSchema, value, uiOptions) {\n const { type, enum: enumValues, format } = fieldSchema;\n\n // Enum - render as select\n if (enumValues) {\n return html`\n <select\n id=\"${fieldName}\"\n name=\"${fieldName}\"\n .value=\"${value || ''}\"\n @change=\"${(e) => this.handleInputChange(fieldName, e)}\"\n >\n <option value=\"\">-- Select --</option>\n ${enumValues.map(opt => html`\n <option value=\"${opt}\" ?selected=\"${value === opt}\">\n ${opt}\n </option>\n `)}\n </select>\n `;\n }\n\n // Boolean - render as checkbox\n if (type === 'boolean') {\n return html`\n <div class=\"checkbox-item\">\n <input\n type=\"checkbox\"\n id=\"${fieldName}\"\n name=\"${fieldName}\"\n .checked=\"${!!value}\"\n @change=\"${(e) => this.handleInputChange(fieldName, e)}\"\n />\n <label for=\"${fieldName}\">${fieldSchema.title || fieldName}</label>\n </div>\n `;\n }\n\n // String with format\n if (type === 'string') {\n if (format === 'email') {\n return html`\n <input\n type=\"email\"\n id=\"${fieldName}\"\n name=\"${fieldName}\"\n .value=\"${value || ''}\"\n @input=\"${(e) => this.handleInputChange(fieldName, e)}\"\n />\n `;\n }\n\n if (format === 'date') {\n return html`\n <input\n type=\"date\"\n id=\"${fieldName}\"\n name=\"${fieldName}\"\n .value=\"${value || ''}\"\n @input=\"${(e) => this.handleInputChange(fieldName, e)}\"\n />\n `;\n }\n\n if (uiOptions['ui:widget'] === 'textarea') {\n return html`\n <textarea\n id=\"${fieldName}\"\n name=\"${fieldName}\"\n .value=\"${value || ''}\"\n @input=\"${(e) => this.handleInputChange(fieldName, e)}\"\n ></textarea>\n `;\n }\n\n // Default text input\n return html`\n <input\n type=\"text\"\n id=\"${fieldName}\"\n name=\"${fieldName}\"\n .value=\"${value || ''}\"\n @input=\"${(e) => this.handleInputChange(fieldName, e)}\"\n />\n `;\n }\n\n // Number\n if (type === 'number' || type === 'integer') {\n return html`\n <input\n type=\"number\"\n id=\"${fieldName}\"\n name=\"${fieldName}\"\n .value=\"${value || ''}\"\n step=\"${type === 'integer' ? '1' : 'any'}\"\n @input=\"${(e) => this.handleInputChange(fieldName, e)}\"\n />\n `;\n }\n\n // Fallback\n return html`\n <input\n type=\"text\"\n id=\"${fieldName}\"\n name=\"${fieldName}\"\n .value=\"${value || ''}\"\n @input=\"${(e) => this.handleInputChange(fieldName, e)}\"\n />\n `;\n }\n\n render() {\n if (this.loading) {\n return html`\n <div class=\"container\">\n <div class=\"loading\">Loading form...</div>\n </div>\n `;\n }\n\n if (this.error) {\n return html`\n <div class=\"container\">\n <div class=\"error\">\n <strong>Error:</strong> ${this.error}\n </div>\n </div>\n `;\n }\n\n if (!this.schema || !this.schema.properties) {\n return html`\n <div class=\"container\">\n <div class=\"error\">Invalid form schema</div>\n </div>\n `;\n }\n\n return html`\n ${this.customStyles ? html`<style>${this.customStyles}</style>` : ''}\n\n <div class=\"container\">\n <form @submit=\"${this.handleSubmit}\">\n ${this.schema.title ? html`<h2>${this.schema.title}</h2>` : ''}\n ${this.schema.description ? html`<p>${this.schema.description}</p>` : ''}\n\n ${Object.entries(this.schema.properties).map(([fieldName, fieldSchema]) =>\n this.renderField(fieldName, fieldSchema)\n )}\n\n <div class=\"buttons\">\n <button type=\"submit\" ?disabled=\"${this.submitting}\">\n <span class=\"button-content\">\n ${this.submitting ? html`<span class=\"spinner\"></span>` : ''}\n ${this.submitting ? 'Submitting...' : 'Submit'}\n </span>\n </button>\n <button type=\"button\" @click=\"${this.handleReset}\" ?disabled=\"${this.submitting}\">\n Reset\n </button>\n </div>\n </form>\n </div>\n `;\n }\n}\n\ncustomElements.define('form-builder', FormBuilder);\n"],"names":["t","e","s","o","r","n","i","S","c","h","a","l","p","d","u","f","y","LitElement","css","decode","html"],"mappings":"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O,MAAM,GAAGC,GAAG;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE,CAAC;;AAEH,EAAE,WAAW,GAAG;AAChB,IAAI,KAAK,EAAE;AACX,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI;AACvB,IAAI,IAAI,CAAC,UAAU,GAAG,KAAK;AAC3B,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI;AACrB,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI;AACtB,IAAI,IAAI,CAAC,QAAQ,GAAG,EAAE;AACtB,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI;AACxB,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI;AAC/B,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI;AACrB,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC;AACnC,IAAI,IAAI,CAAC,WAAW,GAAG,EAAE;AACzB,EAAE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","x_google_ignoreList":[0,1,2,3,4]}
@@ -0,0 +1,317 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2019 Google LLC
4
+ * SPDX-License-Identifier: BSD-3-Clause
5
+ */
6
+ const t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s=Symbol(),i=new WeakMap;let r=class{constructor(t,e,i){if(this._$cssResult$=!0,i!==s)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=i.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&i.set(s,t))}return t}toString(){return this.cssText}};const n=(t,...e)=>{const i=1===t.length?t[0]:e.reduce((e,s,i)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[i+1],t[0]);return new r(i,t,s)},o=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return(t=>new r("string"==typeof t?t:t+"",void 0,s))(e)})(t):t,{is:a,defineProperty:h,getOwnPropertyDescriptor:l,getOwnPropertyNames:c,getOwnPropertySymbols:d,getPrototypeOf:p}=Object,u=globalThis,m=u.trustedTypes,f=m?m.emptyScript:"",$=u.reactiveElementPolyfillSupport,g=(t,e)=>t,b={toAttribute(t,e){switch(e){case Boolean:t=t?f:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let s=t;switch(e){case Boolean:s=null!==t;break;case Number:s=null===t?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch(t){s=null}}return s}},y=(t,e)=>!a(t,e),_={attribute:!0,type:String,converter:b,reflect:!1,useDefault:!1,hasChanged:y};
7
+ /**
8
+ * @license
9
+ * Copyright 2017 Google LLC
10
+ * SPDX-License-Identifier: BSD-3-Clause
11
+ */Symbol.metadata??=Symbol("metadata"),u.litPropertyMetadata??=new WeakMap;let v=class extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=_){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(t,e),!e.noAccessor){const s=Symbol(),i=this.getPropertyDescriptor(t,s,e);void 0!==i&&h(this.prototype,t,i)}}static getPropertyDescriptor(t,e,s){const{get:i,set:r}=l(this.prototype,t)??{get(){return this[e]},set(t){this[e]=t}};return{get:i,set(e){const n=i?.call(this);r?.call(this,e),this.requestUpdate(t,n,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??_}static _$Ei(){if(this.hasOwnProperty(g("elementProperties")))return;const t=p(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(g("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(g("properties"))){const t=this.properties,e=[...c(t),...d(t)];for(const s of e)this.createProperty(s,t[s])}const t=this[Symbol.metadata];if(null!==t){const e=litPropertyMetadata.get(t);if(void 0!==e)for(const[t,s]of e)this.elementProperties.set(t,s)}this._$Eh=new Map;for(const[t,e]of this.elementProperties){const s=this._$Eu(t,e);void 0!==s&&this._$Eh.set(s,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const s=new Set(t.flat(1/0).reverse());for(const t of s)e.unshift(o(t))}else void 0!==t&&e.push(o(t));return e}static _$Eu(t,e){const s=e.attribute;return!1===s?void 0:"string"==typeof s?s:"string"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const s of e.keys())this.hasOwnProperty(s)&&(t.set(s,this[s]),delete this[s]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const s=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((s,i)=>{if(e)s.adoptedStyleSheets=i.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const e of i){const i=document.createElement("style"),r=t.litNonce;void 0!==r&&i.setAttribute("nonce",r),i.textContent=e.cssText,s.appendChild(i)}})(s,this.constructor.elementStyles),s}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,e,s){this._$AK(t,s)}_$ET(t,e){const s=this.constructor.elementProperties.get(t),i=this.constructor._$Eu(t,s);if(void 0!==i&&!0===s.reflect){const r=(void 0!==s.converter?.toAttribute?s.converter:b).toAttribute(e,s.type);this._$Em=t,null==r?this.removeAttribute(i):this.setAttribute(i,r),this._$Em=null}}_$AK(t,e){const s=this.constructor,i=s._$Eh.get(t);if(void 0!==i&&this._$Em!==i){const t=s.getPropertyOptions(i),r="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:b;this._$Em=i;const n=r.fromAttribute(e,t.type);this[i]=n??this._$Ej?.get(i)??n,this._$Em=null}}requestUpdate(t,e,s){if(void 0!==t){const i=this.constructor,r=this[t];if(s??=i.getPropertyOptions(t),!((s.hasChanged??y)(r,e)||s.useDefault&&s.reflect&&r===this._$Ej?.get(t)&&!this.hasAttribute(i._$Eu(t,s))))return;this.C(t,e,s)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,e,{useDefault:s,reflect:i,wrapped:r},n){s&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,n??e??this[t]),!0!==r||void 0!==n)||(this._$AL.has(t)||(this.hasUpdated||s||(e=void 0),this._$AL.set(t,e)),!0===i&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,e]of this._$Ep)this[t]=e;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[e,s]of t){const{wrapped:t}=s,i=this[e];!0!==t||this._$AL.has(e)||void 0===i||this.C(e,void 0,s,i)}}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(e)):this._$EM()}catch(e){throw t=!1,this._$EM(),e}t&&this._$AE(e)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}};v.elementStyles=[],v.shadowRootOptions={mode:"open"},v[g("elementProperties")]=new Map,v[g("finalized")]=new Map,$?.({ReactiveElement:v}),(u.reactiveElementVersions??=[]).push("2.1.1");
12
+ /**
13
+ * @license
14
+ * Copyright 2017 Google LLC
15
+ * SPDX-License-Identifier: BSD-3-Clause
16
+ */
17
+ const A=globalThis,w=A.trustedTypes,E=w?w.createPolicy("lit-html",{createHTML:t=>t}):void 0,x="$lit$",S=`lit$${Math.random().toFixed(9).slice(2)}$`,C="?"+S,k=`<${C}>`,U=document,P=()=>U.createComment(""),O=t=>null===t||"object"!=typeof t&&"function"!=typeof t,T=Array.isArray,M="[ \t\n\f\r]",N=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,D=/-->/g,H=/>/g,R=RegExp(`>|${M}(?:([^\\s"'>=/]+)(${M}*=${M}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),I=/'/g,F=/"/g,j=/^(?:script|style|textarea|title)$/i,z=(t=>(e,...s)=>({_$litType$:t,strings:e,values:s}))(1),B=Symbol.for("lit-noChange"),L=Symbol.for("lit-nothing"),q=new WeakMap,V=U.createTreeWalker(U,129);function W(t,e){if(!T(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==E?E.createHTML(e):e}const J=(t,e)=>{const s=t.length-1,i=[];let r,n=2===e?"<svg>":3===e?"<math>":"",o=N;for(let e=0;e<s;e++){const s=t[e];let a,h,l=-1,c=0;for(;c<s.length&&(o.lastIndex=c,h=o.exec(s),null!==h);)c=o.lastIndex,o===N?"!--"===h[1]?o=D:void 0!==h[1]?o=H:void 0!==h[2]?(j.test(h[2])&&(r=RegExp("</"+h[2],"g")),o=R):void 0!==h[3]&&(o=R):o===R?">"===h[0]?(o=r??N,l=-1):void 0===h[1]?l=-2:(l=o.lastIndex-h[2].length,a=h[1],o=void 0===h[3]?R:'"'===h[3]?F:I):o===F||o===I?o=R:o===D||o===H?o=N:(o=R,r=void 0);const d=o===R&&t[e+1].startsWith("/>")?" ":"";n+=o===N?s+k:l>=0?(i.push(a),s.slice(0,l)+x+s.slice(l)+S+d):s+S+(-2===l?e:d)}return[W(t,n+(t[s]||"<?>")+(2===e?"</svg>":3===e?"</math>":"")),i]};class K{constructor({strings:t,_$litType$:e},s){let i;this.parts=[];let r=0,n=0;const o=t.length-1,a=this.parts,[h,l]=J(t,e);if(this.el=K.createElement(h,s),V.currentNode=this.el.content,2===e||3===e){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(i=V.nextNode())&&a.length<o;){if(1===i.nodeType){if(i.hasAttributes())for(const t of i.getAttributeNames())if(t.endsWith(x)){const e=l[n++],s=i.getAttribute(t).split(S),o=/([.?@])?(.*)/.exec(e);a.push({type:1,index:r,name:o[2],strings:s,ctor:"."===o[1]?Y:"?"===o[1]?tt:"@"===o[1]?et:X}),i.removeAttribute(t)}else t.startsWith(S)&&(a.push({type:6,index:r}),i.removeAttribute(t));if(j.test(i.tagName)){const t=i.textContent.split(S),e=t.length-1;if(e>0){i.textContent=w?w.emptyScript:"";for(let s=0;s<e;s++)i.append(t[s],P()),V.nextNode(),a.push({type:2,index:++r});i.append(t[e],P())}}}else if(8===i.nodeType)if(i.data===C)a.push({type:2,index:r});else{let t=-1;for(;-1!==(t=i.data.indexOf(S,t+1));)a.push({type:7,index:r}),t+=S.length-1}r++}}static createElement(t,e){const s=U.createElement("template");return s.innerHTML=t,s}}function Z(t,e,s=t,i){if(e===B)return e;let r=void 0!==i?s._$Co?.[i]:s._$Cl;const n=O(e)?void 0:e._$litDirective$;return r?.constructor!==n&&(r?._$AO?.(!1),void 0===n?r=void 0:(r=new n(t),r._$AT(t,s,i)),void 0!==i?(s._$Co??=[])[i]=r:s._$Cl=r),void 0!==r&&(e=Z(t,r._$AS(t,e.values),r,i)),e}class G{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:s}=this._$AD,i=(t?.creationScope??U).importNode(e,!0);V.currentNode=i;let r=V.nextNode(),n=0,o=0,a=s[0];for(;void 0!==a;){if(n===a.index){let e;2===a.type?e=new Q(r,r.nextSibling,this,t):1===a.type?e=new a.ctor(r,a.name,a.strings,this,t):6===a.type&&(e=new st(r,this,t)),this._$AV.push(e),a=s[++o]}n!==a?.index&&(r=V.nextNode(),n++)}return V.currentNode=U,i}p(t){let e=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,e),e+=s.strings.length-2):s._$AI(t[e])),e++}}class Q{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,e,s,i){this.type=2,this._$AH=L,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=s,this.options=i,this._$Cv=i?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return void 0!==e&&11===t?.nodeType&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=Z(this,t,e),O(t)?t===L||null==t||""===t?(this._$AH!==L&&this._$AR(),this._$AH=L):t!==this._$AH&&t!==B&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):(t=>T(t)||"function"==typeof t?.[Symbol.iterator])(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==L&&O(this._$AH)?this._$AA.nextSibling.data=t:this.T(U.createTextNode(t)),this._$AH=t}$(t){const{values:e,_$litType$:s}=t,i="number"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=K.createElement(W(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===i)this._$AH.p(e);else{const t=new G(i,this),s=t.u(this.options);t.p(e),this.T(s),this._$AH=t}}_$AC(t){let e=q.get(t.strings);return void 0===e&&q.set(t.strings,e=new K(t)),e}k(t){T(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let s,i=0;for(const r of t)i===e.length?e.push(s=new Q(this.O(P()),this.O(P()),this,this.options)):s=e[i],s._$AI(r),i++;i<e.length&&(this._$AR(s&&s._$AB.nextSibling,i),e.length=i)}_$AR(t=this._$AA.nextSibling,e){for(this._$AP?.(!1,!0,e);t!==this._$AB;){const e=t.nextSibling;t.remove(),t=e}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class X{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,s,i,r){this.type=1,this._$AH=L,this._$AN=void 0,this.element=t,this.name=e,this._$AM=i,this.options=r,s.length>2||""!==s[0]||""!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=L}_$AI(t,e=this,s,i){const r=this.strings;let n=!1;if(void 0===r)t=Z(this,t,e,0),n=!O(t)||t!==this._$AH&&t!==B,n&&(this._$AH=t);else{const i=t;let o,a;for(t=r[0],o=0;o<r.length-1;o++)a=Z(this,i[s+o],e,o),a===B&&(a=this._$AH[o]),n||=!O(a)||a!==this._$AH[o],a===L?t=L:t!==L&&(t+=(a??"")+r[o+1]),this._$AH[o]=a}n&&!i&&this.j(t)}j(t){t===L?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class Y extends X{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===L?void 0:t}}class tt extends X{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==L)}}class et extends X{constructor(t,e,s,i,r){super(t,e,s,i,r),this.type=5}_$AI(t,e=this){if((t=Z(this,t,e,0)??L)===B)return;const s=this._$AH,i=t===L&&s!==L||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,r=t!==L&&(s===L||i);i&&this.element.removeEventListener(this.name,this,s),r&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class st{constructor(t,e,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){Z(this,t)}}const it=A.litHtmlPolyfillSupport;it?.(K,Q),(A.litHtmlVersions??=[]).push("3.3.1");const rt=globalThis;
18
+ /**
19
+ * @license
20
+ * Copyright 2017 Google LLC
21
+ * SPDX-License-Identifier: BSD-3-Clause
22
+ */class nt extends v{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=((t,e,s)=>{const i=s?.renderBefore??e;let r=i._$litPart$;if(void 0===r){const t=s?.renderBefore??null;i._$litPart$=r=new Q(e.insertBefore(P(),t),t,void 0,s??{})}return r._$AI(t),r})(e,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return B}}nt._$litElement$=!0,nt.finalized=!0,rt.litElementHydrateSupport?.({LitElement:nt});const ot=rt.litElementPolyfillSupport;function at(t){this.message=t}ot?.({LitElement:nt}),(rt.litElementVersions??=[]).push("4.2.1"),at.prototype=new Error,at.prototype.name="InvalidCharacterError";var ht="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||function(t){var e=String(t).replace(/=+$/,"");if(e.length%4==1)throw new at("'atob' failed: The string to be decoded is not correctly encoded.");for(var s,i,r=0,n=0,o="";i=e.charAt(n++);~i&&(s=r%4?64*s+i:i,r++%4)?o+=String.fromCharCode(255&s>>(-2*r&6)):0)i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(i);return o};function lt(t){var e=t.replace(/-/g,"+").replace(/_/g,"/");switch(e.length%4){case 0:break;case 2:e+="==";break;case 3:e+="=";break;default:throw"Illegal base64url string!"}try{return function(t){return decodeURIComponent(ht(t).replace(/(.)/g,function(t,e){var s=e.charCodeAt(0).toString(16).toUpperCase();return s.length<2&&(s="0"+s),"%"+s}))}(e)}catch(t){return ht(e)}}function ct(t){this.message=t}ct.prototype=new Error,ct.prototype.name="InvalidTokenError";class dt extends nt{static properties={fbmsBaseUrl:{type:String,attribute:"fbms-base-url"},fbmsFormFname:{type:String,attribute:"fbms-form-fname"},oidcUrl:{type:String,attribute:"oidc-url"},customStyles:{type:String,attribute:"styles"},schema:{type:Object,state:!0},formData:{type:Object,state:!0},uiSchema:{type:Object,state:!0},fbmsFormVersion:{type:String,state:!0},loading:{type:Boolean,state:!0},submitting:{type:Boolean,state:!0},error:{type:String,state:!0},token:{type:String,state:!0},decoded:{type:Object,state:!0}};static styles=n`
23
+ :host {
24
+ display: block;
25
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
26
+ }
27
+
28
+ .container {
29
+ max-width: 800px;
30
+ margin: 0 auto;
31
+ padding: 20px;
32
+ }
33
+
34
+ .loading {
35
+ text-align: center;
36
+ padding: 40px;
37
+ color: #666;
38
+ }
39
+
40
+ .error {
41
+ background-color: #fee;
42
+ border: 1px solid #fcc;
43
+ border-radius: 4px;
44
+ padding: 15px;
45
+ margin: 20px 0;
46
+ color: #c00;
47
+ }
48
+
49
+ form {
50
+ display: flex;
51
+ flex-direction: column;
52
+ gap: 20px;
53
+ }
54
+
55
+ .form-group {
56
+ display: flex;
57
+ flex-direction: column;
58
+ gap: 8px;
59
+ }
60
+
61
+ label {
62
+ font-weight: 500;
63
+ color: #333;
64
+ }
65
+
66
+ .required::after {
67
+ content: ' *';
68
+ color: #c00;
69
+ }
70
+
71
+ .description {
72
+ font-size: 0.875rem;
73
+ color: #666;
74
+ margin-top: 4px;
75
+ }
76
+
77
+ input[type="text"],
78
+ input[type="email"],
79
+ input[type="number"],
80
+ input[type="date"],
81
+ input[type="tel"],
82
+ textarea,
83
+ select {
84
+ padding: 8px 12px;
85
+ border: 1px solid #ccc;
86
+ border-radius: 4px;
87
+ font-size: 1rem;
88
+ font-family: inherit;
89
+ width: 100%;
90
+ box-sizing: border-box;
91
+ }
92
+
93
+ input:focus,
94
+ textarea:focus,
95
+ select:focus {
96
+ outline: none;
97
+ border-color: #0066cc;
98
+ box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1);
99
+ }
100
+
101
+ textarea {
102
+ min-height: 100px;
103
+ resize: vertical;
104
+ }
105
+
106
+ input[type="checkbox"],
107
+ input[type="radio"] {
108
+ margin-right: 8px;
109
+ }
110
+
111
+ .checkbox-group,
112
+ .radio-group {
113
+ display: flex;
114
+ flex-direction: column;
115
+ gap: 8px;
116
+ }
117
+
118
+ .checkbox-item,
119
+ .radio-item {
120
+ display: flex;
121
+ align-items: center;
122
+ }
123
+
124
+ .error-message {
125
+ color: #c00;
126
+ font-size: 0.875rem;
127
+ margin-top: 4px;
128
+ }
129
+
130
+ .buttons {
131
+ display: flex;
132
+ gap: 12px;
133
+ margin-top: 20px;
134
+ }
135
+
136
+ button {
137
+ padding: 10px 20px;
138
+ border: none;
139
+ border-radius: 4px;
140
+ font-size: 1rem;
141
+ cursor: pointer;
142
+ font-family: inherit;
143
+ transition: background-color 0.2s;
144
+ }
145
+
146
+ button[type="submit"] {
147
+ background-color: #0066cc;
148
+ color: white;
149
+ }
150
+
151
+ button[type="submit"]:hover {
152
+ background-color: #0052a3;
153
+ }
154
+
155
+ button[type="button"] {
156
+ background-color: #c0c0c0;
157
+ color: #333;
158
+ }
159
+
160
+ button[type="button"]:hover {
161
+ background-color: #e0e0e0;
162
+ }
163
+
164
+ button:disabled {
165
+ opacity: 0.5;
166
+ cursor: not-allowed;
167
+ }
168
+
169
+ .spinner {
170
+ display: inline-block;
171
+ width: 1em;
172
+ height: 1em;
173
+ border: 2px solid rgba(255, 255, 255, 0.3);
174
+ border-radius: 50%;
175
+ border-top-color: white;
176
+ animation: spin 0.8s linear infinite;
177
+ margin-right: 8px;
178
+ vertical-align: middle;
179
+ }
180
+
181
+ @keyframes spin {
182
+ to { transform: rotate(360deg); }
183
+ }
184
+
185
+ .button-content {
186
+ display: inline-flex;
187
+ align-items: center;
188
+ justify-content: center;
189
+ }
190
+ `;constructor(){super(),this.loading=!0,this.submitting=!1,this.error=null,this.schema=null,this.formData={},this.uiSchema=null,this.fbmsFormVersion=null,this.token=null,this.decoded={sub:"unknown"},this.fieldErrors={}}async connectedCallback(){super.connectedCallback(),await this.initialize()}async initialize(){try{this.loading=!0,this.error=null,this.oidcUrl&&await this.fetchToken(),await Promise.all([this.fetchSchema(),this.fetchFormData()]),this.loading=!1}catch(t){this.error=t.message||"Failed to initialize form",this.loading=!1}}async fetchToken(){try{const t=await fetch(this.oidcUrl,{credentials:"include"});if(!t.ok)throw new Error("Failed to authenticate");const e=await t.text();this.token=e,this.decoded=function(t,e){if("string"!=typeof t)throw new ct("Invalid token specified");var s=!0===(e=e||{}).header?0:1;try{return JSON.parse(lt(t.split(".")[s]))}catch(t){throw new ct("Invalid token specified: "+t.message)}}(this.token)}catch(t){throw console.error("Token fetch error:",t),new Error("Authentication failed")}}async fetchSchema(){const t=`${this.fbmsBaseUrl}/api/v1/forms/${this.fbmsFormFname}`,e={"content-type":"application/jwt"};this.token&&(e.Authorization=`Bearer ${this.token}`);const s=await fetch(t,{credentials:"same-origin",headers:e});if(!s.ok)throw new Error(`Failed to fetch schema: ${s.statusText}`);const i=await s.json();this.fbmsFormVersion=i.version,this.schema=i.schema||i,this.uiSchema=i.metadata}async fetchFormData(){const t=`${this.fbmsBaseUrl}/api/v1/submissions/${this.fbmsFormFname}?safarifix=${Math.random()}`,e={"content-type":"application/jwt"};this.token&&(e.Authorization=`Bearer ${this.token}`);try{const s=await fetch(t,{credentials:"same-origin",headers:e});if(s.ok){const t=await s.json();this.formData=t.answers}else this.formData={}}catch(t){console.warn("Could not fetch form data:",t),this.formData={}}}handleInputChange(t,e){const{type:s,value:i,checked:r}=e.target;this.formData={...this.formData,[t]:"checkbox"===s?r:i},this.fieldErrors[t]&&(this.fieldErrors={...this.fieldErrors},delete this.fieldErrors[t])}handleArrayChange(t,e,s){const i=[...this.formData[t]||[]];i[e]=s.target.value,this.formData={...this.formData,[t]:i}}validateForm(){const t={},{properties:e={},required:s=[]}=this.schema;return s.forEach(e=>{const s=this.formData[e];null!=s&&""!==s||(t[e]="This field is required")}),Object.entries(e).forEach(([e,s])=>{const i=this.formData[e];if(null!=i&&""!==i){if("email"===s.format){/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(i)||(t[e]="Invalid email address")}if("number"===s.type||"integer"===s.type){const r=Number(i);isNaN(r)?t[e]="Must be a number":(void 0!==s.minimum&&r<s.minimum&&(t[e]=`Must be at least ${s.minimum}`),void 0!==s.maximum&&r>s.maximum&&(t[e]=`Must be at most ${s.maximum}`))}"string"===s.type&&(s.minLength&&i.length<s.minLength&&(t[e]=`Must be at least ${s.minLength} characters`),s.maxLength&&i.length>s.maxLength&&(t[e]=`Must be at most ${s.maxLength} characters`))}}),this.fieldErrors=t,0===Object.keys(t).length}async handleSubmit(t){var e;if(t.preventDefault(),this.validateForm()){if(!this.submitting)try{this.submitting=!0,this.error=null;const t={username:this.decoded.sub,formFname:this.fbmsFormFname,formVersion:this.fbmsFormVersion,timestamp:Date.now(),answers:this.formData};await(e=300,new Promise(t=>setTimeout(t,e)));const s=`${this.fbmsBaseUrl}/api/v1/submissions/${this.fbmsFormFname}`,i={"content-type":"application/json"};this.token&&(i.Authorization=`Bearer ${this.token}`);const r=await fetch(s,{method:"POST",credentials:"same-origin",headers:i,body:JSON.stringify(t)});if(!r.ok)throw new Error(`Failed to submit form: ${r.statusText}`);this.dispatchEvent(new CustomEvent("form-submit-success",{detail:{data:t},bubbles:!0,composed:!0})),this.error=null}catch(t){this.error=t.message||"Failed to submit form",this.dispatchEvent(new CustomEvent("form-submit-error",{detail:{error:t.message},bubbles:!0,composed:!0}))}finally{this.submitting=!1}}else this.requestUpdate()}handleReset(){this.formData={},this.fieldErrors={},this.requestUpdate()}renderField(t,e){const s=this.formData[t],i=this.fieldErrors[t],r=this.schema.required?.includes(t),n=this.uiSchema?.[t]||{};return z`
191
+ <div class="form-group">
192
+ <label class="${r?"required":""}" for="${t}">
193
+ ${e.title||t}
194
+ </label>
195
+
196
+ ${e.description?z`
197
+ <span class="description">${e.description}</span>
198
+ `:""}
199
+
200
+ ${this.renderInput(t,e,s,n)}
201
+
202
+ ${i?z`
203
+ <span class="error-message">${i}</span>
204
+ `:""}
205
+ </div>
206
+ `}renderInput(t,e,s,i){const{type:r,enum:n,format:o}=e;return n?z`
207
+ <select
208
+ id="${t}"
209
+ name="${t}"
210
+ .value="${s||""}"
211
+ @change="${e=>this.handleInputChange(t,e)}"
212
+ >
213
+ <option value="">-- Select --</option>
214
+ ${n.map(t=>z`
215
+ <option value="${t}" ?selected="${s===t}">
216
+ ${t}
217
+ </option>
218
+ `)}
219
+ </select>
220
+ `:"boolean"===r?z`
221
+ <div class="checkbox-item">
222
+ <input
223
+ type="checkbox"
224
+ id="${t}"
225
+ name="${t}"
226
+ .checked="${!!s}"
227
+ @change="${e=>this.handleInputChange(t,e)}"
228
+ />
229
+ <label for="${t}">${e.title||t}</label>
230
+ </div>
231
+ `:"string"===r?"email"===o?z`
232
+ <input
233
+ type="email"
234
+ id="${t}"
235
+ name="${t}"
236
+ .value="${s||""}"
237
+ @input="${e=>this.handleInputChange(t,e)}"
238
+ />
239
+ `:"date"===o?z`
240
+ <input
241
+ type="date"
242
+ id="${t}"
243
+ name="${t}"
244
+ .value="${s||""}"
245
+ @input="${e=>this.handleInputChange(t,e)}"
246
+ />
247
+ `:"textarea"===i["ui:widget"]?z`
248
+ <textarea
249
+ id="${t}"
250
+ name="${t}"
251
+ .value="${s||""}"
252
+ @input="${e=>this.handleInputChange(t,e)}"
253
+ ></textarea>
254
+ `:z`
255
+ <input
256
+ type="text"
257
+ id="${t}"
258
+ name="${t}"
259
+ .value="${s||""}"
260
+ @input="${e=>this.handleInputChange(t,e)}"
261
+ />
262
+ `:"number"===r||"integer"===r?z`
263
+ <input
264
+ type="number"
265
+ id="${t}"
266
+ name="${t}"
267
+ .value="${s||""}"
268
+ step="${"integer"===r?"1":"any"}"
269
+ @input="${e=>this.handleInputChange(t,e)}"
270
+ />
271
+ `:z`
272
+ <input
273
+ type="text"
274
+ id="${t}"
275
+ name="${t}"
276
+ .value="${s||""}"
277
+ @input="${e=>this.handleInputChange(t,e)}"
278
+ />
279
+ `}render(){return this.loading?z`
280
+ <div class="container">
281
+ <div class="loading">Loading form...</div>
282
+ </div>
283
+ `:this.error?z`
284
+ <div class="container">
285
+ <div class="error">
286
+ <strong>Error:</strong> ${this.error}
287
+ </div>
288
+ </div>
289
+ `:this.schema&&this.schema.properties?z`
290
+ ${this.customStyles?z`<style>${this.customStyles}</style>`:""}
291
+
292
+ <div class="container">
293
+ <form @submit="${this.handleSubmit}">
294
+ ${this.schema.title?z`<h2>${this.schema.title}</h2>`:""}
295
+ ${this.schema.description?z`<p>${this.schema.description}</p>`:""}
296
+
297
+ ${Object.entries(this.schema.properties).map(([t,e])=>this.renderField(t,e))}
298
+
299
+ <div class="buttons">
300
+ <button type="submit" ?disabled="${this.submitting}">
301
+ <span class="button-content">
302
+ ${this.submitting?z`<span class="spinner"></span>`:""}
303
+ ${this.submitting?"Submitting...":"Submit"}
304
+ </span>
305
+ </button>
306
+ <button type="button" @click="${this.handleReset}" ?disabled="${this.submitting}">
307
+ Reset
308
+ </button>
309
+ </div>
310
+ </form>
311
+ </div>
312
+ `:z`
313
+ <div class="container">
314
+ <div class="error">Invalid form schema</div>
315
+ </div>
316
+ `}}customElements.define("form-builder",dt);
317
+ //# sourceMappingURL=form-builder.min.js.map