@scenid/react-formulator 7.0.0 → 7.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var e=require("@babel/runtime/helpers/slicedToArray"),t=require("@babel/runtime/helpers/toConsumableArray"),n=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/asyncToGenerator"),i=require("@babel/runtime/regenerator"),o=require("react"),a=require("prop-types"),s=require("@scenid/formulator"),l=require("@babel/runtime/helpers/classCallCheck"),c=require("@babel/runtime/helpers/createClass"),u=require("@mui/material"),d=require("@babel/runtime/helpers/objectWithoutProperties"),f=require("@mui/icons-material"),p=require("@babel/runtime/helpers/extends"),h=require("luxon"),g=require("react/jsx-runtime"),m=require("@babel/runtime/helpers/typeof"),b=require("@mui/material/Autocomplete"),v=require("@mui/material/styles"),y="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function _(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var x=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var r,i,o;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(i=r;0!=i--;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(o=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(i=r;0!=i--;)if(!Object.prototype.hasOwnProperty.call(n,o[i]))return!1;for(i=r;0!=i--;){var a=o[i];if(!e(t[a],n[a]))return!1}return!0}return t!=t&&n!=n},w=_(x),k=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Object.is,r=o.useRef(t);r.current=t;var i=o.useRef();return o.useSyncExternalStore((function(t){return e.subscribe(t)}),(function(){var t=r.current(e.getState());return void 0!==i.current&&n(i.current,t)?i.current:(i.current=t,t)}))},E=o.createContext(null),O=function(){return o.useContext(E)},S=function(){var e=o.useContext(E);if(!e)throw new Error("useFormContext must be used within a FormulatorForm");return o.useMemo((function(){return{getState:function(){return e.store.getState()},subscribe:function(t){return e.store.subscribe(t)},submitForm:e.api.submitForm,resetForm:e.api.resetForm,setFieldValue:e.api.setFieldValue,setFieldValues:e.api.setFieldValues}}),[e.api,e.store])},C=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Object.is,n=o.useContext(E);if(!n)throw new Error("useFormSelector must be used within a FormulatorForm");return k(n.store,e,t)},N=o.createContext(void 0),A=function(){return o.useContext(N)};function T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function M(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?T(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):T(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var I=function(){function e(t){l(this,e),this.state=t,this.listeners=new Set,this.batchDepth=0}return c(e,[{key:"getState",value:function(){return this.state}},{key:"setState",value:function(e){this.state="function"==typeof e?e(this.state):M(M({},this.state),e),0===this.batchDepth&&this.notify()}},{key:"batch",value:function(e){this.batchDepth+=1;try{e()}finally{this.batchDepth-=1,0===this.batchDepth&&this.notify()}}},{key:"notify",value:function(){this.listeners.forEach((function(e){return e()}))}},{key:"subscribe",value:function(e){var t=this;return this.listeners.add(e),function(){return t.listeners.delete(e)}}}]),e}(),R=function(e){var t=e.label,n=e.labelVariant,r=void 0===n?"h5":n,i=e.desc,a=e.descVariant,s=void 0===a?"body2":a,l=e.textAlign,c=void 0===l?"left":l,d=e.noVisibleFields,f=void 0!==d&&d;if(!t&&!i)return!1;var p=2;return f&&(p=0),o.createElement(u.Box,{style:{width:"100%",display:"flex",flexDirection:"column"}},t&&o.createElement(u.Box,{mb:p},o.createElement(u.Typography,{variant:r,align:c,sx:function(e){var t={};return f&&(t.color=e.palette.text.secondary),t}},t)),i&&o.createElement(u.Box,{mb:p},o.createElement(u.Typography,{variant:s,align:c,sx:function(e){var t={};return f&&(t.color=e.palette.text.secondary),t}},i)))};R.propTypes={label:a.string,labelVariant:a.oneOf(["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","caption","overline"]),desc:a.string,descVariant:a.oneOf(["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","caption","overline"]),textAlign:a.oneOf(["left","center","right"]),noVisibleFields:a.bool};var D=function(e){var t=e.label,n=e.labelVariant,r=e.desc,i=e.descVariant,a=e.textAlign,s=e.noVisibleFields,l=e.children,c={};return s&&(c.opacity=.6),o.createElement(u.Box,{mb:2},o.createElement(u.Paper,{elevation:0,sx:c},o.createElement(u.Box,{p:2},o.createElement(R,{label:t,labelVariant:n,desc:r,descVariant:i,textAlign:a,noVisibleFields:s}),l)))};D.propTypes={label:a.string,labelVariant:a.oneOf(["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","caption","overline"]),desc:a.string,descVariant:a.oneOf(["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","caption","overline"]),textAlign:a.oneOf(["left","center","right"]),noVisibleFields:a.bool,children:a.node};var L=function(e){var t=e.label,n=e.labelVariant,r=e.desc,i=e.descVariant,a=e.textAlign,s=e.noVisibleFields,l=e.children,c={"&:not(:last-child)":{marginBottom:3}};return s&&(c.opacity=.6),o.createElement(u.Box,{sx:c},o.createElement(R,{label:t,labelVariant:n,desc:r,descVariant:i,textAlign:a,noVisibleFields:s}),l)};function P(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function F(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?P(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):P(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}L.propTypes={label:a.string,labelVariant:a.oneOf(["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","caption","overline"]),desc:a.string,descVariant:a.oneOf(["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","caption","overline"]),textAlign:a.oneOf(["left","center","right"]),noVisibleFields:a.bool,children:a.node};var j=function(e){var t,n=e.variant,r=e.formVariant,i=e.type,a=e.name,s=e.label,l=e.component,c=e.componentProps,d=e.defaultValue,p=e.value,h=e.options,g=e.hasErrors,m=e.errors,b=e.required,v=e.disabled,y=e.validating,_=e.dirty,x=e.onChange,w=F(F({name:a,label:s,defaultValue:d,value:p,options:h,required:b,disabled:v},c),{},{onChange:x}),k="@@render"===i;if(y&&(w.endAdornment=[o.createElement(u.InputAdornment,{position:"end"},o.createElement(f.Autorenew,null))]),k)try{var E=l.props||{};t=o.cloneElement(l,F(F(F({variant:n},w),E),{},{label:s,hasErrors:g,errors:m,dirty:_}))}catch(e){throw new Error('error creating control for field "'.concat(a,'": ').concat(e.message))}else try{var O="boolean"===i;t=o.createElement(l,F(F({variant:n},w),O?{formVariant:r}:{}))}catch(e){throw new Error('error creating control for field "'.concat(a,'": ').concat(e.message))}var S="boolean"===i,C=S&&"buttons"===w.variant,N="array"===i;if(N||k||"file"===i)return t;var A={};return _&&g&&(A.color="error.main"),o.createElement(u.FormControl,{className:"data-card-field",size:w.size,error:_&&g,variant:n,margin:"dense",fullWidth:!0,required:b},S&&!C&&o.createElement(u.FormControlLabel,{sx:A,control:t,label:s,labelPlacement:w.labelPlacement||"end"}),(!S&&!N&&!k||C)&&t,_&&!v&&g&&o.createElement(u.FormHelperText,null,m.map((function(e){return e.message})).join(". ")))};j.propTypes={variant:a.oneOf(["standard","filled","outlined"]),formVariant:a.oneOf(["block","card"]),component:a.oneOfType([a.elementType,a.element]).isRequired,componentProps:a.shape({}),type:a.string.isRequired,name:a.string.isRequired,label:a.oneOfType([a.string,a.bool]),defaultValue:a.oneOfType([a.string,a.number,a.bool,a.arrayOf(a.any),a.shape({})]),value:a.oneOfType([a.string,a.number,a.bool,a.arrayOf(a.any),a.shape({})]),options:a.arrayOf(a.shape({label:a.string.isRequired,value:a.oneOfType([a.string,a.number,a.bool])})),hasErrors:a.bool,errors:a.arrayOf(a.shape({})),validating:a.bool,dirty:a.bool,required:a.bool,disabled:a.bool,onChange:a.func.isRequired};var z=["prepend","append","componentProps"];function B(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var U=function(e){var t=e.prepend,r=e.append,i=e.componentProps,a=d(e,z),s=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?B(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):B(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({componentProps:i},a);return"hidden"===(null==i?void 0:i.type)?o.createElement("input",{type:"hidden",name:a.name,value:a.value}):o.createElement(u.FormGroup,null,t,o.createElement(j,s),r)};U.propTypes={variant:a.oneOf(["standard","filled","outlined"]),component:a.oneOfType([a.elementType,a.element]).isRequired,componentProps:a.shape({}),type:a.string.isRequired,name:a.string.isRequired,label:a.oneOfType([a.string,a.bool]),value:a.oneOfType([a.string,a.number,a.bool,a.arrayOf(a.any),a.shape({})]),options:a.arrayOf(a.shape({label:a.string.isRequired,value:a.oneOfType([a.string,a.number,a.bool])})),prepend:a.arrayOf(a.element),append:a.arrayOf(a.element),hasErrors:a.bool,errors:a.arrayOf(a.shape({})),validating:a.bool,required:a.bool,dirty:a.bool,onChange:a.func.isRequired};var q=function(e){var t=e.type,n=e.name,r=e.label,i=e.variant,a=e.value,s=e.defaultValue,l=e.required,c=e.loading,d=e.disabled,f=e.onChange,p=function(e){f&&f({target:{name:n,value:e}})};return o.createElement(u.Stack,null,o.createElement(u.Typography,{mb:1},r),o.createElement(u.Stack,{direction:"row",sx:{flex:"1 1 auto",width:"100%"}},o.createElement(u.TextField,{sx:{flex:"1 1 auto"},type:t,name:"".concat(n,".start"),label:"von",variant:i,InputLabelProps:{shrink:!0},value:(null==a?void 0:a.start)||(null==s?void 0:s.start)||"",max:(null==a?void 0:a.end)||(null==s?void 0:s.end)||"",required:l,disabled:d||c,onChange:function(e){var t=structuredClone(a||{});t.start=e.target.value,p(t)}}),o.createElement(u.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center",ml:2,mr:2}},o.createElement(u.Typography,{color:"GrayText"},"–")),o.createElement(u.TextField,{sx:{flex:"1 1 auto"},type:t,name:"".concat(n,".end"),label:"bis",variant:i,InputLabelProps:{shrink:!0},value:(null==a?void 0:a.end)||(null==s?void 0:s.end)||"",min:(null==a?void 0:a.start)||(null==s?void 0:s.start)||"",required:l,disabled:d||c,onChange:function(e){var t=structuredClone(a||{});t.end=e.target.value,p(t)}})))};q.propTypes={type:a.string,name:a.string,label:a.string,variant:a.string,value:a.shape({start:a.string,end:a.string}),defaultValue:a.string,required:a.bool,loading:a.bool,disabled:a.bool,onChange:a.func};var $=function(e){var t=e.type,n=e.name,r=e.label,i=e.variant,a=e.size,s=e.value,l=e.defaultValue,c=e.multiline,d=e.minRows,f=e.range,h=e.placeholder,g=e.required,m=e.loading,b=e.disabled,v=e.onChange,y={};"date"!==t&&"datetime-local"!==t||(y.InputLabelProps={shrink:!0});var _=s||l||"";return"date"===t&&_.includes("T")&&(_=_.slice(0,10)),f?o.createElement(q,{type:t,name:n,label:r,variant:i,value:_,required:g,disabled:b||m,onChange:v||function(){}}):o.createElement(u.TextField,p({type:t,name:n,label:r,variant:i,size:a,value:_,multiline:c,minRows:d,range:f,placeholder:h,required:g,disabled:b||m,onChange:v||function(){}},y))};$.propTypes={type:a.string,name:a.string,label:a.string,variant:a.string,size:a.oneOf(["small","medium"]),value:a.string,defaultValue:a.string,multiline:a.bool,minRows:a.number,range:a.bool,placeholder:a.string,required:a.bool,loading:a.bool,disabled:a.bool,onChange:a.func};var V=function(e,t){return void 0===e||Number.isNaN(e)||""===e?"":t&&!Number.isSafeInteger(t)?parseFloat(e,10):parseInt(e,10)},H=["name","value","min","max","step","onChange"],K=function(e){var t=e.name,n=e.value,r=e.min,i=e.max,a=e.step,s=e.onChange,l=d(e,H);return o.createElement(u.TextField,p({name:t,type:"number",value:V(n,a),inputProps:{min:r,max:i,step:a},onChange:function(e){return s({target:{name:t,value:V(e.target.value,a)}})}},l))};function G(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function W(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?G(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):G(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}K.propTypes={name:a.string.isRequired,min:a.number,max:a.number,step:a.oneOfType([a.number,a.string]),value:a.oneOfType([a.number,a.string]),onChange:a.func.isRequired};var Z=function(t){var n=t.name,a=t.label,s=t.value,l=t.options,c=t.fetchOptions,d=t.allowCreate,f=t.variant,h=t.disabled,g=t.required,m=t.dirty,b=t.hasErrors,v=t.errors,y=t.onChange,_=o.useState(),x=e(_,2),w=x[0],k=x[1],E=o.useState(!1),O=e(E,2),S=O[0],C=O[1],N=o.useRef(),A=o.useRef("string"==typeof s?s:""),T=o.useCallback((function(){N.current&&(N.current.abort(),N.current=void 0),C(!1)}),[]),M=o.useCallback(r(i.mark((function e(){var t,n;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c){e.next=2;break}return e.abrupt("return");case 2:return T(),t=new AbortController,N.current=t,C(!0),e.prev=6,e.next=9,c(t.signal);case 9:n=e.sent,Array.isArray(n)&&k(n),e.next=15;break;case 13:e.prev=13,e.t0=e.catch(6);case 15:C(!1);case 16:case"end":return e.stop()}}),e,null,[[6,13]])}))),[c,T]),I=o.useRef(M);I.current=M,o.useEffect((function(){return I.current(),T}),[T]);var R=o.useMemo((function(){return w?w.map((function(e){return{entry:e.entry,count:e.count}})):l.map((function(e){return{entry:e.value}}))}),[w,l]),D=o.useCallback((function(e,t){var r="";"string"==typeof t?r=t:null!=t&&t.entry&&(r=t.entry),A.current=r,y({target:{name:n,value:r}})}),[n,y]);return o.createElement(u.FormControl,{error:m&&b,margin:"dense",fullWidth:!0,required:g},o.createElement(u.Autocomplete,{value:s||"",options:R,freeSolo:d,disabled:h,getOptionLabel:function(e){return"string"==typeof e?e:e.entry||""},isOptionEqualToValue:function(e,t){var n="string"==typeof t?t:(null==t?void 0:t.entry)||"";return e.entry===n},onChange:D,onInputChange:d?function(e,t){A.current=t}:void 0,onOpen:function(){M()},onClose:function(){T()},renderInput:function(e){var t,r,i;return o.createElement(u.TextField,p({},e,{label:a,variant:f,required:g,onBlur:d?function(){y({target:{name:n,value:A.current}})}:void 0,slotProps:W(W({},e.slotProps),{},{input:W(W({},null===(t=e.slotProps)||void 0===t?void 0:t.input),{},{endAdornment:o.createElement(o.Fragment,null,S&&o.createElement(u.InputAdornment,{position:"end"},o.createElement(u.CircularProgress,{size:16,thickness:4})),!S&&(null===(r=e.slotProps)||void 0===r||null===(i=r.input)||void 0===i?void 0:i.endAdornment))})})}))},renderOption:function(e,t){return o.createElement(u.Box,p({key:t.entry},e,{sx:{display:"flex",alignItems:"center",gap:1}}),o.createElement(u.Typography,{variant:"body1",sx:{flex:1}},t.entry),void 0!==t.count&&o.createElement(u.Typography,{variant:"caption",sx:{flexShrink:0}},"".concat(t.count," Einträge")))}}),m&&!h&&b&&o.createElement(u.FormHelperText,null,v.map((function(e){return e.message})).join(". ")))};Z.propTypes={name:a.string,label:a.string,value:a.oneOfType([a.string,a.number,a.bool,a.shape({}),a.arrayOf(a.any)]),options:a.arrayOf(a.shape({value:a.string,label:a.string})),fetchOptions:a.func,allowCreate:a.bool,variant:a.oneOf(["standard","filled","outlined"]),required:a.bool,disabled:a.bool,dirty:a.bool,hasErrors:a.bool,errors:a.arrayOf(a.shape({message:a.string})),onChange:a.func},Z.defaultProps={options:[]};var Q=["name","options","required","defaultValue","value","noSort","onChange"],X=function(e){var t=e.name,n=e.options,r=e.required,i=e.defaultValue,a=e.value,s=e.noSort,l=e.onChange,c=d(e,Q),f=s?n:n.sort((function(e,t){return e.label.localeCompare(t.label)}));r||i||f.unshift({label:"Auswahl löschen",value:""});var h="";return void 0!==a&&(h=a),""===h&&void 0!==i&&(h=i),o.createElement(u.TextField,p({name:t,select:!0,required:r,value:h},c,{onChange:l}),f.map((function(e){var t=e.label,n=e.value;return o.createElement(u.MenuItem,{key:t,value:n},t)})))};X.propTypes={name:a.string,defaultValue:a.string,value:a.string,options:a.arrayOf(a.shape({label:a.string.isRequired,value:a.oneOfType([a.string,a.number])})),required:a.bool,noSort:a.bool,onChange:a.func};var J=["type","options","autocomplete","allowNew","fetchOptions"],Y=function(e){var t=e.type,n=e.options,r=e.autocomplete,i=e.allowNew,a=e.fetchOptions,s=d(e,J);return!0===r||!0===i?o.createElement(Z,p({},s,{options:n,fetchOptions:a,allowCreate:!0===i})):o.createElement(X,p({type:t,options:n},s))};Y.propTypes={type:a.string.isRequired,options:a.arrayOf(a.shape({value:a.string})).isRequired,autocomplete:a.bool,allowNew:a.bool,fetchOptions:a.func};var ee=function(e,t){return!1===(n=e)||!0===n?e:t||!1;var n},te=function(e){var t=e.variant,n=e.size,r=e.name,i=e.value,a=e.defaultValue,s=e.disabled,l=e.needsToBeTrue,c=e.firstOption,d=e.labelTrue,f=e.labelFalse,p=e.onChange,h=function(e){var t=e.target.checked;!0===l&&!1===t&&(t=void 0),p({target:{name:r,value:t}})},g=function(e){p({target:{name:r,value:e}})};if("checkbox"===t)return o.createElement(u.Checkbox,{color:"primary",size:n,name:r,checked:ee(i,a),onChange:h});if("buttons"===t){var m=o.createElement(u.Button,{disabled:s,disableElevation:!0,variant:ee(i,a)?"outlined":"contained",color:ee(i,a)?"inherit":"primary",sx:{p:0,height:function(e){return e.spacing(7)},flex:" 1 1 auto",mr:!0===c?0:2},onClick:function(){return g(!1)}},f||"Nein"),b=o.createElement(u.Button,{disabled:s,disableElevation:!0,variant:ee(i,a)?"contained":"outlined",color:ee(i,a)?"primary":"inherit",sx:{p:0,height:function(e){return e.spacing(7)},flex:" 1 1 auto",mr:!0===c?2:0},onClick:function(){return g(!0)}},d||"Ja");return o.createElement(u.Stack,{direction:"row"},!0===c&&o.createElement(o.Fragment,null,b,m),!0!==c&&o.createElement(o.Fragment,null,m,b))}return o.createElement(u.Switch,{color:"primary",size:n,name:r,checked:ee(i,a),onChange:h})};te.propTypes={variant:a.string,size:a.oneOf(["small","medium"]),name:a.string.isRequired,value:a.bool,defaultValue:a.bool,disabled:a.bool,needsToBeTrue:a.bool,firstOption:a.bool,labelTrue:a.string,labelFalse:a.string,onChange:a.func.isRequired};var ne=function(n){var r=n.variant,i=n.entries,a=n.options,s=n.blockedOptions,l=n.onChange,c=o.useState(!1),d=e(c,2),p=d[0],h=d[1],g=o.useState(""),m=e(g,2),b=m[0],v=m[1],y=o.useState(""),_=e(y,2),x=_[0],w=_[1],k=function(){h(!1),v(""),w("")},E=function(){b.length>0&&(l([].concat(t(i),[b])),v(""))};return o.createElement(u.Box,{width:"100%"},(!i||0===(null==i?void 0:i.length))&&o.createElement(u.Box,{mt:1,pl:2},o.createElement(u.Typography,{variant:"body2",color:"text.secondary"},"Keine Einträge vorhanden")),i.map((function(e,n){return o.createElement(u.Box,{key:"entry-".concat(n),sx:function(e){return{display:"flex",alignItems:"center",width:"100%",mt:1,px:1.5,py:.75,border:"1px solid ".concat(e.palette.grey[400]),borderRadius:1}}},o.createElement(u.Typography,{variant:"body2",sx:function(e){return{mr:1.5,px:.5,color:e.palette.text.secondary,fontSize:e.typography.caption.fontSize,fontWeight:e.typography.fontWeightMedium,lineHeight:1}}},n+1),o.createElement(u.Typography,{variant:"body1",sx:{flex:"1 1 auto"}},(r=e,(s=a)&&void 0!==s[r]?s[r]:r)),o.createElement(u.IconButton,{size:"small",onClick:function(){return e=n,(r=t(i)).splice(e,1),void l(r);var e,r}},o.createElement(f.Clear,{fontSize:"small"})));var r,s})),!p&&o.createElement(u.Box,{mt:1},o.createElement(u.Button,{color:"primary",variant:"outlined",onClick:function(){return h(!0)}},"Einträge hinzufügen")),p&&!a&&o.createElement(u.Box,{width:"100%",display:"flex",alignItems:"stretch",mt:1,gap:1},o.createElement(u.ClickAwayListener,{onClickAway:function(){""===b&&h(!1)}},o.createElement(u.FormControl,{variant:"filled",fullWidth:!0},o.createElement(u.TextField,{label:"Neuer Eintrag",variant:r,value:b,onKeyDown:function(e){"Enter"===e.key&&E(),"Escape"===e.key&&k()},onChange:function(e){return v(e.target.value)}}))),o.createElement(u.Button,{variant:"outlined",color:"primary",sx:{minWidth:0,px:2},onClick:E},o.createElement(f.Add,null))),p&&a&&o.createElement(u.Box,{width:"100%",display:"flex",alignItems:"stretch",mt:1},o.createElement(u.FormControl,{variant:"filled",fullWidth:!0},o.createElement(u.TextField,{label:"Eintrag auswählen",select:!0,variant:r,value:x,onBlur:k,onChange:function(e){w(""),l([].concat(t(i),[e.target.value]))}},Object.entries(a).sort((function(e,t){return e[1].localeCompare(t[1])})).map((function(e){return o.createElement(u.MenuItem,{key:"option-".concat(e[0]),value:e[0],disabled:s.includes(e[0])},e[1])}))))))};ne.propTypes={variant:a.oneOf(["standard","filled","outlined"]),entries:a.arrayOf(a.string).isRequired,options:a.shape({}).isRequired,blockedOptions:a.arrayOf(a.string).isRequired,onChange:a.func.isRequired};var re={exports:{}};
1
+ "use strict";var e=require("@babel/runtime/helpers/slicedToArray"),t=require("@babel/runtime/helpers/toConsumableArray"),n=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/asyncToGenerator"),i=require("@babel/runtime/regenerator"),o=require("react"),a=require("prop-types"),s=require("@scenid/formulator"),l=require("@babel/runtime/helpers/classCallCheck"),c=require("@babel/runtime/helpers/createClass"),u=require("@mui/material"),d=require("@babel/runtime/helpers/objectWithoutProperties"),f=require("@mui/icons-material"),p=require("@babel/runtime/helpers/extends"),h=require("luxon"),g=require("react/jsx-runtime"),m=require("@babel/runtime/helpers/typeof"),b=require("@mui/material/Autocomplete"),v=require("@mui/material/styles"),y="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function _(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var x=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;var r,i,o;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(i=r;0!=i--;)if(!e(t[i],n[i]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(o=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(i=r;0!=i--;)if(!Object.prototype.hasOwnProperty.call(n,o[i]))return!1;for(i=r;0!=i--;){var a=o[i];if(!e(t[a],n[a]))return!1}return!0}return t!=t&&n!=n},w=_(x),k=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Object.is,r=o.useRef(t);r.current=t;var i=o.useRef();return o.useSyncExternalStore((function(t){return e.subscribe(t)}),(function(){var t=r.current(e.getState());return void 0!==i.current&&n(i.current,t)?i.current:(i.current=t,t)}))},E=o.createContext(null),O=function(){return o.useContext(E)},S=function(){var e=o.useContext(E);if(!e)throw new Error("useFormContext must be used within a FormulatorForm");return o.useMemo((function(){return{getState:function(){return e.store.getState()},subscribe:function(t){return e.store.subscribe(t)},submitForm:e.api.submitForm,resetForm:e.api.resetForm,setFieldValue:e.api.setFieldValue,setFieldValues:e.api.setFieldValues}}),[e.api,e.store])},C=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Object.is,n=o.useContext(E);if(!n)throw new Error("useFormSelector must be used within a FormulatorForm");return k(n.store,e,t)},N=o.createContext(void 0),A=function(){return o.useContext(N)};function T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function M(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?T(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):T(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var I=function(){function e(t){l(this,e),this.state=t,this.listeners=new Set,this.batchDepth=0}return c(e,[{key:"getState",value:function(){return this.state}},{key:"setState",value:function(e){var t="function"==typeof e?e(this.state):e;this.state=M(M({},this.state),t),0===this.batchDepth&&this.notify()}},{key:"batch",value:function(e){this.batchDepth+=1;try{e()}finally{this.batchDepth-=1,0===this.batchDepth&&this.notify()}}},{key:"notify",value:function(){this.listeners.forEach((function(e){return e()}))}},{key:"subscribe",value:function(e){var t=this;return this.listeners.add(e),function(){return t.listeners.delete(e)}}}]),e}(),R=function(e){var t=e.label,n=e.labelVariant,r=void 0===n?"h5":n,i=e.desc,a=e.descVariant,s=void 0===a?"body2":a,l=e.textAlign,c=void 0===l?"left":l,d=e.noVisibleFields,f=void 0!==d&&d;if(!t&&!i)return!1;var p=2;return f&&(p=0),o.createElement(u.Box,{style:{width:"100%",display:"flex",flexDirection:"column"}},t&&o.createElement(u.Box,{mb:p},o.createElement(u.Typography,{variant:r,align:c,sx:function(e){var t={};return f&&(t.color=e.palette.text.secondary),t}},t)),i&&o.createElement(u.Box,{mb:p},o.createElement(u.Typography,{variant:s,align:c,sx:function(e){var t={};return f&&(t.color=e.palette.text.secondary),t}},i)))};R.propTypes={label:a.string,labelVariant:a.oneOf(["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","caption","overline"]),desc:a.string,descVariant:a.oneOf(["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","caption","overline"]),textAlign:a.oneOf(["left","center","right"]),noVisibleFields:a.bool};var D=function(e){var t=e.label,n=e.labelVariant,r=e.desc,i=e.descVariant,a=e.textAlign,s=e.noVisibleFields,l=e.children,c={};return s&&(c.opacity=.6),o.createElement(u.Box,{mb:2},o.createElement(u.Paper,{elevation:0,sx:c},o.createElement(u.Box,{p:2},o.createElement(R,{label:t,labelVariant:n,desc:r,descVariant:i,textAlign:a,noVisibleFields:s}),l)))};D.propTypes={label:a.string,labelVariant:a.oneOf(["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","caption","overline"]),desc:a.string,descVariant:a.oneOf(["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","caption","overline"]),textAlign:a.oneOf(["left","center","right"]),noVisibleFields:a.bool,children:a.node};var L=function(e){var t=e.label,n=e.labelVariant,r=e.desc,i=e.descVariant,a=e.textAlign,s=e.noVisibleFields,l=e.children,c={"&:not(:last-child)":{marginBottom:3}};return s&&(c.opacity=.6),o.createElement(u.Box,{sx:c},o.createElement(R,{label:t,labelVariant:n,desc:r,descVariant:i,textAlign:a,noVisibleFields:s}),l)};function P(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function F(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?P(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):P(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}L.propTypes={label:a.string,labelVariant:a.oneOf(["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","caption","overline"]),desc:a.string,descVariant:a.oneOf(["h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","button","caption","overline"]),textAlign:a.oneOf(["left","center","right"]),noVisibleFields:a.bool,children:a.node};var j=function(e){var t,n=e.variant,r=e.formVariant,i=e.type,a=e.name,s=e.label,l=e.component,c=e.componentProps,d=e.defaultValue,p=e.value,h=e.options,g=e.hasErrors,m=e.errors,b=e.required,v=e.disabled,y=e.validating,_=e.dirty,x=e.onChange,w=F(F({name:a,label:s,defaultValue:d,value:p,options:h,required:b,disabled:v},c),{},{onChange:x}),k="@@render"===i;if(y&&(w.endAdornment=[o.createElement(u.InputAdornment,{position:"end"},o.createElement(f.Autorenew,null))]),k)try{var E=l.props||{};t=o.cloneElement(l,F(F(F({variant:n},w),E),{},{label:s,hasErrors:g,errors:m,dirty:_}))}catch(e){throw new Error('error creating control for field "'.concat(a,'": ').concat(e.message))}else try{var O="boolean"===i;t=o.createElement(l,F(F({variant:n},w),O?{formVariant:r}:{}))}catch(e){throw new Error('error creating control for field "'.concat(a,'": ').concat(e.message))}var S="boolean"===i,C=S&&"buttons"===w.variant,N="array"===i;if(N||k||"file"===i)return t;var A={};return _&&g&&(A.color="error.main"),o.createElement(u.FormControl,{className:"data-card-field",size:w.size,error:_&&g,variant:n,margin:"dense",fullWidth:!0,required:b},S&&!C&&o.createElement(u.FormControlLabel,{sx:A,control:t,label:s,labelPlacement:w.labelPlacement||"end"}),(!S&&!N&&!k||C)&&t,_&&!v&&g&&o.createElement(u.FormHelperText,null,m.map((function(e){return e.message})).join(". ")))};j.propTypes={variant:a.oneOf(["standard","filled","outlined"]),formVariant:a.oneOf(["block","card"]),component:a.oneOfType([a.elementType,a.element]).isRequired,componentProps:a.shape({}),type:a.string.isRequired,name:a.string.isRequired,label:a.oneOfType([a.string,a.bool]),defaultValue:a.oneOfType([a.string,a.number,a.bool,a.arrayOf(a.any),a.shape({})]),value:a.oneOfType([a.string,a.number,a.bool,a.arrayOf(a.any),a.shape({})]),options:a.arrayOf(a.shape({label:a.string.isRequired,value:a.oneOfType([a.string,a.number,a.bool])})),hasErrors:a.bool,errors:a.arrayOf(a.shape({})),validating:a.bool,dirty:a.bool,required:a.bool,disabled:a.bool,onChange:a.func.isRequired};var z=["prepend","append","componentProps"];function B(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}var U=function(e){var t=e.prepend,r=e.append,i=e.componentProps,a=d(e,z),s=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?B(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):B(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({componentProps:i},a);return"hidden"===(null==i?void 0:i.type)?o.createElement("input",{type:"hidden",name:a.name,value:a.value}):o.createElement(u.FormGroup,null,t,o.createElement(j,s),r)};U.propTypes={variant:a.oneOf(["standard","filled","outlined"]),component:a.oneOfType([a.elementType,a.element]).isRequired,componentProps:a.shape({}),type:a.string.isRequired,name:a.string.isRequired,label:a.oneOfType([a.string,a.bool]),value:a.oneOfType([a.string,a.number,a.bool,a.arrayOf(a.any),a.shape({})]),options:a.arrayOf(a.shape({label:a.string.isRequired,value:a.oneOfType([a.string,a.number,a.bool])})),prepend:a.arrayOf(a.element),append:a.arrayOf(a.element),hasErrors:a.bool,errors:a.arrayOf(a.shape({})),validating:a.bool,required:a.bool,dirty:a.bool,onChange:a.func.isRequired};var q=function(e){var t=e.type,n=e.name,r=e.label,i=e.variant,a=e.value,s=e.defaultValue,l=e.required,c=e.loading,d=e.disabled,f=e.onChange,p=function(e){f&&f({target:{name:n,value:e}})};return o.createElement(u.Stack,null,o.createElement(u.Typography,{mb:1},r),o.createElement(u.Stack,{direction:"row",sx:{flex:"1 1 auto",width:"100%"}},o.createElement(u.TextField,{sx:{flex:"1 1 auto"},type:t,name:"".concat(n,".start"),label:"von",variant:i,InputLabelProps:{shrink:!0},value:(null==a?void 0:a.start)||(null==s?void 0:s.start)||"",max:(null==a?void 0:a.end)||(null==s?void 0:s.end)||"",required:l,disabled:d||c,onChange:function(e){var t=structuredClone(a||{});t.start=e.target.value,p(t)}}),o.createElement(u.Box,{sx:{display:"flex",justifyContent:"center",alignItems:"center",ml:2,mr:2}},o.createElement(u.Typography,{color:"GrayText"},"–")),o.createElement(u.TextField,{sx:{flex:"1 1 auto"},type:t,name:"".concat(n,".end"),label:"bis",variant:i,InputLabelProps:{shrink:!0},value:(null==a?void 0:a.end)||(null==s?void 0:s.end)||"",min:(null==a?void 0:a.start)||(null==s?void 0:s.start)||"",required:l,disabled:d||c,onChange:function(e){var t=structuredClone(a||{});t.end=e.target.value,p(t)}})))};q.propTypes={type:a.string,name:a.string,label:a.string,variant:a.string,value:a.shape({start:a.string,end:a.string}),defaultValue:a.string,required:a.bool,loading:a.bool,disabled:a.bool,onChange:a.func};var $=function(e){var t=e.type,n=e.name,r=e.label,i=e.variant,a=e.size,s=e.value,l=e.defaultValue,c=e.multiline,d=e.minRows,f=e.range,h=e.placeholder,g=e.required,m=e.loading,b=e.disabled,v=e.onChange,y={};"date"!==t&&"datetime-local"!==t||(y.InputLabelProps={shrink:!0});var _=s||l||"";return"date"===t&&_.includes("T")&&(_=_.slice(0,10)),f?o.createElement(q,{type:t,name:n,label:r,variant:i,value:_,required:g,disabled:b||m,onChange:v||function(){}}):o.createElement(u.TextField,p({type:t,name:n,label:r,variant:i,size:a,value:_,multiline:c,minRows:d,range:f,placeholder:h,required:g,disabled:b||m,onChange:v||function(){}},y))};$.propTypes={type:a.string,name:a.string,label:a.string,variant:a.string,size:a.oneOf(["small","medium"]),value:a.string,defaultValue:a.string,multiline:a.bool,minRows:a.number,range:a.bool,placeholder:a.string,required:a.bool,loading:a.bool,disabled:a.bool,onChange:a.func};var V=function(e,t){return void 0===e||Number.isNaN(e)||""===e?"":t&&!Number.isSafeInteger(t)?parseFloat(e,10):parseInt(e,10)},H=["name","value","min","max","step","onChange"],K=function(e){var t=e.name,n=e.value,r=e.min,i=e.max,a=e.step,s=e.onChange,l=d(e,H);return o.createElement(u.TextField,p({name:t,type:"number",value:V(n,a),inputProps:{min:r,max:i,step:a},onChange:function(e){return s({target:{name:t,value:V(e.target.value,a)}})}},l))};function G(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function W(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?G(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):G(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}K.propTypes={name:a.string.isRequired,min:a.number,max:a.number,step:a.oneOfType([a.number,a.string]),value:a.oneOfType([a.number,a.string]),onChange:a.func.isRequired};var Z=function(t){var n=t.name,a=t.label,s=t.value,l=t.options,c=t.fetchOptions,d=t.allowCreate,f=t.variant,h=t.disabled,g=t.required,m=t.dirty,b=t.hasErrors,v=t.errors,y=t.onChange,_=o.useState(),x=e(_,2),w=x[0],k=x[1],E=o.useState(!1),O=e(E,2),S=O[0],C=O[1],N=o.useRef(),A=o.useRef("string"==typeof s?s:""),T=o.useCallback((function(){N.current&&(N.current.abort(),N.current=void 0),C(!1)}),[]),M=o.useCallback(r(i.mark((function e(){var t,n;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c){e.next=2;break}return e.abrupt("return");case 2:return T(),t=new AbortController,N.current=t,C(!0),e.prev=6,e.next=9,c(t.signal);case 9:n=e.sent,Array.isArray(n)&&k(n),e.next=15;break;case 13:e.prev=13,e.t0=e.catch(6);case 15:C(!1);case 16:case"end":return e.stop()}}),e,null,[[6,13]])}))),[c,T]),I=o.useRef(M);I.current=M,o.useEffect((function(){return I.current(),T}),[T]);var R=o.useMemo((function(){return w?w.map((function(e){return{entry:e.entry,count:e.count}})):l.map((function(e){return{entry:e.value}}))}),[w,l]),D=o.useCallback((function(e,t){var r="";"string"==typeof t?r=t:null!=t&&t.entry&&(r=t.entry),A.current=r,y({target:{name:n,value:r}})}),[n,y]);return o.createElement(u.FormControl,{error:m&&b,margin:"dense",fullWidth:!0,required:g},o.createElement(u.Autocomplete,{value:s||"",options:R,freeSolo:d,disabled:h,getOptionLabel:function(e){return"string"==typeof e?e:e.entry||""},isOptionEqualToValue:function(e,t){var n="string"==typeof t?t:(null==t?void 0:t.entry)||"";return e.entry===n},onChange:D,onInputChange:d?function(e,t){A.current=t}:void 0,onOpen:function(){M()},onClose:function(){T()},renderInput:function(e){var t,r,i;return o.createElement(u.TextField,p({},e,{label:a,variant:f,required:g,onBlur:d?function(){y({target:{name:n,value:A.current}})}:void 0,slotProps:W(W({},e.slotProps),{},{input:W(W({},null===(t=e.slotProps)||void 0===t?void 0:t.input),{},{endAdornment:o.createElement(o.Fragment,null,S&&o.createElement(u.InputAdornment,{position:"end"},o.createElement(u.CircularProgress,{size:16,thickness:4})),!S&&(null===(r=e.slotProps)||void 0===r||null===(i=r.input)||void 0===i?void 0:i.endAdornment))})})}))},renderOption:function(e,t){return o.createElement(u.Box,p({key:t.entry},e,{sx:{display:"flex",alignItems:"center",gap:1}}),o.createElement(u.Typography,{variant:"body1",sx:{flex:1}},t.entry),void 0!==t.count&&o.createElement(u.Typography,{variant:"caption",sx:{flexShrink:0}},"".concat(t.count," Einträge")))}}),m&&!h&&b&&o.createElement(u.FormHelperText,null,v.map((function(e){return e.message})).join(". ")))};Z.propTypes={name:a.string,label:a.string,value:a.oneOfType([a.string,a.number,a.bool,a.shape({}),a.arrayOf(a.any)]),options:a.arrayOf(a.shape({value:a.string,label:a.string})),fetchOptions:a.func,allowCreate:a.bool,variant:a.oneOf(["standard","filled","outlined"]),required:a.bool,disabled:a.bool,dirty:a.bool,hasErrors:a.bool,errors:a.arrayOf(a.shape({message:a.string})),onChange:a.func},Z.defaultProps={options:[]};var Q=["name","options","required","defaultValue","value","noSort","onChange"],X=function(e){var t=e.name,n=e.options,r=e.required,i=e.defaultValue,a=e.value,s=e.noSort,l=e.onChange,c=d(e,Q),f=s?n:n.sort((function(e,t){return e.label.localeCompare(t.label)}));r||i||f.unshift({label:"Auswahl löschen",value:""});var h="";return void 0!==a&&(h=a),""===h&&void 0!==i&&(h=i),o.createElement(u.TextField,p({name:t,select:!0,required:r,value:h},c,{onChange:l}),f.map((function(e){var t=e.label,n=e.value;return o.createElement(u.MenuItem,{key:t,value:n},t)})))};X.propTypes={name:a.string,defaultValue:a.string,value:a.string,options:a.arrayOf(a.shape({label:a.string.isRequired,value:a.oneOfType([a.string,a.number])})),required:a.bool,noSort:a.bool,onChange:a.func};var J=["type","options","autocomplete","allowNew","fetchOptions"],Y=function(e){var t=e.type,n=e.options,r=e.autocomplete,i=e.allowNew,a=e.fetchOptions,s=d(e,J);return!0===r||!0===i?o.createElement(Z,p({},s,{options:n,fetchOptions:a,allowCreate:!0===i})):o.createElement(X,p({type:t,options:n},s))};Y.propTypes={type:a.string.isRequired,options:a.arrayOf(a.shape({value:a.string})).isRequired,autocomplete:a.bool,allowNew:a.bool,fetchOptions:a.func};var ee=function(e,t){return!1===(n=e)||!0===n?e:t||!1;var n},te=function(e){var t=e.variant,n=e.size,r=e.name,i=e.value,a=e.defaultValue,s=e.disabled,l=e.needsToBeTrue,c=e.firstOption,d=e.labelTrue,f=e.labelFalse,p=e.onChange,h=function(e){var t=e.target.checked;!0===l&&!1===t&&(t=void 0),p({target:{name:r,value:t}})},g=function(e){p({target:{name:r,value:e}})};if("checkbox"===t)return o.createElement(u.Checkbox,{color:"primary",size:n,name:r,checked:ee(i,a),onChange:h});if("buttons"===t){var m=o.createElement(u.Button,{disabled:s,disableElevation:!0,variant:ee(i,a)?"outlined":"contained",color:ee(i,a)?"inherit":"primary",sx:{p:0,height:function(e){return e.spacing(7)},flex:" 1 1 auto",mr:!0===c?0:2},onClick:function(){return g(!1)}},f||"Nein"),b=o.createElement(u.Button,{disabled:s,disableElevation:!0,variant:ee(i,a)?"contained":"outlined",color:ee(i,a)?"primary":"inherit",sx:{p:0,height:function(e){return e.spacing(7)},flex:" 1 1 auto",mr:!0===c?2:0},onClick:function(){return g(!0)}},d||"Ja");return o.createElement(u.Stack,{direction:"row"},!0===c&&o.createElement(o.Fragment,null,b,m),!0!==c&&o.createElement(o.Fragment,null,m,b))}return o.createElement(u.Switch,{color:"primary",size:n,name:r,checked:ee(i,a),onChange:h})};te.propTypes={variant:a.string,size:a.oneOf(["small","medium"]),name:a.string.isRequired,value:a.bool,defaultValue:a.bool,disabled:a.bool,needsToBeTrue:a.bool,firstOption:a.bool,labelTrue:a.string,labelFalse:a.string,onChange:a.func.isRequired};var ne=function(n){var r=n.variant,i=n.entries,a=n.options,s=n.blockedOptions,l=n.onChange,c=o.useState(!1),d=e(c,2),p=d[0],h=d[1],g=o.useState(""),m=e(g,2),b=m[0],v=m[1],y=o.useState(""),_=e(y,2),x=_[0],w=_[1],k=function(){h(!1),v(""),w("")},E=function(){b.length>0&&(l([].concat(t(i),[b])),v(""))};return o.createElement(u.Box,{width:"100%"},(!i||0===(null==i?void 0:i.length))&&o.createElement(u.Box,{mt:1,pl:2},o.createElement(u.Typography,{variant:"body2",color:"text.secondary"},"Keine Einträge vorhanden")),i.map((function(e,n){return o.createElement(u.Box,{key:"entry-".concat(n),sx:function(e){return{display:"flex",alignItems:"center",width:"100%",mt:1,px:1.5,py:.75,border:"1px solid ".concat(e.palette.grey[400]),borderRadius:1}}},o.createElement(u.Typography,{variant:"body2",sx:function(e){return{mr:1.5,px:.5,color:e.palette.text.secondary,fontSize:e.typography.caption.fontSize,fontWeight:e.typography.fontWeightMedium,lineHeight:1}}},n+1),o.createElement(u.Typography,{variant:"body1",sx:{flex:"1 1 auto"}},(r=e,(s=a)&&void 0!==s[r]?s[r]:r)),o.createElement(u.IconButton,{size:"small",onClick:function(){return e=n,(r=t(i)).splice(e,1),void l(r);var e,r}},o.createElement(f.Clear,{fontSize:"small"})));var r,s})),!p&&o.createElement(u.Box,{mt:1},o.createElement(u.Button,{color:"primary",variant:"outlined",onClick:function(){return h(!0)}},"Einträge hinzufügen")),p&&!a&&o.createElement(u.Box,{width:"100%",display:"flex",alignItems:"stretch",mt:1,gap:1},o.createElement(u.ClickAwayListener,{onClickAway:function(){""===b&&h(!1)}},o.createElement(u.FormControl,{variant:"filled",fullWidth:!0},o.createElement(u.TextField,{label:"Neuer Eintrag",variant:r,value:b,onKeyDown:function(e){"Enter"===e.key&&E(),"Escape"===e.key&&k()},onChange:function(e){return v(e.target.value)}}))),o.createElement(u.Button,{variant:"outlined",color:"primary",sx:{minWidth:0,px:2},onClick:E},o.createElement(f.Add,null))),p&&a&&o.createElement(u.Box,{width:"100%",display:"flex",alignItems:"stretch",mt:1},o.createElement(u.FormControl,{variant:"filled",fullWidth:!0},o.createElement(u.TextField,{label:"Eintrag auswählen",select:!0,variant:r,value:x,onBlur:k,onChange:function(e){w(""),l([].concat(t(i),[e.target.value]))}},Object.entries(a).sort((function(e,t){return e[1].localeCompare(t[1])})).map((function(e){return o.createElement(u.MenuItem,{key:"option-".concat(e[0]),value:e[0],disabled:s.includes(e[0])},e[1])}))))))};ne.propTypes={variant:a.oneOf(["standard","filled","outlined"]),entries:a.arrayOf(a.string).isRequired,options:a.shape({}).isRequired,blockedOptions:a.arrayOf(a.string).isRequired,onChange:a.func.isRequired};var re={exports:{}};
2
2
  /**
3
3
  * @license
4
4
  * Lodash <https://lodash.com/>