dynamic-mui 2.4.1 → 2.5.1
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/README.md +61 -0
- package/dist/{AIForm-DtRl0WdY.mjs → AIForm-BVJ7qhP5.mjs} +2984 -2778
- package/dist/AIForm-D8_6RVmA.js +44 -0
- package/dist/{accordion-BaiGxDcw.js → accordion-B3fSXKqC.js} +1 -1
- package/dist/{accordion-xg_TxxYS.mjs → accordion-BxTjyh5y.mjs} +1 -1
- package/dist/{addressfield-BvQEHdEk.mjs → addressfield-C9VaV9xw.mjs} +52 -40
- package/dist/addressfield-Cv8zK_sb.js +1 -0
- package/dist/ai/index.cjs +1 -1
- package/dist/ai/index.mjs +1 -1
- package/dist/asyncautocomplete-BveFRqpV.mjs +92 -0
- package/dist/asyncautocomplete-CoOb7mtv.js +1 -0
- package/dist/{bar-DNc7TMKj.mjs → bar-BfMaIpfo.mjs} +1 -1
- package/dist/{bar-BiIzbOC3.js → bar-CE_D8esp.js} +1 -1
- package/dist/cascadeselect-C53hT-C-.mjs +66 -0
- package/dist/cascadeselect-CWECmehh.js +1 -0
- package/dist/collection-Cf87KWZM.js +1 -0
- package/dist/collection-HUYkt74J.mjs +1140 -0
- package/dist/colorpicker-BRQPl_IL.mjs +111 -0
- package/dist/{colorpicker-DpLvK1WR.js → colorpicker-zE3r16Gc.js} +1 -1
- package/dist/components/controls/Collection/CollectionList.d.ts +22 -0
- package/dist/components/controls/Collection/ItemDialog.d.ts +20 -0
- package/dist/components/controls/Collection/collection.d.ts +9 -0
- package/dist/components/controls/Collection/parts.d.ts +39 -0
- package/dist/components/controls/Collection/tree.d.ts +18 -0
- package/dist/components/controls/Collection/ui.d.ts +49 -0
- package/dist/components/controls/index.d.ts +1 -0
- package/dist/{consentfield-B21l9tGo.js → consentfield-CEddOmCa.js} +1 -1
- package/dist/{consentfield-CGT98YbR.mjs → consentfield-Cylid9il.mjs} +13 -11
- package/dist/{datatable-Bv0Q37Zy.js → datatable-3MUZQhnx.js} +1 -1
- package/dist/{datatable-B_6wXh2g.mjs → datatable-BWimO7zD.mjs} +1 -1
- package/dist/dynamic-mui.cjs +1 -1
- package/dist/dynamic-mui.mjs +2 -2
- package/dist/editabletable--ow4E3bB.js +1 -0
- package/dist/{editabletable-YaFqdLvf.mjs → editabletable-CVJ14zrm.mjs} +19 -17
- package/dist/{fileupload--KzSGb5a.js → fileupload-B7f6VOb0.js} +1 -1
- package/dist/{fileupload-ZBi72f1R.mjs → fileupload-DHiYLdJ5.mjs} +16 -3
- package/dist/{formrepeater-Cwgtvz1c.mjs → formrepeater-BGZGTcVb.mjs} +25 -21
- package/dist/{formrepeater-BhUEa4BI.js → formrepeater-CvWeLug8.js} +1 -1
- package/dist/{formwizard-CYcgf5jL.mjs → formwizard-BeJK5mqc.mjs} +1 -1
- package/dist/{formwizard-BlozHDc_.js → formwizard-DrHKFPfN.js} +1 -1
- package/dist/{geofield-xqZy_DAY.mjs → geofield-Bchfb6__.mjs} +28 -24
- package/dist/geofield-thoXisie.js +1 -0
- package/dist/{group-Dtju1rHQ.js → group-B3QBe0YI.js} +1 -1
- package/dist/{group-DmLN-b09.mjs → group-DUnv46e_.mjs} +1 -1
- package/dist/{intlphone-CXUQP9Gp.mjs → intlphone-BY59PVDg.mjs} +12 -8
- package/dist/{intlphone-BeHXAcFi.js → intlphone-CMXEolsT.js} +1 -1
- package/dist/{keyvaluefield-BJoEbe4I.mjs → keyvaluefield-BAYbTkCY.mjs} +4 -2
- package/dist/{keyvaluefield-BZQDG0l5.js → keyvaluefield-FBaHQ8Ak.js} +1 -1
- package/dist/{line-tIm99vYW.js → line-Bk15u06y.js} +1 -1
- package/dist/{line-B3CAbZOo.mjs → line-Bzbkzk7f.mjs} +1 -1
- package/dist/lineitemlist-8NL2THwe.js +1 -0
- package/dist/{lineitemlist-CBSqoC9g.mjs → lineitemlist-PsoQ4LU4.mjs} +23 -19
- package/dist/{list-C8QMpJOJ.mjs → list-BGzVPlgh.mjs} +1 -1
- package/dist/{list-D_cawpPI.js → list-BmGiSIoi.js} +1 -1
- package/dist/locationfield-BG76gNbD.js +1 -0
- package/dist/locationfield-CupDmXsM.mjs +118 -0
- package/dist/{markdowneditor-DFOgRmdL.mjs → markdowneditor-4StkbrKV.mjs} +15 -11
- package/dist/markdowneditor-vDHguMtU.js +2 -0
- package/dist/{matrixfield-0lnuaEks.mjs → matrixfield-CeROIIAj.mjs} +34 -30
- package/dist/{matrixfield-nWt6Cug5.js → matrixfield-Vptf0zNH.js} +1 -1
- package/dist/{mixChart-ISf3Kbr-.mjs → mixChart-Doq4lt7Z.mjs} +2 -2
- package/dist/mixChart-rgyMCdnp.js +1 -0
- package/dist/{multitextbox-DmAWV163.mjs → multitextbox-DeVv6uzi.mjs} +1 -1
- package/dist/{multitextbox-oEgl2F8-.js → multitextbox-DtSydHcv.js} +1 -1
- package/dist/{npsscale-CdTEwERY.mjs → npsscale-Cd7PoCJS.mjs} +7 -3
- package/dist/{npsscale-DW4sxcLz.js → npsscale-Dwp2T0DQ.js} +1 -1
- package/dist/{numberstepper-BwQ5coLc.mjs → numberstepper-BFNTu3Ii.mjs} +6 -2
- package/dist/{numberstepper-cDosevJb.js → numberstepper-DBKq7hUm.js} +1 -1
- package/dist/{pie-gAfuDR1F.js → pie-CE4QV82D.js} +1 -1
- package/dist/{pie-CBRckgd4.mjs → pie-DKRRH37e.mjs} +1 -1
- package/dist/richtexteditor-B6lK2iIt.js +1 -0
- package/dist/{richtexteditor-xrbv8PXZ.mjs → richtexteditor-DdIfi0-T.mjs} +4 -2
- package/dist/schema.d.ts +10 -2
- package/dist/{signature-FM6L60nk.js → signature-B_drsWTj.js} +2 -2
- package/dist/{signature-CP_lA_Yh.mjs → signature-D9B8bFqg.mjs} +4 -2
- package/dist/{stepper-CjGNFyBz.js → stepper-CO6XiIaw.js} +1 -1
- package/dist/{stepper-BprezTzX.mjs → stepper-D6e9yWIr.mjs} +1 -1
- package/dist/{summaryfield-5mJRwVZ4.mjs → summaryfield-BIA2gc1w.mjs} +1 -1
- package/dist/{summaryfield-C3xmqZQp.js → summaryfield-CR3aNMZU.js} +1 -1
- package/dist/{tabs-B4P59kHX.js → tabs-B4ZbZQvt.js} +1 -1
- package/dist/{tabs-By-Mm8vm.mjs → tabs-PgOpdVX1.mjs} +1 -1
- package/dist/tagsinput-DtNb1IuV.js +1 -0
- package/dist/tagsinput-G_M0DbpI.mjs +58 -0
- package/dist/types.d.ts +188 -0
- package/dist/util/collection.d.ts +82 -0
- package/package.json +11 -11
- package/dist/AIForm-Dv8ahXyE.js +0 -43
- package/dist/addressfield-vVizrbZP.js +0 -1
- package/dist/asyncautocomplete-AmSRs7PY.mjs +0 -89
- package/dist/asyncautocomplete-Dtmxh4l1.js +0 -1
- package/dist/cascadeselect-BlznIKS6.mjs +0 -64
- package/dist/cascadeselect-DqLtG-W9.js +0 -1
- package/dist/colorpicker-hP3b7teC.mjs +0 -98
- package/dist/editabletable-D3c3DJxX.js +0 -1
- package/dist/geofield-BynrTSVm.js +0 -1
- package/dist/lineitemlist-RqStjYB-.js +0 -1
- package/dist/locationfield-BiLy-c09.js +0 -1
- package/dist/locationfield-KBbu-98L.mjs +0 -119
- package/dist/markdowneditor-Dy7Q01FM.js +0 -2
- package/dist/mixChart-C3o184UT.js +0 -1
- package/dist/richtexteditor-DI-h5Efn.js +0 -1
- package/dist/tagsinput-BwM3NYK_.js +0 -1
- package/dist/tagsinput-Ce4EWy4i.mjs +0 -58
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const z=require("react/jsx-runtime"),N=require("react"),Dt=require("./AIForm-Dv8ahXyE.js"),Y=require("@mui/material"),$t=require("./s3Upload-B0JeoLkS.js");function yt(){return yt=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e},yt.apply(null,arguments)}function Lt(e,r){if(e==null)return{};var n={};for(var t in e)if({}.hasOwnProperty.call(e,t)){if(r.indexOf(t)!==-1)continue;n[t]=e[t]}return n}function zt(e,r){if(e==null)return{};var n,t,o=Lt(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t<a.length;t++)n=a[t],r.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function mt(e){"@babel/helpers - typeof";return mt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},mt(e)}function qt(e,r,n){return Object.defineProperty(e,"prototype",{writable:!1}),e}function Ut(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function gt(e,r){return gt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,t){return n.__proto__=t,n},gt(e,r)}function Bt(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),r&>(e,r)}function at(e){return at=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},at(e)}function It(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(It=function(){return!!e})()}function Ft(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Yt(e,r){if(r&&(mt(r)=="object"||typeof r=="function"))return r;if(r!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ft(e)}function Nt(e){var r=It();return function(){var n,t=at(e);if(r){var o=at(this).constructor;n=Reflect.construct(t,arguments,o)}else n=t.apply(this,arguments);return Yt(this,n)}}var nt={exports:{}},ot={exports:{}},M={};var Et;function Vt(){if(Et)return M;Et=1;var e=typeof Symbol=="function"&&Symbol.for,r=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,t=e?Symbol.for("react.fragment"):60107,o=e?Symbol.for("react.strict_mode"):60108,a=e?Symbol.for("react.profiler"):60114,u=e?Symbol.for("react.provider"):60109,i=e?Symbol.for("react.context"):60110,l=e?Symbol.for("react.async_mode"):60111,c=e?Symbol.for("react.concurrent_mode"):60111,f=e?Symbol.for("react.forward_ref"):60112,p=e?Symbol.for("react.suspense"):60113,v=e?Symbol.for("react.suspense_list"):60120,m=e?Symbol.for("react.memo"):60115,E=e?Symbol.for("react.lazy"):60116,g=e?Symbol.for("react.block"):60121,b=e?Symbol.for("react.fundamental"):60117,w=e?Symbol.for("react.responder"):60118,W=e?Symbol.for("react.scope"):60119;function I(d){if(typeof d=="object"&&d!==null){var V=d.$$typeof;switch(V){case r:switch(d=d.type,d){case l:case c:case t:case a:case o:case p:return d;default:switch(d=d&&d.$$typeof,d){case i:case f:case E:case m:case u:return d;default:return V}}case n:return V}}}function j(d){return I(d)===c}return M.AsyncMode=l,M.ConcurrentMode=c,M.ContextConsumer=i,M.ContextProvider=u,M.Element=r,M.ForwardRef=f,M.Fragment=t,M.Lazy=E,M.Memo=m,M.Portal=n,M.Profiler=a,M.StrictMode=o,M.Suspense=p,M.isAsyncMode=function(d){return j(d)||I(d)===l},M.isConcurrentMode=j,M.isContextConsumer=function(d){return I(d)===i},M.isContextProvider=function(d){return I(d)===u},M.isElement=function(d){return typeof d=="object"&&d!==null&&d.$$typeof===r},M.isForwardRef=function(d){return I(d)===f},M.isFragment=function(d){return I(d)===t},M.isLazy=function(d){return I(d)===E},M.isMemo=function(d){return I(d)===m},M.isPortal=function(d){return I(d)===n},M.isProfiler=function(d){return I(d)===a},M.isStrictMode=function(d){return I(d)===o},M.isSuspense=function(d){return I(d)===p},M.isValidElementType=function(d){return typeof d=="string"||typeof d=="function"||d===t||d===c||d===a||d===o||d===p||d===v||typeof d=="object"&&d!==null&&(d.$$typeof===E||d.$$typeof===m||d.$$typeof===u||d.$$typeof===i||d.$$typeof===f||d.$$typeof===b||d.$$typeof===w||d.$$typeof===W||d.$$typeof===g)},M.typeOf=I,M}var A={};var wt;function Ht(){return wt||(wt=1,process.env.NODE_ENV!=="production"&&(function(){var e=typeof Symbol=="function"&&Symbol.for,r=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,t=e?Symbol.for("react.fragment"):60107,o=e?Symbol.for("react.strict_mode"):60108,a=e?Symbol.for("react.profiler"):60114,u=e?Symbol.for("react.provider"):60109,i=e?Symbol.for("react.context"):60110,l=e?Symbol.for("react.async_mode"):60111,c=e?Symbol.for("react.concurrent_mode"):60111,f=e?Symbol.for("react.forward_ref"):60112,p=e?Symbol.for("react.suspense"):60113,v=e?Symbol.for("react.suspense_list"):60120,m=e?Symbol.for("react.memo"):60115,E=e?Symbol.for("react.lazy"):60116,g=e?Symbol.for("react.block"):60121,b=e?Symbol.for("react.fundamental"):60117,w=e?Symbol.for("react.responder"):60118,W=e?Symbol.for("react.scope"):60119;function I(h){return typeof h=="string"||typeof h=="function"||h===t||h===c||h===a||h===o||h===p||h===v||typeof h=="object"&&h!==null&&(h.$$typeof===E||h.$$typeof===m||h.$$typeof===u||h.$$typeof===i||h.$$typeof===f||h.$$typeof===b||h.$$typeof===w||h.$$typeof===W||h.$$typeof===g)}function j(h){if(typeof h=="object"&&h!==null){var F=h.$$typeof;switch(F){case r:var rt=h.type;switch(rt){case l:case c:case t:case a:case o:case p:return rt;default:var xt=rt&&rt.$$typeof;switch(xt){case i:case f:case E:case m:case u:return xt;default:return F}}case n:return F}}}var d=l,V=c,X=i,Q=u,tt=r,q=f,H=t,U=E,J=m,Z=n,ct=a,B=o,G=p,et=!1;function ut(h){return et||(et=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),s(h)||j(h)===l}function s(h){return j(h)===c}function y(h){return j(h)===i}function S(h){return j(h)===u}function P(h){return typeof h=="object"&&h!==null&&h.$$typeof===r}function _(h){return j(h)===f}function C(h){return j(h)===t}function x(h){return j(h)===E}function T(h){return j(h)===m}function O(h){return j(h)===n}function D(h){return j(h)===a}function R(h){return j(h)===o}function $(h){return j(h)===p}A.AsyncMode=d,A.ConcurrentMode=V,A.ContextConsumer=X,A.ContextProvider=Q,A.Element=tt,A.ForwardRef=q,A.Fragment=H,A.Lazy=U,A.Memo=J,A.Portal=Z,A.Profiler=ct,A.StrictMode=B,A.Suspense=G,A.isAsyncMode=ut,A.isConcurrentMode=s,A.isContextConsumer=y,A.isContextProvider=S,A.isElement=P,A.isForwardRef=_,A.isFragment=C,A.isLazy=x,A.isMemo=T,A.isPortal=O,A.isProfiler=D,A.isStrictMode=R,A.isSuspense=$,A.isValidElementType=I,A.typeOf=j})()),A}var Pt;function kt(){return Pt||(Pt=1,process.env.NODE_ENV==="production"?ot.exports=Vt():ot.exports=Ht()),ot.exports}var ft,Tt;function Xt(){if(Tt)return ft;Tt=1;var e=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function t(a){if(a==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(a)}function o(){try{if(!Object.assign)return!1;var a=new String("abc");if(a[5]="de",Object.getOwnPropertyNames(a)[0]==="5")return!1;for(var u={},i=0;i<10;i++)u["_"+String.fromCharCode(i)]=i;var l=Object.getOwnPropertyNames(u).map(function(f){return u[f]});if(l.join("")!=="0123456789")return!1;var c={};return"abcdefghijklmnopqrst".split("").forEach(function(f){c[f]=f}),Object.keys(Object.assign({},c)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return ft=o()?Object.assign:function(a,u){for(var i,l=t(a),c,f=1;f<arguments.length;f++){i=Object(arguments[f]);for(var p in i)r.call(i,p)&&(l[p]=i[p]);if(e){c=e(i);for(var v=0;v<c.length;v++)n.call(i,c[v])&&(l[c[v]]=i[c[v]])}}return l},ft}var lt,St;function _t(){if(St)return lt;St=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return lt=e,lt}var dt,Ct;function Wt(){return Ct||(Ct=1,dt=Function.call.bind(Object.prototype.hasOwnProperty)),dt}var ht,Ot;function Jt(){if(Ot)return ht;Ot=1;var e=function(){};if(process.env.NODE_ENV!=="production"){var r=_t(),n={},t=Wt();e=function(a){var u="Warning: "+a;typeof console<"u"&&console.error(u);try{throw new Error(u)}catch{}}}function o(a,u,i,l,c){if(process.env.NODE_ENV!=="production"){for(var f in a)if(t(a,f)){var p;try{if(typeof a[f]!="function"){var v=Error((l||"React class")+": "+i+" type `"+f+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof a[f]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw v.name="Invariant Violation",v}p=a[f](u,f,l,i,null,r)}catch(E){p=E}if(p&&!(p instanceof Error)&&e((l||"React class")+": type specification of "+i+" `"+f+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof p+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),p instanceof Error&&!(p.message in n)){n[p.message]=!0;var m=c?c():"";e("Failed "+i+" type: "+p.message+(m??""))}}}}return o.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(n={})},ht=o,ht}var pt,Rt;function Gt(){if(Rt)return pt;Rt=1;var e=kt(),r=Xt(),n=_t(),t=Wt(),o=Jt(),a=function(){};process.env.NODE_ENV!=="production"&&(a=function(i){var l="Warning: "+i;typeof console<"u"&&console.error(l);try{throw new Error(l)}catch{}});function u(){return null}return pt=function(i,l){var c=typeof Symbol=="function"&&Symbol.iterator,f="@@iterator";function p(s){var y=s&&(c&&s[c]||s[f]);if(typeof y=="function")return y}var v="<<anonymous>>",m={array:w("array"),bigint:w("bigint"),bool:w("boolean"),func:w("function"),number:w("number"),object:w("object"),string:w("string"),symbol:w("symbol"),any:W(),arrayOf:I,element:j(),elementType:d(),instanceOf:V,node:q(),objectOf:Q,oneOf:X,oneOfType:tt,shape:U,exact:J};function E(s,y){return s===y?s!==0||1/s===1/y:s!==s&&y!==y}function g(s,y){this.message=s,this.data=y&&typeof y=="object"?y:{},this.stack=""}g.prototype=Error.prototype;function b(s){if(process.env.NODE_ENV!=="production")var y={},S=0;function P(C,x,T,O,D,R,$){if(O=O||v,R=R||T,$!==n){if(l){var h=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw h.name="Invariant Violation",h}else if(process.env.NODE_ENV!=="production"&&typeof console<"u"){var F=O+":"+T;!y[F]&&S<3&&(a("You are manually calling a React.PropTypes validation function for the `"+R+"` prop on `"+O+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),y[F]=!0,S++)}}return x[T]==null?C?x[T]===null?new g("The "+D+" `"+R+"` is marked as required "+("in `"+O+"`, but its value is `null`.")):new g("The "+D+" `"+R+"` is marked as required in "+("`"+O+"`, but its value is `undefined`.")):null:s(x,T,O,D,R)}var _=P.bind(null,!1);return _.isRequired=P.bind(null,!0),_}function w(s){function y(S,P,_,C,x,T){var O=S[P],D=B(O);if(D!==s){var R=G(O);return new g("Invalid "+C+" `"+x+"` of type "+("`"+R+"` supplied to `"+_+"`, expected ")+("`"+s+"`."),{expectedType:s})}return null}return b(y)}function W(){return b(u)}function I(s){function y(S,P,_,C,x){if(typeof s!="function")return new g("Property `"+x+"` of component `"+_+"` has invalid PropType notation inside arrayOf.");var T=S[P];if(!Array.isArray(T)){var O=B(T);return new g("Invalid "+C+" `"+x+"` of type "+("`"+O+"` supplied to `"+_+"`, expected an array."))}for(var D=0;D<T.length;D++){var R=s(T,D,_,C,x+"["+D+"]",n);if(R instanceof Error)return R}return null}return b(y)}function j(){function s(y,S,P,_,C){var x=y[S];if(!i(x)){var T=B(x);return new g("Invalid "+_+" `"+C+"` of type "+("`"+T+"` supplied to `"+P+"`, expected a single ReactElement."))}return null}return b(s)}function d(){function s(y,S,P,_,C){var x=y[S];if(!e.isValidElementType(x)){var T=B(x);return new g("Invalid "+_+" `"+C+"` of type "+("`"+T+"` supplied to `"+P+"`, expected a single ReactElement type."))}return null}return b(s)}function V(s){function y(S,P,_,C,x){if(!(S[P]instanceof s)){var T=s.name||v,O=ut(S[P]);return new g("Invalid "+C+" `"+x+"` of type "+("`"+O+"` supplied to `"+_+"`, expected ")+("instance of `"+T+"`."))}return null}return b(y)}function X(s){if(!Array.isArray(s))return process.env.NODE_ENV!=="production"&&(arguments.length>1?a("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):a("Invalid argument supplied to oneOf, expected an array.")),u;function y(S,P,_,C,x){for(var T=S[P],O=0;O<s.length;O++)if(E(T,s[O]))return null;var D=JSON.stringify(s,function($,h){var F=G(h);return F==="symbol"?String(h):h});return new g("Invalid "+C+" `"+x+"` of value `"+String(T)+"` "+("supplied to `"+_+"`, expected one of "+D+"."))}return b(y)}function Q(s){function y(S,P,_,C,x){if(typeof s!="function")return new g("Property `"+x+"` of component `"+_+"` has invalid PropType notation inside objectOf.");var T=S[P],O=B(T);if(O!=="object")return new g("Invalid "+C+" `"+x+"` of type "+("`"+O+"` supplied to `"+_+"`, expected an object."));for(var D in T)if(t(T,D)){var R=s(T,D,_,C,x+"."+D,n);if(R instanceof Error)return R}return null}return b(y)}function tt(s){if(!Array.isArray(s))return process.env.NODE_ENV!=="production"&&a("Invalid argument supplied to oneOfType, expected an instance of array."),u;for(var y=0;y<s.length;y++){var S=s[y];if(typeof S!="function")return a("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+et(S)+" at index "+y+"."),u}function P(_,C,x,T,O){for(var D=[],R=0;R<s.length;R++){var $=s[R],h=$(_,C,x,T,O,n);if(h==null)return null;h.data&&t(h.data,"expectedType")&&D.push(h.data.expectedType)}var F=D.length>0?", expected one of type ["+D.join(", ")+"]":"";return new g("Invalid "+T+" `"+O+"` supplied to "+("`"+x+"`"+F+"."))}return b(P)}function q(){function s(y,S,P,_,C){return Z(y[S])?null:new g("Invalid "+_+" `"+C+"` supplied to "+("`"+P+"`, expected a ReactNode."))}return b(s)}function H(s,y,S,P,_){return new g((s||"React class")+": "+y+" type `"+S+"."+P+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+_+"`.")}function U(s){function y(S,P,_,C,x){var T=S[P],O=B(T);if(O!=="object")return new g("Invalid "+C+" `"+x+"` of type `"+O+"` "+("supplied to `"+_+"`, expected `object`."));for(var D in s){var R=s[D];if(typeof R!="function")return H(_,C,x,D,G(R));var $=R(T,D,_,C,x+"."+D,n);if($)return $}return null}return b(y)}function J(s){function y(S,P,_,C,x){var T=S[P],O=B(T);if(O!=="object")return new g("Invalid "+C+" `"+x+"` of type `"+O+"` "+("supplied to `"+_+"`, expected `object`."));var D=r({},S[P],s);for(var R in D){var $=s[R];if(t(s,R)&&typeof $!="function")return H(_,C,x,R,G($));if(!$)return new g("Invalid "+C+" `"+x+"` key `"+R+"` supplied to `"+_+"`.\nBad object: "+JSON.stringify(S[P],null," ")+`
|
|
2
|
-
Valid keys: `+JSON.stringify(Object.keys(s),null," "));var h=$(T,R,_,C,x+"."+R,n);if(h)return h}return null}return b(y)}function Z(s){switch(typeof s){case"number":case"string":case"undefined":return!0;case"boolean":return!s;case"object":if(Array.isArray(s))return s.every(Z);if(s===null||i(s))return!0;var y=p(s);if(y){var S=y.call(s),P;if(y!==s.entries){for(;!(P=S.next()).done;)if(!Z(P.value))return!1}else for(;!(P=S.next()).done;){var _=P.value;if(_&&!Z(_[1]))return!1}}else return!1;return!0;default:return!1}}function ct(s,y){return s==="symbol"?!0:y?y["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&y instanceof Symbol:!1}function B(s){var y=typeof s;return Array.isArray(s)?"array":s instanceof RegExp?"object":ct(y,s)?"symbol":y}function G(s){if(typeof s>"u"||s===null)return""+s;var y=B(s);if(y==="object"){if(s instanceof Date)return"date";if(s instanceof RegExp)return"regexp"}return y}function et(s){var y=G(s);switch(y){case"array":case"object":return"an "+y;case"boolean":case"date":case"regexp":return"a "+y;default:return y}}function ut(s){return!s.constructor||!s.constructor.name?v:s.constructor.name}return m.checkPropTypes=o,m.resetWarningCache=o.resetWarningCache,m.PropTypes=m,m},pt}var vt,Mt;function Kt(){if(Mt)return vt;Mt=1;var e=_t();function r(){}function n(){}return n.resetWarningCache=r,vt=function(){function t(u,i,l,c,f,p){if(p!==e){var v=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw v.name="Invariant Violation",v}}t.isRequired=t;function o(){return t}var a={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:o,element:t,elementType:t,instanceOf:o,node:t,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:n,resetWarningCache:r};return a.PropTypes=a,a},vt}var At;function Zt(){if(At)return nt.exports;if(At=1,process.env.NODE_ENV!=="production"){var e=kt(),r=!0;nt.exports=Gt()(e.isElement,r)}else nt.exports=Kt()();return nt.exports}var Qt=Zt();const L=Dt.getDefaultExportFromCjs(Qt);function K(e,r,n){this.x=e,this.y=r,this.time=n||new Date().getTime()}K.prototype.velocityFrom=function(e){return this.time!==e.time?this.distanceTo(e)/(this.time-e.time):1};K.prototype.distanceTo=function(e){return Math.sqrt(Math.pow(this.x-e.x,2)+Math.pow(this.y-e.y,2))};K.prototype.equals=function(e){return this.x===e.x&&this.y===e.y&&this.time===e.time};function bt(e,r,n,t){this.startPoint=e,this.control1=r,this.control2=n,this.endPoint=t}bt.prototype.length=function(){for(var e=10,r=0,n=void 0,t=void 0,o=0;o<=e;o+=1){var a=o/e,u=this._point(a,this.startPoint.x,this.control1.x,this.control2.x,this.endPoint.x),i=this._point(a,this.startPoint.y,this.control1.y,this.control2.y,this.endPoint.y);if(o>0){var l=u-n,c=i-t;r+=Math.sqrt(l*l+c*c)}n=u,t=i}return r};bt.prototype._point=function(e,r,n,t,o){return r*(1-e)*(1-e)*(1-e)+3*n*(1-e)*(1-e)*e+3*t*(1-e)*e*e+o*e*e*e};function te(e,r,n){var t,o,a,u=null,i=0;n||(n={});var l=function(){i=n.leading===!1?0:Date.now(),u=null,a=e.apply(t,o),u||(t=o=null)};return function(){var c=Date.now();!i&&n.leading===!1&&(i=c);var f=r-(c-i);return t=this,o=arguments,f<=0||f>r?(u&&(clearTimeout(u),u=null),i=c,a=e.apply(t,o),u||(t=o=null)):!u&&n.trailing!==!1&&(u=setTimeout(l,f)),a}}function k(e,r){var n=this,t=r||{};this.velocityFilterWeight=t.velocityFilterWeight||.7,this.minWidth=t.minWidth||.5,this.maxWidth=t.maxWidth||2.5,this.throttle="throttle"in t?t.throttle:16,this.minDistance="minDistance"in t?t.minDistance:5,this.throttle?this._strokeMoveUpdate=te(k.prototype._strokeUpdate,this.throttle):this._strokeMoveUpdate=k.prototype._strokeUpdate,this.dotSize=t.dotSize||function(){return(this.minWidth+this.maxWidth)/2},this.penColor=t.penColor||"black",this.backgroundColor=t.backgroundColor||"rgba(0,0,0,0)",this.onBegin=t.onBegin,this.onEnd=t.onEnd,this._canvas=e,this._ctx=e.getContext("2d"),this.clear(),this._handleMouseDown=function(o){o.which===1&&(n._mouseButtonDown=!0,n._strokeBegin(o))},this._handleMouseMove=function(o){n._mouseButtonDown&&n._strokeMoveUpdate(o)},this._handleMouseUp=function(o){o.which===1&&n._mouseButtonDown&&(n._mouseButtonDown=!1,n._strokeEnd(o))},this._handleTouchStart=function(o){if(o.targetTouches.length===1){var a=o.changedTouches[0];n._strokeBegin(a)}},this._handleTouchMove=function(o){o.preventDefault();var a=o.targetTouches[0];n._strokeMoveUpdate(a)},this._handleTouchEnd=function(o){var a=o.target===n._canvas;a&&(o.preventDefault(),n._strokeEnd(o))},this.on()}k.prototype.clear=function(){var e=this._ctx,r=this._canvas;e.fillStyle=this.backgroundColor,e.clearRect(0,0,r.width,r.height),e.fillRect(0,0,r.width,r.height),this._data=[],this._reset(),this._isEmpty=!0};k.prototype.fromDataURL=function(e){var r=this,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=new Image,o=n.ratio||window.devicePixelRatio||1,a=n.width||this._canvas.width/o,u=n.height||this._canvas.height/o;this._reset(),t.src=e,t.onload=function(){r._ctx.drawImage(t,0,0,a,u)},this._isEmpty=!1};k.prototype.toDataURL=function(e){var r;switch(e){case"image/svg+xml":return this._toSVG();default:for(var n=arguments.length,t=Array(n>1?n-1:0),o=1;o<n;o++)t[o-1]=arguments[o];return(r=this._canvas).toDataURL.apply(r,[e].concat(t))}};k.prototype.on=function(){this._handleMouseEvents(),this._handleTouchEvents()};k.prototype.off=function(){this._canvas.removeEventListener("mousedown",this._handleMouseDown),this._canvas.removeEventListener("mousemove",this._handleMouseMove),document.removeEventListener("mouseup",this._handleMouseUp),this._canvas.removeEventListener("touchstart",this._handleTouchStart),this._canvas.removeEventListener("touchmove",this._handleTouchMove),this._canvas.removeEventListener("touchend",this._handleTouchEnd)};k.prototype.isEmpty=function(){return this._isEmpty};k.prototype._strokeBegin=function(e){this._data.push([]),this._reset(),this._strokeUpdate(e),typeof this.onBegin=="function"&&this.onBegin(e)};k.prototype._strokeUpdate=function(e){var r=e.clientX,n=e.clientY,t=this._createPoint(r,n),o=this._data[this._data.length-1],a=o&&o[o.length-1],u=a&&t.distanceTo(a)<this.minDistance;if(!(a&&u)){var i=this._addPoint(t),l=i.curve,c=i.widths;l&&c&&this._drawCurve(l,c.start,c.end),this._data[this._data.length-1].push({x:t.x,y:t.y,time:t.time,color:this.penColor})}};k.prototype._strokeEnd=function(e){var r=this.points.length>2,n=this.points[0];if(!r&&n&&this._drawDot(n),n){var t=this._data[this._data.length-1],o=t[t.length-1];n.equals(o)||t.push({x:n.x,y:n.y,time:n.time,color:this.penColor})}typeof this.onEnd=="function"&&this.onEnd(e)};k.prototype._handleMouseEvents=function(){this._mouseButtonDown=!1,this._canvas.addEventListener("mousedown",this._handleMouseDown),this._canvas.addEventListener("mousemove",this._handleMouseMove),document.addEventListener("mouseup",this._handleMouseUp)};k.prototype._handleTouchEvents=function(){this._canvas.style.msTouchAction="none",this._canvas.style.touchAction="none",this._canvas.addEventListener("touchstart",this._handleTouchStart),this._canvas.addEventListener("touchmove",this._handleTouchMove),this._canvas.addEventListener("touchend",this._handleTouchEnd)};k.prototype._reset=function(){this.points=[],this._lastVelocity=0,this._lastWidth=(this.minWidth+this.maxWidth)/2,this._ctx.fillStyle=this.penColor};k.prototype._createPoint=function(e,r,n){var t=this._canvas.getBoundingClientRect();return new K(e-t.left,r-t.top,n||new Date().getTime())};k.prototype._addPoint=function(e){var r=this.points,n=void 0;if(r.push(e),r.length>2){r.length===3&&r.unshift(r[0]),n=this._calculateCurveControlPoints(r[0],r[1],r[2]);var t=n.c2;n=this._calculateCurveControlPoints(r[1],r[2],r[3]);var o=n.c1,a=new bt(r[1],t,o,r[2]),u=this._calculateCurveWidths(a);return r.shift(),{curve:a,widths:u}}return{}};k.prototype._calculateCurveControlPoints=function(e,r,n){var t=e.x-r.x,o=e.y-r.y,a=r.x-n.x,u=r.y-n.y,i={x:(e.x+r.x)/2,y:(e.y+r.y)/2},l={x:(r.x+n.x)/2,y:(r.y+n.y)/2},c=Math.sqrt(t*t+o*o),f=Math.sqrt(a*a+u*u),p=i.x-l.x,v=i.y-l.y,m=f/(c+f),E={x:l.x+p*m,y:l.y+v*m},g=r.x-E.x,b=r.y-E.y;return{c1:new K(i.x+g,i.y+b),c2:new K(l.x+g,l.y+b)}};k.prototype._calculateCurveWidths=function(e){var r=e.startPoint,n=e.endPoint,t={start:null,end:null},o=this.velocityFilterWeight*n.velocityFrom(r)+(1-this.velocityFilterWeight)*this._lastVelocity,a=this._strokeWidth(o);return t.start=this._lastWidth,t.end=a,this._lastVelocity=o,this._lastWidth=a,t};k.prototype._strokeWidth=function(e){return Math.max(this.maxWidth/(e+1),this.minWidth)};k.prototype._drawPoint=function(e,r,n){var t=this._ctx;t.moveTo(e,r),t.arc(e,r,n,0,2*Math.PI,!1),this._isEmpty=!1};k.prototype._drawCurve=function(e,r,n){var t=this._ctx,o=n-r,a=Math.floor(e.length());t.beginPath();for(var u=0;u<a;u+=1){var i=u/a,l=i*i,c=l*i,f=1-i,p=f*f,v=p*f,m=v*e.startPoint.x;m+=3*p*i*e.control1.x,m+=3*f*l*e.control2.x,m+=c*e.endPoint.x;var E=v*e.startPoint.y;E+=3*p*i*e.control1.y,E+=3*f*l*e.control2.y,E+=c*e.endPoint.y;var g=r+c*o;this._drawPoint(m,E,g)}t.closePath(),t.fill()};k.prototype._drawDot=function(e){var r=this._ctx,n=typeof this.dotSize=="function"?this.dotSize():this.dotSize;r.beginPath(),this._drawPoint(e.x,e.y,n),r.closePath(),r.fill()};k.prototype._fromData=function(e,r,n){for(var t=0;t<e.length;t+=1){var o=e[t];if(o.length>1)for(var a=0;a<o.length;a+=1){var u=o[a],i=new K(u.x,u.y,u.time),l=u.color;if(a===0)this.penColor=l,this._reset(),this._addPoint(i);else if(a!==o.length-1){var c=this._addPoint(i),f=c.curve,p=c.widths;f&&p&&r(f,p,l)}}else{this._reset();var v=o[0];n(v)}}};k.prototype._toSVG=function(){var e=this,r=this._data,n=this._canvas,t=Math.max(window.devicePixelRatio||1,1),o=0,a=0,u=n.width/t,i=n.height/t,l=document.createElementNS("http://www.w3.org/2000/svg","svg");l.setAttributeNS(null,"width",n.width),l.setAttributeNS(null,"height",n.height),this._fromData(r,function(w,W,I){var j=document.createElement("path");if(!isNaN(w.control1.x)&&!isNaN(w.control1.y)&&!isNaN(w.control2.x)&&!isNaN(w.control2.y)){var d="M "+w.startPoint.x.toFixed(3)+","+w.startPoint.y.toFixed(3)+" "+("C "+w.control1.x.toFixed(3)+","+w.control1.y.toFixed(3)+" ")+(w.control2.x.toFixed(3)+","+w.control2.y.toFixed(3)+" ")+(w.endPoint.x.toFixed(3)+","+w.endPoint.y.toFixed(3));j.setAttribute("d",d),j.setAttribute("stroke-width",(W.end*2.25).toFixed(3)),j.setAttribute("stroke",I),j.setAttribute("fill","none"),j.setAttribute("stroke-linecap","round"),l.appendChild(j)}},function(w){var W=document.createElement("circle"),I=typeof e.dotSize=="function"?e.dotSize():e.dotSize;W.setAttribute("r",I),W.setAttribute("cx",w.x),W.setAttribute("cy",w.y),W.setAttribute("fill",w.color),l.appendChild(W)});var c="data:image/svg+xml;base64,",f='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"'+(' viewBox="'+o+" "+a+" "+u+" "+i+'"')+(' width="'+u+'"')+(' height="'+i+'"')+">",p=l.innerHTML;if(p===void 0){var v=document.createElement("dummy"),m=l.childNodes;v.innerHTML="";for(var E=0;E<m.length;E+=1)v.appendChild(m[E].cloneNode(!0));p=v.innerHTML}var g="</svg>",b=f+p+g;return c+btoa(b)};k.prototype.fromData=function(e){var r=this;this.clear(),this._fromData(e,function(n,t){return r._drawCurve(n,t.start,t.end)},function(n){return r._drawDot(n)}),this._data=e};k.prototype.toData=function(){return this._data};var it={exports:{}},ee=it.exports,jt;function re(){return jt||(jt=1,(function(e,r){(function(n,t){e.exports=t()})(ee,function(){return(function(n){function t(a){if(o[a])return o[a].exports;var u=o[a]={exports:{},id:a,loaded:!1};return n[a].call(u.exports,u,u.exports,t),u.loaded=!0,u.exports}var o={};return t.m=n,t.c=o,t.p="",t(0)})([function(n,t){function o(c){var f=c.getContext("2d"),p=c.width,v=c.height,m=f.getImageData(0,0,p,v).data,E=i(!0,p,v,m),g=i(!1,p,v,m),b=l(!0,p,v,m),w=l(!1,p,v,m),W=w-b+1,I=g-E+1,j=f.getImageData(b,E,W,I);return c.width=W,c.height=I,f.clearRect(0,0,W,I),f.putImageData(j,0,0),c}function a(c,f,p,v){return{red:v[4*(p*f+c)],green:v[4*(p*f+c)+1],blue:v[4*(p*f+c)+2],alpha:v[4*(p*f+c)+3]}}function u(c,f,p,v){return a(c,f,p,v).alpha}function i(c,f,p,v){for(var m=c?1:-1,E=c?0:p-1,g=E;c?g<p:g>-1;g+=m)for(var b=0;b<f;b++)if(u(b,g,f,v))return g;return null}function l(c,f,p,v){for(var m=c?1:-1,E=c?0:f-1,g=E;c?g<f:g>-1;g+=m)for(var b=0;b<p;b++)if(u(g,b,f,v))return g;return null}Object.defineProperty(t,"__esModule",{value:!0}),t.default=o}])})})(it)),it.exports}var ne=re();const oe=Dt.getDefaultExportFromCjs(ne);var ie=["canvasProps","clearOnResize"],st=(function(e){Bt(n,e);var r=Nt(n);function n(){var t;Ut(this,n);for(var o=arguments.length,a=new Array(o),u=0;u<o;u++)a[u]=arguments[u];return t=r.call.apply(r,[this].concat(a)),t.staticThis=t.constructor,t._sigPad=null,t._canvas=null,t.setRef=function(i){t._canvas=i,t._canvas===null&&(t._sigPad=null)},t._excludeOurProps=function(){var i=t.props;i.canvasProps,i.clearOnResize;var l=zt(i,ie);return l},t.componentDidMount=function(){var i=t.getCanvas();t._sigPad=new k(i,t._excludeOurProps()),t._resizeCanvas(),t.on()},t.componentWillUnmount=function(){t.off()},t.componentDidUpdate=function(){Object.assign(t._sigPad,t._excludeOurProps())},t.getCanvas=function(){if(t._canvas===null)throw t.staticThis.refNullError;return t._canvas},t.getTrimmedCanvas=function(){var i=t.getCanvas(),l=document.createElement("canvas");return l.width=i.width,l.height=i.height,l.getContext("2d").drawImage(i,0,0),oe(l)},t.getSignaturePad=function(){if(t._sigPad===null)throw t.staticThis.refNullError;return t._sigPad},t._checkClearOnResize=function(){t.props.clearOnResize&&t._resizeCanvas()},t._resizeCanvas=function(){var i,l,c=(i=t.props.canvasProps)!==null&&i!==void 0?i:{},f=c.width,p=c.height;if(!(typeof f<"u"&&typeof p<"u")){var v=t.getCanvas(),m=Math.max((l=window.devicePixelRatio)!==null&&l!==void 0?l:1,1);typeof f>"u"&&(v.width=v.offsetWidth*m),typeof p>"u"&&(v.height=v.offsetHeight*m),v.getContext("2d").scale(m,m),t.clear()}},t.render=function(){var i=t.props.canvasProps;return N.createElement("canvas",yt({ref:t.setRef},i))},t.on=function(){return window.addEventListener("resize",t._checkClearOnResize),t.getSignaturePad().on()},t.off=function(){return window.removeEventListener("resize",t._checkClearOnResize),t.getSignaturePad().off()},t.clear=function(){return t.getSignaturePad().clear()},t.isEmpty=function(){return t.getSignaturePad().isEmpty()},t.fromDataURL=function(i,l){return t.getSignaturePad().fromDataURL(i,l)},t.toDataURL=function(i,l){return t.getSignaturePad().toDataURL(i,l)},t.fromData=function(i){return t.getSignaturePad().fromData(i)},t.toData=function(){return t.getSignaturePad().toData()},t}return qt(n)})(N.Component);st.propTypes={velocityFilterWeight:L.number,minWidth:L.number,maxWidth:L.number,minDistance:L.number,dotSize:L.oneOfType([L.number,L.func]),penColor:L.string,throttle:L.number,onEnd:L.func,onBegin:L.func,canvasProps:L.object,clearOnResize:L.bool};st.defaultProps={clearOnResize:!0};st.refNullError=new Error("react-signature-canvas is currently mounting or unmounting: React refs are null during this phase.");function ae({attributes:e={},rules:r={},onChange:n}){const{id:t="",MuiAttributes:o={},label:a="Signature",bucket:u="",region:i="",identityPoolId:l="",path:c="",disabled:f=!1,CanvasProps:p={}}=e,v=N.useRef(null),m=N.useRef(null),[E,g]=N.useState(!1),[b,w]=N.useState(e.value||null),[W,I]=N.useState(400),[j,d]=N.useState(!1),V=r?.validation?.some(q=>q.rule==="mandatory")||!1,X=p?.style?.height||150;N.useEffect(()=>{const q=m.current;if(!q)return;const H=new ResizeObserver(U=>{const J=U[0]?.contentRect?.width;J&&J>0&&I(Math.floor(J))});return H.observe(q),()=>H.disconnect()},[]),N.useEffect(()=>{if(!e.value){w(null),d(!1),v.current&&v.current.clear();return}w(e.value)},[e.value]);const Q=()=>{v.current&&v.current.clear(),w(null),d(!1),n&&n({id:t,value:""})},tt=async()=>{if(!v.current||v.current.isEmpty())return;g(!0);const q=v.current.toDataURL("image/png"),H=`${t}-${Date.now()}.png`;try{const U=await $t.uploadToS3(q,H,u,i,l,c);w(U),d(!0),n&&n({id:t,value:U})}catch(U){console.error("Signature upload failed",U)}finally{g(!1)}};return z.jsxs(Y.Box,{sx:{width:"100%",...o.sx},children:[z.jsxs(Y.Typography,{variant:"subtitle2",gutterBottom:!0,sx:{display:"flex"},children:[a,V&&z.jsx(Y.Box,{component:"span",sx:{color:"error.main",ml:.5},children:"*"})]}),z.jsxs(Y.Box,{ref:m,sx:{position:"relative",isolation:"isolate",zIndex:1,border:"1px solid",borderColor:"divider",borderRadius:1,overflow:"hidden",bgcolor:"background.paper"},children:[z.jsx(st,{ref:v,penColor:"black",canvasProps:{className:"sigCanvas",width:W,height:X,style:{display:"block",position:"relative",zIndex:1,touchAction:"none",pointerEvents:f?"none":"auto",...p?.style,width:"100%",height:X}},backgroundColor:"transparent"}),b&&z.jsx(Y.Box,{component:"img",src:b,alt:"Signature",sx:{position:"absolute",inset:0,width:"100%",height:X,objectFit:"contain",bgcolor:"background.paper"}})]}),z.jsxs(Y.Box,{sx:{display:"flex",flexWrap:"wrap",gap:1,alignItems:"center",mt:1},children:[z.jsx(Y.Button,{variant:"outlined",color:"secondary",onClick:Q,size:"small",disabled:f||E,children:"Clear"}),z.jsx(Y.Button,{variant:"contained",color:"primary",onClick:tt,size:"small",disabled:f||E||b!==null,startIcon:E?z.jsx(Y.CircularProgress,{size:16,color:"inherit"}):null,children:b?"Saved":"Save"}),j&&b&&z.jsx(Y.Typography,{variant:"caption",color:"success.main",children:"Signature Saved!"})]})]})}exports.default=ae;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const z=require("react/jsx-runtime"),N=require("react"),Dt=require("./AIForm-D8_6RVmA.js"),Y=require("@mui/material"),$t=require("./s3Upload-B0JeoLkS.js");function yt(){return yt=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n)({}).hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e},yt.apply(null,arguments)}function Lt(e,r){if(e==null)return{};var n={};for(var t in e)if({}.hasOwnProperty.call(e,t)){if(r.indexOf(t)!==-1)continue;n[t]=e[t]}return n}function zt(e,r){if(e==null)return{};var n,t,o=Lt(e,r);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(t=0;t<a.length;t++)n=a[t],r.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function mt(e){"@babel/helpers - typeof";return mt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},mt(e)}function qt(e,r,n){return Object.defineProperty(e,"prototype",{writable:!1}),e}function Ut(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function gt(e,r){return gt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,t){return n.__proto__=t,n},gt(e,r)}function Bt(e,r){if(typeof r!="function"&&r!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),r&>(e,r)}function at(e){return at=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(r){return r.__proto__||Object.getPrototypeOf(r)},at(e)}function It(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(It=function(){return!!e})()}function Ft(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Yt(e,r){if(r&&(mt(r)=="object"||typeof r=="function"))return r;if(r!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ft(e)}function Nt(e){var r=It();return function(){var n,t=at(e);if(r){var o=at(this).constructor;n=Reflect.construct(t,arguments,o)}else n=t.apply(this,arguments);return Yt(this,n)}}var nt={exports:{}},ot={exports:{}},M={};var Et;function Vt(){if(Et)return M;Et=1;var e=typeof Symbol=="function"&&Symbol.for,r=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,t=e?Symbol.for("react.fragment"):60107,o=e?Symbol.for("react.strict_mode"):60108,a=e?Symbol.for("react.profiler"):60114,u=e?Symbol.for("react.provider"):60109,i=e?Symbol.for("react.context"):60110,l=e?Symbol.for("react.async_mode"):60111,c=e?Symbol.for("react.concurrent_mode"):60111,f=e?Symbol.for("react.forward_ref"):60112,p=e?Symbol.for("react.suspense"):60113,v=e?Symbol.for("react.suspense_list"):60120,m=e?Symbol.for("react.memo"):60115,E=e?Symbol.for("react.lazy"):60116,g=e?Symbol.for("react.block"):60121,b=e?Symbol.for("react.fundamental"):60117,w=e?Symbol.for("react.responder"):60118,W=e?Symbol.for("react.scope"):60119;function I(d){if(typeof d=="object"&&d!==null){var V=d.$$typeof;switch(V){case r:switch(d=d.type,d){case l:case c:case t:case a:case o:case p:return d;default:switch(d=d&&d.$$typeof,d){case i:case f:case E:case m:case u:return d;default:return V}}case n:return V}}}function j(d){return I(d)===c}return M.AsyncMode=l,M.ConcurrentMode=c,M.ContextConsumer=i,M.ContextProvider=u,M.Element=r,M.ForwardRef=f,M.Fragment=t,M.Lazy=E,M.Memo=m,M.Portal=n,M.Profiler=a,M.StrictMode=o,M.Suspense=p,M.isAsyncMode=function(d){return j(d)||I(d)===l},M.isConcurrentMode=j,M.isContextConsumer=function(d){return I(d)===i},M.isContextProvider=function(d){return I(d)===u},M.isElement=function(d){return typeof d=="object"&&d!==null&&d.$$typeof===r},M.isForwardRef=function(d){return I(d)===f},M.isFragment=function(d){return I(d)===t},M.isLazy=function(d){return I(d)===E},M.isMemo=function(d){return I(d)===m},M.isPortal=function(d){return I(d)===n},M.isProfiler=function(d){return I(d)===a},M.isStrictMode=function(d){return I(d)===o},M.isSuspense=function(d){return I(d)===p},M.isValidElementType=function(d){return typeof d=="string"||typeof d=="function"||d===t||d===c||d===a||d===o||d===p||d===v||typeof d=="object"&&d!==null&&(d.$$typeof===E||d.$$typeof===m||d.$$typeof===u||d.$$typeof===i||d.$$typeof===f||d.$$typeof===b||d.$$typeof===w||d.$$typeof===W||d.$$typeof===g)},M.typeOf=I,M}var A={};var wt;function Ht(){return wt||(wt=1,process.env.NODE_ENV!=="production"&&(function(){var e=typeof Symbol=="function"&&Symbol.for,r=e?Symbol.for("react.element"):60103,n=e?Symbol.for("react.portal"):60106,t=e?Symbol.for("react.fragment"):60107,o=e?Symbol.for("react.strict_mode"):60108,a=e?Symbol.for("react.profiler"):60114,u=e?Symbol.for("react.provider"):60109,i=e?Symbol.for("react.context"):60110,l=e?Symbol.for("react.async_mode"):60111,c=e?Symbol.for("react.concurrent_mode"):60111,f=e?Symbol.for("react.forward_ref"):60112,p=e?Symbol.for("react.suspense"):60113,v=e?Symbol.for("react.suspense_list"):60120,m=e?Symbol.for("react.memo"):60115,E=e?Symbol.for("react.lazy"):60116,g=e?Symbol.for("react.block"):60121,b=e?Symbol.for("react.fundamental"):60117,w=e?Symbol.for("react.responder"):60118,W=e?Symbol.for("react.scope"):60119;function I(h){return typeof h=="string"||typeof h=="function"||h===t||h===c||h===a||h===o||h===p||h===v||typeof h=="object"&&h!==null&&(h.$$typeof===E||h.$$typeof===m||h.$$typeof===u||h.$$typeof===i||h.$$typeof===f||h.$$typeof===b||h.$$typeof===w||h.$$typeof===W||h.$$typeof===g)}function j(h){if(typeof h=="object"&&h!==null){var F=h.$$typeof;switch(F){case r:var rt=h.type;switch(rt){case l:case c:case t:case a:case o:case p:return rt;default:var xt=rt&&rt.$$typeof;switch(xt){case i:case f:case E:case m:case u:return xt;default:return F}}case n:return F}}}var d=l,V=c,X=i,Q=u,tt=r,q=f,H=t,U=E,J=m,Z=n,ct=a,B=o,G=p,et=!1;function ut(h){return et||(et=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),s(h)||j(h)===l}function s(h){return j(h)===c}function y(h){return j(h)===i}function S(h){return j(h)===u}function P(h){return typeof h=="object"&&h!==null&&h.$$typeof===r}function _(h){return j(h)===f}function C(h){return j(h)===t}function x(h){return j(h)===E}function T(h){return j(h)===m}function O(h){return j(h)===n}function D(h){return j(h)===a}function R(h){return j(h)===o}function $(h){return j(h)===p}A.AsyncMode=d,A.ConcurrentMode=V,A.ContextConsumer=X,A.ContextProvider=Q,A.Element=tt,A.ForwardRef=q,A.Fragment=H,A.Lazy=U,A.Memo=J,A.Portal=Z,A.Profiler=ct,A.StrictMode=B,A.Suspense=G,A.isAsyncMode=ut,A.isConcurrentMode=s,A.isContextConsumer=y,A.isContextProvider=S,A.isElement=P,A.isForwardRef=_,A.isFragment=C,A.isLazy=x,A.isMemo=T,A.isPortal=O,A.isProfiler=D,A.isStrictMode=R,A.isSuspense=$,A.isValidElementType=I,A.typeOf=j})()),A}var Pt;function kt(){return Pt||(Pt=1,process.env.NODE_ENV==="production"?ot.exports=Vt():ot.exports=Ht()),ot.exports}var ft,Tt;function Xt(){if(Tt)return ft;Tt=1;var e=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;function t(a){if(a==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(a)}function o(){try{if(!Object.assign)return!1;var a=new String("abc");if(a[5]="de",Object.getOwnPropertyNames(a)[0]==="5")return!1;for(var u={},i=0;i<10;i++)u["_"+String.fromCharCode(i)]=i;var l=Object.getOwnPropertyNames(u).map(function(f){return u[f]});if(l.join("")!=="0123456789")return!1;var c={};return"abcdefghijklmnopqrst".split("").forEach(function(f){c[f]=f}),Object.keys(Object.assign({},c)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return ft=o()?Object.assign:function(a,u){for(var i,l=t(a),c,f=1;f<arguments.length;f++){i=Object(arguments[f]);for(var p in i)r.call(i,p)&&(l[p]=i[p]);if(e){c=e(i);for(var v=0;v<c.length;v++)n.call(i,c[v])&&(l[c[v]]=i[c[v]])}}return l},ft}var lt,St;function _t(){if(St)return lt;St=1;var e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return lt=e,lt}var dt,Ct;function Wt(){return Ct||(Ct=1,dt=Function.call.bind(Object.prototype.hasOwnProperty)),dt}var ht,Ot;function Jt(){if(Ot)return ht;Ot=1;var e=function(){};if(process.env.NODE_ENV!=="production"){var r=_t(),n={},t=Wt();e=function(a){var u="Warning: "+a;typeof console<"u"&&console.error(u);try{throw new Error(u)}catch{}}}function o(a,u,i,l,c){if(process.env.NODE_ENV!=="production"){for(var f in a)if(t(a,f)){var p;try{if(typeof a[f]!="function"){var v=Error((l||"React class")+": "+i+" type `"+f+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof a[f]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw v.name="Invariant Violation",v}p=a[f](u,f,l,i,null,r)}catch(E){p=E}if(p&&!(p instanceof Error)&&e((l||"React class")+": type specification of "+i+" `"+f+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof p+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),p instanceof Error&&!(p.message in n)){n[p.message]=!0;var m=c?c():"";e("Failed "+i+" type: "+p.message+(m??""))}}}}return o.resetWarningCache=function(){process.env.NODE_ENV!=="production"&&(n={})},ht=o,ht}var pt,Rt;function Gt(){if(Rt)return pt;Rt=1;var e=kt(),r=Xt(),n=_t(),t=Wt(),o=Jt(),a=function(){};process.env.NODE_ENV!=="production"&&(a=function(i){var l="Warning: "+i;typeof console<"u"&&console.error(l);try{throw new Error(l)}catch{}});function u(){return null}return pt=function(i,l){var c=typeof Symbol=="function"&&Symbol.iterator,f="@@iterator";function p(s){var y=s&&(c&&s[c]||s[f]);if(typeof y=="function")return y}var v="<<anonymous>>",m={array:w("array"),bigint:w("bigint"),bool:w("boolean"),func:w("function"),number:w("number"),object:w("object"),string:w("string"),symbol:w("symbol"),any:W(),arrayOf:I,element:j(),elementType:d(),instanceOf:V,node:q(),objectOf:Q,oneOf:X,oneOfType:tt,shape:U,exact:J};function E(s,y){return s===y?s!==0||1/s===1/y:s!==s&&y!==y}function g(s,y){this.message=s,this.data=y&&typeof y=="object"?y:{},this.stack=""}g.prototype=Error.prototype;function b(s){if(process.env.NODE_ENV!=="production")var y={},S=0;function P(C,x,T,O,D,R,$){if(O=O||v,R=R||T,$!==n){if(l){var h=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw h.name="Invariant Violation",h}else if(process.env.NODE_ENV!=="production"&&typeof console<"u"){var F=O+":"+T;!y[F]&&S<3&&(a("You are manually calling a React.PropTypes validation function for the `"+R+"` prop on `"+O+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),y[F]=!0,S++)}}return x[T]==null?C?x[T]===null?new g("The "+D+" `"+R+"` is marked as required "+("in `"+O+"`, but its value is `null`.")):new g("The "+D+" `"+R+"` is marked as required in "+("`"+O+"`, but its value is `undefined`.")):null:s(x,T,O,D,R)}var _=P.bind(null,!1);return _.isRequired=P.bind(null,!0),_}function w(s){function y(S,P,_,C,x,T){var O=S[P],D=B(O);if(D!==s){var R=G(O);return new g("Invalid "+C+" `"+x+"` of type "+("`"+R+"` supplied to `"+_+"`, expected ")+("`"+s+"`."),{expectedType:s})}return null}return b(y)}function W(){return b(u)}function I(s){function y(S,P,_,C,x){if(typeof s!="function")return new g("Property `"+x+"` of component `"+_+"` has invalid PropType notation inside arrayOf.");var T=S[P];if(!Array.isArray(T)){var O=B(T);return new g("Invalid "+C+" `"+x+"` of type "+("`"+O+"` supplied to `"+_+"`, expected an array."))}for(var D=0;D<T.length;D++){var R=s(T,D,_,C,x+"["+D+"]",n);if(R instanceof Error)return R}return null}return b(y)}function j(){function s(y,S,P,_,C){var x=y[S];if(!i(x)){var T=B(x);return new g("Invalid "+_+" `"+C+"` of type "+("`"+T+"` supplied to `"+P+"`, expected a single ReactElement."))}return null}return b(s)}function d(){function s(y,S,P,_,C){var x=y[S];if(!e.isValidElementType(x)){var T=B(x);return new g("Invalid "+_+" `"+C+"` of type "+("`"+T+"` supplied to `"+P+"`, expected a single ReactElement type."))}return null}return b(s)}function V(s){function y(S,P,_,C,x){if(!(S[P]instanceof s)){var T=s.name||v,O=ut(S[P]);return new g("Invalid "+C+" `"+x+"` of type "+("`"+O+"` supplied to `"+_+"`, expected ")+("instance of `"+T+"`."))}return null}return b(y)}function X(s){if(!Array.isArray(s))return process.env.NODE_ENV!=="production"&&(arguments.length>1?a("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):a("Invalid argument supplied to oneOf, expected an array.")),u;function y(S,P,_,C,x){for(var T=S[P],O=0;O<s.length;O++)if(E(T,s[O]))return null;var D=JSON.stringify(s,function($,h){var F=G(h);return F==="symbol"?String(h):h});return new g("Invalid "+C+" `"+x+"` of value `"+String(T)+"` "+("supplied to `"+_+"`, expected one of "+D+"."))}return b(y)}function Q(s){function y(S,P,_,C,x){if(typeof s!="function")return new g("Property `"+x+"` of component `"+_+"` has invalid PropType notation inside objectOf.");var T=S[P],O=B(T);if(O!=="object")return new g("Invalid "+C+" `"+x+"` of type "+("`"+O+"` supplied to `"+_+"`, expected an object."));for(var D in T)if(t(T,D)){var R=s(T,D,_,C,x+"."+D,n);if(R instanceof Error)return R}return null}return b(y)}function tt(s){if(!Array.isArray(s))return process.env.NODE_ENV!=="production"&&a("Invalid argument supplied to oneOfType, expected an instance of array."),u;for(var y=0;y<s.length;y++){var S=s[y];if(typeof S!="function")return a("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+et(S)+" at index "+y+"."),u}function P(_,C,x,T,O){for(var D=[],R=0;R<s.length;R++){var $=s[R],h=$(_,C,x,T,O,n);if(h==null)return null;h.data&&t(h.data,"expectedType")&&D.push(h.data.expectedType)}var F=D.length>0?", expected one of type ["+D.join(", ")+"]":"";return new g("Invalid "+T+" `"+O+"` supplied to "+("`"+x+"`"+F+"."))}return b(P)}function q(){function s(y,S,P,_,C){return Z(y[S])?null:new g("Invalid "+_+" `"+C+"` supplied to "+("`"+P+"`, expected a ReactNode."))}return b(s)}function H(s,y,S,P,_){return new g((s||"React class")+": "+y+" type `"+S+"."+P+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+_+"`.")}function U(s){function y(S,P,_,C,x){var T=S[P],O=B(T);if(O!=="object")return new g("Invalid "+C+" `"+x+"` of type `"+O+"` "+("supplied to `"+_+"`, expected `object`."));for(var D in s){var R=s[D];if(typeof R!="function")return H(_,C,x,D,G(R));var $=R(T,D,_,C,x+"."+D,n);if($)return $}return null}return b(y)}function J(s){function y(S,P,_,C,x){var T=S[P],O=B(T);if(O!=="object")return new g("Invalid "+C+" `"+x+"` of type `"+O+"` "+("supplied to `"+_+"`, expected `object`."));var D=r({},S[P],s);for(var R in D){var $=s[R];if(t(s,R)&&typeof $!="function")return H(_,C,x,R,G($));if(!$)return new g("Invalid "+C+" `"+x+"` key `"+R+"` supplied to `"+_+"`.\nBad object: "+JSON.stringify(S[P],null," ")+`
|
|
2
|
+
Valid keys: `+JSON.stringify(Object.keys(s),null," "));var h=$(T,R,_,C,x+"."+R,n);if(h)return h}return null}return b(y)}function Z(s){switch(typeof s){case"number":case"string":case"undefined":return!0;case"boolean":return!s;case"object":if(Array.isArray(s))return s.every(Z);if(s===null||i(s))return!0;var y=p(s);if(y){var S=y.call(s),P;if(y!==s.entries){for(;!(P=S.next()).done;)if(!Z(P.value))return!1}else for(;!(P=S.next()).done;){var _=P.value;if(_&&!Z(_[1]))return!1}}else return!1;return!0;default:return!1}}function ct(s,y){return s==="symbol"?!0:y?y["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&y instanceof Symbol:!1}function B(s){var y=typeof s;return Array.isArray(s)?"array":s instanceof RegExp?"object":ct(y,s)?"symbol":y}function G(s){if(typeof s>"u"||s===null)return""+s;var y=B(s);if(y==="object"){if(s instanceof Date)return"date";if(s instanceof RegExp)return"regexp"}return y}function et(s){var y=G(s);switch(y){case"array":case"object":return"an "+y;case"boolean":case"date":case"regexp":return"a "+y;default:return y}}function ut(s){return!s.constructor||!s.constructor.name?v:s.constructor.name}return m.checkPropTypes=o,m.resetWarningCache=o.resetWarningCache,m.PropTypes=m,m},pt}var vt,Mt;function Kt(){if(Mt)return vt;Mt=1;var e=_t();function r(){}function n(){}return n.resetWarningCache=r,vt=function(){function t(u,i,l,c,f,p){if(p!==e){var v=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw v.name="Invariant Violation",v}}t.isRequired=t;function o(){return t}var a={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:o,element:t,elementType:t,instanceOf:o,node:t,objectOf:o,oneOf:o,oneOfType:o,shape:o,exact:o,checkPropTypes:n,resetWarningCache:r};return a.PropTypes=a,a},vt}var At;function Zt(){if(At)return nt.exports;if(At=1,process.env.NODE_ENV!=="production"){var e=kt(),r=!0;nt.exports=Gt()(e.isElement,r)}else nt.exports=Kt()();return nt.exports}var Qt=Zt();const L=Dt.getDefaultExportFromCjs(Qt);function K(e,r,n){this.x=e,this.y=r,this.time=n||new Date().getTime()}K.prototype.velocityFrom=function(e){return this.time!==e.time?this.distanceTo(e)/(this.time-e.time):1};K.prototype.distanceTo=function(e){return Math.sqrt(Math.pow(this.x-e.x,2)+Math.pow(this.y-e.y,2))};K.prototype.equals=function(e){return this.x===e.x&&this.y===e.y&&this.time===e.time};function bt(e,r,n,t){this.startPoint=e,this.control1=r,this.control2=n,this.endPoint=t}bt.prototype.length=function(){for(var e=10,r=0,n=void 0,t=void 0,o=0;o<=e;o+=1){var a=o/e,u=this._point(a,this.startPoint.x,this.control1.x,this.control2.x,this.endPoint.x),i=this._point(a,this.startPoint.y,this.control1.y,this.control2.y,this.endPoint.y);if(o>0){var l=u-n,c=i-t;r+=Math.sqrt(l*l+c*c)}n=u,t=i}return r};bt.prototype._point=function(e,r,n,t,o){return r*(1-e)*(1-e)*(1-e)+3*n*(1-e)*(1-e)*e+3*t*(1-e)*e*e+o*e*e*e};function te(e,r,n){var t,o,a,u=null,i=0;n||(n={});var l=function(){i=n.leading===!1?0:Date.now(),u=null,a=e.apply(t,o),u||(t=o=null)};return function(){var c=Date.now();!i&&n.leading===!1&&(i=c);var f=r-(c-i);return t=this,o=arguments,f<=0||f>r?(u&&(clearTimeout(u),u=null),i=c,a=e.apply(t,o),u||(t=o=null)):!u&&n.trailing!==!1&&(u=setTimeout(l,f)),a}}function k(e,r){var n=this,t=r||{};this.velocityFilterWeight=t.velocityFilterWeight||.7,this.minWidth=t.minWidth||.5,this.maxWidth=t.maxWidth||2.5,this.throttle="throttle"in t?t.throttle:16,this.minDistance="minDistance"in t?t.minDistance:5,this.throttle?this._strokeMoveUpdate=te(k.prototype._strokeUpdate,this.throttle):this._strokeMoveUpdate=k.prototype._strokeUpdate,this.dotSize=t.dotSize||function(){return(this.minWidth+this.maxWidth)/2},this.penColor=t.penColor||"black",this.backgroundColor=t.backgroundColor||"rgba(0,0,0,0)",this.onBegin=t.onBegin,this.onEnd=t.onEnd,this._canvas=e,this._ctx=e.getContext("2d"),this.clear(),this._handleMouseDown=function(o){o.which===1&&(n._mouseButtonDown=!0,n._strokeBegin(o))},this._handleMouseMove=function(o){n._mouseButtonDown&&n._strokeMoveUpdate(o)},this._handleMouseUp=function(o){o.which===1&&n._mouseButtonDown&&(n._mouseButtonDown=!1,n._strokeEnd(o))},this._handleTouchStart=function(o){if(o.targetTouches.length===1){var a=o.changedTouches[0];n._strokeBegin(a)}},this._handleTouchMove=function(o){o.preventDefault();var a=o.targetTouches[0];n._strokeMoveUpdate(a)},this._handleTouchEnd=function(o){var a=o.target===n._canvas;a&&(o.preventDefault(),n._strokeEnd(o))},this.on()}k.prototype.clear=function(){var e=this._ctx,r=this._canvas;e.fillStyle=this.backgroundColor,e.clearRect(0,0,r.width,r.height),e.fillRect(0,0,r.width,r.height),this._data=[],this._reset(),this._isEmpty=!0};k.prototype.fromDataURL=function(e){var r=this,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=new Image,o=n.ratio||window.devicePixelRatio||1,a=n.width||this._canvas.width/o,u=n.height||this._canvas.height/o;this._reset(),t.src=e,t.onload=function(){r._ctx.drawImage(t,0,0,a,u)},this._isEmpty=!1};k.prototype.toDataURL=function(e){var r;switch(e){case"image/svg+xml":return this._toSVG();default:for(var n=arguments.length,t=Array(n>1?n-1:0),o=1;o<n;o++)t[o-1]=arguments[o];return(r=this._canvas).toDataURL.apply(r,[e].concat(t))}};k.prototype.on=function(){this._handleMouseEvents(),this._handleTouchEvents()};k.prototype.off=function(){this._canvas.removeEventListener("mousedown",this._handleMouseDown),this._canvas.removeEventListener("mousemove",this._handleMouseMove),document.removeEventListener("mouseup",this._handleMouseUp),this._canvas.removeEventListener("touchstart",this._handleTouchStart),this._canvas.removeEventListener("touchmove",this._handleTouchMove),this._canvas.removeEventListener("touchend",this._handleTouchEnd)};k.prototype.isEmpty=function(){return this._isEmpty};k.prototype._strokeBegin=function(e){this._data.push([]),this._reset(),this._strokeUpdate(e),typeof this.onBegin=="function"&&this.onBegin(e)};k.prototype._strokeUpdate=function(e){var r=e.clientX,n=e.clientY,t=this._createPoint(r,n),o=this._data[this._data.length-1],a=o&&o[o.length-1],u=a&&t.distanceTo(a)<this.minDistance;if(!(a&&u)){var i=this._addPoint(t),l=i.curve,c=i.widths;l&&c&&this._drawCurve(l,c.start,c.end),this._data[this._data.length-1].push({x:t.x,y:t.y,time:t.time,color:this.penColor})}};k.prototype._strokeEnd=function(e){var r=this.points.length>2,n=this.points[0];if(!r&&n&&this._drawDot(n),n){var t=this._data[this._data.length-1],o=t[t.length-1];n.equals(o)||t.push({x:n.x,y:n.y,time:n.time,color:this.penColor})}typeof this.onEnd=="function"&&this.onEnd(e)};k.prototype._handleMouseEvents=function(){this._mouseButtonDown=!1,this._canvas.addEventListener("mousedown",this._handleMouseDown),this._canvas.addEventListener("mousemove",this._handleMouseMove),document.addEventListener("mouseup",this._handleMouseUp)};k.prototype._handleTouchEvents=function(){this._canvas.style.msTouchAction="none",this._canvas.style.touchAction="none",this._canvas.addEventListener("touchstart",this._handleTouchStart),this._canvas.addEventListener("touchmove",this._handleTouchMove),this._canvas.addEventListener("touchend",this._handleTouchEnd)};k.prototype._reset=function(){this.points=[],this._lastVelocity=0,this._lastWidth=(this.minWidth+this.maxWidth)/2,this._ctx.fillStyle=this.penColor};k.prototype._createPoint=function(e,r,n){var t=this._canvas.getBoundingClientRect();return new K(e-t.left,r-t.top,n||new Date().getTime())};k.prototype._addPoint=function(e){var r=this.points,n=void 0;if(r.push(e),r.length>2){r.length===3&&r.unshift(r[0]),n=this._calculateCurveControlPoints(r[0],r[1],r[2]);var t=n.c2;n=this._calculateCurveControlPoints(r[1],r[2],r[3]);var o=n.c1,a=new bt(r[1],t,o,r[2]),u=this._calculateCurveWidths(a);return r.shift(),{curve:a,widths:u}}return{}};k.prototype._calculateCurveControlPoints=function(e,r,n){var t=e.x-r.x,o=e.y-r.y,a=r.x-n.x,u=r.y-n.y,i={x:(e.x+r.x)/2,y:(e.y+r.y)/2},l={x:(r.x+n.x)/2,y:(r.y+n.y)/2},c=Math.sqrt(t*t+o*o),f=Math.sqrt(a*a+u*u),p=i.x-l.x,v=i.y-l.y,m=f/(c+f),E={x:l.x+p*m,y:l.y+v*m},g=r.x-E.x,b=r.y-E.y;return{c1:new K(i.x+g,i.y+b),c2:new K(l.x+g,l.y+b)}};k.prototype._calculateCurveWidths=function(e){var r=e.startPoint,n=e.endPoint,t={start:null,end:null},o=this.velocityFilterWeight*n.velocityFrom(r)+(1-this.velocityFilterWeight)*this._lastVelocity,a=this._strokeWidth(o);return t.start=this._lastWidth,t.end=a,this._lastVelocity=o,this._lastWidth=a,t};k.prototype._strokeWidth=function(e){return Math.max(this.maxWidth/(e+1),this.minWidth)};k.prototype._drawPoint=function(e,r,n){var t=this._ctx;t.moveTo(e,r),t.arc(e,r,n,0,2*Math.PI,!1),this._isEmpty=!1};k.prototype._drawCurve=function(e,r,n){var t=this._ctx,o=n-r,a=Math.floor(e.length());t.beginPath();for(var u=0;u<a;u+=1){var i=u/a,l=i*i,c=l*i,f=1-i,p=f*f,v=p*f,m=v*e.startPoint.x;m+=3*p*i*e.control1.x,m+=3*f*l*e.control2.x,m+=c*e.endPoint.x;var E=v*e.startPoint.y;E+=3*p*i*e.control1.y,E+=3*f*l*e.control2.y,E+=c*e.endPoint.y;var g=r+c*o;this._drawPoint(m,E,g)}t.closePath(),t.fill()};k.prototype._drawDot=function(e){var r=this._ctx,n=typeof this.dotSize=="function"?this.dotSize():this.dotSize;r.beginPath(),this._drawPoint(e.x,e.y,n),r.closePath(),r.fill()};k.prototype._fromData=function(e,r,n){for(var t=0;t<e.length;t+=1){var o=e[t];if(o.length>1)for(var a=0;a<o.length;a+=1){var u=o[a],i=new K(u.x,u.y,u.time),l=u.color;if(a===0)this.penColor=l,this._reset(),this._addPoint(i);else if(a!==o.length-1){var c=this._addPoint(i),f=c.curve,p=c.widths;f&&p&&r(f,p,l)}}else{this._reset();var v=o[0];n(v)}}};k.prototype._toSVG=function(){var e=this,r=this._data,n=this._canvas,t=Math.max(window.devicePixelRatio||1,1),o=0,a=0,u=n.width/t,i=n.height/t,l=document.createElementNS("http://www.w3.org/2000/svg","svg");l.setAttributeNS(null,"width",n.width),l.setAttributeNS(null,"height",n.height),this._fromData(r,function(w,W,I){var j=document.createElement("path");if(!isNaN(w.control1.x)&&!isNaN(w.control1.y)&&!isNaN(w.control2.x)&&!isNaN(w.control2.y)){var d="M "+w.startPoint.x.toFixed(3)+","+w.startPoint.y.toFixed(3)+" "+("C "+w.control1.x.toFixed(3)+","+w.control1.y.toFixed(3)+" ")+(w.control2.x.toFixed(3)+","+w.control2.y.toFixed(3)+" ")+(w.endPoint.x.toFixed(3)+","+w.endPoint.y.toFixed(3));j.setAttribute("d",d),j.setAttribute("stroke-width",(W.end*2.25).toFixed(3)),j.setAttribute("stroke",I),j.setAttribute("fill","none"),j.setAttribute("stroke-linecap","round"),l.appendChild(j)}},function(w){var W=document.createElement("circle"),I=typeof e.dotSize=="function"?e.dotSize():e.dotSize;W.setAttribute("r",I),W.setAttribute("cx",w.x),W.setAttribute("cy",w.y),W.setAttribute("fill",w.color),l.appendChild(W)});var c="data:image/svg+xml;base64,",f='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"'+(' viewBox="'+o+" "+a+" "+u+" "+i+'"')+(' width="'+u+'"')+(' height="'+i+'"')+">",p=l.innerHTML;if(p===void 0){var v=document.createElement("dummy"),m=l.childNodes;v.innerHTML="";for(var E=0;E<m.length;E+=1)v.appendChild(m[E].cloneNode(!0));p=v.innerHTML}var g="</svg>",b=f+p+g;return c+btoa(b)};k.prototype.fromData=function(e){var r=this;this.clear(),this._fromData(e,function(n,t){return r._drawCurve(n,t.start,t.end)},function(n){return r._drawDot(n)}),this._data=e};k.prototype.toData=function(){return this._data};var it={exports:{}},ee=it.exports,jt;function re(){return jt||(jt=1,(function(e,r){(function(n,t){e.exports=t()})(ee,function(){return(function(n){function t(a){if(o[a])return o[a].exports;var u=o[a]={exports:{},id:a,loaded:!1};return n[a].call(u.exports,u,u.exports,t),u.loaded=!0,u.exports}var o={};return t.m=n,t.c=o,t.p="",t(0)})([function(n,t){function o(c){var f=c.getContext("2d"),p=c.width,v=c.height,m=f.getImageData(0,0,p,v).data,E=i(!0,p,v,m),g=i(!1,p,v,m),b=l(!0,p,v,m),w=l(!1,p,v,m),W=w-b+1,I=g-E+1,j=f.getImageData(b,E,W,I);return c.width=W,c.height=I,f.clearRect(0,0,W,I),f.putImageData(j,0,0),c}function a(c,f,p,v){return{red:v[4*(p*f+c)],green:v[4*(p*f+c)+1],blue:v[4*(p*f+c)+2],alpha:v[4*(p*f+c)+3]}}function u(c,f,p,v){return a(c,f,p,v).alpha}function i(c,f,p,v){for(var m=c?1:-1,E=c?0:p-1,g=E;c?g<p:g>-1;g+=m)for(var b=0;b<f;b++)if(u(b,g,f,v))return g;return null}function l(c,f,p,v){for(var m=c?1:-1,E=c?0:f-1,g=E;c?g<f:g>-1;g+=m)for(var b=0;b<p;b++)if(u(g,b,f,v))return g;return null}Object.defineProperty(t,"__esModule",{value:!0}),t.default=o}])})})(it)),it.exports}var ne=re();const oe=Dt.getDefaultExportFromCjs(ne);var ie=["canvasProps","clearOnResize"],st=(function(e){Bt(n,e);var r=Nt(n);function n(){var t;Ut(this,n);for(var o=arguments.length,a=new Array(o),u=0;u<o;u++)a[u]=arguments[u];return t=r.call.apply(r,[this].concat(a)),t.staticThis=t.constructor,t._sigPad=null,t._canvas=null,t.setRef=function(i){t._canvas=i,t._canvas===null&&(t._sigPad=null)},t._excludeOurProps=function(){var i=t.props;i.canvasProps,i.clearOnResize;var l=zt(i,ie);return l},t.componentDidMount=function(){var i=t.getCanvas();t._sigPad=new k(i,t._excludeOurProps()),t._resizeCanvas(),t.on()},t.componentWillUnmount=function(){t.off()},t.componentDidUpdate=function(){Object.assign(t._sigPad,t._excludeOurProps())},t.getCanvas=function(){if(t._canvas===null)throw t.staticThis.refNullError;return t._canvas},t.getTrimmedCanvas=function(){var i=t.getCanvas(),l=document.createElement("canvas");return l.width=i.width,l.height=i.height,l.getContext("2d").drawImage(i,0,0),oe(l)},t.getSignaturePad=function(){if(t._sigPad===null)throw t.staticThis.refNullError;return t._sigPad},t._checkClearOnResize=function(){t.props.clearOnResize&&t._resizeCanvas()},t._resizeCanvas=function(){var i,l,c=(i=t.props.canvasProps)!==null&&i!==void 0?i:{},f=c.width,p=c.height;if(!(typeof f<"u"&&typeof p<"u")){var v=t.getCanvas(),m=Math.max((l=window.devicePixelRatio)!==null&&l!==void 0?l:1,1);typeof f>"u"&&(v.width=v.offsetWidth*m),typeof p>"u"&&(v.height=v.offsetHeight*m),v.getContext("2d").scale(m,m),t.clear()}},t.render=function(){var i=t.props.canvasProps;return N.createElement("canvas",yt({ref:t.setRef},i))},t.on=function(){return window.addEventListener("resize",t._checkClearOnResize),t.getSignaturePad().on()},t.off=function(){return window.removeEventListener("resize",t._checkClearOnResize),t.getSignaturePad().off()},t.clear=function(){return t.getSignaturePad().clear()},t.isEmpty=function(){return t.getSignaturePad().isEmpty()},t.fromDataURL=function(i,l){return t.getSignaturePad().fromDataURL(i,l)},t.toDataURL=function(i,l){return t.getSignaturePad().toDataURL(i,l)},t.fromData=function(i){return t.getSignaturePad().fromData(i)},t.toData=function(){return t.getSignaturePad().toData()},t}return qt(n)})(N.Component);st.propTypes={velocityFilterWeight:L.number,minWidth:L.number,maxWidth:L.number,minDistance:L.number,dotSize:L.oneOfType([L.number,L.func]),penColor:L.string,throttle:L.number,onEnd:L.func,onBegin:L.func,canvasProps:L.object,clearOnResize:L.bool};st.defaultProps={clearOnResize:!0};st.refNullError=new Error("react-signature-canvas is currently mounting or unmounting: React refs are null during this phase.");function ae({attributes:e={},rules:r={},onChange:n}){const{id:t="",MuiAttributes:o={},label:a="Signature",bucket:u="",region:i="",identityPoolId:l="",path:c="",disabled:f=!1,CanvasProps:p={}}=e,v=N.useRef(null),m=N.useRef(null),[E,g]=N.useState(!1),[b,w]=N.useState(e.value||null),[W,I]=N.useState(400),[j,d]=N.useState(!1),V=r?.validation?.some(q=>q.rule==="mandatory")||!1,X=p?.style?.height||150;N.useEffect(()=>{const q=m.current;if(!q)return;const H=new ResizeObserver(U=>{const J=U[0]?.contentRect?.width;J&&J>0&&I(Math.floor(J))});return H.observe(q),()=>H.disconnect()},[]),N.useEffect(()=>{if(!e.value){w(null),d(!1),v.current&&v.current.clear();return}w(e.value)},[e.value]);const Q=()=>{v.current&&v.current.clear(),w(null),d(!1),n&&n({id:t,value:""})},tt=async()=>{if(!v.current||v.current.isEmpty())return;g(!0);const q=v.current.toDataURL("image/png"),H=`${t}-${Date.now()}.png`;try{const U=await $t.uploadToS3(q,H,u,i,l,c);w(U),d(!0),n&&n({id:t,value:U})}catch(U){console.error("Signature upload failed",U)}finally{g(!1)}};return z.jsxs(Y.Box,{sx:{width:"100%",...o.sx},children:[z.jsxs(Y.Typography,{variant:"subtitle2",gutterBottom:!0,sx:{display:"flex"},children:[a,V&&z.jsx(Y.Box,{component:"span",sx:{color:"error.main",ml:.5},children:"*"})]}),z.jsxs(Y.Box,{ref:m,sx:{position:"relative",isolation:"isolate",zIndex:1,border:"1px solid",borderColor:"divider",borderRadius:1,overflow:"hidden",bgcolor:"background.paper"},children:[z.jsx(st,{ref:v,penColor:"black",canvasProps:{className:"sigCanvas",width:W,height:X,style:{display:"block",position:"relative",zIndex:1,touchAction:"none",pointerEvents:f?"none":"auto",...p?.style,width:"100%",height:X}},backgroundColor:"transparent"}),b&&z.jsx(Y.Box,{component:"img",src:b,alt:"Signature",sx:{position:"absolute",inset:0,width:"100%",height:X,objectFit:"contain",bgcolor:"background.paper"}})]}),z.jsxs(Y.Box,{sx:{display:"flex",flexWrap:"wrap",gap:1,alignItems:"center",mt:1},children:[z.jsx(Y.Button,{variant:"outlined",color:"secondary",onClick:Q,size:"small",disabled:f||E,children:"Clear"}),z.jsx(Y.Button,{variant:"contained",color:"primary",onClick:tt,size:"small",disabled:f||E||b!==null,startIcon:E?z.jsx(Y.CircularProgress,{size:16,color:"inherit"}):null,children:b?"Saved":"Save"}),j&&b&&z.jsx(Y.Typography,{variant:"caption",sx:{color:"success.main"},children:"Signature Saved!"})]})]})}exports.default=ae;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs as rt, jsx as X } from "react/jsx-runtime";
|
|
2
2
|
import Ft, { Component as Yt, useRef as wt, useState as nt, useEffect as Pt } from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { ae as Lt } from "./AIForm-BVJ7qhP5.mjs";
|
|
4
4
|
import { Box as Q, Typography as Tt, Button as St, CircularProgress as Bt } from "@mui/material";
|
|
5
5
|
import { u as Nt } from "./s3Upload-dpioZ2c8.mjs";
|
|
6
6
|
function mt() {
|
|
@@ -1216,7 +1216,9 @@ function _e({ attributes: e = {}, rules: r = {}, onChange: n }) {
|
|
|
1216
1216
|
children: b ? "Saved" : "Save"
|
|
1217
1217
|
}
|
|
1218
1218
|
),
|
|
1219
|
-
D && b && /* @__PURE__ */ X(Tt, { variant: "caption",
|
|
1219
|
+
D && b && /* @__PURE__ */ X(Tt, { variant: "caption", sx: {
|
|
1220
|
+
color: "success.main"
|
|
1221
|
+
}, children: "Signature Saved!" })
|
|
1220
1222
|
] })
|
|
1221
1223
|
] });
|
|
1222
1224
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),S=require("react"),l=require("@mui/material"),m=require("./AIForm-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),S=require("react"),l=require("@mui/material"),m=require("./AIForm-D8_6RVmA.js");function M({components:t=[],onUpdate:r}){return n.jsx(n.Fragment,{children:t.map((p,o)=>{const a=m.mui[p.type];if(!a)return null;const E=m.Controls_default[a.map];if(!E)return null;const u=p.id||p.props?.id||`stepper-comp-${o}`;return n.jsx(E,{attributes:p.props,onChange:r},u)})})}const b={activeStep:0,stepperResponse:{},MuiSteps:[]},A=(t,r)=>{const{type:p,payload:o}=r;switch(p){case"SET_STEPS":return{...t,MuiSteps:o.MuiSteps};case"SET_STEP":return{...t,activeStep:o.currentStep};case"UPDATE_RESPONSE":return{...t,stepperResponse:{...t.stepperResponse,[o.id]:o.value}};case"CHANGE_STEP":return{...t,activeStep:t.activeStep+o.stepChange};default:return t}};function P({attributes:t={},onChange:r,onStepUpdate:p,currentStep:o=0,patch:a={}}){const[E,u]=S.useReducer(A,b,()=>({activeStep:o,stepperResponse:a,MuiSteps:t.MuiSteps||[]})),{activeStep:y,stepperResponse:c,MuiSteps:d}=E;S.useEffect(()=>{u({type:"SET_STEP",payload:{currentStep:o}})},[o]),S.useEffect(()=>{a&&Object.keys(a).length>0&&Object.entries(a).forEach(([e,s])=>{c[e]!==s&&u({type:"UPDATE_RESPONSE",payload:{id:e,value:s}})})},[a]),S.useEffect(()=>{d.forEach(e=>{(e.components||[]).forEach(s=>{const i=s.id||s.props?.id;i&&s.props?.value!==void 0&&c[i]===void 0&&(u({type:"UPDATE_RESPONSE",payload:{id:i,value:s.props.value}}),r&&r({id:i,value:s.props.value}))})})},[]);const x=S.useCallback((e,s,i)=>{u({type:"CHANGE_STEP",payload:{stepChange:e}});const f=y+e;p&&p(f,s&&e>0,i),i&&r&&t.id&&r({id:t.id,value:c})},[y,t.id,r,p,c]),h=S.useCallback(({id:e,value:s})=>{u({type:"UPDATE_RESPONSE",payload:{id:e,value:s}}),r&&r({id:e,value:s})},[r]),v=(e=[],s=[])=>e.some(i=>!c[i])||s.some(i=>c[i.key]===i.value&&i.mandatoryIds.some(f=>!c[f])),j=(e,s,i,f)=>n.jsxs(l.Box,{sx:{mb:2},children:[n.jsx(l.Button,{variant:"contained",onClick:()=>x(1,s,e===d.length-1),disabled:v(i,f),sx:{mt:1,mr:1},...t.MuiButtonAttributes?.next,...e===d.length-1&&{...t.MuiButtonAttributes?.final},children:e===d.length-1?"Finish":"Continue"}),n.jsx(l.Button,{disabled:e===0,onClick:()=>x(-1,s,!1),sx:{mt:1,mr:1},...t.MuiButtonAttributes?.back,children:"Back"})]});return n.jsx(l.Box,{sx:{maxWidth:400},...t.MuiBoxAttributes,children:n.jsx(l.Stepper,{activeStep:y,orientation:"vertical",...t.MuiStepperAttributes,children:d.map((e,s)=>n.jsxs(l.Step,{...t.MuiStepAttributes,children:[n.jsx(l.StepLabel,{optional:s===d.length-1&&n.jsx(l.Typography,{variant:"caption",children:"Last step"}),...t.MuiStepLabelAttributes,children:e.label}),n.jsxs(l.StepContent,{...t.MuiStepContentAttributes,children:[e.components?n.jsx(M,{onUpdate:h,components:m.updatePatchData(e.components,{...c},"",{},e.enableDisableIds)}):n.jsx(l.Typography,{children:e.description}),j(s,e.isScreenChange,e.mandatoryIds,e.optionalMandatoryIds)]})]},e.label))})})}exports.default=P;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as s, Fragment as R, jsxs as E } from "react/jsx-runtime";
|
|
2
2
|
import { useReducer as _, useEffect as m, useCallback as h } from "react";
|
|
3
3
|
import { Box as v, Stepper as x, Step as B, StepLabel as C, Typography as M, StepContent as D, Button as A } from "@mui/material";
|
|
4
|
-
import { w as k, C as I, x as N } from "./AIForm-
|
|
4
|
+
import { w as k, C as I, x as N } from "./AIForm-BVJ7qhP5.mjs";
|
|
5
5
|
function O({ components: t = [], onUpdate: o }) {
|
|
6
6
|
return /* @__PURE__ */ s(R, { children: t.map((p, r) => {
|
|
7
7
|
const a = k[p.type];
|
|
@@ -2,7 +2,7 @@ import { jsxs as p, jsx as i } from "react/jsx-runtime";
|
|
|
2
2
|
import b from "react";
|
|
3
3
|
import e from "@mui/material/Box";
|
|
4
4
|
import n from "@mui/material/Typography";
|
|
5
|
-
import { m as h, l as j, q as S } from "./AIForm-
|
|
5
|
+
import { m as h, l as j, q as S } from "./AIForm-BVJ7qhP5.mjs";
|
|
6
6
|
const s = (r) => r == null ? "" : Array.isArray(r) ? r.map(s).join(", ") : typeof r == "object" ? JSON.stringify(r) : String(r), A = (r) => r == null ? !0 : Array.isArray(r) ? r.length === 0 : typeof r == "string" ? r.trim() === "" : typeof r == "object" ? Object.keys(r).length === 0 : !1;
|
|
7
7
|
function k({ attributes: r = {} }) {
|
|
8
8
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),b=require("react"),o=require("@mui/material/Box"),n=require("@mui/material/Typography"),s=require("./AIForm-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),b=require("react"),o=require("@mui/material/Box"),n=require("@mui/material/Typography"),s=require("./AIForm-D8_6RVmA.js"),c=r=>r==null?"":Array.isArray(r)?r.map(c).join(", "):typeof r=="object"?JSON.stringify(r):String(r),j=r=>r==null?!0:Array.isArray(r)?r.length===0:typeof r=="string"?r.trim()==="":typeof r=="object"?Object.keys(r).length===0:!1;function h({attributes:r={}}){const{id:p="",guid:a,data:l,title:m="Summary",labels:x={},hideEmpty:u=!1,MuiAttributes:d={}}=r,y=l??s.FormData(a)??{},f=Object.entries(y).filter(([,t])=>!(u&&j(t)));return e.jsxs(o,{id:p,...d,sx:s.mergeSx(t=>({...s.premiumSurfaceSx(t),p:0}),d.sx),children:[e.jsx(o,{sx:t=>({px:2,py:1.5,borderBottom:`1px solid ${t.palette.divider}`,backgroundColor:t.palette.action.hover}),children:e.jsx(n,{variant:"subtitle1",sx:{fontWeight:600},children:m})}),e.jsx(o,{component:"dl",sx:{m:0,display:"grid",gridTemplateColumns:"minmax(30%, auto) 1fr",columnGap:2,rowGap:0},children:f.map(([t,g])=>e.jsxs(b.Fragment,{children:[e.jsx(n,{component:"dt",variant:"body2",sx:i=>({px:2,py:1,color:i.palette.text.secondary,fontWeight:500,borderBottom:`1px solid ${i.palette.divider}`}),children:x[t]??t}),e.jsx(n,{component:"dd",variant:"body2",sx:i=>({m:0,px:2,py:1,color:i.palette.text.primary,borderBottom:`1px solid ${i.palette.divider}`,wordBreak:"break-word"}),children:c(g)})]},t))})]})}exports.default=h;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("react"),a=require("@mui/material"),h=require("./AIForm-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("react"),a=require("@mui/material"),h=require("./AIForm-D8_6RVmA.js"),m=require("./v4-CqdK_b8Y.js");function j(i){const{children:l,value:n,index:r,...s}=i;return e.jsx("div",{role:"tabpanel",hidden:n!==r,id:`simple-tabpanel-${r}`,"aria-labelledby":`simple-tab-${r}`,...s,children:n===r&&e.jsx(a.Box,{sx:{p:3},children:l})})}function p({attributes:i={},patch:l,onChange:n}){const{MuiAttributes:r={},tabs:s=[]}=i,[u,c]=d.useState(0),b=d.useMemo(()=>s.map(()=>m.v4()),[s.length]),x=(o,t)=>{c(t)};return e.jsxs(a.Box,{sx:{width:"100%"},children:[e.jsx(a.Box,{sx:{borderBottom:1,borderColor:"divider"},children:e.jsx(a.Tabs,{value:u,onChange:x,...r,children:s.map((o,t)=>e.jsx(a.Tab,{label:o.label},t))})}),s.map((o,t)=>e.jsx(j,{value:u,index:t,children:e.jsx(h.FormGenerator,{guid:b[t],data:o.subFields||[],patch:l,onChange:n})},t))]})}exports.default=p;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs as h, jsx as a } from "react/jsx-runtime";
|
|
2
2
|
import m from "react";
|
|
3
3
|
import { Box as i, Tabs as c, Tab as p } from "@mui/material";
|
|
4
|
-
import { F as f } from "./AIForm-
|
|
4
|
+
import { F as f } from "./AIForm-BVJ7qhP5.mjs";
|
|
5
5
|
import { v } from "./v4-BysszJq8.mjs";
|
|
6
6
|
function g(s) {
|
|
7
7
|
const { children: l, value: o, index: t, ...r } = s;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("react/jsx-runtime"),u=require("react"),E=require("@mui/material/Autocomplete"),I=require("@mui/material/TextField"),R=require("@mui/material/Chip"),a=require("./AIForm-D8_6RVmA.js"),p=(e,o)=>Array.isArray(e)?e.map(t=>String(t)).filter(t=>t!==""):e==null||e===""?[]:String(e).split(new RegExp(`[${o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")},]`)).map(t=>t.trim()).filter(t=>t!=="");function F({attributes:e={},rules:o={},onChange:m}){const{MuiAttributes:d={},id:t="",options:y=[],separator:l=";",label:q="",placeholder:v=""}=e,{sx:T,...A}=d,[f,i]=u.useState(()=>p(e.value,l)),[M,g]=u.useState(!1);u.useEffect(()=>{i(p(e.value,l))},[]),a.useUpdateEffect(()=>{i(p(e.value,l))},[e.value]);const x=o?.validation?.some(r=>r.rule==="mandatory"||r.rule==="mandatoryselect")||!1,S=x&&M&&f.length===0,$=S?o?.validation?.find(r=>r.rule==="mandatory"||r.rule==="mandatoryselect")?.message||"Required":"",j=(r,c)=>{const n=c.map(s=>String(s).trim()).filter(s=>s!=="");i(n),g(!0),m?.({id:t,value:n,option:n})};return h.jsx(E,{freeSolo:!0,multiple:!0,id:t,options:y,value:f,onChange:j,onBlur:()=>g(!0),renderValue:(r,c)=>r.map((n,s)=>{const C=c({index:s});return u.createElement(R,{label:n,...C,key:`${n}-${s}`,sx:a.premiumChipSx})}),renderInput:r=>h.jsx(I,{...r,label:q,placeholder:v,required:x,error:S,helperText:$,sx:a.mergeSx(a.premiumInputSx,T)}),...A})}exports.default=F;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { jsx as h } from "react/jsx-runtime";
|
|
2
|
+
import { useState as x, useEffect as M, createElement as I } from "react";
|
|
3
|
+
import j from "@mui/material/Autocomplete";
|
|
4
|
+
import k from "@mui/material/TextField";
|
|
5
|
+
import q from "@mui/material/Chip";
|
|
6
|
+
import { j as R, m as B, p as F, k as P } from "./AIForm-BVJ7qhP5.mjs";
|
|
7
|
+
const i = (e, a) => Array.isArray(e) ? e.map((t) => String(t)).filter((t) => t !== "") : e == null || e === "" ? [] : String(e).split(new RegExp(`[${a.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")},]`)).map((t) => t.trim()).filter((t) => t !== "");
|
|
8
|
+
function J({ attributes: e = {}, rules: a = {}, onChange: m }) {
|
|
9
|
+
const {
|
|
10
|
+
MuiAttributes: p = {},
|
|
11
|
+
id: t = "",
|
|
12
|
+
options: y = [],
|
|
13
|
+
separator: s = ";",
|
|
14
|
+
label: S = "",
|
|
15
|
+
placeholder: v = ""
|
|
16
|
+
} = e, { sx: C, ...T } = p, [c, l] = x(() => i(e.value, s)), [$, d] = x(!1);
|
|
17
|
+
M(() => {
|
|
18
|
+
l(i(e.value, s));
|
|
19
|
+
}, []), R(() => {
|
|
20
|
+
l(i(e.value, s));
|
|
21
|
+
}, [e.value]);
|
|
22
|
+
const f = a?.validation?.some((r) => r.rule === "mandatory" || r.rule === "mandatoryselect") || !1, g = f && $ && c.length === 0, A = g ? a?.validation?.find((r) => r.rule === "mandatory" || r.rule === "mandatoryselect")?.message || "Required" : "";
|
|
23
|
+
return /* @__PURE__ */ h(
|
|
24
|
+
j,
|
|
25
|
+
{
|
|
26
|
+
freeSolo: !0,
|
|
27
|
+
multiple: !0,
|
|
28
|
+
id: t,
|
|
29
|
+
options: y,
|
|
30
|
+
value: c,
|
|
31
|
+
onChange: (r, u) => {
|
|
32
|
+
const o = u.map((n) => String(n).trim()).filter((n) => n !== "");
|
|
33
|
+
l(o), d(!0), m?.({ id: t, value: o, option: o });
|
|
34
|
+
},
|
|
35
|
+
onBlur: () => d(!0),
|
|
36
|
+
renderValue: (r, u) => r.map((o, n) => {
|
|
37
|
+
const E = u({ index: n });
|
|
38
|
+
return /* @__PURE__ */ I(q, { label: o, ...E, key: `${o}-${n}`, sx: F });
|
|
39
|
+
}),
|
|
40
|
+
renderInput: (r) => /* @__PURE__ */ h(
|
|
41
|
+
k,
|
|
42
|
+
{
|
|
43
|
+
...r,
|
|
44
|
+
label: S,
|
|
45
|
+
placeholder: v,
|
|
46
|
+
required: f,
|
|
47
|
+
error: g,
|
|
48
|
+
helperText: A,
|
|
49
|
+
sx: B(P, C)
|
|
50
|
+
}
|
|
51
|
+
),
|
|
52
|
+
...T
|
|
53
|
+
}
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
export {
|
|
57
|
+
J as default
|
|
58
|
+
};
|
package/dist/types.d.ts
CHANGED
|
@@ -81,6 +81,194 @@ export interface FormField {
|
|
|
81
81
|
optionsMap?: Record<string, any[]>;
|
|
82
82
|
[key: string]: any;
|
|
83
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* Text shown on a `collection` item card: a field id (`'customerName'`), a
|
|
86
|
+
* template (`'{city}, {state} {zip}'`), a list of ids joined with " · ", or a
|
|
87
|
+
* function of the item.
|
|
88
|
+
*/
|
|
89
|
+
export type CollectionTextSpec = string | string[] | ((item: Record<string, any>) => string);
|
|
90
|
+
/** A theme palette name, or any CSS colour (`'#0ea5e9'`). */
|
|
91
|
+
export type CollectionColor = 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'error' | (string & {});
|
|
92
|
+
/** One labelled fact on an item card: icon in front, then label and value. */
|
|
93
|
+
export interface CollectionDetailSpec {
|
|
94
|
+
/** Field id whose value is shown. */
|
|
95
|
+
field: string;
|
|
96
|
+
/** Label override (defaults to the field's own label). */
|
|
97
|
+
label?: string;
|
|
98
|
+
/** Material icon name shown in front (defaults to one based on the field type). */
|
|
99
|
+
icon?: string;
|
|
100
|
+
/** Grid columns this detail spans (grid layout). */
|
|
101
|
+
span?: number;
|
|
102
|
+
}
|
|
103
|
+
/** Responsive column count, e.g. `{ xs: 1, sm: 2, md: 4 }`. */
|
|
104
|
+
export type CollectionColumns = number | Partial<Record<'xs' | 'sm' | 'md' | 'lg' | 'xl', number>>;
|
|
105
|
+
/** How a `collection` item is summarised on its card / row. */
|
|
106
|
+
export interface CollectionDisplay {
|
|
107
|
+
/** Card heading / first table column. Defaults to the first field. */
|
|
108
|
+
title?: CollectionTextSpec;
|
|
109
|
+
/** Heading of the title column in the table layout (defaults to `itemLabel`). */
|
|
110
|
+
titleLabel?: string;
|
|
111
|
+
/** Optional secondary line under the title. */
|
|
112
|
+
subtitle?: CollectionTextSpec;
|
|
113
|
+
/** Material icon in front of the subtitle (e.g. `'place'` for an address). */
|
|
114
|
+
subtitleIcon?: string;
|
|
115
|
+
/** A status pill. `colors` maps a raw value (or its label) to a colour;
|
|
116
|
+
* `label` heads its column in the table layout. */
|
|
117
|
+
badge?: string | {
|
|
118
|
+
field: string;
|
|
119
|
+
label?: string;
|
|
120
|
+
colors?: Record<string, CollectionColor | 'default'>;
|
|
121
|
+
};
|
|
122
|
+
/** Leading avatar on cards: initials of the title, the collection icon, the item number, or none (default). */
|
|
123
|
+
avatar?: 'initials' | 'icon' | 'index' | 'none';
|
|
124
|
+
/**
|
|
125
|
+
* The labelled facts under the title. Defaults to every filled field not
|
|
126
|
+
* already in the title/subtitle/badge. List ids or `{ field, label, icon, span }`
|
|
127
|
+
* to choose and order them, or `false` to hide them.
|
|
128
|
+
*/
|
|
129
|
+
details?: (string | CollectionDetailSpec)[] | false;
|
|
130
|
+
/** `grid` (icon tiles), `list` (one row per fact) or `inline` (a wrapping line). */
|
|
131
|
+
detailsLayout?: 'grid' | 'list' | 'inline';
|
|
132
|
+
/** Grid columns. Defaults to as many as fit `minColumnWidth`. */
|
|
133
|
+
columns?: CollectionColumns;
|
|
134
|
+
/** Narrowest grid column in px when `columns` is not set (default 180). */
|
|
135
|
+
minColumnWidth?: number;
|
|
136
|
+
/** Show the icon in front of each detail (default true). */
|
|
137
|
+
showIcons?: boolean;
|
|
138
|
+
}
|
|
139
|
+
/** The add button of a collection level. */
|
|
140
|
+
export interface CollectionAddButton {
|
|
141
|
+
/** `header` (beside the title, default), `footer` (below the list), `both`, or `none`. */
|
|
142
|
+
position?: 'header' | 'footer' | 'both' | 'none';
|
|
143
|
+
/** `contained` (top-level default), `outlined` (nested default), `text`, `soft` (tinted) or `dashed` (full-width tile). */
|
|
144
|
+
variant?: 'dashed' | 'soft' | 'contained' | 'outlined' | 'text';
|
|
145
|
+
/** Material icon name (default `'add'`). */
|
|
146
|
+
icon?: string;
|
|
147
|
+
size?: 'small' | 'medium' | 'large';
|
|
148
|
+
fullWidth?: boolean;
|
|
149
|
+
}
|
|
150
|
+
/** Which item actions are offered. Edit and delete are on by default;
|
|
151
|
+
* duplicate, move (up/down) and collapse are opt-in. */
|
|
152
|
+
export interface CollectionActions {
|
|
153
|
+
edit?: boolean;
|
|
154
|
+
delete?: boolean;
|
|
155
|
+
duplicate?: boolean;
|
|
156
|
+
move?: boolean;
|
|
157
|
+
/** Collapse/expand toggle on items that own nested collections. */
|
|
158
|
+
collapse?: boolean;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Every user-facing string, so labels can be reworded or translated from JSON.
|
|
162
|
+
* Placeholders: `{label}` item label, `{labelLower}`, `{plural}`, `{pluralLower}`,
|
|
163
|
+
* `{title}` item title, `{max}`, `{detail}`. Nested levels inherit their parent's texts.
|
|
164
|
+
*/
|
|
165
|
+
export interface CollectionTexts {
|
|
166
|
+
add?: string;
|
|
167
|
+
addMore?: string;
|
|
168
|
+
emptyTitle?: string;
|
|
169
|
+
emptyText?: string;
|
|
170
|
+
edit?: string;
|
|
171
|
+
duplicate?: string;
|
|
172
|
+
moveUp?: string;
|
|
173
|
+
moveDown?: string;
|
|
174
|
+
delete?: string;
|
|
175
|
+
more?: string;
|
|
176
|
+
collapse?: string;
|
|
177
|
+
expand?: string;
|
|
178
|
+
editAria?: string;
|
|
179
|
+
deleteAria?: string;
|
|
180
|
+
viewAria?: string;
|
|
181
|
+
moreAria?: string;
|
|
182
|
+
collapseAria?: string;
|
|
183
|
+
expandAria?: string;
|
|
184
|
+
maxReached?: string;
|
|
185
|
+
dialogAddTitle?: string;
|
|
186
|
+
dialogEditTitle?: string;
|
|
187
|
+
dialogViewTitle?: string;
|
|
188
|
+
/** Line under a nested dialog title naming the parent, e.g. "For {parent}". */
|
|
189
|
+
dialogContext?: string;
|
|
190
|
+
save?: string;
|
|
191
|
+
saveChanges?: string;
|
|
192
|
+
saveAndAddAnother?: string;
|
|
193
|
+
cancel?: string;
|
|
194
|
+
close?: string;
|
|
195
|
+
closeAria?: string;
|
|
196
|
+
shortcut?: string;
|
|
197
|
+
deleteTitle?: string;
|
|
198
|
+
deleteMessage?: string;
|
|
199
|
+
deleteDetail?: string;
|
|
200
|
+
deleteConfirm?: string;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Named parts of a collection level that take an MUI `sx` override from JSON.
|
|
204
|
+
* The override is merged over the built-in style, so any look can be changed.
|
|
205
|
+
*/
|
|
206
|
+
export type CollectionSlot = 'root' | 'header' | 'headerIcon' | 'headerTitle' | 'headerCount' | 'headerDescription' | 'error' | 'list' | 'addButton' | 'empty' | 'emptyTitle' | 'emptyText' | 'item' | 'itemHeader' | 'avatar' | 'itemTitle' | 'badge' | 'subtitle' | 'actions' | 'actionButton' | 'counts' | 'details' | 'detail' | 'detailIcon' | 'detailLabel' | 'detailValue' | 'sections' | 'section' | 'table' | 'tableHead' | 'tableHeadCell' | 'tableRow' | 'tableCell' | 'rowActions' | 'mobileRow' | 'dialog' | 'dialogHeader' | 'dialogTitle' | 'dialogDescription' | 'dialogContext' | 'dialogContent' | 'dialogActions' | 'dialogCancel' | 'dialogSaveAnother' | 'dialogSave' | 'menu' | 'menuItem' | 'confirm' | 'confirmTitle' | 'confirmText' | 'confirmCancel' | 'confirmDelete';
|
|
207
|
+
export type CollectionStyles = Partial<Record<CollectionSlot, Record<string, any>>>;
|
|
208
|
+
/**
|
|
209
|
+
* One level of a `collection` field: a list of items added/edited through a
|
|
210
|
+
* dialog, rendered as cards. Each item can own nested `collections` (e.g. a
|
|
211
|
+
* Customer Location with Services and Backflow devices), to any depth.
|
|
212
|
+
* Everything — content, layout, wording and styling — is set from JSON.
|
|
213
|
+
* Output: `[{ ...itemFields, [child.id]: [{ ...childFields }] }]`.
|
|
214
|
+
*/
|
|
215
|
+
export interface CollectionConfig {
|
|
216
|
+
/** Key of this list in its parent item (the field id at the root). */
|
|
217
|
+
id: string;
|
|
218
|
+
/** Singular name, e.g. "Customer Location" → "Add Customer Location". */
|
|
219
|
+
itemLabel?: string;
|
|
220
|
+
/** Section heading. Defaults to the plural of `itemLabel`. */
|
|
221
|
+
title?: string;
|
|
222
|
+
/** Helper text under the heading. */
|
|
223
|
+
description?: string;
|
|
224
|
+
/** Material icon name for the section, dialog and item avatars. */
|
|
225
|
+
icon?: string;
|
|
226
|
+
/** Accent colour for this level (palette name or any CSS colour). */
|
|
227
|
+
color?: CollectionColor;
|
|
228
|
+
/** The fields of the add/edit dialog (any FormGenerator schema). */
|
|
229
|
+
fields: FormField[];
|
|
230
|
+
/** Card summary configuration. */
|
|
231
|
+
display?: CollectionDisplay;
|
|
232
|
+
/** Nested lists owned by each item. */
|
|
233
|
+
collections?: CollectionConfig[];
|
|
234
|
+
/** Columns for this level's nested sections inside an item (default 1 = stacked rows). */
|
|
235
|
+
sectionColumns?: CollectionColumns;
|
|
236
|
+
/** How items are shown: `cards` (top-level default) or `table` (nested
|
|
237
|
+
* default — one row per item, one column per detail; stacked rows on phones). */
|
|
238
|
+
layout?: 'cards' | 'table';
|
|
239
|
+
/** Card look: `outlined` (default, thin border), `card` (soft shadow) or `flat`. */
|
|
240
|
+
variant?: 'card' | 'outlined' | 'flat';
|
|
241
|
+
/** Add button placement and look. */
|
|
242
|
+
addButton?: CollectionAddButton;
|
|
243
|
+
/** Which item actions are offered. */
|
|
244
|
+
actions?: CollectionActions;
|
|
245
|
+
/** Minimum / maximum number of items at this level (validated on submit). */
|
|
246
|
+
min?: number;
|
|
247
|
+
max?: number;
|
|
248
|
+
minMessage?: string;
|
|
249
|
+
maxMessage?: string;
|
|
250
|
+
/** Dialog options. `addAnother` shows "Save & add another" (default true);
|
|
251
|
+
* `fullScreen` is `'mobile'` (default), `true` or `false`. */
|
|
252
|
+
dialog?: {
|
|
253
|
+
maxWidth?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
254
|
+
description?: string;
|
|
255
|
+
addAnother?: boolean;
|
|
256
|
+
fullScreen?: boolean | 'mobile';
|
|
257
|
+
/** Grid spacing of the dialog form. */
|
|
258
|
+
spacing?: number;
|
|
259
|
+
};
|
|
260
|
+
/** Ask before deleting an item (default true). */
|
|
261
|
+
confirmDelete?: boolean;
|
|
262
|
+
/** Start items collapsed (default false). */
|
|
263
|
+
defaultCollapsed?: boolean;
|
|
264
|
+
/** Show a message when the list is empty. Defaults: true at the top level,
|
|
265
|
+
* false when nested (an empty nested section is just its title + add button). */
|
|
266
|
+
showEmpty?: boolean;
|
|
267
|
+
/** Reword / translate any text (inherited by nested levels). */
|
|
268
|
+
texts?: CollectionTexts;
|
|
269
|
+
/** Per-part `sx` overrides — see `CollectionSlot`. */
|
|
270
|
+
styles?: CollectionStyles;
|
|
271
|
+
}
|
|
84
272
|
/** An unmet validation rule reported back through `onSubmit`. */
|
|
85
273
|
export interface FormError extends ValidationRule {
|
|
86
274
|
id?: string;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { CollectionConfig, CollectionTextSpec, FormField } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Pure helpers for the `collection` control (nested, dialog-edited lists such as
|
|
4
|
+
* Customer Locations → Services / Backflow devices). Kept free of React/MUI so
|
|
5
|
+
* FormGenerator can use them for validation and the review summary without
|
|
6
|
+
* pulling the (lazy) collection UI into the main bundle.
|
|
7
|
+
*/
|
|
8
|
+
/** A structural problem in a collection tree. `path` locates the offending
|
|
9
|
+
* LIST: `[]` is the root list, `[0, 'services']` is item 0's services list. */
|
|
10
|
+
export interface CollectionIssue {
|
|
11
|
+
path: (string | number)[];
|
|
12
|
+
message: string;
|
|
13
|
+
}
|
|
14
|
+
/** Naive English plural for default headings/labels ("Service" → "Services",
|
|
15
|
+
* "Address" → "Addresses", "Facility" → "Facilities"). */
|
|
16
|
+
export declare const pluralize: (word: string, count?: number) => string;
|
|
17
|
+
/** Singular item label for a collection level ("Customer Location"). */
|
|
18
|
+
export declare const itemLabelOf: (config: Partial<CollectionConfig>) => string;
|
|
19
|
+
/** Section heading for a collection level ("Customer Locations"). */
|
|
20
|
+
export declare const titleOf: (config: Partial<CollectionConfig>) => string;
|
|
21
|
+
export declare const toItems: (value: any) => Record<string, any>[];
|
|
22
|
+
/** Find a field definition by id, following `subforms` branches. */
|
|
23
|
+
export declare const findField: (fields: FormField[] | undefined, id: string) => FormField | undefined;
|
|
24
|
+
/** Human-readable label of a field definition. */
|
|
25
|
+
export declare const fieldLabel: (field: FormField | undefined) => string;
|
|
26
|
+
/** Human-readable text for one stored value: option labels for selects/radios,
|
|
27
|
+
* Yes/No for booleans, formatted dates, joined arrays. */
|
|
28
|
+
export declare const formatValue: (field: FormField | undefined, value: any) => string;
|
|
29
|
+
/** Resolve a display spec against an item. A spec is a field id (`'name'`), a
|
|
30
|
+
* template (`'{city}, {state} {zip}'`), a list of ids joined with " · ", or a
|
|
31
|
+
* function `(item) => string`. */
|
|
32
|
+
export declare const resolveText: (spec: CollectionTextSpec | undefined, item: Record<string, any>, fields?: FormField[]) => string;
|
|
33
|
+
export interface ItemDetail {
|
|
34
|
+
id: string;
|
|
35
|
+
label: string;
|
|
36
|
+
value: string;
|
|
37
|
+
icon: string;
|
|
38
|
+
span?: number;
|
|
39
|
+
}
|
|
40
|
+
export declare const defaultIconFor: (field: FormField | undefined) => string;
|
|
41
|
+
/**
|
|
42
|
+
* Everything an item card shows: its title, optional subtitle, and the
|
|
43
|
+
* labelled `details` (icon + label + value) of its other filled fields — so
|
|
44
|
+
* every record is readable at a glance. Fields already in the title, subtitle
|
|
45
|
+
* or badge are not repeated. `display.details` lists ids or
|
|
46
|
+
* `{ field, label, icon, span }` to choose and order them, or is `false`.
|
|
47
|
+
*/
|
|
48
|
+
export declare const describeItem: (item: Record<string, any>, config: Partial<CollectionConfig>, index: number) => {
|
|
49
|
+
title: string;
|
|
50
|
+
subtitle: string;
|
|
51
|
+
details: ItemDetail[];
|
|
52
|
+
};
|
|
53
|
+
/** The field ids the title shows: from `display.title`, else the first field. */
|
|
54
|
+
export declare const titleFieldIds: (config: Partial<CollectionConfig>) => string[];
|
|
55
|
+
/**
|
|
56
|
+
* The facts a level shows for each item (and the columns of its table view),
|
|
57
|
+
* in order: `display.details` when given, else every field not already in the
|
|
58
|
+
* title, subtitle or badge. Labels/icons default from the field definitions.
|
|
59
|
+
*/
|
|
60
|
+
export declare const detailSpecs: (config: Partial<CollectionConfig>) => Omit<ItemDetail, "value">[];
|
|
61
|
+
/** Title + subtitle only (see `describeItem`). */
|
|
62
|
+
export declare const summarize: (item: Record<string, any>, config: Partial<CollectionConfig>, index: number) => {
|
|
63
|
+
title: string;
|
|
64
|
+
subtitle: string;
|
|
65
|
+
};
|
|
66
|
+
/** Count every nested item under `item`, per child collection (for delete
|
|
67
|
+
* confirmations: "also removes 2 services and 1 backflow"). */
|
|
68
|
+
export declare const describeDescendants: (item: Record<string, any>, config: Partial<CollectionConfig>) => string;
|
|
69
|
+
/**
|
|
70
|
+
* Walk a collection tree and report every level that breaks its `min`/`max`.
|
|
71
|
+
* `required` (from a mandatory rule) enforces at least one root item.
|
|
72
|
+
*/
|
|
73
|
+
export declare const collectionIssues: (value: any, config: Partial<CollectionConfig>, opts?: {
|
|
74
|
+
required?: boolean;
|
|
75
|
+
requiredMessage?: string;
|
|
76
|
+
}, path?: (string | number)[]) => CollectionIssue[];
|
|
77
|
+
/** Label/value rows for the review summary, print view and PDF export.
|
|
78
|
+
* Nested items are prefixed with their parent ("Customer Location 1 › Service 2"). */
|
|
79
|
+
export declare const collectionReviewRows: (value: any, config: Partial<CollectionConfig>, prefix?: string) => {
|
|
80
|
+
label: string;
|
|
81
|
+
value: string;
|
|
82
|
+
}[];
|