react-crud-mobile 1.3.413 → 1.3.503
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +58 -0
- package/dist/index.d.ts +58 -1
- package/dist/index.js +2531 -5
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +2556 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +75 -75
- package/src/elements/core/UIAutoComplete.tsx +17 -17
- package/src/elements/core/UILink.tsx +17 -17
- package/src/elements/core/UIListItem.tsx +32 -32
- package/src/elements/core/UIListRow.tsx +2 -1
- package/src/elements/core/UIOption.tsx +17 -17
- package/src/elements/core/UIRadio.tsx +17 -17
- package/src/elements/core/UISlider.tsx +61 -61
- package/src/elements/core/UIStatusBar.tsx +5 -5
- package/src/elements/core/UISwitch.tsx +27 -27
- package/src/hooks/useIsVisible.ts +39 -39
- package/src/utils/MobileUtils.ts +13 -13
- package/dist/elements/UI.d.ts +0 -49
- package/dist/elements/UIChildren.d.ts +0 -15
- package/dist/elements/UIComplete.d.ts +0 -3
- package/dist/elements/UIElement.d.ts +0 -3
- package/dist/elements/UITag.d.ts +0 -7
- package/dist/elements/charts/ElChart.d.ts +0 -3
- package/dist/elements/core/SafeView.d.ts +0 -9
- package/dist/elements/core/UIAutoComplete.d.ts +0 -2
- package/dist/elements/core/UIButton.d.ts +0 -3
- package/dist/elements/core/UIHeader.d.ts +0 -3
- package/dist/elements/core/UIIcon.d.ts +0 -3
- package/dist/elements/core/UIInclude.d.ts +0 -3
- package/dist/elements/core/UIInput.d.ts +0 -3
- package/dist/elements/core/UILink.d.ts +0 -2
- package/dist/elements/core/UIList.d.ts +0 -3
- package/dist/elements/core/UIListItem.d.ts +0 -7
- package/dist/elements/core/UIListRow.d.ts +0 -8
- package/dist/elements/core/UIModal.d.ts +0 -8
- package/dist/elements/core/UIOption.d.ts +0 -2
- package/dist/elements/core/UIOrder.d.ts +0 -3
- package/dist/elements/core/UIQuantity.d.ts +0 -3
- package/dist/elements/core/UIRadio.d.ts +0 -2
- package/dist/elements/core/UISelect.d.ts +0 -3
- package/dist/elements/core/UISlider.d.ts +0 -3
- package/dist/elements/core/UIStatusBar.d.ts +0 -2
- package/dist/elements/core/UISwitch.d.ts +0 -3
- package/dist/elements/core/UIToast.d.ts +0 -2
- package/dist/elements/core/UIToggle.d.ts +0 -3
- package/dist/elements/core/UIView.d.ts +0 -3
- package/dist/elements/index.d.ts +0 -1
- package/dist/elements/tabs/ElTabs.d.ts +0 -3
- package/dist/hooks/useIsVisible.d.ts +0 -2
- package/dist/react-crud-mobile.cjs.development.js +0 -2906
- package/dist/react-crud-mobile.cjs.development.js.map +0 -1
- package/dist/react-crud-mobile.cjs.production.min.js +0 -2
- package/dist/react-crud-mobile.cjs.production.min.js.map +0 -1
- package/dist/react-crud-mobile.esm.js +0 -2898
- package/dist/react-crud-mobile.esm.js.map +0 -1
- package/dist/utils/MobileUtils.d.ts +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../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":["export * from './elements';\n","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":["import_react","React","import_react","import_react_crud_utils","element","React","Ionicons","import_react","import_react_crud_utils","React","import_react_native","styles","import_react_crud_utils","import_react_native","styles","import_react_crud_utils","import_react_crud_utils","import_react_native","styles","extra","import_react","import_react_crud_utils","import_react_native","import_vector_icons","value","styles","import_react","import_react_crud_utils","import_react_native","import_react","import_react_crud_utils","Slider","import_react_native","styles","import_react_native","styles","import_react","import_react_crud_utils","import_react_native","import_vector_icons","styles","import_react_native","import_react","import_react_crud_utils","import_react_native","import_react","import_react_crud_utils","import_react_native","import_react","import_react_native","styles","item","React","import_vector_icons","styles","stylesRepeat","stylesList","items","React","import_react","import_react_crud_utils","import_react_native","index","styles","React","import_vector_icons","import_react","import_react_crud_utils","import_react_native","styles","import_react","import_react_crud_utils","import_react_native","import_Ionicons","import_react_native","styles","Toast","import_react_native_safe_area_context","styles","Ionicons","import_vector_icons","import_react_native","import_react_crud_utils","import_react","import_react_native","import_react_crud_utils","styles","import_react_native_toast_message","import_react","import_react_crud_utils","import_react_native","items","React","styles","Toast","React","styles","props","box","crud","import_react_crud_utils","import_react_native","import_react_native_safe_area_context","import_react_crud_utils","SafeAreaContextView"]}
|