df-ae-forms-package 1.0.5 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -7,5 +7,5 @@ import e,{useState as t,useEffect as i,useCallback as n,useMemo as s,useRef as a
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?z.exports=function(){if(_)return P;_=1;var t=e,i=Symbol.for("react.element"),n=Symbol.for("react.fragment"),s=Object.prototype.hasOwnProperty,a=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,r={key:!0,ref:!0,__self:!0,__source:!0};function o(e,t,n){var o,l={},c=null,d=null;for(o in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(d=t.ref),t)s.call(t,o)&&!r.hasOwnProperty(o)&&(l[o]=t[o]);if(e&&e.defaultProps)for(o in t=e.defaultProps)void 0===l[o]&&(l[o]=t[o]);return{$$typeof:i,type:e,key:c,ref:d,props:l,_owner:a.current}}return P.Fragment=n,P.jsx=o,P.jsxs=o,P}():z.exports=(W||(W=1,"production"!==process.env.NODE_ENV&&function(){var t,i=e,n=Symbol.for("react.element"),s=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),c=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),m=Symbol.for("react.suspense_list"),p=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),f=Symbol.for("react.offscreen"),b=Symbol.iterator,g=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function v(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];!function(e,t,i){var n=g.ReactDebugCurrentFrame.getStackAddendum();""!==n&&(t+="%s",i=i.concat([n]));var s=i.map(function(e){return String(e)});s.unshift("Warning: "+t),Function.prototype.apply.call(console[e],console,s)}("error",e,i)}function x(e){return e.displayName||"Context"}function y(e){if(null==e)return null;if("number"==typeof e.tag&&v("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),"function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case a:return"Fragment";case s:return"Portal";case o:return"Profiler";case r:return"StrictMode";case u:return"Suspense";case m:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case c:return x(e)+".Consumer";case l:return x(e._context)+".Provider";case d:return function(e,t,i){var n=e.displayName;if(n)return n;var s=t.displayName||t.name||"";return""!==s?i+"("+s+")":i}(e,e.render,"ForwardRef");case p:var t=e.displayName||null;return null!==t?t:y(e.type)||"Memo";case h:var i=e,n=i._payload,f=i._init;try{return y(f(n))}catch(e){return null}}return null}t=Symbol.for("react.module.reference");var j,N,C,w,S,k,E,$=Object.assign,T=0;function A(){}A.__reactDisabledLog=!0;var I,L=g.ReactCurrentDispatcher;function R(e,t,i){if(void 0===I)try{throw Error()}catch(e){var n=e.stack.trim().match(/\n( *(at )?)/);I=n&&n[1]||""}return"\n"+I+e}var D,V=!1,F="function"==typeof WeakMap?WeakMap:Map;function O(e,t){if(!e||V)return"";var i,n=D.get(e);if(void 0!==n)return n;V=!0;var s,a=Error.prepareStackTrace;Error.prepareStackTrace=void 0,s=L.current,L.current=null,function(){if(0===T){j=console.log,N=console.info,C=console.warn,w=console.error,S=console.group,k=console.groupCollapsed,E=console.groupEnd;var e={configurable:!0,enumerable:!0,value:A,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}T++}();try{if(t){var r=function(){throw Error()};if(Object.defineProperty(r.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(r,[])}catch(e){i=e}Reflect.construct(e,[],r)}else{try{r.call()}catch(e){i=e}e.call(r.prototype)}}else{try{throw Error()}catch(e){i=e}e()}}catch(t){if(t&&i&&"string"==typeof t.stack){for(var o=t.stack.split("\n"),l=i.stack.split("\n"),c=o.length-1,d=l.length-1;c>=1&&d>=0&&o[c]!==l[d];)d--;for(;c>=1&&d>=0;c--,d--)if(o[c]!==l[d]){if(1!==c||1!==d)do{if(c--,--d<0||o[c]!==l[d]){var u="\n"+o[c].replace(" at new "," at ");return e.displayName&&u.includes("<anonymous>")&&(u=u.replace("<anonymous>",e.displayName)),"function"==typeof e&&D.set(e,u),u}}while(c>=1&&d>=0);break}}}finally{V=!1,L.current=s,function(){if(0===--T){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:$({},e,{value:j}),info:$({},e,{value:N}),warn:$({},e,{value:C}),error:$({},e,{value:w}),group:$({},e,{value:S}),groupCollapsed:$({},e,{value:k}),groupEnd:$({},e,{value:E})})}T<0&&v("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}(),Error.prepareStackTrace=a}var m=e?e.displayName||e.name:"",p=m?R(m):"";return"function"==typeof e&&D.set(e,p),p}function q(e,t,i){if(null==e)return"";if("function"==typeof e)return O(e,!(!(n=e.prototype)||!n.isReactComponent));var n;if("string"==typeof e)return R(e);switch(e){case u:return R("Suspense");case m:return R("SuspenseList")}if("object"==typeof e)switch(e.$$typeof){case d:return O(e.render,!1);case p:return q(e.type,t,i);case h:var s=e,a=s._payload,r=s._init;try{return q(r(a),t,i)}catch(e){}}return""}D=new F;var M=Object.prototype.hasOwnProperty,_={},z=g.ReactDebugCurrentFrame;function P(e){if(e){var t=e._owner,i=q(e.type,e._source,t?t.type:null);z.setExtraStackFrame(i)}else z.setExtraStackFrame(null)}var W=Array.isArray;function U(e){return W(e)}function J(e){return""+e}function H(e){if(function(e){try{return J(e),!1}catch(e){return!0}}(e))return v("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",function(e){return"function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object"}(e)),J(e)}var Y,G,X,K=g.ReactCurrentOwner,Z={key:!0,ref:!0,__self:!0,__source:!0};function Q(e,t,i,s,a){var r,o={},l=null,c=null;for(r in void 0!==i&&(H(i),l=""+i),function(e){if(M.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}(t)&&(H(t.key),l=""+t.key),function(e){if(M.call(e,"ref")){var t=Object.getOwnPropertyDescriptor(e,"ref").get;if(t&&t.isReactWarning)return!1}return void 0!==e.ref}(t)&&(c=t.ref,function(e,t){if("string"==typeof e.ref&&K.current&&t&&K.current.stateNode!==t){var i=y(K.current.type);X[i]||(v('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(K.current.type),e.ref),X[i]=!0)}}(t,a)),t)M.call(t,r)&&!Z.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps){var d=e.defaultProps;for(r in d)void 0===o[r]&&(o[r]=d[r])}if(l||c){var u="function"==typeof e?e.displayName||e.name||"Unknown":e;l&&function(e,t){var i=function(){Y||(Y=!0,v("%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)",t))};i.isReactWarning=!0,Object.defineProperty(e,"key",{get:i,configurable:!0})}(o,u),c&&function(e,t){var i=function(){G||(G=!0,v("%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)",t))};i.isReactWarning=!0,Object.defineProperty(e,"ref",{get:i,configurable:!0})}(o,u)}return function(e,t,i,s,a,r,o){var l={$$typeof:n,type:e,key:t,ref:i,props:o,_owner:r,_store:{}};return Object.defineProperty(l._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(l,"_self",{configurable:!1,enumerable:!1,writable:!1,value:s}),Object.defineProperty(l,"_source",{configurable:!1,enumerable:!1,writable:!1,value:a}),Object.freeze&&(Object.freeze(l.props),Object.freeze(l)),l}(e,l,c,a,s,K.current,o)}X={};var ee,te=g.ReactCurrentOwner,ie=g.ReactDebugCurrentFrame;function ne(e){if(e){var t=e._owner,i=q(e.type,e._source,t?t.type:null);ie.setExtraStackFrame(i)}else ie.setExtraStackFrame(null)}function se(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}function ae(){if(te.current){var e=y(te.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}ee=!1;var re={};function oe(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var i=function(e){var t=ae();if(!t){var i="string"==typeof e?e:e.displayName||e.name;i&&(t="\n\nCheck the top-level render call using <"+i+">.")}return t}(t);if(!re[i]){re[i]=!0;var n="";e&&e._owner&&e._owner!==te.current&&(n=" It was passed a child from "+y(e._owner.type)+"."),ne(e),v('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',i,n),ne(null)}}}function le(e,t){if("object"==typeof e)if(U(e))for(var i=0;i<e.length;i++){var n=e[i];se(n)&&oe(n,t)}else if(se(e))e._store&&(e._store.validated=!0);else if(e){var s=function(e){if(null===e||"object"!=typeof e)return null;var t=b&&e[b]||e["@@iterator"];return"function"==typeof t?t:null}(e);if("function"==typeof s&&s!==e.entries)for(var a,r=s.call(e);!(a=r.next()).done;)se(a.value)&&oe(a.value,t)}}function ce(e){var t,i=e.type;if(null!=i&&"string"!=typeof i){if("function"==typeof i)t=i.propTypes;else{if("object"!=typeof i||i.$$typeof!==d&&i.$$typeof!==p)return;t=i.propTypes}if(t){var n=y(i);!function(e,t,i,n,s){var a=Function.call.bind(M);for(var r in e)if(a(e,r)){var o=void 0;try{if("function"!=typeof e[r]){var l=Error((n||"React class")+": "+i+" type `"+r+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[r]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw l.name="Invariant Violation",l}o=e[r](t,r,n,i,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(e){o=e}!o||o instanceof Error||(P(s),v("%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).",n||"React class",i,r,typeof o),P(null)),o instanceof Error&&!(o.message in _)&&(_[o.message]=!0,P(s),v("Failed %s type: %s",i,o.message),P(null))}}(t,e.props,"prop",n,e)}else void 0===i.PropTypes||ee||(ee=!0,v("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",y(i)||"Unknown"));"function"!=typeof i.getDefaultProps||i.getDefaultProps.isReactClassApproved||v("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}var de={};function ue(e,i,s,b,g,x){var j=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===o||e===r||e===u||e===m||e===f||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===p||e.$$typeof===l||e.$$typeof===c||e.$$typeof===d||e.$$typeof===t||void 0!==e.getModuleId)}(e);if(!j){var N="";(void 0===e||"object"==typeof e&&null!==e&&0===Object.keys(e).length)&&(N+=" 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,w=function(e){return void 0!==e?"\n\nCheck your code at "+e.fileName.replace(/^.*[\\\/]/,"")+":"+e.lineNumber+".":""}(g);N+=w||ae(),null===e?C="null":U(e)?C="array":void 0!==e&&e.$$typeof===n?(C="<"+(y(e.type)||"Unknown")+" />",N=" Did you accidentally export a JSX literal instead of a component?"):C=typeof e,v("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",C,N)}var S=Q(e,i,s,g,x);if(null==S)return S;if(j){var k=i.children;if(void 0!==k)if(b)if(U(k)){for(var E=0;E<k.length;E++)le(k[E],e);Object.freeze&&Object.freeze(k)}else v("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 le(k,e)}if(M.call(i,"key")){var $=y(e),T=Object.keys(i).filter(function(e){return"key"!==e}),A=T.length>0?"{key: someKey, "+T.join(": ..., ")+": ...}":"{key: someKey}";de[$+A]||(v('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} />',A,$,T.length>0?"{"+T.join(": ..., ")+": ...}":"{}",$),de[$+A]=!0)}return e===a?function(e){for(var t=Object.keys(e.props),i=0;i<t.length;i++){var n=t[i];if("children"!==n&&"key"!==n){ne(e),v("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",n),ne(null);break}}null!==e.ref&&(ne(e),v("Invalid attribute `ref` supplied to `React.Fragment`."),ne(null))}(S):ce(S),S}var me=function(e,t,i){return ue(e,t,i,!1)},pe=function(e,t,i){return ue(e,t,i,!0)};B.Fragment=a,B.jsx=me,B.jsxs=pe}()),B);var U=z.exports;class J{constructor(){}static getInstance(){return J.instance||(J.instance=new J),J.instance}getAvailableComponentsForConditional(e,t){if(!e||!Array.isArray(e))return[];return e.filter(e=>!t||e.id!==t).map(e=>({id:e.id,label:e.basic?.label||e.id,type:e.name,key:e.id})).sort((e,t)=>e.label.localeCompare(t.label))}getApplicableOperators(e){switch(e){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["contains","notContains","isEmpty","isNotEmpty"]}}validateConditionalLogic(e,t){const i=[];return e?(["show","hide","always"].includes(e.action)||i.push("Invalid conditional action"),["all","any"].includes(e.when)||i.push("Invalid when condition"),e.conditions&&0!==e.conditions.length?e.conditions.forEach((e,n)=>{const s=t.find(t=>t.id===e.when);if(!s)return void i.push(`Condition ${n+1}: Component not found`);this.getApplicableOperators(s.name).includes(e.operator)||i.push(`Condition ${n+1}: Operator not applicable for component type`),this.isValidConditionValue(e.value,s.name,e.operator)||i.push(`Condition ${n+1}: Invalid condition value`)}):i.push("At least one condition is required"),{isValid:0===i.length,errors:i}):{isValid:!0,errors:[]}}evaluateConditionalLogic(e,t,i){if("always"===e.action)return{shouldShow:!0,evaluatedConditions:[]};if(!e||!e.conditions||0===e.conditions.length)return{shouldShow:!0,evaluatedConditions:[]};const n=e.conditions.map(e=>{const n=this.getComponentValue(e.when,t,i);return{condition:e,result:this.evaluateCondition(e,n),componentValue:n}});return{shouldShow:this.determineFinalResult(e,n),evaluatedConditions:n}}getComponentValue(e,t,i){if(i&&void 0!==i[e])return i[e];const n=t.find(t=>t.id===e);return n&&"defaultValue"in n.basic?n.basic.defaultValue:void 0}evaluateCondition(e,t){const{operator:i,value:n}=e;if("checked"===n||"notChecked"===n)return this.evaluateCheckboxCondition(t,n);switch(i){case"equals":return this.isEqual(t,n);case"notEquals":return!this.isEqual(t,n);case"isEmpty":return this.isEmpty(t);case"isNotEmpty":return!this.isEmpty(t);case"contains":return this.contains(t,n);case"notContains":return!this.contains(t,n);case"greaterThan":return this.isGreaterThan(t,n);case"lessThan":return this.isLessThan(t,n);case"greaterThanOrEqual":return this.isGreaterThanOrEqual(t,n);case"lessThanOrEqual":return this.isLessThanOrEqual(t,n);default:return!1}}evaluateCheckboxCondition(e,t){const i=this.isCheckboxChecked(e);return"checked"===t?i:"notChecked"===t&&!i}isCheckboxChecked(e){return null!=e&&("boolean"==typeof e?e:"string"==typeof e?"true"===e.toLowerCase()||"1"===e:Array.isArray(e)?e.length>0:"number"==typeof e&&e>0)}determineFinalResult(e,t){let i,n;return i="all"===e.when?t.every(e=>e.result):"any"===e.when&&t.some(e=>e.result),n="show"===e.action?i:"hide"===e.action?!i:(e.action,!0),n}isEqual(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length&&e.every((e,i)=>this.isEqual(e,t[i]));if("object"==typeof e&&"object"==typeof t){const i=Object.keys(e),n=Object.keys(t);return i.length===n.length&&i.every(i=>this.isEqual(e[i],t[i]))}return!1}isEmpty(e){return null==e||void 0===e||("string"==typeof e?""===e.trim():Array.isArray(e)?0===e.length:"object"==typeof e&&0===Object.keys(e).length)}contains(e,t){return null!=e&&null!=t&&("string"==typeof e?e.toLowerCase().includes(String(t).toLowerCase()):!!Array.isArray(e)&&e.some(e=>this.isEqual(e,t)))}isGreaterThan(e,t){const i=Number(e),n=Number(t);return!isNaN(i)&&!isNaN(n)&&i>n}isLessThan(e,t){const i=Number(e),n=Number(t);return!isNaN(i)&&!isNaN(n)&&i<n}isGreaterThanOrEqual(e,t){const i=Number(e),n=Number(t);return!isNaN(i)&&!isNaN(n)&&i>=n}isLessThanOrEqual(e,t){const i=Number(e),n=Number(t);return!isNaN(i)&&!isNaN(n)&&i<=n}isValidConditionValue(e,t,i){if(null==e)return["isEmpty","isNotEmpty"].includes(i);switch(t){case"number-input":return!isNaN(Number(e))||["isEmpty","isNotEmpty"].includes(i);case"date-picker":case"datetime-picker":return!isNaN(Date.parse(e))||["isEmpty","isNotEmpty"].includes(i);case"checkbox":return Array.isArray(e)||"string"==typeof e||"number"==typeof e;default:return!0}}createDefaultConditionalLogic(){return{action:"show",when:"all",conditions:[]}}getOperatorDisplayText(e){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"}[e]||e}getActionDisplayText(e){return{show:"Show this field when",hide:"Hide this field when",always:"Always show this field"}[e]||e}getConditionalLogicSummary(e,t){if(!e||0===e.conditions.length)return"No conditions";if("always"===e.action)return"Always show";const i=this.getActionDisplayText(e.action),n=e.conditions.map(e=>{const i=t.find(t=>t.id===e.when);return`${i?.basic.label||"Unknown component"} ${this.getOperatorDisplayText(e.operator)} ${this.formatConditionValue(e.value)}`}),s="all"===e.when?" and ":" or ";return`${i} ${n.join(s)}`}formatConditionValue(e){return null==e?"empty":Array.isArray(e)?`[${e.join(", ")}]`:"string"==typeof e?`"${e}"`:String(e)}}const H=J.getInstance();const Y=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(e=>e([...this.toasts]))}addToast(e){try{this.toasts.push(e),this.notifyListeners(),this.timeouts[e.id]=setTimeout(()=>{this.removeToast(e.id)},e.duration||this.defaultDuration)}catch(e){console.error("Error displaying toast message:",e)}}removeToast(e){this.timeouts[e]&&(clearTimeout(this.timeouts[e]),delete this.timeouts[e]),this.toasts=this.toasts.filter(t=>t.id!==e),this.notifyListeners()}showSuccess(e,t=3e3){const i={id:this.generateId(),message:e,type:"success",duration:t};this.addToast(i)}showError(e,t=5e3){const i={id:this.generateId(),message:e,type:"danger",duration:t};this.addToast(i)}showWarning(e,t){const i={id:this.generateId(),message:e,type:"warning",duration:t};this.addToast(i)}showInfo(e,t){const i={id:this.generateId(),message:e,type:"info",duration:t};this.addToast(i)}show(e,t="success",i){const n={id:this.generateId(),message:e,type:t,duration:i};this.addToast(n)}clearAll(){Object.values(this.timeouts).forEach(e=>clearTimeout(e)),this.timeouts={},this.toasts=[],this.notifyListeners()}subscribe(e){return this.listeners.push(e),()=>{this.listeners=this.listeners.filter(t=>t!==e)}}getToasts(){return[...this.toasts]}},G=({validationErrors:e,fieldId:t,touchedFields:i,formSubmitted:n,properties:s,localValidation:a,isTouched:r,mode:o})=>{const l=e=>{const t=s.basic.label||"This field",i=s.validation.customValidationMessage;if(i)return i;const n=s.name||"",a="date-picker"===n||"datetime-picker"===n?s.basic?.dateTimeMode||("datetime-picker"===n?"datetime":"date"):null;switch(e){case"required":return`${t} is required`;case"invalidDate":return"time"===a?"Please select a valid time":"datetime"===a?"Please select a valid date and time":"date"===a?"Please select a valid date":`${t} is invalid`;case"minLength":return`${t} must be at least ${s.validation.minLength} characters long`;case"maxLength":return`${t} must be no more than ${s.validation.maxLength} characters long`;case"min":return`${t} must be at least ${s.validation.min}`;case"max":return`${t} must be no more than ${s.validation.max}`;case"lowerLimit":const e=s.validation,i=e?.lowerLimit;return`You are under the limit. ${t} must be at least ${i}`;case"upperLimit":const n=s.validation,r=n?.upperLimit;return`You crossed the limit. ${t} must be no more than ${r}`;case"pattern":return`${t} format is invalid`;case"email":return`${t} must be a valid email address`;default:return`${t} is invalid`}},c=(()=>{if("test"!==o)return"";if(!(r||i[t]||n))return"";if(a&&a.isValid)return"";if(a&&!a.isValid&&Object.keys(a.errors).length>0){const e=Object.keys(a.errors);if(e.length>0){const t=e[0];return l(t)}}const c=e[t];if(c&&"string"==typeof c&&""!==c.trim()){const e=s.name||"";if(("date-picker"===e||"datetime-picker"===e)&&c.includes("valid date")){const t=s.basic?.dateTimeMode||("datetime-picker"===e?"datetime":"date");if("time"===t)return"Please select a valid time";if("datetime"===t)return"Please select a valid date and time"}return c}return""})();return c?U.jsx("div",{className:"form-error-msg",children:c}):null};var X;!function(e){e.OPEN="Open",e.IN_PROGRESS="In-Progress",e.REJECTED="Rejected",e.RESOLVE="Resolve"}(X||(X={}));const K=({isOpen:e,onClose:n,onSuccess:s,component:a,formTemplateId:u,formInstanceId:m,notes:p="",attachments:h=null,issue:f=null,onCreateIssue:b,onUpdateIssue:g,user:v,availableUsers:x=["Priya Das","Maria Garcia","John Smith","Sarah Johnson"]})=>{const[y,j]=t(""),[N,C]=t(""),[w,S]=t(""),[k,E]=t(""),[$,T]=t(""),[A,I]=t(""),[R,D]=t(""),[V,F]=t("Medium"),[O,q]=t(X.OPEN),[M,_]=t(""),[z,P]=t(""),[W,B]=t(""),[J,H]=t(!1),G=!!f;i(()=>{if(e)if(f){j(f.title||""),C(f.description||""),S(f.workOrderNumber||""),E(f.workOrderId||""),T(f.assetNumber||""),I(f.assetId||""),D(f.assetDescription||""),F(f.priority||"Medium");const e=f.status||X.OPEN,t=e===X.OPEN||e===X.IN_PROGRESS||e===X.REJECTED||e===X.RESOLVE?e:X.OPEN;q(t),_(f.assignee||""),P(f.comments||""),B(f.formInstanceId||m||"")}else if(a){const e=a.basic?.label||"Component";j(`${e} - Issue`);let t=`Issue raised for component: ${e}`;a.basic&&"value"in a.basic&&a.basic.value&&(t+=`\nComponent Value: ${a.basic.value}`),p&&(t+=`\nNotes: ${p}`),C(t),P(p||""),B(m||"")}},[e,a,p,f,m]);const K=async e=>{if(f){H(!0);try{const t={title:String(y||"").trim(),description:String(N||"").trim(),workOrderNumber:String(w||"").trim()||"",workOrderId:String(k||"").trim()||"",assetNumber:String($||"").trim()||"",assetId:String(A||"").trim()||"",assetDescription:String(R||"").trim()||"",formTemplateId:f.formTemplateId||"",formInstanceId:String(W||"").trim()||m||"",component:f.component||{},priority:V,assignee:String(M||"").trim()||void 0,status:e,comments:String(z||"").trim()||""};g&&f._id&&await g(f._id,t),q(e);const i={[X.IN_PROGRESS]:"Issue accepted and moved to In-Progress",[X.RESOLVE]:"Issue resolved successfully",[X.REJECTED]:"Issue rejected"};Y.showSuccess(i[e]||"Issue status updated successfully"),s&&s(),n()}catch(e){const t=e?.message||e?.error?.message||"Failed to update issue status. Please try again.";Y.showError(t)}finally{H(!1)}}};if(!e)return null;const Z=U.jsx("div",{className:"raise-issue-modal-overlay",onClick:n,children:U.jsxs("div",{className:"raise-issue-modal",onClick:e=>e.stopPropagation(),children:[U.jsxs("div",{className:"raise-issue-modal-header",children:[U.jsxs("div",{className:"raise-issue-modal-header-left",children:[U.jsx(r,{className:"raise-issue-modal-icon",size:20}),U.jsx("div",{className:"raise-issue-modal-header-text",children:U.jsx("div",{className:"raise-issue-modal-title-main",children:"Issue Details"})})]}),U.jsx("button",{className:"raise-issue-modal-close",onClick:n,"aria-label":"Close",children:U.jsx(o,{size:18})})]}),U.jsx("div",{className:"raise-issue-modal-content",children:U.jsxs("div",{className:"raise-issue-fields-grid",children:[G&&f?.issueNumber&&U.jsxs("div",{className:"raise-issue-field",children:[U.jsx("label",{className:"raise-issue-field-label",children:"Issue ID"}),U.jsx("input",{type:"text",className:"raise-issue-field-input raise-issue-field-readonly",value:f.issueNumber,readOnly:!0})]}),U.jsxs("div",{className:"raise-issue-field",children:[U.jsxs("label",{className:"raise-issue-field-label",children:["Title ",U.jsx("span",{className:"raise-issue-required",children:"*"})]}),U.jsx("input",{type:"text",className:"raise-issue-field-input "+(G?"raise-issue-field-readonly":""),value:y,onChange:e=>j(e.target.value),placeholder:"Enter issue title",readOnly:G})]}),U.jsxs("div",{className:"raise-issue-field",children:[U.jsxs("label",{className:"raise-issue-field-label",children:["Work Order ",U.jsx("span",{className:"raise-issue-required",children:"*"})]}),U.jsx("input",{type:"text",className:"raise-issue-field-input "+(G?"raise-issue-field-readonly":""),value:w,onChange:e=>S(e.target.value),placeholder:"N/A",readOnly:G})]}),U.jsxs("div",{className:"raise-issue-field",children:[U.jsxs("label",{className:"raise-issue-field-label",children:["Work Order ID ",U.jsx("span",{className:"raise-issue-required",children:"*"})]}),U.jsx("input",{type:"text",className:"raise-issue-field-input "+(G?"raise-issue-field-readonly":""),value:k,onChange:e=>E(e.target.value),placeholder:"Enter work order ID",readOnly:G})]}),U.jsxs("div",{className:"raise-issue-field",children:[U.jsxs("label",{className:"raise-issue-field-label",children:["Asset ",U.jsx("span",{className:"raise-issue-required",children:"*"})]}),U.jsx("input",{type:"text",className:"raise-issue-field-input "+(G?"raise-issue-field-readonly":""),value:$,onChange:e=>T(e.target.value),placeholder:"Enter asset number",readOnly:G})]}),U.jsxs("div",{className:"raise-issue-field",children:[U.jsxs("label",{className:"raise-issue-field-label",children:["Asset ID ",U.jsx("span",{className:"raise-issue-required",children:"*"})]}),U.jsx("input",{type:"text",className:"raise-issue-field-input "+(G?"raise-issue-field-readonly":""),value:A,onChange:e=>I(e.target.value),placeholder:"Enter asset ID",readOnly:G})]}),U.jsxs("div",{className:"raise-issue-field",children:[U.jsxs("label",{className:"raise-issue-field-label",children:["Asset Description ",U.jsx("span",{className:"raise-issue-required",children:"*"})]}),U.jsx("input",{type:"text",className:"raise-issue-field-input "+(G?"raise-issue-field-readonly":""),value:R,onChange:e=>D(e.target.value),placeholder:"Enter asset description",readOnly:G})]}),U.jsxs("div",{className:"raise-issue-field",children:[U.jsxs("label",{className:"raise-issue-field-label",children:["Form Instance ID ",U.jsx("span",{className:"raise-issue-required",children:"*"})]}),U.jsx("input",{type:"text",className:"raise-issue-field-input "+(G?"raise-issue-field-readonly":""),value:W,onChange:e=>B(e.target.value),placeholder:"Enter form instance ID",readOnly:G})]}),U.jsxs("div",{className:"raise-issue-field",children:[U.jsx("label",{className:"raise-issue-field-label",children:"Raised By"}),U.jsxs("div",{className:"raise-issue-field-value-with-icon",children:[U.jsx(l,{size:16}),U.jsx("span",{children:v&&`${v.firstName||""} ${v.lastName||""}`.trim()||"User"})]})]}),U.jsxs("div",{className:"raise-issue-field",children:[U.jsx("label",{className:"raise-issue-field-label",children:"Created On"}),U.jsxs("div",{className:"raise-issue-field-value-with-icon",children:[U.jsx(c,{size:16}),U.jsx("span",{children:G&&f?.createdAt?new Date(f.createdAt).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})})]})]}),U.jsxs("div",{className:"raise-issue-field raise-issue-field-full-width",children:[U.jsxs("label",{className:"raise-issue-field-label",children:["Description ",U.jsx("span",{className:"raise-issue-required",children:"*"})]}),U.jsx("textarea",{className:"raise-issue-field-textarea "+(G?"raise-issue-field-readonly":""),value:N,onChange:e=>C(e.target.value),placeholder:"Enter issue description",rows:4,readOnly:G})]}),U.jsxs("div",{className:"raise-issue-field",children:[U.jsxs("label",{className:"raise-issue-field-label",children:["Status ",U.jsx("span",{className:"raise-issue-required",children:"*"})]}),U.jsxs("select",{className:"raise-issue-field-select "+(G?"raise-issue-field-readonly":""),value:O,onChange:e=>q(e.target.value),disabled:G,children:[U.jsx("option",{value:X.OPEN,children:X.OPEN}),U.jsx("option",{value:X.IN_PROGRESS,children:X.IN_PROGRESS}),U.jsx("option",{value:X.REJECTED,children:X.REJECTED}),U.jsx("option",{value:X.RESOLVE,children:X.RESOLVE})]})]}),U.jsxs("div",{className:"raise-issue-field",children:[U.jsxs("label",{className:"raise-issue-field-label",children:["Assignee ",U.jsx("span",{className:"raise-issue-required",children:"*"})]}),U.jsxs("select",{className:"raise-issue-field-select",value:M,onChange:e=>_(e.target.value),children:[U.jsx("option",{value:"",children:"Unassigned"}),x.map(e=>U.jsx("option",{value:e,children:e},e))]})]}),U.jsxs("div",{className:"raise-issue-field raise-issue-field-full-width",children:[U.jsxs("label",{className:"raise-issue-field-label",children:["Priority ",U.jsx("span",{className:"raise-issue-required",children:"*"})]}),U.jsxs("div",{className:"raise-issue-priority-buttons",children:[U.jsx("button",{type:"button",className:"priority-button priority-low "+("Low"===V?"active":""),onClick:()=>F("Low"),children:"Low"}),U.jsx("button",{type:"button",className:"priority-button priority-medium "+("Medium"===V?"active":""),onClick:()=>F("Medium"),children:"Medium"}),U.jsx("button",{type:"button",className:"priority-button priority-high "+("High"===V?"active":""),onClick:()=>F("High"),children:"High"})]})]}),U.jsxs("div",{className:"raise-issue-field raise-issue-field-full-width",children:[U.jsxs("label",{className:"raise-issue-field-label-with-icon",children:[U.jsx(d,{size:16}),U.jsx("span",{children:"Comments"})]}),!z&&U.jsx("div",{className:"raise-issue-no-comments",children:"No comments yet"}),U.jsx("textarea",{className:"raise-issue-field-textarea raise-issue-comments-textarea "+(G?"raise-issue-field-readonly":""),value:z,onChange:e=>P(e.target.value),placeholder:"Add a comment...",rows:4,readOnly:G})]})]})}),U.jsx("div",{className:"raise-issue-modal-actions",children:U.jsxs("div",{className:"raise-issue-modal-actions-buttons",children:[G&&f&&U.jsxs(U.Fragment,{children:[O===X.OPEN&&U.jsx("button",{className:"raise-issue-modal-button raise-issue-modal-button-accept",onClick:async()=>{await K(X.IN_PROGRESS)},disabled:J,children:J?"Processing...":"Accept"}),O===X.IN_PROGRESS&&U.jsx("button",{className:"raise-issue-modal-button raise-issue-modal-button-resolve",onClick:async()=>{await K(X.RESOLVE)},disabled:J,children:J?"Processing...":"Resolve"}),O===X.OPEN&&U.jsx("button",{className:"raise-issue-modal-button raise-issue-modal-button-reject",onClick:async()=>{await K(X.REJECTED)},disabled:J,children:J?"Processing...":"Reject"})]}),!G&&U.jsx("button",{className:"raise-issue-modal-button raise-issue-modal-button-save",onClick:async()=>{if(String(y||"").trim())if(String(N||"").trim()){H(!0);try{if(G&&f){const e={title:String(y||"").trim(),description:String(N||"").trim(),workOrderNumber:String(w||"").trim()||"",workOrderId:String(k||"").trim()||void 0,assetNumber:String($||"").trim()||"",assetId:String(A||"").trim()||void 0,assetDescription:String(R||"").trim()||void 0,formTemplateId:f.formTemplateId||"",formInstanceId:String(W||"").trim()||void 0,component:f.component||{},priority:V,assignee:String(M||"").trim()||void 0,status:O,comments:String(z||"").trim()||""};g&&f._id&&await g(f._id,e),Y.showSuccess("Issue updated successfully"),s&&s(),n()}else{if(!a)return Y.showError("Component is required"),void H(!1);if(!u||""===String(u||"").trim())return Y.showError("Form template is required"),void H(!1);const e={...a,basic:{...a.basic,comments:String(p||"")}},t={title:String(y||"").trim(),workOrderNumber:String(w||"").trim()||void 0,workOrderId:String(k||"").trim()||void 0,assetNumber:String($||"").trim()||void 0,assetId:String(A||"").trim()||void 0,assetDescription:String(R||"").trim()||void 0,formInstanceId:String(W||"").trim()||m||void 0,component:e,description:String(N||"").trim(),formTemplateId:u,assignee:String(M||"").trim()||void 0,priority:V,status:O,comments:String(z||"").trim()||""};let i;b&&(i=await b(t,h||[])),Y.showSuccess("Issue raised successfully"),s&&s(i),n()}}catch(e){const t=e?.message||e?.error?.message||(G?"Failed to update issue. Please try again.":"Failed to raise issue. Please try again.");Y.showError(t)}finally{H(!1)}}else Y.showError("Description is required");else Y.showError("Title is required")},disabled:J||!String(y||"").trim()||!String(N||"").trim(),children:J?"Saving...":"Save Changes"})]})})]})});return L(Z,document.body)},Z=({component:e,condition:s,currentValue:a,thresholdValue:o,formTemplateId:l,onIssueRaised:c,isIssueRaised:d=!1})=>{const[m,p]=t(!1),[h,f]=t(null),[b,g]=t(!1),[v,x]=t(!1);i(()=>{d&&x(!0)},[d]),i(()=>{x(!1)},[s?.id]);const y=n(async()=>{if(d||v){if(h)return void p(!0);g(!0);try{f(null),p(!0)}catch(e){console.error("Error fetching issue:",e),Y.showError("Failed to load issue details")}finally{g(!1)}}else f(null),p(!0)},[d,v,l,e,h]),j=n(()=>{p(!1),d||v||f(null)},[d,v]),N=n(e=>{p(!1),f(e||null),x(!0),c&&s?.id&&c(s.id)},[c,s]);return d||v?U.jsxs(U.Fragment,{children:[U.jsx("div",{className:"threshold-issue-indicator",children:U.jsxs("div",{className:"threshold-issue-indicator-content",children:[U.jsx(u,{className:"threshold-issue-indicator-icon",size:16}),U.jsx("span",{className:"threshold-issue-indicator-text",children:"Issue raised for this threshold condition"}),U.jsx("button",{type:"button",onClick:y,className:"threshold-issue-indicator-view-btn",disabled:b,children:b?"Loading...":"View Issue"})]})}),m&&U.jsx(K,{isOpen:m,onClose:j,onSuccess:N,component:e,formTemplateId:l,notes:"",attachments:null,issue:h})]}):U.jsxs(U.Fragment,{children:[U.jsxs("div",{className:"threshold-alert threshold-alert-unresolved",children:[U.jsx("div",{className:"threshold-alert-border"}),U.jsxs("div",{className:"threshold-alert-content",children:[U.jsx("div",{className:"threshold-alert-header",children:U.jsxs("div",{className:"threshold-alert-title-group",children:[U.jsx(r,{className:"threshold-alert-icon",size:20}),U.jsx("span",{className:"threshold-alert-title",children:"Threshold Condition Met - Action Required"})]})}),U.jsxs("div",{className:"threshold-alert-message",children:[(()=>{const t={greaterThan:">",lessThan:"<",greaterThanOrEqual:"≥",lessThanOrEqual:"≤",equals:"=",notEquals:"≠"}[i=s.operator]||i;var i;return`${e.basic?.label||"Value"}: Value ${a} exceeds threshold ${t} ${o}`})(),U.jsx("span",{className:"threshold-alert-warning",children:" You must raise an issue before submitting the form."})]}),U.jsx("div",{className:"threshold-alert-buttons",children:U.jsx("button",{type:"button",onClick:y,className:"threshold-alert-raise-issue-btn",children:"Raise Issue Now"})})]})]}),m&&U.jsx(K,{isOpen:m,onClose:j,onSuccess:N,component:e,formTemplateId:l,notes:"",attachments:null,issue:h})]})},Q=({id:e,properties:a,validationErrors:r={},formValue:o="",inputType:l="text",readonly:c=!1,disabled:d=!1,touchedFields:u={},formSubmitted:m=!1,mode:p="test",onValueChange:h,onBlur:f,onFocus:b,className:g="",hideLabel:v=!1,formTemplateId:x,onThresholdIssueRaised:y,raisedThresholdIssues:j=new Set})=>{const N=e=>null==e?"":"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e?String(e):"object"==typeof e?Array.isArray(e)?"":"value"in e?N(e.value):"label"in e?N(e.label):"":String(e||""),C=N(o||a?.basic?.defaultValue||""),[w,S]=t(C),[k,E]=t(!1),[$,T]=t(!1),[A,I]=t(new Set),[L,R]=t(C),D=()=>{if(l)return l;const e=a?.name;return"text-input"===e?"text":"number-input"===e?"number":"email-input"===e?"email":"text"},V=n(e=>{const t=(()=>{const e={};if(a?.validation?.required&&(e.required=!0),"email"===D()&&(e.email=!0),"text"===D()){const t=a.validation;t?.minLength&&(e.minLength=t.minLength),t?.maxLength&&(e.maxLength=t.maxLength)}if("number"===D()){const t=a.validation;t?.min&&(e.min=t.min),t?.max&&(e.max=t.max),void 0!==t?.lowerLimit&&(e.lowerLimit=t.lowerLimit),void 0!==t?.upperLimit&&(e.upperLimit=t.upperLimit)}return e})(),i={};let n=!0;if(!t.required||e&&""!==e.trim()||(i.required=!0,n=!1),t.email&&e&&!/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(e)&&(i.email=!0,n=!1),t.minLength&&e&&e.length<t.minLength&&(i.minLength=!0,n=!1),t.maxLength&&e&&e.length>t.maxLength&&(i.maxLength=!0,n=!1),"number"===D()&&e){const s=parseFloat(e);isNaN(s)?(i.pattern=!0,n=!1):(void 0!==t.min&&s<t.min&&(i.min=!0,n=!1),void 0!==t.max&&s>t.max&&(i.max=!0,n=!1),void 0!==t.lowerLimit&&s<t.lowerLimit&&(i.lowerLimit=!0,n=!1),void 0!==t.upperLimit&&s>t.upperLimit&&(i.upperLimit=!0,n=!1))}return{isValid:n,errors:i}},[a,D]),F=n(t=>{if(S(t),h){const i=V(t),n={id:e,value:t,isValid:i.isValid,errors:i.errors};h(n)}},[e,h,V]);i(()=>{k&&(u[e]=!0)},[k,e,u]),i(()=>{if("edit"===p){E(!1);S(a?.basic?.defaultValue||"")}else"test"===p&&(E(!1),S(""))},[p,a?.basic?.defaultValue]),i(()=>{const e=N(o||a?.basic?.defaultValue||"");e===w||$||""===e&&""!==String(w||"").trim()?""===e&&String(w||"").trim():S(e)},[o,w,$,a?.basic?.defaultValue]),i(()=>{m&&E(!0)},[m]),i(()=>{"test"!==p&&S("")},[p]);const O=n((e,t)=>{if(!t||""===t)return!1;const i="string"==typeof t?parseFloat(t):t,n="string"==typeof e.value?parseFloat(e.value):e.value;if(isNaN(i)||isNaN(n))return!1;switch(e.operator){case"greaterThan":return i>n;case"lessThan":return i<n;case"greaterThanOrEqual":return i>=n;case"lessThanOrEqual":return i<=n;case"equals":return i===n;case"notEquals":return i!==n;default:return!1}},[]),q=s(()=>a?.condition?.conditions||[],[a?.condition]);i(()=>{w!==L&&(I(new Set),R(w))},[w,L]);const M=s(()=>{if("test"!==p||!w||""===w)return null;const e=q.filter(e=>O(e,w));if(0===e.length)return null;for(const t of e)if(!A.has(t.id))return t;return null},[w,q,A,p,O,j]),_=n(e=>{I(t=>new Set(t).add(e))},[]),z=D(),P=d||c||a?.validation?.readonly;return U.jsxs("div",{className:`form-group ${(()=>{const e=a?.styles?.labelAlignment;return"left"===e?"label-left":"label-top"})()}`,children:[!v&&a.basic.label&&U.jsxs("label",{htmlFor:e,className:"form-label",children:[a.basic.label,a.validation.required&&U.jsx("span",{className:"required-indicator",children:"*"})]}),U.jsxs("div",{className:"input-wrapper",children:[U.jsx("input",{type:z,id:e,value:w,onChange:e=>{const t=e.target.value;F(t)},onFocus:()=>{T(!0),b&&b()},onBlur:()=>{if(T(!1),E(!0),"test"===p&&h){const t=V(w),i={id:e,value:w,isValid:t.isValid,errors:t.errors};h(i)}f&&f()},placeholder:a.basic.placeholder,disabled:P,readOnly:c||a?.validation?.readonly,className:(()=>{const t="form-control";if("test"===p){const i=!V(w).isValid&&k,n=r[e]&&(k||m);return`${t} ${i||n?"is-invalid":""} ${g}`.trim()}return`${t} ${g}`.trim()})()}),U.jsx(G,{validationErrors:r,fieldId:e,touchedFields:u,formSubmitted:m,properties:a,localValidation:V(w),isTouched:k,mode:p}),M&&"test"===p&&(()=>{const e=j?.has(M.id)||!1;return U.jsx(Z,{component:a,condition:M,currentValue:w,thresholdValue:M.value,formTemplateId:x,onDismiss:()=>_(M.id),onIssueRaised:y,isIssueRaised:e},`${M.id}-${e}`)})()]})]})},ee=({id:e,properties:s,validationErrors:a={},formValue:r="",readonly:o=!1,disabled:l=!1,touchedFields:c={},formSubmitted:d=!1,mode:u="preview",onValueChange:m,onBlur:p,onFocus:h,className:f="",hideLabel:b=!1})=>{const[g,v]=t(r),[x,y]=t(!1),j=n(e=>{const t={};let i=!0;return!s?.validation?.required||e&&""!==e.trim()||(t.required=!0,i=!1),s?.validation?.minLength&&e&&e.length<s.validation.minLength&&(t.minLength=!0,i=!1),s?.validation?.maxLength&&e&&e.length>s.validation.maxLength&&(t.maxLength=!0,i=!1),{isValid:i,errors:t}},[s]),N=n(t=>{if(v(t),m){const i=j(t),n={id:e,value:t,isValid:i.isValid,errors:i.errors};m(n)}},[e,m,j]);i(()=>{x&&(c[e]=!0)},[x,e,c]),i(()=>{""===g&&""!==r&&v(r)},[r]),i(()=>{d&&y(!0)},[d]),i(()=>{"test"!==u&&v("")},[u]);const C=l||o||s?.validation?.readonly,w=s?.validation?.rows||4;return U.jsxs("div",{className:`form-group ${(()=>{const e=s?.styles?.labelAlignment;return"left"===e?"label-left":"label-top"})()}`,children:[!b&&s.basic.label&&U.jsxs("label",{htmlFor:e,className:"form-label",children:[s.basic.label,s.validation.required&&U.jsx("span",{className:"required-indicator",children:"*"})]}),U.jsxs("div",{className:"input-wrapper",children:[U.jsx("textarea",{id:e,value:g,onChange:e=>{const t=e.target.value;N(t)},onFocus:()=>{h&&h()},onBlur:()=>{y(!0),p&&p()},placeholder:s.basic.placeholder,disabled:C,readOnly:o||s?.validation?.readonly,rows:w,className:`form-textarea ${!j(g).isValid&&x?"is-invalid":""} ${f}`.trim()}),U.jsx(G,{validationErrors:a,fieldId:e,touchedFields:c,formSubmitted:d,properties:s,localValidation:j(g),isTouched:x,mode:u})]})]})},te=({id:e,properties:s,validationErrors:a={},formValue:r="",readonly:o=!1,disabled:l=!1,touchedFields:c={},formSubmitted:d=!1,mode:u="preview",onValueChange:m,onBlur:p,onFocus:h,className:f="",hideLabel:b=!1})=>{const[g,v]=t(r),[x,y]=t(!1),j=s?.validation?.multiple||!1,N=n(e=>{const t={};let i=!0;return s?.validation?.required&&(j?Array.isArray(e)&&0!==e.length||(t.required=!0,i=!1):(!e||"string"==typeof e&&""===e.trim())&&(t.required=!0,i=!1)),{isValid:i,errors:t}},[s,j]),C=n(t=>{if(v(t),m){const i=N(t),n={id:e,value:t,isValid:i.isValid,errors:i.errors};m(n)}},[e,m,N]);i(()=>{x&&(c[e]=!0)},[x,e,c]),i(()=>{JSON.stringify(r)!==JSON.stringify(g)&&v(r)},[r,g]),i(()=>{d&&y(!0)},[d]);const w=l||o||s?.validation?.readonly;return U.jsxs("div",{className:`form-group ${(()=>{const e=s?.styles?.labelAlignment;return"left"===e?"label-left":"label-top"})()}`,children:[!b&&s.basic.label&&U.jsxs("label",{htmlFor:e,className:"form-label",children:[s.basic.label,s.validation.required&&U.jsx("span",{className:"required-indicator",children:"*"})]}),U.jsxs("div",{className:"input-wrapper",children:[U.jsxs("select",{id:e,value:g,onChange:e=>{if(j){const t=Array.from(e.target.selectedOptions,e=>e.value);C(t)}else C(e.target.value)},onFocus:()=>{h&&h()},onBlur:()=>{y(!0),p&&p()},disabled:w,multiple:j,className:`form-select ${!N(g).isValid&&x?"is-invalid":""} ${f}`.trim(),children:[!j&&U.jsx("option",{value:"",children:s.basic.placeholder||"Select an option"}),(s.options||[]).map((e,t)=>U.jsx("option",{value:e.value,disabled:e.disabled,children:e.label},t))]}),U.jsx(G,{validationErrors:a,fieldId:e,touchedFields:c,formSubmitted:d,properties:s,localValidation:N(g),isTouched:x,mode:u})]})]})},ie=({id:e,properties:s,validationErrors:a={},formValue:r=[],readonly:o=!1,disabled:l=!1,touchedFields:c={},formSubmitted:d=!1,mode:u="preview",onValueChange:m,onBlur:p,onFocus:h,className:f="",hideLabel:b=!1})=>{const[g,v]=t(!1),x=Array.isArray(r)?r:[],y=n(e=>{const t={};let i=!0;return s?.validation?.required&&0===e.length&&(t.required=!0,i=!1),{isValid:i,errors:t}},[s]),j=n(t=>{if(m){const i=y(t),n={id:e,value:t,isValid:i.isValid,errors:i.errors};m(n)}},[e,m,y,x]),N=(e,t)=>{let i;i=t?[...x,e]:x.filter(t=>t!==e),j(i)},C=()=>{h&&h()},w=()=>{v(!0),p&&p()};i(()=>{g&&(c[e]=!0)},[g,e,c]),i(()=>{},[r,e,x]),i(()=>{d&&v(!0)},[d]);const S=l||o||s?.validation?.readonly;return U.jsx(U.Fragment,{children:U.jsx("div",{className:`form-group checkbox-group ${(()=>{const e=s?.styles?.labelAlignment;return"left"===e?"label-left":"label-top"})()} ${s?.basic?.inlineLayout?"inline-layout":"vertical-layout"} ${f}`,children:!b&&s.basic.label?U.jsxs(U.Fragment,{children:[U.jsxs("label",{className:"form-label",children:[s.basic.label,s.validation.required&&U.jsx("span",{className:"required-indicator",children:"*"})]}),U.jsxs("div",{className:"input-wrapper",children:[U.jsx("div",{className:"mt-2 "+(s?.basic?.inlineLayout?"inline-options-grid":"space-y-2"),children:(s.options||[]).map((t,i)=>U.jsxs("div",{className:"form-check",children:[U.jsx("input",{type:"checkbox",id:`${e}-${i}`,name:e,value:t.value,checked:x.includes(t.value),onChange:e=>{N(t.value,e.target.checked)},onFocus:C,onBlur:w,disabled:S||t.disabled,className:"form-check-input"}),U.jsx("label",{htmlFor:`${e}-${i}`,className:"form-check-label",children:t.label})]},i))}),U.jsx(G,{validationErrors:a,fieldId:e,touchedFields:c,formSubmitted:d,properties:s,localValidation:y(x),isTouched:g,mode:u})]})]}):U.jsxs("div",{className:"input-wrapper",children:[U.jsx("div",{className:"mt-2 "+(s?.basic?.inlineLayout?"inline-options-grid":"space-y-2"),children:(s.options||[]).map((t,i)=>U.jsxs("div",{className:"form-check",children:[U.jsx("input",{type:"checkbox",id:`${e}-${i}`,name:e,value:t.value,checked:x.includes(t.value),onChange:e=>{N(t.value,e.target.checked)},onFocus:C,onBlur:w,disabled:S||t.disabled,className:"form-check-input"}),U.jsx("label",{htmlFor:`${e}-${i}`,className:"form-check-label",children:t.label})]},i))}),U.jsx(G,{validationErrors:a,fieldId:e,touchedFields:c,formSubmitted:d,properties:s,localValidation:y(x),isTouched:g,mode:u})]})})})},ne=({id:e,properties:s,validationErrors:a={},formValue:r="",readonly:o=!1,disabled:l=!1,touchedFields:c={},formSubmitted:d=!1,mode:u="preview",onValueChange:m,onBlur:p,onFocus:h,className:f="",hideLabel:b=!1})=>{const[g,v]=t(r),[x,y]=t(!1),j=n(e=>{const t={};let i=!0;return!s?.validation?.required||e&&""!==e.trim()||(t.required=!0,i=!1),{isValid:i,errors:t}},[s]),N=n(t=>{if(v(t),m){const i=j(t),n={id:e,value:t,isValid:i.isValid,errors:i.errors};m(n)}},[e,m,j]),C=e=>{N(e)},w=()=>{h&&h()},S=()=>{y(!0),p&&p()};i(()=>{x&&(c[e]=!0)},[x,e,c]),i(()=>{r!==g&&v(r)},[r,g]),i(()=>{d&&y(!0)},[d]);const k=l||o||s?.validation?.readonly;return U.jsx(U.Fragment,{children:U.jsx("div",{className:`form-group radio-group ${(()=>{const e=s?.styles?.labelAlignment;return"left"===e?"label-left":"label-top"})()} ${s?.basic?.inlineLayout?"inline-layout":"vertical-layout"} ${f}`,children:!b&&s.basic.label?U.jsxs(U.Fragment,{children:[U.jsxs("label",{className:"form-label",children:[s.basic.label,s.validation.required&&U.jsx("span",{className:"required-indicator",children:"*"})]}),U.jsxs("div",{className:"input-wrapper",children:[U.jsx("div",{className:"mt-2 "+(s?.basic?.inlineLayout?"inline-options-grid":"space-y-2"),children:(s.options||[]).map((t,i)=>U.jsxs("div",{className:"form-check",children:[U.jsx("input",{type:"radio",id:`${e}-${i}`,name:e,value:t.value,checked:g===t.value,onChange:()=>C(t.value),onFocus:w,onBlur:S,disabled:k||t.disabled,className:"form-check-input"}),U.jsx("label",{htmlFor:`${e}-${i}`,className:"form-check-label",children:t.label})]},i))}),U.jsx(G,{validationErrors:a,fieldId:e,touchedFields:c,formSubmitted:d,properties:s,localValidation:j(g),isTouched:x,mode:u})]})]}):U.jsxs("div",{className:"input-wrapper",children:[U.jsx("div",{className:"mt-2 "+(s?.basic?.inlineLayout?"inline-options-grid":"space-y-2"),children:(s.options||[]).map((t,i)=>U.jsxs("div",{className:"form-check",children:[U.jsx("input",{type:"radio",id:`${e}-${i}`,name:e,value:t.value,checked:g===t.value,onChange:()=>C(t.value),onFocus:w,onBlur:S,disabled:k||t.disabled,className:"form-check-input"}),U.jsx("label",{htmlFor:`${e}-${i}`,className:"form-check-label",children:t.label})]},i))}),U.jsx(G,{validationErrors:a,fieldId:e,touchedFields:c,formSubmitted:d,properties:s,localValidation:j(g),isTouched:x,mode:u})]})})})},se=({id:e,properties:s,validationErrors:a={},formValue:r="",readonly:o=!1,disabled:l=!1,touchedFields:c={},formSubmitted:d=!1,mode:u="preview",onValueChange:m,onBlur:p,onFocus:h,className:f="",hideLabel:b=!1})=>{const[g,v]=t(r),[x,y]=t(!1),j=n(e=>{const t={};let i=!0;return!s?.validation?.required||e&&""!==e.trim()||(t.required=!0,i=!1),{isValid:i,errors:t}},[s]),N=n(t=>{if(v(t),y(!0),m){const i=j(t),n={id:e,value:t,isValid:i.isValid,errors:i.errors};m(n)}},[e,m,j]),C=()=>{h&&h()},w=()=>{y(!0),p&&p()};i(()=>{x&&(c[e]=!0)},[x,e,c]),i(()=>{r!==g&&v(r)},[r,g]),i(()=>{d&&y(!0)},[d]);const S=()=>s?.basic?.inlineLayout?"inline-layout":"grid-layout",k=e=>{const t=e?.toLowerCase();return"pass"===t||"yes"===t?"pass":"fail"===t||"no"===t?"fail":"pass"},E=e=>{if(void 0!==e?.icon&&""!==e.icon)return e.icon;return"pass"===k(e?.value||e)?"✓":"×"},$=(e,t)=>e?.color||e?.backgroundColor?{color:t?"#ffffff":e.color||"#00814b",backgroundColor:t?e.color||"#00814b":e.backgroundColor||"#34bd4914",borderColor:e.color||"#00814b"}:{},T=e=>{if(e?.color||e?.backgroundColor)return"segment-button-label segment-button-custom";return"segment-button-label "+("pass"===k(e?.value||e)?"pass-button":"fail-button")},A=l||o||s?.validation?.readonly;return U.jsxs(U.Fragment,{children:[U.jsx("div",{className:`form-group segment-group ${(()=>{const e=s?.styles?.labelAlignment;return"left"===e?"label-left":"label-top"})()} ${f}`,children:!b&&s.basic.label?U.jsxs(U.Fragment,{children:[U.jsxs("label",{className:"form-label",children:[s.basic.label,s.validation.required&&U.jsx("span",{className:"required-indicator",children:"*"})]}),U.jsx("div",{className:"form-segment-wrapper",children:U.jsx("div",{className:`form-segment-container ${S()}`,children:(s.options||[]).map((t,i)=>{const n=g===t.value,s=$(t,n),a=T(t),r=E(t);return U.jsxs("div",{className:"form-segment-option "+(n?"selected":""),children:[U.jsx("input",{type:"radio",id:`${e}_option_${i}`,name:e,value:t.value,checked:n,onChange:()=>!A&&!t.disabled&&N(t.value),onFocus:C,onBlur:w,disabled:A||t.disabled,className:"form-segment-radio"}),U.jsxs("label",{htmlFor:`${e}_option_${i}`,className:a,style:Object.keys(s).length>0?s:void 0,children:[r&&U.jsx("span",{className:"segment-icon",children:r}),U.jsx("span",{className:"segment-text",children:t.value})]})]},i)})})})]}):U.jsx("div",{className:"form-segment-wrapper",children:U.jsx("div",{className:`form-segment-container ${S()}`,children:(s.options||[]).map((t,i)=>{const n=g===t.value,s=$(t,n),a=T(t),r=E(t);return U.jsxs("div",{className:"form-segment-option "+(n?"selected":""),children:[U.jsx("input",{type:"radio",id:`${e}_option_${i}`,name:e,value:t.value,checked:n,onChange:()=>!A&&!t.disabled&&N(t.value),onFocus:C,onBlur:w,disabled:A||t.disabled,className:"form-segment-radio"}),U.jsxs("label",{htmlFor:`${e}_option_${i}`,className:a,style:Object.keys(s).length>0?s:void 0,children:[r&&U.jsx("span",{className:"segment-icon",children:r}),U.jsx("span",{className:"segment-text",children:t.value})]})]},i)})})})}),U.jsx(G,{validationErrors:a,fieldId:e,touchedFields:c,formSubmitted:d,properties:s,localValidation:j(g),isTouched:x,mode:u})]})},ae=({id:e,properties:s,validationErrors:a={},formValue:r="",readonly:o=!1,disabled:l=!1,touchedFields:c={},formSubmitted:d=!1,mode:u="preview",onValueChange:m,onBlur:p,onFocus:h,className:f="",hideLabel:b=!1})=>{const g=n(e=>{if(!e)return"";if("string"==typeof e){if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e;if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/.test(e))return e;const t=new Date(e);if(!isNaN(t.getTime())){const e=s.name||"",i=s.basic?.dateTimeMode||("datetime-picker"===e?"datetime":"date");if("datetime"===i){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"===i){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")}`}return e}if(e instanceof Date){if(isNaN(e.getTime()))return"";const t=s.name||"",i=s.basic?.dateTimeMode||("datetime-picker"===t?"datetime":"date");if("datetime"===i){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"===i){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")}`}if("object"==typeof e&&null!==e){if("value"in e&&e.value)return g(e.value);if("date"in e&&e.date)return g(e.date);try{const t=String(e),i=new Date(t);if(!isNaN(i.getTime()))return g(i)}catch(e){}return""}return""},[s]),v=g(r),[x,y]=t(v),[j,N]=t(!1),[C,w]=t(!1),S=n(e=>{const t={};let i=!0;const n=s.name||"",a=s.basic?.dateTimeMode||("datetime-picker"===n?"datetime":"date"),r=e?String(e).trim():"";if(s?.validation?.required&&(!r||""===r))return t.required=!0,i=!1,{isValid:i,errors:t};if(r&&""!==r)if("time"===a){if(!/^([0-1][0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?$/.test(r))return t.invalidDate=!0,i=!1,{isValid:i,errors:t}}else if("datetime"===a){const e=new Date(r);if(isNaN(e.getTime()))return t.invalidDate=!0,i=!1,{isValid:i,errors:t};if(s?.validation?.minDate){const n=new Date(s.validation.minDate);e<n&&(t.minDate=!0,t.minDateMessage=`Date and time must be on or after ${n.toLocaleDateString()}`,i=!1)}if(s?.validation?.maxDate){const n=new Date(s.validation.maxDate);e>n&&(t.maxDate=!0,t.maxDateMessage=`Date and time must be on or before ${n.toLocaleDateString()}`,i=!1)}}else{const e=new Date(r);if(isNaN(e.getTime()))return t.invalidDate=!0,i=!1,{isValid:i,errors:t};if(s?.validation?.minDate){const n=new Date(s.validation.minDate);e<n&&(t.minDate=!0,t.minDateMessage=`Date must be on or after ${n.toLocaleDateString()}`,i=!1)}if(s?.validation?.maxDate){const n=new Date(s.validation.maxDate);e>n&&(t.maxDate=!0,t.maxDateMessage=`Date must be on or before ${n.toLocaleDateString()}`,i=!1)}}return{isValid:i,errors:t}},[s]),k=n(t=>{if(y(t),m){const i=S(t),n={id:e,value:t,isValid:i.isValid,errors:i.errors};m(n)}},[e,m,S]);i(()=>{j&&(c[e]=!0)},[j,e,c]),i(()=>{const e=g(r);e===x||C||y(e)},[r,x,C,g]),i(()=>{d&&N(!0)},[d]);const E=l||o||s?.validation?.readonly,$=s.name||"",T=s.basic?.dateTimeMode||("datetime-picker"===$?"datetime":"date"),A=(()=>{switch(T){case"time":return"time";case"datetime":return"datetime-local";default:return"date"}})();return U.jsxs("div",{className:`form-group ${(()=>{const e=s?.styles?.labelAlignment;return"left"===e?"label-left":"label-top"})()}`,children:[!b&&s.basic.label&&U.jsxs("label",{htmlFor:e,className:"form-label",children:[s.basic.label,s.validation.required&&U.jsx("span",{className:"required-indicator",children:"*"})]}),U.jsxs("div",{className:"input-wrapper",children:[U.jsx("input",{type:A,id:e,value:x,onChange:e=>{const t=e.target.value;k(t)},onFocus:()=>{w(!0),h&&h()},onBlur:()=>{if(w(!1),N(!0),m){const t=S(x),i={id:e,value:x,isValid:t.isValid,errors:t.errors};m(i)}p&&p()},disabled:E,readOnly:o||s?.validation?.readonly,min:s?.validation?.minDate,max:s?.validation?.maxDate,className:`form-date ${!S(x).isValid&&j?"is-invalid":""} ${f}`.trim()}),U.jsx(G,{validationErrors:a,fieldId:e,touchedFields:c,formSubmitted:d,properties:s,localValidation:S(x),isTouched:j,mode:u})]})]})},re=({id:e,properties:s,validationErrors:r={},formValue:o="",readonly:l=!1,disabled:c=!1,touchedFields:d={},formSubmitted:u=!1,mode:m="preview",onValueChange:p,onBlur:h,onFocus:f,className:b="",hideLabel:g=!1})=>{const v=a(null),[x,y]=t(!1),[j,N]=t(!1),[C,w]=t(o),[S,k]=t(!1),E=n(e=>{const t={};let i=!0;return!s?.validation?.required||e&&""!==e.trim()||(t.required=!0,i=!1),{isValid:i,errors:t}},[s]),$=n(t=>{if(w(t),p){const i=E(t),n={id:e,value:t,isValid:i.isValid,errors:i.errors};p(n)}},[e,p,E]),T=n(()=>{const e=document.documentElement.classList.contains("dark")||"dark"===document.documentElement.getAttribute("data-theme");let t=getComputedStyle(document.documentElement).getPropertyValue("--df-color-fb-input-bg").trim();t||(t=e?"#2c2e34":"#ffffff");return{strokeColor:e?"#ffffff":"#000000",backgroundColor:t}},[]),A=n(t=>{if(!t)return;const i=v.current;if(!i)return;const n=i.getContext("2d");if(!n)return;const s=new Image;s.onload=()=>{n.clearRect(0,0,i.width,i.height);const e=T();n.fillStyle=e.backgroundColor,n.fillRect(0,0,i.width,i.height);const t=i.width/i.height,a=s.width/s.height;let r=i.width,o=i.height,l=0,c=0;a>t?(o=i.width/a,c=(i.height-o)/2):(r=i.height*a,l=(i.width-r)/2),n.drawImage(s,l,c,r,o)},s.onerror=i=>{console.error("DfFormSignature: error loading image",{id:e,error:i,dataURL:t.substring(0,50)+"..."})},s.src=t},[T,e]),I=n(()=>{const e=v.current;if(!e)return;const t=e.getContext("2d");if(!t)return;const i=e.getBoundingClientRect();e.width=i.width,e.height=i.height,e.style.width=i.width+"px",e.style.height=i.height+"px";const n=T();t.strokeStyle=n.strokeColor,t.lineWidth=2,t.lineCap="round",t.lineJoin="round",C?A(C):(t.fillStyle=n.backgroundColor,t.fillRect(0,0,e.width,e.height))},[C,T,A]),L=n(()=>{setTimeout(()=>{I()},100)},[I]);i(()=>{const e=()=>{L()},t=new MutationObserver(e=>{e.forEach(e=>{if("attributes"===e.type&&"class"===e.attributeName){const t=e.target;t.classList.contains("form-canvas-container")&&(t.classList.contains("mobile-view")||t.classList.contains("tablet-view")||t.classList.contains("desktop-view"))&&L()}})});return t.observe(document.body,{attributes:!0,attributeFilter:["class"],subtree:!0}),window.addEventListener("resize",e),()=>{t.disconnect(),window.removeEventListener("resize",e)}},[L]);const R=n(e=>{const t=v.current;if(!t)return{x:0,y:0};const i=t.getBoundingClientRect(),n=t.width/i.width,s=t.height/i.height,a=e.type.includes("mouse")?e.clientX:e.touches[0].clientX,r=e.type.includes("mouse")?e.clientY:e.touches[0].clientY;return{x:(a-i.left)*n,y:(r-i.top)*s}},[]),D=e=>{if(l||c||s?.validation?.readonly)return;if(e.target.closest(".clear-signature-btn"))return;e.preventDefault(),e.stopPropagation(),y(!0),N(!0);const t=v.current;if(!t)return;const i=t.getContext("2d");if(!i)return;const{x:n,y:a}=R(e),r=T();i.strokeStyle=r.strokeColor,i.lineWidth=2,i.lineCap="round",i.lineJoin="round",i.beginPath(),i.moveTo(n,a)},V=e=>{if(!x)return;e.preventDefault(),e.stopPropagation();const t=v.current;if(!t)return;const i=t.getContext("2d");if(!i)return;const{x:n,y:s}=R(e);i.lineTo(n,s),i.stroke()},F=()=>{if(!x)return;y(!1),k(!0);const e=v.current;if(e){(e=>{const t=e.getContext("2d");if(!t)return!1;const i=t.getImageData(0,0,e.width,e.height).data;for(let e=0;e<i.length;e+=4){const t=i[e],n=i[e+1],s=i[e+2];if(i[e+3]>0&&(t<255||n<255||s<255))return!0}})(e);const t=e.toDataURL("image/png");w(t),$(t),setTimeout(()=>{k(!1)},100)}else k(!1)},O=n(()=>{const e=v.current;if(!e)return;const t=e.getContext("2d");if(!t)return;const i=T();if(t.strokeStyle=i.strokeColor,C){const n=C,s=e.getBoundingClientRect();t.fillStyle=i.backgroundColor,t.fillRect(0,0,s.width,s.height),n&&A(n)}else{const n=e.getBoundingClientRect();t.fillStyle=i.backgroundColor,t.fillRect(0,0,n.width,n.height)}},[T,C,A]);i(()=>{const e=new MutationObserver(e=>{e.forEach(e=>{"attributes"!==e.type||"class"!==e.attributeName&&"data-theme"!==e.attributeName||O()})});return e.observe(document.documentElement,{attributes:!0,attributeFilter:["class","data-theme"]}),()=>{e.disconnect()}},[O]);i(()=>{j&&(d[e]=!0)},[j,e,d]),i(()=>{if(!(o===C||x||S||""!==C&&""===o)){if(o===C)return;w(o),o&&A(o)}},[o,C,x,S]),i(()=>{u&&N(!0)},[u]),i(()=>{if("test"!==m){w("");const e=v.current;if(e){const t=e.getContext("2d");if(t){const i=e.getBoundingClientRect();e.width=i.width,e.height=i.height;const n=T();t.fillStyle=n.backgroundColor,t.fillRect(0,0,i.width,i.height)}}}},[m]),i(()=>{I()},[m]);const q=c||l||s?.validation?.readonly;return U.jsxs("div",{className:`form-group ${(()=>{const e=s?.styles?.labelAlignment;return"left"===e?"label-left":"label-top"})()}`,children:[!g&&s.basic.label&&U.jsxs("label",{htmlFor:e,className:"form-label",children:[s.basic.label,s.validation.required&&U.jsx("span",{className:"required-indicator",children:"*"})]}),U.jsxs("div",{className:"input-wrapper",children:[U.jsxs("div",{className:"signature-container",style:{position:"relative",width:"100%",maxWidth:"100%",overflow:"hidden"},children:[U.jsx("canvas",{ref:v,id:e,className:`form-signature ${!E(C).isValid&&j?"is-invalid":""} ${b}`.trim(),onMouseDown:D,onMouseMove:V,onMouseUp:F,onMouseLeave:F,onTouchStart:D,onTouchMove:V,onTouchEnd:F,onFocus:()=>{f&&f()},onBlur:()=>{h&&h()},style:{width:"100%",height:"150px",border:"2px solid var(--df-color-primary-border)",borderRadius:"6px",cursor:q?"not-allowed":"crosshair",backgroundColor:"var(--df-color-fb-input-bg)",touchAction:"none",userSelect:"none"}}),!q&&U.jsx("button",{type:"button",onClick:e=>(e=>{e?.preventDefault(),e?.stopPropagation();const t=v.current;if(!t)return;const i=t.getBoundingClientRect();t.width=i.width,t.height=i.height;const n=t.getContext("2d");if(!n)return;const s=T();n.fillStyle=s.backgroundColor,n.fillRect(0,0,i.width,i.height),n.strokeStyle=s.strokeColor,n.lineWidth=2,n.lineCap="round",n.lineJoin="round",w(""),$("")})(e),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:e=>{e.currentTarget.style.backgroundColor="var(--df-color-error-dark, #dc2626)",e.currentTarget.style.transform="scale(1.05)"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="var(--df-color-error-primary)",e.currentTarget.style.transform="scale(1)"},children:"Clear"})]}),U.jsx(G,{validationErrors:r,fieldId:e,touchedFields:d,formSubmitted:u,properties:s,localValidation:E(C),isTouched:j,mode:m})]})]})},oe=({id:e,properties:s,validationErrors:r={},formValue:o=null,readonly:l=!1,disabled:c=!1,touchedFields:d={},formSubmitted:u=!1,mode:m="test",onValueChange:p,onBlur:h,onFocus:f,className:b="",hideLabel:g=!1})=>{const[v,x]=t([]),[y,j]=t(!1),[N,C]=t(!1),w=a(null),S=n(t=>{if(!t)return[];const i=Array.isArray(t)?t:Array.from(t),n=[];return i.forEach((t,i)=>{let s,a,r=0,o="",l="";if(t instanceof File||t instanceof Blob){const e=t;if(r=e.size||0,o=e.type||"",l=e.name||`file-${i}`,a=e,o.startsWith("image/"))try{s=URL.createObjectURL(e)}catch(e){console.error("Error creating object URL:",e),s=void 0}}else if("string"==typeof t){const e=t;if(l=`file-${i}`,e.startsWith("data:")){const t=e.indexOf(";");o=t>5?e.substring(5,t):"application/octet-stream"}else{const t=e.match(/\.(jpg|jpeg|png|gif|webp|svg|pdf|doc|docx|xls|xlsx|zip|rar)$/i);if(t){o={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"}[t[1].toLowerCase()]||"application/octet-stream"}else o="application/octet-stream"}(e.startsWith("data:image")||e.startsWith("http://")||e.startsWith("https://")||e.startsWith("blob:"))&&(s=e),a=new File([],l,{type:o})}else{if(!t||"object"!=typeof t)return;{const e=t;if(l=e.name||e.fileName||`file-${i}`,r=e.size||e.fileSize||0,o=e.type||e.fileType||e.mimeType||"",e.url||e.path)s=e.url||e.path;else if(o.startsWith("image/")&&e.data){const t=e.data;s="string"==typeof t?t.startsWith("data:")?t:`data:${o};base64,${t}`:void 0}a=new File([],l,{type:o})}}n.push({file:a,id:`${e}-file-${i}`,size:r,type:o,name:l,preview:s})}),n},[e]),k=n(()=>({isValid:!0,errors:{}}),[]),E=n(t=>{if(l||c)return;const i=S(t),n=v.length>0?[...v,...i]:i,a=s?.validation?.maxFiles||1/0,r=n.slice(0,a);if(x(r),C(!0),p){const t=k(),i={id:e,value:r.map(e=>e.file),isValid:t.isValid,errors:t.errors};p(i)}},[v,s,l,c,p,k,S,e]),$=e=>{if(0===e)return"0 Bytes";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+["Bytes","KB","MB","GB"][t]},T=e=>e.startsWith("image/")?"🖼️":e.startsWith("video/")?"🎥":e.startsWith("audio/")?"🎵":e.includes("pdf")?"📄":e.includes("word")||e.includes("document")?"📝":e.includes("excel")||e.includes("spreadsheet")?"📊":e.includes("zip")||e.includes("rar")?"📦":"📁";i(()=>{N&&(d[e]=!0)},[N,e,d]),i(()=>{("edit"===m||"test"===m)&&C(!1)},[m]),i(()=>{const e=S(o);x(e)},[o,S]),i(()=>{u&&C(!0)},[u]),i(()=>()=>{v.forEach(e=>{if(e.preview&&e.preview.startsWith("blob:"))try{URL.revokeObjectURL(e.preview)}catch(e){console.error("Error revoking object URL:",e)}})},[v]);const A=()=>{const e=s?.styles?.labelAlignment;return"left"===e?"label-left":"label-top"},I=c||l||s?.validation?.readonly,L=s?.validation?.multiple||!1,R=s?.validation?.accept||"*/*",D=s?.validation?.maxFiles||1/0,V=v.length<D&&(L||D>1),F="edit"===m,O="preview"===m||"test"===m,q=v.filter(e=>e.type.startsWith("image/")),M=v.filter(e=>!e.type.startsWith("image/")),_=q.length>0;return O&&_?U.jsxs("div",{className:`form-group ${A()}`,children:[!g&&U.jsxs("label",{htmlFor:e,className:"form-label",children:[s.basic?.label||"Attachments",s.validation?.required&&U.jsx("span",{className:"required-indicator",children:"*"})]}),U.jsxs("div",{className:"file-upload-wrapper",children:[U.jsxs("div",{className:"file-image-display",children:[q.map(e=>U.jsxs("div",{className:"file-image-container",children:[e.preview&&U.jsx("img",{src:e.preview,alt:e.name,className:"file-image-preview"}),U.jsxs("div",{className:"file-image-info",children:[U.jsx("div",{className:"file-name",title:e.name,children:e.name}),U.jsx("div",{className:"file-size",children:$(e.size)})]})]},e.id)),M.length>0&&U.jsxs("div",{className:"file-other-files",children:[U.jsx("div",{className:"file-other-files-label",children:"Other Files:"}),M.map(e=>U.jsxs("div",{className:"file-item-minimal",children:[U.jsx("div",{className:"file-icon",children:T(e.type)}),U.jsxs("div",{className:"file-info",children:[U.jsx("div",{className:"file-name",title:e.name,children:e.name}),U.jsx("div",{className:"file-size",children:$(e.size)})]})]},e.id))]})]}),U.jsx(G,{validationErrors:r,fieldId:e,touchedFields:d,formSubmitted:u,properties:s,localValidation:k(),isTouched:N,mode:m})]})]}):U.jsxs("div",{className:`form-group ${A()}`,children:[!g&&U.jsxs("label",{htmlFor:e,className:"form-label",children:[s.basic?.label||"Attachments",s.validation?.required&&U.jsx("span",{className:"required-indicator",children:"*"})]}),U.jsxs("div",{className:"file-upload-wrapper",children:[U.jsxs("div",{className:`file-upload-area ${y?"drag-over":""} ${l?"readonly":""} ${c?"disabled":""} ${b}`.trim(),onDragOver:e=>{e.preventDefault(),l||c||j(!0)},onDragLeave:e=>{e.preventDefault(),j(!1)},onDrop:e=>{if(e.preventDefault(),j(!1),l||c)return;const t=e.dataTransfer.files;t.length>0&&E(t)},onClick:e=>{const t=e.target,i=null!==t.closest(".file-item"),n=null!==t.closest(".file-remove");!F||I||0!==v.length||i||n||w.current?.click()},onFocus:()=>{f&&f()},onBlur:()=>{if(C(!0),"test"===m&&p){const t=k(),i={id:e,value:v.map(e=>e.file),isValid:t.isValid,errors:t.errors};p(i)}h&&h()},tabIndex:I?-1:0,children:[U.jsx("input",{ref:w,type:"file",id:e,multiple:L,accept:R,onChange:e=>{const t=e.target.files;t&&t.length>0&&(E(t),e.target.value="")},disabled:I,style:{display:"none"}}),0===v.length?U.jsxs("div",{className:"upload-placeholder",onClick:e=>{e.stopPropagation(),F&&!I&&w.current?.click()},children:[U.jsx("div",{className:"upload-icon",children:"📁"}),U.jsx("div",{className:"upload-text",children:s.basic.placeholder&&U.jsx("p",{className:"upload-hint",children:s.basic.placeholder})})]}):U.jsx("div",{className:"file-list",children:v.map(t=>U.jsxs("div",{className:"file-item",children:[U.jsx("div",{className:"file-preview",children:t.preview?U.jsx("img",{src:t.preview,alt:t.name,className:"file-image"}):U.jsx("div",{className:"file-icon",children:T(t.type)})}),U.jsxs("div",{className:"file-info",children:[U.jsx("div",{className:"file-name",title:t.name,children:t.name}),U.jsx("div",{className:"file-size",children:$(t.size)})]}),F&&!I&&U.jsx("button",{type:"button",className:"file-remove",onClick:i=>{i.stopPropagation(),(t=>{if(l||c)return;const i=v.filter(e=>e.id!==t);if(x(i),C(!0),p){const t=k(),n={id:e,value:i.map(e=>e.file),isValid:t.isValid,errors:t.errors};p(n)}})(t.id)},"aria-label":`Remove ${t.name}`,children:"✕"})]},t.id))})]}),v.length>0&&V&&!I&&F&&U.jsxs("button",{type:"button",className:"file-add-more",onClick:e=>{e.stopPropagation(),!I&&w.current&&F&&(w.current.value="",w.current.click())},"aria-label":"Add more files",children:[U.jsx("svg",{className:"file-add-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:U.jsx("path",{d:"M12 5v14M5 12h14"})}),U.jsx("span",{className:"file-add-text",children:"Add More Files"})]}),U.jsx(G,{validationErrors:r,fieldId:e,touchedFields:d,formSubmitted:u,properties:s,localValidation:k(),isTouched:N,mode:m})]})]})},le=({id:e,properties:s,validationErrors:r={},formValue:l=null,readonly:c=!1,disabled:d=!1,touchedFields:u={},formSubmitted:f=!1,mode:b="test",onValueChange:g,onBlur:v,onFocus:x,className:y="",hideLabel:j=!1})=>{const[N,C]=t(l),[w,S]=t(!1),[k,E]=t(""),[$,T]=t(!1),[A,I]=t(!1),[L,R]=t({lat:40.7128,lng:-74.006}),[D,V]=t(null),[F,O]=t(10),[q,M]=t(""),[_,z]=t(!1),P=a(null),[W,B]=t(!1),[J,H]=t(null),[Y,X]=t(!1);i(()=>{l?(C(l),l.latitude&&l.longitude&&(V({lat:l.latitude,lng:l.longitude,isCurrentLocation:!1}),R({lat:l.latitude,lng:l.longitude}))):(C(null),V(null))},[l]),i(()=>{A&&40.7128===L.lat&&L.lng},[A,L]),i(()=>{(c||d)&&(A&&I(!1),q&&M(""),W&&(B(!1),H(null)))},[c,d]);const K=n(async(e,t)=>{X(!0);try{const i=await fetch(`https://nominatim.openstreetmap.org/reverse?format=json&lat=${e}&lon=${t}&addressdetails=1&zoom=18`),n=await i.json();if(n&&n.address){const e=n.address;return{placeName:n.display_name||"",city:e.city||e.town||e.village||e.municipality||"",country:e.country||""}}}catch(e){console.error("Reverse geocoding failed:",e)}finally{X(!1)}return{placeName:"",city:"",country:""}},[]),Z=n(async(t,i,n)=>{const s=await K(t,i),a={latitude:t,longitude:i,timestamp:Date.now(),placeName:s.placeName,city:s.city,country:s.country,address:s.placeName,...n};if(C(a),V({lat:t,lng:i,isCurrentLocation:!1}),T(!0),g){g({id:e,value:a,isValid:!0,errors:{}})}},[K,e,g]),Q=n(()=>{if(c||d)return;if(!navigator.geolocation)return void E("Geolocation is not supported by this browser.");S(!0),E("");const e={enableHighAccuracy:s.validation?.enableHighAccuracy??!0,timeout:s.validation?.timeout??1e4,maximumAge:s.validation?.maximumAge??3e5};navigator.geolocation.getCurrentPosition(async e=>{const t=e.coords.latitude,i=e.coords.longitude;V({lat:t,lng:i,isCurrentLocation:!0}),R({lat:t,lng:i}),T(!0),await Z(t,i,{accuracy:e.coords.accuracy,timestamp:e.timestamp}),S(!1)},e=>{S(!1);let t="Unable to retrieve your location.";switch(e.code){case e.PERMISSION_DENIED:t="Location access denied by user.";break;case e.POSITION_UNAVAILABLE:t="Location information is unavailable.";break;case e.TIMEOUT:t="Location request timed out."}E(t)},e)},[c,d,e,g,s]),ee=n(()=>{if(!c&&!d&&(C(null),V(null),E(""),T(!0),g)){g({id:e,value:null,isValid:!0,errors:{}})}},[c,d,e,g]),te=n(()=>{c||d||I(!A)},[c,d,A]),ie=n((e,t,i,n,s,a)=>{const r=e-s/2,o=t-a/2,l=156543.03392*Math.cos(i.lat*Math.PI/180)/Math.pow(2,n),c=r*l,d=o*l;return{lat:i.lat+d/111320,lng:i.lng+c/(111320*Math.cos(i.lat*Math.PI/180))}},[]),ne=n(e=>{c||d||!P.current||0===e.button&&(B(!0),H({x:e.clientX,y:e.clientY}),e.preventDefault())},[c,d]),se=n(e=>{if(!W||!J||!P.current)return;const t=e.clientX-J.x,i=e.clientY-J.y,n=156543.03392*Math.cos(L.lat*Math.PI/180)/Math.pow(2,F),s=-i*n/111320,a=t*n/(111320*Math.cos(L.lat*Math.PI/180));R({lat:L.lat+s,lng:L.lng+a}),H({x:e.clientX,y:e.clientY})},[W,J,L,F]),ae=n(async e=>{if(!P.current)return;if(W&&J){const t=Math.abs(e.clientX-J.x),i=Math.abs(e.clientY-J.y);if(t>5||i>5)return B(!1),void H(null)}if(c||d)return B(!1),void H(null);const t=P.current.getBoundingClientRect(),i=e.clientX-t.left,n=e.clientY-t.top,{lat:s,lng:a}=ie(i,n,L,F,t.width,t.height);await Z(s,a),B(!1),H(null)},[c,d,P,L,F,ie,Z,W,J]),re=n(async t=>{if(t.trim()&&!c&&!d){z(!0),E("");try{const i=await fetch(`https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(t)}&limit=5&addressdetails=1`),n=await i.json();if(n&&n.length>0){const t=n[0],i=parseFloat(t.lat),s=parseFloat(t.lon),a=t.address||{},r={latitude:i,longitude:s,address:t.display_name,placeName:t.display_name,city:a.city||a.town||a.village||a.municipality||"",country:a.country||"",timestamp:Date.now()};if(C(r),V({lat:i,lng:s,isCurrentLocation:!1}),R({lat:i,lng:s}),T(!0),g){g({id:e,value:r,isValid:!0,errors:{}})}}else E("No locations found for your search.")}catch(e){E("Failed to search for location. Please try again.")}finally{z(!1)}}},[c,d,e,g]),oe=()=>{x&&x()},le=()=>{T(!0),v&&v()},ce=d||c||s?.validation?.readonly,de=s?.basic?.label||"Location",ue=s?.basic?.description||"";return U.jsxs("div",{className:`form-group ${j?"no-label":""} ${y}`,children:[!j&&U.jsxs("label",{htmlFor:e,className:"form-label",children:[de,s?.validation?.required&&U.jsx("span",{className:"required-indicator",children:"*"})]}),ue&&U.jsx("div",{className:"form-group-description",children:ue}),U.jsxs("div",{className:"location-wrapper",children:[!(c&&N)&&U.jsxs("div",{className:"location-controls",children:[U.jsx("button",{type:"button",className:"location-btn "+(w?"loading":""),onClick:Q,disabled:ce||w,onFocus:oe,onBlur:le,tabIndex:ce?-1:0,children:w?U.jsxs(U.Fragment,{children:[U.jsx(m,{size:16,className:"loading-spinner"}),"Getting Location..."]}):U.jsxs(U.Fragment,{children:[U.jsx(p,{size:16}),"Get Current Location"]})}),U.jsxs("button",{type:"button",className:"location-btn secondary",onClick:te,disabled:ce,onFocus:oe,onBlur:le,tabIndex:ce?-1:0,children:[U.jsx(h,{size:16}),A?"Hide Map":"Choose on Map"]})]}),N&&U.jsxs("div",{className:"location-display",children:[!c&&U.jsx("button",{type:"button",className:"location-clear-btn",onClick:ee,disabled:ce,title:"Clear location",children:U.jsx(o,{size:16})}),N.placeName&&U.jsxs("div",{className:"location-place-name",children:[U.jsx("strong",{children:"Place:"})," ",N.placeName]}),(N.city||N.country)&&U.jsxs("div",{className:"location-address",children:[U.jsx("strong",{children:"Address:"})," ",[N.city,N.country].filter(Boolean).join(", ")]}),U.jsxs("div",{className:"location-coordinates",children:[U.jsx("strong",{children:"Coordinates:"})," ",(pe=N.latitude,he=N.longitude,void 0===pe||void 0===he||isNaN(pe)||isNaN(he)?"":`${Number(pe).toFixed(6)}, ${Number(he).toFixed(6)}`)]}),N.accuracy&&U.jsxs("div",{className:"location-accuracy",children:[U.jsx("strong",{children:"Accuracy:"})," ",(me=N.accuracy,me?`±${Math.round(me)}m`:"")]}),N.timestamp&&U.jsxs("div",{className:"location-timestamp",children:[U.jsx("strong",{children:"Captured:"})," ",new Date(N.timestamp).toLocaleString()]})]}),A&&!c&&U.jsxs("div",{className:"location-map-container",children:[U.jsxs("div",{className:"location-map-header",children:[U.jsx("h4",{children:"Select Location on Map"}),U.jsx("p",{children:"Search for a place or click on the map to select a location"})]}),U.jsx("div",{className:"location-search",children:U.jsx("form",{onSubmit:e=>{e.preventDefault(),q.trim()&&re(q)},className:"search-form",children:U.jsxs("div",{className:"search-input-group",children:[U.jsx("input",{type:"text",value:q,onChange:e=>{M(e.target.value)},placeholder:"Search for a place (e.g., New York, Paris, Tokyo)",className:"search-input",disabled:ce||_}),U.jsx("button",{type:"submit",className:"search-btn",disabled:ce||_||!q.trim(),children:_?U.jsx(m,{size:16,className:"loading-spinner"}):"Search"})]})})}),U.jsxs("div",{ref:P,className:"location-map "+(W?"dragging":""),onMouseDown:ne,onMouseMove:se,onMouseUp:ae,onMouseLeave:()=>{B(!1),H(null)},style:{position:"relative",height:"400px",border:"2px solid var(--df-color-fb-border)",borderRadius:"8px",overflow:"hidden",cursor:W?"grabbing":"grab",background:`url(https://tile.openstreetmap.org/${F}/${Math.floor((L.lng+180)/360*Math.pow(2,F))}/${Math.floor((1-Math.log(Math.tan(L.lat*Math.PI/180)+1/Math.cos(L.lat*Math.PI/180))/Math.PI)/2*Math.pow(2,F))}.png) center/cover no-repeat`,userSelect:"none"},children:[D&&U.jsx("div",{className:"map-marker "+(D.isCurrentLocation?"current-location":"selected-location"),style:{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -100%)",zIndex:10},children:U.jsx(h,{size:24})}),U.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}}),U.jsxs("div",{className:"map-controls",children:[U.jsx("button",{type:"button",className:"map-zoom-btn",onClick:()=>O(e=>Math.min(18,e+1)),disabled:F>=18,children:"+"}),U.jsx("button",{type:"button",className:"map-zoom-btn",onClick:()=>O(e=>Math.max(1,e-1)),disabled:F<=1,children:"−"})]})]}),U.jsxs("div",{className:"location-map-instructions",children:[U.jsx("p",{children:U.jsx("strong",{children:"Instructions:"})}),U.jsxs("ul",{children:[U.jsx("li",{children:"Search for a place using the search box above"}),U.jsx("li",{children:"Click anywhere on the map to select a location"}),U.jsx("li",{children:"Drag the map to pan around"}),U.jsx("li",{children:"Use the zoom buttons (+/−) to zoom in/out"}),U.jsx("li",{children:'Use "Get Current Location" to automatically detect your position'})]})]}),Y&&U.jsxs("div",{className:"location-loading",children:[U.jsx(m,{size:16,className:"loading-spinner"}),U.jsx("span",{children:"Loading address details..."})]})]}),k&&U.jsx("div",{className:"location-error",children:k})]}),U.jsx(G,{validationErrors:r,fieldId:e,touchedFields:u,formSubmitted:f,properties:s,localValidation:{isValid:!0,errors:{}},isTouched:$,mode:b})]});var me,pe,he},ce=({id:e,properties:t,className:i="",hideLabel:n=!1})=>{const s=t.styles?.level??t.basic.level??1,a=t.basic.label,r=()=>{const e={};return t?.styles?.fontSize&&(e.fontSize=t.styles.fontSize),t?.styles?.color&&(e.color=t.styles.color),e};return n?null:(()=>{const n={id:e,className:`form-heading h${s} ${t?.styles?.textAlign?`text-${t.styles.textAlign}`:""} ${i}`.trim(),style:r()};switch(s){case 1:default:return U.jsx("h1",{...n,children:a});case 2:return U.jsx("h2",{...n,children:a});case 3:return U.jsx("h3",{...n,children:a});case 4:return U.jsx("h4",{...n,children:a});case 5:return U.jsx("h5",{...n,children:a});case 6:return U.jsx("h6",{...n,children:a})}})()},de=({id:e,properties:s,mode:r="preview",onValueChange:o,className:l="",hideLabel:c=!1})=>{const[d,u]=t(""),[m,p]=t(s.validation?.listStyle||"numbers"),[h,y]=t("#000000"),j=a(null),N=a(null),C=a(!1),w="edit"===r,S=a({instructions:[],listStyle:"numbers"}),k=a(r);i(()=>{let e=[];s.basic?.instructions&&(Array.isArray(s.basic.instructions)?e=s.basic.instructions:"string"==typeof s.basic.instructions&&(e=[s.basic.instructions]));const t=s.validation?.listStyle||"numbers",i=JSON.stringify(e)!==JSON.stringify(S.current.instructions)||t!==S.current.listStyle,n=r!==k.current;if(i||n){const s=e.some(e=>"string"==typeof e&&/<[^>]+>/.test(e));let a="";if(e.length>0)if(s)a=e.join("");else{const i="numbers"===t?"ol":"bullets"===t?"ul":"div",n=e.filter(e=>e&&"string"==typeof e).map(e=>`<li>${e.replace(/\n/g,"<br>")}</li>`).join("");a="div"===i?e.filter(e=>e&&"string"==typeof e).map(e=>`<div>${e.replace(/\n/g,"<br>")}</div>`).join(""):`<${i}>${n}</${i}>`}p(t),u(a),w&&j.current&&(n||i&&j.current.innerHTML.trim()!==a.trim())&&(j.current.innerHTML=a),S.current={instructions:e,listStyle:t},k.current=r}},[s.basic?.instructions,s.validation?.listStyle,r,w]),i(()=>{if(w&&j.current){const e=j.current.innerHTML.trim();d.trim()===e||C.current||(j.current.innerHTML=d)}if(C.current){const e=setTimeout(()=>{C.current=!1},200);return()=>clearTimeout(e)}},[d,w]);const E=n(()=>{if(!j.current)return;C.current=!0;const t=j.current.innerHTML.trim();if(o){o({id:e,value:{instructions:t?[t]:[],listStyle:m},isValid:!0,errors:{}})}t!==d&&u(t)},[e,m,o,d]),$=n(()=>{if(!j.current)return;const t=j.current.innerHTML.trim();if(o){o({id:e,value:{instructions:t?[t]:[],listStyle:m},isValid:!0,errors:{}})}u(t),C.current=!1},[e,m,o]),T=n((e,t)=>{document.execCommand(e,!1,t),j.current?.focus(),E()},[E]),A=n(()=>{T("bold")},[T]),I=n(()=>{T("italic")},[T]),L=n(e=>{const t=e.target.value;y(t),T("foreColor",t)},[T]),R=n(t=>{if(p(t),!j.current)return;const i=window.getSelection(),n=i&&i.rangeCount>0?i.getRangeAt(0):null;let s=j.current.innerHTML;if("numbers"===t){if(s=s.replace(/<ul>/gi,"<ol>").replace(/<\/ul>/gi,"</ol>"),!s.includes("<ol>")&&!s.includes("<ul>")){const e=s.split(/<br\s*\/?>/i).filter(e=>e.trim());e.length>0&&(s="<ol>"+e.map(e=>`<li>${e}</li>`).join("")+"</ol>")}}else if("bullets"===t){if(s=s.replace(/<ol>/gi,"<ul>").replace(/<\/ol>/gi,"</ul>"),!s.includes("<ol>")&&!s.includes("<ul>")){const e=s.split(/<br\s*\/?>/i).filter(e=>e.trim());e.length>0&&(s="<ul>"+e.map(e=>`<li>${e}</li>`).join("")+"</ul>")}}else s=s.replace(/<\/?[ou]l>/gi,"").replace(/<li>/gi,"<div>").replace(/<\/li>/gi,"</div>");if(j.current.innerHTML=s,u(s),n&&i)try{i.removeAllRanges(),i.addRange(n)}catch(e){}if(E(),o){o({id:e,value:{instructions:s?[s]:[],listStyle:t},isValid:!0,errors:{}})}},[e,E,o]),D=n(e=>{const t=e.target.files?.[0];if(!t||!t.type.startsWith("image/"))return;const i=new FileReader;i.onload=e=>{const t=e.target?.result;if(t&&j.current){const e=document.createElement("img");e.src=t,e.style.maxWidth="100%",e.style.height="auto";const i=window.getSelection();if(i&&i.rangeCount>0){const t=i.getRangeAt(0);t.deleteContents(),t.insertNode(e)}else j.current.appendChild(e);E()}},i.readAsDataURL(t),N.current&&(N.current.value="")},[E]),V=n(e=>{e.preventDefault();const t=e.clipboardData.getData("text/plain"),i=window.getSelection();if(i&&i.rangeCount>0){const e=i.getRangeAt(0);e.deleteContents();const n=document.createTextNode(t);e.insertNode(n),e.setStartAfter(n),e.collapse(!0),i.removeAllRanges(),i.addRange(e)}E()},[E]),F=n(e=>document.queryCommandState(e),[]);return U.jsxs("div",{className:`form-group instruction-group ${l}`,children:[!c&&U.jsx("label",{htmlFor:e,className:"instruction-label",children:"Instructions"}),w?U.jsxs("div",{className:"instruction-rich-editor",children:[U.jsxs("div",{className:"instruction-toolbar",children:[U.jsxs("div",{className:"toolbar-group",children:[U.jsx("button",{type:"button",className:"toolbar-btn "+(F("bold")?"active":""),onClick:A,title:"Bold","aria-label":"Bold",children:U.jsx(f,{size:16})}),U.jsx("button",{type:"button",className:"toolbar-btn "+(F("italic")?"active":""),onClick:I,title:"Italic","aria-label":"Italic",children:U.jsx(b,{size:16})})]}),U.jsx("div",{className:"toolbar-separator"}),U.jsx("div",{className:"toolbar-group",children:U.jsxs("div",{className:"color-picker-wrapper",children:[U.jsx("input",{type:"color",value:h,onChange:L,className:"color-picker-input",title:"Text Color"}),U.jsx("label",{className:"color-picker-label",title:"Text Color",children:U.jsx("span",{style:{color:h},children:"A"})})]})}),U.jsx("div",{className:"toolbar-separator"}),U.jsxs("div",{className:"toolbar-group",children:[U.jsx("button",{type:"button",className:"toolbar-btn "+("bullets"===m?"active":""),onClick:()=>R("bullets"),title:"Bullet List","aria-label":"Bullet List",children:U.jsx(g,{size:16})}),U.jsx("button",{type:"button",className:"toolbar-btn "+("numbers"===m?"active":""),onClick:()=>R("numbers"),title:"Numbered List","aria-label":"Numbered List",children:U.jsx(v,{size:16})})]}),U.jsx("div",{className:"toolbar-separator"}),U.jsxs("div",{className:"toolbar-group",children:[U.jsx("button",{type:"button",className:"toolbar-btn",onClick:()=>N.current?.click(),title:"Insert Image","aria-label":"Insert Image",children:U.jsx(x,{size:16})}),U.jsx("input",{ref:N,type:"file",accept:"image/*",onChange:D,style:{display:"none"}})]})]}),U.jsx("div",{ref:j,contentEditable:!0,className:"instruction-editor-content",onInput:E,onBlur:$,onPaste:V,"data-placeholder":"Enter instructions (press Enter for a new line)...",suppressContentEditableWarning:!0})]}):U.jsx("div",{className:"instruction-preview-wrapper "+("numbers"===m?"instruction-list-numbers":"bullets"===m?"instruction-list-bullets":""),children:d?U.jsx("div",{className:"instruction-preview-content",dangerouslySetInnerHTML:{__html:d}}):U.jsx("div",{className:"instruction-empty",children:U.jsx("p",{children:"No instructions provided"})})})]})},ue=({attachments:e,onRemove:n})=>{const[s,a]=t(new Map);return i(()=>{if(!e)return void a(e=>(e.forEach(e=>URL.revokeObjectURL(e)),new Map));const t=new Map;return e.forEach((e,i)=>{if(e.type.startsWith("image/")){const n=URL.createObjectURL(e);t.set(i,n)}}),a(e=>(e.forEach((e,i)=>{t.has(i)||URL.revokeObjectURL(e)}),t)),()=>{t.forEach(e=>URL.revokeObjectURL(e))}},[e]),e&&0!==e.length?U.jsx("div",{className:"attachment-thumbnails-container",children:e.map((e,t)=>{const i=e.type.startsWith("image/"),a=s.get(t);return U.jsx("div",{className:"attachment-thumbnail",children:i&&a?U.jsxs(U.Fragment,{children:[U.jsx("img",{src:a,alt:e.name}),U.jsx("button",{type:"button",className:"thumbnail-remove-btn",onClick:()=>n(t),title:"Remove attachment",children:U.jsx(o,{size:14})})]}):U.jsxs(U.Fragment,{children:[U.jsx("div",{className:"file-icon-placeholder",children:U.jsx(y,{size:20})}),U.jsx("span",{className:"file-name",children:e.name}),U.jsx("button",{type:"button",className:"thumbnail-remove-btn",onClick:()=>n(t),title:"Remove attachment",children:U.jsx(o,{size:14})})]})},t)})}):null},me=({component:e,mode:s,formTemplateId:r,formValue:o,onNotesChange:l,onAttachmentChange:c,notes:u="",attachments:m=null,onThresholdActionCompletion:p,onThresholdIssueRaised:h,onBasicPropertyActionCompletion:f})=>{const[b,g]=t(u||""),[v,x]=t(m||null),[k,E]=t(!1),[$,T]=t(!1),[A,I]=t(!1),[L,R]=t(!1),[D,V]=t(!1),F=a(null),O=a(o),q=a(!1),M=a(!1);i(()=>{if(!q.current&&null!=u){const e="string"==typeof u?u:String(u||"");g(e),q.current=!0}},[u]),i(()=>{M.current||void 0===m||(x(m),M.current=!0)},[m]),i(()=>{if(q.current&&!k&&null!=u){const e="string"==typeof u?u:String(u||"");b&&""!==String(b||"").trim()&&e===b||g(e)}},[u,k,b]),i(()=>{M.current&&void 0!==m&&(!v||m&&m.length>0&&m!==v)&&x(m)},[m,v]),i(()=>{const t=["select","radio","checkbox","segment"].includes(e.name||"");if(t){const t=O.current,i=o;let n=!1;if("checkbox"===e.name){const e=Array.isArray(t)?t:t?[t]:[],s=Array.isArray(i)?i:i?[i]:[];n=JSON.stringify(e.sort())!==JSON.stringify(s.sort())}else n=t!==i&&void 0!==t;if(n){I(!1),R(!1),T(!1),E(!1),V(!1);const e="string"==typeof u?u:String(u||"");e&&""!==e.trim()?g(e):g(""),m&&0!==m.length?x(m):x(null)}O.current=i}t||(O.current=o)},[o,e.name,u,m]);const _=n((e,t)=>{const{operator:i,value:n}=e,s=String(t).toLowerCase(),a=String(n).toLowerCase();switch(i){case"equals":return s===a||String(t)===String(n);case"notEquals":return s!==a&&String(t)!==String(n);case"greaterThan":return Number(t)>Number(n);case"lessThan":return Number(t)<Number(n);case"greaterThanOrEqual":return Number(t)>=Number(n);case"lessThanOrEqual":return Number(t)<=Number(n);default:return!1}},[]),z=n(()=>{if(!(null!=o&&""!==o&&!(Array.isArray(o)&&0===o.length)))return[];const t=e.condition;if(!t||!t.conditions||0===t.conditions.length)return[];const i=[];if("checkbox"===e.name&&Array.isArray(o))o.forEach(e=>{const n=t.conditions.find(t=>_(t,e));n&&!i.find(e=>e.id===n.id)&&i.push(n)});else{const e=t.conditions.find(e=>_(e,o));e&&i.push(e)}return i},[e,o,_]),P=n(t=>{const i=t.target.value;g(i),l&&l(i);const n=z(),s=String(i||"").trim().length>0;n.forEach(e=>{!0===e.enableNotes&&p&&p(e.id,"notes",s)});const a=e.condition;!(a&&a.conditions&&a.conditions.length>0)&&f&&f("notes",s)},[l,z,p,e,f]),W=n(()=>{if(l&&null!=b){const e="string"==typeof b?b:String(b||"");l(e)}String(b||"").trim().length>0&&E(!1)},[b,l]),B=n(()=>{E(!0)},[]),J=n(()=>{E(!0)},[]),H=n(()=>{F.current?.click()},[]),Y=n(t=>{const i=t.target.files;if(i&&i.length>0){const t=Array.from(i);x(t),c&&c(t);z().forEach(e=>{!0===e.enableAttachment&&p&&p(e.id,"attachments",!0)});const n=e.condition;!(n&&n.conditions&&n.conditions.length>0)&&f&&f("attachments",!0)}F.current&&(F.current.value="")},[c,z,p,e,f]),G=n(t=>{if(v){const i=v.filter((e,i)=>i!==t);if(0===i.length){x(null),c&&c(null);z().forEach(e=>{!0===e.enableAttachment&&p&&p(e.id,"attachments",!1)});const t=e.condition;!(t&&t.conditions&&t.conditions.length>0)&&f&&f("attachments",!1)}else x(i),c&&c(i)}},[v,c,z,p,e,f]),X=n(()=>{I(!0);z().forEach(e=>{!0===e.enableSendEmail&&p&&p(e.id,"email",!0)});const t=e.condition;!(t&&t.conditions&&t.conditions.length>0)&&f&&f("email",!0),setTimeout(()=>{I(!1)},3e3)},[z,p,e,f]),Z=n(()=>{T(!0)},[]),Q=n(()=>{T(!1)},[]),ee=n(()=>{T(!1),R(!0);const t=e.condition;if(t&&t.conditions&&t.conditions.length>0){z().forEach(e=>{!0===e.enableRaiseIssue&&h&&h(e.id)})}else f&&f("issue",!0)},[e,f,z,h]);if("test"!==s)return null;const te=["select","radio","checkbox","segment"].includes(e.name||""),ie=e.basic?.options||e.options||[];let ne=!1,se=!1,ae=!1,re=!1,oe=null;const le=null!=o&&""!==o&&!(Array.isArray(o)&&0===o.length),ce=e.condition,de=ce&&ce.conditions&&ce.conditions.length>0;if(de&&le)if("checkbox"===e.name&&Array.isArray(o)){const e=o;for(const t of e){const e=ce.conditions.find(e=>_(e,t));e&&(ne=ne||!0===e.enableNotes,se=se||!0===e.enableAttachment,ae=ae||!0===e.enableRaiseIssue,re=re||!0===e.enableSendEmail)}}else if(te){const e=ce.conditions.find(e=>_(e,o));e&&(ne=!0===e.enableNotes,se=!0===e.enableAttachment,ae=!0===e.enableRaiseIssue,re=!0===e.enableSendEmail)}else{const e=ce.conditions.find(e=>_(e,o));e&&(ne=!0===e.enableNotes,se=!0===e.enableAttachment,ae=!0===e.enableRaiseIssue,re=!0===e.enableSendEmail)}if(!de){const t=e.basic,i=!0===t?.enableNotes,n=!0===t?.enableAttachment,s=!0===t?.enableRaiseIssue,a=!0===t?.enableSendEmail;if(te)if(le)if("checkbox"===e.name){(Array.isArray(o)?o:[o]).forEach(e=>{const t=ie.find(t=>!(!t||!t.value)&&(t.value===e||(String(t.value)===String(e)||(t.label===e||String(t.label)===String(e)))));t&&(ne=ne||!0===t.enableNotes,se=se||!0===t.enableAttachment,ae=ae||!0===t.enableRaiseIssue,re=re||!0===t.enableSendEmail,oe||(oe=t))}),ne=ne||i,se=se||n,ae=ae||s,re=re||a}else if(oe=ie.find(e=>!(!e||!e.value)&&(e.value===o||(String(e.value)===String(o)||(e.label===o||String(e.label)===String(o))))),oe){const e=!0===oe.enableNotes,t=!0===oe.enableAttachment,r=!0===oe.enableRaiseIssue,o=!0===oe.enableSendEmail;ne=e||i,se=t||n,ae=r||s,re=o||a}else ne=i,se=n,ae=s,re=a;else ne=i,se=n,ae=s,re=a;else ne=i,se=n,ae=s,re=a}if(!(ne||se||ae||re))return null;const me=z(),pe=e.condition,he=pe&&pe.conditions&&pe.conditions.length>0,fe=!!he&&me.some(e=>!0===e.enableNotes),be=!!he&&me.some(e=>!0===e.enableAttachment),ge=!!he&&me.some(e=>!0===e.enableSendEmail),ve=!!he&&me.some(e=>!0===e.enableRaiseIssue),xe=String(b||"").trim().length>0,ye=v&&v.length>0,je=v?v.length:0;return U.jsxs(U.Fragment,{children:[U.jsxs("div",{className:"component-action-features",children:[U.jsxs("div",{className:"action-icons-toolbar",children:[ne&&U.jsxs("button",{type:"button",className:`action-icon-button ${xe?"active":""} ${fe?"mandatory":""}`,onClick:B,title:"Add Notes",children:[U.jsx(d,{size:14,fill:xe?"currentColor":"none"}),fe&&U.jsx("span",{className:"mandatory-indicator",children:"*"})]}),se&&U.jsxs("button",{type:"button",className:`action-icon-button ${ye?"active":""} ${be?"mandatory":""}`,onClick:H,title:"Add Attachment",children:[U.jsx(y,{size:14,fill:ye?"currentColor":"none"}),je>0&&U.jsx("span",{className:"attachment-count-badge",children:je}),be&&U.jsx("span",{className:"mandatory-indicator",children:"*"})]}),re&&U.jsxs("button",{type:"button",className:`action-icon-button ${A?"active sent":""} ${ge?"mandatory":""}`,onClick:X,disabled:A,title:"Send Email",children:[A?U.jsx(U.Fragment,{children:U.jsx(j,{size:14})}):U.jsx(N,{size:14,fill:A?"currentColor":"none"}),ge&&U.jsx("span",{className:"mandatory-indicator",children:"*"})]}),ae&&U.jsxs("button",{type:"button",className:`action-icon-button ${L?"active":""} ${ve?"mandatory":""}`,onClick:Z,title:"Raise an Issue",children:[U.jsx(C,{size:14,fill:L?"currentColor":"none"}),ve&&U.jsx("span",{className:"mandatory-indicator",children:"*"})]}),(xe&&ne||ye&&se)&&U.jsx("button",{type:"button",className:"action-icon-button accordion-toggle",onClick:()=>V(!D),title:D?"Collapse":"Expand",children:D?U.jsx(w,{size:14}):U.jsx(S,{size:14})})]}),k&&ne&&U.jsx("div",{className:"notes-input-overlay",children:U.jsx("textarea",{className:"action-notes-textarea",value:b,onChange:P,onBlur:W,placeholder:"Explain which protocols were not followed",rows:4,autoFocus:!0})}),D&&U.jsxs("div",{className:"actions-content",children:[!k&&xe&&ne&&U.jsx("div",{className:"notes-summary-section",children:U.jsxs("div",{className:"notes-full-text",onClick:J,children:[U.jsx("span",{className:"notes-label",children:"Notes:"})," ",b]})}),ye&&se&&U.jsx("div",{className:"attachments-section",children:U.jsx(ue,{attachments:v,onRemove:G})})]}),se&&U.jsx("input",{ref:F,type:"file",multiple:!0,accept:"image/*,.pdf",onChange:Y,style:{display:"none"}})]}),$&&r&&U.jsx(K,{isOpen:$,onClose:Q,onSuccess:ee,component:oe?{...e,basic:{...e.basic,label:`${e.basic?.label||"Component"} - ${oe.label||oe.value}`,value:oe.value||e.basic?.value||""}}:e,formTemplateId:r,notes:b,attachments:v})]})},pe=({attachments:e})=>e&&0!==e.length?U.jsx("div",{className:"attachment-thumbnails-container",children:e.map((e,t)=>{const i=e.type?.startsWith("image/")||!1,n=i?(e=>e.data?e.data.startsWith("data:")?e.data:`data:${e.type||"image/png"};base64,${e.data}`:"")(e):"";return U.jsx("div",{className:"attachment-thumbnail",children:i&&n?U.jsx("img",{src:n,alt:e.name||`Attachment ${t+1}`}):U.jsxs("div",{className:"file-icon-placeholder",children:[U.jsx(y,{size:20}),U.jsx("span",{className:"file-name",children:e.name||`File ${t+1}`})]})},t)})}):null,he=({component:e})=>{const t=e.basic?.notes||"",i=e.basic?.attachments||[],n=t&&t.trim().length>0,s=i&&i.length>0;return n||s?U.jsx("div",{className:"component-submission-actions",children:U.jsxs("div",{className:"actions-content",children:[n&&U.jsx("div",{className:"notes-summary-section",children:U.jsxs("div",{className:"notes-full-text",children:[U.jsx("span",{className:"notes-label",children:"Notes:"})," ",t]})}),s&&U.jsx("div",{className:"attachments-section",children:U.jsx(pe,{attachments:i})})]})}):null},fe=({child:e,selectedChild:t,mode:i,onChildSelect:n,onChildDelete:s,renderFormComponent:a,isOverlay:r=!1,isChildrenEditMode:o=!1,formData:l={},formTemplateId:c,onThresholdActionCompletion:d,onThresholdIssueRaised:u,onNotesChange:m,onAttachmentChange:p})=>{const h=l[e.id],f="preview"===i&&(e.basic?.notes&&e.basic.notes.trim().length>0||e.basic?.attachments&&Array.isArray(e.basic.attachments)&&e.basic.attachments.length>0),{attributes:b,listeners:g,setNodeRef:v,transform:x,transition:y,isDragging:j,isSorting:N}=F({id:e.id,disabled:r||"edit"!==i}),C={transform:q.Transform.toString(x),transition:y,opacity:j?.3:1,zIndex:j?1e3:"auto"};return U.jsxs("div",{ref:v,style:C,className:`form-component section-child ${t?.id===e.id?"selected":""} ${j?"dragging":""} ${N?"sorting":""} ${o?"children-edit-active":""}`,onClick:()=>!j&&n(e),role:"button",tabIndex:0,children:[("edit"===i||o)&&U.jsx("div",{className:"child-drag-handle",...g,...b,onClick:e=>e.stopPropagation(),onMouseDown:e=>e.stopPropagation(),children:U.jsx(E,{size:14})}),U.jsxs("div",{className:"form-component-content section-child-content",children:[("edit"===i||o)&&U.jsxs("div",{className:"component-actions child-actions",children:[U.jsx("button",{className:"btn edit-btn",onClick:t=>{t.stopPropagation(),n(e)},onMouseDown:e=>e.stopPropagation(),title:"Edit properties",children:U.jsx($,{size:12})}),U.jsx("button",{className:"btn delete-btn",onClick:t=>s(e,t),onMouseDown:e=>e.stopPropagation(),title:"Delete component",children:U.jsx(T,{size:12})})]}),U.jsxs("div",{className:"component-preview child-preview",children:[a(e),"test"===i&&!["section","table","heading","file","instructions","signature","location","datagrid"].includes(e.name)&&U.jsx(me,{component:e,mode:"test",formTemplateId:c,formValue:h,onThresholdActionCompletion:d,onThresholdIssueRaised:u,onNotesChange:m?t=>m(e.id,t):void 0,onAttachmentChange:p?t=>p(e.id,t):void 0}),f&&U.jsx(he,{component:e})]})]})]})},be=({id:e,properties:s,mode:a="edit",formData:r={},onValueChange:o,onSelect:l,isSelected:c=!1,className:d="",onSectionSelect:u,onChildSelect:m,onChildDelete:p,selectedChild:h,renderFormComponent:f,formTemplateId:b,onThresholdActionCompletion:g,onThresholdIssueRaised:v,onNotesChange:x,onAttachmentChange:y})=>{const[j,N]=t(s.basic.collapsed),[C,w]=t(!1),[E,$]=t(!1),[T,A]=t(s.basic.label),[I,L]=t(s.basic.description),[F,O]=t(s.children||[]),[q,M]=t(!1);i(()=>{O(s.children||[])},[s.children]),i(()=>{A(s.basic.label),L(s.basic.description)},[s.basic.label,s.basic.description]);const{setNodeRef:_,isOver:z}=R({id:`section-${e}`,disabled:"edit"!==a}),P=!("preview"!==a&&"test"!==a||s.children&&s.children.length>0),W=n(t=>{A(t),o?.({id:e,value:{...s,basic:{...s.basic,label:t}}})},[e,s,o]),B=n(t=>{L(t),o?.({id:e,value:{...s,basic:{...s.basic,description:t}}})},[e,s,o]),J=n(e=>{m?.(e)},[m]),H=n((e,t)=>{t.stopPropagation();const i=F.filter(t=>t.id!==e.id);O(i),p?.(e.id)},[p,F,e]),Y=n(()=>{u?.(s),l?.()},[u,l,s]),G=n(e=>{e.stopPropagation(),"edit"===a&&F.length>0&&M(!q)},[a,F.length,q]),X=n(t=>{t.stopPropagation(),N(!j),o?.({id:e,value:{...s,basic:{...s.basic,collapsed:!j}}})},[j,e,s,o]),K=f||n(e=>{const t={id:e.id,properties:e,validationErrors:{},formValue:"test"===a?r[e.id]||"defaultValue"in e.basic&&e.basic.defaultValue||"":"defaultValue"in e.basic&&e.basic.defaultValue||"",touchedFields:{},formSubmitted:!1,mode:a,onValueChange:o,onBlur:()=>{},onFocus:()=>{}};switch(e.name){case"text-input":case"email-input":case"number-input":return U.jsx(Q,{...t,properties:e,inputType:"text-input"===e.name?"text":"number-input"===e.name?"number":"email",readonly:"edit"===a||"preview"===a,disabled:"preview"===a});case"textarea":return U.jsx(ee,{...t,properties:e,readonly:"edit"===a||"preview"===a,disabled:"preview"===a});case"select":const i={...e,options:e.basic?.options||[]};return U.jsx(te,{...t,properties:i,disabled:"edit"===a||"preview"===a});case"checkbox":const n={...e,options:e.basic?.options||[]};return U.jsx(ie,{...t,properties:n,formValue:[],disabled:"edit"===a||"preview"===a});case"radio":const s={...e,options:e.basic?.options||[]};return U.jsx(ne,{...t,properties:s,readonly:"edit"===a||"preview"===a,disabled:"edit"===a||"preview"===a});case"date":case"date-picker":case"datetime-picker":return U.jsx(ae,{...t,properties:e,readonly:"edit"===a||"preview"===a,disabled:"preview"===a});case"signature":return U.jsx(re,{...t,properties:e});case"heading":return U.jsx(ce,{...t,properties:e});default:return U.jsx("div",{className:"form-group",children:U.jsxs("div",{className:"form-group-label",children:["Unsupported Component: ",e.name]})})}},[a,o,r]);if(P)return null;const Z={backgroundColor:s.styles.backgroundColor,borderColor:s.styles.borderColor,borderWidth:s.styles.borderWidth,borderRadius:s.styles.borderRadius,padding:s.styles.padding,margin:s.styles.margin};return U.jsxs("div",{ref:_,className:`df-form-section ${c?"selected":""} ${z?"drag-over":""} ${d}`,style:Z,children:[U.jsxs("div",{className:"section-header "+(q?"children-edit-mode":""),onClick:Y,onDoubleClick:G,children:[U.jsx("div",{className:"section-header-content",children:U.jsxs("div",{className:"section-title",children:[U.jsx("span",{className:"section-toggle",title:j?"Expand section":"Collapse section",role:"button",tabIndex:0,onClick:e=>{e.stopPropagation(),X(e)},onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),X(e))},style:{marginRight:"8px",display:"inline-flex",alignItems:"center"},children:j?U.jsx(k,{size:18}):U.jsx(S,{size:18})}),"edit"===a&&C?U.jsx("input",{type:"text",value:T,onChange:e=>A(e.target.value),onBlur:()=>{w(!1),W(T)},onKeyDown:e=>{"Enter"===e.key&&(w(!1),W(T))},className:"section-title-input",autoFocus:!0}):U.jsx("h3",{className:"section-title-text",onDoubleClick:()=>"edit"===a&&w(!0),style:{display:"inline",margin:0},children:T||"Untitled Section"})]})}),(I||"edit"===a)&&U.jsx("div",{className:"section-description",children:"edit"===a&&E?U.jsx("textarea",{value:I,onChange:e=>L(e.target.value),onBlur:()=>{$(!1),B(I)},onKeyDown:e=>{"Enter"===e.key&&e.ctrlKey&&($(!1),B(I))},className:"section-description-input",placeholder:"Section description (optional)",autoFocus:!0}):U.jsx("p",{className:"section-description-text",onDoubleClick:()=>"edit"===a&&$(!0),children:I||"Section description"})})]}),!j&&U.jsx("div",{className:`section-content ${z?"drag-over":""} ${0===F.length?"empty":"has-children"}`,onClick:e=>{e.target===e.currentTarget&&Y()},children:U.jsx(D,{items:F.map(e=>e.id),strategy:V,children:0===F.length?U.jsxs("div",{className:"section-empty-state",onClick:Y,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:[U.jsx("div",{style:{fontWeight:"500",color:z?"#3b82f6":"#374151"},children:z?"Drop components here":"Empty Section"}),U.jsx("div",{style:{fontSize:"12px",color:"#9ca3af"},children:"Drag and drop components here to create your section"})]}):F.map(e=>U.jsx(fe,{child:e,selectedChild:h||null,mode:a,onChildSelect:J,onChildDelete:H,renderFormComponent:K,isChildrenEditMode:q,formData:r,formTemplateId:b,onNotesChange:x,onAttachmentChange:y,onThresholdActionCompletion:g,onThresholdIssueRaised:v},e.id))})})]})},ge=({component:e,selectedComponent:t,mode:i,onComponentSelect:n,onComponentDelete:s,onComponentEdit:a,renderFormComponent:r,isOverlay:o=!1,formData:l={},formTemplateId:c,onThresholdActionCompletion:d,onThresholdIssueRaised:u,onNotesChange:m,onAttachmentChange:p})=>{const h=l[e.id],f="preview"===i&&(e.basic?.notes&&e.basic.notes.trim().length>0||e.basic?.attachments&&Array.isArray(e.basic.attachments)&&e.basic.attachments.length>0),{attributes:b,listeners:g,setNodeRef:v,transform:x,transition:y,isDragging:j,isSorting:N}=F({id:e.id,disabled:o}),C={transform:q.Transform.toString(x),transition:y,opacity:j?.3:1,zIndex:j?1e3:"auto"};return U.jsxs("div",{ref:v,style:{...C,border:t?.id===e.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:t?.id===e.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 ${t?.id===e.id?"selected":""} ${j?"dragging":""} ${N?"sorting":""}`,onClick:()=>!j&&n(e),role:"button",tabIndex:0,children:["edit"===i&&U.jsx("div",{className:"component-drag-handle",...g,...b,onClick:e=>e.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:U.jsx(E,{size:12,color:"var(--df-color-text-light)"})}),U.jsxs("div",{className:"component-content",style:{paddingTop:"edit"===i?"24px":"0",paddingLeft:"edit"===i?"28px":"0",minHeight:"60px"},children:[r(e),"test"===i&&!["section","table","heading","file","instructions","signature","location","datagrid"].includes(e.name)&&U.jsx(me,{component:e,mode:"test",formTemplateId:c,formValue:h,onThresholdActionCompletion:d,onThresholdIssueRaised:u,onNotesChange:m?t=>m(e.id,t):void 0,onAttachmentChange:p?t=>p(e.id,t):void 0}),f&&U.jsx(he,{component:e})]}),"edit"===i&&U.jsxs("div",{className:"component-actions",style:{position:"absolute",top:"4px",right:"4px",display:"flex",gap:"4px",opacity:1,zIndex:10},children:[a&&U.jsx("button",{className:"component-edit-btn",onClick:t=>{t.stopPropagation(),a(e)},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:e=>{e.currentTarget.style.backgroundColor="#2563eb"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="#3b82f6"},children:U.jsx($,{size:12})}),U.jsx("button",{className:"component-delete-btn",onClick:t=>{t.stopPropagation(),s(e,t)},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:e=>{e.currentTarget.style.backgroundColor="#dc2626"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="#ef4444"},children:U.jsx(T,{size:12})})]})]})},ve=({gridComponents:e,mode:t,onComponentSelect:i,onComponentDelete:n,onComponentEdit:s,onComponentUpdate:a,selectedComponent:r,renderFormComponent:o,gridId:l,formData:c={},formTemplateId:d,onThresholdActionCompletion:u,onThresholdIssueRaised:m,onNotesChange:p,onAttachmentChange:h})=>{const{setNodeRef:f,isOver:b}=R({id:`grid-drop-zone-${l}`,disabled:"edit"!==t});return U.jsx("div",{ref:f,className:"grid-drop-zone",style:{border:b?"2px dashed #3b82f6":"2px dashed #d1d5db",borderRadius:"8px",padding:"16px",backgroundColor:b?"var(--df-color-primary-light)":"var(--df-color-fb-container)",minHeight:"120px",transition:"all 0.2s ease",position:"relative"},children:e.length>0?U.jsxs(U.Fragment,{children:[U.jsx(D,{items:e.map(e=>e.id),strategy:O,children:U.jsx("div",{style:{display:"flex",flexDirection:"row",flexWrap:"nowrap",gap:"12px",alignItems:"start",marginBottom:e.length>0?"12px":"0",overflowX:"auto",width:"100%"},children:e.map(e=>U.jsx("div",{style:{flex:"1 1 0",minWidth:"200px",maxWidth:"100%"},children:U.jsx(ge,{component:e,selectedComponent:r,mode:t,onComponentSelect:i,onComponentDelete:n,onComponentEdit:s,onComponentUpdate:a,renderFormComponent:o,formData:c,formTemplateId:d,onThresholdActionCompletion:u,onThresholdIssueRaised:m,onNotesChange:p,onAttachmentChange:h})},e.id))})}),U.jsx("div",{style:{border:b?"2px dashed #3b82f6":"1px dashed var(--df-color-fb-border)",borderRadius:"6px",padding:"12px",backgroundColor:b?"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"},children:b?U.jsx("span",{style:{color:"#3b82f6",fontWeight:"500"},children:"Drop component here to add to grid"}):U.jsx("span",{children:"+ Drop more components here"})})]}):U.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:[U.jsx("div",{style:{fontWeight:"500",color:b?"var(--df-color-primary)":"var(--df-color-text-dark)"},children:b?"Drop components here":"Empty DataGrid"}),U.jsx("div",{style:{fontSize:"12px",color:"#9ca3af"},children:"Drag and drop components here to create your grid"})]})})},xe=({templateComponents:e,dataEntries:t,renderFormComponent:i,mode:n="preview",allowAddRemoveEntries:s=!0,addAnotherText:a="Add Another",removeText:r="Remove",maxEntries:o=10,minEntries:l=1,displayAsGrid:c=!0,onAddEntry:d,onRemoveEntry:u,formData:m={},formTemplateId:p,onThresholdActionCompletion:h,onThresholdIssueRaised:f,onNotesChange:b,onAttachmentChange:g})=>0===e.length?U.jsxs("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:["No components defined. Add components to see the ",c?"table":"list"," view."]}):c?U.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:[U.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:e.length>4?1:0,transition:"opacity 0.2s ease"},children:"← Scroll →"}),U.jsxs("div",{className:"table-scroll-container",style:{overflowX:"auto",overflowY:"hidden",maxWidth:"100%",scrollbarWidth:"thin",scrollbarColor:"var(--df-color-fb-border) var(--df-color-fb-icon-bg)",position:"relative"},children:[U.jsx("div",{className:"table-headers",style:{display:"grid",gridTemplateColumns:`repeat(${e.length}, minmax(150px, 1fr))`,backgroundColor:"var(--df-color-fb-container)",borderBottom:"2px solid var(--df-color-fb-border)",minWidth:150*e.length+"px"},children:e.map((t,i)=>U.jsx("div",{style:{padding:"12px 16px",fontWeight:"600",color:"var(--df-color-text-dark)",borderRight:i<e.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 ${i+1}`},`header-${t.id}`))}),t.length>0?t.map((a,o)=>U.jsxs("div",{className:"table-row",style:{display:"grid",gridTemplateColumns:`repeat(${e.length}, minmax(150px, 1fr))`,borderBottom:o<t.length-1?"1px solid var(--df-color-fb-border)":"none",backgroundColor:o%2==0?"var(--df-color-fb-container)":"var(--df-color-fb-bg)",position:"relative",minWidth:150*e.length+"px"},children:[e.map((t,n)=>{let s=a.components?.[n];if(s)s={...s,id:s.id,basic:{...s.basic,showLabel:!1}};else{const e=`${t.id}-entry-${o}-${n}`;s={...t,id:e,basic:{...t.basic,showLabel:!1}}}return U.jsx("div",{style:{padding:"12px 16px",borderRight:n<e.length-1?"1px solid var(--df-color-fb-border)":"none",minHeight:"60px",minWidth:"150px",display:"flex",alignItems:"center",overflow:"hidden"},children:U.jsx("div",{style:{width:"100%",minWidth:"120px",overflow:"hidden"},children:i(s,!0)})},`${a.id}-${n}`)}),"test"===n&&s&&t.length>l&&U.jsx("button",{onClick:()=>u?.(o),disabled:t.length<=l,style:{position:"absolute",top:"8px",right:"8px",padding:"4px 8px",backgroundColor:t.length<=l?"#f3f4f6":"#ef4444",color:t.length<=l?"#9ca3af":"#ffffff",border:"none",borderRadius:"4px",fontSize:"12px",fontWeight:"500",cursor:t.length<=l?"not-allowed":"pointer",display:"flex",alignItems:"center",gap:"4px",zIndex:10,minWidth:"24px",height:"24px",justifyContent:"center"},title:r,children:U.jsx("span",{style:{fontSize:"14px"},children:"×"})})]},a.id)):U.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&&s?'Click "Add Another" to add entries.':"Use the properties panel to add entries."]})]}),"test"===n&&s&&U.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:U.jsxs("button",{onClick:d,disabled:t.length>=o,style:{padding:"8px 16px",backgroundColor:t.length>=o?"#f3f4f6":"#10b981",color:t.length>=o?"#9ca3af":"#ffffff",border:"none",borderRadius:"6px",fontSize:"14px",fontWeight:"500",cursor:t.length>=o?"not-allowed":"pointer",display:"flex",alignItems:"center",gap:"6px"},children:[U.jsx("span",{style:{fontSize:"16px"},children:"+"}),a]})})]}):U.jsxs("div",{className:"datagrid-list-view",style:{display:"flex",flexDirection:"column",gap:"12px",backgroundColor:"var(--df-color-fb-container)"},children:[t.length>0?t.map((a,o)=>U.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:[U.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"12px",paddingBottom:"8px",borderBottom:"1px solid var(--df-color-fb-border)"},children:[U.jsxs("span",{style:{fontWeight:"600",color:"var(--df-color-text-dark)",fontSize:"14px"},children:["Entry #",o+1]}),"test"===n&&s&&t.length>1&&U.jsx("button",{onClick:()=>u?.(o),disabled:t.length<=l,style:{padding:"4px 8px",backgroundColor:t.length<=l?"#f3f4f6":"#ef4444",color:t.length<=l?"#9ca3af":"#ffffff",border:"none",borderRadius:"4px",fontSize:"12px",fontWeight:"500",cursor:t.length<=l?"not-allowed":"pointer",display:"flex",alignItems:"center",gap:"4px",minWidth:"24px",height:"24px",justifyContent:"center"},title:r,children:U.jsx("span",{style:{fontSize:"14px"},children:"×"})})]}),U.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:"16px"},children:e.map((e,t)=>{let s=a.components?.[t];if(s||(s=a.components?.find(t=>t.name===e.name&&t.basic?.label===e.basic?.label)),s)s={...s,id:s.id,basic:{...s.basic,showLabel:!1}};else{const i=`${e.id}-entry-${o}-${t}`;s={...e,id:i,basic:{...e.basic,showLabel:!1}}}return U.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[U.jsx("label",{style:{fontSize:"12px",fontWeight:"500",color:"var(--df-color-text-light)",textTransform:"uppercase",letterSpacing:"0.05em"},children:e.basic?.label||`Field ${t+1}`}),U.jsxs("div",{style:{minHeight:"40px",display:"flex",alignItems:"center",flexDirection:"column",width:"100%"},children:[i(s),"test"===n&&!["section","table","heading","file","instructions","signature","location","datagrid"].includes(s.name)&&U.jsx(me,{component:s,mode:"test",formTemplateId:p,formValue:m[s.id],onThresholdActionCompletion:h,onThresholdIssueRaised:f,onNotesChange:b?e=>b(s.id,e):void 0,onAttachmentChange:g?e=>g(s.id,e):void 0}),"preview"===n&&(s.basic?.notes&&s.basic.notes.trim().length>0||s.basic?.attachments&&Array.isArray(s.basic.attachments)&&s.basic.attachments.length>0?U.jsx(he,{component:s}):null)]})]},`${a.id}-${t}`)})})]},a.id)):U.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&&s?'Click "Add Another" to add entries.':"Use the properties panel to add entries."]}),"test"===n&&s&&U.jsx("div",{style:{padding:"16px",backgroundColor:"#f8f9fa",border:"1px solid var(--df-color-fb-border)",borderRadius:"8px",display:"flex",justifyContent:"center"},children:U.jsxs("button",{onClick:d,disabled:t.length>=o,style:{padding:"8px 16px",backgroundColor:t.length>=o?"#f3f4f6":"#10b981",color:t.length>=o?"#9ca3af":"#ffffff",border:"none",borderRadius:"6px",fontSize:"14px",fontWeight:"500",cursor:t.length>=o?"not-allowed":"pointer",display:"flex",alignItems:"center",gap:"8px",transition:"all 0.2s ease"},onMouseEnter:e=>{t.length<o&&(e.currentTarget.style.backgroundColor="#059669")},onMouseLeave:e=>{t.length<o&&(e.currentTarget.style.backgroundColor="#10b981")},children:[U.jsx("span",{children:"+"}),a]})})]}),ye=({id:e,properties:s,mode:r="edit",formData:o={},validationErrors:l={},touchedFields:c={},formSubmitted:d=!1,onValueChange:u,onSelect:m,isSelected:p=!1,className:h="",onDataGridSelect:f,onComponentSelect:b,onComponentDelete:g,onComponentEdit:v,onComponentUpdate:x,selectedComponent:y,renderFormComponent:j,onEntryAdd:N,onEntryRemove:C,formTemplateId:w,onThresholdActionCompletion:E,onThresholdIssueRaised:$,onNotesChange:T,onAttachmentChange:I})=>{const[L,R]=t(!1),D=a(!1);let V=s.templateComponents||[];const F=s.entries||[];0===V.length&&F.length>0&&F[0].components&&(V=F[0].components.map(e=>({...e,id:e.id?.replace(/-entry-\d+$/,"")||e.id,basic:{...e.basic,showLabel:!0}}))),i(()=>{if("edit"===r&&!s.templateComponents&&u&&D.current){const t={...s,templateComponents:[]};JSON.stringify(t)!==JSON.stringify(s)&&u({id:e,value:t})}D.current=!0},[s.templateComponents,e,u,s,r]),i(()=>{if(V.length>0){if("test"===r&&0===F.length&&D.current){const t={id:`entry-${e}-0`,index:0,components:V.map((e,t)=>({...e,id:`${e.id}-entry-0-${t}`,basic:{...e.basic,showLabel:!1}})),styles:{}};if(u){const i={...s,entries:[t]};JSON.stringify(i)!==JSON.stringify(s)&&u({id:e,value:i})}return}if("edit"!==r||!D.current)return;if(F.some(e=>e.components?.some((t,i)=>{const n=`${V[i]?.id}-entry-${e.index}-${i}`;return t.id!==n}))&&u){const t=F.map(e=>({...e,components:e.components?.map((t,i)=>({...t,id:`${V[i]?.id}-entry-${e.index}-${i}`}))||[]})),i={...s,entries:t};return void(JSON.stringify(i)!==JSON.stringify(s)&&u({id:e,value:i}))}if(0===F.length&&"edit"===r){const t={id:`entry-${e}-0`,index:0,components:V.map((e,t)=>({...e,id:`${e.id}-entry-0-${t}`,basic:{...e.basic,showLabel:!1}})),styles:{}};if(u){const i={...s,entries:[t]};JSON.stringify(i)!==JSON.stringify(s)&&u({id:e,value:i})}}else if(F.length>0){if(F.some(e=>V.some((t,i)=>{const n=e.components?.[i];if(!n)return!0;const s=`${t.id}-entry-${e.index}-${i}`,a=n.id===s,r=JSON.stringify(n.basic?.options)!==JSON.stringify(t.basic?.options)||n.basic?.placeholder!==t.basic?.placeholder||n.basic?.defaultValue!==t.basic?.defaultValue||n.basic?.label!==t.basic?.label||n.validation?.required!==t.validation?.required;return!a||r}))&&u){const t=F.map(e=>{const t=V.map((t,i)=>{let n=e.components?.[i];n||(n=e.components?.find(e=>e.name===t.name&&e.basic?.label===t.basic?.label));const s=`${t.id}-entry-${e.index}-${i}`;if(n){return{...t,id:s,basic:{...t.basic,showLabel:!1,value:n.basic?.value||t.basic?.defaultValue||""}}}return{...t,id:s,basic:{...t.basic,showLabel:!1}}});return{...e,components:t}}),i={...s,entries:t};JSON.stringify(i)!==JSON.stringify(s)&&u({id:e,value:i})}}}},[V,F,e,u,s,r,s.templateComponents]);const O=n(e=>{e.stopPropagation(),m?.(),f?.(s)},[m,f,s]),q=n((t,i)=>{i.stopPropagation(),g&&g(t,i);const n=V.filter(e=>e.id!==t.id),a=F.map(e=>({...e,components:e.components?.filter(e=>!(e.name===t.name&&e.basic?.label===t.basic?.label))||[]}));u&&u({id:e,value:{...s,templateComponents:n,entries:a}})},[g,s,u,e,V,F]),M=n((t,i)=>{x&&x(t,i);const n=V.map(e=>e.id===t?{...e,...i}:e);u&&u({id:e,value:{...s,templateComponents:n}})},[x,s,u,e,V]),_=n(e=>{"test"===r&&u&&u({id:e.id,value:e.value})},[r,u]),z=n(()=>{if(0===V.length)return void console.warn("Cannot add entry: No template components defined");if(N)return void N();const t=s.entries||[],i=t.length,n={id:`entry-${e}-${i}`,index:i,components:V.map((e,t)=>({...e,id:`${e.id}-entry-${i}-${t}`,basic:{...e.basic,showLabel:!1}})),styles:{}},a=[...t,n];u&&u({id:e,value:{...s,entries:a}})},[s,u,e,N,V]),P=n(t=>{const i=s.entries.filter((e,i)=>i!==t).map((t,i)=>({...t,index:i,id:`entry-${e}-${i}`}));u&&u({id:e,value:{...s,entries:i}})},[s,u,e,C]),W=n((e,t=!1)=>{const i="test"===r?o[e.id]||"defaultValue"in e.basic&&e.basic.defaultValue||"":"defaultValue"in e.basic&&e.basic.defaultValue||"",n={id:e.id,properties:e,validationErrors:l||{},formValue:i,touchedFields:c||{},formSubmitted:d||!1,mode:r,hideLabel:t,onValueChange:_,onBlur:()=>{},onFocus:()=>{}};switch(e.name){case"text-input":case"email-input":case"number-input":return U.jsx(Q,{...n,properties:e,inputType:"text-input"===e.name?"text":"number-input"===e.name?"number":"email",readonly:"edit"===r||"preview"===r,disabled:"preview"===r,hideLabel:t});case"textarea":return U.jsx(ee,{...n,properties:e,readonly:"edit"===r||"preview"===r,disabled:"preview"===r,hideLabel:t});case"select":const i={...e,options:e.basic?.options||[]};return U.jsx(te,{...n,properties:i,disabled:"edit"===r||"preview"===r,hideLabel:t});case"checkbox":const s={...e,options:e.basic?.options||[]};return U.jsx(ie,{...n,properties:s,formValue:[],disabled:"edit"===r||"preview"===r,hideLabel:t});case"radio":const a={...e,options:e.basic?.options||[]};return U.jsx(ne,{...n,properties:a,readonly:"edit"===r||"preview"===r,disabled:"edit"===r||"preview"===r,hideLabel:t});case"date":case"date-picker":case"datetime-picker":return U.jsx(ae,{...n,properties:e,readonly:"edit"===r||"preview"===r,disabled:"preview"===r,hideLabel:t});case"signature":return U.jsx(re,{...n,properties:e,hideLabel:t});case"heading":return U.jsx(ce,{...n,properties:e,hideLabel:t});case"instructions":return U.jsx(de,{...n,properties:e,hideLabel:t});default:return U.jsxs("div",{className:"unknown-component",children:["Unknown component: ",e.name]})}},[r,_]),B={backgroundColor:s.styles.backgroundColor||"var(--df-color-fb-container)",borderColor:s.styles.borderColor||"var(--df-color-fb-border)",borderWidth:s.styles.borderWidth||"2px",borderRadius:s.styles.borderRadius||"8px",padding:s.styles.padding||"16px",margin:s.styles.margin||"16px 0"};return U.jsxs("div",{className:`form-group df-form-datagrid ${p?"selected":""} ${h}`,onClick:O,style:B,children:[U.jsx("div",{className:"grid-header",children:U.jsx("div",{className:"grid-title",onClick:t=>{t.stopPropagation(),R(!L),u?.({id:e,value:{...s,basic:{...s.basic,collapsed:!L}}})},children:U.jsxs("div",{className:"title-content",style:{display:"flex",alignItems:"center",gap:"8px"},children:[L?U.jsx(k,{size:16}):U.jsx(S,{size:16}),U.jsx(A,{size:16}),U.jsx("span",{className:"grid-label",style:{fontWeight:"600"},children:s.basic.label}),s.validation.required&&U.jsx("span",{className:"required-indicator",style:{color:"#ef4444"},children:"*"})]})})}),s.basic.description&&!L&&U.jsx("div",{className:"grid-description",style:{marginTop:"8px",color:"var(--df-color-text-light)",fontSize:"14px"},children:s.basic.description}),!L&&U.jsx("div",{className:"grid-content",style:{marginTop:"16px"},children:"edit"===r?U.jsx(ve,{gridComponents:V,mode:r,onComponentSelect:b||(()=>{}),onComponentDelete:q,onComponentEdit:v,onComponentUpdate:M,selectedComponent:y||null,renderFormComponent:j||W,gridId:e,formData:o,formTemplateId:w,onThresholdActionCompletion:E,onThresholdIssueRaised:$,onNotesChange:T,onAttachmentChange:I}):U.jsx(xe,{templateComponents:V,dataEntries:F,renderFormComponent:j||W,mode:r,allowAddRemoveEntries:s.datagrid?.allowAddRemoveEntries??!0,addAnotherText:s.datagrid?.addAnotherText??"Add Entry",removeText:s.datagrid?.removeText??"Remove",maxEntries:s.datagrid?.maxEntries??10,minEntries:s.datagrid?.minEntries??1,displayAsGrid:s.datagrid?.displayAsGrid??!0,onAddEntry:N||z,onRemoveEntry:C||P,formData:o,formTemplateId:w,onThresholdActionCompletion:E,onThresholdIssueRaised:$,onNotesChange:T,onAttachmentChange:I})})]})},je=e.lazy(()=>Promise.resolve().then(function(){return Ae})),Ne=({formComponents:s=[],currentDevice:a="desktop",isPreviewMode:r=!1,initialFormData:o=[],onSubmit:l,onFormDataChange:c,formTitle:d,formDescription:u,formTemplateId:m,onComponentSelect:p,onComponentDelete:h,onComponentEdit:f,onComponentUpdate:b,selectedComponent:g})=>{const[v,x]=t({}),[y,j]=t({}),[N,C]=t(!1),[w,S]=t({}),[k,E]=t({}),[$,T]=t(new Set),[A,I]=t(new Map),[L,R]=t({isValid:!0});i(()=>{V()},[s,o]);const D=(e,t)=>{e.forEach(e=>{if(e.id&&("value"in e.basic&&void 0!==e.basic.value?t[e.id]=e.basic.value:"defaultValue"in e.basic&&void 0!==e.basic.defaultValue?t[e.id]=e.basic.defaultValue:"checkbox"===e.name||"select"===e.name?t[e.id]=[]:t[e.id]=""),e.cells&&Array.isArray(e.cells)&&e.cells.forEach((e,i)=>{Array.isArray(e)&&e.forEach((e,i)=>{e&&e.components&&Array.isArray(e.components)&&D(e.components,t)})}),e.entries&&Array.isArray(e.entries)&&e.entries.forEach((e,i)=>{e&&e.components&&Array.isArray(e.components)&&D(e.components,t)}),"file"===e.name&&e.basic){const i=e.basic.files||e.basic.attachments||e.basic.value;i&&(t[e.id]=i)}"instructions"===e.name&&e.basic&&(e.basic.instructions||(e.basic.instructions=[])),e.children&&Array.isArray(e.children)&&D(e.children,t)})},V=n(()=>{const e={};o&&o.length>0&&D(o,e),s&&s.length>0&&D(s,e),x(e),O()},[o,s]),F=(e,t)=>{e.forEach(e=>{if(e.id)if("table"===e.name||"datagrid"===e.name)t[e.id]=!0;else if(e.conditional){const i=H.evaluateConditionalLogic(e.conditional,s,v);t[e.id]=i.shouldShow}else t[e.id]=!0;e.cells&&Array.isArray(e.cells)&&e.cells.forEach(e=>{e.forEach(e=>{e.components&&Array.isArray(e.components)&&F(e.components,t)})}),e.entries&&Array.isArray(e.entries)&&e.entries.forEach(e=>{e.components&&Array.isArray(e.components)&&F(e.components,t)}),e.children&&Array.isArray(e.children)&&F(e.children,t)})},O=n(()=>{const e={};s&&s.length>0&&F(s,e),E(e)},[s,v]),q=n(e=>{const t=s.find(t=>t.id===e);if(t&&("table"===t.name||"datagrid"===t.name))return!0;return!1!==k[e]},[k,s]),M=n(e=>{const t={...v,[e.id]:e.value};x(t);const i=s.find(t=>t.id===e.id);if(i){const e=i?.threshold;e&&e.conditions&&e.conditions.length>0&&T(t=>{const i=new Set(t);return e.conditions.forEach(e=>{i.delete(e.id)}),i})}const n=t=>t.map(t=>t.id===e.id&&"defaultValue"in t.basic?{...t,basic:{...t.basic,value:e.value??t.basic.defaultValue,defaultValue:e.value}}:"section"===t.name&&t.children?{...t,children:n(t.children)}:"table"===t.name&&t.cells?{...t,cells:t.cells.map(e=>e.map(e=>{const t={...e};return t.components&&(t.components=n(t.components)),t}))}:"datagrid"===t.name&&t.entries?{...t,entries:t.entries.map(e=>{const t={...e};return t.components&&(t.components=n(t.components)),t})}:t),a=n(s);c?.(a),y[e.id]&&j(t=>({...t,[e.id]:""})),r||setTimeout(()=>{z(e.id)},100),setTimeout(()=>{const e={};s.forEach(i=>{if("table"===i.name||"datagrid"===i.name)e[i.id]=!0;else if(i.conditional){const n=H.evaluateConditionalLogic(i.conditional,s,t);e[i.id]=n.shouldShow}else e[i.id]=!0}),E(e)},0)},[s,v,y,c]),_=n((e,t)=>{for(const i of e){if(i.id===t)return i;if("section"===i.name&&i.children){const e=_(i.children,t);if(e)return e}if("table"===i.name&&i.cells)for(const e of i.cells)for(const i of e)if(i.components){const e=_(i.components,t);if(e)return e}if("datagrid"===i.name&&i.entries)for(const e of i.entries)if(e.components){const i=_(e.components,t);if(i)return i}}return null},[]),z=n(e=>{if(r)return;const t=_(s,e);if(!t)return;const i=v[e]||"";let n=!1;n=Array.isArray(i)?i.length>0:"string"==typeof i?""!==i.trim():null!=i;let a="";if(t.validation.required&&!n){const e=t.validation.customValidationMessage,i=t.basic.label||"This field";a=e||`${i} is required`}else if("email-input"===t.name&&n&&!/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(i)){const e=t.validation.customValidationMessage,i=t.basic.label||"This field";a=e||`${i} must be a valid email`}else if(t.validation.minLength&&n&&i.length<t.validation.minLength){const e=t.validation.customValidationMessage,i=t.basic.label||"This field";a=e||`${i} must be at least ${t.validation.minLength} characters`}else if(t.validation.maxLength&&n&&i.length>t.validation.maxLength){const e=t.validation.customValidationMessage,i=t.basic.label||"This field";a=e||`${i} must be no more than ${t.validation.maxLength} characters`}else if("number-input"===t.name&&n){const e=parseFloat(String(i));if(isNaN(e)){const e=t.validation.customValidationMessage,i=t.basic.label||"This field";a=e||`${i} must be a valid number`}else{const i=t.validation;if(void 0!==i.lowerLimit&&e<i.lowerLimit){const e=t.validation.customValidationMessage,n=t.basic.label||"This field";a=e||`You are under the limit. ${n} must be at least ${i.lowerLimit}`}else if(void 0!==i.upperLimit&&e>i.upperLimit){const e=t.validation.customValidationMessage,n=t.basic.label||"This field";a=e||`You crossed the limit. ${n} must be no more than ${i.upperLimit}`}}}j(t=>({...t,[e]:a}))},[s,r,v,_]),P=n(e=>{S(t=>({...t,[e]:!0})),r||setTimeout(()=>{z(e)},0)},[r,z]),W=n(e=>{y[e]&&j(t=>({...t,[e]:""}))},[y]),B=n(()=>s.every(e=>{const t=v[e.id]||"";let i=!1;return i=Array.isArray(t)?t.length>0:"string"==typeof t?""!==t.trim():null!=t,!(e.validation.required&&!i)}),[s,v]),J=n((e,t)=>{if(Array.isArray(t))return t.some(t=>J(e,t));if(null==t||""===t)return!1;const i="string"==typeof t?parseFloat(t):t,n="string"==typeof e.value?parseFloat(e.value):e.value;if(!isNaN(i)&&!isNaN(n))switch(e.operator){case"greaterThan":return i>n;case"lessThan":return i<n;case"greaterThanOrEqual":return i>=n;case"lessThanOrEqual":return i<=n;case"equals":return i===n;case"notEquals":return i!==n;default:return!1}const s=String(t).toLowerCase(),a=String(e.value).toLowerCase();switch(e.operator){case"equals":return s===a||String(t)===String(e.value);case"notEquals":return s!==a&&String(t)!==String(e.value);default:return!1}},[]),G=n(()=>{if(r)return[];const e=[];return s.forEach(t=>{const i=t?.condition;if(!i||!i.conditions||0===i.conditions.length)return;const n=v[t.id];null!=n&&""!==n&&!(Array.isArray(n)&&0===n.length)&&i.conditions.forEach(i=>{J(i,n)&&e.push({componentId:t.id,condition:i,componentLabel:t.basic?.label||"Field"})})}),e},[s,v,r,J]),X=n(()=>{if(r)return{isValid:!0};const e=G();if(0===e.length)return{isValid:!0};for(const{condition:t,componentLabel:i}of e){const e=A.get(t.id)||{notesCompleted:!1,attachmentsCompleted:!1,emailSent:!1},n=[];if(!0!==t.enableRaiseIssue||$.has(t.id)||n.push("raise an issue"),!0!==t.enableNotes||e.notesCompleted||n.push("add notes"),!0!==t.enableAttachment||e.attachmentsCompleted||n.push("add attachments"),!0!==t.enableSendEmail||e.emailSent||n.push("send email"),n.length>0){return{isValid:!1,errorMessage:`Please ${1===n.length?n[0]:n.slice(0,-1).join(", ")+" and "+n[n.length-1]} for the threshold condition met in "${i}". You cannot submit the form until all required actions are completed.`}}}return{isValid:!0}},[r,G,$,A]),K=n(e=>{e&&T(t=>{const i=new Set(t);return i.add(e),i})},[]),Z=n((e,t,i)=>{e&&I(n=>{const s=new Map(n),a=s.get(e)||{notesCompleted:!1,attachmentsCompleted:!1,emailSent:!1};return"notes"===t?s.set(e,{...a,notesCompleted:i}):"attachments"===t?s.set(e,{...a,attachmentsCompleted:i}):"email"===t&&s.set(e,{...a,emailSent:i}),s})},[]);i(()=>{if(!r){const e=X();R(e)}},[v,$,A,r,X]);const ue=n(()=>{if(r)return!0;let e=!0;C(!0);const t={};return s.forEach(i=>{const n=v[i.id]||"";let s=!1;if(s=Array.isArray(n)?n.length>0:"string"==typeof n?""!==n.trim():null!=n,i.validation.required&&!s){const n=i.validation.customValidationMessage,s=i.basic.label||"This field",a=n||`${s} is required`;t[i.id]=a,e=!1}else t[i.id]="";S(e=>({...e,[i.id]:!0}))}),j(t),e},[s,r,v]),pe=n(()=>{if(C(!0),!ue()){const e=s.find(e=>{const t=v[e.id]||"";let i=!1;return i=Array.isArray(t)?t.length>0:"string"==typeof t?""!==t.trim():null!=t,e.validation.required&&!i});if(e){const t=document.getElementById(e.id);t&&t.focus()}return}const e=X();if(!e.isValid){e.errorMessage&&Y.showError(e.errorMessage);const t=G().find(({condition:e})=>!$.has(e.id));if(t){const e=document.getElementById(t.componentId);e&&e.scrollIntoView({behavior:"smooth",block:"center"})}return}const t=e=>e.map(e=>{let i=v[e.id];"text-input"===e.name&&e.basic,void 0===i&&(i="value"in e.basic&&void 0!==e.basic.value?e.basic.value:"defaultValue"in e.basic&&void 0!==e.basic.defaultValue?e.basic.defaultValue:""),"text-input"===e.name&&e.basic;const n={...e,basic:{...e.basic,value:i,defaultValue:i}};return"section"===n.name&&n.children&&(n.children=t(n.children)),"table"===n.name&&n.cells&&(n.cells=n.cells.map(e=>e.map(e=>{const i={...e};return i.components&&(i.components=t(i.components)),i}))),"datagrid"===n.name&&n.entries&&(n.entries=n.entries.map(e=>{const i={...e};return i.components&&(i.components=t(i.components)),i})),n}),i=t(s);l?.(i)},[s,v,ue,l]),fe=n(()=>({[`device-${a}`]:!0,readonly:r}),[a,r]),ge=t=>{const i=v[t.id];"text-input"===t.name&&t.basic;const n={id:t.id,validationErrors:y,formValue:i,touchedFields:w,formSubmitted:N,mode:r?"preview":"test",readonly:r,onValueChange:M,onBlur:()=>P(t.id),onFocus:()=>W(t.id)};switch(t.name){case"text-input":case"number-input":case"email-input":return U.jsx(Q,{...n,properties:t,inputType:"text-input"===t.name?"text":"number-input"===t.name?"number":"email",formTemplateId:m,onThresholdIssueRaised:K,raisedThresholdIssues:$});case"textarea":return U.jsx(ee,{...n,properties:t});case"select":const a={...t,options:t.basic?.options||[],basic:{...t.basic,comments:t.basic?.comments||""}};return U.jsx(te,{...n,properties:a});case"checkbox":const r={...t,options:t.basic?.options||[],basic:{...t.basic,comments:t.basic?.comments||""}};return U.jsx(ie,{...n,properties:r});case"radio":const o={...t,options:t.basic?.options||[],basic:{...t.basic,comments:t.basic?.comments||""}};return U.jsx(ne,{...n,properties:o});case"segment":const l={...t,options:t.basic?.options||[],basic:{...t.basic,comments:t.basic?.comments||""}};return U.jsx(se,{...n,properties:l});case"date":case"date-picker":case"datetime-picker":return U.jsx(ae,{...n,properties:t});case"signature":return U.jsx(re,{...n,properties:t});case"heading":return U.jsx(ce,{...n,properties:t});case"instructions":return U.jsx(de,{...n,properties:t});case"location":return U.jsx(le,{...n,properties:t});case"section":return U.jsx(be,{...n,properties:t,formData:v,formTemplateId:m,onThresholdActionCompletion:Z,onThresholdIssueRaised:K,renderFormComponent:e=>ge(e)});case"table":return U.jsx(e.Suspense,{fallback:U.jsx("div",{children:"Loading table..."}),children:U.jsx(je,{...n,properties:t,formData:v,formTemplateId:m,mode:n.mode,validationErrors:y,touchedFields:w,formSubmitted:N,onThresholdActionCompletion:Z,onNotesChange:(e,i)=>{const n=s.map(n=>{if(n.id===t.id&&n.cells){const t=n.cells.map(t=>t.map(t=>{if(t.components){const n=t.components.map(t=>t.id===e?{...t,basic:{...t.basic,notes:i}}:t);return{...t,components:n}}return t}));return{...n,cells:t}}return n});c?.(n)},onAttachmentChange:(e,i)=>{const n=s.map(n=>{if(n.id===t.id&&n.cells){const t=n.cells.map(t=>t.map(t=>{if(t.components){const n=t.components.map(t=>t.id===e?{...t,basic:{...t.basic,attachments:i||[]}}:t);return{...t,components:n}}return t}));return{...n,cells:t}}return n});c?.(n)},renderFormComponent:e=>ge(e)})});case"datagrid":return U.jsx(ye,{...n,properties:t,formData:v,formTemplateId:m,mode:n.mode,validationErrors:y,touchedFields:w,formSubmitted:N,onThresholdActionCompletion:Z,onThresholdIssueRaised:K,onComponentSelect:p,onComponentDelete:h,onComponentEdit:f,onComponentUpdate:b,selectedComponent:g,onValueChange:e=>{if(e.id===t.id&&e.value&&"object"==typeof e.value&&"entries"in e.value){const i=s.map(i=>i.id===t.id?{...i,...e.value}:i);c?.(i)}else M(e)},onEntryAdd:()=>{const e=s.map(e=>{if(e.id===t.id&&e.entries){const t=e.templateComponents||[],i=e.entries||[],n={id:`entry-${e.id}-${i.length}`,index:i.length,components:t.map((e,t)=>({...e,id:`${e.id}-entry-${i.length}-${t}`,basic:{...e.basic,showLabel:!1}})),styles:{}};return{...e,entries:[...i,n]}}return e});c?.(e)},onEntryRemove:e=>{const i=s.map(i=>{if(i.id===t.id&&i.entries){const t=(i.entries||[]).filter((t,i)=>i!==e).map((e,t)=>({...e,index:t,id:`entry-${i.id}-${t}`,components:e.components?.map((e,i)=>{const n=(e.templateComponents||[])[i];return{...e,id:n?`${n.id}-entry-${t}-${i}`:e.id}})||[]}));return{...i,entries:t}}return i});c?.(i)},onNotesChange:(e,i)=>{const n=s.map(n=>{if(n.id===t.id&&n.entries){const t=n.entries.map(t=>{if(t.components){const n=t.components.map(t=>t.id===e?{...t,basic:{...t.basic,notes:i}}:t);return{...t,components:n}}return t});return{...n,entries:t}}return n});c?.(n)},onAttachmentChange:(e,i)=>{const n=s.map(n=>{if(n.id===t.id&&n.entries){const t=n.entries.map(t=>{if(t.components){const n=t.components.map(t=>t.id===e?{...t,basic:{...t.basic,attachments:i||[]}}:t);return{...t,components:n}}return t});return{...n,entries:t}}return n});c?.(n)},renderFormComponent:e=>ge(e)});case"file":const d=i||t.basic?.files||t.basic?.attachments||t.basic?.value||null;return U.jsx(oe,{...n,properties:t,formValue:d});default:return U.jsx("div",{className:"form-group",children:U.jsxs("div",{className:"form-group-label",children:["Unsupported Component: ",t.name]})})}};return U.jsx("div",{className:"form-preview-container",children:U.jsx("div",{className:"form-preview-wrapper",children:U.jsxs("div",{className:`form-preview ${Object.entries(fe()).map(([e,t])=>t?e:"").join(" ")}`,children:[U.jsx("div",{className:"form-canvas-header"}),0===s.length?U.jsx("div",{className:"empty-state",children:U.jsx("div",{className:"empty-state-card",children:U.jsx("div",{className:"empty-state-preview-area",children:U.jsx("span",{className:"empty-state-placeholder",children:"Add components to see the form preview"})})})}):U.jsxs("form",{className:"form-preview-form",onSubmit:e=>{e.preventDefault(),pe()},children:[(d||u)&&U.jsxs("div",{className:"form-header",children:[d&&U.jsx("h1",{className:"form-title",children:d}),u&&U.jsx("p",{className:"form-description",children:u})]}),s.map(e=>{const t=e.basic,i=v[e.id],n=["select","radio","checkbox","segment"].includes(e.name||""),a=e.options||t?.options||[],o=(()=>{const t=e?.styles?.column;return"section"===e.name||"table"===e.name||"datagrid"===e.name?"col-12":3===t?"col-3":6===t?"col-6":9===t?"col-9":"col-12"})();let l=!1;if(!r)if(n&&null!=i&&""!==i)if("checkbox"===e.name){l=(Array.isArray(i)?i:[i]).some(e=>{const t=a.find(t=>t.value===e);return t&&(t.enableNotes||t.enableAttachment||t.enableRaiseIssue||t.enableSendEmail)})}else{const e=a.find(e=>e.value===i);l=e&&(e.enableNotes||e.enableAttachment||e.enableRaiseIssue||e.enableSendEmail)}else l=t?.enableNotes||t?.enableAttachment||t?.enableRaiseIssue||t?.enableSendEmail;const d=r&&(e.basic?.notes&&e.basic.notes.trim().length>0||e.basic?.attachments&&Array.isArray(e.basic.attachments)&&e.basic.attachments.length>0);return U.jsxs("div",{className:`form-group ${o} ${l||d?"has-action-features":""}`,style:{display:q(e.id)?"block":"none"},children:[ge(e),!r&&!["section","table","heading","file","instructions","signature","location","datagrid"].includes(e.name)&&U.jsx(me,{component:e,mode:r?"preview":"test",formTemplateId:m,formValue:i,onThresholdActionCompletion:Z,onThresholdIssueRaised:K,onNotesChange:t=>{const i=s.map(i=>i.id===e.id?{...i,basic:{...i.basic,...i.basic?{notes:t}:{}}}:i);c?.(i)},onAttachmentChange:t=>{const i=s.map(i=>i.id===e.id?{...i,basic:{...i.basic,...i.basic?{attachments:t||[]}:{}}}:i);c?.(i)},notes:e.basic?.notes||"",attachments:e.basic?.attachments||null}),r&&d&&U.jsx(he,{component:e})]},e.id)}),!r&&U.jsx("div",{className:"form-actions",children:U.jsx("button",{type:"submit",disabled:!B()||!L.isValid,className:"form-submit-button",title:L.isValid?"":L.errorMessage,children:"Submit"})})]})]})})})},Ce=({comment:e="",onSave:s,placeholder:a="Enter your reason...",className:r="",disabled:o=!1})=>{const[l,c]=t(!0),[d,u]=t(e),[m,p]=t(!1);i(()=>{u(e),p(!1)},[e]);const h=n(t=>{const i=t.target.value;u(i),p(i!==e)},[e]),f=n(()=>{m&&s&&!o&&(s(d),p(!1))},[m,s,d,o]),b=n(()=>{},[]),g=n(()=>{o||c(!l)},[l,o]);return U.jsxs("div",{className:`df-form-comments ${r}`,children:[U.jsxs("div",{className:"df-form-comments__header",children:[U.jsx("h3",{className:"df-form-comments__title",children:"Comments"}),U.jsx("button",{className:"df-form-comments__toggle",type:"button",onClick:g,"aria-expanded":l,"aria-label":"Toggle comments section",disabled:o,children:l?U.jsx("span",{className:"df-form-comments__toggle-icon",children:"▼"}):U.jsx("span",{className:"df-form-comments__toggle-icon",children:"▶"})})]}),U.jsx("div",{className:"df-form-comments__content "+(l?"df-form-comments__content--expanded":""),children:U.jsx("div",{className:"df-form-comments__input-container",children:U.jsx("div",{className:"df-form-comments__input-line",children:U.jsx("input",{type:"text",id:"comment-input",className:"df-form-comments__input",value:d,onChange:h,onBlur:f,onFocus:b,placeholder:a,disabled:o})})})})]})},we=e=>e.id?e:{...e,id:M()},Se=({component:e,mode:t,renderFormComponent:i,formData:n={},formTemplateId:s,onThresholdActionCompletion:a,onNotesChange:r,onAttachmentChange:o})=>{const l=n[e.id],c="preview"===t&&(e.basic?.notes&&e.basic.notes.trim().length>0||e.basic?.attachments&&Array.isArray(e.basic.attachments)&&e.basic.attachments.length>0);return U.jsxs("div",{className:"simple-table-component",children:[i(e),"test"===t&&!["section","table","heading","file","instructions","signature","location","datagrid"].includes(e.name)&&U.jsx(me,{component:e,mode:"test",formTemplateId:s,formValue:l,onThresholdActionCompletion:a,onNotesChange:r?t=>r(e.id,t):void 0,onAttachmentChange:o?t=>o(e.id,t):void 0}),c&&U.jsx(he,{component:e})]})},ke=({component:e,selectedComponent:t,mode:i,onComponentSelect:n,onComponentDelete:s,onComponentEdit:a,renderFormComponent:r,isOverlay:o=!1})=>{const{attributes:l,listeners:c,setNodeRef:d,transform:u,transition:m,isDragging:p,isSorting:h}=F({id:e.id,disabled:o}),f={transform:q.Transform.toString(u),transition:m,opacity:p?.3:1,zIndex:p?1e3:"auto"};return U.jsxs("div",{ref:d,style:f,className:`form-component table-component ${t?.id===e.id?"selected":""} ${p?"dragging":""} ${h?"sorting":""}`,onClick:()=>!p&&n(e),role:"button",tabIndex:0,children:["edit"===i&&U.jsx("div",{className:"component-drag-handle",...c,...l,onClick:e=>e.stopPropagation(),style:{opacity:1},children:U.jsx(E,{size:14})}),U.jsx("div",{className:"component-content",children:r(e)}),"edit"===i&&U.jsxs("div",{className:"component-actions",style:{opacity:1},children:[a&&U.jsx("button",{className:"component-edit-btn",onClick:t=>{t.stopPropagation(),a(e)},type:"button",title:"Edit Component",children:U.jsx($,{size:12})}),U.jsx("button",{className:"component-delete-btn",onClick:t=>{t.stopPropagation(),s(e,t)},type:"button",title:"Delete Component",children:U.jsx(T,{size:12})})]})]})},Ee=({cell:e,mode:t,onComponentSelect:i,onComponentDelete:n,onComponentEdit:s,selectedComponent:a,renderFormComponent:r,formData:o={},formTemplateId:l,onThresholdActionCompletion:c,tableId:d,onNotesChange:u,onAttachmentChange:m})=>{const p=`table-cell-${d}-${e.row}-${e.column}`,{setNodeRef:h,isOver:f}=R({id:p,disabled:"edit"!==t,data:{type:"table-cell",tableId:d,cell:e,row:e.row,column:e.column}}),b={...e.styles,backgroundColor:f?"var(--df-color-primary-light)":e.styles?.backgroundColor||"transparent",minHeight:e.styles?.minHeight||"preview"===t||"test"===t?"40px":"60px",padding:(e.styles,"8px"),border:"preview"===t||"test"===t?"none":f?"2px dashed var(--df-color-primary)":e.styles?.borderColor?`1px solid ${e.styles.borderColor}`:"1px solid var(--df-color-fb-border)",borderRadius:"preview"===t||"test"===t?"0":"4px",position:"relative",verticalAlign:e.styles?.verticalAlign||"top"};return U.jsx("td",{ref:h,style:b,className:"table-cell "+(f?"drag-over":""),children:U.jsx("div",{className:"cell-content",children:e.components&&Array.isArray(e.components)&&e.components.length>0?"edit"===t?U.jsx(D,{items:e.components.map(e=>e.id||M()),strategy:V,children:e.components.map(e=>{const o=we(e);return U.jsx(ke,{component:o,selectedComponent:a,mode:t,onComponentSelect:i,onComponentDelete:n,onComponentEdit:s,renderFormComponent:r},o.id)})}):e.components.map(e=>{const i=we(e);return U.jsx(Se,{component:i,mode:t,renderFormComponent:r,formData:o,formTemplateId:l,onThresholdActionCompletion:c,onNotesChange:u,onAttachmentChange:m},i.id)}):"edit"===t?U.jsx("div",{className:"empty-cell-placeholder",children:U.jsxs("div",{className:"cell-info",children:[U.jsx("span",{className:"drop-zone-text",children:"Drag and Drop a form component"}),U.jsxs("span",{className:"cell-coordinates",children:["Cell (",e.row+1,", ",e.column+1,")"]})]})}):U.jsx("div",{style:{minHeight:"20px",backgroundColor:"transparent",visibility:"hidden"},children:" "})})})},$e=({id:e,properties:s,mode:r="edit",formData:o={},validationErrors:l={},touchedFields:c={},formSubmitted:d=!1,onValueChange:u,onSelect:m,isSelected:p=!1,className:h="",onTableSelect:f,onComponentSelect:b,onComponentDelete:g,onComponentEdit:v,selectedComponent:x,renderFormComponent:y,formTemplateId:j,onThresholdActionCompletion:N,onNotesChange:C,onAttachmentChange:w})=>{const[E,$]=t(!1),T=s.cells?.some(e=>e.some(e=>e.components&&e.components.length>0))||!1;i(()=>{const t=s.table?.rows||s.basic?.rows||3,i=s.table?.columns||s.basic?.columns||3,n=s.cells||[];if(0===n.length||n.length!==t||n.length>0&&n[0].length!==i){const a=[];for(let e=0;e<t;e++){const t=[];for(let s=0;s<i;s++){const i=`cell-${e}-${s}`;let a=[];n[e]&&n[e][s]&&(a=(n[e][s].components||[]).map(we)),t.push({id:i,row:e,column:s,components:a,styles:{}})}a.push(t)}u&&u({id:e,value:{...s,cells:a}})}},[s.table?.rows,s.table?.columns,s.basic?.rows,s.basic?.columns,s.cells,e,u]);const A=n(e=>{e.stopPropagation(),m?.(),f?.(s)},[m,f,s]),L=n((t,i)=>{i.stopPropagation();const n=s.cells.map(e=>e.map(e=>{if(e.components&&e.components.some(e=>e.id===t.id)){const i=e.components.filter(e=>e.id!==t.id);return{...e,components:i}}return e}));u&&u({id:e,value:{...s,cells:n}})},[g,s,u,e]),R=s.cells?s.cells.map(e=>e.map(e=>({...e,components:e.components&&Array.isArray(e.components)?e.components.map(e=>e.id?e:{...e,id:`table-cell-${e.name}-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}):[]}))):[];const D=a(!1),V=a("");i(()=>{if(R.length>0){const t=JSON.stringify(R),i=t!==V.current&&t!==JSON.stringify(s.cells);(!D.current||i&&"edit"===r)&&("edit"===r&&(u?.({id:e,value:{...s,cells:R}}),V.current=t),D.current=!0)}},[r,e]);const F=y||n(e=>{const t=we(e);let i=o[t.id];null==i&&(i="value"in t.basic&&void 0!==t.basic.value?t.basic.value:"defaultValue"in t.basic&&void 0!==t.basic.defaultValue?t.basic.defaultValue:"checkbox"===t.name||"select"===t.name?[]:"");const n={id:t.id,properties:t,validationErrors:l||{},formValue:i,touchedFields:c||{},formSubmitted:d||!1,mode:r,onValueChange:e=>{u?.(e)},onBlur:()=>{},onFocus:()=>{}};switch(t.name){case"text-input":case"email-input":case"number-input":return U.jsx(Q,{...n,properties:t,inputType:"text-input"===t.name?"text":"number-input"===t.name?"number":"email",readonly:"edit"===r||"preview"===r,disabled:"preview"===r});case"textarea":return U.jsx(ee,{...n,properties:t,readonly:"edit"===r||"preview"===r,disabled:"preview"===r});case"select":const e={...t,options:t.basic?.options||[]};return U.jsx(te,{...n,properties:e,disabled:"edit"===r||"preview"===r});case"checkbox":const i={...t,options:t.basic?.options||[]};return U.jsx(ie,{...n,properties:i,formValue:[],disabled:"edit"===r||"preview"===r});case"radio":const s={...t,options:t.basic?.options||[]};return U.jsx(ne,{...n,properties:s,readonly:"edit"===r||"preview"===r,disabled:"edit"===r||"preview"===r});case"date":case"date-picker":case"datetime-picker":return U.jsx(ae,{...n,properties:t,readonly:"edit"===r||"preview"===r,disabled:"preview"===r});case"signature":return U.jsx(re,{...n,properties:t});case"heading":return U.jsx(ce,{...n,properties:t});default:return U.jsxs("div",{className:"unknown-component",children:["Unknown component: ",t.name]})}},[r]),O={backgroundColor:s.styles?.backgroundColor||"var(--df-color-fb-container)",borderColor:s.styles?.borderColor||"var(--df-color-fb-border)",borderWidth:s.styles?.borderWidth||"2px",borderRadius:s.styles?.borderRadius||"8px",padding:s.styles?.padding||"16px",margin:s.styles?.margin||"16px 0"},q={width:"100%",minWidth:"600px",borderCollapse:"preview"===r||"test"===r?"separate":"collapse",tableLayout:"fixed",border:"preview"===r||"test"===r?"1px solid var(--df-color-fb-border)":"none"};return T||"preview"!==r?U.jsxs("div",{className:`form-group df-form-table ${p?"selected":""} ${"preview"===r?"preview-mode":"test"===r?"test-mode":""} ${h}`,onClick:A,style:O,children:[U.jsx("div",{className:"table-header",children:U.jsx("div",{className:"table-title",onClick:t=>{t.stopPropagation(),$(!E),u?.({id:e,value:{...s,basic:{...s.basic||{},collapsed:!E}}})},children:U.jsxs("div",{className:"title-content",children:[E?U.jsx(k,{size:16}):U.jsx(S,{size:16}),U.jsx(I,{size:16}),U.jsx("span",{className:"table-label",children:s.basic?.label||"Table"}),s.validation?.required&&U.jsx("span",{className:"required-indicator",children:"*"})]})})}),s.basic?.description&&!E&&U.jsx("div",{className:"table-description",children:s.basic.description}),!E&&U.jsxs("div",{className:"table-content",children:[null,U.jsxs("table",{style:q,children:[s.table?.displayAsTable&&("edit"===r||s.table?.showColumns)&&U.jsx("thead",{children:U.jsx("tr",{className:"table-header-row",children:Array.from({length:s.table?.columns||s.basic?.columns||3},(e,t)=>{const i=(s.table?.columnNames?.split(",").map(e=>e.trim())||[])[t]||`Column ${t+1}`;return U.jsx("th",{className:"table-header-cell",style:{backgroundColor:(s.styles.headerBackgroundColor,"var(--df-color-fb-container)"),color:s.styles.headerTextColor||"var(--df-color-text-dark)",padding:"12px",border:"1px solid var(--df-color-fb-border)",fontWeight:"600",fontSize:"14px",textAlign:"center"},children:i},`header-${t}`)})})}),U.jsx("tbody",{children:s.cells?.map((t,i)=>U.jsx("tr",{className:"table-row",children:t.map(t=>U.jsx(Ee,{cell:t,mode:r,onComponentSelect:b||(()=>{}),onComponentDelete:L,onComponentEdit:v,selectedComponent:x||null,renderFormComponent:F,formData:o,formTemplateId:j,onThresholdActionCompletion:N,tableId:e,onNotesChange:C,onAttachmentChange:w},t.id))},i))})]})]})]}):null};var Te,Ae=Object.freeze({__proto__:null,DfFormTable:$e,default:$e});!function(e){e.Top="top",e.Left="left"}(Te||(Te={}));export{me as ComponentActionFeatures,he as ComponentSubmissionActions,ie as DfFormCheckbox,Ce as DfFormComments,ye as DfFormDataGrid,ae as DfFormDateTime,G as DfFormErrorMsg,oe as DfFormFileUpload,ce as DfFormHeading,Q as DfFormInput,de as DfFormInstruction,le as DfFormLocation,Ne as DfFormPreview,ne as DfFormRadio,be as DfFormSection,se as DfFormSegment,te as DfFormSelect,re as DfFormSignature,$e as DfFormTable,ee as DfFormTextarea,Te as ELabelAlignment,K as RaiseIssueModal,Z as ThresholdAlert,H as conditionalLogicService,Y as toastService};
10
+ */"production"===process.env.NODE_ENV?z.exports=function(){if(_)return P;_=1;var t=e,i=Symbol.for("react.element"),n=Symbol.for("react.fragment"),s=Object.prototype.hasOwnProperty,a=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,r={key:!0,ref:!0,__self:!0,__source:!0};function o(e,t,n){var o,l={},c=null,d=null;for(o in void 0!==n&&(c=""+n),void 0!==t.key&&(c=""+t.key),void 0!==t.ref&&(d=t.ref),t)s.call(t,o)&&!r.hasOwnProperty(o)&&(l[o]=t[o]);if(e&&e.defaultProps)for(o in t=e.defaultProps)void 0===l[o]&&(l[o]=t[o]);return{$$typeof:i,type:e,key:c,ref:d,props:l,_owner:a.current}}return P.Fragment=n,P.jsx=o,P.jsxs=o,P}():z.exports=(W||(W=1,"production"!==process.env.NODE_ENV&&function(){var t,i=e,n=Symbol.for("react.element"),s=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),c=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),m=Symbol.for("react.suspense_list"),p=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),f=Symbol.for("react.offscreen"),b=Symbol.iterator,g=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function v(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];!function(e,t,i){var n=g.ReactDebugCurrentFrame.getStackAddendum();""!==n&&(t+="%s",i=i.concat([n]));var s=i.map(function(e){return String(e)});s.unshift("Warning: "+t),Function.prototype.apply.call(console[e],console,s)}("error",e,i)}function x(e){return e.displayName||"Context"}function y(e){if(null==e)return null;if("number"==typeof e.tag&&v("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),"function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case a:return"Fragment";case s:return"Portal";case o:return"Profiler";case r:return"StrictMode";case u:return"Suspense";case m:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case c:return x(e)+".Consumer";case l:return x(e._context)+".Provider";case d:return function(e,t,i){var n=e.displayName;if(n)return n;var s=t.displayName||t.name||"";return""!==s?i+"("+s+")":i}(e,e.render,"ForwardRef");case p:var t=e.displayName||null;return null!==t?t:y(e.type)||"Memo";case h:var i=e,n=i._payload,f=i._init;try{return y(f(n))}catch(e){return null}}return null}t=Symbol.for("react.module.reference");var j,N,C,w,S,k,E,$=Object.assign,T=0;function A(){}A.__reactDisabledLog=!0;var I,L=g.ReactCurrentDispatcher;function R(e,t,i){if(void 0===I)try{throw Error()}catch(e){var n=e.stack.trim().match(/\n( *(at )?)/);I=n&&n[1]||""}return"\n"+I+e}var D,V=!1,F="function"==typeof WeakMap?WeakMap:Map;function O(e,t){if(!e||V)return"";var i,n=D.get(e);if(void 0!==n)return n;V=!0;var s,a=Error.prepareStackTrace;Error.prepareStackTrace=void 0,s=L.current,L.current=null,function(){if(0===T){j=console.log,N=console.info,C=console.warn,w=console.error,S=console.group,k=console.groupCollapsed,E=console.groupEnd;var e={configurable:!0,enumerable:!0,value:A,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}T++}();try{if(t){var r=function(){throw Error()};if(Object.defineProperty(r.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(r,[])}catch(e){i=e}Reflect.construct(e,[],r)}else{try{r.call()}catch(e){i=e}e.call(r.prototype)}}else{try{throw Error()}catch(e){i=e}e()}}catch(t){if(t&&i&&"string"==typeof t.stack){for(var o=t.stack.split("\n"),l=i.stack.split("\n"),c=o.length-1,d=l.length-1;c>=1&&d>=0&&o[c]!==l[d];)d--;for(;c>=1&&d>=0;c--,d--)if(o[c]!==l[d]){if(1!==c||1!==d)do{if(c--,--d<0||o[c]!==l[d]){var u="\n"+o[c].replace(" at new "," at ");return e.displayName&&u.includes("<anonymous>")&&(u=u.replace("<anonymous>",e.displayName)),"function"==typeof e&&D.set(e,u),u}}while(c>=1&&d>=0);break}}}finally{V=!1,L.current=s,function(){if(0===--T){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:$({},e,{value:j}),info:$({},e,{value:N}),warn:$({},e,{value:C}),error:$({},e,{value:w}),group:$({},e,{value:S}),groupCollapsed:$({},e,{value:k}),groupEnd:$({},e,{value:E})})}T<0&&v("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}(),Error.prepareStackTrace=a}var m=e?e.displayName||e.name:"",p=m?R(m):"";return"function"==typeof e&&D.set(e,p),p}function q(e,t,i){if(null==e)return"";if("function"==typeof e)return O(e,!(!(n=e.prototype)||!n.isReactComponent));var n;if("string"==typeof e)return R(e);switch(e){case u:return R("Suspense");case m:return R("SuspenseList")}if("object"==typeof e)switch(e.$$typeof){case d:return O(e.render,!1);case p:return q(e.type,t,i);case h:var s=e,a=s._payload,r=s._init;try{return q(r(a),t,i)}catch(e){}}return""}D=new F;var M=Object.prototype.hasOwnProperty,_={},z=g.ReactDebugCurrentFrame;function P(e){if(e){var t=e._owner,i=q(e.type,e._source,t?t.type:null);z.setExtraStackFrame(i)}else z.setExtraStackFrame(null)}var W=Array.isArray;function U(e){return W(e)}function J(e){return""+e}function H(e){if(function(e){try{return J(e),!1}catch(e){return!0}}(e))return v("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",function(e){return"function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object"}(e)),J(e)}var Y,G,X,K=g.ReactCurrentOwner,Z={key:!0,ref:!0,__self:!0,__source:!0};function Q(e,t,i,s,a){var r,o={},l=null,c=null;for(r in void 0!==i&&(H(i),l=""+i),function(e){if(M.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}(t)&&(H(t.key),l=""+t.key),function(e){if(M.call(e,"ref")){var t=Object.getOwnPropertyDescriptor(e,"ref").get;if(t&&t.isReactWarning)return!1}return void 0!==e.ref}(t)&&(c=t.ref,function(e,t){if("string"==typeof e.ref&&K.current&&t&&K.current.stateNode!==t){var i=y(K.current.type);X[i]||(v('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(K.current.type),e.ref),X[i]=!0)}}(t,a)),t)M.call(t,r)&&!Z.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps){var d=e.defaultProps;for(r in d)void 0===o[r]&&(o[r]=d[r])}if(l||c){var u="function"==typeof e?e.displayName||e.name||"Unknown":e;l&&function(e,t){var i=function(){Y||(Y=!0,v("%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)",t))};i.isReactWarning=!0,Object.defineProperty(e,"key",{get:i,configurable:!0})}(o,u),c&&function(e,t){var i=function(){G||(G=!0,v("%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)",t))};i.isReactWarning=!0,Object.defineProperty(e,"ref",{get:i,configurable:!0})}(o,u)}return function(e,t,i,s,a,r,o){var l={$$typeof:n,type:e,key:t,ref:i,props:o,_owner:r,_store:{}};return Object.defineProperty(l._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(l,"_self",{configurable:!1,enumerable:!1,writable:!1,value:s}),Object.defineProperty(l,"_source",{configurable:!1,enumerable:!1,writable:!1,value:a}),Object.freeze&&(Object.freeze(l.props),Object.freeze(l)),l}(e,l,c,a,s,K.current,o)}X={};var ee,te=g.ReactCurrentOwner,ie=g.ReactDebugCurrentFrame;function ne(e){if(e){var t=e._owner,i=q(e.type,e._source,t?t.type:null);ie.setExtraStackFrame(i)}else ie.setExtraStackFrame(null)}function se(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}function ae(){if(te.current){var e=y(te.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}ee=!1;var re={};function oe(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var i=function(e){var t=ae();if(!t){var i="string"==typeof e?e:e.displayName||e.name;i&&(t="\n\nCheck the top-level render call using <"+i+">.")}return t}(t);if(!re[i]){re[i]=!0;var n="";e&&e._owner&&e._owner!==te.current&&(n=" It was passed a child from "+y(e._owner.type)+"."),ne(e),v('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',i,n),ne(null)}}}function le(e,t){if("object"==typeof e)if(U(e))for(var i=0;i<e.length;i++){var n=e[i];se(n)&&oe(n,t)}else if(se(e))e._store&&(e._store.validated=!0);else if(e){var s=function(e){if(null===e||"object"!=typeof e)return null;var t=b&&e[b]||e["@@iterator"];return"function"==typeof t?t:null}(e);if("function"==typeof s&&s!==e.entries)for(var a,r=s.call(e);!(a=r.next()).done;)se(a.value)&&oe(a.value,t)}}function ce(e){var t,i=e.type;if(null!=i&&"string"!=typeof i){if("function"==typeof i)t=i.propTypes;else{if("object"!=typeof i||i.$$typeof!==d&&i.$$typeof!==p)return;t=i.propTypes}if(t){var n=y(i);!function(e,t,i,n,s){var a=Function.call.bind(M);for(var r in e)if(a(e,r)){var o=void 0;try{if("function"!=typeof e[r]){var l=Error((n||"React class")+": "+i+" type `"+r+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[r]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw l.name="Invariant Violation",l}o=e[r](t,r,n,i,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(e){o=e}!o||o instanceof Error||(P(s),v("%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).",n||"React class",i,r,typeof o),P(null)),o instanceof Error&&!(o.message in _)&&(_[o.message]=!0,P(s),v("Failed %s type: %s",i,o.message),P(null))}}(t,e.props,"prop",n,e)}else void 0===i.PropTypes||ee||(ee=!0,v("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",y(i)||"Unknown"));"function"!=typeof i.getDefaultProps||i.getDefaultProps.isReactClassApproved||v("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}var de={};function ue(e,i,s,b,g,x){var j=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===o||e===r||e===u||e===m||e===f||"object"==typeof e&&null!==e&&(e.$$typeof===h||e.$$typeof===p||e.$$typeof===l||e.$$typeof===c||e.$$typeof===d||e.$$typeof===t||void 0!==e.getModuleId)}(e);if(!j){var N="";(void 0===e||"object"==typeof e&&null!==e&&0===Object.keys(e).length)&&(N+=" 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,w=function(e){return void 0!==e?"\n\nCheck your code at "+e.fileName.replace(/^.*[\\\/]/,"")+":"+e.lineNumber+".":""}(g);N+=w||ae(),null===e?C="null":U(e)?C="array":void 0!==e&&e.$$typeof===n?(C="<"+(y(e.type)||"Unknown")+" />",N=" Did you accidentally export a JSX literal instead of a component?"):C=typeof e,v("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",C,N)}var S=Q(e,i,s,g,x);if(null==S)return S;if(j){var k=i.children;if(void 0!==k)if(b)if(U(k)){for(var E=0;E<k.length;E++)le(k[E],e);Object.freeze&&Object.freeze(k)}else v("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 le(k,e)}if(M.call(i,"key")){var $=y(e),T=Object.keys(i).filter(function(e){return"key"!==e}),A=T.length>0?"{key: someKey, "+T.join(": ..., ")+": ...}":"{key: someKey}";de[$+A]||(v('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} />',A,$,T.length>0?"{"+T.join(": ..., ")+": ...}":"{}",$),de[$+A]=!0)}return e===a?function(e){for(var t=Object.keys(e.props),i=0;i<t.length;i++){var n=t[i];if("children"!==n&&"key"!==n){ne(e),v("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",n),ne(null);break}}null!==e.ref&&(ne(e),v("Invalid attribute `ref` supplied to `React.Fragment`."),ne(null))}(S):ce(S),S}var me=function(e,t,i){return ue(e,t,i,!1)},pe=function(e,t,i){return ue(e,t,i,!0)};B.Fragment=a,B.jsx=me,B.jsxs=pe}()),B);var U=z.exports;class J{constructor(){}static getInstance(){return J.instance||(J.instance=new J),J.instance}getAvailableComponentsForConditional(e,t){if(!e||!Array.isArray(e))return[];return e.filter(e=>!t||e.id!==t).map(e=>({id:e.id,label:e.basic?.label||e.id,type:e.name,key:e.id})).sort((e,t)=>e.label.localeCompare(t.label))}getApplicableOperators(e){switch(e){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["contains","notContains","isEmpty","isNotEmpty"]}}validateConditionalLogic(e,t){const i=[];return e?(["show","hide","always"].includes(e.action)||i.push("Invalid conditional action"),["all","any"].includes(e.when)||i.push("Invalid when condition"),e.conditions&&0!==e.conditions.length?e.conditions.forEach((e,n)=>{const s=t.find(t=>t.id===e.when);if(!s)return void i.push(`Condition ${n+1}: Component not found`);this.getApplicableOperators(s.name).includes(e.operator)||i.push(`Condition ${n+1}: Operator not applicable for component type`),this.isValidConditionValue(e.value,s.name,e.operator)||i.push(`Condition ${n+1}: Invalid condition value`)}):i.push("At least one condition is required"),{isValid:0===i.length,errors:i}):{isValid:!0,errors:[]}}evaluateConditionalLogic(e,t,i){if("always"===e.action)return{shouldShow:!0,evaluatedConditions:[]};if(!e||!e.conditions||0===e.conditions.length)return{shouldShow:!0,evaluatedConditions:[]};const n=e.conditions.map(e=>{const n=this.getComponentValue(e.when,t,i);return{condition:e,result:this.evaluateCondition(e,n),componentValue:n}});return{shouldShow:this.determineFinalResult(e,n),evaluatedConditions:n}}getComponentValue(e,t,i){if(i&&void 0!==i[e])return i[e];const n=t.find(t=>t.id===e);return n&&"defaultValue"in n.basic?n.basic.defaultValue:void 0}evaluateCondition(e,t){const{operator:i,value:n}=e;if("checked"===n||"notChecked"===n)return this.evaluateCheckboxCondition(t,n);switch(i){case"equals":return this.isEqual(t,n);case"notEquals":return!this.isEqual(t,n);case"isEmpty":return this.isEmpty(t);case"isNotEmpty":return!this.isEmpty(t);case"contains":return this.contains(t,n);case"notContains":return!this.contains(t,n);case"greaterThan":return this.isGreaterThan(t,n);case"lessThan":return this.isLessThan(t,n);case"greaterThanOrEqual":return this.isGreaterThanOrEqual(t,n);case"lessThanOrEqual":return this.isLessThanOrEqual(t,n);default:return!1}}evaluateCheckboxCondition(e,t){const i=this.isCheckboxChecked(e);return"checked"===t?i:"notChecked"===t&&!i}isCheckboxChecked(e){return null!=e&&("boolean"==typeof e?e:"string"==typeof e?"true"===e.toLowerCase()||"1"===e:Array.isArray(e)?e.length>0:"number"==typeof e&&e>0)}determineFinalResult(e,t){let i,n;return i="all"===e.when?t.every(e=>e.result):"any"===e.when&&t.some(e=>e.result),n="show"===e.action?i:"hide"===e.action?!i:(e.action,!0),n}isEqual(e,t){if(e===t)return!0;if(null==e||null==t)return!1;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length&&e.every((e,i)=>this.isEqual(e,t[i]));if("object"==typeof e&&"object"==typeof t){const i=Object.keys(e),n=Object.keys(t);return i.length===n.length&&i.every(i=>this.isEqual(e[i],t[i]))}return!1}isEmpty(e){return null==e||void 0===e||("string"==typeof e?""===e.trim():Array.isArray(e)?0===e.length:"object"==typeof e&&0===Object.keys(e).length)}contains(e,t){return null!=e&&null!=t&&("string"==typeof e?e.toLowerCase().includes(String(t).toLowerCase()):!!Array.isArray(e)&&e.some(e=>this.isEqual(e,t)))}isGreaterThan(e,t){const i=Number(e),n=Number(t);return!isNaN(i)&&!isNaN(n)&&i>n}isLessThan(e,t){const i=Number(e),n=Number(t);return!isNaN(i)&&!isNaN(n)&&i<n}isGreaterThanOrEqual(e,t){const i=Number(e),n=Number(t);return!isNaN(i)&&!isNaN(n)&&i>=n}isLessThanOrEqual(e,t){const i=Number(e),n=Number(t);return!isNaN(i)&&!isNaN(n)&&i<=n}isValidConditionValue(e,t,i){if(null==e)return["isEmpty","isNotEmpty"].includes(i);switch(t){case"number-input":return!isNaN(Number(e))||["isEmpty","isNotEmpty"].includes(i);case"date-picker":case"datetime-picker":return!isNaN(Date.parse(e))||["isEmpty","isNotEmpty"].includes(i);case"checkbox":return Array.isArray(e)||"string"==typeof e||"number"==typeof e;default:return!0}}createDefaultConditionalLogic(){return{action:"show",when:"all",conditions:[]}}getOperatorDisplayText(e){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"}[e]||e}getActionDisplayText(e){return{show:"Show this field when",hide:"Hide this field when",always:"Always show this field"}[e]||e}getConditionalLogicSummary(e,t){if(!e||0===e.conditions.length)return"No conditions";if("always"===e.action)return"Always show";const i=this.getActionDisplayText(e.action),n=e.conditions.map(e=>{const i=t.find(t=>t.id===e.when);return`${i?.basic.label||"Unknown component"} ${this.getOperatorDisplayText(e.operator)} ${this.formatConditionValue(e.value)}`}),s="all"===e.when?" and ":" or ";return`${i} ${n.join(s)}`}formatConditionValue(e){return null==e?"empty":Array.isArray(e)?`[${e.join(", ")}]`:"string"==typeof e?`"${e}"`:String(e)}}const H=J.getInstance();const Y=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(e=>e([...this.toasts]))}addToast(e){try{this.toasts.push(e),this.notifyListeners(),this.timeouts[e.id]=setTimeout(()=>{this.removeToast(e.id)},e.duration||this.defaultDuration)}catch(e){console.error("Error displaying toast message:",e)}}removeToast(e){this.timeouts[e]&&(clearTimeout(this.timeouts[e]),delete this.timeouts[e]),this.toasts=this.toasts.filter(t=>t.id!==e),this.notifyListeners()}showSuccess(e,t=3e3){const i={id:this.generateId(),message:e,type:"success",duration:t};this.addToast(i)}showError(e,t=5e3){const i={id:this.generateId(),message:e,type:"danger",duration:t};this.addToast(i)}showWarning(e,t){const i={id:this.generateId(),message:e,type:"warning",duration:t};this.addToast(i)}showInfo(e,t){const i={id:this.generateId(),message:e,type:"info",duration:t};this.addToast(i)}show(e,t="success",i){const n={id:this.generateId(),message:e,type:t,duration:i};this.addToast(n)}clearAll(){Object.values(this.timeouts).forEach(e=>clearTimeout(e)),this.timeouts={},this.toasts=[],this.notifyListeners()}subscribe(e){return this.listeners.push(e),()=>{this.listeners=this.listeners.filter(t=>t!==e)}}getToasts(){return[...this.toasts]}},G=({validationErrors:e,fieldId:t,touchedFields:i,formSubmitted:n,properties:s,localValidation:a,isTouched:r,mode:o})=>{const l=e=>{const t=s.basic.label||"This field",i=s.validation.customValidationMessage;if(i)return i;const n=s.name||"",a="date-picker"===n||"datetime-picker"===n?s.basic?.dateTimeMode||("datetime-picker"===n?"datetime":"date"):null;switch(e){case"required":return`${t} is required`;case"invalidDate":return"time"===a?"Please select a valid time":"datetime"===a?"Please select a valid date and time":"date"===a?"Please select a valid date":`${t} is invalid`;case"minLength":return`${t} must be at least ${s.validation.minLength} characters long`;case"maxLength":return`${t} must be no more than ${s.validation.maxLength} characters long`;case"min":return`${t} must be at least ${s.validation.min}`;case"max":return`${t} must be no more than ${s.validation.max}`;case"lowerLimit":const e=s.validation,i=e?.lowerLimit;return`You are under the limit. ${t} must be at least ${i}`;case"upperLimit":const n=s.validation,r=n?.upperLimit;return`You crossed the limit. ${t} must be no more than ${r}`;case"pattern":return`${t} format is invalid`;case"email":return`${t} must be a valid email address`;default:return`${t} is invalid`}},c=(()=>{if("test"!==o)return"";if(!(r||i[t]||n))return"";if(a&&a.isValid)return"";if(a&&!a.isValid&&Object.keys(a.errors).length>0){const e=Object.keys(a.errors);if(e.length>0){const t=e[0];return l(t)}}const c=e[t];if(c&&"string"==typeof c&&""!==c.trim()){const e=s.name||"";if(("date-picker"===e||"datetime-picker"===e)&&c.includes("valid date")){const t=s.basic?.dateTimeMode||("datetime-picker"===e?"datetime":"date");if("time"===t)return"Please select a valid time";if("datetime"===t)return"Please select a valid date and time"}return c}return""})();return c?U.jsx("div",{className:"form-error-msg",children:c}):null};var X;!function(e){e.OPEN="Open",e.IN_PROGRESS="In-Progress",e.REJECTED="Rejected",e.RESOLVE="Resolve"}(X||(X={}));const K=({isOpen:e,onClose:n,onSuccess:s,component:a,formTemplateId:u,formInstanceId:m,notes:p="",attachments:h=null,issue:f=null,onCreateIssue:b,onUpdateIssue:g,user:v,availableUsers:x=["Priya Das","Maria Garcia","John Smith","Sarah Johnson"]})=>{const[y,j]=t(""),[N,C]=t(""),[w,S]=t(""),[k,E]=t(""),[$,T]=t(""),[A,I]=t(""),[R,D]=t(""),[V,F]=t("Medium"),[O,q]=t(X.OPEN),[M,_]=t(""),[z,P]=t(""),[W,B]=t(""),[J,H]=t(!1),G=!!f;i(()=>{if(e)if(f){j(f.title||""),C(f.description||""),S(f.workOrderNumber||""),E(f.workOrderId||""),T(f.assetNumber||""),I(f.assetId||""),D(f.assetDescription||""),F(f.priority||"Medium");const e=f.status||X.OPEN,t=e===X.OPEN||e===X.IN_PROGRESS||e===X.REJECTED||e===X.RESOLVE?e:X.OPEN;q(t),_(f.assignee||""),P(f.comments||""),B(f.formInstanceId||m||"")}else if(a){const e=a.basic?.label||"Component";j(`${e} - Issue`);let t=`Issue raised for component: ${e}`;a.basic&&"value"in a.basic&&a.basic.value&&(t+=`\nComponent Value: ${a.basic.value}`),p&&(t+=`\nNotes: ${p}`),C(t),P(p||""),B(m||"")}},[e,a,p,f,m]);const K=async e=>{if(f){H(!0);try{const t={title:String(y||"").trim(),description:String(N||"").trim(),workOrderNumber:String(w||"").trim()||"",workOrderId:String(k||"").trim()||"",assetNumber:String($||"").trim()||"",assetId:String(A||"").trim()||"",assetDescription:String(R||"").trim()||"",formTemplateId:f.formTemplateId||"",formInstanceId:String(W||"").trim()||m||"",component:f.component||{},priority:V,assignee:String(M||"").trim()||void 0,status:e,comments:String(z||"").trim()||""};g&&f._id&&await g(f._id,t),q(e);const i={[X.IN_PROGRESS]:"Issue accepted and moved to In-Progress",[X.RESOLVE]:"Issue resolved successfully",[X.REJECTED]:"Issue rejected"};Y.showSuccess(i[e]||"Issue status updated successfully"),s&&s(),n()}catch(e){const t=e?.message||e?.error?.message||"Failed to update issue status. Please try again.";Y.showError(t)}finally{H(!1)}}};if(!e)return null;const Z=U.jsx("div",{className:"raise-issue-modal-overlay",onClick:n,children:U.jsxs("div",{className:"raise-issue-modal",onClick:e=>e.stopPropagation(),children:[U.jsxs("div",{className:"raise-issue-modal-header",children:[U.jsxs("div",{className:"raise-issue-modal-header-left",children:[U.jsx(r,{className:"raise-issue-modal-icon",size:20}),U.jsx("div",{className:"raise-issue-modal-header-text",children:U.jsx("div",{className:"raise-issue-modal-title-main",children:"Issue Details"})})]}),U.jsx("button",{className:"raise-issue-modal-close",onClick:n,"aria-label":"Close",children:U.jsx(o,{size:18})})]}),U.jsx("div",{className:"raise-issue-modal-content",children:U.jsxs("div",{className:"raise-issue-fields-grid",children:[G&&f?.issueNumber&&U.jsxs("div",{className:"raise-issue-field",children:[U.jsx("label",{className:"raise-issue-field-label",children:"Issue ID"}),U.jsx("input",{type:"text",className:"raise-issue-field-input raise-issue-field-readonly",value:f.issueNumber,readOnly:!0})]}),U.jsxs("div",{className:"raise-issue-field",children:[U.jsxs("label",{className:"raise-issue-field-label",children:["Title ",U.jsx("span",{className:"raise-issue-required",children:"*"})]}),U.jsx("input",{type:"text",className:"raise-issue-field-input "+(G?"raise-issue-field-readonly":""),value:y,onChange:e=>j(e.target.value),placeholder:"Enter issue title",readOnly:G})]}),U.jsxs("div",{className:"raise-issue-field",children:[U.jsxs("label",{className:"raise-issue-field-label",children:["Work Order ",U.jsx("span",{className:"raise-issue-required",children:"*"})]}),U.jsx("input",{type:"text",className:"raise-issue-field-input "+(G?"raise-issue-field-readonly":""),value:w,onChange:e=>S(e.target.value),placeholder:"N/A",readOnly:G})]}),U.jsxs("div",{className:"raise-issue-field",children:[U.jsxs("label",{className:"raise-issue-field-label",children:["Work Order ID ",U.jsx("span",{className:"raise-issue-required",children:"*"})]}),U.jsx("input",{type:"text",className:"raise-issue-field-input "+(G?"raise-issue-field-readonly":""),value:k,onChange:e=>E(e.target.value),placeholder:"Enter work order ID",readOnly:G})]}),U.jsxs("div",{className:"raise-issue-field",children:[U.jsxs("label",{className:"raise-issue-field-label",children:["Asset ",U.jsx("span",{className:"raise-issue-required",children:"*"})]}),U.jsx("input",{type:"text",className:"raise-issue-field-input "+(G?"raise-issue-field-readonly":""),value:$,onChange:e=>T(e.target.value),placeholder:"Enter asset number",readOnly:G})]}),U.jsxs("div",{className:"raise-issue-field",children:[U.jsxs("label",{className:"raise-issue-field-label",children:["Asset ID ",U.jsx("span",{className:"raise-issue-required",children:"*"})]}),U.jsx("input",{type:"text",className:"raise-issue-field-input "+(G?"raise-issue-field-readonly":""),value:A,onChange:e=>I(e.target.value),placeholder:"Enter asset ID",readOnly:G})]}),U.jsxs("div",{className:"raise-issue-field",children:[U.jsxs("label",{className:"raise-issue-field-label",children:["Asset Description ",U.jsx("span",{className:"raise-issue-required",children:"*"})]}),U.jsx("input",{type:"text",className:"raise-issue-field-input "+(G?"raise-issue-field-readonly":""),value:R,onChange:e=>D(e.target.value),placeholder:"Enter asset description",readOnly:G})]}),U.jsxs("div",{className:"raise-issue-field",children:[U.jsxs("label",{className:"raise-issue-field-label",children:["Form Instance ID ",U.jsx("span",{className:"raise-issue-required",children:"*"})]}),U.jsx("input",{type:"text",className:"raise-issue-field-input "+(G?"raise-issue-field-readonly":""),value:W,onChange:e=>B(e.target.value),placeholder:"Enter form instance ID",readOnly:G})]}),U.jsxs("div",{className:"raise-issue-field",children:[U.jsx("label",{className:"raise-issue-field-label",children:"Raised By"}),U.jsxs("div",{className:"raise-issue-field-value-with-icon",children:[U.jsx(l,{size:16}),U.jsx("span",{children:v&&`${v.firstName||""} ${v.lastName||""}`.trim()||"User"})]})]}),U.jsxs("div",{className:"raise-issue-field",children:[U.jsx("label",{className:"raise-issue-field-label",children:"Created On"}),U.jsxs("div",{className:"raise-issue-field-value-with-icon",children:[U.jsx(c,{size:16}),U.jsx("span",{children:G&&f?.createdAt?new Date(f.createdAt).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})})]})]}),U.jsxs("div",{className:"raise-issue-field raise-issue-field-full-width",children:[U.jsxs("label",{className:"raise-issue-field-label",children:["Description ",U.jsx("span",{className:"raise-issue-required",children:"*"})]}),U.jsx("textarea",{className:"raise-issue-field-textarea "+(G?"raise-issue-field-readonly":""),value:N,onChange:e=>C(e.target.value),placeholder:"Enter issue description",rows:4,readOnly:G})]}),U.jsxs("div",{className:"raise-issue-field",children:[U.jsxs("label",{className:"raise-issue-field-label",children:["Status ",U.jsx("span",{className:"raise-issue-required",children:"*"})]}),U.jsxs("select",{className:"raise-issue-field-select "+(G?"raise-issue-field-readonly":""),value:O,onChange:e=>q(e.target.value),disabled:G,children:[U.jsx("option",{value:X.OPEN,children:X.OPEN}),U.jsx("option",{value:X.IN_PROGRESS,children:X.IN_PROGRESS}),U.jsx("option",{value:X.REJECTED,children:X.REJECTED}),U.jsx("option",{value:X.RESOLVE,children:X.RESOLVE})]})]}),U.jsxs("div",{className:"raise-issue-field",children:[U.jsxs("label",{className:"raise-issue-field-label",children:["Assignee ",U.jsx("span",{className:"raise-issue-required",children:"*"})]}),U.jsxs("select",{className:"raise-issue-field-select",value:M,onChange:e=>_(e.target.value),children:[U.jsx("option",{value:"",children:"Unassigned"}),x.map(e=>U.jsx("option",{value:e,children:e},e))]})]}),U.jsxs("div",{className:"raise-issue-field raise-issue-field-full-width",children:[U.jsxs("label",{className:"raise-issue-field-label",children:["Priority ",U.jsx("span",{className:"raise-issue-required",children:"*"})]}),U.jsxs("div",{className:"raise-issue-priority-buttons",children:[U.jsx("button",{type:"button",className:"priority-button priority-low "+("Low"===V?"active":""),onClick:()=>F("Low"),children:"Low"}),U.jsx("button",{type:"button",className:"priority-button priority-medium "+("Medium"===V?"active":""),onClick:()=>F("Medium"),children:"Medium"}),U.jsx("button",{type:"button",className:"priority-button priority-high "+("High"===V?"active":""),onClick:()=>F("High"),children:"High"})]})]}),U.jsxs("div",{className:"raise-issue-field raise-issue-field-full-width",children:[U.jsxs("label",{className:"raise-issue-field-label-with-icon",children:[U.jsx(d,{size:16}),U.jsx("span",{children:"Comments"})]}),!z&&U.jsx("div",{className:"raise-issue-no-comments",children:"No comments yet"}),U.jsx("textarea",{className:"raise-issue-field-textarea raise-issue-comments-textarea "+(G?"raise-issue-field-readonly":""),value:z,onChange:e=>P(e.target.value),placeholder:"Add a comment...",rows:4,readOnly:G})]})]})}),U.jsx("div",{className:"raise-issue-modal-actions",children:U.jsxs("div",{className:"raise-issue-modal-actions-buttons",children:[G&&f&&U.jsxs(U.Fragment,{children:[O===X.OPEN&&U.jsx("button",{className:"raise-issue-modal-button raise-issue-modal-button-accept",onClick:async()=>{await K(X.IN_PROGRESS)},disabled:J,children:J?"Processing...":"Accept"}),O===X.IN_PROGRESS&&U.jsx("button",{className:"raise-issue-modal-button raise-issue-modal-button-resolve",onClick:async()=>{await K(X.RESOLVE)},disabled:J,children:J?"Processing...":"Resolve"}),O===X.OPEN&&U.jsx("button",{className:"raise-issue-modal-button raise-issue-modal-button-reject",onClick:async()=>{await K(X.REJECTED)},disabled:J,children:J?"Processing...":"Reject"})]}),!G&&U.jsx("button",{className:"raise-issue-modal-button raise-issue-modal-button-save",onClick:async()=>{if(String(y||"").trim())if(String(N||"").trim()){H(!0);try{if(G&&f){const e={title:String(y||"").trim(),description:String(N||"").trim(),workOrderNumber:String(w||"").trim()||"",workOrderId:String(k||"").trim()||void 0,assetNumber:String($||"").trim()||"",assetId:String(A||"").trim()||void 0,assetDescription:String(R||"").trim()||void 0,formTemplateId:f.formTemplateId||"",formInstanceId:String(W||"").trim()||void 0,component:f.component||{},priority:V,assignee:String(M||"").trim()||void 0,status:O,comments:String(z||"").trim()||""};g&&f._id&&await g(f._id,e),Y.showSuccess("Issue updated successfully"),s&&s(),n()}else{if(!a)return Y.showError("Component is required"),void H(!1);if(!u||""===String(u||"").trim())return Y.showError("Form template is required"),void H(!1);const e={...a,basic:{...a.basic,comments:String(p||"")}},t={title:String(y||"").trim(),workOrderNumber:String(w||"").trim()||void 0,workOrderId:String(k||"").trim()||void 0,assetNumber:String($||"").trim()||void 0,assetId:String(A||"").trim()||void 0,assetDescription:String(R||"").trim()||void 0,formInstanceId:String(W||"").trim()||m||void 0,component:e,description:String(N||"").trim(),formTemplateId:u,assignee:String(M||"").trim()||void 0,priority:V,status:O,comments:String(z||"").trim()||""};let i;b&&(i=await b(t,h||[])),Y.showSuccess("Issue raised successfully"),s&&s(i),n()}}catch(e){const t=e?.message||e?.error?.message||(G?"Failed to update issue. Please try again.":"Failed to raise issue. Please try again.");Y.showError(t)}finally{H(!1)}}else Y.showError("Description is required");else Y.showError("Title is required")},disabled:J||!String(y||"").trim()||!String(N||"").trim(),children:J?"Saving...":"Save Changes"})]})})]})});return L(Z,document.body)},Z=({component:e,condition:s,currentValue:a,thresholdValue:o,formTemplateId:l,onIssueRaised:c,isIssueRaised:d=!1})=>{const[m,p]=t(!1),[h,f]=t(null),[b,g]=t(!1),[v,x]=t(!1);i(()=>{d&&x(!0)},[d]),i(()=>{x(!1)},[s?.id]);const y=n(async()=>{if(d||v){if(h)return void p(!0);g(!0);try{f(null),p(!0)}catch(e){console.error("Error fetching issue:",e),Y.showError("Failed to load issue details")}finally{g(!1)}}else f(null),p(!0)},[d,v,l,e,h]),j=n(()=>{p(!1),d||v||f(null)},[d,v]),N=n(e=>{p(!1),f(e||null),x(!0),c&&s?.id&&c(s.id)},[c,s]);return d||v?U.jsxs(U.Fragment,{children:[U.jsx("div",{className:"threshold-issue-indicator",children:U.jsxs("div",{className:"threshold-issue-indicator-content",children:[U.jsx(u,{className:"threshold-issue-indicator-icon",size:16}),U.jsx("span",{className:"threshold-issue-indicator-text",children:"Issue raised for this threshold condition"}),U.jsx("button",{type:"button",onClick:y,className:"threshold-issue-indicator-view-btn",disabled:b,children:b?"Loading...":"View Issue"})]})}),m&&U.jsx(K,{isOpen:m,onClose:j,onSuccess:N,component:e,formTemplateId:l,notes:"",attachments:null,issue:h})]}):U.jsxs(U.Fragment,{children:[U.jsxs("div",{className:"threshold-alert threshold-alert-unresolved",children:[U.jsx("div",{className:"threshold-alert-border"}),U.jsxs("div",{className:"threshold-alert-content",children:[U.jsx("div",{className:"threshold-alert-header",children:U.jsxs("div",{className:"threshold-alert-title-group",children:[U.jsx(r,{className:"threshold-alert-icon",size:20}),U.jsx("span",{className:"threshold-alert-title",children:"Threshold Condition Met - Action Required"})]})}),U.jsxs("div",{className:"threshold-alert-message",children:[(()=>{const t={greaterThan:">",lessThan:"<",greaterThanOrEqual:"≥",lessThanOrEqual:"≤",equals:"=",notEquals:"≠"}[i=s.operator]||i;var i;return`${e.basic?.label||"Value"}: Value ${a} exceeds threshold ${t} ${o}`})(),U.jsx("span",{className:"threshold-alert-warning",children:" You must raise an issue before submitting the form."})]}),U.jsx("div",{className:"threshold-alert-buttons",children:U.jsx("button",{type:"button",onClick:y,className:"threshold-alert-raise-issue-btn",children:"Raise Issue Now"})})]})]}),m&&U.jsx(K,{isOpen:m,onClose:j,onSuccess:N,component:e,formTemplateId:l,notes:"",attachments:null,issue:h})]})},Q=({id:e,properties:a,validationErrors:r={},formValue:o="",inputType:l="text",readonly:c=!1,disabled:d=!1,touchedFields:u={},formSubmitted:m=!1,mode:p="test",onValueChange:h,onBlur:f,onFocus:b,className:g="",hideLabel:v=!1,formTemplateId:x,onThresholdIssueRaised:y,raisedThresholdIssues:j=new Set})=>{const N=e=>null==e?"":"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e?String(e):"object"==typeof e?Array.isArray(e)?"":"value"in e?N(e.value):"label"in e?N(e.label):"":String(e||""),C=N(o||a?.basic?.defaultValue||""),[w,S]=t(C),[k,E]=t(!1),[$,T]=t(!1),[A,I]=t(new Set),[L,R]=t(C),D=()=>{if(l)return l;const e=a?.name;return"text-input"===e?"text":"number-input"===e?"number":"email-input"===e?"email":"text"},V=n(e=>{const t=(()=>{const e={};if(a?.validation?.required&&(e.required=!0),"email"===D()&&(e.email=!0),"text"===D()){const t=a.validation;t?.minLength&&(e.minLength=t.minLength),t?.maxLength&&(e.maxLength=t.maxLength)}if("number"===D()){const t=a.validation;t?.min&&(e.min=t.min),t?.max&&(e.max=t.max),void 0!==t?.lowerLimit&&(e.lowerLimit=t.lowerLimit),void 0!==t?.upperLimit&&(e.upperLimit=t.upperLimit)}return e})(),i={};let n=!0;if(!t.required||e&&""!==e.trim()||(i.required=!0,n=!1),t.email&&e&&!/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(e)&&(i.email=!0,n=!1),t.minLength&&e&&e.length<t.minLength&&(i.minLength=!0,n=!1),t.maxLength&&e&&e.length>t.maxLength&&(i.maxLength=!0,n=!1),"number"===D()&&e){const s=parseFloat(e);isNaN(s)?(i.pattern=!0,n=!1):(void 0!==t.min&&s<t.min&&(i.min=!0,n=!1),void 0!==t.max&&s>t.max&&(i.max=!0,n=!1),void 0!==t.lowerLimit&&s<t.lowerLimit&&(i.lowerLimit=!0,n=!1),void 0!==t.upperLimit&&s>t.upperLimit&&(i.upperLimit=!0,n=!1))}return{isValid:n,errors:i}},[a,D]),F=n(t=>{if(S(t),h){const i=V(t),n={id:e,value:t,isValid:i.isValid,errors:i.errors};h(n)}},[e,h,V]);i(()=>{k&&(u[e]=!0)},[k,e,u]),i(()=>{if("edit"===p){E(!1);S(a?.basic?.defaultValue||"")}else"test"===p&&(E(!1),S(""))},[p,a?.basic?.defaultValue]),i(()=>{const e=N(o||a?.basic?.defaultValue||"");e===w||$||""===e&&""!==String(w||"").trim()?""===e&&String(w||"").trim():S(e)},[o,w,$,a?.basic?.defaultValue]),i(()=>{m&&E(!0)},[m]),i(()=>{"test"!==p&&S("")},[p]);const O=n((e,t)=>{if(!t||""===t)return!1;const i="string"==typeof t?parseFloat(t):t,n="string"==typeof e.value?parseFloat(e.value):e.value;if(isNaN(i)||isNaN(n))return!1;switch(e.operator){case"greaterThan":return i>n;case"lessThan":return i<n;case"greaterThanOrEqual":return i>=n;case"lessThanOrEqual":return i<=n;case"equals":return i===n;case"notEquals":return i!==n;default:return!1}},[]),q=s(()=>a?.condition?.conditions||[],[a?.condition]);i(()=>{w!==L&&(I(new Set),R(w))},[w,L]);const M=s(()=>{if("test"!==p||!w||""===w)return null;const e=q.filter(e=>O(e,w));if(0===e.length)return null;for(const t of e)if(!A.has(t.id))return t;return null},[w,q,A,p,O,j]),_=n(e=>{I(t=>new Set(t).add(e))},[]),z=D(),P=d||c||a?.validation?.readonly;return U.jsxs("div",{className:`form-group ${(()=>{const e=a?.styles?.labelAlignment;return"left"===e?"label-left":"label-top"})()}`,children:[!v&&a.basic.label&&U.jsxs("label",{htmlFor:e,className:"form-label",children:[a.basic.label,a.validation.required&&U.jsx("span",{className:"required-indicator",children:"*"})]}),U.jsxs("div",{className:"input-wrapper",children:[U.jsx("input",{type:z,id:e,value:w,onChange:e=>{const t=e.target.value;F(t)},onFocus:()=>{T(!0),b&&b()},onBlur:()=>{if(T(!1),E(!0),"test"===p&&h){const t=V(w),i={id:e,value:w,isValid:t.isValid,errors:t.errors};h(i)}f&&f()},placeholder:a.basic.placeholder,disabled:P,readOnly:c||a?.validation?.readonly,className:(()=>{const t="form-control";if("test"===p){const i=!V(w).isValid&&k,n=r[e]&&(k||m);return`${t} ${i||n?"is-invalid":""} ${g}`.trim()}return`${t} ${g}`.trim()})()}),U.jsx(G,{validationErrors:r,fieldId:e,touchedFields:u,formSubmitted:m,properties:a,localValidation:V(w),isTouched:k,mode:p}),M&&"test"===p&&(()=>{const e=j?.has(M.id)||!1;return U.jsx(Z,{component:a,condition:M,currentValue:w,thresholdValue:M.value,formTemplateId:x,onDismiss:()=>_(M.id),onIssueRaised:y,isIssueRaised:e},`${M.id}-${e}`)})()]})]})},ee=({id:e,properties:s,validationErrors:a={},formValue:r="",readonly:o=!1,disabled:l=!1,touchedFields:c={},formSubmitted:d=!1,mode:u="preview",onValueChange:m,onBlur:p,onFocus:h,className:f="",hideLabel:b=!1})=>{const[g,v]=t(r),[x,y]=t(!1),j=n(e=>{const t={};let i=!0;return!s?.validation?.required||e&&""!==e.trim()||(t.required=!0,i=!1),s?.validation?.minLength&&e&&e.length<s.validation.minLength&&(t.minLength=!0,i=!1),s?.validation?.maxLength&&e&&e.length>s.validation.maxLength&&(t.maxLength=!0,i=!1),{isValid:i,errors:t}},[s]),N=n(t=>{if(v(t),m){const i=j(t),n={id:e,value:t,isValid:i.isValid,errors:i.errors};m(n)}},[e,m,j]);i(()=>{x&&(c[e]=!0)},[x,e,c]),i(()=>{""===g&&""!==r&&v(r)},[r]),i(()=>{d&&y(!0)},[d]),i(()=>{"test"!==u&&v("")},[u]);const C=l||o||s?.validation?.readonly,w=s?.validation?.rows||4;return U.jsxs("div",{className:`form-group ${(()=>{const e=s?.styles?.labelAlignment;return"left"===e?"label-left":"label-top"})()}`,children:[!b&&s.basic.label&&U.jsxs("label",{htmlFor:e,className:"form-label",children:[s.basic.label,s.validation.required&&U.jsx("span",{className:"required-indicator",children:"*"})]}),U.jsxs("div",{className:"input-wrapper",children:[U.jsx("textarea",{id:e,value:g,onChange:e=>{const t=e.target.value;N(t)},onFocus:()=>{h&&h()},onBlur:()=>{y(!0),p&&p()},placeholder:s.basic.placeholder,disabled:C,readOnly:o||s?.validation?.readonly,rows:w,className:`form-textarea ${!j(g).isValid&&x?"is-invalid":""} ${f}`.trim()}),U.jsx(G,{validationErrors:a,fieldId:e,touchedFields:c,formSubmitted:d,properties:s,localValidation:j(g),isTouched:x,mode:u})]})]})},te=({id:e,properties:s,validationErrors:a={},formValue:r="",readonly:o=!1,disabled:l=!1,touchedFields:c={},formSubmitted:d=!1,mode:u="preview",onValueChange:m,onBlur:p,onFocus:h,className:f="",hideLabel:b=!1})=>{const[g,v]=t(r),[x,y]=t(!1),j=s?.validation?.multiple||!1,N=n(e=>{const t={};let i=!0;return s?.validation?.required&&(j?Array.isArray(e)&&0!==e.length||(t.required=!0,i=!1):(!e||"string"==typeof e&&""===e.trim())&&(t.required=!0,i=!1)),{isValid:i,errors:t}},[s,j]),C=n(t=>{if(v(t),m){const i=N(t),n={id:e,value:t,isValid:i.isValid,errors:i.errors};m(n)}},[e,m,N]);i(()=>{x&&(c[e]=!0)},[x,e,c]),i(()=>{JSON.stringify(r)!==JSON.stringify(g)&&v(r)},[r,g]),i(()=>{d&&y(!0)},[d]);const w=l||o||s?.validation?.readonly;return U.jsxs("div",{className:`form-group ${(()=>{const e=s?.styles?.labelAlignment;return"left"===e?"label-left":"label-top"})()}`,children:[!b&&s.basic.label&&U.jsxs("label",{htmlFor:e,className:"form-label",children:[s.basic.label,s.validation.required&&U.jsx("span",{className:"required-indicator",children:"*"})]}),U.jsxs("div",{className:"input-wrapper",children:[U.jsxs("select",{id:e,value:g,onChange:e=>{if(j){const t=Array.from(e.target.selectedOptions,e=>e.value);C(t)}else C(e.target.value)},onFocus:()=>{h&&h()},onBlur:()=>{y(!0),p&&p()},disabled:w,multiple:j,className:`form-select ${!N(g).isValid&&x?"is-invalid":""} ${f}`.trim(),children:[!j&&U.jsx("option",{value:"",children:s.basic.placeholder||"Select an option"}),(s.options||[]).map((e,t)=>U.jsx("option",{value:e.value,disabled:e.disabled,children:e.label},t))]}),U.jsx(G,{validationErrors:a,fieldId:e,touchedFields:c,formSubmitted:d,properties:s,localValidation:N(g),isTouched:x,mode:u})]})]})},ie=({id:e,properties:s,validationErrors:a={},formValue:r=[],readonly:o=!1,disabled:l=!1,touchedFields:c={},formSubmitted:d=!1,mode:u="preview",onValueChange:m,onBlur:p,onFocus:h,className:f="",hideLabel:b=!1})=>{const[g,v]=t(!1),x=Array.isArray(r)?r:[],y=n(e=>{const t={};let i=!0;return s?.validation?.required&&0===e.length&&(t.required=!0,i=!1),{isValid:i,errors:t}},[s]),j=n(t=>{if(m){const i=y(t),n={id:e,value:t,isValid:i.isValid,errors:i.errors};m(n)}},[e,m,y,x]),N=(e,t)=>{let i;i=t?[...x,e]:x.filter(t=>t!==e),j(i)},C=()=>{h&&h()},w=()=>{v(!0),p&&p()};i(()=>{g&&(c[e]=!0)},[g,e,c]),i(()=>{},[r,e,x]),i(()=>{d&&v(!0)},[d]);const S=l||o||s?.validation?.readonly;return U.jsx(U.Fragment,{children:U.jsx("div",{className:`form-group checkbox-group ${(()=>{const e=s?.styles?.labelAlignment;return"left"===e?"label-left":"label-top"})()} ${s?.basic?.inlineLayout?"inline-layout":"vertical-layout"} ${f}`,children:!b&&s.basic.label?U.jsxs(U.Fragment,{children:[U.jsxs("label",{className:"form-label",children:[s.basic.label,s.validation.required&&U.jsx("span",{className:"required-indicator",children:"*"})]}),U.jsxs("div",{className:"input-wrapper",children:[U.jsx("div",{className:"mt-2 "+(s?.basic?.inlineLayout?"inline-options-grid":"space-y-2"),children:(s.options||[]).map((t,i)=>U.jsxs("div",{className:"form-check",children:[U.jsx("input",{type:"checkbox",id:`${e}-${i}`,name:e,value:t.value,checked:x.includes(t.value),onChange:e=>{N(t.value,e.target.checked)},onFocus:C,onBlur:w,disabled:S||t.disabled,className:"form-check-input"}),U.jsx("label",{htmlFor:`${e}-${i}`,className:"form-check-label",children:t.label})]},i))}),U.jsx(G,{validationErrors:a,fieldId:e,touchedFields:c,formSubmitted:d,properties:s,localValidation:y(x),isTouched:g,mode:u})]})]}):U.jsxs("div",{className:"input-wrapper",children:[U.jsx("div",{className:"mt-2 "+(s?.basic?.inlineLayout?"inline-options-grid":"space-y-2"),children:(s.options||[]).map((t,i)=>U.jsxs("div",{className:"form-check",children:[U.jsx("input",{type:"checkbox",id:`${e}-${i}`,name:e,value:t.value,checked:x.includes(t.value),onChange:e=>{N(t.value,e.target.checked)},onFocus:C,onBlur:w,disabled:S||t.disabled,className:"form-check-input"}),U.jsx("label",{htmlFor:`${e}-${i}`,className:"form-check-label",children:t.label})]},i))}),U.jsx(G,{validationErrors:a,fieldId:e,touchedFields:c,formSubmitted:d,properties:s,localValidation:y(x),isTouched:g,mode:u})]})})})},ne=({id:e,properties:s,validationErrors:a={},formValue:r="",readonly:o=!1,disabled:l=!1,touchedFields:c={},formSubmitted:d=!1,mode:u="preview",onValueChange:m,onBlur:p,onFocus:h,className:f="",hideLabel:b=!1})=>{const[g,v]=t(r),[x,y]=t(!1),j=n(e=>{const t={};let i=!0;return!s?.validation?.required||e&&""!==e.trim()||(t.required=!0,i=!1),{isValid:i,errors:t}},[s]),N=n(t=>{if(v(t),m){const i=j(t),n={id:e,value:t,isValid:i.isValid,errors:i.errors};m(n)}},[e,m,j]),C=e=>{N(e)},w=()=>{h&&h()},S=()=>{y(!0),p&&p()};i(()=>{x&&(c[e]=!0)},[x,e,c]),i(()=>{r!==g&&v(r)},[r,g]),i(()=>{d&&y(!0)},[d]);const k=l||o||s?.validation?.readonly;return U.jsx(U.Fragment,{children:U.jsx("div",{className:`form-group radio-group ${(()=>{const e=s?.styles?.labelAlignment;return"left"===e?"label-left":"label-top"})()} ${s?.basic?.inlineLayout?"inline-layout":"vertical-layout"} ${f}`,children:!b&&s.basic.label?U.jsxs(U.Fragment,{children:[U.jsxs("label",{className:"form-label",children:[s.basic.label,s.validation.required&&U.jsx("span",{className:"required-indicator",children:"*"})]}),U.jsxs("div",{className:"input-wrapper",children:[U.jsx("div",{className:"mt-2 "+(s?.basic?.inlineLayout?"inline-options-grid":"space-y-2"),children:(s.options||[]).map((t,i)=>U.jsxs("div",{className:"form-check",children:[U.jsx("input",{type:"radio",id:`${e}-${i}`,name:e,value:t.value,checked:g===t.value,onChange:()=>C(t.value),onFocus:w,onBlur:S,disabled:k||t.disabled,className:"form-check-input"}),U.jsx("label",{htmlFor:`${e}-${i}`,className:"form-check-label",children:t.label})]},i))}),U.jsx(G,{validationErrors:a,fieldId:e,touchedFields:c,formSubmitted:d,properties:s,localValidation:j(g),isTouched:x,mode:u})]})]}):U.jsxs("div",{className:"input-wrapper",children:[U.jsx("div",{className:"mt-2 "+(s?.basic?.inlineLayout?"inline-options-grid":"space-y-2"),children:(s.options||[]).map((t,i)=>U.jsxs("div",{className:"form-check",children:[U.jsx("input",{type:"radio",id:`${e}-${i}`,name:e,value:t.value,checked:g===t.value,onChange:()=>C(t.value),onFocus:w,onBlur:S,disabled:k||t.disabled,className:"form-check-input"}),U.jsx("label",{htmlFor:`${e}-${i}`,className:"form-check-label",children:t.label})]},i))}),U.jsx(G,{validationErrors:a,fieldId:e,touchedFields:c,formSubmitted:d,properties:s,localValidation:j(g),isTouched:x,mode:u})]})})})},se=({id:e,properties:s,validationErrors:a={},formValue:r="",readonly:o=!1,disabled:l=!1,touchedFields:c={},formSubmitted:d=!1,mode:u="preview",onValueChange:m,onBlur:p,onFocus:h,className:f="",hideLabel:b=!1})=>{const[g,v]=t(r),[x,y]=t(!1),j=n(e=>{const t={};let i=!0;return!s?.validation?.required||e&&""!==e.trim()||(t.required=!0,i=!1),{isValid:i,errors:t}},[s]),N=n(t=>{if(v(t),y(!0),m){const i=j(t),n={id:e,value:t,isValid:i.isValid,errors:i.errors};m(n)}},[e,m,j]),C=()=>{h&&h()},w=()=>{y(!0),p&&p()};i(()=>{x&&(c[e]=!0)},[x,e,c]),i(()=>{r!==g&&v(r)},[r,g]),i(()=>{d&&y(!0)},[d]);const S=()=>s?.basic?.inlineLayout?"inline-layout":"grid-layout",k=e=>{const t=e?.toLowerCase();return"pass"===t||"yes"===t?"pass":"fail"===t||"no"===t?"fail":"pass"},E=e=>{if(void 0!==e?.icon&&""!==e.icon)return e.icon;return"pass"===k(e?.value||e)?"✓":"×"},$=(e,t)=>e?.color||e?.backgroundColor?{color:t?"#ffffff":e.color||"#00814b",backgroundColor:t?e.color||"#00814b":e.backgroundColor||"#34bd4914",borderColor:e.color||"#00814b"}:{},T=e=>{if(e?.color||e?.backgroundColor)return"segment-button-label segment-button-custom";return"segment-button-label "+("pass"===k(e?.value||e)?"pass-button":"fail-button")},A=l||o||s?.validation?.readonly;return U.jsxs(U.Fragment,{children:[U.jsx("div",{className:`form-group segment-group ${(()=>{const e=s?.styles?.labelAlignment;return"left"===e?"label-left":"label-top"})()} ${f}`,children:!b&&s.basic.label?U.jsxs(U.Fragment,{children:[U.jsxs("label",{className:"form-label",children:[s.basic.label,s.validation.required&&U.jsx("span",{className:"required-indicator",children:"*"})]}),U.jsx("div",{className:"form-segment-wrapper",children:U.jsx("div",{className:`form-segment-container ${S()}`,children:(s.options||[]).map((t,i)=>{const n=g===t.value,s=$(t,n),a=T(t),r=E(t);return U.jsxs("div",{className:"form-segment-option "+(n?"selected":""),children:[U.jsx("input",{type:"radio",id:`${e}_option_${i}`,name:e,value:t.value,checked:n,onChange:()=>!A&&!t.disabled&&N(t.value),onFocus:C,onBlur:w,disabled:A||t.disabled,className:"form-segment-radio"}),U.jsxs("label",{htmlFor:`${e}_option_${i}`,className:a,style:Object.keys(s).length>0?s:void 0,children:[r&&U.jsx("span",{className:"segment-icon",children:r}),U.jsx("span",{className:"segment-text",children:t.value})]})]},i)})})})]}):U.jsx("div",{className:"form-segment-wrapper",children:U.jsx("div",{className:`form-segment-container ${S()}`,children:(s.options||[]).map((t,i)=>{const n=g===t.value,s=$(t,n),a=T(t),r=E(t);return U.jsxs("div",{className:"form-segment-option "+(n?"selected":""),children:[U.jsx("input",{type:"radio",id:`${e}_option_${i}`,name:e,value:t.value,checked:n,onChange:()=>!A&&!t.disabled&&N(t.value),onFocus:C,onBlur:w,disabled:A||t.disabled,className:"form-segment-radio"}),U.jsxs("label",{htmlFor:`${e}_option_${i}`,className:a,style:Object.keys(s).length>0?s:void 0,children:[r&&U.jsx("span",{className:"segment-icon",children:r}),U.jsx("span",{className:"segment-text",children:t.value})]})]},i)})})})}),U.jsx(G,{validationErrors:a,fieldId:e,touchedFields:c,formSubmitted:d,properties:s,localValidation:j(g),isTouched:x,mode:u})]})},ae=({id:e,properties:s,validationErrors:a={},formValue:r="",readonly:o=!1,disabled:l=!1,touchedFields:c={},formSubmitted:d=!1,mode:u="preview",onValueChange:m,onBlur:p,onFocus:h,className:f="",hideLabel:b=!1})=>{const g=n(e=>{if(!e)return"";if("string"==typeof e){if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e;if(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/.test(e))return e;const t=new Date(e);if(!isNaN(t.getTime())){const e=s.name||"",i=s.basic?.dateTimeMode||("datetime-picker"===e?"datetime":"date");if("datetime"===i){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"===i){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")}`}return e}if(e instanceof Date){if(isNaN(e.getTime()))return"";const t=s.name||"",i=s.basic?.dateTimeMode||("datetime-picker"===t?"datetime":"date");if("datetime"===i){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"===i){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")}`}if("object"==typeof e&&null!==e){if("value"in e&&e.value)return g(e.value);if("date"in e&&e.date)return g(e.date);try{const t=String(e),i=new Date(t);if(!isNaN(i.getTime()))return g(i)}catch(e){}return""}return""},[s]),v=g(r),[x,y]=t(v),[j,N]=t(!1),[C,w]=t(!1),S=n(e=>{const t={};let i=!0;const n=s.name||"",a=s.basic?.dateTimeMode||("datetime-picker"===n?"datetime":"date"),r=e?String(e).trim():"";if(s?.validation?.required&&(!r||""===r))return t.required=!0,i=!1,{isValid:i,errors:t};if(r&&""!==r)if("time"===a){if(!/^([0-1][0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?$/.test(r))return t.invalidDate=!0,i=!1,{isValid:i,errors:t}}else if("datetime"===a){const e=new Date(r);if(isNaN(e.getTime()))return t.invalidDate=!0,i=!1,{isValid:i,errors:t};if(s?.validation?.minDate){const n=new Date(s.validation.minDate);e<n&&(t.minDate=!0,t.minDateMessage=`Date and time must be on or after ${n.toLocaleDateString()}`,i=!1)}if(s?.validation?.maxDate){const n=new Date(s.validation.maxDate);e>n&&(t.maxDate=!0,t.maxDateMessage=`Date and time must be on or before ${n.toLocaleDateString()}`,i=!1)}}else{const e=new Date(r);if(isNaN(e.getTime()))return t.invalidDate=!0,i=!1,{isValid:i,errors:t};if(s?.validation?.minDate){const n=new Date(s.validation.minDate);e<n&&(t.minDate=!0,t.minDateMessage=`Date must be on or after ${n.toLocaleDateString()}`,i=!1)}if(s?.validation?.maxDate){const n=new Date(s.validation.maxDate);e>n&&(t.maxDate=!0,t.maxDateMessage=`Date must be on or before ${n.toLocaleDateString()}`,i=!1)}}return{isValid:i,errors:t}},[s]),k=n(t=>{if(y(t),m){const i=S(t),n={id:e,value:t,isValid:i.isValid,errors:i.errors};m(n)}},[e,m,S]);i(()=>{j&&(c[e]=!0)},[j,e,c]),i(()=>{const e=g(r);e===x||C||y(e)},[r,x,C,g]),i(()=>{d&&N(!0)},[d]);const E=l||o||s?.validation?.readonly,$=s.name||"",T=s.basic?.dateTimeMode||("datetime-picker"===$?"datetime":"date"),A=(()=>{switch(T){case"time":return"time";case"datetime":return"datetime-local";default:return"date"}})();return U.jsxs("div",{className:`form-group ${(()=>{const e=s?.styles?.labelAlignment;return"left"===e?"label-left":"label-top"})()}`,children:[!b&&s.basic.label&&U.jsxs("label",{htmlFor:e,className:"form-label",children:[s.basic.label,s.validation.required&&U.jsx("span",{className:"required-indicator",children:"*"})]}),U.jsxs("div",{className:"input-wrapper",children:[U.jsx("input",{type:A,id:e,value:x,onChange:e=>{const t=e.target.value;k(t)},onFocus:()=>{w(!0),h&&h()},onBlur:()=>{if(w(!1),N(!0),m){const t=S(x),i={id:e,value:x,isValid:t.isValid,errors:t.errors};m(i)}p&&p()},disabled:E,readOnly:o||s?.validation?.readonly,min:s?.validation?.minDate,max:s?.validation?.maxDate,className:`form-date ${!S(x).isValid&&j?"is-invalid":""} ${f}`.trim()}),U.jsx(G,{validationErrors:a,fieldId:e,touchedFields:c,formSubmitted:d,properties:s,localValidation:S(x),isTouched:j,mode:u})]})]})},re=({id:e,properties:s,validationErrors:r={},formValue:o="",readonly:l=!1,disabled:c=!1,touchedFields:d={},formSubmitted:u=!1,mode:m="preview",onValueChange:p,onBlur:h,onFocus:f,className:b="",hideLabel:g=!1})=>{const v=a(null),[x,y]=t(!1),[j,N]=t(!1),[C,w]=t(o),[S,k]=t(!1),E=n(e=>{const t={};let i=!0;return!s?.validation?.required||e&&""!==e.trim()||(t.required=!0,i=!1),{isValid:i,errors:t}},[s]),$=n(t=>{if(w(t),p){const i=E(t),n={id:e,value:t,isValid:i.isValid,errors:i.errors};p(n)}},[e,p,E]),T=n(()=>{const e=document.documentElement.classList.contains("dark")||"dark"===document.documentElement.getAttribute("data-theme");let t=getComputedStyle(document.documentElement).getPropertyValue("--df-color-fb-input-bg").trim();t||(t=e?"#2c2e34":"#ffffff");return{strokeColor:e?"#ffffff":"#000000",backgroundColor:t}},[]),A=n(t=>{if(!t)return;const i=v.current;if(!i)return;const n=i.getContext("2d");if(!n)return;const s=new Image;s.onload=()=>{n.clearRect(0,0,i.width,i.height);const e=T();n.fillStyle=e.backgroundColor,n.fillRect(0,0,i.width,i.height);const t=i.width/i.height,a=s.width/s.height;let r=i.width,o=i.height,l=0,c=0;a>t?(o=i.width/a,c=(i.height-o)/2):(r=i.height*a,l=(i.width-r)/2),n.drawImage(s,l,c,r,o)},s.onerror=i=>{console.error("DfFormSignature: error loading image",{id:e,error:i,dataURL:t.substring(0,50)+"..."})},s.src=t},[T,e]),I=n(()=>{const e=v.current;if(!e)return;const t=e.getContext("2d");if(!t)return;const i=e.getBoundingClientRect();e.width=i.width,e.height=i.height,e.style.width=i.width+"px",e.style.height=i.height+"px";const n=T();t.strokeStyle=n.strokeColor,t.lineWidth=2,t.lineCap="round",t.lineJoin="round",C?A(C):(t.fillStyle=n.backgroundColor,t.fillRect(0,0,e.width,e.height))},[C,T,A]),L=n(()=>{setTimeout(()=>{I()},100)},[I]);i(()=>{const e=()=>{L()},t=new MutationObserver(e=>{e.forEach(e=>{if("attributes"===e.type&&"class"===e.attributeName){const t=e.target;t.classList.contains("form-canvas-container")&&(t.classList.contains("mobile-view")||t.classList.contains("tablet-view")||t.classList.contains("desktop-view"))&&L()}})});return t.observe(document.body,{attributes:!0,attributeFilter:["class"],subtree:!0}),window.addEventListener("resize",e),()=>{t.disconnect(),window.removeEventListener("resize",e)}},[L]);const R=n(e=>{const t=v.current;if(!t)return{x:0,y:0};const i=t.getBoundingClientRect(),n=t.width/i.width,s=t.height/i.height,a=e.type.includes("mouse")?e.clientX:e.touches[0].clientX,r=e.type.includes("mouse")?e.clientY:e.touches[0].clientY;return{x:(a-i.left)*n,y:(r-i.top)*s}},[]),D=e=>{if(l||c||s?.validation?.readonly)return;if(e.target.closest(".clear-signature-btn"))return;e.preventDefault(),e.stopPropagation(),y(!0),N(!0);const t=v.current;if(!t)return;const i=t.getContext("2d");if(!i)return;const{x:n,y:a}=R(e),r=T();i.strokeStyle=r.strokeColor,i.lineWidth=2,i.lineCap="round",i.lineJoin="round",i.beginPath(),i.moveTo(n,a)},V=e=>{if(!x)return;e.preventDefault(),e.stopPropagation();const t=v.current;if(!t)return;const i=t.getContext("2d");if(!i)return;const{x:n,y:s}=R(e);i.lineTo(n,s),i.stroke()},F=()=>{if(!x)return;y(!1),k(!0);const e=v.current;if(e){(e=>{const t=e.getContext("2d");if(!t)return!1;const i=t.getImageData(0,0,e.width,e.height).data;for(let e=0;e<i.length;e+=4){const t=i[e],n=i[e+1],s=i[e+2];if(i[e+3]>0&&(t<255||n<255||s<255))return!0}})(e);const t=e.toDataURL("image/png");w(t),$(t),setTimeout(()=>{k(!1)},100)}else k(!1)},O=n(()=>{const e=v.current;if(!e)return;const t=e.getContext("2d");if(!t)return;const i=T();if(t.strokeStyle=i.strokeColor,C){const n=C,s=e.getBoundingClientRect();t.fillStyle=i.backgroundColor,t.fillRect(0,0,s.width,s.height),n&&A(n)}else{const n=e.getBoundingClientRect();t.fillStyle=i.backgroundColor,t.fillRect(0,0,n.width,n.height)}},[T,C,A]);i(()=>{const e=new MutationObserver(e=>{e.forEach(e=>{"attributes"!==e.type||"class"!==e.attributeName&&"data-theme"!==e.attributeName||O()})});return e.observe(document.documentElement,{attributes:!0,attributeFilter:["class","data-theme"]}),()=>{e.disconnect()}},[O]);i(()=>{j&&(d[e]=!0)},[j,e,d]),i(()=>{if(!(o===C||x||S||""!==C&&""===o)){if(o===C)return;w(o),o&&A(o)}},[o,C,x,S]),i(()=>{u&&N(!0)},[u]),i(()=>{if("test"!==m){w("");const e=v.current;if(e){const t=e.getContext("2d");if(t){const i=e.getBoundingClientRect();e.width=i.width,e.height=i.height;const n=T();t.fillStyle=n.backgroundColor,t.fillRect(0,0,i.width,i.height)}}}},[m]),i(()=>{I()},[m]);const q=c||l||s?.validation?.readonly;return U.jsxs("div",{className:`form-group ${(()=>{const e=s?.styles?.labelAlignment;return"left"===e?"label-left":"label-top"})()}`,children:[!g&&s.basic.label&&U.jsxs("label",{htmlFor:e,className:"form-label",children:[s.basic.label,s.validation.required&&U.jsx("span",{className:"required-indicator",children:"*"})]}),U.jsxs("div",{className:"input-wrapper",children:[U.jsxs("div",{className:"signature-container",style:{position:"relative",width:"100%",maxWidth:"100%",overflow:"hidden"},children:[U.jsx("canvas",{ref:v,id:e,className:`form-signature ${!E(C).isValid&&j?"is-invalid":""} ${b}`.trim(),onMouseDown:D,onMouseMove:V,onMouseUp:F,onMouseLeave:F,onTouchStart:D,onTouchMove:V,onTouchEnd:F,onFocus:()=>{f&&f()},onBlur:()=>{h&&h()},style:{width:"100%",height:"150px",border:"2px solid var(--df-color-primary-border)",borderRadius:"6px",cursor:q?"not-allowed":"crosshair",backgroundColor:"var(--df-color-fb-input-bg)",touchAction:"none",userSelect:"none"}}),!q&&U.jsx("button",{type:"button",onClick:e=>(e=>{e?.preventDefault(),e?.stopPropagation();const t=v.current;if(!t)return;const i=t.getBoundingClientRect();t.width=i.width,t.height=i.height;const n=t.getContext("2d");if(!n)return;const s=T();n.fillStyle=s.backgroundColor,n.fillRect(0,0,i.width,i.height),n.strokeStyle=s.strokeColor,n.lineWidth=2,n.lineCap="round",n.lineJoin="round",w(""),$("")})(e),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:e=>{e.currentTarget.style.backgroundColor="var(--df-color-error-dark, #dc2626)",e.currentTarget.style.transform="scale(1.05)"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="var(--df-color-error-primary)",e.currentTarget.style.transform="scale(1)"},children:"Clear"})]}),U.jsx(G,{validationErrors:r,fieldId:e,touchedFields:d,formSubmitted:u,properties:s,localValidation:E(C),isTouched:j,mode:m})]})]})},oe=({id:e,properties:s,validationErrors:r={},formValue:o=null,readonly:l=!1,disabled:c=!1,touchedFields:d={},formSubmitted:u=!1,mode:m="test",onValueChange:p,onBlur:h,onFocus:f,className:b="",hideLabel:g=!1})=>{const[v,x]=t([]),[y,j]=t(!1),[N,C]=t(!1),w=a(null),S=n(t=>{if(!t)return[];const i=Array.isArray(t)?t:Array.from(t),n=[];return i.forEach((t,i)=>{let s,a,r=0,o="",l="";if(t instanceof File||t instanceof Blob){const e=t;if(r=e.size||0,o=e.type||"",l=e.name||`file-${i}`,a=e,o.startsWith("image/"))try{s=URL.createObjectURL(e)}catch(e){console.error("Error creating object URL:",e),s=void 0}}else if("string"==typeof t){const e=t;if(l=`file-${i}`,e.startsWith("data:")){const t=e.indexOf(";");o=t>5?e.substring(5,t):"application/octet-stream"}else{const t=e.match(/\.(jpg|jpeg|png|gif|webp|svg|pdf|doc|docx|xls|xlsx|zip|rar)$/i);if(t){o={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"}[t[1].toLowerCase()]||"application/octet-stream"}else o="application/octet-stream"}(e.startsWith("data:image")||e.startsWith("http://")||e.startsWith("https://")||e.startsWith("blob:"))&&(s=e),a=new File([],l,{type:o})}else{if(!t||"object"!=typeof t)return;{const e=t;if(l=e.name||e.fileName||`file-${i}`,r=e.size||e.fileSize||0,o=e.type||e.fileType||e.mimeType||"",e.url||e.path)s=e.url||e.path;else if(o.startsWith("image/")&&e.data){const t=e.data;s="string"==typeof t?t.startsWith("data:")?t:`data:${o};base64,${t}`:void 0}a=new File([],l,{type:o})}}n.push({file:a,id:`${e}-file-${i}`,size:r,type:o,name:l,preview:s})}),n},[e]),k=n(()=>({isValid:!0,errors:{}}),[]),E=n(t=>{if(l||c)return;const i=S(t),n=v.length>0?[...v,...i]:i,a=s?.validation?.maxFiles||1/0,r=n.slice(0,a);if(x(r),C(!0),p){const t=k(),i={id:e,value:r.map(e=>e.file),isValid:t.isValid,errors:t.errors};p(i)}},[v,s,l,c,p,k,S,e]),$=e=>{if(0===e)return"0 Bytes";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+["Bytes","KB","MB","GB"][t]},T=e=>e.startsWith("image/")?"🖼️":e.startsWith("video/")?"🎥":e.startsWith("audio/")?"🎵":e.includes("pdf")?"📄":e.includes("word")||e.includes("document")?"📝":e.includes("excel")||e.includes("spreadsheet")?"📊":e.includes("zip")||e.includes("rar")?"📦":"📁";i(()=>{N&&(d[e]=!0)},[N,e,d]),i(()=>{("edit"===m||"test"===m)&&C(!1)},[m]),i(()=>{const e=S(o);x(e)},[o,S]),i(()=>{u&&C(!0)},[u]),i(()=>()=>{v.forEach(e=>{if(e.preview&&e.preview.startsWith("blob:"))try{URL.revokeObjectURL(e.preview)}catch(e){console.error("Error revoking object URL:",e)}})},[v]);const A=()=>{const e=s?.styles?.labelAlignment;return"left"===e?"label-left":"label-top"},I=c||l||s?.validation?.readonly,L=s?.validation?.multiple||!1,R=s?.validation?.accept||"*/*",D=s?.validation?.maxFiles||1/0,V=v.length<D&&(L||D>1),F="edit"===m,O="preview"===m||"test"===m,q=v.filter(e=>e.type.startsWith("image/")),M=v.filter(e=>!e.type.startsWith("image/")),_=q.length>0;return O&&_?U.jsxs("div",{className:`form-group ${A()}`,children:[!g&&U.jsxs("label",{htmlFor:e,className:"form-label",children:[s.basic?.label||"Attachments",s.validation?.required&&U.jsx("span",{className:"required-indicator",children:"*"})]}),U.jsxs("div",{className:"file-upload-wrapper",children:[U.jsxs("div",{className:"file-image-display",children:[q.map(e=>U.jsxs("div",{className:"file-image-container",children:[e.preview&&U.jsx("img",{src:e.preview,alt:e.name,className:"file-image-preview"}),U.jsxs("div",{className:"file-image-info",children:[U.jsx("div",{className:"file-name",title:e.name,children:e.name}),U.jsx("div",{className:"file-size",children:$(e.size)})]})]},e.id)),M.length>0&&U.jsxs("div",{className:"file-other-files",children:[U.jsx("div",{className:"file-other-files-label",children:"Other Files:"}),M.map(e=>U.jsxs("div",{className:"file-item-minimal",children:[U.jsx("div",{className:"file-icon",children:T(e.type)}),U.jsxs("div",{className:"file-info",children:[U.jsx("div",{className:"file-name",title:e.name,children:e.name}),U.jsx("div",{className:"file-size",children:$(e.size)})]})]},e.id))]})]}),U.jsx(G,{validationErrors:r,fieldId:e,touchedFields:d,formSubmitted:u,properties:s,localValidation:k(),isTouched:N,mode:m})]})]}):U.jsxs("div",{className:`form-group ${A()}`,children:[!g&&U.jsxs("label",{htmlFor:e,className:"form-label",children:[s.basic?.label||"Attachments",s.validation?.required&&U.jsx("span",{className:"required-indicator",children:"*"})]}),U.jsxs("div",{className:"file-upload-wrapper",children:[U.jsxs("div",{className:`file-upload-area ${y?"drag-over":""} ${l?"readonly":""} ${c?"disabled":""} ${b}`.trim(),onDragOver:e=>{e.preventDefault(),l||c||j(!0)},onDragLeave:e=>{e.preventDefault(),j(!1)},onDrop:e=>{if(e.preventDefault(),j(!1),l||c)return;const t=e.dataTransfer.files;t.length>0&&E(t)},onClick:e=>{const t=e.target,i=null!==t.closest(".file-item"),n=null!==t.closest(".file-remove");!F||I||0!==v.length||i||n||w.current?.click()},onFocus:()=>{f&&f()},onBlur:()=>{if(C(!0),"test"===m&&p){const t=k(),i={id:e,value:v.map(e=>e.file),isValid:t.isValid,errors:t.errors};p(i)}h&&h()},tabIndex:I?-1:0,children:[U.jsx("input",{ref:w,type:"file",id:e,multiple:L,accept:R,onChange:e=>{const t=e.target.files;t&&t.length>0&&(E(t),e.target.value="")},disabled:I,style:{display:"none"}}),0===v.length?U.jsxs("div",{className:"upload-placeholder",onClick:e=>{e.stopPropagation(),F&&!I&&w.current?.click()},children:[U.jsx("div",{className:"upload-icon",children:"📁"}),U.jsx("div",{className:"upload-text",children:s.basic.placeholder&&U.jsx("p",{className:"upload-hint",children:s.basic.placeholder})})]}):U.jsx("div",{className:"file-list",children:v.map(t=>U.jsxs("div",{className:"file-item",children:[U.jsx("div",{className:"file-preview",children:t.preview?U.jsx("img",{src:t.preview,alt:t.name,className:"file-image"}):U.jsx("div",{className:"file-icon",children:T(t.type)})}),U.jsxs("div",{className:"file-info",children:[U.jsx("div",{className:"file-name",title:t.name,children:t.name}),U.jsx("div",{className:"file-size",children:$(t.size)})]}),F&&!I&&U.jsx("button",{type:"button",className:"file-remove",onClick:i=>{i.stopPropagation(),(t=>{if(l||c)return;const i=v.filter(e=>e.id!==t);if(x(i),C(!0),p){const t=k(),n={id:e,value:i.map(e=>e.file),isValid:t.isValid,errors:t.errors};p(n)}})(t.id)},"aria-label":`Remove ${t.name}`,children:"✕"})]},t.id))})]}),v.length>0&&V&&!I&&F&&U.jsxs("button",{type:"button",className:"file-add-more",onClick:e=>{e.stopPropagation(),!I&&w.current&&F&&(w.current.value="",w.current.click())},"aria-label":"Add more files",children:[U.jsx("svg",{className:"file-add-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:U.jsx("path",{d:"M12 5v14M5 12h14"})}),U.jsx("span",{className:"file-add-text",children:"Add More Files"})]}),U.jsx(G,{validationErrors:r,fieldId:e,touchedFields:d,formSubmitted:u,properties:s,localValidation:k(),isTouched:N,mode:m})]})]})},le=({id:e,properties:s,validationErrors:r={},formValue:l=null,readonly:c=!1,disabled:d=!1,touchedFields:u={},formSubmitted:f=!1,mode:b="test",onValueChange:g,onBlur:v,onFocus:x,className:y="",hideLabel:j=!1})=>{const[N,C]=t(l),[w,S]=t(!1),[k,E]=t(""),[$,T]=t(!1),[A,I]=t(!1),[L,R]=t({lat:40.7128,lng:-74.006}),[D,V]=t(null),[F,O]=t(10),[q,M]=t(""),[_,z]=t(!1),P=a(null),[W,B]=t(!1),[J,H]=t(null),[Y,X]=t(!1);i(()=>{l?(C(l),l.latitude&&l.longitude&&(V({lat:l.latitude,lng:l.longitude,isCurrentLocation:!1}),R({lat:l.latitude,lng:l.longitude}))):(C(null),V(null))},[l]),i(()=>{A&&40.7128===L.lat&&L.lng},[A,L]),i(()=>{(c||d)&&(A&&I(!1),q&&M(""),W&&(B(!1),H(null)))},[c,d]);const K=n(async(e,t)=>{X(!0);try{const i=await fetch(`https://nominatim.openstreetmap.org/reverse?format=json&lat=${e}&lon=${t}&addressdetails=1&zoom=18`),n=await i.json();if(n&&n.address){const e=n.address;return{placeName:n.display_name||"",city:e.city||e.town||e.village||e.municipality||"",country:e.country||""}}}catch(e){console.error("Reverse geocoding failed:",e)}finally{X(!1)}return{placeName:"",city:"",country:""}},[]),Z=n(async(t,i,n)=>{const s=await K(t,i),a={latitude:t,longitude:i,timestamp:Date.now(),placeName:s.placeName,city:s.city,country:s.country,address:s.placeName,...n};if(C(a),V({lat:t,lng:i,isCurrentLocation:!1}),T(!0),g){g({id:e,value:a,isValid:!0,errors:{}})}},[K,e,g]),Q=n(()=>{if(c||d)return;if(!navigator.geolocation)return void E("Geolocation is not supported by this browser.");S(!0),E("");const e={enableHighAccuracy:s.validation?.enableHighAccuracy??!0,timeout:s.validation?.timeout??1e4,maximumAge:s.validation?.maximumAge??3e5};navigator.geolocation.getCurrentPosition(async e=>{const t=e.coords.latitude,i=e.coords.longitude;V({lat:t,lng:i,isCurrentLocation:!0}),R({lat:t,lng:i}),T(!0),await Z(t,i,{accuracy:e.coords.accuracy,timestamp:e.timestamp}),S(!1)},e=>{S(!1);let t="Unable to retrieve your location.";switch(e.code){case e.PERMISSION_DENIED:t="Location access denied by user.";break;case e.POSITION_UNAVAILABLE:t="Location information is unavailable.";break;case e.TIMEOUT:t="Location request timed out."}E(t)},e)},[c,d,e,g,s]),ee=n(()=>{if(!c&&!d&&(C(null),V(null),E(""),T(!0),g)){g({id:e,value:null,isValid:!0,errors:{}})}},[c,d,e,g]),te=n(()=>{c||d||I(!A)},[c,d,A]),ie=n((e,t,i,n,s,a)=>{const r=e-s/2,o=t-a/2,l=156543.03392*Math.cos(i.lat*Math.PI/180)/Math.pow(2,n),c=r*l,d=o*l;return{lat:i.lat+d/111320,lng:i.lng+c/(111320*Math.cos(i.lat*Math.PI/180))}},[]),ne=n(e=>{c||d||!P.current||0===e.button&&(B(!0),H({x:e.clientX,y:e.clientY}),e.preventDefault())},[c,d]),se=n(e=>{if(!W||!J||!P.current)return;const t=e.clientX-J.x,i=e.clientY-J.y,n=156543.03392*Math.cos(L.lat*Math.PI/180)/Math.pow(2,F),s=-i*n/111320,a=t*n/(111320*Math.cos(L.lat*Math.PI/180));R({lat:L.lat+s,lng:L.lng+a}),H({x:e.clientX,y:e.clientY})},[W,J,L,F]),ae=n(async e=>{if(!P.current)return;if(W&&J){const t=Math.abs(e.clientX-J.x),i=Math.abs(e.clientY-J.y);if(t>5||i>5)return B(!1),void H(null)}if(c||d)return B(!1),void H(null);const t=P.current.getBoundingClientRect(),i=e.clientX-t.left,n=e.clientY-t.top,{lat:s,lng:a}=ie(i,n,L,F,t.width,t.height);await Z(s,a),B(!1),H(null)},[c,d,P,L,F,ie,Z,W,J]),re=n(async t=>{if(t.trim()&&!c&&!d){z(!0),E("");try{const i=await fetch(`https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(t)}&limit=5&addressdetails=1`),n=await i.json();if(n&&n.length>0){const t=n[0],i=parseFloat(t.lat),s=parseFloat(t.lon),a=t.address||{},r={latitude:i,longitude:s,address:t.display_name,placeName:t.display_name,city:a.city||a.town||a.village||a.municipality||"",country:a.country||"",timestamp:Date.now()};if(C(r),V({lat:i,lng:s,isCurrentLocation:!1}),R({lat:i,lng:s}),T(!0),g){g({id:e,value:r,isValid:!0,errors:{}})}}else E("No locations found for your search.")}catch(e){E("Failed to search for location. Please try again.")}finally{z(!1)}}},[c,d,e,g]),oe=()=>{x&&x()},le=()=>{T(!0),v&&v()},ce=d||c||s?.validation?.readonly,de=s?.basic?.label||"Location",ue=s?.basic?.description||"";return U.jsxs("div",{className:`form-group ${j?"no-label":""} ${y}`,children:[!j&&U.jsxs("label",{htmlFor:e,className:"form-label",children:[de,s?.validation?.required&&U.jsx("span",{className:"required-indicator",children:"*"})]}),ue&&U.jsx("div",{className:"form-group-description",children:ue}),U.jsxs("div",{className:"location-wrapper",children:[!(c&&N)&&U.jsxs("div",{className:"location-controls",children:[U.jsx("button",{type:"button",className:"location-btn "+(w?"loading":""),onClick:Q,disabled:ce||w,onFocus:oe,onBlur:le,tabIndex:ce?-1:0,children:w?U.jsxs(U.Fragment,{children:[U.jsx(m,{size:16,className:"loading-spinner"}),"Getting Location..."]}):U.jsxs(U.Fragment,{children:[U.jsx(p,{size:16}),"Get Current Location"]})}),U.jsxs("button",{type:"button",className:"location-btn secondary",onClick:te,disabled:ce,onFocus:oe,onBlur:le,tabIndex:ce?-1:0,children:[U.jsx(h,{size:16}),A?"Hide Map":"Choose on Map"]})]}),N&&U.jsxs("div",{className:"location-display",children:[!c&&U.jsx("button",{type:"button",className:"location-clear-btn",onClick:ee,disabled:ce,title:"Clear location",children:U.jsx(o,{size:16})}),N.placeName&&U.jsxs("div",{className:"location-place-name",children:[U.jsx("strong",{children:"Place:"})," ",N.placeName]}),(N.city||N.country)&&U.jsxs("div",{className:"location-address",children:[U.jsx("strong",{children:"Address:"})," ",[N.city,N.country].filter(Boolean).join(", ")]}),U.jsxs("div",{className:"location-coordinates",children:[U.jsx("strong",{children:"Coordinates:"})," ",(pe=N.latitude,he=N.longitude,void 0===pe||void 0===he||isNaN(pe)||isNaN(he)?"":`${Number(pe).toFixed(6)}, ${Number(he).toFixed(6)}`)]}),N.accuracy&&U.jsxs("div",{className:"location-accuracy",children:[U.jsx("strong",{children:"Accuracy:"})," ",(me=N.accuracy,me?`±${Math.round(me)}m`:"")]}),N.timestamp&&U.jsxs("div",{className:"location-timestamp",children:[U.jsx("strong",{children:"Captured:"})," ",new Date(N.timestamp).toLocaleString()]})]}),A&&!c&&U.jsxs("div",{className:"location-map-container",children:[U.jsxs("div",{className:"location-map-header",children:[U.jsx("h4",{children:"Select Location on Map"}),U.jsx("p",{children:"Search for a place or click on the map to select a location"})]}),U.jsx("div",{className:"location-search",children:U.jsx("form",{onSubmit:e=>{e.preventDefault(),q.trim()&&re(q)},className:"search-form",children:U.jsxs("div",{className:"search-input-group",children:[U.jsx("input",{type:"text",value:q,onChange:e=>{M(e.target.value)},placeholder:"Search for a place (e.g., New York, Paris, Tokyo)",className:"search-input",disabled:ce||_}),U.jsx("button",{type:"submit",className:"search-btn",disabled:ce||_||!q.trim(),children:_?U.jsx(m,{size:16,className:"loading-spinner"}):"Search"})]})})}),U.jsxs("div",{ref:P,className:"location-map "+(W?"dragging":""),onMouseDown:ne,onMouseMove:se,onMouseUp:ae,onMouseLeave:()=>{B(!1),H(null)},style:{position:"relative",height:"400px",border:"2px solid var(--df-color-fb-border)",borderRadius:"8px",overflow:"hidden",cursor:W?"grabbing":"grab",background:`url(https://tile.openstreetmap.org/${F}/${Math.floor((L.lng+180)/360*Math.pow(2,F))}/${Math.floor((1-Math.log(Math.tan(L.lat*Math.PI/180)+1/Math.cos(L.lat*Math.PI/180))/Math.PI)/2*Math.pow(2,F))}.png) center/cover no-repeat`,userSelect:"none"},children:[D&&U.jsx("div",{className:"map-marker "+(D.isCurrentLocation?"current-location":"selected-location"),style:{position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -100%)",zIndex:10},children:U.jsx(h,{size:24})}),U.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}}),U.jsxs("div",{className:"map-controls",children:[U.jsx("button",{type:"button",className:"map-zoom-btn",onClick:()=>O(e=>Math.min(18,e+1)),disabled:F>=18,children:"+"}),U.jsx("button",{type:"button",className:"map-zoom-btn",onClick:()=>O(e=>Math.max(1,e-1)),disabled:F<=1,children:"−"})]})]}),U.jsxs("div",{className:"location-map-instructions",children:[U.jsx("p",{children:U.jsx("strong",{children:"Instructions:"})}),U.jsxs("ul",{children:[U.jsx("li",{children:"Search for a place using the search box above"}),U.jsx("li",{children:"Click anywhere on the map to select a location"}),U.jsx("li",{children:"Drag the map to pan around"}),U.jsx("li",{children:"Use the zoom buttons (+/−) to zoom in/out"}),U.jsx("li",{children:'Use "Get Current Location" to automatically detect your position'})]})]}),Y&&U.jsxs("div",{className:"location-loading",children:[U.jsx(m,{size:16,className:"loading-spinner"}),U.jsx("span",{children:"Loading address details..."})]})]}),k&&U.jsx("div",{className:"location-error",children:k})]}),U.jsx(G,{validationErrors:r,fieldId:e,touchedFields:u,formSubmitted:f,properties:s,localValidation:{isValid:!0,errors:{}},isTouched:$,mode:b})]});var me,pe,he},ce=({id:e,properties:t,className:i="",hideLabel:n=!1})=>{const s=t.styles?.level??t.basic.level??1,a=t.basic.label,r=()=>{const e={};return t?.styles?.fontSize&&(e.fontSize=t.styles.fontSize),t?.styles?.color&&(e.color=t.styles.color),e};return n?null:(()=>{const n={id:e,className:`form-heading h${s} ${t?.styles?.textAlign?`text-${t.styles.textAlign}`:""} ${i}`.trim(),style:r()};switch(s){case 1:default:return U.jsx("h1",{...n,children:a});case 2:return U.jsx("h2",{...n,children:a});case 3:return U.jsx("h3",{...n,children:a});case 4:return U.jsx("h4",{...n,children:a});case 5:return U.jsx("h5",{...n,children:a});case 6:return U.jsx("h6",{...n,children:a})}})()},de=({id:e,properties:s,mode:r="preview",onValueChange:o,className:l="",hideLabel:c=!1})=>{const[d,u]=t(""),[m,p]=t(s.validation?.listStyle||"numbers"),[h,y]=t("#000000"),j=a(null),N=a(null),C=a(!1),w="edit"===r,S=a({instructions:[],listStyle:"numbers"}),k=a(r);i(()=>{let e=[];s.basic?.instructions&&(Array.isArray(s.basic.instructions)?e=s.basic.instructions:"string"==typeof s.basic.instructions&&(e=[s.basic.instructions]));const t=s.validation?.listStyle||"numbers",i=JSON.stringify(e)!==JSON.stringify(S.current.instructions)||t!==S.current.listStyle,n=r!==k.current;if(i||n){const s=e.some(e=>"string"==typeof e&&/<[^>]+>/.test(e));let a="";if(e.length>0)if(s)a=e.join("");else{const i="numbers"===t?"ol":"bullets"===t?"ul":"div",n=e.filter(e=>e&&"string"==typeof e).map(e=>`<li>${e.replace(/\n/g,"<br>")}</li>`).join("");a="div"===i?e.filter(e=>e&&"string"==typeof e).map(e=>`<div>${e.replace(/\n/g,"<br>")}</div>`).join(""):`<${i}>${n}</${i}>`}p(t),u(a),w&&j.current&&(n||i&&j.current.innerHTML.trim()!==a.trim())&&(j.current.innerHTML=a),S.current={instructions:e,listStyle:t},k.current=r}},[s.basic?.instructions,s.validation?.listStyle,r,w]),i(()=>{if(w&&j.current){const e=j.current.innerHTML.trim();d.trim()===e||C.current||(j.current.innerHTML=d)}if(C.current){const e=setTimeout(()=>{C.current=!1},200);return()=>clearTimeout(e)}},[d,w]);const E=n(()=>{if(!j.current)return;C.current=!0;const t=j.current.innerHTML.trim();if(o){o({id:e,value:{instructions:t?[t]:[],listStyle:m},isValid:!0,errors:{}})}t!==d&&u(t)},[e,m,o,d]),$=n(()=>{if(!j.current)return;const t=j.current.innerHTML.trim();if(o){o({id:e,value:{instructions:t?[t]:[],listStyle:m},isValid:!0,errors:{}})}u(t),C.current=!1},[e,m,o]),T=n((e,t)=>{document.execCommand(e,!1,t),j.current?.focus(),E()},[E]),A=n(()=>{T("bold")},[T]),I=n(()=>{T("italic")},[T]),L=n(e=>{const t=e.target.value;y(t),T("foreColor",t)},[T]),R=n(t=>{if(p(t),!j.current)return;const i=window.getSelection(),n=i&&i.rangeCount>0?i.getRangeAt(0):null;let s=j.current.innerHTML;if("numbers"===t){if(s=s.replace(/<ul>/gi,"<ol>").replace(/<\/ul>/gi,"</ol>"),!s.includes("<ol>")&&!s.includes("<ul>")){const e=s.split(/<br\s*\/?>/i).filter(e=>e.trim());e.length>0&&(s="<ol>"+e.map(e=>`<li>${e}</li>`).join("")+"</ol>")}}else if("bullets"===t){if(s=s.replace(/<ol>/gi,"<ul>").replace(/<\/ol>/gi,"</ul>"),!s.includes("<ol>")&&!s.includes("<ul>")){const e=s.split(/<br\s*\/?>/i).filter(e=>e.trim());e.length>0&&(s="<ul>"+e.map(e=>`<li>${e}</li>`).join("")+"</ul>")}}else s=s.replace(/<\/?[ou]l>/gi,"").replace(/<li>/gi,"<div>").replace(/<\/li>/gi,"</div>");if(j.current.innerHTML=s,u(s),n&&i)try{i.removeAllRanges(),i.addRange(n)}catch(e){}if(E(),o){o({id:e,value:{instructions:s?[s]:[],listStyle:t},isValid:!0,errors:{}})}},[e,E,o]),D=n(e=>{const t=e.target.files?.[0];if(!t||!t.type.startsWith("image/"))return;const i=new FileReader;i.onload=e=>{const t=e.target?.result;if(t&&j.current){const e=document.createElement("img");e.src=t,e.style.maxWidth="100%",e.style.height="auto";const i=window.getSelection();if(i&&i.rangeCount>0){const t=i.getRangeAt(0);t.deleteContents(),t.insertNode(e)}else j.current.appendChild(e);E()}},i.readAsDataURL(t),N.current&&(N.current.value="")},[E]),V=n(e=>{e.preventDefault();const t=e.clipboardData.getData("text/plain"),i=window.getSelection();if(i&&i.rangeCount>0){const e=i.getRangeAt(0);e.deleteContents();const n=document.createTextNode(t);e.insertNode(n),e.setStartAfter(n),e.collapse(!0),i.removeAllRanges(),i.addRange(e)}E()},[E]),F=n(e=>document.queryCommandState(e),[]);return U.jsxs("div",{className:`form-group instruction-group ${l}`,children:[!c&&U.jsx("label",{htmlFor:e,className:"instruction-label",children:"Instructions"}),w?U.jsxs("div",{className:"instruction-rich-editor",children:[U.jsxs("div",{className:"instruction-toolbar",children:[U.jsxs("div",{className:"toolbar-group",children:[U.jsx("button",{type:"button",className:"toolbar-btn "+(F("bold")?"active":""),onClick:A,title:"Bold","aria-label":"Bold",children:U.jsx(f,{size:16})}),U.jsx("button",{type:"button",className:"toolbar-btn "+(F("italic")?"active":""),onClick:I,title:"Italic","aria-label":"Italic",children:U.jsx(b,{size:16})})]}),U.jsx("div",{className:"toolbar-separator"}),U.jsx("div",{className:"toolbar-group",children:U.jsxs("div",{className:"color-picker-wrapper",children:[U.jsx("input",{type:"color",value:h,onChange:L,className:"color-picker-input",title:"Text Color"}),U.jsx("label",{className:"color-picker-label",title:"Text Color",children:U.jsx("span",{style:{color:h},children:"A"})})]})}),U.jsx("div",{className:"toolbar-separator"}),U.jsxs("div",{className:"toolbar-group",children:[U.jsx("button",{type:"button",className:"toolbar-btn "+("bullets"===m?"active":""),onClick:()=>R("bullets"),title:"Bullet List","aria-label":"Bullet List",children:U.jsx(g,{size:16})}),U.jsx("button",{type:"button",className:"toolbar-btn "+("numbers"===m?"active":""),onClick:()=>R("numbers"),title:"Numbered List","aria-label":"Numbered List",children:U.jsx(v,{size:16})})]}),U.jsx("div",{className:"toolbar-separator"}),U.jsxs("div",{className:"toolbar-group",children:[U.jsx("button",{type:"button",className:"toolbar-btn",onClick:()=>N.current?.click(),title:"Insert Image","aria-label":"Insert Image",children:U.jsx(x,{size:16})}),U.jsx("input",{ref:N,type:"file",accept:"image/*",onChange:D,style:{display:"none"}})]})]}),U.jsx("div",{ref:j,contentEditable:!0,className:"instruction-editor-content",onInput:E,onBlur:$,onPaste:V,"data-placeholder":"Enter instructions (press Enter for a new line)...",suppressContentEditableWarning:!0})]}):U.jsx("div",{className:"instruction-preview-wrapper "+("numbers"===m?"instruction-list-numbers":"bullets"===m?"instruction-list-bullets":""),children:d?U.jsx("div",{className:"instruction-preview-content",dangerouslySetInnerHTML:{__html:d}}):U.jsx("div",{className:"instruction-empty",children:U.jsx("p",{children:"No instructions provided"})})})]})},ue=({attachments:e,onRemove:n})=>{const[s,a]=t(new Map);return i(()=>{if(!e)return void a(e=>(e.forEach(e=>URL.revokeObjectURL(e)),new Map));const t=new Map;return e.forEach((e,i)=>{if(e.type.startsWith("image/")){const n=URL.createObjectURL(e);t.set(i,n)}}),a(e=>(e.forEach((e,i)=>{t.has(i)||URL.revokeObjectURL(e)}),t)),()=>{t.forEach(e=>URL.revokeObjectURL(e))}},[e]),e&&0!==e.length?U.jsx("div",{className:"attachment-thumbnails-container",children:e.map((e,t)=>{const i=e.type.startsWith("image/"),a=s.get(t);return U.jsx("div",{className:"attachment-thumbnail",children:i&&a?U.jsxs(U.Fragment,{children:[U.jsx("img",{src:a,alt:e.name}),U.jsx("button",{type:"button",className:"thumbnail-remove-btn",onClick:()=>n(t),title:"Remove attachment",children:U.jsx(o,{size:14})})]}):U.jsxs(U.Fragment,{children:[U.jsx("div",{className:"file-icon-placeholder",children:U.jsx(y,{size:20})}),U.jsx("span",{className:"file-name",children:e.name}),U.jsx("button",{type:"button",className:"thumbnail-remove-btn",onClick:()=>n(t),title:"Remove attachment",children:U.jsx(o,{size:14})})]})},t)})}):null},me=({component:e,mode:s,formTemplateId:r,formValue:o,onNotesChange:l,onAttachmentChange:c,notes:u="",attachments:m=null,onThresholdActionCompletion:p,onThresholdIssueRaised:h,onBasicPropertyActionCompletion:f})=>{const[b,g]=t(u||""),[v,x]=t(m||null),[k,E]=t(!1),[$,T]=t(!1),[A,I]=t(!1),[L,R]=t(!1),[D,V]=t(!1),F=a(null),O=a(o),q=a(!1),M=a(!1);i(()=>{if(!q.current&&null!=u){const e="string"==typeof u?u:String(u||"");g(e),q.current=!0}},[u]),i(()=>{M.current||void 0===m||(x(m),M.current=!0)},[m]),i(()=>{if(q.current&&!k&&null!=u){const e="string"==typeof u?u:String(u||"");b&&""!==String(b||"").trim()&&e===b||g(e)}},[u,k,b]),i(()=>{M.current&&void 0!==m&&(!v||m&&m.length>0&&m!==v)&&x(m)},[m,v]),i(()=>{const t=["select","radio","checkbox","segment"].includes(e.name||"");if(t){const t=O.current,i=o;let n=!1;if("checkbox"===e.name){const e=Array.isArray(t)?t:t?[t]:[],s=Array.isArray(i)?i:i?[i]:[];n=JSON.stringify(e.sort())!==JSON.stringify(s.sort())}else n=t!==i&&void 0!==t;if(n){I(!1),R(!1),T(!1),E(!1),V(!1);const e="string"==typeof u?u:String(u||"");e&&""!==e.trim()?g(e):g(""),m&&0!==m.length?x(m):x(null)}O.current=i}t||(O.current=o)},[o,e.name,u,m]);const _=n((e,t)=>{const{operator:i,value:n}=e,s=String(t).toLowerCase(),a=String(n).toLowerCase();switch(i){case"equals":return s===a||String(t)===String(n);case"notEquals":return s!==a&&String(t)!==String(n);case"greaterThan":return Number(t)>Number(n);case"lessThan":return Number(t)<Number(n);case"greaterThanOrEqual":return Number(t)>=Number(n);case"lessThanOrEqual":return Number(t)<=Number(n);default:return!1}},[]),z=n(()=>{if(!(null!=o&&""!==o&&!(Array.isArray(o)&&0===o.length)))return[];const t=e.condition;if(!t||!t.conditions||0===t.conditions.length)return[];const i=[];if("checkbox"===e.name&&Array.isArray(o))o.forEach(e=>{const n=t.conditions.find(t=>_(t,e));n&&!i.find(e=>e.id===n.id)&&i.push(n)});else{const e=t.conditions.find(e=>_(e,o));e&&i.push(e)}return i},[e,o,_]),P=n(t=>{const i=t.target.value;g(i),l&&l(i);const n=z(),s=String(i||"").trim().length>0;n.forEach(e=>{!0===e.enableNotes&&p&&p(e.id,"notes",s)});const a=e.condition;!(a&&a.conditions&&a.conditions.length>0)&&f&&f("notes",s)},[l,z,p,e,f]),W=n(()=>{if(l&&null!=b){const e="string"==typeof b?b:String(b||"");l(e)}String(b||"").trim().length>0&&E(!1)},[b,l]),B=n(()=>{E(!0)},[]),J=n(()=>{E(!0)},[]),H=n(()=>{F.current?.click()},[]),Y=n(t=>{const i=t.target.files;if(i&&i.length>0){const t=Array.from(i);x(t),c&&c(t);z().forEach(e=>{!0===e.enableAttachment&&p&&p(e.id,"attachments",!0)});const n=e.condition;!(n&&n.conditions&&n.conditions.length>0)&&f&&f("attachments",!0)}F.current&&(F.current.value="")},[c,z,p,e,f]),G=n(t=>{if(v){const i=v.filter((e,i)=>i!==t);if(0===i.length){x(null),c&&c(null);z().forEach(e=>{!0===e.enableAttachment&&p&&p(e.id,"attachments",!1)});const t=e.condition;!(t&&t.conditions&&t.conditions.length>0)&&f&&f("attachments",!1)}else x(i),c&&c(i)}},[v,c,z,p,e,f]),X=n(()=>{I(!0);z().forEach(e=>{!0===e.enableSendEmail&&p&&p(e.id,"email",!0)});const t=e.condition;!(t&&t.conditions&&t.conditions.length>0)&&f&&f("email",!0),setTimeout(()=>{I(!1)},3e3)},[z,p,e,f]),Z=n(()=>{T(!0)},[]),Q=n(()=>{T(!1)},[]),ee=n(()=>{T(!1),R(!0);const t=e.condition;if(t&&t.conditions&&t.conditions.length>0){z().forEach(e=>{!0===e.enableRaiseIssue&&h&&h(e.id)})}else f&&f("issue",!0)},[e,f,z,h]);if("test"!==s)return null;const te=["select","radio","checkbox","segment"].includes(e.name||""),ie=e.basic?.options||e.options||[];let ne=!1,se=!1,ae=!1,re=!1,oe=null;const le=null!=o&&""!==o&&!(Array.isArray(o)&&0===o.length),ce=e.condition,de=ce&&ce.conditions&&ce.conditions.length>0;if(de&&le)if("checkbox"===e.name&&Array.isArray(o)){const e=o;for(const t of e){const e=ce.conditions.find(e=>_(e,t));e&&(ne=ne||!0===e.enableNotes,se=se||!0===e.enableAttachment,ae=ae||!0===e.enableRaiseIssue,re=re||!0===e.enableSendEmail)}}else if(te){const e=ce.conditions.find(e=>_(e,o));e&&(ne=!0===e.enableNotes,se=!0===e.enableAttachment,ae=!0===e.enableRaiseIssue,re=!0===e.enableSendEmail)}else{const e=ce.conditions.find(e=>_(e,o));e&&(ne=!0===e.enableNotes,se=!0===e.enableAttachment,ae=!0===e.enableRaiseIssue,re=!0===e.enableSendEmail)}if(!de){const t=e.basic,i=!0===t?.enableNotes,n=!0===t?.enableAttachment,s=!0===t?.enableRaiseIssue,a=!0===t?.enableSendEmail;if(te)if(le)if("checkbox"===e.name){(Array.isArray(o)?o:[o]).forEach(e=>{const t=ie.find(t=>!(!t||!t.value)&&(t.value===e||(String(t.value)===String(e)||(t.label===e||String(t.label)===String(e)))));t&&(ne=ne||!0===t.enableNotes,se=se||!0===t.enableAttachment,ae=ae||!0===t.enableRaiseIssue,re=re||!0===t.enableSendEmail,oe||(oe=t))}),ne=ne||i,se=se||n,ae=ae||s,re=re||a}else if(oe=ie.find(e=>!(!e||!e.value)&&(e.value===o||(String(e.value)===String(o)||(e.label===o||String(e.label)===String(o))))),oe){const e=!0===oe.enableNotes,t=!0===oe.enableAttachment,r=!0===oe.enableRaiseIssue,o=!0===oe.enableSendEmail;ne=e||i,se=t||n,ae=r||s,re=o||a}else ne=i,se=n,ae=s,re=a;else ne=i,se=n,ae=s,re=a;else ne=i,se=n,ae=s,re=a}if(!(ne||se||ae||re))return null;const me=z(),pe=e.condition,he=pe&&pe.conditions&&pe.conditions.length>0,fe=!!he&&me.some(e=>!0===e.enableNotes),be=!!he&&me.some(e=>!0===e.enableAttachment),ge=!!he&&me.some(e=>!0===e.enableSendEmail),ve=!!he&&me.some(e=>!0===e.enableRaiseIssue),xe=String(b||"").trim().length>0,ye=v&&v.length>0,je=v?v.length:0;return U.jsxs(U.Fragment,{children:[U.jsxs("div",{className:"component-action-features",children:[U.jsxs("div",{className:"action-icons-toolbar",children:[ne&&U.jsxs("button",{type:"button",className:`action-icon-button ${xe?"active":""} ${fe?"mandatory":""}`,onClick:B,title:"Add Notes",children:[U.jsx(d,{size:14,fill:xe?"currentColor":"none"}),fe&&U.jsx("span",{className:"mandatory-indicator",children:"*"})]}),se&&U.jsxs("button",{type:"button",className:`action-icon-button ${ye?"active":""} ${be?"mandatory":""}`,onClick:H,title:"Add Attachment",children:[U.jsx(y,{size:14,fill:ye?"currentColor":"none"}),je>0&&U.jsx("span",{className:"attachment-count-badge",children:je}),be&&U.jsx("span",{className:"mandatory-indicator",children:"*"})]}),re&&U.jsxs("button",{type:"button",className:`action-icon-button ${A?"active sent":""} ${ge?"mandatory":""}`,onClick:X,disabled:A,title:"Send Email",children:[A?U.jsx(U.Fragment,{children:U.jsx(j,{size:14})}):U.jsx(N,{size:14,fill:A?"currentColor":"none"}),ge&&U.jsx("span",{className:"mandatory-indicator",children:"*"})]}),ae&&U.jsxs("button",{type:"button",className:`action-icon-button ${L?"active":""} ${ve?"mandatory":""}`,onClick:Z,title:"Raise an Issue",children:[U.jsx(C,{size:14,fill:L?"currentColor":"none"}),ve&&U.jsx("span",{className:"mandatory-indicator",children:"*"})]}),(xe&&ne||ye&&se)&&U.jsx("button",{type:"button",className:"action-icon-button accordion-toggle",onClick:()=>V(!D),title:D?"Collapse":"Expand",children:D?U.jsx(w,{size:14}):U.jsx(S,{size:14})})]}),k&&ne&&U.jsx("div",{className:"notes-input-overlay",children:U.jsx("textarea",{className:"action-notes-textarea",value:b,onChange:P,onBlur:W,placeholder:"Explain which protocols were not followed",rows:4,autoFocus:!0})}),D&&U.jsxs("div",{className:"actions-content",children:[!k&&xe&&ne&&U.jsx("div",{className:"notes-summary-section",children:U.jsxs("div",{className:"notes-full-text",onClick:J,children:[U.jsx("span",{className:"notes-label",children:"Notes:"})," ",b]})}),ye&&se&&U.jsx("div",{className:"attachments-section",children:U.jsx(ue,{attachments:v,onRemove:G})})]}),se&&U.jsx("input",{ref:F,type:"file",multiple:!0,accept:"image/*,.pdf",onChange:Y,style:{display:"none"}})]}),$&&r&&U.jsx(K,{isOpen:$,onClose:Q,onSuccess:ee,component:oe?{...e,basic:{...e.basic,label:`${e.basic?.label||"Component"} - ${oe.label||oe.value}`,value:oe.value||e.basic?.value||""}}:e,formTemplateId:r,notes:b,attachments:v})]})},pe=({attachments:e})=>e&&0!==e.length?U.jsx("div",{className:"attachment-thumbnails-container",children:e.map((e,t)=>{const i=e.type?.startsWith("image/")||!1,n=i?(e=>e.data?e.data.startsWith("data:")?e.data:`data:${e.type||"image/png"};base64,${e.data}`:"")(e):"";return U.jsx("div",{className:"attachment-thumbnail",children:i&&n?U.jsx("img",{src:n,alt:e.name||`Attachment ${t+1}`}):U.jsxs("div",{className:"file-icon-placeholder",children:[U.jsx(y,{size:20}),U.jsx("span",{className:"file-name",children:e.name||`File ${t+1}`})]})},t)})}):null,he=({component:e})=>{const t=e.basic?.notes||"",i=e.basic?.attachments||[],n=t&&t.trim().length>0,s=i&&i.length>0;return n||s?U.jsx("div",{className:"component-submission-actions",children:U.jsxs("div",{className:"actions-content",children:[n&&U.jsx("div",{className:"notes-summary-section",children:U.jsxs("div",{className:"notes-full-text",children:[U.jsx("span",{className:"notes-label",children:"Notes:"})," ",t]})}),s&&U.jsx("div",{className:"attachments-section",children:U.jsx(pe,{attachments:i})})]})}):null},fe=({child:e,selectedChild:t,mode:i,onChildSelect:n,onChildDelete:s,renderFormComponent:a,isOverlay:r=!1,isChildrenEditMode:o=!1,formData:l={},formTemplateId:c,onThresholdActionCompletion:d,onThresholdIssueRaised:u,onNotesChange:m,onAttachmentChange:p})=>{const h=l[e.id],f="preview"===i&&(e.basic?.notes&&e.basic.notes.trim().length>0||e.basic?.attachments&&Array.isArray(e.basic.attachments)&&e.basic.attachments.length>0),{attributes:b,listeners:g,setNodeRef:v,transform:x,transition:y,isDragging:j,isSorting:N}=F({id:e.id,disabled:r||"edit"!==i}),C={transform:q.Transform.toString(x),transition:y,opacity:j?.3:1,zIndex:j?1e3:"auto"};return U.jsxs("div",{ref:v,style:C,className:`form-component section-child ${t?.id===e.id?"selected":""} ${j?"dragging":""} ${N?"sorting":""} ${o?"children-edit-active":""}`,onClick:()=>!j&&n(e),role:"button",tabIndex:0,children:[("edit"===i||o)&&U.jsx("div",{className:"child-drag-handle",...g,...b,onClick:e=>e.stopPropagation(),onMouseDown:e=>e.stopPropagation(),children:U.jsx(E,{size:14})}),U.jsxs("div",{className:"form-component-content section-child-content",children:[("edit"===i||o)&&U.jsxs("div",{className:"component-actions child-actions",children:[U.jsx("button",{className:"btn edit-btn",onClick:t=>{t.stopPropagation(),n(e)},onMouseDown:e=>e.stopPropagation(),title:"Edit properties",children:U.jsx($,{size:12})}),U.jsx("button",{className:"btn delete-btn",onClick:t=>s(e,t),onMouseDown:e=>e.stopPropagation(),title:"Delete component",children:U.jsx(T,{size:12})})]}),U.jsxs("div",{className:"component-preview child-preview",children:[a(e),"test"===i&&!["section","table","heading","file","instructions","signature","location","datagrid"].includes(e.name)&&U.jsx(me,{component:e,mode:"test",formTemplateId:c,formValue:h,onThresholdActionCompletion:d,onThresholdIssueRaised:u,onNotesChange:m?t=>m(e.id,t):void 0,onAttachmentChange:p?t=>p(e.id,t):void 0}),f&&U.jsx(he,{component:e})]})]})]})},be=({id:e,properties:s,mode:a="edit",formData:r={},onValueChange:o,onSelect:l,isSelected:c=!1,className:d="",onSectionSelect:u,onChildSelect:m,onChildDelete:p,selectedChild:h,renderFormComponent:f,formTemplateId:b,onThresholdActionCompletion:g,onThresholdIssueRaised:v,onNotesChange:x,onAttachmentChange:y})=>{const[j,N]=t(s.basic.collapsed),[C,w]=t(!1),[E,$]=t(!1),[T,A]=t(s.basic.label),[I,L]=t(s.basic.description),[F,O]=t(s.children||[]),[q,M]=t(!1);i(()=>{O(s.children||[])},[s.children]),i(()=>{A(s.basic.label),L(s.basic.description)},[s.basic.label,s.basic.description]);const{setNodeRef:_,isOver:z}=R({id:`section-${e}`,disabled:"edit"!==a}),P=!("preview"!==a&&"test"!==a||s.children&&s.children.length>0),W=n(t=>{A(t),o?.({id:e,value:{...s,basic:{...s.basic,label:t}}})},[e,s,o]),B=n(t=>{L(t),o?.({id:e,value:{...s,basic:{...s.basic,description:t}}})},[e,s,o]),J=n(e=>{m?.(e)},[m]),H=n((e,t)=>{t.stopPropagation();const i=F.filter(t=>t.id!==e.id);O(i),p?.(e.id)},[p,F,e]),Y=n(()=>{u?.(s),l?.()},[u,l,s]),G=n(e=>{e.stopPropagation(),"edit"===a&&F.length>0&&M(!q)},[a,F.length,q]),X=n(t=>{t.stopPropagation(),N(!j),o?.({id:e,value:{...s,basic:{...s.basic,collapsed:!j}}})},[j,e,s,o]),K=f||n(e=>{const t={id:e.id,properties:e,validationErrors:{},formValue:"test"===a?r[e.id]||"defaultValue"in e.basic&&e.basic.defaultValue||"":"defaultValue"in e.basic&&e.basic.defaultValue||"",touchedFields:{},formSubmitted:!1,mode:a,onValueChange:o,onBlur:()=>{},onFocus:()=>{}};switch(e.name){case"text-input":case"email-input":case"number-input":return U.jsx(Q,{...t,properties:e,inputType:"text-input"===e.name?"text":"number-input"===e.name?"number":"email",readonly:"edit"===a||"preview"===a,disabled:"preview"===a});case"textarea":return U.jsx(ee,{...t,properties:e,readonly:"edit"===a||"preview"===a,disabled:"preview"===a});case"select":const i={...e,options:e.basic?.options||[]};return U.jsx(te,{...t,properties:i,disabled:"edit"===a||"preview"===a});case"checkbox":const n={...e,options:e.basic?.options||[]};return U.jsx(ie,{...t,properties:n,formValue:[],disabled:"edit"===a||"preview"===a});case"radio":const s={...e,options:e.basic?.options||[]};return U.jsx(ne,{...t,properties:s,readonly:"edit"===a||"preview"===a,disabled:"edit"===a||"preview"===a});case"date":case"date-picker":case"datetime-picker":return U.jsx(ae,{...t,properties:e,readonly:"edit"===a||"preview"===a,disabled:"preview"===a});case"signature":return U.jsx(re,{...t,properties:e});case"heading":return U.jsx(ce,{...t,properties:e});default:return U.jsx("div",{className:"form-group",children:U.jsxs("div",{className:"form-group-label",children:["Unsupported Component: ",e.name]})})}},[a,o,r]);if(P)return null;const Z={backgroundColor:s.styles.backgroundColor,borderColor:s.styles.borderColor,borderWidth:s.styles.borderWidth,borderRadius:s.styles.borderRadius,padding:s.styles.padding,margin:s.styles.margin};return U.jsxs("div",{ref:_,className:`df-form-section ${c?"selected":""} ${z?"drag-over":""} ${d}`,style:Z,children:[U.jsxs("div",{className:"section-header "+(q?"children-edit-mode":""),onClick:Y,onDoubleClick:G,children:[U.jsx("div",{className:"section-header-content",children:U.jsxs("div",{className:"section-title",children:[U.jsx("span",{className:"section-toggle",title:j?"Expand section":"Collapse section",role:"button",tabIndex:0,onClick:e=>{e.stopPropagation(),X(e)},onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),X(e))},style:{marginRight:"8px",display:"inline-flex",alignItems:"center"},children:j?U.jsx(k,{size:18}):U.jsx(S,{size:18})}),"edit"===a&&C?U.jsx("input",{type:"text",value:T,onChange:e=>A(e.target.value),onBlur:()=>{w(!1),W(T)},onKeyDown:e=>{"Enter"===e.key&&(w(!1),W(T))},className:"section-title-input",autoFocus:!0}):U.jsx("h3",{className:"section-title-text",onDoubleClick:()=>"edit"===a&&w(!0),style:{display:"inline",margin:0},children:T||"Untitled Section"})]})}),(I||"edit"===a)&&U.jsx("div",{className:"section-description",children:"edit"===a&&E?U.jsx("textarea",{value:I,onChange:e=>L(e.target.value),onBlur:()=>{$(!1),B(I)},onKeyDown:e=>{"Enter"===e.key&&e.ctrlKey&&($(!1),B(I))},className:"section-description-input",placeholder:"Section description (optional)",autoFocus:!0}):U.jsx("p",{className:"section-description-text",onDoubleClick:()=>"edit"===a&&$(!0),children:I||"Section description"})})]}),!j&&U.jsx("div",{className:`section-content ${z?"drag-over":""} ${0===F.length?"empty":"has-children"}`,onClick:e=>{e.target===e.currentTarget&&Y()},children:U.jsx(D,{items:F.map(e=>e.id),strategy:V,children:0===F.length?U.jsxs("div",{className:"section-empty-state",onClick:Y,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:[U.jsx("div",{style:{fontWeight:"500",color:z?"#3b82f6":"#374151"},children:z?"Drop components here":"Empty Section"}),U.jsx("div",{style:{fontSize:"12px",color:"#9ca3af"},children:"Drag and drop components here to create your section"})]}):F.map(e=>U.jsx(fe,{child:e,selectedChild:h||null,mode:a,onChildSelect:J,onChildDelete:H,renderFormComponent:K,isChildrenEditMode:q,formData:r,formTemplateId:b,onNotesChange:x,onAttachmentChange:y,onThresholdActionCompletion:g,onThresholdIssueRaised:v},e.id))})})]})},ge=({component:e,selectedComponent:t,mode:i,onComponentSelect:n,onComponentDelete:s,onComponentEdit:a,renderFormComponent:r,isOverlay:o=!1,formData:l={},formTemplateId:c,onThresholdActionCompletion:d,onThresholdIssueRaised:u,onNotesChange:m,onAttachmentChange:p})=>{const h=l[e.id],f="preview"===i&&(e.basic?.notes&&e.basic.notes.trim().length>0||e.basic?.attachments&&Array.isArray(e.basic.attachments)&&e.basic.attachments.length>0),{attributes:b,listeners:g,setNodeRef:v,transform:x,transition:y,isDragging:j,isSorting:N}=F({id:e.id,disabled:o}),C={transform:q.Transform.toString(x),transition:y,opacity:j?.3:1,zIndex:j?1e3:"auto"};return U.jsxs("div",{ref:v,style:{...C,border:t?.id===e.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:t?.id===e.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 ${t?.id===e.id?"selected":""} ${j?"dragging":""} ${N?"sorting":""}`,onClick:()=>!j&&n(e),role:"button",tabIndex:0,children:["edit"===i&&U.jsx("div",{className:"component-drag-handle",...g,...b,onClick:e=>e.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:U.jsx(E,{size:12,color:"var(--df-color-text-light)"})}),U.jsxs("div",{className:"component-content",style:{paddingTop:"edit"===i?"24px":"0",paddingLeft:"edit"===i?"28px":"0",minHeight:"60px"},children:[r(e),"test"===i&&!["section","table","heading","file","instructions","signature","location","datagrid"].includes(e.name)&&U.jsx(me,{component:e,mode:"test",formTemplateId:c,formValue:h,onThresholdActionCompletion:d,onThresholdIssueRaised:u,onNotesChange:m?t=>m(e.id,t):void 0,onAttachmentChange:p?t=>p(e.id,t):void 0}),f&&U.jsx(he,{component:e})]}),"edit"===i&&U.jsxs("div",{className:"component-actions",style:{position:"absolute",top:"4px",right:"4px",display:"flex",gap:"4px",opacity:1,zIndex:10},children:[a&&U.jsx("button",{className:"component-edit-btn",onClick:t=>{t.stopPropagation(),a(e)},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:e=>{e.currentTarget.style.backgroundColor="#2563eb"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="#3b82f6"},children:U.jsx($,{size:12})}),U.jsx("button",{className:"component-delete-btn",onClick:t=>{t.stopPropagation(),s(e,t)},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:e=>{e.currentTarget.style.backgroundColor="#dc2626"},onMouseLeave:e=>{e.currentTarget.style.backgroundColor="#ef4444"},children:U.jsx(T,{size:12})})]})]})},ve=({gridComponents:e,mode:t,onComponentSelect:i,onComponentDelete:n,onComponentEdit:s,onComponentUpdate:a,selectedComponent:r,renderFormComponent:o,gridId:l,formData:c={},formTemplateId:d,onThresholdActionCompletion:u,onThresholdIssueRaised:m,onNotesChange:p,onAttachmentChange:h})=>{const{setNodeRef:f,isOver:b}=R({id:`grid-drop-zone-${l}`,disabled:"edit"!==t});return U.jsx("div",{ref:f,className:"grid-drop-zone",style:{border:b?"2px dashed #3b82f6":"2px dashed #d1d5db",borderRadius:"8px",padding:"16px",backgroundColor:b?"var(--df-color-primary-light)":"var(--df-color-fb-container)",minHeight:"120px",transition:"all 0.2s ease",position:"relative"},children:e.length>0?U.jsxs(U.Fragment,{children:[U.jsx(D,{items:e.map(e=>e.id),strategy:O,children:U.jsx("div",{style:{display:"flex",flexDirection:"row",flexWrap:"nowrap",gap:"12px",alignItems:"start",marginBottom:e.length>0?"12px":"0",overflowX:"auto",width:"100%"},children:e.map(e=>U.jsx("div",{style:{flex:"1 1 0",minWidth:"200px",maxWidth:"100%"},children:U.jsx(ge,{component:e,selectedComponent:r,mode:t,onComponentSelect:i,onComponentDelete:n,onComponentEdit:s,onComponentUpdate:a,renderFormComponent:o,formData:c,formTemplateId:d,onThresholdActionCompletion:u,onThresholdIssueRaised:m,onNotesChange:p,onAttachmentChange:h})},e.id))})}),U.jsx("div",{style:{border:b?"2px dashed #3b82f6":"1px dashed var(--df-color-fb-border)",borderRadius:"6px",padding:"12px",backgroundColor:b?"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"},children:b?U.jsx("span",{style:{color:"#3b82f6",fontWeight:"500"},children:"Drop component here to add to grid"}):U.jsx("span",{children:"+ Drop more components here"})})]}):U.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:[U.jsx("div",{style:{fontWeight:"500",color:b?"var(--df-color-primary)":"var(--df-color-text-dark)"},children:b?"Drop components here":"Empty DataGrid"}),U.jsx("div",{style:{fontSize:"12px",color:"#9ca3af"},children:"Drag and drop components here to create your grid"})]})})},xe=({templateComponents:e,dataEntries:t,renderFormComponent:i,mode:n="preview",allowAddRemoveEntries:s=!0,addAnotherText:a="Add Another",removeText:r="Remove",maxEntries:o=10,minEntries:l=1,displayAsGrid:c=!0,onAddEntry:d,onRemoveEntry:u,formData:m={},formTemplateId:p,onThresholdActionCompletion:h,onThresholdIssueRaised:f,onNotesChange:b,onAttachmentChange:g})=>0===e.length?U.jsxs("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:["No components defined. Add components to see the ",c?"table":"list"," view."]}):c?U.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:[U.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:e.length>4?1:0,transition:"opacity 0.2s ease"},children:"← Scroll →"}),U.jsxs("div",{className:"table-scroll-container",style:{overflowX:"auto",overflowY:"hidden",maxWidth:"100%",scrollbarWidth:"thin",scrollbarColor:"var(--df-color-fb-border) var(--df-color-fb-icon-bg)",position:"relative"},children:[U.jsx("div",{className:"table-headers",style:{display:"grid",gridTemplateColumns:`repeat(${e.length}, minmax(150px, 1fr))`,backgroundColor:"var(--df-color-fb-container)",borderBottom:"2px solid var(--df-color-fb-border)",minWidth:150*e.length+"px"},children:e.map((t,i)=>U.jsx("div",{style:{padding:"12px 16px",fontWeight:"600",color:"var(--df-color-text-dark)",borderRight:i<e.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 ${i+1}`},`header-${t.id}`))}),t.length>0?t.map((a,o)=>U.jsxs("div",{className:"table-row",style:{display:"grid",gridTemplateColumns:`repeat(${e.length}, minmax(150px, 1fr))`,borderBottom:o<t.length-1?"1px solid var(--df-color-fb-border)":"none",backgroundColor:o%2==0?"var(--df-color-fb-container)":"var(--df-color-fb-bg)",position:"relative",minWidth:150*e.length+"px"},children:[e.map((t,n)=>{let s=a.components?.[n];if(s)s={...s,id:s.id,basic:{...s.basic,showLabel:!1}};else{const e=`${t.id}-entry-${o}-${n}`;s={...t,id:e,basic:{...t.basic,showLabel:!1}}}return U.jsx("div",{style:{padding:"12px 16px",borderRight:n<e.length-1?"1px solid var(--df-color-fb-border)":"none",minHeight:"60px",minWidth:"150px",display:"flex",alignItems:"center",overflow:"hidden"},children:U.jsx("div",{style:{width:"100%",minWidth:"120px",overflow:"hidden"},children:i(s,!0)})},`${a.id}-${n}`)}),"test"===n&&s&&t.length>l&&U.jsx("button",{onClick:()=>u?.(o),disabled:t.length<=l,style:{position:"absolute",top:"8px",right:"8px",padding:"4px 8px",backgroundColor:t.length<=l?"#f3f4f6":"#ef4444",color:t.length<=l?"#9ca3af":"#ffffff",border:"none",borderRadius:"4px",fontSize:"12px",fontWeight:"500",cursor:t.length<=l?"not-allowed":"pointer",display:"flex",alignItems:"center",gap:"4px",zIndex:10,minWidth:"24px",height:"24px",justifyContent:"center"},title:r,children:U.jsx("span",{style:{fontSize:"14px"},children:"×"})})]},a.id)):U.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&&s?'Click "Add Another" to add entries.':"Use the properties panel to add entries."]})]}),"test"===n&&s&&U.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:U.jsxs("button",{onClick:d,disabled:t.length>=o,style:{padding:"8px 16px",backgroundColor:t.length>=o?"#f3f4f6":"#10b981",color:t.length>=o?"#9ca3af":"#ffffff",border:"none",borderRadius:"6px",fontSize:"14px",fontWeight:"500",cursor:t.length>=o?"not-allowed":"pointer",display:"flex",alignItems:"center",gap:"6px"},children:[U.jsx("span",{style:{fontSize:"16px"},children:"+"}),a]})})]}):U.jsxs("div",{className:"datagrid-list-view",style:{display:"flex",flexDirection:"column",gap:"12px",backgroundColor:"var(--df-color-fb-container)"},children:[t.length>0?t.map((a,o)=>U.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:[U.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"12px",paddingBottom:"8px",borderBottom:"1px solid var(--df-color-fb-border)"},children:[U.jsxs("span",{style:{fontWeight:"600",color:"var(--df-color-text-dark)",fontSize:"14px"},children:["Entry #",o+1]}),"test"===n&&s&&t.length>1&&U.jsx("button",{onClick:()=>u?.(o),disabled:t.length<=l,style:{padding:"4px 8px",backgroundColor:t.length<=l?"#f3f4f6":"#ef4444",color:t.length<=l?"#9ca3af":"#ffffff",border:"none",borderRadius:"4px",fontSize:"12px",fontWeight:"500",cursor:t.length<=l?"not-allowed":"pointer",display:"flex",alignItems:"center",gap:"4px",minWidth:"24px",height:"24px",justifyContent:"center"},title:r,children:U.jsx("span",{style:{fontSize:"14px"},children:"×"})})]}),U.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:"16px"},children:e.map((e,t)=>{let s=a.components?.[t];if(s||(s=a.components?.find(t=>t.name===e.name&&t.basic?.label===e.basic?.label)),s)s={...s,id:s.id,basic:{...s.basic,showLabel:!1}};else{const i=`${e.id}-entry-${o}-${t}`;s={...e,id:i,basic:{...e.basic,showLabel:!1}}}return U.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[U.jsx("label",{style:{fontSize:"12px",fontWeight:"500",color:"var(--df-color-text-light)",textTransform:"uppercase",letterSpacing:"0.05em"},children:e.basic?.label||`Field ${t+1}`}),U.jsxs("div",{style:{minHeight:"40px",display:"flex",alignItems:"center",flexDirection:"column",width:"100%"},children:[i(s),"test"===n&&!["section","table","heading","file","instructions","signature","location","datagrid"].includes(s.name)&&U.jsx(me,{component:s,mode:"test",formTemplateId:p,formValue:m[s.id],onThresholdActionCompletion:h,onThresholdIssueRaised:f,onNotesChange:b?e=>b(s.id,e):void 0,onAttachmentChange:g?e=>g(s.id,e):void 0}),"preview"===n&&(s.basic?.notes&&s.basic.notes.trim().length>0||s.basic?.attachments&&Array.isArray(s.basic.attachments)&&s.basic.attachments.length>0?U.jsx(he,{component:s}):null)]})]},`${a.id}-${t}`)})})]},a.id)):U.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&&s?'Click "Add Another" to add entries.':"Use the properties panel to add entries."]}),"test"===n&&s&&U.jsx("div",{style:{padding:"16px",backgroundColor:"#f8f9fa",border:"1px solid var(--df-color-fb-border)",borderRadius:"8px",display:"flex",justifyContent:"center"},children:U.jsxs("button",{onClick:d,disabled:t.length>=o,style:{padding:"8px 16px",backgroundColor:t.length>=o?"#f3f4f6":"#10b981",color:t.length>=o?"#9ca3af":"#ffffff",border:"none",borderRadius:"6px",fontSize:"14px",fontWeight:"500",cursor:t.length>=o?"not-allowed":"pointer",display:"flex",alignItems:"center",gap:"8px",transition:"all 0.2s ease"},onMouseEnter:e=>{t.length<o&&(e.currentTarget.style.backgroundColor="#059669")},onMouseLeave:e=>{t.length<o&&(e.currentTarget.style.backgroundColor="#10b981")},children:[U.jsx("span",{children:"+"}),a]})})]}),ye=({id:e,properties:s,mode:r="edit",formData:o={},validationErrors:l={},touchedFields:c={},formSubmitted:d=!1,onValueChange:u,onSelect:m,isSelected:p=!1,className:h="",onDataGridSelect:f,onComponentSelect:b,onComponentDelete:g,onComponentEdit:v,onComponentUpdate:x,selectedComponent:y,renderFormComponent:j,onEntryAdd:N,onEntryRemove:C,formTemplateId:w,onThresholdActionCompletion:E,onThresholdIssueRaised:$,onNotesChange:T,onAttachmentChange:I})=>{const[L,R]=t(!1),D=a(!1);let V=s.templateComponents||[];const F=s.entries||[];0===V.length&&F.length>0&&F[0].components&&(V=F[0].components.map(e=>({...e,id:e.id?.replace(/-entry-\d+$/,"")||e.id,basic:{...e.basic,showLabel:!0}}))),i(()=>{if("edit"===r&&!s.templateComponents&&u&&D.current){const t={...s,templateComponents:[]};JSON.stringify(t)!==JSON.stringify(s)&&u({id:e,value:t})}D.current=!0},[s.templateComponents,e,u,s,r]),i(()=>{if(V.length>0){if("test"===r&&0===F.length&&D.current){const t={id:`entry-${e}-0`,index:0,components:V.map((e,t)=>({...e,id:`${e.id}-entry-0-${t}`,basic:{...e.basic,showLabel:!1}})),styles:{}};if(u){const i={...s,entries:[t]};JSON.stringify(i)!==JSON.stringify(s)&&u({id:e,value:i})}return}if("edit"!==r||!D.current)return;if(F.some(e=>e.components?.some((t,i)=>{const n=`${V[i]?.id}-entry-${e.index}-${i}`;return t.id!==n}))&&u){const t=F.map(e=>({...e,components:e.components?.map((t,i)=>({...t,id:`${V[i]?.id}-entry-${e.index}-${i}`}))||[]})),i={...s,entries:t};return void(JSON.stringify(i)!==JSON.stringify(s)&&u({id:e,value:i}))}if(0===F.length&&"edit"===r){const t={id:`entry-${e}-0`,index:0,components:V.map((e,t)=>({...e,id:`${e.id}-entry-0-${t}`,basic:{...e.basic,showLabel:!1}})),styles:{}};if(u){const i={...s,entries:[t]};JSON.stringify(i)!==JSON.stringify(s)&&u({id:e,value:i})}}else if(F.length>0){if(F.some(e=>V.some((t,i)=>{const n=e.components?.[i];if(!n)return!0;const s=`${t.id}-entry-${e.index}-${i}`,a=n.id===s,r=JSON.stringify(n.basic?.options)!==JSON.stringify(t.basic?.options)||n.basic?.placeholder!==t.basic?.placeholder||n.basic?.defaultValue!==t.basic?.defaultValue||n.basic?.label!==t.basic?.label||n.validation?.required!==t.validation?.required;return!a||r}))&&u){const t=F.map(e=>{const t=V.map((t,i)=>{let n=e.components?.[i];n||(n=e.components?.find(e=>e.name===t.name&&e.basic?.label===t.basic?.label));const s=`${t.id}-entry-${e.index}-${i}`;if(n){return{...t,id:s,basic:{...t.basic,showLabel:!1,value:n.basic?.value||t.basic?.defaultValue||""}}}return{...t,id:s,basic:{...t.basic,showLabel:!1}}});return{...e,components:t}}),i={...s,entries:t};JSON.stringify(i)!==JSON.stringify(s)&&u({id:e,value:i})}}}},[V,F,e,u,s,r,s.templateComponents]);const O=n(e=>{e.stopPropagation(),m?.(),f?.(s)},[m,f,s]),q=n((t,i)=>{i.stopPropagation(),g&&g(t,i);const n=V.filter(e=>e.id!==t.id),a=F.map(e=>({...e,components:e.components?.filter(e=>!(e.name===t.name&&e.basic?.label===t.basic?.label))||[]}));u&&u({id:e,value:{...s,templateComponents:n,entries:a}})},[g,s,u,e,V,F]),M=n((t,i)=>{x&&x(t,i);const n=V.map(e=>e.id===t?{...e,...i}:e);u&&u({id:e,value:{...s,templateComponents:n}})},[x,s,u,e,V]),_=n(e=>{"test"===r&&u&&u({id:e.id,value:e.value})},[r,u]),z=n(()=>{if(0===V.length)return void console.warn("Cannot add entry: No template components defined");const t=s.entries||[],i=t.length,n={id:`entry-${e}-${i}`,index:i,components:V.map((e,t)=>({...e,id:`${e.id}-entry-${i}-${t}`,basic:{...e.basic,showLabel:!1}})),styles:{}},a=[...t,n];u&&u({id:e,value:{...s,entries:a}}),N?.()},[s,u,e,N,V]),P=n(t=>{const i=s.entries.filter((e,i)=>i!==t).map((t,i)=>({...t,index:i,id:`entry-${e}-${i}`}));u&&u({id:e,value:{...s,entries:i}})},[s,u,e,C]),W=n((e,t=!1)=>{const i="test"===r?o[e.id]||"defaultValue"in e.basic&&e.basic.defaultValue||"":"defaultValue"in e.basic&&e.basic.defaultValue||"",n={id:e.id,properties:e,validationErrors:l||{},formValue:i,touchedFields:c||{},formSubmitted:d||!1,mode:r,hideLabel:t,onValueChange:_,onBlur:()=>{},onFocus:()=>{}};switch(e.name){case"text-input":case"email-input":case"number-input":return U.jsx(Q,{...n,properties:e,inputType:"text-input"===e.name?"text":"number-input"===e.name?"number":"email",readonly:"edit"===r||"preview"===r,disabled:"preview"===r,hideLabel:t});case"textarea":return U.jsx(ee,{...n,properties:e,readonly:"edit"===r||"preview"===r,disabled:"preview"===r,hideLabel:t});case"select":const i={...e,options:e.basic?.options||[]};return U.jsx(te,{...n,properties:i,disabled:"edit"===r||"preview"===r,hideLabel:t});case"checkbox":const s={...e,options:e.basic?.options||[]};return U.jsx(ie,{...n,properties:s,formValue:[],disabled:"edit"===r||"preview"===r,hideLabel:t});case"radio":const a={...e,options:e.basic?.options||[]};return U.jsx(ne,{...n,properties:a,readonly:"edit"===r||"preview"===r,disabled:"edit"===r||"preview"===r,hideLabel:t});case"date":case"date-picker":case"datetime-picker":return U.jsx(ae,{...n,properties:e,readonly:"edit"===r||"preview"===r,disabled:"preview"===r,hideLabel:t});case"signature":return U.jsx(re,{...n,properties:e,hideLabel:t});case"heading":return U.jsx(ce,{...n,properties:e,hideLabel:t});case"instructions":return U.jsx(de,{...n,properties:e,hideLabel:t});default:return U.jsxs("div",{className:"unknown-component",children:["Unknown component: ",e.name]})}},[r,_]),B={backgroundColor:s.styles.backgroundColor||"var(--df-color-fb-container)",borderColor:s.styles.borderColor||"var(--df-color-fb-border)",borderWidth:s.styles.borderWidth||"2px",borderRadius:s.styles.borderRadius||"8px",padding:s.styles.padding||"16px",margin:s.styles.margin||"16px 0"};return U.jsxs("div",{className:`form-group df-form-datagrid ${p?"selected":""} ${h}`,onClick:O,style:B,children:[U.jsx("div",{className:"grid-header",children:U.jsx("div",{className:"grid-title",onClick:t=>{t.stopPropagation(),R(!L),u?.({id:e,value:{...s,basic:{...s.basic,collapsed:!L}}})},children:U.jsxs("div",{className:"title-content",style:{display:"flex",alignItems:"center",gap:"8px"},children:[L?U.jsx(k,{size:16}):U.jsx(S,{size:16}),U.jsx(A,{size:16}),U.jsx("span",{className:"grid-label",style:{fontWeight:"600"},children:s.basic.label}),s.validation.required&&U.jsx("span",{className:"required-indicator",style:{color:"#ef4444"},children:"*"})]})})}),s.basic.description&&!L&&U.jsx("div",{className:"grid-description",style:{marginTop:"8px",color:"var(--df-color-text-light)",fontSize:"14px"},children:s.basic.description}),!L&&U.jsx("div",{className:"grid-content",style:{marginTop:"16px"},children:"edit"===r?U.jsx(ve,{gridComponents:V,mode:r,onComponentSelect:b||(()=>{}),onComponentDelete:q,onComponentEdit:v,onComponentUpdate:M,selectedComponent:y||null,renderFormComponent:j||W,gridId:e,formData:o,formTemplateId:w,onThresholdActionCompletion:E,onThresholdIssueRaised:$,onNotesChange:T,onAttachmentChange:I}):U.jsx(xe,{templateComponents:V,dataEntries:F,renderFormComponent:j||W,mode:r,allowAddRemoveEntries:s.datagrid?.allowAddRemoveEntries??!0,addAnotherText:s.datagrid?.addAnotherText??"Add Entry",removeText:s.datagrid?.removeText??"Remove",maxEntries:s.datagrid?.maxEntries??10,minEntries:s.datagrid?.minEntries??1,displayAsGrid:s.datagrid?.displayAsGrid??!0,onAddEntry:N||z,onRemoveEntry:C||P,formData:o,formTemplateId:w,onThresholdActionCompletion:E,onThresholdIssueRaised:$,onNotesChange:T,onAttachmentChange:I})})]})},je=e.lazy(()=>Promise.resolve().then(function(){return Ae})),Ne=({formComponents:s=[],currentDevice:a="desktop",isPreviewMode:r=!1,initialFormData:o=[],onSubmit:l,onFormDataChange:c,formTitle:d,formDescription:u,formTemplateId:m,onComponentSelect:p,onComponentDelete:h,onComponentEdit:f,onComponentUpdate:b,selectedComponent:g})=>{const[v,x]=t({}),[y,j]=t({}),[N,C]=t(!1),[w,S]=t({}),[k,E]=t({}),[$,T]=t(new Set),[A,I]=t(new Map),[L,R]=t({isValid:!0});i(()=>{V()},[s,o]);const D=(e,t)=>{e.forEach(e=>{if(e.id&&("value"in e.basic&&void 0!==e.basic.value?t[e.id]=e.basic.value:"defaultValue"in e.basic&&void 0!==e.basic.defaultValue?t[e.id]=e.basic.defaultValue:"checkbox"===e.name||"select"===e.name?t[e.id]=[]:t[e.id]=""),e.cells&&Array.isArray(e.cells)&&e.cells.forEach((e,i)=>{Array.isArray(e)&&e.forEach((e,i)=>{e&&e.components&&Array.isArray(e.components)&&D(e.components,t)})}),e.entries&&Array.isArray(e.entries)&&e.entries.forEach((e,i)=>{e&&e.components&&Array.isArray(e.components)&&D(e.components,t)}),"file"===e.name&&e.basic){const i=e.basic.files||e.basic.attachments||e.basic.value;i&&(t[e.id]=i)}"instructions"===e.name&&e.basic&&(e.basic.instructions||(e.basic.instructions=[])),e.children&&Array.isArray(e.children)&&D(e.children,t)})},V=n(()=>{const e={};o&&o.length>0&&D(o,e),s&&s.length>0&&D(s,e),x(e),O()},[o,s]),F=(e,t)=>{e.forEach(e=>{if(e.id)if("table"===e.name||"datagrid"===e.name)t[e.id]=!0;else if(e.conditional){const i=H.evaluateConditionalLogic(e.conditional,s,v);t[e.id]=i.shouldShow}else t[e.id]=!0;e.cells&&Array.isArray(e.cells)&&e.cells.forEach(e=>{e.forEach(e=>{e.components&&Array.isArray(e.components)&&F(e.components,t)})}),e.entries&&Array.isArray(e.entries)&&e.entries.forEach(e=>{e.components&&Array.isArray(e.components)&&F(e.components,t)}),e.children&&Array.isArray(e.children)&&F(e.children,t)})},O=n(()=>{const e={};s&&s.length>0&&F(s,e),E(e)},[s,v]),q=n(e=>{const t=s.find(t=>t.id===e);if(t&&("table"===t.name||"datagrid"===t.name))return!0;return!1!==k[e]},[k,s]),M=n(e=>{const t={...v,[e.id]:e.value};x(t);const i=s.find(t=>t.id===e.id);if(i){const e=i?.threshold;e&&e.conditions&&e.conditions.length>0&&T(t=>{const i=new Set(t);return e.conditions.forEach(e=>{i.delete(e.id)}),i})}const n=t=>t.map(t=>t.id===e.id&&"defaultValue"in t.basic?{...t,basic:{...t.basic,value:e.value??t.basic.defaultValue,defaultValue:e.value}}:"section"===t.name&&t.children?{...t,children:n(t.children)}:"table"===t.name&&t.cells?{...t,cells:t.cells.map(e=>e.map(e=>{const t={...e};return t.components&&(t.components=n(t.components)),t}))}:"datagrid"===t.name&&t.entries?{...t,entries:t.entries.map(e=>{const t={...e};return t.components&&(t.components=n(t.components)),t})}:t),a=n(s);c?.(a),y[e.id]&&j(t=>({...t,[e.id]:""})),r||setTimeout(()=>{z(e.id)},100),setTimeout(()=>{const e={};s.forEach(i=>{if("table"===i.name||"datagrid"===i.name)e[i.id]=!0;else if(i.conditional){const n=H.evaluateConditionalLogic(i.conditional,s,t);e[i.id]=n.shouldShow}else e[i.id]=!0}),E(e)},0)},[s,v,y,c]),_=n((e,t)=>{for(const i of e){if(i.id===t)return i;if("section"===i.name&&i.children){const e=_(i.children,t);if(e)return e}if("table"===i.name&&i.cells)for(const e of i.cells)for(const i of e)if(i.components){const e=_(i.components,t);if(e)return e}if("datagrid"===i.name&&i.entries)for(const e of i.entries)if(e.components){const i=_(e.components,t);if(i)return i}}return null},[]),z=n(e=>{if(r)return;const t=_(s,e);if(!t)return;const i=v[e]||"";let n=!1;n=Array.isArray(i)?i.length>0:"string"==typeof i?""!==i.trim():null!=i;let a="";if(t.validation.required&&!n){const e=t.validation.customValidationMessage,i=t.basic.label||"This field";a=e||`${i} is required`}else if("email-input"===t.name&&n&&!/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(i)){const e=t.validation.customValidationMessage,i=t.basic.label||"This field";a=e||`${i} must be a valid email`}else if(t.validation.minLength&&n&&i.length<t.validation.minLength){const e=t.validation.customValidationMessage,i=t.basic.label||"This field";a=e||`${i} must be at least ${t.validation.minLength} characters`}else if(t.validation.maxLength&&n&&i.length>t.validation.maxLength){const e=t.validation.customValidationMessage,i=t.basic.label||"This field";a=e||`${i} must be no more than ${t.validation.maxLength} characters`}else if("number-input"===t.name&&n){const e=parseFloat(String(i));if(isNaN(e)){const e=t.validation.customValidationMessage,i=t.basic.label||"This field";a=e||`${i} must be a valid number`}else{const i=t.validation;if(void 0!==i.lowerLimit&&e<i.lowerLimit){const e=t.validation.customValidationMessage,n=t.basic.label||"This field";a=e||`You are under the limit. ${n} must be at least ${i.lowerLimit}`}else if(void 0!==i.upperLimit&&e>i.upperLimit){const e=t.validation.customValidationMessage,n=t.basic.label||"This field";a=e||`You crossed the limit. ${n} must be no more than ${i.upperLimit}`}}}j(t=>({...t,[e]:a}))},[s,r,v,_]),P=n(e=>{S(t=>({...t,[e]:!0})),r||setTimeout(()=>{z(e)},0)},[r,z]),W=n(e=>{y[e]&&j(t=>({...t,[e]:""}))},[y]),B=n(()=>s.every(e=>{const t=v[e.id]||"";let i=!1;return i=Array.isArray(t)?t.length>0:"string"==typeof t?""!==t.trim():null!=t,!(e.validation.required&&!i)}),[s,v]),J=n((e,t)=>{if(Array.isArray(t))return t.some(t=>J(e,t));if(null==t||""===t)return!1;const i="string"==typeof t?parseFloat(t):t,n="string"==typeof e.value?parseFloat(e.value):e.value;if(!isNaN(i)&&!isNaN(n))switch(e.operator){case"greaterThan":return i>n;case"lessThan":return i<n;case"greaterThanOrEqual":return i>=n;case"lessThanOrEqual":return i<=n;case"equals":return i===n;case"notEquals":return i!==n;default:return!1}const s=String(t).toLowerCase(),a=String(e.value).toLowerCase();switch(e.operator){case"equals":return s===a||String(t)===String(e.value);case"notEquals":return s!==a&&String(t)!==String(e.value);default:return!1}},[]),G=n(()=>{if(r)return[];const e=[];return s.forEach(t=>{const i=t?.condition;if(!i||!i.conditions||0===i.conditions.length)return;const n=v[t.id];null!=n&&""!==n&&!(Array.isArray(n)&&0===n.length)&&i.conditions.forEach(i=>{J(i,n)&&e.push({componentId:t.id,condition:i,componentLabel:t.basic?.label||"Field"})})}),e},[s,v,r,J]),X=n(()=>{if(r)return{isValid:!0};const e=G();if(0===e.length)return{isValid:!0};for(const{condition:t,componentLabel:i}of e){const e=A.get(t.id)||{notesCompleted:!1,attachmentsCompleted:!1,emailSent:!1},n=[];if(!0!==t.enableRaiseIssue||$.has(t.id)||n.push("raise an issue"),!0!==t.enableNotes||e.notesCompleted||n.push("add notes"),!0!==t.enableAttachment||e.attachmentsCompleted||n.push("add attachments"),!0!==t.enableSendEmail||e.emailSent||n.push("send email"),n.length>0){return{isValid:!1,errorMessage:`Please ${1===n.length?n[0]:n.slice(0,-1).join(", ")+" and "+n[n.length-1]} for the threshold condition met in "${i}". You cannot submit the form until all required actions are completed.`}}}return{isValid:!0}},[r,G,$,A]),K=n(e=>{e&&T(t=>{const i=new Set(t);return i.add(e),i})},[]),Z=n((e,t,i)=>{e&&I(n=>{const s=new Map(n),a=s.get(e)||{notesCompleted:!1,attachmentsCompleted:!1,emailSent:!1};return"notes"===t?s.set(e,{...a,notesCompleted:i}):"attachments"===t?s.set(e,{...a,attachmentsCompleted:i}):"email"===t&&s.set(e,{...a,emailSent:i}),s})},[]);i(()=>{if(!r){const e=X();R(e)}},[v,$,A,r,X]);const ue=n(()=>{if(r)return!0;let e=!0;C(!0);const t={};return s.forEach(i=>{const n=v[i.id]||"";let s=!1;if(s=Array.isArray(n)?n.length>0:"string"==typeof n?""!==n.trim():null!=n,i.validation.required&&!s){const n=i.validation.customValidationMessage,s=i.basic.label||"This field",a=n||`${s} is required`;t[i.id]=a,e=!1}else t[i.id]="";S(e=>({...e,[i.id]:!0}))}),j(t),e},[s,r,v]),pe=n(()=>{if(C(!0),!ue()){const e=s.find(e=>{const t=v[e.id]||"";let i=!1;return i=Array.isArray(t)?t.length>0:"string"==typeof t?""!==t.trim():null!=t,e.validation.required&&!i});if(e){const t=document.getElementById(e.id);t&&t.focus()}return}const e=X();if(!e.isValid){e.errorMessage&&Y.showError(e.errorMessage);const t=G().find(({condition:e})=>!$.has(e.id));if(t){const e=document.getElementById(t.componentId);e&&e.scrollIntoView({behavior:"smooth",block:"center"})}return}const t=e=>e.map(e=>{let i=v[e.id];"text-input"===e.name&&e.basic,void 0===i&&(i="value"in e.basic&&void 0!==e.basic.value?e.basic.value:"defaultValue"in e.basic&&void 0!==e.basic.defaultValue?e.basic.defaultValue:""),"text-input"===e.name&&e.basic;const n={...e,basic:{...e.basic,value:i,defaultValue:i}};return"section"===n.name&&n.children&&(n.children=t(n.children)),"table"===n.name&&n.cells&&(n.cells=n.cells.map(e=>e.map(e=>{const i={...e};return i.components&&(i.components=t(i.components)),i}))),"datagrid"===n.name&&n.entries&&(n.entries=n.entries.map(e=>{const i={...e};return i.components&&(i.components=t(i.components)),i})),n}),i=t(s);l?.(i)},[s,v,ue,l]),fe=n(()=>({[`device-${a}`]:!0,readonly:r}),[a,r]),ge=t=>{const i=v[t.id];"text-input"===t.name&&t.basic;const n={id:t.id,validationErrors:y,formValue:i,touchedFields:w,formSubmitted:N,mode:r?"preview":"test",readonly:r,onValueChange:M,onBlur:()=>P(t.id),onFocus:()=>W(t.id)};switch(t.name){case"text-input":case"number-input":case"email-input":return U.jsx(Q,{...n,properties:t,inputType:"text-input"===t.name?"text":"number-input"===t.name?"number":"email",formTemplateId:m,onThresholdIssueRaised:K,raisedThresholdIssues:$});case"textarea":return U.jsx(ee,{...n,properties:t});case"select":const a={...t,options:t.basic?.options||[],basic:{...t.basic,comments:t.basic?.comments||""}};return U.jsx(te,{...n,properties:a});case"checkbox":const r={...t,options:t.basic?.options||[],basic:{...t.basic,comments:t.basic?.comments||""}};return U.jsx(ie,{...n,properties:r});case"radio":const o={...t,options:t.basic?.options||[],basic:{...t.basic,comments:t.basic?.comments||""}};return U.jsx(ne,{...n,properties:o});case"segment":const l={...t,options:t.basic?.options||[],basic:{...t.basic,comments:t.basic?.comments||""}};return U.jsx(se,{...n,properties:l});case"date":case"date-picker":case"datetime-picker":return U.jsx(ae,{...n,properties:t});case"signature":return U.jsx(re,{...n,properties:t});case"heading":return U.jsx(ce,{...n,properties:t});case"instructions":return U.jsx(de,{...n,properties:t});case"location":return U.jsx(le,{...n,properties:t});case"section":return U.jsx(be,{...n,properties:t,formData:v,formTemplateId:m,onThresholdActionCompletion:Z,onThresholdIssueRaised:K,renderFormComponent:e=>ge(e)});case"table":return U.jsx(e.Suspense,{fallback:U.jsx("div",{children:"Loading table..."}),children:U.jsx(je,{...n,properties:t,formData:v,formTemplateId:m,mode:n.mode,validationErrors:y,touchedFields:w,formSubmitted:N,onThresholdActionCompletion:Z,onNotesChange:(e,i)=>{const n=s.map(n=>{if(n.id===t.id&&n.cells){const t=n.cells.map(t=>t.map(t=>{if(t.components){const n=t.components.map(t=>t.id===e?{...t,basic:{...t.basic,notes:i}}:t);return{...t,components:n}}return t}));return{...n,cells:t}}return n});c?.(n)},onAttachmentChange:(e,i)=>{const n=s.map(n=>{if(n.id===t.id&&n.cells){const t=n.cells.map(t=>t.map(t=>{if(t.components){const n=t.components.map(t=>t.id===e?{...t,basic:{...t.basic,attachments:i||[]}}:t);return{...t,components:n}}return t}));return{...n,cells:t}}return n});c?.(n)},renderFormComponent:e=>ge(e)})});case"datagrid":return U.jsx(ye,{...n,properties:t,formData:v,formTemplateId:m,mode:n.mode,validationErrors:y,touchedFields:w,formSubmitted:N,onThresholdActionCompletion:Z,onThresholdIssueRaised:K,onComponentSelect:p,onComponentDelete:h,onComponentEdit:f,onComponentUpdate:b,selectedComponent:g,onValueChange:e=>{if(e.id===t.id&&e.value&&"object"==typeof e.value&&"entries"in e.value){const i=s.map(i=>i.id===t.id?{...i,...e.value}:i);c?.(i)}else M(e)},onEntryAdd:()=>{const e=s.map(e=>{if(e.id===t.id&&e.entries){const t=e.templateComponents||[],i=e.entries||[],n={id:`entry-${e.id}-${i.length}`,index:i.length,components:t.map((e,t)=>({...e,id:`${e.id}-entry-${i.length}-${t}`,basic:{...e.basic,showLabel:!1}})),styles:{}};return{...e,entries:[...i,n]}}return e});c?.(e)},onEntryRemove:e=>{const i=s.map(i=>{if(i.id===t.id&&i.entries){const t=(i.entries||[]).filter((t,i)=>i!==e).map((e,t)=>({...e,index:t,id:`entry-${i.id}-${t}`,components:e.components?.map((e,i)=>{const n=(e.templateComponents||[])[i];return{...e,id:n?`${n.id}-entry-${t}-${i}`:e.id}})||[]}));return{...i,entries:t}}return i});c?.(i)},onNotesChange:(e,i)=>{const n=s.map(n=>{if(n.id===t.id&&n.entries){const t=n.entries.map(t=>{if(t.components){const n=t.components.map(t=>t.id===e?{...t,basic:{...t.basic,notes:i}}:t);return{...t,components:n}}return t});return{...n,entries:t}}return n});c?.(n)},onAttachmentChange:(e,i)=>{const n=s.map(n=>{if(n.id===t.id&&n.entries){const t=n.entries.map(t=>{if(t.components){const n=t.components.map(t=>t.id===e?{...t,basic:{...t.basic,attachments:i||[]}}:t);return{...t,components:n}}return t});return{...n,entries:t}}return n});c?.(n)},renderFormComponent:e=>ge(e)});case"file":const d=i||t.basic?.files||t.basic?.attachments||t.basic?.value||null;return U.jsx(oe,{...n,properties:t,formValue:d});default:return U.jsx("div",{className:"form-group",children:U.jsxs("div",{className:"form-group-label",children:["Unsupported Component: ",t.name]})})}};return U.jsx("div",{className:"form-preview-container",children:U.jsx("div",{className:"form-preview-wrapper",children:U.jsxs("div",{className:`form-preview ${Object.entries(fe()).map(([e,t])=>t?e:"").join(" ")}`,children:[U.jsx("div",{className:"form-canvas-header"}),0===s.length?U.jsx("div",{className:"empty-state",children:U.jsx("div",{className:"empty-state-card",children:U.jsx("div",{className:"empty-state-preview-area",children:U.jsx("span",{className:"empty-state-placeholder",children:"Add components to see the form preview"})})})}):U.jsxs("form",{className:"form-preview-form",onSubmit:e=>{e.preventDefault(),pe()},children:[(d||u)&&U.jsxs("div",{className:"form-header",children:[d&&U.jsx("h1",{className:"form-title",children:d}),u&&U.jsx("p",{className:"form-description",children:u})]}),s.map(e=>{const t=e.basic,i=v[e.id],n=["select","radio","checkbox","segment"].includes(e.name||""),a=e.options||t?.options||[],o=(()=>{const t=e?.styles?.column;return"section"===e.name||"table"===e.name||"datagrid"===e.name?"col-12":3===t?"col-3":6===t?"col-6":9===t?"col-9":"col-12"})();let l=!1;if(!r)if(n&&null!=i&&""!==i)if("checkbox"===e.name){l=(Array.isArray(i)?i:[i]).some(e=>{const t=a.find(t=>t.value===e);return t&&(t.enableNotes||t.enableAttachment||t.enableRaiseIssue||t.enableSendEmail)})}else{const e=a.find(e=>e.value===i);l=e&&(e.enableNotes||e.enableAttachment||e.enableRaiseIssue||e.enableSendEmail)}else l=t?.enableNotes||t?.enableAttachment||t?.enableRaiseIssue||t?.enableSendEmail;const d=r&&(e.basic?.notes&&e.basic.notes.trim().length>0||e.basic?.attachments&&Array.isArray(e.basic.attachments)&&e.basic.attachments.length>0);return U.jsxs("div",{className:`form-group ${o} ${l||d?"has-action-features":""}`,style:{display:q(e.id)?"block":"none"},children:[ge(e),!r&&!["section","table","heading","file","instructions","signature","location","datagrid"].includes(e.name)&&U.jsx(me,{component:e,mode:r?"preview":"test",formTemplateId:m,formValue:i,onThresholdActionCompletion:Z,onThresholdIssueRaised:K,onNotesChange:t=>{const i=s.map(i=>i.id===e.id?{...i,basic:{...i.basic,notes:t||""}}:i);c?.(i)},onAttachmentChange:t=>{const i=s.map(i=>i.id===e.id?{...i,basic:{...i.basic,attachments:t||[]}}:i);c?.(i)},notes:e.basic?.notes||"",attachments:e.basic?.attachments||null}),r&&d&&U.jsx(he,{component:e})]},e.id)}),!r&&U.jsx("div",{className:"form-actions",children:U.jsx("button",{type:"submit",disabled:!B()||!L.isValid,className:"form-submit-button",title:L.isValid?"":L.errorMessage,children:"Submit"})})]})]})})})},Ce=({comment:e="",onSave:s,placeholder:a="Enter your reason...",className:r="",disabled:o=!1})=>{const[l,c]=t(!0),[d,u]=t(e),[m,p]=t(!1);i(()=>{u(e),p(!1)},[e]);const h=n(t=>{const i=t.target.value;u(i),p(i!==e)},[e]),f=n(()=>{m&&s&&!o&&(s(d),p(!1))},[m,s,d,o]),b=n(()=>{},[]),g=n(()=>{o||c(!l)},[l,o]);return U.jsxs("div",{className:`df-form-comments ${r}`,children:[U.jsxs("div",{className:"df-form-comments__header",children:[U.jsx("h3",{className:"df-form-comments__title",children:"Comments"}),U.jsx("button",{className:"df-form-comments__toggle",type:"button",onClick:g,"aria-expanded":l,"aria-label":"Toggle comments section",disabled:o,children:l?U.jsx("span",{className:"df-form-comments__toggle-icon",children:"▼"}):U.jsx("span",{className:"df-form-comments__toggle-icon",children:"▶"})})]}),U.jsx("div",{className:"df-form-comments__content "+(l?"df-form-comments__content--expanded":""),children:U.jsx("div",{className:"df-form-comments__input-container",children:U.jsx("div",{className:"df-form-comments__input-line",children:U.jsx("input",{type:"text",id:"comment-input",className:"df-form-comments__input",value:d,onChange:h,onBlur:f,onFocus:b,placeholder:a,disabled:o})})})})]})},we=e=>e.id?e:{...e,id:M()},Se=({component:e,mode:t,renderFormComponent:i,formData:n={},formTemplateId:s,onThresholdActionCompletion:a,onNotesChange:r,onAttachmentChange:o})=>{const l=n[e.id],c="preview"===t&&(e.basic?.notes&&e.basic.notes.trim().length>0||e.basic?.attachments&&Array.isArray(e.basic.attachments)&&e.basic.attachments.length>0);return U.jsxs("div",{className:"simple-table-component",children:[i(e),"test"===t&&!["section","table","heading","file","instructions","signature","location","datagrid"].includes(e.name)&&U.jsx(me,{component:e,mode:"test",formTemplateId:s,formValue:l,onThresholdActionCompletion:a,onNotesChange:r?t=>r(e.id,t):void 0,onAttachmentChange:o?t=>o(e.id,t):void 0}),c&&U.jsx(he,{component:e})]})},ke=({component:e,selectedComponent:t,mode:i,onComponentSelect:n,onComponentDelete:s,onComponentEdit:a,renderFormComponent:r,isOverlay:o=!1})=>{const{attributes:l,listeners:c,setNodeRef:d,transform:u,transition:m,isDragging:p,isSorting:h}=F({id:e.id,disabled:o}),f={transform:q.Transform.toString(u),transition:m,opacity:p?.3:1,zIndex:p?1e3:"auto"};return U.jsxs("div",{ref:d,style:f,className:`form-component table-component ${t?.id===e.id?"selected":""} ${p?"dragging":""} ${h?"sorting":""}`,onClick:()=>!p&&n(e),role:"button",tabIndex:0,children:["edit"===i&&U.jsx("div",{className:"component-drag-handle",...c,...l,onClick:e=>e.stopPropagation(),style:{opacity:1},children:U.jsx(E,{size:14})}),U.jsx("div",{className:"component-content",children:r(e)}),"edit"===i&&U.jsxs("div",{className:"component-actions",style:{opacity:1},children:[a&&U.jsx("button",{className:"component-edit-btn",onClick:t=>{t.stopPropagation(),a(e)},type:"button",title:"Edit Component",children:U.jsx($,{size:12})}),U.jsx("button",{className:"component-delete-btn",onClick:t=>{t.stopPropagation(),s(e,t)},type:"button",title:"Delete Component",children:U.jsx(T,{size:12})})]})]})},Ee=({cell:e,mode:t,onComponentSelect:i,onComponentDelete:n,onComponentEdit:s,selectedComponent:a,renderFormComponent:r,formData:o={},formTemplateId:l,onThresholdActionCompletion:c,tableId:d,onNotesChange:u,onAttachmentChange:m})=>{const p=`table-cell-${d}-${e.row}-${e.column}`,{setNodeRef:h,isOver:f}=R({id:p,disabled:"edit"!==t,data:{type:"table-cell",tableId:d,cell:e,row:e.row,column:e.column}}),b={...e.styles,backgroundColor:f?"var(--df-color-primary-light)":e.styles?.backgroundColor||"transparent",minHeight:e.styles?.minHeight||"preview"===t||"test"===t?"40px":"60px",padding:(e.styles,"8px"),border:"preview"===t||"test"===t?"none":f?"2px dashed var(--df-color-primary)":e.styles?.borderColor?`1px solid ${e.styles.borderColor}`:"1px solid var(--df-color-fb-border)",borderRadius:"preview"===t||"test"===t?"0":"4px",position:"relative",verticalAlign:e.styles?.verticalAlign||"top"};return U.jsx("td",{ref:h,style:b,className:"table-cell "+(f?"drag-over":""),children:U.jsx("div",{className:"cell-content",children:e.components&&Array.isArray(e.components)&&e.components.length>0?"edit"===t?U.jsx(D,{items:e.components.map(e=>e.id||M()),strategy:V,children:e.components.map(e=>{const o=we(e);return U.jsx(ke,{component:o,selectedComponent:a,mode:t,onComponentSelect:i,onComponentDelete:n,onComponentEdit:s,renderFormComponent:r},o.id)})}):e.components.map(e=>{const i=we(e);return U.jsx(Se,{component:i,mode:t,renderFormComponent:r,formData:o,formTemplateId:l,onThresholdActionCompletion:c,onNotesChange:u,onAttachmentChange:m},i.id)}):"edit"===t?U.jsx("div",{className:"empty-cell-placeholder",children:U.jsxs("div",{className:"cell-info",children:[U.jsx("span",{className:"drop-zone-text",children:"Drag and Drop a form component"}),U.jsxs("span",{className:"cell-coordinates",children:["Cell (",e.row+1,", ",e.column+1,")"]})]})}):U.jsx("div",{style:{minHeight:"20px",backgroundColor:"transparent",visibility:"hidden"},children:" "})})})},$e=({id:e,properties:s,mode:r="edit",formData:o={},validationErrors:l={},touchedFields:c={},formSubmitted:d=!1,onValueChange:u,onSelect:m,isSelected:p=!1,className:h="",onTableSelect:f,onComponentSelect:b,onComponentDelete:g,onComponentEdit:v,selectedComponent:x,renderFormComponent:y,formTemplateId:j,onThresholdActionCompletion:N,onNotesChange:C,onAttachmentChange:w})=>{const[E,$]=t(!1),T=s.cells?.some(e=>e.some(e=>e.components&&e.components.length>0))||!1;i(()=>{const t=s.table?.rows||s.basic?.rows||3,i=s.table?.columns||s.basic?.columns||3,n=s.cells||[];if(0===n.length||n.length!==t||n.length>0&&n[0].length!==i){const a=[];for(let e=0;e<t;e++){const t=[];for(let s=0;s<i;s++){const i=`cell-${e}-${s}`;let a=[];n[e]&&n[e][s]&&(a=(n[e][s].components||[]).map(we)),t.push({id:i,row:e,column:s,components:a,styles:{}})}a.push(t)}u&&u({id:e,value:{...s,cells:a}})}},[s.table?.rows,s.table?.columns,s.basic?.rows,s.basic?.columns,s.cells,e,u]);const A=n(e=>{e.stopPropagation(),m?.(),f?.(s)},[m,f,s]),L=n((t,i)=>{i.stopPropagation();const n=s.cells.map(e=>e.map(e=>{if(e.components&&e.components.some(e=>e.id===t.id)){const i=e.components.filter(e=>e.id!==t.id);return{...e,components:i}}return e}));u&&u({id:e,value:{...s,cells:n}})},[g,s,u,e]),R=s.cells?s.cells.map(e=>e.map(e=>({...e,components:e.components&&Array.isArray(e.components)?e.components.map(e=>e.id?e:{...e,id:`table-cell-${e.name}-${Date.now()}-${Math.random().toString(36).substr(2,9)}`}):[]}))):[];const D=a(!1),V=a("");i(()=>{if(R.length>0){const t=JSON.stringify(R),i=t!==V.current&&t!==JSON.stringify(s.cells);(!D.current||i&&"edit"===r)&&("edit"===r&&(u?.({id:e,value:{...s,cells:R}}),V.current=t),D.current=!0)}},[r,e]);const F=y||n(e=>{const t=we(e);let i=o[t.id];null==i&&(i="value"in t.basic&&void 0!==t.basic.value?t.basic.value:"defaultValue"in t.basic&&void 0!==t.basic.defaultValue?t.basic.defaultValue:"checkbox"===t.name||"select"===t.name?[]:"");const n={id:t.id,properties:t,validationErrors:l||{},formValue:i,touchedFields:c||{},formSubmitted:d||!1,mode:r,onValueChange:e=>{u?.(e)},onBlur:()=>{},onFocus:()=>{}};switch(t.name){case"text-input":case"email-input":case"number-input":return U.jsx(Q,{...n,properties:t,inputType:"text-input"===t.name?"text":"number-input"===t.name?"number":"email",readonly:"edit"===r||"preview"===r,disabled:"preview"===r});case"textarea":return U.jsx(ee,{...n,properties:t,readonly:"edit"===r||"preview"===r,disabled:"preview"===r});case"select":const e={...t,options:t.basic?.options||[]};return U.jsx(te,{...n,properties:e,disabled:"edit"===r||"preview"===r});case"checkbox":const i={...t,options:t.basic?.options||[]};return U.jsx(ie,{...n,properties:i,formValue:[],disabled:"edit"===r||"preview"===r});case"radio":const s={...t,options:t.basic?.options||[]};return U.jsx(ne,{...n,properties:s,readonly:"edit"===r||"preview"===r,disabled:"edit"===r||"preview"===r});case"date":case"date-picker":case"datetime-picker":return U.jsx(ae,{...n,properties:t,readonly:"edit"===r||"preview"===r,disabled:"preview"===r});case"signature":return U.jsx(re,{...n,properties:t});case"heading":return U.jsx(ce,{...n,properties:t});default:return U.jsxs("div",{className:"unknown-component",children:["Unknown component: ",t.name]})}},[r]),O={backgroundColor:s.styles?.backgroundColor||"var(--df-color-fb-container)",borderColor:s.styles?.borderColor||"var(--df-color-fb-border)",borderWidth:s.styles?.borderWidth||"2px",borderRadius:s.styles?.borderRadius||"8px",padding:s.styles?.padding||"16px",margin:s.styles?.margin||"16px 0"},q={width:"100%",minWidth:"600px",borderCollapse:"preview"===r||"test"===r?"separate":"collapse",tableLayout:"fixed",border:"preview"===r||"test"===r?"1px solid var(--df-color-fb-border)":"none"};return T||"preview"!==r?U.jsxs("div",{className:`form-group df-form-table ${p?"selected":""} ${"preview"===r?"preview-mode":"test"===r?"test-mode":""} ${h}`,onClick:A,style:O,children:[U.jsx("div",{className:"table-header",children:U.jsx("div",{className:"table-title",onClick:t=>{t.stopPropagation(),$(!E),u?.({id:e,value:{...s,basic:{...s.basic||{},collapsed:!E}}})},children:U.jsxs("div",{className:"title-content",children:[E?U.jsx(k,{size:16}):U.jsx(S,{size:16}),U.jsx(I,{size:16}),U.jsx("span",{className:"table-label",children:s.basic?.label||"Table"}),s.validation?.required&&U.jsx("span",{className:"required-indicator",children:"*"})]})})}),s.basic?.description&&!E&&U.jsx("div",{className:"table-description",children:s.basic.description}),!E&&U.jsxs("div",{className:"table-content",children:[null,U.jsxs("table",{style:q,children:[s.table?.displayAsTable&&("edit"===r||s.table?.showColumns)&&U.jsx("thead",{children:U.jsx("tr",{className:"table-header-row",children:Array.from({length:s.table?.columns||s.basic?.columns||3},(e,t)=>{const i=(s.table?.columnNames?.split(",").map(e=>e.trim())||[])[t]||`Column ${t+1}`;return U.jsx("th",{className:"table-header-cell",style:{backgroundColor:(s.styles.headerBackgroundColor,"var(--df-color-fb-container)"),color:s.styles.headerTextColor||"var(--df-color-text-dark)",padding:"12px",border:"1px solid var(--df-color-fb-border)",fontWeight:"600",fontSize:"14px",textAlign:"center"},children:i},`header-${t}`)})})}),U.jsx("tbody",{children:s.cells?.map((t,i)=>U.jsx("tr",{className:"table-row",children:t.map(t=>U.jsx(Ee,{cell:t,mode:r,onComponentSelect:b||(()=>{}),onComponentDelete:L,onComponentEdit:v,selectedComponent:x||null,renderFormComponent:F,formData:o,formTemplateId:j,onThresholdActionCompletion:N,tableId:e,onNotesChange:C,onAttachmentChange:w},t.id))},i))})]})]})]}):null};var Te,Ae=Object.freeze({__proto__:null,DfFormTable:$e,default:$e});!function(e){e.Top="top",e.Left="left"}(Te||(Te={}));export{me as ComponentActionFeatures,he as ComponentSubmissionActions,ie as DfFormCheckbox,Ce as DfFormComments,ye as DfFormDataGrid,ae as DfFormDateTime,G as DfFormErrorMsg,oe as DfFormFileUpload,ce as DfFormHeading,Q as DfFormInput,de as DfFormInstruction,le as DfFormLocation,Ne as DfFormPreview,ne as DfFormRadio,be as DfFormSection,se as DfFormSegment,te as DfFormSelect,re as DfFormSignature,$e as DfFormTable,ee as DfFormTextarea,Te as ELabelAlignment,K as RaiseIssueModal,Z as ThresholdAlert,H as conditionalLogicService,Y as toastService};
11
11
  //# sourceMappingURL=index.esm.js.map