react-crud-mobile 1.0.63 → 1.0.65

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