react-crud-mobile 1.0.78 → 1.0.80

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),d=i.Utils.nvl(e.validateScope,"global"),p=i.Utils.nvl(e.part,"child");if(l.isInput())return s.jsx(s.Fragment,{});var x,f,j=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:d},t.props,{scope:l,crud:a}))})):"function"==typeof n?s.jsx(n,c({validateScope:d},t.props,{parent:l,crud:a})):i.Utils.isEmpty(t.props.children)?s.jsx(s.Fragment,{}):s.jsx(o,c({validateScope:d},t.props,{scope:l,crud:a,transient:!0}))},h=function(){return s.jsx(s.Fragment,e.elements?{children:Object.entries(e.elements).map((function(e,t){return s.jsx(A,c({crud:a},e[1]))}))}:{children:n.Children.map(e.children,(function(e){return s.jsx(j,{child:e})}))})};return e.transient?s.jsx(h,{}):i.Utils.isEmpty(e.children)&&i.Utils.isEmpty(e.elements)?s.jsx(s.Fragment,{}):s.jsx(s.Fragment,{children:s.jsx(r.View,{style:(x=p,f=i.Utils.nvl(x,"root"),c({},u[f],l.getStyle(x))),children:s.jsx(h,{})})})}var u=r.StyleSheet.create({child:{width:"100%"},inner:{width:"100%"}});function d(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 p(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(_.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 x(e){var n=e.expansion,r=e.value,a=e.scope,u=e.index,x=a.original,f=i.CrudUtils.create("row",{index:u,row:!0,itemVar:a.original.itemVar,parent:a.crudSearch,data:r}),j=t.useState(!1),h=j[0],g=j[1],m=t.useState(new i.Scope(a.original,a,f))[0],v=function(){var e="ui-grid-row";return(e+=" ui-grid-row-")+(u%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(d,{scope:m,styleClass:"ui-click ui-icon-only ui-expansion",children:s.jsx(_.Button,{icon:s.jsx(S,{}),click:function(){g(!h)}})},"r"+u+"e"),U&&s.jsx(d,{scope:m,styleClass:"ui-click ui-icon-only ui-multiple",children:s.jsx(p,{scope:a,value:r,rowIndex:u},"check-"+u)},"r"+u+"c"),y.map((function(e,t){return s.jsx(d,{column:e,scope:m,children:e},"r"+u+"c"+t)}))]}),h&&s.jsx("tr",{className:v(),style:m.getStyle("row"),children:s.jsx(d,{scope:m,colspan:b,children:s.jsx(o,c({},e,{crud:f,children:n}))},"r"+u+"-expanded")})]})}function f(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],f={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(_.Button,c({field:"first",space:0,rendered:!1!==o},f,{click:"first",icon:s.jsx(l,{})})),s.jsx(_.Button,c({field:"previous",space:0,rendered:!1!==a,click:"previous"},f,{icon:s.jsx(l,{})})),s.jsx(_.Select,c({field:"size",space:0,rendered:!1!==u,default:10},f,{data:x,change:"search"})),s.jsx(_.Button,c({field:"next",space:0,rendered:!1!==r},f,{click:"next",icon:s.jsx(l,{})})),s.jsx(_.Button,c({field:"last",space:0,rendered:!1!==d},f,{click:"last",icon:s.jsx(l,{})}))]})}function j(e){var t=e.scope;return s.jsx(s.Fragment,{children:s.jsxs(_.Output,{styleClass:"ui-grid-top",children:[s.jsxs(_.Output,{field:"search",position:"left",space:4,children:[s.jsx(_.Include,c({},e,{transient:!0,name:"top",position:"left"})),s.jsx(_.Text,{field:"query",space:0,label:"Pesquisar",placeholder:t.attr("placeholder","Pesquisar"),children:s.jsx(_.Define,{name:"right",children:s.jsx(_.Button,{field:"search",icon:s.jsx(l,{}),space:0,variant:"text",owner:t,click:"search"})})})]}),s.jsxs(_.Output,{position:"right",space:8,children:[s.jsx(_.Include,c({},e,{transient:!0,name:"top",position:"right"})),s.jsx(f,{scope:t,last:!1,first:!1,position:"top"})]})]})})}function h(e){return s.jsx(s.Fragment,{})}function g(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(_.Include,c({},e,{transient:!0,name:"bottomLeft"})),s.jsx(f,{scope:t,position:"bottom",children:n}),s.jsx(_.Include,c({},e,{transient:!0,name:"bottomRight"}))]})})}function m(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 y(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(m,{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(_.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(_.Include,c({},e,{transient:!0,name:"label",position:"right"}))})]})}function b(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(y,c({},e,{scope:n,position:"outside"})),s.jsxs("div",{className:n.getStyleClass("child"),style:n.getStyle("child"),children:[s.jsx(y,c({},e,{scope:n,position:"inside"})),s.jsxs("div",{className:"ui-data",children:[s.jsx(j,c({},e,{scope:n})),s.jsx(h,{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(x,c({},e,{expansion:l,key:"r"+r,scope:n,value:i,index:r}))}))})})})]}),s.jsx(g,c({},e,{scope:n}))]})]})}function S(e){var r=e.scope,a=t.useState(0),u=a[0],d=a[1],p=r.original,x=r.getItems(),f=0,j=[],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&&j.push(c({},l,{child:e,element:l,original:n,index:f++,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(j[u],!1);var S=function(e){v(j[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:j.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(_.Output,{space:6,layout:"left",children:s.jsx(_.Include,c({},e,{transient:!0,name:"left",default:s.jsx(_.Button,{rendered:u>0,icon:s.jsx(l,{}),click:function(){S(-1)}})}))}),s.jsx(_.Output,{space:6,layout:"right",children:s.jsx(_.Include,c({},e,{transient:!0,name:"right",default:s.jsx(_.Button,{rendered:u<j.length-1,icon:s.jsx(l,{}),click:function(){S(1)}})}))})]})]})]})})}function k(e){var t=e.scope;return t.getItems(),i.Utils.asList(t.original.columns),s.jsx("div",{className:"ui-chart-data"})}function U(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:C.link,children:"Clique aqui para acessar o React Native"})})}var C={link:{}};function w(e){return s.jsx(s.Fragment,{children:s.jsx(U,c({},e.defaultsInput,e.defaultsUI))})}function N(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 I(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(N,c({},e,{key:"r"+r,scope:n,value:i,index:r}))}))})}function T(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:F.link,children:"Clique aqui para acessar o React Native"})})}var F={link:{}};function L(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 q(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:R.link,children:"Clique aqui para acessar o React Native"})})}var R={link:{}};function V(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:P.link,children:"Clique aqui para acessar o React Native"})})}var P={link:{}};function O(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:E.link,children:"Clique aqui para acessar o React Native"})})}var E={link:{}};function D(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:B.link,children:"Clique aqui para acessar o React Native"})})}var B={link:{}};function W(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:z.input,onChangeText:function(e){n.changeValue(e),u(e)},value:o[0],placeholder:c})}var z=r.StyleSheet.create({input:{borderRadius:20,padding:10,paddingLeft:20,paddingRight:20,height:40,borderWidth:1,width:"100%"}});function A(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],f=n.getOptions(),j=i.Utils.nvl(e.crud,n.crud),h=n.original,g=h.type,v=t.useRef(null);n.update=function(){u(++a)};var U={list:b,grid:b,label:y,repeat:I,tabs:S,chart:k},C=function(){return U[g]?s.jsx(U[g],c({crud:j},e,{scope:n})):s.jsx(s.Fragment,{})},N=function(){var e=h.custom;return e?s.jsx(A,"string"==typeof e?{element:{value:e,type:"dummy"},crud:j}:c({type:e.type,tag:e.type},e.props,{crud:j})):s.jsx(s.Fragment,{})};if(n.is("type","dummy"))return s.jsx(s.Fragment,{children:n.getDisplayValue()});var F=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()},R=function(e){n.call("click")},P={label:n.getLabel(),value:n.getValue(),onChange:F};n.isType("password")&&(P.type="password");var E=function(e){var t=i.Utils.nvl(e,"root"),r=H[t];return e||G()||(r=c({},r,{flex:1})),c({},r,n.getStyle(e))},B=E("element"),z={required:n.isRequired(),size:"small",scope:n,crud:j,style:B,placeholder:n.attr("placeholder","Digite aqui")},G=function(){return!(n.isInput()||i.Utils.isEmpty(e.children)&&i.Utils.isEmpty(e.elements))};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 M=function(){return"string"==typeof h.icon?s.jsx(m,{children:n.getIcon()}):s.jsx(s.Fragment,{children:h.icon})};if(n.open=function(e){r.Linking.openURL(e.url)},n.isType("dialog")){var _=h.name;if(!j.dialogs[_]){var J={config:c({},h),component:function(t){return s.jsx(o,c({},e,{scope:n,crud:j}))}};j.dialogs[_]=J}return s.jsx(s.Fragment,{})}return t.useLayoutEffect((function(){if(null!=v&&v.current&&n.is("type","card","list","tabs","stepper")){var e=null==v?void 0:v.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:v,style:E(),children:s.jsxs(s.Fragment,{children:[void 0!==h.label&&(console.log(h.label),!0)&&s.jsx(r.Text,{style:E("label"),children:n.getLabel()}),!G()&&!U[g]&&s.jsxs(s.Fragment,{children:[s.jsxs(r.View,{style:E("inner"),children:[n.is("type","button")&&s.jsxs(L,c({},z,{onClick:R,variant:n.attr("variant","outlined"),children:[h.icon&&s.jsx(M,{}),h.label&&s.jsx(r.Text,{style:n.getPart("label","button"),children:n.getLabel()})]})),n.is("type","icon")&&s.jsx(m,c({},z,{onClick:R,variant:n.attr("variant","outlined"),children:n.getDisplayValue()})),n.is("type","link")&&s.jsxs(T,c({},z,{onClick:R,variant:n.attr("variant","outlined"),children:[h.icon&&s.jsx(M,{}),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(W,c({},P,z,{InputProps:c({},h.inputProps)})),n.is("type","complete","autocomplete")&&s.jsx(w,{scope:n,defaultsInput:P,defaultsUI:z}),n.is("type","checkbox","boolean","switch")&&s.jsx(V,c({checked:!0===n.getValue()},P,{onChange:function(){var e=n.getValue();F({target:{value:!(!0===e)}})}})),n.is("type","select")&&s.jsxs(q,c({},P,z,{value:n.getSelectedValue(),children:[s.jsx(O,{value:"",children:"Selecione"}),f.map((function(e,t){return s.jsx(O,{value:e.value,children:e.label},"i"+t)}))]})),n.is("type","radio")&&s.jsx(D,c({},P,z,{row:!0,children:f.map((function(e,t){return s.jsx(O,{control:s.jsx(D,c({},z)),label:e.label,value:e.value},"i"+t)}))})),n.is("type","custom")&&s.jsx(N,{}),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(m,{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:E("error"),children:p})]}),s.jsx(C,{}),!n.is("type","tabs","grid","list","define","repeat")&&s.jsx(o,c({},e,{scope:n,crud:j}))]})})})}var H=r.StyleSheet.create({root:{gap:10,flexDirection:"column",flexWrap:"wrap",width:"100%",alignItems:"flex-start"},label:{width:"100%",fontWeight:600},inner:{width:"100%"}});function G(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 M=["type"],_={Grid:function(e){return s.jsx(A,c({},e,{type:"list"}))},Repeat:function(e){return s.jsx(A,c({},e,{type:"repeat"}))},Define:function(e){return s.jsx(A,c({},e,{type:"define"}))},Include:function(e){return s.jsx(G,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,M);return s.jsx(A,c({},t,{type:"column"}))},Input:function(e){return s.jsx(A,c({},e))},Text:function(e){return s.jsx(A,c({},e,{type:"text"}))},Email:function(e){return s.jsx(A,c({},e,{type:"email"}))},Button:function(e){return s.jsx(A,c({},e,{type:"button"}))},Link:function(e){return s.jsx(A,c({},e,{type:"link"}))},Icon:function(e){return s.jsx(A,c({},e,{type:"icon"}))},Output:function(e){return s.jsx(A,c({},e,{type:"output"}))},Form:function(e){return s.jsx(A,c({},e,{type:"form"}))},Crud:function(e){return s.jsx(A,c({},e,{type:"crud"}))},View:function(e){return s.jsx(A,c({},e,{type:"view",transient:!0}))},Bottom:function(e){return s.jsx(A,c({},e,{type:"bottom"}))},Dialog:function(e){return s.jsx(A,c({},e,{type:"dialog"}))},Content:function(e){return s.jsx(A,c({},e,{type:"content"}))},Top:function(e){return s.jsx(A,c({},e,{type:"top"}))},Card:function(e){return s.jsx(A,c({},e,{type:"card"}))},Tab:function(e){return s.jsx(A,c({},e,{type:"tab"}))},Tabs:function(e){return s.jsx(A,c({},e,{type:"tabs"}))},Step:function(e){return s.jsx(A,c({},e,{type:"tab",layout:"step"}))},Stepper:function(e){return s.jsx(A,c({},e,{type:"tabs",layout:"stepper"}))},Money:function(e){return s.jsx(A,c({},e,{type:"money"}))},Chart:function(e){return s.jsx(A,c({},e,{type:"chart"}))},Password:function(e){return s.jsx(A,c({},e,{type:"password"}))},Complete:function(e){return s.jsx(A,c({},e,{type:"complete"}))},Checkbox:function(e){return s.jsx(A,c({},e,{type:"checkbox"}))},Radio:function(e){return s.jsx(A,c({},e,{type:"radio"}))},Select:function(e){return s.jsx(A,c({},e,{type:"select"}))},Entity:function(e){return s.jsx(A,c({},e,{type:"entity"}))},Element:function(e){return s.jsx(A,c({},e,{type:"element"}))}};exports.UI=_;
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),d=i.Utils.nvl(e.validateScope,"global"),p=i.Utils.nvl(e.part,"child");if(l.isInput())return s.jsx(s.Fragment,{});var x,f,j=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:d},t.props,{scope:l,crud:a}))})):"function"==typeof n?s.jsx(n,c({validateScope:d},t.props,{parent:l,crud:a})):i.Utils.isEmpty(t.props.children)?s.jsx(s.Fragment,{}):s.jsx(o,c({validateScope:d},t.props,{scope:l,crud:a,transient:!0}))},h=function(){return s.jsx(s.Fragment,e.elements?{children:Object.entries(e.elements).map((function(e,t){return s.jsx(A,c({crud:a},e[1]))}))}:{children:n.Children.map(e.children,(function(e){return s.jsx(j,{child:e})}))})};return e.transient?s.jsx(h,{}):i.Utils.isEmpty(e.children)&&i.Utils.isEmpty(e.elements)?s.jsx(s.Fragment,{}):s.jsx(s.Fragment,{children:s.jsx(r.View,{style:(x=p,f=i.Utils.nvl(x,"root"),c({},u[f],l.getStyle(x))),children:s.jsx(h,{})})})}var u=r.StyleSheet.create({child:{width:"100%"},inner:{width:"100%"}});function d(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 p(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(J.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 x(e){var n=e.expansion,r=e.value,a=e.scope,u=e.index,x=a.original,f=i.CrudUtils.create("row",{index:u,row:!0,itemVar:a.original.itemVar,parent:a.crudSearch,data:r}),j=t.useState(!1),h=j[0],g=j[1],m=t.useState(new i.Scope(a.original,a,f))[0],v=function(){var e="ui-grid-row";return(e+=" ui-grid-row-")+(u%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(d,{scope:m,styleClass:"ui-click ui-icon-only ui-expansion",children:s.jsx(J.Button,{icon:s.jsx(S,{}),click:function(){g(!h)}})},"r"+u+"e"),U&&s.jsx(d,{scope:m,styleClass:"ui-click ui-icon-only ui-multiple",children:s.jsx(p,{scope:a,value:r,rowIndex:u},"check-"+u)},"r"+u+"c"),y.map((function(e,t){return s.jsx(d,{column:e,scope:m,children:e},"r"+u+"c"+t)}))]}),h&&s.jsx("tr",{className:v(),style:m.getStyle("row"),children:s.jsx(d,{scope:m,colspan:b,children:s.jsx(o,c({},e,{crud:f,children:n}))},"r"+u+"-expanded")})]})}function f(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],f={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(J.Button,c({field:"first",space:0,rendered:!1!==o},f,{click:"first",icon:s.jsx(l,{})})),s.jsx(J.Button,c({field:"previous",space:0,rendered:!1!==a,click:"previous"},f,{icon:s.jsx(l,{})})),s.jsx(J.Select,c({field:"size",space:0,rendered:!1!==u,default:10},f,{data:x,change:"search"})),s.jsx(J.Button,c({field:"next",space:0,rendered:!1!==r},f,{click:"next",icon:s.jsx(l,{})})),s.jsx(J.Button,c({field:"last",space:0,rendered:!1!==d},f,{click:"last",icon:s.jsx(l,{})}))]})}function j(e){var t=e.scope;return s.jsx(s.Fragment,{children:s.jsxs(J.Output,{styleClass:"ui-grid-top",children:[s.jsxs(J.Output,{field:"search",position:"left",space:4,children:[s.jsx(J.Include,c({},e,{transient:!0,name:"top",position:"left"})),s.jsx(J.Text,{field:"query",space:0,label:"Pesquisar",placeholder:t.attr("placeholder","Pesquisar"),children:s.jsx(J.Define,{name:"right",children:s.jsx(J.Button,{field:"search",icon:s.jsx(l,{}),space:0,variant:"text",owner:t,click:"search"})})})]}),s.jsxs(J.Output,{position:"right",space:8,children:[s.jsx(J.Include,c({},e,{transient:!0,name:"top",position:"right"})),s.jsx(f,{scope:t,last:!1,first:!1,position:"top"})]})]})})}function h(e){return s.jsx(s.Fragment,{})}function g(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(J.Include,c({},e,{transient:!0,name:"bottomLeft"})),s.jsx(f,{scope:t,position:"bottom",children:n}),s.jsx(J.Include,c({},e,{transient:!0,name:"bottomRight"}))]})})}function m(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 y(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(m,{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(J.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(J.Include,c({},e,{transient:!0,name:"label",position:"right"}))})]})}function b(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(y,c({},e,{scope:n,position:"outside"})),s.jsxs("div",{className:n.getStyleClass("child"),style:n.getStyle("child"),children:[s.jsx(y,c({},e,{scope:n,position:"inside"})),s.jsxs("div",{className:"ui-data",children:[s.jsx(j,c({},e,{scope:n})),s.jsx(h,{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(x,c({},e,{expansion:l,key:"r"+r,scope:n,value:i,index:r}))}))})})})]}),s.jsx(g,c({},e,{scope:n}))]})]})}function S(e){var r=e.scope,a=t.useState(0),u=a[0],d=a[1],p=r.original,x=r.getItems(),f=0,j=[],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&&j.push(c({},l,{child:e,element:l,original:n,index:f++,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(j[u],!1);var S=function(e){v(j[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:j.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(J.Output,{space:6,layout:"left",children:s.jsx(J.Include,c({},e,{transient:!0,name:"left",default:s.jsx(J.Button,{rendered:u>0,icon:s.jsx(l,{}),click:function(){S(-1)}})}))}),s.jsx(J.Output,{space:6,layout:"right",children:s.jsx(J.Include,c({},e,{transient:!0,name:"right",default:s.jsx(J.Button,{rendered:u<j.length-1,icon:s.jsx(l,{}),click:function(){S(1)}})}))})]})]})]})})}function k(e){var t=e.scope;return t.getItems(),i.Utils.asList(t.original.columns),s.jsx("div",{className:"ui-chart-data"})}function U(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:C.link,children:"Clique aqui para acessar o React Native"})})}var C={link:{}};function w(e){return s.jsx(s.Fragment,{children:s.jsx(U,c({},e.defaultsInput,e.defaultsUI))})}function N(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 I(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(N,c({},e,{key:"r"+r,scope:n,value:i,index:r}))}))})}function T(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:F.link,children:"Clique aqui para acessar o React Native"})})}var F={link:{}};function L(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 q(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:R.link,children:"Clique aqui para acessar o React Native"})})}var R={link:{}};function V(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:P.link,children:"Clique aqui para acessar o React Native"})})}var P={link:{}};function O(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:E.link,children:"Clique aqui para acessar o React Native"})})}var E={link:{}};function D(e){return s.jsx(r.TouchableOpacity,{onPress:function(){r.Linking.openURL("https://reactnative.dev/")},children:s.jsx(r.Text,{style:B.link,children:"Clique aqui para acessar o React Native"})})}var B={link:{}};function W(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:z.input,onChangeText:function(e){n.changeValue(e),u(e)},value:o[0],placeholder:c})}var z=r.StyleSheet.create({input:{borderRadius:20,padding:10,paddingLeft:20,paddingRight:20,height:40,borderWidth:1,width:"100%"}});function A(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],f=n.getOptions(),j=i.Utils.nvl(e.crud,n.crud),h=n.original,g=h.type,v=t.useRef(null);n.update=function(){u(++a)};var U={list:b,grid:b,label:y,repeat:I,tabs:S,chart:k},C=function(){return U[g]?s.jsx(U[g],c({crud:j},e,{scope:n})):s.jsx(s.Fragment,{})},N=function(){var e=h.custom;return e?s.jsx(A,"string"==typeof e?{element:{value:e,type:"dummy"},crud:j}:c({type:e.type,tag:e.type},e.props,{crud:j})):s.jsx(s.Fragment,{})};if(n.is("type","dummy"))return s.jsx(s.Fragment,{children:n.getDisplayValue()});var F=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()},R=function(e){n.call("click")},P={label:n.getLabel(),value:n.getValue(),onChange:F};n.isType("password")&&(P.type="password");var E=function(e){var t=i.Utils.nvl(e,"root"),r=H[t],s=M();return e||s||(r=c({},r,{flex:1})),s&&e&&(r=c({},r,G[e])),c({},r,n.getStyle(e))},B=E("element"),z={required:n.isRequired(),size:"small",scope:n,crud:j,style:B,placeholder:n.attr("placeholder","Digite aqui")},M=function(){return!(n.isInput()||i.Utils.isEmpty(e.children)&&i.Utils.isEmpty(e.elements))};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 _=function(){return"string"==typeof h.icon?s.jsx(m,{children:n.getIcon()}):s.jsx(s.Fragment,{children:h.icon})};if(n.open=function(e){r.Linking.openURL(e.url)},n.isType("dialog")){var J=h.name;if(!j.dialogs[J]){var K={config:c({},h),component:function(t){return s.jsx(o,c({},e,{scope:n,crud:j}))}};j.dialogs[J]=K}return s.jsx(s.Fragment,{})}return t.useLayoutEffect((function(){if(null!=v&&v.current&&n.is("type","card","list","tabs","stepper")){var e=null==v?void 0:v.current;if(null!=e&&e.classList){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:v,style:E(),children:s.jsxs(s.Fragment,{children:[void 0!==h.label&&s.jsx(r.Text,{style:E("label"),children:n.getLabel()}),!M()&&!U[g]&&s.jsxs(s.Fragment,{children:[s.jsxs(r.View,{style:E("inner"),children:[n.is("type","button")&&s.jsxs(L,c({},z,{onClick:R,variant:n.attr("variant","outlined"),children:[h.icon&&s.jsx(_,{}),h.label&&s.jsx(r.Text,{style:n.getPart("label","button"),children:n.getLabel()})]})),n.is("type","icon")&&s.jsx(m,c({},z,{onClick:R,variant:n.attr("variant","outlined"),children:n.getDisplayValue()})),n.is("type","link")&&s.jsxs(T,c({},z,{onClick:R,variant:n.attr("variant","outlined"),children:[h.icon&&s.jsx(_,{}),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(W,c({},P,z,{InputProps:c({},h.inputProps)})),n.is("type","complete","autocomplete")&&s.jsx(w,{scope:n,defaultsInput:P,defaultsUI:z}),n.is("type","checkbox","boolean","switch")&&s.jsx(V,c({checked:!0===n.getValue()},P,{onChange:function(){var e=n.getValue();F({target:{value:!(!0===e)}})}})),n.is("type","select")&&s.jsxs(q,c({},P,z,{value:n.getSelectedValue(),children:[s.jsx(O,{value:"",children:"Selecione"}),f.map((function(e,t){return s.jsx(O,{value:e.value,children:e.label},"i"+t)}))]})),n.is("type","radio")&&s.jsx(D,c({},P,z,{row:!0,children:f.map((function(e,t){return s.jsx(O,{control:s.jsx(D,c({},z)),label:e.label,value:e.value},"i"+t)}))})),n.is("type","custom")&&s.jsx(N,{}),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(m,{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:E("error"),children:p})]}),s.jsx(C,{}),!n.is("type","tabs","grid","list","define","repeat")&&s.jsx(o,c({},e,{scope:n,crud:j}))]})})})}var H=r.StyleSheet.create({root:{gap:10,flexDirection:"column",flexWrap:"wrap",width:"100%",alignItems:"flex-start"},label:{width:"100%",fontWeight:600},inner:{width:"100%"}}),G=r.StyleSheet.create({label:{width:"100%",fontWeight:500,fontSize:20}});function M(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 _=["type"],J={Grid:function(e){return s.jsx(A,c({},e,{type:"list"}))},Repeat:function(e){return s.jsx(A,c({},e,{type:"repeat"}))},Define:function(e){return s.jsx(A,c({},e,{type:"define"}))},Include:function(e){return s.jsx(M,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,_);return s.jsx(A,c({},t,{type:"column"}))},Input:function(e){return s.jsx(A,c({},e))},Text:function(e){return s.jsx(A,c({},e,{type:"text"}))},Email:function(e){return s.jsx(A,c({},e,{type:"email"}))},Button:function(e){return s.jsx(A,c({},e,{type:"button"}))},Link:function(e){return s.jsx(A,c({},e,{type:"link"}))},Icon:function(e){return s.jsx(A,c({},e,{type:"icon"}))},Output:function(e){return s.jsx(A,c({},e,{type:"output"}))},Form:function(e){return s.jsx(A,c({},e,{type:"form"}))},Crud:function(e){return s.jsx(A,c({},e,{type:"crud"}))},View:function(e){return s.jsx(A,c({},e,{type:"view",transient:!0}))},Bottom:function(e){return s.jsx(A,c({},e,{type:"bottom"}))},Dialog:function(e){return s.jsx(A,c({},e,{type:"dialog"}))},Content:function(e){return s.jsx(A,c({},e,{type:"content"}))},Top:function(e){return s.jsx(A,c({},e,{type:"top"}))},Card:function(e){return s.jsx(A,c({},e,{type:"card"}))},Tab:function(e){return s.jsx(A,c({},e,{type:"tab"}))},Tabs:function(e){return s.jsx(A,c({},e,{type:"tabs"}))},Step:function(e){return s.jsx(A,c({},e,{type:"tab",layout:"step"}))},Stepper:function(e){return s.jsx(A,c({},e,{type:"tabs",layout:"stepper"}))},Money:function(e){return s.jsx(A,c({},e,{type:"money"}))},Chart:function(e){return s.jsx(A,c({},e,{type:"chart"}))},Password:function(e){return s.jsx(A,c({},e,{type:"password"}))},Complete:function(e){return s.jsx(A,c({},e,{type:"complete"}))},Checkbox:function(e){return s.jsx(A,c({},e,{type:"checkbox"}))},Radio:function(e){return s.jsx(A,c({},e,{type:"radio"}))},Select:function(e){return s.jsx(A,c({},e,{type:"select"}))},Entity:function(e){return s.jsx(A,c({},e,{type:"entity"}))},Element:function(e){return s.jsx(A,c({},e,{type:"element"}))}};exports.UI=J;
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 { StyleSheet, 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 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 return (\r\n <>\r\n <View style={getStyle(name)}>\r\n <Draw />\r\n </View>\r\n </>\r\n );\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n child: { width: '100%' },\r\n inner: { width: '100%' },\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 if (!part && !hasChildren()) {\r\n def = { ...def, flex: 1 };\r\n }\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 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","key","Paint","_ref","child","children","Custom","type","pps","_extends","isEmpty","transient","parent","Draw","elements","Object","entries","map","t","k","UIElement","React","Children","View","style","styles","getStyle","StyleSheet","width","inner","ElGridColumn","col","_props$column","column","colScope","Scope","className","styleClass","getStyleClass","colSpan","colspan","ElGridCheck","cs","value","rowIndex","original","_useState","index","setIndex","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","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","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","height","borderWidth","_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","def","hasChildren","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 { StyleSheet, 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 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 return (\r\n <>\r\n <View style={getStyle(name)}>\r\n <Draw />\r\n </View>\r\n </>\r\n );\r\n}\r\n\r\nconst styles = StyleSheet.create({\r\n child: { width: '100%' },\r\n inner: { width: '100%' },\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 let hasChild = hasChildren();\r\n\r\n if (!part && !hasChild) {\r\n def = { ...def, flex: 1 };\r\n }\r\n\r\n if (hasChild && part) {\r\n def = { ...def, ...withChildStyles[part] };\r\n }\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?.classList) {\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 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 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\r\nconst withChildStyles = StyleSheet.create({\r\n label: { width: '100%', fontWeight: 500, fontSize: 20 },\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","key","Paint","_ref","child","children","Custom","type","pps","_extends","isEmpty","transient","parent","Draw","elements","Object","entries","map","t","k","UIElement","React","Children","View","style","styles","getStyle","StyleSheet","width","inner","ElGridColumn","col","_props$column","column","colScope","Scope","className","styleClass","getStyleClass","colSpan","colspan","ElGridCheck","cs","value","rowIndex","original","_useState","index","setIndex","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","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","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","height","borderWidth","_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","def","hasChild","hasChildren","withChildStyles","elStyle","required","isRequired","isRendered","msg","useEffect","ready","search","start","open","args","url","dialogs","dlg","config","useLayoutEffect","current","el","classList","bg","HtmlUtils","getBGColor","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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"}
@@ -1046,11 +1046,15 @@ function UIElement(props) {
1046
1046
  var getStyle = function getStyle(part) {
1047
1047
  var key = Utils.nvl(part, 'root');
1048
1048
  var def = styles$9[key];
1049
- if (!part && !hasChildren()) {
1049
+ var hasChild = hasChildren();
1050
+ if (!part && !hasChild) {
1050
1051
  def = _extends({}, def, {
1051
1052
  flex: 1
1052
1053
  });
1053
1054
  }
1055
+ if (hasChild && part) {
1056
+ def = _extends({}, def, withChildStyles[part]);
1057
+ }
1054
1058
  return _extends({}, def, scope.getStyle(part));
1055
1059
  };
1056
1060
  var elStyle = getStyle('element');
@@ -1127,7 +1131,7 @@ function UIElement(props) {
1127
1131
  useLayoutEffect(function () {
1128
1132
  if (ref != null && ref.current && scope.is('type', 'card', 'list', 'tabs', 'stepper')) {
1129
1133
  var el = ref == null ? void 0 : ref.current;
1130
- if (el) {
1134
+ if (el != null && el.classList) {
1131
1135
  var bg = HtmlUtils.getBGColor(el);
1132
1136
  if (bg === 'rgb(255, 255, 255)') {
1133
1137
  el.classList.add('ui-dark');
@@ -1139,7 +1143,6 @@ function UIElement(props) {
1139
1143
  });
1140
1144
  var isShowLabel = function isShowLabel() {
1141
1145
  if (typeof original.label !== 'undefined') {
1142
- console.log(original.label);
1143
1146
  return true;
1144
1147
  }
1145
1148
  return false;
@@ -1248,6 +1251,13 @@ var styles$9 = /*#__PURE__*/StyleSheet.create({
1248
1251
  width: '100%'
1249
1252
  }
1250
1253
  });
1254
+ var withChildStyles = /*#__PURE__*/StyleSheet.create({
1255
+ label: {
1256
+ width: '100%',
1257
+ fontWeight: 500,
1258
+ fontSize: 20
1259
+ }
1260
+ });
1251
1261
 
1252
1262
  function ElInclude(props) {
1253
1263
  if (props.rendered === false) {