react-crud-mobile 1.0.75 → 1.0.76

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.
@@ -1,2 +1,2 @@
1
- "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react"),n=e(t),i=require("react-crud-utils"),r=require("react-native"),s=require("react/jsx-runtime"),l=e(require("@expo/vector-icons/Ionicons")),a=require("@expo/vector-icons");function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(null,arguments)}function o(e){var l=t.useState(i.Utils.nvl(e.scope,i.ScopeUtils.create(e)))[0],a=i.Utils.nvl(e.crud,l.crud),u=i.Utils.nvl(e.validateScope,"global"),d=i.Utils.nvl(e.part,"child");if(l.isInput())return s.jsx(s.Fragment,{});var p=function(e){var t=e.child;if(!t)return s.jsx(s.Fragment,{});if("string"==typeof t)return s.jsx(s.Fragment,{children:t});var n=t.type,r=c({},t.props);return delete r.children,"string"==typeof n?i.Utils.isEmpty(t.props.children)?s.jsx(n,c({},r)):s.jsx(n,c({},r,{children:s.jsx(o,c({transient:!0,validateScope:u},t.props,{scope:l,crud:a}))})):"function"==typeof n?s.jsx(n,c({validateScope:u},t.props,{parent:l,crud:a})):i.Utils.isEmpty(t.props.children)?s.jsx(s.Fragment,{}):s.jsx(o,c({validateScope:u},t.props,{scope:l,crud:a,transient:!0}))},x=function(){return s.jsx(s.Fragment,e.elements?{children:Object.entries(e.elements).map((function(e,t){return s.jsx(z,c({crud:a},e[1]))}))}:{children:n.Children.map(e.children,(function(e){return s.jsx(p,{child:e})}))})};return e.transient?s.jsx(x,{}):i.Utils.isEmpty(e.children)&&i.Utils.isEmpty(e.elements)?s.jsx(s.Fragment,{}):s.jsx(s.Fragment,{children:s.jsx(r.View,c({style:l.getStyle(d)},e.childProps,{children:s.jsx(x,{})}))})}function u(e){var n,r=e.scope,l=i.Utils.nvl(null==(n=e.column)?void 0:n.props,{}),a=t.useState(new i.Scope(l,r,r.crud))[0];return s.jsx("td",{className:"ui-grid-col "+i.Utils.nvl(e.styleClass,"")+" "+a.getStyleClass("column"),style:a.getStyle("column"),colSpan:e.colspan,children:s.jsx(o,{scope:r,children:e.children})})}function d(e){var n,r=e.scope,a=e.value,c=e.rowIndex,o=r.original,u=t.useState(0),d=u[0],p=u[1],x=r.key("check",c,"s",d);return s.jsx(M.Button,{icon:(n=r.crudSearch,n&&(n.selecteds||(n.selecteds={}),i.Utils.nvl(o.itemValue,"id")),s.jsx(l,{})),click:{action:function(){var e=r.crudSearch;if(e){e.selecteds||(e.selecteds={});var t=i.Utils.nvl(o.itemValue,"id"),n=a[t];void 0!==n&&(void 0===e.selecteds[n]?e.selecteds[n]=a:delete e.selecteds[n])}p(++d)}}},x)}function p(e){var n=e.expansion,r=e.value,a=e.scope,p=e.index,x=a.original,j=i.CrudUtils.create("row",{index:p,row:!0,itemVar:a.original.itemVar,parent:a.crudSearch,data:r}),f=t.useState(!1),h=f[0],g=f[1],m=t.useState(new i.Scope(a.original,a,j))[0],v=function(){var e="ui-grid-row";return(e+=" ui-grid-row-")+(p%2==0?"even":"odd")},y=i.ComponentUtils.getChild(e,"Column"),b=y.length,S=function(){return s.jsxs(s.Fragment,{children:[!h&&s.jsx(l,{}),h&&s.jsx(l,{})]})},k=!i.Utils.isEmpty(n),U=x.multiple;return k&&b++,U&&b++,s.jsxs(s.Fragment,{children:[s.jsxs("tr",{className:v(),style:m.getStyle("row"),children:[k&&s.jsx(u,{scope:m,styleClass:"ui-click ui-icon-only ui-expansion",children:s.jsx(M.Button,{icon:s.jsx(S,{}),click:function(){g(!h)}})},"r"+p+"e"),U&&s.jsx(u,{scope:m,styleClass:"ui-click ui-icon-only ui-multiple",children:s.jsx(d,{scope:a,value:r,rowIndex:p},"check-"+p)},"r"+p+"c"),y.map((function(e,t){return s.jsx(u,{column:e,scope:m,children:e},"r"+p+"c"+t)}))]}),h&&s.jsx("tr",{className:v(),style:m.getStyle("row"),children:s.jsx(u,{scope:m,colspan:b,children:s.jsx(o,c({},e,{crud:j,children:n}))},"r"+p+"-expanded")})]})}function x(e){var n=e.scope,r=e.next,a=e.previous,o=e.first,u=e.size,d=e.last,p=e.position,x=t.useState([10,20,30,50,100,200,500])[0],j={crud:n.crudSearch,owner:n,variant:n.attr("variant","text")};return i.Utils.nvl(n.original.paginatorPosition,"bottom")!==p?s.jsx(s.Fragment,{}):s.jsxs(s.Fragment,{children:[s.jsx(M.Button,c({field:"first",space:0,rendered:!1!==o},j,{click:"first",icon:s.jsx(l,{})})),s.jsx(M.Button,c({field:"previous",space:0,rendered:!1!==a,click:"previous"},j,{icon:s.jsx(l,{})})),s.jsx(M.Select,c({field:"size",space:0,rendered:!1!==u,default:10},j,{data:x,change:"search"})),s.jsx(M.Button,c({field:"next",space:0,rendered:!1!==r},j,{click:"next",icon:s.jsx(l,{})})),s.jsx(M.Button,c({field:"last",space:0,rendered:!1!==d},j,{click:"last",icon:s.jsx(l,{})}))]})}function j(e){var t=e.scope;return s.jsx(s.Fragment,{children:s.jsxs(M.Output,{styleClass:"ui-grid-top",children:[s.jsxs(M.Output,{field:"search",position:"left",space:4,children:[s.jsx(M.Include,c({},e,{transient:!0,name:"top",position:"left"})),s.jsx(M.Text,{field:"query",space:0,label:"Pesquisar",placeholder:t.attr("placeholder","Pesquisar"),children:s.jsx(M.Define,{name:"right",children:s.jsx(M.Button,{field:"search",icon:s.jsx(l,{}),space:0,variant:"text",owner:t,click:"search"})})})]}),s.jsxs(M.Output,{position:"right",space:8,children:[s.jsx(M.Include,c({},e,{transient:!0,name:"top",position:"right"})),s.jsx(x,{scope:t,last:!1,first:!1,position:"top"})]})]})})}function f(e){return s.jsx(s.Fragment,{})}function h(e){var t=e.scope,n=e.children;return s.jsx("div",{className:"ui-grid-bottom",children:s.jsxs("div",{className:"ui-grid-bottom-inner",children:[s.jsx(M.Include,c({},e,{transient:!0,name:"bottomLeft"})),s.jsx(x,{scope:t,position:"bottom",children:n}),s.jsx(M.Include,c({},e,{transient:!0,name:"bottomRight"}))]})})}function g(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:m.link,children:"Clique aqui para acessar o React Native"})})}var m={link:{}};function v(e){var t=e.scope,n=t.original,r=i.Utils.nvl(n.labelPos,"outside"),l=i.Utils.nvl(e.position,"outside");if(r!=l)return s.jsx(s.Fragment,{});var a=function(){return t.is("type","list","grid")?s.jsx("div","string"==typeof n.icon?{className:"ui-label-icon",children:s.jsx(g,{className:t.getIcon()})}:{className:"ui-label-icon",children:n.icon}):s.jsx(s.Fragment,{})},o=t.getLabel();return s.jsxs("div",{className:"ui-label ui-label-"+l,children:[s.jsxs("div",{className:"ui-label-left",children:[s.jsx(M.Include,c({},e,{transient:!0,name:"label",position:"left"})),s.jsx(a,{}),o&&s.jsx("div",{className:"ui-label-value",children:o})]}),s.jsx("div",{className:"ui-label-right",children:s.jsx(M.Include,c({},e,{transient:!0,name:"label",position:"right"}))})]})}function y(e){var n=e.scope,r=n.getItems(),l=i.ComponentUtils.getDefine(e,"expansion");return s.jsxs("div",{className:n.getStyleClass("inner"),style:n.getStyle("inner"),children:[s.jsx(v,c({},e,{scope:n,position:"outside"})),s.jsxs("div",{className:n.getStyleClass("child"),style:n.getStyle("child"),children:[s.jsx(v,c({},e,{scope:n,position:"inside"})),s.jsxs("div",{className:"ui-data",children:[s.jsx(j,c({},e,{scope:n})),s.jsx(f,{scope:n}),s.jsx("div",{className:"ui-grid-data",children:s.jsx("table",{className:"ui-grid ui-table",children:s.jsx("tbody",{children:r.map((function(i,r){return t.createElement(p,c({},e,{expansion:l,key:"r"+r,scope:n,value:i,index:r}))}))})})})]}),s.jsx(h,c({},e,{scope:n}))]})]})}function b(e){var r=e.scope,a=t.useState(0),u=a[0],d=a[1],p=r.original,x=r.getItems(),j=0,f=[],h=t.useState(null),g=h[0],m=h[1],v=function(e,t){void 0===t&&(t=!0),e&&r.execute({event:{validate:t,validateScope:p.validateScope,action:function(){r.changeValue(e.data),g=e,d(u=e.index),m(e)}}})},y=function(e){var t,n="ui-tabs-item ui-click";return(null==(t=g)?void 0:t.index)===e.index&&(n+=" ui-tab-selected"),n},b=function(e,t){var n=c({},e.props);t||(t=r.crud.data);var s=i.CrudUtils.create("tabs",{data:t,changed:t,parent:r.crud}),l=i.Utils.resolve(n,s);!1!==l.rendered&&f.push(c({},l,{child:e,element:l,original:n,index:j++,data:t}))};n.Children.map(e.children,(function(e,t){if(i.Utils.isEmpty(x))b(e,{});else for(var n in x)b(e,x[n])})),g||v(f[u],!1);var S=function(e){v(f[u+e])},k="stepper"===p.layout;return s.jsx("div",{className:r.getStyleClass("inner"),style:r.getStyle("inner"),children:s.jsxs("div",{className:"ui-tabs-content",children:[s.jsx("div",{className:"ui-tabs-items",children:f.map((function(e,t){return s.jsxs("div",{className:y(e),onClick:function(){v(e)},children:[k&&s.jsx("div",{className:"ui-tab-item-divisor"}),s.jsxs("div",{className:"ui-tab-item-inner",children:[k&&s.jsx("div",{className:"ui-step-line"}),s.jsx("div",{className:"ui-tab-item-label",children:k?e.index+1:e.label})]})]},i.Utils.key(p.id,"tab",t))}))}),g&&s.jsxs(s.Fragment,{children:[k&&s.jsx("div",{className:"ui-tabs-label",children:g.label}),s.jsx("div",{className:"ui-tabs-area",children:s.jsx(o,c({},e,{scope:r,children:g.child}))}),"stepper"===p.layout&&s.jsxs("div",{className:"ui-tabs-actions",children:[s.jsx(M.Output,{space:6,layout:"left",children:s.jsx(M.Include,c({},e,{transient:!0,name:"left",default:s.jsx(M.Button,{rendered:u>0,icon:s.jsx(l,{}),click:function(){S(-1)}})}))}),s.jsx(M.Output,{space:6,layout:"right",children:s.jsx(M.Include,c({},e,{transient:!0,name:"right",default:s.jsx(M.Button,{rendered:u<f.length-1,icon:s.jsx(l,{}),click:function(){S(1)}})}))})]})]})]})})}function S(e){var t=e.scope;return t.getItems(),i.Utils.asList(t.original.columns),s.jsx("div",{className:"ui-chart-data"})}function k(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:U.link,children:"Clique aqui para acessar o React Native"})})}var U={link:{}};function C(e){return s.jsx(s.Fragment,{children:s.jsx(k,c({},e.defaultsInput,e.defaultsUI))})}function w(e){var n,r=e.scope,l=e.index,a=i.CrudUtils.create("row",{index:l,row:!0,itemVar:r.original.itemVar,parent:r.crudSearch,data:e.value}),u=t.useState(new i.Scope(r.original,r,a))[0];return s.jsx("div",{className:(n=u.getStyleClass("row"),n+=" ui-repeat-row-",n+=l%2==0?"even":"odd"),style:u.getStyle("row"),children:s.jsx(o,c({transient:!0},e,{crud:a,children:e.children}))})}function N(e){var n=e.scope,i=n.getItems();return s.jsx("div",{className:n.getStyleClass("inner"),style:n.getStyle("inner"),children:i.map((function(i,r){return t.createElement(w,c({},e,{key:"r"+r,scope:n,value:i,index:r}))}))})}function I(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:T.link,children:"Clique aqui para acessar o React Native"})})}var T={link:{}};function F(e){var t=e.scope.original,n=t.color,i=t.label,l=t.icon;n||(n="#55a46f");var o={text:c({color:"#ffffff",lineHeight:30,fontWeight:"500",textAlign:"center"},t.textStyle),inner:c({flex:1,flexDirection:"row",flexWrap:"wrap",textAlign:"center",alignItems:"center",margin:"auto"},t.textStyle),icon:{color:"#fff",fontSize:18,paddingRight:10},button:c({padding:5,alignItems:"center",paddingLeft:10,paddingRight:10,minWidth:200,margin:5,textAlign:"center",verticalAling:"middle",lineHeight:30,borderRadius:20,backgroundColor:n,color:"#ffffff"},t.buttonStyle)};return s.jsx(r.TouchableHighlight,{underlayColor:"transparent",onPress:function(e){"function"==typeof t.click&&t.click(e)},style:o.button,children:s.jsxs(r.View,{style:o.inner,children:[l&&s.jsx(s.Fragment,{children:s.jsx(a.Ionicons,{size:30,style:o.icon,name:l})}),s.jsx(r.Text,{style:o.text,children:i})]})})}function L(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:q.link,children:"Clique aqui para acessar o React Native"})})}var q={link:{}};function R(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:V.link,children:"Clique aqui para acessar o React Native"})})}var V={link:{}};function P(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:O.link,children:"Clique aqui para acessar o React Native"})})}var O={link:{}};function E(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:D.link,children:"Clique aqui para acessar o React Native"})})}var D={link:{}};function B(e){var n=e.scope,l=i.Utils.nvl(n.getValue(),""),a=n.getLabel(),c=n.getPart("placeholder",null,a),o=t.useState(l),u=o[1];return s.jsx(r.TextInput,{style:W.input,onChangeText:function(e){n.changeValue(e),u(e)},value:o[0],placeholder:c})}var W=r.StyleSheet.create({input:{borderRadius:20,padding:10,paddingLeft:20,paddingRight:20,height:40,borderWidth:1,width:"100%"}});function z(e){var n=t.useState(i.ScopeUtils.create(e))[0],l=t.useState(0),a=l[0],u=l[1],d=t.useState(null),p=d[0],x=d[1],j=n.getOptions(),f=i.Utils.nvl(e.crud,n.crud),h=n.original,m=h.type,k=t.useRef(null);n.update=function(){u(++a)};var U={list:y,grid:y,label:v,repeat:N,tabs:b,chart:S},w=function(){return U[m]?s.jsx(U[m],c({crud:f},e,{scope:n})):s.jsx(s.Fragment,{})},T=function(){var e=h.custom;return e?s.jsx(z,"string"==typeof e?{element:{value:e,type:"dummy"},crud:f}:c({type:e.type,tag:e.type},e.props,{crud:f})):s.jsx(s.Fragment,{})};if(n.is("type","dummy"))return s.jsx(s.Fragment,{children:n.getDisplayValue()});var q=function(e){var t=e.target.value;n.isType("integer","int","number")?t=parseInt(t):n.isType("decimal")&&(t=parseFloat(t)),n.isType("select","complete")&&(t=n.getSelectedItem(t)),n.changeValue(t),n.update()},V=function(e){n.call("click")},O={label:n.getLabel(),value:n.getValue(),onChange:q};n.isType("password")&&(O.type="password");var D=function(e){var t=i.Utils.nvl(e,"root");return c({},A[t],n.getStyle(e))},W=D("element"),H={required:n.isRequired(),size:"small",scope:n,crud:f,style:W,placeholder:n.attr("placeholder","Digite aqui")};if(!n.isRendered()||n.is("type","define"))return s.jsx(s.Fragment,{});n.error=function(e){p=e,x(e)},t.useEffect((function(){n.ready||(n.ready=!0,n.call("load"),n.isType("list","repeat")?n.search():h.list&&n.call("list"),n.start())}));var G=function(){return"string"==typeof h.icon?s.jsx(g,{children:n.getIcon()}):s.jsx(s.Fragment,{children:h.icon})};if(n.open=function(e){r.Linking.openURL(e.url)},n.isType("dialog")){var M=h.name;if(!f.dialogs[M]){var _={config:c({},h),component:function(t){return s.jsx(o,c({},e,{scope:n,crud:f}))}};f.dialogs[M]=_}return s.jsx(s.Fragment,{})}return t.useLayoutEffect((function(){if(null!=k&&k.current&&n.is("type","card","list","tabs","stepper")){var e=null==k?void 0:k.current;if(e){var t=i.HtmlUtils.getBGColor(e);e.classList.add("rgb(255, 255, 255)"===t?"ui-dark":"ui-light")}}})),s.jsx(s.Fragment,{children:s.jsx(r.View,{ref:k,style:D(),children:s.jsxs(s.Fragment,{children:[void 0!==h.label&&(console.log(h.label),!0)&&s.jsx(r.Text,{style:D("label"),children:n.getLabel()}),!(!(n.isInput()||i.Utils.isEmpty(e.children)&&i.Utils.isEmpty(e.elements))||U[m])&&s.jsxs(s.Fragment,{children:[s.jsxs(r.View,{style:D("inner"),children:[n.is("type","button")&&s.jsxs(F,c({},H,{onClick:V,variant:n.attr("variant","outlined"),children:[h.icon&&s.jsx(G,{}),h.label&&s.jsx(r.Text,{style:n.getPart("label","button"),children:n.getLabel()})]})),n.is("type","icon")&&s.jsx(g,c({},H,{onClick:V,variant:n.attr("variant","outlined"),children:n.getDisplayValue()})),n.is("type","link")&&s.jsxs(I,c({},H,{onClick:V,variant:n.attr("variant","outlined"),children:[h.icon&&s.jsx(G,{}),h.label&&s.jsx(r.Text,{style:n.getPart("label","link"),children:n.getLabel()})]})),n.is("type","text","number","phone","postalCode","money","password","email")&&s.jsx(B,c({},O,H,{InputProps:c({},h.inputProps)})),n.is("type","complete","autocomplete")&&s.jsx(C,{scope:n,defaultsInput:O,defaultsUI:H}),n.is("type","checkbox","boolean","switch")&&s.jsx(R,c({checked:!0===n.getValue()},O,{onChange:function(){var e=n.getValue();q({target:{value:!(!0===e)}})}})),n.is("type","select")&&s.jsxs(L,c({},O,H,{value:n.getSelectedValue(),children:[s.jsx(P,{value:"",children:"Selecione"}),j.map((function(e,t){return s.jsx(P,{value:e.value,children:e.label},"i"+t)}))]})),n.is("type","radio")&&s.jsx(E,c({},O,H,{row:!0,children:j.map((function(e,t){return s.jsx(P,{control:s.jsx(E,c({},H)),label:e.label,value:e.value},"i"+t)}))})),n.is("type","custom")&&s.jsx(T,{}),n.is("type","column")&&s.jsxs(s.Fragment,{children:[n.is("format","img")&&s.jsx(r.Image,{source:n.getDisplayValue()}),n.is("format","icon")&&s.jsx(g,{className:n.getDisplayValue()}),!n.is("format","icon","img")&&s.jsx(r.Text,{children:n.getDisplayValue()})]}),n.is("type","output")&&s.jsx(r.Text,{children:n.getDisplayValue()})]}),p&&s.jsx(r.View,{style:D("error"),children:p})]}),s.jsx(w,{}),!n.is("type","tabs","grid","list","define","repeat")&&s.jsx(o,c({},e,{scope:n,crud:f}))]})})})}var A=r.StyleSheet.create({root:{flex:1,gap:10,flexDirection:"column",flexWrap:"wrap",width:"100%",alignItems:"flex-start"},label:{width:"100%",fontWeight:600},inner:{width:"100%"}});function H(e){if(!1===e.rendered)return s.jsx(s.Fragment,{});var t=i.ComponentUtils.getDefine(e,e.name,e.position);return i.Utils.isEmpty(t)&&(t=e.default),i.Utils.isEmpty(t)?s.jsx(s.Fragment,{children:t}):s.jsx((function(t){var n=e.tag;return i.Utils.isEmpty(n)?s.jsx(s.Fragment,{children:t.children}):s.jsx(n,c({},t,{children:t.children}))}),c({},e.tagProps,{children:s.jsx(o,c({transient:!0},e,{scope:e.scope,crud:e.crud,part:e.name,children:t}))}))}var G=["type"],M={Grid:function(e){return s.jsx(z,c({},e,{type:"list"}))},Repeat:function(e){return s.jsx(z,c({},e,{type:"repeat"}))},Define:function(e){return s.jsx(z,c({},e,{type:"define"}))},Include:function(e){return s.jsx(H,c({},e))},Column:function(e){var t=function(e,t){if(null==e)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;n[i]=e[i]}return n}(e,G);return s.jsx(z,c({},t,{type:"column"}))},Input:function(e){return s.jsx(z,c({},e))},Text:function(e){return s.jsx(z,c({},e,{type:"text"}))},Email:function(e){return s.jsx(z,c({},e,{type:"email"}))},Button:function(e){return s.jsx(z,c({},e,{type:"button"}))},Link:function(e){return s.jsx(z,c({},e,{type:"link"}))},Icon:function(e){return s.jsx(z,c({},e,{type:"icon"}))},Output:function(e){return s.jsx(z,c({},e,{type:"output"}))},Form:function(e){return s.jsx(z,c({},e,{type:"form"}))},Crud:function(e){return s.jsx(z,c({},e,{type:"crud"}))},View:function(e){return s.jsx(z,c({},e,{type:"view",transient:!0}))},Bottom:function(e){return s.jsx(z,c({},e,{type:"bottom"}))},Dialog:function(e){return s.jsx(z,c({},e,{type:"dialog"}))},Content:function(e){return s.jsx(z,c({},e,{type:"content"}))},Top:function(e){return s.jsx(z,c({},e,{type:"top"}))},Card:function(e){return s.jsx(z,c({},e,{type:"card"}))},Tab:function(e){return s.jsx(z,c({},e,{type:"tab"}))},Tabs:function(e){return s.jsx(z,c({},e,{type:"tabs"}))},Step:function(e){return s.jsx(z,c({},e,{type:"tab",layout:"step"}))},Stepper:function(e){return s.jsx(z,c({},e,{type:"tabs",layout:"stepper"}))},Money:function(e){return s.jsx(z,c({},e,{type:"money"}))},Chart:function(e){return s.jsx(z,c({},e,{type:"chart"}))},Password:function(e){return s.jsx(z,c({},e,{type:"password"}))},Complete:function(e){return s.jsx(z,c({},e,{type:"complete"}))},Checkbox:function(e){return s.jsx(z,c({},e,{type:"checkbox"}))},Radio:function(e){return s.jsx(z,c({},e,{type:"radio"}))},Select:function(e){return s.jsx(z,c({},e,{type:"select"}))},Entity:function(e){return s.jsx(z,c({},e,{type:"entity"}))},Element:function(e){return s.jsx(z,c({},e,{type:"element"}))}};exports.UI=M;
1
+ "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react"),n=e(t),i=require("react-crud-utils"),r=require("react-native"),s=require("react/jsx-runtime"),l=e(require("@expo/vector-icons/Ionicons")),a=require("@expo/vector-icons");function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e}).apply(null,arguments)}function o(e){var l=t.useState(i.Utils.nvl(e.scope,i.ScopeUtils.create(e)))[0],a=i.Utils.nvl(e.crud,l.crud),u=i.Utils.nvl(e.validateScope,"global"),d=i.Utils.nvl(e.part,"child");if(l.isInput())return s.jsx(s.Fragment,{});var p=function(e){var t=e.child;if(!t)return s.jsx(s.Fragment,{});if("string"==typeof t)return s.jsx(s.Fragment,{children:t});var n=t.type,r=c({},t.props);return delete r.children,"string"==typeof n?i.Utils.isEmpty(t.props.children)?s.jsx(n,c({},r)):s.jsx(n,c({},r,{children:s.jsx(o,c({transient:!0,validateScope:u},t.props,{scope:l,crud:a}))})):"function"==typeof n?s.jsx(n,c({validateScope:u},t.props,{parent:l,crud:a})):i.Utils.isEmpty(t.props.children)?s.jsx(s.Fragment,{}):s.jsx(o,c({validateScope:u},t.props,{scope:l,crud:a,transient:!0}))},x=function(){return s.jsx(s.Fragment,e.elements?{children:Object.entries(e.elements).map((function(e,t){return s.jsx(z,c({crud:a},e[1]))}))}:{children:n.Children.map(e.children,(function(e){return s.jsx(p,{child:e})}))})};return e.transient?s.jsx(x,{}):i.Utils.isEmpty(e.children)&&i.Utils.isEmpty(e.elements)?s.jsx(s.Fragment,{}):(console.log(d),s.jsx(s.Fragment,{children:s.jsx(r.View,{style:l.getStyle(d),children:s.jsx(x,{})})}))}function u(e){var n,r=e.scope,l=i.Utils.nvl(null==(n=e.column)?void 0:n.props,{}),a=t.useState(new i.Scope(l,r,r.crud))[0];return s.jsx("td",{className:"ui-grid-col "+i.Utils.nvl(e.styleClass,"")+" "+a.getStyleClass("column"),style:a.getStyle("column"),colSpan:e.colspan,children:s.jsx(o,{scope:r,children:e.children})})}function d(e){var n,r=e.scope,a=e.value,c=e.rowIndex,o=r.original,u=t.useState(0),d=u[0],p=u[1],x=r.key("check",c,"s",d);return s.jsx(M.Button,{icon:(n=r.crudSearch,n&&(n.selecteds||(n.selecteds={}),i.Utils.nvl(o.itemValue,"id")),s.jsx(l,{})),click:{action:function(){var e=r.crudSearch;if(e){e.selecteds||(e.selecteds={});var t=i.Utils.nvl(o.itemValue,"id"),n=a[t];void 0!==n&&(void 0===e.selecteds[n]?e.selecteds[n]=a:delete e.selecteds[n])}p(++d)}}},x)}function p(e){var n=e.expansion,r=e.value,a=e.scope,p=e.index,x=a.original,j=i.CrudUtils.create("row",{index:p,row:!0,itemVar:a.original.itemVar,parent:a.crudSearch,data:r}),f=t.useState(!1),h=f[0],g=f[1],m=t.useState(new i.Scope(a.original,a,j))[0],v=function(){var e="ui-grid-row";return(e+=" ui-grid-row-")+(p%2==0?"even":"odd")},y=i.ComponentUtils.getChild(e,"Column"),b=y.length,S=function(){return s.jsxs(s.Fragment,{children:[!h&&s.jsx(l,{}),h&&s.jsx(l,{})]})},k=!i.Utils.isEmpty(n),U=x.multiple;return k&&b++,U&&b++,s.jsxs(s.Fragment,{children:[s.jsxs("tr",{className:v(),style:m.getStyle("row"),children:[k&&s.jsx(u,{scope:m,styleClass:"ui-click ui-icon-only ui-expansion",children:s.jsx(M.Button,{icon:s.jsx(S,{}),click:function(){g(!h)}})},"r"+p+"e"),U&&s.jsx(u,{scope:m,styleClass:"ui-click ui-icon-only ui-multiple",children:s.jsx(d,{scope:a,value:r,rowIndex:p},"check-"+p)},"r"+p+"c"),y.map((function(e,t){return s.jsx(u,{column:e,scope:m,children:e},"r"+p+"c"+t)}))]}),h&&s.jsx("tr",{className:v(),style:m.getStyle("row"),children:s.jsx(u,{scope:m,colspan:b,children:s.jsx(o,c({},e,{crud:j,children:n}))},"r"+p+"-expanded")})]})}function x(e){var n=e.scope,r=e.next,a=e.previous,o=e.first,u=e.size,d=e.last,p=e.position,x=t.useState([10,20,30,50,100,200,500])[0],j={crud:n.crudSearch,owner:n,variant:n.attr("variant","text")};return i.Utils.nvl(n.original.paginatorPosition,"bottom")!==p?s.jsx(s.Fragment,{}):s.jsxs(s.Fragment,{children:[s.jsx(M.Button,c({field:"first",space:0,rendered:!1!==o},j,{click:"first",icon:s.jsx(l,{})})),s.jsx(M.Button,c({field:"previous",space:0,rendered:!1!==a,click:"previous"},j,{icon:s.jsx(l,{})})),s.jsx(M.Select,c({field:"size",space:0,rendered:!1!==u,default:10},j,{data:x,change:"search"})),s.jsx(M.Button,c({field:"next",space:0,rendered:!1!==r},j,{click:"next",icon:s.jsx(l,{})})),s.jsx(M.Button,c({field:"last",space:0,rendered:!1!==d},j,{click:"last",icon:s.jsx(l,{})}))]})}function j(e){var t=e.scope;return s.jsx(s.Fragment,{children:s.jsxs(M.Output,{styleClass:"ui-grid-top",children:[s.jsxs(M.Output,{field:"search",position:"left",space:4,children:[s.jsx(M.Include,c({},e,{transient:!0,name:"top",position:"left"})),s.jsx(M.Text,{field:"query",space:0,label:"Pesquisar",placeholder:t.attr("placeholder","Pesquisar"),children:s.jsx(M.Define,{name:"right",children:s.jsx(M.Button,{field:"search",icon:s.jsx(l,{}),space:0,variant:"text",owner:t,click:"search"})})})]}),s.jsxs(M.Output,{position:"right",space:8,children:[s.jsx(M.Include,c({},e,{transient:!0,name:"top",position:"right"})),s.jsx(x,{scope:t,last:!1,first:!1,position:"top"})]})]})})}function f(e){return s.jsx(s.Fragment,{})}function h(e){var t=e.scope,n=e.children;return s.jsx("div",{className:"ui-grid-bottom",children:s.jsxs("div",{className:"ui-grid-bottom-inner",children:[s.jsx(M.Include,c({},e,{transient:!0,name:"bottomLeft"})),s.jsx(x,{scope:t,position:"bottom",children:n}),s.jsx(M.Include,c({},e,{transient:!0,name:"bottomRight"}))]})})}function g(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:m.link,children:"Clique aqui para acessar o React Native"})})}var m={link:{}};function v(e){var t=e.scope,n=t.original,r=i.Utils.nvl(n.labelPos,"outside"),l=i.Utils.nvl(e.position,"outside");if(r!=l)return s.jsx(s.Fragment,{});var a=function(){return t.is("type","list","grid")?s.jsx("div","string"==typeof n.icon?{className:"ui-label-icon",children:s.jsx(g,{className:t.getIcon()})}:{className:"ui-label-icon",children:n.icon}):s.jsx(s.Fragment,{})},o=t.getLabel();return s.jsxs("div",{className:"ui-label ui-label-"+l,children:[s.jsxs("div",{className:"ui-label-left",children:[s.jsx(M.Include,c({},e,{transient:!0,name:"label",position:"left"})),s.jsx(a,{}),o&&s.jsx("div",{className:"ui-label-value",children:o})]}),s.jsx("div",{className:"ui-label-right",children:s.jsx(M.Include,c({},e,{transient:!0,name:"label",position:"right"}))})]})}function y(e){var n=e.scope,r=n.getItems(),l=i.ComponentUtils.getDefine(e,"expansion");return s.jsxs("div",{className:n.getStyleClass("inner"),style:n.getStyle("inner"),children:[s.jsx(v,c({},e,{scope:n,position:"outside"})),s.jsxs("div",{className:n.getStyleClass("child"),style:n.getStyle("child"),children:[s.jsx(v,c({},e,{scope:n,position:"inside"})),s.jsxs("div",{className:"ui-data",children:[s.jsx(j,c({},e,{scope:n})),s.jsx(f,{scope:n}),s.jsx("div",{className:"ui-grid-data",children:s.jsx("table",{className:"ui-grid ui-table",children:s.jsx("tbody",{children:r.map((function(i,r){return t.createElement(p,c({},e,{expansion:l,key:"r"+r,scope:n,value:i,index:r}))}))})})})]}),s.jsx(h,c({},e,{scope:n}))]})]})}function b(e){var r=e.scope,a=t.useState(0),u=a[0],d=a[1],p=r.original,x=r.getItems(),j=0,f=[],h=t.useState(null),g=h[0],m=h[1],v=function(e,t){void 0===t&&(t=!0),e&&r.execute({event:{validate:t,validateScope:p.validateScope,action:function(){r.changeValue(e.data),g=e,d(u=e.index),m(e)}}})},y=function(e){var t,n="ui-tabs-item ui-click";return(null==(t=g)?void 0:t.index)===e.index&&(n+=" ui-tab-selected"),n},b=function(e,t){var n=c({},e.props);t||(t=r.crud.data);var s=i.CrudUtils.create("tabs",{data:t,changed:t,parent:r.crud}),l=i.Utils.resolve(n,s);!1!==l.rendered&&f.push(c({},l,{child:e,element:l,original:n,index:j++,data:t}))};n.Children.map(e.children,(function(e,t){if(i.Utils.isEmpty(x))b(e,{});else for(var n in x)b(e,x[n])})),g||v(f[u],!1);var S=function(e){v(f[u+e])},k="stepper"===p.layout;return s.jsx("div",{className:r.getStyleClass("inner"),style:r.getStyle("inner"),children:s.jsxs("div",{className:"ui-tabs-content",children:[s.jsx("div",{className:"ui-tabs-items",children:f.map((function(e,t){return s.jsxs("div",{className:y(e),onClick:function(){v(e)},children:[k&&s.jsx("div",{className:"ui-tab-item-divisor"}),s.jsxs("div",{className:"ui-tab-item-inner",children:[k&&s.jsx("div",{className:"ui-step-line"}),s.jsx("div",{className:"ui-tab-item-label",children:k?e.index+1:e.label})]})]},i.Utils.key(p.id,"tab",t))}))}),g&&s.jsxs(s.Fragment,{children:[k&&s.jsx("div",{className:"ui-tabs-label",children:g.label}),s.jsx("div",{className:"ui-tabs-area",children:s.jsx(o,c({},e,{scope:r,children:g.child}))}),"stepper"===p.layout&&s.jsxs("div",{className:"ui-tabs-actions",children:[s.jsx(M.Output,{space:6,layout:"left",children:s.jsx(M.Include,c({},e,{transient:!0,name:"left",default:s.jsx(M.Button,{rendered:u>0,icon:s.jsx(l,{}),click:function(){S(-1)}})}))}),s.jsx(M.Output,{space:6,layout:"right",children:s.jsx(M.Include,c({},e,{transient:!0,name:"right",default:s.jsx(M.Button,{rendered:u<f.length-1,icon:s.jsx(l,{}),click:function(){S(1)}})}))})]})]})]})})}function S(e){var t=e.scope;return t.getItems(),i.Utils.asList(t.original.columns),s.jsx("div",{className:"ui-chart-data"})}function k(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:U.link,children:"Clique aqui para acessar o React Native"})})}var U={link:{}};function C(e){return s.jsx(s.Fragment,{children:s.jsx(k,c({},e.defaultsInput,e.defaultsUI))})}function w(e){var n,r=e.scope,l=e.index,a=i.CrudUtils.create("row",{index:l,row:!0,itemVar:r.original.itemVar,parent:r.crudSearch,data:e.value}),u=t.useState(new i.Scope(r.original,r,a))[0];return s.jsx("div",{className:(n=u.getStyleClass("row"),n+=" ui-repeat-row-",n+=l%2==0?"even":"odd"),style:u.getStyle("row"),children:s.jsx(o,c({transient:!0},e,{crud:a,children:e.children}))})}function N(e){var n=e.scope,i=n.getItems();return s.jsx("div",{className:n.getStyleClass("inner"),style:n.getStyle("inner"),children:i.map((function(i,r){return t.createElement(w,c({},e,{key:"r"+r,scope:n,value:i,index:r}))}))})}function I(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:T.link,children:"Clique aqui para acessar o React Native"})})}var T={link:{}};function F(e){var t=e.scope.original,n=t.color,i=t.label,l=t.icon;n||(n="#55a46f");var o={text:c({color:"#ffffff",lineHeight:30,fontWeight:"500",textAlign:"center"},t.textStyle),inner:c({flex:1,flexDirection:"row",flexWrap:"wrap",textAlign:"center",alignItems:"center",margin:"auto"},t.textStyle),icon:{color:"#fff",fontSize:18,paddingRight:10},button:c({padding:5,alignItems:"center",paddingLeft:10,paddingRight:10,minWidth:200,margin:5,textAlign:"center",verticalAling:"middle",lineHeight:30,borderRadius:20,backgroundColor:n,color:"#ffffff"},t.buttonStyle)};return s.jsx(r.TouchableHighlight,{underlayColor:"transparent",onPress:function(e){"function"==typeof t.click&&t.click(e)},style:o.button,children:s.jsxs(r.View,{style:o.inner,children:[l&&s.jsx(s.Fragment,{children:s.jsx(a.Ionicons,{size:30,style:o.icon,name:l})}),s.jsx(r.Text,{style:o.text,children:i})]})})}function L(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:q.link,children:"Clique aqui para acessar o React Native"})})}var q={link:{}};function R(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:V.link,children:"Clique aqui para acessar o React Native"})})}var V={link:{}};function P(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:O.link,children:"Clique aqui para acessar o React Native"})})}var O={link:{}};function E(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:D.link,children:"Clique aqui para acessar o React Native"})})}var D={link:{}};function B(e){var n=e.scope,l=i.Utils.nvl(n.getValue(),""),a=n.getLabel(),c=n.getPart("placeholder",null,a),o=t.useState(l),u=o[1];return s.jsx(r.TextInput,{style:W.input,onChangeText:function(e){n.changeValue(e),u(e)},value:o[0],placeholder:c})}var W=r.StyleSheet.create({input:{borderRadius:20,padding:10,paddingLeft:20,paddingRight:20,height:40,borderWidth:1,width:"100%"}});function z(e){var n=t.useState(i.ScopeUtils.create(e))[0],l=t.useState(0),a=l[0],u=l[1],d=t.useState(null),p=d[0],x=d[1],j=n.getOptions(),f=i.Utils.nvl(e.crud,n.crud),h=n.original,m=h.type,k=t.useRef(null);n.update=function(){u(++a)};var U={list:y,grid:y,label:v,repeat:N,tabs:b,chart:S},w=function(){return U[m]?s.jsx(U[m],c({crud:f},e,{scope:n})):s.jsx(s.Fragment,{})},T=function(){var e=h.custom;return e?s.jsx(z,"string"==typeof e?{element:{value:e,type:"dummy"},crud:f}:c({type:e.type,tag:e.type},e.props,{crud:f})):s.jsx(s.Fragment,{})};if(n.is("type","dummy"))return s.jsx(s.Fragment,{children:n.getDisplayValue()});var q=function(e){var t=e.target.value;n.isType("integer","int","number")?t=parseInt(t):n.isType("decimal")&&(t=parseFloat(t)),n.isType("select","complete")&&(t=n.getSelectedItem(t)),n.changeValue(t),n.update()},V=function(e){n.call("click")},O={label:n.getLabel(),value:n.getValue(),onChange:q};n.isType("password")&&(O.type="password");var D=function(e){var t=i.Utils.nvl(e,"root");return c({},A[t],n.getStyle(e))},W=D("element"),H={required:n.isRequired(),size:"small",scope:n,crud:f,style:W,placeholder:n.attr("placeholder","Digite aqui")};if(!n.isRendered()||n.is("type","define"))return s.jsx(s.Fragment,{});n.error=function(e){p=e,x(e)},t.useEffect((function(){n.ready||(n.ready=!0,n.call("load"),n.isType("list","repeat")?n.search():h.list&&n.call("list"),n.start())}));var G=function(){return"string"==typeof h.icon?s.jsx(g,{children:n.getIcon()}):s.jsx(s.Fragment,{children:h.icon})};if(n.open=function(e){r.Linking.openURL(e.url)},n.isType("dialog")){var M=h.name;if(!f.dialogs[M]){var _={config:c({},h),component:function(t){return s.jsx(o,c({},e,{scope:n,crud:f}))}};f.dialogs[M]=_}return s.jsx(s.Fragment,{})}return t.useLayoutEffect((function(){if(null!=k&&k.current&&n.is("type","card","list","tabs","stepper")){var e=null==k?void 0:k.current;if(e){var t=i.HtmlUtils.getBGColor(e);e.classList.add("rgb(255, 255, 255)"===t?"ui-dark":"ui-light")}}})),s.jsx(s.Fragment,{children:s.jsx(r.View,{ref:k,style:D(),children:s.jsxs(s.Fragment,{children:[void 0!==h.label&&(console.log(h.label),!0)&&s.jsx(r.Text,{style:D("label"),children:n.getLabel()}),!(!(n.isInput()||i.Utils.isEmpty(e.children)&&i.Utils.isEmpty(e.elements))||U[m])&&s.jsxs(s.Fragment,{children:[s.jsxs(r.View,{style:D("inner"),children:[n.is("type","button")&&s.jsxs(F,c({},H,{onClick:V,variant:n.attr("variant","outlined"),children:[h.icon&&s.jsx(G,{}),h.label&&s.jsx(r.Text,{style:n.getPart("label","button"),children:n.getLabel()})]})),n.is("type","icon")&&s.jsx(g,c({},H,{onClick:V,variant:n.attr("variant","outlined"),children:n.getDisplayValue()})),n.is("type","link")&&s.jsxs(I,c({},H,{onClick:V,variant:n.attr("variant","outlined"),children:[h.icon&&s.jsx(G,{}),h.label&&s.jsx(r.Text,{style:n.getPart("label","link"),children:n.getLabel()})]})),n.is("type","text","number","phone","postalCode","money","password","email")&&s.jsx(B,c({},O,H,{InputProps:c({},h.inputProps)})),n.is("type","complete","autocomplete")&&s.jsx(C,{scope:n,defaultsInput:O,defaultsUI:H}),n.is("type","checkbox","boolean","switch")&&s.jsx(R,c({checked:!0===n.getValue()},O,{onChange:function(){var e=n.getValue();q({target:{value:!(!0===e)}})}})),n.is("type","select")&&s.jsxs(L,c({},O,H,{value:n.getSelectedValue(),children:[s.jsx(P,{value:"",children:"Selecione"}),j.map((function(e,t){return s.jsx(P,{value:e.value,children:e.label},"i"+t)}))]})),n.is("type","radio")&&s.jsx(E,c({},O,H,{row:!0,children:j.map((function(e,t){return s.jsx(P,{control:s.jsx(E,c({},H)),label:e.label,value:e.value},"i"+t)}))})),n.is("type","custom")&&s.jsx(T,{}),n.is("type","column")&&s.jsxs(s.Fragment,{children:[n.is("format","img")&&s.jsx(r.Image,{source:n.getDisplayValue()}),n.is("format","icon")&&s.jsx(g,{className:n.getDisplayValue()}),!n.is("format","icon","img")&&s.jsx(r.Text,{children:n.getDisplayValue()})]}),n.is("type","output")&&s.jsx(r.Text,{children:n.getDisplayValue()})]}),p&&s.jsx(r.View,{style:D("error"),children:p})]}),s.jsx(w,{}),!n.is("type","tabs","grid","list","define","repeat")&&s.jsx(o,c({},e,{scope:n,crud:f}))]})})})}var A=r.StyleSheet.create({root:{flex:1,gap:10,flexDirection:"column",flexWrap:"wrap",width:"100%",alignItems:"flex-start"},label:{width:"100%",fontWeight:600},inner:{width:"100%"}});function H(e){if(!1===e.rendered)return s.jsx(s.Fragment,{});var t=i.ComponentUtils.getDefine(e,e.name,e.position);return i.Utils.isEmpty(t)&&(t=e.default),i.Utils.isEmpty(t)?s.jsx(s.Fragment,{children:t}):s.jsx((function(t){var n=e.tag;return i.Utils.isEmpty(n)?s.jsx(s.Fragment,{children:t.children}):s.jsx(n,c({},t,{children:t.children}))}),c({},e.tagProps,{children:s.jsx(o,c({transient:!0},e,{scope:e.scope,crud:e.crud,part:e.name,children:t}))}))}var G=["type"],M={Grid:function(e){return s.jsx(z,c({},e,{type:"list"}))},Repeat:function(e){return s.jsx(z,c({},e,{type:"repeat"}))},Define:function(e){return s.jsx(z,c({},e,{type:"define"}))},Include:function(e){return s.jsx(H,c({},e))},Column:function(e){var t=function(e,t){if(null==e)return{};var n={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(-1!==t.indexOf(i))continue;n[i]=e[i]}return n}(e,G);return s.jsx(z,c({},t,{type:"column"}))},Input:function(e){return s.jsx(z,c({},e))},Text:function(e){return s.jsx(z,c({},e,{type:"text"}))},Email:function(e){return s.jsx(z,c({},e,{type:"email"}))},Button:function(e){return s.jsx(z,c({},e,{type:"button"}))},Link:function(e){return s.jsx(z,c({},e,{type:"link"}))},Icon:function(e){return s.jsx(z,c({},e,{type:"icon"}))},Output:function(e){return s.jsx(z,c({},e,{type:"output"}))},Form:function(e){return s.jsx(z,c({},e,{type:"form"}))},Crud:function(e){return s.jsx(z,c({},e,{type:"crud"}))},View:function(e){return s.jsx(z,c({},e,{type:"view",transient:!0}))},Bottom:function(e){return s.jsx(z,c({},e,{type:"bottom"}))},Dialog:function(e){return s.jsx(z,c({},e,{type:"dialog"}))},Content:function(e){return s.jsx(z,c({},e,{type:"content"}))},Top:function(e){return s.jsx(z,c({},e,{type:"top"}))},Card:function(e){return s.jsx(z,c({},e,{type:"card"}))},Tab:function(e){return s.jsx(z,c({},e,{type:"tab"}))},Tabs:function(e){return s.jsx(z,c({},e,{type:"tabs"}))},Step:function(e){return s.jsx(z,c({},e,{type:"tab",layout:"step"}))},Stepper:function(e){return s.jsx(z,c({},e,{type:"tabs",layout:"stepper"}))},Money:function(e){return s.jsx(z,c({},e,{type:"money"}))},Chart:function(e){return s.jsx(z,c({},e,{type:"chart"}))},Password:function(e){return s.jsx(z,c({},e,{type:"password"}))},Complete:function(e){return s.jsx(z,c({},e,{type:"complete"}))},Checkbox:function(e){return s.jsx(z,c({},e,{type:"checkbox"}))},Radio:function(e){return s.jsx(z,c({},e,{type:"radio"}))},Select:function(e){return s.jsx(z,c({},e,{type:"select"}))},Entity:function(e){return s.jsx(z,c({},e,{type:"entity"}))},Element:function(e){return s.jsx(z,c({},e,{type:"element"}))}};exports.UI=M;
2
2
  //# sourceMappingURL=react-crud-mobile.cjs.production.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-crud-mobile.cjs.production.min.js","sources":["../src/elements/UIChildren.tsx","../src/elements/grid/ElGridColumn.tsx","../src/elements/grid/ElGridCheck.tsx","../src/elements/grid/ElGridRow.tsx","../src/elements/grid/ElGridPaginator.tsx","../src/elements/grid/ElGridTop.tsx","../src/elements/grid/ElGridFilter.tsx","../src/elements/grid/ElGridBotom.tsx","../src/elements/core/Icon.tsx","../src/elements/grid/ElLabel.tsx","../src/elements/grid/ElGrid.tsx","../src/elements/tabs/ElTabs.tsx","../src/elements/charts/ElChart.tsx","../src/elements/core/AutoComplete.tsx","../src/elements/UIComplete.tsx","../src/elements/grid/ElRepeatRow.tsx","../src/elements/grid/ElRepeat.tsx","../src/elements/core/Link.tsx","../src/elements/core/Button.tsx","../src/elements/core/Select.tsx","../src/elements/core/Switch.tsx","../src/elements/core/Option.tsx","../src/elements/core/Radio.tsx","../src/elements/core/Input.tsx","../src/elements/UIElement.tsx","../src/elements/grid/ElInclude.tsx","../src/elements/UI.tsx"],"sourcesContent":["import React, { useState } from 'react';\r\nimport UIElement from './UIElement';\r\nimport { Crud, Scope, ScopeUtils, Utils } from 'react-crud-utils';\r\nimport { View } from 'react-native';\r\n\r\ninterface UIChildrenType {\r\n scope: Scope;\r\n crud?: Crud;\r\n validateScope?: String;\r\n children?: any;\r\n elements?: any;\r\n transient?: boolean;\r\n part?: string;\r\n childProps?: any;\r\n}\r\n\r\nexport default function UIChildren(props: UIChildrenType) {\r\n let [scope] = useState(Utils.nvl(props.scope, ScopeUtils.create(props)));\r\n let crud = Utils.nvl(props.crud, scope.crud);\r\n let validateScope = Utils.nvl(props.validateScope, 'global');\r\n let name = Utils.nvl(props.part, 'child');\r\n\r\n if (scope.isInput()) {\r\n return <></>;\r\n }\r\n\r\n let Paint = ({ child }: any) => {\r\n if (!child) {\r\n return <></>;\r\n }\r\n if (typeof child === 'string') {\r\n return <>{child}</>;\r\n }\r\n\r\n let Custom = child.type;\r\n let pps = { ...child.props };\r\n\r\n delete pps.children;\r\n\r\n if (typeof Custom === 'string') {\r\n if (Utils.isEmpty(child.props.children)) {\r\n return <Custom {...pps} />;\r\n }\r\n return (\r\n <Custom {...pps}>\r\n <UIChildren\r\n transient\r\n validateScope={validateScope}\r\n {...child.props}\r\n scope={scope}\r\n crud={crud}\r\n ></UIChildren>\r\n </Custom>\r\n );\r\n } else if (typeof Custom === 'function') {\r\n return (\r\n <Custom\r\n validateScope={validateScope}\r\n {...child.props}\r\n parent={scope}\r\n crud={crud}\r\n ></Custom>\r\n );\r\n }\r\n\r\n if (!Utils.isEmpty(child.props.children)) {\r\n return (\r\n <UIChildren\r\n validateScope={validateScope}\r\n {...child.props}\r\n scope={scope}\r\n crud={crud}\r\n transient\r\n ></UIChildren>\r\n );\r\n }\r\n return <></>;\r\n };\r\n\r\n const Draw = () => {\r\n if (props.elements) {\r\n return (\r\n <>\r\n {Object.entries(props.elements).map((t: any, k) => {\r\n return <UIElement crud={crud} {...t[1]} />;\r\n })}\r\n </>\r\n );\r\n }\r\n return (\r\n <>\r\n {React.Children.map(props.children, child => {\r\n return <Paint child={child}></Paint>;\r\n })}\r\n </>\r\n );\r\n };\r\n\r\n if (props.transient) {\r\n return <Draw />;\r\n }\r\n\r\n if (Utils.isEmpty(props.children) && Utils.isEmpty(props.elements)) {\r\n return <></>;\r\n }\r\n\r\n return (\r\n <>\r\n <View style={scope.getStyle(name)} {...props.childProps}>\r\n <Draw />\r\n </View>\r\n </>\r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport UIChildren from \"../UIChildren\";\r\nimport { Scope, Utils } from \"react-crud-utils\";\r\n\r\ninterface ElGridColumnType {\r\n scope: Scope;\r\n styleClass?: string;\r\n children?: any;\r\n colspan?: number;\r\n column?: any;\r\n}\r\n\r\nexport default function ElGridColumn(props: ElGridColumnType) {\r\n let scope = props.scope;\r\n let col = Utils.nvl(props.column?.props, {});\r\n let [colScope] = useState(new Scope(col, scope, scope.crud));\r\n\r\n let getStyleClass = () => {\r\n let def = Utils.nvl(props.styleClass, \"\");\r\n\r\n return \"ui-grid-col \" + def + \" \" + colScope.getStyleClass(\"column\");\r\n };\r\n return (\r\n <td\r\n className={getStyleClass()}\r\n style={colScope.getStyle(\"column\")}\r\n colSpan={props.colspan}\r\n >\r\n <UIChildren scope={scope}>{props.children}</UIChildren>\r\n </td>\r\n );\r\n}\r\n","import UI from '../UI';\r\nimport Ionicons from '@expo/vector-icons/Ionicons';\r\nimport { useState } from 'react';\r\nimport { GridRowType, Utils } from 'react-crud-utils';\r\n\r\nexport default function ElGridCheck({ scope, value, rowIndex }: GridRowType) {\r\n let original = scope.original;\r\n let [index, setIndex] = useState(0);\r\n let key = scope.key('check', rowIndex, 's', index);\r\n\r\n let check = () => {\r\n let cs = scope.crudSearch;\r\n\r\n if (cs) {\r\n if (!cs.selecteds) {\r\n cs.selecteds = {};\r\n }\r\n\r\n let itemValue = Utils.nvl(original.itemValue, 'id');\r\n let key = value[itemValue];\r\n\r\n if (typeof key !== 'undefined') {\r\n if (typeof cs.selecteds[key] === 'undefined') {\r\n cs.selecteds[key] = value;\r\n } else {\r\n delete cs.selecteds[key];\r\n }\r\n }\r\n }\r\n setIndex(++index);\r\n };\r\n\r\n let getCheckIcon = () => {\r\n if (isChecked()) {\r\n return <Ionicons />;\r\n }\r\n return <Ionicons />;\r\n };\r\n\r\n let isChecked = () => {\r\n let cs = scope.crudSearch;\r\n\r\n if (cs) {\r\n if (!cs.selecteds) {\r\n cs.selecteds = {};\r\n }\r\n\r\n let itemValue = Utils.nvl(original.itemValue, 'id');\r\n let key = value[itemValue];\r\n\r\n if (typeof key !== 'undefined') {\r\n if (typeof cs.selecteds[key] !== 'undefined') {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n return (\r\n <UI.Button\r\n key={key}\r\n icon={getCheckIcon()}\r\n click={{ action: check }}\r\n ></UI.Button>\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport ElGridColumn from './ElGridColumn';\r\nimport ElGridCheck from './ElGridCheck';\r\nimport Ionicons from '@expo/vector-icons/Ionicons';\r\nimport UI from '../UI';\r\nimport UIChildren from '../UIChildren';\r\nimport {\r\n ComponentUtils,\r\n CrudUtils,\r\n ListType,\r\n RowType,\r\n Scope,\r\n Utils,\r\n} from 'react-crud-utils';\r\n\r\nexport default function ElGridRow(props: RowType) {\r\n let expansion = props.expansion;\r\n let value = props.value;\r\n let scope = props.scope;\r\n let index = props.index;\r\n let original: ListType = scope.original;\r\n\r\n let row = CrudUtils.create('row', {\r\n index,\r\n row: true,\r\n itemVar: scope.original.itemVar,\r\n parent: scope.crudSearch,\r\n data: value,\r\n });\r\n\r\n let [expanded, setExpanded] = useState(false);\r\n let [rowScope] = useState(new Scope(scope.original, scope, row));\r\n\r\n let getRowStyleClass = () => {\r\n let s = 'ui-grid-row';\r\n\r\n s = s + ' ui-grid-row-';\r\n\r\n if (index % 2 == 0) {\r\n s = s + 'even';\r\n } else {\r\n s = s + 'odd';\r\n }\r\n return s;\r\n };\r\n\r\n let cols = ComponentUtils.getChild(props, 'Column');\r\n let colspan = cols.length;\r\n\r\n let ExpansionStatus = () => {\r\n return (\r\n <>\r\n {!expanded && <Ionicons />}\r\n {expanded && <Ionicons />}\r\n </>\r\n );\r\n };\r\n\r\n let onExpansion = () => {\r\n setExpanded(!expanded);\r\n };\r\n\r\n let hasExpansion = !Utils.isEmpty(expansion);\r\n let multiple = original.multiple;\r\n\r\n if (hasExpansion) colspan++;\r\n if (multiple) colspan++;\r\n\r\n return (\r\n <>\r\n <tr className={getRowStyleClass()} style={rowScope.getStyle('row')}>\r\n {hasExpansion && (\r\n <ElGridColumn\r\n key={'r' + index + 'e'}\r\n scope={rowScope}\r\n styleClass=\"ui-click ui-icon-only ui-expansion\"\r\n >\r\n <UI.Button\r\n icon={<ExpansionStatus />}\r\n click={onExpansion}\r\n ></UI.Button>\r\n </ElGridColumn>\r\n )}\r\n {multiple && (\r\n <ElGridColumn\r\n key={'r' + index + 'c'}\r\n scope={rowScope}\r\n styleClass=\"ui-click ui-icon-only ui-multiple\"\r\n >\r\n <ElGridCheck\r\n key={'check-' + index}\r\n scope={scope}\r\n value={value}\r\n rowIndex={index}\r\n />\r\n </ElGridColumn>\r\n )}\r\n {cols.map((col: any, i: number) => (\r\n <ElGridColumn\r\n column={col}\r\n key={'r' + index + 'c' + i}\r\n scope={rowScope}\r\n >\r\n {col}\r\n </ElGridColumn>\r\n ))}\r\n </tr>\r\n {expanded && (\r\n <tr className={getRowStyleClass()} style={rowScope.getStyle('row')}>\r\n <ElGridColumn\r\n key={'r' + index + '-expanded'}\r\n scope={rowScope}\r\n colspan={colspan}\r\n >\r\n <UIChildren {...props} crud={row}>\r\n {expansion}\r\n </UIChildren>\r\n </ElGridColumn>\r\n </tr>\r\n )}\r\n </>\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport UI from '../UI';\r\nimport { ChildType, Utils } from 'react-crud-utils';\r\nimport Ionicons from '@expo/vector-icons/Ionicons';\r\n\r\ninterface ElGridPaginatorType extends ChildType {\r\n next?: boolean;\r\n previous?: boolean;\r\n first?: boolean;\r\n size?: boolean;\r\n last?: boolean;\r\n position: string;\r\n}\r\n\r\nexport default function ElGridPaginator({\r\n scope,\r\n next,\r\n previous,\r\n first,\r\n size,\r\n last,\r\n position,\r\n}: ElGridPaginatorType) {\r\n let [sizes] = useState([10, 20, 30, 50, 100, 200, 500]);\r\n let defaults = {\r\n crud: scope.crudSearch,\r\n owner: scope,\r\n variant: scope.attr('variant', 'text'),\r\n };\r\n\r\n let paginatorPosition = Utils.nvl(scope.original.paginatorPosition, 'bottom');\r\n\r\n if (paginatorPosition !== position) {\r\n return <></>;\r\n }\r\n\r\n return (\r\n <>\r\n <UI.Button\r\n field=\"first\"\r\n space={0}\r\n rendered={first !== false}\r\n {...defaults}\r\n click=\"first\"\r\n icon={<Ionicons />}\r\n ></UI.Button>\r\n <UI.Button\r\n field=\"previous\"\r\n space={0}\r\n rendered={previous !== false}\r\n click=\"previous\"\r\n {...defaults}\r\n icon={<Ionicons />}\r\n ></UI.Button>\r\n <UI.Select\r\n field=\"size\"\r\n space={0}\r\n rendered={size !== false}\r\n default={10}\r\n {...defaults}\r\n data={sizes}\r\n change=\"search\"\r\n ></UI.Select>\r\n <UI.Button\r\n field=\"next\"\r\n space={0}\r\n rendered={next !== false}\r\n {...defaults}\r\n click=\"next\"\r\n icon={<Ionicons />}\r\n ></UI.Button>\r\n <UI.Button\r\n field=\"last\"\r\n space={0}\r\n rendered={last !== false}\r\n {...defaults}\r\n click=\"last\"\r\n icon={<Ionicons />}\r\n ></UI.Button>\r\n </>\r\n );\r\n}\r\n","import UI from '../UI';\r\nimport Ionicons from '@expo/vector-icons/Ionicons';\r\nimport ElGridPaginator from './ElGridPaginator';\r\nimport { ChildType } from 'react-crud-utils';\r\n\r\nexport default function ElGridTop(props: ChildType) {\r\n let scope = props.scope;\r\n\r\n return (\r\n <>\r\n <UI.Output styleClass=\"ui-grid-top\">\r\n <UI.Output field=\"search\" position=\"left\" space={4}>\r\n <UI.Include {...props} transient name=\"top\" position=\"left\" />\r\n <UI.Text\r\n field=\"query\"\r\n space={0}\r\n label=\"Pesquisar\"\r\n placeholder={scope.attr('placeholder', 'Pesquisar')}\r\n >\r\n <UI.Define name=\"right\">\r\n <UI.Button\r\n field=\"search\"\r\n icon={<Ionicons />}\r\n space={0}\r\n variant=\"text\"\r\n owner={scope}\r\n click={'search'}\r\n ></UI.Button>\r\n </UI.Define>\r\n </UI.Text>\r\n </UI.Output>\r\n <UI.Output position=\"right\" space={8}>\r\n <UI.Include {...props} transient name=\"top\" position=\"right\" />\r\n <ElGridPaginator\r\n scope={scope}\r\n last={false}\r\n first={false}\r\n position=\"top\"\r\n ></ElGridPaginator>\r\n </UI.Output>\r\n </UI.Output>\r\n </>\r\n );\r\n}\r\n","import { ChildType } from \"react-crud-utils\";\r\n\r\nexport default function ElGridFilter(props: ChildType) {\r\n return <></>;\r\n}\r\n","import React, { useState } from \"react\";\r\nimport ElGridPaginator from \"./ElGridPaginator\";\r\nimport UI from \"../UI\";\r\nimport { ChildType } from \"react-crud-utils\";\r\n\r\nexport default function ElGridBotom(props: ChildType) {\r\n let scope = props.scope;\r\n let children = props.children;\r\n\r\n return (\r\n <div className=\"ui-grid-bottom\">\r\n <div className=\"ui-grid-bottom-inner\">\r\n <UI.Include {...props} transient name=\"bottomLeft\" />\r\n <ElGridPaginator scope={scope} position=\"bottom\">\r\n {children}\r\n </ElGridPaginator>\r\n <UI.Include {...props} transient name=\"bottomRight\" />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Icon(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import React from 'react';\r\nimport UI from '../UI';\r\nimport { ChildType, Utils } from 'react-crud-utils';\r\nimport Icon from '../core/Icon';\r\n\r\ninterface ElLabelType extends ChildType {\r\n position?: string;\r\n}\r\nexport default function ElLabel(props: ElLabelType) {\r\n let scope = props.scope;\r\n let original = scope.original;\r\n let defaultPos = 'outside';\r\n\r\n let elPos = Utils.nvl(original.labelPos, defaultPos);\r\n let lbPos = Utils.nvl(props.position, defaultPos);\r\n\r\n if (elPos != lbPos) {\r\n return <></>;\r\n }\r\n\r\n const CustomIcon = () => {\r\n if (!scope.is('type', 'list', 'grid')) {\r\n return <></>;\r\n }\r\n\r\n if (typeof original.icon === 'string') {\r\n return (\r\n <div className=\"ui-label-icon\">\r\n <Icon className={scope.getIcon()}></Icon>\r\n </div>\r\n );\r\n }\r\n return <div className=\"ui-label-icon\">{original.icon}</div>;\r\n };\r\n\r\n let label = scope.getLabel();\r\n\r\n return (\r\n <div className={'ui-label ui-label-' + lbPos}>\r\n <div className=\"ui-label-left\">\r\n <UI.Include {...props} transient name=\"label\" position=\"left\" />\r\n <CustomIcon />\r\n {label && <div className=\"ui-label-value\">{label}</div>}\r\n </div>\r\n <div className=\"ui-label-right\">\r\n <UI.Include {...props} transient name=\"label\" position=\"right\" />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import ElGridRow from './ElGridRow';\r\nimport ElGridTop from './ElGridTop';\r\nimport ElGridFilter from './ElGridFilter';\r\nimport ElGridBotom from './ElGridBotom';\r\nimport ElLabel from './ElLabel';\r\nimport { ChildType, ComponentUtils, Scope } from 'react-crud-utils';\r\n\r\nexport default function ElGrid(props: ChildType) {\r\n let scope: Scope = props.scope;\r\n let items: any = scope.getItems();\r\n let expansion = ComponentUtils.getDefine(props, 'expansion');\r\n\r\n return (\r\n <div\r\n className={scope.getStyleClass('inner')}\r\n style={scope.getStyle('inner')}\r\n >\r\n <ElLabel {...props} scope={scope} position=\"outside\"></ElLabel>\r\n <div\r\n className={scope.getStyleClass('child')}\r\n style={scope.getStyle('child')}\r\n >\r\n <ElLabel {...props} scope={scope} position=\"inside\"></ElLabel>\r\n <div className=\"ui-data\">\r\n <ElGridTop {...props} scope={scope}></ElGridTop>\r\n <ElGridFilter scope={scope}></ElGridFilter>\r\n <div className=\"ui-grid-data\">\r\n <table className=\"ui-grid ui-table\">\r\n <tbody>\r\n {items.map((row: any, i: number) => (\r\n <ElGridRow\r\n {...props}\r\n expansion={expansion}\r\n key={'r' + i}\r\n scope={scope}\r\n value={row}\r\n index={i}\r\n />\r\n ))}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <ElGridBotom {...props} scope={scope} />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport UIChildren from '../UIChildren';\r\nimport UI from '../UI';\r\n\r\nimport Ionicons from '@expo/vector-icons/Ionicons';\r\nimport { ChildType, CrudUtils, Utils } from 'react-crud-utils';\r\n\r\nexport default function ElTabs(props: ChildType) {\r\n let scope = props.scope;\r\n let [selectedIndex, setSelectedIndex]: any = useState(0);\r\n let element = scope.original;\r\n let items = scope.getItems();\r\n let counter = 0;\r\n\r\n let tabs: any = [];\r\n let [selected, setSelected]: any = useState(null);\r\n\r\n const onChangeTab = (tab: any, validate = true) => {\r\n if (tab) {\r\n scope.execute({\r\n event: {\r\n validate,\r\n validateScope: element.validateScope,\r\n action: () => {\r\n scope.changeValue(tab.data);\r\n\r\n selected = tab;\r\n selectedIndex = tab.index;\r\n\r\n setSelectedIndex(selectedIndex);\r\n setSelected(tab);\r\n },\r\n },\r\n });\r\n }\r\n };\r\n\r\n const getStyleClass = (t: any) => {\r\n let s = 'ui-tabs-item ui-click';\r\n\r\n if (selected?.index === t.index) {\r\n s = s + ' ui-tab-selected';\r\n }\r\n return s;\r\n };\r\n\r\n const addTab = (child: any, item: any) => {\r\n let original = { ...child.props };\r\n\r\n if (!item) {\r\n item = scope.crud.data;\r\n }\r\n\r\n let crudTab = CrudUtils.create('tabs', {\r\n data: item,\r\n changed: item,\r\n parent: scope.crud,\r\n });\r\n\r\n let element = Utils.resolve(original, crudTab);\r\n\r\n if (element.rendered === false) {\r\n return;\r\n }\r\n\r\n tabs.push({\r\n ...element,\r\n child,\r\n element,\r\n original,\r\n index: counter++,\r\n data: item,\r\n });\r\n };\r\n\r\n React.Children.map(props.children, (child, index) => {\r\n if (Utils.isEmpty(items)) {\r\n addTab(child, {});\r\n } else {\r\n for (const i in items) {\r\n let o = items[i];\r\n\r\n addTab(child, o);\r\n }\r\n }\r\n });\r\n\r\n if (!selected) {\r\n onChangeTab(tabs[selectedIndex], false);\r\n }\r\n\r\n const nav = (i: any) => {\r\n let t = tabs[selectedIndex + i];\r\n\r\n onChangeTab(t);\r\n };\r\n\r\n const previous = () => {\r\n nav(-1);\r\n };\r\n\r\n const next = () => {\r\n nav(1);\r\n };\r\n\r\n let isStepper = element.layout === 'stepper';\r\n\r\n return (\r\n <div\r\n className={scope.getStyleClass('inner')}\r\n style={scope.getStyle('inner')}\r\n >\r\n <div className=\"ui-tabs-content\">\r\n <div className=\"ui-tabs-items\">\r\n {tabs.map((t: any, i: number) => (\r\n <div\r\n key={Utils.key(element.id, 'tab', i)}\r\n className={getStyleClass(t)}\r\n onClick={() => {\r\n onChangeTab(t);\r\n }}\r\n >\r\n {isStepper && <div className=\"ui-tab-item-divisor\" />}\r\n <div className=\"ui-tab-item-inner\">\r\n {isStepper && <div className=\"ui-step-line\" />}\r\n <div className=\"ui-tab-item-label\">\r\n {isStepper ? t.index + 1 : t.label}\r\n </div>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n {selected && (\r\n <>\r\n {isStepper && <div className=\"ui-tabs-label\">{selected.label}</div>}\r\n <div className=\"ui-tabs-area\">\r\n <UIChildren {...props} scope={scope}>\r\n {selected.child}\r\n </UIChildren>\r\n </div>\r\n {element.layout === 'stepper' && (\r\n <div className=\"ui-tabs-actions\">\r\n <UI.Output space={6} layout=\"left\">\r\n <UI.Include\r\n {...props}\r\n transient\r\n name=\"left\"\r\n default={\r\n <UI.Button\r\n rendered={selectedIndex > 0}\r\n icon={<Ionicons />}\r\n click={previous}\r\n />\r\n }\r\n />\r\n </UI.Output>\r\n <UI.Output space={6} layout=\"right\">\r\n <UI.Include\r\n {...props}\r\n transient\r\n name=\"right\"\r\n default={\r\n <UI.Button\r\n rendered={selectedIndex < tabs.length - 1}\r\n icon={<Ionicons />}\r\n click={next}\r\n />\r\n }\r\n />\r\n </UI.Output>\r\n </div>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { ChildType, Scope, Utils } from \"react-crud-utils\";\r\n\r\nexport default function ElChart(props: ChildType) {\r\n let scope: Scope = props.scope;\r\n let items: any = scope.getItems();\r\n let columns = Utils.asList(scope.original.columns);\r\n\r\n return <div className=\"ui-chart-data\"></div>;\r\n}\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function AutoComplete(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { ChildType } from 'react-crud-utils';\r\nimport AutoComplete from './core/AutoComplete';\r\n\r\nexport default function UIComplete({\r\n defaultsInput,\r\n defaultsUI,\r\n scope,\r\n}: ChildType) {\r\n return (\r\n <>\r\n <AutoComplete {...defaultsInput} {...defaultsUI} />\r\n </>\r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport UIChildren from \"../UIChildren\";\r\nimport { CrudUtils, RowType, Scope } from \"react-crud-utils\";\r\n\r\nexport default function ElRepeatRow(props: RowType) {\r\n let value = props.value;\r\n let scope = props.scope;\r\n let index = props.index;\r\n\r\n let row = CrudUtils.create(\"row\", {\r\n index,\r\n row: true,\r\n itemVar: scope.original.itemVar,\r\n parent: scope.crudSearch,\r\n data: value,\r\n });\r\n\r\n let [rowScope] = useState(new Scope(scope.original, scope, row));\r\n\r\n let getRowStyleClass = () => {\r\n let s = rowScope.getStyleClass(\"row\");\r\n\r\n s = s + \" ui-repeat-row-\";\r\n\r\n if (index % 2 == 0) {\r\n s = s + \"even\";\r\n } else {\r\n s = s + \"odd\";\r\n }\r\n return s;\r\n };\r\n\r\n return (\r\n <div className={getRowStyleClass()} style={rowScope.getStyle(\"row\")}>\r\n <UIChildren transient {...props} crud={row}>\r\n {props.children}\r\n </UIChildren>\r\n </div>\r\n );\r\n}\r\n","import ElRepeatRow from './ElRepeatRow';\r\nimport { ChildType, Scope } from 'react-crud-utils';\r\n\r\nexport default function ElRepeat(props: ChildType) {\r\n let scope: Scope = props.scope;\r\n let items: any = scope.getItems();\r\n\r\n return (\r\n <div\r\n className={scope.getStyleClass('inner')}\r\n style={scope.getStyle('inner')}\r\n >\r\n {items.map((row: any, i: number) => (\r\n <ElRepeatRow\r\n {...props}\r\n key={'r' + i}\r\n scope={scope}\r\n value={row}\r\n index={i}\r\n />\r\n ))}\r\n </div>\r\n );\r\n}\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Link(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { Ionicons } from '@expo/vector-icons';\r\nimport { ChildType } from 'react-crud-utils';\r\nimport { Text, TouchableHighlight, View } from 'react-native';\r\n\r\nexport default function Button(props: ChildType) {\r\n let scope = props.scope;\r\n let element = scope.original;\r\n\r\n let color = element.color;\r\n let label = element.label;\r\n let icon = element.icon;\r\n\r\n if (!color) color = '#55a46f';\r\n\r\n const styles: any = {\r\n text: {\r\n color: '#ffffff',\r\n lineHeight: 30,\r\n fontWeight: '500',\r\n textAlign: 'center',\r\n ...element.textStyle,\r\n },\r\n inner: {\r\n flex: 1,\r\n flexDirection: 'row',\r\n flexWrap: 'wrap',\r\n textAlign: 'center',\r\n alignItems: 'center',\r\n margin: 'auto',\r\n ...element.textStyle,\r\n },\r\n icon: {\r\n color: '#fff',\r\n fontSize: 18,\r\n paddingRight: 10,\r\n },\r\n button: {\r\n padding: 5,\r\n alignItems: 'center',\r\n paddingLeft: 10,\r\n paddingRight: 10,\r\n minWidth: 200,\r\n margin: 5,\r\n textAlign: 'center',\r\n verticalAling: 'middle',\r\n lineHeight: 30,\r\n borderRadius: 20,\r\n backgroundColor: color,\r\n color: '#ffffff',\r\n ...element.buttonStyle,\r\n },\r\n };\r\n\r\n const onClick = (e: any) => {\r\n if (typeof element.click === 'function') {\r\n element.click(e);\r\n }\r\n };\r\n\r\n return (\r\n <TouchableHighlight\r\n underlayColor={'transparent'}\r\n onPress={onClick}\r\n style={styles.button}\r\n >\r\n <View style={styles.inner}>\r\n {icon && (\r\n <>\r\n <Ionicons size={30} style={styles.icon} name={icon} />\r\n </>\r\n )}\r\n <Text style={styles.text}>{label}</Text>\r\n </View>\r\n </TouchableHighlight>\r\n );\r\n}\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Select(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Switch(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Option(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Radio(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { useState } from 'react';\r\nimport { ChildType, Utils } from 'react-crud-utils';\r\nimport { StyleSheet, TextInput } from 'react-native';\r\n\r\nexport default function Input(props: ChildType) {\r\n let scope = props.scope;\r\n let initial = Utils.nvl(scope.getValue(), '');\r\n\r\n let label = scope.getLabel();\r\n let placeholder = scope.getPart('placeholder', null, label);\r\n\r\n const [value, setValue] = useState(initial);\r\n\r\n let onChange = v => {\r\n scope.changeValue(v);\r\n\r\n setValue(v);\r\n };\r\n\r\n return (\r\n <TextInput\r\n style={styles.input}\r\n onChangeText={onChange}\r\n value={value}\r\n placeholder={placeholder}\r\n />\r\n );\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n input: {\r\n borderRadius: 20,\r\n padding: 10,\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n height: 40,\r\n borderWidth: 1,\r\n width: '100%',\r\n },\r\n});\r\n","import React, { useEffect, useLayoutEffect, useRef, useState } from 'react';\r\nimport ElGrid from './grid/ElGrid';\r\nimport UIChildren from './UIChildren';\r\nimport ElTabs from './tabs/ElTabs';\r\nimport ElLabel from './grid/ElLabel';\r\nimport ElChart from './charts/ElChart';\r\nimport UIComplete from './UIComplete';\r\nimport ElRepeat from './grid/ElRepeat';\r\nimport {\r\n Crud,\r\n HtmlUtils,\r\n ScopeUtils,\r\n Utils,\r\n ElementType,\r\n} from 'react-crud-utils';\r\nimport Link from './core/Link';\r\nimport Icon from './core/Icon';\r\nimport Button from './core/Button';\r\nimport Select from './core/Select';\r\nimport Switch from './core/Switch';\r\nimport Option from './core/Option';\r\nimport Radio from './core/Radio';\r\nimport Input from './core/Input';\r\nimport { Image, Linking, StyleSheet, Text, View } from 'react-native';\r\n\r\nexport default function UIElement(props: ElementType) {\r\n let [scope] = useState(ScopeUtils.create(props));\r\n let [index, setIndex] = useState(0);\r\n let [error, setError]: string | any = useState(null);\r\n let options: any = scope.getOptions();\r\n let crud: Crud = Utils.nvl(props.crud, scope.crud);\r\n let original = scope.original;\r\n let type = original.type;\r\n let ref = useRef(null);\r\n\r\n scope.update = () => {\r\n setIndex(++index);\r\n };\r\n\r\n let router: any = {\r\n list: ElGrid,\r\n grid: ElGrid,\r\n label: ElLabel,\r\n repeat: ElRepeat,\r\n tabs: ElTabs,\r\n chart: ElChart,\r\n };\r\n\r\n let CurrentRouter = () => {\r\n if (router[type]) {\r\n let Aux = router[type];\r\n\r\n return <Aux crud={crud} {...props} scope={scope} />;\r\n }\r\n return <></>;\r\n };\r\n\r\n const Custom = () => {\r\n let c: any = original.custom;\r\n\r\n if (c) {\r\n if (typeof c === 'string') {\r\n return (\r\n <UIElement\r\n element={{ value: c, type: 'dummy' }}\r\n crud={crud}\r\n ></UIElement>\r\n );\r\n }\r\n\r\n return (\r\n <UIElement\r\n type={c.type}\r\n tag={c.type}\r\n {...c.props}\r\n crud={crud}\r\n ></UIElement>\r\n );\r\n }\r\n\r\n return <></>;\r\n };\r\n\r\n if (scope.is('type', 'dummy')) {\r\n return <>{scope.getDisplayValue()}</>;\r\n }\r\n\r\n let onCheck = () => {\r\n let v = scope.getValue();\r\n let check = !(v === true);\r\n\r\n onChange({ target: { value: check } });\r\n };\r\n\r\n let onChange = (e: any) => {\r\n let val = e.target.value;\r\n\r\n if (scope.isType('integer', 'int', 'number')) {\r\n val = parseInt(val);\r\n } else if (scope.isType('decimal')) {\r\n val = parseFloat(val);\r\n }\r\n\r\n if (scope.isType('select', 'complete')) {\r\n val = scope.getSelectedItem(val);\r\n }\r\n\r\n scope.changeValue(val);\r\n scope.update();\r\n };\r\n\r\n let onClick = (e: any) => {\r\n scope.call('click');\r\n };\r\n\r\n let defaultsInput: any = {\r\n label: scope.getLabel(),\r\n value: scope.getValue(),\r\n onChange: onChange,\r\n };\r\n\r\n if (scope.isType('password')) {\r\n defaultsInput.type = 'password';\r\n }\r\n\r\n const getStyle = (part?: string) => {\r\n let key = Utils.nvl(part, 'root');\r\n let def = styles[key];\r\n\r\n return { ...def, ...scope.getStyle(part) };\r\n };\r\n\r\n let elStyle = getStyle('element');\r\n\r\n let defaultsUI: any = {\r\n required: scope.isRequired(),\r\n size: 'small',\r\n scope,\r\n crud,\r\n style: elStyle,\r\n placeholder: scope.attr('placeholder', 'Digite aqui'),\r\n };\r\n\r\n let isChecked = () => {\r\n let v = scope.getValue();\r\n\r\n return v === true;\r\n };\r\n\r\n let hasChildren = () => {\r\n if (scope.isInput()) {\r\n return false;\r\n }\r\n\r\n return !Utils.isEmpty(props.children) || !Utils.isEmpty(props.elements);\r\n };\r\n\r\n if (!scope.isRendered() || scope.is('type', 'define')) {\r\n return <></>;\r\n }\r\n\r\n scope.error = (msg: string) => {\r\n error = msg;\r\n setError(msg);\r\n };\r\n\r\n useEffect(() => {\r\n if (!scope.ready) {\r\n scope.ready = true;\r\n\r\n scope.call('load');\r\n\r\n if (scope.isType('list', 'repeat')) {\r\n scope.search();\r\n } else if (original.list) {\r\n scope.call('list');\r\n }\r\n scope.start();\r\n }\r\n });\r\n\r\n const CustomIcon = () => {\r\n if (typeof original.icon === 'string') {\r\n return <Icon>{scope.getIcon()}</Icon>;\r\n }\r\n return <>{original.icon}</>;\r\n };\r\n\r\n const getLabelClass = (type: string) => {\r\n let clss = `ui-text ui-${type}-text`;\r\n let icon = scope.getIcon();\r\n\r\n if (icon) {\r\n clss = clss + ` ui-icon ui-${type}-icon`;\r\n }\r\n return clss;\r\n };\r\n\r\n let hasCustomRoute = () => {\r\n if (router[type]) return true;\r\n return false;\r\n };\r\n\r\n scope.open = (args: any) => {\r\n Linking.openURL(args.url);\r\n };\r\n\r\n if (scope.isType('dialog')) {\r\n let name = original.name;\r\n\r\n if (!crud.dialogs[name]) {\r\n let dlg: any = { config: { ...original } };\r\n\r\n dlg.component = (args: any) => {\r\n return <UIChildren {...props} scope={scope} crud={crud} />;\r\n };\r\n\r\n crud.dialogs[name] = dlg;\r\n }\r\n return <></>;\r\n }\r\n\r\n useLayoutEffect(() => {\r\n if (ref?.current && scope.is('type', 'card', 'list', 'tabs', 'stepper')) {\r\n let el: any = ref?.current;\r\n\r\n if (el) {\r\n let bg = HtmlUtils.getBGColor(el);\r\n\r\n if (bg === 'rgb(255, 255, 255)') {\r\n el.classList.add('ui-dark');\r\n } else {\r\n el.classList.add('ui-light');\r\n }\r\n }\r\n }\r\n });\r\n\r\n const isShowLabel = () => {\r\n if (typeof original.label !== 'undefined') {\r\n console.log(original.label);\r\n return true;\r\n }\r\n\r\n return false;\r\n };\r\n\r\n const isShowInner = () => {\r\n if (hasChildren() || hasCustomRoute()) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n return (\r\n <>\r\n <View ref={ref} style={getStyle()}>\r\n <>\r\n {isShowLabel() && (\r\n <Text style={getStyle('label')}>{scope.getLabel()}</Text>\r\n )}\r\n {isShowInner() && (\r\n <>\r\n <View style={getStyle('inner')}>\r\n {scope.is('type', 'button') && (\r\n <Button\r\n {...defaultsUI}\r\n onClick={onClick}\r\n variant={scope.attr('variant', 'outlined')}\r\n >\r\n {original.icon && <CustomIcon />}\r\n {original.label && (\r\n <Text style={scope.getPart('label', 'button')}>\r\n {scope.getLabel()}\r\n </Text>\r\n )}\r\n </Button>\r\n )}\r\n {scope.is('type', 'icon') && (\r\n <Icon\r\n {...defaultsUI}\r\n onClick={onClick}\r\n variant={scope.attr('variant', 'outlined')}\r\n >\r\n {scope.getDisplayValue()}\r\n </Icon>\r\n )}\r\n {scope.is('type', 'link') && (\r\n <Link\r\n {...defaultsUI}\r\n onClick={onClick}\r\n variant={scope.attr('variant', 'outlined')}\r\n >\r\n {original.icon && <CustomIcon />}\r\n {original.label && (\r\n <Text style={scope.getPart('label', 'link')}>\r\n {scope.getLabel()}\r\n </Text>\r\n )}\r\n </Link>\r\n )}\r\n {scope.is(\r\n 'type',\r\n 'text',\r\n 'number',\r\n 'phone',\r\n 'postalCode',\r\n 'money',\r\n 'password',\r\n 'email'\r\n ) && (\r\n <Input\r\n {...defaultsInput}\r\n {...defaultsUI}\r\n InputProps={{ ...original.inputProps }}\r\n />\r\n )}\r\n {scope.is('type', 'complete', 'autocomplete') && (\r\n <UIComplete\r\n scope={scope}\r\n defaultsInput={defaultsInput}\r\n defaultsUI={defaultsUI}\r\n />\r\n )}\r\n {scope.is('type', 'checkbox', 'boolean', 'switch') && (\r\n <Switch\r\n checked={isChecked()}\r\n {...defaultsInput}\r\n onChange={onCheck}\r\n />\r\n )}\r\n {scope.is('type', 'select') && (\r\n <Select\r\n {...defaultsInput}\r\n {...defaultsUI}\r\n value={scope.getSelectedValue()}\r\n >\r\n <Option value={''}>Selecione</Option>\r\n {options.map((row: any, i: number) => (\r\n <Option key={'i' + i} value={row.value}>\r\n {row.label}\r\n </Option>\r\n ))}\r\n </Select>\r\n )}\r\n {scope.is('type', 'radio') && (\r\n <Radio {...defaultsInput} {...defaultsUI} row>\r\n {options.map((row: any, i: number) => (\r\n <Option\r\n key={'i' + i}\r\n control={<Radio {...defaultsUI} />}\r\n label={row.label}\r\n value={row.value}\r\n />\r\n ))}\r\n </Radio>\r\n )}\r\n {scope.is('type', 'custom') && <Custom />}\r\n {scope.is('type', 'column') && (\r\n <>\r\n {scope.is('format', 'img') && (\r\n <Image source={scope.getDisplayValue()} />\r\n )}\r\n {scope.is('format', 'icon') && (\r\n <Icon className={scope.getDisplayValue()} />\r\n )}\r\n {!scope.is('format', 'icon', 'img') && (\r\n <Text>{scope.getDisplayValue()}</Text>\r\n )}\r\n </>\r\n )}\r\n {scope.is('type', 'output') && (\r\n <Text>{scope.getDisplayValue()}</Text>\r\n )}\r\n </View>\r\n {error && <View style={getStyle('error')}>{error}</View>}\r\n </>\r\n )}\r\n <CurrentRouter />\r\n {!scope.is('type', 'tabs', 'grid', 'list', 'define', 'repeat') && (\r\n <UIChildren {...props} scope={scope} crud={crud} />\r\n )}\r\n </>\r\n </View>\r\n </>\r\n );\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n root: {\r\n flex: 1,\r\n gap: 10,\r\n flexDirection: 'column',\r\n flexWrap: 'wrap',\r\n width: '100%',\r\n alignItems: 'flex-start',\r\n },\r\n label: { width: '100%', fontWeight: 600 },\r\n inner: { width: '100%' },\r\n});\r\n","import UIChildren from \"../UIChildren\";\r\nimport { ComponentUtils, DefineType, Utils } from \"react-crud-utils\";\r\n\r\nexport default function ElInclude(props: DefineType) {\r\n if (props.rendered === false) {\r\n return <></>;\r\n }\r\n\r\n let includes = ComponentUtils.getDefine(props, props.name, props.position);\r\n\r\n if (Utils.isEmpty(includes)) {\r\n includes = props.default;\r\n }\r\n\r\n if (!Utils.isEmpty(includes)) {\r\n let Aux = (tagProp: any) => {\r\n let Tag: any = props.tag;\r\n\r\n if (!Utils.isEmpty(Tag)) {\r\n return <Tag {...tagProp}>{tagProp.children}</Tag>;\r\n }\r\n return <>{tagProp.children}</>;\r\n };\r\n\r\n return (\r\n <Aux {...props.tagProps}>\r\n <UIChildren\r\n transient\r\n {...props}\r\n scope={props.scope}\r\n crud={props.crud}\r\n part={props.name}\r\n >\r\n {includes}\r\n </UIChildren>\r\n </Aux>\r\n );\r\n }\r\n return <>{includes}</>;\r\n}\r\n","import { ListType } from \"react-crud-utils\";\r\nimport { UserType } from \"react-crud-utils\";\r\nimport { InputType } from \"react-crud-utils\";\r\nimport { ChartType } from \"react-crud-utils\";\r\nimport { ContainerType } from \"react-crud-utils\";\r\nimport { ListInputType } from \"react-crud-utils\";\r\nimport UIElement from \"./UIElement\";\r\nimport { TabsType } from \"react-crud-utils\";\r\nimport { DefineType } from \"react-crud-utils\";\r\nimport ElInclude from \"./grid/ElInclude\";\r\nimport { ButtonType } from \"react-crud-utils\";\r\nimport { LinkType } from \"react-crud-utils\";\r\n\r\nconst UI = {\r\n Grid: (props: ListType) => <UIElement {...props} type=\"list\" />,\r\n Repeat: (props: ListType) => <UIElement {...props} type=\"repeat\" />,\r\n Define: (props: DefineType) => <UIElement {...props} type=\"define\" />,\r\n Include: (props: DefineType) => <ElInclude {...props} />,\r\n Column: ({ type = \"column\", ...props }: UserType) => (\r\n <UIElement {...props} type=\"column\" />\r\n ),\r\n Input: (props: InputType) => <UIElement {...props} />,\r\n Text: (props: InputType) => <UIElement {...props} type=\"text\" />,\r\n Email: (props: InputType) => <UIElement {...props} type=\"email\" />,\r\n Button: (props: ButtonType) => <UIElement {...props} type=\"button\" />,\r\n Link: (props: LinkType) => <UIElement {...props} type=\"link\" />,\r\n Icon: (props: ButtonType) => <UIElement {...props} type=\"icon\" />,\r\n Output: (props: ContainerType) => <UIElement {...props} type=\"output\" />,\r\n Form: (props: ContainerType) => <UIElement {...props} type=\"form\" />,\r\n Crud: (props: ContainerType) => <UIElement {...props} type=\"crud\" />,\r\n View: (props: ContainerType) => (\r\n <UIElement {...props} type=\"view\" transient />\r\n ),\r\n Bottom: (props: ContainerType) => <UIElement {...props} type=\"bottom\" />,\r\n Dialog: (props: ContainerType) => <UIElement {...props} type=\"dialog\" />,\r\n Content: (props: ContainerType) => <UIElement {...props} type=\"content\" />,\r\n Top: (props: ContainerType) => <UIElement {...props} type=\"top\" />,\r\n Card: (props: ContainerType) => <UIElement {...props} type=\"card\" />,\r\n Tab: (props: ContainerType) => <UIElement {...props} type=\"tab\" />,\r\n Tabs: (props: TabsType) => <UIElement {...props} type=\"tabs\" />,\r\n Step: (props: ContainerType) => (\r\n <UIElement {...props} type=\"tab\" layout=\"step\" />\r\n ),\r\n Stepper: (props: TabsType) => (\r\n <UIElement {...props} type=\"tabs\" layout=\"stepper\" />\r\n ),\r\n Money: (props: InputType) => <UIElement {...props} type=\"money\" />,\r\n Chart: (props: ChartType) => <UIElement {...props} type=\"chart\" />,\r\n Password: (props: InputType) => <UIElement {...props} type=\"password\" />,\r\n Complete: (props: InputType) => <UIElement {...props} type=\"complete\" />,\r\n Checkbox: (props: InputType) => <UIElement {...props} type=\"checkbox\" />,\r\n Radio: (props: ListInputType) => <UIElement {...props} type=\"radio\" />,\r\n Select: (props: ListInputType) => <UIElement {...props} type=\"select\" />,\r\n Entity: (props: ListInputType) => <UIElement {...props} type=\"entity\" />,\r\n Element: (props: ListInputType) => <UIElement {...props} type=\"element\" />,\r\n};\r\nexport default UI;\r\n"],"names":["UIChildren","props","scope","useState","Utils","nvl","ScopeUtils","create","crud","validateScope","name","part","isInput","_jsx","_Fragment","Paint","_ref","child","children","Custom","type","pps","_extends","isEmpty","transient","parent","Draw","elements","Object","entries","map","t","k","UIElement","React","Children","View","style","getStyle","childProps","ElGridColumn","col","_props$column","column","colScope","Scope","className","styleClass","getStyleClass","colSpan","colspan","ElGridCheck","cs","value","rowIndex","original","_useState","index","setIndex","key","UI","Button","icon","crudSearch","selecteds","itemValue","Ionicons","click","action","ElGridRow","expansion","row","CrudUtils","itemVar","data","expanded","setExpanded","rowScope","getRowStyleClass","s","cols","ComponentUtils","getChild","length","ExpansionStatus","_jsxs","hasExpansion","multiple","i","ElGridPaginator","next","previous","first","size","last","position","sizes","defaults","owner","variant","attr","paginatorPosition","field","space","rendered","Select","default","change","ElGridTop","Output","Include","Text","label","placeholder","Define","ElGridFilter","ElGridBotom","Icon","TouchableOpacity","onPress","Linking","openURL","styles","link","ElLabel","elPos","labelPos","lbPos","CustomIcon","is","getIcon","getLabel","ElGrid","items","getItems","getDefine","_createElement","ElTabs","selectedIndex","setSelectedIndex","element","counter","tabs","_useState2","selected","setSelected","onChangeTab","tab","validate","execute","event","changeValue","_selected","addTab","item","crudTab","changed","resolve","push","nav","isStepper","layout","onClick","id","ElChart","asList","columns","AutoComplete","UIComplete","defaultsInput","defaultsUI","ElRepeatRow","ElRepeat","Link","color","text","lineHeight","fontWeight","textAlign","textStyle","inner","flex","flexDirection","flexWrap","alignItems","margin","fontSize","paddingRight","button","padding","paddingLeft","minWidth","verticalAling","borderRadius","backgroundColor","buttonStyle","TouchableHighlight","underlayColor","e","Switch","Option","Radio","Input","initial","getValue","getPart","setValue","TextInput","input","onChangeText","v","StyleSheet","height","borderWidth","width","_useState3","error","setError","options","getOptions","ref","useRef","update","router","list","grid","repeat","chart","CurrentRouter","c","custom","tag","getDisplayValue","onChange","val","target","isType","parseInt","parseFloat","getSelectedItem","call","elStyle","required","isRequired","isRendered","msg","useEffect","ready","search","start","open","args","url","dialogs","dlg","config","useLayoutEffect","current","el","bg","HtmlUtils","getBGColor","classList","add","console","log","InputProps","inputProps","checked","getSelectedValue","control","Image","source","root","gap","ElInclude","includes","tagProp","Tag","tagProps","Grid","Repeat","Column","_objectWithoutPropertiesLoose","_excluded","Email","Form","Crud","Bottom","Dialog","Content","Top","Card","Tab","Tabs","Step","Stepper","Money","Chart","Password","Complete","Checkbox","Entity","Element"],"mappings":"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"}
1
+ {"version":3,"file":"react-crud-mobile.cjs.production.min.js","sources":["../src/elements/UIChildren.tsx","../src/elements/grid/ElGridColumn.tsx","../src/elements/grid/ElGridCheck.tsx","../src/elements/grid/ElGridRow.tsx","../src/elements/grid/ElGridPaginator.tsx","../src/elements/grid/ElGridTop.tsx","../src/elements/grid/ElGridFilter.tsx","../src/elements/grid/ElGridBotom.tsx","../src/elements/core/Icon.tsx","../src/elements/grid/ElLabel.tsx","../src/elements/grid/ElGrid.tsx","../src/elements/tabs/ElTabs.tsx","../src/elements/charts/ElChart.tsx","../src/elements/core/AutoComplete.tsx","../src/elements/UIComplete.tsx","../src/elements/grid/ElRepeatRow.tsx","../src/elements/grid/ElRepeat.tsx","../src/elements/core/Link.tsx","../src/elements/core/Button.tsx","../src/elements/core/Select.tsx","../src/elements/core/Switch.tsx","../src/elements/core/Option.tsx","../src/elements/core/Radio.tsx","../src/elements/core/Input.tsx","../src/elements/UIElement.tsx","../src/elements/grid/ElInclude.tsx","../src/elements/UI.tsx"],"sourcesContent":["import React, { useState } from 'react';\r\nimport UIElement from './UIElement';\r\nimport { Crud, Scope, ScopeUtils, Utils } from 'react-crud-utils';\r\nimport { View } from 'react-native';\r\n\r\ninterface UIChildrenType {\r\n scope: Scope;\r\n crud?: Crud;\r\n validateScope?: String;\r\n children?: any;\r\n elements?: any;\r\n transient?: boolean;\r\n part?: string;\r\n childProps?: any;\r\n}\r\n\r\nexport default function UIChildren(props: UIChildrenType) {\r\n let [scope] = useState(Utils.nvl(props.scope, ScopeUtils.create(props)));\r\n let crud = Utils.nvl(props.crud, scope.crud);\r\n let validateScope = Utils.nvl(props.validateScope, 'global');\r\n let name = Utils.nvl(props.part, 'child');\r\n\r\n if (scope.isInput()) {\r\n return <></>;\r\n }\r\n\r\n let Paint = ({ child }: any) => {\r\n if (!child) {\r\n return <></>;\r\n }\r\n if (typeof child === 'string') {\r\n return <>{child}</>;\r\n }\r\n\r\n let Custom = child.type;\r\n let pps = { ...child.props };\r\n\r\n delete pps.children;\r\n\r\n if (typeof Custom === 'string') {\r\n if (Utils.isEmpty(child.props.children)) {\r\n return <Custom {...pps} />;\r\n }\r\n return (\r\n <Custom {...pps}>\r\n <UIChildren\r\n transient\r\n validateScope={validateScope}\r\n {...child.props}\r\n scope={scope}\r\n crud={crud}\r\n ></UIChildren>\r\n </Custom>\r\n );\r\n } else if (typeof Custom === 'function') {\r\n return (\r\n <Custom\r\n validateScope={validateScope}\r\n {...child.props}\r\n parent={scope}\r\n crud={crud}\r\n ></Custom>\r\n );\r\n }\r\n\r\n if (!Utils.isEmpty(child.props.children)) {\r\n return (\r\n <UIChildren\r\n validateScope={validateScope}\r\n {...child.props}\r\n scope={scope}\r\n crud={crud}\r\n transient\r\n ></UIChildren>\r\n );\r\n }\r\n return <></>;\r\n };\r\n\r\n const Draw = () => {\r\n if (props.elements) {\r\n return (\r\n <>\r\n {Object.entries(props.elements).map((t: any, k) => {\r\n return <UIElement crud={crud} {...t[1]} />;\r\n })}\r\n </>\r\n );\r\n }\r\n return (\r\n <>\r\n {React.Children.map(props.children, child => {\r\n return <Paint child={child}></Paint>;\r\n })}\r\n </>\r\n );\r\n };\r\n\r\n if (props.transient) {\r\n return <Draw />;\r\n }\r\n\r\n if (Utils.isEmpty(props.children) && Utils.isEmpty(props.elements)) {\r\n return <></>;\r\n }\r\n\r\n console.log(name);\r\n\r\n return (\r\n <>\r\n <View style={scope.getStyle(name)}>\r\n <Draw />\r\n </View>\r\n </>\r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport UIChildren from \"../UIChildren\";\r\nimport { Scope, Utils } from \"react-crud-utils\";\r\n\r\ninterface ElGridColumnType {\r\n scope: Scope;\r\n styleClass?: string;\r\n children?: any;\r\n colspan?: number;\r\n column?: any;\r\n}\r\n\r\nexport default function ElGridColumn(props: ElGridColumnType) {\r\n let scope = props.scope;\r\n let col = Utils.nvl(props.column?.props, {});\r\n let [colScope] = useState(new Scope(col, scope, scope.crud));\r\n\r\n let getStyleClass = () => {\r\n let def = Utils.nvl(props.styleClass, \"\");\r\n\r\n return \"ui-grid-col \" + def + \" \" + colScope.getStyleClass(\"column\");\r\n };\r\n return (\r\n <td\r\n className={getStyleClass()}\r\n style={colScope.getStyle(\"column\")}\r\n colSpan={props.colspan}\r\n >\r\n <UIChildren scope={scope}>{props.children}</UIChildren>\r\n </td>\r\n );\r\n}\r\n","import UI from '../UI';\r\nimport Ionicons from '@expo/vector-icons/Ionicons';\r\nimport { useState } from 'react';\r\nimport { GridRowType, Utils } from 'react-crud-utils';\r\n\r\nexport default function ElGridCheck({ scope, value, rowIndex }: GridRowType) {\r\n let original = scope.original;\r\n let [index, setIndex] = useState(0);\r\n let key = scope.key('check', rowIndex, 's', index);\r\n\r\n let check = () => {\r\n let cs = scope.crudSearch;\r\n\r\n if (cs) {\r\n if (!cs.selecteds) {\r\n cs.selecteds = {};\r\n }\r\n\r\n let itemValue = Utils.nvl(original.itemValue, 'id');\r\n let key = value[itemValue];\r\n\r\n if (typeof key !== 'undefined') {\r\n if (typeof cs.selecteds[key] === 'undefined') {\r\n cs.selecteds[key] = value;\r\n } else {\r\n delete cs.selecteds[key];\r\n }\r\n }\r\n }\r\n setIndex(++index);\r\n };\r\n\r\n let getCheckIcon = () => {\r\n if (isChecked()) {\r\n return <Ionicons />;\r\n }\r\n return <Ionicons />;\r\n };\r\n\r\n let isChecked = () => {\r\n let cs = scope.crudSearch;\r\n\r\n if (cs) {\r\n if (!cs.selecteds) {\r\n cs.selecteds = {};\r\n }\r\n\r\n let itemValue = Utils.nvl(original.itemValue, 'id');\r\n let key = value[itemValue];\r\n\r\n if (typeof key !== 'undefined') {\r\n if (typeof cs.selecteds[key] !== 'undefined') {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n return (\r\n <UI.Button\r\n key={key}\r\n icon={getCheckIcon()}\r\n click={{ action: check }}\r\n ></UI.Button>\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport ElGridColumn from './ElGridColumn';\r\nimport ElGridCheck from './ElGridCheck';\r\nimport Ionicons from '@expo/vector-icons/Ionicons';\r\nimport UI from '../UI';\r\nimport UIChildren from '../UIChildren';\r\nimport {\r\n ComponentUtils,\r\n CrudUtils,\r\n ListType,\r\n RowType,\r\n Scope,\r\n Utils,\r\n} from 'react-crud-utils';\r\n\r\nexport default function ElGridRow(props: RowType) {\r\n let expansion = props.expansion;\r\n let value = props.value;\r\n let scope = props.scope;\r\n let index = props.index;\r\n let original: ListType = scope.original;\r\n\r\n let row = CrudUtils.create('row', {\r\n index,\r\n row: true,\r\n itemVar: scope.original.itemVar,\r\n parent: scope.crudSearch,\r\n data: value,\r\n });\r\n\r\n let [expanded, setExpanded] = useState(false);\r\n let [rowScope] = useState(new Scope(scope.original, scope, row));\r\n\r\n let getRowStyleClass = () => {\r\n let s = 'ui-grid-row';\r\n\r\n s = s + ' ui-grid-row-';\r\n\r\n if (index % 2 == 0) {\r\n s = s + 'even';\r\n } else {\r\n s = s + 'odd';\r\n }\r\n return s;\r\n };\r\n\r\n let cols = ComponentUtils.getChild(props, 'Column');\r\n let colspan = cols.length;\r\n\r\n let ExpansionStatus = () => {\r\n return (\r\n <>\r\n {!expanded && <Ionicons />}\r\n {expanded && <Ionicons />}\r\n </>\r\n );\r\n };\r\n\r\n let onExpansion = () => {\r\n setExpanded(!expanded);\r\n };\r\n\r\n let hasExpansion = !Utils.isEmpty(expansion);\r\n let multiple = original.multiple;\r\n\r\n if (hasExpansion) colspan++;\r\n if (multiple) colspan++;\r\n\r\n return (\r\n <>\r\n <tr className={getRowStyleClass()} style={rowScope.getStyle('row')}>\r\n {hasExpansion && (\r\n <ElGridColumn\r\n key={'r' + index + 'e'}\r\n scope={rowScope}\r\n styleClass=\"ui-click ui-icon-only ui-expansion\"\r\n >\r\n <UI.Button\r\n icon={<ExpansionStatus />}\r\n click={onExpansion}\r\n ></UI.Button>\r\n </ElGridColumn>\r\n )}\r\n {multiple && (\r\n <ElGridColumn\r\n key={'r' + index + 'c'}\r\n scope={rowScope}\r\n styleClass=\"ui-click ui-icon-only ui-multiple\"\r\n >\r\n <ElGridCheck\r\n key={'check-' + index}\r\n scope={scope}\r\n value={value}\r\n rowIndex={index}\r\n />\r\n </ElGridColumn>\r\n )}\r\n {cols.map((col: any, i: number) => (\r\n <ElGridColumn\r\n column={col}\r\n key={'r' + index + 'c' + i}\r\n scope={rowScope}\r\n >\r\n {col}\r\n </ElGridColumn>\r\n ))}\r\n </tr>\r\n {expanded && (\r\n <tr className={getRowStyleClass()} style={rowScope.getStyle('row')}>\r\n <ElGridColumn\r\n key={'r' + index + '-expanded'}\r\n scope={rowScope}\r\n colspan={colspan}\r\n >\r\n <UIChildren {...props} crud={row}>\r\n {expansion}\r\n </UIChildren>\r\n </ElGridColumn>\r\n </tr>\r\n )}\r\n </>\r\n );\r\n}\r\n","import React, { useState } from 'react';\r\nimport UI from '../UI';\r\nimport { ChildType, Utils } from 'react-crud-utils';\r\nimport Ionicons from '@expo/vector-icons/Ionicons';\r\n\r\ninterface ElGridPaginatorType extends ChildType {\r\n next?: boolean;\r\n previous?: boolean;\r\n first?: boolean;\r\n size?: boolean;\r\n last?: boolean;\r\n position: string;\r\n}\r\n\r\nexport default function ElGridPaginator({\r\n scope,\r\n next,\r\n previous,\r\n first,\r\n size,\r\n last,\r\n position,\r\n}: ElGridPaginatorType) {\r\n let [sizes] = useState([10, 20, 30, 50, 100, 200, 500]);\r\n let defaults = {\r\n crud: scope.crudSearch,\r\n owner: scope,\r\n variant: scope.attr('variant', 'text'),\r\n };\r\n\r\n let paginatorPosition = Utils.nvl(scope.original.paginatorPosition, 'bottom');\r\n\r\n if (paginatorPosition !== position) {\r\n return <></>;\r\n }\r\n\r\n return (\r\n <>\r\n <UI.Button\r\n field=\"first\"\r\n space={0}\r\n rendered={first !== false}\r\n {...defaults}\r\n click=\"first\"\r\n icon={<Ionicons />}\r\n ></UI.Button>\r\n <UI.Button\r\n field=\"previous\"\r\n space={0}\r\n rendered={previous !== false}\r\n click=\"previous\"\r\n {...defaults}\r\n icon={<Ionicons />}\r\n ></UI.Button>\r\n <UI.Select\r\n field=\"size\"\r\n space={0}\r\n rendered={size !== false}\r\n default={10}\r\n {...defaults}\r\n data={sizes}\r\n change=\"search\"\r\n ></UI.Select>\r\n <UI.Button\r\n field=\"next\"\r\n space={0}\r\n rendered={next !== false}\r\n {...defaults}\r\n click=\"next\"\r\n icon={<Ionicons />}\r\n ></UI.Button>\r\n <UI.Button\r\n field=\"last\"\r\n space={0}\r\n rendered={last !== false}\r\n {...defaults}\r\n click=\"last\"\r\n icon={<Ionicons />}\r\n ></UI.Button>\r\n </>\r\n );\r\n}\r\n","import UI from '../UI';\r\nimport Ionicons from '@expo/vector-icons/Ionicons';\r\nimport ElGridPaginator from './ElGridPaginator';\r\nimport { ChildType } from 'react-crud-utils';\r\n\r\nexport default function ElGridTop(props: ChildType) {\r\n let scope = props.scope;\r\n\r\n return (\r\n <>\r\n <UI.Output styleClass=\"ui-grid-top\">\r\n <UI.Output field=\"search\" position=\"left\" space={4}>\r\n <UI.Include {...props} transient name=\"top\" position=\"left\" />\r\n <UI.Text\r\n field=\"query\"\r\n space={0}\r\n label=\"Pesquisar\"\r\n placeholder={scope.attr('placeholder', 'Pesquisar')}\r\n >\r\n <UI.Define name=\"right\">\r\n <UI.Button\r\n field=\"search\"\r\n icon={<Ionicons />}\r\n space={0}\r\n variant=\"text\"\r\n owner={scope}\r\n click={'search'}\r\n ></UI.Button>\r\n </UI.Define>\r\n </UI.Text>\r\n </UI.Output>\r\n <UI.Output position=\"right\" space={8}>\r\n <UI.Include {...props} transient name=\"top\" position=\"right\" />\r\n <ElGridPaginator\r\n scope={scope}\r\n last={false}\r\n first={false}\r\n position=\"top\"\r\n ></ElGridPaginator>\r\n </UI.Output>\r\n </UI.Output>\r\n </>\r\n );\r\n}\r\n","import { ChildType } from \"react-crud-utils\";\r\n\r\nexport default function ElGridFilter(props: ChildType) {\r\n return <></>;\r\n}\r\n","import React, { useState } from \"react\";\r\nimport ElGridPaginator from \"./ElGridPaginator\";\r\nimport UI from \"../UI\";\r\nimport { ChildType } from \"react-crud-utils\";\r\n\r\nexport default function ElGridBotom(props: ChildType) {\r\n let scope = props.scope;\r\n let children = props.children;\r\n\r\n return (\r\n <div className=\"ui-grid-bottom\">\r\n <div className=\"ui-grid-bottom-inner\">\r\n <UI.Include {...props} transient name=\"bottomLeft\" />\r\n <ElGridPaginator scope={scope} position=\"bottom\">\r\n {children}\r\n </ElGridPaginator>\r\n <UI.Include {...props} transient name=\"bottomRight\" />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Icon(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import React from 'react';\r\nimport UI from '../UI';\r\nimport { ChildType, Utils } from 'react-crud-utils';\r\nimport Icon from '../core/Icon';\r\n\r\ninterface ElLabelType extends ChildType {\r\n position?: string;\r\n}\r\nexport default function ElLabel(props: ElLabelType) {\r\n let scope = props.scope;\r\n let original = scope.original;\r\n let defaultPos = 'outside';\r\n\r\n let elPos = Utils.nvl(original.labelPos, defaultPos);\r\n let lbPos = Utils.nvl(props.position, defaultPos);\r\n\r\n if (elPos != lbPos) {\r\n return <></>;\r\n }\r\n\r\n const CustomIcon = () => {\r\n if (!scope.is('type', 'list', 'grid')) {\r\n return <></>;\r\n }\r\n\r\n if (typeof original.icon === 'string') {\r\n return (\r\n <div className=\"ui-label-icon\">\r\n <Icon className={scope.getIcon()}></Icon>\r\n </div>\r\n );\r\n }\r\n return <div className=\"ui-label-icon\">{original.icon}</div>;\r\n };\r\n\r\n let label = scope.getLabel();\r\n\r\n return (\r\n <div className={'ui-label ui-label-' + lbPos}>\r\n <div className=\"ui-label-left\">\r\n <UI.Include {...props} transient name=\"label\" position=\"left\" />\r\n <CustomIcon />\r\n {label && <div className=\"ui-label-value\">{label}</div>}\r\n </div>\r\n <div className=\"ui-label-right\">\r\n <UI.Include {...props} transient name=\"label\" position=\"right\" />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import ElGridRow from './ElGridRow';\r\nimport ElGridTop from './ElGridTop';\r\nimport ElGridFilter from './ElGridFilter';\r\nimport ElGridBotom from './ElGridBotom';\r\nimport ElLabel from './ElLabel';\r\nimport { ChildType, ComponentUtils, Scope } from 'react-crud-utils';\r\n\r\nexport default function ElGrid(props: ChildType) {\r\n let scope: Scope = props.scope;\r\n let items: any = scope.getItems();\r\n let expansion = ComponentUtils.getDefine(props, 'expansion');\r\n\r\n return (\r\n <div\r\n className={scope.getStyleClass('inner')}\r\n style={scope.getStyle('inner')}\r\n >\r\n <ElLabel {...props} scope={scope} position=\"outside\"></ElLabel>\r\n <div\r\n className={scope.getStyleClass('child')}\r\n style={scope.getStyle('child')}\r\n >\r\n <ElLabel {...props} scope={scope} position=\"inside\"></ElLabel>\r\n <div className=\"ui-data\">\r\n <ElGridTop {...props} scope={scope}></ElGridTop>\r\n <ElGridFilter scope={scope}></ElGridFilter>\r\n <div className=\"ui-grid-data\">\r\n <table className=\"ui-grid ui-table\">\r\n <tbody>\r\n {items.map((row: any, i: number) => (\r\n <ElGridRow\r\n {...props}\r\n expansion={expansion}\r\n key={'r' + i}\r\n scope={scope}\r\n value={row}\r\n index={i}\r\n />\r\n ))}\r\n </tbody>\r\n </table>\r\n </div>\r\n </div>\r\n <ElGridBotom {...props} scope={scope} />\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport UIChildren from '../UIChildren';\r\nimport UI from '../UI';\r\n\r\nimport Ionicons from '@expo/vector-icons/Ionicons';\r\nimport { ChildType, CrudUtils, Utils } from 'react-crud-utils';\r\n\r\nexport default function ElTabs(props: ChildType) {\r\n let scope = props.scope;\r\n let [selectedIndex, setSelectedIndex]: any = useState(0);\r\n let element = scope.original;\r\n let items = scope.getItems();\r\n let counter = 0;\r\n\r\n let tabs: any = [];\r\n let [selected, setSelected]: any = useState(null);\r\n\r\n const onChangeTab = (tab: any, validate = true) => {\r\n if (tab) {\r\n scope.execute({\r\n event: {\r\n validate,\r\n validateScope: element.validateScope,\r\n action: () => {\r\n scope.changeValue(tab.data);\r\n\r\n selected = tab;\r\n selectedIndex = tab.index;\r\n\r\n setSelectedIndex(selectedIndex);\r\n setSelected(tab);\r\n },\r\n },\r\n });\r\n }\r\n };\r\n\r\n const getStyleClass = (t: any) => {\r\n let s = 'ui-tabs-item ui-click';\r\n\r\n if (selected?.index === t.index) {\r\n s = s + ' ui-tab-selected';\r\n }\r\n return s;\r\n };\r\n\r\n const addTab = (child: any, item: any) => {\r\n let original = { ...child.props };\r\n\r\n if (!item) {\r\n item = scope.crud.data;\r\n }\r\n\r\n let crudTab = CrudUtils.create('tabs', {\r\n data: item,\r\n changed: item,\r\n parent: scope.crud,\r\n });\r\n\r\n let element = Utils.resolve(original, crudTab);\r\n\r\n if (element.rendered === false) {\r\n return;\r\n }\r\n\r\n tabs.push({\r\n ...element,\r\n child,\r\n element,\r\n original,\r\n index: counter++,\r\n data: item,\r\n });\r\n };\r\n\r\n React.Children.map(props.children, (child, index) => {\r\n if (Utils.isEmpty(items)) {\r\n addTab(child, {});\r\n } else {\r\n for (const i in items) {\r\n let o = items[i];\r\n\r\n addTab(child, o);\r\n }\r\n }\r\n });\r\n\r\n if (!selected) {\r\n onChangeTab(tabs[selectedIndex], false);\r\n }\r\n\r\n const nav = (i: any) => {\r\n let t = tabs[selectedIndex + i];\r\n\r\n onChangeTab(t);\r\n };\r\n\r\n const previous = () => {\r\n nav(-1);\r\n };\r\n\r\n const next = () => {\r\n nav(1);\r\n };\r\n\r\n let isStepper = element.layout === 'stepper';\r\n\r\n return (\r\n <div\r\n className={scope.getStyleClass('inner')}\r\n style={scope.getStyle('inner')}\r\n >\r\n <div className=\"ui-tabs-content\">\r\n <div className=\"ui-tabs-items\">\r\n {tabs.map((t: any, i: number) => (\r\n <div\r\n key={Utils.key(element.id, 'tab', i)}\r\n className={getStyleClass(t)}\r\n onClick={() => {\r\n onChangeTab(t);\r\n }}\r\n >\r\n {isStepper && <div className=\"ui-tab-item-divisor\" />}\r\n <div className=\"ui-tab-item-inner\">\r\n {isStepper && <div className=\"ui-step-line\" />}\r\n <div className=\"ui-tab-item-label\">\r\n {isStepper ? t.index + 1 : t.label}\r\n </div>\r\n </div>\r\n </div>\r\n ))}\r\n </div>\r\n {selected && (\r\n <>\r\n {isStepper && <div className=\"ui-tabs-label\">{selected.label}</div>}\r\n <div className=\"ui-tabs-area\">\r\n <UIChildren {...props} scope={scope}>\r\n {selected.child}\r\n </UIChildren>\r\n </div>\r\n {element.layout === 'stepper' && (\r\n <div className=\"ui-tabs-actions\">\r\n <UI.Output space={6} layout=\"left\">\r\n <UI.Include\r\n {...props}\r\n transient\r\n name=\"left\"\r\n default={\r\n <UI.Button\r\n rendered={selectedIndex > 0}\r\n icon={<Ionicons />}\r\n click={previous}\r\n />\r\n }\r\n />\r\n </UI.Output>\r\n <UI.Output space={6} layout=\"right\">\r\n <UI.Include\r\n {...props}\r\n transient\r\n name=\"right\"\r\n default={\r\n <UI.Button\r\n rendered={selectedIndex < tabs.length - 1}\r\n icon={<Ionicons />}\r\n click={next}\r\n />\r\n }\r\n />\r\n </UI.Output>\r\n </div>\r\n )}\r\n </>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { ChildType, Scope, Utils } from \"react-crud-utils\";\r\n\r\nexport default function ElChart(props: ChildType) {\r\n let scope: Scope = props.scope;\r\n let items: any = scope.getItems();\r\n let columns = Utils.asList(scope.original.columns);\r\n\r\n return <div className=\"ui-chart-data\"></div>;\r\n}\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function AutoComplete(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { ChildType } from 'react-crud-utils';\r\nimport AutoComplete from './core/AutoComplete';\r\n\r\nexport default function UIComplete({\r\n defaultsInput,\r\n defaultsUI,\r\n scope,\r\n}: ChildType) {\r\n return (\r\n <>\r\n <AutoComplete {...defaultsInput} {...defaultsUI} />\r\n </>\r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport UIChildren from \"../UIChildren\";\r\nimport { CrudUtils, RowType, Scope } from \"react-crud-utils\";\r\n\r\nexport default function ElRepeatRow(props: RowType) {\r\n let value = props.value;\r\n let scope = props.scope;\r\n let index = props.index;\r\n\r\n let row = CrudUtils.create(\"row\", {\r\n index,\r\n row: true,\r\n itemVar: scope.original.itemVar,\r\n parent: scope.crudSearch,\r\n data: value,\r\n });\r\n\r\n let [rowScope] = useState(new Scope(scope.original, scope, row));\r\n\r\n let getRowStyleClass = () => {\r\n let s = rowScope.getStyleClass(\"row\");\r\n\r\n s = s + \" ui-repeat-row-\";\r\n\r\n if (index % 2 == 0) {\r\n s = s + \"even\";\r\n } else {\r\n s = s + \"odd\";\r\n }\r\n return s;\r\n };\r\n\r\n return (\r\n <div className={getRowStyleClass()} style={rowScope.getStyle(\"row\")}>\r\n <UIChildren transient {...props} crud={row}>\r\n {props.children}\r\n </UIChildren>\r\n </div>\r\n );\r\n}\r\n","import ElRepeatRow from './ElRepeatRow';\r\nimport { ChildType, Scope } from 'react-crud-utils';\r\n\r\nexport default function ElRepeat(props: ChildType) {\r\n let scope: Scope = props.scope;\r\n let items: any = scope.getItems();\r\n\r\n return (\r\n <div\r\n className={scope.getStyleClass('inner')}\r\n style={scope.getStyle('inner')}\r\n >\r\n {items.map((row: any, i: number) => (\r\n <ElRepeatRow\r\n {...props}\r\n key={'r' + i}\r\n scope={scope}\r\n value={row}\r\n index={i}\r\n />\r\n ))}\r\n </div>\r\n );\r\n}\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Link(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { Ionicons } from '@expo/vector-icons';\r\nimport { ChildType } from 'react-crud-utils';\r\nimport { Text, TouchableHighlight, View } from 'react-native';\r\n\r\nexport default function Button(props: ChildType) {\r\n let scope = props.scope;\r\n let element = scope.original;\r\n\r\n let color = element.color;\r\n let label = element.label;\r\n let icon = element.icon;\r\n\r\n if (!color) color = '#55a46f';\r\n\r\n const styles: any = {\r\n text: {\r\n color: '#ffffff',\r\n lineHeight: 30,\r\n fontWeight: '500',\r\n textAlign: 'center',\r\n ...element.textStyle,\r\n },\r\n inner: {\r\n flex: 1,\r\n flexDirection: 'row',\r\n flexWrap: 'wrap',\r\n textAlign: 'center',\r\n alignItems: 'center',\r\n margin: 'auto',\r\n ...element.textStyle,\r\n },\r\n icon: {\r\n color: '#fff',\r\n fontSize: 18,\r\n paddingRight: 10,\r\n },\r\n button: {\r\n padding: 5,\r\n alignItems: 'center',\r\n paddingLeft: 10,\r\n paddingRight: 10,\r\n minWidth: 200,\r\n margin: 5,\r\n textAlign: 'center',\r\n verticalAling: 'middle',\r\n lineHeight: 30,\r\n borderRadius: 20,\r\n backgroundColor: color,\r\n color: '#ffffff',\r\n ...element.buttonStyle,\r\n },\r\n };\r\n\r\n const onClick = (e: any) => {\r\n if (typeof element.click === 'function') {\r\n element.click(e);\r\n }\r\n };\r\n\r\n return (\r\n <TouchableHighlight\r\n underlayColor={'transparent'}\r\n onPress={onClick}\r\n style={styles.button}\r\n >\r\n <View style={styles.inner}>\r\n {icon && (\r\n <>\r\n <Ionicons size={30} style={styles.icon} name={icon} />\r\n </>\r\n )}\r\n <Text style={styles.text}>{label}</Text>\r\n </View>\r\n </TouchableHighlight>\r\n );\r\n}\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Select(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Switch(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Option(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Radio(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { useState } from 'react';\r\nimport { ChildType, Utils } from 'react-crud-utils';\r\nimport { StyleSheet, TextInput } from 'react-native';\r\n\r\nexport default function Input(props: ChildType) {\r\n let scope = props.scope;\r\n let initial = Utils.nvl(scope.getValue(), '');\r\n\r\n let label = scope.getLabel();\r\n let placeholder = scope.getPart('placeholder', null, label);\r\n\r\n const [value, setValue] = useState(initial);\r\n\r\n let onChange = v => {\r\n scope.changeValue(v);\r\n\r\n setValue(v);\r\n };\r\n\r\n return (\r\n <TextInput\r\n style={styles.input}\r\n onChangeText={onChange}\r\n value={value}\r\n placeholder={placeholder}\r\n />\r\n );\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n input: {\r\n borderRadius: 20,\r\n padding: 10,\r\n paddingLeft: 20,\r\n paddingRight: 20,\r\n height: 40,\r\n borderWidth: 1,\r\n width: '100%',\r\n },\r\n});\r\n","import React, { useEffect, useLayoutEffect, useRef, useState } from 'react';\r\nimport ElGrid from './grid/ElGrid';\r\nimport UIChildren from './UIChildren';\r\nimport ElTabs from './tabs/ElTabs';\r\nimport ElLabel from './grid/ElLabel';\r\nimport ElChart from './charts/ElChart';\r\nimport UIComplete from './UIComplete';\r\nimport ElRepeat from './grid/ElRepeat';\r\nimport {\r\n Crud,\r\n HtmlUtils,\r\n ScopeUtils,\r\n Utils,\r\n ElementType,\r\n} from 'react-crud-utils';\r\nimport Link from './core/Link';\r\nimport Icon from './core/Icon';\r\nimport Button from './core/Button';\r\nimport Select from './core/Select';\r\nimport Switch from './core/Switch';\r\nimport Option from './core/Option';\r\nimport Radio from './core/Radio';\r\nimport Input from './core/Input';\r\nimport { Image, Linking, StyleSheet, Text, View } from 'react-native';\r\n\r\nexport default function UIElement(props: ElementType) {\r\n let [scope] = useState(ScopeUtils.create(props));\r\n let [index, setIndex] = useState(0);\r\n let [error, setError]: string | any = useState(null);\r\n let options: any = scope.getOptions();\r\n let crud: Crud = Utils.nvl(props.crud, scope.crud);\r\n let original = scope.original;\r\n let type = original.type;\r\n let ref = useRef(null);\r\n\r\n scope.update = () => {\r\n setIndex(++index);\r\n };\r\n\r\n let router: any = {\r\n list: ElGrid,\r\n grid: ElGrid,\r\n label: ElLabel,\r\n repeat: ElRepeat,\r\n tabs: ElTabs,\r\n chart: ElChart,\r\n };\r\n\r\n let CurrentRouter = () => {\r\n if (router[type]) {\r\n let Aux = router[type];\r\n\r\n return <Aux crud={crud} {...props} scope={scope} />;\r\n }\r\n return <></>;\r\n };\r\n\r\n const Custom = () => {\r\n let c: any = original.custom;\r\n\r\n if (c) {\r\n if (typeof c === 'string') {\r\n return (\r\n <UIElement\r\n element={{ value: c, type: 'dummy' }}\r\n crud={crud}\r\n ></UIElement>\r\n );\r\n }\r\n\r\n return (\r\n <UIElement\r\n type={c.type}\r\n tag={c.type}\r\n {...c.props}\r\n crud={crud}\r\n ></UIElement>\r\n );\r\n }\r\n\r\n return <></>;\r\n };\r\n\r\n if (scope.is('type', 'dummy')) {\r\n return <>{scope.getDisplayValue()}</>;\r\n }\r\n\r\n let onCheck = () => {\r\n let v = scope.getValue();\r\n let check = !(v === true);\r\n\r\n onChange({ target: { value: check } });\r\n };\r\n\r\n let onChange = (e: any) => {\r\n let val = e.target.value;\r\n\r\n if (scope.isType('integer', 'int', 'number')) {\r\n val = parseInt(val);\r\n } else if (scope.isType('decimal')) {\r\n val = parseFloat(val);\r\n }\r\n\r\n if (scope.isType('select', 'complete')) {\r\n val = scope.getSelectedItem(val);\r\n }\r\n\r\n scope.changeValue(val);\r\n scope.update();\r\n };\r\n\r\n let onClick = (e: any) => {\r\n scope.call('click');\r\n };\r\n\r\n let defaultsInput: any = {\r\n label: scope.getLabel(),\r\n value: scope.getValue(),\r\n onChange: onChange,\r\n };\r\n\r\n if (scope.isType('password')) {\r\n defaultsInput.type = 'password';\r\n }\r\n\r\n const getStyle = (part?: string) => {\r\n let key = Utils.nvl(part, 'root');\r\n let def = styles[key];\r\n\r\n return { ...def, ...scope.getStyle(part) };\r\n };\r\n\r\n let elStyle = getStyle('element');\r\n\r\n let defaultsUI: any = {\r\n required: scope.isRequired(),\r\n size: 'small',\r\n scope,\r\n crud,\r\n style: elStyle,\r\n placeholder: scope.attr('placeholder', 'Digite aqui'),\r\n };\r\n\r\n let isChecked = () => {\r\n let v = scope.getValue();\r\n\r\n return v === true;\r\n };\r\n\r\n let hasChildren = () => {\r\n if (scope.isInput()) {\r\n return false;\r\n }\r\n\r\n return !Utils.isEmpty(props.children) || !Utils.isEmpty(props.elements);\r\n };\r\n\r\n if (!scope.isRendered() || scope.is('type', 'define')) {\r\n return <></>;\r\n }\r\n\r\n scope.error = (msg: string) => {\r\n error = msg;\r\n setError(msg);\r\n };\r\n\r\n useEffect(() => {\r\n if (!scope.ready) {\r\n scope.ready = true;\r\n\r\n scope.call('load');\r\n\r\n if (scope.isType('list', 'repeat')) {\r\n scope.search();\r\n } else if (original.list) {\r\n scope.call('list');\r\n }\r\n scope.start();\r\n }\r\n });\r\n\r\n const CustomIcon = () => {\r\n if (typeof original.icon === 'string') {\r\n return <Icon>{scope.getIcon()}</Icon>;\r\n }\r\n return <>{original.icon}</>;\r\n };\r\n\r\n const getLabelClass = (type: string) => {\r\n let clss = `ui-text ui-${type}-text`;\r\n let icon = scope.getIcon();\r\n\r\n if (icon) {\r\n clss = clss + ` ui-icon ui-${type}-icon`;\r\n }\r\n return clss;\r\n };\r\n\r\n let hasCustomRoute = () => {\r\n if (router[type]) return true;\r\n return false;\r\n };\r\n\r\n scope.open = (args: any) => {\r\n Linking.openURL(args.url);\r\n };\r\n\r\n if (scope.isType('dialog')) {\r\n let name = original.name;\r\n\r\n if (!crud.dialogs[name]) {\r\n let dlg: any = { config: { ...original } };\r\n\r\n dlg.component = (args: any) => {\r\n return <UIChildren {...props} scope={scope} crud={crud} />;\r\n };\r\n\r\n crud.dialogs[name] = dlg;\r\n }\r\n return <></>;\r\n }\r\n\r\n useLayoutEffect(() => {\r\n if (ref?.current && scope.is('type', 'card', 'list', 'tabs', 'stepper')) {\r\n let el: any = ref?.current;\r\n\r\n if (el) {\r\n let bg = HtmlUtils.getBGColor(el);\r\n\r\n if (bg === 'rgb(255, 255, 255)') {\r\n el.classList.add('ui-dark');\r\n } else {\r\n el.classList.add('ui-light');\r\n }\r\n }\r\n }\r\n });\r\n\r\n const isShowLabel = () => {\r\n if (typeof original.label !== 'undefined') {\r\n console.log(original.label);\r\n return true;\r\n }\r\n\r\n return false;\r\n };\r\n\r\n const isShowInner = () => {\r\n if (hasChildren() || hasCustomRoute()) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n return (\r\n <>\r\n <View ref={ref} style={getStyle()}>\r\n <>\r\n {isShowLabel() && (\r\n <Text style={getStyle('label')}>{scope.getLabel()}</Text>\r\n )}\r\n {isShowInner() && (\r\n <>\r\n <View style={getStyle('inner')}>\r\n {scope.is('type', 'button') && (\r\n <Button\r\n {...defaultsUI}\r\n onClick={onClick}\r\n variant={scope.attr('variant', 'outlined')}\r\n >\r\n {original.icon && <CustomIcon />}\r\n {original.label && (\r\n <Text style={scope.getPart('label', 'button')}>\r\n {scope.getLabel()}\r\n </Text>\r\n )}\r\n </Button>\r\n )}\r\n {scope.is('type', 'icon') && (\r\n <Icon\r\n {...defaultsUI}\r\n onClick={onClick}\r\n variant={scope.attr('variant', 'outlined')}\r\n >\r\n {scope.getDisplayValue()}\r\n </Icon>\r\n )}\r\n {scope.is('type', 'link') && (\r\n <Link\r\n {...defaultsUI}\r\n onClick={onClick}\r\n variant={scope.attr('variant', 'outlined')}\r\n >\r\n {original.icon && <CustomIcon />}\r\n {original.label && (\r\n <Text style={scope.getPart('label', 'link')}>\r\n {scope.getLabel()}\r\n </Text>\r\n )}\r\n </Link>\r\n )}\r\n {scope.is(\r\n 'type',\r\n 'text',\r\n 'number',\r\n 'phone',\r\n 'postalCode',\r\n 'money',\r\n 'password',\r\n 'email'\r\n ) && (\r\n <Input\r\n {...defaultsInput}\r\n {...defaultsUI}\r\n InputProps={{ ...original.inputProps }}\r\n />\r\n )}\r\n {scope.is('type', 'complete', 'autocomplete') && (\r\n <UIComplete\r\n scope={scope}\r\n defaultsInput={defaultsInput}\r\n defaultsUI={defaultsUI}\r\n />\r\n )}\r\n {scope.is('type', 'checkbox', 'boolean', 'switch') && (\r\n <Switch\r\n checked={isChecked()}\r\n {...defaultsInput}\r\n onChange={onCheck}\r\n />\r\n )}\r\n {scope.is('type', 'select') && (\r\n <Select\r\n {...defaultsInput}\r\n {...defaultsUI}\r\n value={scope.getSelectedValue()}\r\n >\r\n <Option value={''}>Selecione</Option>\r\n {options.map((row: any, i: number) => (\r\n <Option key={'i' + i} value={row.value}>\r\n {row.label}\r\n </Option>\r\n ))}\r\n </Select>\r\n )}\r\n {scope.is('type', 'radio') && (\r\n <Radio {...defaultsInput} {...defaultsUI} row>\r\n {options.map((row: any, i: number) => (\r\n <Option\r\n key={'i' + i}\r\n control={<Radio {...defaultsUI} />}\r\n label={row.label}\r\n value={row.value}\r\n />\r\n ))}\r\n </Radio>\r\n )}\r\n {scope.is('type', 'custom') && <Custom />}\r\n {scope.is('type', 'column') && (\r\n <>\r\n {scope.is('format', 'img') && (\r\n <Image source={scope.getDisplayValue()} />\r\n )}\r\n {scope.is('format', 'icon') && (\r\n <Icon className={scope.getDisplayValue()} />\r\n )}\r\n {!scope.is('format', 'icon', 'img') && (\r\n <Text>{scope.getDisplayValue()}</Text>\r\n )}\r\n </>\r\n )}\r\n {scope.is('type', 'output') && (\r\n <Text>{scope.getDisplayValue()}</Text>\r\n )}\r\n </View>\r\n {error && <View style={getStyle('error')}>{error}</View>}\r\n </>\r\n )}\r\n <CurrentRouter />\r\n {!scope.is('type', 'tabs', 'grid', 'list', 'define', 'repeat') && (\r\n <UIChildren {...props} scope={scope} crud={crud} />\r\n )}\r\n </>\r\n </View>\r\n </>\r\n );\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n root: {\r\n flex: 1,\r\n gap: 10,\r\n flexDirection: 'column',\r\n flexWrap: 'wrap',\r\n width: '100%',\r\n alignItems: 'flex-start',\r\n },\r\n label: { width: '100%', fontWeight: 600 },\r\n inner: { width: '100%' },\r\n});\r\n","import UIChildren from \"../UIChildren\";\r\nimport { ComponentUtils, DefineType, Utils } from \"react-crud-utils\";\r\n\r\nexport default function ElInclude(props: DefineType) {\r\n if (props.rendered === false) {\r\n return <></>;\r\n }\r\n\r\n let includes = ComponentUtils.getDefine(props, props.name, props.position);\r\n\r\n if (Utils.isEmpty(includes)) {\r\n includes = props.default;\r\n }\r\n\r\n if (!Utils.isEmpty(includes)) {\r\n let Aux = (tagProp: any) => {\r\n let Tag: any = props.tag;\r\n\r\n if (!Utils.isEmpty(Tag)) {\r\n return <Tag {...tagProp}>{tagProp.children}</Tag>;\r\n }\r\n return <>{tagProp.children}</>;\r\n };\r\n\r\n return (\r\n <Aux {...props.tagProps}>\r\n <UIChildren\r\n transient\r\n {...props}\r\n scope={props.scope}\r\n crud={props.crud}\r\n part={props.name}\r\n >\r\n {includes}\r\n </UIChildren>\r\n </Aux>\r\n );\r\n }\r\n return <>{includes}</>;\r\n}\r\n","import { ListType } from \"react-crud-utils\";\r\nimport { UserType } from \"react-crud-utils\";\r\nimport { InputType } from \"react-crud-utils\";\r\nimport { ChartType } from \"react-crud-utils\";\r\nimport { ContainerType } from \"react-crud-utils\";\r\nimport { ListInputType } from \"react-crud-utils\";\r\nimport UIElement from \"./UIElement\";\r\nimport { TabsType } from \"react-crud-utils\";\r\nimport { DefineType } from \"react-crud-utils\";\r\nimport ElInclude from \"./grid/ElInclude\";\r\nimport { ButtonType } from \"react-crud-utils\";\r\nimport { LinkType } from \"react-crud-utils\";\r\n\r\nconst UI = {\r\n Grid: (props: ListType) => <UIElement {...props} type=\"list\" />,\r\n Repeat: (props: ListType) => <UIElement {...props} type=\"repeat\" />,\r\n Define: (props: DefineType) => <UIElement {...props} type=\"define\" />,\r\n Include: (props: DefineType) => <ElInclude {...props} />,\r\n Column: ({ type = \"column\", ...props }: UserType) => (\r\n <UIElement {...props} type=\"column\" />\r\n ),\r\n Input: (props: InputType) => <UIElement {...props} />,\r\n Text: (props: InputType) => <UIElement {...props} type=\"text\" />,\r\n Email: (props: InputType) => <UIElement {...props} type=\"email\" />,\r\n Button: (props: ButtonType) => <UIElement {...props} type=\"button\" />,\r\n Link: (props: LinkType) => <UIElement {...props} type=\"link\" />,\r\n Icon: (props: ButtonType) => <UIElement {...props} type=\"icon\" />,\r\n Output: (props: ContainerType) => <UIElement {...props} type=\"output\" />,\r\n Form: (props: ContainerType) => <UIElement {...props} type=\"form\" />,\r\n Crud: (props: ContainerType) => <UIElement {...props} type=\"crud\" />,\r\n View: (props: ContainerType) => (\r\n <UIElement {...props} type=\"view\" transient />\r\n ),\r\n Bottom: (props: ContainerType) => <UIElement {...props} type=\"bottom\" />,\r\n Dialog: (props: ContainerType) => <UIElement {...props} type=\"dialog\" />,\r\n Content: (props: ContainerType) => <UIElement {...props} type=\"content\" />,\r\n Top: (props: ContainerType) => <UIElement {...props} type=\"top\" />,\r\n Card: (props: ContainerType) => <UIElement {...props} type=\"card\" />,\r\n Tab: (props: ContainerType) => <UIElement {...props} type=\"tab\" />,\r\n Tabs: (props: TabsType) => <UIElement {...props} type=\"tabs\" />,\r\n Step: (props: ContainerType) => (\r\n <UIElement {...props} type=\"tab\" layout=\"step\" />\r\n ),\r\n Stepper: (props: TabsType) => (\r\n <UIElement {...props} type=\"tabs\" layout=\"stepper\" />\r\n ),\r\n Money: (props: InputType) => <UIElement {...props} type=\"money\" />,\r\n Chart: (props: ChartType) => <UIElement {...props} type=\"chart\" />,\r\n Password: (props: InputType) => <UIElement {...props} type=\"password\" />,\r\n Complete: (props: InputType) => <UIElement {...props} type=\"complete\" />,\r\n Checkbox: (props: InputType) => <UIElement {...props} type=\"checkbox\" />,\r\n Radio: (props: ListInputType) => <UIElement {...props} type=\"radio\" />,\r\n Select: (props: ListInputType) => <UIElement {...props} type=\"select\" />,\r\n Entity: (props: ListInputType) => <UIElement {...props} type=\"entity\" />,\r\n Element: (props: ListInputType) => <UIElement {...props} type=\"element\" />,\r\n};\r\nexport default UI;\r\n"],"names":["UIChildren","props","scope","useState","Utils","nvl","ScopeUtils","create","crud","validateScope","name","part","isInput","_jsx","_Fragment","Paint","_ref","child","children","Custom","type","pps","_extends","isEmpty","transient","parent","Draw","elements","Object","entries","map","t","k","UIElement","React","Children","console","log","View","style","getStyle","ElGridColumn","col","_props$column","column","colScope","Scope","className","styleClass","getStyleClass","colSpan","colspan","ElGridCheck","cs","value","rowIndex","original","_useState","index","setIndex","key","UI","Button","icon","crudSearch","selecteds","itemValue","Ionicons","click","action","ElGridRow","expansion","row","CrudUtils","itemVar","data","expanded","setExpanded","rowScope","getRowStyleClass","s","cols","ComponentUtils","getChild","length","ExpansionStatus","_jsxs","hasExpansion","multiple","i","ElGridPaginator","next","previous","first","size","last","position","sizes","defaults","owner","variant","attr","paginatorPosition","field","space","rendered","Select","default","change","ElGridTop","Output","Include","Text","label","placeholder","Define","ElGridFilter","ElGridBotom","Icon","TouchableOpacity","onPress","Linking","openURL","styles","link","ElLabel","elPos","labelPos","lbPos","CustomIcon","is","getIcon","getLabel","ElGrid","items","getItems","getDefine","_createElement","ElTabs","selectedIndex","setSelectedIndex","element","counter","tabs","_useState2","selected","setSelected","onChangeTab","tab","validate","execute","event","changeValue","_selected","addTab","item","crudTab","changed","resolve","push","nav","isStepper","layout","onClick","id","ElChart","asList","columns","AutoComplete","UIComplete","defaultsInput","defaultsUI","ElRepeatRow","ElRepeat","Link","color","text","lineHeight","fontWeight","textAlign","textStyle","inner","flex","flexDirection","flexWrap","alignItems","margin","fontSize","paddingRight","button","padding","paddingLeft","minWidth","verticalAling","borderRadius","backgroundColor","buttonStyle","TouchableHighlight","underlayColor","e","Switch","Option","Radio","Input","initial","getValue","getPart","setValue","TextInput","input","onChangeText","v","StyleSheet","height","borderWidth","width","_useState3","error","setError","options","getOptions","ref","useRef","update","router","list","grid","repeat","chart","CurrentRouter","c","custom","tag","getDisplayValue","onChange","val","target","isType","parseInt","parseFloat","getSelectedItem","call","elStyle","required","isRequired","isRendered","msg","useEffect","ready","search","start","open","args","url","dialogs","dlg","config","useLayoutEffect","current","el","bg","HtmlUtils","getBGColor","classList","add","InputProps","inputProps","checked","getSelectedValue","control","Image","source","root","gap","ElInclude","includes","tagProp","Tag","tagProps","Grid","Repeat","Column","_objectWithoutPropertiesLoose","_excluded","Email","Form","Crud","Bottom","Dialog","Content","Top","Card","Tab","Tabs","Step","Stepper","Money","Chart","Password","Complete","Checkbox","Entity","Element"],"mappings":"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"}
@@ -102,12 +102,12 @@ function UIChildren(props) {
102
102
  if (Utils.isEmpty(props.children) && Utils.isEmpty(props.elements)) {
103
103
  return /*#__PURE__*/jsx(Fragment, {});
104
104
  }
105
+ console.log(name);
105
106
  return /*#__PURE__*/jsx(Fragment, {
106
- children: /*#__PURE__*/jsx(View, _extends({
107
- style: scope.getStyle(name)
108
- }, props.childProps, {
107
+ children: /*#__PURE__*/jsx(View, {
108
+ style: scope.getStyle(name),
109
109
  children: /*#__PURE__*/jsx(Draw, {})
110
- }))
110
+ })
111
111
  });
112
112
  }
113
113