react-crud-mobile 1.3.511 → 1.3.513

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,"sources":["../src/elements/UIElement.tsx","../src/elements/UIChildren.tsx","../src/elements/tabs/ElTabs.tsx","../src/elements/charts/ElChart.tsx","../src/elements/core/UIAutoComplete.tsx","../src/elements/UIComplete.tsx","../src/elements/core/UILink.tsx","../src/elements/core/UIIcon.tsx","../src/elements/core/UIButton.tsx","../src/elements/core/UISelect.tsx","../src/elements/core/UISwitch.tsx","../src/elements/core/UISlider.tsx","../src/elements/core/UIOption.tsx","../src/elements/core/UIRadio.tsx","../src/elements/core/UIInput.tsx","../src/elements/core/UIList.tsx","../src/elements/core/UIListRow.tsx","../src/hooks/useIsVisible.ts","../src/elements/core/UIToggle.tsx","../src/elements/core/UIQuantity.tsx","../src/elements/core/UIModal.tsx","../src/elements/core/UIToast.tsx","../src/elements/core/UIView.tsx","../src/elements/core/UIHeader.tsx","../src/elements/core/UIOrder.tsx","../src/elements/core/UIInclude.tsx","../src/elements/core/SafeView.tsx","../src/elements/UI.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n} from 'react';\nimport UIChildren from './UIChildren';\nimport ElTabs from './tabs/ElTabs';\nimport ElChart from './charts/ElChart';\nimport UIComplete from './UIComplete';\nimport {\n Crud,\n HtmlUtils,\n ScopeUtils,\n Utils,\n ElementType,\n MethodType,\n ActionType,\n ComponentUtils,\n CrudUtils,\n ViewUtils,\n Scope,\n} from 'react-crud-utils';\nimport UILink from './core/UILink';\nimport UIIcon from './core/UIIcon';\nimport UIButton from './core/UIButton';\nimport UISelect from './core/UISelect';\nimport UISwitch from './core/UISwitch';\nimport UISlider from './core/UISlider';\nimport UIOption from './core/UIOption';\nimport UIRadio from './core/UIRadio';\nimport UIInput from './core/UIInput';\nimport {\n Alert,\n Image,\n Linking,\n StyleSheet,\n Text,\n TouchableHighlight,\n View,\n} from 'react-native';\nimport UIList from './core/UIList';\nimport UIToggle from './core/UIToggle';\nimport UIQuantity from './core/UIQuantity';\nimport UIModal from './core/UIModal';\nimport { Ionicons } from '@expo/vector-icons';\nimport UIView from './core/UIView';\nimport Toast from 'react-native-toast-message';\nimport UIOrder from './core/UIOrder';\n\nconst CrudContext = createContext<any>({});\n\nexport default function UIElement(props: ElementType) {\n const ctx = useContext(CrudContext);\n const theme = Utils.nvl(props.theme, ctx?.theme);\n\n let crud: Crud = Utils.nvl(props.crud, ctx?.crud);\n let [scope] = useState<Scope>(ScopeUtils.create({ crud, ...props, theme }));\n let [index, setIndex] = useState(0);\n let [error, setError]: string | any = useState(null);\n\n scope.compile(props);\n\n crud = scope.crud;\n\n let options: any = scope.getOptions();\n\n let original = scope.original;\n let ref = useRef(null);\n\n scope.update = () => {\n setIndex(++index);\n };\n\n scope.updateElement = () => {\n setIndex(++index);\n };\n\n scope.toast = (message: string, type = 'info', args?: any) => {\n Toast.show({\n type, // 'success' | 'error' | 'info'\n text1: message,\n position: 'bottom', // 'top' é outra opção\n visibilityTime: 3000, // tempo que fica visível em ms\n ...args,\n });\n };\n\n scope.prompt = (args: MethodType) => {\n let event = args.event as ActionType;\n\n if (event) {\n let message = 'Você tem certeza que deseja continuar?';\n let title = 'Atenção';\n let prompt = event.prompt;\n\n if (typeof prompt === 'string') {\n message = prompt;\n }\n\n if (typeof prompt === 'object') {\n message = Utils.nvl(prompt.message, message);\n title = Utils.nvl(prompt.title, title);\n }\n\n Alert.alert(\n title,\n message,\n [\n {\n text: 'Cancelar',\n style: 'cancel',\n },\n {\n text: 'Confirmar',\n onPress: () => scope.execute(args),\n },\n ],\n { cancelable: false }\n );\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 if (scope.currentDialog?.component) return;\n\n scope.call('click');\n };\n\n let defaultsInput: any = {\n scope,\n crud,\n onChange: onChange,\n };\n\n if (scope.isType('password')) {\n defaultsInput.type = 'password';\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 let isInput = scope.is(\n 'type',\n 'text',\n 'textarea',\n 'number',\n 'integer',\n 'int',\n 'phone',\n 'postalCode',\n 'money',\n 'password',\n 'email'\n );\n\n const getStyle = (part?: string, extra?: any) => {\n let type = Utils.nvl(original.type, 'none');\n let key = Utils.nvl(part, 'root');\n let def = { ...styles[key] };\n let hasChild = hasChildren();\n\n type = Utils.nvl(original.layout, type);\n\n if (!part && !hasChild) {\n def = { ...def };\n }\n\n if (scope.isInput()) {\n def = { ...def, ...elementStyle.input[key] };\n }\n\n def = { ...def, ...elementStyle?.[type]?.[key] };\n\n if (hasChild && part) {\n def = { ...def, ...withChildStyles[part] };\n }\n\n return { ...def, ...scope.getStyle(part, { ...def, ...extra }) };\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 scope.error = (msg: string) => {\n error = msg;\n setError(msg);\n };\n\n if (!original.list?.url && !original.load?.url) {\n scope.start();\n }\n\n useEffect(() => {\n scope.start();\n });\n\n const CustomIcon = () => {\n if (typeof original.icon === 'string') {\n return <Ionicons name={original.icon} style={scope.getStyle('icon')} />;\n }\n return <>{original.icon}</>;\n };\n\n scope.open = (args: any) => {\n Linking.openURL(args.url);\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?.classList) {\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 (\n typeof original.label !== 'undefined' &&\n original.label !== false &&\n !scope.isType('button', 'dialog', 'modal')\n ) {\n return true;\n }\n\n return false;\n };\n\n const isShowInner = () => {\n if (scope.isType('icon')) return false;\n if (hasChildren()) {\n return false;\n }\n return true;\n };\n\n if (!scope.isRendered() || scope.is('type', 'define')) {\n return <></>;\n }\n\n const isShowChild = () => {\n if (\n scope.isType(\n 'tabs',\n 'view',\n 'grid',\n 'list',\n 'define',\n 'repeat',\n 'modal',\n 'dialog',\n 'chart'\n )\n ) {\n return false;\n }\n\n return true;\n };\n\n let isTouch =\n !scope.isType('input', 'grid', 'list', 'order', 'repeat') && original.click;\n let custom: any = {};\n\n if (isTouch) {\n custom.underlayColor = 'transparent';\n custom.onPress = onClick;\n }\n\n let Tag = (props: any) => {\n let Aux: any = View;\n\n if (isTouch) {\n Aux = TouchableHighlight;\n }\n\n if (scope.isType('dialog', 'order') || original.transient) {\n return <>{props.children}</>;\n }\n\n return <Aux {...props} />;\n };\n\n let Inner = () => {\n return (\n <>\n {scope.getPart('render', null, <></>)}\n {scope.is('type', 'button') && (\n <UIButton\n {...defaultsUI}\n onClick={onClick}\n variant={scope.attr('variant', 'outlined')}\n >\n {original.icon && <CustomIcon />}\n {original.label && (\n <Text style={scope.getPart('label', 'button')}>\n {scope.getLabel()}\n </Text>\n )}\n </UIButton>\n )}\n {scope.is('type', 'link') && (\n <UILink\n {...defaultsUI}\n onClick={onClick}\n variant={scope.attr('variant', 'outlined')}\n >\n {original.icon && <CustomIcon />}\n {original.label && (\n <Text style={scope.getPart('label', 'link')}>\n {scope.getLabel()}\n </Text>\n )}\n </UILink>\n )}\n {isInput && (\n <UIInput\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', 'quantity') && (\n <UIQuantity\n scope={scope}\n defaultsInput={defaultsInput}\n defaultsUI={defaultsUI}\n />\n )}\n {scope.is('type', 'checkbox', 'boolean', 'switch') && (\n <UISwitch\n checked={isChecked()}\n {...defaultsInput}\n onChange={onCheck}\n />\n )}\n {scope.isType('slider') && (\n <UISlider {...defaultsInput} onChange={onCheck} />\n )}\n {scope.is('type', 'select') && (\n <UISelect\n {...defaultsInput}\n {...defaultsUI}\n value={scope.getSelectedValue()}\n />\n )}\n {scope.is('type', 'toggle') && (\n <UIToggle\n {...defaultsInput}\n {...defaultsUI}\n value={scope.getSelectedValue()}\n />\n )}\n {scope.is('type', 'radio') && (\n <UIRadio {...defaultsInput} {...defaultsUI} row>\n {options.map((row: any, i: number) => (\n <UIOption\n key={'i' + i}\n control={<UIRadio {...defaultsUI} />}\n label={row.label}\n value={row.value}\n />\n ))}\n </UIRadio>\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') && <UIIcon scope={scope} crud={crud} />}\n {!scope.is('format', 'icon', 'img') && (\n <Text>{scope.getDisplayValue()}</Text>\n )}\n </>\n )}\n {scope.is('type', 'output', 'value') && (\n <Text style={getStyle('value')}>{scope.getDisplayValue()}</Text>\n )}\n </>\n );\n };\n\n let Include = ({ name, style }: any) => {\n if (props[name]) {\n let define = ComponentUtils.getDefine(props, name);\n\n if (!Utils.isEmpty(define)) {\n return (\n <UIChildren\n {...props}\n scope={scope}\n crud={crud}\n style={getStyle(name, style)}\n >\n {define}\n </UIChildren>\n );\n }\n }\n return <></>;\n };\n\n let Container = () => {\n return (\n <>\n {isShowLabel() && (\n <View\n style={getStyle('outerLabel', {\n alignSelf: 'flex-start',\n flexDirection: 'row',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n width: '100%',\n })}\n >\n <Text style={getStyle('label')}>{scope.getLabel()}</Text>\n <Include name=\"actions\" style={{ width: 'auto' }} />\n </View>\n )}\n {isShowInner() && (\n <>\n <View style={getStyle('inner')}>\n <Inner />\n </View>\n {error && (\n <View\n style={getStyle('error', {\n fontSize: 12,\n paddingTop: 4,\n color: '#e55b5b',\n })}\n >\n {error}\n </View>\n )}\n </>\n )}\n {scope.isType('list', 'repeat') && (\n <UIList {...props} scope={scope} crud={crud} />\n )}\n {scope.isType('order') && (\n <UIOrder {...props} scope={scope} crud={crud} />\n )}\n\n {scope.isType('chart') && (\n <ElChart {...props} scope={scope} crud={crud} />\n )}\n {scope.isType('tabs') && (\n <ElTabs {...props} scope={scope} crud={crud} />\n )}\n\n {scope.isType('view') && (\n <UIView {...props} scope={scope} crud={crud} />\n )}\n\n {scope.is('type', 'icon') && (\n <UIIcon\n {...defaultsUI}\n onClick={onClick}\n variant={scope.attr('variant', 'outlined')}\n >\n {scope.getDisplayValue()}\n </UIIcon>\n )}\n\n {isShowChild() && (\n <UIChildren\n {...props}\n scope={scope}\n crud={crud}\n style={getStyle('inner')}\n />\n )}\n <UIModal {...props} scope={scope} crud={crud} />\n </>\n );\n };\n\n let Card = (props: any) => {\n let isCard = scope.is('type|layout', 'card');\n\n if (scope.isType('list')) {\n let empty = scope.getPart('empty', null, undefined);\n let items = scope.getItems();\n\n if (empty === false && Utils.isEmpty(items)) {\n isCard = false;\n }\n }\n\n if (isCard) {\n let box = {\n ...getStyle('box', { ...boxStyle.box, alignSelf: 'stretch' }),\n };\n\n let borderWidth = original.boxBorder;\n\n if (borderWidth || borderWidth === 0) {\n if (borderWidth === true) {\n borderWidth = 1;\n }\n\n box = { ...box, borderWidth };\n }\n\n return (\n <View style={getStyle('card', { ...box })}>\n <View\n style={getStyle('boxInner', {\n paddingHorizontal: 15,\n paddingVertical: 10,\n })}\n >\n {props.children}\n </View>\n </View>\n );\n }\n\n if (scope.isInput() || original.container) {\n return (\n <View\n style={getStyle('container', { paddingVertical: 5, width: '100%' })}\n >\n {props.children}\n </View>\n );\n }\n return <>{props.children}</>;\n };\n\n scope.dialogShow = (args?: MethodType) => {\n let event = Utils.nvl(args?.event, {});\n\n if (event?.debug) console.log(args);\n\n let caller = args.caller;\n let main = ViewUtils.getCrud('view');\n let parent = main.dialog;\n let { crud } = args;\n let name = scope.getName('modal');\n let edit = args.edit === true;\n let def: any = {};\n let rowItem = null;\n let component = event?.component;\n let elo = Utils.nvl(caller?.original, original);\n\n if (crud.is('row')) {\n def.parent = crud.parent.parent;\n def.search = crud.parent;\n\n rowItem = crud.data;\n } else if (crud.is('search')) {\n def.parent = crud.parent;\n def.search = crud;\n }\n\n let crudData = crud.data;\n let eventData = Utils.nvl(event.data, event.send);\n\n if (typeof eventData === 'function') {\n eventData = eventData.call(this, args);\n }\n\n if (event.send === false || event.data === false) {\n crudData = {};\n }\n\n let data = Utils.nvl(eventData, args.item, rowItem, crudData, {});\n\n let d = CrudUtils.create('dialog', {\n parent: crud,\n root: crud,\n name,\n data,\n edit,\n scope,\n ...def,\n });\n\n let el: any = {\n label: elo.label,\n icon: elo.icon,\n type: 'dialog',\n };\n\n let close = event.dialog?.close;\n\n if (typeof event.dialog === 'object') {\n el = { ...el, ...event.dialog };\n }\n\n if (event.header) el.header = event.header;\n if (event.label) el.label = event.label;\n if (event.title) el.title = event.title;\n\n let label = Utils.nvl(el.title, el.label);\n\n el.label = label;\n\n let dialogScope = ScopeUtils.create({\n parent: scope,\n crud: d,\n ...el,\n owner: scope,\n });\n\n let dialog = {\n crud: d,\n label,\n parent,\n component,\n scope: dialogScope,\n close,\n props: event.props,\n debug: event.debug,\n };\n\n main.dialog = dialog;\n scope.currentDialog = dialog;\n\n if (parent) parent.update?.();\n scope.update();\n };\n\n scope.dialogHide = (args?: MethodType) => {\n let main = ViewUtils.getCrud('view');\n let current = main.dialog;\n let next = Utils.nvl(current.parent, null);\n\n main.dialog = next;\n scope.currentDialog = next;\n\n let nextScope = next?.scope?.parent;\n let currScope = current?.scope?.parent;\n\n if (currScope) {\n const close = current.close;\n\n currScope.update();\n\n if (close) {\n if (close?.debug) console.log('Fechando');\n current.scope.call('close', { close });\n }\n }\n\n if (nextScope) {\n nextScope.update();\n }\n };\n\n if (original.hideEmpty && !scope.isType('list', 'select', 'complete')) {\n let value = scope.getValue();\n\n if (Utils.isEmpty(value)) return <></>;\n }\n\n return (\n <CrudContext.Provider value={{ crud, theme }}>\n <Tag ref={ref} style={getStyle()} {...custom}>\n <Card>\n <Container />\n </Card>\n </Tag>\n </CrudContext.Provider>\n );\n}\n\nlet boxStyle = StyleSheet.create({\n box: {\n borderWidth: 1,\n borderColor: '#dedede',\n borderStyle: 'solid',\n backgroundColor: 'white',\n borderRadius: 10,\n width: '100%',\n shadowColor: '#000',\n shadowOpacity: 0.1,\n shadowRadius: 4,\n elevation: 3,\n },\n});\n\nconst box: any = {\n ...boxStyle.box,\n};\n//v5\nconst elementStyle: any = {};\n\nelementStyle.view = {\n inner: {\n width: '100%',\n alignItems: 'normal',\n flex: 1,\n },\n container: {\n width: '100%',\n backgroundColor: 'background',\n flex: 1,\n gap: 10,\n },\n root: {\n width: '100%',\n flex: 1,\n alignItems: 'normal',\n padding: 0,\n },\n};\n\nelementStyle.input = StyleSheet.create({\n label: {\n paddingLeft: 0,\n },\n inner: {\n flex: 1,\n width: '100%',\n padding: 0,\n gap: 10,\n alignSelf: 'flex-start',\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n});\n\nelementStyle.quantity = {\n inner: {\n ...box,\n backgroundColor: 'primarySoft',\n fontWeight: 600,\n fontSize: 16,\n borderRadius: 25,\n borderWidth: 0,\n paddingHorizontal: 5,\n paddingVertical: 5,\n flexWrap: 'nowrap',\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n },\n};\n\nelementStyle.toggle = StyleSheet.create({\n root: {\n height: 'auto',\n },\n inner: {\n ...box,\n flex: 1,\n width: '100%',\n gap: 10,\n borderRadius: 2,\n justifyContent: 'center',\n flexDirection: 'row',\n alignSelf: 'flex-start',\n flexWrap: 'nowrap',\n },\n});\n\nconst styles = StyleSheet.create({\n root: {\n gap: 5,\n flexDirection: 'column',\n flexWrap: 'wrap',\n width: '100%',\n alignItems: 'flex-start',\n },\n label: {\n fontWeight: 600,\n fontSize: 12,\n paddingVertical: 3,\n color: 'labelColor',\n },\n inner: { width: '100%', justifyContent: 'space-between' },\n});\n\nconst withChildStyles = StyleSheet.create({\n root: {\n gap: 10,\n },\n label: {\n width: '100%',\n fontWeight: 500,\n fontSize: 24,\n },\n});\n","import React, { useState } from 'react';\nimport UIElement from './UIElement';\nimport { Crud, Scope, ScopeUtils, Utils } from 'react-crud-utils';\nimport { StyleSheet, View } from 'react-native';\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 style?: any;\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 const getStyle = (part?: string) => {\n let key = Utils.nvl(part, 'root');\n let def = styles[key];\n let css = {};\n\n if (!Utils.isEmpty(props.style)) {\n if (props.style?.push) {\n Utils.each(props.style, s => {\n if (s) {\n css = { ...css, ...s };\n }\n });\n } else {\n css = { ...props.style };\n }\n }\n return { ...def, ...css, ...scope.getStyle(part) };\n };\n\n if (props.transient) {\n return <Draw />;\n }\n return (\n <>\n <View style={getStyle(name)}>\n <Draw />\n </View>\n </>\n );\n}\n\nconst styles = StyleSheet.create({\n child: { width: '100%' },\n inner: { width: '100%' },\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 UIAutoComplete(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/UIAutoComplete';\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 { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function UILink(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 {\n Ionicons,\n MaterialCommunityIcons,\n AntDesign,\n Entypo,\n EvilIcons,\n} from '@expo/vector-icons';\n\nimport { ChildType, Utils } from 'react-crud-utils';\n\nexport default function UIIcon({ scope }: ChildType) {\n let name = scope.getValue();\n let libs: any = {\n ion: Ionicons,\n ant: AntDesign,\n entypo: Entypo,\n evil: EvilIcons,\n material: MaterialCommunityIcons,\n };\n\n let library = Utils.nvl(scope.original.library, 'ion');\n let Aux = libs[library];\n let css: any = scope.getStyle('icon');\n let fontSize = scope.part('size', 20);\n let size = scope.part('iconSize', fontSize);\n\n if (scope.original?.transient) {\n css = { ...css, ...scope.getStyle() };\n }\n\n return <Aux size={size} name={name} style={css} />;\n}\n","import { Ionicons } from '@expo/vector-icons';\nimport { ChildType, Utils } from 'react-crud-utils';\nimport { Text, TouchableHighlight, View } from 'react-native';\nimport UI from '../UI';\n\nconst BUTTONS_SIZE: any = { small: { minWidth: 30, height: 30 } };\n\nexport default function UIButton(props: ChildType) {\n let scope = props.scope;\n let element = scope.original;\n let size = Utils.nvl(element.size, 'default');\n let align = Utils.nvl(element.align, 'center');\n let variant = Utils.nvl(element.variant, 'default');\n\n let color = element.color;\n let label = scope.getLabel();\n let icon = scope.getPart('icon');\n\n //ajuste align v6\n if (!color) color = 'primaryLight';\n\n const styles: any = {\n buttonLabel: {\n color: '#ffffff',\n fontWeight: 400,\n fontSize: 15,\n },\n buttonInner: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n height: 44,\n minWidth: 44,\n },\n buttonIcon: {\n color: '#fff',\n fontSize: 16,\n },\n button: {\n backgroundColor: color,\n borderRadius: 20,\n gap: 10,\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'row',\n },\n };\n\n const onClick = (e: any) => {\n scope.call('click', {});\n };\n\n const style = (part: string, extra?: any) => {\n let css = { ...styles[part], ...extra };\n\n if (variant === 'text' || variant === 'outlined') {\n css.backgroundColor = 'transparent';\n css.color = Utils.nvl(color, 'text');\n }\n\n if (size === 'small') {\n css.fontSize = 12;\n css.fontWeight = 500;\n }\n\n if (size === 'medium') {\n css.fontSize = 14;\n css.fontWeight = 500;\n }\n\n if (align === 'left') {\n css.justifyContent = 'flex-start';\n }\n\n return scope.getStyle(part, css);\n };\n\n let extra: any = {};\n\n if (icon) {\n extra.button = { height: 40, padding: 0 };\n } else {\n extra.button = { height: 50 };\n }\n\n const buttonStyle = Utils.call(() => {\n let def: any = { ...extra?.button };\n\n if (variant === 'outlined') {\n def.borderWidth = 1;\n def.borderColor = Utils.nvl(color, 'text');\n }\n\n if (size) {\n def = { ...def, ...BUTTONS_SIZE[size] };\n }\n\n if (!label) {\n def = { ...def, borderRadius: 20 };\n }\n\n let css = style('button', def);\n\n if (!css.width) {\n let h = css.height;\n\n if (typeof h === 'number') {\n css.minWidth = h;\n }\n }\n\n return css;\n });\n\n const buttonLabel = style('buttonLabel');\n const iconStyle = Utils.call(() => {\n let css: any = style('buttonIcon', extra.icon);\n\n css.fontSize = Utils.nvl(buttonLabel.fontSize, css.fontSize);\n\n return css;\n });\n\n return (\n <TouchableHighlight\n underlayColor={'transparent'}\n onPress={onClick}\n style={buttonStyle}\n >\n <>\n {icon && (\n <>\n <UI.Icon\n size={Utils.nvl(element.iconSize, 30)}\n style={iconStyle}\n value={icon}\n />\n </>\n )}\n {label && <Text style={buttonLabel}>{label}</Text>}\n </>\n </TouchableHighlight>\n );\n}\n","import { useRef, useState } from 'react';\nimport { ChildType, MethodType, Utils, ViewUtils } from 'react-crud-utils';\nimport {\n Text,\n TouchableOpacity,\n StyleSheet,\n Modal,\n View,\n ScrollView,\n} from 'react-native';\nimport { Ionicons } from '@expo/vector-icons';\nimport UI from '../UI';\nimport { SafeAreaView } from 'react-native-safe-area-context';\n\nexport default function UISelect(props: ChildType) {\n const [modalVisible, setModalVisible] = useState(false);\n const scope = props.scope;\n const original = scope.original;\n const items = Utils.nvl(scope.getOptions(), []);\n const placeholder = scope.attr('placeholder', 'Selecione...');\n const value = scope.getDisplayValue();\n const theme = scope.getTheme();\n const headerStyle = Utils.nvl(theme.styles?.defaults?.header, {});\n const handlePress = () => {\n setModalVisible(!modalVisible);\n };\n\n const scrollRef = useRef(null);\n const iconColor = Utils.nvl(theme.colors?.text, '#100e0e');\n const modalColor = Utils.nvl(headerStyle.color, 'white');\n const defaults = { color: modalColor };\n const onClick = ({ crud, value }: MethodType) => {\n let val = value as any;\n\n if (original.isObject && val?.object) {\n scope.changeValue(val?.object);\n } else if (val?.value) {\n scope.changeValue(val?.value);\n } else {\n scope.changeValue(value);\n }\n\n setModalVisible(false);\n };\n\n const style = (part: string, extra?: any) => {\n let all = { ...styles[part], ...extra };\n\n return scope.getStyle(part, all);\n };\n\n const isModalVisible = () => {\n return modalVisible;\n };\n\n const getLabelStyle = () => {\n const css: any = style('selectLabel');\n let fs = parseInt(css.fontSize);\n\n if (!fs) {\n fs = 14;\n }\n\n let lh = Utils.nvl(css.lineHeight, fs + 2);\n\n css.fontSize = fs;\n css.lineHeight = lh;\n\n return css;\n };\n\n const labelStyle = getLabelStyle();\n const defIconSize = Utils.nvl(labelStyle.fontSize, 14) + 2;\n const iconSize = scope.getPart('iconSize', null, defIconSize);\n\n //v4\n\n return (\n <View\n key={scope.getName(`${scope.getPart('modal')}_${modalVisible}`)}\n style={style('selectRoot')}\n >\n <TouchableOpacity onPress={handlePress} style={style('selectInput')}>\n <Text style={labelStyle}>{Utils.nvl(value, placeholder)}</Text>\n <Ionicons\n name=\"chevron-down-outline\"\n size={iconSize}\n color={scope.getPart('iconColor', null, iconColor)}\n style={style('iconStyle', {})}\n />\n </TouchableOpacity>\n <Modal\n animationType=\"slide\"\n transparent={true}\n visible={isModalVisible()}\n onRequestClose={() => setModalVisible(false)}\n >\n <SafeAreaView style={style('modalTop')} />\n <SafeAreaView style={style('modalSafe')}>\n <View style={scope.getStyle('header', headerStyle)}>\n <TouchableOpacity\n onPress={handlePress}\n style={style('modalCloseButton')}\n >\n <Ionicons\n name=\"close\"\n size={24}\n color={modalColor}\n style={style('modalCloseText', defaults)}\n />\n </TouchableOpacity>\n <Text style={style('modalTitle', defaults)}>{placeholder}</Text>\n </View>\n <ScrollView\n contentContainerStyle={{ flexGrow: 1, paddingBottom: 50 }}\n style={style('modalContent')}\n nestedScrollEnabled={true}\n ref={scrollRef}\n >\n <View\n style={{\n flex: 1,\n paddingLeft: 15,\n paddingRight: 15,\n paddingTop: 10,\n paddingBottom: 10,\n }}\n >\n <UI.List\n data={items}\n name={scope.getName('list')}\n layout=\"card\"\n search={original.search === true}\n click={onClick}\n rowStyle={{\n paddingLeft: 15,\n paddinRight: 15,\n ...original?.rowStyle,\n }}\n {...original?.listProps}\n >\n <UI.Value value=\"#{@this.label}\" />\n </UI.List>\n </View>\n </ScrollView>\n </SafeAreaView>\n </Modal>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n selectRoot: {\n justifyContent: 'flex-start',\n alignItems: 'flex-start',\n flex: 1,\n },\n selectInput: {\n width: '100%',\n flexDirection: 'row',\n borderRadius: 5,\n paddingHorizontal: 15,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: '#dedede',\n paddingVertical: 10,\n },\n selectLabel: { flex: 1, fontSize: 14 },\n modalTop: {\n backgroundColor: 'primary',\n width: '100%',\n },\n modalSafe: {\n flex: 1,\n width: '100%',\n backgroundColor: 'background',\n },\n modalCloseButton: {\n padding: 10,\n },\n modalCloseText: {\n fontSize: 18,\n color: 'white',\n },\n modalTitle: {\n fontSize: 18,\n fontWeight: 'bold',\n marginLeft: 10,\n },\n modalContent: {\n flex: 1,\n backgroundColor: 'background',\n },\n});\n","import { useState } from 'react';\r\nimport { ChildType, Utils } from 'react-crud-utils';\r\nimport { Switch } from 'react-native';\r\n\r\nexport default function UISwitch(props: ChildType) {\r\n const scope = props.scope;\r\n const initial = Utils.nvl(scope.getValue(), false) as boolean;\r\n const [value, setValue] = useState(initial);\r\n\r\n let onChange = v => {\r\n scope.changeValue(v);\r\n\r\n setValue(v);\r\n };\r\n\r\n return (\r\n <Switch\r\n value={value}\r\n style={scope.getStyle('element')}\r\n onValueChange={onChange} // Alterna o estado\r\n />\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { useState } from 'react';\r\nimport { ChildType, ComponentUtils, Utils } from 'react-crud-utils';\r\nimport { Switch } from 'react-native';\r\nimport Slider from '@react-native-community/slider';\r\n\r\nexport default function UISlider(props: ChildType) {\r\n const scope = props.scope;\r\n const initial = Utils.nvl(scope.getValue(), 0);\r\n const [value, setValue] = useState(initial);\r\n\r\n //redeploy 0\r\n\r\n let onChange = v => {\r\n v = Utils.nvl(v, 0);\r\n\r\n console.log(v);\r\n\r\n scope.changeValue(v);\r\n\r\n setValue(v);\r\n };\r\n\r\n let step = scope.attr('step', 1);\r\n let min = scope.attr('min', 0);\r\n let max = scope.attr('min', 100);\r\n\r\n let onSlideScroll = (scrollEnabled: boolean) => {\r\n let viewScope = ComponentUtils.getViewScope();\r\n\r\n if (scope.original.debug) {\r\n console.log(viewScope);\r\n }\r\n\r\n if (viewScope) {\r\n let scrollRef = viewScope.get('scrollRef');\r\n\r\n if (scrollRef) scrollRef.current?.setNativeProps?.({ scrollEnabled });\r\n }\r\n };\r\n return (\r\n <>\r\n <Slider\r\n minimumValue={min}\r\n maximumValue={max}\r\n step={step}\r\n minimumTrackTintColor=\"#1EB1FC\"\r\n maximumTrackTintColor=\"#d3d3d3\"\r\n thumbTintColor=\"#1EB1FC\"\r\n value={value}\r\n onSlidingStart={() => onSlideScroll(false)}\r\n onSlidingComplete={() => onSlideScroll(true)}\r\n style={{ width: '100%', height: 40, ...scope.getStyle('element') }}\r\n onValueChange={onChange} // Alterna o estado\r\n />\r\n </>\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 UIOption(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 UIRadio(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { useState } from 'react';\nimport { ChildType, Utils } from 'react-crud-utils';\nimport { StyleSheet, TextInput, View } from 'react-native';\nimport { Ionicons } from '@expo/vector-icons';\n\nexport default function UIInput(props: ChildType) {\n let scope = props.scope;\n let initial = Utils.call(() => {\n let val = Utils.nvl(scope.getValue(), '');\n\n if (val && val?.push) {\n return val.join(', ').trim();\n }\n return val;\n });\n\n let label = scope.getLabel();\n let placeholder = scope.getPart('placeholder', null, label);\n let el = scope.original;\n\n const element = scope.original;\n const [height, setHeight] = useState(80);\n const [value, setValue] = useState(initial);\n\n let onChange = v => {\n v = scope.changeValue(v);\n\n setValue(v);\n };\n\n const style = (part: string, extra?: any) => {\n return { ...scope.getStyle(part, { ...styles[part], ...extra }) };\n };\n\n const CustomIcon = () => {\n let icon = el.icon;\n\n if (icon) {\n if (typeof icon === 'string') {\n return (\n <>\n {el.icon && (\n <Ionicons\n name={el.icon}\n size={scope.attr('iconSize', 20)}\n color={scope.attr('iconColor', '#888')}\n />\n )}\n </>\n );\n }\n return <>{icon}</>;\n }\n return <></>;\n };\n\n let type = scope.getPart('type', null, 'text');\n let decode = {\n textarea: {\n multiline: true,\n autoHeight: element.autoHeight !== false,\n textAlignVertical: 'top',\n numberOfLines: 5,\n style: { height: Math.max(80, height) },\n baseStyle: { paddingVertical: 10 },\n },\n };\n\n //v5\n let defs = { ...Utils.nvl(decode[type], {}), ...element.inputProps };\n let inputStyle = Utils.call(() => {\n let size = element.size;\n let css: any = {};\n\n if (size === 'small') {\n css.height = 30;\n css.fontSize = 12;\n }\n\n css.fontSize = Utils.nvl(element.fontSize, css.fontSize);\n css = { ...style('input'), ...style(type, css) };\n css.lineHeight = parseInt(css.fontSize) + 2;\n //v1\n return css;\n });\n\n if (defs.autoHeight) {\n defs.onContentSizeChange = event => {\n setHeight(event.nativeEvent.contentSize.height);\n };\n\n inputStyle = { ...inputStyle, ...defs.style };\n }\n\n return (\n <>\n <View style={style('base', defs?.baseStyle)}>\n {scope.getPart('left')}\n <TextInput\n onChangeText={onChange}\n value={value}\n placeholder={placeholder}\n {...defs}\n style={inputStyle}\n />\n <CustomIcon />\n </View>\n {scope.getPart('right')}\n </>\n );\n}\n\nconst styles = StyleSheet.create({\n base: {\n flex: 1,\n width: '100%',\n paddingBottom: 0,\n paddingTop: 0,\n alignItems: 'center',\n borderWidth: 1,\n borderColor: 'borderColor',\n borderRadius: 5,\n paddingHorizontal: 10,\n alignSelf: 'flex-start',\n flexDirection: 'row',\n flexWrap: 'wrap',\n gap: 10,\n },\n icon: {\n marginRight: 10, // Espaço entre ícone e input\n },\n input: {\n marginHorizontal: 0,\n marginVertical: 0,\n paddingVertical: 0,\n height: 40,\n width: '100%',\n flex: 1, // Para o input ocupar o espaço restante\n },\n textarea: {\n marginHorizontal: 0,\n marginVertical: 0,\n paddingVertical: 10,\n width: '100%',\n height: 'auto',\n alignSelf: 'stretch',\n flex: 1, // Para o input ocupar o espaço restante\n },\n});\n","import React, { useState } from 'react';\nimport { ChildType, ComponentUtils, Utils } from 'react-crud-utils';\nimport { StyleSheet, Text, View } from 'react-native';\nimport UIListRow from './UIListRow';\nimport UI from '../UI';\nimport { Ionicons } from '@expo/vector-icons';\n\nexport default function UIList(props: ChildType) {\n const scope = props.scope;\n const crud = scope.crud;\n const original = scope.original;\n const cols = Utils.nvl(scope.getPart('cols', undefined, 1));\n const styles = { repeat: stylesRepeat, list: stylesList }?.[original.type];\n const add = ComponentUtils.getDefine(props, 'add');\n const hideAddWhenEmpty = original.hideAddWhenEmpty;\n const hideEmpty = original.hideEmpty;\n\n //v2\n const getStyle = (key: string, extra?: any) => {\n return scope.getStyle(key, { ...extra, ...styles[key] });\n };\n\n const getContainerStyle = (extra?: any) => {\n let row = getStyle('container', {});\n\n if (cols > 1) {\n row = { ...row, flexDirection: 'row', flexWrap: 'wrap' };\n }\n\n return row;\n };\n\n const LocalData = () => {\n let [index, setIndex] = useState(scope.updateIndex);\n let empty = scope.attr('empty', 'Sem registro');\n\n scope.update = () => {\n scope.updateIndex = ++index;\n\n setIndex(index);\n };\n\n const items = Utils.call(() => {\n let list = Utils.nvl(scope.getItems(), []);\n\n if (original.search !== false && !original.list?.url) {\n let query = crud\n .get('query', '')\n .toLowerCase()\n .trim() as string;\n\n if (query.length > 1) {\n let filters: any[] = [];\n let filterBy = Utils.nvl(original.filterBy, 'label');\n\n Utils.each(list, o => {\n let label = Utils.getValue(filterBy, 'none', o).toLowerCase();\n\n if (label) {\n if (label.includes(query)) {\n filters.push(o);\n }\n }\n });\n\n return filters;\n }\n }\n return list;\n });\n\n let isEmpty = Utils.isEmpty(items);\n\n const isShowAdd = () => {\n if (!isEmpty) {\n return true;\n }\n return hideAddWhenEmpty !== true;\n };\n\n let Empty = () => {\n if (!isEmpty) {\n return <></>;\n }\n\n if (!empty) {\n return <></>;\n }\n\n if (typeof empty === 'string') {\n return (\n <Text\n style={scope.getStyle('empty', {\n flex: 1,\n fontWeight: 400,\n fontSize: 18,\n padding: 10,\n textAlign: 'center',\n width: '100%',\n justifyContent: 'center',\n alignItems: 'center',\n })}\n >\n {empty}\n </Text>\n );\n }\n\n return <>{empty}</>;\n };\n\n if (empty === false && isEmpty) {\n return <></>;\n }\n\n return (\n <View style={getContainerStyle()}>\n <Empty />\n {items.map((item: any, i: number) => (\n <UIListRow index={i} item={item} scope={scope}>\n {props.children}\n </UIListRow>\n ))}\n {isShowAdd() && <>{add}</>}\n </View>\n );\n };\n\n let items = Utils.nvl(scope.getItems(), []);\n\n if (hideEmpty && Utils.isEmpty(items)) {\n return <></>;\n }\n\n return (\n <>\n {original.search !== false && (\n <UI.Text\n placeholder=\"Pesquisar...\"\n field=\"query\"\n crud={crud}\n style={{ marginBottom: 10 }}\n change={{\n action: () => {\n scope.search();\n },\n }}\n icon={<Ionicons name=\"search\" size={20} color=\"#888\" />}\n />\n )}\n <LocalData />\n </>\n );\n}\n\nconst stylesList = StyleSheet.create({\n container: {\n display: 'flex',\n flexWrap: 'wrap',\n gap: 10,\n width: '100%',\n },\n text: {\n fontSize: 18,\n fontWeight: 'bold',\n },\n});\n\nconst stylesRepeat = StyleSheet.create({\n container: {\n display: 'flex',\n flexWrap: 'wrap',\n gap: 10,\n width: '100%',\n },\n text: {\n fontSize: 18,\n fontWeight: 'bold',\n },\n});\n","import React, { useRef, useState } from 'react';\nimport { ChildType, ScopeUtils, Utils } from 'react-crud-utils';\nimport UIChildren from '../UIChildren';\nimport { StyleSheet, TouchableHighlight, View } from 'react-native';\nimport { useIsVisible } from '../../hooks/useIsVisible';\n\ninterface UIListRowType extends ChildType {\n item: any;\n index: number;\n children?: any;\n}\n\nexport default function UIListRow(props: UIListRowType) {\n const scope = props.scope;\n const index = props.index;\n const original = scope.original;\n const item = props.item;\n const cols = scope.getPart('cols', undefined, -1);\n const rowWidth = Math.floor(100 / cols) + '%';\n const styles = { repeat: stylesRepeat, list: stylesList }?.[original.type];\n const name = `${scope.key('row', index, '')}`;\n const [row] = useState(\n ScopeUtils.create({\n ...original,\n parent: scope,\n name,\n crud: scope.crud,\n index,\n type: 'row',\n data: item,\n })\n );\n\n //v5\n const targetRef = useRef(null);\n const isVisible = useIsVisible(targetRef, row);\n\n const onClick = (item: any) => {\n row.call('click', { value: item, item, edit: true, index });\n };\n\n const Child = () => {\n if (!isVisible && original.useIsInView && !row.visible && index > 20) {\n return <></>;\n }\n return (\n <>\n <UIChildren transient scope={row} crud={row.crud}>\n {props.children}\n </UIChildren>\n </>\n );\n };\n\n const ListItem = () => {\n let [updateIndex, setUpdateIndex] = useState(0);\n let key = scope.key('item');\n\n row.selected = row.getPart('isSelectedRow', undefined, false);\n\n const getRowStyle = () => {\n let css = row.getStyle('row', { ...styles.row, minHeight: 30 });\n\n if (row.selected) {\n css = { ...css, ...row.getStyle('rowSelected', {}) };\n } else {\n css = { ...css, ...row.getStyle('rowUnSelected', {}) };\n }\n\n if (cols > 0) {\n css.width = rowWidth;\n }\n\n return css;\n };\n\n row.update = () => {\n scope.updateIndex = scope.updateIndex + 1;\n\n setUpdateIndex(++updateIndex);\n };\n\n let renderedRow = row.getPart('renderedItem', undefined, true);\n\n if (renderedRow === false) {\n return <></>;\n }\n\n if (!original.click) {\n return (\n <View key={key} style={getRowStyle()} ref={targetRef}>\n <Child />\n </View>\n );\n }\n return (\n <TouchableHighlight\n key={key}\n style={getRowStyle()}\n underlayColor={'transparent'}\n ref={targetRef}\n onPress={(e) => {\n e.stopPropagation();\n onClick(item);\n }}\n >\n <Child />\n </TouchableHighlight>\n );\n };\n\n return <ListItem />;\n}\n\nconst stylesList = StyleSheet.create({\n row: {\n padding: 5,\n margin: 0,\n width: '100%',\n backgroundColor: 'background',\n gap: 10,\n borderRadius: 8,\n justifyContent: 'center',\n },\n});\n\nconst stylesRepeat = StyleSheet.create({\n row: {\n padding: 0,\n width: '100%',\n justifyContent: 'center',\n },\n});\n","import { useEffect, useState } from 'react';\r\nimport { Scope } from 'react-crud-utils';\r\nimport { Dimensions, Platform } from 'react-native';\r\n\r\nexport function useIsVisible(ref: any, scope: Scope) {\r\n const [isVisible, setIsVisible] = useState(scope.visible === true);\r\n\r\n useEffect(() => {\r\n const checkVisibility = () => {\r\n if (!ref.current || isVisible || !scope.original?.useIsInView) return;\r\n\r\n if (Platform.OS === 'web') {\r\n const rect = ref.current.getBoundingClientRect?.();\r\n\r\n if (rect && typeof window !== 'undefined') {\r\n const windowHeight = window.innerHeight;\r\n const visible = rect.top < windowHeight && rect.bottom > 0;\r\n\r\n if (visible) scope.visible = visible;\r\n\r\n setIsVisible(visible);\r\n }\r\n } else {\r\n ref.current.measureInWindow?.((x, y, width, height) => {\r\n const windowHeight = Dimensions.get('window').height;\r\n const visible = y < windowHeight && y + height > 0;\r\n\r\n if (visible) scope.visible = visible;\r\n setIsVisible(visible);\r\n });\r\n }\r\n };\r\n\r\n const interval = setInterval(checkVisibility, 300); // roda a cada 300ms\r\n return () => clearInterval(interval);\r\n }, [ref]);\r\n\r\n return isVisible;\r\n}\r\n","import React, { useState } from 'react';\nimport { ChildType, Utils } from 'react-crud-utils';\nimport { StyleSheet, Text, TouchableHighlight, View } from 'react-native';\nimport UIListRow from './UIListRow';\n\nexport default function UIToggle(props: ChildType) {\n const scope = props.scope;\n const options = Utils.nvl(scope.getOptions(), []);\n const value = scope.getInputValue();\n\n let [index, setIndex] = useState(0);\n\n const isSelected = (item: any) => {\n return item?.value === value;\n };\n\n const onClick = (item: any) => {\n scope.changeValue(item.object);\n setIndex(++index);\n };\n\n const Item = ({ item, index }) => {\n let selected = isSelected(item);\n let style: any = { ...styles.text, ...scope.getStyle('text') };\n\n if (selected) style.color = '#ffffff';\n\n if (Utils.isEmpty(props.children)) {\n return <Text style={style}>{item.label}</Text>;\n }\n\n return (\n <UIListRow scope={scope} item={item.object} index={index}>\n {props.children}\n </UIListRow>\n );\n };\n\n const getItemStyle = (item: any) => {\n let style = { ...styles.item, ...scope.getStyle('item') };\n\n let wPart = 100 / options.length;\n let width = Math.floor(wPart) + '%';\n\n if (isSelected(item)) {\n let selectedColor = scope.getPart('selectedColor', undefined, 'primary');\n let st = scope.getStyle('selected', {\n backgroundColor: selectedColor,\n color: '#ffffff',\n });\n\n style = { ...style, ...st };\n\n if (!style.color) {\n style.color = '#ffffff';\n }\n\n const backgroundColor = item.backgroundColor;\n const color = item.color;\n\n if (item.backgroundColor) style = { ...style, backgroundColor };\n if (item.color) style = { ...style, color };\n } else {\n style.backgroundColor = '#fff';\n style.color = '#000';\n }\n\n style.width = width;\n\n return style;\n };\n\n return (\n <View style={{ ...styles.container, ...scope.getStyle('items') }}>\n {options.map((item: any, i: number) => (\n <TouchableHighlight\n key={`k-${i}`}\n style={getItemStyle(item)}\n onPress={e => {\n onClick(item);\n }}\n >\n <Item item={item} index={i} />\n </TouchableHighlight>\n ))}\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n width: '100%',\n justifyContent: 'center',\n flexDirection: 'row',\n alignItems: 'center',\n margin: 3,\n gap: 5,\n },\n item: {\n backgroundColor: 'background',\n justifyContent: 'center',\n alignItems: 'center',\n width: 'auto',\n flexDirection: 'row',\n flex: 1,\n padding: 5,\n borderRadius: 2,\n },\n text: {\n fontSize: 13,\n fontWeight: '400',\n },\n});\n","import { Ionicons } from '@expo/vector-icons';\nimport { useState } from 'react';\nimport { ChildType, Utils } from 'react-crud-utils';\nimport { Text, TouchableHighlight, View } from 'react-native';\n\nexport default function UIQuantity(props: ChildType) {\n const scope = props.scope;\n const element = scope.original;\n\n let [index, setIndex] = useState(0);\n\n const value = scope.getValue(0);\n\n let color = element.color;\n\n if (!color) color = 'primary';\n\n const btn = {\n padding: 0,\n alignItems: 'center',\n height: 30,\n width: 30,\n textAlign: 'center',\n verticalAling: 'middle',\n borderRadius: 24,\n backgroundColor: color,\n color: '#ffffff',\n justifyContent: 'center',\n };\n\n const styles: any = {\n buttonLabel: {\n color: '#ffffff',\n fontWeight: '500',\n fontSize: 16,\n },\n value: {\n flex: 1,\n flexDirection: 'row',\n textAlign: 'center',\n fontWeight: '500',\n },\n buttonInner: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n buttonIcon: {\n color: '#fff',\n fontSize: 18,\n },\n button: btn,\n addButton: {\n ...btn,\n },\n delButton: {\n ...btn,\n },\n };\n\n const change = (val: number) => {\n scope.changeValue(value + val);\n setIndex(++index);\n };\n\n const onClickAdd = () => {\n change(1);\n };\n\n const onClickDel = () => {\n change(-1);\n };\n\n const style = (part: string, extra?: any) => {\n let s = { ...styles[part], ...extra };\n return scope.getStyle(part, s);\n };\n\n return (\n <>\n <TouchableHighlight\n underlayColor={'transparent'}\n onPress={onClickDel}\n style={style('delButton')}\n >\n <Ionicons size={30} style={style('buttonIcon')} name=\"remove\" />\n </TouchableHighlight>\n <Text style={style('value')}>{Utils.nvl(value, 0)}</Text>\n <TouchableHighlight\n underlayColor={'transparent'}\n onPress={onClickAdd}\n style={style('addButton')}\n >\n <Ionicons size={30} style={style('buttonIcon')} name=\"add\" />\n </TouchableHighlight>\n </>\n );\n}\n","import { useRef, useState } from 'react';\nimport { ChildType, ComponentUtils, Utils } from 'react-crud-utils';\nimport {\n Text,\n TouchableOpacity,\n StyleSheet,\n Modal,\n View,\n ScrollView,\n} from 'react-native';\nimport UIChildren from '../UIChildren';\nimport Ionicons from '@expo/vector-icons/Ionicons';\nimport UIToast from './UIToast';\nimport { SafeAreaView } from 'react-native-safe-area-context';\ninterface UIModalType extends ChildType {\n open?: boolean;\n dialog?: any;\n}\n\nexport default function UIModal(props: UIModalType) {\n const scrollRef = useRef(null);\n\n let owner = props.scope;\n let [index, setIndex] = useState(0);\n let dialog = owner.currentDialog;\n //v2\n\n let curr = dialog?.crud;\n\n if (!dialog) {\n return <></>;\n }\n\n dialog.update = () => {\n setIndex(++index);\n };\n\n if (dialog.debug) console.log(dialog);\n\n //const modalVisible = curr.uuid === main.dialog?.crud?.uuid;\n const scope = dialog.scope;\n const label = scope.getLabel();\n const theme = scope.getTheme();\n const headerStyle = Utils.nvl(theme.styles?.defaults?.header, {});\n const headerRight = ComponentUtils.getDefine(props, 'header', 'right');\n const bottom = ComponentUtils.getDefine(props, 'bottom');\n\n const style = (part: string, extra?: any) => {\n let st = { ...styles[part], ...extra };\n\n return { ...scope.getStyle(part, st) };\n };\n\n const onClose = () => {\n scope.close({ scope, crud: dialog?.crud, event: {} });\n };\n\n scope.put('scrollRef', scrollRef);\n\n const original = owner.original;\n\n ComponentUtils.setViewScope(scope);\n\n let color = Utils.nvl(headerStyle.color, 'white');\n let defaults = { color };\n let key = `${curr.name}-${index}`;\n\n let ModalContent = ({ children }) => {\n let disableScroll = scope.part('disableScroll', false);\n let disableContent = scope.part('disableContent', false);\n\n if (disableContent) {\n return <>{children}</>;\n }\n\n if (disableScroll) {\n return <View style={style('modalContent')}>{children}</View>;\n }\n return (\n <ScrollView\n contentContainerStyle={{ flexGrow: 1, paddingBottom: 50 }}\n style={style('modalContent')}\n nestedScrollEnabled={true}\n ref={scrollRef}\n >\n {children}\n </ScrollView>\n );\n };\n\n const ModalInner = () => {\n let Content = () => {\n if (dialog?.component) {\n let cprops = dialog.props;\n let Aux = dialog.component;\n\n return <Aux key={curr.uuid} crud={curr} {...cprops} />;\n }\n\n return (\n <UIChildren scope={scope} crud={curr}>\n {props.children}\n </UIChildren>\n );\n };\n\n let content = <Content />;\n let area = {};\n\n if (original.transient) {\n return (\n <SafeAreaView style={style('modalSafe', area)}>{content}</SafeAreaView>\n );\n }\n\n return (\n <SafeAreaView style={style('modalSafe', area)}>\n <View style={scope.getStyle('header', headerStyle)}>\n <TouchableOpacity onPress={onClose} style={style('modalCloseButton')}>\n <Ionicons\n name=\"chevron-back-outline\"\n size={24}\n color={color}\n style={style('modalCloseText', defaults)}\n />\n </TouchableOpacity>\n <Text style={style('modalTitle', defaults)}>{label}</Text>\n {!Utils.isEmpty(headerRight) && (\n <UIChildren scope={scope} crud={curr} transient>\n {headerRight}\n </UIChildren>\n )}\n </View>\n <ModalContent>{content}</ModalContent>\n {bottom}\n <UIToast />\n </SafeAreaView>\n );\n };\n return (\n <Modal\n key={key}\n animationType=\"slide\"\n transparent={true}\n visible={true}\n onRequestClose={onClose}\n >\n <ModalInner />\n </Modal>\n );\n}\n\nconst styles = StyleSheet.create({\n modalTop: {\n backgroundColor: 'background',\n width: '100%',\n },\n modalSafe: {\n flex: 1,\n width: '100%',\n backgroundColor: 'background',\n },\n modalCloseButton: {\n padding: 10,\n },\n modalCloseText: {\n fontSize: 18,\n color: 'white',\n },\n modalTitle: {\n fontSize: 22,\n fontWeight: 600,\n marginLeft: 10,\n },\n modalContent: {\n flex: 1,\n backgroundColor: 'background',\n paddingLeft: 15,\n paddingRight: 15,\n paddingTop: 10,\n paddingBottom: 10,\n },\n});\n","import { StyleSheet } from 'react-native';\nimport Toast, { BaseToast, ErrorToast } from 'react-native-toast-message';\n\nexport default function UIToast() {\n const toastConfig = {\n success: props => (\n <BaseToast\n {...props}\n style={styles.darkToast}\n contentContainerStyle={{ paddingHorizontal: 15 }}\n text1Style={styles.text}\n text2Style={styles.text}\n />\n ),\n error: props => (\n <ErrorToast\n {...props}\n style={styles.darkToast}\n text1Style={styles.text}\n text2Style={styles.text}\n />\n ),\n info: props => (\n <BaseToast\n {...props}\n style={styles.darkToast}\n text1Style={styles.text}\n text2Style={styles.text}\n />\n ),\n };\n\n const styles = StyleSheet.create({\n darkToast: {\n backgroundColor: 'rgba(34, 34, 34, 0.85)',\n borderLeftColor: '#222', // borda mais escura\n },\n text: {\n color: '#fff', // letras brancas\n textAlign: 'center',\n },\n });\n return <Toast config={toastConfig} />;\n}\n","import { ScrollView, StyleSheet, Text, View } from 'react-native';\n\nimport UIChildren from '../UIChildren';\nimport { ChildType, ComponentUtils, Utils, ViewUtils } from 'react-crud-utils';\nimport { useCallback, useRef } from 'react';\nimport UIToast from './UIToast';\nimport UIHeader from './UIHeader';\n\nexport default function UIView({ scope, children }: ChildType) {\n const scrollRef = useRef(null);\n const original = scope.original;\n\n const onScroll = () => {\n const crud = ViewUtils.getCrud();\n\n Utils.each(crud.scroll, s => {\n if (s.onScroll) {\n s.onScroll.call(s);\n }\n });\n };\n\n //v5\n scope.put('scrollRef', scrollRef);\n\n ComponentUtils.setViewScope(scope);\n\n let Container = () => {\n if (original.scroll === false) {\n return <UIChildren scope={scope}>{children}</UIChildren>;\n }\n\n return (\n <View style={scope.getStyle('container', styles.container)}>\n <ScrollView\n onScroll={onScroll}\n scrollEventThrottle={16}\n ref={scrollRef}\n nestedScrollEnabled={true}\n keyboardShouldPersistTaps=\"handled\"\n contentContainerStyle={scope.getStyle('contentContainer', {\n paddingBottom: 50,\n })}\n style={scope.getStyle('scroll', styles.scroll)}\n >\n <UIChildren scope={scope}>{children}</UIChildren>\n </ScrollView>\n </View>\n );\n };\n return (\n <>\n <UIHeader scope={scope} />\n <Container />\n <UIToast /> {/* <- este componente precisa estar aqui */}\n </>\n );\n}\n\nconst styles = StyleSheet.create({\n scroll: {\n paddingTop: 10,\n paddingBottom: 10,\n paddingLeft: 15,\n paddingRight: 15,\n },\n container: {},\n view: {},\n});\n","import { Text, View } from 'react-native';\n\nimport { ChildType, HtmlUtils, Utils } from 'react-crud-utils';\n\nexport default function UIHeader({ scope }: ChildType) {\n const theme = scope.getTheme();\n const header = scope.getPart('header', null, []);\n const headerStyle = Utils.nvl(theme.styles?.defaults?.header, {});\n const headerTextStyle = Utils.nvl(theme.styles?.defaults?.headerText, {});\n\n let headerStyleFull = Utils.call(() => {\n let css = scope.getStyle('header', headerStyle);\n let bg = css.backgroundColor;\n\n if (bg) {\n css.color = HtmlUtils.getTextColor(bg);\n }\n return css;\n });\n\n let hasHeader = !Utils.isEmpty(header);\n let AuxHeader = () => {\n if (typeof header === 'string') {\n return <Text style={headerTextStyle}>{header}</Text>;\n }\n return <>{header}</>;\n };\n\n return (\n <>\n {hasHeader && (\n <View style={headerStyleFull}>\n <AuxHeader />\n </View>\n )}\n </>\n );\n}\n","import React, { useRef, useState, useEffect } from 'react';\nimport { ChildType, OptionType, Utils } from 'react-crud-utils';\nimport {\n View,\n Text,\n StyleSheet,\n Animated,\n PanResponder,\n TouchableOpacity,\n} from 'react-native';\n\nconst ITEM_HEIGHT = 70;\n\nexport default function UIOrder(props: ChildType) {\n const scope = props.scope;\n const element = scope.original;\n const initial: OptionType[] = scope.getOptions();\n\n const [items, setItems] = useState<OptionType[]>(initial);\n const [draggingId, setDraggingId] = useState<string | null>(null);\n\n // O tipo Animated.Value em um ambiente TypeScript puro não tem o método ._value,\n // mas é a propriedade interna usada para acessar o valor diretamente.\n // Usamos 'any' no acesso para suprimir o erro TS.\n const positions = useRef<Record<string, Animated.Value>>(\n Object.fromEntries(\n initial.map((it, i) => [it.value, new Animated.Value(i * ITEM_HEIGHT)])\n )\n ).current;\n\n const panRespondersRef = useRef<Record<string, any>>({});\n\n const activeItem = useRef<OptionType | null>(null);\n const activeIndex = useRef<number>(-1);\n const offsetY = useRef(0);\n\n // Armazena a lista mais recente em uma ref para uso em funções de PanResponder\n const itemsRef = useRef(items);\n useEffect(() => {\n itemsRef.current = items;\n }, [items]);\n\n // 1. Atualiza posições apenas para itens existentes\n useEffect(() => {\n items.forEach((it, idx) => {\n if (!positions[it.value])\n positions[it.value] = new Animated.Value(idx * ITEM_HEIGHT);\n\n Animated.spring(positions[it.value], {\n toValue: idx * ITEM_HEIGHT,\n useNativeDriver: false,\n }).start();\n });\n }, [items]);\n\n const onChange = (updated: any[]) => {\n const array: any[] = [];\n const items = scope.getItems();\n\n items.splice(0);\n\n Utils.each(updated, o => {\n const v = o.object;\n\n array.push(v);\n items.push(v);\n });\n\n scope.changeValue(array);\n };\n\n const createPanResponder = (item: OptionType) =>\n PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onPanResponderGrant: () => {\n // Use itemsRef.current para obter a lista mais recente no momento do arrasto.\n const currentItems = itemsRef.current;\n if (\n !positions[item.value] ||\n !currentItems.find(it => it.value === item.value)\n )\n return;\n\n activeItem.current = item;\n activeIndex.current = currentItems.findIndex(\n it => it.value === item.value\n );\n // CORREÇÃO: Usa a propriedade interna _value para acessar o valor atual\n offsetY.current = (positions[item.value] as any)._value; // 👈 CORREÇÃO APLICADA\n setDraggingId(item.value);\n },\n onPanResponderMove: (_, gesture) => {\n const currentItems = itemsRef.current;\n if (\n !positions[item.value] ||\n !currentItems.find(it => it.value === item.value)\n )\n return;\n\n const y = offsetY.current + gesture.dy;\n positions[item.value].setValue(y);\n\n const targetIndex = Math.max(\n 0,\n Math.min(\n currentItems.length - 1,\n Math.floor((y + ITEM_HEIGHT / 2) / ITEM_HEIGHT)\n )\n );\n\n currentItems.forEach((other, idx) => {\n if (other.value === item.value || !positions[other.value]) return;\n let targetY = idx * ITEM_HEIGHT;\n if (idx > activeIndex.current && idx <= targetIndex)\n targetY = (idx - 1) * ITEM_HEIGHT;\n else if (idx < activeIndex.current && idx >= targetIndex)\n targetY = (idx + 1) * ITEM_HEIGHT;\n\n Animated.timing(positions[other.value], {\n toValue: targetY,\n duration: 120,\n useNativeDriver: false,\n }).start();\n });\n },\n onPanResponderRelease: () => {\n const moved = activeItem.current;\n const currentItems = itemsRef.current;\n\n if (\n !moved ||\n !positions[moved.value] ||\n !currentItems.find(it => it.value === moved.value)\n )\n return;\n\n // CORREÇÃO: Usa a propriedade interna _value para obter a posição final\n const finalY = (positions[moved.value] as any)._value; // 👈 CORREÇÃO APLICADA\n const newIndex = Math.max(\n 0,\n Math.min(\n currentItems.length - 1,\n Math.floor((finalY + ITEM_HEIGHT / 2) / ITEM_HEIGHT)\n )\n );\n\n const oldIndex = activeIndex.current;\n const updated = [...currentItems];\n const [removed] = updated.splice(oldIndex, 1);\n updated.splice(newIndex, 0, removed);\n\n // Atualiza o state com a nova ordem.\n setItems(updated);\n onChange(updated);\n\n // A animação final agora está no useEffect, mas fazemos a limpeza das refs.\n setDraggingId(null);\n activeItem.current = null;\n activeIndex.current = -1;\n },\n });\n\n // Cria/Reusa os PanResponders\n items.forEach(it => {\n if (!panRespondersRef.current[it.value]) {\n panRespondersRef.current[it.value] = createPanResponder(it);\n }\n });\n\n const removeItem = (id: string) => {\n if (draggingId === id) {\n setDraggingId(null);\n activeItem.current = null;\n activeIndex.current = -1;\n }\n\n // CORREÇÃO: Delete a referência Animated.Value *e* a referência PanResponder\n if (positions[id]) {\n delete positions[id];\n }\n if (panRespondersRef.current[id]) {\n delete panRespondersRef.current[id];\n }\n\n setItems(prev => {\n const updated = prev.filter(it => it.value !== id);\n\n // Anima os itens restantes para seus novos índices\n updated.forEach((it, idx) => {\n if (positions[it.value])\n Animated.spring(positions[it.value], {\n toValue: idx * ITEM_HEIGHT,\n useNativeDriver: false,\n }).start();\n });\n\n onChange(updated);\n return updated;\n });\n };\n\n const Empty = () => {\n if (Utils.isEmpty(items)) {\n let empty = scope.part('empty', 'Sem registro');\n\n if (empty !== false) return <>{empty}</>;\n }\n\n return <></>;\n };\n\n return (\n <View style={styles.container}>\n <Empty />\n <View style={{ height: items.length * ITEM_HEIGHT, width: '100%' }}>\n {items.map(item => {\n const y = positions[item.value];\n if (!y) return null;\n\n const isDragging = draggingId === item.value;\n const itemStyle = scope.getStyle('row', { ...styles.item });\n\n return (\n <Animated.View\n key={item.value}\n {...(panRespondersRef.current[item.value]?.panHandlers ?? {})}\n style={[\n itemStyle,\n {\n position: 'absolute',\n left: 0,\n right: 0,\n height: ITEM_HEIGHT - 8,\n transform: [{ translateY: y }],\n zIndex: isDragging ? 999 : 0,\n elevation: isDragging ? 999 : 0,\n },\n ]}\n >\n <View style={styles.handle}>\n <Text style={styles.handleText}>≡</Text>\n </View>\n <Text style={styles.itemText}>{item.label}</Text>\n {element.remove && (\n <TouchableOpacity\n onPress={() => removeItem(item.value)}\n style={styles.del}\n >\n <Text style={{ color: '#fff' }}>X</Text>\n </TouchableOpacity>\n )}\n </Animated.View>\n );\n })}\n </View>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: { flex: 1 },\n title: { fontSize: 18, fontWeight: '600', marginBottom: 12 },\n item: {\n backgroundColor: '#fff',\n borderRadius: 10,\n marginVertical: 4,\n paddingHorizontal: 12,\n alignItems: 'center',\n flexDirection: 'row',\n elevation: 3,\n shadowColor: '#000',\n shadowOpacity: 0.05,\n shadowRadius: 6,\n },\n handle: { width: 40, alignItems: 'center', justifyContent: 'center' },\n handleText: { fontSize: 22, color: '#666' },\n itemText: { fontSize: 16, flex: 1 },\n del: {\n backgroundColor: '#e74c3c',\n height: 34,\n width: 34,\n borderRadius: 6,\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n","import UIChildren from '../UIChildren';\nimport { ComponentUtils, DefineType, Utils } from 'react-crud-utils';\n\nexport default function UIInclude(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 {\n Keyboard,\n KeyboardAvoidingView,\n Platform,\n StatusBar,\n StyleProp,\n TouchableWithoutFeedback,\n ViewStyle,\n} from 'react-native';\nimport {\n SafeAreaProvider,\n SafeAreaView as SafeAreaContextView,\n} from 'react-native-safe-area-context';\nimport { ThemeUtils, useTheme, Utils } from 'react-crud-utils';\n\ninterface SafeViewType {\n safeStyle?: StyleProp<ViewStyle> | any;\n viewStyle?: StyleProp<ViewStyle> | any;\n children?: any;\n}\n\nexport default function SafeView(props: SafeViewType) {\n let theme = ThemeUtils.getCurrentTheme();\n //v2\n\n if (Utils.isEmpty(theme)) {\n theme = useTheme();\n }\n\n const dismissKeyboard = () => {\n if (Platform.OS !== 'web') {\n Keyboard.dismiss();\n }\n };\n\n return (\n <SafeAreaProvider>\n <SafeAreaContextView\n style={{\n backgroundColor: theme.colors?.theme,\n ...props.viewStyle,\n flex: 1,\n }}\n >\n <StatusBar barStyle=\"dark-content\" backgroundColor=\"#f5f5f5\" />\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : 'height'}\n style={{\n flex: 1, // 🔹 Ocupa 100% da tela\n justifyContent: 'flex-start',\n }}\n >\n <TouchableWithoutFeedback\n onPress={dismissKeyboard}\n accessible={false}\n >\n <>{props.children}</>\n </TouchableWithoutFeedback>\n </KeyboardAvoidingView>\n </SafeAreaContextView>\n </SafeAreaProvider>\n );\n}\n","import {\n ListType,\n UserType,\n InputType,\n ChartType,\n ContainerType,\n ListInputType,\n TabsType,\n DefineType,\n ButtonType,\n IconType,\n LinkType,\n SliderType,\n} from 'react-crud-utils';\nimport UIElement from './UIElement';\n\nimport UIInclude from './core/UIInclude';\nimport SafeView from './core/SafeView';\n\nconst UI = {\n Order: (props: ListType) => <UIElement {...props} type=\"order\" />,\n List: (props: ListType) => <UIElement {...props} type=\"list\" />,\n Row: (props: UserType) => <UIElement {...props} type=\"row\" />,\n Value: (props: UserType) => <UIElement {...props} type=\"value\" />,\n Label: (props: UserType) => <UIElement {...props} type=\"label\" />,\n Repeat: (props: ListType) => (\n <UIElement {...props} type=\"repeat\" props={{ search: false }} />\n ),\n Define: (props: DefineType) => <UIElement {...props} type=\"define\" />,\n Include: (props: DefineType) => <UIInclude {...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 Textarea: (props: InputType) => <UIElement {...props} type=\"textarea\" />,\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: IconType) => <UIElement {...props} type=\"icon\" transient />,\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=\"switch\" />,\n Switch: (props: InputType) => <UIElement {...props} type=\"switch\" />,\n Radio: (props: ListInputType) => <UIElement {...props} type=\"radio\" />,\n Select: (props: ListInputType) => <UIElement {...props} type=\"select\" />,\n Toggle: (props: ListInputType) => <UIElement {...props} type=\"toggle\" />,\n Entity: (props: ListInputType) => <UIElement {...props} type=\"entity\" />,\n Element: (props: ListInputType) => <UIElement {...props} type=\"element\" />,\n Quantity: (props: ListInputType) => <UIElement {...props} type=\"quantity\" />,\n Slider: (props: SliderType) => <UIElement {...props} type=\"slider\" />,\n SafeView: SafeView,\n};\nexport default UI;\n"],"mappings":"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","names":["React","useEffect","useRef","useState","React","React","React","useState","Utils","useState","element","React","React","Utils","styles","HtmlUtils","ScopeUtils","Utils","ComponentUtils","CrudUtils","ViewUtils","Text","TouchableOpacity","Linking","styles","Ionicons","Utils","Utils","Text","Utils","styles","extra","Text","useState","Utils","Text","TouchableOpacity","StyleSheet","View","Ionicons","useState","Utils","value","styles","View","TouchableOpacity","Text","Ionicons","StyleSheet","useState","Utils","useState","Utils","Text","TouchableOpacity","Linking","styles","Text","TouchableOpacity","Linking","styles","useState","Utils","StyleSheet","View","Ionicons","styles","Linking","StyleSheet","Text","TouchableHighlight","View","React","useState","ComponentUtils","Utils","StyleSheet","Text","View","React","useRef","useState","ScopeUtils","StyleSheet","TouchableHighlight","View","useEffect","useState","styles","useState","ScopeUtils","useRef","item","React","View","TouchableHighlight","StyleSheet","Ionicons","Utils","styles","stylesRepeat","stylesList","ComponentUtils","useState","items","React","Text","View","StyleSheet","React","useState","Utils","StyleSheet","Text","TouchableHighlight","View","Utils","useState","index","styles","React","Text","View","TouchableHighlight","StyleSheet","Ionicons","useState","Utils","Text","TouchableHighlight","styles","useRef","useState","ComponentUtils","Utils","Text","TouchableOpacity","StyleSheet","Modal","View","ScrollView","Ionicons","StyleSheet","styles","SafeAreaView","useRef","useState","Utils","ComponentUtils","styles","View","ScrollView","TouchableOpacity","Ionicons","Text","Modal","StyleSheet","Ionicons","ScrollView","StyleSheet","View","ComponentUtils","Utils","ViewUtils","useRef","Text","View","Utils","useRef","ViewUtils","Utils","ComponentUtils","View","styles","ScrollView","StyleSheet","Toast","React","useRef","useState","useEffect","Utils","View","Text","StyleSheet","TouchableOpacity","items","styles","Utils","useState","ScopeUtils","useRef","Toast","React","styles","useEffect","Ionicons","Linking","HtmlUtils","props","View","TouchableHighlight","Text","ComponentUtils","box","ViewUtils","crud","CrudUtils","StyleSheet","ComponentUtils","Utils","Platform","Utils"]}
1
+ {"version":3,"sources":["../src/elements/UIElement.tsx","../src/elements/UIChildren.tsx","../src/elements/tabs/ElTabs.tsx","../src/elements/charts/ElChart.tsx","../src/elements/core/UIAutoComplete.tsx","../src/elements/UIComplete.tsx","../src/elements/core/UILink.tsx","../src/elements/core/UIIcon.tsx","../src/elements/core/UIButton.tsx","../src/elements/core/UISelect.tsx","../src/elements/core/UISwitch.tsx","../src/elements/core/UISlider.tsx","../src/elements/core/UIOption.tsx","../src/elements/core/UIRadio.tsx","../src/elements/core/UIInput.tsx","../src/elements/core/UIList.tsx","../src/elements/core/UIListRow.tsx","../src/hooks/useIsVisible.ts","../src/elements/core/UIToggle.tsx","../src/elements/core/UIQuantity.tsx","../src/elements/core/UIModal.tsx","../src/elements/core/UIToast.tsx","../src/elements/core/UIView.tsx","../src/elements/core/UIHeader.tsx","../src/elements/core/UIOrder.tsx","../src/elements/core/UIInclude.tsx","../src/elements/core/SafeView.tsx","../src/elements/UI.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n} from 'react';\nimport UIChildren from './UIChildren';\nimport ElTabs from './tabs/ElTabs';\nimport ElChart from './charts/ElChart';\nimport UIComplete from './UIComplete';\nimport {\n Crud,\n HtmlUtils,\n ScopeUtils,\n Utils,\n ElementType,\n MethodType,\n ActionType,\n ComponentUtils,\n CrudUtils,\n ViewUtils,\n Scope,\n} from 'react-crud-utils';\nimport UILink from './core/UILink';\nimport UIIcon from './core/UIIcon';\nimport UIButton from './core/UIButton';\nimport UISelect from './core/UISelect';\nimport UISwitch from './core/UISwitch';\nimport UISlider from './core/UISlider';\nimport UIOption from './core/UIOption';\nimport UIRadio from './core/UIRadio';\nimport UIInput from './core/UIInput';\nimport {\n Alert,\n Image,\n Linking,\n StyleSheet,\n Text,\n TouchableHighlight,\n View,\n} from 'react-native';\nimport UIList from './core/UIList';\nimport UIToggle from './core/UIToggle';\nimport UIQuantity from './core/UIQuantity';\nimport UIModal from './core/UIModal';\nimport { Ionicons } from '@expo/vector-icons';\nimport UIView from './core/UIView';\nimport Toast from 'react-native-toast-message';\nimport UIOrder from './core/UIOrder';\n\nconst CrudContext = createContext<any>({});\n\nexport default function UIElement(props: ElementType) {\n const ctx = useContext(CrudContext);\n const theme = Utils.nvl(props.theme, ctx?.theme);\n\n let crud: Crud = Utils.nvl(props.crud, ctx?.crud);\n let [scope] = useState<Scope>(ScopeUtils.create({ crud, ...props, theme }));\n let [index, setIndex] = useState(0);\n let [error, setError]: string | any = useState(null);\n\n scope.compile(props);\n\n crud = scope.crud;\n\n let options: any = scope.getOptions();\n\n let original = scope.original;\n let ref = useRef(null);\n\n scope.update = () => {\n setIndex(++index);\n };\n\n scope.updateElement = () => {\n setIndex(++index);\n };\n\n scope.toast = (message: string, type = 'info', args?: any) => {\n Toast.show({\n type, // 'success' | 'error' | 'info'\n text1: message,\n position: 'bottom', // 'top' é outra opção\n visibilityTime: 3000, // tempo que fica visível em ms\n ...args,\n });\n };\n\n scope.prompt = (args: MethodType) => {\n let event = args.event as ActionType;\n\n if (event) {\n let message = 'Você tem certeza que deseja continuar?';\n let title = 'Atenção';\n let prompt = event.prompt;\n\n if (typeof prompt === 'string') {\n message = prompt;\n }\n\n if (typeof prompt === 'object') {\n message = Utils.nvl(prompt.message, message);\n title = Utils.nvl(prompt.title, title);\n }\n\n Alert.alert(\n title,\n message,\n [\n {\n text: 'Cancelar',\n style: 'cancel',\n },\n {\n text: 'Confirmar',\n onPress: () => scope.execute(args),\n },\n ],\n { cancelable: false }\n );\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 if (scope.currentDialog?.component) return;\n\n scope.call('click');\n };\n\n let defaultsInput: any = {\n scope,\n crud,\n onChange: onChange,\n };\n\n if (scope.isType('password')) {\n defaultsInput.type = 'password';\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 let isInput = scope.is(\n 'type',\n 'text',\n 'textarea',\n 'number',\n 'integer',\n 'int',\n 'phone',\n 'postalCode',\n 'money',\n 'password',\n 'email'\n );\n\n const getStyle = (part?: string, extra?: any) => {\n let type = Utils.nvl(original.type, 'none');\n let key = Utils.nvl(part, 'root');\n let def = { ...styles[key] };\n let hasChild = hasChildren();\n\n type = Utils.nvl(original.layout, type);\n\n if (!part && !hasChild) {\n def = { ...def };\n }\n\n if (scope.isInput()) {\n def = { ...def, ...elementStyle.input[key] };\n }\n\n def = { ...def, ...elementStyle?.[type]?.[key] };\n\n if (hasChild && part) {\n def = { ...def, ...withChildStyles[part] };\n }\n\n return { ...def, ...scope.getStyle(part, { ...def, ...extra }) };\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 scope.error = (msg: string) => {\n error = msg;\n setError(msg);\n };\n\n if (!original.list?.url && !original.load?.url) {\n scope.start();\n }\n\n useEffect(() => {\n scope.start();\n });\n\n const CustomIcon = () => {\n if (typeof original.icon === 'string') {\n return <Ionicons name={original.icon} style={scope.getStyle('icon')} />;\n }\n return <>{original.icon}</>;\n };\n\n scope.open = (args: any) => {\n Linking.openURL(args.url);\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?.classList) {\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 (\n typeof original.label !== 'undefined' &&\n original.label !== false &&\n !scope.isType('button', 'dialog', 'modal')\n ) {\n return true;\n }\n\n return false;\n };\n\n const isShowInner = () => {\n if (scope.isType('icon')) return false;\n if (hasChildren()) {\n return false;\n }\n return true;\n };\n\n if (!scope.isRendered() || scope.is('type', 'define')) {\n return <></>;\n }\n\n const isShowChild = () => {\n if (\n scope.isType(\n 'tabs',\n 'view',\n 'grid',\n 'list',\n 'define',\n 'repeat',\n 'modal',\n 'dialog',\n 'chart'\n )\n ) {\n return false;\n }\n\n return true;\n };\n\n let isTouch =\n !scope.isType('input', 'grid', 'list', 'order', 'repeat') && original.click;\n let custom: any = {};\n\n if (isTouch) {\n custom.underlayColor = 'transparent';\n custom.onPress = onClick;\n }\n\n let Tag = (props: any) => {\n let Aux: any = View;\n\n if (isTouch) {\n Aux = TouchableHighlight;\n }\n\n if (scope.isType('dialog', 'order') || original.transient) {\n return <>{props.children}</>;\n }\n\n return <Aux {...props} />;\n };\n\n let Inner = () => {\n return (\n <>\n {scope.getPart('render', null, <></>)}\n {scope.is('type', 'button') && (\n <UIButton\n {...defaultsUI}\n onClick={onClick}\n variant={scope.attr('variant', 'outlined')}\n >\n {original.icon && <CustomIcon />}\n {original.label && (\n <Text style={scope.getPart('label', 'button')}>\n {scope.getLabel()}\n </Text>\n )}\n </UIButton>\n )}\n {scope.is('type', 'link') && (\n <UILink\n {...defaultsUI}\n onClick={onClick}\n variant={scope.attr('variant', 'outlined')}\n >\n {original.icon && <CustomIcon />}\n {original.label && (\n <Text style={scope.getPart('label', 'link')}>\n {scope.getLabel()}\n </Text>\n )}\n </UILink>\n )}\n {isInput && (\n <UIInput\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', 'quantity') && (\n <UIQuantity\n scope={scope}\n defaultsInput={defaultsInput}\n defaultsUI={defaultsUI}\n />\n )}\n {scope.is('type', 'checkbox', 'boolean', 'switch') && (\n <UISwitch\n checked={isChecked()}\n {...defaultsInput}\n onChange={onCheck}\n />\n )}\n {scope.isType('slider') && (\n <UISlider {...defaultsInput} onChange={onCheck} />\n )}\n {scope.is('type', 'select') && (\n <UISelect\n {...defaultsInput}\n {...defaultsUI}\n value={scope.getSelectedValue()}\n />\n )}\n {scope.is('type', 'toggle') && (\n <UIToggle\n {...defaultsInput}\n {...defaultsUI}\n value={scope.getSelectedValue()}\n />\n )}\n {scope.is('type', 'radio') && (\n <UIRadio {...defaultsInput} {...defaultsUI} row>\n {options.map((row: any, i: number) => (\n <UIOption\n key={'i' + i}\n control={<UIRadio {...defaultsUI} />}\n label={row.label}\n value={row.value}\n />\n ))}\n </UIRadio>\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') && <UIIcon scope={scope} crud={crud} />}\n {!scope.is('format', 'icon', 'img') && (\n <Text>{scope.getDisplayValue()}</Text>\n )}\n </>\n )}\n {scope.is('type', 'output', 'value') && (\n <Text style={getStyle('value')}>{scope.getDisplayValue()}</Text>\n )}\n </>\n );\n };\n\n let Include = ({ name, style }: any) => {\n if (props[name]) {\n let define = ComponentUtils.getDefine(props, name);\n\n if (!Utils.isEmpty(define)) {\n return (\n <UIChildren\n {...props}\n scope={scope}\n crud={crud}\n style={getStyle(name, style)}\n >\n {define}\n </UIChildren>\n );\n }\n }\n return <></>;\n };\n\n let Container = () => {\n return (\n <>\n {isShowLabel() && (\n <View\n style={getStyle('outerLabel', {\n alignSelf: 'flex-start',\n flexDirection: 'row',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n width: '100%',\n })}\n >\n <Text style={getStyle('label')}>{scope.getLabel()}</Text>\n <Include name=\"actions\" style={{ width: 'auto' }} />\n </View>\n )}\n {isShowInner() && (\n <>\n <View style={getStyle('inner')}>\n <Inner />\n </View>\n {error && (\n <View\n style={getStyle('error', {\n fontSize: 12,\n paddingTop: 4,\n color: '#e55b5b',\n })}\n >\n {error}\n </View>\n )}\n </>\n )}\n {scope.isType('list', 'repeat') && (\n <UIList {...props} scope={scope} crud={crud} />\n )}\n {scope.isType('order') && (\n <UIOrder {...props} scope={scope} crud={crud} />\n )}\n\n {scope.isType('chart') && (\n <ElChart {...props} scope={scope} crud={crud} />\n )}\n {scope.isType('tabs') && (\n <ElTabs {...props} scope={scope} crud={crud} />\n )}\n\n {scope.isType('view') && (\n <UIView {...props} scope={scope} crud={crud} />\n )}\n\n {scope.is('type', 'icon') && (\n <UIIcon\n {...defaultsUI}\n onClick={onClick}\n variant={scope.attr('variant', 'outlined')}\n >\n {scope.getDisplayValue()}\n </UIIcon>\n )}\n\n {isShowChild() && (\n <UIChildren\n {...props}\n scope={scope}\n crud={crud}\n style={getStyle('inner')}\n />\n )}\n <UIModal {...props} scope={scope} crud={crud} />\n </>\n );\n };\n\n let Card = (props: any) => {\n let isCard = scope.is('type|layout', 'card');\n\n if (scope.isType('list')) {\n let empty = scope.getPart('empty', null, undefined);\n let items = scope.getItems();\n\n if (empty === false && Utils.isEmpty(items)) {\n isCard = false;\n }\n }\n\n if (isCard) {\n let box = {\n ...getStyle('box', { ...boxStyle.box, alignSelf: 'stretch' }),\n };\n\n let borderWidth = original.boxBorder;\n\n if (borderWidth || borderWidth === 0) {\n if (borderWidth === true) {\n borderWidth = 1;\n }\n\n box = { ...box, borderWidth };\n }\n\n return (\n <View style={getStyle('card', { ...box })}>\n <View\n style={getStyle('boxInner', {\n paddingHorizontal: 15,\n paddingVertical: 10,\n })}\n >\n {props.children}\n </View>\n </View>\n );\n }\n\n if (scope.isInput() || original.container) {\n return (\n <View\n style={getStyle('container', { paddingVertical: 5, width: '100%' })}\n >\n {props.children}\n </View>\n );\n }\n return <>{props.children}</>;\n };\n\n scope.dialogShow = (args?: MethodType) => {\n let event = Utils.nvl(args?.event, {});\n\n if (event?.debug) console.log(args);\n\n let caller = args.caller;\n let main = ViewUtils.getCrud('view');\n let parent = main.dialog;\n let { crud } = args;\n let name = scope.getName('modal');\n let edit = args.edit === true;\n let def: any = {};\n let rowItem = null;\n let component = event?.component;\n let elo = Utils.nvl(caller?.original, original);\n\n if (crud.is('row')) {\n def.parent = crud.parent.parent;\n def.search = crud.parent;\n\n rowItem = crud.data;\n } else if (crud.is('search')) {\n def.parent = crud.parent;\n def.search = crud;\n }\n\n let crudData = crud.data;\n let eventData = Utils.nvl(event.data, event.send);\n\n if (typeof eventData === 'function') {\n eventData = eventData.call(this, args);\n }\n\n if (event.send === false || event.data === false) {\n crudData = {};\n }\n\n let data = Utils.nvl(eventData, args.item, rowItem, crudData, {});\n\n let d = CrudUtils.create('dialog', {\n parent: crud,\n root: crud,\n name,\n data,\n edit,\n scope,\n ...def,\n });\n\n let el: any = {\n label: elo.label,\n icon: elo.icon,\n type: 'dialog',\n };\n\n let close = event.dialog?.close;\n\n if (typeof event.dialog === 'object') {\n el = { ...el, ...event.dialog };\n }\n\n if (event.header) el.header = event.header;\n if (event.label) el.label = event.label;\n if (event.title) el.title = event.title;\n\n let label = Utils.nvl(el.title, el.label);\n\n el.label = label;\n\n let dialogScope = ScopeUtils.create({\n parent: scope,\n crud: d,\n ...el,\n owner: scope,\n });\n\n let dialog = {\n crud: d,\n label,\n parent,\n component,\n scope: dialogScope,\n close,\n props: event.props,\n debug: event.debug,\n };\n\n main.dialog = dialog;\n scope.currentDialog = dialog;\n\n if (parent) parent.update?.();\n scope.update();\n };\n\n scope.dialogHide = (args?: MethodType) => {\n let main = ViewUtils.getCrud('view');\n let current = main.dialog;\n let next = Utils.nvl(current.parent, null);\n\n main.dialog = next;\n scope.currentDialog = next;\n\n let nextScope = next?.scope?.parent;\n let currScope = current?.scope?.parent;\n\n if (currScope) {\n const close = current.close;\n\n currScope.update();\n\n if (close) {\n if (close?.debug) console.log('Fechando');\n current.scope.call('close', { close });\n }\n }\n\n if (nextScope) {\n nextScope.update();\n }\n };\n\n if (original.hideEmpty && !scope.isType('list', 'select', 'complete')) {\n let value = scope.getValue();\n\n if (Utils.isEmpty(value)) return <></>;\n }\n\n return (\n <CrudContext.Provider value={{ crud, theme }}>\n <Tag ref={ref} style={getStyle()} {...custom}>\n <Card>\n <Container />\n </Card>\n </Tag>\n </CrudContext.Provider>\n );\n}\n\nlet boxStyle = StyleSheet.create({\n box: {\n borderWidth: 1,\n borderColor: '#dedede',\n borderStyle: 'solid',\n backgroundColor: 'white',\n borderRadius: 10,\n width: '100%',\n shadowColor: '#000',\n shadowOpacity: 0.1,\n shadowRadius: 4,\n elevation: 3,\n },\n});\n\nconst box: any = {\n ...boxStyle.box,\n};\n//v5\nconst elementStyle: any = {};\n\nelementStyle.view = {\n inner: {\n width: '100%',\n alignItems: 'normal',\n flex: 1,\n },\n container: {\n width: '100%',\n backgroundColor: 'background',\n flex: 1,\n gap: 10,\n },\n root: {\n width: '100%',\n flex: 1,\n alignItems: 'normal',\n padding: 0,\n },\n};\n\nelementStyle.input = StyleSheet.create({\n label: {\n paddingLeft: 0,\n },\n inner: {\n flex: 1,\n width: '100%',\n padding: 0,\n gap: 10,\n alignSelf: 'flex-start',\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n});\n\nelementStyle.quantity = {\n inner: {\n ...box,\n backgroundColor: 'primarySoft',\n fontWeight: 600,\n fontSize: 16,\n borderRadius: 25,\n borderWidth: 0,\n paddingHorizontal: 5,\n paddingVertical: 5,\n flexWrap: 'nowrap',\n flex: 1,\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n },\n};\n\nelementStyle.toggle = StyleSheet.create({\n root: {\n height: 'auto',\n },\n inner: {\n ...box,\n flex: 1,\n width: '100%',\n gap: 10,\n borderRadius: 2,\n justifyContent: 'center',\n flexDirection: 'row',\n alignSelf: 'flex-start',\n flexWrap: 'nowrap',\n },\n});\n\nconst styles = StyleSheet.create({\n root: {\n gap: 5,\n flexDirection: 'column',\n flexWrap: 'wrap',\n width: '100%',\n alignItems: 'flex-start',\n },\n label: {\n fontWeight: 600,\n fontSize: 12,\n paddingVertical: 3,\n color: 'labelColor',\n },\n inner: { width: '100%', justifyContent: 'space-between' },\n});\n\nconst withChildStyles = StyleSheet.create({\n root: {\n gap: 10,\n },\n label: {\n width: '100%',\n fontWeight: 500,\n fontSize: 24,\n },\n});\n","import React, { useState } from 'react';\nimport UIElement from './UIElement';\nimport { Crud, Scope, ScopeUtils, Utils } from 'react-crud-utils';\nimport { StyleSheet, View } from 'react-native';\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 style?: any;\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 const getStyle = (part?: string) => {\n let key = Utils.nvl(part, 'root');\n let def = styles[key];\n let css = {};\n\n if (!Utils.isEmpty(props.style)) {\n if (props.style?.push) {\n Utils.each(props.style, s => {\n if (s) {\n css = { ...css, ...s };\n }\n });\n } else {\n css = { ...props.style };\n }\n }\n return { ...def, ...css, ...scope.getStyle(part) };\n };\n\n if (props.transient) {\n return <Draw />;\n }\n return (\n <>\n <View style={getStyle(name)}>\n <Draw />\n </View>\n </>\n );\n}\n\nconst styles = StyleSheet.create({\n child: { width: '100%' },\n inner: { width: '100%' },\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 UIAutoComplete(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/UIAutoComplete';\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 { Text, TouchableOpacity, Linking, StyleSheet } from 'react-native';\r\n\r\nexport default function UILink(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 {\n Ionicons,\n MaterialCommunityIcons,\n AntDesign,\n Entypo,\n EvilIcons,\n} from '@expo/vector-icons';\n\nimport { ChildType, Utils } from 'react-crud-utils';\n\nexport default function UIIcon({ scope }: ChildType) {\n let name = scope.getValue();\n let libs: any = {\n ion: Ionicons,\n ant: AntDesign,\n entypo: Entypo,\n evil: EvilIcons,\n material: MaterialCommunityIcons,\n };\n\n let library = Utils.nvl(scope.original.library, 'ion');\n let Aux = libs[library];\n let css: any = scope.getStyle('icon');\n let fontSize = scope.part('size', 20);\n let size = scope.part('iconSize', fontSize);\n\n if (scope.original?.transient) {\n css = { ...css, ...scope.getStyle() };\n }\n\n return <Aux size={size} name={name} style={css} />;\n}\n","import { Ionicons } from '@expo/vector-icons';\nimport { ChildType, Utils } from 'react-crud-utils';\nimport { Text, TouchableHighlight, View } from 'react-native';\nimport UI from '../UI';\n\nconst BUTTONS_SIZE: any = { small: { minWidth: 30, height: 30 } };\n\nexport default function UIButton(props: ChildType) {\n let scope = props.scope;\n let element = scope.original;\n let size = Utils.nvl(element.size, 'default');\n let align = Utils.nvl(element.align, 'center');\n let variant = Utils.nvl(element.variant, 'default');\n\n let color = element.color;\n let label = scope.getLabel();\n let icon = scope.getPart('icon');\n\n //ajuste align v6\n if (!color) color = 'primaryLight';\n\n const styles: any = {\n buttonLabel: {\n color: '#ffffff',\n fontWeight: 400,\n fontSize: 15,\n },\n buttonInner: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n height: 44,\n minWidth: 44,\n },\n buttonIcon: {\n color: '#fff',\n fontSize: 16,\n },\n button: {\n backgroundColor: color,\n borderRadius: 20,\n gap: 10,\n justifyContent: 'center',\n alignItems: 'center',\n flexDirection: 'row',\n },\n };\n\n const onClick = (e: any) => {\n scope.call('click', {});\n };\n\n const style = (part: string, extra?: any) => {\n let css = { ...styles[part], ...extra };\n\n if (variant === 'text' || variant === 'outlined') {\n css.backgroundColor = 'transparent';\n css.color = Utils.nvl(color, 'text');\n }\n\n if (size === 'small') {\n css.fontSize = 12;\n css.fontWeight = 500;\n }\n\n if (size === 'medium') {\n css.fontSize = 14;\n css.fontWeight = 500;\n }\n\n if (align === 'left') {\n css.justifyContent = 'flex-start';\n }\n\n return scope.getStyle(part, css);\n };\n\n let extra: any = {};\n\n if (icon) {\n extra.button = { height: 40, padding: 0 };\n } else {\n extra.button = { height: 50 };\n }\n\n const buttonStyle = Utils.call(() => {\n let def: any = { ...extra?.button };\n\n if (variant === 'outlined') {\n def.borderWidth = 1;\n def.borderColor = Utils.nvl(color, 'text');\n }\n\n if (size) {\n def = { ...def, ...BUTTONS_SIZE[size] };\n }\n\n if (!label) {\n def = { ...def, borderRadius: 20 };\n }\n\n let css = style('button', def);\n\n if (!css.width) {\n let h = css.height;\n\n if (typeof h === 'number') {\n css.minWidth = h;\n }\n }\n\n return css;\n });\n\n const buttonLabel = style('buttonLabel');\n const iconStyle = Utils.call(() => {\n let css: any = style('buttonIcon', extra.icon);\n\n css.fontSize = Utils.nvl(buttonLabel.fontSize, css.fontSize);\n\n return css;\n });\n\n return (\n <TouchableHighlight\n underlayColor={'transparent'}\n onPress={onClick}\n style={buttonStyle}\n >\n <>\n {icon && (\n <>\n <UI.Icon\n size={Utils.nvl(element.iconSize, 30)}\n style={iconStyle}\n value={icon}\n />\n </>\n )}\n {label && <Text style={buttonLabel}>{label}</Text>}\n </>\n </TouchableHighlight>\n );\n}\n","import { useRef, useState } from 'react';\nimport { ChildType, MethodType, Utils, ViewUtils } from 'react-crud-utils';\nimport {\n Text,\n TouchableOpacity,\n StyleSheet,\n Modal,\n View,\n ScrollView,\n} from 'react-native';\nimport { Ionicons } from '@expo/vector-icons';\nimport UI from '../UI';\nimport { SafeAreaView } from 'react-native-safe-area-context';\n\nexport default function UISelect(props: ChildType) {\n const [modalVisible, setModalVisible] = useState(false);\n const scope = props.scope;\n const original = scope.original;\n const items = Utils.nvl(scope.getOptions(), []);\n const placeholder = scope.attr('placeholder', 'Selecione...');\n const value = scope.getDisplayValue();\n const theme = scope.getTheme();\n const headerStyle = Utils.nvl(theme.styles?.defaults?.header, {});\n const handlePress = () => {\n setModalVisible(!modalVisible);\n };\n\n const scrollRef = useRef(null);\n const iconColor = Utils.nvl(theme.colors?.text, '#100e0e');\n const modalColor = Utils.nvl(headerStyle.color, 'white');\n const defaults = { color: modalColor };\n const onClick = ({ crud, value }: MethodType) => {\n let val = value as any;\n\n if (original.isObject && val?.object) {\n scope.changeValue(val?.object);\n } else if (val?.value) {\n scope.changeValue(val?.value);\n } else {\n scope.changeValue(value);\n }\n\n setModalVisible(false);\n };\n\n const style = (part: string, extra?: any) => {\n let all = { ...styles[part], ...extra };\n\n return scope.getStyle(part, all);\n };\n\n const isModalVisible = () => {\n return modalVisible;\n };\n\n const getLabelStyle = () => {\n const css: any = style('selectLabel');\n let fs = parseInt(css.fontSize);\n\n if (!fs) {\n fs = 14;\n }\n\n let lh = Utils.nvl(css.lineHeight, fs + 2);\n\n css.fontSize = fs;\n css.lineHeight = lh;\n\n return css;\n };\n\n const labelStyle = getLabelStyle();\n const defIconSize = Utils.nvl(labelStyle.fontSize, 14) + 2;\n const iconSize = scope.getPart('iconSize', null, defIconSize);\n\n //v4\n\n return (\n <View\n key={scope.getName(`${scope.getPart('modal')}_${modalVisible}`)}\n style={style('selectRoot')}\n >\n <TouchableOpacity onPress={handlePress} style={style('selectInput')}>\n <Text style={labelStyle}>{Utils.nvl(value, placeholder)}</Text>\n <Ionicons\n name=\"chevron-down-outline\"\n size={iconSize}\n color={scope.getPart('iconColor', null, iconColor)}\n style={style('iconStyle', {})}\n />\n </TouchableOpacity>\n <Modal\n animationType=\"slide\"\n transparent={true}\n visible={isModalVisible()}\n onRequestClose={() => setModalVisible(false)}\n >\n <SafeAreaView style={style('modalTop')} />\n <SafeAreaView style={style('modalSafe')}>\n <View style={scope.getStyle('header', headerStyle)}>\n <TouchableOpacity\n onPress={handlePress}\n style={style('modalCloseButton')}\n >\n <Ionicons\n name=\"close\"\n size={24}\n color={modalColor}\n style={style('modalCloseText', defaults)}\n />\n </TouchableOpacity>\n <Text style={style('modalTitle', defaults)}>{placeholder}</Text>\n </View>\n <ScrollView\n contentContainerStyle={{ flexGrow: 1, paddingBottom: 50 }}\n style={style('modalContent')}\n nestedScrollEnabled={true}\n ref={scrollRef}\n >\n <View\n style={{\n flex: 1,\n paddingLeft: 15,\n paddingRight: 15,\n paddingTop: 10,\n paddingBottom: 10,\n }}\n >\n <UI.List\n data={items}\n name={scope.getName('list')}\n layout=\"card\"\n search={original.search === true}\n click={onClick}\n rowStyle={{\n paddingLeft: 15,\n paddinRight: 15,\n ...original?.rowStyle,\n }}\n {...original?.listProps}\n >\n <UI.Value value=\"#{@this.label}\" />\n </UI.List>\n </View>\n </ScrollView>\n </SafeAreaView>\n </Modal>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n selectRoot: {\n justifyContent: 'flex-start',\n alignItems: 'flex-start',\n flex: 1,\n },\n selectInput: {\n width: '100%',\n flexDirection: 'row',\n borderRadius: 5,\n paddingHorizontal: 15,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: '#dedede',\n paddingVertical: 10,\n },\n selectLabel: { flex: 1, fontSize: 14 },\n modalTop: {\n backgroundColor: 'primary',\n width: '100%',\n },\n modalSafe: {\n flex: 1,\n width: '100%',\n backgroundColor: 'background',\n },\n modalCloseButton: {\n padding: 10,\n },\n modalCloseText: {\n fontSize: 18,\n color: 'white',\n },\n modalTitle: {\n fontSize: 18,\n fontWeight: 'bold',\n marginLeft: 10,\n },\n modalContent: {\n flex: 1,\n backgroundColor: 'background',\n },\n});\n","import { useState } from 'react';\r\nimport { ChildType, Utils } from 'react-crud-utils';\r\nimport { Switch } from 'react-native';\r\n\r\nexport default function UISwitch(props: ChildType) {\r\n const scope = props.scope;\r\n const initial = Utils.nvl(scope.getValue(), false) as boolean;\r\n const [value, setValue] = useState(initial);\r\n\r\n let onChange = v => {\r\n scope.changeValue(v);\r\n\r\n setValue(v);\r\n };\r\n\r\n return (\r\n <Switch\r\n value={value}\r\n style={scope.getStyle('element')}\r\n onValueChange={onChange} // Alterna o estado\r\n />\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { useState } from 'react';\r\nimport { ChildType, ComponentUtils, Utils } from 'react-crud-utils';\r\nimport { Switch } from 'react-native';\r\nimport Slider from '@react-native-community/slider';\r\n\r\nexport default function UISlider(props: ChildType) {\r\n const scope = props.scope;\r\n const initial = Utils.nvl(scope.getValue(), 0);\r\n const [value, setValue] = useState(initial);\r\n\r\n //redeploy 0\r\n\r\n let onChange = v => {\r\n v = Utils.nvl(v, 0);\r\n\r\n console.log(v);\r\n\r\n scope.changeValue(v);\r\n\r\n setValue(v);\r\n };\r\n\r\n let step = scope.attr('step', 1);\r\n let min = scope.attr('min', 0);\r\n let max = scope.attr('min', 100);\r\n\r\n let onSlideScroll = (scrollEnabled: boolean) => {\r\n let viewScope = ComponentUtils.getViewScope();\r\n\r\n if (scope.original.debug) {\r\n console.log(viewScope);\r\n }\r\n\r\n if (viewScope) {\r\n let scrollRef = viewScope.get('scrollRef');\r\n\r\n if (scrollRef) scrollRef.current?.setNativeProps?.({ scrollEnabled });\r\n }\r\n };\r\n return (\r\n <>\r\n <Slider\r\n minimumValue={min}\r\n maximumValue={max}\r\n step={step}\r\n minimumTrackTintColor=\"#1EB1FC\"\r\n maximumTrackTintColor=\"#d3d3d3\"\r\n thumbTintColor=\"#1EB1FC\"\r\n value={value}\r\n onSlidingStart={() => onSlideScroll(false)}\r\n onSlidingComplete={() => onSlideScroll(true)}\r\n style={{ width: '100%', height: 40, ...scope.getStyle('element') }}\r\n onValueChange={onChange} // Alterna o estado\r\n />\r\n </>\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 UIOption(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 UIRadio(props: any) {\r\n const handlePress = () => {\r\n Linking.openURL('https://reactnative.dev/');\r\n };\r\n\r\n return (\r\n <TouchableOpacity onPress={handlePress}>\r\n <Text style={styles.link}>Clique aqui para acessar o React Native</Text>\r\n </TouchableOpacity>\r\n );\r\n}\r\n\r\nconst styles = {\r\n link: {},\r\n};\r\n","import { useState } from 'react';\nimport { ChildType, Utils } from 'react-crud-utils';\nimport { StyleSheet, TextInput, View } from 'react-native';\nimport { Ionicons } from '@expo/vector-icons';\n\nexport default function UIInput(props: ChildType) {\n let scope = props.scope;\n let initial = Utils.call(() => {\n let val = Utils.nvl(scope.getValue(), '');\n\n if (val && val?.push) {\n return val.join(', ').trim();\n }\n return val;\n });\n\n let label = scope.getLabel();\n let placeholder = scope.getPart('placeholder', null, label);\n let el = scope.original;\n\n const element = scope.original;\n const [height, setHeight] = useState(80);\n const [value, setValue] = useState(initial);\n\n let onChange = v => {\n v = scope.changeValue(v);\n\n setValue(v);\n };\n\n const style = (part: string, extra?: any) => {\n return { ...scope.getStyle(part, { ...styles[part], ...extra }) };\n };\n\n const CustomIcon = () => {\n let icon = el.icon;\n\n if (icon) {\n if (typeof icon === 'string') {\n return (\n <>\n {el.icon && (\n <Ionicons\n name={el.icon}\n size={scope.attr('iconSize', 20)}\n color={scope.attr('iconColor', '#888')}\n />\n )}\n </>\n );\n }\n return <>{icon}</>;\n }\n return <></>;\n };\n\n let type = scope.getPart('type', null, 'text');\n let decode = {\n textarea: {\n multiline: true,\n autoHeight: element.autoHeight !== false,\n textAlignVertical: 'top',\n numberOfLines: 5,\n style: { height: Math.max(80, height) },\n baseStyle: { paddingVertical: 10 },\n },\n };\n\n //v5\n let defs = { ...Utils.nvl(decode[type], {}), ...element.inputProps };\n let inputStyle = Utils.call(() => {\n let size = element.size;\n let css: any = {};\n\n if (size === 'small') {\n css.height = 30;\n css.fontSize = 12;\n }\n\n css.fontSize = Utils.nvl(element.fontSize, css.fontSize);\n css = { ...style('input'), ...style(type, css) };\n css.lineHeight = parseInt(css.fontSize) + 2;\n //v1\n return css;\n });\n\n if (defs.autoHeight) {\n defs.onContentSizeChange = event => {\n setHeight(event.nativeEvent.contentSize.height);\n };\n\n inputStyle = { ...inputStyle, ...defs.style };\n }\n\n return (\n <>\n <View style={style('base', defs?.baseStyle)}>\n {scope.getPart('left')}\n <TextInput\n onChangeText={onChange}\n value={value}\n placeholder={placeholder}\n {...defs}\n style={inputStyle}\n />\n <CustomIcon />\n </View>\n {scope.getPart('right')}\n </>\n );\n}\n\nconst styles = StyleSheet.create({\n base: {\n flex: 1,\n width: '100%',\n paddingBottom: 0,\n paddingTop: 0,\n alignItems: 'center',\n borderWidth: 1,\n borderColor: 'borderColor',\n borderRadius: 5,\n paddingHorizontal: 10,\n alignSelf: 'flex-start',\n flexDirection: 'row',\n flexWrap: 'wrap',\n gap: 10,\n },\n icon: {\n marginRight: 10, // Espaço entre ícone e input\n },\n input: {\n marginHorizontal: 0,\n marginVertical: 0,\n paddingVertical: 0,\n height: 40,\n width: '100%',\n flex: 1, // Para o input ocupar o espaço restante\n },\n textarea: {\n marginHorizontal: 0,\n marginVertical: 0,\n paddingVertical: 10,\n width: '100%',\n height: 'auto',\n alignSelf: 'stretch',\n flex: 1, // Para o input ocupar o espaço restante\n },\n});\n","import React, { useState } from 'react';\nimport { ChildType, ComponentUtils, Utils } from 'react-crud-utils';\nimport { StyleSheet, Text, View } from 'react-native';\nimport UIListRow from './UIListRow';\nimport UI from '../UI';\nimport { Ionicons } from '@expo/vector-icons';\n\nexport default function UIList(props: ChildType) {\n const scope = props.scope;\n const crud = scope.crud;\n const original = scope.original;\n const cols = Utils.nvl(scope.getPart('cols', undefined, 1));\n const styles = { repeat: stylesRepeat, list: stylesList }?.[original.type];\n const add = ComponentUtils.getDefine(props, 'add');\n const hideAddWhenEmpty = original.hideAddWhenEmpty;\n const hideEmpty = original.hideEmpty;\n\n //v2\n const getStyle = (key: string, extra?: any) => {\n return scope.getStyle(key, { ...extra, ...styles[key] });\n };\n\n const getContainerStyle = (extra?: any) => {\n let row = getStyle('container', {});\n\n if (cols > 1) {\n row = { ...row, flexDirection: 'row', flexWrap: 'wrap' };\n }\n\n return row;\n };\n\n const LocalData = () => {\n let [index, setIndex] = useState(scope.updateIndex);\n let empty = scope.attr('empty', 'Sem registro');\n\n scope.update = () => {\n scope.updateIndex = ++index;\n\n setIndex(index);\n };\n\n const items = Utils.call(() => {\n let list = Utils.nvl(scope.getItems(), []);\n\n if (original.search !== false && !original.list?.url) {\n let query = crud\n .get('query', '')\n .toLowerCase()\n .trim() as string;\n\n if (query.length > 1) {\n let filters: any[] = [];\n let filterBy = Utils.nvl(original.filterBy, 'label');\n\n Utils.each(list, o => {\n let label = Utils.getValue(filterBy, 'none', o).toLowerCase();\n\n if (label) {\n if (label.includes(query)) {\n filters.push(o);\n }\n }\n });\n\n return filters;\n }\n }\n return list;\n });\n\n let isEmpty = Utils.isEmpty(items);\n\n const isShowAdd = () => {\n if (!isEmpty) {\n return true;\n }\n return hideAddWhenEmpty !== true;\n };\n\n let Empty = () => {\n if (!isEmpty) {\n return <></>;\n }\n\n if (!empty) {\n return <></>;\n }\n\n if (typeof empty === 'string') {\n return (\n <Text\n style={scope.getStyle('empty', {\n flex: 1,\n fontWeight: 400,\n fontSize: 18,\n padding: 10,\n textAlign: 'center',\n width: '100%',\n justifyContent: 'center',\n alignItems: 'center',\n })}\n >\n {empty}\n </Text>\n );\n }\n\n return <>{empty}</>;\n };\n\n if (empty === false && isEmpty) {\n return <></>;\n }\n\n return (\n <View style={getContainerStyle()}>\n <Empty />\n {items.map((item: any, i: number) => (\n <UIListRow index={i} item={item} scope={scope}>\n {props.children}\n </UIListRow>\n ))}\n {isShowAdd() && <>{add}</>}\n </View>\n );\n };\n\n let items = Utils.nvl(scope.getItems(), []);\n\n if (hideEmpty && Utils.isEmpty(items)) {\n return <></>;\n }\n\n return (\n <>\n {original.search !== false && (\n <UI.Text\n placeholder=\"Pesquisar...\"\n field=\"query\"\n crud={crud}\n style={{ marginBottom: 10 }}\n change={{\n action: () => {\n scope.search();\n },\n }}\n icon={<Ionicons name=\"search\" size={20} color=\"#888\" />}\n />\n )}\n <LocalData />\n </>\n );\n}\n\nconst stylesList = StyleSheet.create({\n container: {\n display: 'flex',\n flexWrap: 'wrap',\n gap: 10,\n width: '100%',\n },\n text: {\n fontSize: 18,\n fontWeight: 'bold',\n },\n});\n\nconst stylesRepeat = StyleSheet.create({\n container: {\n display: 'flex',\n flexWrap: 'wrap',\n gap: 10,\n width: '100%',\n },\n text: {\n fontSize: 18,\n fontWeight: 'bold',\n },\n});\n","import React, { useRef, useState } from 'react';\nimport { ChildType, ScopeUtils, Utils } from 'react-crud-utils';\nimport UIChildren from '../UIChildren';\nimport { StyleSheet, TouchableHighlight, View } from 'react-native';\nimport { useIsVisible } from '../../hooks/useIsVisible';\n\ninterface UIListRowType extends ChildType {\n item: any;\n index: number;\n children?: any;\n}\n\nexport default function UIListRow(props: UIListRowType) {\n const scope = props.scope;\n const index = props.index;\n const original = scope.original;\n const item = props.item;\n const cols = scope.getPart('cols', undefined, -1);\n const rowWidth = Math.floor(100 / cols) + '%';\n const styles = { repeat: stylesRepeat, list: stylesList }?.[original.type];\n const name = `${scope.key('row', index, '')}`;\n const [row] = useState(\n ScopeUtils.create({\n ...original,\n parent: scope,\n name,\n crud: scope.crud,\n index,\n type: 'row',\n data: item,\n })\n );\n\n //v5\n const targetRef = useRef(null);\n const isVisible = useIsVisible(targetRef, row);\n\n const onClick = (item: any) => {\n row.call('click', { value: item, item, edit: true, index });\n };\n\n const Child = () => {\n if (!isVisible && original.useIsInView && !row.visible && index > 20) {\n return <></>;\n }\n return (\n <>\n <UIChildren transient scope={row} crud={row.crud}>\n {props.children}\n </UIChildren>\n </>\n );\n };\n\n const ListItem = () => {\n let [updateIndex, setUpdateIndex] = useState(0);\n let key = scope.key('item');\n\n row.selected = row.getPart('isSelectedRow', undefined, false);\n\n const getRowStyle = () => {\n let css = row.getStyle('row', { ...styles.row, minHeight: 30 });\n\n if (row.selected) {\n css = { ...css, ...row.getStyle('rowSelected', {}) };\n } else {\n css = { ...css, ...row.getStyle('rowUnSelected', {}) };\n }\n\n if (cols > 0) {\n css.width = rowWidth;\n }\n\n return css;\n };\n\n row.update = () => {\n scope.updateIndex = scope.updateIndex + 1;\n\n setUpdateIndex(++updateIndex);\n };\n\n let renderedRow = row.getPart('renderedItem', undefined, true);\n\n if (renderedRow === false) {\n return <></>;\n }\n\n if (!original.click) {\n return (\n <View key={key} style={getRowStyle()} ref={targetRef}>\n <Child />\n </View>\n );\n }\n return (\n <TouchableHighlight\n key={key}\n style={getRowStyle()}\n underlayColor={'transparent'}\n ref={targetRef}\n onPress={(e) => {\n e.stopPropagation();\n onClick(item);\n }}\n >\n <Child />\n </TouchableHighlight>\n );\n };\n\n return <ListItem />;\n}\n\nconst stylesList = StyleSheet.create({\n row: {\n padding: 5,\n margin: 0,\n width: '100%',\n backgroundColor: 'background',\n gap: 10,\n borderRadius: 8,\n justifyContent: 'center',\n },\n});\n\nconst stylesRepeat = StyleSheet.create({\n row: {\n padding: 0,\n width: '100%',\n justifyContent: 'center',\n },\n});\n","import { useEffect, useState } from 'react';\r\nimport { Scope } from 'react-crud-utils';\r\nimport { Dimensions, Platform } from 'react-native';\r\n\r\nexport function useIsVisible(ref: any, scope: Scope) {\r\n const [isVisible, setIsVisible] = useState(scope.visible === true);\r\n\r\n useEffect(() => {\r\n const checkVisibility = () => {\r\n if (!ref.current || isVisible || !scope.original?.useIsInView) return;\r\n\r\n if (Platform.OS === 'web') {\r\n const rect = ref.current.getBoundingClientRect?.();\r\n\r\n if (rect && typeof window !== 'undefined') {\r\n const windowHeight = window.innerHeight;\r\n const visible = rect.top < windowHeight && rect.bottom > 0;\r\n\r\n if (visible) scope.visible = visible;\r\n\r\n setIsVisible(visible);\r\n }\r\n } else {\r\n ref.current.measureInWindow?.((x, y, width, height) => {\r\n const windowHeight = Dimensions.get('window').height;\r\n const visible = y < windowHeight && y + height > 0;\r\n\r\n if (visible) scope.visible = visible;\r\n setIsVisible(visible);\r\n });\r\n }\r\n };\r\n\r\n const interval = setInterval(checkVisibility, 300); // roda a cada 300ms\r\n return () => clearInterval(interval);\r\n }, [ref]);\r\n\r\n return isVisible;\r\n}\r\n","import React, { useState } from 'react';\nimport { ChildType, Utils } from 'react-crud-utils';\nimport { StyleSheet, Text, TouchableHighlight, View } from 'react-native';\nimport UIListRow from './UIListRow';\n\nexport default function UIToggle(props: ChildType) {\n const scope = props.scope;\n const options = Utils.nvl(scope.getOptions(), []);\n const value = scope.getInputValue();\n\n let [index, setIndex] = useState(0);\n\n const isSelected = (item: any) => {\n return item?.value === value;\n };\n\n const onClick = (item: any) => {\n scope.changeValue(item.object);\n setIndex(++index);\n };\n\n const Item = ({ item, index }) => {\n let selected = isSelected(item);\n let style: any = { ...styles.text, ...scope.getStyle('text') };\n\n if (selected) style.color = '#ffffff';\n\n if (Utils.isEmpty(props.children)) {\n return <Text style={style}>{item.label}</Text>;\n }\n\n return (\n <UIListRow scope={scope} item={item.object} index={index}>\n {props.children}\n </UIListRow>\n );\n };\n\n const getItemStyle = (item: any) => {\n let style = { ...styles.item, ...scope.getStyle('item') };\n\n let wPart = 100 / options.length;\n let width = Math.floor(wPart) + '%';\n\n if (isSelected(item)) {\n let selectedColor = scope.getPart('selectedColor', undefined, 'primary');\n let st = scope.getStyle('selected', {\n backgroundColor: selectedColor,\n color: '#ffffff',\n });\n\n style = { ...style, ...st };\n\n if (!style.color) {\n style.color = '#ffffff';\n }\n\n const backgroundColor = item.backgroundColor;\n const color = item.color;\n\n if (item.backgroundColor) style = { ...style, backgroundColor };\n if (item.color) style = { ...style, color };\n } else {\n style.backgroundColor = '#fff';\n style.color = '#000';\n }\n\n style.width = width;\n\n return style;\n };\n\n return (\n <View style={{ ...styles.container, ...scope.getStyle('items') }}>\n {options.map((item: any, i: number) => (\n <TouchableHighlight\n key={`k-${i}`}\n style={getItemStyle(item)}\n onPress={e => {\n onClick(item);\n }}\n >\n <Item item={item} index={i} />\n </TouchableHighlight>\n ))}\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n width: '100%',\n justifyContent: 'center',\n flexDirection: 'row',\n alignItems: 'center',\n margin: 3,\n gap: 5,\n },\n item: {\n backgroundColor: 'background',\n justifyContent: 'center',\n alignItems: 'center',\n width: 'auto',\n flexDirection: 'row',\n flex: 1,\n padding: 5,\n borderRadius: 2,\n },\n text: {\n fontSize: 13,\n fontWeight: '400',\n },\n});\n","import { Ionicons } from '@expo/vector-icons';\nimport { useState } from 'react';\nimport { ChildType, Utils } from 'react-crud-utils';\nimport { Text, TouchableHighlight, View } from 'react-native';\n\nexport default function UIQuantity(props: ChildType) {\n const scope = props.scope;\n const element = scope.original;\n\n let [index, setIndex] = useState(0);\n\n const value = scope.getValue(0);\n\n let color = element.color;\n\n if (!color) color = 'primary';\n\n const btn = {\n padding: 0,\n alignItems: 'center',\n height: 30,\n width: 30,\n textAlign: 'center',\n verticalAling: 'middle',\n borderRadius: 24,\n backgroundColor: color,\n color: '#ffffff',\n justifyContent: 'center',\n };\n\n const styles: any = {\n buttonLabel: {\n color: '#ffffff',\n fontWeight: '500',\n fontSize: 16,\n },\n value: {\n flex: 1,\n flexDirection: 'row',\n textAlign: 'center',\n fontWeight: '500',\n },\n buttonInner: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n },\n buttonIcon: {\n color: '#fff',\n fontSize: 18,\n },\n button: btn,\n addButton: {\n ...btn,\n },\n delButton: {\n ...btn,\n },\n };\n\n const change = (val: number) => {\n scope.changeValue(value + val);\n setIndex(++index);\n };\n\n const onClickAdd = () => {\n change(1);\n };\n\n const onClickDel = () => {\n change(-1);\n };\n\n const style = (part: string, extra?: any) => {\n let s = { ...styles[part], ...extra };\n return scope.getStyle(part, s);\n };\n\n return (\n <>\n <TouchableHighlight\n underlayColor={'transparent'}\n onPress={onClickDel}\n style={style('delButton')}\n >\n <Ionicons size={30} style={style('buttonIcon')} name=\"remove\" />\n </TouchableHighlight>\n <Text style={style('value')}>{Utils.nvl(value, 0)}</Text>\n <TouchableHighlight\n underlayColor={'transparent'}\n onPress={onClickAdd}\n style={style('addButton')}\n >\n <Ionicons size={30} style={style('buttonIcon')} name=\"add\" />\n </TouchableHighlight>\n </>\n );\n}\n","import { useRef, useState } from 'react';\nimport { ChildType, ComponentUtils, Utils } from 'react-crud-utils';\nimport {\n Text,\n TouchableOpacity,\n StyleSheet,\n Modal,\n View,\n ScrollView,\n} from 'react-native';\nimport UIChildren from '../UIChildren';\nimport Ionicons from '@expo/vector-icons/Ionicons';\nimport UIToast from './UIToast';\nimport { SafeAreaView } from 'react-native-safe-area-context';\ninterface UIModalType extends ChildType {\n open?: boolean;\n dialog?: any;\n}\n\nexport default function UIModal(props: UIModalType) {\n const scrollRef = useRef(null);\n\n let owner = props.scope;\n let [index, setIndex] = useState(0);\n let dialog = owner.currentDialog;\n //v2\n\n let curr = dialog?.crud;\n\n if (!dialog) {\n return <></>;\n }\n\n dialog.update = () => {\n setIndex(++index);\n };\n\n if (dialog.debug) console.log(dialog);\n\n //const modalVisible = curr.uuid === main.dialog?.crud?.uuid;\n const scope = dialog.scope;\n const label = scope.getLabel();\n const theme = scope.getTheme();\n const headerStyle = Utils.nvl(theme.styles?.defaults?.header, {});\n const headerRight = ComponentUtils.getDefine(props, 'header', 'right');\n const bottom = ComponentUtils.getDefine(props, 'bottom');\n\n const style = (part: string, extra?: any) => {\n let st = { ...styles[part], ...extra };\n\n return { ...scope.getStyle(part, st) };\n };\n\n const onClose = () => {\n scope.close({ scope, crud: dialog?.crud, event: {} });\n };\n\n scope.put('scrollRef', scrollRef);\n\n const original = owner.original;\n\n ComponentUtils.setViewScope(scope);\n\n let color = Utils.nvl(headerStyle.color, 'white');\n let defaults = { color };\n let key = `${curr.name}-${index}`;\n\n let ModalContent = ({ children }) => {\n let disableScroll = scope.part('disableScroll', false);\n let disableContent = scope.part('disableContent', false);\n\n if (disableContent) {\n return <>{children}</>;\n }\n\n if (disableScroll) {\n return <View style={style('modalContent')}>{children}</View>;\n }\n return (\n <ScrollView\n contentContainerStyle={{ flexGrow: 1, paddingBottom: 50 }}\n style={style('modalContent')}\n nestedScrollEnabled={true}\n ref={scrollRef}\n >\n {children}\n </ScrollView>\n );\n };\n\n const ModalInner = () => {\n let Content = () => {\n if (dialog?.component) {\n let cprops = dialog.props;\n let Aux = dialog.component;\n\n return <Aux key={curr.uuid} crud={curr} {...cprops} />;\n }\n\n return (\n <UIChildren scope={scope} crud={curr}>\n {props.children}\n </UIChildren>\n );\n };\n\n let content = <Content />;\n let area = {};\n\n if (original.transient) {\n return (\n <SafeAreaView style={style('modalSafe', area)}>{content}</SafeAreaView>\n );\n }\n\n return (\n <SafeAreaView style={style('modalSafe', area)}>\n <View style={scope.getStyle('header', headerStyle)}>\n <TouchableOpacity onPress={onClose} style={style('modalCloseButton')}>\n <Ionicons\n name=\"chevron-back-outline\"\n size={24}\n color={color}\n style={style('modalCloseText', defaults)}\n />\n </TouchableOpacity>\n <Text style={style('modalTitle', defaults)}>{label}</Text>\n {!Utils.isEmpty(headerRight) && (\n <UIChildren scope={scope} crud={curr} transient>\n {headerRight}\n </UIChildren>\n )}\n </View>\n <ModalContent>{content}</ModalContent>\n {bottom}\n <UIToast />\n </SafeAreaView>\n );\n };\n return (\n <Modal\n key={key}\n animationType=\"slide\"\n transparent={true}\n visible={true}\n onRequestClose={onClose}\n >\n <ModalInner />\n </Modal>\n );\n}\n\nconst styles = StyleSheet.create({\n modalTop: {\n backgroundColor: 'background',\n width: '100%',\n },\n modalSafe: {\n flex: 1,\n width: '100%',\n backgroundColor: 'background',\n },\n modalCloseButton: {\n padding: 10,\n },\n modalCloseText: {\n fontSize: 18,\n color: 'white',\n },\n modalTitle: {\n fontSize: 22,\n fontWeight: 600,\n marginLeft: 10,\n },\n modalContent: {\n flex: 1,\n backgroundColor: 'background',\n paddingLeft: 15,\n paddingRight: 15,\n paddingTop: 10,\n paddingBottom: 10,\n },\n});\n","import { StyleSheet } from 'react-native';\nimport Toast, { BaseToast, ErrorToast } from 'react-native-toast-message';\n\nexport default function UIToast() {\n const toastConfig = {\n success: props => (\n <BaseToast\n {...props}\n style={styles.darkToast}\n contentContainerStyle={{ paddingHorizontal: 15 }}\n text1Style={styles.text}\n text2Style={styles.text}\n />\n ),\n error: props => (\n <ErrorToast\n {...props}\n style={styles.darkToast}\n text1Style={styles.text}\n text2Style={styles.text}\n />\n ),\n info: props => (\n <BaseToast\n {...props}\n style={styles.darkToast}\n text1Style={styles.text}\n text2Style={styles.text}\n />\n ),\n };\n\n const styles = StyleSheet.create({\n darkToast: {\n backgroundColor: 'rgba(34, 34, 34, 0.85)',\n borderLeftColor: '#222', // borda mais escura\n },\n text: {\n color: '#fff', // letras brancas\n textAlign: 'center',\n },\n });\n return <Toast config={toastConfig} />;\n}\n","import { ScrollView, StyleSheet, Text, View } from 'react-native';\n\nimport UIChildren from '../UIChildren';\nimport { ChildType, ComponentUtils, Utils, ViewUtils } from 'react-crud-utils';\nimport { useCallback, useRef } from 'react';\nimport UIToast from './UIToast';\nimport UIHeader from './UIHeader';\n\nexport default function UIView({ scope, children }: ChildType) {\n const scrollRef = useRef(null);\n const original = scope.original;\n\n const onScroll = () => {\n const crud = ViewUtils.getCrud();\n\n Utils.each(crud.scroll, s => {\n if (s.onScroll) {\n s.onScroll.call(s);\n }\n });\n };\n\n //v5\n scope.put('scrollRef', scrollRef);\n\n ComponentUtils.setViewScope(scope);\n\n let Container = () => {\n if (original.scroll === false) {\n return <UIChildren scope={scope}>{children}</UIChildren>;\n }\n\n return (\n <View style={scope.getStyle('container', styles.container)}>\n <ScrollView\n onScroll={onScroll}\n scrollEventThrottle={16}\n ref={scrollRef}\n nestedScrollEnabled={true}\n keyboardShouldPersistTaps=\"handled\"\n contentContainerStyle={scope.getStyle('contentContainer', {\n paddingBottom: 50,\n })}\n style={scope.getStyle('scroll', styles.scroll)}\n >\n <UIChildren scope={scope}>{children}</UIChildren>\n </ScrollView>\n </View>\n );\n };\n return (\n <>\n <UIHeader scope={scope} />\n <Container />\n <UIToast /> {/* <- este componente precisa estar aqui */}\n </>\n );\n}\n\nconst styles = StyleSheet.create({\n scroll: {\n paddingTop: 10,\n paddingBottom: 10,\n paddingLeft: 15,\n paddingRight: 15,\n },\n container: {},\n view: {},\n});\n","import { Text, View } from 'react-native';\n\nimport { ChildType, HtmlUtils, Utils } from 'react-crud-utils';\n\nexport default function UIHeader({ scope }: ChildType) {\n const theme = scope.getTheme();\n const header = scope.getPart('header', null, []);\n const headerStyle = Utils.nvl(theme.styles?.defaults?.header, {});\n const headerTextStyle = Utils.nvl(theme.styles?.defaults?.headerText, {});\n\n let headerStyleFull = Utils.call(() => {\n let css = scope.getStyle('header', headerStyle);\n let bg = css.backgroundColor;\n\n if (bg) {\n css.color = HtmlUtils.getTextColor(bg);\n }\n return css;\n });\n\n let hasHeader = !Utils.isEmpty(header);\n let AuxHeader = () => {\n if (typeof header === 'string') {\n return <Text style={headerTextStyle}>{header}</Text>;\n }\n return <>{header}</>;\n };\n\n return (\n <>\n {hasHeader && (\n <View style={headerStyleFull}>\n <AuxHeader />\n </View>\n )}\n </>\n );\n}\n","import React, { useRef, useState, useEffect } from 'react';\nimport { ChildType, OptionType, Utils } from 'react-crud-utils';\nimport {\n View,\n Text,\n StyleSheet,\n Animated,\n PanResponder,\n TouchableOpacity,\n} from 'react-native';\n\nconst ITEM_HEIGHT = 70;\n\nexport default function UIOrder(props: ChildType) {\n const scope = props.scope;\n const element = scope.original;\n const initial: OptionType[] = scope.getOptions();\n\n const [items, setItems] = useState<OptionType[]>(initial);\n const [draggingId, setDraggingId] = useState<string | null>(null);\n\n // O tipo Animated.Value em um ambiente TypeScript puro não tem o método ._value,\n // mas é a propriedade interna usada para acessar o valor diretamente.\n // Usamos 'any' no acesso para suprimir o erro TS.\n const positions = useRef<Record<string, Animated.Value>>(\n Object.fromEntries(\n initial.map((it, i) => [it.value, new Animated.Value(i * ITEM_HEIGHT)])\n )\n ).current;\n\n const panRespondersRef = useRef<Record<string, any>>({});\n\n const activeItem = useRef<OptionType | null>(null);\n const activeIndex = useRef<number>(-1);\n const offsetY = useRef(0);\n\n // Armazena a lista mais recente em uma ref para uso em funções de PanResponder\n const itemsRef = useRef(items);\n useEffect(() => {\n itemsRef.current = items;\n }, [items]);\n\n // 1. Atualiza posições apenas para itens existentes\n useEffect(() => {\n items.forEach((it, idx) => {\n if (!positions[it.value])\n positions[it.value] = new Animated.Value(idx * ITEM_HEIGHT);\n\n Animated.spring(positions[it.value], {\n toValue: idx * ITEM_HEIGHT,\n useNativeDriver: false,\n }).start();\n });\n }, [items]);\n\n const onChange = (updated: any[]) => {\n const array: any[] = [];\n const items = scope.getItems();\n\n items.splice(0);\n\n Utils.each(updated, o => {\n const v = o.object;\n\n array.push(v);\n items.push(v);\n });\n\n scope.changeValue(array);\n };\n\n const createPanResponder = (item: OptionType) =>\n PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onPanResponderGrant: () => {\n // Use itemsRef.current para obter a lista mais recente no momento do arrasto.\n const currentItems = itemsRef.current;\n if (\n !positions[item.value] ||\n !currentItems.find(it => it.value === item.value)\n )\n return;\n\n activeItem.current = item;\n activeIndex.current = currentItems.findIndex(\n it => it.value === item.value\n );\n // CORREÇÃO: Usa a propriedade interna _value para acessar o valor atual\n offsetY.current = (positions[item.value] as any)._value; // 👈 CORREÇÃO APLICADA\n setDraggingId(item.value);\n },\n onPanResponderMove: (_, gesture) => {\n const currentItems = itemsRef.current;\n if (\n !positions[item.value] ||\n !currentItems.find(it => it.value === item.value)\n )\n return;\n\n const y = offsetY.current + gesture.dy;\n positions[item.value].setValue(y);\n\n const targetIndex = Math.max(\n 0,\n Math.min(\n currentItems.length - 1,\n Math.floor((y + ITEM_HEIGHT / 2) / ITEM_HEIGHT)\n )\n );\n\n currentItems.forEach((other, idx) => {\n if (other.value === item.value || !positions[other.value]) return;\n let targetY = idx * ITEM_HEIGHT;\n if (idx > activeIndex.current && idx <= targetIndex)\n targetY = (idx - 1) * ITEM_HEIGHT;\n else if (idx < activeIndex.current && idx >= targetIndex)\n targetY = (idx + 1) * ITEM_HEIGHT;\n\n Animated.timing(positions[other.value], {\n toValue: targetY,\n duration: 120,\n useNativeDriver: false,\n }).start();\n });\n },\n onPanResponderRelease: () => {\n const moved = activeItem.current;\n const currentItems = itemsRef.current;\n\n if (\n !moved ||\n !positions[moved.value] ||\n !currentItems.find(it => it.value === moved.value)\n )\n return;\n\n // CORREÇÃO: Usa a propriedade interna _value para obter a posição final\n const finalY = (positions[moved.value] as any)._value; // 👈 CORREÇÃO APLICADA\n const newIndex = Math.max(\n 0,\n Math.min(\n currentItems.length - 1,\n Math.floor((finalY + ITEM_HEIGHT / 2) / ITEM_HEIGHT)\n )\n );\n\n const oldIndex = activeIndex.current;\n const updated = [...currentItems];\n const [removed] = updated.splice(oldIndex, 1);\n updated.splice(newIndex, 0, removed);\n\n // Atualiza o state com a nova ordem.\n setItems(updated);\n onChange(updated);\n\n // A animação final agora está no useEffect, mas fazemos a limpeza das refs.\n setDraggingId(null);\n activeItem.current = null;\n activeIndex.current = -1;\n },\n });\n\n // Cria/Reusa os PanResponders\n items.forEach(it => {\n if (!panRespondersRef.current[it.value]) {\n panRespondersRef.current[it.value] = createPanResponder(it);\n }\n });\n\n const removeItem = (id: string) => {\n if (draggingId === id) {\n setDraggingId(null);\n activeItem.current = null;\n activeIndex.current = -1;\n }\n\n // CORREÇÃO: Delete a referência Animated.Value *e* a referência PanResponder\n if (positions[id]) {\n delete positions[id];\n }\n if (panRespondersRef.current[id]) {\n delete panRespondersRef.current[id];\n }\n\n setItems(prev => {\n const updated = prev.filter(it => it.value !== id);\n\n // Anima os itens restantes para seus novos índices\n updated.forEach((it, idx) => {\n if (positions[it.value])\n Animated.spring(positions[it.value], {\n toValue: idx * ITEM_HEIGHT,\n useNativeDriver: false,\n }).start();\n });\n\n onChange(updated);\n return updated;\n });\n };\n\n const Empty = () => {\n if (Utils.isEmpty(items)) {\n let empty = scope.part('empty', 'Sem registro');\n\n if (empty !== false) return <>{empty}</>;\n }\n\n return <></>;\n };\n\n return (\n <View style={styles.container}>\n <Empty />\n <View style={{ height: items.length * ITEM_HEIGHT, width: '100%' }}>\n {items.map(item => {\n const y = positions[item.value];\n if (!y) return null;\n\n const isDragging = draggingId === item.value;\n const itemStyle = scope.getStyle('row', { ...styles.item });\n\n return (\n <Animated.View\n key={item.value}\n {...(panRespondersRef.current[item.value]?.panHandlers ?? {})}\n style={[\n itemStyle,\n {\n position: 'absolute',\n left: 0,\n right: 0,\n height: ITEM_HEIGHT - 8,\n transform: [{ translateY: y }],\n zIndex: isDragging ? 999 : 0,\n elevation: isDragging ? 999 : 0,\n },\n ]}\n >\n <View style={styles.handle}>\n <Text style={styles.handleText}>≡</Text>\n </View>\n <Text style={styles.itemText}>{item.label}</Text>\n {element.remove && (\n <TouchableOpacity\n onPress={() => removeItem(item.value)}\n style={styles.del}\n >\n <Text style={{ color: '#fff' }}>X</Text>\n </TouchableOpacity>\n )}\n </Animated.View>\n );\n })}\n </View>\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: { flex: 1 },\n title: { fontSize: 18, fontWeight: '600', marginBottom: 12 },\n item: {\n backgroundColor: '#fff',\n borderRadius: 10,\n marginVertical: 4,\n paddingHorizontal: 12,\n alignItems: 'center',\n flexDirection: 'row',\n elevation: 3,\n shadowColor: '#000',\n shadowOpacity: 0.05,\n shadowRadius: 6,\n },\n handle: { width: 40, alignItems: 'center', justifyContent: 'center' },\n handleText: { fontSize: 22, color: '#666' },\n itemText: { fontSize: 16, flex: 1 },\n del: {\n backgroundColor: '#e74c3c',\n height: 34,\n width: 34,\n borderRadius: 6,\n alignItems: 'center',\n justifyContent: 'center',\n },\n});\n","import UIChildren from '../UIChildren';\nimport { ComponentUtils, DefineType, Utils } from 'react-crud-utils';\n\nexport default function UIInclude(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 {\n Keyboard,\n KeyboardAvoidingView,\n Platform,\n StatusBar,\n StyleProp,\n TouchableWithoutFeedback,\n ViewStyle,\n} from 'react-native';\nimport {\n SafeAreaProvider,\n SafeAreaView as SafeAreaContextView,\n} from 'react-native-safe-area-context';\nimport { ThemeUtils, useTheme, Utils } from 'react-crud-utils';\n\ninterface SafeViewType {\n safeStyle?: StyleProp<ViewStyle> | any;\n viewStyle?: StyleProp<ViewStyle> | any;\n children?: any;\n}\n\nexport default function SafeView(props: SafeViewType) {\n let theme = ThemeUtils.getCurrentTheme();\n //v2\n\n if (Utils.isEmpty(theme)) {\n theme = useTheme();\n }\n\n const dismissKeyboard = () => {\n if (Platform.OS !== 'web') {\n Keyboard.dismiss();\n }\n };\n\n return (\n <SafeAreaProvider>\n <SafeAreaContextView\n style={{\n backgroundColor: theme.colors?.theme,\n ...props.viewStyle,\n flex: 1,\n }}\n >\n <StatusBar barStyle=\"dark-content\" backgroundColor=\"#f5f5f5\" />\n <KeyboardAvoidingView\n behavior={Platform.OS === 'ios' ? 'padding' : 'height'}\n style={{\n flex: 1, // 🔹 Ocupa 100% da tela\n justifyContent: 'flex-start',\n }}\n >\n <TouchableWithoutFeedback\n onPress={dismissKeyboard}\n accessible={false}\n >\n <>{props.children}</>\n </TouchableWithoutFeedback>\n </KeyboardAvoidingView>\n </SafeAreaContextView>\n </SafeAreaProvider>\n );\n}\n","import {\n ListType,\n UserType,\n InputType,\n ChartType,\n ContainerType,\n ListInputType,\n TabsType,\n DefineType,\n ButtonType,\n IconType,\n LinkType,\n SliderType,\n} from 'react-crud-utils';\nimport UIElement from './UIElement';\n\nimport UIInclude from './core/UIInclude';\nimport SafeView from './core/SafeView';\n\nconst UI = {\n Order: (props: ListType) => <UIElement {...props} type=\"order\" />,\n List: (props: ListType) => <UIElement {...props} type=\"list\" />,\n Row: (props: UserType) => <UIElement {...props} type=\"row\" />,\n Value: (props: UserType) => <UIElement {...props} type=\"value\" />,\n Label: (props: UserType) => <UIElement {...props} type=\"label\" />,\n Repeat: (props: ListType) => (\n <UIElement {...props} type=\"repeat\" props={{ search: false }} />\n ),\n Define: (props: DefineType) => <UIElement {...props} type=\"define\" />,\n Include: (props: DefineType) => <UIInclude {...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 Textarea: (props: InputType) => <UIElement {...props} type=\"textarea\" />,\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: IconType) => <UIElement {...props} type=\"icon\" transient />,\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=\"switch\" />,\n Switch: (props: InputType) => <UIElement {...props} type=\"switch\" />,\n Radio: (props: ListInputType) => <UIElement {...props} type=\"radio\" />,\n Select: (props: ListInputType) => <UIElement {...props} type=\"select\" />,\n Toggle: (props: ListInputType) => <UIElement {...props} type=\"toggle\" />,\n Entity: (props: ListInputType) => <UIElement {...props} type=\"entity\" />,\n Element: (props: ListInputType) => <UIElement {...props} type=\"element\" />,\n Quantity: (props: ListInputType) => <UIElement {...props} type=\"quantity\" />,\n Slider: (props: SliderType) => <UIElement {...props} type=\"slider\" />,\n SafeView: SafeView,\n};\nexport default UI;\n"],"mappings":"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","names":["useEffect","useRef","useState","React","useState","Utils","Fragment","jsx","useState","element","React","Utils","jsx","jsx","styles","Fragment","jsx","HtmlUtils","ScopeUtils","Utils","ComponentUtils","CrudUtils","ViewUtils","Text","TouchableOpacity","Linking","jsx","styles","Ionicons","Utils","jsx","Utils","Text","Fragment","jsx","jsxs","Utils","styles","extra","Text","useState","Utils","Text","TouchableOpacity","StyleSheet","View","Ionicons","jsx","jsxs","useState","Utils","value","styles","View","TouchableOpacity","Text","Ionicons","StyleSheet","useState","Utils","jsx","useState","Utils","Fragment","jsx","Text","TouchableOpacity","Linking","jsx","styles","Text","TouchableOpacity","Linking","jsx","styles","useState","Utils","StyleSheet","View","Ionicons","Fragment","jsx","jsxs","styles","Linking","StyleSheet","Text","TouchableHighlight","View","useState","ComponentUtils","Utils","StyleSheet","Text","View","useRef","useState","ScopeUtils","StyleSheet","TouchableHighlight","View","useEffect","useState","Fragment","jsx","styles","useState","ScopeUtils","useRef","item","View","TouchableHighlight","StyleSheet","Ionicons","Fragment","jsx","jsxs","Utils","styles","stylesRepeat","stylesList","ComponentUtils","useState","items","Text","View","StyleSheet","useState","Utils","StyleSheet","Text","TouchableHighlight","View","jsx","Utils","useState","index","styles","Text","View","TouchableHighlight","StyleSheet","Ionicons","useState","Utils","Text","TouchableHighlight","Fragment","jsx","jsxs","styles","useRef","useState","ComponentUtils","Utils","Text","TouchableOpacity","StyleSheet","Modal","View","ScrollView","Ionicons","StyleSheet","jsx","styles","SafeAreaView","Fragment","jsx","jsxs","useRef","useState","Utils","ComponentUtils","styles","View","ScrollView","TouchableOpacity","Ionicons","Text","Modal","StyleSheet","Ionicons","ScrollView","StyleSheet","View","ComponentUtils","Utils","ViewUtils","useRef","Text","View","Utils","Fragment","jsx","Fragment","jsx","jsxs","useRef","ViewUtils","Utils","ComponentUtils","View","styles","ScrollView","StyleSheet","Toast","useRef","useState","useEffect","Utils","View","Text","StyleSheet","TouchableOpacity","Fragment","jsx","jsxs","items","styles","Fragment","jsx","jsxs","Utils","useState","ScopeUtils","useRef","Toast","styles","useEffect","Ionicons","Linking","HtmlUtils","props","View","TouchableHighlight","Text","ComponentUtils","box","ViewUtils","crud","CrudUtils","StyleSheet","ComponentUtils","Utils","Fragment","jsx","Platform","Utils","Fragment","jsx","jsxs","jsx"]}