@verbb/formie-web-components 1.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.
- package/CHANGELOG.md +5 -0
- package/LICENSE.md +40 -0
- package/README.md +49 -0
- package/dist/field-utils.d.ts +4 -0
- package/dist/field-utils.d.ts.map +1 -0
- package/dist/form-element.d.ts +53 -0
- package/dist/form-element.d.ts.map +1 -0
- package/dist/formie-core-form.d.ts +33 -0
- package/dist/formie-core-form.d.ts.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1596 -0
- package/dist/index.js.map +1 -0
- package/dist/registry.d.ts +30 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/render-view.d.ts +18 -0
- package/dist/render-view.d.ts.map +1 -0
- package/dist/signature-element.d.ts +23 -0
- package/dist/signature-element.d.ts.map +1 -0
- package/dist/signature_pad-69C-Dgt3.js +391 -0
- package/dist/signature_pad-69C-Dgt3.js.map +1 -0
- package/dist/types.d.ts +26 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["t","e","s","o","n","r","i","S","c","i","e","h","r","o","n","a","c","l","p","d","u","f","b","y","t","s","t","i","s","e","h","o","n","r","l","c","a","u","d","f","v","m","p","$","M","j","s","i","t","e","r","o","o","s","i","l","n","u","t","c","r","e","o","e","t","r","n","r","t","t","o","i","n","e","c","f","r","s","h","e","o","n","e","t","i","o","s","i","t","s","t","n","i","r"],"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/lit-html/static.js","../../../node_modules/@lit/reactive-element/decorators/property.js","../../../node_modules/@lit/reactive-element/decorators/state.js","../src/registry.ts","../../../node_modules/lit-html/directive-helpers.js","../../../node_modules/lit-html/directive.js","../../../node_modules/lit-html/async-directive.js","../../../node_modules/lit-html/directives/ref.js","../../../node_modules/lit-html/directives/unsafe-html.js","../src/field-utils.ts","../src/types.ts","../src/render-view.ts","../src/formie-core-form.ts","../src/form-element.ts","../src/signature-element.ts","../src/index.ts"],"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,e=!1,h){if(void 0!==t){const r=this.constructor;if(!1===e&&(h=this[t]),i??=r.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(r._$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.2\");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=>t,s=t.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,h=\"$lit$\",o=`lit$${Math.random().toFixed(9).slice(2)}$`,n=\"?\"+o,r=`<${n}>`,l=document,c=()=>l.createComment(\"\"),a=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,u=Array.isArray,d=t=>u(t)||\"function\"==typeof t?.[Symbol.iterator],f=\"[ \\t\\n\\f\\r]\",v=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${f}(?:([^\\\\s\"'>=/]+)(${f}*=${f}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,x=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),b=x(1),w=x(2),T=x(3),E=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),C=new WeakMap,P=l.createTreeWalker(l,129);function V(t,i){if(!u(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const N=(t,i)=>{const s=t.length-1,e=[];let n,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=v;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,f=0;for(;f<s.length&&(c.lastIndex=f,u=c.exec(s),null!==u);)f=c.lastIndex,c===v?\"!--\"===u[1]?c=_:void 0!==u[1]?c=m:void 0!==u[2]?(y.test(u[2])&&(n=RegExp(\"</\"+u[2],\"g\")),c=p):void 0!==u[3]&&(c=p):c===p?\">\"===u[0]?(c=n??v,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?p:'\"'===u[3]?$:g):c===$||c===g?c=p:c===_||c===m?c=v:(c=p,n=void 0);const x=c===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===v?s+r:d>=0?(e.push(a),s.slice(0,d)+h+s.slice(d)+o+x):s+o+(-2===d?i:x)}return[V(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),e]};class S{constructor({strings:t,_$litType$:i},e){let r;this.parts=[];let l=0,a=0;const u=t.length-1,d=this.parts,[f,v]=N(t,i);if(this.el=S.createElement(f,e),P.currentNode=this.el.content,2===i||3===i){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=P.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(h)){const i=v[a++],s=r.getAttribute(t).split(o),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:l,name:e[2],strings:s,ctor:\".\"===e[1]?I:\"?\"===e[1]?L:\"@\"===e[1]?z:H}),r.removeAttribute(t)}else t.startsWith(o)&&(d.push({type:6,index:l}),r.removeAttribute(t));if(y.test(r.tagName)){const t=r.textContent.split(o),i=t.length-1;if(i>0){r.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)r.append(t[s],c()),P.nextNode(),d.push({type:2,index:++l});r.append(t[i],c())}}}else if(8===r.nodeType)if(r.data===n)d.push({type:2,index:l});else{let t=-1;for(;-1!==(t=r.data.indexOf(o,t+1));)d.push({type:7,index:l}),t+=o.length-1}l++}}static createElement(t,i){const s=l.createElement(\"template\");return s.innerHTML=t,s}}function M(t,i,s=t,e){if(i===E)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=a(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=M(t,h._$AS(t,i.values),h,e)),i}class R{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??l).importNode(i,!0);P.currentNode=e;let h=P.nextNode(),o=0,n=0,r=s[0];for(;void 0!==r;){if(o===r.index){let i;2===r.type?i=new k(h,h.nextSibling,this,t):1===r.type?i=new r.ctor(h,r.name,r.strings,this,t):6===r.type&&(i=new Z(h,this,t)),this._$AV.push(i),r=s[++n]}o!==r?.index&&(h=P.nextNode(),o++)}return P.currentNode=l,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 k{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=A,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=M(this,t,i),a(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==E&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):d(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!==A&&a(this._$AH)?this._$AA.nextSibling.data=t:this.T(l.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=S.createElement(V(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new R(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=C.get(t.strings);return void 0===i&&C.set(t.strings,i=new S(t)),i}k(t){u(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 k(this.O(c()),this.O(c()),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,s){for(this._$AP?.(!1,!0,s);t!==this._$AB;){const s=i(t).nextSibling;i(t).remove(),t=s}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=A,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=A}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=M(this,t,i,0),o=!a(t)||t!==this._$AH&&t!==E,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=M(this,e[s+n],i,n),r===E&&(r=this._$AH[n]),o||=!a(r)||r!==this._$AH[n],r===A?t=A:t!==A&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class I extends H{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}class L extends H{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==A)}}class z extends H{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=M(this,t,i,0)??A)===E)return;const s=this._$AH,e=t===A&&s!==A||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==A&&(s===A||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){M(this,t)}}const j={M:h,P:o,A:n,C:1,L:N,R,D:d,V:M,I:k,H,N:L,U:z,B:I,F:Z},B=t.litHtmlPolyfillSupport;B?.(S,k),(t.litHtmlVersions??=[]).push(\"3.3.2\");const D=(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 k(i.insertBefore(c(),t),t,void 0,s??{})}return h._$AI(t),h};export{j as _$LH,b as html,T as mathml,E as noChange,A as nothing,D as render,w 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.2\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","import{html as t,svg as r,mathml as e}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst a=Symbol.for(\"\"),o=t=>{if(t?.r===a)return t?._$litStatic$},s=t=>({_$litStatic$:t,r:a}),i=(t,...r)=>({_$litStatic$:r.reduce((r,e,a)=>r+(t=>{if(void 0!==t._$litStatic$)return t._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${t}. Use 'unsafeStatic' to pass non-literal values, but\\n take care to ensure page security.`)})(e)+t[a+1],t[0]),r:a}),l=new Map,n=t=>(r,...e)=>{const a=e.length;let s,i;const n=[],u=[];let c,$=0,f=!1;for(;$<a;){for(c=r[$];$<a&&void 0!==(i=e[$],s=o(i));)c+=s+r[++$],f=!0;$!==a&&u.push(i),n.push(c),$++}if($===a&&n.push(r[a]),f){const t=n.join(\"$$lit$$\");void 0===(r=l.get(t))&&(n.raw=n,l.set(t,r=n)),e=u}return t(r,...e)},u=n(t),c=n(r),$=n(e);export{u as html,i as literal,$ as mathml,c as svg,s as unsafeStatic,n as withStatic};\n//# sourceMappingURL=static.js.map\n","import{notEqual as t,defaultConverter as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:e,reflect:!1,hasChanged:t},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t,!0,r)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t,!0,r)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","import type { FormieRegionKey } from './types.js';\n\nconst TAG_RE = /^[a-z][a-z0-9]*(-[a-z0-9]+)+$/;\n\nexport function assertValidCustomElementName(name: string): void {\n if (!TAG_RE.test(name)) {\n throw new Error(\n `[Formie WC] Invalid custom element tag \"${name}\". Use lowercase hyphenated names (e.g. my-text-field).`,\n );\n }\n}\n\n/**\n * UI overrides for `<formie-core-form>`. Assign to `formie-core-form.registry` or mutate the\n * default singleton from {@link getFormieRegistry}.\n */\nexport class FormieRegistry {\n /**\n * Map `field.type` or renderer key (e.g. `single-line-text`) → custom element tag.\n * Controls receive `field`, `value`, `errorKey`, `disabled`, `hidden` and emit\n * `formie-control-value-change` with `event.detail` = next value.\n */\n fieldControls: Partial<Record<string, string>> = {};\n\n /**\n * When set, each **field** is rendered with this custom element (label, instructions,\n * control slot, errors). Distinct from {@link FormieRegistry.registerFieldControl}, which\n * replaces only the control.\n */\n fieldTag: string | null = null;\n\n /** Replace default layout regions with custom element tags (advanced). */\n regions: Partial<Record<FormieRegionKey, string>> = {};\n\n registerFieldControl(fieldKey: string, customElementTag: string): this {\n assertValidCustomElementName(customElementTag);\n this.fieldControls[fieldKey] = customElementTag;\n\n return this;\n }\n\n /** Register a custom element used as the **field** host for every question. */\n registerField(customElementTag: string): this {\n assertValidCustomElementName(customElementTag);\n this.fieldTag = customElementTag;\n\n return this;\n }\n\n registerRegion(key: FormieRegionKey, customElementTag: string): this {\n assertValidCustomElementName(customElementTag);\n this.regions[key] = customElementTag;\n\n return this;\n }\n\n clone(): FormieRegistry {\n const next = new FormieRegistry();\n next.fieldControls = { ...this.fieldControls };\n next.fieldTag = this.fieldTag;\n next.regions = { ...this.regions };\n\n return next;\n }\n}\n\nconst defaultRegistry = new FormieRegistry();\n\nexport function getFormieRegistry(): FormieRegistry {\n return defaultRegistry;\n}\n\nexport function createFormieRegistry(): FormieRegistry {\n return new FormieRegistry();\n}\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>o,n=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,e={HTML:1,SVG:2,MATHML:3},l=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,d=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,f=o=>o?._$litDirective$,r=o=>void 0===o.strings,s=()=>document.createComment(\"\"),v=(o,n,e)=>{const l=o._$AA.parentNode,d=void 0===n?o._$AB:n._$AA;if(void 0===e){const i=l.insertBefore(s(),d),n=l.insertBefore(s(),d);e=new t(i,n,o,o.options)}else{const t=e._$AB.nextSibling,n=e._$AM,c=n!==o;if(c){let t;e._$AQ?.(o),e._$AM=o,void 0!==e._$AP&&(t=o._$AU)!==n._$AU&&e._$AP(t)}if(t!==d||c){let o=e._$AA;for(;o!==t;){const t=i(o).nextSibling;i(l).insertBefore(o,d),o=t}}}return e},u=(o,t,i=o)=>(o._$AI(t,i),o),m={},p=(o,t=m)=>o._$AH=t,M=o=>o._$AH,h=o=>{o._$AR(),o._$AA.remove()},j=o=>{o._$AR()};export{e as TemplateResultType,j as clearPart,M as getCommittedValue,f as getDirectiveClass,v as insertPart,d as isCompiledTemplateResult,c as isDirectiveResult,n as isPrimitive,r as isSingleExpression,l as isTemplateResult,h as removePart,u as setChildPartValue,p as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{isSingleExpression as i}from\"./directive-helpers.js\";import{Directive as t,PartType as e}from\"./directive.js\";export{directive}from\"./directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=(i,t)=>{const e=i._$AN;if(void 0===e)return!1;for(const i of e)i._$AO?.(t,!1),s(i,t);return!0},o=i=>{let t,e;do{if(void 0===(t=i._$AM))break;e=t._$AN,e.delete(i),i=t}while(0===e?.size)},r=i=>{for(let t;t=i._$AM;i=t){let e=t._$AN;if(void 0===e)t._$AN=e=new Set;else if(e.has(i))break;e.add(i),c(t)}};function h(i){void 0!==this._$AN?(o(this),this._$AM=i,r(this)):this._$AM=i}function n(i,t=!1,e=0){const r=this._$AH,h=this._$AN;if(void 0!==h&&0!==h.size)if(t)if(Array.isArray(r))for(let i=e;i<r.length;i++)s(r[i],!1),o(r[i]);else null!=r&&(s(r,!1),o(r));else s(this,i)}const c=i=>{i.type==e.CHILD&&(i._$AP??=n,i._$AQ??=h)};class f extends t{constructor(){super(...arguments),this._$AN=void 0}_$AT(i,t,e){super._$AT(i,t,e),r(this),this.isConnected=i._$AU}_$AO(i,t=!0){i!==this.isConnected&&(this.isConnected=i,i?this.reconnected?.():this.disconnected?.()),t&&(s(this,i),o(this))}setValue(t){if(i(this._$Ct))this._$Ct._$AI(t,this);else{const i=[...this._$Ct._$AH];i[this._$Ci]=t,this._$Ct._$AI(i,this,0)}}disconnected(){}reconnected(){}}export{f as AsyncDirective,t as Directive,e as PartType};\n//# sourceMappingURL=async-directive.js.map\n","import{nothing as t}from\"../lit-html.js\";import{AsyncDirective as i}from\"../async-directive.js\";import{directive as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=()=>new h;class h{}const o=new WeakMap,n=s(class extends i{render(i){return t}update(i,[s]){const e=s!==this.G;return e&&void 0!==this.G&&this.rt(void 0),(e||this.lt!==this.ct)&&(this.G=s,this.ht=i.options?.host,this.rt(this.ct=i.element)),t}rt(t){if(this.isConnected||(t=void 0),\"function\"==typeof this.G){const i=this.ht??globalThis;let s=o.get(i);void 0===s&&(s=new WeakMap,o.set(i,s)),void 0!==s.get(this.G)&&this.G.call(this.ht,void 0),s.set(this.G,t),void 0!==t&&this.G.call(this.ht,t)}else this.G.value=t}get lt(){return\"function\"==typeof this.G?o.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});export{e as createRef,n as ref};\n//# sourceMappingURL=ref.js.map\n","import{nothing as t,noChange as i}from\"../lit-html.js\";import{directive as r,Directive as s,PartType as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends s{constructor(i){if(super(i),this.it=t,i.type!==n.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this._t=void 0,this.it=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.it)return this._t;this.it=r;const s=[r];return s.raw=s,this._t={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=r(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n","import { isKnownFrontendFieldType, type FrontendFieldDefinition } from '@verbb/formie-core';\n\nexport function isFieldDefinition(candidate: unknown): candidate is FrontendFieldDefinition {\n return !!candidate && typeof candidate === 'object' && 'id' in candidate && 'handle' in candidate && 'type' in candidate;\n}\n\nexport function resolveFieldRendererType(field: FrontendFieldDefinition): FrontendFieldDefinition['type'] {\n if (isKnownFrontendFieldType(field.type)) {\n return field.type;\n }\n\n const input = field.input && typeof field.input === 'object' ? field.input as Record<string, unknown> : {};\n const fieldKind = typeof input.fieldKind === 'string' ? input.fieldKind : null;\n\n if (fieldKind === 'text') {\n return 'single-line-text';\n }\n\n if (fieldKind === 'textarea') {\n return 'multi-line-text';\n }\n\n if (fieldKind === 'boolean') {\n return 'agree';\n }\n\n if (fieldKind === 'file') {\n return 'file';\n }\n\n return field.type;\n}\n","import type { FrontendFieldDefinition } from '@verbb/formie-core';\n\n/** Dispatched as `formie-control-value-change` from custom field controls (`bubbles` + `composed`). */\nexport const FORMIE_CONTROL_VALUE_EVENT = 'formie-control-value-change';\n\n/**\n * Contract for custom elements registered via {@link FormieRegistry.registerFieldControl}.\n * Set as properties on the host; listen for {@link FORMIE_CONTROL_VALUE_EVENT}.\n */\nexport type FormieFieldControlElement = HTMLElement & {\n field: FrontendFieldDefinition;\n value: unknown;\n errorKey: string;\n disabled: boolean;\n hidden: boolean;\n};\n\n/**\n * Optional **field** host element: wraps label, instructions, the control, and errors.\n * Distinct from {@link FormieFieldControlElement}, which is only the input widget.\n * Use a **default slot** (or light DOM projection) where the control is rendered.\n */\nexport type FormieFieldElement = HTMLElement & {\n field: FrontendFieldDefinition;\n errors: string[];\n};\n\n/** Keys for optional custom elements that replace default layout regions on `<formie-core-form>`. */\nexport type FormieRegionKey = 'form' | 'page' | 'errorSummary' | 'loading' | 'pageActions';\n","import {\n compositePartDefinitions,\n createRepeaterRowValue,\n isCompositeField,\n isFileField,\n isKnownFrontendFieldType,\n isRepeatableField,\n repeaterRowDefinitions,\n type FrontendFieldDefinition,\n type FrontendFormDefinition,\n type FrontendFormInstance,\n type FrontendFormState,\n type FrontendRowDefinition,\n} from '@verbb/formie-core';\nimport { html, nothing, type TemplateResult } from 'lit';\nimport { html as staticHtml, unsafeStatic } from 'lit/static-html.js';\nimport { ref } from 'lit/directives/ref.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { assertValidCustomElementName, type FormieRegistry } from './registry.js';\nimport { resolveFieldRendererType } from './field-utils.js';\nimport { FORMIE_CONTROL_VALUE_EVENT, type FormieFieldControlElement } from './types.js';\nimport type { LitElement } from 'lit';\n\nexport type FormieRenderHost = LitElement & {\n requestUpdate(name?: PropertyKey, oldValue?: unknown): void;\n};\n\nexport type RenderViewContext = {\n registry: FormieRegistry;\n state: FrontendFormState;\n instance: FrontendFormInstance;\n host: FormieRenderHost;\n formClass: string;\n};\n\nfunction st(tag: string) {\n assertValidCustomElementName(tag);\n\n return unsafeStatic(tag);\n}\n\nfunction bindRegistryControlHost(\n host: Element | undefined,\n registryTag: string,\n field: FrontendFieldDefinition,\n value: unknown,\n errorKey: string,\n disabled: boolean,\n hidden: boolean,\n onChange: (v: unknown) => void,\n): void {\n if (!host || !(host instanceof HTMLElement)) {\n return;\n }\n\n const tagLower = registryTag.toLowerCase();\n let el = host.firstElementChild as FormieFieldControlElement | null;\n\n if (!el || el.tagName.toLowerCase() !== tagLower) {\n host.replaceChildren();\n el = document.createElement(registryTag) as FormieFieldControlElement;\n el.addEventListener(FORMIE_CONTROL_VALUE_EVENT, (e) => {\n onChange((e as CustomEvent<unknown>).detail);\n });\n host.append(el);\n }\n\n el.field = field;\n el.value = value;\n el.errorKey = errorKey;\n el.disabled = disabled;\n el.hidden = hidden;\n}\n\nfunction renderRegistryControl(\n ctx: RenderViewContext,\n registryTag: string,\n field: FrontendFieldDefinition,\n value: unknown,\n errorKey: string,\n disabled: boolean,\n hidden: boolean,\n onChange: (v: unknown) => void,\n): TemplateResult {\n return html`<div\n class=\"starter-core-registry-host min-w-0\"\n ${ref((host) => {\n bindRegistryControlHost(host, registryTag, field, value, errorKey, disabled, hidden, onChange);\n })}\n ></div>`;\n}\n\nfunction wrapField(\n ctx: RenderViewContext,\n field: FrontendFieldDefinition,\n errors: string[],\n control: TemplateResult,\n layout: 'default' | 'compositePart' = 'default',\n): TemplateResult {\n if (layout === 'compositePart') {\n return wrapCompositePartField(field, errors, control);\n }\n\n const tag = ctx.registry.fieldTag;\n\n if (!tag) {\n return wrapDefaultField(field, errors, control);\n }\n\n const s = st(tag);\n\n return staticHtml`<${s} .field=${field} .errors=${errors}>${control}</${s}>`;\n}\n\n/** Matches Vue starter name-part layout: one bordered card on the parent, parts inside the grid. */\nfunction wrapCompositePartField(field: FrontendFieldDefinition, errors: string[], control: TemplateResult): TemplateResult {\n return html`\n <div class=\"starter-component-subfield\" data-formie-field-type=${field.type}>\n ${field.label\n ? html`<label class=\"starter-component-subfield-label\">${field.label}</label>`\n : nothing}\n <div class=\"starter-component-injected-control grid gap-2 text-slate-900\">${control}</div>\n ${errors.length > 0\n ? html`<ul class=\"grid gap-1 text-sm text-red-600\">\n ${errors.map((err) => html`<li>${err}</li>`)}\n </ul>`\n : nothing}\n </div>\n `;\n}\n\nfunction wrapDefaultField(field: FrontendFieldDefinition, errors: string[], control: TemplateResult): TemplateResult {\n return html`\n <div class=\"starter-component-card\" data-formie-field-type=${field.type}>\n ${field.label\n ? html`<label class=\"starter-component-label\">${field.label}</label>`\n : nothing}\n ${field.instructions\n ? html`<p class=\"starter-component-help\">${field.instructions}</p>`\n : nothing}\n <div class=\"starter-component-injected-control grid gap-2 text-slate-900\">${control}</div>\n ${errors.length > 0\n ? html`<ul class=\"grid gap-1 text-sm text-red-600\">\n ${errors.map((err) => html`<li>${err}</li>`)}\n </ul>`\n : nothing}\n </div>\n `;\n}\n\nfunction renderNestedInput(\n field: FrontendFieldDefinition,\n value: unknown,\n disabled: boolean,\n setValue: (v: unknown) => void,\n): TemplateResult {\n const contract = field.input;\n\n if (field.type === 'multi-line-text') {\n return html`\n <textarea\n class=\"starter-component-control\"\n .value=${typeof value === 'string' ? value : ''}\n ?disabled=${disabled}\n placeholder=${typeof contract.placeholder === 'string' ? contract.placeholder : ''}\n @input=${(e: Event) => {\n setValue((e.target as HTMLTextAreaElement).value);\n }}\n ></textarea>\n `;\n }\n\n if (field.type === 'dropdown') {\n const options = Array.isArray(contract.options) ? (contract.options as Array<Record<string, unknown>>) : [];\n const multiple = contract.multiple === true;\n\n return html`\n <select\n class=\"starter-component-control\"\n ?disabled=${disabled}\n multiple=${multiple}\n .value=${multiple ? undefined : typeof value === 'string' ? value : ''}\n @change=${(e: Event) => {\n const target = e.target as HTMLSelectElement;\n\n if (multiple) {\n setValue(Array.from(target.selectedOptions).map((o) => o.value));\n } else {\n setValue(target.value);\n }\n }}\n >\n ${options.map(\n (option) => html`\n <option\n value=${String(option.value ?? '')}\n ?disabled=${option.disabled === true}\n >\n ${String(option.label ?? option.value ?? '')}\n </option>\n `,\n )}\n </select>\n `;\n }\n\n const inputType =\n typeof contract.inputType === 'string'\n ? contract.inputType\n : field.type === 'email'\n ? 'email'\n : field.type === 'phone'\n ? 'tel'\n : field.type === 'number'\n ? 'number'\n : 'text';\n\n return html`\n <input\n class=\"starter-component-control\"\n type=${inputType}\n .value=${typeof value === 'string' ? value : ''}\n ?disabled=${disabled}\n placeholder=${typeof contract.placeholder === 'string' ? contract.placeholder : ''}\n @input=${(e: Event) => {\n setValue((e.target as HTMLInputElement).value);\n }}\n />\n `;\n}\n\nfunction renderDefaultControl(ctx: RenderViewContext, props: FieldNodeProps): TemplateResult {\n const { field, value, errorKey, disabled, setValue } = props;\n const contract = field.input;\n const rendererType = resolveFieldRendererType(field);\n\n if (isCompositeField(field)) {\n return renderComposite(ctx, props);\n }\n\n if (isRepeatableField(field)) {\n return renderRepeater(ctx, props);\n }\n\n if (isFileField(field)) {\n return renderFile(field, value, disabled, setValue);\n }\n\n if (rendererType === 'signature') {\n return html`<formie-internal-signature\n .field=${field}\n .modules=${ctx.state.definition.modules}\n .value=${typeof value === 'string' ? value : ''}\n ?disabled=${disabled}\n @formie-control-value-change=${(e: Event) => {\n setValue((e as CustomEvent<string>).detail);\n }}\n ></formie-internal-signature>`;\n }\n\n if (rendererType === 'multi-line-text' || rendererType === 'dropdown') {\n return renderNestedInput(field, value, disabled, setValue);\n }\n\n if (rendererType === 'radio') {\n const options = Array.isArray(contract.options) ? (contract.options as Array<Record<string, unknown>>) : [];\n\n return html`\n <div class=\"flex flex-col gap-2\">\n ${options.map((option) => {\n const optionValue = String(option.value ?? '');\n\n return html`\n <label class=\"flex items-center gap-2 text-sm text-slate-800\">\n <input\n type=\"radio\"\n name=${`${field.id}-radio`}\n .checked=${value === optionValue}\n ?disabled=${disabled}\n @change=${() => {\n setValue(optionValue);\n }}\n />\n <span>${String(option.label ?? optionValue)}</span>\n </label>\n `;\n })}\n </div>\n `;\n }\n\n if (rendererType === 'checkboxes') {\n const options = Array.isArray(contract.options) ? (contract.options as Array<Record<string, unknown>>) : [];\n const selected = Array.isArray(value) ? value.map((x) => String(x)) : [];\n\n return html`\n <div class=\"flex flex-col gap-2\">\n ${options.map((option) => {\n const optionValue = String(option.value ?? '');\n const checked = selected.includes(optionValue);\n\n return html`\n <label class=\"flex items-center gap-2 text-sm text-slate-800\">\n <input\n type=\"checkbox\"\n .checked=${checked}\n ?disabled=${disabled}\n @change=${() => {\n const next = checked\n ? selected.filter((x) => x !== optionValue)\n : [...selected, optionValue];\n\n setValue(next);\n }}\n />\n <span>${String(option.label ?? optionValue)}</span>\n </label>\n `;\n })}\n </div>\n `;\n }\n\n if (rendererType === 'agree') {\n const descriptionHtml = typeof contract.descriptionHtml === 'string' ? contract.descriptionHtml : null;\n\n return html`\n <label class=\"flex items-start gap-2 text-sm text-slate-800\">\n <input\n type=\"checkbox\"\n .checked=${value === true}\n ?disabled=${disabled}\n @change=${(e: Event) => {\n setValue((e.target as HTMLInputElement).checked);\n }}\n />\n <span>${descriptionHtml ? unsafeHTML(descriptionHtml) : field.label ?? ''}</span>\n </label>\n `;\n }\n\n if (!isKnownFrontendFieldType(rendererType)) {\n return html`<div class=\"rounded-xl border border-amber-200 bg-amber-50 p-3 text-sm text-amber-900\">\n Unknown field type:\n ${String(field.meta?.fieldType ?? field.type)}\n </div>`;\n }\n\n return renderNestedInput(field, value, disabled, setValue);\n}\n\nfunction renderFile(\n field: FrontendFieldDefinition,\n value: unknown,\n disabled: boolean,\n setValue: (v: unknown) => void,\n): TemplateResult {\n const contract = field.input;\n const files = Array.isArray(value) ? value : [];\n const multiple = contract.multiple === true;\n const items = files.map((entry, index) => {\n if (entry && typeof entry === 'object' && 'name' in entry && typeof entry.name === 'string') {\n return entry.name;\n }\n\n if (entry && typeof entry === 'object' && 'filename' in entry && typeof entry.filename === 'string') {\n return entry.filename;\n }\n\n if (entry && typeof entry === 'object' && 'assetId' in entry && typeof entry.assetId === 'number') {\n return `Asset #${entry.assetId}`;\n }\n\n return `File ${index + 1}`;\n });\n\n return html`\n <div class=\"grid gap-2\">\n <input\n type=\"file\"\n class=\"starter-component-control\"\n ?disabled=${disabled}\n multiple=${multiple}\n @change=${(e: Event) => {\n const t = e.target as HTMLInputElement;\n\n setValue(Array.from(t.files || []));\n }}\n />\n ${items.length > 0\n ? html`<ul class=\"grid gap-1 text-sm text-slate-600\">\n ${items.map((item) => html`<li>${item}</li>`)}\n </ul>`\n : nothing}\n </div>\n `;\n}\n\nfunction renderComposite(ctx: RenderViewContext, props: FieldNodeProps): TemplateResult {\n const { field, value, errorKey, disabled, setValue } = props;\n const parts = compositePartDefinitions(field);\n const current = value && typeof value === 'object' ? (value as Record<string, unknown>) : {};\n\n if (parts.length === 0) {\n return html`<div class=\"text-sm text-amber-800\">Composite field has no parts.</div>`;\n }\n\n return html`\n <div class=\"starter-component-name-grid\">\n ${parts\n .filter((part) => part.meta?.hidden !== true)\n .map((part) => {\n const partErrorKey = `${errorKey}.${part.handle}`;\n\n return renderFieldNode(\n ctx,\n {\n field: part,\n value: current[part.handle],\n errors: ctx.state.errors.fields[partErrorKey] || [],\n errorKey: partErrorKey,\n disabled: disabled || part.meta?.disabled === true,\n setValue(next) {\n setValue({\n ...current,\n [part.handle]: next,\n });\n },\n },\n 'compositePart',\n );\n })}\n </div>\n `;\n}\n\nfunction renderRepeater(ctx: RenderViewContext, props: FieldNodeProps): TemplateResult {\n const { field, value, errorKey, disabled, setValue } = props;\n const rows = repeaterRowDefinitions(field);\n const currentRows = Array.isArray(value) ? (value as Array<Record<string, unknown>>) : [];\n const contract = field.input;\n const minRows = Number(contract.minRows ?? 0) || 0;\n const maxRows = Number(contract.maxRows ?? 0) || 0;\n const canAdd = !disabled && (maxRows <= 0 || currentRows.length < maxRows);\n\n if (rows.length === 0) {\n return html`<div class=\"text-sm text-amber-800\">Repeater has no row layout.</div>`;\n }\n\n return html`\n <div class=\"grid gap-4\" data-formie-repeater-container>\n ${currentRows.map((rowValue, rowIndex) => {\n return html`\n <div class=\"rounded-xl border border-slate-200 p-4\" data-formie-repeater-item>\n ${rows.map((row, nestedRowIndex) => {\n return renderNestedRow(ctx, row, rowValue, `${errorKey}.${rowIndex}`, disabled, (rowField, next) => {\n const nextRows = currentRows.map((c, i) => {\n if (i !== rowIndex) {\n return c;\n }\n\n return { ...c, [rowField.handle]: next };\n });\n\n setValue(nextRows);\n });\n })}\n <button\n type=\"button\"\n class=\"mt-2 rounded-lg border border-slate-200 px-3 py-1.5 text-sm font-medium text-slate-700\"\n ?disabled=${disabled || (minRows > 0 && currentRows.length <= minRows)}\n @click=${() => {\n setValue(currentRows.filter((_, i) => i !== rowIndex));\n }}\n >\n Remove\n </button>\n </div>\n `;\n })}\n <button\n type=\"button\"\n class=\"rounded-xl border border-slate-200 bg-white px-4 py-2 text-sm font-semibold text-slate-700 shadow-sm\"\n ?disabled=${!canAdd}\n @click=${() => {\n setValue([...currentRows, createRepeaterRowValue(field)]);\n }}\n >\n ${String(contract.addLabel ?? 'Add another row')}\n </button>\n </div>\n `;\n}\n\ntype FieldNodeProps = {\n field: FrontendFieldDefinition;\n value: unknown;\n errors: string[];\n errorKey: string;\n disabled: boolean;\n setValue(v: unknown): void;\n};\n\nfunction renderFieldNode(\n ctx: RenderViewContext,\n props: FieldNodeProps,\n fieldLayout: 'default' | 'compositePart' = 'default',\n): TemplateResult {\n const { field, value, errors, errorKey, disabled, setValue } = props;\n const fieldState = ctx.state.fieldStates[field.id];\n const hidden = fieldState?.hidden === true;\n\n if (hidden) {\n return html``;\n }\n\n const rendererType = resolveFieldRendererType(field);\n const regTag =\n ctx.registry.fieldControls[field.type] || ctx.registry.fieldControls[rendererType] || null;\n\n const syncSet = (v: unknown) => {\n setValue(v);\n ctx.host.requestUpdate();\n };\n\n const inner = regTag\n ? renderRegistryControl(ctx, regTag, field, value, errorKey, disabled, hidden, syncSet)\n : renderDefaultControl(ctx, { ...props, setValue: syncSet });\n\n return wrapField(ctx, field, errors, inner, fieldLayout);\n}\n\nfunction renderNestedRow(\n ctx: RenderViewContext,\n row: FrontendRowDefinition,\n values: Record<string, unknown>,\n errorPrefix: string,\n disabled: boolean | undefined,\n setFieldValue: (f: FrontendFieldDefinition, v: unknown) => void,\n): TemplateResult {\n return html`\n <div class=\"starter-core-row grid gap-4\">\n ${row.fields.map((field) => {\n const ek = `${errorPrefix}.${field.handle}`;\n\n return renderFieldNode(ctx, {\n field,\n value: values[field.handle],\n errors: ctx.state.errors.fields[ek] || [],\n errorKey: ek,\n disabled: disabled === true || ctx.state.fieldStates[field.id]?.disabled === true,\n setValue(v) {\n setFieldValue(field, v);\n },\n });\n })}\n </div>\n `;\n}\n\nfunction renderTopLevelRow(ctx: RenderViewContext, row: FrontendRowDefinition): TemplateResult {\n return html`\n <div class=\"starter-core-row grid gap-4\">\n ${row.fields.map((field) => {\n return renderFieldNode(ctx, {\n field,\n value: ctx.state.values[field.id],\n errors: ctx.state.errors.fields[field.id] || [],\n errorKey: field.id,\n disabled: ctx.state.fieldStates[field.id]?.disabled === true,\n setValue(v) {\n ctx.instance.setValue(field.id, v);\n },\n });\n })}\n </div>\n `;\n}\n\nfunction renderPageActions(ctx: RenderViewContext): TemplateResult {\n const page = ctx.state.definition.pages.find((p) => p.id === ctx.state.currentPageId);\n\n if (!page) {\n return html``;\n }\n\n const pageActionsTag = ctx.registry.regions.pageActions;\n\n if (pageActionsTag) {\n const t = st(pageActionsTag);\n\n return staticHtml`<${t}\n .page=${page}\n .state=${ctx.state}\n .instance=${ctx.instance}\n ></${t}>`;\n }\n\n const secondary = page.actions.secondary.map(\n (action) => html`\n <button\n type=\"button\"\n @click=${() => {\n void ctx.instance.submit(action.type);\n }}\n >\n ${action.label}\n </button>\n `,\n );\n\n return html`\n <div class=\"formie-page-actions\">\n ${secondary}\n <button type=\"submit\">${page.actions.primary.label}</button>\n </div>\n `;\n}\n\nexport function renderFormView(ctx: RenderViewContext): TemplateResult {\n const page =\n ctx.state.definition.pages.find((p) => {\n return p.id === ctx.state.currentPageId && ctx.state.pageStates[p.id]?.hidden !== true;\n }) ||\n ctx.state.definition.pages.find((p) => ctx.state.pageStates[p.id]?.hidden !== true) ||\n ctx.state.definition.pages[0];\n\n if (!page) {\n return html``;\n }\n\n const formErrors = ctx.state.errors.form;\n const errorMessage = ctx.state.lastSubmitResult?.messages.error;\n const shouldStandaloneErr = !!errorMessage && !formErrors.includes(errorMessage);\n\n const formInner = html`\n ${formErrors.length > 0\n ? html`<div class=\"starter-core-msg starter-core-msg-error mb-4 rounded-2xl border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800\">\n <ul class=\"list-inside list-disc\">\n ${formErrors.map((e) => html`<li>${e}</li>`)}\n </ul>\n </div>`\n : nothing}\n ${ctx.state.lastSubmitResult?.messages.notice\n ? html`<div class=\"mb-4 rounded-2xl border border-emerald-200 bg-emerald-50 px-4 py-3 text-sm text-emerald-800\">\n ${ctx.state.lastSubmitResult.messages.notice}\n </div>`\n : nothing}\n ${shouldStandaloneErr\n ? html`<div class=\"mb-4 rounded-2xl border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800\">${errorMessage}</div>`\n : nothing}\n ${renderFormPage(ctx, page)}\n `;\n\n const renderId = ctx.state.session.tokens.render ?? '';\n\n return html`\n <form\n class=${ctx.formClass || 'starter-component-form starter-core-preview text-slate-900'}\n data-formie-definition=${ctx.state.definition.handle}\n data-formie-render-id=${renderId}\n @submit=${(e: Event) => {\n e.preventDefault();\n void ctx.instance.submit();\n }}\n >\n ${formInner}\n </form>\n `;\n}\n\nfunction renderFormPage(\n ctx: RenderViewContext,\n page: FrontendFormDefinition['pages'][number],\n): TemplateResult {\n const pageRegionTag = ctx.registry.regions.page;\n\n const pageBody = html`\n <div class=\"starter-core-fields grid gap-4\">\n ${page.rows.map((row) => renderTopLevelRow(ctx, row))}\n </div>\n ${renderPageActions(ctx)}\n `;\n\n if (pageRegionTag) {\n const t = st(pageRegionTag);\n\n return staticHtml`<${t} .page=${page} .state=${ctx.state}>${pageBody}</${t}>`;\n }\n\n return html`\n <section data-page-id=${page.id} class=\"starter-core-page space-y-4\">\n ${pageBody}\n </section>\n `;\n}\n\nexport function renderLoadingView(message = 'Loading form…'): TemplateResult {\n return html`<div class=\"mt-3 text-sm text-slate-500\">${message}</div>`;\n}\n\nexport function renderErrorView(message: string): TemplateResult {\n return html`<div class=\"mb-4 rounded-2xl border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-800\">${message}</div>`;\n}\n","import {\n FRONTEND_CLIENT_EVENT_NAMES,\n createFrontendFormInstance,\n createGraphqlFrontendTransport,\n createRestFrontendTransport,\n loadFrontendEnvelope,\n loadGraphqlFrontendEnvelope,\n type FrontendFormInstance,\n type FrontendFormState,\n} from '@verbb/formie-core';\nimport { LitElement } from 'lit';\nimport { html as staticHtml, unsafeStatic } from 'lit/static-html.js';\nimport { property, state } from 'lit/decorators.js';\nimport { assertValidCustomElementName, getFormieRegistry, type FormieRegistry } from './registry.js';\nimport { renderErrorView, renderFormView, renderLoadingView } from './render-view.js';\n\nfunction st(tag: string) {\n assertValidCustomElementName(tag);\n\n return unsafeStatic(tag);\n}\n\nexport class FormieCoreForm extends LitElement {\n @property({ type: String }) endpoint = '';\n\n @property({ type: String, attribute: 'form-handle' }) formHandle = '';\n\n @property({\n type: Number,\n attribute: 'site-id',\n converter: {\n fromAttribute(value: string | null): number | undefined {\n if (value == null || value === '') {\n return undefined;\n }\n\n const n = Number(value);\n\n return Number.isFinite(n) ? n : undefined;\n },\n },\n })\n siteId?: number;\n\n @property({\n attribute: 'transport',\n converter: {\n fromAttribute(value: string | null): 'rest' | 'graphql' {\n const v = (value ?? 'rest').toLowerCase();\n\n return v === 'graphql' ? 'graphql' : 'rest';\n },\n },\n })\n transport: 'rest' | 'graphql' = 'rest';\n\n @property({\n attribute: 'fetch-credentials',\n converter: {\n fromAttribute(value: string | null): RequestCredentials {\n if (value === 'omit' || value === 'same-origin' || value === 'include') {\n return value;\n }\n\n return 'same-origin';\n },\n },\n })\n fetchCredentials: RequestCredentials = 'same-origin';\n\n @property({ type: String, attribute: 'form-class' }) formClass = '';\n\n @property({ type: String, attribute: 'loading-message' }) loadingMessage = 'Loading form…';\n\n /** Per-instance UI registry (defaults to {@link getFormieRegistry}). */\n @property({ attribute: false }) registry: FormieRegistry | undefined;\n\n @state() private loadError: string | null = null;\n\n @state() private booting = false;\n\n @state() private snapshot: FrontendFormState | null = null;\n\n private instance: FrontendFormInstance | null = null;\n\n private unsubscribers: Array<() => void> = [];\n\n private loadGeneration = 0;\n\n override createRenderRoot(): HTMLElement | DocumentFragment {\n return this;\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.teardown();\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n void this.bootstrap(false);\n }\n\n protected override willUpdate(changed: Map<PropertyKey, unknown>): void {\n super.willUpdate(changed);\n\n if (!this.hasUpdated) {\n return;\n }\n\n const keys: PropertyKey[] = ['endpoint', 'formHandle', 'siteId', 'transport', 'fetchCredentials'];\n\n if (keys.some((k) => changed.has(k))) {\n void this.bootstrap(true);\n }\n }\n\n /** Form instance after a successful load; `null` while loading or after teardown. */\n getFormieInstance(): FrontendFormInstance | null {\n return this.instance;\n }\n\n /** Reload envelope + form instance from the server. */\n async reload(): Promise<void> {\n await this.bootstrap(true);\n }\n\n private get resolvedRegistry(): FormieRegistry {\n return this.registry ?? getFormieRegistry();\n }\n\n private teardown(): void {\n for (const u of this.unsubscribers) {\n u();\n }\n\n this.unsubscribers = [];\n void this.instance?.destroy();\n this.instance = null;\n this.snapshot = null;\n }\n\n private async bootstrap(force: boolean): Promise<void> {\n const generation = ++this.loadGeneration;\n\n const handle = this.formHandle.trim();\n /** Empty string is valid: core REST/GraphQL clients resolve relative to the current origin. */\n const ep = this.endpoint.trim();\n\n if (!handle) {\n this.teardown();\n this.booting = false;\n this.loadError = 'Set `form-handle` on <formie-core-form>.';\n\n return;\n }\n\n if (force) {\n this.teardown();\n } else if (this.instance) {\n return;\n }\n\n this.booting = true;\n this.loadError = null;\n\n const creds = this.fetchCredentials;\n const siteId = this.siteId;\n\n try {\n const envelopeOpts = {\n endpoint: ep,\n formHandle: handle,\n ...(siteId !== undefined ? { siteId } : {}),\n credentials: creds,\n };\n\n const envelope =\n this.transport === 'graphql'\n ? await loadGraphqlFrontendEnvelope(envelopeOpts)\n : await loadFrontendEnvelope(envelopeOpts);\n\n if (generation !== this.loadGeneration) {\n return;\n }\n\n const transport =\n this.transport === 'graphql'\n ? createGraphqlFrontendTransport(envelopeOpts)\n : createRestFrontendTransport(envelopeOpts);\n\n const instance = createFrontendFormInstance({ envelope, transport });\n\n this.instance = instance;\n\n for (const eventName of FRONTEND_CLIENT_EVENT_NAMES) {\n const off = instance.on(eventName, (detail) => {\n this.dispatchEvent(\n new CustomEvent(eventName, {\n detail,\n bubbles: true,\n composed: true,\n }),\n );\n });\n this.unsubscribers.push(off);\n }\n\n this.unsubscribers.push(\n instance.subscribe((next) => {\n this.snapshot = next;\n this.requestUpdate();\n }),\n );\n\n this.booting = false;\n } catch (error) {\n if (generation !== this.loadGeneration) {\n return;\n }\n\n this.teardown();\n this.booting = false;\n this.loadError = error instanceof Error ? error.message : 'Unable to load the form.';\n }\n }\n\n protected override render() {\n const reg = this.resolvedRegistry;\n\n if (this.loadError) {\n const errTag = reg.regions.errorSummary;\n\n if (errTag) {\n const t = st(errTag);\n\n return staticHtml`<${t} .errors=${[this.loadError]} .kind=${'load'}></${t}>`;\n }\n\n return renderErrorView(this.loadError);\n }\n\n if (this.booting || !this.snapshot || !this.instance) {\n const loadTag = reg.regions.loading;\n\n if (loadTag) {\n const t = st(loadTag);\n\n return staticHtml`<${t} .message=${this.loadingMessage}></${t}>`;\n }\n\n return renderLoadingView(this.loadingMessage);\n }\n\n return renderFormView({\n registry: reg,\n state: this.snapshot,\n instance: this.instance,\n host: this,\n formClass: this.formClass || '',\n });\n }\n}\n","import { createFormieClient, FORMIE_HTML_EVENT_NAMES } from '@verbb/formie-browser';\nimport type {\n FormAction,\n FormEndpointPayload,\n FormEventUnsubscribe,\n FormMountOptions,\n FormieClient,\n FormieFormInstance,\n FormSubmitResult,\n} from '@verbb/formie-browser';\n\nexport type FormieFormElementOptions = {\n baseUrl?: string;\n} & Partial<FormMountOptions>;\n\nfunction toBoolean(value: string | null): boolean {\n if (value == null || value === '') {\n return false;\n }\n\n const normalized = value.toLowerCase();\n return normalized === 'true' || normalized === '1';\n}\n\nfunction reflectStringAttribute(element: HTMLElement, name: string, value: string | undefined) {\n if (typeof value === 'string' && value.length > 0) {\n element.setAttribute(name, value);\n } else {\n element.removeAttribute(name);\n }\n}\n\nfunction reflectBooleanAttribute(element: HTMLElement, name: string, value: boolean | undefined) {\n if (value === true) {\n element.setAttribute(name, 'true');\n } else {\n element.removeAttribute(name);\n }\n}\n\nfunction resolveEndpoint(baseUrl: string, endpoint?: string) {\n if (!endpoint) {\n return undefined;\n }\n\n if (endpoint.startsWith('http')) {\n return endpoint;\n }\n\n return `${baseUrl}${endpoint}`;\n}\n\nexport class FormieFormElement extends HTMLElement {\n static get observedAttributes() {\n return [\n 'mode',\n 'transport',\n 'theme',\n 'form-handle',\n 'endpoint',\n 'refresh-tokens',\n 'static-cache',\n 'locale',\n 'site-id',\n 'auto-visible',\n 'base-url',\n ];\n }\n\n private client!: FormieClient;\n private mountRoot!: HTMLDivElement;\n private mountedInstance: FormieFormInstance | null = null;\n private optionState: FormieFormElementOptions = {};\n private mountScheduled: Promise<void> | null = null;\n private eventUnsubs: FormEventUnsubscribe[] = [];\n\n constructor() {\n super();\n // Spec: autonomous custom element constructors must not add attributes, children, or\n // mutate the tree. Keep this empty so `document.createElement('formie-form')` works.\n }\n\n /** Lazily create client + mount container (not in the constructor). */\n private ensureInitialized(): void {\n if (this.mountRoot) {\n return;\n }\n\n this.client = createFormieClient();\n this.mountRoot = document.createElement('div');\n }\n\n connectedCallback() {\n this.ensureInitialized();\n // Custom elements default to `display: inline`; set only after construction.\n this.style.display = 'block';\n if (!this.contains(this.mountRoot)) {\n this.append(this.mountRoot);\n }\n\n void this.scheduleMount();\n }\n\n disconnectedCallback() {\n void this.unmount();\n }\n\n attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null) {\n if (oldValue === newValue || !this.isConnected) {\n return;\n }\n\n if (name === 'refresh-tokens' && this.optionState.refreshTokens !== undefined) {\n return;\n }\n\n if (name === 'static-cache' && this.optionState.staticCache !== undefined) {\n return;\n }\n\n void this.scheduleMount();\n }\n\n get baseUrl() {\n const attributeValue = this.getAttribute('base-url');\n\n return this.optionState.baseUrl ?? attributeValue ?? undefined;\n }\n\n set baseUrl(value: string | undefined) {\n this.optionState.baseUrl = value;\n reflectStringAttribute(this, 'base-url', value);\n void this.scheduleMount();\n }\n\n get transport() {\n const attributeValue = this.getAttribute('transport') as FormMountOptions['transport'] | null;\n\n return this.optionState.transport ?? attributeValue ?? undefined;\n }\n\n set transport(value: FormMountOptions['transport'] | undefined) {\n this.optionState.transport = value;\n reflectStringAttribute(this, 'transport', value);\n void this.scheduleMount();\n }\n\n get theme() {\n const attributeValue = this.getAttribute('theme') as FormMountOptions['theme'] | null;\n\n return this.optionState.theme ?? attributeValue ?? undefined;\n }\n\n set theme(value: FormMountOptions['theme'] | undefined) {\n this.optionState.theme = value;\n reflectStringAttribute(this, 'theme', value as string | undefined);\n void this.scheduleMount();\n }\n\n get themeConfig() {\n return this.optionState.themeConfig;\n }\n\n set themeConfig(value: FormMountOptions['themeConfig'] | undefined) {\n this.optionState.themeConfig = value;\n void this.scheduleMount();\n }\n\n get payload() {\n return this.optionState.payload as FormEndpointPayload | undefined;\n }\n\n set payload(value: FormEndpointPayload | undefined) {\n this.optionState.payload = value;\n void this.scheduleMount();\n }\n\n get formHandle() {\n const attributeValue = this.getAttribute('form-handle');\n\n return this.optionState.formHandle ?? attributeValue ?? undefined;\n }\n\n set formHandle(value: string | undefined) {\n this.optionState.formHandle = value;\n reflectStringAttribute(this, 'form-handle', value);\n void this.scheduleMount();\n }\n\n get endpoint() {\n const attributeValue = this.getAttribute('endpoint');\n\n return this.optionState.endpoint ?? attributeValue ?? undefined;\n }\n\n set endpoint(value: string | undefined) {\n this.optionState.endpoint = value;\n reflectStringAttribute(this, 'endpoint', value);\n void this.scheduleMount();\n }\n\n get staticCache() {\n return this.optionState.staticCache ?? (this.hasAttribute('static-cache') ? toBoolean(this.getAttribute('static-cache')) : undefined);\n }\n\n set staticCache(value: boolean | undefined) {\n this.optionState.staticCache = value;\n reflectBooleanAttribute(this, 'static-cache', value);\n void this.scheduleMount();\n }\n\n get refreshTokens() {\n return this.optionState.refreshTokens ?? (this.hasAttribute('refresh-tokens') ? toBoolean(this.getAttribute('refresh-tokens')) : undefined);\n }\n\n set refreshTokens(value: boolean | undefined) {\n this.optionState.refreshTokens = value;\n reflectBooleanAttribute(this, 'refresh-tokens', value);\n void this.scheduleMount();\n }\n\n get locale() {\n const attributeValue = this.getAttribute('locale');\n\n return this.optionState.locale ?? attributeValue ?? undefined;\n }\n\n set locale(value: string | undefined) {\n this.optionState.locale = value;\n reflectStringAttribute(this, 'locale', value);\n void this.scheduleMount();\n }\n\n get siteId() {\n return this.optionState.siteId ?? (this.getAttribute('site-id') ? Number(this.getAttribute('site-id')) : undefined);\n }\n\n set siteId(value: number | undefined) {\n this.optionState.siteId = value;\n reflectStringAttribute(this, 'site-id', typeof value === 'number' ? String(value) : undefined);\n void this.scheduleMount();\n }\n\n get autoVisible() {\n return this.optionState.autoVisible ?? (this.hasAttribute('auto-visible') ? toBoolean(this.getAttribute('auto-visible')) : undefined);\n }\n\n set autoVisible(value: boolean | undefined) {\n this.optionState.autoVisible = value;\n reflectBooleanAttribute(this, 'auto-visible', value);\n void this.scheduleMount();\n }\n\n get mode() {\n const attributeValue = this.getAttribute('mode') as FormMountOptions['mode'] | null;\n\n return this.optionState.mode ?? attributeValue ?? 'server-rendered';\n }\n\n set mode(value: FormMountOptions['mode'] | undefined) {\n this.optionState.mode = value;\n reflectStringAttribute(this, 'mode', value);\n void this.scheduleMount();\n }\n\n getInstance(): FormieFormInstance | null {\n this.ensureInitialized();\n\n return this.mountedInstance;\n }\n\n async submit(action: FormAction = 'submit'): Promise<FormSubmitResult | null> {\n this.ensureInitialized();\n\n if (!this.mountedInstance) {\n return null;\n }\n\n return this.mountedInstance.submit(action);\n }\n\n private buildOptions(): FormMountOptions {\n const baseUrl = this.baseUrl || '';\n const transport = this.transport;\n const defaultEndpoint = transport === 'graphql'\n ? '/api'\n : '/actions/formie/server/forms/render';\n const endpoint = resolveEndpoint(baseUrl, this.endpoint || defaultEndpoint);\n const staticCache = this.staticCache;\n const refreshTokens = this.refreshTokens;\n\n return {\n mode: this.mode,\n transport,\n theme: this.theme,\n themeConfig: this.themeConfig,\n formHandle: this.formHandle,\n endpoint,\n payload: this.payload,\n staticCache,\n refreshTokens,\n locale: this.locale,\n siteId: this.siteId,\n autoVisible: this.autoVisible ?? false,\n };\n }\n\n private bindInstanceEvents(instance: FormieFormInstance) {\n this.eventUnsubs.forEach((unsubscribe) => unsubscribe());\n this.eventUnsubs = FORMIE_HTML_EVENT_NAMES.map((eventName: string) => {\n return instance.on(eventName, (detail: unknown) => {\n this.dispatchEvent(new CustomEvent(eventName, {\n detail,\n bubbles: true,\n composed: true,\n }));\n });\n });\n }\n\n private async scheduleMount(): Promise<void> {\n this.ensureInitialized();\n\n if (this.mountScheduled) {\n return this.mountScheduled;\n }\n\n this.mountScheduled = Promise.resolve().then(async() => {\n this.mountScheduled = null;\n\n if (!this.isConnected) {\n return;\n }\n\n await this.mount();\n });\n\n return this.mountScheduled;\n }\n\n private async mount(): Promise<void> {\n await this.unmount();\n\n const instance = await this.client.mount(this.mountRoot, this.buildOptions());\n this.mountedInstance = instance;\n this.bindInstanceEvents(instance);\n this.dispatchEvent(new CustomEvent('formie-mounted', {\n detail: {\n id: instance.id,\n instance,\n },\n bubbles: true,\n composed: true,\n }));\n }\n\n private async unmount(): Promise<void> {\n this.eventUnsubs.forEach((unsubscribe) => unsubscribe());\n this.eventUnsubs = [];\n\n if (!this.mountRoot || !this.mountedInstance) {\n return;\n }\n\n const instance = this.mountedInstance;\n await this.client.unmount(this.mountRoot);\n this.mountedInstance = null;\n this.dispatchEvent(new CustomEvent('formie-unmounted', {\n detail: {\n id: instance.id,\n },\n bubbles: true,\n composed: true,\n }));\n }\n}\n","import { html, LitElement, css } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport type { FrontendFieldDefinition, FrontendFormDefinition } from '@verbb/formie-core';\nimport { FORMIE_CONTROL_VALUE_EVENT } from './types.js';\n\n/** Internal `<formie-internal-signature>` used by `<formie-core-form>` for draw-signature fields. */\nexport class FormieInternalSignature extends LitElement {\n static override styles = css`\n :host {\n display: block;\n }\n .wrap {\n display: grid;\n gap: 0.5rem;\n }\n canvas {\n width: 100%;\n height: 12rem;\n border-radius: 0.75rem;\n border: 1px dashed #fda4af;\n background: linear-gradient(180deg, #fff1f2 0%, #fff 100%);\n }\n button {\n justify-self: start;\n border-radius: 0.75rem;\n border: 1px solid #cbd5e1;\n background: #fff;\n padding: 0.45rem 0.85rem;\n font-size: 0.875rem;\n font-weight: 600;\n color: #334155;\n cursor: pointer;\n }\n button:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n .err {\n font-size: 0.875rem;\n color: #b91c1c;\n }\n `;\n\n @property({ attribute: false })\n field!: FrontendFieldDefinition;\n\n @property({ attribute: false })\n modules: FrontendFormDefinition['modules'] = [];\n\n @property({ type: String })\n value = '';\n\n @property({ type: Boolean })\n disabled = false;\n\n @state()\n private loadError: string | null = null;\n\n private pad: {\n clear: () => void;\n isEmpty: () => boolean;\n toDataURL: () => string;\n fromDataURL: (v: string) => void;\n addEventListener?: (n: string, fn: () => void) => void;\n removeEventListener?: (n: string, fn: () => void) => void;\n } | null = null;\n\n private strokeListener = (): void => {\n this.emitValue();\n };\n\n override async firstUpdated(): Promise<void> {\n const canvas = this.shadowRoot?.querySelector('canvas');\n\n if (!canvas || !(canvas instanceof HTMLCanvasElement)) {\n return;\n }\n\n try {\n const { default: SignaturePad } = await import('signature_pad');\n const moduleConfig = this.resolveDrawModuleConfig();\n const backgroundColor =\n typeof moduleConfig?.options === 'object' &&\n moduleConfig.options &&\n typeof (moduleConfig.options as Record<string, unknown>).backgroundColor === 'string'\n ? String((moduleConfig.options as Record<string, unknown>).backgroundColor)\n : '#ffffff';\n const penColor =\n typeof moduleConfig?.options === 'object' &&\n moduleConfig.options &&\n typeof (moduleConfig.options as Record<string, unknown>).penColor === 'string'\n ? String((moduleConfig.options as Record<string, unknown>).penColor)\n : '#000000';\n const penWeight =\n typeof moduleConfig?.options === 'object' && moduleConfig.options\n ? Number((moduleConfig.options as Record<string, unknown>).penWeight ?? 2) || 2\n : 2;\n\n const pad = new SignaturePad(canvas, {\n backgroundColor,\n penColor,\n minWidth: penWeight,\n maxWidth: penWeight,\n }) as unknown as NonNullable<FormieInternalSignature['pad']>;\n\n this.pad = pad;\n pad.addEventListener?.('endStroke', this.strokeListener);\n this.resizeCanvas(canvas);\n window.addEventListener('resize', this.onWinResize);\n this.applySerializedValue();\n } catch (e) {\n this.loadError = e instanceof Error ? e.message : 'Signature pad failed to load.';\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n window.removeEventListener('resize', this.onWinResize);\n\n if (this.pad?.removeEventListener) {\n this.pad.removeEventListener('endStroke', this.strokeListener);\n }\n\n this.pad = null;\n }\n\n private onWinResize = (): void => {\n const canvas = this.shadowRoot?.querySelector('canvas');\n\n if (canvas instanceof HTMLCanvasElement) {\n this.resizeCanvas(canvas);\n }\n };\n\n private resolveDrawModuleConfig(): { options?: Record<string, unknown> } | null {\n const refs = new Set(this.field.moduleRefs || []);\n const mod = this.modules.find((m) => {\n return refs.has(m.id) && m.capability === 'draw-signature';\n });\n\n return mod && typeof mod.config === 'object' && mod.config\n ? (mod.config as { options?: Record<string, unknown> })\n : null;\n }\n\n private resizeCanvas(canvas: HTMLCanvasElement): void {\n const ratio = Math.max(window.devicePixelRatio || 1, 1);\n const width = Math.max(1, Math.floor(canvas.clientWidth || 480));\n const height = 192;\n const ctx = canvas.getContext('2d');\n\n canvas.width = width * ratio;\n canvas.height = height * ratio;\n ctx?.scale(ratio, ratio);\n canvas.style.width = `${width}px`;\n canvas.style.height = `${height}px`;\n this.pad?.fromDataURL?.(this.value || 'data:,');\n }\n\n override updated(changed: Map<string, unknown>): void {\n if (changed.has('value') && this.pad) {\n this.applySerializedValue();\n }\n\n if (changed.has('disabled') && this.pad) {\n const canvas = this.shadowRoot?.querySelector('canvas');\n\n if (canvas instanceof HTMLElement) {\n canvas.style.pointerEvents = this.disabled ? 'none' : '';\n }\n }\n }\n\n private applySerializedValue(): void {\n if (!this.pad) {\n return;\n }\n\n if (!this.value) {\n if (!this.pad.isEmpty()) {\n this.pad.clear();\n }\n\n return;\n }\n\n try {\n this.pad.fromDataURL(this.value);\n } catch {\n /* ignore */\n }\n }\n\n private emitValue(): void {\n if (!this.pad || this.pad.isEmpty()) {\n this.dispatchEvent(\n new CustomEvent(FORMIE_CONTROL_VALUE_EVENT, {\n detail: '',\n bubbles: true,\n composed: true,\n }),\n );\n\n return;\n }\n\n this.dispatchEvent(\n new CustomEvent(FORMIE_CONTROL_VALUE_EVENT, {\n detail: this.pad.toDataURL(),\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n override render() {\n if (this.loadError) {\n return html`<div class=\"err\">${this.loadError}</div>`;\n }\n\n return html`\n <div class=\"wrap\">\n <canvas></canvas>\n <button type=\"button\" ?disabled=${this.disabled} @click=${() => {\n this.pad?.clear();\n this.dispatchEvent(\n new CustomEvent(FORMIE_CONTROL_VALUE_EVENT, {\n detail: '',\n bubbles: true,\n composed: true,\n }),\n );\n }}>Clear</button>\n </div>\n `;\n }\n}\n","import { FormieCoreForm } from './formie-core-form.js';\nimport { FormieFormElement } from './form-element.js';\nimport { FormieInternalSignature } from './signature-element.js';\n\nexport type { FormieFormElementOptions } from './form-element.js';\nexport { FormieFormElement } from './form-element.js';\n\nexport type { FormieRegionKey, FormieFieldControlElement, FormieFieldElement } from './types.js';\nexport { FORMIE_CONTROL_VALUE_EVENT } from './types.js';\nexport {\n assertValidCustomElementName,\n createFormieRegistry,\n FormieRegistry,\n getFormieRegistry,\n} from './registry.js';\nexport type { FormieRenderHost, RenderViewContext } from './render-view.js';\nexport { renderErrorView, renderFormView, renderLoadingView } from './render-view.js';\nexport { FormieCoreForm } from './formie-core-form.js';\nexport { FormieInternalSignature } from './signature-element.js';\nexport { isFieldDefinition, resolveFieldRendererType } from './field-utils.js';\n\nlet allRegistered = false;\n\n/**\n * Registers all Formie custom elements: `formie-form` (server-rendered forms via formie-browser),\n * `formie-core-form` (definition-driven UI), and `formie-internal-signature`.\n * Safe to call more than once.\n */\nexport function registerFormieWebComponents(): void {\n if (allRegistered) {\n return;\n }\n\n allRegistered = true;\n\n if (!customElements.get('formie-form')) {\n customElements.define('formie-form', FormieFormElement);\n }\n\n if (!customElements.get('formie-internal-signature')) {\n customElements.define('formie-internal-signature', FormieInternalSignature);\n }\n\n if (!customElements.get('formie-core-form')) {\n customElements.define('formie-core-form', FormieCoreForm);\n }\n}\n\nexport { createFormieClient } from '@verbb/formie-browser';\nexport type {\n FormAction,\n FormDefinitionPayload,\n FormEndpointPayload,\n FormEventUnsubscribe,\n FormMountOptions,\n FormieClient,\n FormieFormInstance,\n FormSubmitResult,\n} from '@verbb/formie-browser';\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,8,9,10,11,12],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { FormieRegionKey } from './types.js';
|
|
2
|
+
export declare function assertValidCustomElementName(name: string): void;
|
|
3
|
+
/**
|
|
4
|
+
* UI overrides for `<formie-core-form>`. Assign to `formie-core-form.registry` or mutate the
|
|
5
|
+
* default singleton from {@link getFormieRegistry}.
|
|
6
|
+
*/
|
|
7
|
+
export declare class FormieRegistry {
|
|
8
|
+
/**
|
|
9
|
+
* Map `field.type` or renderer key (e.g. `single-line-text`) → custom element tag.
|
|
10
|
+
* Controls receive `field`, `value`, `errorKey`, `disabled`, `hidden` and emit
|
|
11
|
+
* `formie-control-value-change` with `event.detail` = next value.
|
|
12
|
+
*/
|
|
13
|
+
fieldControls: Partial<Record<string, string>>;
|
|
14
|
+
/**
|
|
15
|
+
* When set, each **field** is rendered with this custom element (label, instructions,
|
|
16
|
+
* control slot, errors). Distinct from {@link FormieRegistry.registerFieldControl}, which
|
|
17
|
+
* replaces only the control.
|
|
18
|
+
*/
|
|
19
|
+
fieldTag: string | null;
|
|
20
|
+
/** Replace default layout regions with custom element tags (advanced). */
|
|
21
|
+
regions: Partial<Record<FormieRegionKey, string>>;
|
|
22
|
+
registerFieldControl(fieldKey: string, customElementTag: string): this;
|
|
23
|
+
/** Register a custom element used as the **field** host for every question. */
|
|
24
|
+
registerField(customElementTag: string): this;
|
|
25
|
+
registerRegion(key: FormieRegionKey, customElementTag: string): this;
|
|
26
|
+
clone(): FormieRegistry;
|
|
27
|
+
}
|
|
28
|
+
export declare function getFormieRegistry(): FormieRegistry;
|
|
29
|
+
export declare function createFormieRegistry(): FormieRegistry;
|
|
30
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAM/D;AAED;;;GAGG;AACH,qBAAa,cAAc;IACvB;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAM;IAEpD;;;;OAIG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE/B,0EAA0E;IAC1E,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAM;IAEvD,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAOtE,+EAA+E;IAC/E,aAAa,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAO7C,cAAc,CAAC,GAAG,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAOpE,KAAK,IAAI,cAAc;CAQ1B;AAID,wBAAgB,iBAAiB,IAAI,cAAc,CAElD;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAErD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type FrontendFormInstance, type FrontendFormState } from '@verbb/formie-core';
|
|
2
|
+
import { type TemplateResult } from 'lit';
|
|
3
|
+
import { type FormieRegistry } from './registry.js';
|
|
4
|
+
import type { LitElement } from 'lit';
|
|
5
|
+
export type FormieRenderHost = LitElement & {
|
|
6
|
+
requestUpdate(name?: PropertyKey, oldValue?: unknown): void;
|
|
7
|
+
};
|
|
8
|
+
export type RenderViewContext = {
|
|
9
|
+
registry: FormieRegistry;
|
|
10
|
+
state: FrontendFormState;
|
|
11
|
+
instance: FrontendFormInstance;
|
|
12
|
+
host: FormieRenderHost;
|
|
13
|
+
formClass: string;
|
|
14
|
+
};
|
|
15
|
+
export declare function renderFormView(ctx: RenderViewContext): TemplateResult;
|
|
16
|
+
export declare function renderLoadingView(message?: string): TemplateResult;
|
|
17
|
+
export declare function renderErrorView(message: string): TemplateResult;
|
|
18
|
+
//# sourceMappingURL=render-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-view.d.ts","sourceRoot":"","sources":["../src/render-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAUH,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EAEzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAIzD,OAAO,EAAgC,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAGlF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEtC,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG;IACxC,aAAa,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC/D,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AA0kBF,wBAAgB,cAAc,CAAC,GAAG,EAAE,iBAAiB,GAAG,cAAc,CAkDrE;AA4BD,wBAAgB,iBAAiB,CAAC,OAAO,SAAkB,GAAG,cAAc,CAE3E;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAE/D"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import type { FrontendFieldDefinition, FrontendFormDefinition } from '@verbb/formie-core';
|
|
3
|
+
/** Internal `<formie-internal-signature>` used by `<formie-core-form>` for draw-signature fields. */
|
|
4
|
+
export declare class FormieInternalSignature extends LitElement {
|
|
5
|
+
static styles: import("lit").CSSResult;
|
|
6
|
+
field: FrontendFieldDefinition;
|
|
7
|
+
modules: FrontendFormDefinition['modules'];
|
|
8
|
+
value: string;
|
|
9
|
+
disabled: boolean;
|
|
10
|
+
private loadError;
|
|
11
|
+
private pad;
|
|
12
|
+
private strokeListener;
|
|
13
|
+
firstUpdated(): Promise<void>;
|
|
14
|
+
disconnectedCallback(): void;
|
|
15
|
+
private onWinResize;
|
|
16
|
+
private resolveDrawModuleConfig;
|
|
17
|
+
private resizeCanvas;
|
|
18
|
+
updated(changed: Map<string, unknown>): void;
|
|
19
|
+
private applySerializedValue;
|
|
20
|
+
private emitValue;
|
|
21
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=signature-element.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signature-element.d.ts","sourceRoot":"","sources":["../src/signature-element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAO,MAAM,KAAK,CAAC;AAE5C,OAAO,KAAK,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAG1F,qGAAqG;AACrG,qBAAa,uBAAwB,SAAQ,UAAU;IACnD,OAAgB,MAAM,0BAkCpB;IAGF,KAAK,EAAG,uBAAuB,CAAC;IAGhC,OAAO,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAM;IAGhD,KAAK,SAAM;IAGX,QAAQ,UAAS;IAGjB,OAAO,CAAC,SAAS,CAAuB;IAExC,OAAO,CAAC,GAAG,CAOK;IAEhB,OAAO,CAAC,cAAc,CAEpB;IAEa,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA4CnC,oBAAoB,IAAI,IAAI;IAWrC,OAAO,CAAC,WAAW,CAMjB;IAEF,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,YAAY;IAcX,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAcrD,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,SAAS;IAsBR,MAAM;CAqBlB"}
|