@overmap-ai/forms 1.0.39-field-groups.1 → 1.0.39-field-groups.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/form/builder/context.d.ts +1 -1
- package/dist/forms.js +237 -237
- package/dist/forms.umd.cjs +2 -2
- package/package.json +1 -1
package/dist/forms.umd.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(A,f){typeof exports=="object"&&typeof module<"u"?f(exports,require("react/jsx-runtime"),require("@overmap-ai/blocks"),require("class-variance-authority"),require("react"),require("@xyflow/react/dist/style.css"),require("@xyflow/react"),require("graphology-dag"),require("react-hook-form"),require("uuid"),require("@hello-pangea/dnd"),require("file-saver"),require("react-zxing"),require("graphology"),require("graphology-traversal"),require("lodash.get"),require("lodash.set")
|
|
1
|
+
(function(A,f){typeof exports=="object"&&typeof module<"u"?f(exports,require("react/jsx-runtime"),require("@overmap-ai/blocks"),require("class-variance-authority"),require("react"),require("@xyflow/react/dist/style.css"),require("@xyflow/react"),require("graphology-dag"),require("react-hook-form"),require("uuid"),require("@hello-pangea/dnd"),require("file-saver"),require("react-zxing"),require("@dagrejs/dagre"),require("graphology"),require("graphology-traversal"),require("lodash.get"),require("lodash.set")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","@overmap-ai/blocks","class-variance-authority","react","@xyflow/react/dist/style.css","@xyflow/react","graphology-dag","react-hook-form","uuid","@hello-pangea/dnd","file-saver","react-zxing","@dagrejs/dagre","graphology","graphology-traversal","lodash.get","lodash.set"],f):(A=typeof globalThis<"u"?globalThis:A||self,f(A.forms={},A.jsxRuntime,A.blocks,A.classVarianceAuthority,A.React,null,A.react,A.graphologyDag,A.reactHookForm,A.uuid,A.dnd,A.fileSaver,A.reactZxing,A.Dagre,A.graphology,A.graphologyTraversal,A.get,A.set))})(this,function(A,f,v,$e,w,Sf,le,ki,We,R,tn,Ri,Ui,Gi,Ls,zs,Hi,ks){"use strict";var Af=Object.defineProperty;var Ef=(A,f,v)=>f in A?Af(A,f,{enumerable:!0,configurable:!0,writable:!0,value:v}):A[f]=v;var D=(A,f,v)=>Ef(A,typeof f!="symbol"?f+"":f,v);/**
|
|
2
2
|
* @license lucide-react v0.542.0 - ISC
|
|
3
3
|
*
|
|
4
4
|
* This source code is licensed under the ISC license.
|
|
@@ -267,4 +267,4 @@
|
|
|
267
267
|
`),e.append(`>>
|
|
268
268
|
`),e.toString()},r.prototype.setMode=function(e){this.mode=e},r.prototype.setECLevel=function(e){this.ecLevel=e},r.prototype.setVersion=function(e){this.version=e},r.prototype.setMaskPattern=function(e){this.maskPattern=e},r.prototype.setMatrix=function(e){this.matrix=e},r.isValidMaskPattern=function(e){return e>=0&&e<r.NUM_MASK_PATTERNS},r.NUM_MASK_PATTERNS=8,r}(),cd=function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var a in i)i.hasOwnProperty(a)&&(n[a]=i[a])},r(e,t)};return function(e,t){r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}(),ae=function(r){cd(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.kind="WriterException",e}(Le),Ya=function(){function r(){}return r.clearMatrix=function(e){e.clear(255)},r.buildMatrix=function(e,t,n,i,a){r.clearMatrix(a),r.embedBasicPatterns(n,a),r.embedTypeInfo(t,i,a),r.maybeEmbedVersionInfo(n,a),r.embedDataBits(e,i,a)},r.embedBasicPatterns=function(e,t){r.embedPositionDetectionPatternsAndSeparators(t),r.embedDarkDotAtLeftBottomCorner(t),r.maybeEmbedPositionAdjustmentPatterns(e,t),r.embedTimingPatterns(t)},r.embedTypeInfo=function(e,t,n){var i=new ye;r.makeTypeInfoBits(e,t,i);for(var a=0,o=i.getSize();a<o;++a){var s=i.get(i.getSize()-1-a),l=r.TYPE_INFO_COORDINATES[a],u=l[0],c=l[1];if(n.setBoolean(u,c,s),a<8){var d=n.getWidth()-a-1,h=8;n.setBoolean(d,h,s)}else{var d=8,h=n.getHeight()-7+(a-8);n.setBoolean(d,h,s)}}},r.maybeEmbedVersionInfo=function(e,t){if(!(e.getVersionNumber()<7)){var n=new ye;r.makeVersionInfoBits(e,n);for(var i=17,a=0;a<6;++a)for(var o=0;o<3;++o){var s=n.get(i);i--,t.setBoolean(a,t.getHeight()-11+o,s),t.setBoolean(t.getHeight()-11+o,a,s)}}},r.embedDataBits=function(e,t,n){for(var i=0,a=-1,o=n.getWidth()-1,s=n.getHeight()-1;o>0;){for(o===6&&(o-=1);s>=0&&s<n.getHeight();){for(var l=0;l<2;++l){var u=o-l;if(r.isEmpty(n.get(u,s))){var c=void 0;i<e.getSize()?(c=e.get(i),++i):c=!1,t!==255&&ar.getDataMaskBit(t,u,s)&&(c=!c),n.setBoolean(u,s,c)}}s+=a}a=-a,s+=a,o-=2}if(i!==e.getSize())throw new ae("Not all bits consumed: "+i+"/"+e.getSize())},r.findMSBSet=function(e){return 32-q.numberOfLeadingZeros(e)},r.calculateBCHCode=function(e,t){if(t===0)throw new k("0 polynomial");var n=r.findMSBSet(t);for(e<<=n-1;r.findMSBSet(e)>=n;)e^=t<<r.findMSBSet(e)-n;return e},r.makeTypeInfoBits=function(e,t,n){if(!Zn.isValidMaskPattern(t))throw new ae("Invalid mask pattern");var i=e.getBits()<<3|t;n.appendBits(i,5);var a=r.calculateBCHCode(i,r.TYPE_INFO_POLY);n.appendBits(a,10);var o=new ye;if(o.appendBits(r.TYPE_INFO_MASK_PATTERN,15),n.xor(o),n.getSize()!==15)throw new ae("should not happen but we got: "+n.getSize())},r.makeVersionInfoBits=function(e,t){t.appendBits(e.getVersionNumber(),6);var n=r.calculateBCHCode(e.getVersionNumber(),r.VERSION_INFO_POLY);if(t.appendBits(n,12),t.getSize()!==18)throw new ae("should not happen but we got: "+t.getSize())},r.isEmpty=function(e){return e===255},r.embedTimingPatterns=function(e){for(var t=8;t<e.getWidth()-8;++t){var n=(t+1)%2;r.isEmpty(e.get(t,6))&&e.setNumber(t,6,n),r.isEmpty(e.get(6,t))&&e.setNumber(6,t,n)}},r.embedDarkDotAtLeftBottomCorner=function(e){if(e.get(8,e.getHeight()-8)===0)throw new ae;e.setNumber(8,e.getHeight()-8,1)},r.embedHorizontalSeparationPattern=function(e,t,n){for(var i=0;i<8;++i){if(!r.isEmpty(n.get(e+i,t)))throw new ae;n.setNumber(e+i,t,0)}},r.embedVerticalSeparationPattern=function(e,t,n){for(var i=0;i<7;++i){if(!r.isEmpty(n.get(e,t+i)))throw new ae;n.setNumber(e,t+i,0)}},r.embedPositionAdjustmentPattern=function(e,t,n){for(var i=0;i<5;++i)for(var a=r.POSITION_ADJUSTMENT_PATTERN[i],o=0;o<5;++o)n.setNumber(e+o,t+i,a[o])},r.embedPositionDetectionPattern=function(e,t,n){for(var i=0;i<7;++i)for(var a=r.POSITION_DETECTION_PATTERN[i],o=0;o<7;++o)n.setNumber(e+o,t+i,a[o])},r.embedPositionDetectionPatternsAndSeparators=function(e){var t=r.POSITION_DETECTION_PATTERN[0].length;r.embedPositionDetectionPattern(0,0,e),r.embedPositionDetectionPattern(e.getWidth()-t,0,e),r.embedPositionDetectionPattern(0,e.getWidth()-t,e);var n=8;r.embedHorizontalSeparationPattern(0,n-1,e),r.embedHorizontalSeparationPattern(e.getWidth()-n,n-1,e),r.embedHorizontalSeparationPattern(0,e.getWidth()-n,e);var i=7;r.embedVerticalSeparationPattern(i,0,e),r.embedVerticalSeparationPattern(e.getHeight()-i-1,0,e),r.embedVerticalSeparationPattern(i,e.getHeight()-i,e)},r.maybeEmbedPositionAdjustmentPatterns=function(e,t){if(!(e.getVersionNumber()<2))for(var n=e.getVersionNumber()-1,i=r.POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE[n],a=0,o=i.length;a!==o;a++){var s=i[a];if(s>=0)for(var l=0;l!==o;l++){var u=i[l];u>=0&&r.isEmpty(t.get(u,s))&&r.embedPositionAdjustmentPattern(u-2,s-2,t)}}},r.POSITION_DETECTION_PATTERN=Array.from([Int32Array.from([1,1,1,1,1,1,1]),Int32Array.from([1,0,0,0,0,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,1,1,1,0,1]),Int32Array.from([1,0,0,0,0,0,1]),Int32Array.from([1,1,1,1,1,1,1])]),r.POSITION_ADJUSTMENT_PATTERN=Array.from([Int32Array.from([1,1,1,1,1]),Int32Array.from([1,0,0,0,1]),Int32Array.from([1,0,1,0,1]),Int32Array.from([1,0,0,0,1]),Int32Array.from([1,1,1,1,1])]),r.POSITION_ADJUSTMENT_PATTERN_COORDINATE_TABLE=Array.from([Int32Array.from([-1,-1,-1,-1,-1,-1,-1]),Int32Array.from([6,18,-1,-1,-1,-1,-1]),Int32Array.from([6,22,-1,-1,-1,-1,-1]),Int32Array.from([6,26,-1,-1,-1,-1,-1]),Int32Array.from([6,30,-1,-1,-1,-1,-1]),Int32Array.from([6,34,-1,-1,-1,-1,-1]),Int32Array.from([6,22,38,-1,-1,-1,-1]),Int32Array.from([6,24,42,-1,-1,-1,-1]),Int32Array.from([6,26,46,-1,-1,-1,-1]),Int32Array.from([6,28,50,-1,-1,-1,-1]),Int32Array.from([6,30,54,-1,-1,-1,-1]),Int32Array.from([6,32,58,-1,-1,-1,-1]),Int32Array.from([6,34,62,-1,-1,-1,-1]),Int32Array.from([6,26,46,66,-1,-1,-1]),Int32Array.from([6,26,48,70,-1,-1,-1]),Int32Array.from([6,26,50,74,-1,-1,-1]),Int32Array.from([6,30,54,78,-1,-1,-1]),Int32Array.from([6,30,56,82,-1,-1,-1]),Int32Array.from([6,30,58,86,-1,-1,-1]),Int32Array.from([6,34,62,90,-1,-1,-1]),Int32Array.from([6,28,50,72,94,-1,-1]),Int32Array.from([6,26,50,74,98,-1,-1]),Int32Array.from([6,30,54,78,102,-1,-1]),Int32Array.from([6,28,54,80,106,-1,-1]),Int32Array.from([6,32,58,84,110,-1,-1]),Int32Array.from([6,30,58,86,114,-1,-1]),Int32Array.from([6,34,62,90,118,-1,-1]),Int32Array.from([6,26,50,74,98,122,-1]),Int32Array.from([6,30,54,78,102,126,-1]),Int32Array.from([6,26,52,78,104,130,-1]),Int32Array.from([6,30,56,82,108,134,-1]),Int32Array.from([6,34,60,86,112,138,-1]),Int32Array.from([6,30,58,86,114,142,-1]),Int32Array.from([6,34,62,90,118,146,-1]),Int32Array.from([6,30,54,78,102,126,150]),Int32Array.from([6,24,50,76,102,128,154]),Int32Array.from([6,28,54,80,106,132,158]),Int32Array.from([6,32,58,84,110,136,162]),Int32Array.from([6,26,54,82,110,138,166]),Int32Array.from([6,30,58,86,114,142,170])]),r.TYPE_INFO_COORDINATES=Array.from([Int32Array.from([8,0]),Int32Array.from([8,1]),Int32Array.from([8,2]),Int32Array.from([8,3]),Int32Array.from([8,4]),Int32Array.from([8,5]),Int32Array.from([8,7]),Int32Array.from([8,8]),Int32Array.from([7,8]),Int32Array.from([5,8]),Int32Array.from([4,8]),Int32Array.from([3,8]),Int32Array.from([2,8]),Int32Array.from([1,8]),Int32Array.from([0,8])]),r.VERSION_INFO_POLY=7973,r.TYPE_INFO_POLY=1335,r.TYPE_INFO_MASK_PATTERN=21522,r}(),dd=function(){function r(e,t){this.dataBytes=e,this.errorCorrectionBytes=t}return r.prototype.getDataBytes=function(){return this.dataBytes},r.prototype.getErrorCorrectionBytes=function(){return this.errorCorrectionBytes},r}(),Za=function(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};(function(){function r(){}return r.calculateMaskPenalty=function(e){return ar.applyMaskPenaltyRule1(e)+ar.applyMaskPenaltyRule2(e)+ar.applyMaskPenaltyRule3(e)+ar.applyMaskPenaltyRule4(e)},r.encode=function(e,t,n){n===void 0&&(n=null);var i=r.DEFAULT_BYTE_MODE_ENCODING,a=n!==null&&n.get(kr.CHARACTER_SET)!==void 0;a&&(i=n.get(kr.CHARACTER_SET).toString());var o=this.chooseMode(e,i),s=new ye;if(o===ie.BYTE&&(a||r.DEFAULT_BYTE_MODE_ENCODING!==i)){var l=fe.getCharacterSetECIByName(i);l!==void 0&&this.appendECI(l,s)}this.appendModeInfo(o,s);var u=new ye;this.appendBytes(e,o,u,i);var c;if(n!==null&&n.get(kr.QR_VERSION)!==void 0){var d=Number.parseInt(n.get(kr.QR_VERSION).toString(),10);c=It.getVersionForNumber(d);var h=this.calculateBitsNeeded(o,s,u,c);if(!this.willFit(h,c,t))throw new ae("Data too big for requested version")}else c=this.recommendVersion(t,o,s,u);var p=new ye;p.appendBitArray(s);var g=o===ie.BYTE?u.getSizeInBytes():e.length;this.appendLengthInfo(g,c,o,p),p.appendBitArray(u);var x=c.getECBlocksForLevel(t),C=c.getTotalCodewords()-x.getTotalECCodewords();this.terminateBits(C,p);var m=this.interleaveWithECBytes(p,c.getTotalCodewords(),C,x.getNumBlocks()),_=new Zn;_.setECLevel(t),_.setMode(o),_.setVersion(c);var S=c.getDimensionForVersion(),E=new ud(S,S),O=this.chooseMaskPattern(m,t,c,E);return _.setMaskPattern(O),Ya.buildMatrix(m,t,c,O,E),_.setMatrix(E),_},r.recommendVersion=function(e,t,n,i){var a=this.calculateBitsNeeded(t,n,i,It.getVersionForNumber(1)),o=this.chooseVersion(a,e),s=this.calculateBitsNeeded(t,n,i,o);return this.chooseVersion(s,e)},r.calculateBitsNeeded=function(e,t,n,i){return t.getSize()+e.getCharacterCountBits(i)+n.getSize()},r.getAlphanumericCode=function(e){return e<r.ALPHANUMERIC_TABLE.length?r.ALPHANUMERIC_TABLE[e]:-1},r.chooseMode=function(e,t){if(t===void 0&&(t=null),fe.SJIS.getName()===t&&this.isOnlyDoubleByteKanji(e))return ie.KANJI;for(var n=!1,i=!1,a=0,o=e.length;a<o;++a){var s=e.charAt(a);if(r.isDigit(s))n=!0;else if(this.getAlphanumericCode(s.charCodeAt(0))!==-1)i=!0;else return ie.BYTE}return i?ie.ALPHANUMERIC:n?ie.NUMERIC:ie.BYTE},r.isOnlyDoubleByteKanji=function(e){var t;try{t=Ge.encode(e,fe.SJIS)}catch{return!1}var n=t.length;if(n%2!==0)return!1;for(var i=0;i<n;i+=2){var a=t[i]&255;if((a<129||a>159)&&(a<224||a>235))return!1}return!0},r.chooseMaskPattern=function(e,t,n,i){for(var a=Number.MAX_SAFE_INTEGER,o=-1,s=0;s<Zn.NUM_MASK_PATTERNS;s++){Ya.buildMatrix(e,t,n,s,i);var l=this.calculateMaskPenalty(i);l<a&&(a=l,o=s)}return o},r.chooseVersion=function(e,t){for(var n=1;n<=40;n++){var i=It.getVersionForNumber(n);if(r.willFit(e,i,t))return i}throw new ae("Data too big")},r.willFit=function(e,t,n){var i=t.getTotalCodewords(),a=t.getECBlocksForLevel(n),o=a.getTotalECCodewords(),s=i-o,l=(e+7)/8;return s>=l},r.terminateBits=function(e,t){var n=e*8;if(t.getSize()>n)throw new ae("data bits cannot fit in the QR Code"+t.getSize()+" > "+n);for(var i=0;i<4&&t.getSize()<n;++i)t.appendBit(!1);var a=t.getSize()&7;if(a>0)for(var i=a;i<8;i++)t.appendBit(!1);for(var o=e-t.getSizeInBytes(),i=0;i<o;++i)t.appendBits((i&1)===0?236:17,8);if(t.getSize()!==n)throw new ae("Bits size does not equal capacity")},r.getNumDataBytesAndNumECBytesForBlockID=function(e,t,n,i,a,o){if(i>=n)throw new ae("Block ID too large");var s=e%n,l=n-s,u=Math.floor(e/n),c=u+1,d=Math.floor(t/n),h=d+1,p=u-d,g=c-h;if(p!==g)throw new ae("EC bytes mismatch");if(n!==l+s)throw new ae("RS blocks mismatch");if(e!==(d+p)*l+(h+g)*s)throw new ae("Total bytes mismatch");i<l?(a[0]=d,o[0]=p):(a[0]=h,o[0]=g)},r.interleaveWithECBytes=function(e,t,n,i){var a,o,s,l;if(e.getSizeInBytes()!==n)throw new ae("Number of bits and data bytes does not match");for(var u=0,c=0,d=0,h=new Array,p=0;p<i;++p){var g=new Int32Array(1),x=new Int32Array(1);r.getNumDataBytesAndNumECBytesForBlockID(t,n,i,p,g,x);var C=g[0],m=new Uint8Array(C);e.toBytes(8*u,m,0,C);var _=r.generateECBytes(m,x[0]);h.push(new dd(m,_)),c=Math.max(c,C),d=Math.max(d,_.length),u+=g[0]}if(n!==u)throw new ae("Data bytes does not match offset");for(var S=new ye,p=0;p<c;++p)try{for(var E=(a=void 0,Za(h)),O=E.next();!O.done;O=E.next()){var b=O.value,m=b.getDataBytes();p<m.length&&S.appendBits(m[p],8)}}catch(z){a={error:z}}finally{try{O&&!O.done&&(o=E.return)&&o.call(E)}finally{if(a)throw a.error}}for(var p=0;p<d;++p)try{for(var T=(s=void 0,Za(h)),M=T.next();!M.done;M=T.next()){var b=M.value,_=b.getErrorCorrectionBytes();p<_.length&&S.appendBits(_[p],8)}}catch(z){s={error:z}}finally{try{M&&!M.done&&(l=T.return)&&l.call(T)}finally{if(s)throw s.error}}if(t!==S.getSizeInBytes())throw new ae("Interleaving error: "+t+" and "+S.getSizeInBytes()+" differ.");return S},r.generateECBytes=function(e,t){for(var n=e.length,i=new Int32Array(n+t),a=0;a<n;a++)i[a]=e[a]&255;new ja(ze.QR_CODE_FIELD_256).encode(i,t);for(var o=new Uint8Array(t),a=0;a<t;a++)o[a]=i[n+a];return o},r.appendModeInfo=function(e,t){t.appendBits(e.getBits(),4)},r.appendLengthInfo=function(e,t,n,i){var a=n.getCharacterCountBits(t);if(e>=1<<a)throw new ae(e+" is bigger than "+((1<<a)-1));i.appendBits(e,a)},r.appendBytes=function(e,t,n,i){switch(t){case ie.NUMERIC:r.appendNumericBytes(e,n);break;case ie.ALPHANUMERIC:r.appendAlphanumericBytes(e,n);break;case ie.BYTE:r.append8BitBytes(e,n,i);break;case ie.KANJI:r.appendKanjiBytes(e,n);break;default:throw new ae("Invalid mode: "+t)}},r.getDigit=function(e){return e.charCodeAt(0)-48},r.isDigit=function(e){var t=r.getDigit(e);return t>=0&&t<=9},r.appendNumericBytes=function(e,t){for(var n=e.length,i=0;i<n;){var a=r.getDigit(e.charAt(i));if(i+2<n){var o=r.getDigit(e.charAt(i+1)),s=r.getDigit(e.charAt(i+2));t.appendBits(a*100+o*10+s,10),i+=3}else if(i+1<n){var o=r.getDigit(e.charAt(i+1));t.appendBits(a*10+o,7),i+=2}else t.appendBits(a,4),i++}},r.appendAlphanumericBytes=function(e,t){for(var n=e.length,i=0;i<n;){var a=r.getAlphanumericCode(e.charCodeAt(i));if(a===-1)throw new ae;if(i+1<n){var o=r.getAlphanumericCode(e.charCodeAt(i+1));if(o===-1)throw new ae;t.appendBits(a*45+o,11),i+=2}else t.appendBits(a,6),i++}},r.append8BitBytes=function(e,t,n){var i;try{i=Ge.encode(e,n)}catch(l){throw new ae(l)}for(var a=0,o=i.length;a!==o;a++){var s=i[a];t.appendBits(s,8)}},r.appendKanjiBytes=function(e,t){var n;try{n=Ge.encode(e,fe.SJIS)}catch(d){throw new ae(d)}for(var i=n.length,a=0;a<i;a+=2){var o=n[a]&255,s=n[a+1]&255,l=o<<8&4294967295|s,u=-1;if(l>=33088&&l<=40956?u=l-33088:l>=57408&&l<=60351&&(u=l-49472),u===-1)throw new ae("Invalid byte sequence");var c=(u>>8)*192+(u&255);t.appendBits(c,13)}},r.appendECI=function(e,t){t.appendBits(ie.ECI.getBits(),4),t.appendBits(e.getValue(),8)},r.ALPHANUMERIC_TABLE=Int32Array.from([-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,36,-1,-1,-1,37,38,-1,-1,-1,-1,39,40,-1,41,42,43,0,1,2,3,4,5,6,7,8,9,44,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,-1,-1,-1,-1,-1]),r.DEFAULT_BYTE_MODE_ENCODING=fe.UTF8.getName(),r})();var fd=function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var a in i)i.hasOwnProperty(a)&&(n[a]=i[a])},r(e,t)};return function(e,t){r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}();(function(r){fd(e,r);function e(t,n,i,a,o,s,l,u){var c=r.call(this,s,l)||this;if(c.yuvData=t,c.dataWidth=n,c.dataHeight=i,c.left=a,c.top=o,a+s>n||o+l>i)throw new k("Crop rectangle does not fit within image data.");return u&&c.reverseHorizontal(s,l),c}return e.prototype.getRow=function(t,n){if(t<0||t>=this.getHeight())throw new k("Requested row is outside the image: "+t);var i=this.getWidth();(n==null||n.length<i)&&(n=new Uint8ClampedArray(i));var a=(t+this.top)*this.dataWidth+this.left;return re.arraycopy(this.yuvData,a,n,0,i),n},e.prototype.getMatrix=function(){var t=this.getWidth(),n=this.getHeight();if(t===this.dataWidth&&n===this.dataHeight)return this.yuvData;var i=t*n,a=new Uint8ClampedArray(i),o=this.top*this.dataWidth+this.left;if(t===this.dataWidth)return re.arraycopy(this.yuvData,o,a,0,i),a;for(var s=0;s<n;s++){var l=s*t;re.arraycopy(this.yuvData,o,a,l,t),o+=this.dataWidth}return a},e.prototype.isCropSupported=function(){return!0},e.prototype.crop=function(t,n,i,a){return new e(this.yuvData,this.dataWidth,this.dataHeight,this.left+t,this.top+n,i,a,!1)},e.prototype.renderThumbnail=function(){for(var t=this.getWidth()/e.THUMBNAIL_SCALE_FACTOR,n=this.getHeight()/e.THUMBNAIL_SCALE_FACTOR,i=new Int32Array(t*n),a=this.yuvData,o=this.top*this.dataWidth+this.left,s=0;s<n;s++){for(var l=s*t,u=0;u<t;u++){var c=a[o+u*e.THUMBNAIL_SCALE_FACTOR]&255;i[l+u]=4278190080|c*65793}o+=this.dataWidth*e.THUMBNAIL_SCALE_FACTOR}return i},e.prototype.getThumbnailWidth=function(){return this.getWidth()/e.THUMBNAIL_SCALE_FACTOR},e.prototype.getThumbnailHeight=function(){return this.getHeight()/e.THUMBNAIL_SCALE_FACTOR},e.prototype.reverseHorizontal=function(t,n){for(var i=this.yuvData,a=0,o=this.top*this.dataWidth+this.left;a<n;a++,o+=this.dataWidth)for(var s=o+t/2,l=o,u=o+t-1;l<s;l++,u--){var c=i[l];i[l]=i[u],i[u]=c}},e.prototype.invert=function(){return new bn(this)},e.THUMBNAIL_SCALE_FACTOR=2,e})(Tr);var hd=function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var a in i)i.hasOwnProperty(a)&&(n[a]=i[a])},r(e,t)};return function(e,t){r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}();(function(r){hd(e,r);function e(t,n,i,a,o,s,l){var u=r.call(this,n,i)||this;if(u.dataWidth=a,u.dataHeight=o,u.left=s,u.top=l,t.BYTES_PER_ELEMENT===4){for(var c=n*i,d=new Uint8ClampedArray(c),h=0;h<c;h++){var p=t[h],g=p>>16&255,x=p>>7&510,C=p&255;d[h]=(g+x+C)/4&255}u.luminances=d}else u.luminances=t;if(a===void 0&&(u.dataWidth=n),o===void 0&&(u.dataHeight=i),s===void 0&&(u.left=0),l===void 0&&(u.top=0),u.left+n>u.dataWidth||u.top+i>u.dataHeight)throw new k("Crop rectangle does not fit within image data.");return u}return e.prototype.getRow=function(t,n){if(t<0||t>=this.getHeight())throw new k("Requested row is outside the image: "+t);var i=this.getWidth();(n==null||n.length<i)&&(n=new Uint8ClampedArray(i));var a=(t+this.top)*this.dataWidth+this.left;return re.arraycopy(this.luminances,a,n,0,i),n},e.prototype.getMatrix=function(){var t=this.getWidth(),n=this.getHeight();if(t===this.dataWidth&&n===this.dataHeight)return this.luminances;var i=t*n,a=new Uint8ClampedArray(i),o=this.top*this.dataWidth+this.left;if(t===this.dataWidth)return re.arraycopy(this.luminances,o,a,0,i),a;for(var s=0;s<n;s++){var l=s*t;re.arraycopy(this.luminances,o,a,l,t),o+=this.dataWidth}return a},e.prototype.isCropSupported=function(){return!0},e.prototype.crop=function(t,n,i,a){return new e(this.luminances,i,a,this.dataWidth,this.dataHeight,this.left+t,this.top+n)},e.prototype.invert=function(){return new bn(this)},e})(Tr);var pd=function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var a in i)i.hasOwnProperty(a)&&(n[a]=i[a])},r(e,t)};return function(e,t){r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}(),vd=function(r){pd(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.forName=function(t){return this.getCharacterSetECIByName(t)},e}(fe),gd=function(){function r(){}return r.ISO_8859_1=fe.ISO8859_1,r}(),Kn,xd=301,yd=function(r,e){for(var t=1,n=0;n<255;n++)e[n]=t,r[t]=n,t*=2,t>=256&&(t^=xd);return{LOG:r,ALOG:e}};Kn=yd([],[]),Kn.LOG,Kn.ALOG;var Ka;(function(r){r[r.FORCE_NONE=0]="FORCE_NONE",r[r.FORCE_SQUARE=1]="FORCE_SQUARE",r[r.FORCE_RECTANGLE=2]="FORCE_RECTANGLE"})(Ka||(Ka={}));var Qa=129,Ja=230,Cd=231,wd=235,md=236,_d=237,Ad=238,Ed=239,Sd=240,Qn=254,Id=254,eo="[)>05",to="[)>06",ro="",ee=0,Ie=1,Pe=2,ge=3,we=4,Te=5,Od=function(){function r(){}return r.prototype.getEncodingMode=function(){return ee},r.prototype.encode=function(e){var t=Qe.determineConsecutiveDigitCount(e.getMessage(),e.pos);if(t>=2)e.writeCodeword(this.encodeASCIIDigits(e.getMessage().charCodeAt(e.pos),e.getMessage().charCodeAt(e.pos+1))),e.pos+=2;else{var n=e.getCurrentChar(),i=Qe.lookAheadTest(e.getMessage(),e.pos,this.getEncodingMode());if(i!==this.getEncodingMode())switch(i){case Te:e.writeCodeword(Cd),e.signalEncoderChange(Te);return;case Ie:e.writeCodeword(Ja),e.signalEncoderChange(Ie);return;case ge:e.writeCodeword(Ad),e.signalEncoderChange(ge);break;case Pe:e.writeCodeword(Ed),e.signalEncoderChange(Pe);break;case we:e.writeCodeword(Sd),e.signalEncoderChange(we);break;default:throw new Error("Illegal mode: "+i)}else Qe.isExtendedASCII(n)?(e.writeCodeword(wd),e.writeCodeword(n-128+1),e.pos++):(e.writeCodeword(n+1),e.pos++)}},r.prototype.encodeASCIIDigits=function(e,t){if(Qe.isDigit(e)&&Qe.isDigit(t)){var n=(e-48)*10+(t-48);return n+130}throw new Error("not digits: "+e+t)},r}(),Nd=function(){function r(){}return r.prototype.getEncodingMode=function(){return Te},r.prototype.encode=function(e){var t=new G;for(t.append(0);e.hasMoreCharacters();){var n=e.getCurrentChar();t.append(n),e.pos++;var i=Qe.lookAheadTest(e.getMessage(),e.pos,this.getEncodingMode());if(i!==this.getEncodingMode()){e.signalEncoderChange(ee);break}}var a=t.length()-1,o=1,s=e.getCodewordCount()+a+o;e.updateSymbolInfo(s);var l=e.getSymbolInfo().getDataCapacity()-s>0;if(e.hasMoreCharacters()||l)if(a<=249)t.setCharAt(0,$.getCharAt(a));else if(a<=1555)t.setCharAt(0,$.getCharAt(Math.floor(a/250)+249)),t.insert(1,$.getCharAt(a%250));else throw new Error("Message length not in valid ranges: "+a);for(var u=0,n=t.length();u<n;u++)e.writeCodeword(this.randomize255State(t.charAt(u).charCodeAt(0),e.getCodewordCount()+1))},r.prototype.randomize255State=function(e,t){var n=149*t%255+1,i=e+n;return i<=255?i:i-256},r}(),Jn=function(){function r(){}return r.prototype.getEncodingMode=function(){return Ie},r.prototype.encodeMaximal=function(e){for(var t=new G,n=0,i=e.pos,a=0;e.hasMoreCharacters();){var o=e.getCurrentChar();e.pos++,n=this.encodeChar(o,t),t.length()%3===0&&(i=e.pos,a=t.length())}if(a!==t.length()){var s=Math.floor(t.length()/3*2),l=Math.floor(e.getCodewordCount()+s+1);e.updateSymbolInfo(l);var u=e.getSymbolInfo().getDataCapacity()-l,c=Math.floor(t.length()%3);(c===2&&u!==2||c===1&&(n>3||u!==1))&&(e.pos=i)}t.length()>0&&e.writeCodeword(Ja),this.handleEOD(e,t)},r.prototype.encode=function(e){for(var t=new G;e.hasMoreCharacters();){var n=e.getCurrentChar();e.pos++;var i=this.encodeChar(n,t),a=Math.floor(t.length()/3)*2,o=e.getCodewordCount()+a;e.updateSymbolInfo(o);var s=e.getSymbolInfo().getDataCapacity()-o;if(!e.hasMoreCharacters()){var l=new G;for(t.length()%3===2&&s!==2&&(i=this.backtrackOneCharacter(e,t,l,i));t.length()%3===1&&(i>3||s!==1);)i=this.backtrackOneCharacter(e,t,l,i);break}var u=t.length();if(u%3===0){var c=Qe.lookAheadTest(e.getMessage(),e.pos,this.getEncodingMode());if(c!==this.getEncodingMode()){e.signalEncoderChange(ee);break}}}this.handleEOD(e,t)},r.prototype.backtrackOneCharacter=function(e,t,n,i){var a=t.length(),o=t.toString().substring(0,a-i);t.setLengthToZero(),t.append(o),e.pos--;var s=e.getCurrentChar();return i=this.encodeChar(s,n),e.resetSymbolInfo(),i},r.prototype.writeNextTriplet=function(e,t){e.writeCodewords(this.encodeToCodewords(t.toString()));var n=t.toString().substring(3);t.setLengthToZero(),t.append(n)},r.prototype.handleEOD=function(e,t){var n=Math.floor(t.length()/3*2),i=t.length()%3,a=e.getCodewordCount()+n;e.updateSymbolInfo(a);var o=e.getSymbolInfo().getDataCapacity()-a;if(i===2){for(t.append("\0");t.length()>=3;)this.writeNextTriplet(e,t);e.hasMoreCharacters()&&e.writeCodeword(Qn)}else if(o===1&&i===1){for(;t.length()>=3;)this.writeNextTriplet(e,t);e.hasMoreCharacters()&&e.writeCodeword(Qn),e.pos--}else if(i===0){for(;t.length()>=3;)this.writeNextTriplet(e,t);(o>0||e.hasMoreCharacters())&&e.writeCodeword(Qn)}else throw new Error("Unexpected case. Please report!");e.signalEncoderChange(ee)},r.prototype.encodeChar=function(e,t){if(e===32)return t.append(3),1;if(e>=48&&e<=57)return t.append(e-48+4),1;if(e>=65&&e<=90)return t.append(e-65+14),1;if(e<32)return t.append(0),t.append(e),2;if(e<=47)return t.append(1),t.append(e-33),2;if(e<=64)return t.append(1),t.append(e-58+15),2;if(e<=95)return t.append(1),t.append(e-91+22),2;if(e<=127)return t.append(2),t.append(e-96),2;t.append("1");var n=2;return n+=this.encodeChar(e-128,t),n},r.prototype.encodeToCodewords=function(e){var t=1600*e.charCodeAt(0)+40*e.charCodeAt(1)+e.charCodeAt(2)+1,n=t/256,i=t%256,a=new G;return a.append(n),a.append(i),a.toString()},r}(),bd=function(){function r(){}return r.prototype.getEncodingMode=function(){return we},r.prototype.encode=function(e){for(var t=new G;e.hasMoreCharacters();){var n=e.getCurrentChar();this.encodeChar(n,t),e.pos++;var i=t.length();if(i>=4){e.writeCodewords(this.encodeToCodewords(t.toString()));var a=t.toString().substring(4);t.setLengthToZero(),t.append(a);var o=Qe.lookAheadTest(e.getMessage(),e.pos,this.getEncodingMode());if(o!==this.getEncodingMode()){e.signalEncoderChange(ee);break}}}t.append($.getCharAt(31)),this.handleEOD(e,t)},r.prototype.handleEOD=function(e,t){try{var n=t.length();if(n===0)return;if(n===1){e.updateSymbolInfo();var i=e.getSymbolInfo().getDataCapacity()-e.getCodewordCount(),a=e.getRemainingCharacters();if(a>i&&(e.updateSymbolInfo(e.getCodewordCount()+1),i=e.getSymbolInfo().getDataCapacity()-e.getCodewordCount()),a<=i&&i<=2)return}if(n>4)throw new Error("Count must not exceed 4");var o=n-1,s=this.encodeToCodewords(t.toString()),l=!e.hasMoreCharacters(),u=l&&o<=2;if(o<=2){e.updateSymbolInfo(e.getCodewordCount()+o);var i=e.getSymbolInfo().getDataCapacity()-e.getCodewordCount();i>=3&&(u=!1,e.updateSymbolInfo(e.getCodewordCount()+s.length))}u?(e.resetSymbolInfo(),e.pos-=o):e.writeCodewords(s)}finally{e.signalEncoderChange(ee)}},r.prototype.encodeChar=function(e,t){e>=32&&e<=63?t.append(e):e>=64&&e<=94?t.append($.getCharAt(e-64)):Qe.illegalCharacter($.getCharAt(e))},r.prototype.encodeToCodewords=function(e){var t=e.length;if(t===0)throw new Error("StringBuilder must not be empty");var n=e.charAt(0).charCodeAt(0),i=t>=2?e.charAt(1).charCodeAt(0):0,a=t>=3?e.charAt(2).charCodeAt(0):0,o=t>=4?e.charAt(3).charCodeAt(0):0,s=(n<<18)+(i<<12)+(a<<6)+o,l=s>>16&255,u=s>>8&255,c=s&255,d=new G;return d.append(l),t>=2&&d.append(u),t>=3&&d.append(c),d.toString()},r}(),Td=function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var a in i)i.hasOwnProperty(a)&&(n[a]=i[a])},r(e,t)};return function(e,t){r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}(),Dd=function(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},K=function(){function r(e,t,n,i,a,o,s,l){s===void 0&&(s=0),l===void 0&&(l=0),this.rectangular=e,this.dataCapacity=t,this.errorCodewords=n,this.matrixWidth=i,this.matrixHeight=a,this.dataRegions=o,this.rsBlockData=s,this.rsBlockError=l}return r.lookup=function(e,t,n,i,a){var o,s;t===void 0&&(t=0),n===void 0&&(n=null),i===void 0&&(i=null),a===void 0&&(a=!0);try{for(var l=Dd(Fd),u=l.next();!u.done;u=l.next()){var c=u.value;if(!(t===1&&c.rectangular)&&!(t===2&&!c.rectangular)&&!(n!=null&&(c.getSymbolWidth()<n.getWidth()||c.getSymbolHeight()<n.getHeight()))&&!(i!=null&&(c.getSymbolWidth()>i.getWidth()||c.getSymbolHeight()>i.getHeight()))&&e<=c.dataCapacity)return c}}catch(d){o={error:d}}finally{try{u&&!u.done&&(s=l.return)&&s.call(l)}finally{if(o)throw o.error}}if(a)throw new Error("Can't find a symbol arrangement that matches the message. Data codewords: "+e);return null},r.prototype.getHorizontalDataRegions=function(){switch(this.dataRegions){case 1:return 1;case 2:case 4:return 2;case 16:return 4;case 36:return 6;default:throw new Error("Cannot handle this number of data regions")}},r.prototype.getVerticalDataRegions=function(){switch(this.dataRegions){case 1:case 2:return 1;case 4:return 2;case 16:return 4;case 36:return 6;default:throw new Error("Cannot handle this number of data regions")}},r.prototype.getSymbolDataWidth=function(){return this.getHorizontalDataRegions()*this.matrixWidth},r.prototype.getSymbolDataHeight=function(){return this.getVerticalDataRegions()*this.matrixHeight},r.prototype.getSymbolWidth=function(){return this.getSymbolDataWidth()+this.getHorizontalDataRegions()*2},r.prototype.getSymbolHeight=function(){return this.getSymbolDataHeight()+this.getVerticalDataRegions()*2},r.prototype.getCodewordCount=function(){return this.dataCapacity+this.errorCodewords},r.prototype.getInterleavedBlockCount=function(){return this.rsBlockData?this.dataCapacity/this.rsBlockData:1},r.prototype.getDataCapacity=function(){return this.dataCapacity},r.prototype.getErrorCodewords=function(){return this.errorCodewords},r.prototype.getDataLengthForInterleavedBlock=function(e){return this.rsBlockData},r.prototype.getErrorLengthForInterleavedBlock=function(e){return this.rsBlockError},r}(),Md=function(r){Td(e,r);function e(){return r.call(this,!1,1558,620,22,22,36,-1,62)||this}return e.prototype.getInterleavedBlockCount=function(){return 10},e.prototype.getDataLengthForInterleavedBlock=function(t){return t<=8?156:155},e}(K),Fd=[new K(!1,3,5,8,8,1),new K(!1,5,7,10,10,1),new K(!0,5,7,16,6,1),new K(!1,8,10,12,12,1),new K(!0,10,11,14,6,2),new K(!1,12,12,14,14,1),new K(!0,16,14,24,10,1),new K(!1,18,14,16,16,1),new K(!1,22,18,18,18,1),new K(!0,22,18,16,10,2),new K(!1,30,20,20,20,1),new K(!0,32,24,16,14,2),new K(!1,36,24,22,22,1),new K(!1,44,28,24,24,1),new K(!0,49,28,22,14,2),new K(!1,62,36,14,14,4),new K(!1,86,42,16,16,4),new K(!1,114,48,18,18,4),new K(!1,144,56,20,20,4),new K(!1,174,68,22,22,4),new K(!1,204,84,24,24,4,102,42),new K(!1,280,112,14,14,16,140,56),new K(!1,368,144,16,16,16,92,36),new K(!1,456,192,18,18,16,114,48),new K(!1,576,224,20,20,16,144,56),new K(!1,696,272,22,22,16,174,68),new K(!1,816,336,24,24,16,136,56),new K(!1,1050,408,18,18,36,175,68),new K(!1,1304,496,20,20,36,163,62),new Md],Vd=function(){function r(e){this.msg=e,this.pos=0,this.skipAtEnd=0;for(var t=e.split("").map(function(s){return s.charCodeAt(0)}),n=new G,i=0,a=t.length;i<a;i++){var o=String.fromCharCode(t[i]&255);if(o==="?"&&e.charAt(i)!=="?")throw new Error("Message contains characters outside ISO-8859-1 encoding.");n.append(o)}this.msg=n.toString(),this.shape=0,this.codewords=new G,this.newEncoding=-1}return r.prototype.setSymbolShape=function(e){this.shape=e},r.prototype.setSizeConstraints=function(e,t){this.minSize=e,this.maxSize=t},r.prototype.getMessage=function(){return this.msg},r.prototype.setSkipAtEnd=function(e){this.skipAtEnd=e},r.prototype.getCurrentChar=function(){return this.msg.charCodeAt(this.pos)},r.prototype.getCurrent=function(){return this.msg.charCodeAt(this.pos)},r.prototype.getCodewords=function(){return this.codewords},r.prototype.writeCodewords=function(e){this.codewords.append(e)},r.prototype.writeCodeword=function(e){this.codewords.append(e)},r.prototype.getCodewordCount=function(){return this.codewords.length()},r.prototype.getNewEncoding=function(){return this.newEncoding},r.prototype.signalEncoderChange=function(e){this.newEncoding=e},r.prototype.resetEncoderSignal=function(){this.newEncoding=-1},r.prototype.hasMoreCharacters=function(){return this.pos<this.getTotalMessageCharCount()},r.prototype.getTotalMessageCharCount=function(){return this.msg.length-this.skipAtEnd},r.prototype.getRemainingCharacters=function(){return this.getTotalMessageCharCount()-this.pos},r.prototype.getSymbolInfo=function(){return this.symbolInfo},r.prototype.updateSymbolInfo=function(e){e===void 0&&(e=this.getCodewordCount()),(this.symbolInfo==null||e>this.symbolInfo.getDataCapacity())&&(this.symbolInfo=K.lookup(e,this.shape,this.minSize,this.maxSize,!0))},r.prototype.resetSymbolInfo=function(){this.symbolInfo=null},r}(),Pd=function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var a in i)i.hasOwnProperty(a)&&(n[a]=i[a])},r(e,t)};return function(e,t){r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}(),Bd=function(r){Pd(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getEncodingMode=function(){return ge},e.prototype.encode=function(t){for(var n=new G;t.hasMoreCharacters();){var i=t.getCurrentChar();t.pos++,this.encodeChar(i,n);var a=n.length();if(a%3===0){this.writeNextTriplet(t,n);var o=Qe.lookAheadTest(t.getMessage(),t.pos,this.getEncodingMode());if(o!==this.getEncodingMode()){t.signalEncoderChange(ee);break}}}this.handleEOD(t,n)},e.prototype.encodeChar=function(t,n){switch(t){case 13:n.append(0);break;case 42:n.append(1);break;case 62:n.append(2);break;case 32:n.append(3);break;default:t>=48&&t<=57?n.append(t-48+4):t>=65&&t<=90?n.append(t-65+14):Qe.illegalCharacter($.getCharAt(t));break}return 1},e.prototype.handleEOD=function(t,n){t.updateSymbolInfo();var i=t.getSymbolInfo().getDataCapacity()-t.getCodewordCount(),a=n.length();t.pos-=a,(t.getRemainingCharacters()>1||i>1||t.getRemainingCharacters()!==i)&&t.writeCodeword(Id),t.getNewEncoding()<0&&t.signalEncoderChange(ee)},e}(Jn),Ld=function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var a in i)i.hasOwnProperty(a)&&(n[a]=i[a])},r(e,t)};return function(e,t){r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}(),zd=function(r){Ld(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.getEncodingMode=function(){return Pe},e.prototype.encodeChar=function(t,n){if(t===32)return n.append(3),1;if(t>=48&&t<=57)return n.append(t-48+4),1;if(t>=97&&t<=122)return n.append(t-97+14),1;if(t<32)return n.append(0),n.append(t),2;if(t<=47)return n.append(1),n.append(t-33),2;if(t<=64)return n.append(1),n.append(t-58+15),2;if(t>=91&&t<=95)return n.append(1),n.append(t-91+22),2;if(t===96)return n.append(2),n.append(0),2;if(t<=90)return n.append(2),n.append(t-65+1),2;if(t<=127)return n.append(2),n.append(t-123+27),2;n.append("1");var i=2;return i+=this.encodeChar(t-128,n),i},e}(Jn),Qe=function(){function r(){}return r.randomize253State=function(e){var t=149*e%253+1,n=Qa+t;return n<=254?n:n-254},r.encodeHighLevel=function(e,t,n,i,a){t===void 0&&(t=0),n===void 0&&(n=null),i===void 0&&(i=null),a===void 0&&(a=!1);var o=new Jn,s=[new Od,o,new zd,new Bd,new bd,new Nd],l=new Vd(e);l.setSymbolShape(t),l.setSizeConstraints(n,i),e.startsWith(eo)&&e.endsWith(ro)?(l.writeCodeword(md),l.setSkipAtEnd(2),l.pos+=eo.length):e.startsWith(to)&&e.endsWith(ro)&&(l.writeCodeword(_d),l.setSkipAtEnd(2),l.pos+=to.length);var u=ee;for(a&&(o.encodeMaximal(l),u=l.getNewEncoding(),l.resetEncoderSignal());l.hasMoreCharacters();)s[u].encode(l),l.getNewEncoding()>=0&&(u=l.getNewEncoding(),l.resetEncoderSignal());var c=l.getCodewordCount();l.updateSymbolInfo();var d=l.getSymbolInfo().getDataCapacity();c<d&&u!==ee&&u!==Te&&u!==we&&l.writeCodeword("þ");var h=l.getCodewords();for(h.length()<d&&h.append(Qa);h.length()<d;)h.append(this.randomize253State(h.length()+1));return l.getCodewords().toString()},r.lookAheadTest=function(e,t,n){var i=this.lookAheadTestIntern(e,t,n);if(n===ge&&i===ge){for(var a=Math.min(t+3,e.length),o=t;o<a;o++)if(!this.isNativeX12(e.charCodeAt(o)))return ee}else if(n===we&&i===we){for(var a=Math.min(t+4,e.length),o=t;o<a;o++)if(!this.isNativeEDIFACT(e.charCodeAt(o)))return ee}return i},r.lookAheadTestIntern=function(e,t,n){if(t>=e.length)return n;var i;n===ee?i=[0,1,1,1,1,1.25]:(i=[1,2,2,2,2,2.25],i[n]=0);for(var a=0,o=new Uint8Array(6),s=[];;){if(t+a===e.length){de.fill(o,0),de.fill(s,0);var l=this.findMinimums(i,s,q.MAX_VALUE,o),u=this.getMinimumCount(o);if(s[ee]===l)return ee;if(u===1){if(o[Te]>0)return Te;if(o[we]>0)return we;if(o[Pe]>0)return Pe;if(o[ge]>0)return ge}return Ie}var c=e.charCodeAt(t+a);if(a++,this.isDigit(c)?i[ee]+=.5:this.isExtendedASCII(c)?(i[ee]=Math.ceil(i[ee]),i[ee]+=2):(i[ee]=Math.ceil(i[ee]),i[ee]++),this.isNativeC40(c)?i[Ie]+=2/3:this.isExtendedASCII(c)?i[Ie]+=8/3:i[Ie]+=4/3,this.isNativeText(c)?i[Pe]+=2/3:this.isExtendedASCII(c)?i[Pe]+=8/3:i[Pe]+=4/3,this.isNativeX12(c)?i[ge]+=2/3:this.isExtendedASCII(c)?i[ge]+=13/3:i[ge]+=10/3,this.isNativeEDIFACT(c)?i[we]+=3/4:this.isExtendedASCII(c)?i[we]+=17/4:i[we]+=13/4,this.isSpecialB256(c)?i[Te]+=4:i[Te]++,a>=4){if(de.fill(o,0),de.fill(s,0),this.findMinimums(i,s,q.MAX_VALUE,o),s[ee]<this.min(s[Te],s[Ie],s[Pe],s[ge],s[we]))return ee;if(s[Te]<s[ee]||s[Te]+1<this.min(s[Ie],s[Pe],s[ge],s[we]))return Te;if(s[we]+1<this.min(s[Te],s[Ie],s[Pe],s[ge],s[ee]))return we;if(s[Pe]+1<this.min(s[Te],s[Ie],s[we],s[ge],s[ee]))return Pe;if(s[ge]+1<this.min(s[Te],s[Ie],s[we],s[Pe],s[ee]))return ge;if(s[Ie]+1<this.min(s[ee],s[Te],s[we],s[Pe])){if(s[Ie]<s[ge])return Ie;if(s[Ie]===s[ge]){for(var d=t+a+1;d<e.length;){var h=e.charCodeAt(d);if(this.isX12TermSep(h))return ge;if(!this.isNativeX12(h))break;d++}return Ie}}}}},r.min=function(e,t,n,i,a){var o=Math.min(e,Math.min(t,Math.min(n,i)));return a===void 0?o:Math.min(o,a)},r.findMinimums=function(e,t,n,i){for(var a=0;a<6;a++){var o=t[a]=Math.ceil(e[a]);n>o&&(n=o,de.fill(i,0)),n===o&&(i[a]=i[a]+1)}return n},r.getMinimumCount=function(e){for(var t=0,n=0;n<6;n++)t+=e[n];return t||0},r.isDigit=function(e){return e>=48&&e<=57},r.isExtendedASCII=function(e){return e>=128&&e<=255},r.isNativeC40=function(e){return e===32||e>=48&&e<=57||e>=65&&e<=90},r.isNativeText=function(e){return e===32||e>=48&&e<=57||e>=97&&e<=122},r.isNativeX12=function(e){return this.isX12TermSep(e)||e===32||e>=48&&e<=57||e>=65&&e<=90},r.isX12TermSep=function(e){return e===13||e===42||e===62},r.isNativeEDIFACT=function(e){return e>=32&&e<=94},r.isSpecialB256=function(e){return!1},r.determineConsecutiveDigitCount=function(e,t){t===void 0&&(t=0);for(var n=e.length,i=t;i<n&&this.isDigit(e.charCodeAt(i));)i++;return i-t},r.illegalCharacter=function(e){var t=q.toHexString(e.charCodeAt(0));throw t="0000".substring(0,4-t.length)+t,new Error("Illegal character: "+e+" (0x"+t+")")},r}(),ei=function(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},no=function(){function r(e){this.charset=e,this.name=e.name}return r.prototype.canEncode=function(e){try{return Ge.encode(e,this.charset)!=null}catch{return!1}},r}(),kd=function(){function r(e,t,n){var i,a,o,s,l,u;this.ENCODERS=["IBM437","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-11","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","windows-1250","windows-1251","windows-1252","windows-1256","Shift_JIS"].map(function(B){return new no(vd.forName(B))}),this.encoders=[];var c=[];c.push(new no(gd.ISO_8859_1));for(var d=t!=null&&t.name.startsWith("UTF"),h=0;h<e.length;h++){var p=!1;try{for(var g=(i=void 0,ei(c)),x=g.next();!x.done;x=g.next()){var C=x.value,m=e.charAt(h),_=m.charCodeAt(0);if(_===n||C.canEncode(m)){p=!0;break}}}catch(B){i={error:B}}finally{try{x&&!x.done&&(a=g.return)&&a.call(g)}finally{if(i)throw i.error}}if(!p)try{for(var S=(o=void 0,ei(this.ENCODERS)),E=S.next();!E.done;E=S.next()){var C=E.value;if(C.canEncode(e.charAt(h))){c.push(C),p=!0;break}}}catch(B){o={error:B}}finally{try{E&&!E.done&&(s=S.return)&&s.call(S)}finally{if(o)throw o.error}}p||(d=!0)}if(c.length===1&&!d)this.encoders=[c[0]];else{this.encoders=[];var O=0;try{for(var b=ei(c),T=b.next();!T.done;T=b.next()){var C=T.value;this.encoders[O++]=C}}catch(B){l={error:B}}finally{try{T&&!T.done&&(u=b.return)&&u.call(b)}finally{if(l)throw l.error}}}var M=-1;if(t!=null){for(var h=0;h<this.encoders.length;h++)if(this.encoders[h]!=null&&t.name===this.encoders[h].name){M=h;break}}this.priorityEncoderIndex=M}return r.prototype.length=function(){return this.encoders.length},r.prototype.getCharsetName=function(e){if(!(e<this.length()))throw new Error("index must be less than length");return this.encoders[e].name},r.prototype.getCharset=function(e){if(!(e<this.length()))throw new Error("index must be less than length");return this.encoders[e].charset},r.prototype.getECIValue=function(e){return this.encoders[e].charset.getValueIdentifier()},r.prototype.getPriorityEncoderIndex=function(){return this.priorityEncoderIndex},r.prototype.canEncode=function(e,t){if(!(t<this.length()))throw new Error("index must be less than length");return!0},r.prototype.encode=function(e,t){if(!(t<this.length()))throw new Error("index must be less than length");return Ge.encode($.getCharAt(e),this.encoders[t].name)},r}(),Rd=3,Ud=function(){function r(e,t,n){this.fnc1=n;var i=new kd(e,t,n);if(i.length()===1)for(var a=0;a<this.bytes.length;a++){var o=e.charAt(a).charCodeAt(0);this.bytes[a]=o===n?1e3:o}else this.bytes=this.encodeMinimally(e,i,n)}return r.prototype.getFNC1Character=function(){return this.fnc1},r.prototype.length=function(){return this.bytes.length},r.prototype.haveNCharacters=function(e,t){if(e+t-1>=this.bytes.length)return!1;for(var n=0;n<t;n++)if(this.isECI(e+n))return!1;return!0},r.prototype.charAt=function(e){if(e<0||e>=this.length())throw new Error(""+e);if(this.isECI(e))throw new Error("value at "+e+" is not a character but an ECI");return this.isFNC1(e)?this.fnc1:this.bytes[e]},r.prototype.subSequence=function(e,t){if(e<0||e>t||t>this.length())throw new Error(""+e);for(var n=new G,i=e;i<t;i++){if(this.isECI(i))throw new Error("value at "+i+" is not a character but an ECI");n.append(this.charAt(i))}return n.toString()},r.prototype.isECI=function(e){if(e<0||e>=this.length())throw new Error(""+e);return this.bytes[e]>255&&this.bytes[e]<=999},r.prototype.isFNC1=function(e){if(e<0||e>=this.length())throw new Error(""+e);return this.bytes[e]===1e3},r.prototype.getECIValue=function(e){if(e<0||e>=this.length())throw new Error(""+e);if(!this.isECI(e))throw new Error("value at "+e+" is not an ECI but a character");return this.bytes[e]-256},r.prototype.addEdge=function(e,t,n){(e[t][n.encoderIndex]==null||e[t][n.encoderIndex].cachedTotalSize>n.cachedTotalSize)&&(e[t][n.encoderIndex]=n)},r.prototype.addEdges=function(e,t,n,i,a,o){var s=e.charAt(i).charCodeAt(0),l=0,u=t.length();t.getPriorityEncoderIndex()>=0&&(s===o||t.canEncode(s,t.getPriorityEncoderIndex()))&&(l=t.getPriorityEncoderIndex(),u=l+1);for(var c=l;c<u;c++)(s===o||t.canEncode(s,c))&&this.addEdge(n,i+1,new io(s,t,c,a,o))},r.prototype.encodeMinimally=function(e,t,n){var i=e.length,a=new io[i+1][t.length()];this.addEdges(e,t,a,0,null,n);for(var o=1;o<=i;o++){for(var s=0;s<t.length();s++)a[o][s]!=null&&o<i&&this.addEdges(e,t,a,o,a[o][s],n);for(var s=0;s<t.length();s++)a[o-1][s]=null}for(var l=-1,u=q.MAX_VALUE,s=0;s<t.length();s++)if(a[i][s]!=null){var c=a[i][s];c.cachedTotalSize<u&&(u=c.cachedTotalSize,l=s)}if(l<0)throw new Error('Failed to encode "'+e+'"');for(var d=[],h=a[i][l];h!=null;){if(h.isFNC1())d.unshift(1e3);else for(var p=t.encode(h.c,h.encoderIndex),o=p.length-1;o>=0;o--)d.unshift(p[o]&255);var g=h.previous===null?0:h.previous.encoderIndex;g!==h.encoderIndex&&d.unshift(256+t.getECIValue(h.encoderIndex)),h=h.previous}for(var x=[],o=0;o<x.length;o++)x[o]=d[o];return x},r}(),io=function(){function r(e,t,n,i,a){this.c=e,this.encoderSet=t,this.encoderIndex=n,this.previous=i,this.fnc1=a,this.c=e===a?1e3:e;var o=this.isFNC1()?1:t.encode(e,n).length,s=i===null?0:i.encoderIndex;s!==n&&(o+=Rd),i!=null&&(o+=i.cachedTotalSize),this.cachedTotalSize=o}return r.prototype.isFNC1=function(){return this.c===1e3},r}(),Gd=function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var a in i)i.hasOwnProperty(a)&&(n[a]=i[a])},r(e,t)};return function(e,t){r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}(),Hd=function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var n=t.call(r),i,a=[],o;try{for(;(e===void 0||e-- >0)&&!(i=n.next()).done;)a.push(i.value)}catch(s){o={error:s}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(o)throw o.error}}return a},ao;(function(r){r[r.ASCII=0]="ASCII",r[r.C40=1]="C40",r[r.TEXT=2]="TEXT",r[r.X12=3]="X12",r[r.EDF=4]="EDF",r[r.B256=5]="B256"})(ao||(ao={})),function(r){Gd(e,r);function e(t,n,i,a,o){var s=r.call(this,t,n,i)||this;return s.shape=a,s.macroId=o,s}return e.prototype.getMacroId=function(){return this.macroId},e.prototype.getShapeHint=function(){return this.shape},e}(Ud);var qd=function(){function r(){}return r.prototype.isCompact=function(){return this.compact},r.prototype.setCompact=function(e){this.compact=e},r.prototype.getSize=function(){return this.size},r.prototype.setSize=function(e){this.size=e},r.prototype.getLayers=function(){return this.layers},r.prototype.setLayers=function(e){this.layers=e},r.prototype.getCodeWords=function(){return this.codeWords},r.prototype.setCodeWords=function(e){this.codeWords=e},r.prototype.getMatrix=function(){return this.matrix},r.prototype.setMatrix=function(e){this.matrix=e},r}(),oo=function(){function r(){}return r.singletonList=function(e){return[e]},r.min=function(e,t){return e.sort(t)[0]},r}(),Xd=function(){function r(e){this.previous=e}return r.prototype.getPrevious=function(){return this.previous},r}(),$d=function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var a in i)i.hasOwnProperty(a)&&(n[a]=i[a])},r(e,t)};return function(e,t){r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}(),ti=function(r){$d(e,r);function e(t,n,i){var a=r.call(this,t)||this;return a.value=n,a.bitCount=i,a}return e.prototype.appendTo=function(t,n){t.appendBits(this.value,this.bitCount)},e.prototype.add=function(t,n){return new e(this,t,n)},e.prototype.addBinaryShift=function(t,n){return console.warn("addBinaryShift on SimpleToken, this simply returns a copy of this token"),new e(this,t,n)},e.prototype.toString=function(){var t=this.value&(1<<this.bitCount)-1;return t|=1<<this.bitCount,"<"+q.toBinaryString(t|1<<this.bitCount).substring(1)+">"},e}(Xd),Wd=function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var a in i)i.hasOwnProperty(a)&&(n[a]=i[a])},r(e,t)};return function(e,t){r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}(),jd=function(r){Wd(e,r);function e(t,n,i){var a=r.call(this,t,0,0)||this;return a.binaryShiftStart=n,a.binaryShiftByteCount=i,a}return e.prototype.appendTo=function(t,n){for(var i=0;i<this.binaryShiftByteCount;i++)(i===0||i===31&&this.binaryShiftByteCount<=62)&&(t.appendBits(31,5),this.binaryShiftByteCount>62?t.appendBits(this.binaryShiftByteCount-31,16):i===0?t.appendBits(Math.min(this.binaryShiftByteCount,31),5):t.appendBits(this.binaryShiftByteCount-31,5)),t.appendBits(n[this.binaryShiftStart+i],8)},e.prototype.addBinaryShift=function(t,n){return new e(this,t,n)},e.prototype.toString=function(){return"<"+this.binaryShiftStart+"::"+(this.binaryShiftStart+this.binaryShiftByteCount-1)+">"},e}(ti);function Yd(r,e,t){return new jd(r,e,t)}function or(r,e,t){return new ti(r,e,t)}var Zd=["UPPER","LOWER","DIGIT","MIXED","PUNCT"],ct=0,Rr=1,qe=2,so=3,et=4,Kd=new ti(null,0,0),ri=[Int32Array.from([0,(5<<16)+28,(5<<16)+30,(5<<16)+29,656318]),Int32Array.from([(9<<16)+480+14,0,(5<<16)+30,(5<<16)+29,656318]),Int32Array.from([(4<<16)+14,(9<<16)+448+28,0,(9<<16)+448+29,932798]),Int32Array.from([(5<<16)+29,(5<<16)+28,656318,0,(5<<16)+30]),Int32Array.from([(5<<16)+31,656380,656382,656381,0])],Qd=function(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};function Jd(r){var e,t;try{for(var n=Qd(r),i=n.next();!i.done;i=n.next()){var a=i.value;de.fill(a,-1)}}catch(o){e={error:o}}finally{try{i&&!i.done&&(t=n.return)&&t.call(n)}finally{if(e)throw e.error}}return r[ct][et]=0,r[Rr][et]=0,r[Rr][ct]=28,r[so][et]=0,r[qe][et]=0,r[qe][ct]=15,r}var lo=Jd(de.createInt32Array(6,6)),ef=function(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},tf=function(){function r(e,t,n,i){this.token=e,this.mode=t,this.binaryShiftByteCount=n,this.bitCount=i}return r.prototype.getMode=function(){return this.mode},r.prototype.getToken=function(){return this.token},r.prototype.getBinaryShiftByteCount=function(){return this.binaryShiftByteCount},r.prototype.getBitCount=function(){return this.bitCount},r.prototype.latchAndAppend=function(e,t){var n=this.bitCount,i=this.token;if(e!==this.mode){var a=ri[this.mode][e];i=or(i,a&65535,a>>16),n+=a>>16}var o=e===qe?4:5;return i=or(i,t,o),new r(i,e,0,n+o)},r.prototype.shiftAndAppend=function(e,t){var n=this.token,i=this.mode===qe?4:5;return n=or(n,lo[this.mode][e],i),n=or(n,t,5),new r(n,this.mode,0,this.bitCount+i+5)},r.prototype.addBinaryShiftChar=function(e){var t=this.token,n=this.mode,i=this.bitCount;if(this.mode===et||this.mode===qe){var a=ri[n][ct];t=or(t,a&65535,a>>16),i+=a>>16,n=ct}var o=this.binaryShiftByteCount===0||this.binaryShiftByteCount===31?18:this.binaryShiftByteCount===62?9:8,s=new r(t,n,this.binaryShiftByteCount+1,i+o);return s.binaryShiftByteCount===2078&&(s=s.endBinaryShift(e+1)),s},r.prototype.endBinaryShift=function(e){if(this.binaryShiftByteCount===0)return this;var t=this.token;return t=Yd(t,e-this.binaryShiftByteCount,this.binaryShiftByteCount),new r(t,this.mode,0,this.bitCount)},r.prototype.isBetterThanOrEqualTo=function(e){var t=this.bitCount+(ri[this.mode][e.mode]>>16);return this.binaryShiftByteCount<e.binaryShiftByteCount?t+=r.calculateBinaryShiftCost(e)-r.calculateBinaryShiftCost(this):this.binaryShiftByteCount>e.binaryShiftByteCount&&e.binaryShiftByteCount>0&&(t+=10),t<=e.bitCount},r.prototype.toBitArray=function(e){for(var t,n,i=[],a=this.endBinaryShift(e.length).token;a!==null;a=a.getPrevious())i.unshift(a);var o=new ye;try{for(var s=ef(i),l=s.next();!l.done;l=s.next()){var u=l.value;u.appendTo(o,e)}}catch(c){t={error:c}}finally{try{l&&!l.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}return o},r.prototype.toString=function(){return $.format("%s bits=%d bytes=%d",Zd[this.mode],this.bitCount,this.binaryShiftByteCount)},r.calculateBinaryShiftCost=function(e){return e.binaryShiftByteCount>62?21:e.binaryShiftByteCount>31?20:e.binaryShiftByteCount>0?10:0},r.INITIAL_STATE=new r(Kd,ct,0,0),r}();function rf(r){var e=$.getCharCode(" "),t=$.getCharCode("."),n=$.getCharCode(",");r[ct][e]=1;for(var i=$.getCharCode("Z"),a=$.getCharCode("A"),o=a;o<=i;o++)r[ct][o]=o-a+2;r[Rr][e]=1;for(var s=$.getCharCode("z"),l=$.getCharCode("a"),o=l;o<=s;o++)r[Rr][o]=o-l+2;r[qe][e]=1;for(var u=$.getCharCode("9"),c=$.getCharCode("0"),o=c;o<=u;o++)r[qe][o]=o-c+2;r[qe][n]=12,r[qe][t]=13;for(var d=["\0"," ","","","","","","","\x07","\b"," ",`
|
|
269
269
|
`,"\v","\f","\r","\x1B","","","","","@","\\","^","_","`","|","~",""],h=0;h<d.length;h++)r[so][$.getCharCode(d[h])]=h;for(var p=["\0","\r","\0","\0","\0","\0","!","'","#","$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","?","[","]","{","}"],h=0;h<p.length;h++)$.getCharCode(p[h])>0&&(r[et][$.getCharCode(p[h])]=h);return r}var ni=rf(de.createInt32Array(5,256)),Ur=function(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},nf=function(){function r(e){this.text=e}return r.prototype.encode=function(){for(var e=$.getCharCode(" "),t=$.getCharCode(`
|
|
270
|
-
`),n=oo.singletonList(tf.INITIAL_STATE),i=0;i<this.text.length;i++){var a=void 0,o=i+1<this.text.length?this.text[i+1]:0;switch(this.text[i]){case $.getCharCode("\r"):a=o===t?2:0;break;case $.getCharCode("."):a=o===e?3:0;break;case $.getCharCode(","):a=o===e?4:0;break;case $.getCharCode(":"):a=o===e?5:0;break;default:a=0}a>0?(n=r.updateStateListForPair(n,i,a),i++):n=this.updateStateListForChar(n,i)}var s=oo.min(n,function(l,u){return l.getBitCount()-u.getBitCount()});return s.toBitArray(this.text)},r.prototype.updateStateListForChar=function(e,t){var n,i,a=[];try{for(var o=Ur(e),s=o.next();!s.done;s=o.next()){var l=s.value;this.updateStateForChar(l,t,a)}}catch(u){n={error:u}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return r.simplifyStates(a)},r.prototype.updateStateForChar=function(e,t,n){for(var i=this.text[t]&255,a=ni[e.getMode()][i]>0,o=null,s=0;s<=et;s++){var l=ni[s][i];if(l>0){if(o==null&&(o=e.endBinaryShift(t)),!a||s===e.getMode()||s===qe){var u=o.latchAndAppend(s,l);n.push(u)}if(!a&&lo[e.getMode()][s]>=0){var c=o.shiftAndAppend(s,l);n.push(c)}}}if(e.getBinaryShiftByteCount()>0||ni[e.getMode()][i]===0){var d=e.addBinaryShiftChar(t);n.push(d)}},r.updateStateListForPair=function(e,t,n){var i,a,o=[];try{for(var s=Ur(e),l=s.next();!l.done;l=s.next()){var u=l.value;this.updateStateForPair(u,t,n,o)}}catch(c){i={error:c}}finally{try{l&&!l.done&&(a=s.return)&&a.call(s)}finally{if(i)throw i.error}}return this.simplifyStates(o)},r.updateStateForPair=function(e,t,n,i){var a=e.endBinaryShift(t);if(i.push(a.latchAndAppend(et,n)),e.getMode()!==et&&i.push(a.shiftAndAppend(et,n)),n===3||n===4){var o=a.latchAndAppend(qe,16-n).latchAndAppend(qe,1);i.push(o)}if(e.getBinaryShiftByteCount()>0){var s=e.addBinaryShiftChar(t).addBinaryShiftChar(t+1);i.push(s)}},r.simplifyStates=function(e){var t,n,i,a,o=[];try{for(var s=Ur(e),l=s.next();!l.done;l=s.next()){var u=l.value,c=!0,d=function(C){if(C.isBetterThanOrEqualTo(u))return c=!1,"break";u.isBetterThanOrEqualTo(C)&&(o=o.filter(function(m){return m!==C}))};try{for(var h=(i=void 0,Ur(o)),p=h.next();!p.done;p=h.next()){var g=p.value,x=d(g);if(x==="break")break}}catch(C){i={error:C}}finally{try{p&&!p.done&&(a=h.return)&&a.call(h)}finally{if(i)throw i.error}}c&&o.push(u)}}catch(C){t={error:C}}finally{try{l&&!l.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}return o},r}(),af=function(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};(function(){function r(){}return r.encodeBytes=function(e){return r.encode(e,r.DEFAULT_EC_PERCENT,r.DEFAULT_AZTEC_LAYERS)},r.encode=function(e,t,n){var i=new nf(e).encode(),a=q.truncDivision(i.getSize()*t,100)+11,o=i.getSize()+a,s,l,u,c,d;if(n!==r.DEFAULT_AZTEC_LAYERS){if(s=n<0,l=Math.abs(n),l>(s?r.MAX_NB_BITS_COMPACT:r.MAX_NB_BITS))throw new k($.format("Illegal value %s for layers",n));u=r.totalBitsInLayer(l,s),c=r.WORD_SIZE[l];var h=u-u%c;if(d=r.stuffBits(i,c),d.getSize()+a>h)throw new k("Data to large for user specified layer");if(s&&d.getSize()>c*64)throw new k("Data to large for user specified layer")}else{c=0,d=null;for(var p=0;;p++){if(p>r.MAX_NB_BITS)throw new k("Data too large for an Aztec code");if(s=p<=3,l=s?p+1:p,u=r.totalBitsInLayer(l,s),!(o>u)){(d==null||c!==r.WORD_SIZE[l])&&(c=r.WORD_SIZE[l],d=r.stuffBits(i,c));var h=u-u%c;if(!(s&&d.getSize()>c*64)&&d.getSize()+a<=h)break}}}var g=r.generateCheckWords(d,u,c),x=d.getSize()/c,C=r.generateModeMessage(s,l,x),m=(s?11:14)+l*4,_=new Int32Array(m),S;if(s){S=m;for(var p=0;p<_.length;p++)_[p]=p}else{S=m+1+2*q.truncDivision(q.truncDivision(m,2)-1,15);for(var E=q.truncDivision(m,2),O=q.truncDivision(S,2),p=0;p<E;p++){var b=p+q.truncDivision(p,15);_[E-p-1]=O-b-1,_[E+p]=O+b+1}}for(var T=new Je(S),p=0,M=0;p<l;p++){for(var B=(l-p)*4+(s?9:12),z=0;z<B;z++)for(var ne=z*2,H=0;H<2;H++)g.get(M+ne+H)&&T.set(_[p*2+H],_[p*2+z]),g.get(M+B*2+ne+H)&&T.set(_[p*2+z],_[m-1-p*2-H]),g.get(M+B*4+ne+H)&&T.set(_[m-1-p*2-H],_[m-1-p*2-z]),g.get(M+B*6+ne+H)&&T.set(_[m-1-p*2-z],_[p*2+H]);M+=B*8}if(r.drawModeMessage(T,s,S,C),s)r.drawBullsEye(T,q.truncDivision(S,2),5);else{r.drawBullsEye(T,q.truncDivision(S,2),7);for(var p=0,z=0;p<q.truncDivision(m,2)-1;p+=15,z+=16)for(var H=q.truncDivision(S,2)&1;H<S;H+=2)T.set(q.truncDivision(S,2)-z,H),T.set(q.truncDivision(S,2)+z,H),T.set(H,q.truncDivision(S,2)-z),T.set(H,q.truncDivision(S,2)+z)}var oe=new qd;return oe.setCompact(s),oe.setSize(S),oe.setLayers(l),oe.setCodeWords(x),oe.setMatrix(T),oe},r.drawBullsEye=function(e,t,n){for(var i=0;i<n;i+=2)for(var a=t-i;a<=t+i;a++)e.set(a,t-i),e.set(a,t+i),e.set(t-i,a),e.set(t+i,a);e.set(t-n,t-n),e.set(t-n+1,t-n),e.set(t-n,t-n+1),e.set(t+n,t-n),e.set(t+n,t-n+1),e.set(t+n,t+n-1)},r.generateModeMessage=function(e,t,n){var i=new ye;return e?(i.appendBits(t-1,2),i.appendBits(n-1,6),i=r.generateCheckWords(i,28,4)):(i.appendBits(t-1,5),i.appendBits(n-1,11),i=r.generateCheckWords(i,40,4)),i},r.drawModeMessage=function(e,t,n,i){var a=q.truncDivision(n,2);if(t)for(var o=0;o<7;o++){var s=a-3+o;i.get(o)&&e.set(s,a-5),i.get(o+7)&&e.set(a+5,s),i.get(20-o)&&e.set(s,a+5),i.get(27-o)&&e.set(a-5,s)}else for(var o=0;o<10;o++){var s=a-5+o+q.truncDivision(o,5);i.get(o)&&e.set(s,a-7),i.get(o+10)&&e.set(a+7,s),i.get(29-o)&&e.set(s,a+7),i.get(39-o)&&e.set(a-7,s)}},r.generateCheckWords=function(e,t,n){var i,a,o=e.getSize()/n,s=new ja(r.getGF(n)),l=q.truncDivision(t,n),u=r.bitsToWords(e,n,l);s.encode(u,l-o);var c=t%n,d=new ye;d.appendBits(0,c);try{for(var h=af(Array.from(u)),p=h.next();!p.done;p=h.next()){var g=p.value;d.appendBits(g,n)}}catch(x){i={error:x}}finally{try{p&&!p.done&&(a=h.return)&&a.call(h)}finally{if(i)throw i.error}}return d},r.bitsToWords=function(e,t,n){var i=new Int32Array(n),a,o;for(a=0,o=e.getSize()/t;a<o;a++){for(var s=0,l=0;l<t;l++)s|=e.get(a*t+l)?1<<t-l-1:0;i[a]=s}return i},r.getGF=function(e){switch(e){case 4:return ze.AZTEC_PARAM;case 6:return ze.AZTEC_DATA_6;case 8:return ze.AZTEC_DATA_8;case 10:return ze.AZTEC_DATA_10;case 12:return ze.AZTEC_DATA_12;default:throw new k("Unsupported word size "+e)}},r.stuffBits=function(e,t){for(var n=new ye,i=e.getSize(),a=(1<<t)-2,o=0;o<i;o+=t){for(var s=0,l=0;l<t;l++)(o+l>=i||e.get(o+l))&&(s|=1<<t-1-l);(s&a)===a?(n.appendBits(s&a,t),o--):(s&a)===0?(n.appendBits(s|1,t),o--):n.appendBits(s,t)}return n},r.totalBitsInLayer=function(e,t){return((t?88:112)+16*e)*e},r.DEFAULT_EC_PERCENT=33,r.DEFAULT_AZTEC_LAYERS=0,r.MAX_NB_BITS=32,r.MAX_NB_BITS_COMPACT=4,r.WORD_SIZE=Int32Array.from([4,6,6,8,8,8,8,8,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,12,12,12]),r})();const of=new Map([[Ui.DecodeHintType.POSSIBLE_FORMATS,[P.AZTEC,P.CODABAR,P.CODE_39,P.CODE_93,P.CODE_128,P.DATA_MATRIX,P.EAN_8,P.EAN_13,P.ITF,P.MAXICODE,P.PDF_417,P.QR_CODE,P.RSS_14,P.RSS_EXPANDED,P.UPC_A,P.UPC_E,P.UPC_EAN_EXTENSION]]]),Gr=w.memo(r=>{const{children:e,open:t,onOpenChange:n,defaultOpen:i,modal:a,...o}=r;return f.jsxs(v.Overlay.Root,{open:t,onOpenChange:n,defaultOpen:i,modal:a,children:[!!e&&f.jsx(v.Overlay.Trigger,{asChild:!0,children:e}),f.jsxs(v.Overlay.Content,{children:[f.jsx(v.Overlay.Title,{className:"sr-only",children:"Scanner"}),f.jsx(v.Overlay.Description,{className:"sr-only",children:"Scan a barcode or a qr code."}),f.jsx(uo,{...o})]})]})});Gr.displayName="Scanner";const uo=w.memo(r=>{const{paused:e,timeBetweenDecodingAttempts:t,onDecodeResult:n,onDecodeError:i,onError:a}=r,{ref:o}=Ui.useZxing({paused:e,timeBetweenDecodingAttempts:t,onDecodeResult:n,onDecodeError:i,onError:a,hints:of});return f.jsxs("div",{className:"flex size-full flex-col justify-center overflow-hidden bg-(--color-background)",children:[f.jsx("div",{className:"flex w-full justify-end p-4",children:f.jsx(v.Overlay.Close,{asChild:!0,children:f.jsx(v.IconButton,{"aria-label":"close",variant:"soft",accentColor:"base",children:f.jsx(v.LuIcon,{icon:nt})})})}),f.jsx("div",{className:"grow w-full max-h-full overflow-hidden p-4",children:f.jsx("video",{className:"size-full",ref:o})})]})});uo.displayName="ScannerInternal";const co=w.memo(r=>{const{children:e}=r,[t,n]=w.useState(null),i=w.useCallback(()=>{n(null)},[]),a=w.useCallback(s=>{n(s(i))},[i]),o=w.useCallback(()=>{t&&(t.onClose&&t.onClose(),i())},[i,t]);return f.jsxs(ha.Provider,{value:a,children:[e,t&&f.jsx(Gr,{open:!0,onOpenChange:o,...t})]})});co.displayName="FileViewerProvider";const ii=w.memo(r=>{const{field:e}=r,{size:t}=w.use(ce),{value:n,name:i,onBlur:a,onChange:o,error:s,disabled:l}=Ae({field:e}),[u,c]=w.useState(!1),d=w.useCallback(C=>{const m=C.target.value;o(m)},[o]),h=w.useCallback(()=>{a()},[a]),p=w.useCallback(C=>{o(C.getText()),a(),c(!1)},[o,a]),g=w.useCallback(()=>{c(!0)},[]),x=w.useCallback(()=>{c(!1),a()},[a]);return f.jsxs(_e,{size:t,inputId:e.identifier,label:e.label,description:e.description,required:e.required,error:s,image:e.image,children:[f.jsx(v.TextArea,{className:"w-full field-sizing-content",accentColor:"base",variant:"surface",size:t,id:e.identifier,name:i,value:n??"",placeholder:"Enter a qr or barcode",onChange:d,onBlur:h,disabled:l}),f.jsxs(v.Button,{onClick:g,className:"w-max",type:"button",variant:"soft",size:t,accentColor:"base",disabled:l,children:[f.jsx(v.LuIcon,{icon:cl}),"Scan"]}),f.jsx(Gr,{open:u,onDecodeResult:p,onOpenChange:x})]})});ii.displayName="ScanFieldInput";class Ht extends Be{constructor(t){super(t);D(this,"type","qr")}serialize(){return super.serialize()}getOptions(){return super.getOptions()}duplicate(t){return new Ht({...this.getOptions(),identifier:t})}setOptions(t){super.setOptions(t)}static deserialize(t){return new Ht(t)}serializeValue(t){return t}deserializeValue(t){return t}render(){return f.jsx(ii,{field:this})}isSerializedValue(t){return typeof t=="string"}isValue(t){return typeof t=="string"}blankValue(){return""}areValuesEqual(t,n){return t===n}blankSerializedValue(){return""}areSerializedValuesEqual(t,n){return t===n}}const ai=500,oi=w.memo(r=>{const{field:e}=r,{size:t}=w.use(ce),{value:n,name:i,onBlur:a,onChange:o,error:s,disabled:l}=Ae({field:e}),u=w.useCallback(h=>{const p=h.target.value;o(p)},[o]),c=w.useCallback(()=>{a()},[a]),d=w.useCallback(h=>{h.key==="Enter"&&h.preventDefault()},[]);return f.jsx(_e,{size:t,inputId:e.identifier,label:e.label,description:e.description,required:e.required,error:s,image:e.image,children:f.jsx(v.Input.Root,{accentColor:"base",variant:"surface",size:t,children:f.jsx(v.Input.Field,{id:e.identifier,className:"truncate",name:i,value:n??"",type:"text",placeholder:e.placeholder,onChange:u,onBlur:c,disabled:l,onKeyDown:d})})})});oi.displayName="StringFieldInput";class Nt extends hn{constructor(t){const{...n}=t,i=t.maxLength?Math.min(ai,t.maxLength):ai,a=t.minLength?Math.min(t.minLength,i):void 0;super({...n,maxLength:i,minLength:a});D(this,"type","string")}serialize(){return super.serialize()}getOptions(){return super.getOptions()}duplicate(t){return new Nt({...this.getOptions(),identifier:t})}setOptions(t){super.setOptions(t)}static deserialize(t){const{maximum_length:n,minimum_length:i,...a}=t;return new Nt({...a,maxLength:n,minLength:i,placeholder:"Enter a short description"})}render(){return f.jsx(oi,{field:this})}}const si=w.memo(r=>{const{field:e}=r,{size:t}=w.use(ce),{value:n,name:i,onBlur:a,onChange:o,error:s,disabled:l}=Ae({field:e}),u=w.useCallback(d=>{const h=d.target.value;o(h)},[o]),c=w.useCallback(()=>{a()},[a]);return f.jsx(_e,{size:t,inputId:e.identifier,label:e.label,description:e.description,required:e.required,error:s,image:e.image,children:f.jsx(v.TextArea,{id:e.identifier,value:n??"",name:i,onChange:u,onBlur:c,className:"field-sizing-content min-h-12",placeholder:e.placeholder,resize:"vertical",accentColor:"base",variant:"surface",size:t,disabled:l})})});si.displayName="TextFieldInput";class bt extends hn{constructor(t){const n=t.maxLength?Math.min(Qt,t.maxLength):Qt,i=t.minLength?Math.min(t.minLength,n):void 0;super({...t,maxLength:n,minLength:i});D(this,"type","text")}serialize(){return super.serialize()}getOptions(){return super.getOptions()}duplicate(t){return new bt({...this.getOptions(),identifier:t})}setOptions(t){super.setOptions(t)}static deserialize(t){const{maximum_length:n,minimum_length:i,...a}=t;return new bt({...a,maxLength:n,minLength:i,placeholder:"Enter a description"})}render(){return f.jsx(si,{field:this})}}const li=w.memo(r=>{var C;const{field:e}=r,{size:t}=w.use(ce),{value:n,name:i,onBlur:a,onChange:o,error:s,disabled:l}=Ae({field:e}),u=w.useRef(null),c=w.useCallback(()=>{var m;(m=u.current)==null||m.click()},[]),d=w.useCallback(()=>{if(!u.current)return;const m=u.current.files;if(!m){a();return}const _=Array.from(m).map(E=>at.from(R.v4(),E)),S=[...n,..._];o(S),a()},[a,o,n]),h=w.useCallback(m=>{const _=[...n];_.splice(m,1),o(_),a()},[n,o,a]);w.useEffect(()=>{if(!u.current)return;const m=new AbortController;return u.current.addEventListener("cancel",()=>{a()},{signal:m.signal}),()=>{m.abort()}},[a,n]);const x=e.maxFiles>1?"Select files":"Select a file";return f.jsxs(_e,{size:t,inputId:e.identifier,label:e.label,description:e.description,required:e.required,error:s,image:e.image,children:[f.jsxs(v.Button,{className:"w-max",size:t,variant:"soft",accentColor:"base",onClick:c,type:"button",disabled:l,children:[f.jsx(v.LuIcon,{icon:an}),x]}),f.jsx("input",{id:e.identifier,name:i,type:"file",ref:u,accept:(C=e.extensions)==null?void 0:C.join(","),multiple:e.maxFiles>1,className:"hidden",onChange:d,value:""}),n.length>0&&f.jsx("div",{className:"flex h-max flex-col gap-2",children:n.map((m,_)=>f.jsx(_n,{size:t,file:m,onRemove:()=>{h(_)},disabled:l},_))})]})});li.displayName="UploadFieldInput";class Tt extends Be{constructor(t){const{extensions:n,maximum_files:i,maximum_size:a,...o}=t;super(o);D(this,"type","upload");D(this,"extensions");D(this,"maxFileSize");D(this,"maxFiles");this.maxFileSize=typeof a=="number"?a:void 0,this.maxFiles=Math.max(typeof i=="number"?i:1,1),this.extensions=n}static getFieldCreationSchema(t=""){const n=t&&`${t}.`;return[{field:new Me({label:"How many files can be uploaded?",description:"By default, only one file can be uploaded.",required:!1,minimum:1,maximum:10,identifier:`${n}maximum_files`,integers:!0}),showDirectly:!1},{field:new Me({label:"What is the maximum size of each file?",description:`Maximum file size in megabytes (between 1MB–${Xt}MB).`,required:!1,identifier:`${n}maximum_size`,minimum:1,maximum:Xt,integers:!0}),showDirectly:!1},{field:new rt({label:"Accepted file types",description:"Types of allowed files to upload. If left blank, all files will be accepted.",required:!1,identifier:`${n}extensions`,options:[{value:"image/*",label:"Images"},{value:"audio/*",label:"Audio files"},{value:"video/*",label:"Videos"},{value:"text/*",label:"Text files"},{value:"application/*",label:"Application files (includes PDFs and Word documents)"}]}),showDirectly:!1}]}getFieldValidators(){const t=super.getFieldValidators(),n=this.maxFileSize??Xt,i=n*1e3*1e3,a=this.maxFiles||1;return t.push(o=>{if(o.some(s=>s instanceof at&&s.size>i))return`Files must be at most ${n}MB.`}),t.push(o=>{if(o.length>a)return`You can only upload ${a} files.`}),t}serialize(){return{...super.serialize(),extensions:this.extensions,maximum_size:this.maxFileSize,maximum_files:this.maxFiles}}getOptions(){return{...super.getOptions(),extensions:this.extensions,maximum_size:this.maxFileSize,maximum_files:this.maxFiles}}duplicate(t){return new Tt({...this.getOptions(),identifier:t})}setOptions(t){const{extensions:n,maximum_files:i,maximum_size:a,...o}=t;this.maxFileSize=typeof a=="number"?a:this.maxFileSize,this.maxFiles=typeof i=="number"?i:this.maxFiles,this.extensions=n,super.setOptions(o)}static deserialize(t){return new Tt(t)}serializeValue(t){return[]}deserializeValue(t){return[]}render(){return f.jsx(li,{field:this})}isSerializedValue(t){return Array.isArray(t)&&t.length===0}isValue(t){return Array.isArray(t)?t.every(n=>n instanceof Lt||n instanceof at):!1}areValuesEqual(t,n){return Nr(t,n)}blankValue(){return[]}blankSerializedValue(){return[]}areSerializedValuesEqual(t,n){return t.length===n.length}}const ui=w.memo(r=>{const{field:e}=r,{size:t}=w.use(ce),{value:n,name:i,onBlur:a,onChange:o,error:s,disabled:l}=Ae({field:e}),u=w.useCallback(p=>{const g=p.target.value;g!==""&&!URL.canParse(g)||o(g!==""?new URL(g):null)},[o]),c=w.useCallback(()=>{a()},[a]),d=w.useCallback(p=>{p.key==="Enter"&&p.preventDefault()},[]),h=w.useCallback(()=>{n!==null&&window.open(n,"_blank","noopener,noreferrer")},[n]);return f.jsx(_e,{size:t,inputId:e.identifier,label:e.label,description:e.description,required:e.required,error:s,image:e.image,children:f.jsxs("div",{className:"flex gap-2 w-full",children:[f.jsx(v.Input.Root,{className:"grow",accentColor:"base",variant:"surface",size:t,children:f.jsx(v.Input.Field,{id:e.identifier,className:"truncate",name:i,value:n?n.toString():"",type:"url",inputMode:"url",placeholder:e.placeholder,onChange:u,onBlur:c,disabled:l,onKeyDown:d})}),f.jsx(v.IconButton,{size:t,variant:"soft",accentColor:"base",type:"button",disabled:n===null,onClick:h,children:f.jsx(v.LuIcon,{icon:tl})})]})})});ui.displayName="URLFieldInput";class qt extends Be{constructor(t){const{placeholder:n="https://example.com",...i}=t;super(i);D(this,"type","url");D(this,"placeholder");this.placeholder=n}serialize(){return{...super.serialize(),placeholder:this.placeholder}}getOptions(){return{...super.getOptions(),placeholder:this.placeholder}}duplicate(t){return new qt({...this.getOptions(),identifier:t})}setOptions(t){const{placeholder:n,...i}=t;this.placeholder=n??this.placeholder,super.setOptions(i)}static deserialize(t){return new qt(t)}serializeValue(t){return(t==null?void 0:t.toString())??null}deserializeValue(t){return t===null?null:new URL(t)}isSerializedValue(t){return t===null?!0:typeof t!="string"?!1:URL.canParse(t)}isValue(t){return t===null||t instanceof URL}blankValue(){return null}blankSerializedValue(){return null}areSerializedValuesEqual(t,n){return t===n}areValuesEqual(t,n){return(t==null?void 0:t.toString())===(n==null?void 0:n.toString())}render(){return f.jsx(ui,{field:this})}}const ci={date:Pt,number:Me,boolean:gt,select:it,string:Nt,url:qt,text:bt,upload:Tt,qr:Ht,"multi-string":vt,"multi-select":rt,radio:mt,"checkbox-list":xt,"pass-fail":wt,otp:yt,rating:_t},fo=Object.keys(ci),ue={"checkbox-list":{description:"Allows the user to select a multiple options from a list.",group:j.Selection,icon:el,name:"Checkbox list"},"multi-select":{description:"Allows the user to select a multiple options from a list of options.",group:j.Selection,icon:sl,name:"Multi-select"},"multi-string":{description:"Allows the user to provide multiple unique strings.",group:j.Text,icon:ul,name:"Multi-string"},"pass-fail":{description:"Track pass, fail, or N/A outcome.",group:j.Assessment,icon:Js,name:"Pass - Fail"},boolean:{description:"Perfect for both optional and required yes/no questions.",group:j.Selection,icon:pl,name:"Checkbox"},date:{description:"Allows specifying a date.",group:j.Temporal,icon:js,name:"Date"},number:{description:"Allows specifying a number within a given range.",group:j.Numeric,icon:al,name:"Number"},otp:{description:"Allows specifying a number within a given range.",group:j.Verification,icon:dl,name:"OTP"},qr:{description:"Used for scanning/reading QR and barcodes.",group:j.Capture,icon:fl,name:"Scan"},radio:{description:"Allows the user to select a single option from a list of options.",group:j.Selection,icon:Zs,name:"Option list"},rating:{description:"Allows users to select a rating value.",group:j.Assessment,icon:ra,name:"Rating"},select:{description:"Allows the user to select a single option from a list of options.",group:j.Selection,icon:ll,name:"Dropdown"},string:{description:"Short text fields can hold up to 500 characters on a single line.",group:j.Text,icon:gl,name:"Short Text"},text:{description:"Paragraph fields can hold up to 10000 characters and can have multiple lines.",group:j.Text,icon:Xs,name:"Paragraph"},upload:{description:"Allows a file to be uploaded.",group:j.Capture,icon:an,name:"Upload"},url:{description:"Allows users to enter a URL.",group:j.Text,icon:ol,name:"URL"}},ho={[j.Assessment]:{name:"Assessment"},[j.Capture]:{name:"Capture"},[j.Numeric]:{name:"Numeric"},[j.Selection]:{name:"Selection"},[j.Temporal]:{name:"Temporal"},[j.Text]:{name:"Text"},[j.Verification]:{name:"Verification"}},Xt=50,po=Xt*1e3,vo=po*1e3,me="Unlabelled",di="Unlabelled";class X{constructor(e){D(this,"id");D(this,"label");D(this,"getApplyFn");D(this,"serialize");D(this,"deserialize");const{id:t,getApplyFn:n,label:i,serialize:a,deserialize:o}=e;this.id=t,this.getApplyFn=n,this.label=i,this.serialize=a,this.deserialize=o}static create(e){return new X(e)}}const go=X.create({id:"nullable-boolean-equals",label:"is",getApplyFn:r=>e=>e===r,serialize:r=>r,deserialize:r=>r}),xo=X.create({id:"nullable-boolean-not-equals",label:"is not",getApplyFn:r=>e=>e!==r,serialize:r=>r,deserialize:r=>r}),yo=X.create({id:"date-equals",getApplyFn:r=>e=>e.getTime()===r.getTime(),label:"is",serialize:r=>r.toISOString(),deserialize:r=>new Date(r)}),Co=X.create({id:"date-not-equals",getApplyFn:r=>e=>e.getTime()!==r.getTime(),label:"is not",serialize:r=>r.toISOString(),deserialize:r=>new Date(r)}),wo=X.create({id:"date-before",getApplyFn:r=>e=>e.getTime()<r.getTime(),label:"before",serialize:r=>r.toISOString(),deserialize:r=>new Date(r)}),mo=X.create({id:"date-after",label:"after",getApplyFn:r=>e=>e.getTime()>r.getTime(),serialize:r=>r.toISOString(),deserialize:r=>new Date(r)}),_o=X.create({id:"date-range-in",label:"in between",getApplyFn:r=>e=>!(r!=null&&r.from&&r.from.getTime()>e.getTime()||r!=null&&r.to&&r.to.getTime()<e.getTime()),serialize:r=>{var e,t;return{from:((e=r.from)==null?void 0:e.toISOString())??null,to:((t=r.to)==null?void 0:t.toISOString())??null}},deserialize:r=>({from:r.from?new Date(r.from):void 0,to:r.to?new Date(r.to):void 0})}),Ao=X.create({id:"date-range-not-in",label:"not in between",getApplyFn:r=>e=>!!(r!=null&&r.from&&r.from.getTime()>e.getTime()||r!=null&&r.to&&r.to.getTime()<e.getTime()),serialize:r=>{var e,t;return{from:((e=r.from)==null?void 0:e.toISOString())??null,to:((t=r.to)==null?void 0:t.toISOString())??null}},deserialize:r=>({from:r.from?new Date(r.from):void 0,to:r.to?new Date(r.to):void 0})}),Eo=X.create({id:"has-files",label:"is",getApplyFn:r=>e=>e.length>0,serialize:r=>r,deserialize:r=>r}),So=X.create({id:"does-not-have-files",label:"is not",getApplyFn:r=>e=>e.length===0,serialize:r=>r,deserialize:r=>r}),fi=X.create({id:"number-equals",getApplyFn:r=>e=>e===r,label:"is",serialize:r=>r,deserialize:r=>r}),hi=X.create({id:"number-not-equals",getApplyFn:r=>e=>e!==r,label:"is not",serialize:r=>r,deserialize:r=>r}),pi=X.create({id:"number-less-than",getApplyFn:r=>e=>e<r,label:"is less than",serialize:r=>r,deserialize:r=>r}),vi=X.create({id:"number-less-than-or-equals",getApplyFn:r=>e=>e<=r,label:"is less than or equal to",serialize:r=>r,deserialize:r=>r}),gi=X.create({id:"number-greater-than",getApplyFn:r=>e=>e>r,label:"is greater than",serialize:r=>r,deserialize:r=>r}),xi=X.create({id:"number-greater-than-or-equals",getApplyFn:r=>e=>e>=r,label:"is greater than or equal to",serialize:r=>r,deserialize:r=>r}),yi=X.create({id:"number-range-in",getApplyFn:r=>e=>!(r.to&&e>r.to||r.from&&e<r.from),label:"is between",serialize:r=>r,deserialize:r=>r}),Ci=X.create({id:"number-range-not-in",getApplyFn:r=>e=>!!(r.to&&e>r.to||r.from&&e<r.from),label:"is not between",serialize:r=>r,deserialize:r=>r}),Io=X.create({id:"pass-fail-equals",getApplyFn:r=>e=>e===r,label:"is",serialize:r=>r,deserialize:r=>r}),Oo=X.create({id:"pass-fail-not-equals",getApplyFn:r=>e=>e!==r,label:"is not",serialize:r=>r,deserialize:r=>r}),No=X.create({id:"pass-fail-array-includes",getApplyFn:r=>{const e=new Set(r);return t=>e.has(t)},label:"is any of",serialize:r=>r,deserialize:r=>r}),bo=X.create({id:"pass-fail-array-excludes",getApplyFn:r=>{const e=new Set(r);return t=>!e.has(t)},label:"is none of",serialize:r=>r,deserialize:r=>r}),dt=X.create({id:"nullable-string-equals",getApplyFn:r=>e=>e===r,label:"is",serialize:r=>r,deserialize:r=>r}),ft=X.create({id:"nullable-string-not-equals",getApplyFn:r=>e=>e!==r,label:"is not",serialize:r=>r,deserialize:r=>r}),$t=X.create({id:"string-includes",getApplyFn:r=>e=>e.includes(r),label:"includes",serialize:r=>r,deserialize:r=>r}),Wt=X.create({id:"string-excludes",getApplyFn:r=>e=>!e.includes(r),label:"does not include",serialize:r=>r,deserialize:r=>r}),wi=X.create({id:"string-array-includes",getApplyFn:r=>{const e=new Set(r);return t=>e.has(t)},label:"is any of",serialize:r=>r,deserialize:r=>r}),mi=X.create({id:"string-array-excludes",getApplyFn:r=>{const e=new Set(r);return t=>!e.has(t)},label:"is none of",serialize:r=>r,deserialize:r=>r}),Hr=X.create({id:"string-array-every",getApplyFn:r=>{const e=new Set(r);return t=>{const n=new Set(t);return e.isSubsetOf(n)}},label:"has all of",serialize:r=>r,deserialize:r=>r}),qr=X.create({id:"string-array-some",getApplyFn:r=>{const e=new Set(r);return t=>{const n=new Set(t);return!e.isDisjointFrom(n)}},label:"has any of",serialize:r=>r,deserialize:r=>r}),Xr=X.create({id:"string-array-none",getApplyFn:r=>{const e=new Set(r);return t=>{const n=new Set(t);return e.isDisjointFrom(n)}},label:"has none of",serialize:r=>r,deserialize:r=>r}),$r=X.create({id:"string-array-equals",getApplyFn:r=>{const e=new Set(r);return t=>{const n=new Set(t);return e.size===n.size&&n.isSubsetOf(e)}},label:"is",serialize:r=>r,deserialize:r=>r}),Wr=X.create({id:"string-array-not-equals",getApplyFn:r=>{const e=new Set(r);return t=>{const n=new Set(t);return e.size!==n.size||!n.isSubsetOf(e)}},label:"is not",serialize:r=>r,deserialize:r=>r}),V=r=>r;class Oe extends Zt{constructor(t){const{id:n,field:i,conditionValue:a,conditionModifier:o}=t;super();D(this,"id");D(this,"conditionValue");D(this,"conditionModifier");D(this,"field");D(this,"getConditionValue",()=>this.conditionValue);D(this,"setConditionValue",t=>{const n=this.modifiers[this.conditionModifier];t!==void 0&&!n.isConditionValueValid(t)||(this.conditionValue=t,this.notify(this))});D(this,"getConditionModifier",()=>this.conditionModifier);D(this,"setConditionModifier",t=>{const n=this.modifiers[t],i=this.getConditionValue();i&&!n.isConditionValueValid(i)&&(this.conditionValue=void 0),this.conditionModifier=t,this.notify(this)});D(this,"getConditionModifiers",()=>Object.entries(this.modifiers));D(this,"accessorFn",t=>t[this.field.identifier]);D(this,"getApplyFn",()=>{const t=this.modifiers[this.conditionModifier],n=this.getConditionValue(),i=n!==void 0&&t.isConditionValueValid(n),a=i?t.modifier.getApplyFn(n):null;return o=>{if(!i)return!0;const s=this.transformValue(o);return t.isValueValid(s)?a(s):!1}});this.id=n,this.field=i,this.conditionValue=a,this.conditionModifier=o}serialize(){return{id:this.id,type:this.field.type,fieldId:this.field.identifier,conditionValue:this.conditionValue!==void 0?this.modifiers[this.conditionModifier].modifier.serialize(this.conditionValue):void 0,conditionModifier:this.conditionModifier}}transformValue(t){return t}}const To=w.memo,Dt=To(function(r){const{ref:e,children:t,...n}=r,i=w.useCallback(a=>typeof t=="function"?f.jsxs(f.Fragment,{children:[t(a),f.jsx(v.Menu.SelectedIndicator,{className:"ml-[auto]",children:f.jsx(v.LuIcon,{icon:Re})})]}):f.jsxs(f.Fragment,{children:[t,f.jsx(v.Menu.SelectedIndicator,{className:"ml-[auto]",children:f.jsx(v.LuIcon,{icon:Re})})]}),[t]);return f.jsx(v.Menu.SelectItem,{ref:e,...n,children:i})}),Do=To(function(r){const{ref:e,children:t,...n}=r,i=w.useCallback(a=>typeof t=="function"?f.jsxs(f.Fragment,{children:[t(a),f.jsx(v.Menu.SelectedIndicator,{className:"ml-auto",children:f.jsx(v.LuIcon,{icon:Re})})]}):f.jsxs(f.Fragment,{children:[t,f.jsx(v.Menu.SelectedIndicator,{className:"ml-auto",children:f.jsx(v.LuIcon,{icon:Re})})]}),[t]);return f.jsx(v.Menu.MultiSelectItem,{ref:e,...n,children:i})}),_i=w.memo(r=>{const{ref:e,children:t,...n}=r,i=w.useCallback(a=>typeof t=="function"?f.jsxs(f.Fragment,{children:[t(a),f.jsx(v.Menu.CheckboxItemIndicator,{className:"ml-[auto]",children:o=>o?f.jsx(v.LuIcon,{icon:Sr}):f.jsx(v.LuIcon,{icon:Re})})]}):f.jsxs(f.Fragment,{children:[t,f.jsx(v.Menu.CheckboxItemIndicator,{className:"ml-[auto]",children:o=>o?f.jsx(v.LuIcon,{icon:Sr}):f.jsx(v.LuIcon,{icon:Re})})]}),[t]);return f.jsx(v.Menu.SelectAllItem,{ref:e,...n,children:i})});_i.displayName="SelectAllItemTemplate";const De=r=>{const{children:e,condition:t,size:n="sm",variant:i,accentColor:a,radius:o}=r,s=w.useCallback(l=>{t.setConditionModifier(l)},[t]);return f.jsxs(v.Menu.Root,{align:"start",children:[f.jsx(v.Menu.ClickTrigger,{children:e}),f.jsx(v.Menu.Content,{size:n,variant:i,radius:o,accentColor:a,children:f.jsx(v.Menu.SelectGroup,{required:!0,value:t.getConditionModifier(),onValueChange:s,children:t.getConditionModifiers().map(([l,u])=>f.jsx(Dt,{value:l,children:u.modifier.label},l))})})]})},jr=w.memo(r=>{const{children:e,open:t,onOpenChange:n,defaultOpen:i,modal:a,size:o,align:s,accentColor:l="base",...u}=r;return f.jsxs(v.Popover.Root,{open:t,onOpenChange:n,defaultOpen:i,modal:a,children:[f.jsx(v.Popover.Trigger,{asChild:!0,children:e}),f.jsx(v.Popover.Content,{size:o,align:s,children:f.jsx(v.DayPicker,{size:o,accentColor:l,...u})})]})});jr.displayName="DayPickerPopover";const Mo=w.memo(r=>{const{children:e,open:t,onOpenChange:n,defaultOpen:i,modal:a,size:o,accentColor:s="base",values:l,onValuesChange:u,placeholder:c="Enter text",...d}=r,[h,p]=w.useState(""),g=w.useCallback(_=>{p(_.target.value)},[]),x=w.useCallback(_=>{_.key==="Enter"&&(_.preventDefault(),_.stopPropagation(),u([...l,h]),p(""))},[h,u,l]),C=w.useCallback(()=>{u([...l,h]),p("")},[h,u,l]),m=w.useCallback(_=>{const S=[...l];S.splice(_,1),u(S)},[u,l]);return f.jsxs(v.Popover.Root,{open:t,onOpenChange:n,defaultOpen:i,modal:a,children:[f.jsx(v.Popover.Trigger,{asChild:!0,children:e}),f.jsx(v.Popover.Content,{size:o,onClick:v.stopPropagation,accentColor:s,...d,children:f.jsxs("div",{className:"flex flex-col gap-2",children:[f.jsxs("div",{className:"flex gap-2",children:[f.jsx(v.Input.Root,{className:"grow",accentColor:"base",variant:"outline",size:"sm",children:f.jsx(v.Input.Field,{value:h,onChange:g,onKeyDown:x,placeholder:c,...d})}),f.jsx(v.IconButton,{size:"sm",accentColor:"base",variant:"soft",type:"button",onClick:C,children:f.jsx(v.LuIcon,{icon:je})})]}),l.length>0&&f.jsx("div",{className:"flex flex-col gap-1",children:l.map((_,S)=>f.jsxs(v.Badge,{className:"flex items-center justify-between gap-2",accentColor:"base",size:"sm",variant:"soft",children:[f.jsx("span",{className:"truncate",children:_}),f.jsx(v.IconButton,{size:"xs",variant:"ghost",type:"button",accentColor:"base",onClick:()=>{m(S)},children:f.jsx(v.LuIcon,{icon:nt})})]},`${_}-${S}`))})]})})]})});Mo.displayName="NumberInputPopover";const Mt=w.memo(r=>{const{children:e,open:t,onOpenChange:n,defaultOpen:i,modal:a,size:o,accentColor:s="base",value:l,onValueChange:u,placeholder:c="Enter a number",...d}=r,[h,p]=w.useState(null);w.useEffect(()=>{l!==void 0&&p(l)},[l]);const g=w.useCallback(C=>{const m=C.target.valueAsNumber;p(isNaN(m)?null:m)},[]),x=w.useCallback(C=>{const m=C.target.valueAsNumber;u==null||u(isNaN(m)?null:m)},[u]);return f.jsxs(v.Popover.Root,{open:t,onOpenChange:n,defaultOpen:i,modal:a,children:[f.jsx(v.Popover.Trigger,{asChild:!0,children:e}),f.jsx(v.Popover.Content,{size:o,onClick:v.stopPropagation,...d,children:f.jsx(v.Input.Root,{size:o,accentColor:s,children:f.jsx(v.Input.Field,{placeholder:c,type:"number",value:h??"",onChange:g,onBlur:x})})})]})});Mt.displayName="NumberInputPopover";const Ne=r=>{const{condition:e,onClick:t,...n}=r,i=w.useCallback(()=>{t(e)},[e,t]);return f.jsx(v.IconButton,{onClick:i,...n,children:f.jsx(v.LuIcon,{icon:nt})})};Ne.displayName="RemoveConditionButton";const sr=w.memo(r=>{const{ref:e,selectFieldOptions:t,...n}=r,i=w.useMemo(()=>t.map(a=>typeof a=="string"?{value:a,label:a}:a),[t]);return f.jsxs(v.Menu.MultiSelectGroup,{ref:e,...n,children:[f.jsx(_i,{children:"Select all"}),i.map(a=>f.jsx(Do,{value:a.value,children:f.jsx("span",{className:"truncate",children:a.label})},a.value))]})});sr.displayName="SelectFieldOptionMultiSelectGroup";const Ai=w.memo(r=>{const{ref:e,selectFieldOptions:t,...n}=r,i=w.useMemo(()=>t.map(a=>typeof a=="string"?{value:a,label:a}:a),[t]);return f.jsx(v.Menu.SelectGroup,{ref:e,...n,children:i.map(a=>f.jsx(Dt,{value:a.value,children:f.jsx("span",{className:"truncate",children:a.label})},a.value))})});Ai.displayName="SelectFieldOptionSelectGroup";const jt=w.memo(r=>{const{children:e,open:t,onOpenChange:n,defaultOpen:i,modal:a,size:o,accentColor:s="base",value:l,onValueChange:u,placeholder:c="Enter text",...d}=r,[h,p]=w.useState(""),g=w.useCallback(C=>{p(C.target.value)},[]),x=w.useCallback(C=>{const m=C.target.value;u==null||u(m)},[u]);return w.useEffect(()=>{l&&p(l)},[l]),f.jsxs(v.Popover.Root,{open:t,onOpenChange:n,defaultOpen:i,modal:a,children:[f.jsx(v.Popover.Trigger,{asChild:!0,children:e}),f.jsx(v.Popover.Content,{size:o,onClick:v.stopPropagation,...d,children:f.jsx(v.Input.Root,{size:o,accentColor:s,children:f.jsx(v.Input.Field,{placeholder:c,type:"text",value:h,onChange:g,onBlur:x})})})]})});jt.displayName="TextInputPopover";const Fo=r=>{const{condition:e,onRemove:t}=r,n=e.getConditionValue(),i=e.getConditionModifier(),a=()=>{switch(n){case void 0:return"...";case!0:return"true";case!1:return"false";case null:return"empty"}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[e.field.type].icon}),f.jsx("span",{className:"truncate",children:e.field.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[i].modifier.label})}),f.jsxs(v.Menu.Root,{children:[f.jsx(v.Menu.ClickTrigger,{children:f.jsx(v.Button,{type:"button",className:"min-w-0 shrink-1 grow",children:a()})}),f.jsx(v.Menu.Content,{size:"sm",children:f.jsxs(v.Menu.SelectGroup,{required:!0,value:n,onValueChange:e.setConditionValue,children:[f.jsx(Dt,{value:!0,children:"true"}),f.jsx(Dt,{value:!1,children:"false"})]})})]}),f.jsx(Ne,{condition:e,onClick:t})]})},Vo={equals:V({modifier:go,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),notEquals:V({modifier:xo,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0})};class lr extends Oe{constructor(t){super(t);D(this,"modifiers",Vo)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=Vo[a];let l;return i!==void 0&&(l=s.modifier.deserialize(i)),new lr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(Fo,{condition:this,...t},this.id)}}const Po=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=w.useCallback(l=>{l.length>0?e.setConditionValue(l):e.setConditionValue(void 0)},[e]),s=()=>{if(i===void 0)return"...";if(i===null)return"empty";switch(i.length){case 0:return"...";default:return`${i.length} options`}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"soft",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"soft",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),f.jsxs(v.Menu.Root,{children:[f.jsx(v.Menu.ClickTrigger,{children:f.jsx(v.Button,{type:"button",className:"truncate",children:s()})}),f.jsx(v.Menu.Content,{size:"sm",children:f.jsx(sr,{values:i??[],selectFieldOptions:e.field.options,onValuesChange:o})})]}),f.jsx(Ne,{condition:e,onClick:t})]})},Bo={equals:V({modifier:$r,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),notEquals:V({modifier:Wr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),every:V({modifier:Hr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),some:V({modifier:qr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),none:V({modifier:Xr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0})};class ur extends Oe{constructor(t){super(t);D(this,"modifiers",Bo)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=Bo[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new ur({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(Po,{condition:this,...t},this.id)}}class Yr extends Zt{constructor(t){super();D(this,"conditions");D(this,"conditionObserver",()=>{this.conditions=[...this.conditions],this.notify(this)});D(this,"initConditions",t=>{for(const n of t)n.observe(this.conditionObserver);return t});this.conditions=this.initConditions(t)}getConditions(){return this.conditions}addCondition(t){this.conditions=this.initConditions([...this.conditions,t]),this.notify(this)}addConditions(t){this.conditions=this.initConditions([...this.conditions,...t]),this.notify(this)}removeCondition(t){this.conditions=this.initConditions(this.conditions.filter(n=>n.id!==t.id)),this.notify(this)}removeConditions(t){const n=new Set(t.map(i=>i.id));this.conditions=this.initConditions(this.conditions.filter(i=>!n.has(i.id))),this.notify(this)}applyConditions(t){return this.conditions.length===0?!0:this.conditions.map(i=>[i.getApplyFn(),i.accessorFn]).every(([i,a])=>i(a(t)))}}const sf=(r,e)=>w.useMemo(()=>{const t=new Yr(r);return t.observe(n=>e(n.getConditions())),t},[r,e]),Lo=r=>{const{condition:e,onRemove:t}=r,n=e.getConditionValue(),i=e.getConditionModifier(),a=()=>{var o,s;switch(i){case"equals":case"notEquals":{const l=e.modifiers.equals,u=n!==void 0&&l.isConditionValueValid(n)?n:void 0;return f.jsx(jr,{required:!1,size:"sm",mode:"single",selected:u??void 0,onSelect:c=>e.setConditionValue(c),children:f.jsx(v.Button,{type:"button",className:"truncate",children:u!==void 0?(u==null?void 0:u.toLocaleDateString())??"empty":"..."})})}case"before":case"after":{const l=e.modifiers.after,u=n!==void 0&&l.isConditionValueValid(n)?n:void 0;return f.jsx(jr,{required:!0,size:"sm",mode:"single",selected:u,onSelect:e.setConditionValue,children:f.jsx(v.Button,{type:"button",className:"truncate",children:u?u.toLocaleDateString():"..."})})}case"in":case"notIn":{const l=e.modifiers.in,u=n!==void 0&&l.isConditionValueValid(n)?n:void 0;return f.jsx(jr,{required:!0,mode:"range",size:"sm",selected:u,onSelect:e.setConditionValue,children:f.jsx(v.Button,{className:"truncate",children:u?`${(o=u.from)==null?void 0:o.toLocaleDateString()} - ${(s=u.to)==null?void 0:s.toLocaleDateString()}`:"..."})})}}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[e.field.type].icon}),f.jsx("span",{className:"truncate",children:e.field.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[i].modifier.label})}),a(),f.jsx(Ne,{condition:e,onClick:t})]})},zo={equals:V({modifier:yo,isValueValid:r=>r instanceof Date,isConditionValueValid:r=>r instanceof Date,isSerializedValueValid:r=>typeof r=="string"}),notEquals:V({modifier:Co,isValueValid:r=>r instanceof Date,isConditionValueValid:r=>r instanceof Date,isSerializedValueValid:r=>typeof r=="string"}),before:V({modifier:wo,isValueValid:r=>r instanceof Date,isConditionValueValid:r=>r instanceof Date,isSerializedValueValid:r=>typeof r=="string"}),after:V({modifier:mo,isValueValid:r=>r instanceof Date,isConditionValueValid:r=>r instanceof Date,isSerializedValueValid:r=>typeof r=="string"}),in:V({modifier:_o,isValueValid:r=>r instanceof Date,isConditionValueValid:r=>"to"in(r??{})&&"from"in(r??{}),isSerializedValueValid:r=>typeof r=="object"&&"to"in r&&"from"in r}),notIn:V({modifier:Ao,isValueValid:r=>r instanceof Date,isConditionValueValid:r=>"to"in(r??{})&&"from"in(r??{}),isSerializedValueValid:r=>typeof r=="object"&&"to"in r&&"from"in r})};class cr extends Oe{constructor(t){super(t);D(this,"modifiers",zo)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=zo[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new cr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(Lo,{condition:this,...t},this.id)}}const ko=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=w.useCallback(l=>{l.length>0?e.setConditionValue(l):e.setConditionValue(void 0)},[e]),s=()=>{if(i===void 0)return"...";if(i===null)return"empty";switch(i.length){case 0:return"...";default:return`${i.length} options`}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),f.jsxs(v.Menu.Root,{children:[f.jsx(v.Menu.ClickTrigger,{children:f.jsx(v.Button,{type:"button",className:"truncate",children:s()})}),f.jsx(v.Menu.Content,{size:"sm",children:f.jsx(sr,{values:i??[],selectFieldOptions:n.options,onValuesChange:o})})]}),f.jsx(Ne,{condition:e,onClick:t})]})},Ro={equals:V({modifier:$r,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),notEquals:V({modifier:Wr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),every:V({modifier:Hr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),some:V({modifier:qr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),none:V({modifier:Xr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0})};class dr extends Oe{constructor(t){super(t);D(this,"modifiers",Ro)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=Ro[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new dr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(ko,{condition:this,...t},this.id)}}const Ei=[],Uo=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=w.useCallback(l=>{e.setConditionValue(l.length>0?l:void 0)},[e]),s=()=>{if(i===void 0)return"...";if(i===null)return"empty";switch(i.length){case 0:return"...";case 1:return i[0].toString();default:return`${i.length} values`}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),f.jsx(Mo,{values:i??Ei,onValuesChange:o,children:f.jsx(v.Button,{type:"button",className:"truncate",children:s()})}),f.jsx(Ne,{condition:e,onClick:t})]})},Go={equals:V({modifier:$r,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),notEquals:V({modifier:Wr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),every:V({modifier:Hr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),some:V({modifier:qr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),none:V({modifier:Xr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0})};class fr extends Oe{constructor(t){super(t);D(this,"modifiers",Go)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=Go[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new fr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(Uo,{condition:this,...t},this.id)}}const Ho=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=()=>{switch(a){case"equals":case"greaterThanOrEquals":case"lessThanOrEquals":case"greaterThan":case"lessThan":{const s=e.modifiers.greaterThan,l=i!==void 0&&s.isConditionValueValid(i)?i:void 0;return f.jsx(Mt,{value:l??null,onValueChange:u=>e.setConditionValue(u??void 0),size:"sm",children:f.jsx(v.Button,{type:"button",className:"truncate",children:l!==void 0?l??"empty":"..."})})}case"inRange":case"notInRange":{const s=e.modifiers.inRange,l=i!==void 0&&s.isConditionValueValid(i)?i:void 0;return f.jsxs(f.Fragment,{children:[f.jsx(Mt,{value:(l==null?void 0:l.from)??null,onValueChange:u=>{e.setConditionValue({from:u,to:(l==null?void 0:l.to)??null})},size:"sm",children:f.jsx(v.Button,{className:"truncate",children:(l==null?void 0:l.from)??"..."})}),f.jsx(Mt,{value:(l==null?void 0:l.to)??null,onValueChange:u=>{e.setConditionValue({from:(l==null?void 0:l.from)??null,to:u})},size:"sm",children:f.jsx(v.Button,{className:"truncate",children:(l==null?void 0:l.to)??"..."})})]})}}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),o(),f.jsx(Ne,{condition:e,onClick:t})]})},qo={equals:V({modifier:fi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),notEquals:V({modifier:hi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),lessThan:V({modifier:pi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),lessThanOrEquals:V({modifier:vi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),greaterThan:V({modifier:gi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),greaterThanOrEquals:V({modifier:xi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),inRange:V({modifier:yi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="object",isSerializedValueValid:r=>typeof r=="object"}),notInRange:V({modifier:Ci,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="object",isSerializedValueValid:r=>typeof r=="object"})};class hr extends Oe{constructor(t){super(t);D(this,"modifiers",qo)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=qo[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new hr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(Ho,{condition:this,...t},this.id)}}const Xo=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=()=>{switch(a){case"equals":case"notEquals":case"includes":case"excludes":return f.jsx(jt,{value:i??"",onValueChange:e.setConditionValue,size:"sm",children:f.jsx(v.Button,{type:"button",className:"min-w-0 shrink-1 grow",children:f.jsx("span",{className:"truncate",children:i||"..."})})})}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),o(),f.jsx(Ne,{condition:e,onClick:t})]})},$o={equals:V({modifier:dt,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),notEquals:V({modifier:ft,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),includes:V({modifier:$t,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),excludes:V({modifier:Wt,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0})};class pr extends Oe{constructor(t){super(t);D(this,"modifiers",$o)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=$o[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new pr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(Xo,{condition:this,...t},this.id)}}const Wo=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=()=>{switch(a){case"equals":case"notEquals":{const s=e.modifiers.equals,l=i!==void 0&&s.isConditionValueValid(i)?i:void 0;return f.jsxs(v.Menu.Root,{children:[f.jsx(v.Menu.ClickTrigger,{children:f.jsx(v.Button,{type:"button",className:"min-w-0 shrink-1 grow",children:f.jsx("span",{className:"truncate",children:l!==void 0?l?Ct[l].label:"empty":"..."})})}),f.jsx(v.Menu.Content,{size:"sm",children:f.jsx(v.Menu.SelectGroup,{required:!1,value:l,onValueChange:e.setConditionValue,children:Bt.map(u=>{const{label:c}=Ct[u];return f.jsx(Dt,{value:u,children:f.jsx("span",{className:"truncate",children:c})},u)})})})]})}case"includes":case"excludes":{const s=e.modifiers.includes,l=i!==void 0&&s.isConditionValueValid(i)?i:void 0;return f.jsxs(v.Menu.Root,{children:[f.jsx(v.Menu.ClickTrigger,{children:f.jsx(v.Button,{type:"button",children:l?`${l.length} statuses`:"..."})}),f.jsx(v.Menu.Content,{size:"sm",children:f.jsxs(v.Menu.MultiSelectGroup,{values:l??Ei,onValuesChange:e.setConditionValue,children:[f.jsx(_i,{children:"Select all"}),Bt.map(u=>{const{label:c,icon:d}=Ct[u];return f.jsxs(Do,{value:u,children:[f.jsx(v.LuIcon,{icon:d}),f.jsx("span",{className:"truncate",children:c})]},u)})]})})]})}}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),o(),f.jsx(Ne,{condition:e,onClick:t})]})},jo={equals:V({modifier:Io,isValueValid:r=>r!==null,isConditionValueValid:r=>typeof r=="string",isSerializedValueValid:r=>typeof r=="string"}),notEquals:V({modifier:Oo,isValueValid:r=>r!==null,isConditionValueValid:r=>typeof r=="string",isSerializedValueValid:r=>typeof r=="string"}),includes:V({modifier:No,isValueValid:r=>r!==null,isConditionValueValid:r=>Array.isArray(r),isSerializedValueValid:r=>Array.isArray(r)}),excludes:V({modifier:bo,isValueValid:r=>r!==null,isConditionValueValid:r=>Array.isArray(r),isSerializedValueValid:r=>Array.isArray(r)})};class vr extends Oe{constructor(t){super(t);D(this,"modifiers",jo)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=jo[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new vr({field:n,conditionModifier:a,conditionValue:l,...o})}transformValue(t){return t.status}render(t){return f.jsx(Wo,{condition:this,...t},this.id)}}const Yo=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=w.useMemo(()=>n.options.map(u=>typeof u=="string"?{value:u,label:u}:u),[n.options]),s=w.useMemo(()=>{const u={};for(const c of o)u[c.value]=c.label;return u},[o]),l=()=>{switch(a){case"equals":case"notEquals":{const u=e.modifiers.equals,c=i!==void 0&&u.isConditionValueValid(i)?i:void 0;return f.jsxs(v.Menu.Root,{children:[f.jsx(v.Menu.ClickTrigger,{children:f.jsx(v.Button,{type:"button",className:"min-w-0 shrink-1 grow",children:f.jsx("span",{className:"truncate",children:c!==void 0?c?s[c]:"empty":"..."})})}),f.jsx(v.Menu.Content,{size:"sm",children:f.jsx(Ai,{required:!0,selectFieldOptions:n.options,value:c??void 0,onValueChange:e.setConditionValue})})]})}case"includes":case"excludes":{const u=e.modifiers.includes,c=i!==void 0&&u.isConditionValueValid(i)?i:void 0;return f.jsxs(v.Menu.Root,{children:[f.jsx(v.Menu.ClickTrigger,{children:f.jsx(v.Button,{type:"button",children:c?`${c.length} options`:"..."})}),f.jsx(v.Menu.Content,{size:"sm",children:f.jsx(sr,{selectFieldOptions:n.options,values:c??Ei,onValuesChange:e.setConditionValue})})]})}}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),l(),f.jsx(Ne,{condition:e,onClick:t})]})},Zo={equals:V({modifier:dt,isValueValid:r=>typeof r=="string",isConditionValueValid:r=>!Array.isArray(r),isSerializedValueValid:r=>!Array.isArray(r)}),notEquals:V({modifier:ft,isValueValid:r=>typeof r=="string",isConditionValueValid:r=>!Array.isArray(r),isSerializedValueValid:r=>!Array.isArray(r)}),includes:V({modifier:wi,isValueValid:r=>typeof r=="string",isConditionValueValid:r=>Array.isArray(r),isSerializedValueValid:r=>Array.isArray(r)}),excludes:V({modifier:mi,isValueValid:r=>typeof r=="string",isConditionValueValid:r=>Array.isArray(r),isSerializedValueValid:r=>Array.isArray(r)})};class gr extends Oe{constructor(t){super(t);D(this,"modifiers",Zo)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=Zo[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new gr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(Yo,{condition:this,...t},this.id)}}const Ko=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=()=>{switch(a){case"equals":case"notEquals":case"greaterThanOrEquals":case"lessThanOrEquals":case"greaterThan":case"lessThan":{const s=e.modifiers[a],l=i!==void 0&&s.isConditionValueValid(i)?i:void 0;return f.jsx(Mt,{value:l??null,onValueChange:u=>e.setConditionValue(u??void 0),size:"sm",children:f.jsx(v.Button,{type:"button",className:"truncate",children:l!==void 0?l:"..."})})}case"inRange":case"notInRange":{const s=e.modifiers.inRange,l=i!==void 0&&s.isConditionValueValid(i)?i:void 0;return f.jsxs(f.Fragment,{children:[f.jsx(Mt,{value:(l==null?void 0:l.from)??null,onValueChange:u=>{e.setConditionValue({from:u,to:(l==null?void 0:l.to)??null})},size:"sm",children:f.jsx(v.Button,{className:"truncate",children:(l==null?void 0:l.from)??"..."})}),f.jsx(Mt,{value:(l==null?void 0:l.to)??null,onValueChange:u=>{e.setConditionValue({from:(l==null?void 0:l.from)??null,to:u})},size:"sm",children:f.jsx(v.Button,{className:"truncate",children:(l==null?void 0:l.to)??"..."})})]})}}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),o(),f.jsx(Ne,{condition:e,onClick:t})]})},Qo={equals:V({modifier:fi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),notEquals:V({modifier:hi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),lessThan:V({modifier:pi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),lessThanOrEquals:V({modifier:vi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),greaterThan:V({modifier:gi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),greaterThanOrEquals:V({modifier:xi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),inRange:V({modifier:yi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="object",isSerializedValueValid:r=>typeof r=="object"}),notInRange:V({modifier:Ci,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="object",isSerializedValueValid:r=>typeof r=="object"})};class xr extends Oe{constructor(t){super(t);D(this,"modifiers",Qo)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=Qo[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new xr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(Ko,{condition:this,...t},this.id)}}const Jo=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=()=>{switch(a){case"equals":case"notEquals":case"includes":case"excludes":return f.jsx(jt,{value:i??"",onValueChange:e.setConditionValue,size:"sm",children:f.jsx(v.Button,{type:"button",className:"min-w-0 shrink-1 grow",children:f.jsx("span",{className:"truncate",children:i||"..."})})})}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),o(),f.jsx(Ne,{condition:e,onClick:t})]})},es={equals:V({modifier:dt,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),notEquals:V({modifier:ft,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),includes:V({modifier:$t,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),excludes:V({modifier:Wt,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0})};class yr extends Oe{constructor(t){super(t);D(this,"modifiers",es)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=es[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new yr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(Jo,{condition:this,...t},this.id)}}const ts=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=w.useMemo(()=>n.options.map(c=>typeof c=="string"?{value:c,label:c}:c),[n.options]),s=w.useMemo(()=>{const c={};for(const d of o)c[d.value]=d.label;return c},[o]),l=w.useCallback(c=>{c.length>0?e.setConditionValue(c):e.setConditionValue([])},[e]),u=()=>{switch(a){case"equals":case"notEquals":{const c=e.modifiers.equals,d=i!==void 0&&c.isConditionValueValid(i)?i:void 0;return f.jsxs(v.Menu.Root,{children:[f.jsx(v.Menu.ClickTrigger,{children:f.jsx(v.Button,{type:"button",className:"min-w-0 shrink-1 grow",children:f.jsx("span",{className:"truncate",children:d!==void 0?d?s[d]:"empty":"..."})})}),f.jsx(v.Menu.Content,{size:"sm",children:f.jsx(Ai,{required:!1,selectFieldOptions:n.options,value:d??void 0,onValueChange:e.setConditionValue})})]})}case"includes":case"excludes":{const c=e.modifiers.includes,d=i!==void 0&&c.isConditionValueValid(i)?i:void 0;return f.jsxs(v.Menu.Root,{children:[f.jsx(v.Menu.ClickTrigger,{children:f.jsx(v.Button,{type:"button",children:d?`${d.length} options`:"..."})}),f.jsx(v.Menu.Content,{size:"sm",children:f.jsx(sr,{selectFieldOptions:n.options,values:d??[],onValuesChange:l})})]})}}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),u(),f.jsx(Ne,{condition:e,onClick:t})]})},rs={equals:V({modifier:dt,isValueValid:r=>typeof r=="string",isConditionValueValid:r=>!Array.isArray(r),isSerializedValueValid:r=>!Array.isArray(r)}),notEquals:V({modifier:ft,isValueValid:r=>typeof r=="string",isConditionValueValid:r=>!Array.isArray(r),isSerializedValueValid:r=>!Array.isArray(r)}),includes:V({modifier:wi,isValueValid:r=>typeof r=="string",isConditionValueValid:r=>Array.isArray(r),isSerializedValueValid:r=>Array.isArray(r)}),excludes:V({modifier:mi,isValueValid:r=>typeof r=="string",isConditionValueValid:r=>Array.isArray(r),isSerializedValueValid:r=>Array.isArray(r)})};class Cr extends Oe{constructor(t){super(t);D(this,"modifiers",rs)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=rs[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new Cr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(ts,{condition:this,...t},this.id)}}const ns=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=()=>{switch(a){case"equals":case"notEquals":case"includes":case"excludes":return f.jsx(jt,{value:i??"",onValueChange:e.setConditionValue,size:"sm",children:f.jsx(v.Button,{type:"button",className:"min-w-0 shrink-1 grow",children:f.jsx("span",{className:"truncate",children:i||"..."})})})}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),o(),f.jsx(Ne,{condition:e,onClick:t})]})},is={equals:V({modifier:dt,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),notEquals:V({modifier:ft,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),includes:V({modifier:$t,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),excludes:V({modifier:Wt,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0})};class wr extends Oe{constructor(t){super(t);D(this,"modifiers",is)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=is[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new wr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(ns,{condition:this,...t},this.id)}}const as=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=()=>{switch(a){case"equals":case"notEquals":case"includes":case"excludes":return f.jsx(jt,{value:i??"",onValueChange:e.setConditionValue,size:"sm",children:f.jsx(v.Button,{type:"button",className:"min-w-0 shrink-1 grow",children:f.jsx("span",{className:"truncate",children:i||"..."})})})}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),o(),f.jsx(Ne,{condition:e,onClick:t})]})},os={equals:V({modifier:dt,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),notEquals:V({modifier:ft,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),includes:V({modifier:$t,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),excludes:V({modifier:Wt,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0})};class mr extends Oe{constructor(t){super(t);D(this,"modifiers",os)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=os[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new mr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(as,{condition:this,...t},this.id)}}const ss=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=()=>{switch(i){case void 0:return"...";case!0:return"true";case!1:return"false";case null:return"empty"}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),f.jsxs(v.Menu.Root,{children:[f.jsx(v.Menu.ClickTrigger,{children:f.jsx(v.Button,{type:"button",className:"min-w-0 shrink-1 grow",children:o()})}),f.jsx(v.Menu.Content,{size:"sm",children:f.jsxs(v.Menu.SelectGroup,{required:!0,value:i,onValueChange:e.setConditionValue,children:[f.jsx(Dt,{value:!0,children:"empty"}),f.jsx(Dt,{value:!1,children:"not empty"})]})})]}),f.jsx(Ne,{condition:e,onClick:t})]})},ls={equals:V({modifier:Eo,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),notEquals:V({modifier:So,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0})};class _r extends Oe{constructor(t){super(t);D(this,"modifiers",ls)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=ls[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new _r({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(ss,{condition:this,...t},this.id)}}const us=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=()=>{switch(a){case"equals":case"notEquals":case"includes":case"excludes":return f.jsx(jt,{value:i??"",onValueChange:e.setConditionValue,size:"sm",children:f.jsx(v.Button,{type:"button",className:"min-w-0 shrink-1 grow",children:f.jsx("span",{className:"truncate",children:i||"..."})})})}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),o(),f.jsx(Ne,{condition:e,onClick:t})]})},cs={equals:V({modifier:dt,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),notEquals:V({modifier:ft,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),includes:V({modifier:$t,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),excludes:V({modifier:Wt,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0})};class Ar extends Oe{constructor(t){super(t);D(this,"modifiers",cs)}transformValue(t){return(t==null?void 0:t.toString())??""}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=cs[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new Ar({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(us,{condition:this,...t},this.id)}}const lf={date:cr,number:hr,boolean:lr,select:Cr,string:wr,url:Ar,text:mr,upload:_r,qr:yr,"multi-string":fr,"multi-select":dr,radio:gr,"checkbox-list":ur,"pass-fail":vr,otp:pr,rating:xr},ds=(r,e)=>{if(r.type!==e.type)throw new Error(`field and condition type mismatch ${r.type} !== ${e.type}`);return lf[e.type].deserialize(e,r)},Si=(r,e)=>{const t=Ii(r,e),n={};for(const i of r)n[i.identifier]=i;return t.map(i=>ds(n[i.fieldId],i))},fs=(r,e)=>Oi(r,e).map(n=>n.serialize()),Ii=(r,e)=>{const t=new Set(r.map(n=>n.identifier));return e.filter(n=>t.has(n.fieldId))},Oi=(r,e)=>{const t=new Set(r.map(n=>n.identifier));return e.filter(n=>t.has(n.field.identifier))},Zr=r=>ci[r.type].deserialize(r);function uf(r){return r.map(hs)}const hs=r=>r.type==="section"?Ue.deserialize(r):Zr(r);function cf(r){return r.map(Zr)}function df(r){const e=[];for(const t of r)if(t instanceof Ue)for(const n of t.getFields())e.push(n);else e.push(t);return e}function ff(r){const e={};for(const t of r)e[t.identifier]=t;return e}function ps(r,e,t=!0){const n=t?Kr(r,e):e,i={};for(const a of r){if(!(a.identifier in n))continue;const o=n[a.identifier];i[a.identifier]=a.serializeValue(o)}return i}function vs(r,e,t=!0){const n=t?Ni(r,e):e,i={};for(const a of r){if(!(a.identifier in n))continue;const o=n[a.identifier];i[a.identifier]=a.deserializeValue(o)}return i}function Kr(r,e){const t={};for(const n of r){if(!(n.identifier in e))continue;const i=e[n.identifier];n.isValue(i)&&(t[n.identifier]=n.cleanValue(i))}return t}function Ni(r,e){const t={};for(const n of r){if(!(n.identifier in e))continue;const i=e[n.identifier];n.isSerializedValue(i)&&(t[n.identifier]=n.cleanSerializedValue(i))}return t}function gs(r,e){const t=Kr(r,e),n={},i={};for(const a of r){if(!(a.identifier in t))continue;const o=t[a.identifier];switch(a.type){case"upload":if(!a.isValue(o))break;i[a.identifier]=o,n[a.identifier]=[];break;case"pass-fail":if(!a.isValue(o))break;i[a.identifier]=o.files,n[a.identifier]={...o,files:[]};break;default:n[a.identifier]=e[a.identifier]}}return[n,i]}function xs(r,e,t){const n={};for(const i of r){if(!(i.identifier in e))continue;const a=e[i.identifier];switch(i.type){case"upload":if(!i.isValue(a))break;n[i.identifier]=t[i.identifier]??[];break;case"pass-fail":if(!i.isValue(a))break;n[i.identifier]={...a,files:t[i.identifier]??[]};break;default:if(!i.isValue(a))break;n[i.identifier]=a}}return n}const ys=(r,e)=>{const t={};for(const n of r){const i=e[n.identifier];t[n.identifier]=i!==void 0?i:n.blankValue()}return t},Cs=(r,e,t)=>{const n={};for(const i of r){const a=e[i.identifier],o=t[i.identifier];i.areValuesEqual(a,o)||(n[i.identifier]=o)}return n},ws=(r,e,t)=>{const n={};for(const i of r){const a=e[i.identifier],o=t[i.identifier];i.areValuesEqual(a,o)&&(n[i.identifier]=o)}return n},bi=(r,e,t)=>r.every(n=>{const i=e[n.identifier],a=t[n.identifier];return n.areValuesEqual(i,a)}),Ti=r=>{const e={};for(const t of r)e[t.identifier]=t.blankValue();return e},ms=(r,e)=>bi(r,e,Ti(r)),hf=$e.cva(["flex","flex-col"],{variants:{size:{xs:["gap-2"],sm:["gap-4"],md:["gap-6"],lg:["gap-8"],xl:["gap-10"]}}}),Qr=$e.cva(["flex","flex-col"],{variants:{size:{xs:["gap-2"],sm:["gap-4"],md:["gap-6"],lg:["gap-8"],xl:["gap-10"]}}}),Di=w.memo(r=>{const{fieldSection:e}=r,{label:t,description:n}=e,i=We.useWatch(),{fieldSchema:a,size:o}=w.use(ce),s=w.useMemo(()=>a.getFieldSections(),[a]),l=w.useMemo(()=>s.findIndex(({identifier:h})=>h===e.identifier),[s,e.identifier]),u=w.useMemo(()=>s.filter(h=>e.identifier in h.conditions),[s,e.identifier]),c=w.useMemo(()=>u.length===0?!0:u.some(h=>{const p=h.getConditions(e.identifier);return new Yr(p).applyConditions(i)}),[u,e,i]),d=Or(e.fields);return c?f.jsxs(f.Fragment,{children:[l!==0?f.jsx(v.Separator,{size:"full"}):null,f.jsxs("div",{className:"flex flex-col gap-4",children:[(t||n)&&f.jsx(f.Fragment,{children:f.jsxs("div",{className:"flex flex-col gap-1",children:[f.jsx(v.Heading,{size:o,children:t}),n&&f.jsx(v.Text,{accentColor:"base",size:o,children:n})]})}),f.jsx("div",{className:Qr({size:o}),children:d})]})]}):null});Di.displayName="FieldSectionLayout";const Er=class Er extends sn{constructor(t){const{label:n=null,description:i=null,fields:a,conditions:o={},...s}=t;super(s);D(this,"type","section");D(this,"label");D(this,"description");D(this,"conditions");D(this,"fields",[]);D(this,"fieldObserver",()=>{this.notify(this)});D(this,"initFields",t=>{for(const n of t)n.observe(this.fieldObserver);return t});D(this,"conditionObserver",()=>{this.notify(this)});D(this,"initConditions",t=>{for(const n of Object.values(t).flat())n.observe(this.conditionObserver);return t});this.label=n,this.description=i,this.fields=this.initFields(a),this.conditions=this.initConditions(o)}serialize(){const t={};for(const[n,i]of Object.entries(this.conditions))t[n]=i.map(a=>a.serialize());return{...super.serialize(),label:this.label,description:this.description,conditions:t,fields:this.fields.map(n=>n.serialize())}}getOptions(){return{...super.getOptions(),label:this.label,description:this.description,fields:this.fields,conditions:this.conditions}}duplicate(t){return new Er({...this.getOptions(),identifier:t,fields:this.fields.map(n=>n.duplicate(R.v4()))})}setOptions(t){const{label:n,description:i,fields:a,conditions:o,...s}=t;this.label=n??this.label,this.description=i??this.description,this.fields=a||this.fields,this.conditions=o||this.conditions,super.setOptions(s)}getErrors(t){const n={};for(const i of this.fields){const a=i.getError(t[i.identifier]);a&&(n[i.identifier]=a)}return n}getFields(){return this.fields}addField(t,n){const i=[...this.fields];i.splice(n??this.fields.length,0,t),this.fields=this.initFields(i),this.notify(this)}moveField(t,n){const i=[...this.fields],[a]=i.splice(t,1);i.splice(n,0,a),this.fields=i,this.notify(this)}removeField(t){this.fields=this.initFields(this.fields.filter(({identifier:i})=>i!==t.identifier));const n={};for(const[i,a]of Object.entries(this.conditions))n[i]=a.filter(o=>o.field.identifier!==t.identifier);this.conditions=n,this.notify(this)}getConditions(t){return this.conditions[t]}addCondition(t,n){this.conditions=this.initConditions({...this.conditions,[t]:[...this.conditions[t]??[],n]}),this.notify(this)}addConditions(t,n){this.conditions=this.initConditions({...this.conditions,[t]:[...this.conditions[t]??[],...n]}),this.notify(this)}removeCondition(t,n){this.conditions=this.initConditions({...this.conditions,[t]:(this.conditions[t]??[]).filter(i=>i.id!==n.id)}),this.notify(this)}removeConditions(t,n){const i=new Set(n.map(a=>a.id));this.conditions=this.initConditions({...this.conditions,[t]:(this.conditions[t]??[]).filter(a=>!i.has(a.id))}),this.notify(this)}getConditionals(){return new Set(Object.keys(this.conditions))}addConditional(t){this.conditions=this.initConditions({...this.conditions,[t]:[]}),this.notify(this)}removeConditional(t){const n={...this.conditions};delete n[t],this.conditions=this.initConditions(n),this.notify(this)}render(){return f.jsx(Di,{fieldSection:this})}};D(Er,"deserialize",t=>{const n=t.fields.map(Zr),i={};for(const[a,o]of Object.entries(t.conditions))i[a]=Si(n,o);return new Er({...t,fields:n,conditions:i})});let Ue=Er;const pf=(r,e,t={})=>{const{conditions:n=!1}=t,i=r.get(e.identifier);if(!i)throw new Error(`Attempting to reseed serialized section with identifier ${e.identifier} which is not present in the reseeded identifier map`);const a=new Map,o=e.fields.map(l=>{const u=R.v4(),{image:c,...d}=l;return a.set(l.identifier,u),{...d,identifier:u}}),s={};if(n)for(const[l,u]of Object.entries(e.conditions??{})){const c=r.get(l);if(!c)continue;const d=u.map(h=>{const p=a.get(h.fieldId);if(!p)throw new Error(`Serialized condition referencing undefined field with identifier: ${h.fieldId}`);return{...h,fieldId:p}});s[c]=d}return{...e,identifier:i,conditions:s,fields:o}},vf=(r,e={})=>{const t=new Map(r.map(n=>[n.identifier,R.v4()]));return r.map(n=>pf(t,n,e))},Mi=(r,e)=>{const t={},n=r.filter(i=>i instanceof Ue);for(const i of r)if(i instanceof Ue){const a=n.filter(s=>i.identifier in s.conditions);if(a.length>0&&!a.some(s=>{const l=s.getConditions(i.identifier);return new Yr(l).applyConditions(e)}))continue;const o=i.getErrors(e);Object.assign(t,o)}else{if(!(i instanceof Be))throw new Error("Invalid field type");const a=i.identifier,o=i.getError(Gi(e,a));o&&ks(t,a,o)}return t},gf=async r=>{const e={},t=[];for(const n of r){const{fields:i}=n,a=[];for(const o of i){if(o.image){if(o.image instanceof Promise)try{e[o.identifier]=await o.image}catch(s){console.error("Failed to get image from promise",s)}else e[o.identifier]=o.image;delete o.image}a.push(o)}t.push({...n,fields:a})}return{fields:t,images:e}};async function xf(r){const e={};for(const[t,n]of Object.entries(r))e[t]=await Promise.all(n);return e}class Ft extends Zt{constructor(t){super();D(this,"fieldSections");D(this,"fieldObserver",()=>{this.notify(this)});D(this,"initFields",t=>{for(const n of t)n.observe(this.fieldObserver);return t});this.fieldSections=this.initFields(t)}serialize(){return this.fieldSections.map(t=>t.serialize())}static deserialize(t){return new Ft(t.map(Ue.deserialize))}static reseedFieldSections(t,n){return vf(t,n)}getFields(){return this.fieldSections.flatMap(t=>t.getFields())}getFieldSections(){return this.fieldSections}addFieldSection(t,n){const i=[...this.fieldSections];i.splice(n??this.fieldSections.length,0,t),this.fieldSections=this.initFields(i),this.notify(this)}removeFieldSection(t){const n=this.fieldSections.filter(i=>i.identifier!==t.identifier);for(const i of n)i.removeConditional(i.identifier);this.fieldSections=this.initFields(n),this.notify(this)}moveFieldSection(t,n){const i=[...this.fieldSections],[a]=i.splice(t,1);i.splice(n,0,a),this.fieldSections=this.initFields(i),this.notify(this)}getSectionDependencyGraph(){const t=new Ls.DirectedGraph({type:"directed"});for(const n of this.fieldSections)for(const i of Object.keys(n.conditions))t.mergeEdge(n.identifier,i);return t}getDependenciesOfSection(t){const n=this.getSectionDependencyGraph(),i=new Map(this.fieldSections.map(o=>[o.identifier,o])),a=[];return zs.bfsFromNode(n,t,(o,s,l)=>{a.push(i.get(o))},{mode:"in"}),a}cleanValues(t){return Kr(this.getFields(),t)}cleanSerializedValues(t){return Ni(this.getFields(),t)}deserializeValues(t,n){return vs(this.getFields(),t,n)}serializeValues(t,n){return ps(this.getFields(),t,n)}initializeValues(t){return ys(this.getFields(),t)}validateValues(t){return Mi(this.getFieldSections(),t)}deserializeConditions(t){return Si(this.getFields(),t)}cleanConditions(t){return Oi(this.getFields(),t)}serializeConditions(t){return fs(this.getFields(),t)}cleanSerializedConditions(t){return Ii(this.getFields(),t)}changedFieldValues(t,n){return Cs(this.getFields(),t,n)}unchangedFieldValues(t,n){return ws(this.getFields(),t,n)}areValuesEqual(t,n){return bi(this.getFields(),t,n)}areValuesBlank(t){return ms(this.getFields(),t)}blankValues(){return Ti(this.getFields())}extractFilesAndPromisesFromFieldValues(t){return gs(this.getFields(),t)}insertFilesAndPromisesToFieldValues(t,n){return xs(this.getFields(),t,n)}}const tt=w.createContext({}),Jr=w.memo(r=>{const{children:e,variant:t,size:n,accentColor:i,onSelectFieldType:a,...o}=r,s=w.useMemo(()=>{const l={[j.Assessment]:[],[j.Capture]:[],[j.Numeric]:[],[j.Selection]:[],[j.Temporal]:[],[j.Text]:[],[j.Verification]:[]};for(const u of fo){const{group:c}=ue[u];l[c].push(u)}return l},[]);return f.jsxs(v.Menu.Root,{...o,children:[f.jsx(v.Menu.ClickTrigger,{children:e}),f.jsx(v.Menu.Content,{variant:t,size:n,accentColor:i,children:f.jsx(v.Menu.Scroll,{children:Object.entries(s).map(([l,u])=>{const{name:c}=ho[l];return u.length===0?null:f.jsxs(v.Menu.Group,{children:[f.jsx(v.Menu.Label,{children:c}),u.map(d=>{const{icon:h,name:p}=ue[d];return f.jsxs(v.Menu.Item,{onSelect:()=>a(d),children:[f.jsx(v.LuIcon,{icon:h}),f.jsx(v.Text,{className:"truncate",children:p})]},d)})]},l)})})})]})});Jr.displayName="CreateFieldDropdownMenu";const en=r=>{switch(r){case"text":return new bt({label:"",required:!1,identifier:R.v4()});case"boolean":return new gt({label:"",required:!1,identifier:R.v4()});case"number":return new Me({label:"",required:!1,identifier:R.v4()});case"date":return new Pt({label:"",required:!1,identifier:R.v4()});case"string":return new Nt({label:"",required:!1,identifier:R.v4()});case"url":return new qt({label:"",required:!1,identifier:R.v4()});case"select":return new it({label:"",options:[],required:!1,identifier:R.v4()});case"multi-string":return new vt({label:"",required:!1,identifier:R.v4()});case"multi-select":return new rt({label:"",options:[],required:!1,identifier:R.v4()});case"upload":return new Tt({label:"",required:!1,identifier:R.v4(),maximum_files:6,maximum_size:Xt});case"qr":return new Ht({label:"",required:!1,identifier:R.v4()});case"radio":return new mt({label:"",options:[],required:!1,identifier:R.v4()});case"checkbox-list":return new xt({label:"",options:[],required:!1,identifier:R.v4()});case"pass-fail":return new wt({label:"",required:!1,identifier:R.v4(),showNotesAndFilesOn:["fail"]});case"otp":return new yt({label:"",validationType:"none",required:!1,identifier:R.v4(),length:6});case"rating":return new _t({label:"",required:!1,identifier:R.v4(),maxRating:5})}},Fi=r=>{switch(r.type){case"text":return new mr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"boolean":return new lr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"number":return new hr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"date":return new cr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"string":return new wr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"url":return new Ar({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"select":return new Cr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"multi-string":return new fr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"multi-select":return new dr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"upload":return new _r({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"qr":return new yr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"radio":return new gr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"checkbox-list":return new ur({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"pass-fail":return new vr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"otp":return new pr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"rating":return new xr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r})}},_s=(r,e)=>{switch(r){case"checkbox-list":return xt.getFieldCreationSchema(e);case"multi-select":return rt.getFieldCreationSchema(e);case"number":return Me.getFieldCreationSchema(e);case"radio":return mt.getFieldCreationSchema(e);case"select":return it.getFieldCreationSchema(e);case"string":return Nt.getFieldCreationSchema(e);case"text":return bt.getFieldCreationSchema(e);case"upload":return Tt.getFieldCreationSchema(e);case"pass-fail":return wt.getFieldCreationSchema(e);case"otp":return yt.getFieldCreationSchema(e);case"rating":return _t.getFieldCreationSchema(e);default:return}},As=w.memo(r=>{const{popoverInputs:e,...t}=r;return f.jsxs(v.Popover.Root,{children:[f.jsx(v.Popover.Trigger,{asChild:!0,children:f.jsxs(v.Button,{variant:"soft",type:"button",size:"sm",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:hl}),"Settings"]})}),f.jsx(v.Popover.Content,{size:"sm",...t,children:f.jsx("div",{className:$e.cx("flex w-full max-w-[350px] flex-col",Qr({size:"sm"})),children:e})})]})});As.displayName="FieldSettingsPopover";const Es=w.memo(r=>{const{parentPath:e,fieldIndex:t,field:n}=r,i=Ir(),{disableRequiredFields:a}=w.use(tt),[o,s]=w.useState(void 0);w.useEffect(()=>{n.image instanceof Promise?n.image.then(s).catch(console.error):s(n.image)},[n]);const l=w.useCallback(()=>{n.setOptions({image:void 0})},[n]),[u,c]=w.useMemo(()=>{const m=[],_=[],S=_s(n.type,`${e}.${t}`)??[];for(const E of S)E.showDirectly?m.push(E.field):_.push(E.field);return[m,_]},[n,e,t]),d=Or(u),h=Or(c),p=c.length>0,g=w.useCallback(()=>{o&&i(()=>({file:o}))},[i,o]),{icon:x,name:C}=ue[n.type];return f.jsxs("div",{className:"flex grow w-full flex-col gap-4",children:[f.jsxs("div",{className:"flex gap-2 w-full justify-between",children:[f.jsxs("div",{className:"flex gap-2 items-center",children:[f.jsxs(v.Badge,{accentColor:"base",variant:"soft",size:"sm",children:[f.jsx(v.LuIcon,{icon:x}),C]}),!a&&f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx(v.Checkbox.Root,{checked:n.required,onCheckedChange:m=>n.setOptions({required:!!m}),size:"sm",children:f.jsx(v.Checkbox.Indicator,{children:f.jsx(v.LuIcon,{icon:Re})})}),f.jsx(v.Text,{size:"sm",accentColor:"base",children:"Required"})]})]}),p&&f.jsx(As,{popoverInputs:h,align:"end"})]}),o&&f.jsxs("div",{className:"group relative inline-block w-full min-w-[300px]",children:[f.jsx(Vt,{className:"h-[100px] w-full min-w-[300px] cursor-pointer rounded-md object-cover",file:o,onClick:g}),f.jsx(v.IconButton,{type:"button",className:"absolute top-2 right-2 hidden group-hover:not-disabled:flex",variant:"solid",accentColor:"base","aria-label":"delete",onClick:l,size:"sm",children:f.jsx(v.LuIcon,{icon:pt})})]}),f.jsxs("div",{className:"flex flex-col gap-2 w-full overflow-hidden",children:[f.jsx(v.Input.Root,{variant:"outline",size:"md",children:f.jsx(v.Input.Field,{placeholder:"Enter your question",value:n.label??"",onChange:m=>n.setOptions({label:m.target.value}),maxLength:200})}),f.jsx(v.TextArea,{className:"field-sizing-content",placeholder:"Enter a field description (optional)",value:n.description??"",onChange:m=>n.setOptions({description:m.target.value}),maxLength:1e3,resize:"vertical",size:"md"})]}),u.length>0&&f.jsx("div",{className:$e.cx("w-full",Qr({size:"sm"})),children:d})]})});Es.displayName="FieldBuilder";const Vi=w.memo(r=>{const{field:e,fieldSection:t,fieldIndex:n,sectionIndex:i}=r,a=w.useRef(null),o=`fields.${i}.fields`,s=w.useCallback(x=>{t.addField(en(x),n+1)},[n,t]),l=w.useCallback(()=>{t.addField(e.duplicate(R.v4()))},[e,t]),u=w.useCallback(x=>{const C=x==="up"?i-1:i+1;t.moveField(n,C)},[t,n,i]),c=w.useCallback(x=>{const{files:C}=x.target;if(!C||C.length!==1)return;const m=C.item(0);if(m){if(m.size>vo){v.toast.error({title:"File upload error",description:`The file ${m.name} exceeded the maximum file size`});return}e.setOptions({image:m})}},[e]),d=w.useCallback(()=>{u("up")},[u]),h=w.useCallback(()=>{u("down")},[u]),p=w.useCallback(()=>{var x;(x=a.current)==null||x.click()},[]),g=w.useCallback(()=>{t.removeField(e)},[e,t]);return f.jsxs(v.Card,{className:"flex items-center justify-between gap-4 w-full",size:"sm",children:[f.jsx(Es,{fieldIndex:n,field:e,parentPath:o}),f.jsxs(v.ButtonGroup,{className:"flex-col gap-0.5 flex",variant:"ghost",accentColor:"base",size:"sm",children:[f.jsx(Jr,{onSelectFieldType:s,size:"sm",children:f.jsx(v.IconButton,{type:"button",children:f.jsx(v.LuIcon,{icon:je})})}),f.jsx(v.IconButton,{type:"button",onClick:d,children:f.jsx(v.LuIcon,{icon:ta})}),f.jsx(v.IconButton,{type:"button",onClick:h,children:f.jsx(v.LuIcon,{icon:ea})}),f.jsx(v.IconButton,{type:"button",onClick:l,children:f.jsx(v.LuIcon,{icon:nn})}),f.jsx(v.IconButton,{type:"button",onClick:p,children:f.jsx(v.LuIcon,{icon:Qi})}),f.jsx(v.IconButton,{type:"button",onClick:g,children:f.jsx(v.LuIcon,{icon:pt})})]}),f.jsx("input",{className:"hidden",ref:a,type:"file",accept:"image/*",onChange:c})]})});Vi.displayName="FieldBuilderWithActions";const Pi=w.memo(r=>{const{children:e,variant:t,size:n,accentColor:i,fields:a,onSelectField:o,...s}=r;return f.jsxs(v.Menu.Root,{...s,children:[f.jsx(v.Menu.ClickTrigger,{children:e}),f.jsx(v.Menu.Content,{variant:t,size:n,accentColor:i,children:f.jsx(v.Menu.Scroll,{children:a.map(l=>f.jsxs(v.Menu.Item,{onSelect:()=>o(l),children:[f.jsx(v.LuIcon,{icon:ue[l.type].icon}),l.label||me]},l.identifier))})})]})});Pi.displayName="IssueDataFilterMenu";const Ss=w.memo(r=>{const{children:e,variant:t,size:n,accentColor:i,fieldSections:a,onSelectFieldCondition:o,...s}=r;return f.jsxs(v.Menu.Root,{...s,children:[f.jsx(v.Menu.ClickTrigger,{children:e}),f.jsx(v.Menu.Content,{variant:t,size:n,accentColor:i,children:a.map(l=>f.jsxs(v.Menu.Item,{onSelect:()=>o(l),children:[f.jsx(v.LuIcon,{icon:Ji}),l.label||di]},l.identifier))})]})});Ss.displayName="IssueDataFilterMenu";const Is=w.memo(r=>{const{id:e,sourceX:t,sourceY:n,targetX:i,targetY:a,style:o,markerEnd:s,data:l}=r,{targetSection:u,sourceSection:c,layoutDirection:d}=l,h=w.useMemo(()=>c.getConditions(u.identifier),[c,u.identifier]),p=w.useCallback(()=>{c.removeConditional(u.identifier)},[c,u.identifier]),g=w.useCallback(S=>{c.addCondition(u.identifier,Fi(S))},[c,u.identifier]),x=w.useCallback(S=>{c.removeCondition(u.identifier,S)},[c,u.identifier]),[C,m,_]=le.getBezierPath({sourceX:t,sourceY:n,sourcePosition:d==="LR"?le.Position.Right:le.Position.Bottom,targetX:i,targetY:a,targetPosition:d==="LR"?le.Position.Left:le.Position.Top});return f.jsxs(f.Fragment,{children:[f.jsx(le.BaseEdge,{id:e,path:C,style:o,markerEnd:s,labelX:m,labelY:_}),f.jsx(le.EdgeLabelRenderer,{children:f.jsxs(v.Card,{size:"xs",variant:"surface",className:"absolute nodrag nopan pointer-events-auto inline-flex flex-col gap-2 bg-(--base-2)",onMouseDown:S=>S.stopPropagation(),onClick:S=>S.stopPropagation(),"data-floating-content":"",style:{transform:`translate(-50%, -50%) translate(${m}px, ${_}px)`},children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx(v.Text,{size:"xs",className:"truncate max-w-[280px]",children:c.label||"Untitled section"}),f.jsxs("div",{className:"ml-auto flex items-center gap-1",children:[f.jsx(Pi,{fields:c.fields,onSelectField:g,children:f.jsx(v.IconButton,{"aria-label":"Add condition",type:"button",variant:"surface",size:"xs",accentColor:"base",children:f.jsx(v.LuIcon,{icon:je})})}),f.jsxs(v.Tooltip.Root,{children:[f.jsx(v.Tooltip.Trigger,{asChild:!0,children:f.jsx(v.IconButton,{"aria-label":"Remove conditional logic",type:"button",variant:"surface",size:"xs",accentColor:"base",color:"danger",onClick:p,children:f.jsx(v.LuIcon,{icon:pt})})}),f.jsx(v.Tooltip.Content,{size:"sm",children:"Remove conditional logic"})]})]})]}),h.length>0&&f.jsx("div",{className:"flex flex-col h-max w-full flex-wrap gap-1",children:h.map(S=>f.jsx(w.Fragment,{children:S.render({onRemove:x})},S.id))})]})})]})});Is.displayName="FieldSectionConditionEdgeComponent";const Os=w.memo(r=>{const{data:e,selected:t}=r,{fieldSection:n,index:i,layoutDirection:a}=e,{fieldSchema:o}=w.use(tt),s=w.useCallback(()=>{o.removeFieldSection(n)},[o,n]),l=w.useCallback(d=>{n.addField(en(d))},[n]),u=w.useCallback(()=>{const d=new Ue({identifier:R.v4(),fields:[]});o.addFieldSection(d),n.addConditional(d.identifier)},[o,n]),c=w.useCallback(()=>{o.addFieldSection(n.duplicate(R.v4()))},[o,n]);return f.jsxs(v.Card,{variant:"surface",className:"cursor-pointer relative bg-(--base-2)",size:"sm","data-selected":t?"true":void 0,children:[f.jsxs("div",{className:"flex flex-col gap-3",children:[f.jsxs("div",{className:"flex flex-col gap-2 w-full overflow-hidden",children:[f.jsx(v.Input.Root,{variant:"outline",size:"md",accentColor:"base",children:f.jsx(v.Input.Field,{placeholder:"Enter a section label (optional)",value:n.label??"",onChange:d=>n.setOptions({label:d.target.value}),maxLength:200})}),f.jsx(v.TextArea,{className:"field-sizing-content",placeholder:"Enter a section description (optional)",value:n.description??"",onChange:d=>n.setOptions({description:d.target.value}),maxLength:1e3,resize:"vertical",size:"md"})]}),f.jsxs("div",{className:"flex items-center justify-between",children:[f.jsx(v.Text,{weight:"bold",children:"Fields"}),f.jsx(Jr,{onSelectFieldType:l,size:"sm",children:f.jsxs(v.Button,{type:"button",variant:"soft",size:"sm",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:je})," Add field"]})})]}),f.jsx("div",{className:"flex flex-col gap-3",children:n.fields.map((d,h)=>f.jsx(Vi,{field:d,fieldSection:n,fieldIndex:h,sectionIndex:i},d.identifier))})]}),f.jsx(le.NodeToolbar,{isVisible:!0,position:le.Position.Right,align:"start",offset:8,onMouseDown:d=>d.stopPropagation(),children:f.jsx(v.Card,{variant:"surface",className:"flex flex-col items-center gap-1 p-1 bg-(--base-2)",size:"xs",onClick:d=>d.stopPropagation(),children:f.jsxs(v.ButtonGroup,{className:"flex flex-col gap-2",variant:"surface",size:"xs",accentColor:"base",children:[f.jsx(v.IconButton,{type:"button",onClick:u,children:f.jsx(v.LuIcon,{icon:il})}),f.jsx(v.IconButton,{type:"button",onClick:c,children:f.jsx(v.LuIcon,{icon:nn})}),f.jsx(v.IconButton,{type:"button",onClick:s,children:f.jsx(v.LuIcon,{icon:pt})})]})})}),f.jsx(le.Handle,{type:"target",className:"size-4! bg-(--base-3)! border-(--base-7)!",position:a==="LR"?le.Position.Left:le.Position.Top}),f.jsx(le.Handle,{type:"source",className:"size-4! bg-(--base-3)! border-(--base-7)!",position:a==="LR"?le.Position.Right:le.Position.Bottom})]})});Os.displayName="CustomNode";const yf={fieldSection:Os},Cf={fieldSectionCondition:Is},wf=(r,e,t)=>{const n=new Hi.graphlib.Graph().setDefaultEdgeLabel(()=>({}));return n.setGraph({rankdir:t,nodesep:200,edgesep:500,ranksep:500}),e.forEach(i=>n.setEdge(i.source,i.target,{width:500,height:200,labelpos:"c"})),r.forEach(i=>{var a,o;return n.setNode(i.id,{...i,width:((a=i.measured)==null?void 0:a.width)??0,height:((o=i.measured)==null?void 0:o.height)??0})}),Hi.layout(n),[r.map(i=>{var l,u;const a=n.node(i.id),o=a.x-(((l=i.measured)==null?void 0:l.width)??0)/2,s=a.y-(((u=i.measured)==null?void 0:u.height)??0)/2;return{...i,position:{x:o,y:s}}}),e]},mf={hideAttribution:!0},Ns=w.memo(()=>{var T;const{errors:r}=We.useFormState(),{handleSubmit:e}=We.useFormContext(),{onSave:t,onCancel:n}=w.use(tt),{fieldSchema:i}=w.use(tt),a=w.useRef(null),[o,s]=w.useState(),[l,u]=w.useState("TB");w.useLayoutEffect(()=>{a.current&&a.current.classList.remove("light")},[]);const c=w.useMemo(()=>i.fieldSections.map((M,B)=>({id:M.identifier,position:{x:0,y:0},data:{index:B,fieldSection:M,layoutDirection:l},draggable:!0,type:"fieldSection"})),[i.fieldSections,l]),d=w.useMemo(()=>{const M=[],B={};for(const z of i.fieldSections)B[z.identifier]=z;for(const z of i.fieldSections){const ne=z.conditions;for(const[H,oe]of Object.entries(ne))M.push({id:`${z.identifier}-${H}`,source:z.identifier,target:H,data:{targetSection:B[H],sourceSection:z,layoutDirection:l},animated:oe.length>0,markerEnd:le.MarkerType.Arrow,style:{strokeWidth:2,stroke:"var(--base-a8)"},type:"fieldSectionCondition"})}return M},[i.fieldSections,l]),[h,p,g]=le.useNodesState(c),[x,C,m]=le.useEdgesState(d);w.useEffect(()=>{p(c)},[c,p]),w.useEffect(()=>{C(d)},[d,C]);const[_,S]=w.useMemo(()=>wf(h,x,l),[x,l,h]),E=w.useCallback(()=>{i.addFieldSection(new Ue({identifier:R.v4(),fields:[]}))},[i]),O=w.useCallback(M=>{const{source:B,target:z}=M,ne=i.fieldSections.find(({identifier:H})=>H===B);ne.setOptions({conditions:{...ne.conditions,[z]:[]}})},[i.fieldSections]),b=w.useCallback(M=>{const B=i.getSectionDependencyGraph();return!ki.willCreateCycle(B,M.source,M.target)},[i]);return f.jsxs("form",{className:"size-full flex flex-col gap-4",onSubmit:e(t),children:[f.jsxs(v.Card,{className:"size-full relative",variant:"outline",children:[f.jsx(le.ReactFlow,{ref:a,onInit:s,nodes:_,onNodesChange:g,edges:S,onEdgesChange:m,nodeTypes:yf,edgeTypes:Cf,onConnect:O,attributionPosition:"bottom-left",fitView:!0,minZoom:0,isValidConnection:b,proOptions:mf}),f.jsx(le.Panel,{position:"top-left",children:f.jsx(v.ButtonGroup,{className:"flex items-center justify-end gap-2",size:"sm",children:f.jsxs(v.Button,{type:"button",variant:"surface",onClick:E,children:[f.jsx(v.LuIcon,{icon:je})," Add section"]})})}),f.jsxs(le.Panel,{position:"top-right",className:"flex flex-col items-center gap-2",children:[f.jsxs(v.ToggleGroup.Root,{className:"flex flex-col",type:"single",accentColor:"base",size:"sm",value:l,onValueChange:u,children:[f.jsx(v.ToggleGroup.IconItem,{className:"rounded-b-none",value:"LR",type:"button",children:f.jsx(v.LuIcon,{icon:Ws})}),f.jsx(v.ToggleGroup.IconItem,{className:"rounded-t-none",value:"TB",type:"button",children:f.jsx(v.LuIcon,{icon:$s})})]}),f.jsx(v.Separator,{size:"sm"}),f.jsxs(v.ButtonGroup,{className:"flex flex-col",size:"sm",accentColor:"base",variant:"soft",children:[f.jsx(v.IconButton,{className:"rounded-b-none",onClick:()=>o==null?void 0:o.zoomIn(),type:"button",children:f.jsx(v.LuIcon,{icon:je})}),f.jsx(v.IconButton,{onClick:()=>o==null?void 0:o.zoomOut(),radius:"none",type:"button",children:f.jsx(v.LuIcon,{icon:Sr})}),f.jsx(v.IconButton,{className:"rounded-t-none",onClick:()=>o==null?void 0:o.fitView(),type:"button",children:f.jsx(v.LuIcon,{icon:vl})})]})]}),f.jsx(le.Panel,{position:"bottom-right",children:f.jsxs(v.ButtonGroup,{className:"flex items-center justify-end gap-2",size:"sm",children:[n&&f.jsx(v.Button,{type:"button",variant:"soft",accentColor:"base",onClick:n,children:"Cancel"}),f.jsx(v.Button,{type:"submit",variant:"surface",children:"Save"})]})})]}),!!((T=r.fields)!=null&&T.message)&&f.jsx(v.Text,{size:"xs",accentColor:"danger",children:r.fields.message})]})});Ns.displayName="FormBuilderFlowBuilder";const bs=w.memo(r=>{const{sourceFieldSection:e,targetFieldSection:t}=r,n=w.useMemo(()=>e.getConditions(t.identifier),[e,t.identifier]),i=w.useCallback(()=>{e.removeConditional(t.identifier)},[e,t.identifier]),a=w.useCallback(s=>{e.addCondition(t.identifier,Fi(s))},[e,t.identifier]),o=w.useCallback(s=>{e.removeCondition(t.identifier,s)},[e,t.identifier]);return f.jsxs(v.Card,{className:"flex flex-col gap-2",size:"sm",children:[f.jsxs(v.ButtonGroup,{className:"justify-between gap-2 flex",size:"sm",accentColor:"base",variant:"soft",children:[f.jsxs(v.Badge,{accentColor:"base",variant:"soft",size:"sm",children:[f.jsx(v.LuIcon,{icon:Ji}),e.label??di]}),f.jsx(v.IconButton,{type:"button",onClick:i,variant:"ghost",children:f.jsx(v.LuIcon,{icon:pt})})]}),f.jsxs("div",{className:"flex h-max w-full flex-wrap gap-2",children:[n.map(s=>s.render({onRemove:o})),f.jsx(Pi,{fields:e.fields,onSelectField:a,align:"start",children:f.jsx(v.IconButton,{type:"button",size:"sm",variant:"soft",accentColor:"base",children:f.jsx(v.LuIcon,{icon:je})})})]})]})});bs.displayName="FieldSectionConditionalItem";const Ts=w.memo(r=>{const{fieldSection:e}=r,{fieldSchema:t}=w.use(tt),n=w.useMemo(()=>t.fieldSections.filter(o=>e.identifier in o.conditions),[t.fieldSections,e.identifier]),i=w.useCallback(o=>{o.addConditional(e.identifier)},[e.identifier]),a=w.useMemo(()=>{const o=t.getSectionDependencyGraph();return t.fieldSections.filter(s=>!ki.willCreateCycle(o,s.identifier,e.identifier))},[e.identifier,t]);return f.jsxs("div",{className:"flex grow w-full flex-col gap-4",children:[f.jsxs("div",{className:"flex flex-col gap-2 w-full overflow-hidden",children:[f.jsx(v.Input.Root,{variant:"outline",size:"md",children:f.jsx(v.Input.Field,{placeholder:"Enter a section label (optional)",value:e.label??"",onChange:o=>e.setOptions({label:o.target.value}),maxLength:200})}),f.jsx(v.TextArea,{className:"field-sizing-content",placeholder:"Enter a section description (optional)",value:e.description??"",onChange:o=>e.setOptions({description:o.target.value}),maxLength:1e3,resize:"vertical",size:"md"})]}),f.jsx(v.Separator,{size:"full"}),f.jsxs("div",{className:"flex flex-col gap-2",children:[f.jsxs("div",{className:"flex gap-2 justify-between",children:[f.jsx(v.Text,{accentColor:"base",children:"Conditions"}),f.jsx(Ss,{fieldSections:a,onSelectFieldCondition:i,children:f.jsxs(v.Button,{type:"button",variant:"soft",size:"sm",className:"w-max",children:[f.jsx(v.LuIcon,{icon:je}),"Add condition"]})})]}),n.map(o=>f.jsx(bs,{sourceFieldSection:o,targetFieldSection:e},o.identifier))]}),f.jsx(v.Separator,{size:"full"})]})});Ts.displayName="FieldSectionBuilder";const Ds=w.memo(r=>{const{fieldSection:e,sectionIndex:t}=r,{fieldSchema:n}=w.use(tt),i=v.useAlertDialog(),a=w.useCallback(()=>{n.removeFieldSection(e)},[n,e]),o=w.useCallback(x=>{const C=x==="up"?t-1:t+1;n.moveFieldSection(t,C)},[n,t]),s=w.useCallback(()=>{n.addFieldSection(e.duplicate(R.v4()))},[n,e]),l=w.useCallback(x=>{e.addField(en(x))},[e]),u=w.useCallback(()=>{o("up")},[o]),c=w.useCallback(()=>{o("down")},[o]),d=w.useCallback(async()=>{const x=[e.serialize()],C=Ft.reseedFieldSections(x,{conditions:!1}),m=JSON.stringify(C);await navigator.clipboard.writeText(m),v.toast.success({title:"Section copied"})},[e]),h=w.useCallback(async()=>{const C=n.getDependenciesOfSection(e.identifier).map(S=>S.serialize()),m=Ft.reseedFieldSections(C,{conditions:!0}),_=JSON.stringify(m);await navigator.clipboard.writeText(_),v.toast.success({title:"Section copied"})},[e,n]),p=w.useCallback(async()=>{const x=n.getDependenciesOfSection(e.identifier),C=x.length>1,m=x.length-1;C?i({title:"Copy section dependencies?",description:`This section has ${m} dependent section${m>1?"s":""} that will also be copied to maintain the conditions. Do you want to include these dependencies?`,action:"Include",onAction:h,cancel:"Dont include",onCancel:d}):d()},[e,n,i,h,d]),g=w.useCallback(async()=>{let x="";try{x=await navigator.clipboard.readText()}catch{v.toast.error({title:"Paste failed",description:"Unable to read clipboard contents."});return}const C=x.trim();if(!C){v.toast.error({title:"Paste failed",description:"Clipboard is empty."});return}let m;try{m=JSON.parse(C)}catch{v.toast.error({title:"Invalid JSON",description:"Check the JSON and try again."});return}const _=Array.isArray(m)?m:[m],S=[];for(const E of _){if(!E||typeof E!="object")continue;const O=E;if(O.type!=="section"||!Array.isArray(O.fields))continue;const b={type:"section",identifier:typeof O.identifier=="string"?O.identifier:R.v4(),label:typeof O.label=="string"||O.label===null?O.label:null,description:typeof O.description=="string"||O.description===null?O.description:null,conditions:O.conditions&&typeof O.conditions=="object"?O.conditions:{},fields:O.fields};try{S.push(Ue.deserialize(b))}catch{}}if(S.length===0){v.toast.error({title:"Paste failed",description:"No valid sections found in the JSON."});return}S.forEach((E,O)=>{n.addFieldSection(E,t+1+O)}),v.toast.success({title:"Section pasted",description:"Serialized JSON imported successfully."})},[n,t]);return f.jsxs(v.Card,{variant:"outline",className:"flex items-center justify-between gap-4 w-full",size:"sm",children:[f.jsxs("div",{className:"flex grow flex-col gap-4 w-full",children:[f.jsx(Ts,{fieldSection:e}),f.jsxs("div",{className:"flex flex-col gap-2 w-full",children:[f.jsxs("div",{className:"flex gap-2 justify-between",children:[f.jsx(v.Text,{accentColor:"base",size:"md",children:"Fields"}),f.jsx(Jr,{onSelectFieldType:l,size:"sm",children:f.jsxs(v.Button,{type:"button",variant:"soft",size:"sm",children:[f.jsx(v.LuIcon,{icon:je})," Add field"]})})]}),e.fields.map((x,C)=>f.jsx(Vi,{field:x,fieldSection:e,fieldIndex:C,sectionIndex:t},x.identifier))]})]}),f.jsxs(v.ButtonGroup,{className:"flex-col gap-0.5 flex",variant:"ghost",accentColor:"base",size:"sm",children:[f.jsx(v.IconButton,{type:"button",onClick:u,children:f.jsx(v.LuIcon,{icon:ta})}),f.jsx(v.IconButton,{type:"button",onClick:c,children:f.jsx(v.LuIcon,{icon:ea})}),f.jsxs(v.Menu.Root,{align:"end",children:[f.jsx(v.Menu.ClickTrigger,{children:f.jsx(v.IconButton,{type:"button",children:f.jsx(v.LuIcon,{icon:Zi})})}),f.jsxs(v.Menu.Content,{size:"sm",children:[f.jsxs(v.Menu.Item,{onSelect:s,children:[f.jsx(v.LuIcon,{icon:nn}),"Duplicate section"]}),f.jsxs(v.Menu.Item,{onSelect:p,children:[f.jsx(v.LuIcon,{icon:Wi}),"Copy JSON"]}),f.jsxs(v.Menu.Item,{onSelect:g,children:[f.jsx(v.LuIcon,{icon:ji}),"Paste JSON"]}),f.jsxs(v.Menu.Item,{onSelect:a,children:[f.jsx(v.LuIcon,{icon:pt}),"Delete section"]})]})]})]})]})});Ds.displayName="FieldSectionWithActions";const Ms=w.memo(()=>{var l;const{handleSubmit:r}=We.useFormContext(),{errors:e}=We.useFormState(),{onSave:t,onCancel:n}=w.use(tt),{fieldSchema:i}=w.use(tt),a=w.useCallback(()=>{i.addFieldSection(new Ue({identifier:R.v4(),fields:[]}))},[i]),o=w.useCallback(async()=>{try{const u=i.serialize(),c=Ft.reseedFieldSections(u),d=JSON.stringify(c);await navigator.clipboard.writeText(d),v.toast.success({title:"Sections copied",description:"All sections JSON copied to clipboard."})}catch{v.toast.error({title:"Copy failed",description:"Unable to copy the sections JSON."})}},[i]),s=w.useCallback(async()=>{let u="";try{u=await navigator.clipboard.readText()}catch{v.toast.error({title:"Paste failed",description:"Unable to read clipboard contents."});return}const c=u.trim();if(!c){v.toast.error({title:"Paste failed",description:"Clipboard is empty."});return}let d;try{d=JSON.parse(c)}catch{v.toast.error({title:"Invalid JSON",description:"Check the JSON and try again."});return}const h=Array.isArray(d)?d:[d],p=[];for(const x of h){if(!x||typeof x!="object")continue;const C=x;if(C.type!=="section"||!Array.isArray(C.fields))continue;const m={type:"section",identifier:typeof C.identifier=="string"?C.identifier:R.v4(),label:typeof C.label=="string"||C.label===null?C.label:null,description:typeof C.description=="string"||C.description===null?C.description:null,conditions:C.conditions&&typeof C.conditions=="object"?C.conditions:{},fields:C.fields};try{p.push(Ue.deserialize(m))}catch{}}if(p.length===0){v.toast.error({title:"Paste failed",description:"No valid sections found in the JSON."});return}const g=i.fieldSections.length;p.forEach((x,C)=>{i.addFieldSection(x,g+C)}),v.toast.success({title:"Sections pasted",description:"Serialized JSON imported successfully."})},[i]);return f.jsxs("form",{className:"flex flex-col gap-4",onSubmit:r(t),children:[f.jsxs("div",{className:"flex flex-col gap-4",children:[f.jsxs("div",{className:"flex items-center justify-end gap-2",children:[f.jsxs(v.Button,{type:"button",variant:"soft",size:"sm",onClick:o,children:[f.jsx(v.LuIcon,{icon:Wi})," Copy JSON"]}),f.jsxs(v.Button,{type:"button",variant:"soft",size:"sm",onClick:s,children:[f.jsx(v.LuIcon,{icon:ji})," Paste JSON"]})]}),i.fieldSections.map((u,c)=>f.jsx(Ds,{fieldSection:u,sectionIndex:c},u.identifier)),f.jsxs(v.Button,{className:"mb-4",type:"button",variant:"soft",accentColor:"base",size:"sm",onClick:a,children:[f.jsx(v.LuIcon,{icon:je})," Add section"]})]}),!!((l=e.fields)!=null&&l.message)&&f.jsx(v.Text,{size:"xs",accentColor:"danger",children:e.fields.message}),f.jsxs(v.ButtonGroup,{className:"flex items-center justify-end gap-2",size:"sm",children:[n&&f.jsx(v.Button,{type:"button",variant:"soft",accentColor:"base",onClick:n,children:"Cancel"}),f.jsx(v.Button,{type:"submit",variant:"surface",children:"Save"})]})]})});Ms.displayName="FormBuilderListBuilder";function Fs(r){const e=t=>{const n={};for(const[i,a]of Object.entries(t))typeof a=="string"?n[i]={type:"validate",message:a}:n[i]=e(a);return n};return e(r)}const Vs=w.memo(w.forwardRef((r,e)=>{const{disabled:t=!1,fieldSchema:n,values:i={},onValuesChange:a,onSubmit:o,submitText:s="Submit",hideSubmit:l=!1,cancelText:u,onCancel:c,hideCancel:d=!1,className:h,buttonProps:p,size:g="md"}=r,x=w.useMemo(()=>n.initializeValues(i),[n,i]),C=w.useCallback(T=>{o==null||o(T)},[o]),m=We.useForm({values:x,mode:"onBlur",criteriaMode:"all",disabled:t,resolver:T=>{const M=n.validateValues(T),B=Fs(M);return Object.keys(M).length>0?{values:{},errors:B}:{values:T,errors:{}}}}),_=w.useCallback(T=>{a==null||a(T)},[a]);w.useEffect(()=>{const{unsubscribe:T}=m.watch((M,{type:B})=>{B==="change"&&_(M)});return()=>{T()}},[m,_]);const S=aa(n.getFieldSections()),E=w.useMemo(()=>({fieldSchema:n,size:g}),[n,g]),O=!d&&!!c,b=!l;return f.jsx(We.FormProvider,{...m,children:f.jsx(ce,{value:E,children:f.jsxs("form",{ref:e,className:$e.cx(h,"flex flex-col gap-4"),onSubmit:m.handleSubmit(C),children:[f.jsx("div",{className:hf({size:g}),children:S}),!t&&(O||b)?f.jsxs(v.ButtonGroup,{className:"flex items-center justify-end gap-2",size:g,children:[O?f.jsxs(v.Button,{...p,accentColor:"base",type:"button",variant:"soft",onClick:c,children:[f.jsx(v.LuIcon,{icon:nt}),u]}):null,b?f.jsxs(v.Button,{...p,type:"submit",accentColor:"primary",variant:"surface",children:[f.jsx(v.LuIcon,{icon:Re}),s]}):null]}):null]})})})})),Ps=w.memo(()=>{const{fieldSchema:r}=w.use(tt);return f.jsx(Vs,{fieldSchema:r,disabled:!1})});Ps.displayName="FormBuilderPreview";const Bs=w.memo(r=>{const{children:e,initialFields:t,onSave:n,onCancel:i,disableRequiredFields:a=!1}=r,o=w.useCallback(g=>{var S;const x={};(!g.fields||g.fields.length===0)&&(x.fields="At least one field is required.");const C=[];for(const[E,O]of g.fields.entries())for(const[b,T]of O.fields.entries()){const M=((S=_s(T.type,`fields.${E}.fields.${b}`))==null?void 0:S.map(({field:B})=>B))??[];C.push(...M)}const m={};for(const E of C)m[E.identifier]=Gi(g,E.identifier);const _=Mi(C,m);return Object.keys(_).length>0&&(x.fields=_.fields),Object.keys(x).length>0&&v.toast.error({title:"Some form settings are invalid",description:"Please check settings highlighted in red."}),x},[]),s=w.useMemo(()=>({fields:t??[]}),[t]),l=We.useForm({values:s,mode:"onSubmit",criteriaMode:"all",reValidateMode:"onSubmit",resolver:g=>{const x=o(g),C=Fs(x);return Object.keys(x).length>0?{values:{},errors:C}:{values:g,errors:{}}}}),u=w.useCallback(g=>{l.setValue("fields",g.serialize())},[l]),c=We.useWatch({control:l.control,compute:g=>g.fields}),d=w.useMemo(()=>{const g=Ft.deserialize(c);return g.observe(u),g},[c,u]),h=w.useMemo(()=>({fieldSchema:d,disableRequiredFields:a,onSave:n,onCancel:i}),[a,n,i,d]),p=w.useMemo(()=>({fieldSchema:d,size:"sm"}),[d]);return f.jsx(tt,{value:h,children:f.jsx(ce,{value:p,children:f.jsx(We.FormProvider,{...l,children:e})})})});Bs.displayName="FormBuilderRoot";const _f={Root:Bs,FlowBuilder:Ns,ListBuilder:Ms,Preview:Ps};A.BaseCondition=Oe,A.BaseField=Be,A.BaseFormElement=sn,A.BaseOptionsField=Kt,A.BaseStringField=hn,A.BooleanEqualsConditionModifier=go,A.BooleanField=gt,A.BooleanFieldCondition=lr,A.BooleanFieldConditionCell=Fo,A.BooleanFieldInput=dn,A.BooleanNotEqualsConditionModifier=xo,A.CheckboxListField=xt,A.CheckboxListFieldCondition=ur,A.CheckboxListFieldConditionCell=Po,A.CheckboxListFieldInput=pn,A.ConditionManager=Yr,A.DateAfterConditionModifier=mo,A.DateBeforeConditionModifier=wo,A.DateEqualsConditionModifier=yo,A.DateField=Pt,A.DateFieldCondition=cr,A.DateFieldConditionCell=Lo,A.DateFieldInput=vn,A.DateNotEqualsConditionModifier=Co,A.DateRangeInConditionModifier=_o,A.DateRangeNotInConditionModifier=Ao,A.DoesNotHaveFilesConditionModifier=So,A.FIELD_TYPES=fo,A.FieldSchema=Ft,A.FieldSection=Ue,A.FieldSectionLayout=Di,A.FieldTypeGroup=j,A.FieldTypeToClsMapping=ci,A.FieldsRenderer=Vs,A.FileCard=on,A.FormBuilder=_f,A.HasFilesConditionModifier=Eo,A.ImageCard=Cn,A.ImageFile=Vt,A.ImageViewer=un,A.ImageViewerProvider=ia,A.InputWithLabel=_e,A.LONG_TEXT_FIELD_MAX_LENGTH=Qt,A.MultiSelectField=rt,A.MultiSelectFieldCondition=dr,A.MultiSelectFieldConditionCell=ko,A.MultiSelectFieldInput=gn,A.MultiStringField=vt,A.MultiStringFieldCondition=fr,A.MultiStringFieldConditionCell=Uo,A.MultiStringFieldInput=cn,A.NumberEqualsConditionModifier=fi,A.NumberField=Me,A.NumberFieldCondition=hr,A.NumberFieldConditionCell=Ho,A.NumberFieldInput=fn,A.NumberGreaterThanConditionModifier=gi,A.NumberGreaterThanOrEqualsConditionModifier=xi,A.NumberLessThanConditionModifier=pi,A.NumberLessThanOrEqualsConditionModifier=vi,A.NumberNotEqualsConditionModifier=hi,A.NumberRangeInConditionModifier=yi,A.NumberRangeNotInConditionModifier=Ci,A.OTPField=yt,A.OTPFieldCondition=pr,A.OTPFieldConditionCell=Xo,A.OTPFieldInput=yn,A.Observable=Zt,A.PassFailArrayExcludesConditionModifier=bo,A.PassFailArrayIncludesConditionModifier=No,A.PassFailEqualsConditionModifier=Io,A.PassFailField=wt,A.PassFailFieldCondition=vr,A.PassFailFieldConditionCell=Wo,A.PassFailFieldInput=An,A.PassFailNotEqualsConditionModifier=Oo,A.RadioField=mt,A.RadioFieldCondition=gr,A.RadioFieldConditionCell=Yo,A.RadioFieldInput=Sn,A.RatingField=_t,A.RatingFieldCondition=xr,A.RatingFieldConditionCell=Ko,A.RatingFieldInput=In,A.SHORT_TEXT_FIELD_MAX_LENGTH=ai,A.ScanField=Ht,A.ScanFieldCondition=yr,A.ScanFieldConditionCell=Jo,A.ScanFieldInput=ii,A.Scanner=Gr,A.ScannerProvider=co,A.SelectField=it,A.SelectFieldCondition=Cr,A.SelectFieldConditionCell=ts,A.SelectFieldInput=xn,A.StringArrayEqualsConditionModifier=$r,A.StringArrayEveryConditionModifier=Hr,A.StringArrayExcludesConditionModifier=mi,A.StringArrayIncludesConditionModifier=wi,A.StringArrayNoneConditionModifier=Xr,A.StringArrayNotEqualsConditionModifier=Wr,A.StringArraySomeConditionModifier=qr,A.StringEqualsConditionModifier=dt,A.StringExcludesConditionModifier=Wt,A.StringField=Nt,A.StringFieldCondition=wr,A.StringFieldConditionCell=ns,A.StringFieldInput=oi,A.StringIncludesConditionModifier=$t,A.StringNotEqualsConditionModifier=ft,A.TextField=bt,A.TextFieldCondition=mr,A.TextFieldConditionCell=as,A.TextFieldInput=si,A.UNLABELLED_FIELD_LABEL=me,A.UNLABELLED_SECTION_LABEL=di,A.URLField=qt,A.URLFieldCondition=Ar,A.URLFieldConditionCell=us,A.URLFieldInput=ui,A.UUIDFile=at,A.UUIDPromise=Lt,A.UploadField=Tt,A.UploadFieldCondition=_r,A.UploadFieldConditionCell=ss,A.UploadFieldInput=li,A.VideoCard=mn,A.VideoFile=wn,A.areFieldValuesBlank=ms,A.areFieldValuesEqual=bi,A.areFileAndPromiseArraysEqual=Nr,A.arePassFieldValuesEqual=da,A.areSerializedPassFailFieldValuesEqual=fa,A.awaitFilesAndPromises=xf,A.blankFieldValues=Ti,A.changedFieldValues=Cs,A.cleanConditions=Oi,A.cleanFieldValues=Kr,A.cleanSerializedConditions=Ii,A.cleanSerializedFieldValues=Ni,A.createCondition=Fi,A.createConditionModifierConfig=V,A.createField=en,A.deserialize=hs,A.deserializeCondition=ds,A.deserializeConditions=Si,A.deserializeField=Zr,A.deserializeFieldValues=vs,A.deserializeFields=uf,A.deserializeOnlyFields=cf,A.deserializePassFailFieldValue=ca,A.extractFilesAndPromisesFromFieldValues=gs,A.fieldDataMapping=ue,A.fieldSpacingCva=Qr,A.fieldTypeGroupDataMapping=ho,A.flattenFields=df,A.getFieldsMapping=ff,A.initializeFieldValues=ys,A.insertFilesAndPromisesToFieldValues=xs,A.isFileAndPromiseArray=oa,A.isPassFailFieldStatus=En,A.isPassFailFieldValue=la,A.isSerializedPassFailFieldValue=sa,A.isStringArray=Yt,A.maxFileSizeB=vo,A.maxFileSizeKB=po,A.maxFileSizeMB=Xt,A.passFailFieldStatusMapping=Ct,A.passFailFieldStatuses=Bt,A.separateImagesFromFields=gf,A.serializeConditions=fs,A.serializeFieldValues=ps,A.serializePassFailFieldValue=ua,A.unchangedFieldValues=ws,A.useConditionManager=sf,A.useFieldInput=Ae,A.useFieldInputs=Or,A.useFieldSectionInputs=aa,A.useImageViewer=Ir,A.useObjectUrl=ln,A.useScanner=Cl,A.validateFieldValues=Mi,Object.defineProperty(A,Symbol.toStringTag,{value:"Module"})});
|
|
270
|
+
`),n=oo.singletonList(tf.INITIAL_STATE),i=0;i<this.text.length;i++){var a=void 0,o=i+1<this.text.length?this.text[i+1]:0;switch(this.text[i]){case $.getCharCode("\r"):a=o===t?2:0;break;case $.getCharCode("."):a=o===e?3:0;break;case $.getCharCode(","):a=o===e?4:0;break;case $.getCharCode(":"):a=o===e?5:0;break;default:a=0}a>0?(n=r.updateStateListForPair(n,i,a),i++):n=this.updateStateListForChar(n,i)}var s=oo.min(n,function(l,u){return l.getBitCount()-u.getBitCount()});return s.toBitArray(this.text)},r.prototype.updateStateListForChar=function(e,t){var n,i,a=[];try{for(var o=Ur(e),s=o.next();!s.done;s=o.next()){var l=s.value;this.updateStateForChar(l,t,a)}}catch(u){n={error:u}}finally{try{s&&!s.done&&(i=o.return)&&i.call(o)}finally{if(n)throw n.error}}return r.simplifyStates(a)},r.prototype.updateStateForChar=function(e,t,n){for(var i=this.text[t]&255,a=ni[e.getMode()][i]>0,o=null,s=0;s<=et;s++){var l=ni[s][i];if(l>0){if(o==null&&(o=e.endBinaryShift(t)),!a||s===e.getMode()||s===qe){var u=o.latchAndAppend(s,l);n.push(u)}if(!a&&lo[e.getMode()][s]>=0){var c=o.shiftAndAppend(s,l);n.push(c)}}}if(e.getBinaryShiftByteCount()>0||ni[e.getMode()][i]===0){var d=e.addBinaryShiftChar(t);n.push(d)}},r.updateStateListForPair=function(e,t,n){var i,a,o=[];try{for(var s=Ur(e),l=s.next();!l.done;l=s.next()){var u=l.value;this.updateStateForPair(u,t,n,o)}}catch(c){i={error:c}}finally{try{l&&!l.done&&(a=s.return)&&a.call(s)}finally{if(i)throw i.error}}return this.simplifyStates(o)},r.updateStateForPair=function(e,t,n,i){var a=e.endBinaryShift(t);if(i.push(a.latchAndAppend(et,n)),e.getMode()!==et&&i.push(a.shiftAndAppend(et,n)),n===3||n===4){var o=a.latchAndAppend(qe,16-n).latchAndAppend(qe,1);i.push(o)}if(e.getBinaryShiftByteCount()>0){var s=e.addBinaryShiftChar(t).addBinaryShiftChar(t+1);i.push(s)}},r.simplifyStates=function(e){var t,n,i,a,o=[];try{for(var s=Ur(e),l=s.next();!l.done;l=s.next()){var u=l.value,c=!0,d=function(C){if(C.isBetterThanOrEqualTo(u))return c=!1,"break";u.isBetterThanOrEqualTo(C)&&(o=o.filter(function(m){return m!==C}))};try{for(var h=(i=void 0,Ur(o)),p=h.next();!p.done;p=h.next()){var g=p.value,x=d(g);if(x==="break")break}}catch(C){i={error:C}}finally{try{p&&!p.done&&(a=h.return)&&a.call(h)}finally{if(i)throw i.error}}c&&o.push(u)}}catch(C){t={error:C}}finally{try{l&&!l.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}return o},r}(),af=function(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};(function(){function r(){}return r.encodeBytes=function(e){return r.encode(e,r.DEFAULT_EC_PERCENT,r.DEFAULT_AZTEC_LAYERS)},r.encode=function(e,t,n){var i=new nf(e).encode(),a=q.truncDivision(i.getSize()*t,100)+11,o=i.getSize()+a,s,l,u,c,d;if(n!==r.DEFAULT_AZTEC_LAYERS){if(s=n<0,l=Math.abs(n),l>(s?r.MAX_NB_BITS_COMPACT:r.MAX_NB_BITS))throw new k($.format("Illegal value %s for layers",n));u=r.totalBitsInLayer(l,s),c=r.WORD_SIZE[l];var h=u-u%c;if(d=r.stuffBits(i,c),d.getSize()+a>h)throw new k("Data to large for user specified layer");if(s&&d.getSize()>c*64)throw new k("Data to large for user specified layer")}else{c=0,d=null;for(var p=0;;p++){if(p>r.MAX_NB_BITS)throw new k("Data too large for an Aztec code");if(s=p<=3,l=s?p+1:p,u=r.totalBitsInLayer(l,s),!(o>u)){(d==null||c!==r.WORD_SIZE[l])&&(c=r.WORD_SIZE[l],d=r.stuffBits(i,c));var h=u-u%c;if(!(s&&d.getSize()>c*64)&&d.getSize()+a<=h)break}}}var g=r.generateCheckWords(d,u,c),x=d.getSize()/c,C=r.generateModeMessage(s,l,x),m=(s?11:14)+l*4,_=new Int32Array(m),S;if(s){S=m;for(var p=0;p<_.length;p++)_[p]=p}else{S=m+1+2*q.truncDivision(q.truncDivision(m,2)-1,15);for(var E=q.truncDivision(m,2),O=q.truncDivision(S,2),p=0;p<E;p++){var b=p+q.truncDivision(p,15);_[E-p-1]=O-b-1,_[E+p]=O+b+1}}for(var T=new Je(S),p=0,M=0;p<l;p++){for(var B=(l-p)*4+(s?9:12),z=0;z<B;z++)for(var ne=z*2,H=0;H<2;H++)g.get(M+ne+H)&&T.set(_[p*2+H],_[p*2+z]),g.get(M+B*2+ne+H)&&T.set(_[p*2+z],_[m-1-p*2-H]),g.get(M+B*4+ne+H)&&T.set(_[m-1-p*2-H],_[m-1-p*2-z]),g.get(M+B*6+ne+H)&&T.set(_[m-1-p*2-z],_[p*2+H]);M+=B*8}if(r.drawModeMessage(T,s,S,C),s)r.drawBullsEye(T,q.truncDivision(S,2),5);else{r.drawBullsEye(T,q.truncDivision(S,2),7);for(var p=0,z=0;p<q.truncDivision(m,2)-1;p+=15,z+=16)for(var H=q.truncDivision(S,2)&1;H<S;H+=2)T.set(q.truncDivision(S,2)-z,H),T.set(q.truncDivision(S,2)+z,H),T.set(H,q.truncDivision(S,2)-z),T.set(H,q.truncDivision(S,2)+z)}var oe=new qd;return oe.setCompact(s),oe.setSize(S),oe.setLayers(l),oe.setCodeWords(x),oe.setMatrix(T),oe},r.drawBullsEye=function(e,t,n){for(var i=0;i<n;i+=2)for(var a=t-i;a<=t+i;a++)e.set(a,t-i),e.set(a,t+i),e.set(t-i,a),e.set(t+i,a);e.set(t-n,t-n),e.set(t-n+1,t-n),e.set(t-n,t-n+1),e.set(t+n,t-n),e.set(t+n,t-n+1),e.set(t+n,t+n-1)},r.generateModeMessage=function(e,t,n){var i=new ye;return e?(i.appendBits(t-1,2),i.appendBits(n-1,6),i=r.generateCheckWords(i,28,4)):(i.appendBits(t-1,5),i.appendBits(n-1,11),i=r.generateCheckWords(i,40,4)),i},r.drawModeMessage=function(e,t,n,i){var a=q.truncDivision(n,2);if(t)for(var o=0;o<7;o++){var s=a-3+o;i.get(o)&&e.set(s,a-5),i.get(o+7)&&e.set(a+5,s),i.get(20-o)&&e.set(s,a+5),i.get(27-o)&&e.set(a-5,s)}else for(var o=0;o<10;o++){var s=a-5+o+q.truncDivision(o,5);i.get(o)&&e.set(s,a-7),i.get(o+10)&&e.set(a+7,s),i.get(29-o)&&e.set(s,a+7),i.get(39-o)&&e.set(a-7,s)}},r.generateCheckWords=function(e,t,n){var i,a,o=e.getSize()/n,s=new ja(r.getGF(n)),l=q.truncDivision(t,n),u=r.bitsToWords(e,n,l);s.encode(u,l-o);var c=t%n,d=new ye;d.appendBits(0,c);try{for(var h=af(Array.from(u)),p=h.next();!p.done;p=h.next()){var g=p.value;d.appendBits(g,n)}}catch(x){i={error:x}}finally{try{p&&!p.done&&(a=h.return)&&a.call(h)}finally{if(i)throw i.error}}return d},r.bitsToWords=function(e,t,n){var i=new Int32Array(n),a,o;for(a=0,o=e.getSize()/t;a<o;a++){for(var s=0,l=0;l<t;l++)s|=e.get(a*t+l)?1<<t-l-1:0;i[a]=s}return i},r.getGF=function(e){switch(e){case 4:return ze.AZTEC_PARAM;case 6:return ze.AZTEC_DATA_6;case 8:return ze.AZTEC_DATA_8;case 10:return ze.AZTEC_DATA_10;case 12:return ze.AZTEC_DATA_12;default:throw new k("Unsupported word size "+e)}},r.stuffBits=function(e,t){for(var n=new ye,i=e.getSize(),a=(1<<t)-2,o=0;o<i;o+=t){for(var s=0,l=0;l<t;l++)(o+l>=i||e.get(o+l))&&(s|=1<<t-1-l);(s&a)===a?(n.appendBits(s&a,t),o--):(s&a)===0?(n.appendBits(s|1,t),o--):n.appendBits(s,t)}return n},r.totalBitsInLayer=function(e,t){return((t?88:112)+16*e)*e},r.DEFAULT_EC_PERCENT=33,r.DEFAULT_AZTEC_LAYERS=0,r.MAX_NB_BITS=32,r.MAX_NB_BITS_COMPACT=4,r.WORD_SIZE=Int32Array.from([4,6,6,8,8,8,8,8,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,12,12,12]),r})();const of=new Map([[Ui.DecodeHintType.POSSIBLE_FORMATS,[P.AZTEC,P.CODABAR,P.CODE_39,P.CODE_93,P.CODE_128,P.DATA_MATRIX,P.EAN_8,P.EAN_13,P.ITF,P.MAXICODE,P.PDF_417,P.QR_CODE,P.RSS_14,P.RSS_EXPANDED,P.UPC_A,P.UPC_E,P.UPC_EAN_EXTENSION]]]),Gr=w.memo(r=>{const{children:e,open:t,onOpenChange:n,defaultOpen:i,modal:a,...o}=r;return f.jsxs(v.Overlay.Root,{open:t,onOpenChange:n,defaultOpen:i,modal:a,children:[!!e&&f.jsx(v.Overlay.Trigger,{asChild:!0,children:e}),f.jsxs(v.Overlay.Content,{children:[f.jsx(v.Overlay.Title,{className:"sr-only",children:"Scanner"}),f.jsx(v.Overlay.Description,{className:"sr-only",children:"Scan a barcode or a qr code."}),f.jsx(uo,{...o})]})]})});Gr.displayName="Scanner";const uo=w.memo(r=>{const{paused:e,timeBetweenDecodingAttempts:t,onDecodeResult:n,onDecodeError:i,onError:a}=r,{ref:o}=Ui.useZxing({paused:e,timeBetweenDecodingAttempts:t,onDecodeResult:n,onDecodeError:i,onError:a,hints:of});return f.jsxs("div",{className:"flex size-full flex-col justify-center overflow-hidden bg-(--color-background)",children:[f.jsx("div",{className:"flex w-full justify-end p-4",children:f.jsx(v.Overlay.Close,{asChild:!0,children:f.jsx(v.IconButton,{"aria-label":"close",variant:"soft",accentColor:"base",children:f.jsx(v.LuIcon,{icon:nt})})})}),f.jsx("div",{className:"grow w-full max-h-full overflow-hidden p-4",children:f.jsx("video",{className:"size-full",ref:o})})]})});uo.displayName="ScannerInternal";const co=w.memo(r=>{const{children:e}=r,[t,n]=w.useState(null),i=w.useCallback(()=>{n(null)},[]),a=w.useCallback(s=>{n(s(i))},[i]),o=w.useCallback(()=>{t&&(t.onClose&&t.onClose(),i())},[i,t]);return f.jsxs(ha.Provider,{value:a,children:[e,t&&f.jsx(Gr,{open:!0,onOpenChange:o,...t})]})});co.displayName="FileViewerProvider";const ii=w.memo(r=>{const{field:e}=r,{size:t}=w.use(ce),{value:n,name:i,onBlur:a,onChange:o,error:s,disabled:l}=Ae({field:e}),[u,c]=w.useState(!1),d=w.useCallback(C=>{const m=C.target.value;o(m)},[o]),h=w.useCallback(()=>{a()},[a]),p=w.useCallback(C=>{o(C.getText()),a(),c(!1)},[o,a]),g=w.useCallback(()=>{c(!0)},[]),x=w.useCallback(()=>{c(!1),a()},[a]);return f.jsxs(_e,{size:t,inputId:e.identifier,label:e.label,description:e.description,required:e.required,error:s,image:e.image,children:[f.jsx(v.TextArea,{className:"w-full field-sizing-content",accentColor:"base",variant:"surface",size:t,id:e.identifier,name:i,value:n??"",placeholder:"Enter a qr or barcode",onChange:d,onBlur:h,disabled:l}),f.jsxs(v.Button,{onClick:g,className:"w-max",type:"button",variant:"soft",size:t,accentColor:"base",disabled:l,children:[f.jsx(v.LuIcon,{icon:cl}),"Scan"]}),f.jsx(Gr,{open:u,onDecodeResult:p,onOpenChange:x})]})});ii.displayName="ScanFieldInput";class Ht extends Be{constructor(t){super(t);D(this,"type","qr")}serialize(){return super.serialize()}getOptions(){return super.getOptions()}duplicate(t){return new Ht({...this.getOptions(),identifier:t})}setOptions(t){super.setOptions(t)}static deserialize(t){return new Ht(t)}serializeValue(t){return t}deserializeValue(t){return t}render(){return f.jsx(ii,{field:this})}isSerializedValue(t){return typeof t=="string"}isValue(t){return typeof t=="string"}blankValue(){return""}areValuesEqual(t,n){return t===n}blankSerializedValue(){return""}areSerializedValuesEqual(t,n){return t===n}}const ai=500,oi=w.memo(r=>{const{field:e}=r,{size:t}=w.use(ce),{value:n,name:i,onBlur:a,onChange:o,error:s,disabled:l}=Ae({field:e}),u=w.useCallback(h=>{const p=h.target.value;o(p)},[o]),c=w.useCallback(()=>{a()},[a]),d=w.useCallback(h=>{h.key==="Enter"&&h.preventDefault()},[]);return f.jsx(_e,{size:t,inputId:e.identifier,label:e.label,description:e.description,required:e.required,error:s,image:e.image,children:f.jsx(v.Input.Root,{accentColor:"base",variant:"surface",size:t,children:f.jsx(v.Input.Field,{id:e.identifier,className:"truncate",name:i,value:n??"",type:"text",placeholder:e.placeholder,onChange:u,onBlur:c,disabled:l,onKeyDown:d})})})});oi.displayName="StringFieldInput";class Nt extends hn{constructor(t){const{...n}=t,i=t.maxLength?Math.min(ai,t.maxLength):ai,a=t.minLength?Math.min(t.minLength,i):void 0;super({...n,maxLength:i,minLength:a});D(this,"type","string")}serialize(){return super.serialize()}getOptions(){return super.getOptions()}duplicate(t){return new Nt({...this.getOptions(),identifier:t})}setOptions(t){super.setOptions(t)}static deserialize(t){const{maximum_length:n,minimum_length:i,...a}=t;return new Nt({...a,maxLength:n,minLength:i,placeholder:"Enter a short description"})}render(){return f.jsx(oi,{field:this})}}const si=w.memo(r=>{const{field:e}=r,{size:t}=w.use(ce),{value:n,name:i,onBlur:a,onChange:o,error:s,disabled:l}=Ae({field:e}),u=w.useCallback(d=>{const h=d.target.value;o(h)},[o]),c=w.useCallback(()=>{a()},[a]);return f.jsx(_e,{size:t,inputId:e.identifier,label:e.label,description:e.description,required:e.required,error:s,image:e.image,children:f.jsx(v.TextArea,{id:e.identifier,value:n??"",name:i,onChange:u,onBlur:c,className:"field-sizing-content min-h-12",placeholder:e.placeholder,resize:"vertical",accentColor:"base",variant:"surface",size:t,disabled:l})})});si.displayName="TextFieldInput";class bt extends hn{constructor(t){const n=t.maxLength?Math.min(Qt,t.maxLength):Qt,i=t.minLength?Math.min(t.minLength,n):void 0;super({...t,maxLength:n,minLength:i});D(this,"type","text")}serialize(){return super.serialize()}getOptions(){return super.getOptions()}duplicate(t){return new bt({...this.getOptions(),identifier:t})}setOptions(t){super.setOptions(t)}static deserialize(t){const{maximum_length:n,minimum_length:i,...a}=t;return new bt({...a,maxLength:n,minLength:i,placeholder:"Enter a description"})}render(){return f.jsx(si,{field:this})}}const li=w.memo(r=>{var C;const{field:e}=r,{size:t}=w.use(ce),{value:n,name:i,onBlur:a,onChange:o,error:s,disabled:l}=Ae({field:e}),u=w.useRef(null),c=w.useCallback(()=>{var m;(m=u.current)==null||m.click()},[]),d=w.useCallback(()=>{if(!u.current)return;const m=u.current.files;if(!m){a();return}const _=Array.from(m).map(E=>at.from(R.v4(),E)),S=[...n,..._];o(S),a()},[a,o,n]),h=w.useCallback(m=>{const _=[...n];_.splice(m,1),o(_),a()},[n,o,a]);w.useEffect(()=>{if(!u.current)return;const m=new AbortController;return u.current.addEventListener("cancel",()=>{a()},{signal:m.signal}),()=>{m.abort()}},[a,n]);const x=e.maxFiles>1?"Select files":"Select a file";return f.jsxs(_e,{size:t,inputId:e.identifier,label:e.label,description:e.description,required:e.required,error:s,image:e.image,children:[f.jsxs(v.Button,{className:"w-max",size:t,variant:"soft",accentColor:"base",onClick:c,type:"button",disabled:l,children:[f.jsx(v.LuIcon,{icon:an}),x]}),f.jsx("input",{id:e.identifier,name:i,type:"file",ref:u,accept:(C=e.extensions)==null?void 0:C.join(","),multiple:e.maxFiles>1,className:"hidden",onChange:d,value:""}),n.length>0&&f.jsx("div",{className:"flex h-max flex-col gap-2",children:n.map((m,_)=>f.jsx(_n,{size:t,file:m,onRemove:()=>{h(_)},disabled:l},_))})]})});li.displayName="UploadFieldInput";class Tt extends Be{constructor(t){const{extensions:n,maximum_files:i,maximum_size:a,...o}=t;super(o);D(this,"type","upload");D(this,"extensions");D(this,"maxFileSize");D(this,"maxFiles");this.maxFileSize=typeof a=="number"?a:void 0,this.maxFiles=Math.max(typeof i=="number"?i:1,1),this.extensions=n}static getFieldCreationSchema(t=""){const n=t&&`${t}.`;return[{field:new Me({label:"How many files can be uploaded?",description:"By default, only one file can be uploaded.",required:!1,minimum:1,maximum:10,identifier:`${n}maximum_files`,integers:!0}),showDirectly:!1},{field:new Me({label:"What is the maximum size of each file?",description:`Maximum file size in megabytes (between 1MB–${Xt}MB).`,required:!1,identifier:`${n}maximum_size`,minimum:1,maximum:Xt,integers:!0}),showDirectly:!1},{field:new rt({label:"Accepted file types",description:"Types of allowed files to upload. If left blank, all files will be accepted.",required:!1,identifier:`${n}extensions`,options:[{value:"image/*",label:"Images"},{value:"audio/*",label:"Audio files"},{value:"video/*",label:"Videos"},{value:"text/*",label:"Text files"},{value:"application/*",label:"Application files (includes PDFs and Word documents)"}]}),showDirectly:!1}]}getFieldValidators(){const t=super.getFieldValidators(),n=this.maxFileSize??Xt,i=n*1e3*1e3,a=this.maxFiles||1;return t.push(o=>{if(o.some(s=>s instanceof at&&s.size>i))return`Files must be at most ${n}MB.`}),t.push(o=>{if(o.length>a)return`You can only upload ${a} files.`}),t}serialize(){return{...super.serialize(),extensions:this.extensions,maximum_size:this.maxFileSize,maximum_files:this.maxFiles}}getOptions(){return{...super.getOptions(),extensions:this.extensions,maximum_size:this.maxFileSize,maximum_files:this.maxFiles}}duplicate(t){return new Tt({...this.getOptions(),identifier:t})}setOptions(t){const{extensions:n,maximum_files:i,maximum_size:a,...o}=t;this.maxFileSize=typeof a=="number"?a:this.maxFileSize,this.maxFiles=typeof i=="number"?i:this.maxFiles,this.extensions=n,super.setOptions(o)}static deserialize(t){return new Tt(t)}serializeValue(t){return[]}deserializeValue(t){return[]}render(){return f.jsx(li,{field:this})}isSerializedValue(t){return Array.isArray(t)&&t.length===0}isValue(t){return Array.isArray(t)?t.every(n=>n instanceof Lt||n instanceof at):!1}areValuesEqual(t,n){return Nr(t,n)}blankValue(){return[]}blankSerializedValue(){return[]}areSerializedValuesEqual(t,n){return t.length===n.length}}const ui=w.memo(r=>{const{field:e}=r,{size:t}=w.use(ce),{value:n,name:i,onBlur:a,onChange:o,error:s,disabled:l}=Ae({field:e}),u=w.useCallback(p=>{const g=p.target.value;g!==""&&!URL.canParse(g)||o(g!==""?new URL(g):null)},[o]),c=w.useCallback(()=>{a()},[a]),d=w.useCallback(p=>{p.key==="Enter"&&p.preventDefault()},[]),h=w.useCallback(()=>{n!==null&&window.open(n,"_blank","noopener,noreferrer")},[n]);return f.jsx(_e,{size:t,inputId:e.identifier,label:e.label,description:e.description,required:e.required,error:s,image:e.image,children:f.jsxs("div",{className:"flex gap-2 w-full",children:[f.jsx(v.Input.Root,{className:"grow",accentColor:"base",variant:"surface",size:t,children:f.jsx(v.Input.Field,{id:e.identifier,className:"truncate",name:i,value:n?n.toString():"",type:"url",inputMode:"url",placeholder:e.placeholder,onChange:u,onBlur:c,disabled:l,onKeyDown:d})}),f.jsx(v.IconButton,{size:t,variant:"soft",accentColor:"base",type:"button",disabled:n===null,onClick:h,children:f.jsx(v.LuIcon,{icon:tl})})]})})});ui.displayName="URLFieldInput";class qt extends Be{constructor(t){const{placeholder:n="https://example.com",...i}=t;super(i);D(this,"type","url");D(this,"placeholder");this.placeholder=n}serialize(){return{...super.serialize(),placeholder:this.placeholder}}getOptions(){return{...super.getOptions(),placeholder:this.placeholder}}duplicate(t){return new qt({...this.getOptions(),identifier:t})}setOptions(t){const{placeholder:n,...i}=t;this.placeholder=n??this.placeholder,super.setOptions(i)}static deserialize(t){return new qt(t)}serializeValue(t){return(t==null?void 0:t.toString())??null}deserializeValue(t){return t===null?null:new URL(t)}isSerializedValue(t){return t===null?!0:typeof t!="string"?!1:URL.canParse(t)}isValue(t){return t===null||t instanceof URL}blankValue(){return null}blankSerializedValue(){return null}areSerializedValuesEqual(t,n){return t===n}areValuesEqual(t,n){return(t==null?void 0:t.toString())===(n==null?void 0:n.toString())}render(){return f.jsx(ui,{field:this})}}const ci={date:Pt,number:Me,boolean:gt,select:it,string:Nt,url:qt,text:bt,upload:Tt,qr:Ht,"multi-string":vt,"multi-select":rt,radio:mt,"checkbox-list":xt,"pass-fail":wt,otp:yt,rating:_t},fo=Object.keys(ci),ue={"checkbox-list":{description:"Allows the user to select a multiple options from a list.",group:j.Selection,icon:el,name:"Checkbox list"},"multi-select":{description:"Allows the user to select a multiple options from a list of options.",group:j.Selection,icon:sl,name:"Multi-select"},"multi-string":{description:"Allows the user to provide multiple unique strings.",group:j.Text,icon:ul,name:"Multi-string"},"pass-fail":{description:"Track pass, fail, or N/A outcome.",group:j.Assessment,icon:Js,name:"Pass - Fail"},boolean:{description:"Perfect for both optional and required yes/no questions.",group:j.Selection,icon:pl,name:"Checkbox"},date:{description:"Allows specifying a date.",group:j.Temporal,icon:js,name:"Date"},number:{description:"Allows specifying a number within a given range.",group:j.Numeric,icon:al,name:"Number"},otp:{description:"Allows specifying a number within a given range.",group:j.Verification,icon:dl,name:"OTP"},qr:{description:"Used for scanning/reading QR and barcodes.",group:j.Capture,icon:fl,name:"Scan"},radio:{description:"Allows the user to select a single option from a list of options.",group:j.Selection,icon:Zs,name:"Option list"},rating:{description:"Allows users to select a rating value.",group:j.Assessment,icon:ra,name:"Rating"},select:{description:"Allows the user to select a single option from a list of options.",group:j.Selection,icon:ll,name:"Dropdown"},string:{description:"Short text fields can hold up to 500 characters on a single line.",group:j.Text,icon:gl,name:"Short Text"},text:{description:"Paragraph fields can hold up to 10000 characters and can have multiple lines.",group:j.Text,icon:Xs,name:"Paragraph"},upload:{description:"Allows a file to be uploaded.",group:j.Capture,icon:an,name:"Upload"},url:{description:"Allows users to enter a URL.",group:j.Text,icon:ol,name:"URL"}},ho={[j.Assessment]:{name:"Assessment"},[j.Capture]:{name:"Capture"},[j.Numeric]:{name:"Numeric"},[j.Selection]:{name:"Selection"},[j.Temporal]:{name:"Temporal"},[j.Text]:{name:"Text"},[j.Verification]:{name:"Verification"}},Xt=50,po=Xt*1e3,vo=po*1e3,me="Unlabelled",di="Unlabelled";class X{constructor(e){D(this,"id");D(this,"label");D(this,"getApplyFn");D(this,"serialize");D(this,"deserialize");const{id:t,getApplyFn:n,label:i,serialize:a,deserialize:o}=e;this.id=t,this.getApplyFn=n,this.label=i,this.serialize=a,this.deserialize=o}static create(e){return new X(e)}}const go=X.create({id:"nullable-boolean-equals",label:"is",getApplyFn:r=>e=>e===r,serialize:r=>r,deserialize:r=>r}),xo=X.create({id:"nullable-boolean-not-equals",label:"is not",getApplyFn:r=>e=>e!==r,serialize:r=>r,deserialize:r=>r}),yo=X.create({id:"date-equals",getApplyFn:r=>e=>e.getTime()===r.getTime(),label:"is",serialize:r=>r.toISOString(),deserialize:r=>new Date(r)}),Co=X.create({id:"date-not-equals",getApplyFn:r=>e=>e.getTime()!==r.getTime(),label:"is not",serialize:r=>r.toISOString(),deserialize:r=>new Date(r)}),wo=X.create({id:"date-before",getApplyFn:r=>e=>e.getTime()<r.getTime(),label:"before",serialize:r=>r.toISOString(),deserialize:r=>new Date(r)}),mo=X.create({id:"date-after",label:"after",getApplyFn:r=>e=>e.getTime()>r.getTime(),serialize:r=>r.toISOString(),deserialize:r=>new Date(r)}),_o=X.create({id:"date-range-in",label:"in between",getApplyFn:r=>e=>!(r!=null&&r.from&&r.from.getTime()>e.getTime()||r!=null&&r.to&&r.to.getTime()<e.getTime()),serialize:r=>{var e,t;return{from:((e=r.from)==null?void 0:e.toISOString())??null,to:((t=r.to)==null?void 0:t.toISOString())??null}},deserialize:r=>({from:r.from?new Date(r.from):void 0,to:r.to?new Date(r.to):void 0})}),Ao=X.create({id:"date-range-not-in",label:"not in between",getApplyFn:r=>e=>!!(r!=null&&r.from&&r.from.getTime()>e.getTime()||r!=null&&r.to&&r.to.getTime()<e.getTime()),serialize:r=>{var e,t;return{from:((e=r.from)==null?void 0:e.toISOString())??null,to:((t=r.to)==null?void 0:t.toISOString())??null}},deserialize:r=>({from:r.from?new Date(r.from):void 0,to:r.to?new Date(r.to):void 0})}),Eo=X.create({id:"has-files",label:"is",getApplyFn:r=>e=>e.length>0,serialize:r=>r,deserialize:r=>r}),So=X.create({id:"does-not-have-files",label:"is not",getApplyFn:r=>e=>e.length===0,serialize:r=>r,deserialize:r=>r}),fi=X.create({id:"number-equals",getApplyFn:r=>e=>e===r,label:"is",serialize:r=>r,deserialize:r=>r}),hi=X.create({id:"number-not-equals",getApplyFn:r=>e=>e!==r,label:"is not",serialize:r=>r,deserialize:r=>r}),pi=X.create({id:"number-less-than",getApplyFn:r=>e=>e<r,label:"is less than",serialize:r=>r,deserialize:r=>r}),vi=X.create({id:"number-less-than-or-equals",getApplyFn:r=>e=>e<=r,label:"is less than or equal to",serialize:r=>r,deserialize:r=>r}),gi=X.create({id:"number-greater-than",getApplyFn:r=>e=>e>r,label:"is greater than",serialize:r=>r,deserialize:r=>r}),xi=X.create({id:"number-greater-than-or-equals",getApplyFn:r=>e=>e>=r,label:"is greater than or equal to",serialize:r=>r,deserialize:r=>r}),yi=X.create({id:"number-range-in",getApplyFn:r=>e=>!(r.to&&e>r.to||r.from&&e<r.from),label:"is between",serialize:r=>r,deserialize:r=>r}),Ci=X.create({id:"number-range-not-in",getApplyFn:r=>e=>!!(r.to&&e>r.to||r.from&&e<r.from),label:"is not between",serialize:r=>r,deserialize:r=>r}),Io=X.create({id:"pass-fail-equals",getApplyFn:r=>e=>e===r,label:"is",serialize:r=>r,deserialize:r=>r}),Oo=X.create({id:"pass-fail-not-equals",getApplyFn:r=>e=>e!==r,label:"is not",serialize:r=>r,deserialize:r=>r}),No=X.create({id:"pass-fail-array-includes",getApplyFn:r=>{const e=new Set(r);return t=>e.has(t)},label:"is any of",serialize:r=>r,deserialize:r=>r}),bo=X.create({id:"pass-fail-array-excludes",getApplyFn:r=>{const e=new Set(r);return t=>!e.has(t)},label:"is none of",serialize:r=>r,deserialize:r=>r}),dt=X.create({id:"nullable-string-equals",getApplyFn:r=>e=>e===r,label:"is",serialize:r=>r,deserialize:r=>r}),ft=X.create({id:"nullable-string-not-equals",getApplyFn:r=>e=>e!==r,label:"is not",serialize:r=>r,deserialize:r=>r}),$t=X.create({id:"string-includes",getApplyFn:r=>e=>e.includes(r),label:"includes",serialize:r=>r,deserialize:r=>r}),Wt=X.create({id:"string-excludes",getApplyFn:r=>e=>!e.includes(r),label:"does not include",serialize:r=>r,deserialize:r=>r}),wi=X.create({id:"string-array-includes",getApplyFn:r=>{const e=new Set(r);return t=>e.has(t)},label:"is any of",serialize:r=>r,deserialize:r=>r}),mi=X.create({id:"string-array-excludes",getApplyFn:r=>{const e=new Set(r);return t=>!e.has(t)},label:"is none of",serialize:r=>r,deserialize:r=>r}),Hr=X.create({id:"string-array-every",getApplyFn:r=>{const e=new Set(r);return t=>{const n=new Set(t);return e.isSubsetOf(n)}},label:"has all of",serialize:r=>r,deserialize:r=>r}),qr=X.create({id:"string-array-some",getApplyFn:r=>{const e=new Set(r);return t=>{const n=new Set(t);return!e.isDisjointFrom(n)}},label:"has any of",serialize:r=>r,deserialize:r=>r}),Xr=X.create({id:"string-array-none",getApplyFn:r=>{const e=new Set(r);return t=>{const n=new Set(t);return e.isDisjointFrom(n)}},label:"has none of",serialize:r=>r,deserialize:r=>r}),$r=X.create({id:"string-array-equals",getApplyFn:r=>{const e=new Set(r);return t=>{const n=new Set(t);return e.size===n.size&&n.isSubsetOf(e)}},label:"is",serialize:r=>r,deserialize:r=>r}),Wr=X.create({id:"string-array-not-equals",getApplyFn:r=>{const e=new Set(r);return t=>{const n=new Set(t);return e.size!==n.size||!n.isSubsetOf(e)}},label:"is not",serialize:r=>r,deserialize:r=>r}),V=r=>r;class Oe extends Zt{constructor(t){const{id:n,field:i,conditionValue:a,conditionModifier:o}=t;super();D(this,"id");D(this,"conditionValue");D(this,"conditionModifier");D(this,"field");D(this,"getConditionValue",()=>this.conditionValue);D(this,"setConditionValue",t=>{const n=this.modifiers[this.conditionModifier];t!==void 0&&!n.isConditionValueValid(t)||(this.conditionValue=t,this.notify(this))});D(this,"getConditionModifier",()=>this.conditionModifier);D(this,"setConditionModifier",t=>{const n=this.modifiers[t],i=this.getConditionValue();i&&!n.isConditionValueValid(i)&&(this.conditionValue=void 0),this.conditionModifier=t,this.notify(this)});D(this,"getConditionModifiers",()=>Object.entries(this.modifiers));D(this,"accessorFn",t=>t[this.field.identifier]);D(this,"getApplyFn",()=>{const t=this.modifiers[this.conditionModifier],n=this.getConditionValue(),i=n!==void 0&&t.isConditionValueValid(n),a=i?t.modifier.getApplyFn(n):null;return o=>{if(!i)return!0;const s=this.transformValue(o);return t.isValueValid(s)?a(s):!1}});this.id=n,this.field=i,this.conditionValue=a,this.conditionModifier=o}serialize(){return{id:this.id,type:this.field.type,fieldId:this.field.identifier,conditionValue:this.conditionValue!==void 0?this.modifiers[this.conditionModifier].modifier.serialize(this.conditionValue):void 0,conditionModifier:this.conditionModifier}}transformValue(t){return t}}const To=w.memo,Dt=To(function(r){const{ref:e,children:t,...n}=r,i=w.useCallback(a=>typeof t=="function"?f.jsxs(f.Fragment,{children:[t(a),f.jsx(v.Menu.SelectedIndicator,{className:"ml-[auto]",children:f.jsx(v.LuIcon,{icon:Re})})]}):f.jsxs(f.Fragment,{children:[t,f.jsx(v.Menu.SelectedIndicator,{className:"ml-[auto]",children:f.jsx(v.LuIcon,{icon:Re})})]}),[t]);return f.jsx(v.Menu.SelectItem,{ref:e,...n,children:i})}),Do=To(function(r){const{ref:e,children:t,...n}=r,i=w.useCallback(a=>typeof t=="function"?f.jsxs(f.Fragment,{children:[t(a),f.jsx(v.Menu.SelectedIndicator,{className:"ml-auto",children:f.jsx(v.LuIcon,{icon:Re})})]}):f.jsxs(f.Fragment,{children:[t,f.jsx(v.Menu.SelectedIndicator,{className:"ml-auto",children:f.jsx(v.LuIcon,{icon:Re})})]}),[t]);return f.jsx(v.Menu.MultiSelectItem,{ref:e,...n,children:i})}),_i=w.memo(r=>{const{ref:e,children:t,...n}=r,i=w.useCallback(a=>typeof t=="function"?f.jsxs(f.Fragment,{children:[t(a),f.jsx(v.Menu.CheckboxItemIndicator,{className:"ml-[auto]",children:o=>o?f.jsx(v.LuIcon,{icon:Sr}):f.jsx(v.LuIcon,{icon:Re})})]}):f.jsxs(f.Fragment,{children:[t,f.jsx(v.Menu.CheckboxItemIndicator,{className:"ml-[auto]",children:o=>o?f.jsx(v.LuIcon,{icon:Sr}):f.jsx(v.LuIcon,{icon:Re})})]}),[t]);return f.jsx(v.Menu.SelectAllItem,{ref:e,...n,children:i})});_i.displayName="SelectAllItemTemplate";const De=r=>{const{children:e,condition:t,size:n="sm",variant:i,accentColor:a,radius:o}=r,s=w.useCallback(l=>{t.setConditionModifier(l)},[t]);return f.jsxs(v.Menu.Root,{align:"start",children:[f.jsx(v.Menu.ClickTrigger,{children:e}),f.jsx(v.Menu.Content,{size:n,variant:i,radius:o,accentColor:a,children:f.jsx(v.Menu.SelectGroup,{required:!0,value:t.getConditionModifier(),onValueChange:s,children:t.getConditionModifiers().map(([l,u])=>f.jsx(Dt,{value:l,children:u.modifier.label},l))})})]})},jr=w.memo(r=>{const{children:e,open:t,onOpenChange:n,defaultOpen:i,modal:a,size:o,align:s,accentColor:l="base",...u}=r;return f.jsxs(v.Popover.Root,{open:t,onOpenChange:n,defaultOpen:i,modal:a,children:[f.jsx(v.Popover.Trigger,{asChild:!0,children:e}),f.jsx(v.Popover.Content,{size:o,align:s,children:f.jsx(v.DayPicker,{size:o,accentColor:l,...u})})]})});jr.displayName="DayPickerPopover";const Mo=w.memo(r=>{const{children:e,open:t,onOpenChange:n,defaultOpen:i,modal:a,size:o,accentColor:s="base",values:l,onValuesChange:u,placeholder:c="Enter text",...d}=r,[h,p]=w.useState(""),g=w.useCallback(_=>{p(_.target.value)},[]),x=w.useCallback(_=>{_.key==="Enter"&&(_.preventDefault(),_.stopPropagation(),u([...l,h]),p(""))},[h,u,l]),C=w.useCallback(()=>{u([...l,h]),p("")},[h,u,l]),m=w.useCallback(_=>{const S=[...l];S.splice(_,1),u(S)},[u,l]);return f.jsxs(v.Popover.Root,{open:t,onOpenChange:n,defaultOpen:i,modal:a,children:[f.jsx(v.Popover.Trigger,{asChild:!0,children:e}),f.jsx(v.Popover.Content,{size:o,onClick:v.stopPropagation,accentColor:s,...d,children:f.jsxs("div",{className:"flex flex-col gap-2",children:[f.jsxs("div",{className:"flex gap-2",children:[f.jsx(v.Input.Root,{className:"grow",accentColor:"base",variant:"outline",size:"sm",children:f.jsx(v.Input.Field,{value:h,onChange:g,onKeyDown:x,placeholder:c,...d})}),f.jsx(v.IconButton,{size:"sm",accentColor:"base",variant:"soft",type:"button",onClick:C,children:f.jsx(v.LuIcon,{icon:je})})]}),l.length>0&&f.jsx("div",{className:"flex flex-col gap-1",children:l.map((_,S)=>f.jsxs(v.Badge,{className:"flex items-center justify-between gap-2",accentColor:"base",size:"sm",variant:"soft",children:[f.jsx("span",{className:"truncate",children:_}),f.jsx(v.IconButton,{size:"xs",variant:"ghost",type:"button",accentColor:"base",onClick:()=>{m(S)},children:f.jsx(v.LuIcon,{icon:nt})})]},`${_}-${S}`))})]})})]})});Mo.displayName="NumberInputPopover";const Mt=w.memo(r=>{const{children:e,open:t,onOpenChange:n,defaultOpen:i,modal:a,size:o,accentColor:s="base",value:l,onValueChange:u,placeholder:c="Enter a number",...d}=r,[h,p]=w.useState(null);w.useEffect(()=>{l!==void 0&&p(l)},[l]);const g=w.useCallback(C=>{const m=C.target.valueAsNumber;p(isNaN(m)?null:m)},[]),x=w.useCallback(C=>{const m=C.target.valueAsNumber;u==null||u(isNaN(m)?null:m)},[u]);return f.jsxs(v.Popover.Root,{open:t,onOpenChange:n,defaultOpen:i,modal:a,children:[f.jsx(v.Popover.Trigger,{asChild:!0,children:e}),f.jsx(v.Popover.Content,{size:o,onClick:v.stopPropagation,...d,children:f.jsx(v.Input.Root,{size:o,accentColor:s,children:f.jsx(v.Input.Field,{placeholder:c,type:"number",value:h??"",onChange:g,onBlur:x})})})]})});Mt.displayName="NumberInputPopover";const Ne=r=>{const{condition:e,onClick:t,...n}=r,i=w.useCallback(()=>{t(e)},[e,t]);return f.jsx(v.IconButton,{onClick:i,...n,children:f.jsx(v.LuIcon,{icon:nt})})};Ne.displayName="RemoveConditionButton";const sr=w.memo(r=>{const{ref:e,selectFieldOptions:t,...n}=r,i=w.useMemo(()=>t.map(a=>typeof a=="string"?{value:a,label:a}:a),[t]);return f.jsxs(v.Menu.MultiSelectGroup,{ref:e,...n,children:[f.jsx(_i,{children:"Select all"}),i.map(a=>f.jsx(Do,{value:a.value,children:f.jsx("span",{className:"truncate",children:a.label})},a.value))]})});sr.displayName="SelectFieldOptionMultiSelectGroup";const Ai=w.memo(r=>{const{ref:e,selectFieldOptions:t,...n}=r,i=w.useMemo(()=>t.map(a=>typeof a=="string"?{value:a,label:a}:a),[t]);return f.jsx(v.Menu.SelectGroup,{ref:e,...n,children:i.map(a=>f.jsx(Dt,{value:a.value,children:f.jsx("span",{className:"truncate",children:a.label})},a.value))})});Ai.displayName="SelectFieldOptionSelectGroup";const jt=w.memo(r=>{const{children:e,open:t,onOpenChange:n,defaultOpen:i,modal:a,size:o,accentColor:s="base",value:l,onValueChange:u,placeholder:c="Enter text",...d}=r,[h,p]=w.useState(""),g=w.useCallback(C=>{p(C.target.value)},[]),x=w.useCallback(C=>{const m=C.target.value;u==null||u(m)},[u]);return w.useEffect(()=>{l&&p(l)},[l]),f.jsxs(v.Popover.Root,{open:t,onOpenChange:n,defaultOpen:i,modal:a,children:[f.jsx(v.Popover.Trigger,{asChild:!0,children:e}),f.jsx(v.Popover.Content,{size:o,onClick:v.stopPropagation,...d,children:f.jsx(v.Input.Root,{size:o,accentColor:s,children:f.jsx(v.Input.Field,{placeholder:c,type:"text",value:h,onChange:g,onBlur:x})})})]})});jt.displayName="TextInputPopover";const Fo=r=>{const{condition:e,onRemove:t}=r,n=e.getConditionValue(),i=e.getConditionModifier(),a=()=>{switch(n){case void 0:return"...";case!0:return"true";case!1:return"false";case null:return"empty"}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[e.field.type].icon}),f.jsx("span",{className:"truncate",children:e.field.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[i].modifier.label})}),f.jsxs(v.Menu.Root,{children:[f.jsx(v.Menu.ClickTrigger,{children:f.jsx(v.Button,{type:"button",className:"min-w-0 shrink-1 grow",children:a()})}),f.jsx(v.Menu.Content,{size:"sm",children:f.jsxs(v.Menu.SelectGroup,{required:!0,value:n,onValueChange:e.setConditionValue,children:[f.jsx(Dt,{value:!0,children:"true"}),f.jsx(Dt,{value:!1,children:"false"})]})})]}),f.jsx(Ne,{condition:e,onClick:t})]})},Vo={equals:V({modifier:go,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),notEquals:V({modifier:xo,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0})};class lr extends Oe{constructor(t){super(t);D(this,"modifiers",Vo)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=Vo[a];let l;return i!==void 0&&(l=s.modifier.deserialize(i)),new lr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(Fo,{condition:this,...t},this.id)}}const Po=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=w.useCallback(l=>{l.length>0?e.setConditionValue(l):e.setConditionValue(void 0)},[e]),s=()=>{if(i===void 0)return"...";if(i===null)return"empty";switch(i.length){case 0:return"...";default:return`${i.length} options`}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"soft",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"soft",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),f.jsxs(v.Menu.Root,{children:[f.jsx(v.Menu.ClickTrigger,{children:f.jsx(v.Button,{type:"button",className:"truncate",children:s()})}),f.jsx(v.Menu.Content,{size:"sm",children:f.jsx(sr,{values:i??[],selectFieldOptions:e.field.options,onValuesChange:o})})]}),f.jsx(Ne,{condition:e,onClick:t})]})},Bo={equals:V({modifier:$r,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),notEquals:V({modifier:Wr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),every:V({modifier:Hr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),some:V({modifier:qr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),none:V({modifier:Xr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0})};class ur extends Oe{constructor(t){super(t);D(this,"modifiers",Bo)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=Bo[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new ur({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(Po,{condition:this,...t},this.id)}}class Yr extends Zt{constructor(t){super();D(this,"conditions");D(this,"conditionObserver",()=>{this.conditions=[...this.conditions],this.notify(this)});D(this,"initConditions",t=>{for(const n of t)n.observe(this.conditionObserver);return t});this.conditions=this.initConditions(t)}getConditions(){return this.conditions}addCondition(t){this.conditions=this.initConditions([...this.conditions,t]),this.notify(this)}addConditions(t){this.conditions=this.initConditions([...this.conditions,...t]),this.notify(this)}removeCondition(t){this.conditions=this.initConditions(this.conditions.filter(n=>n.id!==t.id)),this.notify(this)}removeConditions(t){const n=new Set(t.map(i=>i.id));this.conditions=this.initConditions(this.conditions.filter(i=>!n.has(i.id))),this.notify(this)}applyConditions(t){return this.conditions.length===0?!0:this.conditions.map(i=>[i.getApplyFn(),i.accessorFn]).every(([i,a])=>i(a(t)))}}const sf=(r,e)=>w.useMemo(()=>{const t=new Yr(r);return t.observe(n=>e(n.getConditions())),t},[r,e]),Lo=r=>{const{condition:e,onRemove:t}=r,n=e.getConditionValue(),i=e.getConditionModifier(),a=()=>{var o,s;switch(i){case"equals":case"notEquals":{const l=e.modifiers.equals,u=n!==void 0&&l.isConditionValueValid(n)?n:void 0;return f.jsx(jr,{required:!1,size:"sm",mode:"single",selected:u??void 0,onSelect:c=>e.setConditionValue(c),children:f.jsx(v.Button,{type:"button",className:"truncate",children:u!==void 0?(u==null?void 0:u.toLocaleDateString())??"empty":"..."})})}case"before":case"after":{const l=e.modifiers.after,u=n!==void 0&&l.isConditionValueValid(n)?n:void 0;return f.jsx(jr,{required:!0,size:"sm",mode:"single",selected:u,onSelect:e.setConditionValue,children:f.jsx(v.Button,{type:"button",className:"truncate",children:u?u.toLocaleDateString():"..."})})}case"in":case"notIn":{const l=e.modifiers.in,u=n!==void 0&&l.isConditionValueValid(n)?n:void 0;return f.jsx(jr,{required:!0,mode:"range",size:"sm",selected:u,onSelect:e.setConditionValue,children:f.jsx(v.Button,{className:"truncate",children:u?`${(o=u.from)==null?void 0:o.toLocaleDateString()} - ${(s=u.to)==null?void 0:s.toLocaleDateString()}`:"..."})})}}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[e.field.type].icon}),f.jsx("span",{className:"truncate",children:e.field.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[i].modifier.label})}),a(),f.jsx(Ne,{condition:e,onClick:t})]})},zo={equals:V({modifier:yo,isValueValid:r=>r instanceof Date,isConditionValueValid:r=>r instanceof Date,isSerializedValueValid:r=>typeof r=="string"}),notEquals:V({modifier:Co,isValueValid:r=>r instanceof Date,isConditionValueValid:r=>r instanceof Date,isSerializedValueValid:r=>typeof r=="string"}),before:V({modifier:wo,isValueValid:r=>r instanceof Date,isConditionValueValid:r=>r instanceof Date,isSerializedValueValid:r=>typeof r=="string"}),after:V({modifier:mo,isValueValid:r=>r instanceof Date,isConditionValueValid:r=>r instanceof Date,isSerializedValueValid:r=>typeof r=="string"}),in:V({modifier:_o,isValueValid:r=>r instanceof Date,isConditionValueValid:r=>"to"in(r??{})&&"from"in(r??{}),isSerializedValueValid:r=>typeof r=="object"&&"to"in r&&"from"in r}),notIn:V({modifier:Ao,isValueValid:r=>r instanceof Date,isConditionValueValid:r=>"to"in(r??{})&&"from"in(r??{}),isSerializedValueValid:r=>typeof r=="object"&&"to"in r&&"from"in r})};class cr extends Oe{constructor(t){super(t);D(this,"modifiers",zo)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=zo[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new cr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(Lo,{condition:this,...t},this.id)}}const ko=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=w.useCallback(l=>{l.length>0?e.setConditionValue(l):e.setConditionValue(void 0)},[e]),s=()=>{if(i===void 0)return"...";if(i===null)return"empty";switch(i.length){case 0:return"...";default:return`${i.length} options`}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),f.jsxs(v.Menu.Root,{children:[f.jsx(v.Menu.ClickTrigger,{children:f.jsx(v.Button,{type:"button",className:"truncate",children:s()})}),f.jsx(v.Menu.Content,{size:"sm",children:f.jsx(sr,{values:i??[],selectFieldOptions:n.options,onValuesChange:o})})]}),f.jsx(Ne,{condition:e,onClick:t})]})},Ro={equals:V({modifier:$r,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),notEquals:V({modifier:Wr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),every:V({modifier:Hr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),some:V({modifier:qr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),none:V({modifier:Xr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0})};class dr extends Oe{constructor(t){super(t);D(this,"modifiers",Ro)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=Ro[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new dr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(ko,{condition:this,...t},this.id)}}const Ei=[],Uo=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=w.useCallback(l=>{e.setConditionValue(l.length>0?l:void 0)},[e]),s=()=>{if(i===void 0)return"...";if(i===null)return"empty";switch(i.length){case 0:return"...";case 1:return i[0].toString();default:return`${i.length} values`}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),f.jsx(Mo,{values:i??Ei,onValuesChange:o,children:f.jsx(v.Button,{type:"button",className:"truncate",children:s()})}),f.jsx(Ne,{condition:e,onClick:t})]})},Go={equals:V({modifier:$r,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),notEquals:V({modifier:Wr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),every:V({modifier:Hr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),some:V({modifier:qr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),none:V({modifier:Xr,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0})};class fr extends Oe{constructor(t){super(t);D(this,"modifiers",Go)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=Go[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new fr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(Uo,{condition:this,...t},this.id)}}const Ho=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=()=>{switch(a){case"equals":case"greaterThanOrEquals":case"lessThanOrEquals":case"greaterThan":case"lessThan":{const s=e.modifiers.greaterThan,l=i!==void 0&&s.isConditionValueValid(i)?i:void 0;return f.jsx(Mt,{value:l??null,onValueChange:u=>e.setConditionValue(u??void 0),size:"sm",children:f.jsx(v.Button,{type:"button",className:"truncate",children:l!==void 0?l??"empty":"..."})})}case"inRange":case"notInRange":{const s=e.modifiers.inRange,l=i!==void 0&&s.isConditionValueValid(i)?i:void 0;return f.jsxs(f.Fragment,{children:[f.jsx(Mt,{value:(l==null?void 0:l.from)??null,onValueChange:u=>{e.setConditionValue({from:u,to:(l==null?void 0:l.to)??null})},size:"sm",children:f.jsx(v.Button,{className:"truncate",children:(l==null?void 0:l.from)??"..."})}),f.jsx(Mt,{value:(l==null?void 0:l.to)??null,onValueChange:u=>{e.setConditionValue({from:(l==null?void 0:l.from)??null,to:u})},size:"sm",children:f.jsx(v.Button,{className:"truncate",children:(l==null?void 0:l.to)??"..."})})]})}}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),o(),f.jsx(Ne,{condition:e,onClick:t})]})},qo={equals:V({modifier:fi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),notEquals:V({modifier:hi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),lessThan:V({modifier:pi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),lessThanOrEquals:V({modifier:vi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),greaterThan:V({modifier:gi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),greaterThanOrEquals:V({modifier:xi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),inRange:V({modifier:yi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="object",isSerializedValueValid:r=>typeof r=="object"}),notInRange:V({modifier:Ci,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="object",isSerializedValueValid:r=>typeof r=="object"})};class hr extends Oe{constructor(t){super(t);D(this,"modifiers",qo)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=qo[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new hr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(Ho,{condition:this,...t},this.id)}}const Xo=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=()=>{switch(a){case"equals":case"notEquals":case"includes":case"excludes":return f.jsx(jt,{value:i??"",onValueChange:e.setConditionValue,size:"sm",children:f.jsx(v.Button,{type:"button",className:"min-w-0 shrink-1 grow",children:f.jsx("span",{className:"truncate",children:i||"..."})})})}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),o(),f.jsx(Ne,{condition:e,onClick:t})]})},$o={equals:V({modifier:dt,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),notEquals:V({modifier:ft,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),includes:V({modifier:$t,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),excludes:V({modifier:Wt,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0})};class pr extends Oe{constructor(t){super(t);D(this,"modifiers",$o)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=$o[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new pr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(Xo,{condition:this,...t},this.id)}}const Wo=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=()=>{switch(a){case"equals":case"notEquals":{const s=e.modifiers.equals,l=i!==void 0&&s.isConditionValueValid(i)?i:void 0;return f.jsxs(v.Menu.Root,{children:[f.jsx(v.Menu.ClickTrigger,{children:f.jsx(v.Button,{type:"button",className:"min-w-0 shrink-1 grow",children:f.jsx("span",{className:"truncate",children:l!==void 0?l?Ct[l].label:"empty":"..."})})}),f.jsx(v.Menu.Content,{size:"sm",children:f.jsx(v.Menu.SelectGroup,{required:!1,value:l,onValueChange:e.setConditionValue,children:Bt.map(u=>{const{label:c}=Ct[u];return f.jsx(Dt,{value:u,children:f.jsx("span",{className:"truncate",children:c})},u)})})})]})}case"includes":case"excludes":{const s=e.modifiers.includes,l=i!==void 0&&s.isConditionValueValid(i)?i:void 0;return f.jsxs(v.Menu.Root,{children:[f.jsx(v.Menu.ClickTrigger,{children:f.jsx(v.Button,{type:"button",children:l?`${l.length} statuses`:"..."})}),f.jsx(v.Menu.Content,{size:"sm",children:f.jsxs(v.Menu.MultiSelectGroup,{values:l??Ei,onValuesChange:e.setConditionValue,children:[f.jsx(_i,{children:"Select all"}),Bt.map(u=>{const{label:c,icon:d}=Ct[u];return f.jsxs(Do,{value:u,children:[f.jsx(v.LuIcon,{icon:d}),f.jsx("span",{className:"truncate",children:c})]},u)})]})})]})}}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),o(),f.jsx(Ne,{condition:e,onClick:t})]})},jo={equals:V({modifier:Io,isValueValid:r=>r!==null,isConditionValueValid:r=>typeof r=="string",isSerializedValueValid:r=>typeof r=="string"}),notEquals:V({modifier:Oo,isValueValid:r=>r!==null,isConditionValueValid:r=>typeof r=="string",isSerializedValueValid:r=>typeof r=="string"}),includes:V({modifier:No,isValueValid:r=>r!==null,isConditionValueValid:r=>Array.isArray(r),isSerializedValueValid:r=>Array.isArray(r)}),excludes:V({modifier:bo,isValueValid:r=>r!==null,isConditionValueValid:r=>Array.isArray(r),isSerializedValueValid:r=>Array.isArray(r)})};class vr extends Oe{constructor(t){super(t);D(this,"modifiers",jo)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=jo[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new vr({field:n,conditionModifier:a,conditionValue:l,...o})}transformValue(t){return t.status}render(t){return f.jsx(Wo,{condition:this,...t},this.id)}}const Yo=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=w.useMemo(()=>n.options.map(u=>typeof u=="string"?{value:u,label:u}:u),[n.options]),s=w.useMemo(()=>{const u={};for(const c of o)u[c.value]=c.label;return u},[o]),l=()=>{switch(a){case"equals":case"notEquals":{const u=e.modifiers.equals,c=i!==void 0&&u.isConditionValueValid(i)?i:void 0;return f.jsxs(v.Menu.Root,{children:[f.jsx(v.Menu.ClickTrigger,{children:f.jsx(v.Button,{type:"button",className:"min-w-0 shrink-1 grow",children:f.jsx("span",{className:"truncate",children:c!==void 0?c?s[c]:"empty":"..."})})}),f.jsx(v.Menu.Content,{size:"sm",children:f.jsx(Ai,{required:!0,selectFieldOptions:n.options,value:c??void 0,onValueChange:e.setConditionValue})})]})}case"includes":case"excludes":{const u=e.modifiers.includes,c=i!==void 0&&u.isConditionValueValid(i)?i:void 0;return f.jsxs(v.Menu.Root,{children:[f.jsx(v.Menu.ClickTrigger,{children:f.jsx(v.Button,{type:"button",children:c?`${c.length} options`:"..."})}),f.jsx(v.Menu.Content,{size:"sm",children:f.jsx(sr,{selectFieldOptions:n.options,values:c??Ei,onValuesChange:e.setConditionValue})})]})}}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),l(),f.jsx(Ne,{condition:e,onClick:t})]})},Zo={equals:V({modifier:dt,isValueValid:r=>typeof r=="string",isConditionValueValid:r=>!Array.isArray(r),isSerializedValueValid:r=>!Array.isArray(r)}),notEquals:V({modifier:ft,isValueValid:r=>typeof r=="string",isConditionValueValid:r=>!Array.isArray(r),isSerializedValueValid:r=>!Array.isArray(r)}),includes:V({modifier:wi,isValueValid:r=>typeof r=="string",isConditionValueValid:r=>Array.isArray(r),isSerializedValueValid:r=>Array.isArray(r)}),excludes:V({modifier:mi,isValueValid:r=>typeof r=="string",isConditionValueValid:r=>Array.isArray(r),isSerializedValueValid:r=>Array.isArray(r)})};class gr extends Oe{constructor(t){super(t);D(this,"modifiers",Zo)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=Zo[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new gr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(Yo,{condition:this,...t},this.id)}}const Ko=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=()=>{switch(a){case"equals":case"notEquals":case"greaterThanOrEquals":case"lessThanOrEquals":case"greaterThan":case"lessThan":{const s=e.modifiers[a],l=i!==void 0&&s.isConditionValueValid(i)?i:void 0;return f.jsx(Mt,{value:l??null,onValueChange:u=>e.setConditionValue(u??void 0),size:"sm",children:f.jsx(v.Button,{type:"button",className:"truncate",children:l!==void 0?l:"..."})})}case"inRange":case"notInRange":{const s=e.modifiers.inRange,l=i!==void 0&&s.isConditionValueValid(i)?i:void 0;return f.jsxs(f.Fragment,{children:[f.jsx(Mt,{value:(l==null?void 0:l.from)??null,onValueChange:u=>{e.setConditionValue({from:u,to:(l==null?void 0:l.to)??null})},size:"sm",children:f.jsx(v.Button,{className:"truncate",children:(l==null?void 0:l.from)??"..."})}),f.jsx(Mt,{value:(l==null?void 0:l.to)??null,onValueChange:u=>{e.setConditionValue({from:(l==null?void 0:l.from)??null,to:u})},size:"sm",children:f.jsx(v.Button,{className:"truncate",children:(l==null?void 0:l.to)??"..."})})]})}}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),o(),f.jsx(Ne,{condition:e,onClick:t})]})},Qo={equals:V({modifier:fi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),notEquals:V({modifier:hi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),lessThan:V({modifier:pi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),lessThanOrEquals:V({modifier:vi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),greaterThan:V({modifier:gi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),greaterThanOrEquals:V({modifier:xi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="number",isSerializedValueValid:r=>typeof r=="number"}),inRange:V({modifier:yi,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="object",isSerializedValueValid:r=>typeof r=="object"}),notInRange:V({modifier:Ci,isValueValid:r=>typeof r=="number",isConditionValueValid:r=>typeof r=="object",isSerializedValueValid:r=>typeof r=="object"})};class xr extends Oe{constructor(t){super(t);D(this,"modifiers",Qo)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=Qo[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new xr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(Ko,{condition:this,...t},this.id)}}const Jo=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=()=>{switch(a){case"equals":case"notEquals":case"includes":case"excludes":return f.jsx(jt,{value:i??"",onValueChange:e.setConditionValue,size:"sm",children:f.jsx(v.Button,{type:"button",className:"min-w-0 shrink-1 grow",children:f.jsx("span",{className:"truncate",children:i||"..."})})})}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),o(),f.jsx(Ne,{condition:e,onClick:t})]})},es={equals:V({modifier:dt,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),notEquals:V({modifier:ft,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),includes:V({modifier:$t,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),excludes:V({modifier:Wt,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0})};class yr extends Oe{constructor(t){super(t);D(this,"modifiers",es)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=es[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new yr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(Jo,{condition:this,...t},this.id)}}const ts=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=w.useMemo(()=>n.options.map(c=>typeof c=="string"?{value:c,label:c}:c),[n.options]),s=w.useMemo(()=>{const c={};for(const d of o)c[d.value]=d.label;return c},[o]),l=w.useCallback(c=>{c.length>0?e.setConditionValue(c):e.setConditionValue([])},[e]),u=()=>{switch(a){case"equals":case"notEquals":{const c=e.modifiers.equals,d=i!==void 0&&c.isConditionValueValid(i)?i:void 0;return f.jsxs(v.Menu.Root,{children:[f.jsx(v.Menu.ClickTrigger,{children:f.jsx(v.Button,{type:"button",className:"min-w-0 shrink-1 grow",children:f.jsx("span",{className:"truncate",children:d!==void 0?d?s[d]:"empty":"..."})})}),f.jsx(v.Menu.Content,{size:"sm",children:f.jsx(Ai,{required:!1,selectFieldOptions:n.options,value:d??void 0,onValueChange:e.setConditionValue})})]})}case"includes":case"excludes":{const c=e.modifiers.includes,d=i!==void 0&&c.isConditionValueValid(i)?i:void 0;return f.jsxs(v.Menu.Root,{children:[f.jsx(v.Menu.ClickTrigger,{children:f.jsx(v.Button,{type:"button",children:d?`${d.length} options`:"..."})}),f.jsx(v.Menu.Content,{size:"sm",children:f.jsx(sr,{selectFieldOptions:n.options,values:d??[],onValuesChange:l})})]})}}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),u(),f.jsx(Ne,{condition:e,onClick:t})]})},rs={equals:V({modifier:dt,isValueValid:r=>typeof r=="string",isConditionValueValid:r=>!Array.isArray(r),isSerializedValueValid:r=>!Array.isArray(r)}),notEquals:V({modifier:ft,isValueValid:r=>typeof r=="string",isConditionValueValid:r=>!Array.isArray(r),isSerializedValueValid:r=>!Array.isArray(r)}),includes:V({modifier:wi,isValueValid:r=>typeof r=="string",isConditionValueValid:r=>Array.isArray(r),isSerializedValueValid:r=>Array.isArray(r)}),excludes:V({modifier:mi,isValueValid:r=>typeof r=="string",isConditionValueValid:r=>Array.isArray(r),isSerializedValueValid:r=>Array.isArray(r)})};class Cr extends Oe{constructor(t){super(t);D(this,"modifiers",rs)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=rs[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new Cr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(ts,{condition:this,...t},this.id)}}const ns=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=()=>{switch(a){case"equals":case"notEquals":case"includes":case"excludes":return f.jsx(jt,{value:i??"",onValueChange:e.setConditionValue,size:"sm",children:f.jsx(v.Button,{type:"button",className:"min-w-0 shrink-1 grow",children:f.jsx("span",{className:"truncate",children:i||"..."})})})}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),o(),f.jsx(Ne,{condition:e,onClick:t})]})},is={equals:V({modifier:dt,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),notEquals:V({modifier:ft,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),includes:V({modifier:$t,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),excludes:V({modifier:Wt,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0})};class wr extends Oe{constructor(t){super(t);D(this,"modifiers",is)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=is[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new wr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(ns,{condition:this,...t},this.id)}}const as=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=()=>{switch(a){case"equals":case"notEquals":case"includes":case"excludes":return f.jsx(jt,{value:i??"",onValueChange:e.setConditionValue,size:"sm",children:f.jsx(v.Button,{type:"button",className:"min-w-0 shrink-1 grow",children:f.jsx("span",{className:"truncate",children:i||"..."})})})}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),o(),f.jsx(Ne,{condition:e,onClick:t})]})},os={equals:V({modifier:dt,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),notEquals:V({modifier:ft,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),includes:V({modifier:$t,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),excludes:V({modifier:Wt,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0})};class mr extends Oe{constructor(t){super(t);D(this,"modifiers",os)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=os[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new mr({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(as,{condition:this,...t},this.id)}}const ss=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=()=>{switch(i){case void 0:return"...";case!0:return"true";case!1:return"false";case null:return"empty"}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),f.jsxs(v.Menu.Root,{children:[f.jsx(v.Menu.ClickTrigger,{children:f.jsx(v.Button,{type:"button",className:"min-w-0 shrink-1 grow",children:o()})}),f.jsx(v.Menu.Content,{size:"sm",children:f.jsxs(v.Menu.SelectGroup,{required:!0,value:i,onValueChange:e.setConditionValue,children:[f.jsx(Dt,{value:!0,children:"empty"}),f.jsx(Dt,{value:!1,children:"not empty"})]})})]}),f.jsx(Ne,{condition:e,onClick:t})]})},ls={equals:V({modifier:Eo,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),notEquals:V({modifier:So,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0})};class _r extends Oe{constructor(t){super(t);D(this,"modifiers",ls)}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=ls[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new _r({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(ss,{condition:this,...t},this.id)}}const us=r=>{const{condition:e,onRemove:t}=r,n=e.field,i=e.getConditionValue(),a=e.getConditionModifier(),o=()=>{switch(a){case"equals":case"notEquals":case"includes":case"excludes":return f.jsx(jt,{value:i??"",onValueChange:e.setConditionValue,size:"sm",children:f.jsx(v.Button,{type:"button",className:"min-w-0 shrink-1 grow",children:f.jsx("span",{className:"truncate",children:i||"..."})})})}};return f.jsxs(v.ButtonGroup,{className:"flex w-max max-w-full min-w-0 gap-0.5",size:"sm",variant:"fill",accentColor:"base",children:[f.jsxs(v.Badge,{className:"min-w-0 shrink-1",size:"sm",variant:"fill",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:ue[n.type].icon}),f.jsx("span",{className:"truncate",children:n.label||me})]}),f.jsx(De,{condition:e,children:f.jsx(v.Button,{type:"button",children:e.modifiers[a].modifier.label})}),o(),f.jsx(Ne,{condition:e,onClick:t})]})},cs={equals:V({modifier:dt,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),notEquals:V({modifier:ft,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),includes:V({modifier:$t,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0}),excludes:V({modifier:Wt,isValueValid:r=>!0,isConditionValueValid:r=>!0,isSerializedValueValid:r=>!0})};class Ar extends Oe{constructor(t){super(t);D(this,"modifiers",cs)}transformValue(t){return(t==null?void 0:t.toString())??""}static deserialize(t,n){const{conditionValue:i,conditionModifier:a,...o}=t,s=cs[a],l=i!==void 0&&s.isSerializedValueValid(i)?s.modifier.deserialize(i):void 0;return new Ar({field:n,conditionModifier:a,conditionValue:l,...o})}render(t){return f.jsx(us,{condition:this,...t},this.id)}}const lf={date:cr,number:hr,boolean:lr,select:Cr,string:wr,url:Ar,text:mr,upload:_r,qr:yr,"multi-string":fr,"multi-select":dr,radio:gr,"checkbox-list":ur,"pass-fail":vr,otp:pr,rating:xr},ds=(r,e)=>{if(r.type!==e.type)throw new Error(`field and condition type mismatch ${r.type} !== ${e.type}`);return lf[e.type].deserialize(e,r)},Si=(r,e)=>{const t=Ii(r,e),n={};for(const i of r)n[i.identifier]=i;return t.map(i=>ds(n[i.fieldId],i))},fs=(r,e)=>Oi(r,e).map(n=>n.serialize()),Ii=(r,e)=>{const t=new Set(r.map(n=>n.identifier));return e.filter(n=>t.has(n.fieldId))},Oi=(r,e)=>{const t=new Set(r.map(n=>n.identifier));return e.filter(n=>t.has(n.field.identifier))},Zr=r=>ci[r.type].deserialize(r);function uf(r){return r.map(hs)}const hs=r=>r.type==="section"?Ue.deserialize(r):Zr(r);function cf(r){return r.map(Zr)}function df(r){const e=[];for(const t of r)if(t instanceof Ue)for(const n of t.getFields())e.push(n);else e.push(t);return e}function ff(r){const e={};for(const t of r)e[t.identifier]=t;return e}function ps(r,e,t=!0){const n=t?Kr(r,e):e,i={};for(const a of r){if(!(a.identifier in n))continue;const o=n[a.identifier];i[a.identifier]=a.serializeValue(o)}return i}function vs(r,e,t=!0){const n=t?Ni(r,e):e,i={};for(const a of r){if(!(a.identifier in n))continue;const o=n[a.identifier];i[a.identifier]=a.deserializeValue(o)}return i}function Kr(r,e){const t={};for(const n of r){if(!(n.identifier in e))continue;const i=e[n.identifier];n.isValue(i)&&(t[n.identifier]=n.cleanValue(i))}return t}function Ni(r,e){const t={};for(const n of r){if(!(n.identifier in e))continue;const i=e[n.identifier];n.isSerializedValue(i)&&(t[n.identifier]=n.cleanSerializedValue(i))}return t}function gs(r,e){const t=Kr(r,e),n={},i={};for(const a of r){if(!(a.identifier in t))continue;const o=t[a.identifier];switch(a.type){case"upload":if(!a.isValue(o))break;i[a.identifier]=o,n[a.identifier]=[];break;case"pass-fail":if(!a.isValue(o))break;i[a.identifier]=o.files,n[a.identifier]={...o,files:[]};break;default:n[a.identifier]=e[a.identifier]}}return[n,i]}function xs(r,e,t){const n={};for(const i of r){if(!(i.identifier in e))continue;const a=e[i.identifier];switch(i.type){case"upload":if(!i.isValue(a))break;n[i.identifier]=t[i.identifier]??[];break;case"pass-fail":if(!i.isValue(a))break;n[i.identifier]={...a,files:t[i.identifier]??[]};break;default:if(!i.isValue(a))break;n[i.identifier]=a}}return n}const ys=(r,e)=>{const t={};for(const n of r){const i=e[n.identifier];t[n.identifier]=i!==void 0?i:n.blankValue()}return t},Cs=(r,e,t)=>{const n={};for(const i of r){const a=e[i.identifier],o=t[i.identifier];i.areValuesEqual(a,o)||(n[i.identifier]=o)}return n},ws=(r,e,t)=>{const n={};for(const i of r){const a=e[i.identifier],o=t[i.identifier];i.areValuesEqual(a,o)&&(n[i.identifier]=o)}return n},bi=(r,e,t)=>r.every(n=>{const i=e[n.identifier],a=t[n.identifier];return n.areValuesEqual(i,a)}),Ti=r=>{const e={};for(const t of r)e[t.identifier]=t.blankValue();return e},ms=(r,e)=>bi(r,e,Ti(r)),hf=$e.cva(["flex","flex-col"],{variants:{size:{xs:["gap-2"],sm:["gap-4"],md:["gap-6"],lg:["gap-8"],xl:["gap-10"]}}}),Qr=$e.cva(["flex","flex-col"],{variants:{size:{xs:["gap-2"],sm:["gap-4"],md:["gap-6"],lg:["gap-8"],xl:["gap-10"]}}}),Di=w.memo(r=>{const{fieldSection:e}=r,{label:t,description:n}=e,i=We.useWatch(),{fieldSchema:a,size:o}=w.use(ce),s=w.useMemo(()=>a.getFieldSections(),[a]),l=w.useMemo(()=>s.findIndex(({identifier:h})=>h===e.identifier),[s,e.identifier]),u=w.useMemo(()=>s.filter(h=>e.identifier in h.conditions),[s,e.identifier]),c=w.useMemo(()=>u.length===0?!0:u.some(h=>{const p=h.getConditions(e.identifier);return new Yr(p).applyConditions(i)}),[u,e,i]),d=Or(e.fields);return c?f.jsxs(f.Fragment,{children:[l!==0?f.jsx(v.Separator,{size:"full"}):null,f.jsxs("div",{className:"flex flex-col gap-4",children:[(t||n)&&f.jsx(f.Fragment,{children:f.jsxs("div",{className:"flex flex-col gap-1",children:[f.jsx(v.Heading,{size:o,children:t}),n&&f.jsx(v.Text,{accentColor:"base",size:o,children:n})]})}),f.jsx("div",{className:Qr({size:o}),children:d})]})]}):null});Di.displayName="FieldSectionLayout";const Er=class Er extends sn{constructor(t){const{label:n=null,description:i=null,fields:a,conditions:o={},...s}=t;super(s);D(this,"type","section");D(this,"label");D(this,"description");D(this,"conditions");D(this,"fields",[]);D(this,"fieldObserver",()=>{this.notify(this)});D(this,"initFields",t=>{for(const n of t)n.observe(this.fieldObserver);return t});D(this,"conditionObserver",()=>{this.notify(this)});D(this,"initConditions",t=>{for(const n of Object.values(t).flat())n.observe(this.conditionObserver);return t});this.label=n,this.description=i,this.fields=this.initFields(a),this.conditions=this.initConditions(o)}serialize(){const t={};for(const[n,i]of Object.entries(this.conditions))t[n]=i.map(a=>a.serialize());return{...super.serialize(),label:this.label,description:this.description,conditions:t,fields:this.fields.map(n=>n.serialize())}}getOptions(){return{...super.getOptions(),label:this.label,description:this.description,fields:this.fields,conditions:this.conditions}}duplicate(t){return new Er({...this.getOptions(),identifier:t,fields:this.fields.map(n=>n.duplicate(R.v4()))})}setOptions(t){const{label:n,description:i,fields:a,conditions:o,...s}=t;this.label=n??this.label,this.description=i??this.description,this.fields=a||this.fields,this.conditions=o||this.conditions,super.setOptions(s)}getErrors(t){const n={};for(const i of this.fields){const a=i.getError(t[i.identifier]);a&&(n[i.identifier]=a)}return n}getFields(){return this.fields}addField(t,n){const i=[...this.fields];i.splice(n??this.fields.length,0,t),this.fields=this.initFields(i),this.notify(this)}moveField(t,n){const i=[...this.fields],[a]=i.splice(t,1);i.splice(n,0,a),this.fields=i,this.notify(this)}removeField(t){this.fields=this.initFields(this.fields.filter(({identifier:i})=>i!==t.identifier));const n={};for(const[i,a]of Object.entries(this.conditions))n[i]=a.filter(o=>o.field.identifier!==t.identifier);this.conditions=n,this.notify(this)}getConditions(t){return this.conditions[t]}addCondition(t,n){this.conditions=this.initConditions({...this.conditions,[t]:[...this.conditions[t]??[],n]}),this.notify(this)}addConditions(t,n){this.conditions=this.initConditions({...this.conditions,[t]:[...this.conditions[t]??[],...n]}),this.notify(this)}removeCondition(t,n){this.conditions=this.initConditions({...this.conditions,[t]:(this.conditions[t]??[]).filter(i=>i.id!==n.id)}),this.notify(this)}removeConditions(t,n){const i=new Set(n.map(a=>a.id));this.conditions=this.initConditions({...this.conditions,[t]:(this.conditions[t]??[]).filter(a=>!i.has(a.id))}),this.notify(this)}getConditionals(){return new Set(Object.keys(this.conditions))}addConditional(t){this.conditions=this.initConditions({...this.conditions,[t]:[]}),this.notify(this)}removeConditional(t){const n={...this.conditions};delete n[t],this.conditions=this.initConditions(n),this.notify(this)}render(){return f.jsx(Di,{fieldSection:this})}};D(Er,"deserialize",t=>{const n=t.fields.map(Zr),i={};for(const[a,o]of Object.entries(t.conditions))i[a]=Si(n,o);return new Er({...t,fields:n,conditions:i})});let Ue=Er;const tt=w.createContext({}),Jr=w.memo(r=>{const{children:e,variant:t,size:n,accentColor:i,onSelectFieldType:a,...o}=r,s=w.useMemo(()=>{const l={[j.Assessment]:[],[j.Capture]:[],[j.Numeric]:[],[j.Selection]:[],[j.Temporal]:[],[j.Text]:[],[j.Verification]:[]};for(const u of fo){const{group:c}=ue[u];l[c].push(u)}return l},[]);return f.jsxs(v.Menu.Root,{...o,children:[f.jsx(v.Menu.ClickTrigger,{children:e}),f.jsx(v.Menu.Content,{variant:t,size:n,accentColor:i,children:f.jsx(v.Menu.Scroll,{children:Object.entries(s).map(([l,u])=>{const{name:c}=ho[l];return u.length===0?null:f.jsxs(v.Menu.Group,{children:[f.jsx(v.Menu.Label,{children:c}),u.map(d=>{const{icon:h,name:p}=ue[d];return f.jsxs(v.Menu.Item,{onSelect:()=>a(d),children:[f.jsx(v.LuIcon,{icon:h}),f.jsx(v.Text,{className:"truncate",children:p})]},d)})]},l)})})})]})});Jr.displayName="CreateFieldDropdownMenu";const en=r=>{switch(r){case"text":return new bt({label:"",required:!1,identifier:R.v4()});case"boolean":return new gt({label:"",required:!1,identifier:R.v4()});case"number":return new Me({label:"",required:!1,identifier:R.v4()});case"date":return new Pt({label:"",required:!1,identifier:R.v4()});case"string":return new Nt({label:"",required:!1,identifier:R.v4()});case"url":return new qt({label:"",required:!1,identifier:R.v4()});case"select":return new it({label:"",options:[],required:!1,identifier:R.v4()});case"multi-string":return new vt({label:"",required:!1,identifier:R.v4()});case"multi-select":return new rt({label:"",options:[],required:!1,identifier:R.v4()});case"upload":return new Tt({label:"",required:!1,identifier:R.v4(),maximum_files:6,maximum_size:Xt});case"qr":return new Ht({label:"",required:!1,identifier:R.v4()});case"radio":return new mt({label:"",options:[],required:!1,identifier:R.v4()});case"checkbox-list":return new xt({label:"",options:[],required:!1,identifier:R.v4()});case"pass-fail":return new wt({label:"",required:!1,identifier:R.v4(),showNotesAndFilesOn:["fail"]});case"otp":return new yt({label:"",validationType:"none",required:!1,identifier:R.v4(),length:6});case"rating":return new _t({label:"",required:!1,identifier:R.v4(),maxRating:5})}},Mi=r=>{switch(r.type){case"text":return new mr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"boolean":return new lr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"number":return new hr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"date":return new cr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"string":return new wr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"url":return new Ar({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"select":return new Cr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"multi-string":return new fr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"multi-select":return new dr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"upload":return new _r({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"qr":return new yr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"radio":return new gr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"checkbox-list":return new ur({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"pass-fail":return new vr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"otp":return new pr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r});case"rating":return new xr({id:R.v4(),conditionValue:void 0,conditionModifier:"equals",field:r})}},_s=(r,e)=>{switch(r){case"checkbox-list":return xt.getFieldCreationSchema(e);case"multi-select":return rt.getFieldCreationSchema(e);case"number":return Me.getFieldCreationSchema(e);case"radio":return mt.getFieldCreationSchema(e);case"select":return it.getFieldCreationSchema(e);case"string":return Nt.getFieldCreationSchema(e);case"text":return bt.getFieldCreationSchema(e);case"upload":return Tt.getFieldCreationSchema(e);case"pass-fail":return wt.getFieldCreationSchema(e);case"otp":return yt.getFieldCreationSchema(e);case"rating":return _t.getFieldCreationSchema(e);default:return}},As=w.memo(r=>{const{popoverInputs:e,...t}=r;return f.jsxs(v.Popover.Root,{children:[f.jsx(v.Popover.Trigger,{asChild:!0,children:f.jsxs(v.Button,{variant:"soft",type:"button",size:"sm",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:hl}),"Settings"]})}),f.jsx(v.Popover.Content,{size:"sm",...t,children:f.jsx("div",{className:$e.cx("flex w-full max-w-[350px] flex-col",Qr({size:"sm"})),children:e})})]})});As.displayName="FieldSettingsPopover";const Es=w.memo(r=>{const{parentPath:e,fieldIndex:t,field:n}=r,i=Ir(),{disableRequiredFields:a}=w.use(tt),[o,s]=w.useState(void 0);w.useEffect(()=>{n.image instanceof Promise?n.image.then(s).catch(console.error):s(n.image)},[n]);const l=w.useCallback(()=>{n.setOptions({image:void 0})},[n]),[u,c]=w.useMemo(()=>{const m=[],_=[],S=_s(n.type,`${e}.${t}`)??[];for(const E of S)E.showDirectly?m.push(E.field):_.push(E.field);return[m,_]},[n,e,t]),d=Or(u),h=Or(c),p=c.length>0,g=w.useCallback(()=>{o&&i(()=>({file:o}))},[i,o]),{icon:x,name:C}=ue[n.type];return f.jsxs("div",{className:"flex grow w-full flex-col gap-4",children:[f.jsxs("div",{className:"flex gap-2 w-full justify-between",children:[f.jsxs("div",{className:"flex gap-2 items-center",children:[f.jsxs(v.Badge,{accentColor:"base",variant:"soft",size:"sm",children:[f.jsx(v.LuIcon,{icon:x}),C]}),!a&&f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx(v.Checkbox.Root,{checked:n.required,onCheckedChange:m=>n.setOptions({required:!!m}),size:"sm",children:f.jsx(v.Checkbox.Indicator,{children:f.jsx(v.LuIcon,{icon:Re})})}),f.jsx(v.Text,{size:"sm",accentColor:"base",children:"Required"})]})]}),p&&f.jsx(As,{popoverInputs:h,align:"end"})]}),o&&f.jsxs("div",{className:"group relative inline-block w-full min-w-[300px]",children:[f.jsx(Vt,{className:"h-[100px] w-full min-w-[300px] cursor-pointer rounded-md object-cover",file:o,onClick:g}),f.jsx(v.IconButton,{type:"button",className:"absolute top-2 right-2 hidden group-hover:not-disabled:flex",variant:"solid",accentColor:"base","aria-label":"delete",onClick:l,size:"sm",children:f.jsx(v.LuIcon,{icon:pt})})]}),f.jsxs("div",{className:"flex flex-col gap-2 w-full overflow-hidden",children:[f.jsx(v.Input.Root,{variant:"outline",size:"md",children:f.jsx(v.Input.Field,{placeholder:"Enter your question",value:n.label??"",onChange:m=>n.setOptions({label:m.target.value}),maxLength:200})}),f.jsx(v.TextArea,{className:"field-sizing-content",placeholder:"Enter a field description (optional)",value:n.description??"",onChange:m=>n.setOptions({description:m.target.value}),maxLength:1e3,resize:"vertical",size:"md"})]}),u.length>0&&f.jsx("div",{className:$e.cx("w-full",Qr({size:"sm"})),children:d})]})});Es.displayName="FieldBuilder";const Fi=w.memo(r=>{const{field:e,fieldSection:t,fieldIndex:n,sectionIndex:i}=r,a=w.useRef(null),o=`fields.${i}.fields`,s=w.useCallback(x=>{t.addField(en(x),n+1)},[n,t]),l=w.useCallback(()=>{t.addField(e.duplicate(R.v4()))},[e,t]),u=w.useCallback(x=>{const C=x==="up"?i-1:i+1;t.moveField(n,C)},[t,n,i]),c=w.useCallback(x=>{const{files:C}=x.target;if(!C||C.length!==1)return;const m=C.item(0);if(m){if(m.size>vo){v.toast.error({title:"File upload error",description:`The file ${m.name} exceeded the maximum file size`});return}e.setOptions({image:m})}},[e]),d=w.useCallback(()=>{u("up")},[u]),h=w.useCallback(()=>{u("down")},[u]),p=w.useCallback(()=>{var x;(x=a.current)==null||x.click()},[]),g=w.useCallback(()=>{t.removeField(e)},[e,t]);return f.jsxs(v.Card,{className:"flex items-center justify-between gap-4 w-full",size:"sm",children:[f.jsx(Es,{fieldIndex:n,field:e,parentPath:o}),f.jsxs(v.ButtonGroup,{className:"flex-col gap-0.5 flex",variant:"ghost",accentColor:"base",size:"sm",children:[f.jsx(Jr,{onSelectFieldType:s,size:"sm",children:f.jsx(v.IconButton,{type:"button",children:f.jsx(v.LuIcon,{icon:je})})}),f.jsx(v.IconButton,{type:"button",onClick:d,children:f.jsx(v.LuIcon,{icon:ta})}),f.jsx(v.IconButton,{type:"button",onClick:h,children:f.jsx(v.LuIcon,{icon:ea})}),f.jsx(v.IconButton,{type:"button",onClick:l,children:f.jsx(v.LuIcon,{icon:nn})}),f.jsx(v.IconButton,{type:"button",onClick:p,children:f.jsx(v.LuIcon,{icon:Qi})}),f.jsx(v.IconButton,{type:"button",onClick:g,children:f.jsx(v.LuIcon,{icon:pt})})]}),f.jsx("input",{className:"hidden",ref:a,type:"file",accept:"image/*",onChange:c})]})});Fi.displayName="FieldBuilderWithActions";const Vi=w.memo(r=>{const{children:e,variant:t,size:n,accentColor:i,fields:a,onSelectField:o,...s}=r;return f.jsxs(v.Menu.Root,{...s,children:[f.jsx(v.Menu.ClickTrigger,{children:e}),f.jsx(v.Menu.Content,{variant:t,size:n,accentColor:i,children:f.jsx(v.Menu.Scroll,{children:a.map(l=>f.jsxs(v.Menu.Item,{onSelect:()=>o(l),children:[f.jsx(v.LuIcon,{icon:ue[l.type].icon}),l.label||me]},l.identifier))})})]})});Vi.displayName="IssueDataFilterMenu";const Ss=w.memo(r=>{const{children:e,variant:t,size:n,accentColor:i,fieldSections:a,onSelectFieldCondition:o,...s}=r;return f.jsxs(v.Menu.Root,{...s,children:[f.jsx(v.Menu.ClickTrigger,{children:e}),f.jsx(v.Menu.Content,{variant:t,size:n,accentColor:i,children:a.map(l=>f.jsxs(v.Menu.Item,{onSelect:()=>o(l),children:[f.jsx(v.LuIcon,{icon:Ji}),l.label||di]},l.identifier))})]})});Ss.displayName="IssueDataFilterMenu";const Is=w.memo(r=>{const{id:e,sourceX:t,sourceY:n,targetX:i,targetY:a,style:o,markerEnd:s,data:l}=r,{targetSection:u,sourceSection:c,layoutDirection:d}=l,h=w.useMemo(()=>c.getConditions(u.identifier),[c,u.identifier]),p=w.useCallback(()=>{c.removeConditional(u.identifier)},[c,u.identifier]),g=w.useCallback(S=>{c.addCondition(u.identifier,Mi(S))},[c,u.identifier]),x=w.useCallback(S=>{c.removeCondition(u.identifier,S)},[c,u.identifier]),[C,m,_]=le.getBezierPath({sourceX:t,sourceY:n,sourcePosition:d==="LR"?le.Position.Right:le.Position.Bottom,targetX:i,targetY:a,targetPosition:d==="LR"?le.Position.Left:le.Position.Top});return f.jsxs(f.Fragment,{children:[f.jsx(le.BaseEdge,{id:e,path:C,style:o,markerEnd:s,labelX:m,labelY:_}),f.jsx(le.EdgeLabelRenderer,{children:f.jsxs(v.Card,{size:"xs",variant:"surface",className:"absolute nodrag nopan pointer-events-auto inline-flex flex-col gap-2 bg-(--base-2)",onMouseDown:S=>S.stopPropagation(),onClick:S=>S.stopPropagation(),"data-floating-content":"",style:{transform:`translate(-50%, -50%) translate(${m}px, ${_}px)`},children:[f.jsxs("div",{className:"flex items-center gap-2",children:[f.jsx(v.Text,{size:"xs",className:"truncate max-w-[280px]",children:c.label||"Untitled section"}),f.jsxs("div",{className:"ml-auto flex items-center gap-1",children:[f.jsx(Vi,{fields:c.fields,onSelectField:g,children:f.jsx(v.IconButton,{"aria-label":"Add condition",type:"button",variant:"surface",size:"xs",accentColor:"base",children:f.jsx(v.LuIcon,{icon:je})})}),f.jsxs(v.Tooltip.Root,{children:[f.jsx(v.Tooltip.Trigger,{asChild:!0,children:f.jsx(v.IconButton,{"aria-label":"Remove conditional logic",type:"button",variant:"surface",size:"xs",accentColor:"base",color:"danger",onClick:p,children:f.jsx(v.LuIcon,{icon:pt})})}),f.jsx(v.Tooltip.Content,{size:"sm",children:"Remove conditional logic"})]})]})]}),h.length>0&&f.jsx("div",{className:"flex flex-col h-max w-full flex-wrap gap-1",children:h.map(S=>f.jsx(w.Fragment,{children:S.render({onRemove:x})},S.id))})]})})]})});Is.displayName="FieldSectionConditionEdgeComponent";const Os=w.memo(r=>{const{data:e,selected:t}=r,{fieldSection:n,index:i,layoutDirection:a}=e,{fieldSchema:o}=w.use(tt),s=w.useCallback(()=>{o.removeFieldSection(n)},[o,n]),l=w.useCallback(d=>{n.addField(en(d))},[n]),u=w.useCallback(()=>{const d=new Ue({identifier:R.v4(),fields:[]});o.addFieldSection(d),n.addConditional(d.identifier)},[o,n]),c=w.useCallback(()=>{o.addFieldSection(n.duplicate(R.v4()))},[o,n]);return f.jsxs(v.Card,{variant:"surface",className:"cursor-pointer relative bg-(--base-2)",size:"sm","data-selected":t?"true":void 0,children:[f.jsxs("div",{className:"flex flex-col gap-3",children:[f.jsxs("div",{className:"flex flex-col gap-2 w-full overflow-hidden",children:[f.jsx(v.Input.Root,{variant:"outline",size:"md",accentColor:"base",children:f.jsx(v.Input.Field,{placeholder:"Enter a section label (optional)",value:n.label??"",onChange:d=>n.setOptions({label:d.target.value}),maxLength:200})}),f.jsx(v.TextArea,{className:"field-sizing-content",placeholder:"Enter a section description (optional)",value:n.description??"",onChange:d=>n.setOptions({description:d.target.value}),maxLength:1e3,resize:"vertical",size:"md"})]}),f.jsxs("div",{className:"flex items-center justify-between",children:[f.jsx(v.Text,{weight:"bold",children:"Fields"}),f.jsx(Jr,{onSelectFieldType:l,size:"sm",children:f.jsxs(v.Button,{type:"button",variant:"soft",size:"sm",accentColor:"base",children:[f.jsx(v.LuIcon,{icon:je})," Add field"]})})]}),f.jsx("div",{className:"flex flex-col gap-3",children:n.fields.map((d,h)=>f.jsx(Fi,{field:d,fieldSection:n,fieldIndex:h,sectionIndex:i},d.identifier))})]}),f.jsx(le.NodeToolbar,{isVisible:!0,position:le.Position.Right,align:"start",offset:8,onMouseDown:d=>d.stopPropagation(),children:f.jsx(v.Card,{variant:"surface",className:"flex flex-col items-center gap-1 p-1 bg-(--base-2)",size:"xs",onClick:d=>d.stopPropagation(),children:f.jsxs(v.ButtonGroup,{className:"flex flex-col gap-2",variant:"surface",size:"xs",accentColor:"base",children:[f.jsx(v.IconButton,{type:"button",onClick:u,children:f.jsx(v.LuIcon,{icon:il})}),f.jsx(v.IconButton,{type:"button",onClick:c,children:f.jsx(v.LuIcon,{icon:nn})}),f.jsx(v.IconButton,{type:"button",onClick:s,children:f.jsx(v.LuIcon,{icon:pt})})]})})}),f.jsx(le.Handle,{type:"target",className:"size-4! bg-(--base-3)! border-(--base-7)!",position:a==="LR"?le.Position.Left:le.Position.Top}),f.jsx(le.Handle,{type:"source",className:"size-4! bg-(--base-3)! border-(--base-7)!",position:a==="LR"?le.Position.Right:le.Position.Bottom})]})});Os.displayName="CustomNode";const pf={fieldSection:Os},vf={fieldSectionCondition:Is},gf=(r,e,t)=>{const n=new Gi.graphlib.Graph().setDefaultEdgeLabel(()=>({}));return n.setGraph({rankdir:t,nodesep:200,edgesep:500,ranksep:500}),e.forEach(i=>n.setEdge(i.source,i.target,{width:500,height:200,labelpos:"c"})),r.forEach(i=>{var a,o;return n.setNode(i.id,{...i,width:((a=i.measured)==null?void 0:a.width)??0,height:((o=i.measured)==null?void 0:o.height)??0})}),Gi.layout(n),[r.map(i=>{var l,u;const a=n.node(i.id),o=a.x-(((l=i.measured)==null?void 0:l.width)??0)/2,s=a.y-(((u=i.measured)==null?void 0:u.height)??0)/2;return{...i,position:{x:o,y:s}}}),e]},xf={hideAttribution:!0},Ns=w.memo(()=>{var T;const{errors:r}=We.useFormState(),{handleSubmit:e}=We.useFormContext(),{onSave:t,onCancel:n}=w.use(tt),{fieldSchema:i}=w.use(tt),a=w.useRef(null),[o,s]=w.useState(),[l,u]=w.useState("TB");w.useLayoutEffect(()=>{a.current&&a.current.classList.remove("light")},[]);const c=w.useMemo(()=>i.fieldSections.map((M,B)=>({id:M.identifier,position:{x:0,y:0},data:{index:B,fieldSection:M,layoutDirection:l},draggable:!0,type:"fieldSection"})),[i.fieldSections,l]),d=w.useMemo(()=>{const M=[],B={};for(const z of i.fieldSections)B[z.identifier]=z;for(const z of i.fieldSections){const ne=z.conditions;for(const[H,oe]of Object.entries(ne))M.push({id:`${z.identifier}-${H}`,source:z.identifier,target:H,data:{targetSection:B[H],sourceSection:z,layoutDirection:l},animated:oe.length>0,markerEnd:le.MarkerType.Arrow,style:{strokeWidth:2,stroke:"var(--base-a8)"},type:"fieldSectionCondition"})}return M},[i.fieldSections,l]),[h,p,g]=le.useNodesState(c),[x,C,m]=le.useEdgesState(d);w.useEffect(()=>{p(c)},[c,p]),w.useEffect(()=>{C(d)},[d,C]);const[_,S]=w.useMemo(()=>gf(h,x,l),[x,l,h]),E=w.useCallback(()=>{i.addFieldSection(new Ue({identifier:R.v4(),fields:[]}))},[i]),O=w.useCallback(M=>{const{source:B,target:z}=M,ne=i.fieldSections.find(({identifier:H})=>H===B);ne.setOptions({conditions:{...ne.conditions,[z]:[]}})},[i.fieldSections]),b=w.useCallback(M=>{const B=i.getSectionDependencyGraph();return!ki.willCreateCycle(B,M.source,M.target)},[i]);return f.jsxs("form",{className:"size-full flex flex-col gap-4",onSubmit:e(t),children:[f.jsxs(v.Card,{className:"size-full relative",variant:"outline",children:[f.jsx(le.ReactFlow,{ref:a,onInit:s,nodes:_,onNodesChange:g,edges:S,onEdgesChange:m,nodeTypes:pf,edgeTypes:vf,onConnect:O,attributionPosition:"bottom-left",fitView:!0,minZoom:0,isValidConnection:b,proOptions:xf}),f.jsx(le.Panel,{position:"top-left",children:f.jsx(v.ButtonGroup,{className:"flex items-center justify-end gap-2",size:"sm",children:f.jsxs(v.Button,{type:"button",variant:"surface",onClick:E,children:[f.jsx(v.LuIcon,{icon:je})," Add section"]})})}),f.jsxs(le.Panel,{position:"top-right",className:"flex flex-col items-center gap-2",children:[f.jsxs(v.ToggleGroup.Root,{className:"flex flex-col",type:"single",accentColor:"base",size:"sm",value:l,onValueChange:u,children:[f.jsx(v.ToggleGroup.IconItem,{className:"rounded-b-none",value:"LR",type:"button",children:f.jsx(v.LuIcon,{icon:Ws})}),f.jsx(v.ToggleGroup.IconItem,{className:"rounded-t-none",value:"TB",type:"button",children:f.jsx(v.LuIcon,{icon:$s})})]}),f.jsx(v.Separator,{size:"sm"}),f.jsxs(v.ButtonGroup,{className:"flex flex-col",size:"sm",accentColor:"base",variant:"soft",children:[f.jsx(v.IconButton,{className:"rounded-b-none",onClick:()=>o==null?void 0:o.zoomIn(),type:"button",children:f.jsx(v.LuIcon,{icon:je})}),f.jsx(v.IconButton,{onClick:()=>o==null?void 0:o.zoomOut(),radius:"none",type:"button",children:f.jsx(v.LuIcon,{icon:Sr})}),f.jsx(v.IconButton,{className:"rounded-t-none",onClick:()=>o==null?void 0:o.fitView(),type:"button",children:f.jsx(v.LuIcon,{icon:vl})})]})]}),f.jsx(le.Panel,{position:"bottom-right",children:f.jsxs(v.ButtonGroup,{className:"flex items-center justify-end gap-2",size:"sm",children:[n&&f.jsx(v.Button,{type:"button",variant:"soft",accentColor:"base",onClick:n,children:"Cancel"}),f.jsx(v.Button,{type:"submit",variant:"surface",children:"Save"})]})})]}),!!((T=r.fields)!=null&&T.message)&&f.jsx(v.Text,{size:"xs",accentColor:"danger",children:r.fields.message})]})});Ns.displayName="FormBuilderFlowBuilder";const yf=(r,e,t={})=>{const{conditions:n=!1}=t,i=r.get(e.identifier);if(!i)throw new Error(`Attempting to reseed serialized section with identifier ${e.identifier} which is not present in the reseeded identifier map`);const a=new Map,o=e.fields.map(l=>{const u=R.v4(),{image:c,...d}=l;return a.set(l.identifier,u),{...d,identifier:u}}),s={};if(n)for(const[l,u]of Object.entries(e.conditions??{})){const c=r.get(l);if(!c)continue;const d=u.map(h=>{const p=a.get(h.fieldId);if(!p)throw new Error(`Serialized condition referencing undefined field with identifier: ${h.fieldId}`);return{...h,fieldId:p}});s[c]=d}return{...e,identifier:i,conditions:s,fields:o}},Cf=(r,e={})=>{const t=new Map(r.map(n=>[n.identifier,R.v4()]));return r.map(n=>yf(t,n,e))},Pi=(r,e)=>{const t={},n=r.filter(i=>i instanceof Ue);for(const i of r)if(i instanceof Ue){const a=n.filter(s=>i.identifier in s.conditions);if(a.length>0&&!a.some(s=>{const l=s.getConditions(i.identifier);return new Yr(l).applyConditions(e)}))continue;const o=i.getErrors(e);Object.assign(t,o)}else{if(!(i instanceof Be))throw new Error("Invalid field type");const a=i.identifier,o=i.getError(Hi(e,a));o&&ks(t,a,o)}return t},wf=async r=>{const e={},t=[];for(const n of r){const{fields:i}=n,a=[];for(const o of i){if(o.image){if(o.image instanceof Promise)try{e[o.identifier]=await o.image}catch(s){console.error("Failed to get image from promise",s)}else e[o.identifier]=o.image;delete o.image}a.push(o)}t.push({...n,fields:a})}return{fields:t,images:e}};async function mf(r){const e={};for(const[t,n]of Object.entries(r))e[t]=await Promise.all(n);return e}class Ft extends Zt{constructor(t){super();D(this,"fieldSections");D(this,"fieldObserver",()=>{this.notify(this)});D(this,"initFields",t=>{for(const n of t)n.observe(this.fieldObserver);return t});this.fieldSections=this.initFields(t)}serialize(){return this.fieldSections.map(t=>t.serialize())}static deserialize(t){return new Ft(t.map(Ue.deserialize))}static reseedFieldSections(t,n){return Cf(t,n)}getFields(){return this.fieldSections.flatMap(t=>t.getFields())}getFieldSections(){return this.fieldSections}addFieldSection(t,n){const i=[...this.fieldSections];i.splice(n??this.fieldSections.length,0,t),this.fieldSections=this.initFields(i),this.notify(this)}removeFieldSection(t){const n=this.fieldSections.filter(i=>i.identifier!==t.identifier);for(const i of n)i.removeConditional(i.identifier);this.fieldSections=this.initFields(n),this.notify(this)}moveFieldSection(t,n){const i=[...this.fieldSections],[a]=i.splice(t,1);i.splice(n,0,a),this.fieldSections=this.initFields(i),this.notify(this)}getSectionDependencyGraph(){const t=new Ls.DirectedGraph({type:"directed"});for(const n of this.fieldSections)for(const i of Object.keys(n.conditions))t.mergeEdge(n.identifier,i);return t}getDependenciesOfSection(t){const n=this.getSectionDependencyGraph(),i=new Map(this.fieldSections.map(o=>[o.identifier,o])),a=[];return zs.bfsFromNode(n,t,(o,s,l)=>{a.push(i.get(o))},{mode:"in"}),a}cleanValues(t){return Kr(this.getFields(),t)}cleanSerializedValues(t){return Ni(this.getFields(),t)}deserializeValues(t,n){return vs(this.getFields(),t,n)}serializeValues(t,n){return ps(this.getFields(),t,n)}initializeValues(t){return ys(this.getFields(),t)}validateValues(t){return Pi(this.getFieldSections(),t)}deserializeConditions(t){return Si(this.getFields(),t)}cleanConditions(t){return Oi(this.getFields(),t)}serializeConditions(t){return fs(this.getFields(),t)}cleanSerializedConditions(t){return Ii(this.getFields(),t)}changedFieldValues(t,n){return Cs(this.getFields(),t,n)}unchangedFieldValues(t,n){return ws(this.getFields(),t,n)}areValuesEqual(t,n){return bi(this.getFields(),t,n)}areValuesBlank(t){return ms(this.getFields(),t)}blankValues(){return Ti(this.getFields())}extractFilesAndPromisesFromFieldValues(t){return gs(this.getFields(),t)}insertFilesAndPromisesToFieldValues(t,n){return xs(this.getFields(),t,n)}}const bs=w.memo(r=>{const{sourceFieldSection:e,targetFieldSection:t}=r,n=w.useMemo(()=>e.getConditions(t.identifier),[e,t.identifier]),i=w.useCallback(()=>{e.removeConditional(t.identifier)},[e,t.identifier]),a=w.useCallback(s=>{e.addCondition(t.identifier,Mi(s))},[e,t.identifier]),o=w.useCallback(s=>{e.removeCondition(t.identifier,s)},[e,t.identifier]);return f.jsxs(v.Card,{className:"flex flex-col gap-2",size:"sm",children:[f.jsxs(v.ButtonGroup,{className:"justify-between gap-2 flex",size:"sm",accentColor:"base",variant:"soft",children:[f.jsxs(v.Badge,{accentColor:"base",variant:"soft",size:"sm",children:[f.jsx(v.LuIcon,{icon:Ji}),e.label??di]}),f.jsx(v.IconButton,{type:"button",onClick:i,variant:"ghost",children:f.jsx(v.LuIcon,{icon:pt})})]}),f.jsxs("div",{className:"flex h-max w-full flex-wrap gap-2",children:[n.map(s=>s.render({onRemove:o})),f.jsx(Vi,{fields:e.fields,onSelectField:a,align:"start",children:f.jsx(v.IconButton,{type:"button",size:"sm",variant:"soft",accentColor:"base",children:f.jsx(v.LuIcon,{icon:je})})})]})]})});bs.displayName="FieldSectionConditionalItem";const Ts=w.memo(r=>{const{fieldSection:e}=r,{fieldSchema:t}=w.use(tt),n=w.useMemo(()=>t.fieldSections.filter(o=>e.identifier in o.conditions),[t.fieldSections,e.identifier]),i=w.useCallback(o=>{o.addConditional(e.identifier)},[e.identifier]),a=w.useMemo(()=>{const o=t.getSectionDependencyGraph();return t.fieldSections.filter(s=>!ki.willCreateCycle(o,s.identifier,e.identifier))},[e.identifier,t]);return f.jsxs("div",{className:"flex grow w-full flex-col gap-4",children:[f.jsxs("div",{className:"flex flex-col gap-2 w-full overflow-hidden",children:[f.jsx(v.Input.Root,{variant:"outline",size:"md",children:f.jsx(v.Input.Field,{placeholder:"Enter a section label (optional)",value:e.label??"",onChange:o=>e.setOptions({label:o.target.value}),maxLength:200})}),f.jsx(v.TextArea,{className:"field-sizing-content",placeholder:"Enter a section description (optional)",value:e.description??"",onChange:o=>e.setOptions({description:o.target.value}),maxLength:1e3,resize:"vertical",size:"md"})]}),f.jsx(v.Separator,{size:"full"}),f.jsxs("div",{className:"flex flex-col gap-2",children:[f.jsxs("div",{className:"flex gap-2 justify-between",children:[f.jsx(v.Text,{accentColor:"base",children:"Conditions"}),f.jsx(Ss,{fieldSections:a,onSelectFieldCondition:i,children:f.jsxs(v.Button,{type:"button",variant:"soft",size:"sm",className:"w-max",children:[f.jsx(v.LuIcon,{icon:je}),"Add condition"]})})]}),n.map(o=>f.jsx(bs,{sourceFieldSection:o,targetFieldSection:e},o.identifier))]}),f.jsx(v.Separator,{size:"full"})]})});Ts.displayName="FieldSectionBuilder";const Ds=w.memo(r=>{const{fieldSection:e,sectionIndex:t}=r,{fieldSchema:n}=w.use(tt),i=v.useAlertDialog(),a=w.useCallback(()=>{n.removeFieldSection(e)},[n,e]),o=w.useCallback(x=>{const C=x==="up"?t-1:t+1;n.moveFieldSection(t,C)},[n,t]),s=w.useCallback(()=>{n.addFieldSection(e.duplicate(R.v4()))},[n,e]),l=w.useCallback(x=>{e.addField(en(x))},[e]),u=w.useCallback(()=>{o("up")},[o]),c=w.useCallback(()=>{o("down")},[o]),d=w.useCallback(async()=>{const x=[e.serialize()],C=Ft.reseedFieldSections(x,{conditions:!1}),m=JSON.stringify(C);await navigator.clipboard.writeText(m),v.toast.success({title:"Section copied"})},[e]),h=w.useCallback(async()=>{const C=n.getDependenciesOfSection(e.identifier).map(S=>S.serialize()),m=Ft.reseedFieldSections(C,{conditions:!0}),_=JSON.stringify(m);await navigator.clipboard.writeText(_),v.toast.success({title:"Section copied"})},[e,n]),p=w.useCallback(async()=>{const x=n.getDependenciesOfSection(e.identifier),C=x.length>1,m=x.length-1;C?i({title:"Copy section dependencies?",description:`This section has ${m} dependent section${m>1?"s":""} that will also be copied to maintain the conditions. Do you want to include these dependencies?`,action:"Include",onAction:h,cancel:"Dont include",onCancel:d}):d()},[e,n,i,h,d]),g=w.useCallback(async()=>{let x="";try{x=await navigator.clipboard.readText()}catch{v.toast.error({title:"Paste failed",description:"Unable to read clipboard contents."});return}const C=x.trim();if(!C){v.toast.error({title:"Paste failed",description:"Clipboard is empty."});return}let m;try{m=JSON.parse(C)}catch{v.toast.error({title:"Invalid JSON",description:"Check the JSON and try again."});return}const _=Array.isArray(m)?m:[m],S=[];for(const E of _){if(!E||typeof E!="object")continue;const O=E;if(O.type!=="section"||!Array.isArray(O.fields))continue;const b={type:"section",identifier:typeof O.identifier=="string"?O.identifier:R.v4(),label:typeof O.label=="string"||O.label===null?O.label:null,description:typeof O.description=="string"||O.description===null?O.description:null,conditions:O.conditions&&typeof O.conditions=="object"?O.conditions:{},fields:O.fields};try{S.push(Ue.deserialize(b))}catch{}}if(S.length===0){v.toast.error({title:"Paste failed",description:"No valid sections found in the JSON."});return}S.forEach((E,O)=>{n.addFieldSection(E,t+1+O)}),v.toast.success({title:"Section pasted",description:"Serialized JSON imported successfully."})},[n,t]);return f.jsxs(v.Card,{variant:"outline",className:"flex items-center justify-between gap-4 w-full",size:"sm",children:[f.jsxs("div",{className:"flex grow flex-col gap-4 w-full",children:[f.jsx(Ts,{fieldSection:e}),f.jsxs("div",{className:"flex flex-col gap-2 w-full",children:[f.jsxs("div",{className:"flex gap-2 justify-between",children:[f.jsx(v.Text,{accentColor:"base",size:"md",children:"Fields"}),f.jsx(Jr,{onSelectFieldType:l,size:"sm",children:f.jsxs(v.Button,{type:"button",variant:"soft",size:"sm",children:[f.jsx(v.LuIcon,{icon:je})," Add field"]})})]}),e.fields.map((x,C)=>f.jsx(Fi,{field:x,fieldSection:e,fieldIndex:C,sectionIndex:t},x.identifier))]})]}),f.jsxs(v.ButtonGroup,{className:"flex-col gap-0.5 flex",variant:"ghost",accentColor:"base",size:"sm",children:[f.jsx(v.IconButton,{type:"button",onClick:u,children:f.jsx(v.LuIcon,{icon:ta})}),f.jsx(v.IconButton,{type:"button",onClick:c,children:f.jsx(v.LuIcon,{icon:ea})}),f.jsxs(v.Menu.Root,{align:"end",children:[f.jsx(v.Menu.ClickTrigger,{children:f.jsx(v.IconButton,{type:"button",children:f.jsx(v.LuIcon,{icon:Zi})})}),f.jsxs(v.Menu.Content,{size:"sm",children:[f.jsxs(v.Menu.Item,{onSelect:s,children:[f.jsx(v.LuIcon,{icon:nn}),"Duplicate section"]}),f.jsxs(v.Menu.Item,{onSelect:p,children:[f.jsx(v.LuIcon,{icon:Wi}),"Copy JSON"]}),f.jsxs(v.Menu.Item,{onSelect:g,children:[f.jsx(v.LuIcon,{icon:ji}),"Paste JSON"]}),f.jsxs(v.Menu.Item,{onSelect:a,children:[f.jsx(v.LuIcon,{icon:pt}),"Delete section"]})]})]})]})]})});Ds.displayName="FieldSectionWithActions";const Ms=w.memo(()=>{var l;const{handleSubmit:r}=We.useFormContext(),{errors:e}=We.useFormState(),{onSave:t,onCancel:n}=w.use(tt),{fieldSchema:i}=w.use(tt),a=w.useCallback(()=>{i.addFieldSection(new Ue({identifier:R.v4(),fields:[]}))},[i]),o=w.useCallback(async()=>{try{const u=i.serialize(),c=Ft.reseedFieldSections(u),d=JSON.stringify(c);await navigator.clipboard.writeText(d),v.toast.success({title:"Sections copied",description:"All sections JSON copied to clipboard."})}catch{v.toast.error({title:"Copy failed",description:"Unable to copy the sections JSON."})}},[i]),s=w.useCallback(async()=>{let u="";try{u=await navigator.clipboard.readText()}catch{v.toast.error({title:"Paste failed",description:"Unable to read clipboard contents."});return}const c=u.trim();if(!c){v.toast.error({title:"Paste failed",description:"Clipboard is empty."});return}let d;try{d=JSON.parse(c)}catch{v.toast.error({title:"Invalid JSON",description:"Check the JSON and try again."});return}const h=Array.isArray(d)?d:[d],p=[];for(const x of h){if(!x||typeof x!="object")continue;const C=x;if(C.type!=="section"||!Array.isArray(C.fields))continue;const m={type:"section",identifier:typeof C.identifier=="string"?C.identifier:R.v4(),label:typeof C.label=="string"||C.label===null?C.label:null,description:typeof C.description=="string"||C.description===null?C.description:null,conditions:C.conditions&&typeof C.conditions=="object"?C.conditions:{},fields:C.fields};try{p.push(Ue.deserialize(m))}catch{}}if(p.length===0){v.toast.error({title:"Paste failed",description:"No valid sections found in the JSON."});return}const g=i.fieldSections.length;p.forEach((x,C)=>{i.addFieldSection(x,g+C)}),v.toast.success({title:"Sections pasted",description:"Serialized JSON imported successfully."})},[i]);return f.jsxs("form",{className:"flex flex-col gap-4",onSubmit:r(t),children:[f.jsxs("div",{className:"flex flex-col gap-4",children:[f.jsxs("div",{className:"flex items-center justify-end gap-2",children:[f.jsxs(v.Button,{type:"button",variant:"soft",size:"sm",onClick:o,children:[f.jsx(v.LuIcon,{icon:Wi})," Copy JSON"]}),f.jsxs(v.Button,{type:"button",variant:"soft",size:"sm",onClick:s,children:[f.jsx(v.LuIcon,{icon:ji})," Paste JSON"]})]}),i.fieldSections.map((u,c)=>f.jsx(Ds,{fieldSection:u,sectionIndex:c},u.identifier)),f.jsxs(v.Button,{className:"mb-4",type:"button",variant:"soft",accentColor:"base",size:"sm",onClick:a,children:[f.jsx(v.LuIcon,{icon:je})," Add section"]})]}),!!((l=e.fields)!=null&&l.message)&&f.jsx(v.Text,{size:"xs",accentColor:"danger",children:e.fields.message}),f.jsxs(v.ButtonGroup,{className:"flex items-center justify-end gap-2",size:"sm",children:[n&&f.jsx(v.Button,{type:"button",variant:"soft",accentColor:"base",onClick:n,children:"Cancel"}),f.jsx(v.Button,{type:"submit",variant:"surface",children:"Save"})]})]})});Ms.displayName="FormBuilderListBuilder";function Fs(r){const e=t=>{const n={};for(const[i,a]of Object.entries(t))typeof a=="string"?n[i]={type:"validate",message:a}:n[i]=e(a);return n};return e(r)}const Vs=w.memo(w.forwardRef((r,e)=>{const{disabled:t=!1,fieldSchema:n,values:i={},onValuesChange:a,onSubmit:o,submitText:s="Submit",hideSubmit:l=!1,cancelText:u,onCancel:c,hideCancel:d=!1,className:h,buttonProps:p,size:g="md"}=r,x=w.useMemo(()=>n.initializeValues(i),[n,i]),C=w.useCallback(T=>{o==null||o(T)},[o]),m=We.useForm({values:x,mode:"onBlur",criteriaMode:"all",disabled:t,resolver:T=>{const M=n.validateValues(T),B=Fs(M);return Object.keys(M).length>0?{values:{},errors:B}:{values:T,errors:{}}}}),_=w.useCallback(T=>{a==null||a(T)},[a]);w.useEffect(()=>{const{unsubscribe:T}=m.watch((M,{type:B})=>{B==="change"&&_(M)});return()=>{T()}},[m,_]);const S=aa(n.getFieldSections()),E=w.useMemo(()=>({fieldSchema:n,size:g}),[n,g]),O=!d&&!!c,b=!l;return f.jsx(We.FormProvider,{...m,children:f.jsx(ce,{value:E,children:f.jsxs("form",{ref:e,className:$e.cx(h,"flex flex-col gap-4"),onSubmit:m.handleSubmit(C),children:[f.jsx("div",{className:hf({size:g}),children:S}),!t&&(O||b)?f.jsxs(v.ButtonGroup,{className:"flex items-center justify-end gap-2",size:g,children:[O?f.jsxs(v.Button,{...p,accentColor:"base",type:"button",variant:"soft",onClick:c,children:[f.jsx(v.LuIcon,{icon:nt}),u]}):null,b?f.jsxs(v.Button,{...p,type:"submit",accentColor:"primary",variant:"surface",children:[f.jsx(v.LuIcon,{icon:Re}),s]}):null]}):null]})})})})),Ps=w.memo(()=>{const{fieldSchema:r}=w.use(tt);return f.jsx(Vs,{fieldSchema:r,disabled:!1})});Ps.displayName="FormBuilderPreview";const Bs=w.memo(r=>{const{children:e,initialFields:t,onSave:n,onCancel:i,disableRequiredFields:a=!1}=r,o=w.useCallback(g=>{var S;const x={};(!g.fields||g.fields.length===0)&&(x.fields="At least one field is required.");const C=[];for(const[E,O]of g.fields.entries())for(const[b,T]of O.fields.entries()){const M=((S=_s(T.type,`fields.${E}.fields.${b}`))==null?void 0:S.map(({field:B})=>B))??[];C.push(...M)}const m={};for(const E of C)m[E.identifier]=Hi(g,E.identifier);const _=Pi(C,m);return Object.keys(_).length>0&&(x.fields=_.fields),Object.keys(x).length>0&&v.toast.error({title:"Some form settings are invalid",description:"Please check settings highlighted in red."}),x},[]),s=w.useMemo(()=>({fields:t??[]}),[t]),l=We.useForm({values:s,mode:"onSubmit",criteriaMode:"all",reValidateMode:"onSubmit",resolver:g=>{const x=o(g),C=Fs(x);return Object.keys(x).length>0?{values:{},errors:C}:{values:g,errors:{}}}}),u=w.useCallback(g=>{l.setValue("fields",g.serialize())},[l]),c=We.useWatch({control:l.control,compute:g=>g.fields}),d=w.useMemo(()=>{const g=Ft.deserialize(c);return g.observe(u),g},[c,u]),h=w.useMemo(()=>({fieldSchema:d,disableRequiredFields:a,onSave:n,onCancel:i}),[a,n,i,d]),p=w.useMemo(()=>({fieldSchema:d,size:"sm"}),[d]);return f.jsx(tt,{value:h,children:f.jsx(ce,{value:p,children:f.jsx(We.FormProvider,{...l,children:e})})})});Bs.displayName="FormBuilderRoot";const _f={Root:Bs,FlowBuilder:Ns,ListBuilder:Ms,Preview:Ps};A.BaseCondition=Oe,A.BaseField=Be,A.BaseFormElement=sn,A.BaseOptionsField=Kt,A.BaseStringField=hn,A.BooleanEqualsConditionModifier=go,A.BooleanField=gt,A.BooleanFieldCondition=lr,A.BooleanFieldConditionCell=Fo,A.BooleanFieldInput=dn,A.BooleanNotEqualsConditionModifier=xo,A.CheckboxListField=xt,A.CheckboxListFieldCondition=ur,A.CheckboxListFieldConditionCell=Po,A.CheckboxListFieldInput=pn,A.ConditionManager=Yr,A.DateAfterConditionModifier=mo,A.DateBeforeConditionModifier=wo,A.DateEqualsConditionModifier=yo,A.DateField=Pt,A.DateFieldCondition=cr,A.DateFieldConditionCell=Lo,A.DateFieldInput=vn,A.DateNotEqualsConditionModifier=Co,A.DateRangeInConditionModifier=_o,A.DateRangeNotInConditionModifier=Ao,A.DoesNotHaveFilesConditionModifier=So,A.FIELD_TYPES=fo,A.FieldSchema=Ft,A.FieldSection=Ue,A.FieldSectionLayout=Di,A.FieldTypeGroup=j,A.FieldTypeToClsMapping=ci,A.FieldsRenderer=Vs,A.FileCard=on,A.FormBuilder=_f,A.HasFilesConditionModifier=Eo,A.ImageCard=Cn,A.ImageFile=Vt,A.ImageViewer=un,A.ImageViewerProvider=ia,A.InputWithLabel=_e,A.LONG_TEXT_FIELD_MAX_LENGTH=Qt,A.MultiSelectField=rt,A.MultiSelectFieldCondition=dr,A.MultiSelectFieldConditionCell=ko,A.MultiSelectFieldInput=gn,A.MultiStringField=vt,A.MultiStringFieldCondition=fr,A.MultiStringFieldConditionCell=Uo,A.MultiStringFieldInput=cn,A.NumberEqualsConditionModifier=fi,A.NumberField=Me,A.NumberFieldCondition=hr,A.NumberFieldConditionCell=Ho,A.NumberFieldInput=fn,A.NumberGreaterThanConditionModifier=gi,A.NumberGreaterThanOrEqualsConditionModifier=xi,A.NumberLessThanConditionModifier=pi,A.NumberLessThanOrEqualsConditionModifier=vi,A.NumberNotEqualsConditionModifier=hi,A.NumberRangeInConditionModifier=yi,A.NumberRangeNotInConditionModifier=Ci,A.OTPField=yt,A.OTPFieldCondition=pr,A.OTPFieldConditionCell=Xo,A.OTPFieldInput=yn,A.Observable=Zt,A.PassFailArrayExcludesConditionModifier=bo,A.PassFailArrayIncludesConditionModifier=No,A.PassFailEqualsConditionModifier=Io,A.PassFailField=wt,A.PassFailFieldCondition=vr,A.PassFailFieldConditionCell=Wo,A.PassFailFieldInput=An,A.PassFailNotEqualsConditionModifier=Oo,A.RadioField=mt,A.RadioFieldCondition=gr,A.RadioFieldConditionCell=Yo,A.RadioFieldInput=Sn,A.RatingField=_t,A.RatingFieldCondition=xr,A.RatingFieldConditionCell=Ko,A.RatingFieldInput=In,A.SHORT_TEXT_FIELD_MAX_LENGTH=ai,A.ScanField=Ht,A.ScanFieldCondition=yr,A.ScanFieldConditionCell=Jo,A.ScanFieldInput=ii,A.Scanner=Gr,A.ScannerProvider=co,A.SelectField=it,A.SelectFieldCondition=Cr,A.SelectFieldConditionCell=ts,A.SelectFieldInput=xn,A.StringArrayEqualsConditionModifier=$r,A.StringArrayEveryConditionModifier=Hr,A.StringArrayExcludesConditionModifier=mi,A.StringArrayIncludesConditionModifier=wi,A.StringArrayNoneConditionModifier=Xr,A.StringArrayNotEqualsConditionModifier=Wr,A.StringArraySomeConditionModifier=qr,A.StringEqualsConditionModifier=dt,A.StringExcludesConditionModifier=Wt,A.StringField=Nt,A.StringFieldCondition=wr,A.StringFieldConditionCell=ns,A.StringFieldInput=oi,A.StringIncludesConditionModifier=$t,A.StringNotEqualsConditionModifier=ft,A.TextField=bt,A.TextFieldCondition=mr,A.TextFieldConditionCell=as,A.TextFieldInput=si,A.UNLABELLED_FIELD_LABEL=me,A.UNLABELLED_SECTION_LABEL=di,A.URLField=qt,A.URLFieldCondition=Ar,A.URLFieldConditionCell=us,A.URLFieldInput=ui,A.UUIDFile=at,A.UUIDPromise=Lt,A.UploadField=Tt,A.UploadFieldCondition=_r,A.UploadFieldConditionCell=ss,A.UploadFieldInput=li,A.VideoCard=mn,A.VideoFile=wn,A.areFieldValuesBlank=ms,A.areFieldValuesEqual=bi,A.areFileAndPromiseArraysEqual=Nr,A.arePassFieldValuesEqual=da,A.areSerializedPassFailFieldValuesEqual=fa,A.awaitFilesAndPromises=mf,A.blankFieldValues=Ti,A.changedFieldValues=Cs,A.cleanConditions=Oi,A.cleanFieldValues=Kr,A.cleanSerializedConditions=Ii,A.cleanSerializedFieldValues=Ni,A.createCondition=Mi,A.createConditionModifierConfig=V,A.createField=en,A.deserialize=hs,A.deserializeCondition=ds,A.deserializeConditions=Si,A.deserializeField=Zr,A.deserializeFieldValues=vs,A.deserializeFields=uf,A.deserializeOnlyFields=cf,A.deserializePassFailFieldValue=ca,A.extractFilesAndPromisesFromFieldValues=gs,A.fieldDataMapping=ue,A.fieldSpacingCva=Qr,A.fieldTypeGroupDataMapping=ho,A.flattenFields=df,A.getFieldsMapping=ff,A.initializeFieldValues=ys,A.insertFilesAndPromisesToFieldValues=xs,A.isFileAndPromiseArray=oa,A.isPassFailFieldStatus=En,A.isPassFailFieldValue=la,A.isSerializedPassFailFieldValue=sa,A.isStringArray=Yt,A.maxFileSizeB=vo,A.maxFileSizeKB=po,A.maxFileSizeMB=Xt,A.passFailFieldStatusMapping=Ct,A.passFailFieldStatuses=Bt,A.separateImagesFromFields=wf,A.serializeConditions=fs,A.serializeFieldValues=ps,A.serializePassFailFieldValue=ua,A.unchangedFieldValues=ws,A.useConditionManager=sf,A.useFieldInput=Ae,A.useFieldInputs=Or,A.useFieldSectionInputs=aa,A.useImageViewer=Ir,A.useObjectUrl=ln,A.useScanner=Cl,A.validateFieldValues=Pi,Object.defineProperty(A,Symbol.toStringTag,{value:"Module"})});
|