@react-typed-forms/schemas-html 2.3.2 → 2.4.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/lib/index.cjs CHANGED
@@ -1,2 +1,1914 @@
1
- var e=require("react"),t=require("clsx"),r=require("@react-typed-forms/schemas"),n=require("@react-typed-forms/core"),a=require("@mui/base"),l=require("@astroapps/aria-base"),o=require("@react-stately/overlays");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=/*#__PURE__*/s(e),u=/*#__PURE__*/s(t);function d(){return d=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},d.apply(null,arguments)}function c(e){if(null==e)throw new TypeError("Cannot destructure "+e)}function f(e,t){if(null==e)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.includes(n))continue;r[n]=e[n]}return r}var p=["data","display","className","style"];function m(e){return void 0===e&&(e={}),{render:function(t){/*#__PURE__*/return i.default.createElement(y,d({},e,t))},type:"display"}}function y(e){var t=n.useComponentTracking();try{var a=e.data,l=e.display,o=e.className,s=e.style,d=f(e,p);switch(a.type){case r.DisplayDataType.Icon:/*#__PURE__*/return i.default.createElement("i",{style:s,className:u.default(r.getOverrideClass(o),l?l.value:a.iconClass)});case r.DisplayDataType.Text:/*#__PURE__*/return i.default.createElement("div",{style:s,className:r.rendererClass(o,d.textClassName)},l?r.coerceToString(l.value):a.text);case r.DisplayDataType.Html:/*#__PURE__*/return i.default.createElement("div",{style:s,className:r.rendererClass(o,d.htmlClassName),dangerouslySetInnerHTML:{__html:l?r.coerceToString(l.value):a.html}});case r.DisplayDataType.Custom:/*#__PURE__*/return i.default.createElement("div",null,/*#__PURE__*/i.default.createElement("b",null,"(",a.customId,")"));default:/*#__PURE__*/return i.default.createElement("h1",null,"Unknown display type: ",a.type)}}finally{t()}}var v=["control","convert"],C=["errorText","value","onChange"];function g(e){var t=n.useComponentTracking();try{var r=function(e){return null==e?"":l[2](e)},a=e.control,l=e.convert,o=f(e,v),s=n.formControlProps(a),u=s.value,c=f(s,C),p=n.useControl(function(){return r(u)});return n.useControlEffect(function(){return a.value},function(e){return p.value=r(e)}),/*#__PURE__*/i.default.createElement("input",d({},c,{type:l[0],value:p.value,onChange:function(e){p.value=e.target.value;var t=l[1](e.target.value);void 0!==t&&(a.value=t)}},o))}finally{t()}}function x(e){switch(e){case r.FieldType.String:return["text",function(e){return e},function(e){return e}];case r.FieldType.Bool:return["text",function(e){return"true"===e||"false"!==e&&void 0},function(e){var t;return null!=(t=null==e?void 0:e.toString())?t:""}];case r.FieldType.Int:return["number",function(e){return""!==e?parseInt(e):null},function(e){return null==e?"":e}];case r.FieldType.DateTime:return["datetime-local",function(e){return e||null},function(e){return e}];case r.FieldType.Date:return["date",function(e){return e||null},function(e){return e}];case r.FieldType.Time:return["time",function(e){var t=e.length;return 5===t?e+":00":8===t?e:void 0},function(e){return e?e.substring(0,5):""}];case r.FieldType.Double:return["number",function(e){return""!==e?parseFloat(e):null},function(e){return null==e?"":e}];default:return["text",function(e){return e},function(e){return e}]}}var h=["state","options","className","convert","required","emptyText","requiredText","readonly"];function N(e){return void 0===e&&(e={}),r.createDataRenderer(function(t,n){var a;/*#__PURE__*/return i.default.createElement(b,{className:r.rendererClass(t.className,e.className),state:t.control,id:t.id,readonly:t.readonly,options:null!=(a=t.options)?a:[],required:t.required,emptyText:e.emptyText,requiredText:e.requiredText,convert:E(t.field.type)})},{options:!0})}function b(t){var r=n.useComponentTracking();try{var a=function(e,t){/*#__PURE__*/return i.default.createElement("option",{key:t,value:u(e.value),disabled:!!e.disabled},e.name)},l=t.state,o=t.options,s=t.className,u=t.convert,c=t.required,p=t.emptyText,m=void 0===p?"N/A":p,y=t.requiredText,v=void 0===y?"<please select>":y,C=t.readonly,g=f(t,h),x=l.value,N=l.disabled,b=e.useState(!c||null==x)[0],E=e.useMemo(function(){return Object.fromEntries(o.map(function(e){return[u(e.value),e.value]}))},[o]),T=e.useMemo(function(){return new Set(o.filter(function(e){return e.group}).map(function(e){return e.group}))},[o]);/*#__PURE__*/return i.default.createElement("select",d({},g,{className:s,onChange:function(e){return l.value=E[e.target.value]},value:u(x),disabled:N||C}),b&&/*#__PURE__*/i.default.createElement("option",{value:""},c?v:m),[].concat(T.keys()).map(function(e){/*#__PURE__*/return i.default.createElement("optgroup",{key:e,label:e},o.filter(function(t){return t.group===e}).map(a))}),o.filter(function(e){return!e.group}).map(a))}finally{r()}}function E(e){switch(e){case r.FieldType.String:case r.FieldType.Int:case r.FieldType.Double:return function(e){return e};default:return function(e){var t;return null!=(t=null==e?void 0:e.toString())?t:""}}}function T(e){return void 0===e&&(e={}),r.createDataRenderer(function(t){/*#__PURE__*/return i.default.createElement(D,d({classes:e,controlClasses:t.renderOptions},t,{className:r.rendererClass(t.className,e.className),isChecked:function(e,t){return e.value==t.value},setChecked:function(e,t){return e.value=t.value},control:t.control,type:"radio",entryAdornment:r.fieldOptionAdornment(t)}))},{renderType:r.DataRenderType.Radio})}function R(e){return void 0===e&&(e={}),r.createDataRenderer(function(t){/*#__PURE__*/return i.default.createElement(D,d({classes:e,controlClasses:t.renderOptions},t,{className:r.rendererClass(t.className,e.className),isChecked:function(e,t){var r=e.value;return!!Array.isArray(r)&&r.includes(t.value)},setChecked:function(e,t,r){e.setValue(function(e){return k(null!=e?e:[],t.value,r)})},control:t.control,type:"checkbox",entryAdornment:r.fieldOptionAdornment(t)}))},{collection:!0,renderType:r.DataRenderType.CheckList})}function D(e){var t=n.useComponentTracking();try{var a=e.control,l=e.options,o=e.readonly,s=e.type,d=e.isChecked,c=e.setChecked,f=e.entryAdornment,p=e.classes,m=e.controlClasses,y=void 0===m?{}:m,v=a.disabled,C="r"+a.uniqueId;/*#__PURE__*/return i.default.createElement("div",{className:e.className,id:e.id},/*#__PURE__*/i.default.createElement(n.RenderArrayElements,{array:null==l?void 0:l.filter(function(e){return null!=e.value})},function(e,t){var l=n.useComputed(function(){return d(a,e)}).value,m=l?r.rendererClass(null==y?void 0:y.selectedClass,p.selectedClass):r.rendererClass(null==y?void 0:y.notSelectedClass,p.notSelectedClass);/*#__PURE__*/return i.default.createElement("div",{className:u.default(r.rendererClass(null==y?void 0:y.entryWrapperClass,p.entryWrapperClass),m),onClick:function(){return!o&&c(a,e,!l)}},/*#__PURE__*/i.default.createElement("div",{className:p.entryClass},/*#__PURE__*/i.default.createElement("input",{id:C+"_"+t,className:p.checkClass,type:s,name:C,readOnly:o,disabled:v,checked:l,onChange:function(t){!o&&c(a,e,t.target.checked)}}),/*#__PURE__*/i.default.createElement("label",{className:p.labelClass,htmlFor:C+"_"+t},e.name)),null==f?void 0:f(e,t,l))}))}finally{t()}}function k(e,t,r){return r===e.includes(t)?e:r?[].concat(e,[t]):e.filter(function(e){return e!==t})}function O(e){return void 0===e&&(e={}),r.createDataRenderer(function(t,a){return function(l){return d({},l,{label:void 0,children:/*#__PURE__*/i.default.createElement("div",{className:r.rendererClass(t.className,e.entryClass)},/*#__PURE__*/i.default.createElement(n.Fcheckbox,{id:t.id,control:t.control.as(),style:t.style,className:e.checkClass}),l.label&&a.renderLabel(l.label,void 0,void 0))})}},{renderType:r.DataRenderType.Checkbox})}function w(e){return void 0===e&&(e={}),r.createLayoutRenderer(function(t,n){var a=r.renderLayoutParts(t,n);return{children:a.wrapLayout(/*#__PURE__*/i.default.createElement(A,d({layout:a},e))),className:r.rendererClass(a.className,e.className),style:a.style,divRef:function(e){return e&&t.errorControl?t.errorControl.meta.scrollElement=e:void 0}}})}function A(e){var t=n.useComponentTracking();try{var r=e.errorClass,a=e.renderError,l=e.layout,o=l.controlEnd,s=l.errorControl;/*#__PURE__*/return i.default.createElement(i.default.Fragment,null,l.label,l.controlStart,l.children,(void 0===a?function(e){return e&&/*#__PURE__*/i.default.createElement("div",{className:r},e)}:a)(s&&s.touched?s.error:void 0),o)}finally{t()}}function F(e){var t=n.useComponentTracking();try{var r,a=e.className,l=e.emptyText,o=e.schemaInterface,s=e.field,u=e.style,d=e.control.value,c=null!=(r=o.isEmptyValue(s,d)?l:o.textValue(s,d))?r:"";/*#__PURE__*/return i.default.createElement("div",{style:u,className:a},c)}finally{t()}}function S(e){var t=n.useComponentTracking();try{var r,a=e.children,l=e.accordion,o=e.contentStyle,s=e.contentClassName,c=e.designMode,f=e.iconOpenClass,p=e.iconClosedClass,m=e.className,y=e.renderTitle,v=void 0===y?function(e){return e}:y,C=e.renderToggler,g=e.renderers,x=e.titleClass,h=e.useCss,N=e.dataContext,b=(null!=(r=N.dataNode)?r:N.parentNode).control,E=n.useControl(!!l.defaultExpanded);b&&!b.meta.accordionState&&(b.meta.accordionState=E);var T=E.value,R=T||c?o:d({},o,{display:"none"}),D=g.renderLabelText(v(l.title,E)),k=C?C(E,D):/*#__PURE__*/i.default.createElement("button",{className:m,onClick:function(){return E.setValue(function(e){return!e})}},/*#__PURE__*/i.default.createElement("label",{className:x},D),/*#__PURE__*/i.default.createElement("i",{className:u.default(T?f:p)}));/*#__PURE__*/return i.default.createElement(i.default.Fragment,null,k,(h||T||c)&&/*#__PURE__*/i.default.createElement("div",{style:R,className:s},a))}finally{t()}}function L(e){var t=n.useComponentTracking();try{var a=function(e,t){/*#__PURE__*/return i.default.createElement("div",{key:t,className:r.rendererClass(o,s.className)},/*#__PURE__*/i.default.createElement("ul",{className:r.rendererClass(null,y)},e.map(function(e,t){/*#__PURE__*/return i.default.createElement("li",{key:t,className:r.rendererClass(null,p),onClick:function(){return f.value=t}},/*#__PURE__*/i.default.createElement("span",{className:r.rendererClass(null,u.default(m,t==x?C:v))},e.definition.title?e.definition.title:"<untitled>"))})),/*#__PURE__*/i.default.createElement("div",{className:r.rendererClass(null,g)},d(x,e[x])))},l=e.formNode,o=e.className,s=e.options,d=e.renderChild,c=e.designMode,f=n.useControl(0),p=s.tabClass,m=s.labelClass,y=s.tabListClass,v=s.inactiveClass,C=s.activeClass,g=s.contentClass,x=f.value;return c?/*#__PURE__*/i.default.createElement(i.default.Fragment,null,l.getChildNodes().map(function(e,t){return a([e],t)})):a(l.getChildNodes(),0)}finally{t()}}function _(e){var t=function(e){return void 0===e&&(e={}),r.createGroupRenderer(function(t,r){/*#__PURE__*/return i.default.createElement(L,d({},t,{options:e}))},{renderType:r.GroupRenderType.Tabs})}(null==e?void 0:e.tabs),n=null!=e?e:{},a=n.className,l=n.gridStyles,o=void 0===l?function(e){var t=e.columns;return{className:f,style:{display:"grid",gridTemplateColumns:"repeat("+(void 0===t?c:t)+", 1fr)"}}}:l,s=n.defaultGridColumns,c=void 0===s?2:s,f=n.gridClassName,p=n.standardClassName,m=n.flexClassName,y=n.defaultFlexGap;return{type:"group",render:function(e,n){var l=e.renderChild,s=e.renderOptions,c=e.formNode;if(r.isTabsRenderer(s))return t.render(e,n);if(r.isSelectChildRenderer(s)&&!e.designMode)/*#__PURE__*/return i.default.createElement(I,d({},e,{renderOptions:s}));var f=r.isGridRenderer(s)?o(s):r.isFlexRenderer(s)?function(e){return{className:m,style:{display:"flex",gap:e.gap?e.gap:y,flexDirection:e.direction?e.direction:void 0}}}(s):{className:p},v=f.style;/*#__PURE__*/return i.default.createElement("div",{className:r.rendererClass(e.className,u.default(a,f.className)),style:v},c.getChildNodes().map(function(e,t){return l(t,e)}))}}}function I(e){var t=n.useComponentTracking();try{var r=e.renderOptions,a=(0,e.useEvalExpression)(null==r?void 0:r.childIndexExpression,function(e){return"string"==e?parseInt(e):e}),l=n.useTrackedComponent(function(e){var t=a.runHook(e.dataContext,a.state),r=null==t?void 0:t.value,n=e.formNode.getChildNodes();/*#__PURE__*/return i.default.createElement("div",null,"number"==typeof r&&r<n.length&&r>=0&&e.renderChild(r,n[r]))},[a.deps]);/*#__PURE__*/return i.default.createElement(l,e)}finally{t()}}function V(){return r.createVisibilityRenderer(function(e){/*#__PURE__*/return i.default.createElement(P,e)})}function P(t){var r=n.useComponentTracking();try{var a=t.visibility,l=t.children,o=t.className,s=t.style,d=t.divRef,c=a.value;return e.useEffect(function(){c&&a.setValue(function(e){return{visible:c.visible,showing:c.visible}})},[null==c?void 0:c.visible]),null!=c&&c.visible?/*#__PURE__*/i.default.createElement("div",{className:u.default(o),style:s,ref:d},l):/*#__PURE__*/i.default.createElement(i.default.Fragment,null)}finally{r()}}function q(e){return r.createDataRenderer(function(t){/*#__PURE__*/return i.default.createElement(M,{renderOptions:t.renderOptions,className:r.rendererClass(t.className,e),dataNode:t.dataNode,dataContext:t.dataContext,control:t.control,readonly:t.readonly})},{renderType:r.DataRenderType.Jsonata})}function M(e){var t=n.useComponentTracking();try{var a=e.control,l=e.renderOptions,o=e.readonly,s=e.className,u=e.dataContext,d=e.dataNode,c=null!=d.elementIndex?d:u.parentNode,f=n.useComputed(function(){return{value:a.value,readonly:o,disabled:a.disabled,formData:u.formData,dataPath:r.getJsonPath(d)}}),p=r.useJsonataExpression(l.expression,r.getRootDataNode(c).control,r.getJsonPath(c),f,r.coerceToString);/*#__PURE__*/return i.default.createElement("div",{className:s,dangerouslySetInnerHTML:{__html:p.value}})}finally{t()}}var G=["control","field","renderOptions"];function B(){return r.createDataRenderer(function(e,t){var n=e.control,a=e.field,l=f(e,G),o=r.getLastDefinedValue(n);null==o.current.value&&(o.value=l.definition.defaultValue);var s=r.getNullToggler(n);return s.disabled=l.readonly,function(e){return t.renderData(d({},l,{control:s,field:d({},a,{type:r.FieldType.Bool}),renderOptions:{type:r.DataRenderType.Checkbox}}))(e)}})}function j(e){return r.createDataRenderer(function(t,r){/*#__PURE__*/return i.default.createElement(H,{dataProps:t,renderers:r,defaultActions:e})},{renderType:r.DataRenderType.Array,collection:!0})}function H(e){var t,a=e.dataProps,l=e.renderers,o=e.defaultActions,s=a.renderOptions,u=a.control,c=a.field,f=a.readonly,p=a.designMode,m=a.required,y=a.renderChild,v=a.definition,C=a.className,g=a.style,x=a.useChildVisibility,h=a.dataContext,N=a.formNode,b=r.mergeObjects(r.isArrayRenderer(s)?s:{},o),E=b.addText,T=b.noAdd,R=b.noRemove,D=b.removeText,k=b.editExternal,O=r.isArrayRenderer(s)?s.childOptions:void 0,w=!r.isCompoundField(c),A=r.nodeForControl(w?{type:r.ControlDefinitionType.Data,field:v.field,children:v.children,renderOptions:null!=O?O:{type:r.DataRenderType.Standard},hideTitle:!0}:{type:r.ControlDefinitionType.Group,children:v.children,groupOptions:{type:r.GroupRenderType.Standard,hideTitle:!0}},N.tree),F=(null!=(t=v.children)?t:[]).map(function(e){return[x(e,void 0,!0),e]}),S=r.makeHookDepString(F,function(e){return e[0].deps}),L=n.useTrackedComponent(J,[S]),_=d({},r.createArrayActions(u.as(),c,{addText:E,removeText:D,noAdd:T,noRemove:R,readonly:f,disabled:u.disabled,designMode:p,editExternal:k}),{required:m,renderElement:function(e,t){/*#__PURE__*/return i.default.createElement(L,{index:e,renderChildElement:I,dataContext:h,visibilities:F,wrap:t})},className:C||void 0,style:g},r.getLengthRestrictions(v));return l.renderArray(_);function I(e,t){var r,n;return y(null!=(r=null==(n=u.elements)?void 0:n[e].uniqueId)?r:e,A,w?{elementIndex:e}:{parentDataNode:t})}}function J(e){var t=e.index,n=e.renderChildElement,a=e.visibilities,l=e.wrap,o=e.dataContext,s=o.dataNode.getChildElement(t),i=a.map(function(e){var t=e[0];return t.runHook(d({},o,{parentNode:s,dataNode:r.lookupDataNode(e[1],s)}),t.state).value});if(0==i.length||i.some(function(e){return!0===e}))return l(n(t,s))}function W(e){return{render:function(t,r){/*#__PURE__*/return i.default.createElement(z,d({},t,e,{renderAction:r.renderAction}))},type:"array"}}function z(e){var t=n.useComponentTracking();try{var a=e.renderElement,l=e.className,o=e.removableClass,s=e.childClass,d=e.removableChildClass,c=e.removeActionClass,f=e.addActionClass,p=e.arrayControl,m=e.renderAction,y=e.style,v=e.editAction,C=r.applyArrayLengthRestrictions(e),g=C.addAction,x=C.removeAction;/*#__PURE__*/return i.default.createElement("div",{style:y},/*#__PURE__*/i.default.createElement("div",{className:u.default(l,x&&o)},/*#__PURE__*/i.default.createElement(n.RenderElements,{control:p},function(e,t){return a(t,function(e){return x||v?/*#__PURE__*/i.default.createElement(i.default.Fragment,null,/*#__PURE__*/i.default.createElement("div",{className:u.default(s,d)},e),/*#__PURE__*/i.default.createElement("div",{className:c},v&&m(v(t)),x&&m(x(t)))):/*#__PURE__*/i.default.createElement("div",{className:s},e)})})),g&&/*#__PURE__*/i.default.createElement("div",{className:f},m(g)))}finally{t()}}var U="leading-[1.5] text-surface-900 bg-[inherit] border-0 rounded-[inherit] px-3 py-2 outline-0 grow shrink-0 basis-auto focus:outline-0 focus:ring-0 focus:shadow-none";function Y(e){return void 0===e&&(e={}),r.createDataRenderer(function(t){var n,a;return t.field.collection?/*#__PURE__*/i.default.createElement(Q,{options:null!=(n=t.options)?n:[],control:t.control,className:r.rendererClass(t.className,e.className),classes:e,controlClasses:t.renderOptions,readOnly:t.readonly,id:t.id}):/*#__PURE__*/i.default.createElement(K,{options:null!=(a=t.options)?a:[],control:t.control,className:r.rendererClass(t.className,e.className),classes:e,controlClasses:t.renderOptions,readOnly:t.readonly,id:t.id})},{renderType:r.DataRenderType.Autocomplete})}function K(e){var t=n.useComponentTracking();try{var l,o=d({},(c(e),e)),s=o.id,f=o.control,p=o.className,m=o.readOnly,y=o.classes,v=o.controlClasses,C=f.disabled,g=n.useControl(""),x=n.useControl(null),h=r.rendererClass(null==v?void 0:v.listContainerClass,y.listContainerClass),N=r.rendererClass(null==v?void 0:v.listEntryClass,y.listEntryClass);n.useControlEffect(n.controlValues(g,x),function(e){var t=e[1];f.value=t?"string"==typeof t?t:t.value:e[0]});var b=a.useAutocomplete(d({freeSolo:!0,multiple:!1,value:x.value,inputValue:g.value,getOptionLabel:function(e){return"string"==typeof e?e:e.name},filterOptions:function(e,t){return e.filter(function(e){return("string"==typeof e?e:e.name).toLowerCase().includes(t.inputValue.toLowerCase())})},onInputChange:function(e,t,r){g.value=t,"input"===r&&(x.value=null)},onChange:function(e,t,r){"selectOption"===r&&(x.value=t)}},o)),E=b.getInputProps,T=b.getListboxProps,R=b.getOptionProps,D=b.groupedOptions,k=b.popupOpen,O=b.focused,w=b.getPopupIndicatorProps;/*#__PURE__*/return i.default.createElement("div",d({id:s,className:"relative"},(0,b.getRootProps)()),/*#__PURE__*/i.default.createElement("div",{className:u.default(p,O?"border-primary-400 shadow-[0_0_0_3px_transparent] shadow-primary-200":"shadow-[0_2px_2px_transparent] shadow-surface-50")},/*#__PURE__*/i.default.createElement("input",d({type:"text"},E(),{placeholder:null!=(l=null==v?void 0:v.placeholder)?l:"",className:U})),/*#__PURE__*/i.default.createElement("button",d({},w(),{disabled:C||m,className:"outline-0 shadow-none border-0 py-0 px-0.5 bg-transparent pr-[10px]"}),/*#__PURE__*/i.default.createElement("li",{className:u.default("fa-solid fa-angle-down","text-primary-500",k&&"rotate-180")}))),D.length>0&&k&&/*#__PURE__*/i.default.createElement("ul",d({},T(),{className:h}),D.map(function(e,t){var r=R({option:e,index:t});/*#__PURE__*/return i.default.createElement("li",d({},r,{key:r.key,className:N}),e.name)})))}finally{t()}}function Q(e){var t=n.useComponentTracking();try{var l,o,s,f=d({},(c(e),e)),p=f.id,m=f.control,y=f.className,v=f.readOnly,C=f.classes,g=f.controlClasses,x=m.disabled,h=n.useControl(""),N=n.useControl(null),b=r.rendererClass(null==g?void 0:g.listContainerClass,C.listContainerClass),E=r.rendererClass(null==g?void 0:g.listEntryClass,C.listEntryClass),T=r.rendererClass(null==g?void 0:g.chipContainerClass,C.chipContainerClass),R=r.rendererClass(null==g?void 0:g.chipCloseButtonClass,C.chipCloseButtonClass);n.useControlEffect(n.controlValues(h,N),function(e){var t,r=e[0],n=e[1],a=null!=(t=null==n?void 0:n.map(function(e){return"string"==typeof e?e:e.value}))?t:[];m.value=r?a.concat(r):a});var D=a.useAutocomplete(d({value:null!=(l=N.value)?l:[],inputValue:h.value,freeSolo:!0,multiple:!0,getOptionLabel:function(e){return"string"==typeof e?e:e.name},filterOptions:function(e,t){return e.filter(function(e){return("string"==typeof e?e:e.name).toLowerCase().includes(t.inputValue.toLowerCase())})},onInputChange:function(e,t){h.value=t},onChange:function(e,t,r){"selectOption"!==r&&"removeOption"!==r||(N.value=t)}},f)),k=D.getInputProps,O=D.getListboxProps,w=D.getOptionProps,A=D.groupedOptions,F=D.popupOpen,S=D.focused,L=D.getPopupIndicatorProps;/*#__PURE__*/return i.default.createElement("div",d({id:p,className:"relative"},(0,D.getRootProps)()),/*#__PURE__*/i.default.createElement("div",{className:u.default(y,S?"border-primary-400 shadow-[0_0_0_3px_transparent] shadow-primary-200":"shadow-[0_2px_2px_transparent] shadow-surface-50")},/*#__PURE__*/i.default.createElement("div",{className:"flex flex-1 flex-row flex-wrap"},null==(o=N.value)?void 0:o.map(function(e){/*#__PURE__*/return i.default.createElement(X,{key:"string"==typeof e?e:e.name,text:"string"==typeof e?e:e.name,chipContainerClass:T,chipCloseButtonClass:R,onDeleteClick:function(){var t=N.elements.find(function(t){return t.value==e});t&&n.removeElement(N,t)}})}),/*#__PURE__*/i.default.createElement("input",d({type:"text"},k(),{placeholder:null!=(s=null==g?void 0:g.placeholder)?s:"",className:u.default(U)}))),/*#__PURE__*/i.default.createElement("button",d({},L(),{disabled:x||v,className:"outline-0 shadow-none border-0 py-0 px-0.5 bg-transparent pr-[10px]"}),/*#__PURE__*/i.default.createElement("i",{className:u.default("fa-solid fa-angle-down","text-primary-500",F&&"rotate-180")}))),A.length>0&&F&&/*#__PURE__*/i.default.createElement("ul",d({},O(),{className:b}),A.map(function(e,t){var r=w({option:e,index:t});/*#__PURE__*/return i.default.createElement("li",d({},r,{key:r.key,className:E}),e.name)})))}finally{t()}}function X(e){var t=n.useComponentTracking();try{var r=e.onDeleteClick;/*#__PURE__*/return i.default.createElement("div",{className:e.chipContainerClass},e.text,/*#__PURE__*/i.default.createElement("i",{className:e.chipCloseButtonClass,onClick:function(){null==r||r()}}))}finally{t()}}var Z="ValueForField",$={RenderOptions:{value:Z,name:"Value For Field",fields:r.buildSchema({fieldRef:r.stringField("Field Reference")})}};function ee(t){var a=n.useComponentTracking();try{var l=t.schema,o=t.renderer,s=t.control,u=n.useControl({default:void 0},void 0,function(e){return n.setFields(e,{default:s})}),c=e.useMemo(function(){var e=r.rootSchemaNode([d({},l.field,{field:"default",required:!1,notNullable:!1,onlyForTypes:null,defaultValue:void 0})]);return[r.addMissingControlsForSchema(e,[]),e]},[l]),f=c[1],p=r.useControlRendererComponent(r.groupedControl(c[0]),o,{disabled:s.disabled},r.makeSchemaDataNode(f,u));/*#__PURE__*/return i.default.createElement(p,null)}finally{a()}}function te(e){return void 0===e&&(e={}),r.createAdornmentRenderer(function(t,a){var l,o,s=t.dataContext,u=null!=(l=null==(o=s.dataNode)?void 0:o.control)?l:n.newControl(void 0),d=t.adornment,c=r.getIsEditing(u),f=c.value,p=r.getNullToggler(u);return void 0===f&&d.editSelectable&&(c.value=!1),u.disabled=!f||!(!d.allowNull||p.value),{apply:function(a){var l,o;if(t.formOptions.readonly)return a;!e.hideEdit&&d.editSelectable&&r.appendMarkupAt(null!=(l=null!=(o=d.placement)?o:e.defaultPlacement)?l:r.AdornmentPlacement.LabelStart,/*#__PURE__*/i.default.createElement(n.Fcheckbox,{control:c,className:e.checkClass}))(a),r.wrapMarkup("children",function(t){return e.customRender?e.customRender({allValues:r.getAllValues(u),editing:c,children:t,adornment:d,nullToggler:p,dataContext:s,options:e}):/*#__PURE__*/i.default.createElement(re,{children:t,options:e,editing:c.as(),adornment:d,dataControl:u})})(a)},priority:0,adornment:d}},{adornmentType:r.ControlAdornmentType.Optional})}function re(e){var t=n.useComponentTracking();try{var a,l,o=e.children,s=e.options,u=e.adornment,d=e.editing,c=e.dataControl,f=r.getNullToggler(c),p=r.getAllValues(c).value.length>1,m=u.allowNull?/*#__PURE__*/i.default.createElement("div",{className:s.nullWrapperClass},/*#__PURE__*/i.default.createElement(n.Fcheckbox,{control:f,className:s.checkClass,notValue:!0}),/*#__PURE__*/i.default.createElement("span",null,null!=(a=s.setNullText)?a:"Null")):void 0;/*#__PURE__*/return i.default.createElement("div",{className:s.className},p&&!1===d.value?/*#__PURE__*/i.default.createElement("div",{className:s.multiValuesClass},null!=(l=s.multiValuesText)?l:"Differing values"):/*#__PURE__*/i.default.createElement("div",{className:s.childWrapperClass},m,o))}finally{t()}}function ne(t){var r=n.useComponentTracking();try{var a=t.control,l=t.className,o=e.useRef(null);return n.useControlEffect(function(){return a.value},function(e){var t=o.current;t&&t.textContent!==e&&(t.textContent=e)},!0),/*#__PURE__*/i.default.createElement("code",{contentEditable:!a.disabled,className:l,onInput:function(e){return a.value=e.currentTarget.textContent},ref:o})}finally{r()}}function ae(e){var t=n.useComponentTracking();try{var a=e.dataProps,s=e.options,u=e.formRenderer,c=e.renderOptions,f=a.formNode,p=a.renderChild,m=a.designMode,y=r.getExternalEditData(a.control),v=o.useOverlayTriggerState({isOpen:!0,onOpenChange:function(){y.value=void 0}});if(m||void 0!==y.value){var C=r.makeSchemaDataNode(a.dataNode.schema,y.fields.data),g=r.nodeForControl({type:r.ControlDefinitionType.Group,children:f.definition.children,groupOptions:{type:r.GroupRenderType.Standard,hideTitle:!0}},f.tree),x=/*#__PURE__*/i.default.createElement("div",{className:r.rendererClass(a.className,s.className)},p("",g,{parentDataNode:C,elementIndex:0}),/*#__PURE__*/i.default.createElement("div",{className:s.actionsClass},/*#__PURE__*/i.default.createElement(n.RenderElements,{control:y.fields.actions},function(e){return u.renderAction((n=(t=e.value).action,t.dontValidate?n:d({},n,{onClick:function(){return e=n.onClick,t=!1,r.visitFormDataInContext(C,g,r.validationVisitor(function(){t=!0})),void(t||e());var e,t}})));var t,n})));return c.showInline||m?x:/*#__PURE__*/i.default.createElement(l.Modal,{state:v},/*#__PURE__*/i.default.createElement(l.Dialog,{children:x}))}/*#__PURE__*/return i.default.createElement(i.default.Fragment,null)}finally{t()}}function le(e,t){return void 0===t&&(t={}),r.createActionRenderer(e,function(e){var n,a=e.onClick,l=e.actionText,o=e.style,s=e.actionId,u=e.actionData,d=e.disabled;/*#__PURE__*/return i.default.createElement("button",{className:r.rendererClass(e.className,t.className),disabled:d,style:o,onClick:a},null!=(n=null==t.renderContent?void 0:t.renderContent(l,s,u))?n:l)})}var oe=[{name:"Yes",value:!0},{name:"No",value:!1}];function se(e){var t,n,a;void 0===e&&(e={});var l,o=q(e.jsonataClass),s=B(),u=(l=e.multilineClass,r.createDataRenderer(function(e){/*#__PURE__*/return i.default.createElement(ne,d({},e,{className:r.rendererClass(e.className,l)}))})),c=O(null!=(t=e.checkOptions)?t:e.checkboxOptions),f=N(e.selectOptions),p=T(null!=(n=e.radioOptions)?n:e.checkOptions),m=R(null!=(a=e.checkListOptions)?a:e.checkOptions),y=function(e){return void 0===e&&(e={}),r.createDataRenderer(function(t,r){/*#__PURE__*/return i.default.createElement(ae,{dataProps:t,options:e,formRenderer:r,renderOptions:t.renderOptions})},{renderType:r.DataRenderType.ArrayElement})}(e.arrayElementOptions),v=d({optionRenderer:f,booleanOptions:oe},e),C=v.inputClass,h=v.booleanOptions,b=v.optionRenderer,E=v.displayOnlyClass,D=v.defaultEmptyText,k=j(e.arrayOptions),w=Y(e.autocompleteOptions);return r.createDataRenderer(function(e,t){var n,a=e.field,l=a.type,v=e.renderOptions,N=v.type;if(a.collection&&null==e.elementIndex&&(N==r.DataRenderType.Standard||N==r.DataRenderType.Array||N==r.DataRenderType.ArrayElement))return N==r.DataRenderType.ArrayElement?y.render(e,t):k.render(e,t);if(l===r.FieldType.Compound){var T,R=null!=(T=r.isDataGroupRenderer(v)?v.groupOptions:void 0)?T:{type:"Standard",hideTitle:!0};return t.renderGroup(d({},e,{renderOptions:R}))}if(e.displayOnly||r.isDisplayOnlyRenderer(v))return function(t){return d({},t,{className:"@ "+r.rendererClass(t.className,E),children:/*#__PURE__*/i.default.createElement(F,{field:e.field,schemaInterface:e.dataContext.schemaInterface,control:e.control,className:e.className,style:e.style,emptyText:r.isDisplayOnlyRenderer(v)&&v.emptyText?v.emptyText:D})})};if(null!=h&&l===r.FieldType.Bool&&null==e.options)return t.renderData(d({},e,{options:h}));if(N===r.DataRenderType.Standard&&r.hasOptions(e))return b.render(e,t);switch(N){case r.DataRenderType.NullToggle:return s.render(e,t);case r.DataRenderType.CheckList:return m.render(e,t);case r.DataRenderType.Dropdown:return f.render(e,t);case r.DataRenderType.Radio:return p.render(e,t);case r.DataRenderType.Checkbox:return c.render(e,t);case r.DataRenderType.Jsonata:return o.render(e,t);case r.DataRenderType.Autocomplete:return w.render(e,t)}if(l==r.FieldType.Any)/*#__PURE__*/return i.default.createElement(i.default.Fragment,null,"Can't render field: ",null!=(n=a.displayName)?n:a.field," (",N,")");if(r.isTextfieldRenderer(v)&&v.multiline)return u.render(e,t);var O=r.isTextfieldRenderer(v)?v.placeholder:void 0;/*#__PURE__*/return i.default.createElement(g,{className:r.rendererClass(e.className,C),style:e.style,id:e.id,readOnly:e.readonly,control:e.control,placeholder:null!=O?O:void 0,convert:x(e.field.type)})})}function ie(e){void 0===e&&(e={});var t=te(e.optional);return{type:"adornment",render:function(a,l){if(r.isOptionalAdornment(a.adornment))return t.render(a,l);var o=a.adornment,s=a.designMode,u=a.dataContext,c=a.useExpr;return{apply:function(t){if(r.isSetFieldAdornment(o)&&c){var a=c(o.expression,function(e){return e}),f=r.useDynamicHooks({value:a}),p=n.useTrackedComponent(function(e){var t=e.children,a=e.adornment,l=e.parentContext,o=f(l).value,s=r.schemaDataForFieldRef(a.field,l.parentNode).control,i=!a.defaultOnly;return n.useControlEffect(function(){return[null==o?void 0:o.value,null==(null==s?void 0:s.value)]},function(e){var t=e[0];null==s||s.setValue(function(e){return i||null==e?t:e})},!0),t},[f]);return r.wrapLayout(function(e){/*#__PURE__*/return i.default.createElement(p,{children:e,parentContext:u,adornment:o})})(t)}var m;return r.isIconAdornment(o)?r.appendMarkupAt(null!=(m=o.placement)?m:r.AdornmentPlacement.ControlStart,/*#__PURE__*/i.default.createElement("i",{className:o.iconClass}))(t):r.isAccordionAdornment(o)?r.wrapLayout(function(r){/*#__PURE__*/return i.default.createElement(S,d({renderers:l,children:r,accordion:o,contentStyle:t.style,contentClassName:t.className,designMode:s,dataContext:u},e.accordion))})(t):void 0},priority:0,adornment:o}}}}function ue(e){var t=d({requiredElement:/*#__PURE__*/i.default.createElement("span",null," *"),labelContainer:function(e){return e}},e),n=t.className,a=t.groupLabelClass,l=t.controlLabelClass,o=t.requiredElement,s=t.labelContainer;return{render:function(e,t,d,c){return e.type==r.LabelType.Text?e.label:s(/*#__PURE__*/i.default.createElement(i.default.Fragment,null,/*#__PURE__*/i.default.createElement("label",{htmlFor:e.forId,className:r.rendererClass(e.className,u.default(n,e.type===r.LabelType.Group&&a,e.type===r.LabelType.Control&&l))},t,c.renderLabelText(e.label),e.required&&o),d))},type:"label"}}function de(e){return void 0===e&&(e={}),{data:se(e.data),display:m(e.display),action:le(void 0,e.action),array:W(e.array),group:_(e.group),label:ue(e.label),adornment:ie(e.adornment),renderLayout:w(e.layout),visibility:V()}}var ce={label:{groupLabelClass:"font-bold",requiredElement:/*#__PURE__*/i.default.createElement("span",{className:"text-red-500"}," *")},array:{removableClass:"grid grid-cols-[1fr_auto] items-center gap-x-2",childClass:"grow my-2",addActionClass:"my-2",removeActionClass:"flex gap-2"},group:{standardClassName:"flex flex-col gap-4",gridClassName:"gap-x-2 gap-y-4",flexClassName:"gap-2",tabs:{className:"",tabListClass:"flex flex-wrap text-sm font-medium text-center text-gray-500 border-b border-gray-200 dark:border-gray-700 dark:text-gray-400",tabClass:"me-2",labelClass:"inline-flex items-center justify-center p-4 border-b-2 group",inactiveClass:"border-transparent rounded-t-lg hover:text-gray-600 hover:border-gray-300 dark:hover:text-gray-300 cursor-pointer",activeClass:"text-blue-600 border-blue-600 rounded-t-lg active dark:text-blue-500 dark:border-blue-500",contentClass:"my-2"}},action:{className:"bg-primary-500 rounded-lg p-3 text-white"},layout:{className:"flex flex-col",errorClass:"text-sm text-danger-500"},data:{displayOnlyClass:"flex flex-row items-center gap-2",checkOptions:{className:"flex items-center gap-4",entryClass:"flex gap-1 items-center"},selectOptions:{emptyText:"<select>"},arrayElementOptions:{actionsClass:"my-2 flex gap-2"},multilineClass:"border p-2 outline-0 whitespace-pre-wrap",autocompleteOptions:{className:"w-full flex gap-[5px] pr-[5px] overflow-hidden rounded-lg bg-white border border-solid border-gray-200 hover:border-primary-400 focus-visible:outline-0 shadow-[0_2px_4px_rgb(0_0_0_/_0.05)] min-h-[48px] py-1",listContainerClass:"absolute w-full text-sm box-border p-1.5 my-3 mx-0 min-w-[120px] rounded-xl overflow-auto outline-0 max-h-[300px] z-[1] bg-white border border-solid border-surface-200 text-surface-900 shadow-[0_4px_30px_transparent] shadow-surface-200",listEntryClass:"list-none p-2 rounded-lg cursor-default last-of-type:border-b-0 hover:cursor-pointer hover:bg-primary-100 aria-selected:bg-primary-200 aria-selected:text-primary-900 focused:bg-surface-100 focus-visible:bg-surface-100 focused:text-surface-900 focus-visible:text-surface-900 focus-visible:shadow-[0_0_0_3px_transparent] focus-visible:shadow-primary-200 focused:aria-selected:bg-primary-200 focus-visible:aria-selected:bg-primary-200 focused:aria-selected:text-primary-900 focus-visible:aria-selected:text-primary-900",chipContainerClass:"flex flex-row items-center px-3 py-1 rounded-full bg-surface-100 m-1 gap-2 truncate",chipCloseButtonClass:"fa-solid fa-xmark p-1 bg-surface-300 rounded-full min-w-[24px] flex justify-center text-surface-50 hover:bg-surface-400 hover:text-surface-100 hover:cursor-pointer"}},adornment:{accordion:{className:"flex items-center gap-2 my-2",titleClass:"cursor-pointer",iconOpenClass:"fa fa-chevron-up",iconClosedClass:"fa fa-chevron-down"},optional:{checkClass:"m-2",className:"flex items-center gap-2 w-full",multiValuesClass:"italic",childWrapperClass:"grow"}}};exports.CheckButtons=D,exports.ControlInput=g,exports.DataArrayRenderer=H,exports.DefaultAccordion=S,exports.DefaultArrayRenderer=z,exports.DefaultBoolOptions=oe,exports.DefaultDisplay=y,exports.DefaultDisplayOnly=F,exports.DefaultLayout=A,exports.DefaultVisibility=P,exports.JsonataRenderer=M,exports.OptionalEditRenderer=re,exports.SelectDataRenderer=b,exports.ValueForFieldExtension=$,exports.createAutocompleteRenderer=Y,exports.createButtonActionRenderer=le,exports.createCheckListRenderer=R,exports.createCheckboxRenderer=O,exports.createClassStyledRenderers=function(){return de({layout:{className:"control"},group:{className:"group"},array:{className:"control-array"},action:{className:"action"},data:{inputClass:"data"},display:{htmlClassName:"html",textClassName:"text"}})},exports.createDefaultAdornmentRenderer=ie,exports.createDefaultArrayDataRenderer=j,exports.createDefaultArrayRenderer=W,exports.createDefaultDataRenderer=se,exports.createDefaultDisplayRenderer=m,exports.createDefaultGroupRenderer=_,exports.createDefaultLabelRenderer=ue,exports.createDefaultLayoutRenderer=w,exports.createDefaultRenderers=de,exports.createDefaultVisibilityRenderer=V,exports.createInputConversion=x,exports.createJsonataRenderer=q,exports.createNullToggleRenderer=B,exports.createOptionalAdornment=te,exports.createRadioRenderer=T,exports.createSelectConversion=E,exports.createSelectRenderer=N,exports.createValueForFieldRenderer=function(e){return r.createDataRenderer(function(t,n){var a,l=t.renderOptions.fieldRef,o=l?null==(a=r.schemaDataForFieldRef(l,t.dataContext.parentNode))||null==(a=a.control)?void 0:a.value:void 0,s=o?r.schemaForFieldRef(o,e.schema):void 0;return s?/*#__PURE__*/i.default.createElement(ee,{renderer:n,schema:s,control:t.control}):/*#__PURE__*/i.default.createElement(i.default.Fragment,null,o?"No schema node for "+o:"")},{renderType:Z})},exports.defaultTailwindTheme=ce,exports.getAccordionState=function(e){return e.meta.accordionState},exports.setIncluded=k;
1
+ var React = require('react');
2
+ var clsx = require('clsx');
3
+ var schemas = require('@react-typed-forms/schemas');
4
+ var core = require('@react-typed-forms/core');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var base = require('@mui/base');
7
+ var ariaBase = require('@astroapps/aria-base');
8
+ var overlays = require('@react-stately/overlays');
9
+
10
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
+
12
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
+ var clsx__default = /*#__PURE__*/_interopDefaultLegacy(clsx);
14
+
15
+ function _extends() {
16
+ return _extends = Object.assign ? Object.assign.bind() : function (n) {
17
+ for (var e = 1; e < arguments.length; e++) {
18
+ var t = arguments[e];
19
+ for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
20
+ }
21
+ return n;
22
+ }, _extends.apply(null, arguments);
23
+ }
24
+ function _objectDestructuringEmpty(t) {
25
+ if (null == t) throw new TypeError("Cannot destructure " + t);
26
+ }
27
+ function _objectWithoutPropertiesLoose(r, e) {
28
+ if (null == r) return {};
29
+ var t = {};
30
+ for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
31
+ if (e.includes(n)) continue;
32
+ t[n] = r[n];
33
+ }
34
+ return t;
35
+ }
36
+
37
+ var _excluded$4 = ["data", "display", "className", "style", "renderer"];
38
+ function createDefaultDisplayRenderer(options) {
39
+ if (options === void 0) {
40
+ options = {};
41
+ }
42
+ return {
43
+ render: function render(props, renderer) {
44
+ return React.createElement(DefaultDisplay, _extends({}, options, props, {
45
+ renderer: renderer
46
+ }));
47
+ },
48
+ type: "display"
49
+ };
50
+ }
51
+ function DefaultDisplay(_ref) {
52
+ var _effect = core.useComponentTracking();
53
+ try {
54
+ var data = _ref.data,
55
+ display = _ref.display,
56
+ className = _ref.className,
57
+ style = _ref.style,
58
+ renderer = _ref.renderer,
59
+ options = _objectWithoutPropertiesLoose(_ref, _excluded$4);
60
+ var h = renderer.h;
61
+ switch (data.type) {
62
+ case schemas.DisplayDataType.Icon:
63
+ return h("i", {
64
+ style: style,
65
+ className: clsx__default["default"](schemas.getOverrideClass(className), display ? display.value : data.iconClass)
66
+ });
67
+ case schemas.DisplayDataType.Text:
68
+ return h("div", {
69
+ style: style,
70
+ className: schemas.rendererClass(className, options.textClassName)
71
+ }, display ? schemas.coerceToString(display.value) : data.text);
72
+ case schemas.DisplayDataType.Html:
73
+ return h("div", {
74
+ style: style,
75
+ className: schemas.rendererClass(className, options.htmlClassName),
76
+ dangerouslySetInnerHTML: {
77
+ __html: display ? schemas.coerceToString(display.value) : data.html
78
+ }
79
+ });
80
+ case schemas.DisplayDataType.Custom:
81
+ return h("div", null, h("b", null, "(", data.customId, ")"));
82
+ default:
83
+ return h("h1", null, "Unknown display type: ", data.type);
84
+ }
85
+ } finally {
86
+ _effect();
87
+ }
88
+ }
89
+
90
+ var _excluded$3 = ["control", "convert", "renderer"],
91
+ _excluded2$1 = ["errorText", "value", "onChange"];
92
+ function ControlInput(_ref) {
93
+ var _effect = core.useComponentTracking();
94
+ try {
95
+ var toText = function toText(value) {
96
+ return value == null ? "" : convert[2](value);
97
+ };
98
+ var control = _ref.control,
99
+ convert = _ref.convert,
100
+ renderer = _ref.renderer,
101
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$3);
102
+ var _formControlProps = core.formControlProps(control),
103
+ errorText = _formControlProps.errorText,
104
+ value = _formControlProps.value,
105
+ onChange = _formControlProps.onChange,
106
+ inputProps = _objectWithoutPropertiesLoose(_formControlProps, _excluded2$1);
107
+ var textValue = core.useControl(function () {
108
+ return toText(value);
109
+ });
110
+ core.useControlEffect(function () {
111
+ return control.value;
112
+ }, function (v) {
113
+ return textValue.value = toText(v);
114
+ });
115
+ // noinspection JSUnusedLocalSymbols
116
+ var h = renderer.h;
117
+ return h("input", _extends({}, inputProps, {
118
+ type: convert[0],
119
+ value: textValue.value,
120
+ onChange: function onChange(e) {
121
+ textValue.value = e.target.value;
122
+ var converted = convert[1](e.target.value);
123
+ if (converted !== undefined) control.value = converted;
124
+ }
125
+ }, props));
126
+ } finally {
127
+ _effect();
128
+ }
129
+ }
130
+ function createInputConversion(ft) {
131
+ switch (ft) {
132
+ case schemas.FieldType.String:
133
+ return ["text", function (a) {
134
+ return a;
135
+ }, function (a) {
136
+ return a;
137
+ }];
138
+ case schemas.FieldType.Bool:
139
+ return ["text", function (a) {
140
+ return a === "true" ? true : a === "false" ? false : undefined;
141
+ }, function (a) {
142
+ var _a$toString;
143
+ return (_a$toString = a == null ? void 0 : a.toString()) != null ? _a$toString : "";
144
+ }];
145
+ case schemas.FieldType.Int:
146
+ return ["number", function (a) {
147
+ return a !== "" ? parseInt(a) : null;
148
+ }, function (a) {
149
+ return a == null ? "" : a;
150
+ }];
151
+ case schemas.FieldType.DateTime:
152
+ return ["datetime-local", function (a) {
153
+ return !a ? null : a;
154
+ }, function (a) {
155
+ return a;
156
+ }];
157
+ case schemas.FieldType.Date:
158
+ return ["date", function (a) {
159
+ return !a ? null : a;
160
+ }, function (a) {
161
+ return a;
162
+ }];
163
+ case schemas.FieldType.Time:
164
+ return ["time", function (a) {
165
+ var l = a.length;
166
+ if (l === 5) return a + ":00";
167
+ if (l === 8) return a;
168
+ return undefined;
169
+ }, function (a) {
170
+ return a ? a.substring(0, 5) : "";
171
+ }];
172
+ case schemas.FieldType.Double:
173
+ return ["number", function (a) {
174
+ return a !== "" ? parseFloat(a) : null;
175
+ }, function (a) {
176
+ return a == null ? "" : a;
177
+ }];
178
+ default:
179
+ return ["text", function (a) {
180
+ return a;
181
+ }, function (a) {
182
+ return a;
183
+ }];
184
+ }
185
+ }
186
+
187
+ var _excluded$2 = ["state", "options", "className", "convert", "required", "emptyText", "requiredText", "readonly"];
188
+ function createSelectRenderer(options) {
189
+ if (options === void 0) {
190
+ options = {};
191
+ }
192
+ return schemas.createDataRenderer(function (props, asArray) {
193
+ var _props$options;
194
+ return React.createElement(SelectDataRenderer, {
195
+ className: schemas.rendererClass(props.className, options.className),
196
+ state: props.control,
197
+ id: props.id,
198
+ readonly: props.readonly,
199
+ options: (_props$options = props.options) != null ? _props$options : [],
200
+ required: props.required,
201
+ emptyText: options.emptyText,
202
+ requiredText: options.requiredText,
203
+ convert: createSelectConversion(props.field.type)
204
+ });
205
+ }, {
206
+ options: true
207
+ });
208
+ }
209
+ function SelectDataRenderer(_ref) {
210
+ var _effect = core.useComponentTracking();
211
+ try {
212
+ var renderOption = function renderOption(x, i) {
213
+ return React.createElement("option", {
214
+ key: i,
215
+ value: convert(x.value),
216
+ disabled: !!x.disabled
217
+ }, x.name);
218
+ };
219
+ var state = _ref.state,
220
+ options = _ref.options,
221
+ className = _ref.className,
222
+ convert = _ref.convert,
223
+ required = _ref.required,
224
+ _ref$emptyText = _ref.emptyText,
225
+ emptyText = _ref$emptyText === void 0 ? "N/A" : _ref$emptyText,
226
+ _ref$requiredText = _ref.requiredText,
227
+ requiredText = _ref$requiredText === void 0 ? "<please select>" : _ref$requiredText,
228
+ readonly = _ref.readonly,
229
+ props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
230
+ var value = state.value,
231
+ disabled = state.disabled;
232
+ var _useState = React.useState(!required || value == null),
233
+ showEmpty = _useState[0];
234
+ var optionStringMap = React.useMemo(function () {
235
+ return Object.fromEntries(options.map(function (x) {
236
+ return [convert(x.value), x.value];
237
+ }));
238
+ }, [options]);
239
+ var optionGroups = React.useMemo(function () {
240
+ return new Set(options.filter(function (x) {
241
+ return x.group;
242
+ }).map(function (x) {
243
+ return x.group;
244
+ }));
245
+ }, [options]);
246
+ return React.createElement("select", _extends({}, props, {
247
+ className: className,
248
+ onChange: function onChange(v) {
249
+ return state.value = optionStringMap[v.target.value];
250
+ },
251
+ value: convert(value),
252
+ disabled: disabled || readonly
253
+ }), showEmpty && React.createElement("option", {
254
+ value: ""
255
+ }, required ? requiredText : emptyText), [].concat(optionGroups.keys()).map(function (x) {
256
+ return React.createElement("optgroup", {
257
+ key: x,
258
+ label: x
259
+ }, options.filter(function (o) {
260
+ return o.group === x;
261
+ }).map(renderOption));
262
+ }), options.filter(function (x) {
263
+ return !x.group;
264
+ }).map(renderOption));
265
+ } finally {
266
+ _effect();
267
+ }
268
+ }
269
+ function createSelectConversion(ft) {
270
+ switch (ft) {
271
+ case schemas.FieldType.String:
272
+ case schemas.FieldType.Int:
273
+ case schemas.FieldType.Double:
274
+ return function (a) {
275
+ return a;
276
+ };
277
+ default:
278
+ return function (a) {
279
+ var _a$toString;
280
+ return (_a$toString = a == null ? void 0 : a.toString()) != null ? _a$toString : "";
281
+ };
282
+ }
283
+ }
284
+
285
+ var _excluded$1 = ["control", "type", "notValue", "renderer"],
286
+ _excluded2 = ["value", "onChange", "errorText"];
287
+ function createRadioRenderer(options) {
288
+ if (options === void 0) {
289
+ options = {};
290
+ }
291
+ return schemas.createDataRenderer(function (p, renderer) {
292
+ return React.createElement(CheckButtons, _extends({
293
+ classes: options,
294
+ controlClasses: p.renderOptions
295
+ }, p, {
296
+ className: schemas.rendererClass(p.className, options.className),
297
+ isChecked: function isChecked(control, o) {
298
+ return control.value == o.value;
299
+ },
300
+ setChecked: function setChecked(c, o) {
301
+ return c.value = o.value;
302
+ },
303
+ control: p.control,
304
+ type: "radio",
305
+ entryAdornment: schemas.fieldOptionAdornment(p),
306
+ renderer: renderer
307
+ }));
308
+ }, {
309
+ renderType: schemas.DataRenderType.Radio
310
+ });
311
+ }
312
+ function createCheckListRenderer(options) {
313
+ if (options === void 0) {
314
+ options = {};
315
+ }
316
+ return schemas.createDataRenderer(function (p, renderer) {
317
+ return React.createElement(CheckButtons, _extends({
318
+ classes: options,
319
+ controlClasses: p.renderOptions
320
+ }, p, {
321
+ className: schemas.rendererClass(p.className, options.className),
322
+ isChecked: function isChecked(control, o) {
323
+ var v = control.value;
324
+ return Array.isArray(v) ? v.includes(o.value) : false;
325
+ },
326
+ setChecked: function setChecked(c, o, checked) {
327
+ c.setValue(function (x) {
328
+ return setIncluded(x != null ? x : [], o.value, checked);
329
+ });
330
+ },
331
+ control: p.control,
332
+ type: "checkbox",
333
+ entryAdornment: schemas.fieldOptionAdornment(p),
334
+ renderer: renderer
335
+ }));
336
+ }, {
337
+ collection: true,
338
+ renderType: schemas.DataRenderType.CheckList
339
+ });
340
+ }
341
+ function CheckButtons(_ref) {
342
+ var _effect = core.useComponentTracking();
343
+ try {
344
+ var control = _ref.control,
345
+ options = _ref.options,
346
+ readonly = _ref.readonly,
347
+ className = _ref.className,
348
+ id = _ref.id,
349
+ type = _ref.type,
350
+ isChecked = _ref.isChecked,
351
+ setChecked = _ref.setChecked,
352
+ entryAdornment = _ref.entryAdornment,
353
+ classes = _ref.classes,
354
+ _ref$controlClasses = _ref.controlClasses,
355
+ controlClasses = _ref$controlClasses === void 0 ? {} : _ref$controlClasses,
356
+ renderer = _ref.renderer;
357
+ var h = renderer.h;
358
+ var disabled = control.disabled;
359
+ var name = "r" + control.uniqueId;
360
+ return h("div", {
361
+ className: className,
362
+ id: id
363
+ }, h(core.RenderArrayElements, {
364
+ array: options == null ? void 0 : options.filter(function (x) {
365
+ return x.value != null;
366
+ })
367
+ }, function (o, i) {
368
+ var checked = core.useComputed(function () {
369
+ return isChecked(control, o);
370
+ }).value;
371
+ var selOrUnsel = checked ? schemas.rendererClass(controlClasses == null ? void 0 : controlClasses.selectedClass, classes.selectedClass) : schemas.rendererClass(controlClasses == null ? void 0 : controlClasses.notSelectedClass, classes.notSelectedClass);
372
+ return h("div", {
373
+ className: clsx__default["default"](schemas.rendererClass(controlClasses == null ? void 0 : controlClasses.entryWrapperClass, classes.entryWrapperClass), selOrUnsel),
374
+ onClick: function onClick() {
375
+ return !readonly && setChecked(control, o, !checked);
376
+ }
377
+ }, h("div", {
378
+ className: classes.entryClass
379
+ }, h("input", {
380
+ id: name + "_" + i,
381
+ className: classes.checkClass,
382
+ type: type,
383
+ name: name,
384
+ readOnly: readonly,
385
+ disabled: disabled,
386
+ checked: checked,
387
+ onChange: function onChange(x) {
388
+ !readonly && setChecked(control, o, x.target.checked);
389
+ }
390
+ }), h("label", {
391
+ className: classes.labelClass,
392
+ htmlFor: name + "_" + i
393
+ }, o.name)), entryAdornment == null ? void 0 : entryAdornment(o, i, checked));
394
+ }));
395
+ } finally {
396
+ _effect();
397
+ }
398
+ }
399
+ function setIncluded(array, elem, included) {
400
+ var already = array.includes(elem);
401
+ if (included === already) {
402
+ return array;
403
+ }
404
+ if (included) {
405
+ return [].concat(array, [elem]);
406
+ }
407
+ return array.filter(function (e) {
408
+ return e !== elem;
409
+ });
410
+ }
411
+ function createCheckboxRenderer(options) {
412
+ if (options === void 0) {
413
+ options = {};
414
+ }
415
+ return schemas.createDataRenderer(function (props, renderer) {
416
+ return function (p) {
417
+ return _extends({}, p, {
418
+ label: undefined,
419
+ children: React.createElement(CheckBox, {
420
+ p: p,
421
+ renderer: renderer,
422
+ options: options,
423
+ props: props
424
+ })
425
+ });
426
+ };
427
+ }, {
428
+ renderType: schemas.DataRenderType.Checkbox
429
+ });
430
+ }
431
+ function CheckBox(_ref2) {
432
+ var _effect2 = core.useComponentTracking();
433
+ try {
434
+ var p = _ref2.p,
435
+ props = _ref2.props,
436
+ renderer = _ref2.renderer,
437
+ options = _ref2.options;
438
+ var h = renderer.h;
439
+ return h("div", {
440
+ className: schemas.rendererClass(props.className, options.entryClass)
441
+ }, h(Fcheckbox, {
442
+ id: props.id,
443
+ control: props.control.as(),
444
+ style: props.style,
445
+ className: options.checkClass,
446
+ renderer: renderer
447
+ }), p.label && renderer.renderLabel(p.label, undefined, undefined));
448
+ } finally {
449
+ _effect2();
450
+ }
451
+ }
452
+ function Fcheckbox(_ref3) {
453
+ var _effect3 = core.useComponentTracking();
454
+ try {
455
+ var control = _ref3.control,
456
+ _ref3$type = _ref3.type,
457
+ type = _ref3$type === void 0 ? "checkbox" : _ref3$type,
458
+ _ref3$notValue = _ref3.notValue,
459
+ notValue = _ref3$notValue === void 0 ? false : _ref3$notValue,
460
+ renderer = _ref3.renderer,
461
+ others = _objectWithoutPropertiesLoose(_ref3, _excluded$1);
462
+ var h = renderer.h;
463
+ // Update the HTML5 custom validity whenever the error message is changed/cleared
464
+ // useControlEffect(
465
+ // () => control.error,
466
+ // (s) => (control.element as HTMLInputElement)?.setCustomValidity(s ?? ""),
467
+ // );
468
+ var _formControlProps = core.formControlProps(control),
469
+ value = _formControlProps.value,
470
+ onChange = _formControlProps.onChange,
471
+ errorText = _formControlProps.errorText,
472
+ theseProps = _objectWithoutPropertiesLoose(_formControlProps, _excluded2);
473
+ return h("input", _extends({}, theseProps, {
474
+ checked: !!value !== notValue,
475
+ ref: function ref(r) {
476
+ control.element = r;
477
+ // if (r) r.setCustomValidity(control.current.error ?? "");
478
+ },
479
+ onChange: function onChange(e) {
480
+ return control.value = e.target.checked !== notValue;
481
+ },
482
+ type: type
483
+ }, others));
484
+ } finally {
485
+ _effect3();
486
+ }
487
+ }
488
+
489
+ function createDefaultLayoutRenderer(options) {
490
+ if (options === void 0) {
491
+ options = {};
492
+ }
493
+ return schemas.createLayoutRenderer(function (props, renderers) {
494
+ var layout = schemas.renderLayoutParts(props, renderers);
495
+ return {
496
+ children: layout.wrapLayout(React.createElement(DefaultLayout, _extends({
497
+ layout: layout
498
+ }, options, {
499
+ renderer: renderers
500
+ }))),
501
+ className: schemas.rendererClass(layout.className, options.className),
502
+ style: layout.style,
503
+ divRef: function divRef(e) {
504
+ return e && props.errorControl ? props.errorControl.meta.scrollElement = e : undefined;
505
+ }
506
+ };
507
+ });
508
+ }
509
+ function DefaultLayout(_ref) {
510
+ var _effect = core.useComponentTracking();
511
+ try {
512
+ var errorClass = _ref.errorClass,
513
+ _ref$renderer = _ref.renderer,
514
+ h = _ref$renderer.h,
515
+ renderText = _ref$renderer.renderText,
516
+ _ref$renderError = _ref.renderError,
517
+ renderError = _ref$renderError === void 0 ? function (e) {
518
+ return e && h("div", null, h("span", {
519
+ className: errorClass
520
+ }, renderText(e)));
521
+ } : _ref$renderError,
522
+ _ref$layout = _ref.layout,
523
+ controlEnd = _ref$layout.controlEnd,
524
+ controlStart = _ref$layout.controlStart,
525
+ label = _ref$layout.label,
526
+ children = _ref$layout.children,
527
+ errorControl = _ref$layout.errorControl;
528
+ var ec = errorControl;
529
+ var errorText = ec && ec.touched ? ec.error : undefined;
530
+ return h(React.Fragment, null, label, controlStart, children, renderError(errorText), controlEnd);
531
+ } finally {
532
+ _effect();
533
+ }
534
+ }
535
+
536
+ function DefaultDisplayOnly(_ref) {
537
+ var _effect = core.useComponentTracking();
538
+ try {
539
+ var _ref2;
540
+ var control = _ref.control,
541
+ className = _ref.className,
542
+ emptyText = _ref.emptyText,
543
+ schemaInterface = _ref.schemaInterface,
544
+ field = _ref.field,
545
+ style = _ref.style,
546
+ renderer = _ref.renderer;
547
+ var v = control.value;
548
+ var text = (_ref2 = schemaInterface.isEmptyValue(field, v) ? emptyText : schemaInterface.textValue(field, v)) != null ? _ref2 : "";
549
+ // noinspection JSUnusedLocalSymbols
550
+ var h = renderer.h;
551
+ return h("div", {
552
+ style: style,
553
+ className: className
554
+ }, text);
555
+ } finally {
556
+ _effect();
557
+ }
558
+ }
559
+
560
+ function DefaultAccordion(_ref) {
561
+ var _effect = core.useComponentTracking();
562
+ try {
563
+ var _dataContext$dataNode;
564
+ var children = _ref.children,
565
+ accordion = _ref.accordion,
566
+ contentStyle = _ref.contentStyle,
567
+ contentClassName = _ref.contentClassName,
568
+ designMode = _ref.designMode,
569
+ iconOpenClass = _ref.iconOpenClass,
570
+ iconClosedClass = _ref.iconClosedClass,
571
+ className = _ref.className,
572
+ _ref$renderTitle = _ref.renderTitle,
573
+ renderTitle = _ref$renderTitle === void 0 ? function (t) {
574
+ return t;
575
+ } : _ref$renderTitle,
576
+ renderToggler = _ref.renderToggler,
577
+ renderers = _ref.renderers,
578
+ titleClass = _ref.titleClass,
579
+ useCss = _ref.useCss,
580
+ dataContext = _ref.dataContext;
581
+ var dataControl = ((_dataContext$dataNode = dataContext.dataNode) != null ? _dataContext$dataNode : dataContext.parentNode).control;
582
+ var open = core.useControl(!!accordion.defaultExpanded);
583
+ if (dataControl && !dataControl.meta.accordionState) {
584
+ dataControl.meta.accordionState = open;
585
+ }
586
+ var isOpen = open.value;
587
+ var fullContentStyle = isOpen || designMode ? contentStyle : _extends({}, contentStyle, {
588
+ display: "none"
589
+ });
590
+ var title = renderers.renderLabelText(renderTitle(accordion.title, open));
591
+ var toggler = renderToggler ? renderToggler(open, title) : React.createElement("button", {
592
+ className: className,
593
+ onClick: function onClick() {
594
+ return open.setValue(function (x) {
595
+ return !x;
596
+ });
597
+ }
598
+ }, React.createElement("label", {
599
+ className: titleClass
600
+ }, title), React.createElement("i", {
601
+ className: clsx__default["default"](isOpen ? iconOpenClass : iconClosedClass)
602
+ }));
603
+ return React.createElement(React.Fragment, null, toggler, (useCss || isOpen || designMode) && React.createElement("div", {
604
+ style: fullContentStyle,
605
+ className: contentClassName
606
+ }, children));
607
+ } finally {
608
+ _effect();
609
+ }
610
+ }
611
+ function getAccordionState(c) {
612
+ return c.meta.accordionState;
613
+ }
614
+
615
+ function createTabsRenderer(options) {
616
+ if (options === void 0) {
617
+ options = {};
618
+ }
619
+ return schemas.createGroupRenderer(function (p, renderer) {
620
+ return React.createElement(TabsGroupRenderer, _extends({}, p, {
621
+ tabOptions: p.renderOptions,
622
+ options: options
623
+ }));
624
+ }, {
625
+ renderType: schemas.GroupRenderType.Tabs
626
+ });
627
+ }
628
+ function TabsGroupRenderer(_ref) {
629
+ var _effect = core.useComponentTracking();
630
+ try {
631
+ var renderTabs = function renderTabs(tabs, key) {
632
+ return React.createElement("div", {
633
+ key: key,
634
+ className: schemas.rendererClass(className, options.className)
635
+ }, React.createElement("ul", {
636
+ className: schemas.rendererClass(null, tabListClass)
637
+ }, tabs.map(function (x, i) {
638
+ return React.createElement("li", {
639
+ key: i,
640
+ className: schemas.rendererClass(null, tabClass),
641
+ onClick: function onClick() {
642
+ return tabIndex.value = i;
643
+ }
644
+ }, React.createElement("span", {
645
+ className: schemas.rendererClass(null, clsx__default["default"](labelClass, i == currentTab ? activeClass : inactiveClass))
646
+ }, x.definition.title ? x.definition.title : "<untitled>"));
647
+ })), React.createElement("div", {
648
+ className: schemas.rendererClass(tabOptions.contentClass, contentClass)
649
+ }, renderChild(currentTab, tabs[currentTab])));
650
+ };
651
+ var formNode = _ref.formNode,
652
+ className = _ref.className,
653
+ options = _ref.options,
654
+ renderChild = _ref.renderChild,
655
+ designMode = _ref.designMode,
656
+ tabOptions = _ref.tabOptions;
657
+ var tabIndex = core.useControl(0);
658
+ var tabClass = options.tabClass,
659
+ labelClass = options.labelClass,
660
+ tabListClass = options.tabListClass,
661
+ inactiveClass = options.inactiveClass,
662
+ activeClass = options.activeClass,
663
+ contentClass = options.contentClass;
664
+ var currentTab = tabIndex.value;
665
+ return designMode ? React.createElement(React.Fragment, null, formNode.getChildNodes().map(function (x, i) {
666
+ return renderTabs([x], i);
667
+ })) : renderTabs(formNode.getChildNodes(), 0);
668
+ } finally {
669
+ _effect();
670
+ }
671
+ }
672
+
673
+ function createDefaultGroupRenderer(options) {
674
+ var tabsRenderer = createTabsRenderer(options == null ? void 0 : options.tabs);
675
+ var _ref = options != null ? options : {},
676
+ className = _ref.className,
677
+ _ref$gridStyles = _ref.gridStyles,
678
+ gridStyles = _ref$gridStyles === void 0 ? defaultGridStyles : _ref$gridStyles,
679
+ _ref$defaultGridColum = _ref.defaultGridColumns,
680
+ defaultGridColumns = _ref$defaultGridColum === void 0 ? 2 : _ref$defaultGridColum,
681
+ gridClassName = _ref.gridClassName,
682
+ standardClassName = _ref.standardClassName,
683
+ flexClassName = _ref.flexClassName,
684
+ defaultFlexGap = _ref.defaultFlexGap;
685
+ function defaultGridStyles(_ref2) {
686
+ var _ref2$columns = _ref2.columns,
687
+ columns = _ref2$columns === void 0 ? defaultGridColumns : _ref2$columns;
688
+ return {
689
+ className: gridClassName,
690
+ style: {
691
+ display: "grid",
692
+ gridTemplateColumns: "repeat(" + columns + ", 1fr)"
693
+ }
694
+ };
695
+ }
696
+ function flexStyles(options) {
697
+ return {
698
+ className: flexClassName,
699
+ style: {
700
+ display: "flex",
701
+ gap: options.gap ? options.gap : defaultFlexGap,
702
+ flexDirection: options.direction ? options.direction : undefined
703
+ }
704
+ };
705
+ }
706
+ function render(props, renderer) {
707
+ var renderChild = props.renderChild,
708
+ renderOptions = props.renderOptions,
709
+ formNode = props.formNode;
710
+ if (schemas.isTabsRenderer(renderOptions)) return tabsRenderer.render(props, renderer);
711
+ if (schemas.isSelectChildRenderer(renderOptions) && !props.designMode) {
712
+ return h(SelectChildGroupRenderer, _extends({}, props, {
713
+ renderOptions: renderOptions
714
+ }));
715
+ }
716
+ var _ref3 = schemas.isGridRenderer(renderOptions) ? gridStyles(renderOptions) : schemas.isFlexRenderer(renderOptions) ? flexStyles(renderOptions) : {
717
+ className: standardClassName
718
+ },
719
+ style = _ref3.style,
720
+ gcn = _ref3.className;
721
+ // noinspection JSUnusedLocalSymbols
722
+ var h = renderer.h;
723
+ return h("div", {
724
+ className: schemas.rendererClass(props.className, clsx__default["default"](className, gcn)),
725
+ style: style
726
+ }, formNode.getChildNodes().map(function (c, i) {
727
+ return renderChild(i, c);
728
+ }));
729
+ }
730
+ return {
731
+ type: "group",
732
+ render: render
733
+ };
734
+ }
735
+ function SelectChildGroupRenderer(props) {
736
+ var _effect = core.useComponentTracking();
737
+ try {
738
+ var useEvalExpression = props.useEvalExpression,
739
+ renderOptions = props.renderOptions;
740
+ var dynHook = useEvalExpression(renderOptions == null ? void 0 : renderOptions.childIndexExpression, function (x) {
741
+ return x == "string" ? parseInt(x) : x;
742
+ });
743
+ var Render = core.useTrackedComponent(function (p) {
744
+ var ctrl = dynHook.runHook(p.dataContext, dynHook.state);
745
+ var childIndex = ctrl == null ? void 0 : ctrl.value;
746
+ var childDefinitions = p.formNode.getChildNodes();
747
+ return React.createElement("div", null, typeof childIndex === "number" && childIndex < childDefinitions.length && childIndex >= 0 && p.renderChild(childIndex, childDefinitions[childIndex]));
748
+ }, [dynHook.deps]);
749
+ return React.createElement(Render, props);
750
+ } finally {
751
+ _effect();
752
+ }
753
+ }
754
+
755
+ function createDefaultVisibilityRenderer() {
756
+ var h = jsxRuntime.jsx;
757
+ return schemas.createVisibilityRenderer(function (props, renderer) {
758
+ return h(DefaultVisibility, _extends({}, props, {
759
+ renderer: renderer
760
+ }));
761
+ });
762
+ }
763
+ function DefaultVisibility(_ref) {
764
+ var _effect = core.useComponentTracking();
765
+ try {
766
+ var visibility = _ref.visibility,
767
+ children = _ref.children,
768
+ className = _ref.className,
769
+ style = _ref.style,
770
+ divRef = _ref.divRef,
771
+ renderer = _ref.renderer;
772
+ var v = visibility.value;
773
+ React.useEffect(function () {
774
+ if (v) {
775
+ visibility.setValue(function (ex) {
776
+ return {
777
+ visible: v.visible,
778
+ showing: v.visible
779
+ };
780
+ });
781
+ }
782
+ }, [v == null ? void 0 : v.visible]);
783
+ var h = renderer.h;
784
+ return v != null && v.visible ? h("div", {
785
+ className: className,
786
+ style: style,
787
+ ref: divRef,
788
+ children: children
789
+ }) : h(React.Fragment, null);
790
+ } finally {
791
+ _effect();
792
+ }
793
+ }
794
+
795
+ function createJsonataRenderer(className) {
796
+ return schemas.createDataRenderer(function (p) {
797
+ return React.createElement(JsonataRenderer, {
798
+ renderOptions: p.renderOptions,
799
+ className: schemas.rendererClass(p.className, className),
800
+ dataNode: p.dataNode,
801
+ dataContext: p.dataContext,
802
+ control: p.control,
803
+ readonly: p.readonly
804
+ });
805
+ }, {
806
+ renderType: schemas.DataRenderType.Jsonata
807
+ });
808
+ }
809
+ function JsonataRenderer(_ref) {
810
+ var _effect = core.useComponentTracking();
811
+ try {
812
+ var control = _ref.control,
813
+ renderOptions = _ref.renderOptions,
814
+ readonly = _ref.readonly,
815
+ className = _ref.className,
816
+ dataContext = _ref.dataContext,
817
+ dataNode = _ref.dataNode;
818
+ var sdn = dataNode.elementIndex != null ? dataNode : dataContext.parentNode;
819
+ var bindings = core.useComputed(function () {
820
+ return {
821
+ value: control.value,
822
+ readonly: readonly,
823
+ disabled: control.disabled,
824
+ formData: dataContext.formData,
825
+ dataPath: schemas.getJsonPath(dataNode)
826
+ };
827
+ });
828
+ var rendered = schemas.useJsonataExpression(renderOptions.expression, schemas.getRootDataNode(sdn).control, schemas.getJsonPath(sdn), bindings, schemas.coerceToString);
829
+ return React.createElement("div", {
830
+ className: className,
831
+ dangerouslySetInnerHTML: {
832
+ __html: rendered.value
833
+ }
834
+ });
835
+ } finally {
836
+ _effect();
837
+ }
838
+ }
839
+
840
+ var _excluded = ["control", "field", "renderOptions"];
841
+ function createNullToggleRenderer() {
842
+ return schemas.createDataRenderer(function (_ref, renderers) {
843
+ var control = _ref.control,
844
+ field = _ref.field,
845
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
846
+ var lastDefined = schemas.getLastDefinedValue(control);
847
+ if (lastDefined.current.value == null) lastDefined.value = props.definition.defaultValue;
848
+ var nullControl = schemas.getNullToggler(control);
849
+ nullControl.disabled = props.readonly;
850
+ return function (layout) {
851
+ return renderers.renderData(_extends({}, props, {
852
+ control: nullControl,
853
+ field: _extends({}, field, {
854
+ type: schemas.FieldType.Bool
855
+ }),
856
+ renderOptions: {
857
+ type: schemas.DataRenderType.Checkbox
858
+ }
859
+ }))(layout);
860
+ };
861
+ });
862
+ }
863
+
864
+ function createDefaultArrayDataRenderer(defaultActions) {
865
+ return schemas.createDataRenderer(function (props, renderers) {
866
+ return React.createElement(DataArrayRenderer, {
867
+ dataProps: props,
868
+ renderers: renderers,
869
+ defaultActions: defaultActions
870
+ });
871
+ }, {
872
+ renderType: schemas.DataRenderType.Array,
873
+ collection: true
874
+ });
875
+ }
876
+ function DataArrayRenderer(_ref) {
877
+ var _definition$children;
878
+ var dataProps = _ref.dataProps,
879
+ renderers = _ref.renderers,
880
+ defaultActions = _ref.defaultActions;
881
+ var renderOptions = dataProps.renderOptions,
882
+ control = dataProps.control,
883
+ field = dataProps.field,
884
+ readonly = dataProps.readonly,
885
+ designMode = dataProps.designMode,
886
+ required = dataProps.required,
887
+ renderChild = dataProps.renderChild,
888
+ definition = dataProps.definition,
889
+ className = dataProps.className,
890
+ style = dataProps.style,
891
+ useChildVisibility = dataProps.useChildVisibility,
892
+ dataContext = dataProps.dataContext,
893
+ formNode = dataProps.formNode;
894
+ var _mergeObjects = schemas.mergeObjects(schemas.isArrayRenderer(renderOptions) ? renderOptions : {}, defaultActions),
895
+ addText = _mergeObjects.addText,
896
+ noAdd = _mergeObjects.noAdd,
897
+ noRemove = _mergeObjects.noRemove,
898
+ removeText = _mergeObjects.removeText,
899
+ editExternal = _mergeObjects.editExternal;
900
+ var childOptions = schemas.isArrayRenderer(renderOptions) ? renderOptions.childOptions : undefined;
901
+ var renderAsElement = !schemas.isCompoundField(field);
902
+ var childDefinition = schemas.nodeForControl(!renderAsElement ? {
903
+ type: schemas.ControlDefinitionType.Group,
904
+ children: definition.children,
905
+ groupOptions: {
906
+ type: schemas.GroupRenderType.Standard,
907
+ hideTitle: true
908
+ }
909
+ } : {
910
+ type: schemas.ControlDefinitionType.Data,
911
+ field: definition.field,
912
+ children: definition.children,
913
+ renderOptions: childOptions != null ? childOptions : {
914
+ type: schemas.DataRenderType.Standard
915
+ },
916
+ hideTitle: true
917
+ }, formNode.tree);
918
+ var visibilities = ((_definition$children = definition.children) != null ? _definition$children : []).map(function (x) {
919
+ return [useChildVisibility(x, undefined, true), x];
920
+ });
921
+ var deps = schemas.makeHookDepString(visibilities, function (x) {
922
+ return x[0].deps;
923
+ });
924
+ var Entry = core.useTrackedComponent(RenderEntry, [deps]);
925
+ var arrayProps = _extends({}, schemas.createArrayActions(control.as(), field, {
926
+ addText: addText,
927
+ removeText: removeText,
928
+ noAdd: noAdd,
929
+ noRemove: noRemove,
930
+ readonly: readonly,
931
+ disabled: control.disabled,
932
+ designMode: designMode,
933
+ editExternal: editExternal
934
+ }), {
935
+ required: required,
936
+ renderElement: function renderElement(i, wrap) {
937
+ return React.createElement(Entry, {
938
+ index: i,
939
+ renderChildElement: renderChildElement,
940
+ dataContext: dataContext,
941
+ visibilities: visibilities,
942
+ wrap: wrap
943
+ });
944
+ },
945
+ className: className ? className : undefined,
946
+ style: style
947
+ }, schemas.getLengthRestrictions(definition));
948
+ return renderers.renderArray(arrayProps);
949
+ function renderChildElement(i, elementNode) {
950
+ var _control$elements$i$u, _control$elements;
951
+ return renderChild((_control$elements$i$u = (_control$elements = control.elements) == null ? void 0 : _control$elements[i].uniqueId) != null ? _control$elements$i$u : i, childDefinition, renderAsElement ? {
952
+ elementIndex: i
953
+ } : {
954
+ parentDataNode: elementNode
955
+ });
956
+ }
957
+ }
958
+ function RenderEntry(_ref2) {
959
+ var i = _ref2.index,
960
+ renderChildElement = _ref2.renderChildElement,
961
+ visibilities = _ref2.visibilities,
962
+ wrap = _ref2.wrap,
963
+ dataContext = _ref2.dataContext;
964
+ var elementNode = dataContext.dataNode.getChildElement(i);
965
+ var childVis = visibilities.map(function (_ref3) {
966
+ var hook = _ref3[0],
967
+ def = _ref3[1];
968
+ return hook.runHook(_extends({}, dataContext, {
969
+ parentNode: elementNode,
970
+ dataNode: schemas.lookupDataNode(def, elementNode)
971
+ }), hook.state).value;
972
+ });
973
+ var anyVisible = childVis.length == 0 || childVis.some(function (x) {
974
+ return x === true;
975
+ });
976
+ if (!anyVisible) return undefined;
977
+ return wrap(renderChildElement(i, elementNode));
978
+ }
979
+ function createDefaultArrayRenderer(options) {
980
+ return {
981
+ render: function render(props, _ref4) {
982
+ var renderAction = _ref4.renderAction;
983
+ return React.createElement(DefaultArrayRenderer, _extends({}, props, options, {
984
+ renderAction: renderAction
985
+ }));
986
+ },
987
+ type: "array"
988
+ };
989
+ }
990
+ function DefaultArrayRenderer(props) {
991
+ var _effect = core.useComponentTracking();
992
+ try {
993
+ var renderElement = props.renderElement,
994
+ className = props.className,
995
+ removableClass = props.removableClass,
996
+ childClass = props.childClass,
997
+ removableChildClass = props.removableChildClass,
998
+ removeActionClass = props.removeActionClass,
999
+ addActionClass = props.addActionClass,
1000
+ arrayControl = props.arrayControl,
1001
+ renderAction = props.renderAction,
1002
+ style = props.style,
1003
+ editAction = props.editAction;
1004
+ var _applyArrayLengthRest = schemas.applyArrayLengthRestrictions(props),
1005
+ addAction = _applyArrayLengthRest.addAction,
1006
+ removeAction = _applyArrayLengthRest.removeAction;
1007
+ return React.createElement("div", {
1008
+ style: style
1009
+ }, React.createElement("div", {
1010
+ className: clsx__default["default"](className, removeAction && removableClass)
1011
+ }, React.createElement(core.RenderElements, {
1012
+ control: arrayControl
1013
+ }, function (_, x) {
1014
+ return renderElement(x, function (children) {
1015
+ return removeAction || editAction ? React.createElement(React.Fragment, null, React.createElement("div", {
1016
+ className: clsx__default["default"](childClass, removableChildClass)
1017
+ }, children), React.createElement("div", {
1018
+ className: removeActionClass
1019
+ }, editAction && renderAction(editAction(x)), removeAction && renderAction(removeAction(x)))) : React.createElement("div", {
1020
+ className: childClass
1021
+ }, children);
1022
+ });
1023
+ })), addAction && React.createElement("div", {
1024
+ className: addActionClass
1025
+ }, renderAction(addAction)));
1026
+ } finally {
1027
+ _effect();
1028
+ }
1029
+ }
1030
+
1031
+ var inputClass = "leading-[1.5] text-surface-900 bg-[inherit] border-0 rounded-[inherit] px-3 py-2 outline-0 grow shrink-0 basis-auto focus:outline-0 focus:ring-0 focus:shadow-none";
1032
+ function createAutocompleteRenderer(options) {
1033
+ if (options === void 0) {
1034
+ options = {};
1035
+ }
1036
+ return schemas.createDataRenderer(function (p) {
1037
+ var _p$options, _p$options2;
1038
+ return p.field.collection ? React.createElement(MultipleAutocomplete, {
1039
+ options: (_p$options = p.options) != null ? _p$options : [],
1040
+ control: p.control,
1041
+ className: schemas.rendererClass(p.className, options.className),
1042
+ classes: options,
1043
+ controlClasses: p.renderOptions,
1044
+ readOnly: p.readonly,
1045
+ id: p.id
1046
+ }) : React.createElement(SingleAutocomplete, {
1047
+ options: (_p$options2 = p.options) != null ? _p$options2 : [],
1048
+ control: p.control,
1049
+ className: schemas.rendererClass(p.className, options.className),
1050
+ classes: options,
1051
+ controlClasses: p.renderOptions,
1052
+ readOnly: p.readonly,
1053
+ id: p.id
1054
+ });
1055
+ }, {
1056
+ renderType: schemas.DataRenderType.Autocomplete
1057
+ });
1058
+ }
1059
+ function SingleAutocomplete(_ref) {
1060
+ var _effect = core.useComponentTracking();
1061
+ try {
1062
+ var _controlClasses$place;
1063
+ var props = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
1064
+ var id = props.id,
1065
+ control = props.control,
1066
+ className = props.className,
1067
+ readOnly = props.readOnly,
1068
+ classes = props.classes,
1069
+ controlClasses = props.controlClasses;
1070
+ var disabled = control.disabled;
1071
+ var inputControl = core.useControl("");
1072
+ var selectedOptionControl = core.useControl(null);
1073
+ var listContainerClass = schemas.rendererClass(controlClasses == null ? void 0 : controlClasses.listContainerClass, classes.listContainerClass);
1074
+ var listEntryClass = schemas.rendererClass(controlClasses == null ? void 0 : controlClasses.listEntryClass, classes.listEntryClass);
1075
+ core.useControlEffect(core.controlValues(inputControl, selectedOptionControl), function (_ref2) {
1076
+ var text = _ref2[0],
1077
+ selected = _ref2[1];
1078
+ control.value = selected ? typeof selected === "string" ? selected : selected.value : text;
1079
+ });
1080
+ var _useAutocomplete = base.useAutocomplete(_extends({
1081
+ freeSolo: true,
1082
+ multiple: false,
1083
+ value: selectedOptionControl.value,
1084
+ inputValue: inputControl.value,
1085
+ getOptionLabel: function getOptionLabel(v) {
1086
+ return typeof v === "string" ? v : v.name;
1087
+ },
1088
+ filterOptions: function filterOptions(o, s) {
1089
+ return o.filter(function (o) {
1090
+ var label = typeof o === "string" ? o : o.name;
1091
+ return label.toLowerCase().includes(s.inputValue.toLowerCase());
1092
+ });
1093
+ },
1094
+ onInputChange: function onInputChange(_, v, reason) {
1095
+ inputControl.value = v;
1096
+ if (reason === "input") selectedOptionControl.value = null;
1097
+ },
1098
+ onChange: function onChange(_, v, reason) {
1099
+ if (reason === "selectOption") {
1100
+ selectedOptionControl.value = v;
1101
+ }
1102
+ }
1103
+ }, props)),
1104
+ getRootProps = _useAutocomplete.getRootProps,
1105
+ getInputProps = _useAutocomplete.getInputProps,
1106
+ getListboxProps = _useAutocomplete.getListboxProps,
1107
+ getOptionProps = _useAutocomplete.getOptionProps,
1108
+ groupedOptions = _useAutocomplete.groupedOptions,
1109
+ popupOpen = _useAutocomplete.popupOpen,
1110
+ focused = _useAutocomplete.focused,
1111
+ getPopupIndicatorProps = _useAutocomplete.getPopupIndicatorProps;
1112
+ return React.createElement("div", _extends({
1113
+ id: id,
1114
+ className: "relative"
1115
+ }, getRootProps()), React.createElement("div", {
1116
+ className: clsx__default["default"](className, focused ? "border-primary-400 shadow-[0_0_0_3px_transparent] shadow-primary-200" : "shadow-[0_2px_2px_transparent] shadow-surface-50")
1117
+ }, React.createElement("input", _extends({
1118
+ type: "text"
1119
+ }, getInputProps(), {
1120
+ placeholder: (_controlClasses$place = controlClasses == null ? void 0 : controlClasses.placeholder) != null ? _controlClasses$place : "",
1121
+ className: inputClass
1122
+ })), React.createElement("button", _extends({}, getPopupIndicatorProps(), {
1123
+ disabled: disabled || readOnly,
1124
+ className: "outline-0 shadow-none border-0 py-0 px-0.5 bg-transparent pr-[10px]"
1125
+ }), React.createElement("li", {
1126
+ className: clsx__default["default"]("fa-solid fa-angle-down", "text-primary-500", popupOpen && "rotate-180")
1127
+ }))), groupedOptions.length > 0 && popupOpen && React.createElement("ul", _extends({}, getListboxProps(), {
1128
+ className: listContainerClass
1129
+ }), groupedOptions.map(function (option, index) {
1130
+ var optionProps = getOptionProps({
1131
+ option: option,
1132
+ index: index
1133
+ });
1134
+ return React.createElement("li", _extends({}, optionProps, {
1135
+ key: optionProps.key,
1136
+ className: listEntryClass
1137
+ }), option.name);
1138
+ })));
1139
+ } finally {
1140
+ _effect();
1141
+ }
1142
+ }
1143
+ function MultipleAutocomplete(_ref3) {
1144
+ var _effect2 = core.useComponentTracking();
1145
+ try {
1146
+ var _selectedOptionsContr, _selectedOptionsContr2, _controlClasses$place2;
1147
+ var props = _extends({}, (_objectDestructuringEmpty(_ref3), _ref3));
1148
+ var id = props.id,
1149
+ control = props.control,
1150
+ className = props.className,
1151
+ readOnly = props.readOnly,
1152
+ classes = props.classes,
1153
+ controlClasses = props.controlClasses;
1154
+ var disabled = control.disabled;
1155
+ var inputControl = core.useControl("");
1156
+ var selectedOptionsControl = core.useControl(null);
1157
+ var listContainerClass = schemas.rendererClass(controlClasses == null ? void 0 : controlClasses.listContainerClass, classes.listContainerClass);
1158
+ var listEntryClass = schemas.rendererClass(controlClasses == null ? void 0 : controlClasses.listEntryClass, classes.listEntryClass);
1159
+ var chipContainerClass = schemas.rendererClass(controlClasses == null ? void 0 : controlClasses.chipContainerClass, classes.chipContainerClass);
1160
+ var chipCloseButtonClass = schemas.rendererClass(controlClasses == null ? void 0 : controlClasses.chipCloseButtonClass, classes.chipCloseButtonClass);
1161
+ core.useControlEffect(core.controlValues(inputControl, selectedOptionsControl), function (_ref4) {
1162
+ var _selected$map;
1163
+ var text = _ref4[0],
1164
+ selected = _ref4[1];
1165
+ var selectedValues = (_selected$map = selected == null ? void 0 : selected.map(function (v) {
1166
+ return typeof v === "string" ? v : v.value;
1167
+ })) != null ? _selected$map : [];
1168
+ control.value = text ? selectedValues.concat(text) : selectedValues;
1169
+ });
1170
+ var _useAutocomplete2 = base.useAutocomplete(_extends({
1171
+ value: (_selectedOptionsContr = selectedOptionsControl.value) != null ? _selectedOptionsContr : [],
1172
+ inputValue: inputControl.value,
1173
+ freeSolo: true,
1174
+ multiple: true,
1175
+ getOptionLabel: function getOptionLabel(v) {
1176
+ return typeof v === "string" ? v : v.name;
1177
+ },
1178
+ filterOptions: function filterOptions(o, s) {
1179
+ return o.filter(function (o) {
1180
+ var label = typeof o === "string" ? o : o.name;
1181
+ return label.toLowerCase().includes(s.inputValue.toLowerCase());
1182
+ });
1183
+ },
1184
+ onInputChange: function onInputChange(_, v) {
1185
+ inputControl.value = v;
1186
+ },
1187
+ onChange: function onChange(_, v, reason) {
1188
+ if (reason === "selectOption" || reason === "removeOption") {
1189
+ selectedOptionsControl.value = v;
1190
+ }
1191
+ }
1192
+ }, props)),
1193
+ getRootProps = _useAutocomplete2.getRootProps,
1194
+ getInputProps = _useAutocomplete2.getInputProps,
1195
+ getListboxProps = _useAutocomplete2.getListboxProps,
1196
+ getOptionProps = _useAutocomplete2.getOptionProps,
1197
+ groupedOptions = _useAutocomplete2.groupedOptions,
1198
+ popupOpen = _useAutocomplete2.popupOpen,
1199
+ focused = _useAutocomplete2.focused,
1200
+ getPopupIndicatorProps = _useAutocomplete2.getPopupIndicatorProps;
1201
+ return React.createElement("div", _extends({
1202
+ id: id,
1203
+ className: "relative"
1204
+ }, getRootProps()), React.createElement("div", {
1205
+ className: clsx__default["default"](className, focused ? "border-primary-400 shadow-[0_0_0_3px_transparent] shadow-primary-200" : "shadow-[0_2px_2px_transparent] shadow-surface-50")
1206
+ }, React.createElement("div", {
1207
+ className: "flex flex-1 flex-row flex-wrap"
1208
+ }, (_selectedOptionsContr2 = selectedOptionsControl.value) == null ? void 0 : _selectedOptionsContr2.map(function (v) {
1209
+ return React.createElement(Chip, {
1210
+ key: typeof v === "string" ? v : v.name,
1211
+ text: typeof v === "string" ? v : v.name,
1212
+ chipContainerClass: chipContainerClass,
1213
+ chipCloseButtonClass: chipCloseButtonClass,
1214
+ onDeleteClick: function onDeleteClick() {
1215
+ var c = selectedOptionsControl.elements.find(function (x) {
1216
+ return x.value == v;
1217
+ });
1218
+ if (c) core.removeElement(selectedOptionsControl, c);
1219
+ }
1220
+ });
1221
+ }), React.createElement("input", _extends({
1222
+ type: "text"
1223
+ }, getInputProps(), {
1224
+ placeholder: (_controlClasses$place2 = controlClasses == null ? void 0 : controlClasses.placeholder) != null ? _controlClasses$place2 : "",
1225
+ className: clsx__default["default"](inputClass)
1226
+ }))), React.createElement("button", _extends({}, getPopupIndicatorProps(), {
1227
+ disabled: disabled || readOnly,
1228
+ className: "outline-0 shadow-none border-0 py-0 px-0.5 bg-transparent pr-[10px]"
1229
+ }), React.createElement("i", {
1230
+ className: clsx__default["default"]("fa-solid fa-angle-down", "text-primary-500", popupOpen && "rotate-180")
1231
+ }))), groupedOptions.length > 0 && popupOpen && React.createElement("ul", _extends({}, getListboxProps(), {
1232
+ className: listContainerClass
1233
+ }), groupedOptions.map(function (option, index) {
1234
+ var optionProps = getOptionProps({
1235
+ option: option,
1236
+ index: index
1237
+ });
1238
+ return React.createElement("li", _extends({}, optionProps, {
1239
+ key: optionProps.key,
1240
+ className: listEntryClass
1241
+ }), option.name);
1242
+ })));
1243
+ } finally {
1244
+ _effect2();
1245
+ }
1246
+ }
1247
+ function Chip(_ref5) {
1248
+ var _effect3 = core.useComponentTracking();
1249
+ try {
1250
+ var text = _ref5.text,
1251
+ chipContainerClass = _ref5.chipContainerClass,
1252
+ chipCloseButtonClass = _ref5.chipCloseButtonClass,
1253
+ onDeleteClick = _ref5.onDeleteClick;
1254
+ return React.createElement("div", {
1255
+ className: chipContainerClass
1256
+ }, text, React.createElement("i", {
1257
+ className: chipCloseButtonClass,
1258
+ onClick: function onClick() {
1259
+ onDeleteClick == null || onDeleteClick();
1260
+ }
1261
+ }));
1262
+ } finally {
1263
+ _effect3();
1264
+ }
1265
+ }
1266
+
1267
+ var RenderType = "ValueForField";
1268
+ var ValueForFieldExtension = {
1269
+ RenderOptions: {
1270
+ value: RenderType,
1271
+ name: "Value For Field",
1272
+ fields: schemas.buildSchema({
1273
+ fieldRef: schemas.stringField("Field Reference")
1274
+ })
1275
+ }
1276
+ };
1277
+ function createValueForFieldRenderer(options) {
1278
+ return schemas.createDataRenderer(function (o, renderer) {
1279
+ var _schemaDataForFieldRe;
1280
+ var fieldRef = o.renderOptions.fieldRef;
1281
+ var actualFieldRef = fieldRef ? (_schemaDataForFieldRe = schemas.schemaDataForFieldRef(fieldRef, o.dataContext.parentNode)) == null || (_schemaDataForFieldRe = _schemaDataForFieldRe.control) == null ? void 0 : _schemaDataForFieldRe.value : undefined;
1282
+ var node = actualFieldRef ? schemas.schemaForFieldRef(actualFieldRef, options.schema) : undefined;
1283
+ return node ? React.createElement(ValueForField, {
1284
+ renderer: renderer,
1285
+ schema: node,
1286
+ control: o.control
1287
+ }) : React.createElement(React.Fragment, null, actualFieldRef ? "No schema node for " + actualFieldRef : "");
1288
+ }, {
1289
+ renderType: RenderType
1290
+ });
1291
+ }
1292
+ function ValueForField(_ref) {
1293
+ var _effect = core.useComponentTracking();
1294
+ try {
1295
+ var schema = _ref.schema,
1296
+ renderer = _ref.renderer,
1297
+ control = _ref.control;
1298
+ var value = core.useControl({
1299
+ "default": undefined
1300
+ }, undefined, function (e) {
1301
+ return core.setFields(e, {
1302
+ "default": control
1303
+ });
1304
+ });
1305
+ var _useMemo = React.useMemo(function () {
1306
+ var rootSchema = schemas.rootSchemaNode([_extends({}, schema.field, {
1307
+ field: "default",
1308
+ required: false,
1309
+ notNullable: false,
1310
+ onlyForTypes: null,
1311
+ defaultValue: undefined
1312
+ })]);
1313
+ return [schemas.addMissingControlsForSchema(rootSchema, []), rootSchema];
1314
+ }, [schema]),
1315
+ controls = _useMemo[0],
1316
+ rootSchema = _useMemo[1];
1317
+ var Render = schemas.useControlRendererComponent(schemas.groupedControl(controls), renderer, {
1318
+ disabled: control.disabled
1319
+ }, schemas.makeSchemaDataNode(rootSchema, value));
1320
+ return React.createElement(Render, null);
1321
+ } finally {
1322
+ _effect();
1323
+ }
1324
+ }
1325
+
1326
+ function createOptionalAdornment(options) {
1327
+ if (options === void 0) {
1328
+ options = {};
1329
+ }
1330
+ return schemas.createAdornmentRenderer(function (props, renderers) {
1331
+ var _dataContext$dataNode, _dataContext$dataNode2;
1332
+ var dataContext = props.dataContext;
1333
+ var dataControl = (_dataContext$dataNode = (_dataContext$dataNode2 = dataContext.dataNode) == null ? void 0 : _dataContext$dataNode2.control) != null ? _dataContext$dataNode : core.newControl(undefined);
1334
+ var adornment = props.adornment;
1335
+ var editing = schemas.getIsEditing(dataControl);
1336
+ var isEditing = editing.value;
1337
+ var nullToggler = schemas.getNullToggler(dataControl);
1338
+ if (isEditing === undefined && adornment.editSelectable) editing.value = false;
1339
+ dataControl.disabled = !isEditing || !!(adornment.allowNull && !nullToggler.value);
1340
+ return {
1341
+ apply: function apply(rl) {
1342
+ var _ref, _adornment$placement;
1343
+ if (props.formOptions.readonly) return rl;
1344
+ if (!options.hideEdit && adornment.editSelectable) schemas.appendMarkupAt((_ref = (_adornment$placement = adornment.placement) != null ? _adornment$placement : options.defaultPlacement) != null ? _ref : schemas.AdornmentPlacement.LabelStart, React.createElement(core.Fcheckbox, {
1345
+ control: editing,
1346
+ className: options.checkClass
1347
+ }))(rl);
1348
+ schemas.wrapMarkup("children", function (children) {
1349
+ return options.customRender ? options.customRender({
1350
+ allValues: schemas.getAllValues(dataControl),
1351
+ editing: editing,
1352
+ children: children,
1353
+ adornment: adornment,
1354
+ nullToggler: nullToggler,
1355
+ dataContext: dataContext,
1356
+ options: options
1357
+ }) : React.createElement(OptionalEditRenderer, {
1358
+ children: children,
1359
+ options: options,
1360
+ editing: editing.as(),
1361
+ adornment: adornment,
1362
+ dataControl: dataControl
1363
+ });
1364
+ })(rl);
1365
+ },
1366
+ priority: 0,
1367
+ adornment: adornment
1368
+ };
1369
+ }, {
1370
+ adornmentType: schemas.ControlAdornmentType.Optional
1371
+ });
1372
+ }
1373
+ function OptionalEditRenderer(_ref2) {
1374
+ var _effect = core.useComponentTracking();
1375
+ try {
1376
+ var _options$setNullText, _options$multiValuesT;
1377
+ var children = _ref2.children,
1378
+ options = _ref2.options,
1379
+ adornment = _ref2.adornment,
1380
+ editing = _ref2.editing,
1381
+ dataControl = _ref2.dataControl;
1382
+ var nullToggler = schemas.getNullToggler(dataControl);
1383
+ var allValues = schemas.getAllValues(dataControl);
1384
+ var multipleValues = allValues.value.length > 1;
1385
+ var nullEdit = adornment.allowNull ? React.createElement("div", {
1386
+ className: options.nullWrapperClass
1387
+ }, React.createElement(core.Fcheckbox, {
1388
+ control: nullToggler,
1389
+ className: options.checkClass,
1390
+ notValue: true
1391
+ }), React.createElement("span", null, (_options$setNullText = options.setNullText) != null ? _options$setNullText : "Null")) : undefined;
1392
+ return React.createElement("div", {
1393
+ className: options.className
1394
+ }, multipleValues && editing.value === false ? React.createElement("div", {
1395
+ className: options.multiValuesClass
1396
+ }, (_options$multiValuesT = options.multiValuesText) != null ? _options$multiValuesT : "Differing values") : React.createElement("div", {
1397
+ className: options.childWrapperClass
1398
+ }, nullEdit, children));
1399
+ } finally {
1400
+ _effect();
1401
+ }
1402
+ }
1403
+
1404
+ function createMultilineFieldRenderer(className) {
1405
+ return schemas.createDataRenderer(function (p) {
1406
+ return React.createElement(MultilineTextfield, _extends({}, p, {
1407
+ className: schemas.rendererClass(p.className, className)
1408
+ }));
1409
+ });
1410
+ }
1411
+ function MultilineTextfield(_ref) {
1412
+ var _effect = core.useComponentTracking();
1413
+ try {
1414
+ var control = _ref.control,
1415
+ className = _ref.className;
1416
+ var codeRef = React.useRef(null);
1417
+ core.useControlEffect(function () {
1418
+ return control.value;
1419
+ }, function (v) {
1420
+ var c = codeRef.current;
1421
+ if (c && c.textContent !== v) {
1422
+ c.textContent = v;
1423
+ }
1424
+ }, true);
1425
+ return React.createElement("code", {
1426
+ contentEditable: !control.disabled,
1427
+ className: className,
1428
+ onInput: function onInput(t) {
1429
+ return control.value = t.currentTarget.textContent;
1430
+ },
1431
+ ref: codeRef
1432
+ });
1433
+ } finally {
1434
+ _effect();
1435
+ }
1436
+ }
1437
+
1438
+ function createArrayElementRenderer(options) {
1439
+ if (options === void 0) {
1440
+ options = {};
1441
+ }
1442
+ return schemas.createDataRenderer(function (props, formRenderer) {
1443
+ return React.createElement(ArrayElementRenderer, {
1444
+ dataProps: props,
1445
+ options: options,
1446
+ formRenderer: formRenderer,
1447
+ renderOptions: props.renderOptions
1448
+ });
1449
+ }, {
1450
+ renderType: schemas.DataRenderType.ArrayElement
1451
+ });
1452
+ }
1453
+ function ArrayElementRenderer(_ref) {
1454
+ var _effect = core.useComponentTracking();
1455
+ try {
1456
+ var dataProps = _ref.dataProps,
1457
+ options = _ref.options,
1458
+ formRenderer = _ref.formRenderer,
1459
+ renderOptions = _ref.renderOptions;
1460
+ var control = dataProps.control,
1461
+ formNode = dataProps.formNode,
1462
+ renderChild = dataProps.renderChild,
1463
+ designMode = dataProps.designMode;
1464
+ var extData = schemas.getExternalEditData(control);
1465
+ var overlayState = overlays.useOverlayTriggerState({
1466
+ isOpen: true,
1467
+ onOpenChange: function onOpenChange() {
1468
+ extData.value = undefined;
1469
+ }
1470
+ });
1471
+ if (designMode || extData.value !== undefined) {
1472
+ var runValidation = function runValidation(onClick) {
1473
+ var hasErrors = false;
1474
+ schemas.visitFormDataInContext(parentDataNode, elementGroup, schemas.validationVisitor(function () {
1475
+ hasErrors = true;
1476
+ }));
1477
+ if (!hasErrors) onClick();
1478
+ };
1479
+ var applyValidation = function applyValidation(_ref2) {
1480
+ var action = _ref2.action,
1481
+ dontValidate = _ref2.dontValidate;
1482
+ return dontValidate ? action : _extends({}, action, {
1483
+ onClick: function onClick() {
1484
+ return runValidation(action.onClick);
1485
+ }
1486
+ });
1487
+ };
1488
+ var parentDataNode = schemas.makeSchemaDataNode(dataProps.dataNode.schema, extData.fields.data);
1489
+ var elementGroup = schemas.nodeForControl({
1490
+ type: schemas.ControlDefinitionType.Group,
1491
+ children: formNode.definition.children,
1492
+ groupOptions: {
1493
+ type: schemas.GroupRenderType.Standard,
1494
+ hideTitle: true
1495
+ }
1496
+ }, formNode.tree);
1497
+ var editContent = React.createElement("div", {
1498
+ className: schemas.rendererClass(dataProps.className, options.className)
1499
+ }, renderChild("", elementGroup, {
1500
+ parentDataNode: parentDataNode,
1501
+ elementIndex: 0
1502
+ }), React.createElement("div", {
1503
+ className: options.actionsClass
1504
+ }, React.createElement(core.RenderElements, {
1505
+ control: extData.fields.actions
1506
+ }, function (c) {
1507
+ return formRenderer.renderAction(applyValidation(c.value));
1508
+ })));
1509
+ if (renderOptions.showInline || designMode) return editContent;
1510
+ return React.createElement(ariaBase.Modal, {
1511
+ state: overlayState
1512
+ }, React.createElement(ariaBase.Dialog, {
1513
+ children: editContent
1514
+ }));
1515
+ } else return React.createElement(React.Fragment, null);
1516
+ } finally {
1517
+ _effect();
1518
+ }
1519
+ }
1520
+
1521
+ function createButtonActionRenderer(actionId, options) {
1522
+ if (options === void 0) {
1523
+ options = {};
1524
+ }
1525
+ return schemas.createActionRenderer(actionId, function (_ref, renderer) {
1526
+ var _options$renderConten;
1527
+ var onClick = _ref.onClick,
1528
+ actionText = _ref.actionText,
1529
+ className = _ref.className,
1530
+ style = _ref.style,
1531
+ actionId = _ref.actionId,
1532
+ actionData = _ref.actionData,
1533
+ disabled = _ref.disabled;
1534
+ var h = renderer.h;
1535
+ return h("button", {
1536
+ className: schemas.rendererClass(className, options.className),
1537
+ disabled: disabled,
1538
+ style: style,
1539
+ onClick: onClick
1540
+ }, (_options$renderConten = options.renderContent == null ? void 0 : options.renderContent(actionText, actionId, actionData)) != null ? _options$renderConten : renderer.renderText(actionText));
1541
+ });
1542
+ }
1543
+ var DefaultBoolOptions = [{
1544
+ name: "Yes",
1545
+ value: true
1546
+ }, {
1547
+ name: "No",
1548
+ value: false
1549
+ }];
1550
+ function createDefaultDataRenderer(options) {
1551
+ var _options$checkOptions, _options$radioOptions, _options$checkListOpt;
1552
+ if (options === void 0) {
1553
+ options = {};
1554
+ }
1555
+ var h = React__default["default"].createElement;
1556
+ var jsonataRenderer = createJsonataRenderer(options.jsonataClass);
1557
+ var nullToggler = createNullToggleRenderer();
1558
+ var multilineRenderer = createMultilineFieldRenderer(options.multilineClass);
1559
+ var checkboxRenderer = createCheckboxRenderer((_options$checkOptions = options.checkOptions) != null ? _options$checkOptions : options.checkboxOptions);
1560
+ var selectRenderer = createSelectRenderer(options.selectOptions);
1561
+ var radioRenderer = createRadioRenderer((_options$radioOptions = options.radioOptions) != null ? _options$radioOptions : options.checkOptions);
1562
+ var checkListRenderer = createCheckListRenderer((_options$checkListOpt = options.checkListOptions) != null ? _options$checkListOpt : options.checkOptions);
1563
+ var arrayElementRenderer = createArrayElementRenderer(options.arrayElementOptions);
1564
+ var _optionRenderer$boole = _extends({
1565
+ optionRenderer: selectRenderer,
1566
+ booleanOptions: DefaultBoolOptions
1567
+ }, options),
1568
+ inputClass = _optionRenderer$boole.inputClass,
1569
+ booleanOptions = _optionRenderer$boole.booleanOptions,
1570
+ optionRenderer = _optionRenderer$boole.optionRenderer,
1571
+ displayOnlyClass = _optionRenderer$boole.displayOnlyClass,
1572
+ defaultEmptyText = _optionRenderer$boole.defaultEmptyText;
1573
+ var arrayRenderer = createDefaultArrayDataRenderer(options.arrayOptions);
1574
+ var autocompleteRenderer = createAutocompleteRenderer(options.autocompleteOptions);
1575
+ return schemas.createDataRenderer(function (props, renderers) {
1576
+ var field = props.field;
1577
+ var fieldType = field.type;
1578
+ var renderOptions = props.renderOptions;
1579
+ var renderType = renderOptions.type;
1580
+ if (field.collection && props.elementIndex == null && (renderType == schemas.DataRenderType.Standard || renderType == schemas.DataRenderType.Array || renderType == schemas.DataRenderType.ArrayElement)) {
1581
+ if (renderType == schemas.DataRenderType.ArrayElement) return arrayElementRenderer.render(props, renderers);
1582
+ return arrayRenderer.render(props, renderers);
1583
+ }
1584
+ if (fieldType === schemas.FieldType.Compound) {
1585
+ var _ref2;
1586
+ var groupOptions = (_ref2 = schemas.isDataGroupRenderer(renderOptions) ? renderOptions.groupOptions : undefined) != null ? _ref2 : {
1587
+ type: "Standard",
1588
+ hideTitle: true
1589
+ };
1590
+ return renderers.renderGroup(_extends({}, props, {
1591
+ renderOptions: groupOptions
1592
+ }));
1593
+ }
1594
+ if (props.displayOnly || schemas.isDisplayOnlyRenderer(renderOptions)) return function (p) {
1595
+ return _extends({}, p, {
1596
+ className: "@ " + schemas.rendererClass(p.className, displayOnlyClass),
1597
+ children: h(DefaultDisplayOnly, {
1598
+ field: props.field,
1599
+ schemaInterface: props.dataContext.schemaInterface,
1600
+ control: props.control,
1601
+ className: props.className,
1602
+ style: props.style,
1603
+ renderer: renderers,
1604
+ emptyText: schemas.isDisplayOnlyRenderer(renderOptions) && renderOptions.emptyText ? renderOptions.emptyText : defaultEmptyText
1605
+ })
1606
+ });
1607
+ };
1608
+ var isBool = fieldType === schemas.FieldType.Bool;
1609
+ if (booleanOptions != null && isBool && props.options == null) {
1610
+ return renderers.renderData(_extends({}, props, {
1611
+ options: booleanOptions
1612
+ }));
1613
+ }
1614
+ if (renderType === schemas.DataRenderType.Standard && schemas.hasOptions(props)) {
1615
+ return optionRenderer.render(props, renderers);
1616
+ }
1617
+ switch (renderType) {
1618
+ case schemas.DataRenderType.NullToggle:
1619
+ return nullToggler.render(props, renderers);
1620
+ case schemas.DataRenderType.CheckList:
1621
+ return checkListRenderer.render(props, renderers);
1622
+ case schemas.DataRenderType.Dropdown:
1623
+ return selectRenderer.render(props, renderers);
1624
+ case schemas.DataRenderType.Radio:
1625
+ return radioRenderer.render(props, renderers);
1626
+ case schemas.DataRenderType.Checkbox:
1627
+ return checkboxRenderer.render(props, renderers);
1628
+ case schemas.DataRenderType.Jsonata:
1629
+ return jsonataRenderer.render(props, renderers);
1630
+ case schemas.DataRenderType.Autocomplete:
1631
+ return autocompleteRenderer.render(props, renderers);
1632
+ }
1633
+ if (fieldType == schemas.FieldType.Any) {
1634
+ var _field$displayName;
1635
+ return h(React.Fragment, null, "Can't render field: ", (_field$displayName = field.displayName) != null ? _field$displayName : field.field, " (", renderType, ")");
1636
+ }
1637
+ if (schemas.isTextfieldRenderer(renderOptions) && renderOptions.multiline) return multilineRenderer.render(props, renderers);
1638
+ var placeholder = schemas.isTextfieldRenderer(renderOptions) ? renderOptions.placeholder : undefined;
1639
+ return h(ControlInput, {
1640
+ className: schemas.rendererClass(props.className, inputClass),
1641
+ style: props.style,
1642
+ id: props.id,
1643
+ readOnly: props.readonly,
1644
+ control: props.control,
1645
+ placeholder: placeholder != null ? placeholder : undefined,
1646
+ convert: createInputConversion(props.field.type),
1647
+ renderer: renderers
1648
+ });
1649
+ });
1650
+ }
1651
+ function createDefaultAdornmentRenderer(options) {
1652
+ if (options === void 0) {
1653
+ options = {};
1654
+ }
1655
+ var optional = createOptionalAdornment(options.optional);
1656
+ return {
1657
+ type: "adornment",
1658
+ render: function render(props, renderers) {
1659
+ if (schemas.isOptionalAdornment(props.adornment)) {
1660
+ return optional.render(props, renderers);
1661
+ }
1662
+ var adornment = props.adornment,
1663
+ designMode = props.designMode,
1664
+ dataContext = props.dataContext,
1665
+ useExpr = props.useExpr;
1666
+ return {
1667
+ apply: function apply(rl) {
1668
+ if (schemas.isSetFieldAdornment(adornment) && useExpr) {
1669
+ var setFieldWrapper = function setFieldWrapper(_ref3) {
1670
+ var children = _ref3.children,
1671
+ adornment = _ref3.adornment,
1672
+ parentContext = _ref3.parentContext;
1673
+ var _dynamicHooks = dynamicHooks(parentContext),
1674
+ value = _dynamicHooks.value;
1675
+ var fieldNode = schemas.schemaDataForFieldRef(adornment.field, parentContext.parentNode);
1676
+ var otherField = fieldNode.control;
1677
+ var always = !adornment.defaultOnly;
1678
+ core.useControlEffect(function () {
1679
+ return [value == null ? void 0 : value.value, (otherField == null ? void 0 : otherField.value) == null];
1680
+ }, function (_ref4) {
1681
+ var v = _ref4[0];
1682
+ otherField == null || otherField.setValue(function (x) {
1683
+ return always || x == null ? v : x;
1684
+ });
1685
+ }, true);
1686
+ return children;
1687
+ };
1688
+ var hook = useExpr(adornment.expression, function (x) {
1689
+ return x;
1690
+ });
1691
+ var dynamicHooks = schemas.useDynamicHooks({
1692
+ value: hook
1693
+ });
1694
+ var SetFieldWrapper = core.useTrackedComponent(setFieldWrapper, [dynamicHooks]);
1695
+ return schemas.wrapLayout(function (x) {
1696
+ return React.createElement(SetFieldWrapper, {
1697
+ children: x,
1698
+ parentContext: dataContext,
1699
+ adornment: adornment
1700
+ });
1701
+ })(rl);
1702
+ }
1703
+ if (schemas.isIconAdornment(adornment)) {
1704
+ var _adornment$placement;
1705
+ return schemas.appendMarkupAt((_adornment$placement = adornment.placement) != null ? _adornment$placement : schemas.AdornmentPlacement.ControlStart, React.createElement("i", {
1706
+ className: adornment.iconClass
1707
+ }))(rl);
1708
+ }
1709
+ if (schemas.isAccordionAdornment(adornment)) {
1710
+ return schemas.wrapLayout(function (x) {
1711
+ return React.createElement(DefaultAccordion, _extends({
1712
+ renderers: renderers,
1713
+ children: x,
1714
+ accordion: adornment,
1715
+ contentStyle: rl.style,
1716
+ contentClassName: rl.className,
1717
+ designMode: designMode,
1718
+ dataContext: dataContext
1719
+ }, options.accordion));
1720
+ })(rl);
1721
+ }
1722
+ },
1723
+ priority: 0,
1724
+ adornment: adornment
1725
+ };
1726
+ }
1727
+ };
1728
+ }
1729
+ function createDefaultLabelRenderer(options) {
1730
+ var _labelContainer$optio = _extends({
1731
+ labelContainer: function labelContainer(c) {
1732
+ return c;
1733
+ }
1734
+ }, options),
1735
+ className = _labelContainer$optio.className,
1736
+ groupLabelClass = _labelContainer$optio.groupLabelClass,
1737
+ controlLabelClass = _labelContainer$optio.controlLabelClass,
1738
+ labelContainer = _labelContainer$optio.labelContainer;
1739
+ return {
1740
+ render: function render(props, labelStart, labelEnd, renderers) {
1741
+ var _options$requiredElem;
1742
+ var h = renderers.h;
1743
+ var requiredElement = (_options$requiredElem = options == null ? void 0 : options.requiredElement) != null ? _options$requiredElem : function (h) {
1744
+ return h("span", null, " *");
1745
+ };
1746
+ if (props.type == schemas.LabelType.Text) return renderers.renderText(props.label);
1747
+ return labelContainer(h(React.Fragment, null, h("label", {
1748
+ htmlFor: props.forId,
1749
+ className: schemas.rendererClass(props.className, clsx__default["default"](className, props.type === schemas.LabelType.Group && groupLabelClass, props.type === schemas.LabelType.Control && controlLabelClass))
1750
+ }, labelStart, renderers.renderLabelText(props.label), props.required && requiredElement(h)), labelEnd));
1751
+ },
1752
+ type: "label"
1753
+ };
1754
+ }
1755
+ function createDefaultRenderers(options) {
1756
+ var _options$renderText, _options$h;
1757
+ if (options === void 0) {
1758
+ options = {};
1759
+ }
1760
+ return {
1761
+ data: createDefaultDataRenderer(options.data),
1762
+ display: createDefaultDisplayRenderer(options.display),
1763
+ action: createButtonActionRenderer(undefined, options.action),
1764
+ array: createDefaultArrayRenderer(options.array),
1765
+ group: createDefaultGroupRenderer(options.group),
1766
+ label: createDefaultLabelRenderer(options.label),
1767
+ adornment: createDefaultAdornmentRenderer(options.adornment),
1768
+ renderLayout: createDefaultLayoutRenderer(options.layout),
1769
+ visibility: createDefaultVisibilityRenderer(),
1770
+ renderText: (_options$renderText = options.renderText) != null ? _options$renderText : function (x) {
1771
+ return x;
1772
+ },
1773
+ h: (_options$h = options.h) != null ? _options$h : React.createElement
1774
+ };
1775
+ }
1776
+ function createClassStyledRenderers() {
1777
+ return createDefaultRenderers({
1778
+ layout: {
1779
+ className: "control"
1780
+ },
1781
+ group: {
1782
+ className: "group"
1783
+ },
1784
+ array: {
1785
+ className: "control-array"
1786
+ },
1787
+ action: {
1788
+ className: "action"
1789
+ },
1790
+ data: {
1791
+ inputClass: "data"
1792
+ },
1793
+ display: {
1794
+ htmlClassName: "html",
1795
+ textClassName: "text"
1796
+ }
1797
+ });
1798
+ }
1799
+
1800
+ var defaultTailwindTheme = {
1801
+ label: {
1802
+ groupLabelClass: "font-bold",
1803
+ requiredElement: function requiredElement(h) {
1804
+ return h("span", {
1805
+ className: "text-red-500"
1806
+ }, " *");
1807
+ }
1808
+ },
1809
+ array: {
1810
+ removableClass: "grid grid-cols-[1fr_auto] items-center gap-x-2",
1811
+ childClass: "grow my-2",
1812
+ addActionClass: "my-2",
1813
+ removeActionClass: "flex gap-2"
1814
+ },
1815
+ group: {
1816
+ standardClassName: "flex flex-col gap-4",
1817
+ gridClassName: "gap-x-2 gap-y-4",
1818
+ flexClassName: "gap-2",
1819
+ tabs: {
1820
+ className: "",
1821
+ tabListClass: "flex flex-wrap text-sm font-medium text-center text-gray-500 border-b border-gray-200 dark:border-gray-700 dark:text-gray-400",
1822
+ tabClass: "me-2",
1823
+ labelClass: "inline-flex items-center justify-center p-4 border-b-2 group",
1824
+ inactiveClass: "border-transparent rounded-t-lg hover:text-gray-600 hover:border-gray-300 dark:hover:text-gray-300 cursor-pointer",
1825
+ activeClass: "text-blue-600 border-blue-600 rounded-t-lg active dark:text-blue-500 dark:border-blue-500",
1826
+ contentClass: "my-2"
1827
+ }
1828
+ },
1829
+ action: {
1830
+ className: "bg-primary-500 rounded-lg p-3 text-white"
1831
+ },
1832
+ layout: {
1833
+ className: "flex flex-col",
1834
+ errorClass: "text-sm text-red-500"
1835
+ },
1836
+ data: {
1837
+ displayOnlyClass: "flex flex-row items-center gap-2",
1838
+ checkOptions: {
1839
+ className: "flex items-center gap-4",
1840
+ entryClass: "flex gap-1 items-center"
1841
+ },
1842
+ selectOptions: {
1843
+ emptyText: "<select>"
1844
+ },
1845
+ arrayElementOptions: {
1846
+ actionsClass: "my-2 flex gap-2"
1847
+ },
1848
+ multilineClass: "border p-2 outline-0 whitespace-pre-wrap",
1849
+ autocompleteOptions: {
1850
+ className: "w-full flex gap-[5px] pr-[5px] overflow-hidden rounded-lg bg-white border border-solid border-gray-200 hover:border-primary-400 focus-visible:outline-0 shadow-[0_2px_4px_rgb(0_0_0_/_0.05)] min-h-[48px] py-1",
1851
+ listContainerClass: "absolute w-full text-sm box-border p-1.5 my-3 mx-0 min-w-[120px] rounded-xl overflow-auto outline-0 max-h-[300px] z-[1] bg-white border border-solid border-surface-200 text-surface-900 shadow-[0_4px_30px_transparent] shadow-surface-200",
1852
+ listEntryClass: "list-none p-2 rounded-lg cursor-default last-of-type:border-b-0 hover:cursor-pointer hover:bg-primary-100 aria-selected:bg-primary-200 aria-selected:text-primary-900 focused:bg-surface-100 focus-visible:bg-surface-100 focused:text-surface-900 focus-visible:text-surface-900 focus-visible:shadow-[0_0_0_3px_transparent] focus-visible:shadow-primary-200 focused:aria-selected:bg-primary-200 focus-visible:aria-selected:bg-primary-200 focused:aria-selected:text-primary-900 focus-visible:aria-selected:text-primary-900",
1853
+ chipContainerClass: "flex flex-row items-center px-3 py-1 rounded-full bg-surface-100 m-1 gap-2 truncate",
1854
+ chipCloseButtonClass: "fa-solid fa-xmark p-1 bg-surface-300 rounded-full min-w-[24px] flex justify-center text-surface-50 hover:bg-surface-400 hover:text-surface-100 hover:cursor-pointer"
1855
+ }
1856
+ },
1857
+ adornment: {
1858
+ accordion: {
1859
+ className: "flex items-center gap-2 my-2",
1860
+ titleClass: "cursor-pointer",
1861
+ iconOpenClass: "fa fa-chevron-up",
1862
+ iconClosedClass: "fa fa-chevron-down"
1863
+ },
1864
+ optional: {
1865
+ checkClass: "m-2",
1866
+ className: "flex items-center gap-2 w-full",
1867
+ multiValuesClass: "italic",
1868
+ childWrapperClass: "grow"
1869
+ }
1870
+ }
1871
+ };
1872
+
1873
+ exports.CheckButtons = CheckButtons;
1874
+ exports.ControlInput = ControlInput;
1875
+ exports.DataArrayRenderer = DataArrayRenderer;
1876
+ exports.DefaultAccordion = DefaultAccordion;
1877
+ exports.DefaultArrayRenderer = DefaultArrayRenderer;
1878
+ exports.DefaultBoolOptions = DefaultBoolOptions;
1879
+ exports.DefaultDisplay = DefaultDisplay;
1880
+ exports.DefaultDisplayOnly = DefaultDisplayOnly;
1881
+ exports.DefaultLayout = DefaultLayout;
1882
+ exports.DefaultVisibility = DefaultVisibility;
1883
+ exports.Fcheckbox = Fcheckbox;
1884
+ exports.JsonataRenderer = JsonataRenderer;
1885
+ exports.OptionalEditRenderer = OptionalEditRenderer;
1886
+ exports.SelectDataRenderer = SelectDataRenderer;
1887
+ exports.ValueForFieldExtension = ValueForFieldExtension;
1888
+ exports.createAutocompleteRenderer = createAutocompleteRenderer;
1889
+ exports.createButtonActionRenderer = createButtonActionRenderer;
1890
+ exports.createCheckListRenderer = createCheckListRenderer;
1891
+ exports.createCheckboxRenderer = createCheckboxRenderer;
1892
+ exports.createClassStyledRenderers = createClassStyledRenderers;
1893
+ exports.createDefaultAdornmentRenderer = createDefaultAdornmentRenderer;
1894
+ exports.createDefaultArrayDataRenderer = createDefaultArrayDataRenderer;
1895
+ exports.createDefaultArrayRenderer = createDefaultArrayRenderer;
1896
+ exports.createDefaultDataRenderer = createDefaultDataRenderer;
1897
+ exports.createDefaultDisplayRenderer = createDefaultDisplayRenderer;
1898
+ exports.createDefaultGroupRenderer = createDefaultGroupRenderer;
1899
+ exports.createDefaultLabelRenderer = createDefaultLabelRenderer;
1900
+ exports.createDefaultLayoutRenderer = createDefaultLayoutRenderer;
1901
+ exports.createDefaultRenderers = createDefaultRenderers;
1902
+ exports.createDefaultVisibilityRenderer = createDefaultVisibilityRenderer;
1903
+ exports.createInputConversion = createInputConversion;
1904
+ exports.createJsonataRenderer = createJsonataRenderer;
1905
+ exports.createNullToggleRenderer = createNullToggleRenderer;
1906
+ exports.createOptionalAdornment = createOptionalAdornment;
1907
+ exports.createRadioRenderer = createRadioRenderer;
1908
+ exports.createSelectConversion = createSelectConversion;
1909
+ exports.createSelectRenderer = createSelectRenderer;
1910
+ exports.createValueForFieldRenderer = createValueForFieldRenderer;
1911
+ exports.defaultTailwindTheme = defaultTailwindTheme;
1912
+ exports.getAccordionState = getAccordionState;
1913
+ exports.setIncluded = setIncluded;
2
1914
  //# sourceMappingURL=index.cjs.map