react-crud-mobile 1.0.38 → 1.0.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/elements/core/Button.d.ts +2 -1
- package/dist/elements/core/Input.d.ts +2 -1
- package/dist/react-crud-mobile.cjs.development.js +85 -28
- package/dist/react-crud-mobile.cjs.development.js.map +1 -1
- package/dist/react-crud-mobile.cjs.production.min.js +1 -1
- package/dist/react-crud-mobile.cjs.production.min.js.map +1 -1
- package/dist/react-crud-mobile.esm.js +86 -29
- package/dist/react-crud-mobile.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/elements/core/Button.tsx +70 -11
- package/src/elements/core/Input.tsx +15 -8
|
@@ -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 { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Button(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 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 { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function Input(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, { 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 { Linking } 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 let elStyle = scope.getStyle('element');\n\n let defaultsUI: any = {\n required: scope.isRequired(),\n size: 'small',\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 isShowInner = () => {\n if (hasChildren() || hasCustomRoute()) {\n return false;\n }\n return true;\n };\n\n return (\n <>\n <div\n className={'ui-el ' + scope.getStyleClass()}\n ref={ref}\n style={scope.getStyle()}\n >\n {isShowInner() && (\n <>\n <div\n className={scope.getStyleClass('inner')}\n style={scope.getStyle('inner')}\n >\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 <img src={scope.getDisplayValue()} />\n )}\n {scope.is('format', 'icon') && (\n <i className={scope.getDisplayValue()} />\n )}\n {!scope.is('format', 'icon', 'img') && (\n <span>{scope.getDisplayValue()}</span>\n )}\n </>\n )}\n {scope.is('type', 'output') && (\n <span>{scope.getDisplayValue()}</span>\n )}\n </div>\n {error && <div className=\"ui-error\">{error}</div>}\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 </div>\n </>\n );\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","Switch","Option","Radio","Input","_useState3","error","setError","options","getOptions","ref","useRef","update","router","list","grid","card","repeat","chart","CurrentRouter","c","custom","getDisplayValue","onChange","e","val","target","isType","parseInt","parseFloat","getSelectedItem","call","getValue","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","src","Grid","Repeat","Column","_objectWithoutPropertiesLoose","_excluded","Email","Form","Crud","View","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';\r\nimport { TextInput } from 'react-native';\r\n\r\nexport default function Input(props: ChildType) {\r\n let scope = props.scope;\r\n let value = scope.getValue();\r\n\r\n let onChange = e => {\r\n console.log(e);\r\n };\r\n\r\n return (\r\n <TextInput style={styles.input} onChangeText={onChange} value={value} />\r\n );\r\n}\r\n\r\nconst styles = {\r\n input: {\r\n height: 40,\r\n margin: 12,\r\n borderWidth: 1,\r\n padding: 10,\r\n },\r\n};\r\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 { Linking } 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 let elStyle = scope.getStyle('element');\n\n let defaultsUI: any = {\n required: scope.isRequired(),\n size: 'small',\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 isShowInner = () => {\n if (hasChildren() || hasCustomRoute()) {\n return false;\n }\n return true;\n };\n\n return (\n <>\n <div\n className={'ui-el ' + scope.getStyleClass()}\n ref={ref}\n style={scope.getStyle()}\n >\n {isShowInner() && (\n <>\n <div\n className={scope.getStyleClass('inner')}\n style={scope.getStyle('inner')}\n >\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 <img src={scope.getDisplayValue()} />\n )}\n {scope.is('format', 'icon') && (\n <i className={scope.getDisplayValue()} />\n )}\n {!scope.is('format', 'icon', 'img') && (\n <span>{scope.getDisplayValue()}</span>\n )}\n </>\n )}\n {scope.is('type', 'output') && (\n <span>{scope.getDisplayValue()}</span>\n )}\n </div>\n {error && <div className=\"ui-error\">{error}</div>}\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 </div>\n </>\n );\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","TextInput","input","onChangeText","console","log","height","borderWidth","_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","src","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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"}
|
|
@@ -2,7 +2,8 @@ import React, { useState, createElement, useRef, useEffect, useLayoutEffect } fr
|
|
|
2
2
|
import { Utils, ScopeUtils, Scope, CrudUtils, ComponentUtils, HtmlUtils } from 'react-crud-utils';
|
|
3
3
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
4
4
|
import Ionicons from '@expo/vector-icons/Ionicons';
|
|
5
|
-
import { TouchableOpacity, Text, Linking } from 'react-native';
|
|
5
|
+
import { TouchableOpacity, Text, Linking, TouchableHighlight, View, TextInput } from 'react-native';
|
|
6
|
+
import { Ionicons as Ionicons$1 } from '@expo/vector-icons';
|
|
6
7
|
|
|
7
8
|
function _extends() {
|
|
8
9
|
return _extends = Object.assign ? Object.assign.bind() : function (n) {
|
|
@@ -831,20 +832,71 @@ var styles$2 = {
|
|
|
831
832
|
};
|
|
832
833
|
|
|
833
834
|
function Button(props) {
|
|
834
|
-
var
|
|
835
|
-
|
|
835
|
+
var scope = props.scope;
|
|
836
|
+
var element = scope.original;
|
|
837
|
+
var color = element.color;
|
|
838
|
+
var label = element.label;
|
|
839
|
+
var icon = element.icon;
|
|
840
|
+
if (!color) color = '#55a46f';
|
|
841
|
+
var styles = {
|
|
842
|
+
text: _extends({
|
|
843
|
+
color: '#ffffff',
|
|
844
|
+
lineHeight: 30,
|
|
845
|
+
fontWeight: '500',
|
|
846
|
+
textAlign: 'center'
|
|
847
|
+
}, element.textStyle),
|
|
848
|
+
inner: _extends({
|
|
849
|
+
flex: 1,
|
|
850
|
+
flexDirection: 'row',
|
|
851
|
+
flexWrap: 'wrap',
|
|
852
|
+
textAlign: 'center',
|
|
853
|
+
alignItems: 'center',
|
|
854
|
+
margin: 'auto'
|
|
855
|
+
}, element.textStyle),
|
|
856
|
+
icon: {
|
|
857
|
+
color: '#fff',
|
|
858
|
+
fontSize: 18,
|
|
859
|
+
paddingRight: 10
|
|
860
|
+
},
|
|
861
|
+
button: _extends({
|
|
862
|
+
padding: 5,
|
|
863
|
+
alignItems: 'center',
|
|
864
|
+
paddingLeft: 10,
|
|
865
|
+
paddingRight: 10,
|
|
866
|
+
minWidth: 200,
|
|
867
|
+
margin: 5,
|
|
868
|
+
textAlign: 'center',
|
|
869
|
+
verticalAling: 'middle',
|
|
870
|
+
lineHeight: 30,
|
|
871
|
+
borderRadius: 20,
|
|
872
|
+
backgroundColor: color,
|
|
873
|
+
color: '#ffffff'
|
|
874
|
+
}, element.buttonStyle)
|
|
836
875
|
};
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
876
|
+
var onClick = function onClick(e) {
|
|
877
|
+
if (typeof element.click === 'function') {
|
|
878
|
+
element.click(e);
|
|
879
|
+
}
|
|
880
|
+
};
|
|
881
|
+
return /*#__PURE__*/jsx(TouchableHighlight, {
|
|
882
|
+
underlayColor: 'transparent',
|
|
883
|
+
onPress: onClick,
|
|
884
|
+
style: styles.button,
|
|
885
|
+
children: /*#__PURE__*/jsxs(View, {
|
|
886
|
+
style: styles.inner,
|
|
887
|
+
children: [icon && /*#__PURE__*/jsx(Fragment, {
|
|
888
|
+
children: /*#__PURE__*/jsx(Ionicons$1, {
|
|
889
|
+
size: 30,
|
|
890
|
+
style: styles.icon,
|
|
891
|
+
name: icon
|
|
892
|
+
})
|
|
893
|
+
}), /*#__PURE__*/jsx(Text, {
|
|
894
|
+
style: styles.text,
|
|
895
|
+
children: label
|
|
896
|
+
})]
|
|
842
897
|
})
|
|
843
898
|
});
|
|
844
899
|
}
|
|
845
|
-
var styles$3 = {
|
|
846
|
-
link: {}
|
|
847
|
-
};
|
|
848
900
|
|
|
849
901
|
function Select(props) {
|
|
850
902
|
var handlePress = function handlePress() {
|
|
@@ -853,12 +905,12 @@ function Select(props) {
|
|
|
853
905
|
return /*#__PURE__*/jsx(TouchableOpacity, {
|
|
854
906
|
onPress: handlePress,
|
|
855
907
|
children: /*#__PURE__*/jsx(Text, {
|
|
856
|
-
style: styles$
|
|
908
|
+
style: styles$3.link,
|
|
857
909
|
children: "Clique aqui para acessar o React Native"
|
|
858
910
|
})
|
|
859
911
|
});
|
|
860
912
|
}
|
|
861
|
-
var styles$
|
|
913
|
+
var styles$3 = {
|
|
862
914
|
link: {}
|
|
863
915
|
};
|
|
864
916
|
|
|
@@ -869,12 +921,12 @@ function Switch(props) {
|
|
|
869
921
|
return /*#__PURE__*/jsx(TouchableOpacity, {
|
|
870
922
|
onPress: handlePress,
|
|
871
923
|
children: /*#__PURE__*/jsx(Text, {
|
|
872
|
-
style: styles$
|
|
924
|
+
style: styles$4.link,
|
|
873
925
|
children: "Clique aqui para acessar o React Native"
|
|
874
926
|
})
|
|
875
927
|
});
|
|
876
928
|
}
|
|
877
|
-
var styles$
|
|
929
|
+
var styles$4 = {
|
|
878
930
|
link: {}
|
|
879
931
|
};
|
|
880
932
|
|
|
@@ -885,12 +937,12 @@ function Option(props) {
|
|
|
885
937
|
return /*#__PURE__*/jsx(TouchableOpacity, {
|
|
886
938
|
onPress: handlePress,
|
|
887
939
|
children: /*#__PURE__*/jsx(Text, {
|
|
888
|
-
style: styles$
|
|
940
|
+
style: styles$5.link,
|
|
889
941
|
children: "Clique aqui para acessar o React Native"
|
|
890
942
|
})
|
|
891
943
|
});
|
|
892
944
|
}
|
|
893
|
-
var styles$
|
|
945
|
+
var styles$5 = {
|
|
894
946
|
link: {}
|
|
895
947
|
};
|
|
896
948
|
|
|
@@ -901,29 +953,34 @@ function Radio(props) {
|
|
|
901
953
|
return /*#__PURE__*/jsx(TouchableOpacity, {
|
|
902
954
|
onPress: handlePress,
|
|
903
955
|
children: /*#__PURE__*/jsx(Text, {
|
|
904
|
-
style: styles$
|
|
956
|
+
style: styles$6.link,
|
|
905
957
|
children: "Clique aqui para acessar o React Native"
|
|
906
958
|
})
|
|
907
959
|
});
|
|
908
960
|
}
|
|
909
|
-
var styles$
|
|
961
|
+
var styles$6 = {
|
|
910
962
|
link: {}
|
|
911
963
|
};
|
|
912
964
|
|
|
913
965
|
function Input(props) {
|
|
914
|
-
var
|
|
915
|
-
|
|
966
|
+
var scope = props.scope;
|
|
967
|
+
var value = scope.getValue();
|
|
968
|
+
var onChange = function onChange(e) {
|
|
969
|
+
console.log(e);
|
|
916
970
|
};
|
|
917
|
-
return /*#__PURE__*/jsx(
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
children: "Clique aqui para acessar o React Native"
|
|
922
|
-
})
|
|
971
|
+
return /*#__PURE__*/jsx(TextInput, {
|
|
972
|
+
style: styles$7.input,
|
|
973
|
+
onChangeText: onChange,
|
|
974
|
+
value: value
|
|
923
975
|
});
|
|
924
976
|
}
|
|
925
|
-
var styles$
|
|
926
|
-
|
|
977
|
+
var styles$7 = {
|
|
978
|
+
input: {
|
|
979
|
+
height: 40,
|
|
980
|
+
margin: 12,
|
|
981
|
+
borderWidth: 1,
|
|
982
|
+
padding: 10
|
|
983
|
+
}
|
|
927
984
|
};
|
|
928
985
|
|
|
929
986
|
function UIElement(props) {
|