df-ae-forms-package 1.0.54 → 1.0.56
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/IOS-COMPATIBILITY.md +299 -0
- package/IOS-FIXES-SUMMARY.md +234 -0
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +11 -11
- package/dist/index.js.map +1 -1
- package/package.json +4 -2
package/dist/index.esm.js
CHANGED
|
@@ -7,7 +7,7 @@ import t,{useState as e,useEffect as A,useCallback as r,useRef as n,useMemo as i
|
|
|
7
7
|
*
|
|
8
8
|
* This source code is licensed under the MIT license found in the
|
|
9
9
|
* LICENSE file in the root directory of this source tree.
|
|
10
|
-
*/"production"===process.env.NODE_ENV?J.exports=function(){if(Y)return $;Y=1;var e=t,A=Symbol.for("react.element"),r=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,i=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function a(t,e,r){var a,o={},l=null,c=null;for(a in void 0!==r&&(l=""+r),void 0!==e.key&&(l=""+e.key),void 0!==e.ref&&(c=e.ref),e)n.call(e,a)&&!s.hasOwnProperty(a)&&(o[a]=e[a]);if(t&&t.defaultProps)for(a in e=t.defaultProps)void 0===o[a]&&(o[a]=e[a]);return{$$typeof:A,type:t,key:l,ref:c,props:o,_owner:i.current}}return $.Fragment=r,$.jsx=a,$.jsxs=a,$}():J.exports=(Z||(Z=1,"production"!==process.env.NODE_ENV&&function(){var e,A=t,r=Symbol.for("react.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),o=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),h=Symbol.for("react.suspense_list"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.for("react.offscreen"),g=Symbol.iterator,m=A.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function w(t){for(var e=arguments.length,A=new Array(e>1?e-1:0),r=1;r<e;r++)A[r-1]=arguments[r];!function(t,e,A){var r=m.ReactDebugCurrentFrame.getStackAddendum();""!==r&&(e+="%s",A=A.concat([r]));var n=A.map(function(t){return String(t)});n.unshift("Warning: "+e),Function.prototype.apply.call(console[t],console,n)}("error",t,A)}function B(t){return t.displayName||"Context"}function y(t){if(null==t)return null;if("number"==typeof t.tag&&w("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),"function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t;switch(t){case i:return"Fragment";case n:return"Portal";case a:return"Profiler";case s:return"StrictMode";case u:return"Suspense";case h:return"SuspenseList"}if("object"==typeof t)switch(t.$$typeof){case l:return B(t)+".Consumer";case o:return B(t._context)+".Provider";case c:return function(t,e,A){var r=t.displayName;if(r)return r;var n=e.displayName||e.name||"";return""!==n?A+"("+n+")":A}(t,t.render,"ForwardRef");case d:var e=t.displayName||null;return null!==e?e:y(t.type)||"Memo";case f:var A=t,r=A._payload,p=A._init;try{return y(p(r))}catch(t){return null}}return null}e=Symbol.for("react.module.reference");var b,v,C,x,F,Q,U,E=Object.assign,S=0;function N(){}N.__reactDisabledLog=!0;var L,_=m.ReactCurrentDispatcher;function I(t,e,A){if(void 0===L)try{throw Error()}catch(t){var r=t.stack.trim().match(/\n( *(at )?)/);L=r&&r[1]||""}return"\n"+L+t}var k,T=!1,H="function"==typeof WeakMap?WeakMap:Map;function O(t,e){if(!t||T)return"";var A,r=k.get(t);if(void 0!==r)return r;T=!0;var n,i=Error.prepareStackTrace;Error.prepareStackTrace=void 0,n=_.current,_.current=null,function(){if(0===S){b=console.log,v=console.info,C=console.warn,x=console.error,F=console.group,Q=console.groupCollapsed,U=console.groupEnd;var t={configurable:!0,enumerable:!0,value:N,writable:!0};Object.defineProperties(console,{info:t,log:t,warn:t,error:t,group:t,groupCollapsed:t,groupEnd:t})}S++}();try{if(e){var s=function(){throw Error()};if(Object.defineProperty(s.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(s,[])}catch(t){A=t}Reflect.construct(t,[],s)}else{try{s.call()}catch(t){A=t}t.call(s.prototype)}}else{try{throw Error()}catch(t){A=t}t()}}catch(e){if(e&&A&&"string"==typeof e.stack){for(var a=e.stack.split("\n"),o=A.stack.split("\n"),l=a.length-1,c=o.length-1;l>=1&&c>=0&&a[l]!==o[c];)c--;for(;l>=1&&c>=0;l--,c--)if(a[l]!==o[c]){if(1!==l||1!==c)do{if(l--,--c<0||a[l]!==o[c]){var u="\n"+a[l].replace(" at new "," at ");return t.displayName&&u.includes("<anonymous>")&&(u=u.replace("<anonymous>",t.displayName)),"function"==typeof t&&k.set(t,u),u}}while(l>=1&&c>=0);break}}}finally{T=!1,_.current=n,function(){if(0===--S){var t={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:E({},t,{value:b}),info:E({},t,{value:v}),warn:E({},t,{value:C}),error:E({},t,{value:x}),group:E({},t,{value:F}),groupCollapsed:E({},t,{value:Q}),groupEnd:E({},t,{value:U})})}S<0&&w("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}(),Error.prepareStackTrace=i}var h=t?t.displayName||t.name:"",d=h?I(h):"";return"function"==typeof t&&k.set(t,d),d}function P(t,e,A){if(null==t)return"";if("function"==typeof t)return O(t,!(!(r=t.prototype)||!r.isReactComponent));var r;if("string"==typeof t)return I(t);switch(t){case u:return I("Suspense");case h:return I("SuspenseList")}if("object"==typeof t)switch(t.$$typeof){case c:return O(t.render,!1);case d:return P(t.type,e,A);case f:var n=t,i=n._payload,s=n._init;try{return P(s(i),e,A)}catch(t){}}return""}k=new H;var D=Object.prototype.hasOwnProperty,M={},j=m.ReactDebugCurrentFrame;function R(t){if(t){var e=t._owner,A=P(t.type,t._source,e?e.type:null);j.setExtraStackFrame(A)}else j.setExtraStackFrame(null)}var K=Array.isArray;function V(t){return K(t)}function z(t){return""+t}function G(t){if(function(t){try{return z(t),!1}catch(t){return!0}}(t))return w("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",function(t){return"function"==typeof Symbol&&Symbol.toStringTag&&t[Symbol.toStringTag]||t.constructor.name||"Object"}(t)),z(t)}var q,W,X,Y=m.ReactCurrentOwner,J={key:!0,ref:!0,__self:!0,__source:!0};function $(t,e,A,n,i){var s,a={},o=null,l=null;for(s in void 0!==A&&(G(A),o=""+A),function(t){if(D.call(t,"key")){var e=Object.getOwnPropertyDescriptor(t,"key").get;if(e&&e.isReactWarning)return!1}return void 0!==t.key}(e)&&(G(e.key),o=""+e.key),function(t){if(D.call(t,"ref")){var e=Object.getOwnPropertyDescriptor(t,"ref").get;if(e&&e.isReactWarning)return!1}return void 0!==t.ref}(e)&&(l=e.ref,function(t,e){if("string"==typeof t.ref&&Y.current&&e&&Y.current.stateNode!==e){var A=y(Y.current.type);X[A]||(w('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',y(Y.current.type),t.ref),X[A]=!0)}}(e,i)),e)D.call(e,s)&&!J.hasOwnProperty(s)&&(a[s]=e[s]);if(t&&t.defaultProps){var c=t.defaultProps;for(s in c)void 0===a[s]&&(a[s]=c[s])}if(o||l){var u="function"==typeof t?t.displayName||t.name||"Unknown":t;o&&function(t,e){var A=function(){q||(q=!0,w("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",e))};A.isReactWarning=!0,Object.defineProperty(t,"key",{get:A,configurable:!0})}(a,u),l&&function(t,e){var A=function(){W||(W=!0,w("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",e))};A.isReactWarning=!0,Object.defineProperty(t,"ref",{get:A,configurable:!0})}(a,u)}return function(t,e,A,n,i,s,a){var o={$$typeof:r,type:t,key:e,ref:A,props:a,_owner:s,_store:{}};return Object.defineProperty(o._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(o,"_self",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(o,"_source",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(o.props),Object.freeze(o)),o}(t,o,l,i,n,Y.current,a)}X={};var Z,et=m.ReactCurrentOwner,At=m.ReactDebugCurrentFrame;function rt(t){if(t){var e=t._owner,A=P(t.type,t._source,e?e.type:null);At.setExtraStackFrame(A)}else At.setExtraStackFrame(null)}function nt(t){return"object"==typeof t&&null!==t&&t.$$typeof===r}function it(){if(et.current){var t=y(et.current.type);if(t)return"\n\nCheck the render method of `"+t+"`."}return""}Z=!1;var st={};function at(t,e){if(t._store&&!t._store.validated&&null==t.key){t._store.validated=!0;var A=function(t){var e=it();if(!e){var A="string"==typeof t?t:t.displayName||t.name;A&&(e="\n\nCheck the top-level render call using <"+A+">.")}return e}(e);if(!st[A]){st[A]=!0;var r="";t&&t._owner&&t._owner!==et.current&&(r=" It was passed a child from "+y(t._owner.type)+"."),rt(t),w('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',A,r),rt(null)}}}function ot(t,e){if("object"==typeof t)if(V(t))for(var A=0;A<t.length;A++){var r=t[A];nt(r)&&at(r,e)}else if(nt(t))t._store&&(t._store.validated=!0);else if(t){var n=function(t){if(null===t||"object"!=typeof t)return null;var e=g&&t[g]||t["@@iterator"];return"function"==typeof e?e:null}(t);if("function"==typeof n&&n!==t.entries)for(var i,s=n.call(t);!(i=s.next()).done;)nt(i.value)&&at(i.value,e)}}function lt(t){var e,A=t.type;if(null!=A&&"string"!=typeof A){if("function"==typeof A)e=A.propTypes;else{if("object"!=typeof A||A.$$typeof!==c&&A.$$typeof!==d)return;e=A.propTypes}if(e){var r=y(A);!function(t,e,A,r,n){var i=Function.call.bind(D);for(var s in t)if(i(t,s)){var a=void 0;try{if("function"!=typeof t[s]){var o=Error((r||"React class")+": "+A+" type `"+s+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof t[s]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw o.name="Invariant Violation",o}a=t[s](e,s,r,A,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(t){a=t}!a||a instanceof Error||(R(n),w("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",r||"React class",A,s,typeof a),R(null)),a instanceof Error&&!(a.message in M)&&(M[a.message]=!0,R(n),w("Failed %s type: %s",A,a.message),R(null))}}(e,t.props,"prop",r,t)}else void 0===A.PropTypes||Z||(Z=!0,w("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",y(A)||"Unknown"));"function"!=typeof A.getDefaultProps||A.getDefaultProps.isReactClassApproved||w("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}var ct={};function ut(t,A,n,g,m,B){var b=function(t){return"string"==typeof t||"function"==typeof t||t===i||t===a||t===s||t===u||t===h||t===p||"object"==typeof t&&null!==t&&(t.$$typeof===f||t.$$typeof===d||t.$$typeof===o||t.$$typeof===l||t.$$typeof===c||t.$$typeof===e||void 0!==t.getModuleId)}(t);if(!b){var v="";(void 0===t||"object"==typeof t&&null!==t&&0===Object.keys(t).length)&&(v+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var C,x=function(t){return void 0!==t?"\n\nCheck your code at "+t.fileName.replace(/^.*[\\\/]/,"")+":"+t.lineNumber+".":""}(m);v+=x||it(),null===t?C="null":V(t)?C="array":void 0!==t&&t.$$typeof===r?(C="<"+(y(t.type)||"Unknown")+" />",v=" Did you accidentally export a JSX literal instead of a component?"):C=typeof t,w("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",C,v)}var F=$(t,A,n,m,B);if(null==F)return F;if(b){var Q=A.children;if(void 0!==Q)if(g)if(V(Q)){for(var U=0;U<Q.length;U++)ot(Q[U],t);Object.freeze&&Object.freeze(Q)}else w("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else ot(Q,t)}if(D.call(A,"key")){var E=y(t),S=Object.keys(A).filter(function(t){return"key"!==t}),N=S.length>0?"{key: someKey, "+S.join(": ..., ")+": ...}":"{key: someKey}";ct[E+N]||(w('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',N,E,S.length>0?"{"+S.join(": ..., ")+": ...}":"{}",E),ct[E+N]=!0)}return t===i?function(t){for(var e=Object.keys(t.props),A=0;A<e.length;A++){var r=e[A];if("children"!==r&&"key"!==r){rt(t),w("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",r),rt(null);break}}null!==t.ref&&(rt(t),w("Invalid attribute `ref` supplied to `React.Fragment`."),rt(null))}(F):lt(F),F}var ht=function(t,e,A){return ut(t,e,A,!1)},dt=function(t,e,A){return ut(t,e,A,!0)};tt.Fragment=i,tt.jsx=ht,tt.jsxs=dt}()),tt);var et=J.exports;class At{constructor(){}static getInstance(){return At.instance||(At.instance=new At),At.instance}getAvailableComponentsForConditional(t,e){if(!t||!Array.isArray(t))return[];const A=t=>{let e=[];return t.forEach(t=>{e.push(t),"section"===t.name&&t.children&&(e=[...e,...A(t.children)]),"table"===t.name&&t.cells&&t.cells.forEach(t=>{t.forEach(t=>{t.components&&(e=[...e,...A(t.components)])})}),"datagrid"===t.name&&t.templateComponents&&(e=[...e,...A(t.templateComponents)])}),e},r=A(t).filter(t=>!e||t.id!==e).filter(t=>!["section","table","datagrid"].includes(t.name)).map(t=>{const e={id:t.id,label:t.basic?.label||t.id,type:t.name,key:t.id};return["segment","select","radio","checkbox"].includes(t.name)&&t.basic?.options&&(e.options=t.basic.options.map(t=>({label:t.label||t.value||String(t),value:String(void 0!==t.value?t.value:t)}))),e}).sort((t,e)=>t.label.localeCompare(e.label));return r}getApplicableOperators(t){switch(t){case"text-input":case"email-input":case"textarea":return["equals","notEquals","contains","notContains","isEmpty","isNotEmpty"];case"number-input":case"date-picker":case"datetime-picker":return["equals","notEquals","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","isEmpty","isNotEmpty"];case"select":case"radio":case"segment":default:return["equals","notEquals","isEmpty","isNotEmpty"];case"checkbox":return["checked","notChecked","contains","notContains","isEmpty","isNotEmpty"]}}findComponent(t,e){if(t&&Array.isArray(t))for(const A of t){if(A.id===e||A._id===e||A.basic?.label===e)return A;if("section"===A.name&&A.children){const t=this.findComponent(A.children,e);if(t)return t}if("table"===A.name&&A.cells)for(const t of A.cells)for(const A of t)if(A.components){const t=this.findComponent(A.components,e);if(t)return t}if("datagrid"===A.name&&A.templateComponents){const t=this.findComponent(A.templateComponents,e);if(t)return t}if("datagrid"===A.name&&A.entries)for(const t of A.entries)if(t.components){const A=this.findComponent(t.components,e);if(A)return A}}}getAllComponents(t){const e=[],A=t=>{if(t&&Array.isArray(t))for(const r of t){if(e.push(r),r.children&&A(r.children),r.templateComponents&&A(r.templateComponents),r.cells)for(const t of r.cells)for(const e of t)e.components&&A(e.components);if(r.entries)for(const t of r.entries)t.components&&A(t.components)}};return A(t),e}validateConditionalLogic(t,e){const A=[];return t?(["show","hide","always"].includes(t.action)||A.push("Invalid conditional action"),["all","any"].includes(t.when)||A.push("Invalid when condition"),t.conditions&&0!==t.conditions.length?t.conditions.forEach((t,r)=>{const n=this.findComponent(e,t.when);if(!n)return void A.push(`Condition ${r+1}: Component not found`);this.getApplicableOperators(n.name).includes(t.operator)||("checkbox"!==n.name||"checked"!==t.operator&&"notChecked"!==t.operator)&&A.push(`Condition ${r+1}: Operator not applicable for component type`),this.isValidConditionValue(t.value,n.name,t.operator)||A.push(`Condition ${r+1}: Invalid condition value`)}):A.push("At least one condition is required"),{isValid:0===A.length,errors:A}):{isValid:!0,errors:[]}}evaluateConditionalLogic(t,e,A){if("always"===t.action)return{shouldShow:!0,evaluatedConditions:[]};if(!t||!t.conditions||0===t.conditions.length)return{shouldShow:!0,evaluatedConditions:[]};const r=t.conditions.map(t=>{const r=this.getComponentValue(t.when,e,A);return{condition:t,result:this.evaluateCondition(t,r),componentValue:r}});return{shouldShow:this.determineFinalResult(t,r),evaluatedConditions:r}}getComponentValue(t,e,A){if(A&&void 0!==A[t])return A[t];let r=this.findComponent(e,t);if(!r){const t=this.getAllComponents(e),n=Object.keys(A||{});for(const e of t)if(n.includes(e.id)||n.includes(e._id)){r=e;break}}if(r){const t=[r.id,r._id,r.basic?.label].filter(Boolean);for(const e of t)if(A&&void 0!==A[e])return A[e];if(void 0!==r.basic?.value&&null!==r.basic?.value&&""!==r.basic?.value)return r.basic.value;if(void 0!==r.basic?.defaultValue&&null!==r.basic?.defaultValue&&""!==r.basic?.defaultValue)return r.basic.defaultValue}}evaluateCondition(t,e){const{operator:A,value:r}=t;if("checked"===r||"notChecked"===r||"checked"===A||"notChecked"===A){const t="checked"===r||"notChecked"===r?r:A;return this.evaluateCheckboxCondition(e,t)}switch(A){case"equals":return this.isEqual(e,r);case"notEquals":return!this.isEqual(e,r);case"isEmpty":return this.isEmpty(e);case"isNotEmpty":return!this.isEmpty(e);case"contains":return this.contains(e,r);case"notContains":return!this.contains(e,r);case"greaterThan":return this.isGreaterThan(e,r);case"lessThan":return this.isLessThan(e,r);case"greaterThanOrEqual":return this.isGreaterThanOrEqual(e,r);case"lessThanOrEqual":return this.isLessThanOrEqual(e,r);default:return!1}}evaluateCheckboxCondition(t,e){const A=this.isCheckboxChecked(t);return"checked"===e?A:"notChecked"===e&&!A}isCheckboxChecked(t){return null!=t&&("boolean"==typeof t?t:"string"==typeof t?"true"===t.toLowerCase()||"1"===t||"checked"===t.toLowerCase()||t.length>0:Array.isArray(t)?t.length>0:"number"==typeof t&&t>0)}determineFinalResult(t,e){let A,r;return A="all"===t.when?e.every(t=>t.result):"any"===t.when&&e.some(t=>t.result),r="show"===t.action?A:"hide"===t.action?!A:(t.action,!0),r}isEqual(t,e){if(t==e)return!0;if(null==t||null==e)return!1;try{const A=String(t).trim(),r=String(e).trim();if(""!==A&&""!==r&&!isNaN(Number(A))&&!isNaN(Number(r))&&Number(A)===Number(r))return!0;if(A.toLowerCase()===r.toLowerCase())return!0}catch(t){}if(!Array.isArray(t)&&Array.isArray(e))return e.some(e=>this.isEqual(t,e));if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return!1;const A=[...t].sort(),r=[...e].sort();return A.every((t,e)=>this.isEqual(t,r[e]))}if("object"==typeof t&&"object"==typeof e){const A=Object.keys(t),r=Object.keys(e);return A.length===r.length&&A.every(A=>this.isEqual(t[A],e[A]))}return!1}isEmpty(t){return null==t||void 0===t||("string"==typeof t?""===t.trim():Array.isArray(t)?0===t.length:"object"==typeof t&&0===Object.keys(t).length)}contains(t,e){return null!=t&&null!=e&&("string"==typeof t?t.trim().toLowerCase().includes(String(e).trim().toLowerCase()):Array.isArray(t)?Array.isArray(e)?e.some(e=>t.some(t=>this.isEqual(t,e))):t.some(t=>this.isEqual(t,e)):!("string"!=typeof t||!Array.isArray(e))&&e.some(e=>t.trim().toLowerCase().includes(String(e).trim().toLowerCase())))}isGreaterThan(t,e){const A="number"==typeof t?t:parseFloat(String(t)),r="number"==typeof e?e:parseFloat(String(e));return!isNaN(A)&&!isNaN(r)&&A>r}isLessThan(t,e){const A="number"==typeof t?t:parseFloat(String(t)),r="number"==typeof e?e:parseFloat(String(e));return!isNaN(A)&&!isNaN(r)&&A<r}isGreaterThanOrEqual(t,e){const A="number"==typeof t?t:parseFloat(String(t)),r="number"==typeof e?e:parseFloat(String(e));return!isNaN(A)&&!isNaN(r)&&A>=r}isLessThanOrEqual(t,e){const A="number"==typeof t?t:parseFloat(String(t)),r="number"==typeof e?e:parseFloat(String(e));return!isNaN(A)&&!isNaN(r)&&A<=r}isValidConditionValue(t,e,A){if(null==t)return["isEmpty","isNotEmpty"].includes(A);switch(e){case"number-input":return!isNaN(Number(t))||["isEmpty","isNotEmpty"].includes(A);case"date-picker":case"datetime-picker":return!isNaN(Date.parse(t))||["isEmpty","isNotEmpty"].includes(A);case"checkbox":return Array.isArray(t)||"string"==typeof t||"number"==typeof t;default:return!0}}createDefaultConditionalLogic(){return{action:"show",when:"all",conditions:[]}}getOperatorDisplayText(t){return{equals:"Is Equal To",notEquals:"Is Not Equal To",contains:"Contains",notContains:"Does Not Contain",isEmpty:"Is Empty",isNotEmpty:"Is Not Empty",greaterThan:"Is Greater Than",lessThan:"Is Less Than",greaterThanOrEqual:"Is Greater Than Or Equal To",lessThanOrEqual:"Is Less Than Or Equal To",checked:"Is Checked",notChecked:"Is Not Checked"}[t]||t}getActionDisplayText(t){return{show:"Show this field when",hide:"Hide this field when",always:"Always show this field"}[t]||t}getConditionalLogicSummary(t,e){if(!t||0===t.conditions.length)return"No conditions";if("always"===t.action)return"Always show";const A=this.getActionDisplayText(t.action),r=t.conditions.map(t=>{const A=e.find(e=>e.id===t.when);return`${A?.basic.label||"Unknown component"} ${this.getOperatorDisplayText(t.operator)} ${this.formatConditionValue(t.value)}`}),n="all"===t.when?" and ":" or ";return`${A} ${r.join(n)}`}formatConditionValue(t){return null==t?"empty":Array.isArray(t)?`[${t.join(", ")}]`:"string"==typeof t?`"${t}"`:String(t)}}const rt=At.getInstance();const nt=new class{constructor(){this.toasts=[],this.listeners=[],this.defaultDuration=3e3,this.timeouts={}}generateId(){return Date.now().toString(36)+Math.random().toString(36).substr(2)}notifyListeners(){this.listeners.forEach(t=>t([...this.toasts]))}addToast(t){try{this.toasts.push(t),this.notifyListeners(),this.timeouts[t.id]=setTimeout(()=>{this.removeToast(t.id)},t.duration||this.defaultDuration)}catch(t){console.error("Error displaying toast message:",t)}}removeToast(t){this.timeouts[t]&&(clearTimeout(this.timeouts[t]),delete this.timeouts[t]),this.toasts=this.toasts.filter(e=>e.id!==t),this.notifyListeners()}showSuccess(t,e=3e3){const A={id:this.generateId(),message:t,type:"success",duration:e};this.addToast(A)}showError(t,e=5e3){const A={id:this.generateId(),message:t,type:"danger",duration:e};this.addToast(A)}showWarning(t,e){const A={id:this.generateId(),message:t,type:"warning",duration:e};this.addToast(A)}showInfo(t,e){const A={id:this.generateId(),message:t,type:"info",duration:e};this.addToast(A)}show(t,e="success",A){const r={id:this.generateId(),message:t,type:e,duration:A};this.addToast(r)}clearAll(){Object.values(this.timeouts).forEach(t=>clearTimeout(t)),this.timeouts={},this.toasts=[],this.notifyListeners()}subscribe(t){return this.listeners.push(t),()=>{this.listeners=this.listeners.filter(e=>e!==t)}}getToasts(){return[...this.toasts]}},it=({validationErrors:t,fieldId:e,touchedFields:A,formSubmitted:r,properties:n,localValidation:i,isTouched:s,mode:a})=>{const o=t=>{const e=n.basic.label||"This field",A=n.name||"",r=n.validation?.customValidationMessage;if("number-input"===A)switch(t){case"required":return`${e} is required`;case"lowerLimit":return"Number is below the lower limit";case"upperLimit":return"Number is above the upper limit";default:return""}if(r)return r;const i="date-picker"===A||"datetime-picker"===A?n.basic?.dateTimeMode||("datetime-picker"===A?"datetime":"date"):null;switch(t){case"required":return`${e} is required`;case"invalidDate":return"time"===i?"Please select a valid time":"datetime"===i?"Please select a valid date and time":"date"===i?"Please select a valid date":`${e} is invalid`;case"minLength":return`${e} must be at least ${n.validation.minLength} characters long`;case"maxLength":return`${e} must be no more than ${n.validation.maxLength} characters long`;case"min":return`${e} must be at least ${n.validation.min}`;case"max":return`${e} must be no more than ${n.validation.max}`;case"lowerLimit":const t=n.validation,A=t?.lowerLimit;return`You are under the limit. ${e} must be at least ${A}`;case"upperLimit":const r=n.validation,s=r?.upperLimit;return`You crossed the limit. ${e} must be no more than ${s}`;case"pattern":return`${e} format is invalid`;case"email":return`${e} must be a valid email address`;default:return`${e} is invalid`}},l=(()=>{if("test"!==a)return"";if(!(s||A[e]||r))return"";if(i&&i.isValid)return"";if(i&&!i.isValid&&Object.keys(i.errors).length>0){const t=Object.keys(i.errors).filter(t=>!0===i.errors[t]);if(t.length>0){const e=t[0],A=n.name||"";return"pattern"===e&&"number-input"===A?"":o(e)}}const l=t[e];if(l&&"string"==typeof l&&""!==l.trim()){const t=n.name||"";if("number-input"===t&&i){const t=n.validation,e=t&&"lowerLimit"in t&&void 0!==t.lowerLimit&&null!==t.lowerLimit&&0!==t.lowerLimit,A=t&&"upperLimit"in t&&void 0!==t.upperLimit&&null!==t.upperLimit&&0!==t.upperLimit;return!l.includes("limit")&&!l.includes("Limit")||e||A?(i.isValid,""):""}if(("date-picker"===t||"datetime-picker"===t)&&l.includes("valid date")){const e=n.basic?.dateTimeMode||("datetime-picker"===t?"datetime":"date");if("time"===e)return"Please select a valid time";if("datetime"===e)return"Please select a valid date and time"}return l}return""})();return l?et.jsx("div",{className:"form-error-msg",children:l}):null},st=t=>{if(null==t||""===t)return null;if(t instanceof Date)return isNaN(t.getTime())?null:t;if("number"==typeof t){const e=new Date(t);return isNaN(e.getTime())?null:e}if("string"==typeof t){let e=t.trim();e.match(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}/)&&(e=e.replace(" ","T"));const A=new Date(e);return isNaN(A.getTime())?null:A}return null};var at;!function(t){t.OPEN="Open",t.IN_PROGRESS="In-Progress",t.REJECTED="Rejected",t.RESOLVE="Resolve"}(at||(at={}));const ot=({isOpen:r,onClose:n,onSuccess:i,component:d,formTemplateId:f,notes:p="",attachments:g=null,issue:m=null,onCreateIssue:w,onUpdateIssue:B,user:y,availableUsers:b=["Priya Das","Maria Garcia","John Smith","Sarah Johnson"],workOrderNumber:v,assetNumber:C,isStandalone:x,isEdit:F})=>{const[Q,U]=e(""),[E,S]=e(""),[N,L]=e(""),[_,k]=e(""),[T,H]=e("Medium"),[O,P]=e(at.OPEN),[D,M]=e(""),[j,R]=e(""),[K,V]=e(!1),[z,G]=e(g||[]),[q,W]=e(!1),X=t.useRef(null),Y=void 0!==F?F:!!m;A(()=>{r&&(Y&&m?.attachments&&m.attachments.length>0?G(m.attachments):g&&g.length>0?G(g):G(Y&&m?.attachments?m.attachments:[]))},[r,g,m,Y]);const J=t=>{if(!t)return"Attachment";if(t instanceof File)return t.name;if("string"==typeof t){if(t.startsWith("data:"))return"Attachment";const e=t.split("/");return e[e.length-1]||"Attachment"}return t.fileName||t.filename||t.name||"Attachment"},$=t=>{if(!t)return null;const e=t=>/\.(jpg|jpeg|png|gif|webp)$/i.test(t),A=t=>t.startsWith("data:image");return t instanceof File?t.type.startsWith("image/")?URL.createObjectURL(t):null:"string"==typeof t?A(t)||e(t)?t:null:t.data&&A(t.data)||t.fileName&&e(t.fileName)&&t.data?t.data:null};A(()=>{if(r)if(m||Y){U(m?.title||""),S(m?.description||""),L(m?.workOrderNumber||v||""),k(m?.assetNumber||C||""),H(m?.priority||"Medium");const t=m?.status||at.OPEN,e=t===at.OPEN||t===at.IN_PROGRESS||t===at.REJECTED||t===at.RESOLVE?t:at.OPEN;P(e),M(m?.assignTo||""),R(m?.comments||"")}else d&&(d.basic,U(""),S(""),R(p||""),v&&L(v),C&&k(C))},[r,d,p,m,v,C]);const Z=t.useMemo(()=>{if(!Q.trim())return!1;if(!E.trim())return!1;if(!O)return!1;if(!D)return!1;if(!x){if(!N.trim())return!1;if(!_.trim())return!1}return!0},[Q,E,O,D,x,N,_]),tt=async t=>{if(m){V(!0);try{const e={title:String(Q||"").trim(),description:String(E||"").trim(),workOrderNumber:String(N||"").trim()||void 0,assetNumber:String(_||"").trim()||void 0,formTemplateId:m.formTemplateId||"",component:m.component||{},priority:T,assignTo:String(D||"").trim()||void 0,status:t,comments:String(j||"").trim()||""};B&&m._id&&await B(m._id,e),P(t);const A={[at.IN_PROGRESS]:"Issue accepted and moved to In-Progress",[at.RESOLVE]:"Issue resolved successfully",[at.REJECTED]:"Issue rejected"};nt.showSuccess(A[t]||"Issue status updated successfully"),i&&i(),n()}catch(t){const e=t?.message||t?.error?.message||"Failed to update issue status. Please try again.";nt.showError(e)}finally{V(!1)}}};if(!r)return null;const At=et.jsx("div",{className:"raise-issue-modal-overlay",onClick:n,children:et.jsxs("div",{className:"raise-issue-modal",onClick:t=>t.stopPropagation(),children:[et.jsxs("div",{className:"raise-issue-modal-header",children:[et.jsxs("div",{className:"raise-issue-modal-header-left",children:[et.jsx(s,{className:"raise-issue-modal-icon",size:20}),et.jsx("div",{className:"raise-issue-modal-header-text",children:et.jsx("div",{className:"raise-issue-modal-title-main",children:Y?"Issue Details":"Create Issue"})})]}),et.jsx("button",{className:"raise-issue-modal-close",onClick:n,"aria-label":"Close",children:et.jsx(a,{size:18})})]}),et.jsx("div",{className:"raise-issue-modal-content",children:et.jsxs("div",{className:"raise-issue-fields-grid",children:[Y&&m?.issueNumber&&et.jsxs("div",{className:"raise-issue-field",children:[et.jsx("label",{className:"raise-issue-field-label",children:"Issue ID"}),et.jsx("input",{type:"text",className:"raise-issue-field-input raise-issue-field-readonly",value:m.issueNumber,readOnly:!0})]}),et.jsxs("div",{className:"raise-issue-field",children:[et.jsx("label",{className:"raise-issue-field-label",children:"Task"}),et.jsx("input",{type:"text",className:"raise-issue-field-input raise-issue-field-readonly",value:Y?m?.component?.basic?.label||"":d?.basic?.label||"",readOnly:!0})]}),et.jsxs("div",{className:"raise-issue-field",children:[et.jsx("label",{className:"raise-issue-field-label",children:"Task Value"}),et.jsx("input",{type:"text",className:"raise-issue-field-input raise-issue-field-readonly",value:Y?m?.component?.basic?.value||"":d?.basic?.value||"",readOnly:!0})]}),et.jsxs("div",{className:"raise-issue-field",children:[et.jsxs("label",{className:"raise-issue-field-label",children:["Title ",et.jsx("span",{className:"raise-issue-required",children:"*"})]}),et.jsx("input",{type:"text",className:"raise-issue-field-input "+(Y?"raise-issue-field-readonly":""),value:Q,onChange:t=>U(t.target.value),placeholder:"Enter issue title",readOnly:Y})]}),!x&&et.jsxs("div",{className:"raise-issue-field",children:[et.jsxs("label",{className:"raise-issue-field-label",children:["Work Order ",et.jsx("span",{className:"raise-issue-required",children:"*"})]}),et.jsx("input",{type:"text",className:"raise-issue-field-input "+(Y?"raise-issue-field-readonly":""),value:N,onChange:t=>L(t.target.value),placeholder:"N/A",readOnly:Y})]}),!x&&et.jsxs("div",{className:"raise-issue-field",children:[et.jsxs("label",{className:"raise-issue-field-label",children:["Asset Number ",et.jsx("span",{className:"raise-issue-required",children:"*"})]}),et.jsx("input",{type:"text",className:"raise-issue-field-input "+(Y?"raise-issue-field-readonly":""),value:_,onChange:t=>k(t.target.value),placeholder:"Enter asset number",readOnly:Y})]}),et.jsxs("div",{className:"raise-issue-field",children:[et.jsxs("label",{className:"raise-issue-field-label",children:["Raised By ",et.jsx("span",{className:"raise-issue-required",children:"*"})]}),et.jsxs("div",{className:"raise-issue-field-value-with-icon",children:[et.jsx(o,{size:16}),et.jsx("span",{children:y&&`${y.firstName||""} ${y.lastName||""}`.trim()||"User"})]})]}),et.jsxs("div",{className:"raise-issue-field",children:[et.jsx("label",{className:"raise-issue-field-label",children:"Created On"}),et.jsxs("div",{className:"raise-issue-field-value-with-icon",children:[et.jsx(l,{size:16}),et.jsx("span",{children:Y&&m?.createdAt?(st(m.createdAt)||new Date).toLocaleString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!0}):(new Date).toLocaleString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!0})})]})]}),et.jsxs("div",{className:"raise-issue-field raise-issue-field-full-width",children:[et.jsxs("label",{className:"raise-issue-field-label",children:["Description ",et.jsx("span",{className:"raise-issue-required",children:"*"})]}),et.jsx("textarea",{className:"raise-issue-field-textarea "+(Y?"raise-issue-field-readonly":""),value:E,onChange:t=>S(t.target.value),placeholder:"Enter issue description",rows:4,readOnly:Y})]}),et.jsxs("div",{className:"raise-issue-field",children:[et.jsxs("label",{className:"raise-issue-field-label",children:["Status ",et.jsx("span",{className:"raise-issue-required",children:"*"})]}),et.jsxs("select",{className:"raise-issue-field-select "+(Y?"":"raise-issue-field-readonly"),value:O,onChange:t=>P(t.target.value),disabled:!Y,children:[et.jsx("option",{value:at.OPEN,children:at.OPEN}),et.jsx("option",{value:at.IN_PROGRESS,children:at.IN_PROGRESS}),et.jsx("option",{value:at.REJECTED,children:at.REJECTED}),et.jsx("option",{value:at.RESOLVE,children:at.RESOLVE})]})]}),et.jsxs("div",{className:"raise-issue-field",children:[et.jsxs("label",{className:"raise-issue-field-label",children:["Assign to ",et.jsx("span",{className:"raise-issue-required",children:"*"})]}),et.jsxs("select",{className:"raise-issue-field-select",value:D,onChange:t=>M(t.target.value),children:[et.jsx("option",{value:"",children:"Unassigned"}),b.map(t=>et.jsx("option",{value:t,children:t},t))]})]}),et.jsxs("div",{className:"raise-issue-field raise-issue-field-full-width",children:[et.jsxs("label",{className:"raise-issue-field-label",children:["Priority ",et.jsx("span",{className:"raise-issue-required",children:"*"})]}),et.jsxs("div",{className:"raise-issue-priority-buttons",children:[et.jsx("button",{type:"button",className:"priority-button priority-low "+("Low"===T?"active":""),onClick:()=>H("Low"),children:"Low"}),et.jsx("button",{type:"button",className:"priority-button priority-medium "+("Medium"===T?"active":""),onClick:()=>H("Medium"),children:"Medium"}),et.jsx("button",{type:"button",className:"priority-button priority-high "+("High"===T?"active":""),onClick:()=>H("High"),children:"High"})]})]}),et.jsxs("div",{className:"raise-issue-field raise-issue-field-full-width",children:[et.jsxs("label",{className:"raise-issue-field-label-with-icon",children:[et.jsx(c,{size:16}),et.jsx("span",{children:"Comments"})]}),!j&&et.jsx("div",{className:"raise-issue-no-comments",children:"No comments yet"}),et.jsx("textarea",{className:"raise-issue-field-textarea raise-issue-comments-textarea "+(Y?"raise-issue-field-readonly":""),value:j,onChange:t=>R(t.target.value),placeholder:"Add a comment...",rows:4,readOnly:Y})]}),et.jsxs("div",{className:"raise-issue-field raise-issue-field-full-width",style:{marginTop:"1rem"},children:[et.jsx("label",{className:"raise-issue-field-label",children:"Attachments"}),et.jsxs("div",{className:"raise-issue-attachments-container",children:[!Y&&et.jsxs("div",{className:"raise-issue-dropzone "+(q?"dragging":""),onDragOver:t=>{t.preventDefault(),W(!0)},onDragLeave:t=>{t.preventDefault(),W(!1)},onDrop:t=>{if(t.preventDefault(),W(!1),t.dataTransfer.files&&t.dataTransfer.files.length>0){const e=Array.from(t.dataTransfer.files);G(t=>[...t,...e])}},onClick:()=>X.current?.click(),children:[et.jsx("input",{type:"file",ref:X,style:{display:"none"},onChange:t=>{if(t.target.files&&t.target.files.length>0){const e=Array.from(t.target.files);G(t=>[...t,...e]),X.current&&(X.current.value="")}},multiple:!0}),et.jsx("div",{className:"raise-issue-dropzone-icon",children:et.jsx(u,{size:24})}),et.jsx("div",{className:"raise-issue-dropzone-text",children:"Click to upload or drag and drop"}),et.jsx("div",{className:"raise-issue-dropzone-hint",children:"PNG, JPG up to 10MB"})]}),z.length>0&&et.jsx("div",{className:"raise-issue-attachments-list",children:z.map((t,e)=>et.jsxs("div",{className:"raise-issue-attachment-item",children:[et.jsx("div",{className:"raise-issue-attachment-thumbnail",children:$(t)?et.jsx("img",{src:$(t),alt:"Thumbnail"}):et.jsx(h,{size:20,color:"#9ca3af"})}),et.jsxs("div",{className:"raise-issue-attachment-info",children:[et.jsx("span",{className:"attachment-name",title:J(t),children:J(t)}),t instanceof File&&et.jsxs("span",{className:"attachment-size",children:[(t.size/1024).toFixed(1)," KB"]})]}),!Y&&et.jsx("button",{type:"button",className:"attachment-remove-btn",onClick:()=>(t=>{G(e=>e.filter((e,A)=>A!==t))})(e),title:"Remove",children:et.jsx(a,{size:12})})]},e))})]})]})]})}),et.jsx("div",{className:"raise-issue-modal-actions",children:et.jsxs("div",{className:"raise-issue-modal-actions-buttons",children:[Y&&m&&et.jsxs(et.Fragment,{children:[O===at.OPEN&&et.jsx("button",{className:"raise-issue-modal-button raise-issue-modal-button-accept",onClick:async()=>{await tt(at.IN_PROGRESS)},disabled:K,children:K?"Processing...":"Accept"}),O===at.IN_PROGRESS&&et.jsx("button",{className:"raise-issue-modal-button raise-issue-modal-button-resolve",onClick:async()=>{await tt(at.RESOLVE)},disabled:K,children:K?"Processing...":"Resolve"}),(O===at.OPEN||O===at.IN_PROGRESS)&&et.jsx("button",{className:"raise-issue-modal-button raise-issue-modal-button-reject",onClick:async()=>{await tt(at.REJECTED)},disabled:K,children:K?"Processing...":"Reject"})]}),!Y&&et.jsx("button",{className:"raise-issue-modal-button raise-issue-modal-button-save "+(Z?"":"disabled"),onClick:async()=>{if(String(Q||"").trim())if(String(E||"").trim())if(x||String(N||"").trim())if(x||String(_||"").trim())if(String(D||"").trim()){V(!0);try{if(Y&&m){const t={title:String(Q||"").trim(),description:String(E||"").trim(),workOrderNumber:String(N||"").trim()||void 0,assetNumber:String(_||"").trim()||void 0,formTemplateId:m.formTemplateId||"",component:m.component||{},priority:T,assignTo:String(D||"").trim()||void 0,status:O,comments:String(j||"").trim()||"",task:m.component?.basic?.label||"",taskValue:m.component?.basic?.value||""};B&&m._id&&await B(m._id,t),nt.showSuccess("Issue updated successfully"),i&&i(),n()}else{if(!d)return nt.showError("Component is required"),void V(!1);if(!f||""===String(f||"").trim())return nt.showError("Form template is required"),void V(!1);const t={...d,basic:{...d.basic,comments:String(p||"")}},e=y?`${y.firstName||""} ${y.lastName||""}`.trim():"User",A={title:String(Q||"").trim(),workOrderNumber:String(N||"").trim()||void 0,assetNumber:String(_||"").trim()||void 0,component:t,description:String(E||"").trim(),formTemplateId:f,assignTo:String(D||"").trim()||void 0,priority:T,status:O,comments:String(j||"").trim()||"",createdBy:e,task:d?.basic?.label||"",taskValue:d?.basic?.value||""};let r;if(w&&(r=await w(A,z)),nt.showSuccess("Issue raised successfully"),i){const t={_id:r?._id||"temp-id",issueNumber:r?.issueNumber||"",title:A.title,description:A.description,status:A.status,priority:A.priority,createdAt:r?.createdAt||(new Date).toISOString(),updatedAt:r?.updatedAt||(new Date).toISOString(),component:A.component,workOrderNumber:A.workOrderNumber,assetNumber:A.assetNumber,assignTo:A.assignTo,comments:A.comments,attachments:r?.attachments||z,...r};i(t)}n()}}catch(t){const e=t?.message||t?.error?.message||(Y?"Failed to update issue. Please try again.":"Failed to raise issue. Please try again.");nt.showError(e)}finally{V(!1)}}else nt.showError("Assignee is required");else nt.showError("Asset Number is required");else nt.showError("Work Order is required");else nt.showError("Description is required");else nt.showError("Title is required")},disabled:K||!Z,children:K?"Creating...":"Create Issue"})]})})]})});return I(At,document.body)},lt=({component:t,condition:n,currentValue:i,thresholdValue:a,formTemplateId:o,workOrderNumber:l,assetNumber:c,user:u,onIssueRaised:h,isIssueRaised:d=!1,compact:f=!1})=>{const[p,g]=e(!1),[m,w]=e(null),[B,y]=e(!1),[b,v]=e(!1);A(()=>{d&&v(!0)},[d]),A(()=>{v(!1)},[n?.id]);const C=t=>({greaterThan:">",lessThan:"<",greaterThanOrEqual:"≥",lessThanOrEqual:"≤",equals:"=",notEquals:"≠"}[t]||t),x=r(async()=>{if(d||b){if(m)return void g(!0);y(!0);try{w(null),g(!0)}catch(t){console.error("Error fetching issue:",t),nt.showError("Failed to load issue details")}finally{y(!1)}}else w(null),g(!0)},[d,b,o,t,m]),F=r(()=>{g(!1),d||b||w(null)},[d,b]),Q=r(t=>{g(!1),w(t||null),v(!0),h&&n?.id&&h(n.id)},[h,n]);return d||b?et.jsx(et.Fragment,{children:p&&et.jsx(ot,{isOpen:p,onClose:F,onSuccess:Q,component:t,formTemplateId:o,workOrderNumber:l,assetNumber:c,user:u,notes:"",attachments:null,issue:m})}):f?et.jsxs(et.Fragment,{children:[et.jsxs("div",{className:"threshold-alert threshold-alert-unresolved threshold-alert-compact",children:[et.jsx("div",{className:"threshold-alert-border"}),et.jsxs("div",{className:"threshold-alert-content-compact",children:[et.jsx(s,{className:"threshold-alert-icon-compact",size:14}),et.jsx("span",{className:"threshold-alert-message-compact",children:`Threshold ${C(n.operator)} ${a}`}),et.jsx("button",{type:"button",onClick:x,className:"threshold-alert-raise-issue-btn-compact",title:"Raise Issue",children:"Raise Issue"})]})]}),p&&et.jsx(ot,{isOpen:p,onClose:F,onSuccess:Q,component:t,formTemplateId:o,workOrderNumber:l,assetNumber:c,user:u,notes:"",attachments:null,issue:m})]}):et.jsxs(et.Fragment,{children:[et.jsxs("div",{className:"threshold-alert threshold-alert-unresolved",children:[et.jsx("div",{className:"threshold-alert-border"}),et.jsxs("div",{className:"threshold-alert-content",children:[et.jsx("div",{className:"threshold-alert-header",children:et.jsxs("div",{className:"threshold-alert-title-group",children:[et.jsx(s,{className:"threshold-alert-icon",size:20}),et.jsx("span",{className:"threshold-alert-title",children:"Threshold Condition Met - Action Required"})]})}),et.jsxs("div",{className:"threshold-alert-message",children:[(()=>{const e=C(n.operator);return`${t.basic?.label||"Value"}: Value ${i} exceeds threshold ${e} ${a}`})(),et.jsx("span",{className:"threshold-alert-warning",children:" You must raise an issue before submitting the form."})]}),et.jsx("div",{className:"threshold-alert-buttons",children:et.jsx("button",{type:"button",onClick:x,className:"threshold-alert-raise-issue-btn",children:"Raise Issue Now"})})]})]}),p&&et.jsx(ot,{isOpen:p,onClose:F,onSuccess:Q,component:t,formTemplateId:o,workOrderNumber:l,assetNumber:c,user:u,notes:"",attachments:null,issue:m})]})},ct=({id:t,properties:s,validationErrors:a={},formValue:o="",inputType:l="text",readonly:c=!1,disabled:u=!1,touchedFields:h={},formSubmitted:d=!1,mode:f="test",onValueChange:p,onBlur:g,onFocus:m,className:w="",hideLabel:B=!1,formTemplateId:y,onThresholdIssueRaised:b,raisedThresholdIssues:v=new Set,workOrderNumber:C,assetNumber:x,user:F})=>{const Q=t=>null==t?"":"string"==typeof t?t:"number"==typeof t||"boolean"==typeof t?String(t):"object"==typeof t?Array.isArray(t)?"":"value"in t?Q(t.value):"label"in t?Q(t.label):"":String(t||""),U=n(t),E=n(null);A(()=>{t!==U.current&&(console.warn(`[DfFormInput] Component ID changed from ${U.current} to ${t}`),U.current=t)},[t]);const S=Q(o||s?.basic?.defaultValue||""),[N,L]=e(S),[_,I]=e(!1),[k,T]=e(!1),[H,O]=e(new Set),[P,D]=e(S),M=()=>{if(l)return l;const t=s?.name;return"text-input"===t?"text":"number-input"===t?"number":"email-input"===t?"email":"text"},j=r(t=>{const e=(()=>{const t={};if(s?.validation?.required&&(t.required=!0),"email"===M()&&(t.email=!0),"text"===M()){const e=s.validation;e?.minLength&&(t.minLength=e.minLength),e?.maxLength&&(t.maxLength=e.maxLength)}if("number"===M()){const e=s.validation;e&&"lowerLimit"in e&&void 0!==e.lowerLimit&&null!==e.lowerLimit&&0!==e.lowerLimit&&(t.lowerLimit=e.lowerLimit),e&&"upperLimit"in e&&void 0!==e.upperLimit&&null!==e.upperLimit&&0!==e.upperLimit&&(t.upperLimit=e.upperLimit)}return t})(),A={};let r=!0;const n="string"==typeof t?t:null!=t?String(t):"";if(!e.required||n&&""!==n.trim()||(A.required=!0,r=!1),e.email&&n&&!/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(n)&&(A.email=!0,r=!1),e.minLength&&n&&n.length<e.minLength&&(A.minLength=!0,r=!1),e.maxLength&&n&&n.length>e.maxLength&&(A.maxLength=!0,r=!1),"number"===M())if(delete A.pattern,delete A.min,delete A.max,n&&""!==n.trim()){const t=n.trim(),i=parseFloat(t);isNaN(i)||("lowerLimit"in e&&void 0!==e.lowerLimit&&null!==e.lowerLimit&&0!==e.lowerLimit&&i<e.lowerLimit&&(A.lowerLimit=!0,r=!1),"upperLimit"in e&&void 0!==e.upperLimit&&null!==e.upperLimit&&0!==e.upperLimit&&i>e.upperLimit&&(A.upperLimit=!0,r=!1))}else delete A.lowerLimit,delete A.upperLimit;return{isValid:r,errors:A}},[s,M]),R=r(e=>{const A="string"==typeof e?e:null!=e?String(e):"";if(L(A),p){const e=j(A),r=U.current,n={id:r,value:A,isValid:e.isValid,errors:e.errors};r!==t&&console.error(`[DfFormInput] ID mismatch in handleValueChange! ref: ${r}, prop: ${t}`),p(n)}},[t,p,j,U]);A(()=>{_&&(h[t]=!0)},[_,t,h]),A(()=>{if("edit"===f){I(!1);L(s?.basic?.defaultValue||"")}else"test"===f&&(I(!1),L(""))},[f,s?.basic?.defaultValue]),A(()=>{const e=U.current,A=Q(o||s?.basic?.defaultValue||"");A===N||k||""===A&&""!==String(N||"").trim()?""===A&&String(N||"").trim():null!=o&&(e===t?L(A):console.error(`[DfFormInput] ID mismatch! componentIdRef: ${e}, prop id: ${t}`))},[o,N,k,s?.basic?.defaultValue,t]),A(()=>{d&&I(!0)},[d]),A(()=>{"test"!==f&&L("")},[f]);const K=r((t,e)=>{if(!e||""===e)return!1;const A="string"==typeof e?parseFloat(e):e,r="string"==typeof t.value?parseFloat(t.value):t.value;if(isNaN(A)||isNaN(r))return!1;switch(t.operator){case"greaterThan":return A>r;case"lessThan":return A<r;case"greaterThanOrEqual":return A>=r;case"lessThanOrEqual":return A<=r;case"equals":return A===r;case"notEquals":return A!==r;default:return!1}},[]),V=i(()=>s?.condition?.conditions||[],[s?.condition]);A(()=>{N!==P&&(O(new Set),D(N))},[N,P]);const z=i(()=>{if("test"!==f||!N||""===N)return null;const t=V.filter(t=>K(t,N));if(0===t.length)return null;for(const e of t)if(!H.has(e.id))return e;return null},[N,V,H,f,K,v]),G=r(t=>{O(e=>new Set(e).add(t))},[]),q=M(),W=u||c||s?.validation?.readonly;return et.jsxs(et.Fragment,{children:[et.jsxs("div",{className:`form-group ${(()=>{const t=s?.styles?.labelAlignment;return"left"===t?"label-left":"label-top"})()}`,children:[!B&&s.basic.label&&et.jsxs("label",{htmlFor:t,className:"form-label",children:[s.basic.label,s.validation.required&&et.jsx("span",{className:"required-indicator",children:"*"})]}),et.jsxs("div",{className:"input-wrapper",ref:E,children:[et.jsx("input",{type:q,id:t,value:N,onChange:t=>{const e=t.target.value;R(e)},onFocus:()=>{T(!0),m&&m()},onBlur:()=>{if(T(!1),I(!0),"test"===f&&p){const e="string"==typeof N?N:null!=N?String(N):"",A=j(e),r={id:t,value:e,isValid:A.isValid,errors:A.errors};p(r)}g&&g()},placeholder:s.basic.placeholder,disabled:W,readOnly:c||s?.validation?.readonly,className:(()=>{const e="form-control";if("test"===f){const A="string"==typeof N?N:null!=N?String(N):"",r=j(A);if(r.isValid)return`${e} ${w}`.trim();const n=!r.isValid&&_,i=a[t]&&(_||d)&&!r;return`${e} ${n||i?"is-invalid":""} ${w}`.trim()}return`${e} ${w}`.trim()})()}),et.jsx(it,{validationErrors:a,fieldId:t,touchedFields:h,formSubmitted:d,properties:s,localValidation:j(N),isTouched:_,mode:f})]})]}),z&&"test"===f&&(()=>{const t=v?.has(z.id)||!1,e=null!==E.current?.closest(".table-cell")||null!==E.current?.closest(".cell-content")||null!==E.current?.closest(".datagrid-table-view")||null!==E.current?.closest(".datagrid-list-view")||w.includes("table-cell")||w.includes("cell-content");return et.jsx(lt,{component:s,condition:z,currentValue:N,thresholdValue:z.value,formTemplateId:y,workOrderNumber:C,assetNumber:x,user:F,onDismiss:()=>G(z.id),onIssueRaised:b,isIssueRaised:t,compact:e},`${z.id}-${t}`)})()]})},ut=({id:t,properties:n,validationErrors:i={},formValue:s="",readonly:a=!1,disabled:o=!1,touchedFields:l={},formSubmitted:c=!1,mode:u="preview",onValueChange:h,onBlur:d,onFocus:f,className:p="",hideLabel:g=!1})=>{const[m,w]=e(s),[B,y]=e(!1),b=r(t=>{const e={};let A=!0;return!n?.validation?.required||t&&""!==t.trim()||(e.required=!0,A=!1),n?.validation?.minLength&&t&&t.length<n.validation.minLength&&(e.minLength=!0,A=!1),n?.validation?.maxLength&&t&&t.length>n.validation.maxLength&&(e.maxLength=!0,A=!1),{isValid:A,errors:e}},[n]),v=r(e=>{if(w(e),h){const A=b(e),r={id:t,value:e,isValid:A.isValid,errors:A.errors};h(r)}},[t,h,b]);A(()=>{B&&(l[t]=!0)},[B,t,l]),A(()=>{""===m&&""!==s&&w(s)},[s]),A(()=>{c&&y(!0)},[c]),A(()=>{"test"!==u&&w("")},[u]);const C=o||a||n?.validation?.readonly,x=n?.validation?.rows||4;return et.jsxs("div",{className:`form-group ${(()=>{const t=n?.styles?.labelAlignment;return"left"===t?"label-left":"label-top"})()}`,children:[!g&&n.basic.label&&et.jsxs("label",{htmlFor:t,className:"form-label",children:[n.basic.label,n.validation.required&&et.jsx("span",{className:"required-indicator",children:"*"})]}),et.jsxs("div",{className:"input-wrapper",children:[et.jsx("textarea",{id:t,value:m,onChange:t=>{const e=t.target.value;v(e)},onFocus:()=>{f&&f()},onBlur:()=>{y(!0),d&&d()},placeholder:n.basic.placeholder,disabled:C,readOnly:a||n?.validation?.readonly,rows:x,className:`form-textarea ${!b(m).isValid&&B?"is-invalid":""} ${p}`.trim()}),et.jsx(it,{validationErrors:i,fieldId:t,touchedFields:l,formSubmitted:c,properties:n,localValidation:b(m),isTouched:B,mode:u})]})]})},ht=({id:t,properties:n,validationErrors:i={},formValue:s="",readonly:a=!1,disabled:o=!1,touchedFields:l={},formSubmitted:c=!1,mode:u="preview",onValueChange:h,onBlur:d,onFocus:f,className:p="",hideLabel:g=!1})=>{const[m,w]=e(s),[B,y]=e(!1),b=n?.validation?.multiple||!1,v=r(t=>{const e={};let A=!0;return n?.validation?.required&&(b?Array.isArray(t)&&0!==t.length||(e.required=!0,A=!1):(!t||"string"==typeof t&&""===t.trim())&&(e.required=!0,A=!1)),{isValid:A,errors:e}},[n,b]),C=r(e=>{if(w(e),h){const A=v(e),r={id:t,value:e,isValid:A.isValid,errors:A.errors};h(r)}},[t,h,v]);A(()=>{B&&(l[t]=!0)},[B,t,l]),A(()=>{JSON.stringify(s)!==JSON.stringify(m)&&w(s)},[s,m]),A(()=>{c&&y(!0)},[c]);const x=o||a||n?.validation?.readonly;return et.jsxs("div",{className:`form-group ${(()=>{const t=n?.styles?.labelAlignment;return"left"===t?"label-left":"label-top"})()}`,children:[!g&&n.basic.label&&et.jsxs("label",{htmlFor:t,className:"form-label",children:[n.basic.label,n.validation.required&&et.jsx("span",{className:"required-indicator",children:"*"})]}),et.jsxs("div",{className:"input-wrapper",children:[et.jsxs("select",{id:t,value:m,onChange:t=>{if(b){const e=Array.from(t.target.selectedOptions,t=>t.value);C(e)}else C(t.target.value)},onFocus:()=>{f&&f()},onBlur:()=>{y(!0),d&&d()},disabled:x,multiple:b,className:`form-select ${!v(m).isValid&&B?"is-invalid":""} ${p}`.trim(),children:[!b&&et.jsx("option",{value:"",children:n.basic.placeholder||"Select an option"}),(n.options||[]).map((t,e)=>et.jsx("option",{value:t.value,disabled:t.disabled,children:t.label},e))]}),et.jsx(it,{validationErrors:i,fieldId:t,touchedFields:l,formSubmitted:c,properties:n,localValidation:v(m),isTouched:B,mode:u})]})]})},dt=({id:t,properties:n,validationErrors:i={},formValue:s=[],readonly:a=!1,disabled:o=!1,touchedFields:l={},formSubmitted:c=!1,mode:u="preview",onValueChange:h,onBlur:d,onFocus:f,className:p="",hideLabel:g=!1})=>{const[m,w]=e(!1),B=Array.isArray(s)?s:[],y=r(t=>{const e={};let A=!0;return n?.validation?.required&&0===t.length&&(e.required=!0,A=!1),{isValid:A,errors:e}},[n]),b=r(e=>{if(h){const A=y(e),r={id:t,value:e,isValid:A.isValid,errors:A.errors};h(r)}},[t,h,y,B]),v=(t,e)=>{let A;A=e?[...B,t]:B.filter(e=>e!==t),b(A)},C=()=>{f&&f()},x=()=>{w(!0),d&&d()};A(()=>{m&&(l[t]=!0)},[m,t,l]),A(()=>{},[s,t,B]),A(()=>{c&&w(!0)},[c]);const F=o||a||n?.validation?.readonly;return et.jsx(et.Fragment,{children:et.jsx("div",{className:`form-group checkbox-group ${(()=>{const t=n?.styles?.labelAlignment;return"left"===t?"label-left":"label-top"})()} ${n?.basic?.inlineLayout?"inline-layout":"vertical-layout"} ${p}`,children:!g&&n.basic.label?et.jsxs(et.Fragment,{children:[et.jsxs("label",{className:"form-label",children:[n.basic.label,n.validation.required&&et.jsx("span",{className:"required-indicator",children:"*"})]}),et.jsxs("div",{className:"input-wrapper",children:[et.jsx("div",{className:"mt-2 "+(n?.basic?.inlineLayout?"inline-options-grid":"space-y-2"),children:(n.options||[]).map((e,A)=>et.jsxs("div",{className:"form-check",children:[et.jsx("input",{type:"checkbox",id:`${t}-${A}`,name:t,value:e.value,checked:B.includes(e.value),onChange:t=>{v(e.value,t.target.checked)},onFocus:C,onBlur:x,disabled:F||e.disabled,className:"form-check-input"}),et.jsx("label",{htmlFor:`${t}-${A}`,className:"form-check-label",children:e.label})]},A))}),et.jsx(it,{validationErrors:i,fieldId:t,touchedFields:l,formSubmitted:c,properties:n,localValidation:y(B),isTouched:m,mode:u})]})]}):et.jsxs("div",{className:"input-wrapper",children:[et.jsx("div",{className:"mt-2 "+(n?.basic?.inlineLayout?"inline-options-grid":"space-y-2"),children:(n.options||[]).map((e,A)=>et.jsxs("div",{className:"form-check",children:[et.jsx("input",{type:"checkbox",id:`${t}-${A}`,name:t,value:e.value,checked:B.includes(e.value),onChange:t=>{v(e.value,t.target.checked)},onFocus:C,onBlur:x,disabled:F||e.disabled,className:"form-check-input"}),et.jsx("label",{htmlFor:`${t}-${A}`,className:"form-check-label",children:e.label})]},A))}),et.jsx(it,{validationErrors:i,fieldId:t,touchedFields:l,formSubmitted:c,properties:n,localValidation:y(B),isTouched:m,mode:u})]})})})},ft=({id:t,properties:n,validationErrors:i={},formValue:s="",readonly:a=!1,disabled:o=!1,touchedFields:l={},formSubmitted:c=!1,mode:u="preview",onValueChange:h,onBlur:d,onFocus:f,className:p="",hideLabel:g=!1})=>{const[m,w]=e(s),[B,y]=e(!1),b=r(t=>{const e={};let A=!0;return!n?.validation?.required||t&&""!==t.trim()||(e.required=!0,A=!1),{isValid:A,errors:e}},[n]),v=r(e=>{if(w(e),h){const A=b(e),r={id:t,value:e,isValid:A.isValid,errors:A.errors};h(r)}},[t,h,b]),C=t=>{v(t)},x=()=>{f&&f()},F=()=>{y(!0),d&&d()};A(()=>{B&&(l[t]=!0)},[B,t,l]),A(()=>{s!==m&&w(s)},[s,m]),A(()=>{c&&y(!0)},[c]);const Q=o||a||n?.validation?.readonly;return et.jsx(et.Fragment,{children:et.jsx("div",{className:`form-group radio-group ${(()=>{const t=n?.styles?.labelAlignment;return"left"===t?"label-left":"label-top"})()} ${n?.basic?.inlineLayout?"inline-layout":"vertical-layout"} ${p}`,children:!g&&n.basic.label?et.jsxs(et.Fragment,{children:[et.jsxs("label",{className:"form-label",children:[n.basic.label,n.validation.required&&et.jsx("span",{className:"required-indicator",children:"*"})]}),et.jsxs("div",{className:"input-wrapper",children:[et.jsx("div",{className:"mt-2 "+(n?.basic?.inlineLayout?"inline-options-grid":"space-y-2"),children:(n.options||[]).map((e,A)=>et.jsxs("div",{className:"form-check",children:[et.jsx("input",{type:"radio",id:`${t}-${A}`,name:t,value:e.value,checked:m===e.value,onChange:()=>C(e.value),onFocus:x,onBlur:F,disabled:Q||e.disabled,className:"form-check-input"}),et.jsx("label",{htmlFor:`${t}-${A}`,className:"form-check-label",children:e.label})]},A))}),et.jsx(it,{validationErrors:i,fieldId:t,touchedFields:l,formSubmitted:c,properties:n,localValidation:b(m),isTouched:B,mode:u})]})]}):et.jsxs("div",{className:"input-wrapper",children:[et.jsx("div",{className:"mt-2 "+(n?.basic?.inlineLayout?"inline-options-grid":"space-y-2"),children:(n.options||[]).map((e,A)=>et.jsxs("div",{className:"form-check",children:[et.jsx("input",{type:"radio",id:`${t}-${A}`,name:t,value:e.value,checked:m===e.value,onChange:()=>C(e.value),onFocus:x,onBlur:F,disabled:Q||e.disabled,className:"form-check-input"}),et.jsx("label",{htmlFor:`${t}-${A}`,className:"form-check-label",children:e.label})]},A))}),et.jsx(it,{validationErrors:i,fieldId:t,touchedFields:l,formSubmitted:c,properties:n,localValidation:b(m),isTouched:B,mode:u})]})})})},pt=({id:t,properties:n,validationErrors:i={},formValue:s="",readonly:a=!1,disabled:o=!1,touchedFields:l={},formSubmitted:c=!1,mode:u="preview",onValueChange:h,onBlur:d,onFocus:f,className:p="",hideLabel:g=!1})=>{const[m,w]=e(s),[B,y]=e(!1),b=r(t=>{const e={};let A=!0;return!n?.validation?.required||t&&""!==t.trim()||(e.required=!0,A=!1),{isValid:A,errors:e}},[n]),v=r(e=>{if(w(e),y(!0),h){const A=b(e),r={id:t,value:e,isValid:A.isValid,errors:A.errors};h(r)}},[t,h,b]),C=()=>{f&&f()},x=()=>{y(!0),d&&d()};A(()=>{B&&(l[t]=!0)},[B,t,l]),A(()=>{s!==m&&w(s)},[s,m]),A(()=>{c&&y(!0)},[c]);const F=()=>n?.basic?.inlineLayout?"inline-layout":"grid-layout",Q=t=>{const e=t?.toLowerCase();return"pass"===e||"yes"===e?"pass":"fail"===e||"no"===e?"fail":"pass"},U=t=>{if(void 0!==t?.icon&&""!==t.icon)return t.icon;return"pass"===Q(t?.value||t)?"✓":"×"},E=(t,e)=>t?.color||t?.backgroundColor?{color:e?"#ffffff":t.color||"#00814b",backgroundColor:e?t.color||"#00814b":t.backgroundColor||"#34bd4914",borderColor:t.color||"#00814b"}:{},S=t=>{if(t?.color||t?.backgroundColor)return"segment-button-label segment-button-custom";return"segment-button-label "+("pass"===Q(t?.value||t)?"pass-button":"fail-button")},N=o||a||n?.validation?.readonly;return et.jsxs(et.Fragment,{children:[et.jsx("div",{className:`form-group segment-group ${(()=>{const t=n?.styles?.labelAlignment;return"left"===t?"label-left":"label-top"})()} ${p}`,children:!g&&n.basic.label?et.jsxs(et.Fragment,{children:[et.jsxs("label",{className:"form-label",children:[n.basic.label,n.validation.required&&et.jsx("span",{className:"required-indicator",children:"*"})]}),et.jsx("div",{className:"form-segment-wrapper",children:et.jsx("div",{className:`form-segment-container ${F()}`,children:(n.options||[]).map((e,A)=>{const r=m===e.value,n=E(e,r),i=S(e),s=U(e);return et.jsxs("div",{className:"form-segment-option "+(r?"selected":""),children:[et.jsx("input",{type:"radio",id:`${t}_option_${A}`,name:t,value:e.value,checked:r,onChange:()=>!N&&!e.disabled&&v(e.value),onFocus:C,onBlur:x,disabled:N||e.disabled,className:"form-segment-radio"}),et.jsxs("label",{htmlFor:`${t}_option_${A}`,className:i,style:Object.keys(n).length>0?n:void 0,children:[s&&et.jsx("span",{className:"segment-icon",children:s}),et.jsx("span",{className:"segment-text",children:e.value})]})]},A)})})})]}):et.jsx("div",{className:"form-segment-wrapper",children:et.jsx("div",{className:`form-segment-container ${F()}`,children:(n.options||[]).map((e,A)=>{const r=m===e.value,n=E(e,r),i=S(e),s=U(e);return et.jsxs("div",{className:"form-segment-option "+(r?"selected":""),children:[et.jsx("input",{type:"radio",id:`${t}_option_${A}`,name:t,value:e.value,checked:r,onChange:()=>!N&&!e.disabled&&v(e.value),onFocus:C,onBlur:x,disabled:N||e.disabled,className:"form-segment-radio"}),et.jsxs("label",{htmlFor:`${t}_option_${A}`,className:i,style:Object.keys(n).length>0?n:void 0,children:[s&&et.jsx("span",{className:"segment-icon",children:s}),et.jsx("span",{className:"segment-text",children:e.value})]})]},A)})})})}),et.jsx(it,{validationErrors:i,fieldId:t,touchedFields:l,formSubmitted:c,properties:n,localValidation:b(m),isTouched:B,mode:u})]})},gt=({id:t,properties:n,validationErrors:i={},formValue:s="",readonly:a=!1,disabled:o=!1,touchedFields:l={},formSubmitted:c=!1,mode:u="preview",onValueChange:h,onBlur:d,onFocus:f,className:p="",hideLabel:g=!1})=>{const m=r(t=>{if(!t)return"";if("string"==typeof t){if(/^\d{4}-\d{2}-\d{2}$/.test(t))return t;if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/.test(t))return t;const e=st(t);if(e&&!isNaN(e.getTime())){const t=n.name||"",A=n.basic?.dateTimeMode||("datetime-picker"===t?"datetime":"date");if("datetime"===A){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}T${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}if("time"===A){return`${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}return t}if(t instanceof Date){if(isNaN(t.getTime()))return"";const e=n.name||"",A=n.basic?.dateTimeMode||("datetime-picker"===e?"datetime":"date");if("datetime"===A){return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}T${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`}if("time"===A){return`${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`}return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}if("object"==typeof t&&null!==t){if("value"in t&&t.value)return m(t.value);if("date"in t&&t.date)return m(t.date);try{const e=String(t),A=st(e);if(A&&!isNaN(A.getTime()))return m(A)}catch(t){}return""}return""},[n]),w=m(s),[B,y]=e(w),[b,v]=e(!1),[C,x]=e(!1),F=r(t=>{const e={};let A=!0;const r=n.name||"",i=n.basic?.dateTimeMode||("datetime-picker"===r?"datetime":"date"),s=t?String(t).trim():"";if(n?.validation?.required&&(!s||""===s))return e.required=!0,A=!1,{isValid:A,errors:e};if(s&&""!==s)if("time"===i){if(!/^([0-1][0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?$/.test(s))return e.invalidDate=!0,A=!1,{isValid:A,errors:e}}else if("datetime"===i){const t=st(s);if(!t||isNaN(t.getTime()))return e.invalidDate=!0,A=!1,{isValid:A,errors:e};if(n?.validation?.minDate){const r=st(n.validation.minDate);r&&t<r&&(e.minDate=!0,e.minDateMessage=`Date and time must be on or after ${r.toLocaleDateString()}`,A=!1)}if(n?.validation?.maxDate){const r=st(n.validation.maxDate);r&&t>r&&(e.maxDate=!0,e.maxDateMessage=`Date and time must be on or before ${r.toLocaleDateString()}`,A=!1)}}else{const t=st(s);if(!t||isNaN(t.getTime()))return e.invalidDate=!0,A=!1,{isValid:A,errors:e};if(n?.validation?.minDate){const r=st(n.validation.minDate);r&&t<r&&(e.minDate=!0,e.minDateMessage=`Date must be on or after ${r.toLocaleDateString()}`,A=!1)}if(n?.validation?.maxDate){const r=st(n.validation.maxDate);r&&t>r&&(e.maxDate=!0,e.maxDateMessage=`Date must be on or before ${r.toLocaleDateString()}`,A=!1)}}return{isValid:A,errors:e}},[n]),Q=r(e=>{if(y(e),h){const A=F(e),r={id:t,value:e,isValid:A.isValid,errors:A.errors};h(r)}},[t,h,F]);A(()=>{b&&(l[t]=!0)},[b,t,l]),A(()=>{const t=m(s);t===B||C||y(t)},[s,B,C,m]),A(()=>{c&&v(!0)},[c]);const U=o||a||n?.validation?.readonly,E=n.name||"",S=n.basic?.dateTimeMode||("datetime-picker"===E?"datetime":"date"),N=(()=>{switch(S){case"time":return"time";case"datetime":return"datetime-local";default:return"date"}})();return et.jsxs("div",{className:`form-group ${(()=>{const t=n?.styles?.labelAlignment;return"left"===t?"label-left":"label-top"})()}`,children:[!g&&n.basic.label&&et.jsxs("label",{htmlFor:t,className:"form-label",children:[n.basic.label,n.validation.required&&et.jsx("span",{className:"required-indicator",children:"*"})]}),et.jsxs("div",{className:"input-wrapper",children:[et.jsx("input",{type:N,id:t,value:B,onChange:t=>{const e=t.target.value;Q(e)},onFocus:()=>{x(!0),f&&f()},onBlur:()=>{if(x(!1),v(!0),h){const e=F(B),A={id:t,value:B,isValid:e.isValid,errors:e.errors};h(A)}d&&d()},disabled:U,readOnly:a||n?.validation?.readonly,min:n?.validation?.minDate,max:n?.validation?.maxDate,className:`form-date ${!F(B).isValid&&b?"is-invalid":""} ${p}`.trim()}),et.jsx(it,{validationErrors:i,fieldId:t,touchedFields:l,formSubmitted:c,properties:n,localValidation:F(B),isTouched:b,mode:u})]})]})},mt=({id:t,properties:i,validationErrors:s={},formValue:a="",readonly:o=!1,disabled:l=!1,touchedFields:c={},formSubmitted:u=!1,mode:h="preview",onValueChange:d,onBlur:f,onFocus:p,className:g="",hideLabel:m=!1})=>{const w=n(null),[B,y]=e(!1),[b,v]=e(!1),[C,x]=e(a),[F,Q]=e(!1),U=r(t=>{const e={};let A=!0;return!i?.validation?.required||t&&""!==t.trim()||(e.required=!0,A=!1),{isValid:A,errors:e}},[i]),E=r(e=>{if(x(e),d){const A=U(e),r={id:t,value:e,isValid:A.isValid,errors:A.errors};d(r)}},[t,d,U]),S=r(()=>{const t=document.documentElement.classList.contains("dark")||"dark"===document.documentElement.getAttribute("data-theme");let e=getComputedStyle(document.documentElement).getPropertyValue("--df-color-fb-input-bg").trim();e||(e=t?"#2c2e34":"#ffffff");return{strokeColor:t?"#ffffff":"#000000",backgroundColor:e}},[]),N=r(e=>{if(!e)return;const A=w.current;if(!A)return;const r=A.getContext("2d");if(!r)return;const n=new Image;n.onload=()=>{r.clearRect(0,0,A.width,A.height);const t=S();r.fillStyle=t.backgroundColor,r.fillRect(0,0,A.width,A.height);const e=A.width/A.height,i=n.width/n.height;let s=A.width,a=A.height,o=0,l=0;i>e?(a=A.width/i,l=(A.height-a)/2):(s=A.height*i,o=(A.width-s)/2),r.drawImage(n,o,l,s,a)},n.onerror=A=>{console.error("DfFormSignature: error loading image",{id:t,error:A,dataURL:e.substring(0,50)+"..."})},n.src=e},[S,t]),L=r(()=>{const t=w.current;if(!t)return;const e=t.getContext("2d");if(!e)return;const A=t.getBoundingClientRect();t.width=A.width,t.height=A.height,t.style.width=A.width+"px",t.style.height=A.height+"px";const r=S();e.strokeStyle=r.strokeColor,e.lineWidth=2,e.lineCap="round",e.lineJoin="round",C?N(C):(e.fillStyle=r.backgroundColor,e.fillRect(0,0,t.width,t.height))},[C,S,N]),_=r(()=>{setTimeout(()=>{L()},100)},[L]);A(()=>{const t=()=>{_()},e=new MutationObserver(t=>{t.forEach(t=>{if("attributes"===t.type&&"class"===t.attributeName){const e=t.target;e.classList.contains("form-canvas-container")&&(e.classList.contains("mobile-view")||e.classList.contains("tablet-view")||e.classList.contains("desktop-view"))&&_()}})});return e.observe(document.body,{attributes:!0,attributeFilter:["class"],subtree:!0}),window.addEventListener("resize",t),()=>{e.disconnect(),window.removeEventListener("resize",t)}},[_]);const I=r(t=>{const e=w.current;if(!e)return{x:0,y:0};const A=e.getBoundingClientRect(),r=e.width/A.width,n=e.height/A.height,i=t.type.includes("mouse")?t.clientX:t.touches[0].clientX,s=t.type.includes("mouse")?t.clientY:t.touches[0].clientY;return{x:(i-A.left)*r,y:(s-A.top)*n}},[]),k=t=>{if(o||l||i?.validation?.readonly)return;if(t.target.closest(".clear-signature-btn"))return;t.preventDefault(),t.stopPropagation(),y(!0),v(!0);const e=w.current;if(!e)return;const A=e.getContext("2d");if(!A)return;const{x:r,y:n}=I(t),s=S();A.strokeStyle=s.strokeColor,A.lineWidth=2,A.lineCap="round",A.lineJoin="round",A.beginPath(),A.moveTo(r,n)},T=t=>{if(!B)return;t.preventDefault(),t.stopPropagation();const e=w.current;if(!e)return;const A=e.getContext("2d");if(!A)return;const{x:r,y:n}=I(t);A.lineTo(r,n),A.stroke()},H=()=>{if(!B)return;y(!1),Q(!0);const t=w.current;if(t){(t=>{const e=t.getContext("2d");if(!e)return!1;const A=e.getImageData(0,0,t.width,t.height).data;for(let t=0;t<A.length;t+=4){const e=A[t],r=A[t+1],n=A[t+2];if(A[t+3]>0&&(e<255||r<255||n<255))return!0}})(t);const e=t.toDataURL("image/png");x(e),E(e),setTimeout(()=>{Q(!1)},100)}else Q(!1)},O=r(()=>{const t=w.current;if(!t)return;const e=t.getContext("2d");if(!e)return;const A=S();if(e.strokeStyle=A.strokeColor,C){const r=C,n=t.getBoundingClientRect();e.fillStyle=A.backgroundColor,e.fillRect(0,0,n.width,n.height),r&&N(r)}else{const r=t.getBoundingClientRect();e.fillStyle=A.backgroundColor,e.fillRect(0,0,r.width,r.height)}},[S,C,N]);A(()=>{const t=new MutationObserver(t=>{t.forEach(t=>{"attributes"!==t.type||"class"!==t.attributeName&&"data-theme"!==t.attributeName||O()})});return t.observe(document.documentElement,{attributes:!0,attributeFilter:["class","data-theme"]}),()=>{t.disconnect()}},[O]);A(()=>{b&&(c[t]=!0)},[b,t,c]),A(()=>{if(!(a===C||B||F||""!==C&&""===a)){if(a===C)return;x(a),a&&N(a)}},[a,C,B,F]),A(()=>{u&&v(!0)},[u]),A(()=>{if("test"!==h){x("");const t=w.current;if(t){const e=t.getContext("2d");if(e){const A=t.getBoundingClientRect();t.width=A.width,t.height=A.height;const r=S();e.fillStyle=r.backgroundColor,e.fillRect(0,0,A.width,A.height)}}}},[h]),A(()=>{L()},[h]);const P=l||o||i?.validation?.readonly;return et.jsxs("div",{className:`form-group ${(()=>{const t=i?.styles?.labelAlignment;return"left"===t?"label-left":"label-top"})()}`,children:[!m&&i.basic.label&&et.jsxs("label",{htmlFor:t,className:"form-label",children:[i.basic.label,i.validation.required&&et.jsx("span",{className:"required-indicator",children:"*"})]}),et.jsxs("div",{className:"input-wrapper",children:[et.jsxs("div",{className:"signature-container",style:{position:"relative",width:"100%",maxWidth:"100%",overflow:"hidden"},children:[et.jsx("canvas",{ref:w,id:t,className:`form-signature ${!U(C).isValid&&b?"is-invalid":""} ${g}`.trim(),onMouseDown:k,onMouseMove:T,onMouseUp:H,onMouseLeave:H,onTouchStart:k,onTouchMove:T,onTouchEnd:H,onFocus:()=>{p&&p()},onBlur:()=>{f&&f()},style:{width:"100%",height:"150px",border:"2px solid var(--df-color-primary-border)",borderRadius:"6px",cursor:P?"not-allowed":"crosshair",backgroundColor:"var(--df-color-fb-input-bg)",touchAction:"none",userSelect:"none"}}),!P&&et.jsx("button",{type:"button",onClick:t=>(t=>{t?.preventDefault(),t?.stopPropagation();const e=w.current;if(!e)return;const A=e.getBoundingClientRect();e.width=A.width,e.height=A.height;const r=e.getContext("2d");if(!r)return;const n=S();r.fillStyle=n.backgroundColor,r.fillRect(0,0,A.width,A.height),r.strokeStyle=n.strokeColor,r.lineWidth=2,r.lineCap="round",r.lineJoin="round",x(""),E("")})(t),className:"clear-signature-btn",style:{position:"absolute",bottom:"8px",right:"8px",padding:"4px 8px",backgroundColor:"var(--df-color-error-primary)",color:"white",border:"none",borderRadius:"4px",cursor:"pointer",fontSize:"0.75rem",fontWeight:"500",zIndex:10,transition:"all 0.2s ease",minWidth:"60px",minHeight:"28px"},onMouseEnter:t=>{t.currentTarget.style.backgroundColor="var(--df-color-error-dark, #dc2626)",t.currentTarget.style.transform="scale(1.05)"},onMouseLeave:t=>{t.currentTarget.style.backgroundColor="var(--df-color-error-primary)",t.currentTarget.style.transform="scale(1)"},children:"Clear"})]}),et.jsx(it,{validationErrors:s,fieldId:t,touchedFields:c,formSubmitted:u,properties:i,localValidation:U(C),isTouched:b,mode:h})]})]})},wt=({id:t,properties:i,validationErrors:s={},formValue:a=null,readonly:o=!1,disabled:l=!1,touchedFields:c={},formSubmitted:u=!1,mode:h="test",onValueChange:d,onBlur:f,onFocus:p,className:g="",hideLabel:m=!1})=>{const[w,B]=e([]),[y,b]=e(!1),[v,C]=e(!1),x=n(null),F=r((e,A=0)=>{if(!e)return[];const r="string"==typeof e?[e]:e,n=Array.isArray(r)?r:Array.from(r),i=[];return n.forEach(e=>{let r,n,s=0,a="",o="";if(e instanceof File||e instanceof Blob){const t=e;if(s=t.size||0,a=t.type||"",o=t.name||`file-${A+i.length}`,n=t,a.startsWith("image/"))try{r=URL.createObjectURL(t)}catch(t){console.error("Error creating object URL:",t),r=void 0}}else if("string"==typeof e){const t=e;if(o=`file-${A+i.length}`,t.startsWith("data:")){const e=t.indexOf(";");a=e>5?t.substring(5,e):"application/octet-stream"}else{const e=t.match(/\.(jpg|jpeg|png|gif|webp|svg|pdf|doc|docx|xls|xlsx|zip|rar)$/i);if(e){a={jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",pdf:"application/pdf",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",xls:"application/vnd.ms-excel",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",zip:"application/zip",rar:"application/x-rar-compressed"}[e[1].toLowerCase()]||"application/octet-stream"}else a="application/octet-stream"}(t.startsWith("data:image")||t.startsWith("http://")||t.startsWith("https://")||t.startsWith("blob:"))&&(r=t),n=t}else{if(!e||"object"!=typeof e)return;{const t=e;if(o=t.name||t.fileName||`file-${A+i.length}`,s=t.size||t.fileSize||0,a=t.type||t.fileType||t.mimeType||"",t.url||t.path)r=t.url||t.path;else if(a.startsWith("image/")&&t.data){const e=t.data;r="string"==typeof e?e.startsWith("data:")?e:`data:${a};base64,${e}`:void 0}n=t}}i.push({file:n,id:`${t}-file-${A+i.length}`,size:s,type:a,name:o,preview:r})}),i},[t]),Q=r(()=>({isValid:!0,errors:{}}),[]),U=r(e=>{if(o||l)return;const A=i?.validation?.multiple||!1,r=i?.validation?.maxFiles||1/0,n=F(e,w.length);let s;s=A||1!==i?.validation?.maxFiles?[...w,...n]:F(e,0);const a=s.slice(0,r);if(B(a),C(!0),d){const e=Q(),A={id:t,value:a.map(t=>t.file),isValid:e.isValid,errors:e.errors};d(A)}},[w,i,o,l,d,Q,F,t]),E=t=>{if(0===t)return"0 Bytes";const e=Math.floor(Math.log(t)/Math.log(1024));return parseFloat((t/Math.pow(1024,e)).toFixed(2))+" "+["Bytes","KB","MB","GB"][e]},S=t=>t.startsWith("image/")?"🖼️":t.startsWith("video/")?"🎥":t.startsWith("audio/")?"🎵":t.includes("pdf")?"📄":t.includes("word")||t.includes("document")?"📝":t.includes("excel")||t.includes("spreadsheet")?"📊":t.includes("zip")||t.includes("rar")?"📦":"📁";A(()=>{v&&(c[t]=!0)},[v,t,c]),A(()=>{("edit"===h||"test"===h)&&C(!1)},[h]),A(()=>{const t=F(a);B(t)},[a,F]),A(()=>{u&&C(!0)},[u]),A(()=>()=>{w.forEach(t=>{if(t.preview&&t.preview.startsWith("blob:"))try{URL.revokeObjectURL(t.preview)}catch(t){console.error("Error revoking object URL:",t)}})},[w]);const N=()=>{const t=i?.styles?.labelAlignment;return"left"===t?"label-left":"label-top"},L=l||o||i?.validation?.readonly,_=i?.validation?.multiple||!1,I=i?.validation?.accept||"*/*",k=i?.validation?.maxFiles||1/0,T=w.length<k&&(_||k>1),H="edit"===h,O="preview"===h||"test"===h,P=w.filter(t=>t.type.startsWith("image/")),D=w.filter(t=>!t.type.startsWith("image/")),M=P.length>0;return O&&M?et.jsxs("div",{className:`form-group ${N()}`,children:[!m&&et.jsxs("label",{htmlFor:t,className:"form-label",children:[i.basic?.label,i.validation?.required&&et.jsx("span",{className:"required-indicator",children:"*"})]}),et.jsxs("div",{className:"file-upload-wrapper",children:[et.jsxs("div",{className:"file-image-display "+(i.basic?.horizontalView?"horizontal-view":"vertical-view"),children:[P.map(t=>et.jsxs("div",{className:"file-image-container",children:[t.preview&&et.jsx("img",{src:t.preview,alt:t.name,className:"file-image-preview"}),et.jsxs("div",{className:"file-image-info",children:[et.jsx("div",{className:"file-name",title:t.name,children:t.name}),et.jsx("div",{className:"file-size",children:E(t.size)})]})]},t.id)),D.length>0&&et.jsxs("div",{className:"file-other-files",children:[et.jsx("div",{className:"file-other-files-label",children:"Other Files:"}),D.map(t=>et.jsxs("div",{className:"file-item-minimal",children:[et.jsx("div",{className:"file-icon",children:S(t.type)}),et.jsxs("div",{className:"file-info",children:[et.jsx("div",{className:"file-name",title:t.name,children:t.name}),et.jsx("div",{className:"file-size",children:E(t.size)})]})]},t.id))]})]}),et.jsx(it,{validationErrors:s,fieldId:t,touchedFields:c,formSubmitted:u,properties:i,localValidation:Q(),isTouched:v,mode:h})]})]}):et.jsxs("div",{className:`form-group ${N()}`,children:[!m&&et.jsxs("label",{htmlFor:t,className:"form-label",children:[i.basic?.label,i.validation?.required&&et.jsx("span",{className:"required-indicator",children:"*"})]}),et.jsxs("div",{className:"file-upload-wrapper",children:[et.jsxs("div",{className:`file-upload-area ${y?"drag-over":""} ${o?"readonly":""} ${l?"disabled":""} ${g}`.trim(),onDragOver:t=>{t.stopPropagation(),(t=>{t.preventDefault(),o||l||b(!0)})(t)},onDragLeave:t=>{t.stopPropagation(),(t=>{t.preventDefault(),b(!1)})(t)},onDrop:t=>{t.stopPropagation(),(t=>{if(t.preventDefault(),b(!1),o||l)return;const e=t.dataTransfer.files;e.length>0&&U(e)})(t)},onClick:t=>{t.stopPropagation();const e=t.target,A=null!==e.closest(".file-item"),r=null!==e.closest(".file-remove");!H||L||0!==w.length||A||r||x.current?.click()},onFocus:t=>{t.stopPropagation(),p&&p()},onBlur:e=>{e.stopPropagation(),(()=>{if(C(!0),"test"===h&&d){const e=Q(),A={id:t,value:w.map(t=>t.file),isValid:e.isValid,errors:e.errors};d(A)}f&&f()})()},tabIndex:L?-1:0,children:[et.jsx("input",{ref:x,type:"file",id:t,multiple:_,accept:I,onChange:t=>{const e=t.target.files;e&&e.length>0&&(U(e),t.target.value="")},disabled:L,style:{display:"none"}}),0===w.length?et.jsxs("div",{className:"upload-placeholder",onClick:t=>{t.stopPropagation(),H&&!L&&x.current?.click()},children:[et.jsx("div",{className:"upload-icon",children:"📁"}),et.jsx("div",{className:"upload-text",children:i.basic.placeholder&&et.jsx("p",{className:"upload-hint",children:i.basic.placeholder})})]}):et.jsx("div",{className:"file-list "+(i.basic?.horizontalView?"horizontal-view":"vertical-view"),children:w.map(e=>et.jsxs("div",{className:"file-item",children:[et.jsx("div",{className:"file-preview",children:e.preview?et.jsx("img",{src:e.preview,alt:e.name,className:"file-image"}):et.jsx("div",{className:"file-icon",children:S(e.type)})}),et.jsxs("div",{className:"file-info",children:[et.jsx("div",{className:"file-name",title:e.name,children:e.name}),et.jsx("div",{className:"file-size",children:E(e.size)})]}),H&&!L&&et.jsx("button",{type:"button",className:"file-remove",onClick:A=>{A.stopPropagation(),(e=>{if(o||l)return;const A=w.filter(t=>t.id!==e);if(B(A),C(!0),d){const e=Q(),r={id:t,value:A.map(t=>t.file),isValid:e.isValid,errors:e.errors};d(r)}})(e.id)},"aria-label":`Remove ${e.name}`,children:"✕"})]},e.id))})]}),w.length>0&&T&&!L&&H&&et.jsxs("button",{type:"button",className:"file-add-more",onClick:t=>{t.stopPropagation(),!L&&x.current&&H&&(x.current.value="",x.current.click())},"aria-label":"Add more files",children:[et.jsx("svg",{className:"file-add-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:et.jsx("path",{d:"M12 5v14M5 12h14"})}),et.jsx("span",{className:"file-add-text",children:"Add More Files"})]}),et.jsx(it,{validationErrors:s,fieldId:t,touchedFields:c,formSubmitted:u,properties:i,localValidation:Q(),isTouched:v,mode:h})]})]})},Bt=({id:t,properties:i,validationErrors:s={},formValue:o=null,readonly:l=!1,disabled:c=!1,touchedFields:u={},formSubmitted:h=!1,mode:g="test",onValueChange:m,onBlur:w,onFocus:B,className:y="",hideLabel:b=!1})=>{const[v,C]=e(o),[x,F]=e(!1),[Q,U]=e(""),[E,S]=e(!1),[N,L]=e(!1),[_,I]=e({lat:40.7128,lng:-74.006}),[k,T]=e(null),[H,O]=e(10),[P,D]=e(""),[M,j]=e(!1),R=n(null),[K,V]=e(!1),[z,G]=e(null),[q,W]=e(!1);A(()=>{if(o&&o.latitude&&o.longitude){40.7128===o.latitude&&-74.006===o.longitude||(C(o),T({lat:o.latitude,lng:o.longitude,isCurrentLocation:!1}),I({lat:o.latitude,lng:o.longitude}))}else null==o&&(C(null),T(null))},[o]),A(()=>{N&&40.7128===_.lat&&_.lng},[N,_]),A(()=>{(l||c)&&(N&&L(!1),P&&D(""),K&&(V(!1),G(null)))},[l,c]);const X=r(async(t,e)=>{W(!0);try{const A=await fetch(`https://nominatim.openstreetmap.org/reverse?format=json&lat=${t}&lon=${e}&addressdetails=1&zoom=18`),r=await A.json();if(r&&r.address){const t=r.address;return{placeName:r.display_name||"",city:t.city||t.town||t.village||t.municipality||"",country:t.country||""}}}catch(t){console.error("Reverse geocoding failed:",t)}finally{W(!1)}return{placeName:"",city:"",country:""}},[]),Y=r(async(e,A,r)=>{const n=await X(e,A),i={latitude:e,longitude:A,timestamp:Date.now(),placeName:n.placeName,city:n.city,country:n.country,address:n.placeName,...r};if(C(i),T({lat:e,lng:A,isCurrentLocation:!1}),S(!0),m){m({id:t,value:i,isValid:!0,errors:{}})}},[X,t,m]),J=r(async()=>{if(l||c)return;F(!0),U("");if(void 0!==window.Capacitor)try{const{Geolocation:t}=window.Capacitor.Plugins;if(t)try{if("granted"!==(await t.requestPermissions()).location)return F(!1),void U("Location permission is required. Please enable location access in your device settings.");const e=await t.getCurrentPosition({enableHighAccuracy:i.validation?.enableHighAccuracy??!0,timeout:i.validation?.timeout??1e4,maximumAge:i.validation?.maximumAge??3e5}),A=e.coords.latitude,r=e.coords.longitude;return T({lat:A,lng:r,isCurrentLocation:!0}),I({lat:A,lng:r}),S(!0),await Y(A,r,{accuracy:e.coords.accuracy,timestamp:Date.now()}),F(!1),void U("")}catch(t){return F(!1),void(t.message?.includes("permission")||t.message?.includes("denied")?U("Location permission is required. Please enable location access in your device settings."):t.message?.includes("timeout")?U("Location request timed out. Please try again."):U("Unable to retrieve your location. Please try again."))}}catch(t){console.warn("Capacitor Geolocation not available, falling back to web geolocation")}if(!navigator.geolocation)return F(!1),void U("Geolocation is not supported by this browser.");const t={enableHighAccuracy:i.validation?.enableHighAccuracy??!0,timeout:i.validation?.timeout??1e4,maximumAge:i.validation?.maximumAge??3e5};navigator.geolocation.getCurrentPosition(async t=>{const e=t.coords.latitude,A=t.coords.longitude;T({lat:e,lng:A,isCurrentLocation:!0}),I({lat:e,lng:A}),S(!0),await Y(e,A,{accuracy:t.coords.accuracy,timestamp:t.timestamp}),F(!1),U("")},t=>{F(!1);let e="Unable to retrieve your location.";switch(t.code){case t.PERMISSION_DENIED:e="Location access denied by user. Please enable location access in your browser/device settings.";break;case t.POSITION_UNAVAILABLE:e="Location information is unavailable.";break;case t.TIMEOUT:e="Location request timed out. Please try again."}U(e)},t)},[l,c,i,Y]),$=r(()=>{if(!l&&!c&&(C(null),T(null),U(""),S(!0),m)){m({id:t,value:null,isValid:!0,errors:{}})}},[l,c,t,m]),Z=r(()=>{l||c||L(!N)},[l,c,N]),tt=r((t,e,A,r,n,i)=>{const s=t-n/2,a=e-i/2,o=156543.03392*Math.cos(A.lat*Math.PI/180)/Math.pow(2,r),l=s*o,c=a*o;return{lat:A.lat+c/111320,lng:A.lng+l/(111320*Math.cos(A.lat*Math.PI/180))}},[]),At=r(t=>{l||c||!R.current||0===t.button&&(V(!0),G({x:t.clientX,y:t.clientY}),t.preventDefault())},[l,c]),rt=r(t=>{if(!K||!z||!R.current)return;const e=t.clientX-z.x,A=t.clientY-z.y,r=156543.03392*Math.cos(_.lat*Math.PI/180)/Math.pow(2,H),n=-A*r/111320,i=e*r/(111320*Math.cos(_.lat*Math.PI/180));I({lat:_.lat+n,lng:_.lng+i}),G({x:t.clientX,y:t.clientY})},[K,z,_,H]),nt=r(async t=>{if(!R.current)return;if(K&&z){const e=Math.abs(t.clientX-z.x),A=Math.abs(t.clientY-z.y);if(e>5||A>5)return V(!1),void G(null)}if(l||c)return V(!1),void G(null);const e=R.current.getBoundingClientRect(),A=t.clientX-e.left,r=t.clientY-e.top,{lat:n,lng:i}=tt(A,r,_,H,e.width,e.height);await Y(n,i),V(!1),G(null)},[l,c,R,_,H,tt,Y,K,z]),at=r(async e=>{if(e.trim()&&!l&&!c){j(!0),U("");try{const A=await fetch(`https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(e)}&limit=5&addressdetails=1`),r=await A.json();if(r&&r.length>0){const e=r[0],A=parseFloat(e.lat),n=parseFloat(e.lon),i=e.address||{},s={latitude:A,longitude:n,address:e.display_name,placeName:e.display_name,city:i.city||i.town||i.village||i.municipality||"",country:i.country||"",timestamp:Date.now()};if(C(s),T({lat:A,lng:n,isCurrentLocation:!1}),I({lat:A,lng:n}),S(!0),m){m({id:t,value:s,isValid:!0,errors:{}})}}else U("No locations found for your search.")}catch(t){U("Failed to search for location. Please try again.")}finally{j(!1)}}},[l,c,t,m]),ot=()=>{B&&B()},lt=()=>{S(!0),w&&w()},ct=c||l||i?.validation?.readonly,ut=i?.basic?.label||"Location",ht=i?.basic?.description||"";return et.jsxs("div",{className:`form-group ${i.basic?.horizontalView?"horizontal-view":"vertical-view"} ${b?"no-label":""} ${y}`,children:[!b&&et.jsxs("label",{htmlFor:t,className:"form-label",children:[ut,i?.validation?.required&&et.jsx("span",{className:"required-indicator",children:"*"})]}),ht&&et.jsx("div",{className:"form-group-description",children:ht}),et.jsxs("div",{className:"location-wrapper",children:[!(l&&v)&&et.jsxs("div",{className:"location-controls",children:[et.jsx("button",{type:"button",className:"location-btn "+(x?"loading":""),onClick:J,disabled:ct||x,onFocus:ot,onBlur:lt,tabIndex:ct?-1:0,children:x?et.jsxs(et.Fragment,{children:[et.jsx(d,{size:16,className:"loading-spinner"}),"Getting Location..."]}):et.jsxs(et.Fragment,{children:[et.jsx(f,{size:16}),"Get Current Location"]})}),et.jsxs("button",{type:"button",className:"location-btn secondary",onClick:Z,disabled:ct,onFocus:ot,onBlur:lt,tabIndex:ct?-1:0,children:[et.jsx(p,{size:16}),N?"Hide Map":"Choose on Map"]})]}),v&&et.jsxs("div",{className:"location-display",children:[!l&&et.jsx("button",{type:"button",className:"location-clear-btn",onClick:$,disabled:ct,title:"Clear location",children:et.jsx(a,{size:16})}),v.placeName&&et.jsxs("div",{className:"location-place-name",children:[et.jsx("strong",{children:"Place:"})," ",v.placeName]}),(v.city||v.country)&&et.jsxs("div",{className:"location-address",children:[et.jsx("strong",{children:"Address:"})," ",[v.city,v.country].filter(Boolean).join(", ")]}),et.jsxs("div",{className:"location-coordinates",children:[et.jsx("strong",{children:"Coordinates:"})," ",(ft=v.latitude,pt=v.longitude,void 0===ft||void 0===pt||isNaN(ft)||isNaN(pt)?"":`${Number(ft).toFixed(6)}, ${Number(pt).toFixed(6)}`)]}),v.accuracy&&et.jsxs("div",{className:"location-accuracy",children:[et.jsx("strong",{children:"Accuracy:"})," ",(dt=v.accuracy,dt?`±${Math.round(dt)}m`:"")]}),v.timestamp&&et.jsxs("div",{className:"location-timestamp",children:[et.jsx("strong",{children:"Captured:"})," ",(st(v.timestamp)||new Date).toLocaleString()]})]}),N&&!l&&et.jsxs("div",{className:"location-map-container",children:[et.jsxs("div",{className:"location-map-header",children:[et.jsx("h4",{children:"Select Location on Map"}),et.jsx("p",{children:"Search for a place or click on the map to select a location"})]}),et.jsx("div",{className:"location-search",children:et.jsx("form",{onSubmit:t=>{t.preventDefault(),P.trim()&&at(P)},className:"search-form",children:et.jsxs("div",{className:"search-input-group",children:[et.jsx("input",{type:"text",value:P,onChange:t=>{D(t.target.value)},placeholder:"Search for a place (e.g., New York, Paris, Tokyo)",className:"search-input",disabled:ct||M}),et.jsx("button",{type:"submit",className:"search-btn",disabled:ct||M||!P.trim(),children:M?et.jsx(d,{size:16,className:"loading-spinner"}):"Search"})]})})}),et.jsxs("div",{ref:R,className:"location-map "+(K?"dragging":""),onMouseDown:At,onMouseMove:rt,onMouseUp:nt,onMouseLeave:()=>{V(!1),G(null)},style:{position:"relative",height:"400px",border:"2px solid var(--df-color-fb-border)",borderRadius:"8px",overflow:"hidden",cursor:K?"grabbing":"grab",background:`url(https://tile.openstreetmap.org/${H}/${Math.floor((_.lng+180)/360*Math.pow(2,H))}/${Math.floor((1-Math.log(Math.tan(_.lat*Math.PI/180)+1/Math.cos(_.lat*Math.PI/180))/Math.PI)/2*Math.pow(2,H))}.png) center/cover no-repeat`,userSelect:"none"},children:[k&&et.jsx("div",{className:"map-marker "+(k.isCurrentLocation?"current-location":"selected-location"),style:{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -100%)",zIndex:10},children:et.jsx(p,{size:24})}),et.jsx("div",{className:"map-center-indicator",style:{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"4px",height:"4px",backgroundColor:"var(--df-color-primary)",borderRadius:"50%",zIndex:5}}),et.jsxs("div",{className:"map-controls",children:[et.jsx("button",{type:"button",className:"map-zoom-btn",onClick:()=>O(t=>Math.min(18,t+1)),disabled:H>=18,children:"+"}),et.jsx("button",{type:"button",className:"map-zoom-btn",onClick:()=>O(t=>Math.max(1,t-1)),disabled:H<=1,children:"−"})]})]}),et.jsxs("div",{className:"location-map-instructions",children:[et.jsx("p",{children:et.jsx("strong",{children:"Instructions:"})}),et.jsxs("ul",{children:[et.jsx("li",{children:"Search for a place using the search box above"}),et.jsx("li",{children:"Click anywhere on the map to select a location"}),et.jsx("li",{children:"Drag the map to pan around"}),et.jsx("li",{children:"Use the zoom buttons (+/−) to zoom in/out"}),et.jsx("li",{children:'Use "Get Current Location" to automatically detect your position'})]})]}),q&&et.jsxs("div",{className:"location-loading",children:[et.jsx(d,{size:16,className:"loading-spinner"}),et.jsx("span",{children:"Loading address details..."})]})]}),Q&&et.jsx("div",{className:"location-error",children:Q})]}),et.jsx(it,{validationErrors:s,fieldId:t,touchedFields:u,formSubmitted:h,properties:i,localValidation:{isValid:!0,errors:{}},isTouched:E,mode:g})]});var dt,ft,pt},yt=({id:t,properties:e,className:A="",hideLabel:r=!1})=>{const n=e.styles?.level??e.basic.level??1,i=e.basic.label,s=()=>{const t={};return e?.styles?.fontSize&&(t.fontSize=e.styles.fontSize),e?.styles?.color&&(t.color=e.styles.color),t};return r?null:(()=>{const r={id:t,className:`form-heading h${n} ${e?.styles?.textAlign?`text-${e.styles.textAlign}`:""} ${A}`.trim(),style:s()};switch(n){case 1:default:return et.jsx("h1",{...r,children:i});case 2:return et.jsx("h2",{...r,children:i});case 3:return et.jsx("h3",{...r,children:i});case 4:return et.jsx("h4",{...r,children:i});case 5:return et.jsx("h5",{...r,children:i});case 6:return et.jsx("h6",{...r,children:i})}})()},bt=({id:t,properties:i,mode:s="preview",formValue:a,onValueChange:o,className:l="",hideLabel:c=!1})=>{const[u,h]=e(""),[d,f]=e(i.validation?.listStyle||"numbers"),[p,b]=e("#000000"),v=n(null),C=n(null),x=n(!1),F="edit"===s,Q=n({instructions:[],listStyle:"numbers",formValue:void 0}),U=n(s);A(()=>{let t=[],e="numbers";if(null!=a&&("object"==typeof a&&a.instructions?(Array.isArray(a.instructions)?t=a.instructions:"string"==typeof a.instructions&&(t=[a.instructions]),a.listStyle&&(e=a.listStyle)):Array.isArray(a)?t=a:"string"==typeof a&&(t=[a])),0===t.length&&i.basic?.value){const A=i.basic.value;A&&"object"==typeof A&&!Array.isArray(A)&&A.instructions?(Array.isArray(A.instructions)?t=A.instructions:"string"==typeof A.instructions&&(t=[A.instructions]),A.listStyle&&"string"==typeof A.listStyle&&(e=A.listStyle)):Array.isArray(A)?t=A:"string"==typeof A&&(t=[A])}0===t.length&&i.basic?.instructions&&(Array.isArray(i.basic.instructions)?t=i.basic.instructions:"string"==typeof i.basic.instructions&&(t=[i.basic.instructions])),e&&"numbers"!==e||(e=i.validation?.listStyle||i.basic?.value?.listStyle||"numbers");const A=JSON.stringify(t)!==JSON.stringify(Q.current.instructions)||e!==Q.current.listStyle,r=s!==U.current,n=JSON.stringify(a)!==JSON.stringify(Q.current.formValue),o=!Q.current.formValue||Array.isArray(Q.current.formValue)&&0===Q.current.formValue.length||"string"==typeof Q.current.formValue&&""===Q.current.formValue.trim(),l=null!=a&&(Array.isArray(a)&&a.length>0||"string"==typeof a&&""!==a.trim()||"object"==typeof a&&Object.keys(a).length>0);if(A||r||n||o&&l){const n=t=>"string"!=typeof t?t:t.replace(/\\u([0-9a-fA-F]{4})/g,(t,e)=>String.fromCharCode(parseInt(e,16))),i=t.map(t=>"string"==typeof t?n(t):t),o=i.some(t=>"string"==typeof t&&/<[^>]+>/.test(t));let l="";if(i.length>0)if(o)l=i.join("");else{const t="numbers"===e?"ol":"bullets"===e?"ul":"div",A=i.filter(t=>t&&"string"==typeof t).map(t=>`<li>${t.replace(/\n/g,"<br>")}</li>`).join("");l="div"===t?i.filter(t=>t&&"string"==typeof t).map(t=>`<div>${t.replace(/\n/g,"<br>")}</div>`).join(""):`<${t}>${A}</${t}>`}f(e),h(l),F&&v.current&&(r||A&&v.current.innerHTML.trim()!==l.trim())&&(v.current.innerHTML=l),Q.current={instructions:t,listStyle:e,formValue:a},U.current=s}},[a,i.basic?.instructions,i.validation?.listStyle,s,F]),A(()=>{if(F&&v.current){const t=v.current.innerHTML.trim();u.trim()===t||x.current||(v.current.innerHTML=u)}if(x.current){const t=setTimeout(()=>{x.current=!1},200);return()=>clearTimeout(t)}},[u,F]);const E=r(()=>{if(!v.current)return;x.current=!0;const e=v.current.innerHTML.trim();if(o){o({id:t,value:{instructions:e?[e]:[],listStyle:d},isValid:!0,errors:{}})}e!==u&&h(e)},[t,d,o,u]),S=r(()=>{if(!v.current)return;const e=v.current.innerHTML.trim();if(o){o({id:t,value:{instructions:e?[e]:[],listStyle:d},isValid:!0,errors:{}})}h(e),x.current=!1},[t,d,o]),N=r((t,e)=>{document.execCommand(t,!1,e),v.current?.focus(),E()},[E]),L=r(()=>{N("bold")},[N]),_=r(()=>{N("italic")},[N]),I=r(t=>{const e=t.target.value;b(e),N("foreColor",e)},[N]),k=r(e=>{if(f(e),!v.current)return;const A=window.getSelection(),r=A&&A.rangeCount>0?A.getRangeAt(0):null;let n=v.current.innerHTML;if("numbers"===e){if(n=n.replace(/<ul>/gi,"<ol>").replace(/<\/ul>/gi,"</ol>"),!n.includes("<ol>")&&!n.includes("<ul>")){const t=n.split(/<br\s*\/?>/i).filter(t=>t.trim());t.length>0&&(n="<ol>"+t.map(t=>`<li>${t}</li>`).join("")+"</ol>")}}else if("bullets"===e){if(n=n.replace(/<ol>/gi,"<ul>").replace(/<\/ol>/gi,"</ul>"),!n.includes("<ol>")&&!n.includes("<ul>")){const t=n.split(/<br\s*\/?>/i).filter(t=>t.trim());t.length>0&&(n="<ul>"+t.map(t=>`<li>${t}</li>`).join("")+"</ul>")}}else n=n.replace(/<\/?[ou]l>/gi,"").replace(/<li>/gi,"<div>").replace(/<\/li>/gi,"</div>");if(v.current.innerHTML=n,h(n),r&&A)try{A.removeAllRanges(),A.addRange(r)}catch(t){}if(E(),o){o({id:t,value:{instructions:n?[n]:[],listStyle:e},isValid:!0,errors:{}})}},[t,E,o]),T=r(t=>{const e=t.target.files?.[0];if(!e||!e.type.startsWith("image/"))return;const A=new FileReader;A.onload=t=>{const e=t.target?.result;if(e&&v.current){const t=document.createElement("img");t.src=e,t.style.maxWidth="100%",t.style.height="auto";const A=window.getSelection();if(A&&A.rangeCount>0){const e=A.getRangeAt(0);e.deleteContents(),e.insertNode(t)}else v.current.appendChild(t);E()}},A.readAsDataURL(e),C.current&&(C.current.value="")},[E]),H=r(t=>{t.preventDefault();const e=t.clipboardData.getData("text/plain"),A=window.getSelection();if(A&&A.rangeCount>0){const t=A.getRangeAt(0);t.deleteContents();const r=document.createTextNode(e);t.insertNode(r),t.setStartAfter(r),t.collapse(!0),A.removeAllRanges(),A.addRange(t)}E()},[E]),O=r(t=>document.queryCommandState(t),[]);return et.jsxs("div",{className:`form-group instruction-group ${l}`,children:[!c&&et.jsx("label",{htmlFor:t,className:"instruction-label",children:"Instructions"}),F?et.jsxs("div",{className:"instruction-rich-editor",children:[et.jsxs("div",{className:"instruction-toolbar",children:[et.jsxs("div",{className:"toolbar-group",children:[et.jsx("button",{type:"button",className:"toolbar-btn "+(O("bold")?"active":""),onClick:L,title:"Bold","aria-label":"Bold",children:et.jsx(g,{size:16})}),et.jsx("button",{type:"button",className:"toolbar-btn "+(O("italic")?"active":""),onClick:_,title:"Italic","aria-label":"Italic",children:et.jsx(m,{size:16})})]}),et.jsx("div",{className:"toolbar-separator"}),et.jsx("div",{className:"toolbar-group",children:et.jsxs("div",{className:"color-picker-wrapper",children:[et.jsx("input",{type:"color",value:p,onChange:I,className:"color-picker-input",title:"Text Color"}),et.jsx("label",{className:"color-picker-label",title:"Text Color",children:et.jsx("span",{style:{color:p},children:"A"})})]})}),et.jsx("div",{className:"toolbar-separator"}),et.jsxs("div",{className:"toolbar-group",children:[et.jsx("button",{type:"button",className:"toolbar-btn "+("bullets"===d?"active":""),onClick:()=>k("bullets"),title:"Bullet List","aria-label":"Bullet List",children:et.jsx(w,{size:16})}),et.jsx("button",{type:"button",className:"toolbar-btn "+("numbers"===d?"active":""),onClick:()=>k("numbers"),title:"Numbered List","aria-label":"Numbered List",children:et.jsx(B,{size:16})})]}),et.jsx("div",{className:"toolbar-separator"}),et.jsxs("div",{className:"toolbar-group",children:[et.jsx("button",{type:"button",className:"toolbar-btn",onClick:()=>C.current?.click(),title:"Insert Image","aria-label":"Insert Image",children:et.jsx(y,{size:16})}),et.jsx("input",{ref:C,type:"file",accept:"image/*",onChange:T,style:{display:"none"}})]})]}),et.jsx("div",{ref:v,contentEditable:!0,className:"instruction-editor-content",onInput:E,onBlur:S,onPaste:H,"data-placeholder":"Enter instructions (press Enter for a new line)...",suppressContentEditableWarning:!0})]}):et.jsx("div",{className:"instruction-preview-wrapper "+("numbers"===d?"instruction-list-numbers":"bullets"===d?"instruction-list-bullets":""),children:u?et.jsx("div",{className:"instruction-preview-content",dangerouslySetInnerHTML:{__html:u}}):et.jsx("div",{className:"instruction-empty",children:et.jsx("p",{children:"No instructions provided"})})})]})},vt=({attachments:t,onRemove:r})=>{const[n,i]=e(new Map);return A(()=>{if(!t)return void i(t=>(t.forEach(t=>URL.revokeObjectURL(t)),new Map));const e=new Map;return t.forEach((t,A)=>{if((t instanceof Blob||"undefined"!=typeof File&&t instanceof File)&&t&&t.type&&"string"==typeof t.type&&t.type.startsWith("image/"))try{const r=URL.createObjectURL(t);e.set(A,r)}catch(t){console.warn("Failed to create object URL for attachment:",t)}else t&&t.url&&t.type&&t.type.startsWith("image/")&&e.set(A,t.url)}),i(t=>(t.forEach((t,A)=>{e.has(A)||URL.revokeObjectURL(t)}),e)),()=>{e.forEach(t=>URL.revokeObjectURL(t))}},[t]),t&&0!==t.length?et.jsx("div",{className:"attachment-thumbnails-container",children:t.map((t,e)=>{const A=t&&t.type&&"string"==typeof t.type&&t.type.startsWith("image/"),i=n.get(e);return et.jsx("div",{className:"attachment-thumbnail",children:A&&i?et.jsxs(et.Fragment,{children:[et.jsx("img",{src:i,alt:t?t.name:"Attachment"}),et.jsx("button",{type:"button",className:"thumbnail-remove-btn",onClick:()=>r(e),title:"Remove attachment",children:et.jsx(a,{size:14})})]}):et.jsxs(et.Fragment,{children:[et.jsx("div",{className:"file-icon-placeholder",children:et.jsx(h,{size:20})}),et.jsx("span",{className:"file-name",children:t?t.name:"Unknown File"}),et.jsx("button",{type:"button",className:"thumbnail-remove-btn",onClick:()=>r(e),title:"Remove attachment",children:et.jsx(a,{size:14})})]})},e)})}):null},Ct=({component:t,mode:i,formTemplateId:s,formValue:a,formData:o,onNotesChange:l,onAttachmentChange:u,notes:d="",attachments:f=null,onThresholdActionCompletion:p,onThresholdIssueRaised:g,onBasicPropertyActionCompletion:m,workOrderNumber:w,assetNumber:B,isStandalone:y,user:Q,onCreateIssue:U,onUpdateIssue:E})=>{const S=void 0!==a?a:o?o[t.id]:void 0,[N,L]=e(d||""),[_,I]=e(f||null),[k,T]=e(!1),[H,O]=e(!1),[P,D]=e(!1),[M,j]=e(!1),[R,K]=e(null),[V,z]=e(!1),G=n(null),q=n(S),W=n(!1),X=n(!1);A(()=>{d&&d!==N&&!W.current&&(L(d),W.current=!0)},[d,N]),A(()=>{f&&f!==_&&!X.current&&(I(f),X.current=!0)},[f,_]),A(()=>{if(W.current&&!k&&null!=d){const t="string"==typeof d?d:String(d||"");N&&""!==String(N||"").trim()||!t||""===t.trim()?t&&""!==t.trim()&&t!==N&&L(t):L(t)}},[d,k,N]),A(()=>{X.current&&void 0!==f&&(!_||f&&f.length>0&&f!==_)&&I(f)},[f,_]),A(()=>{const e=["select","radio","checkbox","segment"].includes(t.name||"");if(e){const e=q.current,A=S;let r=!1;if("checkbox"===t.name){const t=Array.isArray(e)?e:e?[e]:[],n=Array.isArray(A)?A:A?[A]:[];r=JSON.stringify(t.sort())!==JSON.stringify(n.sort())}else r=e!==A&&void 0!==e;r&&(D(!1),j(!1),K(null),O(!1),T(!1),z(!1),d&&""!==d.trim()||L(""),f&&0!==f.length||I(null)),q.current=A}e||(q.current=S)},[S,t.name,d,f]);const Y=r((t,e)=>{const{operator:A,value:r}=t,n=String(e).toLowerCase(),i=String(r).toLowerCase();switch(A){case"equals":return n===i||String(e)===String(r);case"notEquals":return n!==i&&String(e)!==String(r);case"greaterThan":return Number(e)>Number(r);case"lessThan":return Number(e)<Number(r);case"greaterThanOrEqual":return Number(e)>=Number(r);case"lessThanOrEqual":return Number(e)<=Number(r);default:return!1}},[]),J=r(()=>{if(!(null!=S&&""!==S&&!(Array.isArray(S)&&0===S.length)))return[];const e=t.condition;if(!e||!e.conditions||0===e.conditions.length)return[];const A=[];if("checkbox"===t.name&&Array.isArray(S))S.forEach(t=>{const r=e.conditions.find(e=>Y(e,t));r&&!A.find(t=>t.id===r.id)&&A.push(r)});else{const t=e.conditions.find(t=>Y(t,S));t&&A.push(t)}return A},[t,S,Y]),$=r(e=>{const A=e.target.value;L(A),l&&l(A);const r=J(),n=A.trim().length>0;r.forEach(t=>{!0===t.enableNotes&&p&&p(t.id,"notes",n)});const i=t.condition;!(i&&i.conditions&&i.conditions.length>0)&&m&&m("notes",n)},[l,J,p,t,m]),Z=r(()=>{if(l){const t="string"==typeof N?N:String(N||"");l(t),setTimeout(()=>{T(!1)},0)}else T(!1)},[N,l]),tt=r(()=>{Z()},[Z]),At=r(t=>{(t.ctrlKey||t.metaKey)&&"Enter"===t.key&&(t.preventDefault(),Z())},[Z]),rt=r(()=>{T(!0)},[]),nt=r(()=>{T(!0)},[]),it=r(()=>{G.current?.click()},[]),st=r(e=>{const A=e.target.files;if(A&&A.length>0){const e=Array.from(A);I(e),u&&u(e);J().forEach(t=>{!0===t.enableAttachment&&p&&p(t.id,"attachments",!0)});const r=t.condition;!(r&&r.conditions&&r.conditions.length>0)&&m&&m("attachments",!0)}G.current&&(G.current.value="")},[u,J,p,t,m]),at=r(e=>{if(_){const A=_.filter((t,A)=>A!==e);if(0===A.length){I(null),u&&u(null);J().forEach(t=>{!0===t.enableAttachment&&p&&p(t.id,"attachments",!1)});const e=t.condition;!(e&&e.conditions&&e.conditions.length>0)&&m&&m("attachments",!1)}else I(A),u&&u(A)}},[_,u,J,p,t,m]),lt=r(()=>{D(!0);J().forEach(t=>{!0===t.enableSendEmail&&p&&p(t.id,"email",!0)});const e=t.condition;!(e&&e.conditions&&e.conditions.length>0)&&m&&m("email",!0),setTimeout(()=>{D(!1)},3e3)},[J,p,t,m]),ct=r(()=>{M||O(!0)},[M]),ut=r(()=>{O(!1)},[]),ht=r(e=>{O(!1),j(!0),e&&K(e);const A=t.condition;if(A&&A.conditions&&A.conditions.length>0){J().forEach(t=>{!0===t.enableRaiseIssue&&g&&g(t.id)})}else m&&m("issue",!0)},[t,m,J,g]);if("test"!==i)return null;const dt=["select","radio","checkbox","segment"].includes(t.name||""),ft=t.basic?.options||t.options||[];let pt=!1,gt=!1,mt=!1,wt=!1,Bt=null;const yt=null!=S&&""!==S&&!(Array.isArray(S)&&0===S.length),bt=t.condition,Ct=bt&&bt.conditions&&bt.conditions.length>0;if(Ct&&yt)if("checkbox"===t.name&&Array.isArray(S)){const t=S;for(const e of t){const t=bt.conditions.find(t=>Y(t,e));t&&(pt=pt||!0===t.enableNotes,gt=gt||!0===t.enableAttachment,mt=mt||!0===t.enableRaiseIssue,wt=wt||!0===t.enableSendEmail)}}else if(dt){const t=bt.conditions.find(t=>Y(t,S));t&&(pt=!0===t.enableNotes,gt=!0===t.enableAttachment,mt=!0===t.enableRaiseIssue,wt=!0===t.enableSendEmail)}else{const t=bt.conditions.find(t=>Y(t,S));t&&(pt=!0===t.enableNotes,gt=!0===t.enableAttachment,mt=!0===t.enableRaiseIssue,wt=!0===t.enableSendEmail)}if(!Ct){const e=t.basic,A=!0===e?.enableNotes,r=!0===e?.enableAttachment,n=!0===e?.enableRaiseIssue,i=!0===e?.enableSendEmail;if(dt)if(yt)if("checkbox"===t.name){(Array.isArray(S)?S:[S]).forEach(t=>{const e=ft.find(e=>!(!e||!e.value)&&(e.value===t||(String(e.value)===String(t)||(e.label===t||String(e.label)===String(t)))));e&&(pt=pt||!0===e.enableNotes,gt=gt||!0===e.enableAttachment,mt=mt||!0===e.enableRaiseIssue,wt=wt||!0===e.enableSendEmail,Bt||(Bt=e))}),pt=pt||A,gt=gt||r,mt=mt||n,wt=wt||i}else if(Bt=ft.find(t=>!(!t||!t.value)&&(t.value===S||(String(t.value)===String(S)||(t.label===S||String(t.label)===String(S))))),Bt){const t=!0===Bt.enableNotes,e=!0===Bt.enableAttachment,s=!0===Bt.enableRaiseIssue,a=!0===Bt.enableSendEmail;pt=t||A,gt=e||r,mt=s||n,wt=a||i}else pt=A,gt=r,mt=n,wt=i;else pt=A,gt=r,mt=n,wt=i;else pt=A,gt=r,mt=n,wt=i}if(!(pt||gt||mt||wt))return null;const xt=J(),Ft=t.condition,Qt=Ft&&Ft.conditions&&Ft.conditions.length>0,Ut=!!Qt&&xt.some(t=>!0===t.enableNotes),Et=!!Qt&&xt.some(t=>!0===t.enableAttachment),St=!!Qt&&xt.some(t=>!0===t.enableSendEmail),Nt=!!Qt&&xt.some(t=>!0===t.enableRaiseIssue),Lt=N.trim().length>0,_t=_&&_.length>0,It=_?_.length:0;return et.jsxs(et.Fragment,{children:[et.jsxs("div",{className:"component-action-features",children:[et.jsxs("div",{className:"action-icons-toolbar",children:[pt&&et.jsxs("button",{type:"button",className:`action-icon-button ${Lt?"active":""} ${Ut?"mandatory":""}`,onClick:rt,title:"Add Notes",children:[et.jsx(c,{size:14,fill:Lt?"currentColor":"none"}),Ut&&et.jsx("span",{className:"mandatory-indicator",children:"*"})]}),gt&&et.jsxs("button",{type:"button",className:`action-icon-button ${_t?"active":""} ${Et?"mandatory":""}`,onClick:it,title:"Add Attachment",children:[et.jsx(h,{size:14,fill:_t?"currentColor":"none"}),It>0&&et.jsx("span",{className:"attachment-count-badge",children:It}),Et&&et.jsx("span",{className:"mandatory-indicator",children:"*"})]}),wt&&et.jsxs("button",{type:"button",className:`action-icon-button ${P?"active sent":""} ${St?"mandatory":""}`,onClick:lt,disabled:P,title:"Send Email",children:[P?et.jsx(et.Fragment,{children:et.jsx(b,{size:14})}):et.jsx(v,{size:14,fill:P?"currentColor":"none"}),St&&et.jsx("span",{className:"mandatory-indicator",children:"*"})]}),mt&&et.jsxs("button",{type:"button",className:`action-icon-button ${M?"active":""} ${Nt?"mandatory":""}`,onClick:ct,title:"Raise an Issue",children:[et.jsx(C,{size:14,fill:M?"currentColor":"none"}),Nt&&et.jsx("span",{className:"mandatory-indicator",children:"*"})]}),(Lt&&pt||_t&>)&&et.jsx("button",{type:"button",className:"action-icon-button accordion-toggle",onClick:()=>z(!V),title:V?"Collapse":"Expand",children:V?et.jsx(x,{size:14}):et.jsx(F,{size:14})})]}),k&&pt&&et.jsxs("div",{className:"notes-input-overlay",children:[et.jsx("textarea",{className:"action-notes-textarea",value:N,onChange:$,onBlur:tt,onKeyDown:At,placeholder:"Explain which protocols were not followed (Press Ctrl+Enter to save)",rows:4,autoFocus:!0}),et.jsxs("div",{className:"notes-input-actions",children:[et.jsx("button",{type:"button",className:"notes-save-button",onClick:Z,title:"Save notes (Ctrl+Enter)",children:"Save"}),et.jsx("button",{type:"button",className:"notes-cancel-button",onClick:()=>{T(!1)},title:"Cancel",children:"Cancel"})]})]}),V&&et.jsxs("div",{className:"actions-content",children:[!k&&Lt&&pt&&et.jsx("div",{className:"notes-summary-section",children:et.jsxs("div",{className:"notes-full-text",onClick:nt,children:[et.jsx("span",{className:"notes-label",children:"Notes:"})," ",N]})}),_t&>&&et.jsx("div",{className:"attachments-section",children:et.jsx(vt,{attachments:_,onRemove:at})})]}),gt&&et.jsx("input",{ref:G,type:"file",multiple:!0,accept:"image/*,.pdf",onChange:st,style:{display:"none"}})]}),H&&et.jsx(ot,{isOpen:H,onClose:ut,onSuccess:ht,issue:R,component:(()=>{const e=null!=S?Array.isArray(S)?S.join(", "):String(S):t.basic?.value||"",A={...t,basic:{...t.basic||{},value:e}};return Bt&&(A.basic.label=`${t.basic?.label||"Component"} - ${Bt.label||Bt.value}`,A.basic.value=Bt.value||e),A})(),formTemplateId:s||"",notes:N,attachments:_,isStandalone:y,workOrderNumber:w,assetNumber:B,user:Q,onCreateIssue:U,onUpdateIssue:E})]})},xt=({attachments:t})=>t&&0!==t.length?et.jsx("div",{className:"attachment-thumbnails-container",children:t.map((t,e)=>{const A=t.type?.startsWith("image/")||!1,r=A?(t=>t.data?t.data.startsWith("data:")?t.data:`data:${t.type||"image/png"};base64,${t.data}`:"")(t):"";return et.jsx("div",{className:"attachment-thumbnail",children:A&&r?et.jsx("img",{src:r,alt:t.name||`Attachment ${e+1}`}):et.jsxs("div",{className:"file-icon-placeholder",children:[et.jsx(h,{size:20}),et.jsx("span",{className:"file-name",children:t.name||`File ${e+1}`})]})},e)})}):null,Ft=({component:t})=>{const e=t.basic?.notes||"",A=t.basic?.attachments||[],r=e&&e.trim().length>0,n=A&&A.length>0;return r||n?et.jsx("div",{className:"component-submission-actions",children:et.jsxs("div",{className:"actions-content",children:[r&&et.jsx("div",{className:"notes-summary-section",children:et.jsxs("div",{className:"notes-full-text",children:[et.jsx("span",{className:"notes-label",children:"Notes:"})," ",e]})}),n&&et.jsx("div",{className:"attachments-section",children:et.jsx(xt,{attachments:A})})]})}):null},Qt=({component:t,selectedComponent:e,mode:A,onComponentSelect:r,onComponentDelete:n,onComponentEdit:i,renderFormComponent:s,isOverlay:a=!1,formData:o={},formTemplateId:l,onThresholdActionCompletion:c,onThresholdIssueRaised:u,onNotesChange:h,onAttachmentChange:d,shouldShowComponent:f})=>{const p=o[t.id],g=!f||f(t.id),m="preview"===A&&(t.basic?.notes&&t.basic.notes.trim().length>0||t.basic?.attachments&&Array.isArray(t.basic.attachments)&&t.basic.attachments.length>0),{attributes:w,listeners:B,setNodeRef:y,transform:b,transition:v,isDragging:C,isSorting:x}=V({id:t.id,disabled:a}),F={transform:z.Transform.toString(b),transition:v,opacity:C?.3:1,zIndex:C?1e3:"auto"};return et.jsxs("div",{ref:y,style:{...F,border:e?.id===t.id?"2px solid #3b82f6":"1px solid var(--df-color-fb-border)",borderRadius:"8px",backgroundColor:"var(--df-color-fb-container)",padding:"12px",position:"relative",minHeight:"80px",transition:"all 0.2s ease",boxShadow:e?.id===t.id?"0 4px 12px rgba(59, 130, 246, 0.15)":"0 1px 3px rgba(0, 0, 0, 0.1)",cursor:"pointer"},className:`form-component grid-component ${e?.id===t.id?"selected":""} ${C?"dragging":""} ${x?"sorting":""} ${g||"edit"===A?"":"conditionally-hidden"}`,onClick:()=>!C&&r(t),role:"button",tabIndex:0,children:["edit"===A&&et.jsx("div",{className:"component-drag-handle",...B,...w,onClick:t=>t.stopPropagation(),style:{position:"absolute",top:"50%",left:"4px",transform:"translateY(-50%)",padding:"4px",backgroundColor:"#f3f4f6",borderRadius:"4px",cursor:"grab",opacity:1,zIndex:10,display:"flex",alignItems:"center",justifyContent:"center"},children:et.jsx(E,{size:12,color:"var(--df-color-text-light)"})}),et.jsxs("div",{className:"component-content",style:{paddingTop:"edit"===A?"24px":"0",paddingLeft:"edit"===A?"28px":"0",minHeight:"60px"},children:[s(t),"test"===A&&!["section","table","heading","file","instructions","signature","location","datagrid"].includes(t.name)&&et.jsx(Ct,{component:t,mode:"test",formTemplateId:l,formValue:p,formData:o,onThresholdActionCompletion:c,onThresholdIssueRaised:u,onNotesChange:h?e=>h(t.id,e):void 0,onAttachmentChange:d?e=>d(t.id,e):void 0}),m&&et.jsx(Ft,{component:t})]}),"edit"===A&&et.jsxs("div",{className:"component-actions",style:{position:"absolute",top:"4px",right:"4px",display:"flex",gap:"4px",opacity:1,zIndex:10},children:[i&&et.jsx("button",{className:"component-edit-btn",onClick:e=>{e.stopPropagation(),i(t)},type:"button",title:"Edit Component",style:{padding:"4px",backgroundColor:"#3b82f6",color:"#ffffff",border:"none",borderRadius:"4px",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.2s ease"},onMouseEnter:t=>{t.currentTarget.style.backgroundColor="#2563eb"},onMouseLeave:t=>{t.currentTarget.style.backgroundColor="#3b82f6"},children:et.jsx(S,{size:12})}),et.jsx("button",{className:"component-delete-btn",onClick:e=>{e.stopPropagation(),n(t,e)},type:"button",title:"Delete Component",style:{padding:"4px",backgroundColor:"#ef4444",color:"#ffffff",border:"none",borderRadius:"4px",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.2s ease"},onMouseEnter:t=>{t.currentTarget.style.backgroundColor="#dc2626"},onMouseLeave:t=>{t.currentTarget.style.backgroundColor="#ef4444"},children:et.jsx(N,{size:12})})]})]})},Ut=({gridComponents:t,mode:e,onComponentSelect:A,onComponentDelete:r,onComponentEdit:n,onComponentUpdate:i,selectedComponent:s,renderFormComponent:a,gridId:o,formData:l,formTemplateId:c,onThresholdActionCompletion:u,onThresholdIssueRaised:h,onNotesChange:d,onAttachmentChange:f,columnView:p,shouldShowComponent:g})=>{const{setNodeRef:m,isOver:w}=k({id:`grid-drop-zone-${o}`,disabled:"edit"!==e,data:{isGridDropZone:!0,gridId:o}}),B=T(H(O,{activationConstraint:{distance:8}}),H(P,{coordinateGetter:M}));return et.jsx("div",{ref:m,className:"grid-drop-zone "+(0===t.length?"empty":""),style:{border:w?"2px dashed #3b82f6":"1px dashed #d1d5db",borderRadius:"8px",padding:"16px",backgroundColor:w?"var(--df-color-primary-light)":"#f9fafb",minHeight:"100px",transition:"all 0.2s ease"},children:0===t.length?et.jsxs("div",{style:{textAlign:"center",color:"var(--df-color-text-light)",fontSize:"14px",padding:"40px 20px",display:"flex",flexDirection:"column",alignItems:"center",gap:"8px",backgroundColor:"var(--df-color-fb-container)",border:"1px dashed var(--df-color-fb-border)",borderRadius:"8px"},children:[et.jsx("div",{style:{fontWeight:"500",color:w?"var(--df-color-primary)":"var(--df-color-text-dark)"},children:w?"Drop components here":"Empty DataGrid"}),et.jsx("div",{style:{fontSize:"12px",color:"#9ca3af"},children:"Drag and drop components here to create your grid"})]}):et.jsxs(D,{sensors:B,onDragEnd:e=>{const{active:A,over:r}=e;r&&A.id!==r.id&&(t.findIndex(t=>t.id===A.id),t.findIndex(t=>t.id===r.id))},children:[et.jsx(j,{items:t.map(t=>t.id),strategy:p?R:K,children:et.jsx("div",{style:{display:"flex",flexDirection:p?"column":"row",flexWrap:"nowrap",gap:"12px",alignItems:p?"stretch":"start",marginBottom:t.length>0?"12px":"0",overflowX:p?"visible":"auto",width:"100%"},children:t.map(t=>et.jsx("div",{style:{flex:"1 1 0",minWidth:p?"100%":"200px",maxWidth:"100%"},children:et.jsx(Qt,{component:t,selectedComponent:s,mode:e,onComponentSelect:A,onComponentDelete:r,onComponentEdit:n,onComponentUpdate:i,renderFormComponent:a,formData:l,formTemplateId:c,onThresholdActionCompletion:u,onThresholdIssueRaised:h,onNotesChange:d,onAttachmentChange:f,shouldShowComponent:g})},t.id))})}),et.jsx("div",{style:{border:w?"2px dashed #3b82f6":"1px dashed var(--df-color-fb-border)",borderRadius:"6px",padding:"12px",backgroundColor:w?"var(--df-color-primary-light)":"var(--df-color-fb-container)",textAlign:"center",color:"var(--df-color-text-light)",fontSize:"12px",transition:"all 0.2s ease",minHeight:"40px",display:"flex",alignItems:"center",justifyContent:"center",marginTop:"12px"},children:w?et.jsx("span",{style:{color:"#3b82f6",fontWeight:"500"},children:"Drop component here to add to grid"}):et.jsx("span",{children:"+ Drop more components here"})})]})})},Et=({templateComponents:e,dataEntries:A,renderFormComponent:r,mode:n,allowAddRemoveEntries:i,addAnotherText:s,removeText:a,maxEntries:o,minEntries:l,displayAsGrid:c=!0,onAddEntry:u,onRemoveEntry:h,formData:d,formTemplateId:f,onThresholdActionCompletion:p,onThresholdIssueRaised:g,onNotesChange:m,onAttachmentChange:w,columnView:B,shouldShowComponent:y})=>{const b=d||{},v=t.useMemo(()=>y?e.filter(t=>y(t.id)):e,[e,y]);return 0===v.length?et.jsx("div",{style:{textAlign:"center",padding:"40px",color:"var(--df-color-text-light)",border:"1px dashed #d1d5db",borderRadius:"8px",backgroundColor:"var(--df-color-fb-container)"},children:0===e.length?`No components defined. Add components to see the ${c?"table":"list"} view.`:"All components are hidden."}):c?et.jsxs("div",{className:"datagrid-table-view",style:{border:"1px solid var(--df-color-fb-border)",borderRadius:"8px",overflow:"hidden",backgroundColor:"var(--df-color-fb-container)",maxWidth:"100%"},children:[et.jsx("div",{style:{position:"absolute",top:"8px",right:"8px",zIndex:10,fontSize:"12px",color:"var(--df-color-text-light)",backgroundColor:"var(--df-color-fb-container)",padding:"4px 8px",borderRadius:"4px",border:"1px solid var(--df-color-fb-border)",opacity:v.length>4&&!B?1:0,transition:"opacity 0.2s ease"},children:"← Scroll →"}),et.jsxs("div",{className:"table-scroll-container",style:{overflowX:B?"visible":"auto",overflowY:"hidden",maxWidth:"100%",scrollbarWidth:"thin",scrollbarColor:"var(--df-color-fb-border) var(--df-color-fb-icon-bg)",position:"relative"},children:[!B&&et.jsx("div",{className:"table-headers",style:{display:"grid",gridTemplateColumns:`repeat(${v.length}, minmax(150px, 1fr))`,backgroundColor:"var(--df-color-fb-container)",borderBottom:"2px solid var(--df-color-fb-border)",minWidth:150*v.length+"px"},children:v.map((t,e)=>et.jsx("div",{style:{padding:"12px 16px",fontWeight:"600",color:"var(--df-color-text-dark)",borderRight:e<v.length-1?"1px solid var(--df-color-fb-border)":"none",fontSize:"14px",minWidth:"150px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:t.basic?.label||`Column ${e+1}`},`header-${t.id}`))}),A.length>0?A.map((t,e)=>et.jsxs("div",{className:"table-row",style:{display:B?"flex":"grid",flexDirection:B?"column":"row",gridTemplateColumns:B?void 0:`repeat(${v.length}, minmax(150px, 1fr))`,borderBottom:e<A.length-1?"1px solid var(--df-color-fb-border)":"none",backgroundColor:e%2==0?"var(--df-color-fb-container)":"var(--df-color-fb-bg)",position:"relative",minWidth:B?"100%":150*v.length+"px",padding:B?"16px":"0"},children:[v.map((e,A)=>{let n=t.components?.[A];if(n)n={...n,id:n.id,basic:{...n.basic,showLabel:B}};else{const r=`${e.id}-${t.id}-${A}`;n={...e,id:r,basic:{...e.basic,showLabel:B}}}return et.jsx("div",{style:{padding:B?"12px 0":"12px 16px",borderRight:!B&&A<v.length-1?"1px solid var(--df-color-fb-border)":"none",borderBottom:B&&A<v.length-1?"1px dashed var(--df-color-fb-border)":"none",minHeight:B?"auto":"60px",minWidth:B?"100%":"150px",width:B?"100%":"auto",display:"flex",flexDirection:B?"column":"row",alignItems:B?"stretch":"center",overflow:"hidden",gap:B?"8px":"0"},children:et.jsx("div",{style:{width:"100%",minWidth:B?"100%":"120px",overflow:"hidden"},children:r(n,!B)})},`${t.id}-${A}`)}),"test"===n&&i&&A.length>l&&et.jsx("button",{onClick:()=>h(e),disabled:A.length<=l,style:{position:"absolute",top:"8px",right:"8px",padding:"4px 8px",backgroundColor:A.length<=l?"#f3f4f6":"#ef4444",color:A.length<=l?"#9ca3af":"#ffffff",border:"none",borderRadius:"4px",fontSize:"12px",fontWeight:"500",cursor:A.length<=l?"not-allowed":"pointer",display:"flex",alignItems:"center",gap:"4px",zIndex:10,minWidth:"24px",height:"24px",justifyContent:"center"},title:a,children:et.jsx("span",{style:{fontSize:"14px"},children:"×"})})]},t.id)):et.jsxs("div",{style:{padding:"40px",textAlign:"center",color:"var(--df-color-text-light)",backgroundColor:"var(--df-color-fb-container)",borderTop:"1px solid var(--df-color-fb-border)"},children:["No data entries. ","test"===n&&i?'Click "Add Another" to add entries.':"Use the properties panel to add entries."]})]}),"test"===n&&i&&et.jsx("div",{style:{padding:"16px",backgroundColor:"var(--df-color-fb-bg)",borderTop:"1px solid var(--df-color-fb-border)",display:"flex",justifyContent:"center",position:"sticky",bottom:0,zIndex:5},children:et.jsxs("button",{onClick:u,disabled:A.length>=o,style:{padding:"8px 16px",backgroundColor:A.length>=o?"#f3f4f6":"#10b981",color:A.length>=o?"#9ca3af":"#ffffff",border:"none",borderRadius:"6px",fontSize:"14px",fontWeight:"500",cursor:A.length>=o?"not-allowed":"pointer",display:"flex",alignItems:"center",gap:"6px"},children:[et.jsx("span",{style:{fontSize:"16px"},children:"+"}),s]})})]}):et.jsxs("div",{className:"datagrid-list-view",style:{display:"flex",flexDirection:"column",gap:"12px",backgroundColor:"var(--df-color-fb-container)"},children:[A.length>0?A.map((t,e)=>et.jsxs("div",{className:"list-entry",style:{border:"1px solid var(--df-color-fb-border)",borderRadius:"8px",padding:"16px",backgroundColor:"var(--df-color-fb-container)",position:"relative",transition:"all 0.2s ease"},children:[et.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"12px",paddingBottom:"8px",borderBottom:"1px solid var(--df-color-fb-border)"},children:[et.jsxs("span",{style:{fontWeight:"600",color:"var(--df-color-text-dark)",fontSize:"14px"},children:["Entry #",e+1]}),"test"===n&&i&&A.length>1&&et.jsx("button",{onClick:()=>h(e),disabled:A.length<=l,style:{padding:"4px 8px",backgroundColor:A.length<=l?"#f3f4f6":"#ef4444",color:A.length<=l?"#9ca3af":"#ffffff",border:"none",borderRadius:"4px",fontSize:"12px",fontWeight:"500",cursor:A.length<=l?"not-allowed":"pointer",display:"flex",alignItems:"center",gap:"4px",minWidth:"24px",height:"24px",justifyContent:"center"},title:a,children:et.jsx("span",{style:{fontSize:"14px"},children:"×"})})]}),et.jsx("div",{style:{display:B?"flex":"grid",flexDirection:B?"column":"row",gridTemplateColumns:B?void 0:"repeat(auto-fit, minmax(200px, 1fr))",gap:"16px"},children:v.map((e,A)=>{let i=t.components?.[A];if(i||(i=t.components?.find(t=>t.name===e.name&&t.basic?.label===e.basic?.label)),i)i={...i,id:i.id,basic:{...i.basic,showLabel:B}};else{const r=`${e.id}-${t.id}-${A}`;i={...e,id:r,basic:{...e.basic,showLabel:B}}}return i?et.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[et.jsx("label",{style:{fontSize:"12px",fontWeight:"500",color:"var(--df-color-text-light)",textTransform:"uppercase",letterSpacing:"0.05em"},children:e.basic?.label||`Field ${A+1}`}),et.jsxs("div",{style:{minHeight:"40px",display:"flex",alignItems:"center",flexDirection:"column",width:"100%"},children:[r(i),"test"===n&&!["section","table","heading","file","instructions","signature","location","datagrid"].includes(i.name)&&et.jsx(Ct,{component:i,mode:"test",formTemplateId:f,formValue:b[i.id],onThresholdActionCompletion:p,onThresholdIssueRaised:g,onNotesChange:m?t=>m(i.id,t):void 0,onAttachmentChange:w?t=>w(i.id,t):void 0}),"preview"===n&&(i.basic?.notes&&i.basic.notes.trim().length>0||i.basic?.attachments&&Array.isArray(i.basic.attachments)&&i.basic.attachments.length>0?et.jsx(Ft,{component:i}):null)]})]},`${t.id}-${A}`):null})})]},t.id)):et.jsxs("div",{style:{padding:"40px",textAlign:"center",color:"var(--df-color-text-light)",backgroundColor:"var(--df-color-fb-container)",border:"1px dashed #d1d5db",borderRadius:"8px"},children:["No data entries. ","test"===n&&i?'Click "Add Another" to add entries.':"Use the properties panel to add entries."]}),"test"===n&&i&&et.jsx("div",{style:{padding:"16px",backgroundColor:"#f8f9fa",border:"1px solid var(--df-color-fb-border)",borderRadius:"8px",display:"flex",justifyContent:"center"},children:et.jsxs("button",{onClick:u,disabled:A.length>=o,style:{padding:"8px 16px",backgroundColor:A.length>=o?"#f3f4f6":"#10b981",color:A.length>=o?"#9ca3af":"#ffffff",border:"none",borderRadius:"6px",fontSize:"14px",fontWeight:"500",cursor:A.length>=o?"not-allowed":"pointer",display:"flex",alignItems:"center",gap:"8px",transition:"all 0.2s ease"},onMouseEnter:t=>{A.length<o&&(t.currentTarget.style.backgroundColor="#059669")},onMouseLeave:t=>{t.currentTarget.style.backgroundColor="#10b981"},children:[et.jsx("span",{children:"+"}),s]})})]})},St=({id:t,properties:i,mode:s="edit",formData:a={},onValueChange:o,onSelect:l,isSelected:c=!1,className:u="",onDataGridSelect:h,onComponentSelect:d,onComponentDelete:f,onComponentEdit:p,onComponentUpdate:g,selectedComponent:m,renderFormComponent:w,onEntryAdd:B,onEntryRemove:y,formTemplateId:b,onThresholdActionCompletion:v,onThresholdIssueRaised:C,onNotesChange:x,onAttachmentChange:E,shouldShowComponent:S})=>{const[N,L]=e(!1),_=n(!1);let I=(i.templateComponents||[]).map(t=>({...t,basic:{...t.basic,value:""}}));const k=i.entries||[];0===I.length&&k.length>0&&k[0].components&&(I=k[0].components.map(t=>({...t,id:t.id?.replace(/-entry-\d+$/,"")||t.id,basic:{...t.basic,value:"",defaultValue:"",showLabel:!0}}))),A(()=>{if("edit"===s&&!i.templateComponents&&o&&_.current){const e={...i,templateComponents:[]};JSON.stringify(e)!==JSON.stringify(i)&&o({id:t,value:e})}_.current=!0},[i.templateComponents,t,o,i,s]),A(()=>{if(I.length>0){if("edit"!==s||!_.current)return;if(0===k.length){const e=`entry-${`${Date.now()}-${Math.random().toString(36).substr(2,5)}`}`,A={id:e,index:0,components:I.map((t,A)=>({...t,id:`${t.id}-${e}-${A}`,basic:{...t.basic,showLabel:!1}})),styles:{}};if(o){const e={...i,entries:[A]};JSON.stringify(e)!==JSON.stringify(i)&&o({id:t,value:e})}}else{if(k.some(t=>I.some((e,A)=>{const r=t.components?.[A];if(!r)return!0;return JSON.stringify(r.basic?.options)!==JSON.stringify(e.basic?.options)||r.basic?.placeholder!==e.basic?.placeholder||r.basic?.defaultValue!==e.basic?.defaultValue||r.basic?.label!==e.basic?.label||r.validation?.required!==e.validation?.required}))&&o){const e=k.map(t=>{const e=I.map((e,A)=>{let r=t.components?.[A];if(r||(r=t.components?.find(t=>t.name===e.name&&t.basic?.label===e.basic?.label)),r){return{...e,id:r.id,basic:{...e.basic,showLabel:!1,value:r.basic?.value||e.basic?.defaultValue||""}}}{const t=`${Date.now()}-${Math.random().toString(36).substr(2,5)}`,r=`${e.id}-${t}-${A}`;return{...e,id:r,basic:{...e.basic,showLabel:!1}}}});return{...t,components:e}}),A={...i,entries:e};JSON.stringify(A)!==JSON.stringify(i)&&o({id:t,value:A})}}}},[I,k,t,o,i,s,i.templateComponents]);const T=r(t=>{t.stopPropagation(),l?.(),h?.(i)},[l,h,i]),H=r((e,A)=>{A.stopPropagation(),f&&f(e,A);const r=I.filter(t=>t.id!==e.id),n=k.map(t=>({...t,components:t.components?.filter(t=>!(t.name===e.name&&t.basic?.label===e.basic?.label))||[]}));o&&o({id:t,value:{...i,templateComponents:r,entries:n}})},[f,i,o,t,I,k]),O=r((e,A)=>{g&&g(e,A);const r=I.map(t=>t.id===e?{...t,...A}:t);o&&o({id:t,value:{...i,templateComponents:r}})},[g,i,o,t,I]),P=r(t=>{"test"===s&&o&&o({id:t.id,value:t.value})},[s,o]),D=r(()=>{const e=`entry-${`${Date.now()}-${Math.random().toString(36).substr(2,5)}`}`,A={id:e,index:i.entries.length,components:I.map((t,A)=>{const r=`${t.id}-${e}-${A}`;return{...t,id:r,basic:{...t.basic,value:"",showLabel:!1}}}),styles:{}},r=[...i.entries,A];o&&o({id:t,value:{...i,entries:r}}),B?.()},[i,o,t,B,I]),M=r(e=>{const A=i.entries.filter((t,A)=>A!==e).map((t,e)=>({...t,index:e}));o&&o({id:t,value:{...i,entries:A}})},[i,o,t,y]),j=r((t,e=!1)=>{const A="test"===s?a[t.id]||"defaultValue"in t.basic&&t.basic.defaultValue||"":"defaultValue"in t.basic&&t.basic.defaultValue||"",r={id:t.id,properties:t,validationErrors:{},formValue:A,touchedFields:{},formSubmitted:!1,mode:s,hideLabel:e,onValueChange:P,onBlur:()=>{},onFocus:()=>{}};switch(t.name){case"text-input":case"email-input":case"number-input":return et.jsx(ct,{...r,properties:t,inputType:"text-input"===t.name?"text":"number-input"===t.name?"number":"email",readonly:"edit"===s||"preview"===s,disabled:"preview"===s,hideLabel:e});case"textarea":return et.jsx(ut,{...r,properties:t,readonly:"edit"===s||"preview"===s,disabled:"preview"===s,hideLabel:e});case"select":const A={...t,options:t.basic?.options||[]};return et.jsx(ht,{...r,properties:A,disabled:"edit"===s||"preview"===s,hideLabel:e});case"checkbox":const n={...t,options:t.basic?.options||[]};return et.jsx(dt,{...r,properties:n,formValue:[],disabled:"edit"===s||"preview"===s,hideLabel:e});case"radio":const i={...t,options:t.basic?.options||[]};return et.jsx(ft,{...r,properties:i,readonly:"edit"===s||"preview"===s,disabled:"edit"===s||"preview"===s,hideLabel:e});case"date":case"date-picker":case"datetime-picker":return et.jsx(gt,{...r,properties:t,readonly:"edit"===s||"preview"===s,disabled:"preview"===s,hideLabel:e});case"signature":return et.jsx(mt,{...r,properties:t,hideLabel:e});case"heading":return et.jsx(yt,{...r,properties:t,hideLabel:e});case"instructions":return et.jsx(bt,{...r,properties:t,hideLabel:e});default:return et.jsxs("div",{className:"unknown-component",children:["Unknown component: ",t.name]})}},[s,P]),R={backgroundColor:i.styles.backgroundColor||"var(--df-color-fb-container)",borderColor:i.styles.borderColor||"var(--df-color-fb-border)",borderWidth:i.styles.borderWidth||"2px",borderRadius:i.styles.borderRadius||"8px",padding:i.styles.padding||"16px",margin:i.styles.margin||"16px 0"};return et.jsxs("div",{className:`form-group df-form-datagrid ${c?"selected":""} ${u}`,onClick:T,style:R,children:[et.jsx("div",{className:"grid-header",style:{backgroundColor:i.styles?.headerBackgroundColor,color:i.styles?.headerTextColor},children:et.jsx("div",{className:"grid-title",onClick:e=>{e.stopPropagation(),L(!N),o?.({id:t,value:{...i,basic:{...i.basic,collapsed:!N}}})},children:et.jsxs("div",{className:"title-content",style:{display:"flex",alignItems:"center",gap:"8px"},children:[N?et.jsx(Q,{size:16}):et.jsx(F,{size:16}),et.jsx(U,{size:16}),et.jsx("span",{className:"grid-label",style:{fontWeight:"600",color:i.styles?.headerTextColor},children:i.basic.label}),i.validation.required&&et.jsx("span",{className:"required-indicator",style:{color:"#ef4444"},children:"*"})]})})}),i.basic.description&&i.basic.description.trim().length>0&&!N&&et.jsx("div",{className:"grid-description",style:{marginTop:"8px",color:"var(--df-color-text-light)",fontSize:"14px"},children:i.basic.description}),!N&&et.jsx("div",{className:"grid-content",style:{marginTop:"16px"},children:"edit"===s?et.jsx(Ut,{gridComponents:I,mode:s,onComponentSelect:d||(()=>{}),onComponentDelete:H,onComponentEdit:p,onComponentUpdate:O,selectedComponent:m||null,renderFormComponent:w||j,gridId:t,formData:a,formTemplateId:b,onThresholdActionCompletion:v,onThresholdIssueRaised:C,onNotesChange:x,onAttachmentChange:E,columnView:i.datagrid?.columnView,shouldShowComponent:S}):et.jsx(Et,{templateComponents:I,dataEntries:k,renderFormComponent:w||j,mode:s,allowAddRemoveEntries:i.datagrid?.allowAddRemoveEntries??!0,addAnotherText:i.datagrid?.addAnotherText??"Add Entry",removeText:i.datagrid?.removeText??"Remove",maxEntries:i.datagrid?.maxEntries??10,minEntries:i.datagrid?.minEntries??1,displayAsGrid:i.datagrid?.displayAsGrid??!0,onAddEntry:B||D,onRemoveEntry:y||M,formData:a,formTemplateId:b,onThresholdActionCompletion:v,onThresholdIssueRaised:C,onNotesChange:x,onAttachmentChange:E,columnView:i.datagrid?.columnView,shouldShowComponent:S})})]})},Nt=({child:t,selectedChild:e,mode:A,onChildSelect:r,onChildDelete:n,renderFormComponent:i,isOverlay:s=!1,isChildrenEditMode:a=!1,formData:o={},formTemplateId:l,onThresholdActionCompletion:c,onThresholdIssueRaised:u,onNotesChange:h,onAttachmentChange:d,workOrderNumber:f,assetNumber:p,user:g,onCreateIssue:m,onUpdateIssue:w})=>{const B=o[t.id],y="preview"===A&&(t.basic?.notes&&t.basic.notes.trim().length>0||t.basic?.attachments&&Array.isArray(t.basic.attachments)&&t.basic.attachments.length>0),{attributes:b,listeners:v,setNodeRef:C,transform:x,transition:F,isDragging:Q,isSorting:U}=V({id:t.id,disabled:s||"edit"!==A}),L={transform:z.Transform.toString(x),transition:F,zIndex:Q?1e3:"auto"};return et.jsxs("div",{ref:C,style:L,className:`form-component section-child ${e?.id===t.id?"selected":""} ${Q?"dragging":""} ${U?"sorting":""} ${a?"children-edit-active":""}`,onClick:()=>!Q&&r(t),role:"button",tabIndex:0,children:[("edit"===A||a)&&et.jsx("div",{className:"child-drag-handle",...v,...b,onClick:t=>t.stopPropagation(),onMouseDown:t=>t.stopPropagation(),children:et.jsx(E,{size:14})}),et.jsxs("div",{className:"form-component-content section-child-content",children:[("edit"===A||a)&&et.jsxs("div",{className:"component-actions child-actions",children:[et.jsx("button",{className:"btn edit-btn",onClick:e=>{e.stopPropagation(),r(t)},onMouseDown:t=>t.stopPropagation(),title:"Edit properties",children:et.jsx(S,{size:12})}),et.jsx("button",{className:"btn delete-btn",onClick:e=>n(t,e),onMouseDown:t=>t.stopPropagation(),title:"Delete component",children:et.jsx(N,{size:12})})]}),et.jsxs("div",{className:"component-preview child-preview",children:[i(t),!["section","table","heading","file","instructions","signature","location","datagrid"].includes(t.name)&&et.jsx(Ct,{component:t,mode:"test",formTemplateId:l,formValue:B,formData:o,onThresholdActionCompletion:c,onThresholdIssueRaised:u,onNotesChange:h?e=>h(t.id,e):void 0,onAttachmentChange:d?e=>d(t.id,e):void 0,workOrderNumber:f,assetNumber:p,user:g,onCreateIssue:m,onUpdateIssue:w}),y&&et.jsx(Ft,{component:t})]})]})]})},Lt=({id:t,properties:n,mode:i="edit",formData:s={},onValueChange:a,onSelect:o,isSelected:l=!1,className:c="",onSectionSelect:u,onChildSelect:h,onChildDelete:d,selectedChild:f,renderFormComponent:p,formTemplateId:g,onThresholdActionCompletion:m,onThresholdIssueRaised:w,onNotesChange:B,onAttachmentChange:y,workOrderNumber:b,assetNumber:v,user:C,onCreateIssue:x,onUpdateIssue:U})=>{const[E,S]=e(n.basic.collapsed),[N,L]=e(!1),[_,I]=e(!1),[T,H]=e(n.basic.label),[O,P]=e(n.basic.description),[D,M]=e(n.children||[]),[K,V]=e(!1);A(()=>{M(n.children||[])},[n.children]),A(()=>{H(n.basic.label),P(n.basic.description)},[n.basic.label,n.basic.description]);const{setNodeRef:z,isOver:G}=k({id:`section-${t}`,disabled:"edit"!==i}),q=!("preview"!==i&&"test"!==i||n.children&&n.children.length>0),W=r(e=>{H(e),a?.({id:t,value:{...n,basic:{...n.basic,label:e}}})},[t,n,a]),X=r(e=>{P(e),a?.({id:t,value:{...n,basic:{...n.basic,description:e}}})},[t,n,a]),Y=r(t=>{h?.(t)},[h]),J=r((t,e)=>{e.stopPropagation();const A=D.filter(e=>e.id!==t.id);M(A),d?.(t.id)},[d,D,t]),$=r(()=>{u?.(n),o?.()},[u,o,n]),Z=r(t=>{t.stopPropagation(),"edit"===i&&D.length>0&&V(!K)},[i,D.length,K]),tt=r(e=>{e.stopPropagation(),S(!E),a?.({id:t,value:{...n,basic:{...n.basic,collapsed:!E}}})},[E,t,n,a]),At=p||r(t=>{const e=s[t.id]||"defaultValue"in t.basic&&t.basic.defaultValue||"";let A=e;"number-input"===t.name&&"number"==typeof e?A=String(e):"number-input"===t.name&&null==e&&(A="");const r={id:t.id,properties:t,validationErrors:{},formValue:A,touchedFields:{},formSubmitted:!1,mode:i,onValueChange:a,onBlur:()=>{},onFocus:()=>{}};switch(t.name){case"text-input":case"email-input":case"number-input":return et.jsx(ct,{...r,properties:t,inputType:"text-input"===t.name?"text":"number-input"===t.name?"number":"email",readonly:!1,disabled:!1});case"textarea":return et.jsx(ut,{...r,properties:t,readonly:!1,disabled:!1});case"select":const e={...t,options:t.basic?.options||[]};return et.jsx(ht,{...r,properties:e,disabled:!1});case"checkbox":const A={...t,options:t.basic?.options||[]};return et.jsx(dt,{...r,properties:A,formValue:[],disabled:!1});case"radio":const n={...t,options:t.basic?.options||[]};return et.jsx(ft,{...r,properties:n,readonly:!1,disabled:!1});case"date":case"date-picker":case"datetime-picker":return et.jsx(gt,{...r,properties:t,readonly:!1,disabled:!1});case"signature":return et.jsx(mt,{...r,properties:t});case"heading":return et.jsx(yt,{...r,properties:t});case"instructions":return et.jsx(bt,{...r,properties:t});case"location":return et.jsx(Bt,{...r,properties:t});case"datagrid":return et.jsx(St,{...r,properties:t,formData:s,mode:i,onNotesChange:()=>{},onAttachmentChange:()=>{}});case"segment":const a={...t,options:t.basic?.options||[]};return et.jsx(pt,{...r,properties:a});default:return et.jsx("div",{className:"form-group",children:et.jsxs("div",{className:"form-group-label",children:["Unsupported Component: ",t.name]})})}},[i,a,s]);if(q)return null;const rt={backgroundColor:n.styles?.backgroundColor||"var(--df-color-fb-container)",borderColor:n.styles?.borderColor||"var(--df-color-fb-border)",borderWidth:n.styles?.borderWidth||"2px",borderRadius:n.styles?.borderRadius||"8px",padding:n.styles?.padding||"16px",margin:n.styles?.margin||"16px 0"};return et.jsxs("div",{ref:z,className:`df-form-section ${l?"selected":""} ${G?"drag-over":""} ${c}`,style:rt,children:[et.jsxs("div",{className:"section-header "+(K?"children-edit-mode":""),onClick:$,onDoubleClick:Z,children:[et.jsx("div",{className:"section-header-content",children:et.jsxs("div",{className:"section-title",children:[et.jsx("span",{className:"section-toggle",title:E?"Expand section":"Collapse section",role:"button",tabIndex:0,onClick:t=>{t.stopPropagation(),tt(t)},onKeyDown:t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),tt(t))},style:{marginRight:"8px",display:"inline-flex",alignItems:"center"},children:E?et.jsx(Q,{size:18}):et.jsx(F,{size:18})}),"edit"===i&&N?et.jsx("input",{type:"text",value:T,onChange:t=>H(t.target.value),onBlur:()=>{L(!1),W(T)},onKeyDown:t=>{"Enter"===t.key&&(L(!1),W(T))},className:"section-title-input",autoFocus:!0}):et.jsx("h3",{className:"section-title-text",onDoubleClick:()=>"edit"===i&&L(!0),style:{display:"inline",margin:0},children:T||"Untitled Section"})]})}),(O||"edit"===i)&&et.jsx("div",{className:"section-description",children:"edit"===i&&_?et.jsx("textarea",{value:O,onChange:t=>P(t.target.value),onBlur:()=>{I(!1),X(O)},onKeyDown:t=>{"Enter"===t.key&&t.ctrlKey&&(I(!1),X(O))},className:"section-description-input",placeholder:"Section description (optional)",autoFocus:!0}):et.jsx("p",{className:"section-description-text",onDoubleClick:()=>"edit"===i&&I(!0),children:O||"Section description"})})]}),!E&&et.jsx("div",{className:`section-content ${G?"drag-over":""} ${0===D.length?"empty":"has-children"}`,onClick:t=>{t.target===t.currentTarget&&$()},children:et.jsx(j,{items:D.map(t=>t.id),strategy:R,children:0===D.length?et.jsxs("div",{className:"section-empty-state",onClick:$,style:{textAlign:"center",color:"#6b7280",fontSize:"14px",padding:"40px 20px",display:"flex",flexDirection:"column",alignItems:"center",gap:"8px",cursor:"pointer",border:"2px dotted #d1d5db",borderRadius:"8px",backgroundColor:"var(--df-color-fb-container)",transition:"all 0.3s ease",margin:"16px 0"},children:[et.jsx("div",{style:{fontWeight:"500",color:G?"#3b82f6":"#374151"},children:G?"Drop components here":"Empty Section"}),et.jsx("div",{style:{fontSize:"12px",color:"#9ca3af"},children:"Drag and drop components here to create your section"})]}):D.map(t=>et.jsx(Nt,{child:t,selectedChild:f||null,mode:i,onChildSelect:Y,onChildDelete:J,renderFormComponent:At,isChildrenEditMode:K,formData:s,formTemplateId:g,onNotesChange:B,onAttachmentChange:y,onThresholdActionCompletion:m,onThresholdIssueRaised:w,workOrderNumber:b,assetNumber:v,user:C,onCreateIssue:x,onUpdateIssue:U},t.id))})})]})},_t=t.lazy(()=>Promise.resolve().then(function(){return Mt})),It=({formComponents:i=[],currentDevice:s="desktop",isPreviewMode:a=!1,initialFormData:o=[],onSubmit:l,onFormDataChange:c,formTitle:u,formDescription:h,formTemplateId:d,onComponentSelect:f,onComponentDelete:p,onComponentEdit:g,onComponentUpdate:m,selectedComponent:w,workOrderNumber:B,assetNumber:y,isStandalone:b,user:v,onCreateIssue:C,onUpdateIssue:x})=>{const[F,Q]=e({}),[U,E]=e({}),[S,N]=e(!1),[L,_]=e({}),[I,k]=e({}),[T,H]=e(new Set),[O,P]=e(new Map),[D,M]=e({isValid:!0}),[j,R]=e({}),[K,V]=e({});A(()=>{G()},[i,o]);const z=(t,e)=>{t.forEach(t=>{if(t.id&&(void 0!==e[t.id]||(t.basic&&"value"in t.basic&&void 0!==t.basic.value&&""!==t.basic.value&&null!==t.basic.value?e[t.id]=t.basic.value:t.basic&&"defaultValue"in t.basic&&void 0!==t.basic.defaultValue&&""!==t.basic.defaultValue&&null!==t.basic.defaultValue?e[t.id]=t.basic.defaultValue:"checkbox"===t.name||"select"===t.name?e[t.id]=[]:e[t.id]="")),t.cells&&Array.isArray(t.cells)&&t.cells.forEach((t,A)=>{Array.isArray(t)&&t.forEach((t,A)=>{t&&t.components&&Array.isArray(t.components)&&z(t.components,e)})}),t.entries&&Array.isArray(t.entries)&&t.entries.forEach((t,A)=>{t&&t.components&&Array.isArray(t.components)&&z(t.components,e)}),"file"===t.name&&t.basic){const A=t.basic.files||t.basic.attachments||t.basic.value;A&&(e[t.id]=A)}if(t.id&&t.basic&&t.basic.notes,"instructions"===t.name&&t.basic){t.basic.instructions||(t.basic.instructions=[]);const A=t.basic.value||t.basic.instructions;A&&(e[t.id]=A)}t.children&&Array.isArray(t.children)&&z(t.children,e)})},G=r(()=>{const t={},e={},A={},r=new Set,n=t=>{t.forEach(t=>{t.id&&((t.basic?.notes||t.basic?.comments)&&(e[t.id]=t.basic?.notes||t.basic?.comments),t.basic?.attachments&&(A[t.id]=t.basic.attachments)),t.children&&n(t.children),t.cells&&t.cells.forEach(t=>t.forEach(t=>{t.components&&n(t.components)})),t.entries&&t.entries.forEach(t=>{t.components&&n(t.components)})})},s=t=>t.map((t,e)=>{let A={...t};if(A.id&&"string"==typeof A.id&&""!==A.id.trim())r.has(A.id)&&(console.error(`[DfFormPreview] Duplicate component ID detected: ${A.id}`),A.id=`${A.id}-duplicate-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,console.warn(`[DfFormPreview] Generated new unique ID: ${A.id}`));else{const t=A.name||"component",r=(A.basic?.label||"").replace(/[^a-zA-Z0-9]/g,"").toLowerCase().substring(0,10);A.id=`${t}-${r||"gen"}-${Date.now()}-${Math.random().toString(36).substr(2,6)}-${e}`,console.warn(`[DfFormPreview] Assigned missing ID: ${A.id}`)}return r.add(A.id),A.children&&Array.isArray(A.children)&&(A.children=s(A.children)),A.cells&&Array.isArray(A.cells)&&(A.cells=A.cells.map(t=>Array.isArray(t)?t.map(t=>t&&t.components&&Array.isArray(t.components)?{...t,components:s(t.components)}:t):t)),A.entries&&Array.isArray(A.entries)&&(A.entries=A.entries.map(t=>t&&t.components&&Array.isArray(t.components)?{...t,components:s(t.components)}:t)),A});let a=i;i&&i.length>0&&(a=s(i),JSON.stringify(a)!==JSON.stringify(i)&&c?.(a));let l=o;o&&o.length>0&&(l=s(o)),l&&l.length>0&&z(l,t),a&&a.length>0&&(z(a,t),n(a)),Q(e=>({...t,...e})),R(t=>({...e,...t})),V(t=>({...A,...t})),W()},[o,i]);A(()=>{W()},[F,i,W]);const q=(t,e,A,r)=>{t.forEach(t=>{if(t.id)if("table"===t.name||"datagrid"===t.name)e[t.id]=!0;else if(t.conditional){const n=rt.evaluateConditionalLogic(t.conditional,r,A);e[t.id]=n.shouldShow,t._id&&(e[t._id]=n.shouldShow),t.basic?.label&&(e[t.basic.label]=n.shouldShow)}else e[t.id]=!0,t._id&&(e[t._id]=!0),t.basic?.label&&(e[t.basic.label]=!0);t.cells&&Array.isArray(t.cells)&&t.cells.forEach(t=>{t.forEach(t=>{t.components&&Array.isArray(t.components)&&q(t.components,e,A,r)})}),t.entries&&Array.isArray(t.entries)&&t.entries.forEach(t=>{t.components&&Array.isArray(t.components)&&q(t.components,e,A,r)}),t.children&&Array.isArray(t.children)&&q(t.children,e,A,r)})},W=r((t,e)=>{const A={},r=e||i,n=t||F;r&&r.length>0&&q(r,A,n,r),k(t=>JSON.stringify(t)===JSON.stringify(A)?t:A)},[i,F]),X=r(t=>{const e=rt.findComponent(i,t);if(e&&("table"===e.name||"datagrid"===e.name))return!0;return!(!1===I[t]||e?._id&&!1===I[e._id]||e?.id&&!1===I[e.id])},[I,i]),Y=r(t=>{if(!t.id||"string"!=typeof t.id||""===t.id.trim())return void console.error("[DfFormPreview] Invalid component ID in onFormValueChange:",t);const e=i.filter(e=>e.id===t.id);if(e.length>1)return void console.error(`[DfFormPreview] ID COLLISION DETECTED! Multiple components share ID "${t.id}":`,e.map(t=>({id:t.id,name:t.name,label:t.basic?.label})));const A=F[t.id];void 0!==A&&t.value;const r=rt.findComponent(i,t.id),n={...F};n[t.id]=t.value,r&&(r.id&&(n[r.id]=t.value),r._id&&(n[r._id]=t.value),r.basic?.label&&(n[r.basic.label]=t.value)),Q(n),setTimeout(()=>{W(n,i)},0);const s=i.find(e=>e.id===t.id);if(s){const t=s?.threshold;t&&t.conditions&&t.conditions.length>0&&H(e=>{const A=new Set(e);return t.conditions.forEach(t=>{A.delete(t.id)}),A})}const o=e=>e.map(e=>e.id===t.id&&"defaultValue"in e.basic?{...e,basic:{...e.basic,value:t.value??e.basic.defaultValue,defaultValue:t.value}}:"section"===e.name&&e.children?{...e,children:o(e.children)}:"table"===e.name&&e.cells?{...e,cells:e.cells.map(t=>t.map(t=>{const e={...t};return e.components&&(e.components=o(e.components)),e}))}:"datagrid"===e.name&&e.entries?{...e,entries:e.entries.map(t=>{const e={...t};return e.components&&(e.components=o(e.components)),e})}:e),l=o(i);if(c?.(l),U[t.id]&&E(e=>({...e,[t.id]:""})),!a){if(t.isValid)return void E(e=>{const A=e[t.id];return A&&""!==A.trim()?{...e,[t.id]:""}:e});setTimeout(()=>{$(t.id)},150)}W(n,l)},[i,F,U,c,W]),J=r((t,e)=>{for(const A of t){if(A.id===e)return A;if("section"===A.name&&A.children){const t=J(A.children,e);if(t)return t}if("table"===A.name&&A.cells)for(const t of A.cells)for(const A of t)if(A.components){const t=J(A.components,e);if(t)return t}if("datagrid"===A.name&&A.entries)for(const t of A.entries)if(t.components){const A=J(t.components,e);if(A)return A}}return null},[]),$=r(t=>{if(a)return;const e=J(i,t);if(!e)return;const A=F[t]||"";if("number-input"===e.name&&(!A||""===A)){if(e.validation.required){const A=e.validation.customValidationMessage,r=e.basic.label||"This field",n=A||`${r} is required`;E(e=>({...e,[t]:n}))}else E(e=>({...e,[t]:""}));return}let r=!1;r=Array.isArray(A)?A.length>0:"string"==typeof A?""!==A.trim():null!=A;let n="";if(e.validation.required&&!r){const t=e.validation.customValidationMessage,A=e.basic.label||"This field";n=t||`${A} is required`}else if("email-input"===e.name&&r&&!/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(A)){const t=e.validation.customValidationMessage,A=e.basic.label||"This field";n=t||`${A} must be a valid email`}else if(e.validation.minLength&&r&&A.length<e.validation.minLength){const t=e.validation.customValidationMessage,A=e.basic.label||"This field";n=t||`${A} must be at least ${e.validation.minLength} characters`}else if(e.validation.maxLength&&r&&A.length>e.validation.maxLength){const t=e.validation.customValidationMessage,A=e.basic.label||"This field";n=t||`${A} must be no more than ${e.validation.maxLength} characters`}else if("number-input"===e.name&&r){const t=String(A).trim(),r=parseFloat(t);if(!isNaN(r)){const t=e.validation;t&&"lowerLimit"in t&&void 0!==t.lowerLimit&&null!==t.lowerLimit&&0!==t.lowerLimit&&r<t.lowerLimit?n="Number is below the lower limit":t&&"upperLimit"in t&&void 0!==t.upperLimit&&null!==t.upperLimit&&0!==t.upperLimit&&r>t.upperLimit&&(n="Number is above the upper limit")}}E(e=>({...e,[t]:n}))},[i,a,F,J]),Z=r(t=>{_(e=>({...e,[t]:!0})),a||setTimeout(()=>{$(t)},0)},[a,$]),tt=r(t=>{U[t]&&E(e=>({...e,[t]:""}))},[U]),At=r(()=>!Object.values(U).some(t=>t&&"string"==typeof t&&""!==t.trim())&&i.every(t=>{const e=F[t.id]||"";let A=!1;if(A=Array.isArray(e)?e.length>0:"string"==typeof e?""!==e.trim():null!=e,t.validation.required&&!A)return!1;if("number-input"===t.name&&A){const A=String(e).trim(),r=parseFloat(A);if(!isNaN(r)){const e=t.validation;if(e&&"lowerLimit"in e&&void 0!==e.lowerLimit&&null!==e.lowerLimit&&0!==e.lowerLimit&&r<e.lowerLimit)return!1;if(e&&"upperLimit"in e&&void 0!==e.upperLimit&&null!==e.upperLimit&&0!==e.upperLimit&&r>e.upperLimit)return!1}}return!0}),[i,F,U]),it=r((t,e)=>{if(Array.isArray(e))return e.some(e=>it(t,e));if(null==e||""===e)return!1;const A="string"==typeof e?parseFloat(e):e,r="string"==typeof t.value?parseFloat(t.value):t.value;if(!isNaN(A)&&!isNaN(r))switch(t.operator){case"greaterThan":return A>r;case"lessThan":return A<r;case"greaterThanOrEqual":return A>=r;case"lessThanOrEqual":return A<=r;case"equals":return A===r;case"notEquals":return A!==r;default:return!1}const n=String(e).toLowerCase(),i=String(t.value).toLowerCase();switch(t.operator){case"equals":return n===i||String(e)===String(t.value);case"notEquals":return n!==i&&String(e)!==String(t.value);default:return!1}},[]),st=r(()=>{if(a)return[];const t=[];return i.forEach(e=>{const A=e?.condition;if(!A||!A.conditions||0===A.conditions.length)return;const r=F[e.id];null!=r&&""!==r&&!(Array.isArray(r)&&0===r.length)&&A.conditions.forEach(A=>{it(A,r)&&t.push({componentId:e.id,condition:A,componentLabel:e.basic?.label||"Field"})})}),t},[i,F,a,it]),at=r(()=>{if(a)return{isValid:!0};const t=st();if(0===t.length)return{isValid:!0};for(const{condition:e,componentLabel:A}of t){const t=O.get(e.id)||{notesCompleted:!1,attachmentsCompleted:!1,emailSent:!1},r=[];if(!0!==e.enableRaiseIssue||T.has(e.id)||r.push("raise an issue"),!0!==e.enableNotes||t.notesCompleted||r.push("add notes"),!0!==e.enableAttachment||t.attachmentsCompleted||r.push("add attachments"),!0!==e.enableSendEmail||t.emailSent||r.push("send email"),r.length>0){return{isValid:!1,errorMessage:`Please ${1===r.length?r[0]:r.slice(0,-1).join(", ")+" and "+r[r.length-1]} for the threshold condition met in "${A}". You cannot submit the form until all required actions are completed.`}}}return{isValid:!0}},[a,st,T,O]),ot=r(t=>{t&&H(e=>{const A=new Set(e);return A.add(t),A})},[]),lt=r((t,e,A)=>{t&&P(r=>{const n=new Map(r),i=n.get(t)||{notesCompleted:!1,attachmentsCompleted:!1,emailSent:!1};return"notes"===e?n.set(t,{...i,notesCompleted:A}):"attachments"===e?n.set(t,{...i,attachmentsCompleted:A}):"email"===e&&n.set(t,{...i,emailSent:A}),n})},[]);A(()=>{if(!a){const t=at();M(t)}},[F,T,O,a,at]);const vt=r(()=>{if(a)return!0;let t=!0;N(!0);const e={};return i.forEach(A=>{const r=F[A.id]||"";let n=!1;if(n=Array.isArray(r)?r.length>0:"string"==typeof r?""!==r.trim():null!=r,A.validation.required&&!n){const r=A.validation.customValidationMessage,n=A.basic.label||"This field",i=r||`${n} is required`;e[A.id]=i,t=!1}else if("number-input"===A.name&&n){const n=String(r).trim(),i=parseFloat(n);if(isNaN(i))e[A.id]="";else{const r=A.validation;r&&"lowerLimit"in r&&void 0!==r.lowerLimit&&null!==r.lowerLimit&&0!==r.lowerLimit&&i<r.lowerLimit?(e[A.id]="Number is below the lower limit",t=!1):r&&"upperLimit"in r&&void 0!==r.upperLimit&&null!==r.upperLimit&&0!==r.upperLimit&&i>r.upperLimit?(e[A.id]="Number is above the upper limit",t=!1):e[A.id]=""}}else e[A.id]="";_(t=>({...t,[A.id]:!0}))}),E(e),t},[i,a,F]),xt=r((t="Submitted")=>{if(N(!0),!vt()){const t=i.find(t=>{const e=F[t.id]||"";let A=!1;return A=Array.isArray(e)?e.length>0:"string"==typeof e?""!==e.trim():null!=e,t.validation.required&&!A});if(t){const e=document.getElementById(t.id);e&&e.focus()}return}const e=at();if(!e.isValid){e.errorMessage&&nt.showError(e.errorMessage);const t=st().find(({condition:t})=>!T.has(t.id));if(t){const e=document.getElementById(t.componentId);e&&e.scrollIntoView({behavior:"smooth",block:"center"})}return}const A=t=>t.map(t=>{let e=F[t.id];"text-input"===t.name&&t.basic,void 0===e&&(e="value"in t.basic&&void 0!==t.basic.value?t.basic.value:"defaultValue"in t.basic&&void 0!==t.basic.defaultValue?t.basic.defaultValue:""),"text-input"===t.name&&t.basic;const r={...t,basic:{...t.basic,value:e,defaultValue:e,notes:void 0!==j[t.id]?j[t.id]:t.basic?.notes,comments:void 0!==j[t.id]?j[t.id]:t.basic?.comments||t.basic?.notes,attachments:void 0!==K[t.id]?K[t.id]:t.basic?.attachments}};return"section"===r.name&&r.children&&(r.children=A(r.children)),"table"===r.name&&r.cells&&(r.cells=r.cells.map(t=>t.map(t=>{const e={...t};return e.components&&(e.components=A(e.components)),e}))),"datagrid"===r.name&&r.entries&&(r.entries=r.entries.map(t=>{const e={...t};return e.components&&(e.components=A(e.components)),e})),r}),r=A(i),n={...F,status:t};l?.(r,n)},[i,F,vt,l,j,K]),Qt=r(()=>({[`device-${s}`]:!0,readonly:a}),[s,a]),Ut=r((t,e)=>{R(A=>({...A,[t]:e}))},[]),Et=r((t,e)=>{V(A=>({...A,[t]:e||[]}))},[]),Nt=n(new Map),It=n(0),kt=e=>{let A;if(e.id&&"string"==typeof e.id&&""!==e.id.trim())A=e.id;else{const t=e.basic?.label||"",r=e.name||"unknown",n=`${r}-${t}`;let i=Nt.current.get(n);i||(It.current+=1,i=`generated-${r}-${It.current}-${Math.random().toString(36).substr(2,9)}`,Nt.current.set(n,i),console.warn("[DfFormPreview] Generated and cached ID for component:",i,"key:",n)),A=i,e={...e,id:A}}const r=A,n=F[r];if(void 0!==n){const t=i.filter(t=>t.id!==r&&F[t.id]===n);t.length>0&&console.warn(`[DfFormPreview] Component ${r} shares form value with other components:`,t.map(t=>t.id))}const s={id:r,validationErrors:U,formValue:n,touchedFields:L,formSubmitted:S,mode:"test",readonly:!1,onValueChange:Y,onBlur:()=>Z(r),onFocus:()=>tt(r)};switch(e.name){case"text-input":case"number-input":case"email-input":return et.jsx(ct,{...s,properties:e,inputType:"text-input"===e.name?"text":"number-input"===e.name?"number":"email",formTemplateId:d,onThresholdIssueRaised:ot,raisedThresholdIssues:T,workOrderNumber:B,assetNumber:y,user:v});case"textarea":return et.jsx(ut,{...s,properties:e});case"select":const A={...e,options:e.basic?.options||[],basic:{...e.basic,comments:e.basic?.comments||""}};return et.jsx(ht,{...s,properties:A});case"checkbox":const r={...e,options:e.basic?.options||[],basic:{...e.basic,comments:e.basic?.comments||""}};return et.jsx(dt,{...s,properties:r});case"radio":const a={...e,options:e.basic?.options||[],basic:{...e.basic,comments:e.basic?.comments||""}};return et.jsx(ft,{...s,properties:a});case"segment":const o={...e,options:e.basic?.options||[],basic:{...e.basic,comments:e.basic?.comments||""}};return et.jsx(pt,{...s,properties:o});case"date":case"date-picker":case"datetime-picker":return et.jsx(gt,{...s,properties:e});case"signature":return et.jsx(mt,{...s,properties:e});case"heading":return et.jsx(yt,{...s,properties:e});case"instructions":const l=n||e.basic?.value||null;return et.jsx(bt,{...s,properties:e,formValue:l});case"location":return et.jsx(Bt,{...s,properties:e});case"section":return et.jsx(Lt,{...s,properties:e,formData:F,formTemplateId:d,onThresholdActionCompletion:lt,onThresholdIssueRaised:ot,onNotesChange:Ut,onAttachmentChange:Et,workOrderNumber:B,assetNumber:y,user:v,onCreateIssue:C,onUpdateIssue:x,renderFormComponent:t=>kt(t)});case"table":return et.jsx(t.Suspense,{fallback:et.jsx("div",{children:"Loading table..."}),children:et.jsx(_t,{...s,properties:e,formData:F,formTemplateId:d,mode:s.mode,validationErrors:U,touchedFields:L,formSubmitted:S,onThresholdActionCompletion:lt,onThresholdIssueRaised:ot,workOrderNumber:B,assetNumber:y,onCreateIssue:C,onUpdateIssue:x,onNotesChange:(t,A)=>{const r=i.map(r=>{if(r.id===e.id&&r.cells){const e=r.cells.map(e=>e.map(e=>{if(e.components){const r=e.components.map(e=>e.id===t?{...e,basic:{...e.basic,notes:A}}:e);return{...e,components:r}}return e}));return{...r,cells:e}}return r});c?.(r)},onAttachmentChange:(t,A)=>{const r=i.map(r=>{if(r.id===e.id&&r.cells){const e=r.cells.map(e=>e.map(e=>{if(e.components){const r=e.components.map(e=>e.id===t?{...e,basic:{...e.basic,attachments:A||[]}}:e);return{...e,components:r}}return e}));return{...r,cells:e}}return r});c?.(r)},renderFormComponent:t=>kt(t)})});case"datagrid":return et.jsx(St,{...s,properties:e,formData:F,formTemplateId:d,mode:s.mode,validationErrors:U,touchedFields:L,formSubmitted:S,onThresholdActionCompletion:lt,onThresholdIssueRaised:ot,workOrderNumber:B,assetNumber:y,user:v,onComponentSelect:f,onComponentDelete:p,onComponentEdit:g,onCreateIssue:C,onUpdateIssue:x,onComponentUpdate:m,selectedComponent:w,onNotesChange:(t,A)=>{Ut(t,A);const r=i.map(r=>{if(r.id===e.id&&r.entries){const e=r.entries.map(e=>{if(e.components){const r=e.components.map(e=>e.id===t?{...e,basic:{...e.basic,notes:A||""}}:e);return{...e,components:r}}return e});return{...r,entries:e}}return r});c?.(r)},onAttachmentChange:(t,A)=>{Et(t,A);const r=i.map(r=>{if(r.id===e.id&&r.entries){const e=r.entries.map(e=>{if(e.components){const r=e.components.map(e=>e.id===t?{...e,basic:{...e.basic,attachments:A||[]}}:e);return{...e,components:r}}return e});return{...r,entries:e}}return r});c?.(r)},onValueChange:t=>{if(t.id===e.id&&t.value&&"object"==typeof t.value&&"entries"in t.value){const A=i.map(A=>A.id===e.id?{...A,...t.value}:A);c?.(A),t.value.entries&&Array.isArray(t.value.entries)&&t.value.entries.forEach(t=>{t.components&&Array.isArray(t.components)&&t.components.forEach(t=>{if(void 0!==F[t.id]);else{const e=t.basic?.defaultValue;void 0!==e&&Q(A=>({...A,[t.id]:e}))}})})}else Y(t)},onEntryAdd:()=>{const t=i.find(t=>t.id===e.id);if(t&&t.entries){const t=i.map(t=>t.id===e.id?{...t,entries:t.entries||[]}:t);c?.(t)}else setTimeout(()=>{const t=F[e.id];if(t&&"object"==typeof t&&"entries"in t){const A=i.map(A=>A.id===e.id?{...A,entries:t.entries}:A);c?.(A)}},100)},onEntryRemove:t=>{const A=i.map(A=>{if(A.id===e.id&&A.entries){const e=(A.entries||[]).filter((e,A)=>A!==t).map((t,e)=>({...t,index:e,id:`entry-${A.id}-${e}`,components:t.components?.map((t,A)=>{const r=(t.templateComponents||[])[A];return{...t,id:r?`${r.id}-entry-${e}-${A}`:t.id}})||[]}));return{...A,entries:e}}return A});c?.(A)},renderFormComponent:t=>kt(t)});case"file":const u=n||e.basic?.value||e.basic?.files||e.basic?.attachments||null;return et.jsx(wt,{...s,properties:e,formValue:u});default:return et.jsx("div",{className:"form-group",children:et.jsxs("div",{className:"form-group-label",children:["Unsupported Component: ",e.name]})})}};return et.jsx("div",{className:"form-preview-container",children:et.jsx("div",{className:"form-preview-wrapper",children:et.jsxs("div",{className:`form-preview ${Object.entries(Qt()).map(([t,e])=>e?t:"").join(" ")}`,children:[et.jsx("div",{className:"form-canvas-header"}),0===i.length?et.jsx("div",{className:"empty-state",children:et.jsx("div",{className:"empty-state-card",children:et.jsx("div",{className:"empty-state-preview-area",children:et.jsx("span",{className:"empty-state-placeholder",children:"Add components to see the form preview"})})})}):et.jsxs("form",{className:"form-preview-form",onSubmit:t=>{t.preventDefault(),xt()},children:[(u||h)&&et.jsxs("div",{className:"form-header",children:[u&&et.jsx("h1",{className:"form-title",children:u}),h&&et.jsx("p",{className:"form-description",children:h})]}),i.map(t=>{const e=t.basic,A=F[t.id],r=["select","radio","checkbox","segment"].includes(t.name||""),n=t.options||e?.options||[],s=(()=>{const e=t?.styles?.column;return"section"===t.name||"table"===t.name||"datagrid"===t.name?"col-12":3===e?"col-3":6===e?"col-6":9===e?"col-9":"col-12"})();let o=!1;if(!a)if(r&&null!=A&&""!==A)if("checkbox"===t.name){o=(Array.isArray(A)?A:[A]).some(t=>{const e=n.find(e=>e.value===t);return e&&(e.enableNotes||e.enableAttachment||e.enableRaiseIssue||e.enableSendEmail)})}else{const t=n.find(t=>t.value===A);o=t&&(t.enableNotes||t.enableAttachment||t.enableRaiseIssue||t.enableSendEmail)}else o=e?.enableNotes||e?.enableAttachment||e?.enableRaiseIssue||e?.enableSendEmail;const l=a&&(t.basic?.notes&&t.basic.notes.trim().length>0||t.basic?.attachments&&Array.isArray(t.basic.attachments)&&t.basic.attachments.length>0);return et.jsxs("div",{className:`form-group ${s} ${o||l?"has-action-features":""}`,style:{display:X(t.id)?"block":"none"},children:[kt(t),!a&&!["section","table","heading","file","instructions","signature","location","datagrid"].includes(t.name)&&et.jsx(Ct,{component:t,mode:a?"preview":"test",formTemplateId:d,formValue:A,onThresholdActionCompletion:lt,onThresholdIssueRaised:ot,onNotesChange:e=>{R(A=>({...A,[t.id]:e}));const A=i.map(A=>A.id===t.id?{...A,basic:{...A.basic,notes:e||""}}:A);c?.(A)},onAttachmentChange:e=>{V(A=>({...A,[t.id]:e||[]}));const A=i.map(A=>A.id===t.id?{...A,basic:{...A.basic,attachments:e||[]}}:A);c?.(A)},notes:void 0!==j[t.id]?j[t.id]:t.basic?.notes||"",attachments:void 0!==K[t.id]?K[t.id]:t.basic?.attachments||null,workOrderNumber:B,assetNumber:y,isStandalone:b,user:v,onCreateIssue:C,onUpdateIssue:x}),a&&l&&et.jsx(Ft,{component:t})]},t.id)}),!a&&et.jsxs("div",{className:"form-actions",children:[!S&&et.jsx("button",{type:"button",onClick:()=>xt("Saved"),className:"form-save-button",disabled:S&&!At(),children:"Save"}),et.jsx("button",{type:"button",disabled:!At()||!D.isValid,className:"form-submit-button",title:D.isValid?"":D.errorMessage,onClick:()=>xt("Submitted"),children:"Submit"})]})]})]})})})},kt=({comment:t="",onSave:n,placeholder:i="Enter your reason...",className:s="",disabled:a=!1})=>{const[o,l]=e(!0),[c,u]=e(t),[h,d]=e(!1);A(()=>{u(t),d(!1)},[t]);const f=r(e=>{const A=e.target.value;u(A),d(A!==t)},[t]),p=r(()=>{h&&n&&!a&&(n(c),d(!1))},[h,n,c,a]),g=r(()=>{},[]),m=r(()=>{a||l(!o)},[o,a]);return et.jsxs("div",{className:`df-form-comments ${s}`,children:[et.jsxs("div",{className:"df-form-comments__header",children:[et.jsx("h3",{className:"df-form-comments__title",children:"Comments"}),et.jsx("button",{className:"df-form-comments__toggle",type:"button",onClick:m,"aria-expanded":o,"aria-label":"Toggle comments section",disabled:a,children:o?et.jsx("span",{className:"df-form-comments__toggle-icon",children:"▼"}):et.jsx("span",{className:"df-form-comments__toggle-icon",children:"▶"})})]}),et.jsx("div",{className:"df-form-comments__content "+(o?"df-form-comments__content--expanded":""),children:et.jsx("div",{className:"df-form-comments__input-container",children:et.jsx("div",{className:"df-form-comments__input-line",children:et.jsx("input",{type:"text",id:"comment-input",className:"df-form-comments__input",value:c,onChange:f,onBlur:p,onFocus:g,placeholder:i,disabled:a})})})})]})},Tt=t=>t.id?t:{...t,id:G()},Ht=({component:t,mode:e,renderFormComponent:A,formData:r={},formTemplateId:n,onThresholdActionCompletion:i,onThresholdIssueRaised:s,onNotesChange:a,onAttachmentChange:o,workOrderNumber:l,assetNumber:c,user:u,onCreateIssue:h,onUpdateIssue:d})=>{const f=r[t.id],p="preview"===e&&(t.basic?.notes&&t.basic.notes.trim().length>0||t.basic?.attachments&&Array.isArray(t.basic.attachments)&&t.basic.attachments.length>0);return et.jsxs("div",{className:"simple-table-component",children:[A(t),!["section","table","heading","file","instructions","signature","location","datagrid"].includes(t.name)&&et.jsx(Ct,{component:t,mode:"test",formTemplateId:n,formValue:f,formData:r,onThresholdActionCompletion:i,onThresholdIssueRaised:s,onNotesChange:a?e=>a(t.id,e):void 0,onAttachmentChange:o?e=>o(t.id,e):void 0,workOrderNumber:l,assetNumber:c,user:u,onCreateIssue:h,onUpdateIssue:d}),p&&et.jsx(Ft,{component:t})]})},Ot=({component:t,selectedComponent:e,mode:A,onComponentSelect:r,onComponentDelete:n,onComponentEdit:i,renderFormComponent:s,isOverlay:a=!1})=>{const{attributes:o,listeners:l,setNodeRef:c,transform:u,transition:h,isDragging:d,isSorting:f}=V({id:t.id,disabled:a}),p={transform:z.Transform.toString(u),transition:h,opacity:d?.3:1,zIndex:d?1e3:"auto"};return et.jsxs("div",{ref:c,style:p,className:`form-component table-component ${e?.id===t.id?"selected":""} ${d?"dragging":""} ${f?"sorting":""}`,onClick:()=>!d&&r(t),role:"button",tabIndex:0,children:["edit"===A&&et.jsx("div",{className:"component-drag-handle",...l,...o,onClick:t=>t.stopPropagation(),style:{opacity:1},children:et.jsx(E,{size:14})}),et.jsx("div",{className:"component-content",children:s(t)}),"edit"===A&&et.jsxs("div",{className:"component-actions",style:{opacity:1},children:[i&&et.jsx("button",{className:"component-edit-btn",onClick:e=>{e.stopPropagation(),i(t)},type:"button",title:"Edit Component",children:et.jsx(S,{size:12})}),et.jsx("button",{className:"component-delete-btn",onClick:e=>{e.stopPropagation(),n(t,e)},type:"button",title:"Delete Component",children:et.jsx(N,{size:12})})]})]})},Pt=({cell:t,mode:e,onComponentSelect:A,onComponentDelete:r,onComponentEdit:n,selectedComponent:i,renderFormComponent:s,formData:a={},formTemplateId:o,onThresholdActionCompletion:l,onThresholdIssueRaised:c,tableId:u,onNotesChange:h,onAttachmentChange:d,workOrderNumber:f,assetNumber:p,user:g,onCreateIssue:m,onUpdateIssue:w})=>{const B=`table-cell-${u}-${t.row}-${t.column}`,{setNodeRef:y,isOver:b}=k({id:B,disabled:"edit"!==e,data:{type:"table-cell",tableId:u,cell:t,row:t.row,column:t.column}}),v={...t.styles,backgroundColor:b?"var(--df-color-primary-light)":t.styles?.backgroundColor||"transparent",minHeight:t.styles?.minHeight||"preview"===e||"test"===e?"40px":"60px",padding:(t.styles,"8px"),border:"preview"===e||"test"===e?"none":b?"2px dashed var(--df-color-primary)":t.styles?.borderColor?`1px solid ${t.styles.borderColor}`:"1px solid var(--df-color-fb-border)",borderRadius:"preview"===e||"test"===e?"0":"4px",position:"relative",verticalAlign:t.styles?.verticalAlign||"top"};return et.jsx("td",{ref:y,style:v,className:"table-cell "+(b?"drag-over":""),children:et.jsx("div",{className:"cell-content",children:t.components&&Array.isArray(t.components)&&t.components.length>0?"edit"===e?et.jsx(j,{items:t.components.map(t=>t.id||G()),strategy:R,children:t.components.map(t=>{const a=Tt(t);return et.jsx(Ot,{component:a,selectedComponent:i,mode:e,onComponentSelect:A,onComponentDelete:r,onComponentEdit:n,renderFormComponent:s},a.id)})}):t.components.map(t=>{const A=t.id?t:Tt(t);return et.jsx(Ht,{component:A,mode:e,renderFormComponent:s,formData:a,formTemplateId:o,onThresholdActionCompletion:l,onThresholdIssueRaised:c,onNotesChange:h,onAttachmentChange:d,workOrderNumber:f,assetNumber:p,user:g,onCreateIssue:m,onUpdateIssue:w},A.id)}):"edit"===e?et.jsx("div",{className:"empty-cell-placeholder",children:et.jsxs("div",{className:"cell-info",children:[et.jsx("span",{className:"drop-zone-text",children:"Drag and Drop a form component"}),et.jsxs("span",{className:"cell-coordinates",children:["Cell (",t.row+1,", ",t.column+1,")"]})]})}):et.jsx("div",{style:{minHeight:"20px",backgroundColor:"transparent",visibility:"hidden"},children:" "})})})},Dt=({id:t,properties:n,mode:s="edit",formData:a={},validationErrors:o={},touchedFields:l={},formSubmitted:c=!1,onValueChange:u,onSelect:h,isSelected:d=!1,className:f="",onTableSelect:p,onComponentSelect:g,onComponentDelete:m,onComponentEdit:w,selectedComponent:B,renderFormComponent:y,formTemplateId:b,onThresholdActionCompletion:v,onThresholdIssueRaised:C,onNotesChange:x,onAttachmentChange:U,workOrderNumber:E,assetNumber:S,user:N,onCreateIssue:_,onUpdateIssue:I})=>{const[k,T]=e(!1),H=n.cells?.some(t=>t.some(t=>t.components&&t.components.length>0))||!1;A(()=>{},[n.table?.rows,n.table?.columns,n.basic?.rows,n.basic?.columns,n.cells,t,u]);const O=r(t=>{t.stopPropagation(),h?.(),p?.(n)},[h,p,n]),P=r((e,A)=>{A.stopPropagation();const r=n.cells.map(t=>t.map(t=>{if(t.components&&t.components.some(t=>t.id===e.id)){const A=t.components.filter(t=>t.id!==e.id);return{...t,components:A}}return t}));u&&u({id:t,value:{...n,cells:r}})},[m,n,u,t]),D=i(()=>n.cells?n.cells.map((e,A)=>e.map((e,r)=>({...e,components:e.components&&Array.isArray(e.components)?e.components.map((e,n)=>{if(e.id&&"string"==typeof e.id&&""!==e.id.trim())return e;const i=`${e.name||"component"}-table-${t}-row-${A}-cell-${r}-comp-${n}`;return{...e,id:i}}):[]}))):[],[n.cells,t]),M=y||r(t=>{const e=t.id?t:Tt(t),A=a[e.id]||"defaultValue"in e.basic&&e.basic.defaultValue||"";let r=A;"number-input"===e.name&&"number"==typeof A?r=String(A):"number-input"===e.name&&null==A&&(r="");const n={id:e.id,properties:e,validationErrors:{},formValue:r,touchedFields:{},formSubmitted:!1,mode:s,onValueChange:t=>{u?.(t)},onBlur:()=>{},onFocus:()=>{}};switch(e.name){case"text-input":case"email-input":case"number-input":return et.jsx(ct,{...n,properties:e,inputType:"text-input"===e.name?"text":"number-input"===e.name?"number":"email",readonly:!1,disabled:!1});case"textarea":return et.jsx(ut,{...n,properties:e,readonly:!1,disabled:!1});case"select":const t={...e,options:e.basic?.options||[]};return et.jsx(ht,{...n,properties:t,disabled:!1});case"checkbox":const A={...e,options:e.basic?.options||[]};return et.jsx(dt,{...n,properties:A,formValue:[],disabled:!1});case"radio":const r={...e,options:e.basic?.options||[]};return et.jsx(ft,{...n,properties:r,readonly:!1,disabled:!1});case"date":case"date-picker":case"datetime-picker":return et.jsx(gt,{...n,properties:e,readonly:!1,disabled:!1});case"signature":return et.jsx(mt,{...n,properties:e});case"heading":return et.jsx(yt,{...n,properties:e});case"instructions":return et.jsx(bt,{...n,properties:e});case"location":return et.jsx(Bt,{...n,properties:e});case"datagrid":return et.jsx(St,{...n,properties:e,formData:a,mode:s,onNotesChange:()=>{},onAttachmentChange:()=>{}});case"segment":const i={...e,options:e.basic?.options||[]};return et.jsx(pt,{...n,properties:i});default:return et.jsxs("div",{className:"unknown-component",children:["Unknown component: ",e.name]})}},[y,s,a,u]),j={backgroundColor:n.styles?.backgroundColor||"var(--df-color-fb-container)",borderColor:n.styles?.borderColor||"var(--df-color-fb-border)",borderWidth:n.styles?.borderWidth||"2px",borderRadius:n.styles?.borderRadius||"8px",padding:n.styles?.padding||"16px",margin:n.styles?.margin||"16px 0"},R={width:"100%",minWidth:"600px",borderCollapse:"preview"===s||"test"===s?"separate":"collapse",tableLayout:"fixed",border:"preview"===s||"test"===s?"1px solid var(--df-color-fb-border)":"none"};return H||"preview"!==s?et.jsxs("div",{className:`form-group df-form-table ${d?"selected":""} ${"preview"===s?"preview-mode":"test"===s?"test-mode":""} ${f}`,onClick:O,style:j,children:[et.jsx("div",{className:"table-header",children:et.jsx("div",{className:"table-title",onClick:e=>{e.stopPropagation(),T(!k),u?.({id:t,value:{...n,basic:{...n.basic||{},collapsed:!k}}})},children:et.jsxs("div",{className:"title-content",children:[k?et.jsx(Q,{size:16}):et.jsx(F,{size:16}),et.jsx(L,{size:16}),et.jsx("span",{className:"table-label",children:n.basic?.label||"Table"}),n.validation?.required&&et.jsx("span",{className:"required-indicator",children:"*"})]})})}),n.basic?.description&&!k&&et.jsx("div",{className:"table-description",children:n.basic.description}),!k&&et.jsxs("div",{className:"table-content",children:[null,et.jsxs("table",{style:R,children:[n.table?.displayAsTable&&("edit"===s||n.table?.showColumns)&&et.jsx("thead",{children:et.jsx("tr",{className:"table-header-row",children:Array.from({length:n.table?.columns||n.basic?.columns||3},(t,e)=>{const A=(n.table?.columnNames?.split(",").map(t=>t.trim())||[])[e]||`Column ${e+1}`;return et.jsx("th",{className:"table-header-cell",style:{backgroundColor:(n.styles.headerBackgroundColor,"var(--df-color-fb-container)"),color:n.styles.headerTextColor||"var(--df-color-text-dark)",padding:"12px",border:"1px solid var(--df-color-fb-border)",fontWeight:"600",fontSize:"14px",textAlign:"center"},children:A},`header-${e}`)})})}),et.jsx("tbody",{children:D.map((e,A)=>et.jsx("tr",{className:"table-row",children:e.map(e=>et.jsx(Pt,{cell:e,mode:s,onComponentSelect:g||(()=>{}),onComponentDelete:P,onComponentEdit:w,selectedComponent:B||null,renderFormComponent:M,formData:a,formTemplateId:b,onThresholdActionCompletion:v,onThresholdIssueRaised:C,tableId:t,onNotesChange:x,onAttachmentChange:U,workOrderNumber:E,assetNumber:S,user:N,onCreateIssue:_,onUpdateIssue:I},e.id))},A))})]})]})]}):null};var Mt=Object.freeze({__proto__:null,DfFormTable:Dt,default:Dt});const jt={page:{fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif',padding:"30px",backgroundColor:"#ffffff",color:"#000000",lineHeight:"1.4"},header:{marginBottom:"30px",paddingBottom:"15px",borderBottom:"2px solid #303992",display:"flex",justifyContent:"space-between",alignItems:"flex-end"},title:{margin:"0 0 5px 0",fontSize:"24px",fontWeight:"bold",color:"#303992"},description:{margin:"0",fontSize:"14px",color:"#666666"},submittedBy:{fontSize:"14px",color:"#333",textAlign:"right",whiteSpace:"nowrap",marginBottom:"2px"},formGroup:{marginBottom:"20px",breakInside:"avoid"},label:{fontWeight:"400",display:"block",marginBottom:"8px",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif',fontSize:"14px",lineHeight:"1.5",fontColor:"var(--df-color-text-dark)"},labelLeft:{fontWeight:"400",display:"block",marginRight:"10px",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif',fontSize:"14px",lineHeight:"1.5",width:"60%",fontColor:"var(--df-color-text-dark)"},valueContainer:{border:"1px solid #e2e8f0",borderRadius:"6px",padding:"8px 12px",backgroundColor:"#ffffff",minHeight:"20px",fontSize:"14px",flex:1},value:{fontSize:"14px",color:"#000000"},gridRow:{display:"flex",flexWrap:"wrap",gap:"16px",marginBottom:"20px"},gridCol:t=>({flex:`0 0 calc(${t/12*100}% - 8px)`,minWidth:"0"}),img:{maxWidth:"100%",maxHeight:"300px",border:"1px solid #ddd",borderRadius:"4px",display:"block",marginTop:"5px"},table:{width:"100%",borderCollapse:"collapse",border:"1px solid #ddd",marginTop:"10px",tableLayout:"fixed"},th:{border:"1px solid #ddd",padding:"8px",backgroundColor:"#f5f5f5",fontWeight:"bold",textAlign:"left",fontSize:"13px"},td:{border:"1px solid #ddd",padding:"8px",fontSize:"13px",verticalAlign:"top"},section:{marginBottom:"25px",breakInside:"avoid"},sectionHeader:{fontSize:"18px",marginBottom:"15px",display:"block",fontWeight:"600"},sectionChildren:{marginLeft:"20px",paddingLeft:"20px",borderLeft:"2px solid #3b82f6",marginTop:"15px"},notesSection:{marginTop:"10px",padding:"10px",backgroundColor:"rgba(48, 57, 146, 0.05)",borderLeft:"3px solid #303992",borderRadius:"4px",fontSize:"13px",boxSizing:"border-box"},notesLabel:{fontWeight:"bold",color:"#303992",marginRight:"5px"},attachmentsSection:{marginTop:"10px",padding:"10px",backgroundColor:"rgba(48, 57, 146, 0.05)",borderLeft:"3px solid #303992",borderRadius:"4px",display:"flex",flexWrap:"wrap",gap:"10px",boxSizing:"border-box"},attachmentThumbnail:{width:"60px",height:"60px",border:"1px solid #e5e7eb",borderRadius:"4px",overflow:"hidden",backgroundColor:"#fff",display:"flex",alignItems:"center",justifyContent:"center"},attachmentImg:{width:"100%",height:"100%",objectFit:"cover"},segmentContainer:{display:"flex",gap:"8px",flexWrap:"wrap",alignItems:"center"},segmentButton:{display:"flex",alignItems:"center",justifyContent:"center",padding:"4px 6px",borderRadius:"6px",border:"1px solid #e0e0e0",backgroundColor:"#ffffff",fontSize:"10px",fontWeight:600,minWidth:"30px",color:"#666"},segmentIcon:{marginRight:"4px",fontSize:"9px",fontWeight:"bold",display:"inline-block",lineHeight:"1"},checkboxItem:{display:"flex",alignItems:"center",padding:"10px 14px",backgroundColor:"#f8f9fa",borderRadius:"6px",marginBottom:"8px",width:"100%",boxSizing:"border-box"}},Rt=t=>{if(!t||"string"!=typeof t)return!1;const e=t.trim();return e.startsWith("data:image")||e.startsWith("iVBORw0KGgo")||e.startsWith("/9j/4AAQ")||e.startsWith("UklGR")||e.startsWith("R0lGOD")},Kt=(t,e)=>{if(!t)return"";const A=t.trim();return A.startsWith("data:")||A.startsWith("http")||A.startsWith("blob:")||A.startsWith("/")?A:A.startsWith("iVBORw0KGgo")?`data:image/png;base64,${A}`:A.startsWith("/9j/4AAQ")?`data:image/jpeg;base64,${A}`:A.startsWith("UklGR")?`data:image/webp;base64,${A}`:A.startsWith("R0lGOD")?`data:image/gif;base64,${A}`:e&&e.startsWith("image/")?`data:${e};base64,${A}`:A},Vt=t=>{const e=String(t||"").toLowerCase();return"pass"===e||"yes"===e?"pass":"fail"===e||"no"===e?"fail":"pass"},zt=({component:t})=>{const e=t.basic?.notes||"",A=t.basic?.attachments||[];return e.trim()||0!==A.length?et.jsxs("div",{style:{marginTop:"5px"},children:[e.trim().length>0&&et.jsxs("div",{style:jt.notesSection,children:[et.jsx("span",{style:jt.notesLabel,children:"Notes:"}),e]}),A.length>0&&et.jsx("div",{style:jt.attachmentsSection,children:A.map((t,e)=>{const A=!(!t.data&&!t.url),r=(t.type?.startsWith("image/")||Rt(t.data||t.url||""))&&A?Kt(t.data||t.url||"",t.type):null;return et.jsx("div",{style:jt.attachmentThumbnail,children:r?et.jsx("img",{src:r,alt:t.name||"Attachment",style:jt.attachmentImg}):et.jsx("span",{style:{fontSize:"20px",color:"#999"},children:"📎"})},e)})})]}):null},Gt=({component:t})=>{const e=void 0!==t.basic?.value?t.basic.value:t.basic?.defaultValue,{name:A}=t;if("signature"===A)return e&&Rt(e)?et.jsx("div",{style:{marginTop:"5px"},children:et.jsx("img",{src:Kt(e),alt:"Signature",style:{...jt.img,maxHeight:"100px",width:"auto"}})}):et.jsx("span",{style:{color:"#999",fontStyle:"italic"},children:"No signature"});if("checkbox"===A){const A=t.basic?.options||[],r=(Array.isArray(e)?e:e?[e]:[]).map(t=>String(t));return et.jsx("div",{style:{marginTop:"5px",width:"100%"},children:A.map((t,e)=>{const A=r.includes(String(t.value));return et.jsxs("div",{style:jt.checkboxItem,children:[et.jsx("div",{style:{width:"18px",height:"18px",minWidth:"18px",border:"2px solid "+(A?"#303992":"#cbd5e1"),borderRadius:"4px",marginRight:"12px",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:A?"#303992":"#ffffff"},children:A&&et.jsx("span",{style:{color:"#ffffff",fontSize:"12px",fontWeight:"bold",lineHeight:1},children:"✓"})}),et.jsx("span",{style:{fontSize:"14px",fontWeight:500,color:"#334155"},children:t.label})]},e)})})}if("radio"===A){const A=t.basic?.options||[];return et.jsx("div",{style:{marginTop:"5px",width:"100%"},children:A.map((t,A)=>{const r=String(e||"")===String(t.value||"");return et.jsxs("div",{style:jt.checkboxItem,children:[et.jsx("div",{style:{width:"18px",height:"18px",minWidth:"18px",border:"2px solid "+(r?"#303992":"#cbd5e1"),borderRadius:"50%",marginRight:"12px",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"#ffffff"},children:r&&et.jsx("div",{style:{width:"10px",height:"10px",borderRadius:"50%",backgroundColor:"#303992"}})}),et.jsx("span",{style:{fontSize:"14px",fontWeight:500,color:"#334155"},children:t.label})]},A)})})}if("segment"===A){const A=t.basic?.options||[],r=e;return et.jsx("div",{style:jt.segmentContainer,children:A.map((t,e)=>{const A=String(r||"")===String(t.value||""),n=(t=>null!=t?.icon?t.icon:"pass"===Vt(t?.value||t)?"✓":"×")(t),i=t.color||t.backgroundColor,s=Vt(t.value);let a,o,l;i?A?(a=i,o="#ffffff",l=i):(a=`${i}20`,o=i,l=i):"pass"===s?A?(a="#00814b",o="#ffffff",l="#00814b"):(a="#34bd4914",o="#00814b",l="#e0e0e0"):A?(a="#dc3545",o="#ffffff",l="#dc3545"):(a="#fa323d14",o="#dc3545",l="#e0e0e0");const c={...jt.segmentButton,backgroundColor:a,color:o,borderColor:l,borderWidth:"1px",borderStyle:"solid"};return et.jsxs("div",{style:c,children:[et.jsx("span",{style:jt.segmentIcon,children:n}),et.jsx("span",{children:t.value})]},e)})})}if("file"===A){const t=(Array.isArray(e)?e:e?[e]:[]).filter(t=>{const e=!(!t.data&&!t.url),A=t.type&&t.type.startsWith("image/"),r=e&&Rt(t.data||t.url);return A||r});return t.length>0?et.jsx("div",{style:{marginTop:"10px"},children:t.map((t,e)=>{const A=Kt(t.data||t.url,t.type);return A?et.jsx("img",{src:A,alt:t.name||"File",style:{...jt.img,marginBottom:"10px"}},e):null})}):et.jsx("div",{style:{color:"#999",fontStyle:"italic"},children:"No images uploaded"})}if("location"===A){if(e&&"object"==typeof e){const t=e;return et.jsxs("div",{style:{fontSize:"14px"},children:[t.placeName&&et.jsxs("div",{style:{marginBottom:"4px"},children:[et.jsx("strong",{children:"Place:"})," ",t.placeName]}),(t.city||t.country)&&et.jsxs("div",{style:{marginBottom:"4px"},children:[et.jsx("strong",{children:"Address:"})," ",[t.city,t.country].filter(Boolean).join(", ")]}),t.latitude&&t.longitude&&et.jsxs("div",{style:{marginBottom:"4px"},children:[et.jsx("strong",{children:"Coordinates:"})," ",t.latitude.toFixed(6),", ",t.longitude.toFixed(6)]}),t.timestamp&&et.jsxs("div",{children:[et.jsx("strong",{children:"Captured:"})," ",(st(t.timestamp)||new Date).toLocaleString()]})]})}return et.jsx("div",{style:{color:"#999",fontStyle:"italic"},children:"No location data"})}if("instructions"===A){const e=t.basic?.instructions||[],A=t.validation?.listStyle||"numbers";if(!Array.isArray(e)||0===e.length)return et.jsx("div",{style:{color:"#999",fontStyle:"italic"},children:"No instructions"});const r=()=>et.jsx("div",{dangerouslySetInnerHTML:{__html:e.join("")}});return"numbers"===A?et.jsx("ol",{style:{margin:"10px 0",paddingLeft:"25px"},children:et.jsx(r,{})}):"bullets"===A?et.jsx("ul",{style:{margin:"10px 0",paddingLeft:"25px"},children:et.jsx(r,{})}):et.jsx("div",{style:{margin:"10px 0"},children:et.jsx(r,{})})}if("select"===A){const A=t.basic?.options||[],r=e;let n="";if(Array.isArray(r))n=r.map(t=>{const e=A.find(e=>String(e.value)===String(t));return e?e.label:t}).join(", ");else{const t=r,e=A.find(e=>String(e.value)===String(t));n=e?e.label||e.value:null!=t?String(t):""}return et.jsx("div",{style:jt.valueContainer,children:et.jsx("div",{style:jt.value,children:n})})}const r="object"==typeof e?JSON.stringify(e):String(e);if(!["signature","checkbox","radio","segment","file","instructions","heading","section","table","datagrid","select"].includes(A)){const t="textarea"===A;return et.jsx("div",{style:{...jt.valueContainer,...t?{minHeight:"60px",whiteSpace:"pre-wrap"}:{}},children:et.jsx("div",{style:jt.value,children:r})})}return et.jsx("div",{style:jt.value,children:r})},qt=({component:t})=>{const{name:e,basic:A,styles:r,validation:n}=t,i=A?.label,s=n?.required,a="left"===(r?.labelAlignment||"top");if("section"===e){const e=r?.headerBackgroundColor,n=r?.headerTextColor,a={...jt.sectionHeader,...e?{backgroundColor:e,padding:"8px",borderRadius:"4px"}:{},...n?{color:n}:{},display:"flex",alignItems:"center"};return et.jsxs("div",{style:jt.section,children:[i&&et.jsx("label",{style:a,children:et.jsxs("span",{style:{flex:1},children:[i,s&&" *"]})}),A?.description&&et.jsx("p",{style:{...jt.description,marginBottom:"15px"},children:A.description}),et.jsx(zt,{component:t}),et.jsx("div",{style:jt.sectionChildren,children:et.jsx(Wt,{components:t.children||[]})})]})}if("heading"===e){const t=`h${Math.max(1,Math.min(6,r?.level??A?.level??1))}`,e={...r?.headerBackgroundColor?{backgroundColor:r.headerBackgroundColor,padding:"8px",borderRadius:"4px"}:{},...r?.headerTextColor?{color:r.headerTextColor}:{},...r?.fontSize?{fontSize:r.fontSize}:{},...r?.textAlign?{textAlign:r.textAlign}:{},marginTop:0,marginBottom:"15px"};return et.jsx("div",{style:jt.formGroup,children:et.jsx(t,{style:e,children:A?.label||A?.value})})}if("table"===e){const e=t.cells||[],A=Math.max(0,...e.map(t=>t?t.length:0)),n=A>0?100/A:100,a=r?.headerBackgroundColor,o=r?.headerTextColor,l={...jt.label,...a?{backgroundColor:a,padding:"8px",borderRadius:"4px",marginBottom:"10px"}:{},...o?{color:o}:{}};return et.jsxs("div",{style:jt.formGroup,children:[i&&et.jsxs("label",{style:l,children:[i,s&&" *"]}),et.jsx("table",{style:jt.table,children:et.jsx("tbody",{children:e.map((t,e)=>et.jsx("tr",{children:t&&t.map((t,e)=>et.jsx("td",{style:{...jt.td,width:`${n}%`},children:t.components&&t.components.map((t,e)=>et.jsxs("div",{style:{marginBottom:"8px"},children:[t.basic?.label&&et.jsxs("span",{style:{fontWeight:"bold",marginRight:"5px",fontSize:"12px"},children:[t.basic.label,":"]}),et.jsx(Gt,{component:t}),et.jsx(zt,{component:t})]},e))},e))},e))})})]})}if("datagrid"===e){const e=t.entries||[];let A=t.templateComponents||[];0===A.length&&e.length>0&&e[0]?.components&&(A=e[0].components.map(t=>({...t,basic:{...t.basic,label:t.basic?.label||t.name}})));const n=r?.headerBackgroundColor,a=r?.headerTextColor,o={...jt.label,...n?{backgroundColor:n,padding:"8px",borderRadius:"4px",marginBottom:"10px"}:{},...a?{color:a}:{}},l=e.filter(t=>!(!t.components||0===t.components.length)&&t.components.some(t=>{const e=void 0!==t.basic?.value?t.basic.value:t.basic?.defaultValue;return Array.isArray(e)?e.length>0:null!=e&&""!==String(e).trim()}));return 0===l.length?et.jsxs("div",{style:jt.formGroup,children:[i&&et.jsxs("label",{style:o,children:[i,s&&" *"]}),et.jsx("div",{style:{fontStyle:"italic",color:"#999"},children:"No data"})]}):et.jsxs("div",{style:jt.formGroup,children:[i&&et.jsxs("label",{style:o,children:[i,s&&" *"]}),et.jsxs("table",{style:jt.table,children:[et.jsx("thead",{children:et.jsx("tr",{children:A.map((t,e)=>et.jsx("th",{style:jt.th,children:t.basic?.label||t.name},e))})}),et.jsx("tbody",{children:l.map((t,e)=>et.jsx("tr",{children:A.map((e,A)=>{const r=t.components[A];return et.jsx("td",{style:jt.td,children:r?et.jsxs(et.Fragment,{children:[et.jsx(Gt,{component:r}),et.jsx(zt,{component:r})]}):"N/A"},A)})},e))})]})]})}if(a&&"instructions"!==e){const A=["segment"].includes(e);return et.jsxs("div",{style:jt.formGroup,children:[et.jsxs("div",{style:{display:"flex",alignItems:"center"},children:[i&&et.jsxs("label",{style:jt.labelLeft,children:[i,s&&" *"]}),et.jsx("div",{style:{flex:1,...A?{display:"flex",justifyContent:"flex-end"}:{}},children:et.jsx(Gt,{component:t})})]}),et.jsx(zt,{component:t})]})}return et.jsxs("div",{style:jt.formGroup,children:[i&&et.jsxs("label",{style:jt.label,children:[i,s&&" *"]}),et.jsx(Gt,{component:t}),et.jsx(zt,{component:t})]})},Wt=({components:t})=>{if(!t||0===t.length)return null;const e=[];let A=[],r=0;return t.forEach(t=>{const n=["section","table","datagrid","heading","instructions"].includes(t.name),i=n?12:t.styles?.column||12;r+i>12&&A.length>0&&(e.push(A),A=[],r=0),A.push(t),r+=i,(n||r>=12)&&r>0&&(e.push(A),A=[],r=0)}),A.length>0&&e.push(A),et.jsx(et.Fragment,{children:e.map((t,e)=>1===t.length?et.jsx(qt,{component:t[0]},t[0].id||e):et.jsx("div",{style:jt.gridRow,children:t.map((t,e)=>{const A=t.styles?.column||12;return et.jsx("div",{style:jt.gridCol(A),children:et.jsx(qt,{component:t})},t.id||e)})},e))})},Xt=({formTitle:t,formDescription:e,userName:A,components:r})=>et.jsxs("div",{className:"pdf-container",style:jt.page,children:[et.jsxs("div",{style:jt.header,children:[et.jsxs("div",{children:[et.jsx("h1",{style:jt.title,children:t}),e&&et.jsx("p",{style:jt.description,children:e})]}),A&&et.jsxs("div",{style:jt.submittedBy,children:[et.jsx("strong",{children:"Submitted By:"})," ",A]})]}),et.jsx("div",{className:"form-content",children:et.jsx(Wt,{components:r})})]});var Yt,Jt=_;if("production"===process.env.NODE_ENV)Yt=Jt.createRoot,Jt.hydrateRoot;else{var $t=Jt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Yt=function(t,e){$t.usingClientEntryPoint=!0;try{return Jt.createRoot(t,e)}finally{$t.usingClientEntryPoint=!1}}}var Zt={exports:{}};
|
|
10
|
+
*/"production"===process.env.NODE_ENV?J.exports=function(){if(Y)return $;Y=1;var e=t,A=Symbol.for("react.element"),r=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,i=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function a(t,e,r){var a,o={},l=null,c=null;for(a in void 0!==r&&(l=""+r),void 0!==e.key&&(l=""+e.key),void 0!==e.ref&&(c=e.ref),e)n.call(e,a)&&!s.hasOwnProperty(a)&&(o[a]=e[a]);if(t&&t.defaultProps)for(a in e=t.defaultProps)void 0===o[a]&&(o[a]=e[a]);return{$$typeof:A,type:t,key:l,ref:c,props:o,_owner:i.current}}return $.Fragment=r,$.jsx=a,$.jsxs=a,$}():J.exports=(Z||(Z=1,"production"!==process.env.NODE_ENV&&function(){var e,A=t,r=Symbol.for("react.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),o=Symbol.for("react.provider"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),h=Symbol.for("react.suspense_list"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.for("react.offscreen"),g=Symbol.iterator,m=A.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function w(t){for(var e=arguments.length,A=new Array(e>1?e-1:0),r=1;r<e;r++)A[r-1]=arguments[r];!function(t,e,A){var r=m.ReactDebugCurrentFrame.getStackAddendum();""!==r&&(e+="%s",A=A.concat([r]));var n=A.map(function(t){return String(t)});n.unshift("Warning: "+e),Function.prototype.apply.call(console[t],console,n)}("error",t,A)}function B(t){return t.displayName||"Context"}function y(t){if(null==t)return null;if("number"==typeof t.tag&&w("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),"function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t;switch(t){case i:return"Fragment";case n:return"Portal";case a:return"Profiler";case s:return"StrictMode";case u:return"Suspense";case h:return"SuspenseList"}if("object"==typeof t)switch(t.$$typeof){case l:return B(t)+".Consumer";case o:return B(t._context)+".Provider";case c:return function(t,e,A){var r=t.displayName;if(r)return r;var n=e.displayName||e.name||"";return""!==n?A+"("+n+")":A}(t,t.render,"ForwardRef");case d:var e=t.displayName||null;return null!==e?e:y(t.type)||"Memo";case f:var A=t,r=A._payload,p=A._init;try{return y(p(r))}catch(t){return null}}return null}e=Symbol.for("react.module.reference");var b,v,C,x,F,Q,U,E=Object.assign,S=0;function N(){}N.__reactDisabledLog=!0;var L,_=m.ReactCurrentDispatcher;function I(t,e,A){if(void 0===L)try{throw Error()}catch(t){var r=t.stack.trim().match(/\n( *(at )?)/);L=r&&r[1]||""}return"\n"+L+t}var k,T=!1,H="function"==typeof WeakMap?WeakMap:Map;function O(t,e){if(!t||T)return"";var A,r=k.get(t);if(void 0!==r)return r;T=!0;var n,i=Error.prepareStackTrace;Error.prepareStackTrace=void 0,n=_.current,_.current=null,function(){if(0===S){b=console.log,v=console.info,C=console.warn,x=console.error,F=console.group,Q=console.groupCollapsed,U=console.groupEnd;var t={configurable:!0,enumerable:!0,value:N,writable:!0};Object.defineProperties(console,{info:t,log:t,warn:t,error:t,group:t,groupCollapsed:t,groupEnd:t})}S++}();try{if(e){var s=function(){throw Error()};if(Object.defineProperty(s.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(s,[])}catch(t){A=t}Reflect.construct(t,[],s)}else{try{s.call()}catch(t){A=t}t.call(s.prototype)}}else{try{throw Error()}catch(t){A=t}t()}}catch(e){if(e&&A&&"string"==typeof e.stack){for(var a=e.stack.split("\n"),o=A.stack.split("\n"),l=a.length-1,c=o.length-1;l>=1&&c>=0&&a[l]!==o[c];)c--;for(;l>=1&&c>=0;l--,c--)if(a[l]!==o[c]){if(1!==l||1!==c)do{if(l--,--c<0||a[l]!==o[c]){var u="\n"+a[l].replace(" at new "," at ");return t.displayName&&u.includes("<anonymous>")&&(u=u.replace("<anonymous>",t.displayName)),"function"==typeof t&&k.set(t,u),u}}while(l>=1&&c>=0);break}}}finally{T=!1,_.current=n,function(){if(0===--S){var t={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:E({},t,{value:b}),info:E({},t,{value:v}),warn:E({},t,{value:C}),error:E({},t,{value:x}),group:E({},t,{value:F}),groupCollapsed:E({},t,{value:Q}),groupEnd:E({},t,{value:U})})}S<0&&w("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}(),Error.prepareStackTrace=i}var h=t?t.displayName||t.name:"",d=h?I(h):"";return"function"==typeof t&&k.set(t,d),d}function P(t,e,A){if(null==t)return"";if("function"==typeof t)return O(t,!(!(r=t.prototype)||!r.isReactComponent));var r;if("string"==typeof t)return I(t);switch(t){case u:return I("Suspense");case h:return I("SuspenseList")}if("object"==typeof t)switch(t.$$typeof){case c:return O(t.render,!1);case d:return P(t.type,e,A);case f:var n=t,i=n._payload,s=n._init;try{return P(s(i),e,A)}catch(t){}}return""}k=new H;var D=Object.prototype.hasOwnProperty,M={},j=m.ReactDebugCurrentFrame;function R(t){if(t){var e=t._owner,A=P(t.type,t._source,e?e.type:null);j.setExtraStackFrame(A)}else j.setExtraStackFrame(null)}var K=Array.isArray;function V(t){return K(t)}function z(t){return""+t}function G(t){if(function(t){try{return z(t),!1}catch(t){return!0}}(t))return w("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",function(t){return"function"==typeof Symbol&&Symbol.toStringTag&&t[Symbol.toStringTag]||t.constructor.name||"Object"}(t)),z(t)}var q,W,X,Y=m.ReactCurrentOwner,J={key:!0,ref:!0,__self:!0,__source:!0};function $(t,e,A,n,i){var s,a={},o=null,l=null;for(s in void 0!==A&&(G(A),o=""+A),function(t){if(D.call(t,"key")){var e=Object.getOwnPropertyDescriptor(t,"key").get;if(e&&e.isReactWarning)return!1}return void 0!==t.key}(e)&&(G(e.key),o=""+e.key),function(t){if(D.call(t,"ref")){var e=Object.getOwnPropertyDescriptor(t,"ref").get;if(e&&e.isReactWarning)return!1}return void 0!==t.ref}(e)&&(l=e.ref,function(t,e){if("string"==typeof t.ref&&Y.current&&e&&Y.current.stateNode!==e){var A=y(Y.current.type);X[A]||(w('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',y(Y.current.type),t.ref),X[A]=!0)}}(e,i)),e)D.call(e,s)&&!J.hasOwnProperty(s)&&(a[s]=e[s]);if(t&&t.defaultProps){var c=t.defaultProps;for(s in c)void 0===a[s]&&(a[s]=c[s])}if(o||l){var u="function"==typeof t?t.displayName||t.name||"Unknown":t;o&&function(t,e){var A=function(){q||(q=!0,w("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",e))};A.isReactWarning=!0,Object.defineProperty(t,"key",{get:A,configurable:!0})}(a,u),l&&function(t,e){var A=function(){W||(W=!0,w("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",e))};A.isReactWarning=!0,Object.defineProperty(t,"ref",{get:A,configurable:!0})}(a,u)}return function(t,e,A,n,i,s,a){var o={$$typeof:r,type:t,key:e,ref:A,props:a,_owner:s,_store:{}};return Object.defineProperty(o._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(o,"_self",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(o,"_source",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(o.props),Object.freeze(o)),o}(t,o,l,i,n,Y.current,a)}X={};var Z,et=m.ReactCurrentOwner,At=m.ReactDebugCurrentFrame;function rt(t){if(t){var e=t._owner,A=P(t.type,t._source,e?e.type:null);At.setExtraStackFrame(A)}else At.setExtraStackFrame(null)}function nt(t){return"object"==typeof t&&null!==t&&t.$$typeof===r}function it(){if(et.current){var t=y(et.current.type);if(t)return"\n\nCheck the render method of `"+t+"`."}return""}Z=!1;var st={};function at(t,e){if(t._store&&!t._store.validated&&null==t.key){t._store.validated=!0;var A=function(t){var e=it();if(!e){var A="string"==typeof t?t:t.displayName||t.name;A&&(e="\n\nCheck the top-level render call using <"+A+">.")}return e}(e);if(!st[A]){st[A]=!0;var r="";t&&t._owner&&t._owner!==et.current&&(r=" It was passed a child from "+y(t._owner.type)+"."),rt(t),w('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',A,r),rt(null)}}}function ot(t,e){if("object"==typeof t)if(V(t))for(var A=0;A<t.length;A++){var r=t[A];nt(r)&&at(r,e)}else if(nt(t))t._store&&(t._store.validated=!0);else if(t){var n=function(t){if(null===t||"object"!=typeof t)return null;var e=g&&t[g]||t["@@iterator"];return"function"==typeof e?e:null}(t);if("function"==typeof n&&n!==t.entries)for(var i,s=n.call(t);!(i=s.next()).done;)nt(i.value)&&at(i.value,e)}}function lt(t){var e,A=t.type;if(null!=A&&"string"!=typeof A){if("function"==typeof A)e=A.propTypes;else{if("object"!=typeof A||A.$$typeof!==c&&A.$$typeof!==d)return;e=A.propTypes}if(e){var r=y(A);!function(t,e,A,r,n){var i=Function.call.bind(D);for(var s in t)if(i(t,s)){var a=void 0;try{if("function"!=typeof t[s]){var o=Error((r||"React class")+": "+A+" type `"+s+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof t[s]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw o.name="Invariant Violation",o}a=t[s](e,s,r,A,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(t){a=t}!a||a instanceof Error||(R(n),w("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",r||"React class",A,s,typeof a),R(null)),a instanceof Error&&!(a.message in M)&&(M[a.message]=!0,R(n),w("Failed %s type: %s",A,a.message),R(null))}}(e,t.props,"prop",r,t)}else void 0===A.PropTypes||Z||(Z=!0,w("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",y(A)||"Unknown"));"function"!=typeof A.getDefaultProps||A.getDefaultProps.isReactClassApproved||w("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}var ct={};function ut(t,A,n,g,m,B){var b=function(t){return"string"==typeof t||"function"==typeof t||t===i||t===a||t===s||t===u||t===h||t===p||"object"==typeof t&&null!==t&&(t.$$typeof===f||t.$$typeof===d||t.$$typeof===o||t.$$typeof===l||t.$$typeof===c||t.$$typeof===e||void 0!==t.getModuleId)}(t);if(!b){var v="";(void 0===t||"object"==typeof t&&null!==t&&0===Object.keys(t).length)&&(v+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var C,x=function(t){return void 0!==t?"\n\nCheck your code at "+t.fileName.replace(/^.*[\\\/]/,"")+":"+t.lineNumber+".":""}(m);v+=x||it(),null===t?C="null":V(t)?C="array":void 0!==t&&t.$$typeof===r?(C="<"+(y(t.type)||"Unknown")+" />",v=" Did you accidentally export a JSX literal instead of a component?"):C=typeof t,w("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",C,v)}var F=$(t,A,n,m,B);if(null==F)return F;if(b){var Q=A.children;if(void 0!==Q)if(g)if(V(Q)){for(var U=0;U<Q.length;U++)ot(Q[U],t);Object.freeze&&Object.freeze(Q)}else w("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else ot(Q,t)}if(D.call(A,"key")){var E=y(t),S=Object.keys(A).filter(function(t){return"key"!==t}),N=S.length>0?"{key: someKey, "+S.join(": ..., ")+": ...}":"{key: someKey}";ct[E+N]||(w('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',N,E,S.length>0?"{"+S.join(": ..., ")+": ...}":"{}",E),ct[E+N]=!0)}return t===i?function(t){for(var e=Object.keys(t.props),A=0;A<e.length;A++){var r=e[A];if("children"!==r&&"key"!==r){rt(t),w("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",r),rt(null);break}}null!==t.ref&&(rt(t),w("Invalid attribute `ref` supplied to `React.Fragment`."),rt(null))}(F):lt(F),F}var ht=function(t,e,A){return ut(t,e,A,!1)},dt=function(t,e,A){return ut(t,e,A,!0)};tt.Fragment=i,tt.jsx=ht,tt.jsxs=dt}()),tt);var et=J.exports;class At{constructor(){}static getInstance(){return At.instance||(At.instance=new At),At.instance}getAvailableComponentsForConditional(t,e){if(!t||!Array.isArray(t))return[];const A=t=>{let e=[];return t.forEach(t=>{e.push(t),"section"===t.name&&t.children&&(e=[...e,...A(t.children)]),"table"===t.name&&t.cells&&t.cells.forEach(t=>{t.forEach(t=>{t.components&&(e=[...e,...A(t.components)])})}),"datagrid"===t.name&&t.templateComponents&&(e=[...e,...A(t.templateComponents)])}),e},r=A(t).filter(t=>!e||t.id!==e).filter(t=>!["section","table","datagrid"].includes(t.name)).map(t=>{const e={id:t.id,label:t.basic?.label||t.id,type:t.name,key:t.id};return["segment","select","radio","checkbox"].includes(t.name)&&t.basic?.options&&(e.options=t.basic.options.map(t=>({label:t.label||t.value||String(t),value:String(void 0!==t.value?t.value:t)}))),e}).sort((t,e)=>t.label.localeCompare(e.label));return r}getApplicableOperators(t){switch(t){case"text-input":case"email-input":case"textarea":return["equals","notEquals","contains","notContains","isEmpty","isNotEmpty"];case"number-input":case"date-picker":case"datetime-picker":return["equals","notEquals","greaterThan","lessThan","greaterThanOrEqual","lessThanOrEqual","isEmpty","isNotEmpty"];case"select":case"radio":case"segment":default:return["equals","notEquals","isEmpty","isNotEmpty"];case"checkbox":return["checked","notChecked","contains","notContains","isEmpty","isNotEmpty"]}}findComponent(t,e){if(t&&Array.isArray(t))for(const A of t){if(A.id===e||A._id===e||A.basic?.label===e)return A;if("section"===A.name&&A.children){const t=this.findComponent(A.children,e);if(t)return t}if("table"===A.name&&A.cells)for(const t of A.cells)for(const A of t)if(A.components){const t=this.findComponent(A.components,e);if(t)return t}if("datagrid"===A.name&&A.templateComponents){const t=this.findComponent(A.templateComponents,e);if(t)return t}if("datagrid"===A.name&&A.entries)for(const t of A.entries)if(t.components){const A=this.findComponent(t.components,e);if(A)return A}}}getAllComponents(t){const e=[],A=t=>{if(t&&Array.isArray(t))for(const r of t){if(e.push(r),r.children&&A(r.children),r.templateComponents&&A(r.templateComponents),r.cells)for(const t of r.cells)for(const e of t)e.components&&A(e.components);if(r.entries)for(const t of r.entries)t.components&&A(t.components)}};return A(t),e}validateConditionalLogic(t,e){const A=[];return t?(["show","hide","always"].includes(t.action)||A.push("Invalid conditional action"),["all","any"].includes(t.when)||A.push("Invalid when condition"),t.conditions&&0!==t.conditions.length?t.conditions.forEach((t,r)=>{const n=this.findComponent(e,t.when);if(!n)return void A.push(`Condition ${r+1}: Component not found`);this.getApplicableOperators(n.name).includes(t.operator)||("checkbox"!==n.name||"checked"!==t.operator&&"notChecked"!==t.operator)&&A.push(`Condition ${r+1}: Operator not applicable for component type`),this.isValidConditionValue(t.value,n.name,t.operator)||A.push(`Condition ${r+1}: Invalid condition value`)}):A.push("At least one condition is required"),{isValid:0===A.length,errors:A}):{isValid:!0,errors:[]}}evaluateConditionalLogic(t,e,A){if("always"===t.action)return{shouldShow:!0,evaluatedConditions:[]};if(!t||!t.conditions||0===t.conditions.length)return{shouldShow:!0,evaluatedConditions:[]};const r=t.conditions.map(t=>{const r=this.getComponentValue(t.when,e,A);return{condition:t,result:this.evaluateCondition(t,r),componentValue:r}});return{shouldShow:this.determineFinalResult(t,r),evaluatedConditions:r}}getComponentValue(t,e,A){if(A&&void 0!==A[t])return A[t];let r=this.findComponent(e,t);if(!r){const t=this.getAllComponents(e),n=Object.keys(A||{});for(const e of t)if(n.includes(e.id)||n.includes(e._id)){r=e;break}}if(r){const t=[r.id,r._id,r.basic?.label].filter(Boolean);for(const e of t)if(A&&void 0!==A[e])return A[e];if(void 0!==r.basic?.value&&null!==r.basic?.value&&""!==r.basic?.value)return r.basic.value;if(void 0!==r.basic?.defaultValue&&null!==r.basic?.defaultValue&&""!==r.basic?.defaultValue)return r.basic.defaultValue}}evaluateCondition(t,e){const{operator:A,value:r}=t;if("checked"===r||"notChecked"===r||"checked"===A||"notChecked"===A){const t="checked"===r||"notChecked"===r?r:A;return this.evaluateCheckboxCondition(e,t)}switch(A){case"equals":return this.isEqual(e,r);case"notEquals":return!this.isEqual(e,r);case"isEmpty":return this.isEmpty(e);case"isNotEmpty":return!this.isEmpty(e);case"contains":return this.contains(e,r);case"notContains":return!this.contains(e,r);case"greaterThan":return this.isGreaterThan(e,r);case"lessThan":return this.isLessThan(e,r);case"greaterThanOrEqual":return this.isGreaterThanOrEqual(e,r);case"lessThanOrEqual":return this.isLessThanOrEqual(e,r);default:return!1}}evaluateCheckboxCondition(t,e){const A=this.isCheckboxChecked(t);return"checked"===e?A:"notChecked"===e&&!A}isCheckboxChecked(t){return null!=t&&("boolean"==typeof t?t:"string"==typeof t?"true"===t.toLowerCase()||"1"===t||"checked"===t.toLowerCase()||t.length>0:Array.isArray(t)?t.length>0:"number"==typeof t&&t>0)}determineFinalResult(t,e){let A,r;return A="all"===t.when?e.every(t=>t.result):"any"===t.when&&e.some(t=>t.result),r="show"===t.action?A:"hide"===t.action?!A:(t.action,!0),r}isEqual(t,e){if(t==e)return!0;if(null==t||null==e)return!1;try{const A=String(t).trim(),r=String(e).trim();if(""!==A&&""!==r&&!isNaN(Number(A))&&!isNaN(Number(r))&&Number(A)===Number(r))return!0;if(A.toLowerCase()===r.toLowerCase())return!0}catch(t){}if(!Array.isArray(t)&&Array.isArray(e))return e.some(e=>this.isEqual(t,e));if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return!1;const A=[...t].sort(),r=[...e].sort();return A.every((t,e)=>this.isEqual(t,r[e]))}if("object"==typeof t&&"object"==typeof e){const A=Object.keys(t),r=Object.keys(e);return A.length===r.length&&A.every(A=>this.isEqual(t[A],e[A]))}return!1}isEmpty(t){return null==t||void 0===t||("string"==typeof t?""===t.trim():Array.isArray(t)?0===t.length:"object"==typeof t&&0===Object.keys(t).length)}contains(t,e){return null!=t&&null!=e&&("string"==typeof t?t.trim().toLowerCase().includes(String(e).trim().toLowerCase()):Array.isArray(t)?Array.isArray(e)?e.some(e=>t.some(t=>this.isEqual(t,e))):t.some(t=>this.isEqual(t,e)):!("string"!=typeof t||!Array.isArray(e))&&e.some(e=>t.trim().toLowerCase().includes(String(e).trim().toLowerCase())))}isGreaterThan(t,e){const A="number"==typeof t?t:parseFloat(String(t)),r="number"==typeof e?e:parseFloat(String(e));return!isNaN(A)&&!isNaN(r)&&A>r}isLessThan(t,e){const A="number"==typeof t?t:parseFloat(String(t)),r="number"==typeof e?e:parseFloat(String(e));return!isNaN(A)&&!isNaN(r)&&A<r}isGreaterThanOrEqual(t,e){const A="number"==typeof t?t:parseFloat(String(t)),r="number"==typeof e?e:parseFloat(String(e));return!isNaN(A)&&!isNaN(r)&&A>=r}isLessThanOrEqual(t,e){const A="number"==typeof t?t:parseFloat(String(t)),r="number"==typeof e?e:parseFloat(String(e));return!isNaN(A)&&!isNaN(r)&&A<=r}isValidConditionValue(t,e,A){if(null==t)return["isEmpty","isNotEmpty"].includes(A);switch(e){case"number-input":return!isNaN(Number(t))||["isEmpty","isNotEmpty"].includes(A);case"date-picker":case"datetime-picker":return!isNaN(Date.parse(t))||["isEmpty","isNotEmpty"].includes(A);case"checkbox":return Array.isArray(t)||"string"==typeof t||"number"==typeof t;default:return!0}}createDefaultConditionalLogic(){return{action:"show",when:"all",conditions:[]}}getOperatorDisplayText(t){return{equals:"Is Equal To",notEquals:"Is Not Equal To",contains:"Contains",notContains:"Does Not Contain",isEmpty:"Is Empty",isNotEmpty:"Is Not Empty",greaterThan:"Is Greater Than",lessThan:"Is Less Than",greaterThanOrEqual:"Is Greater Than Or Equal To",lessThanOrEqual:"Is Less Than Or Equal To",checked:"Is Checked",notChecked:"Is Not Checked"}[t]||t}getActionDisplayText(t){return{show:"Show this field when",hide:"Hide this field when",always:"Always show this field"}[t]||t}getConditionalLogicSummary(t,e){if(!t||0===t.conditions.length)return"No conditions";if("always"===t.action)return"Always show";const A=this.getActionDisplayText(t.action),r=t.conditions.map(t=>{const A=e.find(e=>e.id===t.when);return`${A?.basic.label||"Unknown component"} ${this.getOperatorDisplayText(t.operator)} ${this.formatConditionValue(t.value)}`}),n="all"===t.when?" and ":" or ";return`${A} ${r.join(n)}`}formatConditionValue(t){return null==t?"empty":Array.isArray(t)?`[${t.join(", ")}]`:"string"==typeof t?`"${t}"`:String(t)}}const rt=At.getInstance();const nt=new class{constructor(){this.toasts=[],this.listeners=[],this.defaultDuration=3e3,this.timeouts={}}generateId(){return Date.now().toString(36)+Math.random().toString(36).substr(2)}notifyListeners(){this.listeners.forEach(t=>t([...this.toasts]))}addToast(t){try{this.toasts.push(t),this.notifyListeners(),this.timeouts[t.id]=setTimeout(()=>{this.removeToast(t.id)},t.duration||this.defaultDuration)}catch(t){console.error("Error displaying toast message:",t)}}removeToast(t){this.timeouts[t]&&(clearTimeout(this.timeouts[t]),delete this.timeouts[t]),this.toasts=this.toasts.filter(e=>e.id!==t),this.notifyListeners()}showSuccess(t,e=3e3){const A={id:this.generateId(),message:t,type:"success",duration:e};this.addToast(A)}showError(t,e=5e3){const A={id:this.generateId(),message:t,type:"danger",duration:e};this.addToast(A)}showWarning(t,e){const A={id:this.generateId(),message:t,type:"warning",duration:e};this.addToast(A)}showInfo(t,e){const A={id:this.generateId(),message:t,type:"info",duration:e};this.addToast(A)}show(t,e="success",A){const r={id:this.generateId(),message:t,type:e,duration:A};this.addToast(r)}clearAll(){Object.values(this.timeouts).forEach(t=>clearTimeout(t)),this.timeouts={},this.toasts=[],this.notifyListeners()}subscribe(t){return this.listeners.push(t),()=>{this.listeners=this.listeners.filter(e=>e!==t)}}getToasts(){return[...this.toasts]}},it=({validationErrors:t,fieldId:e,touchedFields:A,formSubmitted:r,properties:n,localValidation:i,isTouched:s,mode:a})=>{const o=t=>{const e=n.basic.label||"This field",A=n.name||"",r=n.validation?.customValidationMessage;if("number-input"===A)switch(t){case"required":return`${e} is required`;case"lowerLimit":return"Number is below the lower limit";case"upperLimit":return"Number is above the upper limit";default:return""}if(r)return r;const i="date-picker"===A||"datetime-picker"===A?n.basic?.dateTimeMode||("datetime-picker"===A?"datetime":"date"):null;switch(t){case"required":return`${e} is required`;case"invalidDate":return"time"===i?"Please select a valid time":"datetime"===i?"Please select a valid date and time":"date"===i?"Please select a valid date":`${e} is invalid`;case"minLength":return`${e} must be at least ${n.validation.minLength} characters long`;case"maxLength":return`${e} must be no more than ${n.validation.maxLength} characters long`;case"min":return`${e} must be at least ${n.validation.min}`;case"max":return`${e} must be no more than ${n.validation.max}`;case"lowerLimit":const t=n.validation,A=t?.lowerLimit;return`You are under the limit. ${e} must be at least ${A}`;case"upperLimit":const r=n.validation,s=r?.upperLimit;return`You crossed the limit. ${e} must be no more than ${s}`;case"pattern":return`${e} format is invalid`;case"email":return`${e} must be a valid email address`;default:return`${e} is invalid`}},l=(()=>{if("test"!==a)return"";if(!(s||A[e]||r))return"";if(i&&i.isValid)return"";if(i&&!i.isValid&&Object.keys(i.errors).length>0){const t=Object.keys(i.errors).filter(t=>!0===i.errors[t]);if(t.length>0){const e=t[0],A=n.name||"";return"pattern"===e&&"number-input"===A?"":o(e)}}const l=t[e];if(l&&"string"==typeof l&&""!==l.trim()){const t=n.name||"";if("number-input"===t&&i){const t=n.validation,e=t&&"lowerLimit"in t&&void 0!==t.lowerLimit&&null!==t.lowerLimit&&0!==t.lowerLimit,A=t&&"upperLimit"in t&&void 0!==t.upperLimit&&null!==t.upperLimit&&0!==t.upperLimit;return!l.includes("limit")&&!l.includes("Limit")||e||A?(i.isValid,""):""}if(("date-picker"===t||"datetime-picker"===t)&&l.includes("valid date")){const e=n.basic?.dateTimeMode||("datetime-picker"===t?"datetime":"date");if("time"===e)return"Please select a valid time";if("datetime"===e)return"Please select a valid date and time"}return l}return""})();return l?et.jsx("div",{className:"form-error-msg",children:l}):null},st=t=>{if(null==t||""===t)return null;if(t instanceof Date)return isNaN(t.getTime())?null:t;if("number"==typeof t){const e=new Date(t);return isNaN(e.getTime())?null:e}if("string"==typeof t){let e=t.trim();e.match(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}/)&&(e=e.replace(" ","T"));const A=new Date(e);return isNaN(A.getTime())?null:A}return null};var at;!function(t){t.OPEN="Open",t.IN_PROGRESS="In-Progress",t.REJECTED="Rejected",t.RESOLVE="Resolve"}(at||(at={}));const ot=({isOpen:r,onClose:n,onSuccess:i,component:d,formTemplateId:f,notes:p="",attachments:g=null,issue:m=null,onCreateIssue:w,onUpdateIssue:B,user:y,availableUsers:b=["Priya Das","Maria Garcia","John Smith","Sarah Johnson"],workOrderNumber:v,assetNumber:C,isStandalone:x,isEdit:F})=>{const[Q,U]=e(""),[E,S]=e(""),[N,L]=e(""),[_,k]=e(""),[T,H]=e("Medium"),[O,P]=e(at.OPEN),[D,M]=e(""),[j,R]=e(""),[K,V]=e(!1),[z,G]=e(g||[]),[q,W]=e(!1),X=t.useRef(null),Y=void 0!==F?F:!!m;A(()=>{r&&(Y&&m?.attachments&&m.attachments.length>0?G(m.attachments):g&&g.length>0?G(g):G(Y&&m?.attachments?m.attachments:[]))},[r,g,m,Y]);const J=t=>{if(!t)return"Attachment";if(t instanceof File)return t.name;if("string"==typeof t){if(t.startsWith("data:"))return"Attachment";const e=t.split("/");return e[e.length-1]||"Attachment"}return t.fileName||t.filename||t.name||"Attachment"},$=t=>{if(!t)return null;const e=t=>/\.(jpg|jpeg|png|gif|webp)$/i.test(t),A=t=>t.startsWith("data:image");return t instanceof File?t.type.startsWith("image/")?URL.createObjectURL(t):null:"string"==typeof t?A(t)||e(t)?t:null:t.data&&A(t.data)||t.fileName&&e(t.fileName)&&t.data?t.data:null};A(()=>{if(r)if(m||Y){U(m?.title||""),S(m?.description||""),L(m?.workOrderNumber||v||""),k(m?.assetNumber||C||""),H(m?.priority||"Medium");const t=m?.status||at.OPEN,e=t===at.OPEN||t===at.IN_PROGRESS||t===at.REJECTED||t===at.RESOLVE?t:at.OPEN;P(e),M(m?.assignTo||""),R(m?.comments||"")}else d&&(d.basic,U(""),S(""),R(p||""),v&&L(v),C&&k(C))},[r,d,p,m,v,C]);const Z=t.useMemo(()=>{if(!Q.trim())return!1;if(!E.trim())return!1;if(!O)return!1;if(!D)return!1;if(!x){if(!N.trim())return!1;if(!_.trim())return!1}return!0},[Q,E,O,D,x,N,_]),tt=async t=>{if(m){V(!0);try{const e={title:String(Q||"").trim(),description:String(E||"").trim(),workOrderNumber:String(N||"").trim()||void 0,assetNumber:String(_||"").trim()||void 0,formTemplateId:m.formTemplateId||"",component:m.component||{},priority:T,assignTo:String(D||"").trim()||void 0,status:t,comments:String(j||"").trim()||""};B&&m._id&&await B(m._id,e),P(t);const A={[at.IN_PROGRESS]:"Issue accepted and moved to In-Progress",[at.RESOLVE]:"Issue resolved successfully",[at.REJECTED]:"Issue rejected"};nt.showSuccess(A[t]||"Issue status updated successfully"),i&&i(),n()}catch(t){const e=t?.message||t?.error?.message||"Failed to update issue status. Please try again.";nt.showError(e)}finally{V(!1)}}};if(!r)return null;const At=et.jsx("div",{className:"raise-issue-modal-overlay",onClick:n,children:et.jsxs("div",{className:"raise-issue-modal",onClick:t=>t.stopPropagation(),children:[et.jsxs("div",{className:"raise-issue-modal-header",children:[et.jsxs("div",{className:"raise-issue-modal-header-left",children:[et.jsx(s,{className:"raise-issue-modal-icon",size:20}),et.jsx("div",{className:"raise-issue-modal-header-text",children:et.jsx("div",{className:"raise-issue-modal-title-main",children:Y?"Issue Details":"Create Issue"})})]}),et.jsx("button",{className:"raise-issue-modal-close",onClick:n,"aria-label":"Close",children:et.jsx(a,{size:18})})]}),et.jsx("div",{className:"raise-issue-modal-content",children:et.jsxs("div",{className:"raise-issue-fields-grid",children:[Y&&m?.issueNumber&&et.jsxs("div",{className:"raise-issue-field",children:[et.jsx("label",{className:"raise-issue-field-label",children:"Issue ID"}),et.jsx("input",{type:"text",className:"raise-issue-field-input raise-issue-field-readonly",value:m.issueNumber,readOnly:!0})]}),et.jsxs("div",{className:"raise-issue-field",children:[et.jsx("label",{className:"raise-issue-field-label",children:"Task"}),et.jsx("input",{type:"text",className:"raise-issue-field-input raise-issue-field-readonly",value:Y?m?.component?.basic?.label||"":d?.basic?.label||"",readOnly:!0})]}),et.jsxs("div",{className:"raise-issue-field",children:[et.jsx("label",{className:"raise-issue-field-label",children:"Task Value"}),et.jsx("input",{type:"text",className:"raise-issue-field-input raise-issue-field-readonly",value:Y?m?.component?.basic?.value||"":d?.basic?.value||"",readOnly:!0})]}),et.jsxs("div",{className:"raise-issue-field",children:[et.jsxs("label",{className:"raise-issue-field-label",children:["Title ",et.jsx("span",{className:"raise-issue-required",children:"*"})]}),et.jsx("input",{type:"text",className:"raise-issue-field-input "+(Y?"raise-issue-field-readonly":""),value:Q,onChange:t=>U(t.target.value),placeholder:"Enter issue title",readOnly:Y})]}),!x&&et.jsxs("div",{className:"raise-issue-field",children:[et.jsxs("label",{className:"raise-issue-field-label",children:["Work Order ",et.jsx("span",{className:"raise-issue-required",children:"*"})]}),et.jsx("input",{type:"text",className:"raise-issue-field-input "+(Y?"raise-issue-field-readonly":""),value:N,onChange:t=>L(t.target.value),placeholder:"N/A",readOnly:Y})]}),!x&&et.jsxs("div",{className:"raise-issue-field",children:[et.jsxs("label",{className:"raise-issue-field-label",children:["Asset Number ",et.jsx("span",{className:"raise-issue-required",children:"*"})]}),et.jsx("input",{type:"text",className:"raise-issue-field-input "+(Y?"raise-issue-field-readonly":""),value:_,onChange:t=>k(t.target.value),placeholder:"Enter asset number",readOnly:Y})]}),et.jsxs("div",{className:"raise-issue-field",children:[et.jsxs("label",{className:"raise-issue-field-label",children:["Raised By ",et.jsx("span",{className:"raise-issue-required",children:"*"})]}),et.jsxs("div",{className:"raise-issue-field-value-with-icon",children:[et.jsx(o,{size:16}),et.jsx("span",{children:y&&`${y.firstName||""} ${y.lastName||""}`.trim()||"User"})]})]}),et.jsxs("div",{className:"raise-issue-field",children:[et.jsx("label",{className:"raise-issue-field-label",children:"Created On"}),et.jsxs("div",{className:"raise-issue-field-value-with-icon",children:[et.jsx(l,{size:16}),et.jsx("span",{children:Y&&m?.createdAt?(st(m.createdAt)||new Date).toLocaleString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!0}):(new Date).toLocaleString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!0})})]})]}),et.jsxs("div",{className:"raise-issue-field raise-issue-field-full-width",children:[et.jsxs("label",{className:"raise-issue-field-label",children:["Description ",et.jsx("span",{className:"raise-issue-required",children:"*"})]}),et.jsx("textarea",{className:"raise-issue-field-textarea "+(Y?"raise-issue-field-readonly":""),value:E,onChange:t=>S(t.target.value),placeholder:"Enter issue description",rows:4,readOnly:Y})]}),et.jsxs("div",{className:"raise-issue-field",children:[et.jsxs("label",{className:"raise-issue-field-label",children:["Status ",et.jsx("span",{className:"raise-issue-required",children:"*"})]}),et.jsxs("select",{className:"raise-issue-field-select "+(Y?"":"raise-issue-field-readonly"),value:O,onChange:t=>P(t.target.value),disabled:!Y,children:[et.jsx("option",{value:at.OPEN,children:at.OPEN}),et.jsx("option",{value:at.IN_PROGRESS,children:at.IN_PROGRESS}),et.jsx("option",{value:at.REJECTED,children:at.REJECTED}),et.jsx("option",{value:at.RESOLVE,children:at.RESOLVE})]})]}),et.jsxs("div",{className:"raise-issue-field",children:[et.jsxs("label",{className:"raise-issue-field-label",children:["Assign to ",et.jsx("span",{className:"raise-issue-required",children:"*"})]}),et.jsxs("select",{className:"raise-issue-field-select",value:D,onChange:t=>M(t.target.value),children:[et.jsx("option",{value:"",children:"Unassigned"}),b.map(t=>et.jsx("option",{value:t,children:t},t))]})]}),et.jsxs("div",{className:"raise-issue-field raise-issue-field-full-width",children:[et.jsxs("label",{className:"raise-issue-field-label",children:["Priority ",et.jsx("span",{className:"raise-issue-required",children:"*"})]}),et.jsxs("div",{className:"raise-issue-priority-buttons",children:[et.jsx("button",{type:"button",className:"priority-button priority-low "+("Low"===T?"active":""),onClick:()=>H("Low"),children:"Low"}),et.jsx("button",{type:"button",className:"priority-button priority-medium "+("Medium"===T?"active":""),onClick:()=>H("Medium"),children:"Medium"}),et.jsx("button",{type:"button",className:"priority-button priority-high "+("High"===T?"active":""),onClick:()=>H("High"),children:"High"})]})]}),et.jsxs("div",{className:"raise-issue-field raise-issue-field-full-width",children:[et.jsxs("label",{className:"raise-issue-field-label-with-icon",children:[et.jsx(c,{size:16}),et.jsx("span",{children:"Comments"})]}),!j&&et.jsx("div",{className:"raise-issue-no-comments",children:"No comments yet"}),et.jsx("textarea",{className:"raise-issue-field-textarea raise-issue-comments-textarea "+(Y?"raise-issue-field-readonly":""),value:j,onChange:t=>R(t.target.value),placeholder:"Add a comment...",rows:4,readOnly:Y})]}),et.jsxs("div",{className:"raise-issue-field raise-issue-field-full-width",style:{marginTop:"1rem"},children:[et.jsx("label",{className:"raise-issue-field-label",children:"Attachments"}),et.jsxs("div",{className:"raise-issue-attachments-container",children:[!Y&&et.jsxs("div",{className:"raise-issue-dropzone "+(q?"dragging":""),onDragOver:t=>{t.preventDefault(),W(!0)},onDragLeave:t=>{t.preventDefault(),W(!1)},onDrop:t=>{if(t.preventDefault(),W(!1),t.dataTransfer.files&&t.dataTransfer.files.length>0){const e=Array.from(t.dataTransfer.files);G(t=>[...t,...e])}},onClick:()=>X.current?.click(),children:[et.jsx("input",{type:"file",ref:X,style:{display:"none"},onChange:t=>{if(t.target.files&&t.target.files.length>0){const e=Array.from(t.target.files);G(t=>[...t,...e]),X.current&&(X.current.value="")}},multiple:!0}),et.jsx("div",{className:"raise-issue-dropzone-icon",children:et.jsx(u,{size:24})}),et.jsx("div",{className:"raise-issue-dropzone-text",children:"Click to upload or drag and drop"}),et.jsx("div",{className:"raise-issue-dropzone-hint",children:"PNG, JPG up to 10MB"})]}),z.length>0&&et.jsx("div",{className:"raise-issue-attachments-list",children:z.map((t,e)=>et.jsxs("div",{className:"raise-issue-attachment-item",children:[et.jsx("div",{className:"raise-issue-attachment-thumbnail",children:$(t)?et.jsx("img",{src:$(t),alt:"Thumbnail"}):et.jsx(h,{size:20,color:"#9ca3af"})}),et.jsxs("div",{className:"raise-issue-attachment-info",children:[et.jsx("span",{className:"attachment-name",title:J(t),children:J(t)}),t instanceof File&&et.jsxs("span",{className:"attachment-size",children:[(t.size/1024).toFixed(1)," KB"]})]}),!Y&&et.jsx("button",{type:"button",className:"attachment-remove-btn",onClick:()=>(t=>{G(e=>e.filter((e,A)=>A!==t))})(e),title:"Remove",children:et.jsx(a,{size:12})})]},e))})]})]})]})}),et.jsx("div",{className:"raise-issue-modal-actions",children:et.jsxs("div",{className:"raise-issue-modal-actions-buttons",children:[Y&&m&&et.jsxs(et.Fragment,{children:[O===at.OPEN&&et.jsx("button",{className:"raise-issue-modal-button raise-issue-modal-button-accept",onClick:async()=>{await tt(at.IN_PROGRESS)},disabled:K,children:K?"Processing...":"Accept"}),O===at.IN_PROGRESS&&et.jsx("button",{className:"raise-issue-modal-button raise-issue-modal-button-resolve",onClick:async()=>{await tt(at.RESOLVE)},disabled:K,children:K?"Processing...":"Resolve"}),(O===at.OPEN||O===at.IN_PROGRESS)&&et.jsx("button",{className:"raise-issue-modal-button raise-issue-modal-button-reject",onClick:async()=>{await tt(at.REJECTED)},disabled:K,children:K?"Processing...":"Reject"})]}),!Y&&et.jsx("button",{className:"raise-issue-modal-button raise-issue-modal-button-save "+(Z?"":"disabled"),onClick:async()=>{if(String(Q||"").trim())if(String(E||"").trim())if(x||String(N||"").trim())if(x||String(_||"").trim())if(String(D||"").trim()){V(!0);try{if(Y&&m){const t={title:String(Q||"").trim(),description:String(E||"").trim(),workOrderNumber:String(N||"").trim()||void 0,assetNumber:String(_||"").trim()||void 0,formTemplateId:m.formTemplateId||"",component:m.component||{},priority:T,assignTo:String(D||"").trim()||void 0,status:O,comments:String(j||"").trim()||"",task:m.component?.basic?.label||"",taskValue:m.component?.basic?.value||""};B&&m._id&&await B(m._id,t),nt.showSuccess("Issue updated successfully"),i&&i(),n()}else{if(!d)return nt.showError("Component is required"),void V(!1);if(!f||""===String(f||"").trim())return nt.showError("Form template is required"),void V(!1);const t={...d,basic:{...d.basic,comments:String(p||"")}},e=y?`${y.firstName||""} ${y.lastName||""}`.trim():"User",A={title:String(Q||"").trim(),workOrderNumber:String(N||"").trim()||void 0,assetNumber:String(_||"").trim()||void 0,component:t,description:String(E||"").trim(),formTemplateId:f,assignTo:String(D||"").trim()||void 0,priority:T,status:O,comments:String(j||"").trim()||"",createdBy:e,task:d?.basic?.label||"",taskValue:d?.basic?.value||""};let r;if(w&&(r=await w(A,z)),nt.showSuccess("Issue raised successfully"),i){const t={_id:r?._id||"temp-id",issueNumber:r?.issueNumber||"",title:A.title,description:A.description,status:A.status,priority:A.priority,createdAt:r?.createdAt||(new Date).toISOString(),updatedAt:r?.updatedAt||(new Date).toISOString(),component:A.component,workOrderNumber:A.workOrderNumber,assetNumber:A.assetNumber,assignTo:A.assignTo,comments:A.comments,attachments:r?.attachments||z,...r};i(t)}n()}}catch(t){const e=t?.message||t?.error?.message||(Y?"Failed to update issue. Please try again.":"Failed to raise issue. Please try again.");nt.showError(e)}finally{V(!1)}}else nt.showError("Assignee is required");else nt.showError("Asset Number is required");else nt.showError("Work Order is required");else nt.showError("Description is required");else nt.showError("Title is required")},disabled:K||!Z,children:K?"Creating...":"Create Issue"})]})})]})});return I(At,document.body)},lt=({component:t,condition:n,currentValue:i,thresholdValue:a,formTemplateId:o,workOrderNumber:l,assetNumber:c,user:u,onIssueRaised:h,isIssueRaised:d=!1,compact:f=!1})=>{const[p,g]=e(!1),[m,w]=e(null),[B,y]=e(!1),[b,v]=e(!1);A(()=>{d&&v(!0)},[d]),A(()=>{v(!1)},[n?.id]);const C=t=>({greaterThan:">",lessThan:"<",greaterThanOrEqual:"≥",lessThanOrEqual:"≤",equals:"=",notEquals:"≠"}[t]||t),x=r(async()=>{if(d||b){if(m)return void g(!0);y(!0);try{w(null),g(!0)}catch(t){console.error("Error fetching issue:",t),nt.showError("Failed to load issue details")}finally{y(!1)}}else w(null),g(!0)},[d,b,o,t,m]),F=r(()=>{g(!1),d||b||w(null)},[d,b]),Q=r(t=>{g(!1),w(t||null),v(!0),h&&n?.id&&h(n.id)},[h,n]);return d||b?et.jsx(et.Fragment,{children:p&&et.jsx(ot,{isOpen:p,onClose:F,onSuccess:Q,component:t,formTemplateId:o,workOrderNumber:l,assetNumber:c,user:u,notes:"",attachments:null,issue:m})}):f?et.jsxs(et.Fragment,{children:[et.jsxs("div",{className:"threshold-alert threshold-alert-unresolved threshold-alert-compact",children:[et.jsx("div",{className:"threshold-alert-border"}),et.jsxs("div",{className:"threshold-alert-content-compact",children:[et.jsx(s,{className:"threshold-alert-icon-compact",size:14}),et.jsx("span",{className:"threshold-alert-message-compact",children:`Threshold ${C(n.operator)} ${a}`}),et.jsx("button",{type:"button",onClick:x,className:"threshold-alert-raise-issue-btn-compact",title:"Raise Issue",children:"Raise Issue"})]})]}),p&&et.jsx(ot,{isOpen:p,onClose:F,onSuccess:Q,component:t,formTemplateId:o,workOrderNumber:l,assetNumber:c,user:u,notes:"",attachments:null,issue:m})]}):et.jsxs(et.Fragment,{children:[et.jsxs("div",{className:"threshold-alert threshold-alert-unresolved",children:[et.jsx("div",{className:"threshold-alert-border"}),et.jsxs("div",{className:"threshold-alert-content",children:[et.jsx("div",{className:"threshold-alert-header",children:et.jsxs("div",{className:"threshold-alert-title-group",children:[et.jsx(s,{className:"threshold-alert-icon",size:20}),et.jsx("span",{className:"threshold-alert-title",children:"Threshold Condition Met - Action Required"})]})}),et.jsxs("div",{className:"threshold-alert-message",children:[(()=>{const e=C(n.operator);return`${t.basic?.label||"Value"}: Value ${i} exceeds threshold ${e} ${a}`})(),et.jsx("span",{className:"threshold-alert-warning",children:" You must raise an issue before submitting the form."})]}),et.jsx("div",{className:"threshold-alert-buttons",children:et.jsx("button",{type:"button",onClick:x,className:"threshold-alert-raise-issue-btn",children:"Raise Issue Now"})})]})]}),p&&et.jsx(ot,{isOpen:p,onClose:F,onSuccess:Q,component:t,formTemplateId:o,workOrderNumber:l,assetNumber:c,user:u,notes:"",attachments:null,issue:m})]})},ct=({id:t,properties:s,validationErrors:a={},formValue:o="",inputType:l="text",readonly:c=!1,disabled:u=!1,touchedFields:h={},formSubmitted:d=!1,mode:f="test",onValueChange:p,onBlur:g,onFocus:m,className:w="",hideLabel:B=!1,formTemplateId:y,onThresholdIssueRaised:b,raisedThresholdIssues:v=new Set,workOrderNumber:C,assetNumber:x,user:F})=>{const Q=t=>null==t?"":"string"==typeof t?t:"number"==typeof t||"boolean"==typeof t?String(t):"object"==typeof t?Array.isArray(t)?"":"value"in t?Q(t.value):"label"in t?Q(t.label):"":String(t||""),U=n(t),E=n(null);A(()=>{t!==U.current&&(console.warn(`[DfFormInput] Component ID changed from ${U.current} to ${t}`),U.current=t)},[t]);const S=Q(o||s?.basic?.defaultValue||""),[N,L]=e(S),[_,I]=e(!1),[k,T]=e(!1),[H,O]=e(new Set),[P,D]=e(S),M=()=>{if(l)return l;const t=s?.name;return"text-input"===t?"text":"number-input"===t?"number":"email-input"===t?"email":"text"},j=r(t=>{const e=(()=>{const t={};if(s?.validation?.required&&(t.required=!0),"email"===M()&&(t.email=!0),"text"===M()){const e=s.validation;e?.minLength&&(t.minLength=e.minLength),e?.maxLength&&(t.maxLength=e.maxLength)}if("number"===M()){const e=s.validation;e&&"lowerLimit"in e&&void 0!==e.lowerLimit&&null!==e.lowerLimit&&0!==e.lowerLimit&&(t.lowerLimit=e.lowerLimit),e&&"upperLimit"in e&&void 0!==e.upperLimit&&null!==e.upperLimit&&0!==e.upperLimit&&(t.upperLimit=e.upperLimit)}return t})(),A={};let r=!0;const n="string"==typeof t?t:null!=t?String(t):"";if(!e.required||n&&""!==n.trim()||(A.required=!0,r=!1),e.email&&n&&!/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(n)&&(A.email=!0,r=!1),e.minLength&&n&&n.length<e.minLength&&(A.minLength=!0,r=!1),e.maxLength&&n&&n.length>e.maxLength&&(A.maxLength=!0,r=!1),"number"===M())if(delete A.pattern,delete A.min,delete A.max,n&&""!==n.trim()){const t=n.trim(),i=parseFloat(t);isNaN(i)||("lowerLimit"in e&&void 0!==e.lowerLimit&&null!==e.lowerLimit&&0!==e.lowerLimit&&i<e.lowerLimit&&(A.lowerLimit=!0,r=!1),"upperLimit"in e&&void 0!==e.upperLimit&&null!==e.upperLimit&&0!==e.upperLimit&&i>e.upperLimit&&(A.upperLimit=!0,r=!1))}else delete A.lowerLimit,delete A.upperLimit;return{isValid:r,errors:A}},[s,M]),R=r(e=>{const A="string"==typeof e?e:null!=e?String(e):"";if(L(A),p){const e=j(A),r=U.current,n={id:r,value:A,isValid:e.isValid,errors:e.errors};r!==t&&console.error(`[DfFormInput] ID mismatch in handleValueChange! ref: ${r}, prop: ${t}`),p(n)}},[t,p,j,U]);A(()=>{_&&(h[t]=!0)},[_,t,h]),A(()=>{if("edit"===f){I(!1);L(s?.basic?.defaultValue||"")}else"test"===f&&(I(!1),L(""))},[f,s?.basic?.defaultValue]),A(()=>{const e=U.current,A=Q(o||s?.basic?.defaultValue||"");A===N||k||""===A&&""!==String(N||"").trim()?""===A&&String(N||"").trim():null!=o&&(e===t?L(A):console.error(`[DfFormInput] ID mismatch! componentIdRef: ${e}, prop id: ${t}`))},[o,N,k,s?.basic?.defaultValue,t]),A(()=>{d&&I(!0)},[d]),A(()=>{"test"!==f&&L("")},[f]);const K=r((t,e)=>{if(!e||""===e)return!1;const A="string"==typeof e?parseFloat(e):e,r="string"==typeof t.value?parseFloat(t.value):t.value;if(isNaN(A)||isNaN(r))return!1;switch(t.operator){case"greaterThan":return A>r;case"lessThan":return A<r;case"greaterThanOrEqual":return A>=r;case"lessThanOrEqual":return A<=r;case"equals":return A===r;case"notEquals":return A!==r;default:return!1}},[]),V=i(()=>s?.condition?.conditions||[],[s?.condition]);A(()=>{N!==P&&(O(new Set),D(N))},[N,P]);const z=i(()=>{if("test"!==f||!N||""===N)return null;const t=V.filter(t=>K(t,N));if(0===t.length)return null;for(const e of t)if(!H.has(e.id))return e;return null},[N,V,H,f,K,v]),G=r(t=>{O(e=>new Set(e).add(t))},[]),q=M(),W=u||c||s?.validation?.readonly;return et.jsxs(et.Fragment,{children:[et.jsxs("div",{className:`form-group ${(()=>{const t=s?.styles?.labelAlignment;return"left"===t?"label-left":"label-top"})()}`,children:[!B&&s.basic.label&&et.jsxs("label",{htmlFor:t,className:"form-label",children:[s.basic.label,s.validation.required&&et.jsx("span",{className:"required-indicator",children:"*"})]}),et.jsxs("div",{className:"input-wrapper",ref:E,children:[et.jsx("input",{type:q,id:t,value:N,onChange:t=>{const e=t.target.value;R(e)},onFocus:()=>{T(!0),m&&m()},onBlur:()=>{if(T(!1),I(!0),"test"===f&&p){const e="string"==typeof N?N:null!=N?String(N):"",A=j(e),r={id:t,value:e,isValid:A.isValid,errors:A.errors};p(r)}g&&g()},placeholder:s.basic.placeholder,disabled:W,readOnly:c||s?.validation?.readonly,className:(()=>{const e="form-control";if("test"===f){const A="string"==typeof N?N:null!=N?String(N):"",r=j(A);if(r.isValid)return`${e} ${w}`.trim();const n=!r.isValid&&_,i=a[t]&&(_||d)&&!r;return`${e} ${n||i?"is-invalid":""} ${w}`.trim()}return`${e} ${w}`.trim()})()}),et.jsx(it,{validationErrors:a,fieldId:t,touchedFields:h,formSubmitted:d,properties:s,localValidation:j(N),isTouched:_,mode:f})]})]}),z&&"test"===f&&(()=>{const t=v?.has(z.id)||!1,e=null!==E.current?.closest(".table-cell")||null!==E.current?.closest(".cell-content")||null!==E.current?.closest(".datagrid-table-view")||null!==E.current?.closest(".datagrid-list-view")||w.includes("table-cell")||w.includes("cell-content");return et.jsx(lt,{component:s,condition:z,currentValue:N,thresholdValue:z.value,formTemplateId:y,workOrderNumber:C,assetNumber:x,user:F,onDismiss:()=>G(z.id),onIssueRaised:b,isIssueRaised:t,compact:e},`${z.id}-${t}`)})()]})},ut=({id:t,properties:n,validationErrors:i={},formValue:s="",readonly:a=!1,disabled:o=!1,touchedFields:l={},formSubmitted:c=!1,mode:u="preview",onValueChange:h,onBlur:d,onFocus:f,className:p="",hideLabel:g=!1})=>{const[m,w]=e(s),[B,y]=e(!1),b=r(t=>{const e={};let A=!0;return!n?.validation?.required||t&&""!==t.trim()||(e.required=!0,A=!1),n?.validation?.minLength&&t&&t.length<n.validation.minLength&&(e.minLength=!0,A=!1),n?.validation?.maxLength&&t&&t.length>n.validation.maxLength&&(e.maxLength=!0,A=!1),{isValid:A,errors:e}},[n]),v=r(e=>{if(w(e),h){const A=b(e),r={id:t,value:e,isValid:A.isValid,errors:A.errors};h(r)}},[t,h,b]);A(()=>{B&&(l[t]=!0)},[B,t,l]),A(()=>{""===m&&""!==s&&w(s)},[s]),A(()=>{c&&y(!0)},[c]),A(()=>{"test"!==u&&w("")},[u]);const C=o||a||n?.validation?.readonly,x=n?.validation?.rows||4;return et.jsxs("div",{className:`form-group ${(()=>{const t=n?.styles?.labelAlignment;return"left"===t?"label-left":"label-top"})()}`,children:[!g&&n.basic.label&&et.jsxs("label",{htmlFor:t,className:"form-label",children:[n.basic.label,n.validation.required&&et.jsx("span",{className:"required-indicator",children:"*"})]}),et.jsxs("div",{className:"input-wrapper",children:[et.jsx("textarea",{id:t,value:m,onChange:t=>{const e=t.target.value;v(e)},onFocus:()=>{f&&f()},onBlur:()=>{y(!0),d&&d()},placeholder:n.basic.placeholder,disabled:C,readOnly:a||n?.validation?.readonly,rows:x,className:`form-textarea ${!b(m).isValid&&B?"is-invalid":""} ${p}`.trim()}),et.jsx(it,{validationErrors:i,fieldId:t,touchedFields:l,formSubmitted:c,properties:n,localValidation:b(m),isTouched:B,mode:u})]})]})},ht=({id:t,properties:n,validationErrors:i={},formValue:s="",readonly:a=!1,disabled:o=!1,touchedFields:l={},formSubmitted:c=!1,mode:u="preview",onValueChange:h,onBlur:d,onFocus:f,className:p="",hideLabel:g=!1})=>{const[m,w]=e(s),[B,y]=e(!1),b=n?.validation?.multiple||!1,v=r(t=>{const e={};let A=!0;return n?.validation?.required&&(b?Array.isArray(t)&&0!==t.length||(e.required=!0,A=!1):(!t||"string"==typeof t&&""===t.trim())&&(e.required=!0,A=!1)),{isValid:A,errors:e}},[n,b]),C=r(e=>{if(w(e),h){const A=v(e),r={id:t,value:e,isValid:A.isValid,errors:A.errors};h(r)}},[t,h,v]);A(()=>{B&&(l[t]=!0)},[B,t,l]),A(()=>{JSON.stringify(s)!==JSON.stringify(m)&&w(s)},[s,m]),A(()=>{c&&y(!0)},[c]);const x=o||a||n?.validation?.readonly;return et.jsxs("div",{className:`form-group ${(()=>{const t=n?.styles?.labelAlignment;return"left"===t?"label-left":"label-top"})()}`,children:[!g&&n.basic.label&&et.jsxs("label",{htmlFor:t,className:"form-label",children:[n.basic.label,n.validation.required&&et.jsx("span",{className:"required-indicator",children:"*"})]}),et.jsxs("div",{className:"input-wrapper",children:[et.jsxs("select",{id:t,value:m,onChange:t=>{if(b){const e=Array.from(t.target.selectedOptions,t=>t.value);C(e)}else C(t.target.value)},onFocus:()=>{f&&f()},onBlur:()=>{y(!0),d&&d()},disabled:x,multiple:b,className:`form-select ${!v(m).isValid&&B?"is-invalid":""} ${p}`.trim(),children:[!b&&et.jsx("option",{value:"",children:n.basic.placeholder||"Select an option"}),(n.options||[]).map((t,e)=>et.jsx("option",{value:t.value,disabled:t.disabled,children:t.label},e))]}),et.jsx(it,{validationErrors:i,fieldId:t,touchedFields:l,formSubmitted:c,properties:n,localValidation:v(m),isTouched:B,mode:u})]})]})},dt=({id:t,properties:n,validationErrors:i={},formValue:s=[],readonly:a=!1,disabled:o=!1,touchedFields:l={},formSubmitted:c=!1,mode:u="preview",onValueChange:h,onBlur:d,onFocus:f,className:p="",hideLabel:g=!1})=>{const[m,w]=e(!1),B=Array.isArray(s)?s:[],y=r(t=>{const e={};let A=!0;return n?.validation?.required&&0===t.length&&(e.required=!0,A=!1),{isValid:A,errors:e}},[n]),b=r(e=>{if(h){const A=y(e),r={id:t,value:e,isValid:A.isValid,errors:A.errors};h(r)}},[t,h,y,B]),v=(t,e)=>{let A;A=e?[...B,t]:B.filter(e=>e!==t),b(A)},C=()=>{f&&f()},x=()=>{w(!0),d&&d()};A(()=>{m&&(l[t]=!0)},[m,t,l]),A(()=>{},[s,t,B]),A(()=>{c&&w(!0)},[c]);const F=o||a||n?.validation?.readonly;return et.jsx(et.Fragment,{children:et.jsx("div",{className:`form-group checkbox-group ${(()=>{const t=n?.styles?.labelAlignment;return"left"===t?"label-left":"label-top"})()} ${n?.basic?.inlineLayout?"inline-layout":"vertical-layout"} ${p}`,children:!g&&n.basic.label?et.jsxs(et.Fragment,{children:[et.jsxs("label",{className:"form-label",children:[n.basic.label,n.validation.required&&et.jsx("span",{className:"required-indicator",children:"*"})]}),et.jsxs("div",{className:"input-wrapper",children:[et.jsx("div",{className:"mt-2 "+(n?.basic?.inlineLayout?"inline-options-grid":"space-y-2"),children:(n.options||[]).map((e,A)=>et.jsxs("div",{className:"form-check",children:[et.jsx("input",{type:"checkbox",id:`${t}-${A}`,name:t,value:e.value,checked:B.includes(e.value),onChange:t=>{v(e.value,t.target.checked)},onFocus:C,onBlur:x,disabled:F||e.disabled,className:"form-check-input"}),et.jsx("label",{htmlFor:`${t}-${A}`,className:"form-check-label",children:e.label})]},A))}),et.jsx(it,{validationErrors:i,fieldId:t,touchedFields:l,formSubmitted:c,properties:n,localValidation:y(B),isTouched:m,mode:u})]})]}):et.jsxs("div",{className:"input-wrapper",children:[et.jsx("div",{className:"mt-2 "+(n?.basic?.inlineLayout?"inline-options-grid":"space-y-2"),children:(n.options||[]).map((e,A)=>et.jsxs("div",{className:"form-check",children:[et.jsx("input",{type:"checkbox",id:`${t}-${A}`,name:t,value:e.value,checked:B.includes(e.value),onChange:t=>{v(e.value,t.target.checked)},onFocus:C,onBlur:x,disabled:F||e.disabled,className:"form-check-input"}),et.jsx("label",{htmlFor:`${t}-${A}`,className:"form-check-label",children:e.label})]},A))}),et.jsx(it,{validationErrors:i,fieldId:t,touchedFields:l,formSubmitted:c,properties:n,localValidation:y(B),isTouched:m,mode:u})]})})})},ft=({id:t,properties:n,validationErrors:i={},formValue:s="",readonly:a=!1,disabled:o=!1,touchedFields:l={},formSubmitted:c=!1,mode:u="preview",onValueChange:h,onBlur:d,onFocus:f,className:p="",hideLabel:g=!1})=>{const[m,w]=e(s),[B,y]=e(!1),b=r(t=>{const e={};let A=!0;return!n?.validation?.required||t&&""!==t.trim()||(e.required=!0,A=!1),{isValid:A,errors:e}},[n]),v=r(e=>{if(w(e),h){const A=b(e),r={id:t,value:e,isValid:A.isValid,errors:A.errors};h(r)}},[t,h,b]),C=t=>{v(t)},x=()=>{f&&f()},F=()=>{y(!0),d&&d()};A(()=>{B&&(l[t]=!0)},[B,t,l]),A(()=>{s!==m&&w(s)},[s,m]),A(()=>{c&&y(!0)},[c]);const Q=o||a||n?.validation?.readonly;return et.jsx(et.Fragment,{children:et.jsx("div",{className:`form-group radio-group ${(()=>{const t=n?.styles?.labelAlignment;return"left"===t?"label-left":"label-top"})()} ${n?.basic?.inlineLayout?"inline-layout":"vertical-layout"} ${p}`,children:!g&&n.basic.label?et.jsxs(et.Fragment,{children:[et.jsxs("label",{className:"form-label",children:[n.basic.label,n.validation.required&&et.jsx("span",{className:"required-indicator",children:"*"})]}),et.jsxs("div",{className:"input-wrapper",children:[et.jsx("div",{className:"mt-2 "+(n?.basic?.inlineLayout?"inline-options-grid":"space-y-2"),children:(n.options||[]).map((e,A)=>et.jsxs("div",{className:"form-check",children:[et.jsx("input",{type:"radio",id:`${t}-${A}`,name:t,value:e.value,checked:m===e.value,onChange:()=>C(e.value),onFocus:x,onBlur:F,disabled:Q||e.disabled,className:"form-check-input"}),et.jsx("label",{htmlFor:`${t}-${A}`,className:"form-check-label",children:e.label})]},A))}),et.jsx(it,{validationErrors:i,fieldId:t,touchedFields:l,formSubmitted:c,properties:n,localValidation:b(m),isTouched:B,mode:u})]})]}):et.jsxs("div",{className:"input-wrapper",children:[et.jsx("div",{className:"mt-2 "+(n?.basic?.inlineLayout?"inline-options-grid":"space-y-2"),children:(n.options||[]).map((e,A)=>et.jsxs("div",{className:"form-check",children:[et.jsx("input",{type:"radio",id:`${t}-${A}`,name:t,value:e.value,checked:m===e.value,onChange:()=>C(e.value),onFocus:x,onBlur:F,disabled:Q||e.disabled,className:"form-check-input"}),et.jsx("label",{htmlFor:`${t}-${A}`,className:"form-check-label",children:e.label})]},A))}),et.jsx(it,{validationErrors:i,fieldId:t,touchedFields:l,formSubmitted:c,properties:n,localValidation:b(m),isTouched:B,mode:u})]})})})},pt=({id:t,properties:n,validationErrors:i={},formValue:s="",readonly:a=!1,disabled:o=!1,touchedFields:l={},formSubmitted:c=!1,mode:u="preview",onValueChange:h,onBlur:d,onFocus:f,className:p="",hideLabel:g=!1})=>{const[m,w]=e(s),[B,y]=e(!1),b=r(t=>{const e={};let A=!0;return!n?.validation?.required||t&&""!==t.trim()||(e.required=!0,A=!1),{isValid:A,errors:e}},[n]),v=r(e=>{if(w(e),y(!0),h){const A=b(e),r={id:t,value:e,isValid:A.isValid,errors:A.errors};h(r)}},[t,h,b]),C=()=>{f&&f()},x=()=>{y(!0),d&&d()};A(()=>{B&&(l[t]=!0)},[B,t,l]),A(()=>{s!==m&&w(s)},[s,m]),A(()=>{c&&y(!0)},[c]);const F=()=>n?.basic?.inlineLayout?"inline-layout":"grid-layout",Q=t=>{const e=t?.toLowerCase();return"pass"===e||"yes"===e?"pass":"fail"===e||"no"===e?"fail":"pass"},U=t=>{if(void 0!==t?.icon&&""!==t.icon)return t.icon;return"pass"===Q(t?.value||t)?"✓":"×"},E=(t,e)=>t?.color||t?.backgroundColor?{color:e?"#ffffff":t.color||"#00814b",backgroundColor:e?t.color||"#00814b":t.backgroundColor||"#34bd4914",borderColor:t.color||"#00814b"}:{},S=t=>{if(t?.color||t?.backgroundColor)return"segment-button-label segment-button-custom";return"segment-button-label "+("pass"===Q(t?.value||t)?"pass-button":"fail-button")},N=o||a||n?.validation?.readonly;return et.jsxs(et.Fragment,{children:[et.jsx("div",{className:`form-group segment-group ${(()=>{const t=n?.styles?.labelAlignment;return"left"===t?"label-left":"label-top"})()} ${p}`,children:!g&&n.basic.label?et.jsxs(et.Fragment,{children:[et.jsxs("label",{className:"form-label",children:[n.basic.label,n.validation.required&&et.jsx("span",{className:"required-indicator",children:"*"})]}),et.jsx("div",{className:"form-segment-wrapper",children:et.jsx("div",{className:`form-segment-container ${F()}`,children:(n.options||[]).map((e,A)=>{const r=m===e.value,n=E(e,r),i=S(e),s=U(e);return et.jsxs("div",{className:"form-segment-option "+(r?"selected":""),children:[et.jsx("input",{type:"radio",id:`${t}_option_${A}`,name:t,value:e.value,checked:r,onChange:()=>!N&&!e.disabled&&v(e.value),onFocus:C,onBlur:x,disabled:N||e.disabled,className:"form-segment-radio"}),et.jsxs("label",{htmlFor:`${t}_option_${A}`,className:i,style:Object.keys(n).length>0?n:void 0,children:[s&&et.jsx("span",{className:"segment-icon",children:s}),et.jsx("span",{className:"segment-text",children:e.value})]})]},A)})})})]}):et.jsx("div",{className:"form-segment-wrapper",children:et.jsx("div",{className:`form-segment-container ${F()}`,children:(n.options||[]).map((e,A)=>{const r=m===e.value,n=E(e,r),i=S(e),s=U(e);return et.jsxs("div",{className:"form-segment-option "+(r?"selected":""),children:[et.jsx("input",{type:"radio",id:`${t}_option_${A}`,name:t,value:e.value,checked:r,onChange:()=>!N&&!e.disabled&&v(e.value),onFocus:C,onBlur:x,disabled:N||e.disabled,className:"form-segment-radio"}),et.jsxs("label",{htmlFor:`${t}_option_${A}`,className:i,style:Object.keys(n).length>0?n:void 0,children:[s&&et.jsx("span",{className:"segment-icon",children:s}),et.jsx("span",{className:"segment-text",children:e.value})]})]},A)})})})}),et.jsx(it,{validationErrors:i,fieldId:t,touchedFields:l,formSubmitted:c,properties:n,localValidation:b(m),isTouched:B,mode:u})]})},gt=({id:t,properties:n,validationErrors:i={},formValue:s="",readonly:a=!1,disabled:o=!1,touchedFields:l={},formSubmitted:c=!1,mode:u="preview",onValueChange:h,onBlur:d,onFocus:f,className:p="",hideLabel:g=!1})=>{const m=r(t=>{if(!t)return"";if("string"==typeof t){if(/^\d{4}-\d{2}-\d{2}$/.test(t))return t;if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/.test(t))return t;const e=st(t);if(e&&!isNaN(e.getTime())){const t=n.name||"",A=n.basic?.dateTimeMode||("datetime-picker"===t?"datetime":"date");if("datetime"===A){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}T${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}if("time"===A){return`${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}`}return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}return t}if(t instanceof Date){if(isNaN(t.getTime()))return"";const e=n.name||"",A=n.basic?.dateTimeMode||("datetime-picker"===e?"datetime":"date");if("datetime"===A){return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}T${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`}if("time"===A){return`${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`}return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}if("object"==typeof t&&null!==t){if("value"in t&&t.value)return m(t.value);if("date"in t&&t.date)return m(t.date);try{const e=String(t),A=st(e);if(A&&!isNaN(A.getTime()))return m(A)}catch(t){}return""}return""},[n]),w=m(s),[B,y]=e(w),[b,v]=e(!1),[C,x]=e(!1),F=r(t=>{const e={};let A=!0;const r=n.name||"",i=n.basic?.dateTimeMode||("datetime-picker"===r?"datetime":"date"),s=t?String(t).trim():"";if(n?.validation?.required&&(!s||""===s))return e.required=!0,A=!1,{isValid:A,errors:e};if(s&&""!==s)if("time"===i){if(!/^([0-1][0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?$/.test(s))return e.invalidDate=!0,A=!1,{isValid:A,errors:e}}else if("datetime"===i){const t=st(s);if(!t||isNaN(t.getTime()))return e.invalidDate=!0,A=!1,{isValid:A,errors:e};if(n?.validation?.minDate){const r=st(n.validation.minDate);r&&t<r&&(e.minDate=!0,e.minDateMessage=`Date and time must be on or after ${r.toLocaleDateString()}`,A=!1)}if(n?.validation?.maxDate){const r=st(n.validation.maxDate);r&&t>r&&(e.maxDate=!0,e.maxDateMessage=`Date and time must be on or before ${r.toLocaleDateString()}`,A=!1)}}else{const t=st(s);if(!t||isNaN(t.getTime()))return e.invalidDate=!0,A=!1,{isValid:A,errors:e};if(n?.validation?.minDate){const r=st(n.validation.minDate);r&&t<r&&(e.minDate=!0,e.minDateMessage=`Date must be on or after ${r.toLocaleDateString()}`,A=!1)}if(n?.validation?.maxDate){const r=st(n.validation.maxDate);r&&t>r&&(e.maxDate=!0,e.maxDateMessage=`Date must be on or before ${r.toLocaleDateString()}`,A=!1)}}return{isValid:A,errors:e}},[n]),Q=r(e=>{if(y(e),h){const A=F(e),r={id:t,value:e,isValid:A.isValid,errors:A.errors};h(r)}},[t,h,F]);A(()=>{b&&(l[t]=!0)},[b,t,l]),A(()=>{const t=m(s);t===B||C||y(t)},[s,B,C,m]),A(()=>{c&&v(!0)},[c]);const U=o||a||n?.validation?.readonly,E=n.name||"",S=n.basic?.dateTimeMode||("datetime-picker"===E?"datetime":"date"),N=(()=>{switch(S){case"time":return"time";case"datetime":return"datetime-local";default:return"date"}})();return et.jsxs("div",{className:`form-group ${(()=>{const t=n?.styles?.labelAlignment;return"left"===t?"label-left":"label-top"})()}`,children:[!g&&n.basic.label&&et.jsxs("label",{htmlFor:t,className:"form-label",children:[n.basic.label,n.validation.required&&et.jsx("span",{className:"required-indicator",children:"*"})]}),et.jsxs("div",{className:"input-wrapper",children:[et.jsx("input",{type:N,id:t,value:B,onChange:t=>{const e=t.target.value;Q(e)},onFocus:()=>{x(!0),f&&f()},onBlur:()=>{if(x(!1),v(!0),h){const e=F(B),A={id:t,value:B,isValid:e.isValid,errors:e.errors};h(A)}d&&d()},disabled:U,readOnly:a||n?.validation?.readonly,min:n?.validation?.minDate,max:n?.validation?.maxDate,className:`form-date ${!F(B).isValid&&b?"is-invalid":""} ${p}`.trim()}),et.jsx(it,{validationErrors:i,fieldId:t,touchedFields:l,formSubmitted:c,properties:n,localValidation:F(B),isTouched:b,mode:u})]})]})},mt=({id:t,properties:i,validationErrors:s={},formValue:a="",readonly:o=!1,disabled:l=!1,touchedFields:c={},formSubmitted:u=!1,mode:h="preview",onValueChange:d,onBlur:f,onFocus:p,className:g="",hideLabel:m=!1})=>{const w=n(null),[B,y]=e(!1),[b,v]=e(!1),[C,x]=e(a),[F,Q]=e(!1),U=r(t=>{const e={};let A=!0;return!i?.validation?.required||t&&""!==t.trim()||(e.required=!0,A=!1),{isValid:A,errors:e}},[i]),E=r(e=>{if(x(e),d){const A=U(e),r={id:t,value:e,isValid:A.isValid,errors:A.errors};d(r)}},[t,d,U]),S=r(()=>{const t=document.documentElement.classList.contains("dark")||"dark"===document.documentElement.getAttribute("data-theme");let e=getComputedStyle(document.documentElement).getPropertyValue("--df-color-fb-input-bg").trim();e||(e=t?"#2c2e34":"#ffffff");return{strokeColor:t?"#ffffff":"#000000",backgroundColor:e}},[]),N=r(e=>{if(!e)return;const A=w.current;if(!A)return;const r=A.getContext("2d");if(!r)return;const n=new Image;n.onload=()=>{r.clearRect(0,0,A.width,A.height);const t=S();r.fillStyle=t.backgroundColor,r.fillRect(0,0,A.width,A.height);const e=A.width/A.height,i=n.width/n.height;let s=A.width,a=A.height,o=0,l=0;i>e?(a=A.width/i,l=(A.height-a)/2):(s=A.height*i,o=(A.width-s)/2),r.drawImage(n,o,l,s,a)},n.onerror=A=>{console.error("DfFormSignature: error loading image",{id:t,error:A,dataURL:e.substring(0,50)+"..."})},n.src=e},[S,t]),L=r(()=>{const t=w.current;if(!t)return;const e=t.getContext("2d");if(!e)return;const A=t.getBoundingClientRect();t.width=A.width,t.height=A.height,t.style.width=A.width+"px",t.style.height=A.height+"px";const r=S();e.strokeStyle=r.strokeColor,e.lineWidth=2,e.lineCap="round",e.lineJoin="round",C?N(C):(e.fillStyle=r.backgroundColor,e.fillRect(0,0,t.width,t.height))},[C,S,N]),_=r(()=>{setTimeout(()=>{L()},100)},[L]);A(()=>{const t=()=>{_()},e=new MutationObserver(t=>{t.forEach(t=>{if("attributes"===t.type&&"class"===t.attributeName){const e=t.target;e.classList.contains("form-canvas-container")&&(e.classList.contains("mobile-view")||e.classList.contains("tablet-view")||e.classList.contains("desktop-view"))&&_()}})});return e.observe(document.body,{attributes:!0,attributeFilter:["class"],subtree:!0}),window.addEventListener("resize",t),()=>{e.disconnect(),window.removeEventListener("resize",t)}},[_]);const I=r(t=>{const e=w.current;if(!e)return{x:0,y:0};const A=e.getBoundingClientRect(),r=e.width/A.width,n=e.height/A.height,i=t.type.includes("mouse")?t.clientX:t.touches[0].clientX,s=t.type.includes("mouse")?t.clientY:t.touches[0].clientY;return{x:(i-A.left)*r,y:(s-A.top)*n}},[]),k=t=>{if(o||l||i?.validation?.readonly)return;if(t.target.closest(".clear-signature-btn"))return;t.preventDefault(),t.stopPropagation(),y(!0),v(!0);const e=w.current;if(!e)return;const A=e.getContext("2d");if(!A)return;const{x:r,y:n}=I(t),s=S();A.strokeStyle=s.strokeColor,A.lineWidth=2,A.lineCap="round",A.lineJoin="round",A.beginPath(),A.moveTo(r,n)},T=t=>{if(!B)return;t.preventDefault(),t.stopPropagation();const e=w.current;if(!e)return;const A=e.getContext("2d");if(!A)return;const{x:r,y:n}=I(t);A.lineTo(r,n),A.stroke()},H=()=>{if(!B)return;y(!1),Q(!0);const t=w.current;if(t){(t=>{const e=t.getContext("2d");if(!e)return!1;const A=e.getImageData(0,0,t.width,t.height).data;for(let t=0;t<A.length;t+=4){const e=A[t],r=A[t+1],n=A[t+2];if(A[t+3]>0&&(e<255||r<255||n<255))return!0}})(t);const e=t.toDataURL("image/png");x(e),E(e),setTimeout(()=>{Q(!1)},100)}else Q(!1)},O=r(()=>{const t=w.current;if(!t)return;const e=t.getContext("2d");if(!e)return;const A=S();if(e.strokeStyle=A.strokeColor,C){const r=C,n=t.getBoundingClientRect();e.fillStyle=A.backgroundColor,e.fillRect(0,0,n.width,n.height),r&&N(r)}else{const r=t.getBoundingClientRect();e.fillStyle=A.backgroundColor,e.fillRect(0,0,r.width,r.height)}},[S,C,N]);A(()=>{const t=new MutationObserver(t=>{t.forEach(t=>{"attributes"!==t.type||"class"!==t.attributeName&&"data-theme"!==t.attributeName||O()})});return t.observe(document.documentElement,{attributes:!0,attributeFilter:["class","data-theme"]}),()=>{t.disconnect()}},[O]);A(()=>{b&&(c[t]=!0)},[b,t,c]),A(()=>{if(!(a===C||B||F||""!==C&&""===a)){if(a===C)return;x(a),a&&N(a)}},[a,C,B,F]),A(()=>{u&&v(!0)},[u]),A(()=>{if("test"!==h){x("");const t=w.current;if(t){const e=t.getContext("2d");if(e){const A=t.getBoundingClientRect();t.width=A.width,t.height=A.height;const r=S();e.fillStyle=r.backgroundColor,e.fillRect(0,0,A.width,A.height)}}}},[h]),A(()=>{L()},[h]);const P=l||o||i?.validation?.readonly;return et.jsxs("div",{className:`form-group ${(()=>{const t=i?.styles?.labelAlignment;return"left"===t?"label-left":"label-top"})()}`,children:[!m&&i.basic.label&&et.jsxs("label",{htmlFor:t,className:"form-label",children:[i.basic.label,i.validation.required&&et.jsx("span",{className:"required-indicator",children:"*"})]}),et.jsxs("div",{className:"input-wrapper",children:[et.jsxs("div",{className:"signature-container",style:{position:"relative",width:"100%",maxWidth:"100%",overflow:"hidden"},children:[et.jsx("canvas",{ref:w,id:t,className:`form-signature ${!U(C).isValid&&b?"is-invalid":""} ${g}`.trim(),onMouseDown:k,onMouseMove:T,onMouseUp:H,onMouseLeave:H,onTouchStart:k,onTouchMove:T,onTouchEnd:H,onFocus:()=>{p&&p()},onBlur:()=>{f&&f()},style:{width:"100%",height:"150px",border:"2px solid var(--df-color-primary-border)",borderRadius:"6px",cursor:P?"not-allowed":"crosshair",backgroundColor:"var(--df-color-fb-input-bg)",touchAction:"none",userSelect:"none"}}),!P&&et.jsx("button",{type:"button",onClick:t=>(t=>{t?.preventDefault(),t?.stopPropagation();const e=w.current;if(!e)return;const A=e.getBoundingClientRect();e.width=A.width,e.height=A.height;const r=e.getContext("2d");if(!r)return;const n=S();r.fillStyle=n.backgroundColor,r.fillRect(0,0,A.width,A.height),r.strokeStyle=n.strokeColor,r.lineWidth=2,r.lineCap="round",r.lineJoin="round",x(""),E("")})(t),className:"clear-signature-btn",style:{position:"absolute",bottom:"8px",right:"8px",padding:"4px 8px",backgroundColor:"var(--df-color-error-primary)",color:"white",border:"none",borderRadius:"4px",cursor:"pointer",fontSize:"0.75rem",fontWeight:"500",zIndex:10,transition:"all 0.2s ease",minWidth:"60px",minHeight:"28px"},onMouseEnter:t=>{t.currentTarget.style.backgroundColor="var(--df-color-error-dark, #dc2626)",t.currentTarget.style.transform="scale(1.05)"},onMouseLeave:t=>{t.currentTarget.style.backgroundColor="var(--df-color-error-primary)",t.currentTarget.style.transform="scale(1)"},children:"Clear"})]}),et.jsx(it,{validationErrors:s,fieldId:t,touchedFields:c,formSubmitted:u,properties:i,localValidation:U(C),isTouched:b,mode:h})]})]})},wt=({id:t,properties:i,validationErrors:s={},formValue:a=null,readonly:o=!1,disabled:l=!1,touchedFields:c={},formSubmitted:u=!1,mode:h="test",onValueChange:d,onBlur:f,onFocus:p,className:g="",hideLabel:m=!1})=>{const[w,B]=e([]),[y,b]=e(!1),[v,C]=e(!1),x=n(null),F=r((e,A=0)=>{if(!e)return[];const r="string"==typeof e?[e]:e,n=Array.isArray(r)?r:Array.from(r),i=[];return n.forEach(e=>{let r,n,s=0,a="",o="";if(e instanceof File||e instanceof Blob){const t=e;if(s=t.size||0,a=t.type||"",o=t.name||`file-${A+i.length}`,n=t,a.startsWith("image/"))try{r=URL.createObjectURL(t)}catch(t){console.error("Error creating object URL:",t),r=void 0}}else if("string"==typeof e){const t=e;if(o=`file-${A+i.length}`,t.startsWith("data:")){const e=t.indexOf(";");a=e>5?t.substring(5,e):"application/octet-stream"}else{const e=t.match(/\.(jpg|jpeg|png|gif|webp|svg|pdf|doc|docx|xls|xlsx|zip|rar)$/i);if(e){a={jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",gif:"image/gif",webp:"image/webp",svg:"image/svg+xml",pdf:"application/pdf",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",xls:"application/vnd.ms-excel",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",zip:"application/zip",rar:"application/x-rar-compressed"}[e[1].toLowerCase()]||"application/octet-stream"}else a="application/octet-stream"}(t.startsWith("data:image")||t.startsWith("http://")||t.startsWith("https://")||t.startsWith("blob:"))&&(r=t),n=t}else{if(!e||"object"!=typeof e)return;{const t=e;if(o=t.name||t.fileName||`file-${A+i.length}`,s=t.size||t.fileSize||0,a=t.type||t.fileType||t.mimeType||"",t.url||t.path)r=t.url||t.path;else if(a.startsWith("image/")&&t.data){const e=t.data;r="string"==typeof e?e.startsWith("data:")?e:`data:${a};base64,${e}`:void 0}n=t}}i.push({file:n,id:`${t}-file-${A+i.length}`,size:s,type:a,name:o,preview:r})}),i},[t]),Q=r(()=>({isValid:!0,errors:{}}),[]),U=r(e=>{if(o||l)return;const A=i?.validation?.multiple||!1,r=i?.validation?.maxFiles||1/0,n=F(e,w.length).filter(t=>{const e=w.some(e=>e.name===t.name&&e.size===t.size);return e&&nt.showWarning(`File '${t.name}' already exists`),!e});let s;s=A||1!==i?.validation?.maxFiles?[...w,...n]:F(e,0);const a=s.slice(0,r);if(B(a),C(!0),d){const e=Q(),A={id:t,value:a.map(t=>t.file),isValid:e.isValid,errors:e.errors};d(A)}},[w,i,o,l,d,Q,F,t]),E=t=>{if(0===t)return"0 Bytes";const e=Math.floor(Math.log(t)/Math.log(1024));return parseFloat((t/Math.pow(1024,e)).toFixed(2))+" "+["Bytes","KB","MB","GB"][e]},S=t=>t.startsWith("image/")?"🖼️":t.startsWith("video/")?"🎥":t.startsWith("audio/")?"🎵":t.includes("pdf")?"📄":t.includes("word")||t.includes("document")?"📝":t.includes("excel")||t.includes("spreadsheet")?"📊":t.includes("zip")||t.includes("rar")?"📦":"📁";A(()=>{v&&(c[t]=!0)},[v,t,c]),A(()=>{("edit"===h||"test"===h)&&C(!1)},[h]),A(()=>{const t=F(a);B(t)},[a,F]),A(()=>{u&&C(!0)},[u]),A(()=>()=>{w.forEach(t=>{if(t.preview&&t.preview.startsWith("blob:"))try{URL.revokeObjectURL(t.preview)}catch(t){console.error("Error revoking object URL:",t)}})},[w]);const N=()=>{const t=i?.styles?.labelAlignment;return"left"===t?"label-left":"label-top"},L=l||o||i?.validation?.readonly,_=i?.validation?.multiple||!1,I=i?.validation?.accept||"*/*",k=i?.validation?.maxFiles||1/0,T=w.length<k&&(_||k>1),H="edit"===h,O="preview"===h||"test"===h,P=w.filter(t=>t.type.startsWith("image/")),D=w.filter(t=>!t.type.startsWith("image/")),M=P.length>0;return O&&M?et.jsxs("div",{className:`form-group ${N()}`,children:[!m&&et.jsxs("label",{htmlFor:t,className:"form-label",children:[i.basic?.label,i.validation?.required&&et.jsx("span",{className:"required-indicator",children:"*"})]}),et.jsxs("div",{className:"file-upload-wrapper",children:[et.jsxs("div",{className:"file-image-display "+(i.basic?.horizontalView?"horizontal-view":"vertical-view"),children:[P.map(t=>et.jsxs("div",{className:"file-image-container",children:[t.preview&&et.jsx("img",{src:t.preview,alt:t.name,className:"file-image-preview"}),et.jsxs("div",{className:"file-image-info",children:[et.jsx("div",{className:"file-name",title:t.name,children:t.name}),et.jsx("div",{className:"file-size",children:E(t.size)})]})]},t.id)),D.length>0&&et.jsxs("div",{className:"file-other-files",children:[et.jsx("div",{className:"file-other-files-label",children:"Other Files:"}),D.map(t=>et.jsxs("div",{className:"file-item-minimal",children:[et.jsx("div",{className:"file-icon",children:S(t.type)}),et.jsxs("div",{className:"file-info",children:[et.jsx("div",{className:"file-name",title:t.name,children:t.name}),et.jsx("div",{className:"file-size",children:E(t.size)})]})]},t.id))]})]}),et.jsx(it,{validationErrors:s,fieldId:t,touchedFields:c,formSubmitted:u,properties:i,localValidation:Q(),isTouched:v,mode:h})]})]}):et.jsxs("div",{className:`form-group ${N()}`,children:[!m&&et.jsxs("label",{htmlFor:t,className:"form-label",children:[i.basic?.label,i.validation?.required&&et.jsx("span",{className:"required-indicator",children:"*"})]}),et.jsxs("div",{className:"file-upload-wrapper",children:[et.jsxs("div",{className:`file-upload-area ${y?"drag-over":""} ${o?"readonly":""} ${l?"disabled":""} ${g}`.trim(),onDragOver:t=>{t.stopPropagation(),(t=>{t.preventDefault(),o||l||b(!0)})(t)},onDragLeave:t=>{t.stopPropagation(),(t=>{t.preventDefault(),b(!1)})(t)},onDrop:t=>{t.stopPropagation(),(t=>{if(t.preventDefault(),b(!1),o||l)return;const e=t.dataTransfer.files;e.length>0&&U(e)})(t)},onClick:t=>{t.stopPropagation();const e=t.target,A=null!==e.closest(".file-item"),r=null!==e.closest(".file-remove");!H||L||0!==w.length||A||r||x.current?.click()},onFocus:t=>{t.stopPropagation(),p&&p()},onBlur:e=>{e.stopPropagation(),(()=>{if(C(!0),"test"===h&&d){const e=Q(),A={id:t,value:w.map(t=>t.file),isValid:e.isValid,errors:e.errors};d(A)}f&&f()})()},tabIndex:L?-1:0,children:[et.jsx("input",{ref:x,type:"file",id:t,multiple:_,accept:I,onChange:t=>{const e=t.target.files;e&&e.length>0&&(U(e),t.target.value="")},disabled:L,style:{display:"none"}}),0===w.length?et.jsxs("div",{className:"upload-placeholder",onClick:t=>{t.stopPropagation(),H&&!L&&x.current?.click()},children:[et.jsx("div",{className:"upload-icon",children:"📁"}),et.jsx("div",{className:"upload-text",children:i.basic.placeholder&&et.jsx("p",{className:"upload-hint",children:i.basic.placeholder})})]}):et.jsx("div",{className:"file-list "+(i.basic?.horizontalView?"horizontal-view":"vertical-view"),children:w.map(e=>et.jsxs("div",{className:"file-item",children:[et.jsx("div",{className:"file-preview",children:e.preview?et.jsx("img",{src:e.preview,alt:e.name,className:"file-image"}):et.jsx("div",{className:"file-icon",children:S(e.type)})}),et.jsxs("div",{className:"file-info",children:[et.jsx("div",{className:"file-name",title:e.name,children:e.name}),et.jsx("div",{className:"file-size",children:E(e.size)})]}),H&&!L&&et.jsx("button",{type:"button",className:"file-remove",onClick:A=>{A.stopPropagation(),(e=>{if(o||l)return;const A=w.filter(t=>t.id!==e);if(B(A),C(!0),d){const e=Q(),r={id:t,value:A.map(t=>t.file),isValid:e.isValid,errors:e.errors};d(r)}})(e.id)},"aria-label":`Remove ${e.name}`,children:"✕"})]},e.id))})]}),w.length>0&&T&&!L&&H&&et.jsxs("button",{type:"button",className:"file-add-more",onClick:t=>{t.stopPropagation(),!L&&x.current&&H&&(x.current.value="",x.current.click())},"aria-label":"Add more files",children:[et.jsx("svg",{className:"file-add-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:et.jsx("path",{d:"M12 5v14M5 12h14"})}),et.jsx("span",{className:"file-add-text",children:"Add More Files"})]}),et.jsx(it,{validationErrors:s,fieldId:t,touchedFields:c,formSubmitted:u,properties:i,localValidation:Q(),isTouched:v,mode:h})]})]})},Bt=({id:t,properties:i,validationErrors:s={},formValue:o=null,readonly:l=!1,disabled:c=!1,touchedFields:u={},formSubmitted:h=!1,mode:g="test",onValueChange:m,onBlur:w,onFocus:B,className:y="",hideLabel:b=!1})=>{const[v,C]=e(o),[x,F]=e(!1),[Q,U]=e(""),[E,S]=e(!1),[N,L]=e(!1),[_,I]=e({lat:40.7128,lng:-74.006}),[k,T]=e(null),[H,O]=e(10),[P,D]=e(""),[M,j]=e(!1),R=n(null),[K,V]=e(!1),[z,G]=e(null),[q,W]=e(!1);A(()=>{if(o&&o.latitude&&o.longitude){40.7128===o.latitude&&-74.006===o.longitude||(C(o),T({lat:o.latitude,lng:o.longitude,isCurrentLocation:!1}),I({lat:o.latitude,lng:o.longitude}))}else null==o&&(C(null),T(null))},[o]),A(()=>{N&&40.7128===_.lat&&_.lng},[N,_]),A(()=>{(l||c)&&(N&&L(!1),P&&D(""),K&&(V(!1),G(null)))},[l,c]);const X=r(async(t,e)=>{W(!0);try{const A=await fetch(`https://nominatim.openstreetmap.org/reverse?format=json&lat=${t}&lon=${e}&addressdetails=1&zoom=18`),r=await A.json();if(r&&r.address){const t=r.address;return{placeName:r.display_name||"",city:t.city||t.town||t.village||t.municipality||"",country:t.country||""}}}catch(t){console.error("Reverse geocoding failed:",t)}finally{W(!1)}return{placeName:"",city:"",country:""}},[]),Y=r(async(e,A,r)=>{const n=await X(e,A),i={latitude:e,longitude:A,timestamp:Date.now(),placeName:n.placeName,city:n.city,country:n.country,address:n.placeName,...r};if(C(i),T({lat:e,lng:A,isCurrentLocation:!1}),S(!0),m){m({id:t,value:i,isValid:!0,errors:{}})}},[X,t,m]),J=r(async()=>{if(l||c)return;F(!0),U("");if(void 0!==window.Capacitor)try{const{Geolocation:t}=window.Capacitor.Plugins;if(t)try{if("granted"!==(await t.requestPermissions()).location)return F(!1),void U("Location permission is required. Please enable location access in your device settings.");const e=await t.getCurrentPosition({enableHighAccuracy:i.validation?.enableHighAccuracy??!0,timeout:i.validation?.timeout??1e4,maximumAge:i.validation?.maximumAge??3e5}),A=e.coords.latitude,r=e.coords.longitude;return T({lat:A,lng:r,isCurrentLocation:!0}),I({lat:A,lng:r}),S(!0),await Y(A,r,{accuracy:e.coords.accuracy,timestamp:Date.now()}),F(!1),void U("")}catch(t){return F(!1),void(t.message?.includes("permission")||t.message?.includes("denied")?U("Location permission is required. Please enable location access in your device settings."):t.message?.includes("timeout")?U("Location request timed out. Please try again."):U("Unable to retrieve your location. Please try again."))}}catch(t){console.warn("Capacitor Geolocation not available, falling back to web geolocation")}if(!navigator.geolocation)return F(!1),void U("Geolocation is not supported by this browser.");const t={enableHighAccuracy:i.validation?.enableHighAccuracy??!0,timeout:i.validation?.timeout??1e4,maximumAge:i.validation?.maximumAge??3e5};navigator.geolocation.getCurrentPosition(async t=>{const e=t.coords.latitude,A=t.coords.longitude;T({lat:e,lng:A,isCurrentLocation:!0}),I({lat:e,lng:A}),S(!0),await Y(e,A,{accuracy:t.coords.accuracy,timestamp:t.timestamp}),F(!1),U("")},t=>{F(!1);let e="Unable to retrieve your location.";switch(t.code){case t.PERMISSION_DENIED:e="Location access denied by user. Please enable location access in your browser/device settings.";break;case t.POSITION_UNAVAILABLE:e="Location information is unavailable.";break;case t.TIMEOUT:e="Location request timed out. Please try again."}U(e)},t)},[l,c,i,Y]),$=r(()=>{if(!l&&!c&&(C(null),T(null),U(""),S(!0),m)){m({id:t,value:null,isValid:!0,errors:{}})}},[l,c,t,m]),Z=r(()=>{l||c||L(!N)},[l,c,N]),tt=r((t,e,A,r,n,i)=>{const s=t-n/2,a=e-i/2,o=156543.03392*Math.cos(A.lat*Math.PI/180)/Math.pow(2,r),l=s*o,c=a*o;return{lat:A.lat+c/111320,lng:A.lng+l/(111320*Math.cos(A.lat*Math.PI/180))}},[]),At=r(t=>{l||c||!R.current||0===t.button&&(V(!0),G({x:t.clientX,y:t.clientY}),t.preventDefault())},[l,c]),rt=r(t=>{if(!K||!z||!R.current)return;const e=t.clientX-z.x,A=t.clientY-z.y,r=156543.03392*Math.cos(_.lat*Math.PI/180)/Math.pow(2,H),n=-A*r/111320,i=e*r/(111320*Math.cos(_.lat*Math.PI/180));I({lat:_.lat+n,lng:_.lng+i}),G({x:t.clientX,y:t.clientY})},[K,z,_,H]),nt=r(async t=>{if(!R.current)return;if(K&&z){const e=Math.abs(t.clientX-z.x),A=Math.abs(t.clientY-z.y);if(e>5||A>5)return V(!1),void G(null)}if(l||c)return V(!1),void G(null);const e=R.current.getBoundingClientRect(),A=t.clientX-e.left,r=t.clientY-e.top,{lat:n,lng:i}=tt(A,r,_,H,e.width,e.height);await Y(n,i),V(!1),G(null)},[l,c,R,_,H,tt,Y,K,z]),at=r(async e=>{if(e.trim()&&!l&&!c){j(!0),U("");try{const A=await fetch(`https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(e)}&limit=5&addressdetails=1`),r=await A.json();if(r&&r.length>0){const e=r[0],A=parseFloat(e.lat),n=parseFloat(e.lon),i=e.address||{},s={latitude:A,longitude:n,address:e.display_name,placeName:e.display_name,city:i.city||i.town||i.village||i.municipality||"",country:i.country||"",timestamp:Date.now()};if(C(s),T({lat:A,lng:n,isCurrentLocation:!1}),I({lat:A,lng:n}),S(!0),m){m({id:t,value:s,isValid:!0,errors:{}})}}else U("No locations found for your search.")}catch(t){U("Failed to search for location. Please try again.")}finally{j(!1)}}},[l,c,t,m]),ot=()=>{B&&B()},lt=()=>{S(!0),w&&w()},ct=c||l||i?.validation?.readonly,ut=i?.basic?.label||"Location",ht=i?.basic?.description||"";return et.jsxs("div",{className:`form-group ${i.basic?.horizontalView?"horizontal-view":"vertical-view"} ${b?"no-label":""} ${y}`,children:[!b&&et.jsxs("label",{htmlFor:t,className:"form-label",children:[ut,i?.validation?.required&&et.jsx("span",{className:"required-indicator",children:"*"})]}),ht&&et.jsx("div",{className:"form-group-description",children:ht}),et.jsxs("div",{className:"location-wrapper",children:[!(l&&v)&&et.jsxs("div",{className:"location-controls",children:[et.jsx("button",{type:"button",className:"location-btn "+(x?"loading":""),onClick:J,disabled:ct||x,onFocus:ot,onBlur:lt,tabIndex:ct?-1:0,children:x?et.jsxs(et.Fragment,{children:[et.jsx(d,{size:16,className:"loading-spinner"}),"Getting Location..."]}):et.jsxs(et.Fragment,{children:[et.jsx(f,{size:16}),"Get Current Location"]})}),et.jsxs("button",{type:"button",className:"location-btn secondary",onClick:Z,disabled:ct,onFocus:ot,onBlur:lt,tabIndex:ct?-1:0,children:[et.jsx(p,{size:16}),N?"Hide Map":"Choose on Map"]})]}),v&&et.jsxs("div",{className:"location-display",children:[!l&&et.jsx("button",{type:"button",className:"location-clear-btn",onClick:$,disabled:ct,title:"Clear location",children:et.jsx(a,{size:16})}),v.placeName&&et.jsxs("div",{className:"location-place-name",children:[et.jsx("strong",{children:"Place:"})," ",v.placeName]}),(v.city||v.country)&&et.jsxs("div",{className:"location-address",children:[et.jsx("strong",{children:"Address:"})," ",[v.city,v.country].filter(Boolean).join(", ")]}),et.jsxs("div",{className:"location-coordinates",children:[et.jsx("strong",{children:"Coordinates:"})," ",(ft=v.latitude,pt=v.longitude,void 0===ft||void 0===pt||isNaN(ft)||isNaN(pt)?"":`${Number(ft).toFixed(6)}, ${Number(pt).toFixed(6)}`)]}),v.accuracy&&et.jsxs("div",{className:"location-accuracy",children:[et.jsx("strong",{children:"Accuracy:"})," ",(dt=v.accuracy,dt?`±${Math.round(dt)}m`:"")]}),v.timestamp&&et.jsxs("div",{className:"location-timestamp",children:[et.jsx("strong",{children:"Captured:"})," ",(st(v.timestamp)||new Date).toLocaleString()]})]}),N&&!l&&et.jsxs("div",{className:"location-map-container",children:[et.jsxs("div",{className:"location-map-header",children:[et.jsx("h4",{children:"Select Location on Map"}),et.jsx("p",{children:"Search for a place or click on the map to select a location"})]}),et.jsx("div",{className:"location-search",children:et.jsx("form",{onSubmit:t=>{t.preventDefault(),P.trim()&&at(P)},className:"search-form",children:et.jsxs("div",{className:"search-input-group",children:[et.jsx("input",{type:"text",value:P,onChange:t=>{D(t.target.value)},placeholder:"Search for a place (e.g., New York, Paris, Tokyo)",className:"search-input",disabled:ct||M}),et.jsx("button",{type:"submit",className:"search-btn",disabled:ct||M||!P.trim(),children:M?et.jsx(d,{size:16,className:"loading-spinner"}):"Search"})]})})}),et.jsxs("div",{ref:R,className:"location-map "+(K?"dragging":""),onMouseDown:At,onMouseMove:rt,onMouseUp:nt,onMouseLeave:()=>{V(!1),G(null)},style:{position:"relative",height:"400px",border:"2px solid var(--df-color-fb-border)",borderRadius:"8px",overflow:"hidden",cursor:K?"grabbing":"grab",background:`url(https://tile.openstreetmap.org/${H}/${Math.floor((_.lng+180)/360*Math.pow(2,H))}/${Math.floor((1-Math.log(Math.tan(_.lat*Math.PI/180)+1/Math.cos(_.lat*Math.PI/180))/Math.PI)/2*Math.pow(2,H))}.png) center/cover no-repeat`,userSelect:"none"},children:[k&&et.jsx("div",{className:"map-marker "+(k.isCurrentLocation?"current-location":"selected-location"),style:{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -100%)",zIndex:10},children:et.jsx(p,{size:24})}),et.jsx("div",{className:"map-center-indicator",style:{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"4px",height:"4px",backgroundColor:"var(--df-color-primary)",borderRadius:"50%",zIndex:5}}),et.jsxs("div",{className:"map-controls",children:[et.jsx("button",{type:"button",className:"map-zoom-btn",onClick:()=>O(t=>Math.min(18,t+1)),disabled:H>=18,children:"+"}),et.jsx("button",{type:"button",className:"map-zoom-btn",onClick:()=>O(t=>Math.max(1,t-1)),disabled:H<=1,children:"−"})]})]}),et.jsxs("div",{className:"location-map-instructions",children:[et.jsx("p",{children:et.jsx("strong",{children:"Instructions:"})}),et.jsxs("ul",{children:[et.jsx("li",{children:"Search for a place using the search box above"}),et.jsx("li",{children:"Click anywhere on the map to select a location"}),et.jsx("li",{children:"Drag the map to pan around"}),et.jsx("li",{children:"Use the zoom buttons (+/−) to zoom in/out"}),et.jsx("li",{children:'Use "Get Current Location" to automatically detect your position'})]})]}),q&&et.jsxs("div",{className:"location-loading",children:[et.jsx(d,{size:16,className:"loading-spinner"}),et.jsx("span",{children:"Loading address details..."})]})]}),Q&&et.jsx("div",{className:"location-error",children:Q})]}),et.jsx(it,{validationErrors:s,fieldId:t,touchedFields:u,formSubmitted:h,properties:i,localValidation:{isValid:!0,errors:{}},isTouched:E,mode:g})]});var dt,ft,pt},yt=({id:t,properties:e,className:A="",hideLabel:r=!1})=>{const n=e.styles?.level??e.basic.level??1,i=e.basic.label,s=()=>{const t={};return e?.styles?.fontSize&&(t.fontSize=e.styles.fontSize),e?.styles?.color&&(t.color=e.styles.color),t};return r?null:(()=>{const r={id:t,className:`form-heading h${n} ${e?.styles?.textAlign?`text-${e.styles.textAlign}`:""} ${A}`.trim(),style:s()};switch(n){case 1:default:return et.jsx("h1",{...r,children:i});case 2:return et.jsx("h2",{...r,children:i});case 3:return et.jsx("h3",{...r,children:i});case 4:return et.jsx("h4",{...r,children:i});case 5:return et.jsx("h5",{...r,children:i});case 6:return et.jsx("h6",{...r,children:i})}})()},bt=({id:t,properties:i,mode:s="preview",formValue:a,onValueChange:o,className:l="",hideLabel:c=!1})=>{const[u,h]=e(""),[d,f]=e(i.validation?.listStyle||"numbers"),[p,b]=e("#000000"),v=n(null),C=n(null),x=n(!1),F="edit"===s,Q=n({instructions:[],listStyle:"numbers",formValue:void 0}),U=n(s);A(()=>{let t=[],e="numbers";if(null!=a&&("object"==typeof a&&a.instructions?(Array.isArray(a.instructions)?t=a.instructions:"string"==typeof a.instructions&&(t=[a.instructions]),a.listStyle&&(e=a.listStyle)):Array.isArray(a)?t=a:"string"==typeof a&&(t=[a])),0===t.length&&i.basic?.value){const A=i.basic.value;A&&"object"==typeof A&&!Array.isArray(A)&&A.instructions?(Array.isArray(A.instructions)?t=A.instructions:"string"==typeof A.instructions&&(t=[A.instructions]),A.listStyle&&"string"==typeof A.listStyle&&(e=A.listStyle)):Array.isArray(A)?t=A:"string"==typeof A&&(t=[A])}0===t.length&&i.basic?.instructions&&(Array.isArray(i.basic.instructions)?t=i.basic.instructions:"string"==typeof i.basic.instructions&&(t=[i.basic.instructions])),e&&"numbers"!==e||(e=i.validation?.listStyle||i.basic?.value?.listStyle||"numbers");const A=JSON.stringify(t)!==JSON.stringify(Q.current.instructions)||e!==Q.current.listStyle,r=s!==U.current,n=JSON.stringify(a)!==JSON.stringify(Q.current.formValue),o=!Q.current.formValue||Array.isArray(Q.current.formValue)&&0===Q.current.formValue.length||"string"==typeof Q.current.formValue&&""===Q.current.formValue.trim(),l=null!=a&&(Array.isArray(a)&&a.length>0||"string"==typeof a&&""!==a.trim()||"object"==typeof a&&Object.keys(a).length>0);if(A||r||n||o&&l){const n=t=>"string"!=typeof t?t:t.replace(/\\u([0-9a-fA-F]{4})/g,(t,e)=>String.fromCharCode(parseInt(e,16))),i=t.map(t=>"string"==typeof t?n(t):t),o=i.some(t=>"string"==typeof t&&/<[^>]+>/.test(t));let l="";if(i.length>0)if(o)l=i.join("");else{const t="numbers"===e?"ol":"bullets"===e?"ul":"div",A=i.filter(t=>t&&"string"==typeof t).map(t=>`<li>${t.replace(/\n/g,"<br>")}</li>`).join("");l="div"===t?i.filter(t=>t&&"string"==typeof t).map(t=>`<div>${t.replace(/\n/g,"<br>")}</div>`).join(""):`<${t}>${A}</${t}>`}f(e),h(l),F&&v.current&&(r||A&&v.current.innerHTML.trim()!==l.trim())&&(v.current.innerHTML=l),Q.current={instructions:t,listStyle:e,formValue:a},U.current=s}},[a,i.basic?.instructions,i.validation?.listStyle,s,F]),A(()=>{if(F&&v.current){const t=v.current.innerHTML.trim();u.trim()===t||x.current||(v.current.innerHTML=u)}if(x.current){const t=setTimeout(()=>{x.current=!1},200);return()=>clearTimeout(t)}},[u,F]);const E=r(()=>{if(!v.current)return;x.current=!0;const e=v.current.innerHTML.trim();if(o){o({id:t,value:{instructions:e?[e]:[],listStyle:d},isValid:!0,errors:{}})}e!==u&&h(e)},[t,d,o,u]),S=r(()=>{if(!v.current)return;const e=v.current.innerHTML.trim();if(o){o({id:t,value:{instructions:e?[e]:[],listStyle:d},isValid:!0,errors:{}})}h(e),x.current=!1},[t,d,o]),N=r((t,e)=>{document.execCommand(t,!1,e),v.current?.focus(),E()},[E]),L=r(()=>{N("bold")},[N]),_=r(()=>{N("italic")},[N]),I=r(t=>{const e=t.target.value;b(e),N("foreColor",e)},[N]),k=r(e=>{if(f(e),!v.current)return;const A=window.getSelection(),r=A&&A.rangeCount>0?A.getRangeAt(0):null;let n=v.current.innerHTML;if("numbers"===e){if(n=n.replace(/<ul>/gi,"<ol>").replace(/<\/ul>/gi,"</ol>"),!n.includes("<ol>")&&!n.includes("<ul>")){const t=n.split(/<br\s*\/?>/i).filter(t=>t.trim());t.length>0&&(n="<ol>"+t.map(t=>`<li>${t}</li>`).join("")+"</ol>")}}else if("bullets"===e){if(n=n.replace(/<ol>/gi,"<ul>").replace(/<\/ol>/gi,"</ul>"),!n.includes("<ol>")&&!n.includes("<ul>")){const t=n.split(/<br\s*\/?>/i).filter(t=>t.trim());t.length>0&&(n="<ul>"+t.map(t=>`<li>${t}</li>`).join("")+"</ul>")}}else n=n.replace(/<\/?[ou]l>/gi,"").replace(/<li>/gi,"<div>").replace(/<\/li>/gi,"</div>");if(v.current.innerHTML=n,h(n),r&&A)try{A.removeAllRanges(),A.addRange(r)}catch(t){}if(E(),o){o({id:t,value:{instructions:n?[n]:[],listStyle:e},isValid:!0,errors:{}})}},[t,E,o]),T=r(t=>{const e=t.target.files?.[0];if(!e||!e.type.startsWith("image/"))return;const A=new FileReader;A.onload=t=>{const e=t.target?.result;if(e&&v.current){const t=document.createElement("img");t.src=e,t.style.maxWidth="100%",t.style.height="auto";const A=window.getSelection();if(A&&A.rangeCount>0){const e=A.getRangeAt(0);e.deleteContents(),e.insertNode(t)}else v.current.appendChild(t);E()}},A.readAsDataURL(e),C.current&&(C.current.value="")},[E]),H=r(t=>{t.preventDefault();const e=t.clipboardData.getData("text/plain"),A=window.getSelection();if(A&&A.rangeCount>0){const t=A.getRangeAt(0);t.deleteContents();const r=document.createTextNode(e);t.insertNode(r),t.setStartAfter(r),t.collapse(!0),A.removeAllRanges(),A.addRange(t)}E()},[E]),O=r(t=>document.queryCommandState(t),[]);return et.jsxs("div",{className:`form-group instruction-group ${l}`,children:[!c&&et.jsx("label",{htmlFor:t,className:"instruction-label",children:"Instructions"}),F?et.jsxs("div",{className:"instruction-rich-editor",children:[et.jsxs("div",{className:"instruction-toolbar",children:[et.jsxs("div",{className:"toolbar-group",children:[et.jsx("button",{type:"button",className:"toolbar-btn "+(O("bold")?"active":""),onClick:L,title:"Bold","aria-label":"Bold",children:et.jsx(g,{size:16})}),et.jsx("button",{type:"button",className:"toolbar-btn "+(O("italic")?"active":""),onClick:_,title:"Italic","aria-label":"Italic",children:et.jsx(m,{size:16})})]}),et.jsx("div",{className:"toolbar-separator"}),et.jsx("div",{className:"toolbar-group",children:et.jsxs("div",{className:"color-picker-wrapper",children:[et.jsx("input",{type:"color",value:p,onChange:I,className:"color-picker-input",title:"Text Color"}),et.jsx("label",{className:"color-picker-label",title:"Text Color",children:et.jsx("span",{style:{color:p},children:"A"})})]})}),et.jsx("div",{className:"toolbar-separator"}),et.jsxs("div",{className:"toolbar-group",children:[et.jsx("button",{type:"button",className:"toolbar-btn "+("bullets"===d?"active":""),onClick:()=>k("bullets"),title:"Bullet List","aria-label":"Bullet List",children:et.jsx(w,{size:16})}),et.jsx("button",{type:"button",className:"toolbar-btn "+("numbers"===d?"active":""),onClick:()=>k("numbers"),title:"Numbered List","aria-label":"Numbered List",children:et.jsx(B,{size:16})})]}),et.jsx("div",{className:"toolbar-separator"}),et.jsxs("div",{className:"toolbar-group",children:[et.jsx("button",{type:"button",className:"toolbar-btn",onClick:()=>C.current?.click(),title:"Insert Image","aria-label":"Insert Image",children:et.jsx(y,{size:16})}),et.jsx("input",{ref:C,type:"file",accept:"image/*",onChange:T,style:{display:"none"}})]})]}),et.jsx("div",{ref:v,contentEditable:!0,className:"instruction-editor-content",onInput:E,onBlur:S,onPaste:H,"data-placeholder":"Enter instructions (press Enter for a new line)...",suppressContentEditableWarning:!0})]}):et.jsx("div",{className:"instruction-preview-wrapper "+("numbers"===d?"instruction-list-numbers":"bullets"===d?"instruction-list-bullets":""),children:u?et.jsx("div",{className:"instruction-preview-content",dangerouslySetInnerHTML:{__html:u}}):et.jsx("div",{className:"instruction-empty",children:et.jsx("p",{children:"No instructions provided"})})})]})},vt=({attachments:t,onRemove:r})=>{const[n,i]=e(new Map);return A(()=>{if(!t)return void i(t=>(t.forEach(t=>URL.revokeObjectURL(t)),new Map));const e=new Map;return t.forEach((t,A)=>{if((t instanceof Blob||"undefined"!=typeof File&&t instanceof File)&&t&&t.type&&"string"==typeof t.type&&t.type.startsWith("image/"))try{const r=URL.createObjectURL(t);e.set(A,r)}catch(t){console.warn("Failed to create object URL for attachment:",t)}else t&&t.url&&t.type&&t.type.startsWith("image/")&&e.set(A,t.url)}),i(t=>(t.forEach((t,A)=>{e.has(A)||URL.revokeObjectURL(t)}),e)),()=>{e.forEach(t=>URL.revokeObjectURL(t))}},[t]),t&&0!==t.length?et.jsx("div",{className:"attachment-thumbnails-container",children:t.map((t,e)=>{const A=t&&t.type&&"string"==typeof t.type&&t.type.startsWith("image/"),i=n.get(e);return et.jsx("div",{className:"attachment-thumbnail",children:A&&i?et.jsxs(et.Fragment,{children:[et.jsx("img",{src:i,alt:t?t.name:"Attachment"}),et.jsx("button",{type:"button",className:"thumbnail-remove-btn",onClick:()=>r(e),title:"Remove attachment",children:et.jsx(a,{size:14})})]}):et.jsxs(et.Fragment,{children:[et.jsx("div",{className:"file-icon-placeholder",children:et.jsx(h,{size:20})}),et.jsx("span",{className:"file-name",children:t?t.name:"Unknown File"}),et.jsx("button",{type:"button",className:"thumbnail-remove-btn",onClick:()=>r(e),title:"Remove attachment",children:et.jsx(a,{size:14})})]})},e)})}):null},Ct=({component:t,mode:i,formTemplateId:s,formValue:a,formData:o,onNotesChange:l,onAttachmentChange:u,notes:d="",attachments:f=null,onThresholdActionCompletion:p,onThresholdIssueRaised:g,onBasicPropertyActionCompletion:m,workOrderNumber:w,assetNumber:B,isStandalone:y,user:Q,onCreateIssue:U,onUpdateIssue:E})=>{const S=void 0!==a?a:o?o[t.id]:void 0,[N,L]=e(d||""),[_,I]=e(f||null),[k,T]=e(!1),[H,O]=e(!1),[P,D]=e(!1),[M,j]=e(!1),[R,K]=e(null),[V,z]=e(!1),G=n(null),q=n(S),W=n(!1),X=n(!1);A(()=>{d&&d!==N&&!W.current&&(L(d),W.current=!0)},[d,N]),A(()=>{f&&f!==_&&!X.current&&(I(f),X.current=!0)},[f,_]),A(()=>{if(W.current&&!k&&null!=d){const t="string"==typeof d?d:String(d||"");N&&""!==String(N||"").trim()||!t||""===t.trim()?t&&""!==t.trim()&&t!==N&&L(t):L(t)}},[d,k,N]),A(()=>{X.current&&void 0!==f&&(!_||f&&f.length>0&&f!==_)&&I(f)},[f,_]),A(()=>{const e=["select","radio","checkbox","segment"].includes(t.name||"");if(e){const e=q.current,A=S;let r=!1;if("checkbox"===t.name){const t=Array.isArray(e)?e:e?[e]:[],n=Array.isArray(A)?A:A?[A]:[];r=JSON.stringify(t.sort())!==JSON.stringify(n.sort())}else r=e!==A&&void 0!==e;r&&(D(!1),j(!1),K(null),O(!1),T(!1),z(!1),d&&""!==d.trim()||L(""),f&&0!==f.length||I(null)),q.current=A}e||(q.current=S)},[S,t.name,d,f]);const Y=r((t,e)=>{const{operator:A,value:r}=t,n=String(e).toLowerCase(),i=String(r).toLowerCase();switch(A){case"equals":return n===i||String(e)===String(r);case"notEquals":return n!==i&&String(e)!==String(r);case"greaterThan":return Number(e)>Number(r);case"lessThan":return Number(e)<Number(r);case"greaterThanOrEqual":return Number(e)>=Number(r);case"lessThanOrEqual":return Number(e)<=Number(r);default:return!1}},[]),J=r(()=>{if(!(null!=S&&""!==S&&!(Array.isArray(S)&&0===S.length)))return[];const e=t.condition;if(!e||!e.conditions||0===e.conditions.length)return[];const A=[];if("checkbox"===t.name&&Array.isArray(S))S.forEach(t=>{const r=e.conditions.find(e=>Y(e,t));r&&!A.find(t=>t.id===r.id)&&A.push(r)});else{const t=e.conditions.find(t=>Y(t,S));t&&A.push(t)}return A},[t,S,Y]),$=r(e=>{const A=e.target.value;L(A),l&&l(A);const r=J(),n=A.trim().length>0;r.forEach(t=>{!0===t.enableNotes&&p&&p(t.id,"notes",n)});const i=t.condition;!(i&&i.conditions&&i.conditions.length>0)&&m&&m("notes",n)},[l,J,p,t,m]),Z=r(()=>{if(l){const t="string"==typeof N?N:String(N||"");l(t),setTimeout(()=>{T(!1)},0)}else T(!1)},[N,l]),tt=r(()=>{Z()},[Z]),At=r(t=>{(t.ctrlKey||t.metaKey)&&"Enter"===t.key&&(t.preventDefault(),Z())},[Z]),rt=r(()=>{T(!0)},[]),nt=r(()=>{T(!0)},[]),it=r(()=>{G.current?.click()},[]),st=r(e=>{const A=e.target.files;if(A&&A.length>0){const e=Array.from(A);I(e),u&&u(e);J().forEach(t=>{!0===t.enableAttachment&&p&&p(t.id,"attachments",!0)});const r=t.condition;!(r&&r.conditions&&r.conditions.length>0)&&m&&m("attachments",!0)}G.current&&(G.current.value="")},[u,J,p,t,m]),at=r(e=>{if(_){const A=_.filter((t,A)=>A!==e);if(0===A.length){I(null),u&&u(null);J().forEach(t=>{!0===t.enableAttachment&&p&&p(t.id,"attachments",!1)});const e=t.condition;!(e&&e.conditions&&e.conditions.length>0)&&m&&m("attachments",!1)}else I(A),u&&u(A)}},[_,u,J,p,t,m]),lt=r(()=>{D(!0);J().forEach(t=>{!0===t.enableSendEmail&&p&&p(t.id,"email",!0)});const e=t.condition;!(e&&e.conditions&&e.conditions.length>0)&&m&&m("email",!0),setTimeout(()=>{D(!1)},3e3)},[J,p,t,m]),ct=r(()=>{M||O(!0)},[M]),ut=r(()=>{O(!1)},[]),ht=r(e=>{O(!1),j(!0),e&&K(e);const A=t.condition;if(A&&A.conditions&&A.conditions.length>0){J().forEach(t=>{!0===t.enableRaiseIssue&&g&&g(t.id)})}else m&&m("issue",!0)},[t,m,J,g]);if("test"!==i)return null;const dt=["select","radio","checkbox","segment"].includes(t.name||""),ft=t.basic?.options||t.options||[];let pt=!1,gt=!1,mt=!1,wt=!1,Bt=null;const yt=null!=S&&""!==S&&!(Array.isArray(S)&&0===S.length),bt=t.condition,Ct=bt&&bt.conditions&&bt.conditions.length>0;if(Ct&&yt)if("checkbox"===t.name&&Array.isArray(S)){const t=S;for(const e of t){const t=bt.conditions.find(t=>Y(t,e));t&&(pt=pt||!0===t.enableNotes,gt=gt||!0===t.enableAttachment,mt=mt||!0===t.enableRaiseIssue,wt=wt||!0===t.enableSendEmail)}}else if(dt){const t=bt.conditions.find(t=>Y(t,S));t&&(pt=!0===t.enableNotes,gt=!0===t.enableAttachment,mt=!0===t.enableRaiseIssue,wt=!0===t.enableSendEmail)}else{const t=bt.conditions.find(t=>Y(t,S));t&&(pt=!0===t.enableNotes,gt=!0===t.enableAttachment,mt=!0===t.enableRaiseIssue,wt=!0===t.enableSendEmail)}if(!Ct){const e=t.basic,A=!0===e?.enableNotes,r=!0===e?.enableAttachment,n=!0===e?.enableRaiseIssue,i=!0===e?.enableSendEmail;if(dt)if(yt)if("checkbox"===t.name){(Array.isArray(S)?S:[S]).forEach(t=>{const e=ft.find(e=>!(!e||!e.value)&&(e.value===t||(String(e.value)===String(t)||(e.label===t||String(e.label)===String(t)))));e&&(pt=pt||!0===e.enableNotes,gt=gt||!0===e.enableAttachment,mt=mt||!0===e.enableRaiseIssue,wt=wt||!0===e.enableSendEmail,Bt||(Bt=e))}),pt=pt||A,gt=gt||r,mt=mt||n,wt=wt||i}else if(Bt=ft.find(t=>!(!t||!t.value)&&(t.value===S||(String(t.value)===String(S)||(t.label===S||String(t.label)===String(S))))),Bt){const t=!0===Bt.enableNotes,e=!0===Bt.enableAttachment,s=!0===Bt.enableRaiseIssue,a=!0===Bt.enableSendEmail;pt=t||A,gt=e||r,mt=s||n,wt=a||i}else pt=A,gt=r,mt=n,wt=i;else pt=A,gt=r,mt=n,wt=i;else pt=A,gt=r,mt=n,wt=i}if(!(pt||gt||mt||wt))return null;const xt=J(),Ft=t.condition,Qt=Ft&&Ft.conditions&&Ft.conditions.length>0,Ut=!!Qt&&xt.some(t=>!0===t.enableNotes),Et=!!Qt&&xt.some(t=>!0===t.enableAttachment),St=!!Qt&&xt.some(t=>!0===t.enableSendEmail),Nt=!!Qt&&xt.some(t=>!0===t.enableRaiseIssue),Lt=N.trim().length>0,_t=_&&_.length>0,It=_?_.length:0;return et.jsxs(et.Fragment,{children:[et.jsxs("div",{className:"component-action-features",children:[et.jsxs("div",{className:"action-icons-toolbar",children:[pt&&et.jsxs("button",{type:"button",className:`action-icon-button ${Lt?"active":""} ${Ut?"mandatory":""}`,onClick:rt,title:"Add Notes",children:[et.jsx(c,{size:14,fill:Lt?"currentColor":"none"}),Ut&&et.jsx("span",{className:"mandatory-indicator",children:"*"})]}),gt&&et.jsxs("button",{type:"button",className:`action-icon-button ${_t?"active":""} ${Et?"mandatory":""}`,onClick:it,title:"Add Attachment",children:[et.jsx(h,{size:14,fill:_t?"currentColor":"none"}),It>0&&et.jsx("span",{className:"attachment-count-badge",children:It}),Et&&et.jsx("span",{className:"mandatory-indicator",children:"*"})]}),wt&&et.jsxs("button",{type:"button",className:`action-icon-button ${P?"active sent":""} ${St?"mandatory":""}`,onClick:lt,disabled:P,title:"Send Email",children:[P?et.jsx(et.Fragment,{children:et.jsx(b,{size:14})}):et.jsx(v,{size:14,fill:P?"currentColor":"none"}),St&&et.jsx("span",{className:"mandatory-indicator",children:"*"})]}),mt&&et.jsxs("button",{type:"button",className:`action-icon-button ${M?"active":""} ${Nt?"mandatory":""}`,onClick:ct,title:"Raise an Issue",children:[et.jsx(C,{size:14,fill:M?"currentColor":"none"}),Nt&&et.jsx("span",{className:"mandatory-indicator",children:"*"})]}),(Lt&&pt||_t&>)&&et.jsx("button",{type:"button",className:"action-icon-button accordion-toggle",onClick:()=>z(!V),title:V?"Collapse":"Expand",children:V?et.jsx(x,{size:14}):et.jsx(F,{size:14})})]}),k&&pt&&et.jsxs("div",{className:"notes-input-overlay",children:[et.jsx("textarea",{className:"action-notes-textarea",value:N,onChange:$,onBlur:tt,onKeyDown:At,placeholder:"Explain which protocols were not followed (Press Ctrl+Enter to save)",rows:4,autoFocus:!0}),et.jsxs("div",{className:"notes-input-actions",children:[et.jsx("button",{type:"button",className:"notes-save-button",onClick:Z,title:"Save notes (Ctrl+Enter)",children:"Save"}),et.jsx("button",{type:"button",className:"notes-cancel-button",onClick:()=>{T(!1)},title:"Cancel",children:"Cancel"})]})]}),V&&et.jsxs("div",{className:"actions-content",children:[!k&&Lt&&pt&&et.jsx("div",{className:"notes-summary-section",children:et.jsxs("div",{className:"notes-full-text",onClick:nt,children:[et.jsx("span",{className:"notes-label",children:"Notes:"})," ",N]})}),_t&>&&et.jsx("div",{className:"attachments-section",children:et.jsx(vt,{attachments:_,onRemove:at})})]}),gt&&et.jsx("input",{ref:G,type:"file",multiple:!0,accept:"image/*,.pdf",onChange:st,style:{display:"none"}})]}),H&&et.jsx(ot,{isOpen:H,onClose:ut,onSuccess:ht,issue:R,component:(()=>{const e=null!=S?Array.isArray(S)?S.join(", "):String(S):t.basic?.value||"",A={...t,basic:{...t.basic||{},value:e}};return Bt&&(A.basic.label=`${t.basic?.label||"Component"} - ${Bt.label||Bt.value}`,A.basic.value=Bt.value||e),A})(),formTemplateId:s||"",notes:N,attachments:_,isStandalone:y,workOrderNumber:w,assetNumber:B,user:Q,onCreateIssue:U,onUpdateIssue:E})]})},xt=({attachments:t})=>t&&0!==t.length?et.jsx("div",{className:"attachment-thumbnails-container",children:t.map((t,e)=>{const A=t.type?.startsWith("image/")||!1,r=A?(t=>t.data?t.data.startsWith("data:")?t.data:`data:${t.type||"image/png"};base64,${t.data}`:"")(t):"";return et.jsx("div",{className:"attachment-thumbnail",children:A&&r?et.jsx("img",{src:r,alt:t.name||`Attachment ${e+1}`}):et.jsxs("div",{className:"file-icon-placeholder",children:[et.jsx(h,{size:20}),et.jsx("span",{className:"file-name",children:t.name||`File ${e+1}`})]})},e)})}):null,Ft=({component:t})=>{const e=t.basic?.notes||"",A=t.basic?.attachments||[],r=e&&e.trim().length>0,n=A&&A.length>0;return r||n?et.jsx("div",{className:"component-submission-actions",children:et.jsxs("div",{className:"actions-content",children:[r&&et.jsx("div",{className:"notes-summary-section",children:et.jsxs("div",{className:"notes-full-text",children:[et.jsx("span",{className:"notes-label",children:"Notes:"})," ",e]})}),n&&et.jsx("div",{className:"attachments-section",children:et.jsx(xt,{attachments:A})})]})}):null},Qt=({component:t,selectedComponent:e,mode:A,onComponentSelect:r,onComponentDelete:n,onComponentEdit:i,renderFormComponent:s,isOverlay:a=!1,formData:o={},formTemplateId:l,onThresholdActionCompletion:c,onThresholdIssueRaised:u,onNotesChange:h,onAttachmentChange:d,shouldShowComponent:f})=>{const p=o[t.id],g=!f||f(t.id),m="preview"===A&&(t.basic?.notes&&t.basic.notes.trim().length>0||t.basic?.attachments&&Array.isArray(t.basic.attachments)&&t.basic.attachments.length>0),{attributes:w,listeners:B,setNodeRef:y,transform:b,transition:v,isDragging:C,isSorting:x}=V({id:t.id,disabled:a}),F={transform:z.Transform.toString(b),transition:v,opacity:C?.3:1,zIndex:C?1e3:"auto"};return et.jsxs("div",{ref:y,style:{...F,border:e?.id===t.id?"2px solid #3b82f6":"1px solid var(--df-color-fb-border)",borderRadius:"8px",backgroundColor:"var(--df-color-fb-container)",padding:"12px",position:"relative",minHeight:"80px",transition:"all 0.2s ease",boxShadow:e?.id===t.id?"0 4px 12px rgba(59, 130, 246, 0.15)":"0 1px 3px rgba(0, 0, 0, 0.1)",cursor:"pointer"},className:`form-component grid-component ${e?.id===t.id?"selected":""} ${C?"dragging":""} ${x?"sorting":""} ${g||"edit"===A?"":"conditionally-hidden"}`,onClick:()=>!C&&r(t),role:"button",tabIndex:0,children:["edit"===A&&et.jsx("div",{className:"component-drag-handle",...B,...w,onClick:t=>t.stopPropagation(),style:{position:"absolute",top:"50%",left:"4px",transform:"translateY(-50%)",padding:"4px",backgroundColor:"#f3f4f6",borderRadius:"4px",cursor:"grab",opacity:1,zIndex:10,display:"flex",alignItems:"center",justifyContent:"center"},children:et.jsx(E,{size:12,color:"var(--df-color-text-light)"})}),et.jsxs("div",{className:"component-content",style:{paddingTop:"edit"===A?"24px":"0",paddingLeft:"edit"===A?"28px":"0",minHeight:"60px"},children:[s(t),"test"===A&&!["section","table","heading","file","instructions","signature","location","datagrid"].includes(t.name)&&et.jsx(Ct,{component:t,mode:"test",formTemplateId:l,formValue:p,formData:o,onThresholdActionCompletion:c,onThresholdIssueRaised:u,onNotesChange:h?e=>h(t.id,e):void 0,onAttachmentChange:d?e=>d(t.id,e):void 0}),m&&et.jsx(Ft,{component:t})]}),"edit"===A&&et.jsxs("div",{className:"component-actions",style:{position:"absolute",top:"4px",right:"4px",display:"flex",gap:"4px",opacity:1,zIndex:10},children:[i&&et.jsx("button",{className:"component-edit-btn",onClick:e=>{e.stopPropagation(),i(t)},type:"button",title:"Edit Component",style:{padding:"4px",backgroundColor:"#3b82f6",color:"#ffffff",border:"none",borderRadius:"4px",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.2s ease"},onMouseEnter:t=>{t.currentTarget.style.backgroundColor="#2563eb"},onMouseLeave:t=>{t.currentTarget.style.backgroundColor="#3b82f6"},children:et.jsx(S,{size:12})}),et.jsx("button",{className:"component-delete-btn",onClick:e=>{e.stopPropagation(),n(t,e)},type:"button",title:"Delete Component",style:{padding:"4px",backgroundColor:"#ef4444",color:"#ffffff",border:"none",borderRadius:"4px",cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:"all 0.2s ease"},onMouseEnter:t=>{t.currentTarget.style.backgroundColor="#dc2626"},onMouseLeave:t=>{t.currentTarget.style.backgroundColor="#ef4444"},children:et.jsx(N,{size:12})})]})]})},Ut=({gridComponents:t,mode:e,onComponentSelect:A,onComponentDelete:r,onComponentEdit:n,onComponentUpdate:i,selectedComponent:s,renderFormComponent:a,gridId:o,formData:l,formTemplateId:c,onThresholdActionCompletion:u,onThresholdIssueRaised:h,onNotesChange:d,onAttachmentChange:f,columnView:p,shouldShowComponent:g})=>{const{setNodeRef:m,isOver:w}=k({id:`grid-drop-zone-${o}`,disabled:"edit"!==e,data:{isGridDropZone:!0,gridId:o}}),B=T(H(O,{activationConstraint:{distance:8}}),H(P,{coordinateGetter:M}));return et.jsx("div",{ref:m,className:"grid-drop-zone "+(0===t.length?"empty":""),style:{border:w?"2px dashed #3b82f6":"1px dashed #d1d5db",borderRadius:"8px",padding:"16px",backgroundColor:w?"var(--df-color-primary-light)":"#f9fafb",minHeight:"100px",transition:"all 0.2s ease"},children:0===t.length?et.jsxs("div",{style:{textAlign:"center",color:"var(--df-color-text-light)",fontSize:"14px",padding:"40px 20px",display:"flex",flexDirection:"column",alignItems:"center",gap:"8px",backgroundColor:"var(--df-color-fb-container)",border:"1px dashed var(--df-color-fb-border)",borderRadius:"8px"},children:[et.jsx("div",{style:{fontWeight:"500",color:w?"var(--df-color-primary)":"var(--df-color-text-dark)"},children:w?"Drop components here":"Empty DataGrid"}),et.jsx("div",{style:{fontSize:"12px",color:"#9ca3af"},children:"Drag and drop components here to create your grid"})]}):et.jsxs(D,{sensors:B,onDragEnd:e=>{const{active:A,over:r}=e;r&&A.id!==r.id&&(t.findIndex(t=>t.id===A.id),t.findIndex(t=>t.id===r.id))},children:[et.jsx(j,{items:t.map(t=>t.id),strategy:p?R:K,children:et.jsx("div",{style:{display:"flex",flexDirection:p?"column":"row",flexWrap:"nowrap",gap:"12px",alignItems:p?"stretch":"start",marginBottom:t.length>0?"12px":"0",overflowX:p?"visible":"auto",width:"100%"},children:t.map(t=>et.jsx("div",{style:{flex:"1 1 0",minWidth:p?"100%":"200px",maxWidth:"100%"},children:et.jsx(Qt,{component:t,selectedComponent:s,mode:e,onComponentSelect:A,onComponentDelete:r,onComponentEdit:n,onComponentUpdate:i,renderFormComponent:a,formData:l,formTemplateId:c,onThresholdActionCompletion:u,onThresholdIssueRaised:h,onNotesChange:d,onAttachmentChange:f,shouldShowComponent:g})},t.id))})}),et.jsx("div",{style:{border:w?"2px dashed #3b82f6":"1px dashed var(--df-color-fb-border)",borderRadius:"6px",padding:"12px",backgroundColor:w?"var(--df-color-primary-light)":"var(--df-color-fb-container)",textAlign:"center",color:"var(--df-color-text-light)",fontSize:"12px",transition:"all 0.2s ease",minHeight:"40px",display:"flex",alignItems:"center",justifyContent:"center",marginTop:"12px"},children:w?et.jsx("span",{style:{color:"#3b82f6",fontWeight:"500"},children:"Drop component here to add to grid"}):et.jsx("span",{children:"+ Drop more components here"})})]})})},Et=({templateComponents:e,dataEntries:A,renderFormComponent:r,mode:n,allowAddRemoveEntries:i,addAnotherText:s,removeText:a,maxEntries:o,minEntries:l,displayAsGrid:c=!0,onAddEntry:u,onRemoveEntry:h,formData:d,formTemplateId:f,onThresholdActionCompletion:p,onThresholdIssueRaised:g,onNotesChange:m,onAttachmentChange:w,columnView:B,shouldShowComponent:y})=>{const b=d||{},v=t.useMemo(()=>y?e.filter(t=>y(t.id)):e,[e,y]);return 0===v.length?et.jsx("div",{style:{textAlign:"center",padding:"40px",color:"var(--df-color-text-light)",border:"1px dashed #d1d5db",borderRadius:"8px",backgroundColor:"var(--df-color-fb-container)"},children:0===e.length?`No components defined. Add components to see the ${c?"table":"list"} view.`:"All components are hidden."}):c?et.jsxs("div",{className:"datagrid-table-view",style:{border:"1px solid var(--df-color-fb-border)",borderRadius:"8px",overflow:"hidden",backgroundColor:"var(--df-color-fb-container)",maxWidth:"100%"},children:[et.jsx("div",{style:{position:"absolute",top:"8px",right:"8px",zIndex:10,fontSize:"12px",color:"var(--df-color-text-light)",backgroundColor:"var(--df-color-fb-container)",padding:"4px 8px",borderRadius:"4px",border:"1px solid var(--df-color-fb-border)",opacity:v.length>4&&!B?1:0,transition:"opacity 0.2s ease"},children:"← Scroll →"}),et.jsxs("div",{className:"table-scroll-container",style:{overflowX:B?"visible":"auto",overflowY:"hidden",maxWidth:"100%",scrollbarWidth:"thin",scrollbarColor:"var(--df-color-fb-border) var(--df-color-fb-icon-bg)",position:"relative"},children:[!B&&et.jsx("div",{className:"table-headers",style:{display:"grid",gridTemplateColumns:`repeat(${v.length}, minmax(150px, 1fr))`,backgroundColor:"var(--df-color-fb-container)",borderBottom:"2px solid var(--df-color-fb-border)",minWidth:150*v.length+"px"},children:v.map((t,e)=>et.jsx("div",{style:{padding:"12px 16px",fontWeight:"600",color:"var(--df-color-text-dark)",borderRight:e<v.length-1?"1px solid var(--df-color-fb-border)":"none",fontSize:"14px",minWidth:"150px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:t.basic?.label||`Column ${e+1}`},`header-${t.id}`))}),A.length>0?A.map((t,e)=>et.jsxs("div",{className:"table-row",style:{display:B?"flex":"grid",flexDirection:B?"column":"row",gridTemplateColumns:B?void 0:`repeat(${v.length}, minmax(150px, 1fr))`,borderBottom:e<A.length-1?"1px solid var(--df-color-fb-border)":"none",backgroundColor:e%2==0?"var(--df-color-fb-container)":"var(--df-color-fb-bg)",position:"relative",minWidth:B?"100%":150*v.length+"px",padding:B?"16px":"0"},children:[v.map((e,A)=>{let n=t.components?.[A];if(n)n={...n,id:n.id,basic:{...n.basic,showLabel:B}};else{const r=`${e.id}-${t.id}-${A}`;n={...e,id:r,basic:{...e.basic,showLabel:B}}}return et.jsx("div",{style:{padding:B?"12px 0":"12px 16px",borderRight:!B&&A<v.length-1?"1px solid var(--df-color-fb-border)":"none",borderBottom:B&&A<v.length-1?"1px dashed var(--df-color-fb-border)":"none",minHeight:B?"auto":"60px",minWidth:B?"100%":"150px",width:B?"100%":"auto",display:"flex",flexDirection:B?"column":"row",alignItems:B?"stretch":"center",overflow:"hidden",gap:B?"8px":"0"},children:et.jsx("div",{style:{width:"100%",minWidth:B?"100%":"120px",overflow:"hidden"},children:r(n,!B)})},`${t.id}-${A}`)}),"test"===n&&i&&A.length>l&&et.jsx("button",{onClick:()=>h(e),disabled:A.length<=l,style:{position:"absolute",top:"8px",right:"8px",padding:"4px 8px",backgroundColor:A.length<=l?"#f3f4f6":"#ef4444",color:A.length<=l?"#9ca3af":"#ffffff",border:"none",borderRadius:"4px",fontSize:"12px",fontWeight:"500",cursor:A.length<=l?"not-allowed":"pointer",display:"flex",alignItems:"center",gap:"4px",zIndex:10,minWidth:"24px",height:"24px",justifyContent:"center"},title:a,children:et.jsx("span",{style:{fontSize:"14px"},children:"×"})})]},t.id)):et.jsxs("div",{style:{padding:"40px",textAlign:"center",color:"var(--df-color-text-light)",backgroundColor:"var(--df-color-fb-container)",borderTop:"1px solid var(--df-color-fb-border)"},children:["No data entries. ","test"===n&&i?'Click "Add Another" to add entries.':"Use the properties panel to add entries."]})]}),"test"===n&&i&&et.jsx("div",{style:{padding:"16px",backgroundColor:"var(--df-color-fb-bg)",borderTop:"1px solid var(--df-color-fb-border)",display:"flex",justifyContent:"center",position:"sticky",bottom:0,zIndex:5},children:et.jsxs("button",{onClick:u,disabled:A.length>=o,style:{padding:"8px 16px",backgroundColor:A.length>=o?"#f3f4f6":"#10b981",color:A.length>=o?"#9ca3af":"#ffffff",border:"none",borderRadius:"6px",fontSize:"14px",fontWeight:"500",cursor:A.length>=o?"not-allowed":"pointer",display:"flex",alignItems:"center",gap:"6px"},children:[et.jsx("span",{style:{fontSize:"16px"},children:"+"}),s]})})]}):et.jsxs("div",{className:"datagrid-list-view",style:{display:"flex",flexDirection:"column",gap:"12px",backgroundColor:"var(--df-color-fb-container)"},children:[A.length>0?A.map((t,e)=>et.jsxs("div",{className:"list-entry",style:{border:"1px solid var(--df-color-fb-border)",borderRadius:"8px",padding:"16px",backgroundColor:"var(--df-color-fb-container)",position:"relative",transition:"all 0.2s ease"},children:[et.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"12px",paddingBottom:"8px",borderBottom:"1px solid var(--df-color-fb-border)"},children:[et.jsxs("span",{style:{fontWeight:"600",color:"var(--df-color-text-dark)",fontSize:"14px"},children:["Entry #",e+1]}),"test"===n&&i&&A.length>1&&et.jsx("button",{onClick:()=>h(e),disabled:A.length<=l,style:{padding:"4px 8px",backgroundColor:A.length<=l?"#f3f4f6":"#ef4444",color:A.length<=l?"#9ca3af":"#ffffff",border:"none",borderRadius:"4px",fontSize:"12px",fontWeight:"500",cursor:A.length<=l?"not-allowed":"pointer",display:"flex",alignItems:"center",gap:"4px",minWidth:"24px",height:"24px",justifyContent:"center"},title:a,children:et.jsx("span",{style:{fontSize:"14px"},children:"×"})})]}),et.jsx("div",{style:{display:B?"flex":"grid",flexDirection:B?"column":"row",gridTemplateColumns:B?void 0:"repeat(auto-fit, minmax(200px, 1fr))",gap:"16px"},children:v.map((e,A)=>{let i=t.components?.[A];if(i||(i=t.components?.find(t=>t.name===e.name&&t.basic?.label===e.basic?.label)),i)i={...i,id:i.id,basic:{...i.basic,showLabel:B}};else{const r=`${e.id}-${t.id}-${A}`;i={...e,id:r,basic:{...e.basic,showLabel:B}}}return i?et.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[et.jsx("label",{style:{fontSize:"12px",fontWeight:"500",color:"var(--df-color-text-light)",textTransform:"uppercase",letterSpacing:"0.05em"},children:e.basic?.label||`Field ${A+1}`}),et.jsxs("div",{style:{minHeight:"40px",display:"flex",alignItems:"center",flexDirection:"column",width:"100%"},children:[r(i),"test"===n&&!["section","table","heading","file","instructions","signature","location","datagrid"].includes(i.name)&&et.jsx(Ct,{component:i,mode:"test",formTemplateId:f,formValue:b[i.id],onThresholdActionCompletion:p,onThresholdIssueRaised:g,onNotesChange:m?t=>m(i.id,t):void 0,onAttachmentChange:w?t=>w(i.id,t):void 0}),"preview"===n&&(i.basic?.notes&&i.basic.notes.trim().length>0||i.basic?.attachments&&Array.isArray(i.basic.attachments)&&i.basic.attachments.length>0?et.jsx(Ft,{component:i}):null)]})]},`${t.id}-${A}`):null})})]},t.id)):et.jsxs("div",{style:{padding:"40px",textAlign:"center",color:"var(--df-color-text-light)",backgroundColor:"var(--df-color-fb-container)",border:"1px dashed #d1d5db",borderRadius:"8px"},children:["No data entries. ","test"===n&&i?'Click "Add Another" to add entries.':"Use the properties panel to add entries."]}),"test"===n&&i&&et.jsx("div",{style:{padding:"16px",backgroundColor:"#f8f9fa",border:"1px solid var(--df-color-fb-border)",borderRadius:"8px",display:"flex",justifyContent:"center"},children:et.jsxs("button",{onClick:u,disabled:A.length>=o,style:{padding:"8px 16px",backgroundColor:A.length>=o?"#f3f4f6":"#10b981",color:A.length>=o?"#9ca3af":"#ffffff",border:"none",borderRadius:"6px",fontSize:"14px",fontWeight:"500",cursor:A.length>=o?"not-allowed":"pointer",display:"flex",alignItems:"center",gap:"8px",transition:"all 0.2s ease"},onMouseEnter:t=>{A.length<o&&(t.currentTarget.style.backgroundColor="#059669")},onMouseLeave:t=>{t.currentTarget.style.backgroundColor="#10b981"},children:[et.jsx("span",{children:"+"}),s]})})]})},St=({id:t,properties:i,mode:s="edit",formData:a={},onValueChange:o,onSelect:l,isSelected:c=!1,className:u="",onDataGridSelect:h,onComponentSelect:d,onComponentDelete:f,onComponentEdit:p,onComponentUpdate:g,selectedComponent:m,renderFormComponent:w,onEntryAdd:B,onEntryRemove:y,formTemplateId:b,onThresholdActionCompletion:v,onThresholdIssueRaised:C,onNotesChange:x,onAttachmentChange:E,shouldShowComponent:S})=>{const[N,L]=e(!1),_=n(!1);let I=(i.templateComponents||[]).map(t=>({...t,basic:{...t.basic,value:""}}));const k=i.entries||[];0===I.length&&k.length>0&&k[0].components&&(I=k[0].components.map(t=>({...t,id:t.id?.replace(/-entry-\d+$/,"")||t.id,basic:{...t.basic,value:"",defaultValue:"",showLabel:!0}}))),A(()=>{if("edit"===s&&!i.templateComponents&&o&&_.current){const e={...i,templateComponents:[]};JSON.stringify(e)!==JSON.stringify(i)&&o({id:t,value:e})}_.current=!0},[i.templateComponents,t,o,i,s]),A(()=>{if(I.length>0){if("edit"!==s||!_.current)return;if(0===k.length){const e=`entry-${`${Date.now()}-${Math.random().toString(36).substr(2,5)}`}`,A={id:e,index:0,components:I.map((t,A)=>({...t,id:`${t.id}-${e}-${A}`,basic:{...t.basic,showLabel:!1}})),styles:{}};if(o){const e={...i,entries:[A]};JSON.stringify(e)!==JSON.stringify(i)&&o({id:t,value:e})}}else{if(k.some(t=>I.some((e,A)=>{const r=t.components?.[A];if(!r)return!0;return JSON.stringify(r.basic?.options)!==JSON.stringify(e.basic?.options)||r.basic?.placeholder!==e.basic?.placeholder||r.basic?.defaultValue!==e.basic?.defaultValue||r.basic?.label!==e.basic?.label||r.validation?.required!==e.validation?.required}))&&o){const e=k.map(t=>{const e=I.map((e,A)=>{let r=t.components?.[A];if(r||(r=t.components?.find(t=>t.name===e.name&&t.basic?.label===e.basic?.label)),r){return{...e,id:r.id,basic:{...e.basic,showLabel:!1,value:r.basic?.value||e.basic?.defaultValue||""}}}{const t=`${Date.now()}-${Math.random().toString(36).substr(2,5)}`,r=`${e.id}-${t}-${A}`;return{...e,id:r,basic:{...e.basic,showLabel:!1}}}});return{...t,components:e}}),A={...i,entries:e};JSON.stringify(A)!==JSON.stringify(i)&&o({id:t,value:A})}}}},[I,k,t,o,i,s,i.templateComponents]);const T=r(t=>{t.stopPropagation(),l?.(),h?.(i)},[l,h,i]),H=r((e,A)=>{A.stopPropagation(),f&&f(e,A);const r=I.filter(t=>t.id!==e.id),n=k.map(t=>({...t,components:t.components?.filter(t=>!(t.name===e.name&&t.basic?.label===e.basic?.label))||[]}));o&&o({id:t,value:{...i,templateComponents:r,entries:n}})},[f,i,o,t,I,k]),O=r((e,A)=>{g&&g(e,A);const r=I.map(t=>t.id===e?{...t,...A}:t);o&&o({id:t,value:{...i,templateComponents:r}})},[g,i,o,t,I]),P=r(t=>{"test"===s&&o&&o({id:t.id,value:t.value})},[s,o]),D=r(()=>{const e=`entry-${`${Date.now()}-${Math.random().toString(36).substr(2,5)}`}`,A={id:e,index:i.entries.length,components:I.map((t,A)=>{const r=`${t.id}-${e}-${A}`;return{...t,id:r,basic:{...t.basic,value:"",showLabel:!1}}}),styles:{}},r=[...i.entries,A];o&&o({id:t,value:{...i,entries:r}}),B?.()},[i,o,t,B,I]),M=r(e=>{const A=i.entries.filter((t,A)=>A!==e).map((t,e)=>({...t,index:e}));o&&o({id:t,value:{...i,entries:A}})},[i,o,t,y]),j=r((t,e=!1)=>{const A="test"===s?a[t.id]||"defaultValue"in t.basic&&t.basic.defaultValue||"":"defaultValue"in t.basic&&t.basic.defaultValue||"",r={id:t.id,properties:t,validationErrors:{},formValue:A,touchedFields:{},formSubmitted:!1,mode:s,hideLabel:e,onValueChange:P,onBlur:()=>{},onFocus:()=>{}};switch(t.name){case"text-input":case"email-input":case"number-input":return et.jsx(ct,{...r,properties:t,inputType:"text-input"===t.name?"text":"number-input"===t.name?"number":"email",readonly:"edit"===s||"preview"===s,disabled:"preview"===s,hideLabel:e});case"textarea":return et.jsx(ut,{...r,properties:t,readonly:"edit"===s||"preview"===s,disabled:"preview"===s,hideLabel:e});case"select":const A={...t,options:t.basic?.options||[]};return et.jsx(ht,{...r,properties:A,disabled:"edit"===s||"preview"===s,hideLabel:e});case"checkbox":const n={...t,options:t.basic?.options||[]};return et.jsx(dt,{...r,properties:n,formValue:[],disabled:"edit"===s||"preview"===s,hideLabel:e});case"radio":const i={...t,options:t.basic?.options||[]};return et.jsx(ft,{...r,properties:i,readonly:"edit"===s||"preview"===s,disabled:"edit"===s||"preview"===s,hideLabel:e});case"date":case"date-picker":case"datetime-picker":return et.jsx(gt,{...r,properties:t,readonly:"edit"===s||"preview"===s,disabled:"preview"===s,hideLabel:e});case"signature":return et.jsx(mt,{...r,properties:t,hideLabel:e});case"heading":return et.jsx(yt,{...r,properties:t,hideLabel:e});case"instructions":return et.jsx(bt,{...r,properties:t,hideLabel:e});default:return et.jsxs("div",{className:"unknown-component",children:["Unknown component: ",t.name]})}},[s,P]),R={backgroundColor:i.styles.backgroundColor||"var(--df-color-fb-container)",borderColor:i.styles.borderColor||"var(--df-color-fb-border)",borderWidth:i.styles.borderWidth||"2px",borderRadius:i.styles.borderRadius||"8px",padding:i.styles.padding||"16px",margin:i.styles.margin||"16px 0"};return et.jsxs("div",{className:`form-group df-form-datagrid ${c?"selected":""} ${u}`,onClick:T,style:R,children:[et.jsx("div",{className:"grid-header",style:{backgroundColor:i.styles?.headerBackgroundColor,color:i.styles?.headerTextColor},children:et.jsx("div",{className:"grid-title",onClick:e=>{e.stopPropagation(),L(!N),o?.({id:t,value:{...i,basic:{...i.basic,collapsed:!N}}})},children:et.jsxs("div",{className:"title-content",style:{display:"flex",alignItems:"center",gap:"8px"},children:[N?et.jsx(Q,{size:16}):et.jsx(F,{size:16}),et.jsx(U,{size:16}),et.jsx("span",{className:"grid-label",style:{fontWeight:"600",color:i.styles?.headerTextColor},children:i.basic.label}),i.validation.required&&et.jsx("span",{className:"required-indicator",style:{color:"#ef4444"},children:"*"})]})})}),i.basic.description&&i.basic.description.trim().length>0&&!N&&et.jsx("div",{className:"grid-description",style:{marginTop:"8px",color:"var(--df-color-text-light)",fontSize:"14px"},children:i.basic.description}),!N&&et.jsx("div",{className:"grid-content",style:{marginTop:"16px"},children:"edit"===s?et.jsx(Ut,{gridComponents:I,mode:s,onComponentSelect:d||(()=>{}),onComponentDelete:H,onComponentEdit:p,onComponentUpdate:O,selectedComponent:m||null,renderFormComponent:w||j,gridId:t,formData:a,formTemplateId:b,onThresholdActionCompletion:v,onThresholdIssueRaised:C,onNotesChange:x,onAttachmentChange:E,columnView:i.datagrid?.columnView,shouldShowComponent:S}):et.jsx(Et,{templateComponents:I,dataEntries:k,renderFormComponent:w||j,mode:s,allowAddRemoveEntries:i.datagrid?.allowAddRemoveEntries??!0,addAnotherText:i.datagrid?.addAnotherText??"Add Entry",removeText:i.datagrid?.removeText??"Remove",maxEntries:i.datagrid?.maxEntries??10,minEntries:i.datagrid?.minEntries??1,displayAsGrid:i.datagrid?.displayAsGrid??!0,onAddEntry:B||D,onRemoveEntry:y||M,formData:a,formTemplateId:b,onThresholdActionCompletion:v,onThresholdIssueRaised:C,onNotesChange:x,onAttachmentChange:E,columnView:i.datagrid?.columnView,shouldShowComponent:S})})]})},Nt=({child:t,selectedChild:e,mode:A,onChildSelect:r,onChildDelete:n,renderFormComponent:i,isOverlay:s=!1,isChildrenEditMode:a=!1,formData:o={},formTemplateId:l,onThresholdActionCompletion:c,onThresholdIssueRaised:u,onNotesChange:h,onAttachmentChange:d,workOrderNumber:f,assetNumber:p,user:g,onCreateIssue:m,onUpdateIssue:w})=>{const B=o[t.id],y="preview"===A&&(t.basic?.notes&&t.basic.notes.trim().length>0||t.basic?.attachments&&Array.isArray(t.basic.attachments)&&t.basic.attachments.length>0),{attributes:b,listeners:v,setNodeRef:C,transform:x,transition:F,isDragging:Q,isSorting:U}=V({id:t.id,disabled:s||"edit"!==A}),L={transform:z.Transform.toString(x),transition:F,zIndex:Q?1e3:"auto"};return et.jsxs("div",{ref:C,style:L,className:`form-component section-child ${e?.id===t.id?"selected":""} ${Q?"dragging":""} ${U?"sorting":""} ${a?"children-edit-active":""}`,onClick:()=>!Q&&r(t),role:"button",tabIndex:0,children:[("edit"===A||a)&&et.jsx("div",{className:"child-drag-handle",...v,...b,onClick:t=>t.stopPropagation(),onMouseDown:t=>t.stopPropagation(),children:et.jsx(E,{size:14})}),et.jsxs("div",{className:"form-component-content section-child-content",children:[("edit"===A||a)&&et.jsxs("div",{className:"component-actions child-actions",children:[et.jsx("button",{className:"btn edit-btn",onClick:e=>{e.stopPropagation(),r(t)},onMouseDown:t=>t.stopPropagation(),title:"Edit properties",children:et.jsx(S,{size:12})}),et.jsx("button",{className:"btn delete-btn",onClick:e=>n(t,e),onMouseDown:t=>t.stopPropagation(),title:"Delete component",children:et.jsx(N,{size:12})})]}),et.jsxs("div",{className:"component-preview child-preview",children:[i(t),!["section","table","heading","file","instructions","signature","location","datagrid"].includes(t.name)&&et.jsx(Ct,{component:t,mode:"test",formTemplateId:l,formValue:B,formData:o,onThresholdActionCompletion:c,onThresholdIssueRaised:u,onNotesChange:h?e=>h(t.id,e):void 0,onAttachmentChange:d?e=>d(t.id,e):void 0,workOrderNumber:f,assetNumber:p,user:g,onCreateIssue:m,onUpdateIssue:w}),y&&et.jsx(Ft,{component:t})]})]})]})},Lt=({id:t,properties:n,mode:i="edit",formData:s={},onValueChange:a,onSelect:o,isSelected:l=!1,className:c="",onSectionSelect:u,onChildSelect:h,onChildDelete:d,selectedChild:f,renderFormComponent:p,formTemplateId:g,onThresholdActionCompletion:m,onThresholdIssueRaised:w,onNotesChange:B,onAttachmentChange:y,workOrderNumber:b,assetNumber:v,user:C,onCreateIssue:x,onUpdateIssue:U})=>{const[E,S]=e(n.basic.collapsed),[N,L]=e(!1),[_,I]=e(!1),[T,H]=e(n.basic.label),[O,P]=e(n.basic.description),[D,M]=e(n.children||[]),[K,V]=e(!1);A(()=>{M(n.children||[])},[n.children]),A(()=>{H(n.basic.label),P(n.basic.description)},[n.basic.label,n.basic.description]);const{setNodeRef:z,isOver:G}=k({id:`section-${t}`,disabled:"edit"!==i}),q=!("preview"!==i&&"test"!==i||n.children&&n.children.length>0),W=r(e=>{H(e),a?.({id:t,value:{...n,basic:{...n.basic,label:e}}})},[t,n,a]),X=r(e=>{P(e),a?.({id:t,value:{...n,basic:{...n.basic,description:e}}})},[t,n,a]),Y=r(t=>{h?.(t)},[h]),J=r((t,e)=>{e.stopPropagation();const A=D.filter(e=>e.id!==t.id);M(A),d?.(t.id)},[d,D,t]),$=r(()=>{u?.(n),o?.()},[u,o,n]),Z=r(t=>{t.stopPropagation(),"edit"===i&&D.length>0&&V(!K)},[i,D.length,K]),tt=r(e=>{e.stopPropagation(),S(!E),a?.({id:t,value:{...n,basic:{...n.basic,collapsed:!E}}})},[E,t,n,a]),At=p||r(t=>{const e=s[t.id]||"defaultValue"in t.basic&&t.basic.defaultValue||"";let A=e;"number-input"===t.name&&"number"==typeof e?A=String(e):"number-input"===t.name&&null==e&&(A="");const r={id:t.id,properties:t,validationErrors:{},formValue:A,touchedFields:{},formSubmitted:!1,mode:i,onValueChange:a,onBlur:()=>{},onFocus:()=>{}};switch(t.name){case"text-input":case"email-input":case"number-input":return et.jsx(ct,{...r,properties:t,inputType:"text-input"===t.name?"text":"number-input"===t.name?"number":"email",readonly:!1,disabled:!1});case"textarea":return et.jsx(ut,{...r,properties:t,readonly:!1,disabled:!1});case"select":const e={...t,options:t.basic?.options||[]};return et.jsx(ht,{...r,properties:e,disabled:!1});case"checkbox":const A={...t,options:t.basic?.options||[]};return et.jsx(dt,{...r,properties:A,formValue:[],disabled:!1});case"radio":const n={...t,options:t.basic?.options||[]};return et.jsx(ft,{...r,properties:n,readonly:!1,disabled:!1});case"date":case"date-picker":case"datetime-picker":return et.jsx(gt,{...r,properties:t,readonly:!1,disabled:!1});case"signature":return et.jsx(mt,{...r,properties:t});case"heading":return et.jsx(yt,{...r,properties:t});case"instructions":return et.jsx(bt,{...r,properties:t});case"location":return et.jsx(Bt,{...r,properties:t});case"datagrid":return et.jsx(St,{...r,properties:t,formData:s,mode:i,onNotesChange:()=>{},onAttachmentChange:()=>{}});case"segment":const a={...t,options:t.basic?.options||[]};return et.jsx(pt,{...r,properties:a});default:return et.jsx("div",{className:"form-group",children:et.jsxs("div",{className:"form-group-label",children:["Unsupported Component: ",t.name]})})}},[i,a,s]);if(q)return null;const rt={backgroundColor:n.styles?.backgroundColor||"var(--df-color-fb-container)",borderColor:n.styles?.borderColor||"var(--df-color-fb-border)",borderWidth:n.styles?.borderWidth||"2px",borderRadius:n.styles?.borderRadius||"8px",padding:n.styles?.padding||"16px",margin:n.styles?.margin||"16px 0"};return et.jsxs("div",{ref:z,className:`df-form-section ${l?"selected":""} ${G?"drag-over":""} ${c}`,style:rt,children:[et.jsxs("div",{className:"section-header "+(K?"children-edit-mode":""),onClick:$,onDoubleClick:Z,children:[et.jsx("div",{className:"section-header-content",children:et.jsxs("div",{className:"section-title",children:[et.jsx("span",{className:"section-toggle",title:E?"Expand section":"Collapse section",role:"button",tabIndex:0,onClick:t=>{t.stopPropagation(),tt(t)},onKeyDown:t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),tt(t))},style:{marginRight:"8px",display:"inline-flex",alignItems:"center"},children:E?et.jsx(Q,{size:18}):et.jsx(F,{size:18})}),"edit"===i&&N?et.jsx("input",{type:"text",value:T,onChange:t=>H(t.target.value),onBlur:()=>{L(!1),W(T)},onKeyDown:t=>{"Enter"===t.key&&(L(!1),W(T))},className:"section-title-input",autoFocus:!0}):et.jsx("h3",{className:"section-title-text",onDoubleClick:()=>"edit"===i&&L(!0),style:{display:"inline",margin:0},children:T||"Untitled Section"})]})}),(O||"edit"===i)&&et.jsx("div",{className:"section-description",children:"edit"===i&&_?et.jsx("textarea",{value:O,onChange:t=>P(t.target.value),onBlur:()=>{I(!1),X(O)},onKeyDown:t=>{"Enter"===t.key&&t.ctrlKey&&(I(!1),X(O))},className:"section-description-input",placeholder:"Section description (optional)",autoFocus:!0}):et.jsx("p",{className:"section-description-text",onDoubleClick:()=>"edit"===i&&I(!0),children:O||"Section description"})})]}),!E&&et.jsx("div",{className:`section-content ${G?"drag-over":""} ${0===D.length?"empty":"has-children"}`,onClick:t=>{t.target===t.currentTarget&&$()},children:et.jsx(j,{items:D.map(t=>t.id),strategy:R,children:0===D.length?et.jsxs("div",{className:"section-empty-state",onClick:$,style:{textAlign:"center",color:"#6b7280",fontSize:"14px",padding:"40px 20px",display:"flex",flexDirection:"column",alignItems:"center",gap:"8px",cursor:"pointer",border:"2px dotted #d1d5db",borderRadius:"8px",backgroundColor:"var(--df-color-fb-container)",transition:"all 0.3s ease",margin:"16px 0"},children:[et.jsx("div",{style:{fontWeight:"500",color:G?"#3b82f6":"#374151"},children:G?"Drop components here":"Empty Section"}),et.jsx("div",{style:{fontSize:"12px",color:"#9ca3af"},children:"Drag and drop components here to create your section"})]}):D.map(t=>et.jsx(Nt,{child:t,selectedChild:f||null,mode:i,onChildSelect:Y,onChildDelete:J,renderFormComponent:At,isChildrenEditMode:K,formData:s,formTemplateId:g,onNotesChange:B,onAttachmentChange:y,onThresholdActionCompletion:m,onThresholdIssueRaised:w,workOrderNumber:b,assetNumber:v,user:C,onCreateIssue:x,onUpdateIssue:U},t.id))})})]})},_t=t.lazy(()=>Promise.resolve().then(function(){return Mt})),It=({formComponents:i=[],currentDevice:s="desktop",isPreviewMode:a=!1,initialFormData:o=[],onSubmit:l,onFormDataChange:c,formTitle:u,formDescription:h,formTemplateId:d,onComponentSelect:f,onComponentDelete:p,onComponentEdit:g,onComponentUpdate:m,selectedComponent:w,workOrderNumber:B,assetNumber:y,isStandalone:b,user:v,onCreateIssue:C,onUpdateIssue:x})=>{const[F,Q]=e({}),[U,E]=e({}),[S,N]=e(!1),[L,_]=e({}),[I,k]=e({}),[T,H]=e(new Set),[O,P]=e(new Map),[D,M]=e({isValid:!0}),[j,R]=e({}),[K,V]=e({});A(()=>{G()},[i,o]);const z=(t,e)=>{t.forEach(t=>{if(t.id&&(void 0!==e[t.id]||(t.basic&&"value"in t.basic&&void 0!==t.basic.value&&""!==t.basic.value&&null!==t.basic.value?e[t.id]=t.basic.value:t.basic&&"defaultValue"in t.basic&&void 0!==t.basic.defaultValue&&""!==t.basic.defaultValue&&null!==t.basic.defaultValue?e[t.id]=t.basic.defaultValue:"checkbox"===t.name||"select"===t.name?e[t.id]=[]:e[t.id]="")),t.cells&&Array.isArray(t.cells)&&t.cells.forEach((t,A)=>{Array.isArray(t)&&t.forEach((t,A)=>{t&&t.components&&Array.isArray(t.components)&&z(t.components,e)})}),t.entries&&Array.isArray(t.entries)&&t.entries.forEach((t,A)=>{t&&t.components&&Array.isArray(t.components)&&z(t.components,e)}),"file"===t.name&&t.basic){const A=t.basic.files||t.basic.attachments||t.basic.value;A&&(e[t.id]=A)}if(t.id&&t.basic&&t.basic.notes,"instructions"===t.name&&t.basic){t.basic.instructions||(t.basic.instructions=[]);const A=t.basic.value||t.basic.instructions;A&&(e[t.id]=A)}t.children&&Array.isArray(t.children)&&z(t.children,e)})},G=r(()=>{const t={},e={},A={},r=new Set,n=t=>{t.forEach(t=>{t.id&&((t.basic?.notes||t.basic?.comments)&&(e[t.id]=t.basic?.notes||t.basic?.comments),t.basic?.attachments&&(A[t.id]=t.basic.attachments)),t.children&&n(t.children),t.cells&&t.cells.forEach(t=>t.forEach(t=>{t.components&&n(t.components)})),t.entries&&t.entries.forEach(t=>{t.components&&n(t.components)})})},s=t=>t.map((t,e)=>{let A={...t};if(A.id&&"string"==typeof A.id&&""!==A.id.trim())r.has(A.id)&&(console.error(`[DfFormPreview] Duplicate component ID detected: ${A.id}`),A.id=`${A.id}-duplicate-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,console.warn(`[DfFormPreview] Generated new unique ID: ${A.id}`));else{const t=A.name||"component",r=(A.basic?.label||"").replace(/[^a-zA-Z0-9]/g,"").toLowerCase().substring(0,10);A.id=`${t}-${r||"gen"}-${Date.now()}-${Math.random().toString(36).substr(2,6)}-${e}`,console.warn(`[DfFormPreview] Assigned missing ID: ${A.id}`)}return r.add(A.id),A.children&&Array.isArray(A.children)&&(A.children=s(A.children)),A.cells&&Array.isArray(A.cells)&&(A.cells=A.cells.map(t=>Array.isArray(t)?t.map(t=>t&&t.components&&Array.isArray(t.components)?{...t,components:s(t.components)}:t):t)),A.entries&&Array.isArray(A.entries)&&(A.entries=A.entries.map(t=>t&&t.components&&Array.isArray(t.components)?{...t,components:s(t.components)}:t)),A});let a=i;i&&i.length>0&&(a=s(i),JSON.stringify(a)!==JSON.stringify(i)&&c?.(a));let l=o;o&&o.length>0&&(l=s(o)),l&&l.length>0&&z(l,t),a&&a.length>0&&(z(a,t),n(a)),Q(e=>({...t,...e})),R(t=>({...e,...t})),V(t=>({...A,...t})),W()},[o,i]);A(()=>{W()},[F,i,W]);const q=(t,e,A,r)=>{t.forEach(t=>{if(t.id)if("table"===t.name||"datagrid"===t.name)e[t.id]=!0;else if(t.conditional){const n=rt.evaluateConditionalLogic(t.conditional,r,A);e[t.id]=n.shouldShow,t._id&&(e[t._id]=n.shouldShow),t.basic?.label&&(e[t.basic.label]=n.shouldShow)}else e[t.id]=!0,t._id&&(e[t._id]=!0),t.basic?.label&&(e[t.basic.label]=!0);t.cells&&Array.isArray(t.cells)&&t.cells.forEach(t=>{t.forEach(t=>{t.components&&Array.isArray(t.components)&&q(t.components,e,A,r)})}),t.entries&&Array.isArray(t.entries)&&t.entries.forEach(t=>{t.components&&Array.isArray(t.components)&&q(t.components,e,A,r)}),t.children&&Array.isArray(t.children)&&q(t.children,e,A,r)})},W=r((t,e)=>{const A={},r=e||i,n=t||F;r&&r.length>0&&q(r,A,n,r),k(t=>JSON.stringify(t)===JSON.stringify(A)?t:A)},[i,F]),X=r(t=>{const e=rt.findComponent(i,t);if(e&&("table"===e.name||"datagrid"===e.name))return!0;return!(!1===I[t]||e?._id&&!1===I[e._id]||e?.id&&!1===I[e.id])},[I,i]),Y=r(t=>{if(!t.id||"string"!=typeof t.id||""===t.id.trim())return void console.error("[DfFormPreview] Invalid component ID in onFormValueChange:",t);const e=i.filter(e=>e.id===t.id);if(e.length>1)return void console.error(`[DfFormPreview] ID COLLISION DETECTED! Multiple components share ID "${t.id}":`,e.map(t=>({id:t.id,name:t.name,label:t.basic?.label})));const A=F[t.id];void 0!==A&&t.value;const r=rt.findComponent(i,t.id),n={...F};n[t.id]=t.value,r&&(r.id&&(n[r.id]=t.value),r._id&&(n[r._id]=t.value),r.basic?.label&&(n[r.basic.label]=t.value)),Q(n),setTimeout(()=>{W(n,i)},0);const s=i.find(e=>e.id===t.id);if(s){const t=s?.threshold;t&&t.conditions&&t.conditions.length>0&&H(e=>{const A=new Set(e);return t.conditions.forEach(t=>{A.delete(t.id)}),A})}const o=e=>e.map(e=>e.id===t.id&&"defaultValue"in e.basic?{...e,basic:{...e.basic,value:t.value??e.basic.defaultValue,defaultValue:t.value}}:"section"===e.name&&e.children?{...e,children:o(e.children)}:"table"===e.name&&e.cells?{...e,cells:e.cells.map(t=>t.map(t=>{const e={...t};return e.components&&(e.components=o(e.components)),e}))}:"datagrid"===e.name&&e.entries?{...e,entries:e.entries.map(t=>{const e={...t};return e.components&&(e.components=o(e.components)),e})}:e),l=o(i);if(c?.(l),U[t.id]&&E(e=>({...e,[t.id]:""})),!a){if(t.isValid)return void E(e=>{const A=e[t.id];return A&&""!==A.trim()?{...e,[t.id]:""}:e});setTimeout(()=>{$(t.id)},150)}W(n,l)},[i,F,U,c,W]),J=r((t,e)=>{for(const A of t){if(A.id===e)return A;if("section"===A.name&&A.children){const t=J(A.children,e);if(t)return t}if("table"===A.name&&A.cells)for(const t of A.cells)for(const A of t)if(A.components){const t=J(A.components,e);if(t)return t}if("datagrid"===A.name&&A.entries)for(const t of A.entries)if(t.components){const A=J(t.components,e);if(A)return A}}return null},[]),$=r(t=>{if(a)return;const e=J(i,t);if(!e)return;const A=F[t]||"";if("number-input"===e.name&&(!A||""===A)){if(e.validation.required){const A=e.validation.customValidationMessage,r=e.basic.label||"This field",n=A||`${r} is required`;E(e=>({...e,[t]:n}))}else E(e=>({...e,[t]:""}));return}let r=!1;r=Array.isArray(A)?A.length>0:"string"==typeof A?""!==A.trim():null!=A;let n="";if(e.validation.required&&!r){const t=e.validation.customValidationMessage,A=e.basic.label||"This field";n=t||`${A} is required`}else if("email-input"===e.name&&r&&!/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(A)){const t=e.validation.customValidationMessage,A=e.basic.label||"This field";n=t||`${A} must be a valid email`}else if(e.validation.minLength&&r&&A.length<e.validation.minLength){const t=e.validation.customValidationMessage,A=e.basic.label||"This field";n=t||`${A} must be at least ${e.validation.minLength} characters`}else if(e.validation.maxLength&&r&&A.length>e.validation.maxLength){const t=e.validation.customValidationMessage,A=e.basic.label||"This field";n=t||`${A} must be no more than ${e.validation.maxLength} characters`}else if("number-input"===e.name&&r){const t=String(A).trim(),r=parseFloat(t);if(!isNaN(r)){const t=e.validation;t&&"lowerLimit"in t&&void 0!==t.lowerLimit&&null!==t.lowerLimit&&0!==t.lowerLimit&&r<t.lowerLimit?n="Number is below the lower limit":t&&"upperLimit"in t&&void 0!==t.upperLimit&&null!==t.upperLimit&&0!==t.upperLimit&&r>t.upperLimit&&(n="Number is above the upper limit")}}E(e=>({...e,[t]:n}))},[i,a,F,J]),Z=r(t=>{_(e=>({...e,[t]:!0})),a||setTimeout(()=>{$(t)},0)},[a,$]),tt=r(t=>{U[t]&&E(e=>({...e,[t]:""}))},[U]),At=r(()=>!Object.values(U).some(t=>t&&"string"==typeof t&&""!==t.trim())&&i.every(t=>{const e=F[t.id]||"";let A=!1;if(A=Array.isArray(e)?e.length>0:"string"==typeof e?""!==e.trim():null!=e,t.validation.required&&!A)return!1;if("number-input"===t.name&&A){const A=String(e).trim(),r=parseFloat(A);if(!isNaN(r)){const e=t.validation;if(e&&"lowerLimit"in e&&void 0!==e.lowerLimit&&null!==e.lowerLimit&&0!==e.lowerLimit&&r<e.lowerLimit)return!1;if(e&&"upperLimit"in e&&void 0!==e.upperLimit&&null!==e.upperLimit&&0!==e.upperLimit&&r>e.upperLimit)return!1}}return!0}),[i,F,U]),it=r((t,e)=>{if(Array.isArray(e))return e.some(e=>it(t,e));if(null==e||""===e)return!1;const A="string"==typeof e?parseFloat(e):e,r="string"==typeof t.value?parseFloat(t.value):t.value;if(!isNaN(A)&&!isNaN(r))switch(t.operator){case"greaterThan":return A>r;case"lessThan":return A<r;case"greaterThanOrEqual":return A>=r;case"lessThanOrEqual":return A<=r;case"equals":return A===r;case"notEquals":return A!==r;default:return!1}const n=String(e).toLowerCase(),i=String(t.value).toLowerCase();switch(t.operator){case"equals":return n===i||String(e)===String(t.value);case"notEquals":return n!==i&&String(e)!==String(t.value);default:return!1}},[]),st=r(()=>{if(a)return[];const t=[];return i.forEach(e=>{const A=e?.condition;if(!A||!A.conditions||0===A.conditions.length)return;const r=F[e.id];null!=r&&""!==r&&!(Array.isArray(r)&&0===r.length)&&A.conditions.forEach(A=>{it(A,r)&&t.push({componentId:e.id,condition:A,componentLabel:e.basic?.label||"Field"})})}),t},[i,F,a,it]),at=r(()=>{if(a)return{isValid:!0};const t=st();if(0===t.length)return{isValid:!0};for(const{condition:e,componentLabel:A}of t){const t=O.get(e.id)||{notesCompleted:!1,attachmentsCompleted:!1,emailSent:!1},r=[];if(!0!==e.enableRaiseIssue||T.has(e.id)||r.push("raise an issue"),!0!==e.enableNotes||t.notesCompleted||r.push("add notes"),!0!==e.enableAttachment||t.attachmentsCompleted||r.push("add attachments"),!0!==e.enableSendEmail||t.emailSent||r.push("send email"),r.length>0){return{isValid:!1,errorMessage:`Please ${1===r.length?r[0]:r.slice(0,-1).join(", ")+" and "+r[r.length-1]} for the threshold condition met in "${A}". You cannot submit the form until all required actions are completed.`}}}return{isValid:!0}},[a,st,T,O]),ot=r(t=>{t&&H(e=>{const A=new Set(e);return A.add(t),A})},[]),lt=r((t,e,A)=>{t&&P(r=>{const n=new Map(r),i=n.get(t)||{notesCompleted:!1,attachmentsCompleted:!1,emailSent:!1};return"notes"===e?n.set(t,{...i,notesCompleted:A}):"attachments"===e?n.set(t,{...i,attachmentsCompleted:A}):"email"===e&&n.set(t,{...i,emailSent:A}),n})},[]);A(()=>{if(!a){const t=at();M(t)}},[F,T,O,a,at]);const vt=r(()=>{if(a)return!0;let t=!0;N(!0);const e={};return i.forEach(A=>{const r=F[A.id]||"";let n=!1;if(n=Array.isArray(r)?r.length>0:"string"==typeof r?""!==r.trim():null!=r,A.validation.required&&!n){const r=A.validation.customValidationMessage,n=A.basic.label||"This field",i=r||`${n} is required`;e[A.id]=i,t=!1}else if("number-input"===A.name&&n){const n=String(r).trim(),i=parseFloat(n);if(isNaN(i))e[A.id]="";else{const r=A.validation;r&&"lowerLimit"in r&&void 0!==r.lowerLimit&&null!==r.lowerLimit&&0!==r.lowerLimit&&i<r.lowerLimit?(e[A.id]="Number is below the lower limit",t=!1):r&&"upperLimit"in r&&void 0!==r.upperLimit&&null!==r.upperLimit&&0!==r.upperLimit&&i>r.upperLimit?(e[A.id]="Number is above the upper limit",t=!1):e[A.id]=""}}else e[A.id]="";_(t=>({...t,[A.id]:!0}))}),E(e),t},[i,a,F]),xt=r((t="Submitted")=>{if(N(!0),!vt()){const t=i.find(t=>{const e=F[t.id]||"";let A=!1;return A=Array.isArray(e)?e.length>0:"string"==typeof e?""!==e.trim():null!=e,t.validation.required&&!A});if(t){const e=document.getElementById(t.id);e&&e.focus()}return}const e=at();if(!e.isValid){e.errorMessage&&nt.showError(e.errorMessage);const t=st().find(({condition:t})=>!T.has(t.id));if(t){const e=document.getElementById(t.componentId);e&&e.scrollIntoView({behavior:"smooth",block:"center"})}return}const A=t=>t.map(t=>{let e=F[t.id];"text-input"===t.name&&t.basic,void 0===e&&(e="value"in t.basic&&void 0!==t.basic.value?t.basic.value:"defaultValue"in t.basic&&void 0!==t.basic.defaultValue?t.basic.defaultValue:""),"text-input"===t.name&&t.basic;const r={...t,basic:{...t.basic,value:e,defaultValue:e,notes:void 0!==j[t.id]?j[t.id]:t.basic?.notes,comments:void 0!==j[t.id]?j[t.id]:t.basic?.comments||t.basic?.notes,attachments:void 0!==K[t.id]?K[t.id]:t.basic?.attachments}};return"section"===r.name&&r.children&&(r.children=A(r.children)),"table"===r.name&&r.cells&&(r.cells=r.cells.map(t=>t.map(t=>{const e={...t};return e.components&&(e.components=A(e.components)),e}))),"datagrid"===r.name&&r.entries&&(r.entries=r.entries.map(t=>{const e={...t};return e.components&&(e.components=A(e.components)),e})),r}),r=A(i),n={...F,status:t};l?.(r,n)},[i,F,vt,l,j,K]),Qt=r(()=>({[`device-${s}`]:!0,readonly:a}),[s,a]),Ut=r((t,e)=>{R(A=>({...A,[t]:e}))},[]),Et=r((t,e)=>{V(A=>({...A,[t]:e||[]}))},[]),Nt=n(new Map),It=n(0),kt=e=>{let A;if(e.id&&"string"==typeof e.id&&""!==e.id.trim())A=e.id;else{const t=e.basic?.label||"",r=e.name||"unknown",n=`${r}-${t}`;let i=Nt.current.get(n);i||(It.current+=1,i=`generated-${r}-${It.current}-${Math.random().toString(36).substr(2,9)}`,Nt.current.set(n,i),console.warn("[DfFormPreview] Generated and cached ID for component:",i,"key:",n)),A=i,e={...e,id:A}}const r=A,n=F[r];if(void 0!==n){const t=i.filter(t=>t.id!==r&&F[t.id]===n);t.length>0&&console.warn(`[DfFormPreview] Component ${r} shares form value with other components:`,t.map(t=>t.id))}const s={id:r,validationErrors:U,formValue:n,touchedFields:L,formSubmitted:S,mode:"test",readonly:!1,onValueChange:Y,onBlur:()=>Z(r),onFocus:()=>tt(r)};switch(e.name){case"text-input":case"number-input":case"email-input":return et.jsx(ct,{...s,properties:e,inputType:"text-input"===e.name?"text":"number-input"===e.name?"number":"email",formTemplateId:d,onThresholdIssueRaised:ot,raisedThresholdIssues:T,workOrderNumber:B,assetNumber:y,user:v});case"textarea":return et.jsx(ut,{...s,properties:e});case"select":const A={...e,options:e.basic?.options||[],basic:{...e.basic,comments:e.basic?.comments||""}};return et.jsx(ht,{...s,properties:A});case"checkbox":const r={...e,options:e.basic?.options||[],basic:{...e.basic,comments:e.basic?.comments||""}};return et.jsx(dt,{...s,properties:r});case"radio":const a={...e,options:e.basic?.options||[],basic:{...e.basic,comments:e.basic?.comments||""}};return et.jsx(ft,{...s,properties:a});case"segment":const o={...e,options:e.basic?.options||[],basic:{...e.basic,comments:e.basic?.comments||""}};return et.jsx(pt,{...s,properties:o});case"date":case"date-picker":case"datetime-picker":return et.jsx(gt,{...s,properties:e});case"signature":return et.jsx(mt,{...s,properties:e});case"heading":return et.jsx(yt,{...s,properties:e});case"instructions":const l=n||e.basic?.value||null;return et.jsx(bt,{...s,properties:e,formValue:l});case"location":return et.jsx(Bt,{...s,properties:e});case"section":return et.jsx(Lt,{...s,properties:e,formData:F,formTemplateId:d,onThresholdActionCompletion:lt,onThresholdIssueRaised:ot,onNotesChange:Ut,onAttachmentChange:Et,workOrderNumber:B,assetNumber:y,user:v,onCreateIssue:C,onUpdateIssue:x,renderFormComponent:t=>kt(t)});case"table":return et.jsx(t.Suspense,{fallback:et.jsx("div",{children:"Loading table..."}),children:et.jsx(_t,{...s,properties:e,formData:F,formTemplateId:d,mode:s.mode,validationErrors:U,touchedFields:L,formSubmitted:S,onThresholdActionCompletion:lt,onThresholdIssueRaised:ot,workOrderNumber:B,assetNumber:y,onCreateIssue:C,onUpdateIssue:x,onNotesChange:(t,A)=>{const r=i.map(r=>{if(r.id===e.id&&r.cells){const e=r.cells.map(e=>e.map(e=>{if(e.components){const r=e.components.map(e=>e.id===t?{...e,basic:{...e.basic,notes:A}}:e);return{...e,components:r}}return e}));return{...r,cells:e}}return r});c?.(r)},onAttachmentChange:(t,A)=>{const r=i.map(r=>{if(r.id===e.id&&r.cells){const e=r.cells.map(e=>e.map(e=>{if(e.components){const r=e.components.map(e=>e.id===t?{...e,basic:{...e.basic,attachments:A||[]}}:e);return{...e,components:r}}return e}));return{...r,cells:e}}return r});c?.(r)},renderFormComponent:t=>kt(t)})});case"datagrid":return et.jsx(St,{...s,properties:e,formData:F,formTemplateId:d,mode:s.mode,validationErrors:U,touchedFields:L,formSubmitted:S,onThresholdActionCompletion:lt,onThresholdIssueRaised:ot,workOrderNumber:B,assetNumber:y,user:v,onComponentSelect:f,onComponentDelete:p,onComponentEdit:g,onCreateIssue:C,onUpdateIssue:x,onComponentUpdate:m,selectedComponent:w,onNotesChange:(t,A)=>{Ut(t,A);const r=i.map(r=>{if(r.id===e.id&&r.entries){const e=r.entries.map(e=>{if(e.components){const r=e.components.map(e=>e.id===t?{...e,basic:{...e.basic,notes:A||""}}:e);return{...e,components:r}}return e});return{...r,entries:e}}return r});c?.(r)},onAttachmentChange:(t,A)=>{Et(t,A);const r=i.map(r=>{if(r.id===e.id&&r.entries){const e=r.entries.map(e=>{if(e.components){const r=e.components.map(e=>e.id===t?{...e,basic:{...e.basic,attachments:A||[]}}:e);return{...e,components:r}}return e});return{...r,entries:e}}return r});c?.(r)},onValueChange:t=>{if(t.id===e.id&&t.value&&"object"==typeof t.value&&"entries"in t.value){const A=i.map(A=>A.id===e.id?{...A,...t.value}:A);c?.(A),t.value.entries&&Array.isArray(t.value.entries)&&t.value.entries.forEach(t=>{t.components&&Array.isArray(t.components)&&t.components.forEach(t=>{if(void 0!==F[t.id]);else{const e=t.basic?.defaultValue;void 0!==e&&Q(A=>({...A,[t.id]:e}))}})})}else Y(t)},onEntryAdd:()=>{const t=i.find(t=>t.id===e.id);if(t&&t.entries){const t=i.map(t=>t.id===e.id?{...t,entries:t.entries||[]}:t);c?.(t)}else setTimeout(()=>{const t=F[e.id];if(t&&"object"==typeof t&&"entries"in t){const A=i.map(A=>A.id===e.id?{...A,entries:t.entries}:A);c?.(A)}},100)},onEntryRemove:t=>{const A=i.map(A=>{if(A.id===e.id&&A.entries){const e=(A.entries||[]).filter((e,A)=>A!==t).map((t,e)=>({...t,index:e,id:`entry-${A.id}-${e}`,components:t.components?.map((t,A)=>{const r=(t.templateComponents||[])[A];return{...t,id:r?`${r.id}-entry-${e}-${A}`:t.id}})||[]}));return{...A,entries:e}}return A});c?.(A)},renderFormComponent:t=>kt(t)});case"file":const u=n||e.basic?.value||e.basic?.files||e.basic?.attachments||null;return et.jsx(wt,{...s,properties:e,formValue:u});default:return et.jsx("div",{className:"form-group",children:et.jsxs("div",{className:"form-group-label",children:["Unsupported Component: ",e.name]})})}};return et.jsx("div",{className:"form-preview-container",children:et.jsx("div",{className:"form-preview-wrapper",children:et.jsxs("div",{className:`form-preview ${Object.entries(Qt()).map(([t,e])=>e?t:"").join(" ")}`,children:[et.jsx("div",{className:"form-canvas-header"}),0===i.length?et.jsx("div",{className:"empty-state",children:et.jsx("div",{className:"empty-state-card",children:et.jsx("div",{className:"empty-state-preview-area",children:et.jsx("span",{className:"empty-state-placeholder",children:"Add components to see the form preview"})})})}):et.jsxs("form",{className:"form-preview-form",onSubmit:t=>{t.preventDefault(),xt()},children:[(u||h)&&et.jsxs("div",{className:"form-header",children:[u&&et.jsx("h1",{className:"form-title",children:u}),h&&et.jsx("p",{className:"form-description",children:h})]}),i.map(t=>{const e=t.basic,A=F[t.id],r=["select","radio","checkbox","segment"].includes(t.name||""),n=t.options||e?.options||[],s=(()=>{const e=t?.styles?.column;return"section"===t.name||"table"===t.name||"datagrid"===t.name?"col-12":3===e?"col-3":6===e?"col-6":9===e?"col-9":"col-12"})();let o=!1;if(!a)if(r&&null!=A&&""!==A)if("checkbox"===t.name){o=(Array.isArray(A)?A:[A]).some(t=>{const e=n.find(e=>e.value===t);return e&&(e.enableNotes||e.enableAttachment||e.enableRaiseIssue||e.enableSendEmail)})}else{const t=n.find(t=>t.value===A);o=t&&(t.enableNotes||t.enableAttachment||t.enableRaiseIssue||t.enableSendEmail)}else o=e?.enableNotes||e?.enableAttachment||e?.enableRaiseIssue||e?.enableSendEmail;const l=a&&(t.basic?.notes&&t.basic.notes.trim().length>0||t.basic?.attachments&&Array.isArray(t.basic.attachments)&&t.basic.attachments.length>0);return et.jsxs("div",{className:`form-group ${s} ${o||l?"has-action-features":""}`,style:{display:X(t.id)?"block":"none"},children:[kt(t),!a&&!["section","table","heading","file","instructions","signature","location","datagrid"].includes(t.name)&&et.jsx(Ct,{component:t,mode:a?"preview":"test",formTemplateId:d,formValue:A,onThresholdActionCompletion:lt,onThresholdIssueRaised:ot,onNotesChange:e=>{R(A=>({...A,[t.id]:e}));const A=i.map(A=>A.id===t.id?{...A,basic:{...A.basic,notes:e||""}}:A);c?.(A)},onAttachmentChange:e=>{V(A=>({...A,[t.id]:e||[]}));const A=i.map(A=>A.id===t.id?{...A,basic:{...A.basic,attachments:e||[]}}:A);c?.(A)},notes:void 0!==j[t.id]?j[t.id]:t.basic?.notes||"",attachments:void 0!==K[t.id]?K[t.id]:t.basic?.attachments||null,workOrderNumber:B,assetNumber:y,isStandalone:b,user:v,onCreateIssue:C,onUpdateIssue:x}),a&&l&&et.jsx(Ft,{component:t})]},t.id)}),!a&&et.jsxs("div",{className:"form-actions",children:[!S&&et.jsx("button",{type:"button",onClick:()=>xt("Saved"),className:"form-save-button",disabled:S&&!At(),children:"Save"}),et.jsx("button",{type:"button",disabled:!At()||!D.isValid,className:"form-submit-button",title:D.isValid?"":D.errorMessage,onClick:()=>xt("Submitted"),children:"Submit"})]})]})]})})})},kt=({comment:t="",onSave:n,placeholder:i="Enter your reason...",className:s="",disabled:a=!1})=>{const[o,l]=e(!0),[c,u]=e(t),[h,d]=e(!1);A(()=>{u(t),d(!1)},[t]);const f=r(e=>{const A=e.target.value;u(A),d(A!==t)},[t]),p=r(()=>{h&&n&&!a&&(n(c),d(!1))},[h,n,c,a]),g=r(()=>{},[]),m=r(()=>{a||l(!o)},[o,a]);return et.jsxs("div",{className:`df-form-comments ${s}`,children:[et.jsxs("div",{className:"df-form-comments__header",children:[et.jsx("h3",{className:"df-form-comments__title",children:"Comments"}),et.jsx("button",{className:"df-form-comments__toggle",type:"button",onClick:m,"aria-expanded":o,"aria-label":"Toggle comments section",disabled:a,children:o?et.jsx("span",{className:"df-form-comments__toggle-icon",children:"▼"}):et.jsx("span",{className:"df-form-comments__toggle-icon",children:"▶"})})]}),et.jsx("div",{className:"df-form-comments__content "+(o?"df-form-comments__content--expanded":""),children:et.jsx("div",{className:"df-form-comments__input-container",children:et.jsx("div",{className:"df-form-comments__input-line",children:et.jsx("input",{type:"text",id:"comment-input",className:"df-form-comments__input",value:c,onChange:f,onBlur:p,onFocus:g,placeholder:i,disabled:a})})})})]})},Tt=t=>t.id?t:{...t,id:G()},Ht=({component:t,mode:e,renderFormComponent:A,formData:r={},formTemplateId:n,onThresholdActionCompletion:i,onThresholdIssueRaised:s,onNotesChange:a,onAttachmentChange:o,workOrderNumber:l,assetNumber:c,user:u,onCreateIssue:h,onUpdateIssue:d})=>{const f=r[t.id],p="preview"===e&&(t.basic?.notes&&t.basic.notes.trim().length>0||t.basic?.attachments&&Array.isArray(t.basic.attachments)&&t.basic.attachments.length>0);return et.jsxs("div",{className:"simple-table-component",children:[A(t),!["section","table","heading","file","instructions","signature","location","datagrid"].includes(t.name)&&et.jsx(Ct,{component:t,mode:"test",formTemplateId:n,formValue:f,formData:r,onThresholdActionCompletion:i,onThresholdIssueRaised:s,onNotesChange:a?e=>a(t.id,e):void 0,onAttachmentChange:o?e=>o(t.id,e):void 0,workOrderNumber:l,assetNumber:c,user:u,onCreateIssue:h,onUpdateIssue:d}),p&&et.jsx(Ft,{component:t})]})},Ot=({component:t,selectedComponent:e,mode:A,onComponentSelect:r,onComponentDelete:n,onComponentEdit:i,renderFormComponent:s,isOverlay:a=!1})=>{const{attributes:o,listeners:l,setNodeRef:c,transform:u,transition:h,isDragging:d,isSorting:f}=V({id:t.id,disabled:a}),p={transform:z.Transform.toString(u),transition:h,opacity:d?.3:1,zIndex:d?1e3:"auto"};return et.jsxs("div",{ref:c,style:p,className:`form-component table-component ${e?.id===t.id?"selected":""} ${d?"dragging":""} ${f?"sorting":""}`,onClick:()=>!d&&r(t),role:"button",tabIndex:0,children:["edit"===A&&et.jsx("div",{className:"component-drag-handle",...l,...o,onClick:t=>t.stopPropagation(),style:{opacity:1},children:et.jsx(E,{size:14})}),et.jsx("div",{className:"component-content",children:s(t)}),"edit"===A&&et.jsxs("div",{className:"component-actions",style:{opacity:1},children:[i&&et.jsx("button",{className:"component-edit-btn",onClick:e=>{e.stopPropagation(),i(t)},type:"button",title:"Edit Component",children:et.jsx(S,{size:12})}),et.jsx("button",{className:"component-delete-btn",onClick:e=>{e.stopPropagation(),n(t,e)},type:"button",title:"Delete Component",children:et.jsx(N,{size:12})})]})]})},Pt=({cell:t,mode:e,onComponentSelect:A,onComponentDelete:r,onComponentEdit:n,selectedComponent:i,renderFormComponent:s,formData:a={},formTemplateId:o,onThresholdActionCompletion:l,onThresholdIssueRaised:c,tableId:u,onNotesChange:h,onAttachmentChange:d,workOrderNumber:f,assetNumber:p,user:g,onCreateIssue:m,onUpdateIssue:w})=>{const B=`table-cell-${u}-${t.row}-${t.column}`,{setNodeRef:y,isOver:b}=k({id:B,disabled:"edit"!==e,data:{type:"table-cell",tableId:u,cell:t,row:t.row,column:t.column}}),v={...t.styles,backgroundColor:b?"var(--df-color-primary-light)":t.styles?.backgroundColor||"transparent",minHeight:t.styles?.minHeight||"preview"===e||"test"===e?"40px":"60px",padding:(t.styles,"8px"),border:"preview"===e||"test"===e?"none":b?"2px dashed var(--df-color-primary)":t.styles?.borderColor?`1px solid ${t.styles.borderColor}`:"1px solid var(--df-color-fb-border)",borderRadius:"preview"===e||"test"===e?"0":"4px",position:"relative",verticalAlign:t.styles?.verticalAlign||"top"};return et.jsx("td",{ref:y,style:v,className:"table-cell "+(b?"drag-over":""),children:et.jsx("div",{className:"cell-content",children:t.components&&Array.isArray(t.components)&&t.components.length>0?"edit"===e?et.jsx(j,{items:t.components.map(t=>t.id||G()),strategy:R,children:t.components.map(t=>{const a=Tt(t);return et.jsx(Ot,{component:a,selectedComponent:i,mode:e,onComponentSelect:A,onComponentDelete:r,onComponentEdit:n,renderFormComponent:s},a.id)})}):t.components.map(t=>{const A=t.id?t:Tt(t);return et.jsx(Ht,{component:A,mode:e,renderFormComponent:s,formData:a,formTemplateId:o,onThresholdActionCompletion:l,onThresholdIssueRaised:c,onNotesChange:h,onAttachmentChange:d,workOrderNumber:f,assetNumber:p,user:g,onCreateIssue:m,onUpdateIssue:w},A.id)}):"edit"===e?et.jsx("div",{className:"empty-cell-placeholder",children:et.jsxs("div",{className:"cell-info",children:[et.jsx("span",{className:"drop-zone-text",children:"Drag and Drop a form component"}),et.jsxs("span",{className:"cell-coordinates",children:["Cell (",t.row+1,", ",t.column+1,")"]})]})}):et.jsx("div",{style:{minHeight:"20px",backgroundColor:"transparent",visibility:"hidden"},children:" "})})})},Dt=({id:t,properties:n,mode:s="edit",formData:a={},validationErrors:o={},touchedFields:l={},formSubmitted:c=!1,onValueChange:u,onSelect:h,isSelected:d=!1,className:f="",onTableSelect:p,onComponentSelect:g,onComponentDelete:m,onComponentEdit:w,selectedComponent:B,renderFormComponent:y,formTemplateId:b,onThresholdActionCompletion:v,onThresholdIssueRaised:C,onNotesChange:x,onAttachmentChange:U,workOrderNumber:E,assetNumber:S,user:N,onCreateIssue:_,onUpdateIssue:I})=>{const[k,T]=e(!1),H=n.cells?.some(t=>t.some(t=>t.components&&t.components.length>0))||!1;A(()=>{},[n.table?.rows,n.table?.columns,n.basic?.rows,n.basic?.columns,n.cells,t,u]);const O=r(t=>{t.stopPropagation(),h?.(),p?.(n)},[h,p,n]),P=r((e,A)=>{A.stopPropagation();const r=n.cells.map(t=>t.map(t=>{if(t.components&&t.components.some(t=>t.id===e.id)){const A=t.components.filter(t=>t.id!==e.id);return{...t,components:A}}return t}));u&&u({id:t,value:{...n,cells:r}})},[m,n,u,t]),D=i(()=>n.cells?n.cells.map((e,A)=>e.map((e,r)=>({...e,components:e.components&&Array.isArray(e.components)?e.components.map((e,n)=>{if(e.id&&"string"==typeof e.id&&""!==e.id.trim())return e;const i=`${e.name||"component"}-table-${t}-row-${A}-cell-${r}-comp-${n}`;return{...e,id:i}}):[]}))):[],[n.cells,t]),M=y||r(t=>{const e=t.id?t:Tt(t),A=a[e.id]||"defaultValue"in e.basic&&e.basic.defaultValue||"";let r=A;"number-input"===e.name&&"number"==typeof A?r=String(A):"number-input"===e.name&&null==A&&(r="");const n={id:e.id,properties:e,validationErrors:{},formValue:r,touchedFields:{},formSubmitted:!1,mode:s,onValueChange:t=>{u?.(t)},onBlur:()=>{},onFocus:()=>{}};switch(e.name){case"text-input":case"email-input":case"number-input":return et.jsx(ct,{...n,properties:e,inputType:"text-input"===e.name?"text":"number-input"===e.name?"number":"email",readonly:!1,disabled:!1});case"textarea":return et.jsx(ut,{...n,properties:e,readonly:!1,disabled:!1});case"select":const t={...e,options:e.basic?.options||[]};return et.jsx(ht,{...n,properties:t,disabled:!1});case"checkbox":const A={...e,options:e.basic?.options||[]};return et.jsx(dt,{...n,properties:A,formValue:[],disabled:!1});case"radio":const r={...e,options:e.basic?.options||[]};return et.jsx(ft,{...n,properties:r,readonly:!1,disabled:!1});case"date":case"date-picker":case"datetime-picker":return et.jsx(gt,{...n,properties:e,readonly:!1,disabled:!1});case"signature":return et.jsx(mt,{...n,properties:e});case"heading":return et.jsx(yt,{...n,properties:e});case"instructions":return et.jsx(bt,{...n,properties:e});case"location":return et.jsx(Bt,{...n,properties:e});case"datagrid":return et.jsx(St,{...n,properties:e,formData:a,mode:s,onNotesChange:()=>{},onAttachmentChange:()=>{}});case"segment":const i={...e,options:e.basic?.options||[]};return et.jsx(pt,{...n,properties:i});default:return et.jsxs("div",{className:"unknown-component",children:["Unknown component: ",e.name]})}},[y,s,a,u]),j={backgroundColor:n.styles?.backgroundColor||"var(--df-color-fb-container)",borderColor:n.styles?.borderColor||"var(--df-color-fb-border)",borderWidth:n.styles?.borderWidth||"2px",borderRadius:n.styles?.borderRadius||"8px",padding:n.styles?.padding||"16px",margin:n.styles?.margin||"16px 0"},R={width:"100%",minWidth:"600px",borderCollapse:"preview"===s||"test"===s?"separate":"collapse",tableLayout:"fixed",border:"preview"===s||"test"===s?"1px solid var(--df-color-fb-border)":"none"};return H||"preview"!==s?et.jsxs("div",{className:`form-group df-form-table ${d?"selected":""} ${"preview"===s?"preview-mode":"test"===s?"test-mode":""} ${f}`,onClick:O,style:j,children:[et.jsx("div",{className:"table-header",children:et.jsx("div",{className:"table-title",onClick:e=>{e.stopPropagation(),T(!k),u?.({id:t,value:{...n,basic:{...n.basic||{},collapsed:!k}}})},children:et.jsxs("div",{className:"title-content",children:[k?et.jsx(Q,{size:16}):et.jsx(F,{size:16}),et.jsx(L,{size:16}),et.jsx("span",{className:"table-label",children:n.basic?.label||"Table"}),n.validation?.required&&et.jsx("span",{className:"required-indicator",children:"*"})]})})}),n.basic?.description&&!k&&et.jsx("div",{className:"table-description",children:n.basic.description}),!k&&et.jsxs("div",{className:"table-content",children:[null,et.jsxs("table",{style:R,children:[n.table?.displayAsTable&&("edit"===s||n.table?.showColumns)&&et.jsx("thead",{children:et.jsx("tr",{className:"table-header-row",children:Array.from({length:n.table?.columns||n.basic?.columns||3},(t,e)=>{const A=(n.table?.columnNames?.split(",").map(t=>t.trim())||[])[e]||`Column ${e+1}`;return et.jsx("th",{className:"table-header-cell",style:{backgroundColor:(n.styles.headerBackgroundColor,"var(--df-color-fb-container)"),color:n.styles.headerTextColor||"var(--df-color-text-dark)",padding:"12px",border:"1px solid var(--df-color-fb-border)",fontWeight:"600",fontSize:"14px",textAlign:"center"},children:A},`header-${e}`)})})}),et.jsx("tbody",{children:D.map((e,A)=>et.jsx("tr",{className:"table-row",children:e.map(e=>et.jsx(Pt,{cell:e,mode:s,onComponentSelect:g||(()=>{}),onComponentDelete:P,onComponentEdit:w,selectedComponent:B||null,renderFormComponent:M,formData:a,formTemplateId:b,onThresholdActionCompletion:v,onThresholdIssueRaised:C,tableId:t,onNotesChange:x,onAttachmentChange:U,workOrderNumber:E,assetNumber:S,user:N,onCreateIssue:_,onUpdateIssue:I},e.id))},A))})]})]})]}):null};var Mt=Object.freeze({__proto__:null,DfFormTable:Dt,default:Dt});const jt={page:{fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif',padding:"30px",backgroundColor:"#ffffff",color:"#000000",lineHeight:"1.4"},header:{marginBottom:"30px",paddingBottom:"15px",borderBottom:"2px solid #303992",display:"flex",justifyContent:"space-between",alignItems:"flex-end"},title:{margin:"0 0 5px 0",fontSize:"24px",fontWeight:"bold",color:"#303992"},description:{margin:"0",fontSize:"14px",color:"#666666"},submittedBy:{fontSize:"14px",color:"#333",textAlign:"right",whiteSpace:"nowrap",marginBottom:"2px"},formGroup:{marginBottom:"20px",breakInside:"avoid"},label:{fontWeight:"400",display:"block",marginBottom:"8px",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif',fontSize:"14px",lineHeight:"1.5",fontColor:"var(--df-color-text-dark)"},labelLeft:{fontWeight:"400",display:"block",marginRight:"10px",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif',fontSize:"14px",lineHeight:"1.5",width:"60%",fontColor:"var(--df-color-text-dark)"},valueContainer:{border:"1px solid #e2e8f0",borderRadius:"6px",padding:"8px 12px",backgroundColor:"#ffffff",minHeight:"20px",fontSize:"14px",flex:1},value:{fontSize:"14px",color:"#000000"},gridRow:{display:"flex",flexWrap:"wrap",gap:"16px",marginBottom:"20px"},gridCol:t=>({flex:`0 0 calc(${t/12*100}% - 8px)`,minWidth:"0"}),img:{maxWidth:"100%",maxHeight:"300px",border:"1px solid #ddd",borderRadius:"4px",display:"block",marginTop:"5px"},table:{width:"100%",borderCollapse:"collapse",border:"1px solid #ddd",marginTop:"10px",tableLayout:"fixed"},th:{border:"1px solid #ddd",padding:"8px",backgroundColor:"#f5f5f5",fontWeight:"bold",textAlign:"left",fontSize:"13px"},td:{border:"1px solid #ddd",padding:"8px",fontSize:"13px",verticalAlign:"top"},section:{marginBottom:"25px",breakInside:"avoid"},sectionHeader:{fontSize:"18px",marginBottom:"15px",display:"block",fontWeight:"600"},sectionChildren:{marginLeft:"20px",paddingLeft:"20px",borderLeft:"2px solid #3b82f6",marginTop:"15px"},notesSection:{marginTop:"10px",padding:"10px",backgroundColor:"rgba(48, 57, 146, 0.05)",borderLeft:"3px solid #303992",borderRadius:"4px",fontSize:"13px",boxSizing:"border-box"},notesLabel:{fontWeight:"bold",color:"#303992",marginRight:"5px"},attachmentsSection:{marginTop:"10px",padding:"10px",backgroundColor:"rgba(48, 57, 146, 0.05)",borderLeft:"3px solid #303992",borderRadius:"4px",display:"flex",flexWrap:"wrap",gap:"10px",boxSizing:"border-box"},attachmentThumbnail:{width:"60px",height:"60px",border:"1px solid #e5e7eb",borderRadius:"4px",overflow:"hidden",backgroundColor:"#fff",display:"flex",alignItems:"center",justifyContent:"center"},attachmentImg:{width:"100%",height:"100%",objectFit:"cover"},segmentContainer:{display:"flex",gap:"8px",flexWrap:"wrap",alignItems:"center"},segmentButton:{display:"flex",alignItems:"center",justifyContent:"center",padding:"4px 6px",borderRadius:"6px",border:"1px solid #e0e0e0",backgroundColor:"#ffffff",fontSize:"10px",fontWeight:600,minWidth:"30px",color:"#666"},segmentIcon:{marginRight:"4px",fontSize:"9px",fontWeight:"bold",display:"inline-block",lineHeight:"1"},checkboxItem:{display:"flex",alignItems:"center",padding:"10px 14px",backgroundColor:"#f8f9fa",borderRadius:"6px",marginBottom:"8px",width:"100%",boxSizing:"border-box"}},Rt=t=>{if(!t||"string"!=typeof t)return!1;const e=t.trim();return e.startsWith("data:image")||e.startsWith("iVBORw0KGgo")||e.startsWith("/9j/4AAQ")||e.startsWith("UklGR")||e.startsWith("R0lGOD")},Kt=(t,e)=>{if(!t)return"";const A=t.trim();return A.startsWith("data:")||A.startsWith("http")||A.startsWith("blob:")||A.startsWith("/")?A:A.startsWith("iVBORw0KGgo")?`data:image/png;base64,${A}`:A.startsWith("/9j/4AAQ")?`data:image/jpeg;base64,${A}`:A.startsWith("UklGR")?`data:image/webp;base64,${A}`:A.startsWith("R0lGOD")?`data:image/gif;base64,${A}`:e&&e.startsWith("image/")?`data:${e};base64,${A}`:A},Vt=t=>{const e=String(t||"").toLowerCase();return"pass"===e||"yes"===e?"pass":"fail"===e||"no"===e?"fail":"pass"},zt=({component:t})=>{const e=t.basic?.notes||"",A=t.basic?.attachments||[];return e.trim()||0!==A.length?et.jsxs("div",{style:{marginTop:"5px"},children:[e.trim().length>0&&et.jsxs("div",{style:jt.notesSection,children:[et.jsx("span",{style:jt.notesLabel,children:"Notes:"}),e]}),A.length>0&&et.jsx("div",{style:jt.attachmentsSection,children:A.map((t,e)=>{const A=!(!t.data&&!t.url),r=(t.type?.startsWith("image/")||Rt(t.data||t.url||""))&&A?Kt(t.data||t.url||"",t.type):null;return et.jsx("div",{style:jt.attachmentThumbnail,children:r?et.jsx("img",{src:r,alt:t.name||"Attachment",style:jt.attachmentImg}):et.jsx("span",{style:{fontSize:"20px",color:"#999"},children:"📎"})},e)})})]}):null},Gt=({component:t})=>{const e=void 0!==t.basic?.value?t.basic.value:t.basic?.defaultValue,{name:A}=t;if("signature"===A)return e&&Rt(e)?et.jsx("div",{style:{marginTop:"5px"},children:et.jsx("img",{src:Kt(e),alt:"Signature",style:{...jt.img,maxHeight:"100px",width:"auto"}})}):et.jsx("span",{style:{color:"#999",fontStyle:"italic"},children:"No signature"});if("checkbox"===A){const A=t.basic?.options||[],r=(Array.isArray(e)?e:e?[e]:[]).map(t=>String(t));return et.jsx("div",{style:{marginTop:"5px",width:"100%"},children:A.map((t,e)=>{const A=r.includes(String(t.value));return et.jsxs("div",{style:jt.checkboxItem,children:[et.jsx("div",{style:{width:"18px",height:"18px",minWidth:"18px",border:"2px solid "+(A?"#303992":"#cbd5e1"),borderRadius:"4px",marginRight:"12px",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:A?"#303992":"#ffffff"},children:A&&et.jsx("span",{style:{color:"#ffffff",fontSize:"12px",fontWeight:"bold",lineHeight:1},children:"✓"})}),et.jsx("span",{style:{fontSize:"14px",fontWeight:500,color:"#334155"},children:t.label})]},e)})})}if("radio"===A){const A=t.basic?.options||[];return et.jsx("div",{style:{marginTop:"5px",width:"100%"},children:A.map((t,A)=>{const r=String(e||"")===String(t.value||"");return et.jsxs("div",{style:jt.checkboxItem,children:[et.jsx("div",{style:{width:"18px",height:"18px",minWidth:"18px",border:"2px solid "+(r?"#303992":"#cbd5e1"),borderRadius:"50%",marginRight:"12px",display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:"#ffffff"},children:r&&et.jsx("div",{style:{width:"10px",height:"10px",borderRadius:"50%",backgroundColor:"#303992"}})}),et.jsx("span",{style:{fontSize:"14px",fontWeight:500,color:"#334155"},children:t.label})]},A)})})}if("segment"===A){const A=t.basic?.options||[],r=e;return et.jsx("div",{style:jt.segmentContainer,children:A.map((t,e)=>{const A=String(r||"")===String(t.value||""),n=(t=>null!=t?.icon?t.icon:"pass"===Vt(t?.value||t)?"✓":"×")(t),i=t.color||t.backgroundColor,s=Vt(t.value);let a,o,l;i?A?(a=i,o="#ffffff",l=i):(a=`${i}20`,o=i,l=i):"pass"===s?A?(a="#00814b",o="#ffffff",l="#00814b"):(a="#34bd4914",o="#00814b",l="#e0e0e0"):A?(a="#dc3545",o="#ffffff",l="#dc3545"):(a="#fa323d14",o="#dc3545",l="#e0e0e0");const c={...jt.segmentButton,backgroundColor:a,color:o,borderColor:l,borderWidth:"1px",borderStyle:"solid"};return et.jsxs("div",{style:c,children:[et.jsx("span",{style:jt.segmentIcon,children:n}),et.jsx("span",{children:t.value})]},e)})})}if("file"===A){const t=(Array.isArray(e)?e:e?[e]:[]).filter(t=>{const e=!(!t.data&&!t.url),A=t.type&&t.type.startsWith("image/"),r=e&&Rt(t.data||t.url);return A||r});return t.length>0?et.jsx("div",{style:{marginTop:"10px"},children:t.map((t,e)=>{const A=Kt(t.data||t.url,t.type);return A?et.jsx("img",{src:A,alt:t.name||"File",style:{...jt.img,marginBottom:"10px"}},e):null})}):et.jsx("div",{style:{color:"#999",fontStyle:"italic"},children:"No images uploaded"})}if("location"===A){if(e&&"object"==typeof e){const t=e;return et.jsxs("div",{style:{fontSize:"14px"},children:[t.placeName&&et.jsxs("div",{style:{marginBottom:"4px"},children:[et.jsx("strong",{children:"Place:"})," ",t.placeName]}),(t.city||t.country)&&et.jsxs("div",{style:{marginBottom:"4px"},children:[et.jsx("strong",{children:"Address:"})," ",[t.city,t.country].filter(Boolean).join(", ")]}),t.latitude&&t.longitude&&et.jsxs("div",{style:{marginBottom:"4px"},children:[et.jsx("strong",{children:"Coordinates:"})," ",t.latitude.toFixed(6),", ",t.longitude.toFixed(6)]}),t.timestamp&&et.jsxs("div",{children:[et.jsx("strong",{children:"Captured:"})," ",(st(t.timestamp)||new Date).toLocaleString()]})]})}return et.jsx("div",{style:{color:"#999",fontStyle:"italic"},children:"No location data"})}if("instructions"===A){const e=t.basic?.instructions||[],A=t.validation?.listStyle||"numbers";if(!Array.isArray(e)||0===e.length)return et.jsx("div",{style:{color:"#999",fontStyle:"italic"},children:"No instructions"});const r=()=>et.jsx("div",{dangerouslySetInnerHTML:{__html:e.join("")}});return"numbers"===A?et.jsx("ol",{style:{margin:"10px 0",paddingLeft:"25px"},children:et.jsx(r,{})}):"bullets"===A?et.jsx("ul",{style:{margin:"10px 0",paddingLeft:"25px"},children:et.jsx(r,{})}):et.jsx("div",{style:{margin:"10px 0"},children:et.jsx(r,{})})}if("select"===A){const A=t.basic?.options||[],r=e;let n="";if(Array.isArray(r))n=r.map(t=>{const e=A.find(e=>String(e.value)===String(t));return e?e.label:t}).join(", ");else{const t=r,e=A.find(e=>String(e.value)===String(t));n=e?e.label||e.value:null!=t?String(t):""}return et.jsx("div",{style:jt.valueContainer,children:et.jsx("div",{style:jt.value,children:n})})}const r="object"==typeof e?JSON.stringify(e):String(e);if(!["signature","checkbox","radio","segment","file","instructions","heading","section","table","datagrid","select"].includes(A)){const t="textarea"===A;return et.jsx("div",{style:{...jt.valueContainer,...t?{minHeight:"60px",whiteSpace:"pre-wrap"}:{}},children:et.jsx("div",{style:jt.value,children:r})})}return et.jsx("div",{style:jt.value,children:r})},qt=({component:t})=>{const{name:e,basic:A,styles:r,validation:n}=t,i=A?.label,s=n?.required,a="left"===(r?.labelAlignment||"top");if("section"===e){const e=r?.headerBackgroundColor,n=r?.headerTextColor,a={...jt.sectionHeader,...e?{backgroundColor:e,padding:"8px",borderRadius:"4px"}:{},...n?{color:n}:{},display:"flex",alignItems:"center"};return et.jsxs("div",{style:jt.section,children:[i&&et.jsx("label",{style:a,children:et.jsxs("span",{style:{flex:1},children:[i,s&&" *"]})}),A?.description&&et.jsx("p",{style:{...jt.description,marginBottom:"15px"},children:A.description}),et.jsx(zt,{component:t}),et.jsx("div",{style:jt.sectionChildren,children:et.jsx(Wt,{components:t.children||[]})})]})}if("heading"===e){const t=`h${Math.max(1,Math.min(6,r?.level??A?.level??1))}`,e={...r?.headerBackgroundColor?{backgroundColor:r.headerBackgroundColor,padding:"8px",borderRadius:"4px"}:{},...r?.headerTextColor?{color:r.headerTextColor}:{},...r?.fontSize?{fontSize:r.fontSize}:{},...r?.textAlign?{textAlign:r.textAlign}:{},marginTop:0,marginBottom:"15px"};return et.jsx("div",{style:jt.formGroup,children:et.jsx(t,{style:e,children:A?.label||A?.value})})}if("table"===e){const e=t.cells||[],A=Math.max(0,...e.map(t=>t?t.length:0)),n=A>0?100/A:100,a=r?.headerBackgroundColor,o=r?.headerTextColor,l={...jt.label,...a?{backgroundColor:a,padding:"8px",borderRadius:"4px",marginBottom:"10px"}:{},...o?{color:o}:{}};return et.jsxs("div",{style:jt.formGroup,children:[i&&et.jsxs("label",{style:l,children:[i,s&&" *"]}),et.jsx("table",{style:jt.table,children:et.jsx("tbody",{children:e.map((t,e)=>et.jsx("tr",{children:t&&t.map((t,e)=>et.jsx("td",{style:{...jt.td,width:`${n}%`},children:t.components&&t.components.map((t,e)=>et.jsxs("div",{style:{marginBottom:"8px"},children:[t.basic?.label&&et.jsxs("span",{style:{fontWeight:"bold",marginRight:"5px",fontSize:"12px"},children:[t.basic.label,":"]}),et.jsx(Gt,{component:t}),et.jsx(zt,{component:t})]},e))},e))},e))})})]})}if("datagrid"===e){const e=t.entries||[];let A=t.templateComponents||[];0===A.length&&e.length>0&&e[0]?.components&&(A=e[0].components.map(t=>({...t,basic:{...t.basic,label:t.basic?.label||t.name}})));const n=r?.headerBackgroundColor,a=r?.headerTextColor,o={...jt.label,...n?{backgroundColor:n,padding:"8px",borderRadius:"4px",marginBottom:"10px"}:{},...a?{color:a}:{}},l=e.filter(t=>!(!t.components||0===t.components.length)&&t.components.some(t=>{const e=void 0!==t.basic?.value?t.basic.value:t.basic?.defaultValue;return Array.isArray(e)?e.length>0:null!=e&&""!==String(e).trim()}));return 0===l.length?et.jsxs("div",{style:jt.formGroup,children:[i&&et.jsxs("label",{style:o,children:[i,s&&" *"]}),et.jsx("div",{style:{fontStyle:"italic",color:"#999"},children:"No data"})]}):et.jsxs("div",{style:jt.formGroup,children:[i&&et.jsxs("label",{style:o,children:[i,s&&" *"]}),et.jsxs("table",{style:jt.table,children:[et.jsx("thead",{children:et.jsx("tr",{children:A.map((t,e)=>et.jsx("th",{style:jt.th,children:t.basic?.label||t.name},e))})}),et.jsx("tbody",{children:l.map((t,e)=>et.jsx("tr",{children:A.map((e,A)=>{const r=t.components[A];return et.jsx("td",{style:jt.td,children:r?et.jsxs(et.Fragment,{children:[et.jsx(Gt,{component:r}),et.jsx(zt,{component:r})]}):"N/A"},A)})},e))})]})]})}if(a&&"instructions"!==e){const A=["segment"].includes(e);return et.jsxs("div",{style:jt.formGroup,children:[et.jsxs("div",{style:{display:"flex",alignItems:"center"},children:[i&&et.jsxs("label",{style:jt.labelLeft,children:[i,s&&" *"]}),et.jsx("div",{style:{flex:1,...A?{display:"flex",justifyContent:"flex-end"}:{}},children:et.jsx(Gt,{component:t})})]}),et.jsx(zt,{component:t})]})}return et.jsxs("div",{style:jt.formGroup,children:[i&&et.jsxs("label",{style:jt.label,children:[i,s&&" *"]}),et.jsx(Gt,{component:t}),et.jsx(zt,{component:t})]})},Wt=({components:t})=>{if(!t||0===t.length)return null;const e=[];let A=[],r=0;return t.forEach(t=>{const n=["section","table","datagrid","heading","instructions"].includes(t.name),i=n?12:t.styles?.column||12;r+i>12&&A.length>0&&(e.push(A),A=[],r=0),A.push(t),r+=i,(n||r>=12)&&r>0&&(e.push(A),A=[],r=0)}),A.length>0&&e.push(A),et.jsx(et.Fragment,{children:e.map((t,e)=>1===t.length?et.jsx(qt,{component:t[0]},t[0].id||e):et.jsx("div",{style:jt.gridRow,children:t.map((t,e)=>{const A=t.styles?.column||12;return et.jsx("div",{style:jt.gridCol(A),children:et.jsx(qt,{component:t})},t.id||e)})},e))})},Xt=({formTitle:t,formDescription:e,userName:A,components:r})=>et.jsxs("div",{className:"pdf-container",style:jt.page,children:[et.jsxs("div",{style:jt.header,children:[et.jsxs("div",{children:[et.jsx("h1",{style:jt.title,children:t}),e&&et.jsx("p",{style:jt.description,children:e})]}),A&&et.jsxs("div",{style:jt.submittedBy,children:[et.jsx("strong",{children:"Submitted By:"})," ",A]})]}),et.jsx("div",{className:"form-content",children:et.jsx(Wt,{components:r})})]});var Yt,Jt=_;if("production"===process.env.NODE_ENV)Yt=Jt.createRoot,Jt.hydrateRoot;else{var $t=Jt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;Yt=function(t,e){$t.usingClientEntryPoint=!0;try{return Jt.createRoot(t,e)}finally{$t.usingClientEntryPoint=!1}}}var Zt={exports:{}};
|
|
11
11
|
/*!
|
|
12
12
|
* html2canvas 1.4.1 <https://html2canvas.hertzen.com>
|
|
13
13
|
* Copyright (c) 2022 Niklas von Hertzen <https://hertzen.com>
|