@wavemaker-ai/app-rn-runtime 12.0.2-rc.647771 → 12.1.0-rc.647821
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/components/advanced/webview/webview.component.js +1 -1
- package/components/advanced/webview/webview.component.js.map +1 -1
- package/components/basic/bottomsheet/bottomsheet.component.js +1 -1
- package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
- package/components/basic/label/label.component.js +2 -2
- package/components/basic/label/label.component.js.map +1 -1
- package/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
- package/components/container/tabs/tabheader/tabheader.component.js +10 -3
- package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- package/components/data/form/form-field/form-field.component.js +5 -0
- package/components/data/form/form-field/form-field.component.js.map +1 -1
- package/components/data/form/form.component.js +12 -8
- package/components/data/form/form.component.js.map +1 -1
- package/components/data/list/list.component.js +5 -2
- package/components/data/list/list.component.js.map +1 -1
- package/components/dialogs/dialog/dialog.component.js +1 -1
- package/components/dialogs/dialog/dialog.component.js.map +1 -1
- package/components/input/chips/chips.component.js +1 -1
- package/components/input/chips/chips.component.js.map +1 -1
- package/components/input/chips/chips.props.js +1 -0
- package/components/input/chips/chips.props.js.map +1 -1
- package/components/input/textarea/textarea.component.js +1 -1
- package/components/input/textarea/textarea.component.js.map +1 -1
- package/components/page/page-content/page-content.component.js +152 -17
- package/components/page/page-content/page-content.component.js.map +1 -1
- package/components/page/page-content/page-content.props.js +5 -0
- package/components/page/page-content/page-content.props.js.map +1 -1
- package/components/page/page-content/pull-to-refresh.component.js +288 -0
- package/components/page/page-content/pull-to-refresh.component.js.map +1 -0
- package/core/AppConfig.js.map +1 -1
- package/core/base.component.js +14 -0
- package/core/base.component.js.map +1 -1
- package/core/sticky-wrapper.js +37 -34
- package/core/sticky-wrapper.js.map +1 -1
- package/gestures/carousel-swipe.animation.js +1 -0
- package/gestures/carousel-swipe.animation.js.map +1 -1
- package/npm-shrinkwrap.json +1285 -570
- package/package-lock.json +1285 -570
- package/package.json +3 -3
- package/runtime/App.js +52 -36
- package/runtime/App.js.map +1 -1
- package/runtime/App.navigator.js +4 -1
- package/runtime/App.navigator.js.map +1 -1
- package/runtime/base-fragment.component.js +1 -0
- package/runtime/base-fragment.component.js.map +1 -1
- package/runtime/services/app-security.service.js +40 -19
- package/runtime/services/app-security.service.js.map +1 -1
- package/runtime/services/browser.constants.js +3 -0
- package/runtime/services/browser.constants.js.map +1 -0
- package/runtime/services/browser.service.js +321 -0
- package/runtime/services/browser.service.js.map +1 -0
- package/runtime/services/external-auth-callback.service.js +44 -0
- package/runtime/services/external-auth-callback.service.js.map +1 -0
- package/runtime/services/webprocess.service.js +8 -3
- package/runtime/services/webprocess.service.js.map +1 -1
- package/styles/background.component.js +61 -2
- package/styles/background.component.js.map +1 -1
- package/styles/style-prop.validator.js +4 -0
- package/styles/style-prop.validator.js.map +1 -1
- package/styles/style-props.js +2 -0
- package/styles/style-props.js.map +1 -1
- package/styles/theme.js +52 -11
- package/styles/theme.js.map +1 -1
- package/components-prism/basic/search/search.component.js +0 -208
- package/components-prism/basic/search/search.component.js.map +0 -1
- package/components-prism/basic/search/search.props.js +0 -16
- package/components-prism/basic/search/search.props.js.map +0 -1
- package/components-prism/basic/search/search.styles.js +0 -127
- package/components-prism/basic/search/search.styles.js.map +0 -1
- package/core/outside-press-handler.js +0 -65
- package/core/outside-press-handler.js.map +0 -1
package/styles/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["cloneDeep","isNil","forEach","flatten","isArray","isEmpty","isObject","isString","get","reverse","isNumber","React","camelCase","Dimensions","Platform","deepCopy","isWebPreviewMode","EventNotifier","ViewPort","EVENTS","ViewPortEvents","MediaQueryList","ThemeVariables","ColorMix","getErrorMessage","getStyleReference","isValidStyleProp","injector","isNativeStyle","DEFAULT_CLASS","window","matchMedia","query","DEVICE_BREAK_POINTS","DEVICE_BREAK_POINTS_NATIVE_MOBILE","getBreakPointValue","name","OS","splitVarArguments","content","depth","i","length","c","variableName","substring","trim","fallback","ThemeEvent","Theme","constructor","parent","_this$getAppConfig","_defineProperty","revertLayoutToExpo50","getAppConfig","traceEnabled","enableTrace","flag","resetCache","reset","children","t","subscribe","event","fn","eventNotifer","notify","replaceVariables","val","baseTokens","classNames","inheritedTokens","match","s","resolvedValue","variants","INSTANCE","classList","split","cls","_ref","_ref2","_ref3","_ref4","_ref5","_inheritedTokens$vari","replace","parseFloat","clearCache","cache","registerStyle","styleGenerators","push","addStyle","bind","handleMediaQueryStyles","styles","mediaQueries","Object","keys","item","test","matches","mediaQueryCondition","mediaQueryStyles","checkStyleProperties","value","map","k","startsWith","console","log","extend","style","getStyle","addTrace","styleName","mergedChildstyle","childStyle","parentStyle","v","__trace","prefix","result","collect","extractTopLevelVariables","vars","key","mergeStyle","flattenStyles","cs","filter","classnames","Array","join","values","cleanseStyleProperties","resolveStyle","valueOf","resolvedTokens","_style$marginLeft","_style$marginRight","_style$marginTop","_style$marginBottom","endsWith","percentage","isNaN","processStyleValue","num","isUniformBorderWidthValue","Number","tokens","Boolean","parsed","r","b","l","vals","every","normalizeUniformBorderWidth","first","mergeBorderLikeBoxModelResult","target","_target$key","applyBoxModelProperty","property","positions","isBorderRadius","isBorderWidth","borderRadiusKeys","Top","Right","Bottom","Left","getProp","pos","numValue","entries","charAt","toUpperCase","slice","toLowerCase","assign","paddingPositions","hasOverridePadding","some","overrideKey","overrideValue","bw","paddingLeft","paddingRight","undefined","marginLeft","marginRight","screenWidth","width","screenHeight","height","stylePropertyValue","indexOf","mediaQuery","clonedStyle","root","extraTextStyles","getTextStyle","isValObject","BASE","$new","newTheme","destroy","splice","textStyle","color","fontFamily","fontSize","fontStyle","fontWeight","includeFontPadding","fontVariant","letterSpacing","lineHeight","textAlign","textAlignVertical","textDecorationColor","textDecorationStyle","textShadowColor","textShadowOffset","textShadowRadius","textTransform","verticalAlign","writingDirection","userSelect","filteredStyles","themeVariables","CHANGE","_Theme","SIZE_CHANGE","ThemeContext","createContext","ThemeProvider","Provider","ThemeConsumer","Consumer","addColStyles","device","minWidth","display","addDisplayStyles","maxWidth","addElevationClasses","boxShadow","zIndex","transform","scale","overflow","backgroundColor","dangerColor","infoColor","primaryColor","successColor","warningColor","borderColor","text"],"sources":["theme.tsx"],"sourcesContent":["import { cloneDeep, isNil, forEach, flatten, isArray, isEmpty, isObject, isString, get, reverse, isNumber } from 'lodash';\nimport React from 'react';\nimport { camelCase } from 'lodash-es';\nimport { TextStyle, ViewStyle, ImageStyle, ImageBackground, Dimensions, Platform } from 'react-native';\nimport { deepCopy, isWebPreviewMode } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport EventNotifier from '@wavemaker-ai/app-rn-runtime/core/event-notifier';\nimport ViewPort, {EVENTS as ViewPortEvents} from '@wavemaker-ai/app-rn-runtime/core/viewport';\nimport MediaQueryList from './MediaQueryList';\nimport ThemeVariables from './theme.variables';\nimport ColorMix from './color-mix';\nimport { getErrorMessage, getStyleReference, isValidStyleProp } from './style-prop.validator';\nimport injector from '@wavemaker-ai/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker-ai/app-rn-runtime/core/AppConfig';\nimport { isNativeStyle} from '@wavemaker-ai/app-rn-runtime/core/utils';\nexport const DEFAULT_CLASS = 'DEFAULT_CLASS';\n\ndeclare const matchMedia: any, window: any;\n\nif (typeof window !== \"undefined\") {\n // @ts-ignore: does not properly extend MediaQueryList\n window.matchMedia = (query: string) => new MediaQueryList(query);\n}\n\nexport const DEVICE_BREAK_POINTS: {[key: string]: string} = {\n 'MIN_EXTRA_SMALL_DEVICE' : '0px',\n 'MAX_EXTRA_SMALL_DEVICE' : '767px',\n 'MIN_SMALL_DEVICE' : '768px',\n 'MAX_SMALL_DEVICE' : '991px',\n 'MIN_MEDIUM_DEVICE' : '992px',\n 'MAX_MEDIUM_DEVICE' : '1199px',\n 'MIN_LARGE_DEVICE' : '1200px',\n 'MAX_LARGE_DEVICE' : '1000000px',\n};\n\nexport const DEVICE_BREAK_POINTS_NATIVE_MOBILE: {[key: string]: string} = {\n 'MIN_EXTRA_SMALL_DEVICE': '0px', // 0-479px (phones portrait)\n 'MAX_EXTRA_SMALL_DEVICE': '479px',\n 'MIN_SMALL_DEVICE': '480px', // 480-767px (phones landscape, small tablets portrait)\n 'MAX_SMALL_DEVICE': '767px',\n 'MIN_MEDIUM_DEVICE': '768px', // 768-1023px (tablets portrait, small laptops)\n 'MAX_MEDIUM_DEVICE': '1023px',\n 'MIN_LARGE_DEVICE': '1024px', // 1024px+ (tablets landscape, desktops)\n 'MAX_LARGE_DEVICE': '1000000px',\n};\n\nexport const getBreakPointValue = (name: string) => {\n if(Platform.OS === 'web') {\n return DEVICE_BREAK_POINTS[name];\n }\n\n return DEVICE_BREAK_POINTS_NATIVE_MOBILE[name];\n}\n\n/** Split `var()` inner content into custom property name and optional fallback. Only commas outside `()` count (so rgba(), linear-gradient(), etc. stay intact). */\nfunction splitVarArguments(content: string): { variableName: string; fallback?: string } {\n let depth = 0;\n for (let i = 0; i < content.length; i++) {\n const c = content[i];\n if (c === '(') {\n depth++;\n } else if (c === ')') {\n depth--;\n } else if (c === ',' && depth === 0) {\n return {\n variableName: content.substring(0, i).trim(),\n fallback: content.substring(i + 1).trim(),\n };\n }\n }\n return { variableName: content.trim() };\n}\n\nexport type styleGeneratorFn<T extends NamedStyles<any>> = (\n themeVariables: ThemeVariables,\n addStyle: (name: string, extend: string, style: T) => void) => void\n\nexport enum ThemeEvent {\n CHANGE ='change'\n};\n\nexport class Theme {\n public static BASE = new Theme(null as any, 'default');\n\n static {\n ViewPort.subscribe(ViewPortEvents.SIZE_CHANGE, () => {\n Theme.BASE.reset();\n });\n }\n\n\n private eventNotifer = new EventNotifier();\n\n private children: Theme[] = [];\n\n private styles: any = {};\n\n private cache: any = {};\n\n private traceEnabled = false;\n\n private revertLayoutToExpo50: Boolean;\n\n private styleGenerators: styleGeneratorFn<any>[] = [];\n\n private constructor(private parent:Theme, public readonly name: string) {\n this.revertLayoutToExpo50 = this.getAppConfig()?.revertLayoutToExpo50 || false;\n if (parent) {\n this.traceEnabled = parent.traceEnabled;\n } else {\n this.traceEnabled = isWebPreviewMode();\n }\n }\n\n private getAppConfig() {\n return injector.get<AppConfig>('APP_CONFIG');\n }\n\n public enableTrace(flag: boolean, resetCache: boolean = true) {\n this.traceEnabled = flag;\n if (resetCache && resetCache !== 'false' as any){\n this.reset();\n }\n this.children.forEach(t => t.enableTrace(flag, resetCache));\n }\n\n public subscribe(event: ThemeEvent, fn: Function) {\n return this.eventNotifer.subscribe(event, fn);\n }\n\n public notify(event: ThemeEvent): void {\n this.eventNotifer.notify(event, []);\n this.children.forEach(t => t.notify(event));\n }\n\n private replaceVariables(val: any, baseTokens: any, classNames: any, inheritedTokens: Record<string, any> = {}) {\n if(isString(val)) {\n (val.match(/_*var\\([^\\)]*\\)/g) || []).forEach((s) => {\n const content = s.substring(4, s.length - 1);\n const { variableName, fallback } = splitVarArguments(content);\n let resolvedValue;\n let variants: any = (ThemeVariables.INSTANCE as any).variants;\n if (variants && typeof classNames === 'string') {\n const classList = classNames.split(/\\s+/);\n for (const cls of classList) {\n if (variants[cls] && variants[cls][variableName]) {\n resolvedValue = variants[cls][variableName];\n break;\n }\n }\n }\n if (!resolvedValue) {\n resolvedValue = inheritedTokens[variableName] ?? inheritedTokens[`--${variableName}`] ?? baseTokens[variableName]\n ?? (ThemeVariables.INSTANCE as any)[variableName]\n ?? (ThemeVariables.INSTANCE as any)[variableName.substring(2)]\n ?? (ThemeVariables.INSTANCE as any)[camelCase(variableName.substring(2))]\n ?? fallback;\n }\n val = val.replace(s, resolvedValue);\n if (isNumber(resolvedValue)\n && val.trim() === (resolvedValue + '')) {\n val = resolvedValue;\n } else {\n val = this.replaceVariables(val, baseTokens, classNames, inheritedTokens);\n }\n });\n }\n if(isString(val) && val.match(/^-?\\d+(\\.\\d+)?$/)) {\n return parseFloat(val);\n }\n return val;\n }\n\n clearCache() {\n this.cache = {};\n this.children.forEach((t) => t.clearCache());\n }\n\n registerStyle<T extends NamedStyles<any>>(fn: styleGeneratorFn<T>) {\n this.styleGenerators.push(fn);\n fn(ThemeVariables.INSTANCE, this.addStyle.bind(this));\n }\n\n handleMediaQueryStyles(styles: NamedStyles<any> ){\n const mediaQueries: string[] = [];\n Object.keys(styles).forEach((item: string) => {\n if(/@media/.test(item) && matchMedia(item.replace('@media ', '')).matches) {\n mediaQueries.push(item);\n }\n })\n\n if(mediaQueries.length === 0) {\n return styles;\n }\n\n mediaQueries.forEach((mediaQueryCondition: string) => {\n const mediaQueryStyles = styles[mediaQueryCondition];\n Object.keys(mediaQueryStyles).forEach((item: string) => {\n styles[item] = (mediaQueryStyles as any)[item];\n }) \n })\n return styles;\n }\n\n checkStyleProperties(name: string, value : any) {\n if (isObject(value)) {\n Object.keys(value).map((k) => this.checkStyleProperties(k, (value as any)[k]));\n } else if(name && !(isString(value) && value.startsWith('calc(')) && !isValidStyleProp(name, value)) {\n console.log(\n `%cInvalid Style property in ${this.name}: ${getErrorMessage(name, value)}`,\n 'background-color: #FF0000;font-weight: bold; color: #fff'\n );\n console.log(`Refer: ${getStyleReference(name)}`);\n }\n }\n\n private addStyle<T extends NamedStyles<any>>(name: string, extend: string, style: T) {\n this.styles[name] = deepCopy(this.getStyle(extend), this.styles[name], style);\n }\n\n private addTrace(styleName: string, mergedChildstyle: any, childStyle: any, parentStyle?: any) {\n if (!this.traceEnabled) {\n return;\n }\n let addTrace = !isEmpty(childStyle);\n forEach(mergedChildstyle, (v: any, k: string) => {\n if (v && !isString(v) && !isArray(v) && isObject(v)) {\n addTrace = false;\n\n if (!isNativeStyle(k, 'property')) {\n this.addTrace(styleName + '.' + k, v, childStyle && childStyle[k], parentStyle && parentStyle[k])\n }\n }\n });\n if (addTrace) {\n mergedChildstyle['__trace'] = [\n {\n name: styleName,\n value: childStyle\n },\n ...(parentStyle?.__trace|| [])\n ];\n } else {\n mergedChildstyle['__trace'] = [...(parentStyle?.__trace|| [])];\n }\n }\n\n private flatten(style: any, prefix = \"\", result = {} as any) {\n let collect = !isEmpty(style);\n forEach(style, (v: any, k: string) => {\n if (v && !isString(v) && !isArray(v) && isObject(v)) {\n collect = false;\n this.flatten(v, (prefix ? prefix + '.' : '') + k, result)\n }\n });\n if (collect) {\n result[prefix] = style;\n }\n return result;\n }\n\n extractTopLevelVariables(style: Record<string, any>): Record<string, any> {\n const vars: Record<string, any> = {};\n for (const key in style) {\n if (key.startsWith('--')) {\n vars[key] = style[key];\n }\n }\n return vars;\n }\n\n mergeStyle(...styles: any) {\n const style = deepCopy(...styles);\n if (this.traceEnabled) {\n const flattenStyles = this.flatten(style);\n Object.keys(flattenStyles).forEach(k => {\n const s = flattenStyles[k];\n if (!isNativeStyle(k, 'path')) {\n s['__trace'] = flatten(reverse(styles.map((v: any) => {\n const cs = get(v, k);\n if (cs && cs.__trace) {\n return [...cs.__trace];\n }\n return [];\n }).filter((t: any) => t.length > 0)));\n }\n });\n }\n const baseTokens = this.extractTopLevelVariables(style)\n const classnames = Array.isArray(styles)\n ? styles.filter(isString).join(' ')\n : Object.values(styles).filter(isString).join(' ');\n\n return this.cleanseStyleProperties(style, baseTokens, classnames)\n }\n\n cleanseStyleProperties(style: any, baseTokens: any, classnames: any, inheritedTokens: Record<string, any> = {}) {\n if (!(style && isObject(style)) || isString(style) || isArray(style)) {\n return style;\n }\n style = style as any;\n if (isObject(style) && !isArray(style)) {\n const resolveStyle = (v: any, inheritedTokens: Record<string, any> = {}) => {\n v = this.replaceVariables(v, baseTokens, classnames, inheritedTokens);\n if (isString(v) && v.startsWith(\"color-mix(\")) {\n v = ColorMix.valueOf(v);\n }\n return v;\n };\n\n const classNames = Object.keys(style);\n const resolvedTokens = {...inheritedTokens};\n // For inline token in obj\n classNames.forEach(k => {\n if (k.startsWith('--')) {\n let v = resolveStyle((style as any)[k], resolvedTokens);\n resolvedTokens[k] = v;\n const variableName = k.substring(2);\n (ThemeVariables.INSTANCE as any)[variableName] = v;\n (ThemeVariables.INSTANCE as any)[camelCase(variableName)] = v;\n }\n });\n\n // For edge case when prop is before inline token\n classNames.forEach(k => {\n if (!k.startsWith('--')) {\n if (isObject((style as any)[k]) && !isArray((style as any)[k])) {\n this.cleanseStyleProperties((style as any)[k], baseTokens, classnames, resolvedTokens);\n } else {\n (style as any)[k] = resolveStyle((style as any)[k], resolvedTokens);\n }\n }\n });\n }\n if (!isNil(style['shadowRadius'])) {\n if (style['shadowRadius'] <= 0) {\n style['shadowColor'] = 'transparent';\n } else if (isNil(style['elevation'])) {\n style['elevation'] = 2;\n }\n }\n if (!isNil(style['margin'])) {\n style['marginLeft'] = style['marginLeft'] ?? style['margin'];\n style['marginRight'] = style['marginRight'] ?? style['margin'];\n style['marginTop'] = style['marginTop'] ?? style['margin'];\n style['marginBottom'] = style['marginBottom'] ?? style['margin'];\n delete style['margin'];\n }\n if (!isNil(style['opacity']) && typeof style['opacity'] === 'string' && style['opacity'].endsWith('%')) {\n const percentage = parseFloat(style['opacity']);\n if (!isNaN(percentage)) {\n style['opacity'] = percentage / 100;\n }\n }\n const processStyleValue = (value: any) => {\n if (typeof value === 'string') {\n const num = parseFloat(value);\n return isNaN(num) ? value : num;\n }\n return value;\n };\n\n /** True when borderWidth is a single value or shorthand that resolves to the same width on all sides. */\n const isUniformBorderWidthValue = (value: any): boolean => {\n if (value == null) {\n return false;\n }\n if (typeof value === 'number') {\n return !Number.isNaN(value);\n }\n if (typeof value === 'string') {\n const tokens = value.trim().split(/\\s+/).filter(Boolean);\n if (tokens.length <= 1) {\n return true;\n }\n const parsed = tokens.map((t) => processStyleValue(t));\n const [t, r = t, b = t, l = r] = parsed;\n return t === r && r === b && b === l;\n }\n if (isObject(value) && !isArray(value)) {\n const vals = Object.values(value).map((v) => processStyleValue(v));\n if (!vals.length) {\n return false;\n }\n return vals.every((v) => v === vals[0]);\n }\n if (typeof value !== 'object' && !isNaN(Number(value))) {\n return true;\n }\n return false;\n };\n\n const normalizeUniformBorderWidth = (value: any): any => {\n if (typeof value === 'number') {\n return value;\n }\n if (typeof value === 'string') {\n const tokens = value.trim().split(/\\s+/).filter(Boolean);\n return tokens.length ? processStyleValue(tokens[0]) : value;\n }\n if (isObject(value) && !isArray(value)) {\n const first = Object.values(value)[0];\n return processStyleValue(first);\n }\n if (typeof value !== 'object' && !isNaN(Number(value))) {\n return Number(value);\n }\n return value;\n };\n\n /** Border-like shorthands: only fill sides that are still nullish so explicit longhands (e.g. borderLeftWidth) win. */\n const mergeBorderLikeBoxModelResult = (target: any, result: Record<string, any>) => {\n Object.keys(result).forEach((key) => {\n target[key] = target[key] ?? result[key];\n });\n };\n\n const applyBoxModelProperty = (property: string, value: any) => {\n if (value == null) return;\n\n const result: any = {};\n const positions = ['Top', 'Right', 'Bottom', 'Left'];\n const isBorderRadius = property === 'border';\n const isBorderWidth = property === 'borderWidth';\n const borderRadiusKeys: Record<string, string> = {\n Top: 'borderTopLeftRadius',\n Right: 'borderTopRightRadius',\n Bottom: 'borderBottomRightRadius',\n Left: 'borderBottomLeftRadius'\n };\n const getProp = (pos: string) => {\n if (isBorderRadius) {\n return borderRadiusKeys[pos];\n } else if (isBorderWidth) {\n return `border${pos}Width`;\n }\n return property + pos;\n };\n if (typeof value === 'string') {\n const values = value.trim().split(/\\s+/).map(processStyleValue);\n const [t, r = t, b = t, l = r] = values; // Destructure with defaults\n\n result[getProp('Top')] = t;\n result[getProp('Right')] = r;\n result[getProp('Bottom')] = b;\n result[getProp('Left')] = l;\n\n }\n else if (typeof value === 'number' || !isNaN(Number(value))) {\n const numValue = Number(value);\n positions.forEach(pos => {\n result[getProp(pos)] = numValue;\n });\n }\n else if (isObject(value)) {\n Object.entries(value).forEach(([key, val]) => {\n const pos = key.charAt(0).toUpperCase() + key.slice(1).toLowerCase();\n result[getProp(pos)] = processStyleValue(val);\n });\n }\n if (Object.keys(result).length > 0) {\n if (property === 'padding' || property === 'margin' || property === 'border') {\n Object.assign(style, result);\n // foundation shorthand will take more priority\n } else {\n mergeBorderLikeBoxModelResult(style, result);\n //runtime default shorthand will be having more priority\n }\n }\n };\n const paddingPositions = ['Top', 'Right', 'Bottom', 'Left'];\n const hasOverridePadding = paddingPositions.some(pos =>\n !isNil(style[`_Padding${pos}`])\n );\n if (hasOverridePadding || !isNil(style['padding'])) {\n applyBoxModelProperty('padding', style['padding']);\n paddingPositions.forEach(pos => {\n const overrideKey = `_Padding${pos}`;\n const overrideValue = style[overrideKey];\n if (!isNil(overrideValue)) {\n style[`padding${pos}`] = processStyleValue(overrideValue);\n }\n delete style[overrideKey];\n });\n delete style['padding'];\n }\n\n if (!isNil(style['borderWidth'])) {\n const bw = style['borderWidth'];\n if (isUniformBorderWidthValue(bw)) {\n // Remove individual side widths so the uniform shorthand applies without conflict\n delete style['borderTopWidth'];\n delete style['borderRightWidth'];\n delete style['borderBottomWidth'];\n delete style['borderLeftWidth'];\n delete style['borderBottomColor'];\n delete style['borderBottomStyle'];\n style['borderWidth'] = normalizeUniformBorderWidth(bw);\n } else {\n applyBoxModelProperty('borderWidth', bw);\n delete style['borderWidth'];\n }\n }\n\n if (!isNil(style['borderRadius'])) {\n applyBoxModelProperty('border', style['borderRadius']);\n delete style['borderRadius'];\n // Non-uniform borderWidth shorthand is expanded at end of cleanse (after margin etc.) so it overrides per-side longhands.\n }\n\n if (!isNil(style['margin'])) {\n applyBoxModelProperty('margin', style['margin']);\n delete style['margin'];\n }\n if (this.revertLayoutToExpo50 && !isNil(style['flexDirection']) && style['flexDirection'] === 'row-reverse') {\n if (!isNil(style['paddingLeft']) || !isNil(style['paddingRight'])) {\n if (!isNil(style['paddingLeft']) && !isNil(style['paddingRight'])) {\n [style['paddingLeft'], style['paddingRight']] = [style['paddingRight'], style['paddingLeft']];\n } else {\n const [paddingLeft, paddingRight] = [style['paddingLeft'], style['paddingRight']];\n if (paddingLeft !== undefined) {\n style['paddingRight'] = paddingLeft;\n delete style['paddingLeft'];\n }\n if (paddingRight !== undefined) {\n style['paddingLeft'] = paddingRight;\n delete style['paddingRight'];\n }\n }\n }\n\n if (!isNil(style['marginLeft']) || !isNil(style['marginRight'])) {\n if (!isNil(style['marginLeft']) && !isNil(style['marginRight'])) {\n [style['marginLeft'], style['marginRight']] = [style['marginRight'], style['marginLeft']];\n } else {\n const [marginLeft, marginRight] = [style['marginLeft'], style['marginRight']];\n if (marginLeft !== undefined) {\n style['marginRight'] = marginLeft;\n delete style['marginLeft'];\n }\n if (marginRight !== undefined) {\n style['marginLeft'] = marginRight;\n delete style['marginRight'];\n }\n }\n }\n }\n if (!isNil(style['color']) && style['color'] === 'transparent') {\n style['color'] = 'rgba(255, 255, 255, 0)'\n }\n if (!isNil(style['color']) && style['color'] === 'transparent') {\n style['color'] = 'rgba(255, 255, 255, 0)'\n }\n let screenWidth = Dimensions.get('window').width;\n let screenHeight = Dimensions.get('window').height;\n Object.keys(style).forEach((k, i) => {\n let stylePropertyValue = style[k]\n if(typeof stylePropertyValue === 'string' && stylePropertyValue.endsWith('vw')) {\n stylePropertyValue = stylePropertyValue.replace('vw','')\n style[k] = Number(stylePropertyValue)/100 * screenWidth\n }\n if((typeof stylePropertyValue === 'string' && stylePropertyValue.endsWith('vh'))) {\n stylePropertyValue = stylePropertyValue.replace('vh','')\n style[k] = Number(stylePropertyValue)/100 * screenHeight\n }\n })\n return style;\n }\n\n getStyle(name: string) {\n let style = this.cache[name];\n if (style) {\n return style;\n }\n if (!name) {\n return {};\n }\n if (name.indexOf(' ') > 0) {\n style = this.mergeStyle(...(name.split(' ').map(c => this.getStyle(c))));\n } else {\n const parentStyle = this.parent && this.parent.getStyle(name);\n const mediaQuery = (this.styles[name] || {})['@media'];\n let clonedStyle: Record<string, any> = { root: {} }\n if (!mediaQuery || matchMedia(mediaQuery).matches) {\n clonedStyle = cloneDeep(this.styles[name]) || {} ;\n clonedStyle['root'] = clonedStyle['root'] || {};\n const extraTextStyles = (this.getTextStyle(clonedStyle) || {}) as any ;\n clonedStyle['text'] = Object.assign({}, extraTextStyles, clonedStyle['text'] || {});\n Object.keys(clonedStyle).forEach((k) => {\n const isValObject = isObject(clonedStyle[k]);\n if (!extraTextStyles[k] && (!isValObject || (k === 'shadowOffset'))) {\n clonedStyle['root'][k] = clonedStyle['root'][k] || clonedStyle[k]\n }\n });\n }\n if (this !== Theme.BASE && isWebPreviewMode()) {\n this.checkStyleProperties('', clonedStyle);\n }\n style = deepCopy(parentStyle, clonedStyle);\n this.addTrace(`@${this.name}:${name}`, style, clonedStyle, parentStyle);\n }\n this.cache[name] = style;\n return style;\n }\n\n $new(name = \"\", styles = {} as NamedStyles<any>) {\n const newTheme = new Theme(this, name);\n newTheme.reset(styles);\n this.children.push(newTheme);\n return newTheme;\n }\n\n destroy() {\n const i = this.parent.children.indexOf(this);\n if (i >= 0) {\n this.parent.children.splice(i, 1);\n }\n }\n\n getTextStyle(s: any) {\n if (!s) {\n return {};\n }\n const textStyle = {\n color: s.color,\n fontFamily: s.fontFamily,\n fontSize: s.fontSize,\n fontStyle: s.fontStyle,\n fontWeight: s.fontWeight,\n includeFontPadding: s.includeFontPadding,\n fontVariant: s.fontVariant,\n letterSpacing: s.letterSpacing,\n lineHeight: s.lineHeight,\n textAlign: s.textAlign,\n textAlignVertical: s.textAlignVertical,\n textDecorationColor: s.textDecorationColor,\n textDecorationStyle: s.textDecorationStyle,\n textShadowColor: s.textShadowColor,\n textShadowOffset: s.textShadowOffset,\n textShadowRadius: s.textShadowRadius,\n textTransform: s.textTransform,\n verticalAlign: s.verticalAlign,\n writingDirection: s.writingDirection,\n userSelect: s.userSelect,\n } as TextStyle;\n Object.keys(textStyle).forEach((k)=> {\n if(!(textStyle as any)[k]){\n delete (textStyle as any)[k];\n }\n })\n return textStyle;\n }\n\n reset(styles?: NamedStyles<any>) {\n this.styles = {};\n this.clearCache();\n if (styles) {\n const filteredStyles = this.handleMediaQueryStyles(styles);\n\n this.registerStyle((themeVariables, addStyle) => {\n Object.keys(filteredStyles).forEach(k => {\n addStyle(k, '', filteredStyles[k] as any);\n });\n });\n } else {\n this.styleGenerators.forEach(fn =>\n fn(ThemeVariables.INSTANCE, this.addStyle.bind(this)));\n }\n this.notify(ThemeEvent.CHANGE);\n }\n}\nexport default Theme.BASE;\nexport type NamedStyles<T> = { [P in keyof T]: AllStyle | NamedStyles<T>};\nexport type BackgroundImageStyle = {\n backgroundImage: string,\n backgroundPosition: string,\n backgroundRepeat: string,\n backgroundSize: string | number\n};\n\nexport type AllStyle = (ViewStyle & TextStyle & ImageStyle & {userSelect?: 'none'| 'text'} & {rippleColor?: string});\n\nconst ThemeContext = React.createContext<Theme>(null as any);\n\nexport const ThemeProvider = ThemeContext.Provider;\nexport const ThemeConsumer = ThemeContext.Consumer;\n/**\n * Common styles\n */\n Theme.BASE.registerStyle((themeVariables, addStyle) => {\n const addColStyles = (device: string, minWidth: string) => {\n for(let i = 1; i <= 12; i++) {\n addStyle(`col-${device}-${i}`, '', {\n \"@media\": `(min-width: ${minWidth})`,\n root: {\n width: (100 * i / 12) + '%'\n }\n } as any)\n }\n };\n addColStyles('xs', getBreakPointValue('MIN_EXTRA_SMALL_DEVICE'));\n addColStyles('sm', getBreakPointValue('MIN_SMALL_DEVICE'));\n addColStyles('md', getBreakPointValue('MIN_MEDIUM_DEVICE'));\n addColStyles('lg', getBreakPointValue('MIN_LARGE_DEVICE'));\n\n addStyle('d-none', '', {\n root: {\n display: 'none'\n }\n } as any);\n addStyle('d-flex', '', {\n root: {\n display: 'flex'\n }\n } as any);\n\n const addDisplayStyles = (device: string, minWidth: string, maxWidth: string) => {\n addStyle(`d-${device}-none`, '', {\n \"@media\": `(min-width: ${minWidth}) and (max-width: ${maxWidth})`,\n root: {\n display: 'none'\n }\n } as any);\n addStyle(`d-${device}-flex`, '', {\n \"@media\": `(min-width: ${minWidth}) and (max-width: ${maxWidth})`,\n root: {\n display: 'flex'\n }\n } as any);\n };\n addDisplayStyles('all',\n getBreakPointValue('MIN_EXTRA_SMALL_DEVICE'),\n getBreakPointValue('MAX_LARGE_DEVICE'));\n addDisplayStyles('xs',\n getBreakPointValue('MIN_EXTRA_SMALL_DEVICE'),\n getBreakPointValue('MAX_EXTRA_SMALL_DEVICE'));\n addDisplayStyles('sm',\n getBreakPointValue('MIN_SMALL_DEVICE'),\n getBreakPointValue('MAX_SMALL_DEVICE'));\n addDisplayStyles('md',\n getBreakPointValue('MIN_MEDIUM_DEVICE'),\n getBreakPointValue('MAX_MEDIUM_DEVICE'));\n addDisplayStyles('lg',\n getBreakPointValue('MIN_LARGE_DEVICE'),\n getBreakPointValue('MAX_LARGE_DEVICE'));\n\n const addElevationClasses = () => {\n for(let i = 1; i <= 10; i++) {\n addStyle(`elevate${i}`, '', {\n root : {\n boxShadow: `${i}px ${i}px ${i}px rgba(0, 0, 0, 0.27)`,\n zIndex: 1\n }\n });\n }\n };\n addElevationClasses();\n addStyle('hidden', '', {\n root: Platform.OS === 'web' ? {\n display: 'none'\n } : {\n width: 0,\n height: 0,\n transform: [{ scale: 0 }],\n overflow: 'hidden'\n }\n });\n addStyle('bg-danger', '', { root: { backgroundColor: themeVariables.dangerColor }});\n addStyle('bg-info', '', { root: { backgroundColor: themeVariables.infoColor }});\n addStyle('bg-primary', '', { root: { backgroundColor: themeVariables.primaryColor }});\n addStyle('bg-success', '', { root: { backgroundColor: themeVariables.successColor }});\n addStyle('bg-warning', '', { root: { backgroundColor: themeVariables.warningColor }});\n\n addStyle('border-danger', '', { root: { borderColor: themeVariables.dangerColor }});\n addStyle('border-info', '', { root: { borderColor: themeVariables.infoColor }});\n addStyle('border-primary', '', { root: { borderColor: themeVariables.primaryColor }});\n addStyle('border-success', '', { root: { borderColor: themeVariables.successColor }});\n addStyle('border-warning', '', { root: { borderColor: themeVariables.warningColor }});\n\n addStyle('hide-context-menu', '', { text: { userSelect: 'none' }});\n addStyle('hide-context-menu-input', '', { text: { userSelect: 'none' }});\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["cloneDeep","isNil","forEach","flatten","isArray","isEmpty","isObject","isString","get","set","reverse","isNumber","React","camelCase","Dimensions","Platform","deepCopy","isWebPreviewMode","EventNotifier","ViewPort","EVENTS","ViewPortEvents","MediaQueryList","ThemeVariables","ColorMix","getErrorMessage","getStyleReference","isValidStyleProp","injector","isNativeStyle","DEFAULT_CLASS","window","matchMedia","query","DEVICE_BREAK_POINTS","DEVICE_BREAK_POINTS_NATIVE_MOBILE","getBreakPointValue","name","OS","splitVarArguments","content","depth","i","length","c","variableName","substring","trim","fallback","ThemeEvent","Theme","constructor","parent","_this$getAppConfig","_defineProperty","revertLayoutToExpo50","getAppConfig","traceEnabled","enableTrace","flag","resetCache","reset","children","t","subscribe","event","fn","eventNotifer","notify","replaceVariables","val","baseTokens","classNames","inheritedTokens","match","s","resolvedValue","variants","INSTANCE","classList","split","cls","_ref","_ref2","_ref3","_ref4","_ref5","_inheritedTokens$vari","replace","parseFloat","clearCache","cache","registerStyle","styleGenerators","push","addStyle","bind","handleMediaQueryStyles","styles","mediaQueries","Object","keys","item","test","matches","mediaQueryCondition","mediaQueryStyles","checkStyleProperties","value","map","k","startsWith","console","log","extend","style","getStyle","addTrace","styleName","mergedChildstyle","childStyle","parentStyle","v","__trace","prefix","result","collect","extractTopLevelVariables","vars","key","resolvePaddingPrecedence","layers","overlay","visit","nodes","path","last","n","padding","PADDING_SIDES","sd","some","reduce","a","undefined","kids","filter","Set","mergeStyle","flattenStyles","cs","classnames","Array","join","values","cleanseStyleProperties","resolveStyle","valueOf","resolvedTokens","_style$marginLeft","_style$marginRight","_style$marginTop","_style$marginBottom","endsWith","percentage","isNaN","isViewportUnit","convertViewportUnitToPx","screenWidth","width","stylePropertyValue","Number","screenHeight","height","processStyleValue","num","isUniformBorderWidthValue","tokens","Boolean","parsed","r","b","l","vals","every","normalizeUniformBorderWidth","first","mergeBorderLikeBoxModelResult","target","_target$key","applyBoxModelProperty","property","positions","isBorderRadius","isBorderWidth","borderRadiusKeys","Top","Right","Bottom","Left","getProp","pos","numValue","entries","charAt","toUpperCase","slice","toLowerCase","assign","paddingPositions","hasOverridePadding","overrideKey","overrideValue","bw","paddingLeft","paddingRight","marginLeft","marginRight","indexOf","mediaQuery","clonedStyle","root","extraTextStyles","getTextStyle","isValObject","BASE","$new","newTheme","destroy","splice","textStyle","color","fontFamily","fontSize","fontStyle","fontWeight","includeFontPadding","fontVariant","letterSpacing","lineHeight","textAlign","textAlignVertical","textDecorationColor","textDecorationStyle","textShadowColor","textShadowOffset","textShadowRadius","textTransform","verticalAlign","writingDirection","userSelect","filteredStyles","themeVariables","CHANGE","_Theme","SIZE_CHANGE","ThemeContext","createContext","ThemeProvider","Provider","ThemeConsumer","Consumer","addColStyles","device","minWidth","display","addDisplayStyles","maxWidth","addElevationClasses","boxShadow","zIndex","transform","scale","overflow","backgroundColor","dangerColor","infoColor","primaryColor","successColor","warningColor","borderColor","text"],"sources":["theme.tsx"],"sourcesContent":["import { cloneDeep, isNil, forEach, flatten, isArray, isEmpty, isObject, isString, get, set, reverse, isNumber } from 'lodash';\nimport React from 'react';\nimport { camelCase } from 'lodash-es';\nimport { TextStyle, ViewStyle, ImageStyle, ImageBackground, Dimensions, Platform } from 'react-native';\nimport { deepCopy, isWebPreviewMode } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport EventNotifier from '@wavemaker-ai/app-rn-runtime/core/event-notifier';\nimport ViewPort, {EVENTS as ViewPortEvents} from '@wavemaker-ai/app-rn-runtime/core/viewport';\nimport MediaQueryList from './MediaQueryList';\nimport ThemeVariables from './theme.variables';\nimport ColorMix from './color-mix';\nimport { getErrorMessage, getStyleReference, isValidStyleProp } from './style-prop.validator';\nimport injector from '@wavemaker-ai/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker-ai/app-rn-runtime/core/AppConfig';\nimport { isNativeStyle} from '@wavemaker-ai/app-rn-runtime/core/utils';\nexport const DEFAULT_CLASS = 'DEFAULT_CLASS';\n\ndeclare const matchMedia: any, window: any;\n\nif (typeof window !== \"undefined\") {\n // @ts-ignore: does not properly extend MediaQueryList\n window.matchMedia = (query: string) => new MediaQueryList(query);\n}\n\nexport const DEVICE_BREAK_POINTS: {[key: string]: string} = {\n 'MIN_EXTRA_SMALL_DEVICE' : '0px',\n 'MAX_EXTRA_SMALL_DEVICE' : '767px',\n 'MIN_SMALL_DEVICE' : '768px',\n 'MAX_SMALL_DEVICE' : '991px',\n 'MIN_MEDIUM_DEVICE' : '992px',\n 'MAX_MEDIUM_DEVICE' : '1199px',\n 'MIN_LARGE_DEVICE' : '1200px',\n 'MAX_LARGE_DEVICE' : '1000000px',\n};\n\nexport const DEVICE_BREAK_POINTS_NATIVE_MOBILE: {[key: string]: string} = {\n 'MIN_EXTRA_SMALL_DEVICE': '0px', // 0-479px (phones portrait)\n 'MAX_EXTRA_SMALL_DEVICE': '479px',\n 'MIN_SMALL_DEVICE': '480px', // 480-767px (phones landscape, small tablets portrait)\n 'MAX_SMALL_DEVICE': '767px',\n 'MIN_MEDIUM_DEVICE': '768px', // 768-1023px (tablets portrait, small laptops)\n 'MAX_MEDIUM_DEVICE': '1023px',\n 'MIN_LARGE_DEVICE': '1024px', // 1024px+ (tablets landscape, desktops)\n 'MAX_LARGE_DEVICE': '1000000px',\n};\n\nexport const getBreakPointValue = (name: string) => {\n if(Platform.OS === 'web') {\n return DEVICE_BREAK_POINTS[name];\n }\n\n return DEVICE_BREAK_POINTS_NATIVE_MOBILE[name];\n}\n\n/** Split `var()` inner content into custom property name and optional fallback. Only commas outside `()` count (so rgba(), linear-gradient(), etc. stay intact). */\nfunction splitVarArguments(content: string): { variableName: string; fallback?: string } {\n let depth = 0;\n for (let i = 0; i < content.length; i++) {\n const c = content[i];\n if (c === '(') {\n depth++;\n } else if (c === ')') {\n depth--;\n } else if (c === ',' && depth === 0) {\n return {\n variableName: content.substring(0, i).trim(),\n fallback: content.substring(i + 1).trim(),\n };\n }\n }\n return { variableName: content.trim() };\n}\n\nexport type styleGeneratorFn<T extends NamedStyles<any>> = (\n themeVariables: ThemeVariables,\n addStyle: (name: string, extend: string, style: T) => void) => void\n\nexport enum ThemeEvent {\n CHANGE ='change'\n};\n\nexport class Theme {\n public static BASE = new Theme(null as any, 'default');\n\n static {\n ViewPort.subscribe(ViewPortEvents.SIZE_CHANGE, () => {\n Theme.BASE.reset();\n });\n }\n\n\n private eventNotifer = new EventNotifier();\n\n private children: Theme[] = [];\n\n private styles: any = {};\n\n private cache: any = {};\n\n private traceEnabled = false;\n\n private revertLayoutToExpo50: Boolean;\n\n private styleGenerators: styleGeneratorFn<any>[] = [];\n\n private constructor(private parent:Theme, public readonly name: string) {\n this.revertLayoutToExpo50 = this.getAppConfig()?.revertLayoutToExpo50 || false;\n if (parent) {\n this.traceEnabled = parent.traceEnabled;\n } else {\n this.traceEnabled = isWebPreviewMode();\n }\n }\n\n private getAppConfig() {\n return injector.get<AppConfig>('APP_CONFIG');\n }\n\n public enableTrace(flag: boolean, resetCache: boolean = true) {\n this.traceEnabled = flag;\n if (resetCache && resetCache !== 'false' as any){\n this.reset();\n }\n this.children.forEach(t => t.enableTrace(flag, resetCache));\n }\n\n public subscribe(event: ThemeEvent, fn: Function) {\n return this.eventNotifer.subscribe(event, fn);\n }\n\n public notify(event: ThemeEvent): void {\n this.eventNotifer.notify(event, []);\n this.children.forEach(t => t.notify(event));\n }\n\n private replaceVariables(val: any, baseTokens: any, classNames: any, inheritedTokens: Record<string, any> = {}) {\n if(isString(val)) {\n (val.match(/_*var\\([^\\)]*\\)/g) || []).forEach((s) => {\n const content = s.substring(4, s.length - 1);\n const { variableName, fallback } = splitVarArguments(content);\n let resolvedValue;\n let variants: any = (ThemeVariables.INSTANCE as any).variants;\n if (variants && typeof classNames === 'string') {\n const classList = classNames.split(/\\s+/);\n for (const cls of classList) {\n if (variants[cls] && variants[cls][variableName]) {\n resolvedValue = variants[cls][variableName];\n break;\n }\n }\n }\n if (!resolvedValue) {\n resolvedValue = inheritedTokens[variableName] ?? inheritedTokens[`--${variableName}`] ?? baseTokens[variableName]\n ?? (ThemeVariables.INSTANCE as any)[variableName]\n ?? (ThemeVariables.INSTANCE as any)[variableName.substring(2)]\n ?? (ThemeVariables.INSTANCE as any)[camelCase(variableName.substring(2))]\n ?? fallback;\n }\n val = val.replace(s, resolvedValue);\n if (isNumber(resolvedValue)\n && val.trim() === (resolvedValue + '')) {\n val = resolvedValue;\n } else {\n val = this.replaceVariables(val, baseTokens, classNames, inheritedTokens);\n }\n });\n }\n if(isString(val) && val.match(/^-?\\d+(\\.\\d+)?$/)) {\n return parseFloat(val);\n }\n return val;\n }\n\n clearCache() {\n this.cache = {};\n this.children.forEach((t) => t.clearCache());\n }\n\n registerStyle<T extends NamedStyles<any>>(fn: styleGeneratorFn<T>) {\n this.styleGenerators.push(fn);\n fn(ThemeVariables.INSTANCE, this.addStyle.bind(this));\n }\n\n handleMediaQueryStyles(styles: NamedStyles<any> ){\n const mediaQueries: string[] = [];\n Object.keys(styles).forEach((item: string) => {\n if(/@media/.test(item) && matchMedia(item.replace('@media ', '')).matches) {\n mediaQueries.push(item);\n }\n })\n\n if(mediaQueries.length === 0) {\n return styles;\n }\n\n mediaQueries.forEach((mediaQueryCondition: string) => {\n const mediaQueryStyles = styles[mediaQueryCondition];\n Object.keys(mediaQueryStyles).forEach((item: string) => {\n styles[item] = (mediaQueryStyles as any)[item];\n }) \n })\n return styles;\n }\n\n checkStyleProperties(name: string, value : any) {\n if (isObject(value)) {\n Object.keys(value).map((k) => this.checkStyleProperties(k, (value as any)[k]));\n } else if(name && !(isString(value) && value.startsWith('calc(')) && !isValidStyleProp(name, value)) {\n console.log(\n `%cInvalid Style property in ${this.name}: ${getErrorMessage(name, value)}`,\n 'background-color: #FF0000;font-weight: bold; color: #fff'\n );\n console.log(`Refer: ${getStyleReference(name)}`);\n }\n }\n\n private addStyle<T extends NamedStyles<any>>(name: string, extend: string, style: T) {\n this.styles[name] = deepCopy(this.getStyle(extend), this.styles[name], style);\n }\n\n private addTrace(styleName: string, mergedChildstyle: any, childStyle: any, parentStyle?: any) {\n if (!this.traceEnabled) {\n return;\n }\n let addTrace = !isEmpty(childStyle);\n forEach(mergedChildstyle, (v: any, k: string) => {\n if (v && !isString(v) && !isArray(v) && isObject(v)) {\n addTrace = false;\n\n if (!isNativeStyle(k, 'property')) {\n this.addTrace(styleName + '.' + k, v, childStyle && childStyle[k], parentStyle && parentStyle[k])\n }\n }\n });\n if (addTrace) {\n mergedChildstyle['__trace'] = [\n {\n name: styleName,\n value: childStyle\n },\n ...(parentStyle?.__trace|| [])\n ];\n } else {\n mergedChildstyle['__trace'] = [...(parentStyle?.__trace|| [])];\n }\n }\n\n private flatten(style: any, prefix = \"\", result = {} as any) {\n let collect = !isEmpty(style);\n forEach(style, (v: any, k: string) => {\n if (v && !isString(v) && !isArray(v) && isObject(v)) {\n collect = false;\n this.flatten(v, (prefix ? prefix + '.' : '') + k, result)\n }\n });\n if (collect) {\n result[prefix] = style;\n }\n return result;\n }\n\n extractTopLevelVariables(style: Record<string, any>): Record<string, any> {\n const vars: Record<string, any> = {};\n for (const key in style) {\n if (key.startsWith('--')) {\n vars[key] = style[key];\n }\n }\n return vars;\n }\n\n private static readonly PADDING_SIDES = ['Top', 'Right', 'Bottom', 'Left'];\n private resolvePaddingPrecedence(layers: any[]): any[] {\n let overlay: any = null;\n const visit = (nodes: any[], path: string[], depth: number) => {\n let last = -1;\n nodes.forEach((n, i) => { if (!isNil(n?.padding)) { last = i; } });\n if (last >= 0) {\n Theme.PADDING_SIDES.forEach(sd => {\n if (nodes.some(n => !isNil(n?.['_Padding' + sd]))) { return; }\n const v = nodes.reduce((a, n, i) => (i > last && !isNil(n?.['padding' + sd]) ? n['padding' + sd] : a), undefined);\n if (!isNil(v)) { set(overlay = overlay || {}, [...path, '_Padding' + sd], v); }\n });\n }\n if (depth >= 4) { return; }\n const kids = nodes.map(n => (n ? Object.keys(n).filter(k => isObject(n[k]) && !isArray(n[k])) : []));\n new Set(flatten(kids)).forEach(k => visit(nodes.map(n => n?.[k]), [...path, k], depth + 1));\n };\n visit(layers, [], 0);\n return overlay ? [...layers, overlay] : layers;\n }\n\n mergeStyle(...styles: any) {\n styles = this.resolvePaddingPrecedence(styles);\n const style = deepCopy(...styles);\n if (this.traceEnabled) {\n const flattenStyles = this.flatten(style);\n Object.keys(flattenStyles).forEach(k => {\n const s = flattenStyles[k];\n if (!isNativeStyle(k, 'path')) {\n s['__trace'] = flatten(reverse(styles.map((v: any) => {\n const cs = get(v, k);\n if (cs && cs.__trace) {\n return [...cs.__trace];\n }\n return [];\n }).filter((t: any) => t.length > 0)));\n }\n });\n }\n const baseTokens = this.extractTopLevelVariables(style)\n const classnames = Array.isArray(styles)\n ? styles.filter(isString).join(' ')\n : Object.values(styles).filter(isString).join(' ');\n\n return this.cleanseStyleProperties(style, baseTokens, classnames)\n }\n\n cleanseStyleProperties(style: any, baseTokens: any, classnames: any, inheritedTokens: Record<string, any> = {}) {\n if (!(style && isObject(style)) || isString(style) || isArray(style)) {\n return style;\n }\n style = style as any;\n if (isObject(style) && !isArray(style)) {\n const resolveStyle = (v: any, inheritedTokens: Record<string, any> = {}) => {\n v = this.replaceVariables(v, baseTokens, classnames, inheritedTokens);\n if (isString(v) && v.startsWith(\"color-mix(\")) {\n v = ColorMix.valueOf(v);\n }\n return v;\n };\n\n const classNames = Object.keys(style);\n const resolvedTokens = {...inheritedTokens};\n // For inline token in obj\n classNames.forEach(k => {\n if (k.startsWith('--')) {\n let v = resolveStyle((style as any)[k], resolvedTokens);\n resolvedTokens[k] = v;\n const variableName = k.substring(2);\n (ThemeVariables.INSTANCE as any)[variableName] = v;\n (ThemeVariables.INSTANCE as any)[camelCase(variableName)] = v;\n }\n });\n\n // For edge case when prop is before inline token\n classNames.forEach(k => {\n if (!k.startsWith('--')) {\n if (isObject((style as any)[k]) && !isArray((style as any)[k])) {\n this.cleanseStyleProperties((style as any)[k], baseTokens, classnames, resolvedTokens);\n } else {\n (style as any)[k] = resolveStyle((style as any)[k], resolvedTokens);\n }\n }\n });\n }\n if (!isNil(style['shadowRadius'])) {\n if (style['shadowRadius'] <= 0) {\n style['shadowColor'] = 'transparent';\n } else if (isNil(style['elevation'])) {\n style['elevation'] = 2;\n }\n }\n if (!isNil(style['margin'])) {\n style['marginLeft'] = style['marginLeft'] ?? style['margin'];\n style['marginRight'] = style['marginRight'] ?? style['margin'];\n style['marginTop'] = style['marginTop'] ?? style['margin'];\n style['marginBottom'] = style['marginBottom'] ?? style['margin'];\n delete style['margin'];\n }\n if (!isNil(style['opacity']) && typeof style['opacity'] === 'string' && style['opacity'].endsWith('%')) {\n const percentage = parseFloat(style['opacity']);\n if (!isNaN(percentage)) {\n style['opacity'] = percentage / 100;\n }\n }\n\n const isViewportUnit = (value: string): boolean => value.endsWith('vw') || value.endsWith('vh');\n\n\n const convertViewportUnitToPx = (value: string): number | string => {\n if (value.endsWith('vw')) {\n const screenWidth = Dimensions.get('window').width;\n const stylePropertyValue = value.replace('vw', '');\n return Number(stylePropertyValue) / 100 * screenWidth;\n }\n if (value.endsWith('vh')) {\n const screenHeight = Dimensions.get('window').height;\n const stylePropertyValue = value.replace('vh', '');\n return Number(stylePropertyValue) / 100 * screenHeight;\n }\n return value;\n };\n\n const processStyleValue = (value: any) => {\n if (typeof value === 'string') {\n if (isViewportUnit(value)) {\n return convertViewportUnitToPx(value);\n }\n const num = parseFloat(value);\n return isNaN(num) ? value : num;\n }\n return value;\n };\n\n /** True when borderWidth is a single value or shorthand that resolves to the same width on all sides. */\n const isUniformBorderWidthValue = (value: any): boolean => {\n if (value == null) {\n return false;\n }\n if (typeof value === 'number') {\n return !Number.isNaN(value);\n }\n if (typeof value === 'string') {\n const tokens = value.trim().split(/\\s+/).filter(Boolean);\n if (tokens.length <= 1) {\n return true;\n }\n const parsed = tokens.map((t) => processStyleValue(t));\n const [t, r = t, b = t, l = r] = parsed;\n return t === r && r === b && b === l;\n }\n if (isObject(value) && !isArray(value)) {\n const vals = Object.values(value).map((v) => processStyleValue(v));\n if (!vals.length) {\n return false;\n }\n return vals.every((v) => v === vals[0]);\n }\n if (typeof value !== 'object' && !isNaN(Number(value))) {\n return true;\n }\n return false;\n };\n\n const normalizeUniformBorderWidth = (value: any): any => {\n if (typeof value === 'number') {\n return value;\n }\n if (typeof value === 'string') {\n const tokens = value.trim().split(/\\s+/).filter(Boolean);\n return tokens.length ? processStyleValue(tokens[0]) : value;\n }\n if (isObject(value) && !isArray(value)) {\n const first = Object.values(value)[0];\n return processStyleValue(first);\n }\n if (typeof value !== 'object' && !isNaN(Number(value))) {\n return Number(value);\n }\n return value;\n };\n\n /** Border-like shorthands: only fill sides that are still nullish so explicit longhands (e.g. borderLeftWidth) win. */\n const mergeBorderLikeBoxModelResult = (target: any, result: Record<string, any>) => {\n Object.keys(result).forEach((key) => {\n target[key] = target[key] ?? result[key];\n });\n };\n\n const applyBoxModelProperty = (property: string, value: any) => {\n if (value == null) return;\n\n const result: any = {};\n const positions = ['Top', 'Right', 'Bottom', 'Left'];\n const isBorderRadius = property === 'border';\n const isBorderWidth = property === 'borderWidth';\n const borderRadiusKeys: Record<string, string> = {\n Top: 'borderTopLeftRadius',\n Right: 'borderTopRightRadius',\n Bottom: 'borderBottomRightRadius',\n Left: 'borderBottomLeftRadius'\n };\n const getProp = (pos: string) => {\n if (isBorderRadius) {\n return borderRadiusKeys[pos];\n } else if (isBorderWidth) {\n return `border${pos}Width`;\n }\n return property + pos;\n };\n if (typeof value === 'string') {\n const values = value.trim().split(/\\s+/).map(processStyleValue);\n const [t, r = t, b = t, l = r] = values; // Destructure with defaults\n\n result[getProp('Top')] = t;\n result[getProp('Right')] = r;\n result[getProp('Bottom')] = b;\n result[getProp('Left')] = l;\n\n }\n else if (typeof value === 'number' || !isNaN(Number(value))) {\n const numValue = Number(value);\n positions.forEach(pos => {\n result[getProp(pos)] = numValue;\n });\n }\n else if (isObject(value)) {\n Object.entries(value).forEach(([key, val]) => {\n const pos = key.charAt(0).toUpperCase() + key.slice(1).toLowerCase();\n result[getProp(pos)] = processStyleValue(val);\n });\n }\n if (Object.keys(result).length > 0) {\n if (property === 'padding' || property === 'margin' || property === 'border') {\n Object.assign(style, result);\n // foundation shorthand will take more priority\n } else {\n mergeBorderLikeBoxModelResult(style, result);\n //runtime default shorthand will be having more priority\n }\n }\n };\n const paddingPositions = ['Top', 'Right', 'Bottom', 'Left'];\n const hasOverridePadding = paddingPositions.some(pos =>\n !isNil(style[`_Padding${pos}`])\n );\n if (hasOverridePadding || !isNil(style['padding'])) {\n applyBoxModelProperty('padding', style['padding']);\n paddingPositions.forEach(pos => {\n const overrideKey = `_Padding${pos}`;\n const overrideValue = style[overrideKey];\n if (!isNil(overrideValue)) {\n style[`padding${pos}`] = processStyleValue(overrideValue);\n }\n delete style[overrideKey];\n });\n delete style['padding'];\n }\n\n if (!isNil(style['borderWidth'])) {\n const bw = style['borderWidth'];\n if (isUniformBorderWidthValue(bw)) {\n // Remove individual side widths so the uniform shorthand applies without conflict\n delete style['borderTopWidth'];\n delete style['borderRightWidth'];\n delete style['borderBottomWidth'];\n delete style['borderLeftWidth'];\n delete style['borderBottomColor'];\n delete style['borderBottomStyle'];\n style['borderWidth'] = normalizeUniformBorderWidth(bw);\n } else {\n applyBoxModelProperty('borderWidth', bw);\n delete style['borderWidth'];\n }\n }\n\n if (!isNil(style['borderRadius'])) {\n applyBoxModelProperty('border', style['borderRadius']);\n delete style['borderRadius'];\n // Non-uniform borderWidth shorthand is expanded at end of cleanse (after margin etc.) so it overrides per-side longhands.\n }\n\n if (!isNil(style['margin'])) {\n applyBoxModelProperty('margin', style['margin']);\n delete style['margin'];\n }\n if (this.revertLayoutToExpo50 && !isNil(style['flexDirection']) && style['flexDirection'] === 'row-reverse') {\n if (!isNil(style['paddingLeft']) || !isNil(style['paddingRight'])) {\n if (!isNil(style['paddingLeft']) && !isNil(style['paddingRight'])) {\n [style['paddingLeft'], style['paddingRight']] = [style['paddingRight'], style['paddingLeft']];\n } else {\n const [paddingLeft, paddingRight] = [style['paddingLeft'], style['paddingRight']];\n if (paddingLeft !== undefined) {\n style['paddingRight'] = paddingLeft;\n delete style['paddingLeft'];\n }\n if (paddingRight !== undefined) {\n style['paddingLeft'] = paddingRight;\n delete style['paddingRight'];\n }\n }\n }\n\n if (!isNil(style['marginLeft']) || !isNil(style['marginRight'])) {\n if (!isNil(style['marginLeft']) && !isNil(style['marginRight'])) {\n [style['marginLeft'], style['marginRight']] = [style['marginRight'], style['marginLeft']];\n } else {\n const [marginLeft, marginRight] = [style['marginLeft'], style['marginRight']];\n if (marginLeft !== undefined) {\n style['marginRight'] = marginLeft;\n delete style['marginLeft'];\n }\n if (marginRight !== undefined) {\n style['marginLeft'] = marginRight;\n delete style['marginRight'];\n }\n }\n }\n }\n if (!isNil(style['color']) && style['color'] === 'transparent') {\n style['color'] = 'rgba(255, 255, 255, 0)'\n }\n if (!isNil(style['color']) && style['color'] === 'transparent') {\n style['color'] = 'rgba(255, 255, 255, 0)'\n }\n Object.keys(style).forEach((k, i) => {\n const stylePropertyValue = style[k];\n if (typeof stylePropertyValue === 'string' && isViewportUnit(stylePropertyValue)) {\n style[k] = convertViewportUnitToPx(stylePropertyValue);\n }\n })\n return style;\n }\n\n getStyle(name: string) {\n let style = this.cache[name];\n if (style) {\n return style;\n }\n if (!name) {\n return {};\n }\n if (name.indexOf(' ') > 0) {\n style = this.mergeStyle(...(name.split(' ').map(c => this.getStyle(c))));\n } else {\n const parentStyle = this.parent && this.parent.getStyle(name);\n const mediaQuery = (this.styles[name] || {})['@media'];\n let clonedStyle: Record<string, any> = { root: {} }\n if (!mediaQuery || matchMedia(mediaQuery).matches) {\n clonedStyle = cloneDeep(this.styles[name]) || {} ;\n clonedStyle['root'] = clonedStyle['root'] || {};\n const extraTextStyles = (this.getTextStyle(clonedStyle) || {}) as any ;\n clonedStyle['text'] = Object.assign({}, extraTextStyles, clonedStyle['text'] || {});\n Object.keys(clonedStyle).forEach((k) => {\n const isValObject = isObject(clonedStyle[k]);\n if (!extraTextStyles[k] && (!isValObject || (k === 'shadowOffset'))) {\n clonedStyle['root'][k] = clonedStyle['root'][k] || clonedStyle[k]\n }\n });\n }\n if (this !== Theme.BASE && isWebPreviewMode()) {\n this.checkStyleProperties('', clonedStyle);\n }\n style = deepCopy(parentStyle, clonedStyle);\n this.addTrace(`@${this.name}:${name}`, style, clonedStyle, parentStyle);\n }\n this.cache[name] = style;\n return style;\n }\n\n $new(name = \"\", styles = {} as NamedStyles<any>) {\n const newTheme = new Theme(this, name);\n newTheme.reset(styles);\n this.children.push(newTheme);\n return newTheme;\n }\n\n destroy() {\n const i = this.parent.children.indexOf(this);\n if (i >= 0) {\n this.parent.children.splice(i, 1);\n }\n }\n\n getTextStyle(s: any) {\n if (!s) {\n return {};\n }\n const textStyle = {\n color: s.color,\n fontFamily: s.fontFamily,\n fontSize: s.fontSize,\n fontStyle: s.fontStyle,\n fontWeight: s.fontWeight,\n includeFontPadding: s.includeFontPadding,\n fontVariant: s.fontVariant,\n letterSpacing: s.letterSpacing,\n lineHeight: s.lineHeight,\n textAlign: s.textAlign,\n textAlignVertical: s.textAlignVertical,\n textDecorationColor: s.textDecorationColor,\n textDecorationStyle: s.textDecorationStyle,\n textShadowColor: s.textShadowColor,\n textShadowOffset: s.textShadowOffset,\n textShadowRadius: s.textShadowRadius,\n textTransform: s.textTransform,\n verticalAlign: s.verticalAlign,\n writingDirection: s.writingDirection,\n userSelect: s.userSelect,\n } as TextStyle;\n Object.keys(textStyle).forEach((k)=> {\n if(!(textStyle as any)[k]){\n delete (textStyle as any)[k];\n }\n })\n return textStyle;\n }\n\n reset(styles?: NamedStyles<any>) {\n this.styles = {};\n this.clearCache();\n if (styles) {\n const filteredStyles = this.handleMediaQueryStyles(styles);\n\n this.registerStyle((themeVariables, addStyle) => {\n Object.keys(filteredStyles).forEach(k => {\n addStyle(k, '', filteredStyles[k] as any);\n });\n });\n } else {\n this.styleGenerators.forEach(fn =>\n fn(ThemeVariables.INSTANCE, this.addStyle.bind(this)));\n }\n this.notify(ThemeEvent.CHANGE);\n }\n}\nexport default Theme.BASE;\nexport type NamedStyles<T> = { [P in keyof T]: AllStyle | NamedStyles<T>};\nexport type BackgroundImageStyle = {\n backgroundImage: string,\n backgroundPosition: string,\n backgroundRepeat: string,\n backgroundSize: string | number\n};\n\nexport type AllStyle = (ViewStyle & TextStyle & ImageStyle & {userSelect?: 'none'| 'text'} & {rippleColor?: string} & {backdropFilter?:string});\n\nconst ThemeContext = React.createContext<Theme>(null as any);\n\nexport const ThemeProvider = ThemeContext.Provider;\nexport const ThemeConsumer = ThemeContext.Consumer;\n/**\n * Common styles\n */\n Theme.BASE.registerStyle((themeVariables, addStyle) => {\n const addColStyles = (device: string, minWidth: string) => {\n for(let i = 1; i <= 12; i++) {\n addStyle(`col-${device}-${i}`, '', {\n \"@media\": `(min-width: ${minWidth})`,\n root: {\n width: (100 * i / 12) + '%'\n }\n } as any)\n }\n };\n addColStyles('xs', getBreakPointValue('MIN_EXTRA_SMALL_DEVICE'));\n addColStyles('sm', getBreakPointValue('MIN_SMALL_DEVICE'));\n addColStyles('md', getBreakPointValue('MIN_MEDIUM_DEVICE'));\n addColStyles('lg', getBreakPointValue('MIN_LARGE_DEVICE'));\n\n addStyle('d-none', '', {\n root: {\n display: 'none'\n }\n } as any);\n addStyle('d-flex', '', {\n root: {\n display: 'flex'\n }\n } as any);\n\n const addDisplayStyles = (device: string, minWidth: string, maxWidth: string) => {\n addStyle(`d-${device}-none`, '', {\n \"@media\": `(min-width: ${minWidth}) and (max-width: ${maxWidth})`,\n root: {\n display: 'none'\n }\n } as any);\n addStyle(`d-${device}-flex`, '', {\n \"@media\": `(min-width: ${minWidth}) and (max-width: ${maxWidth})`,\n root: {\n display: 'flex'\n }\n } as any);\n };\n addDisplayStyles('all',\n getBreakPointValue('MIN_EXTRA_SMALL_DEVICE'),\n getBreakPointValue('MAX_LARGE_DEVICE'));\n addDisplayStyles('xs',\n getBreakPointValue('MIN_EXTRA_SMALL_DEVICE'),\n getBreakPointValue('MAX_EXTRA_SMALL_DEVICE'));\n addDisplayStyles('sm',\n getBreakPointValue('MIN_SMALL_DEVICE'),\n getBreakPointValue('MAX_SMALL_DEVICE'));\n addDisplayStyles('md',\n getBreakPointValue('MIN_MEDIUM_DEVICE'),\n getBreakPointValue('MAX_MEDIUM_DEVICE'));\n addDisplayStyles('lg',\n getBreakPointValue('MIN_LARGE_DEVICE'),\n getBreakPointValue('MAX_LARGE_DEVICE'));\n\n const addElevationClasses = () => {\n for(let i = 1; i <= 10; i++) {\n addStyle(`elevate${i}`, '', {\n root : {\n boxShadow: `${i}px ${i}px ${i}px rgba(0, 0, 0, 0.27)`,\n zIndex: 1\n }\n });\n }\n };\n addElevationClasses();\n addStyle('hidden', '', {\n root: Platform.OS === 'web' ? {\n display: 'none'\n } : {\n width: 0,\n height: 0,\n transform: [{ scale: 0 }],\n overflow: 'hidden'\n }\n });\n addStyle('bg-danger', '', { root: { backgroundColor: themeVariables.dangerColor }});\n addStyle('bg-info', '', { root: { backgroundColor: themeVariables.infoColor }});\n addStyle('bg-primary', '', { root: { backgroundColor: themeVariables.primaryColor }});\n addStyle('bg-success', '', { root: { backgroundColor: themeVariables.successColor }});\n addStyle('bg-warning', '', { root: { backgroundColor: themeVariables.warningColor }});\n\n addStyle('border-danger', '', { root: { borderColor: themeVariables.dangerColor }});\n addStyle('border-info', '', { root: { borderColor: themeVariables.infoColor }});\n addStyle('border-primary', '', { root: { borderColor: themeVariables.primaryColor }});\n addStyle('border-success', '', { root: { borderColor: themeVariables.successColor }});\n addStyle('border-warning', '', { root: { borderColor: themeVariables.warningColor }});\n\n addStyle('hide-context-menu', '', { text: { userSelect: 'none' }});\n addStyle('hide-context-menu-input', '', { text: { userSelect: 'none' }});\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
3
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
4
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
5
|
-
import React from 'react';
|
|
6
|
-
import { Platform, Text, TextInput, View } from 'react-native';
|
|
7
|
-
import { ScrollView } from 'react-native-gesture-handler';
|
|
8
|
-
import { get, isNull } from 'lodash';
|
|
9
|
-
import WmSearchProps from './search.props';
|
|
10
|
-
import { DEFAULT_CLASS } from './search.styles';
|
|
11
|
-
import CoreWmSearch, { WmSearchState as CoreWmSearchState } from '@wavemaker-ai/app-rn-runtime/components/basic/search/search.component';
|
|
12
|
-
import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/app-rn-runtime/core/accessibility';
|
|
13
|
-
import WmIcon from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component';
|
|
14
|
-
import { AssetProvider } from '@wavemaker-ai/app-rn-runtime/core/asset.provider';
|
|
15
|
-
import { createSkeleton } from '@wavemaker-ai/app-rn-runtime/components/basic/skeleton/skeleton.component';
|
|
16
|
-
import OutsidePressHandler from '@wavemaker-ai/app-rn-runtime/core/outside-press-handler';
|
|
17
|
-
export class WmSearchState extends CoreWmSearchState {}
|
|
18
|
-
function isIconClass(val) {
|
|
19
|
-
return typeof val === 'string' && val.length > 0 && val !== 'false' && val !== 'null' && val !== 'undefined';
|
|
20
|
-
}
|
|
21
|
-
export default class WmSearch extends CoreWmSearch {
|
|
22
|
-
constructor(props, defaultClass = DEFAULT_CLASS, defaultProps = new WmSearchProps(), defaultState = new WmSearchState()) {
|
|
23
|
-
super(props, defaultClass, defaultProps, defaultState);
|
|
24
|
-
_defineProperty(this, "searchInputHeight", 0);
|
|
25
|
-
_defineProperty(this, "showPopover", () => {
|
|
26
|
-
this.updateState({
|
|
27
|
-
isOpened: true
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
_defineProperty(this, "hide", () => {
|
|
31
|
-
if (this.state.isOpened) {
|
|
32
|
-
this.updateState({
|
|
33
|
-
isOpened: false
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
handleLeadingIconPress() {
|
|
39
|
-
this.invokeEventCallback('onLeadingiconclick', [this.proxy]);
|
|
40
|
-
}
|
|
41
|
-
handleBackIconPress() {
|
|
42
|
-
this.updateState({
|
|
43
|
-
props: {
|
|
44
|
-
query: ''
|
|
45
|
-
},
|
|
46
|
-
dataItems: this.state.dataItems ? this.state.dataItems.map(item => {
|
|
47
|
-
item.selected = false;
|
|
48
|
-
return item;
|
|
49
|
-
}) : []
|
|
50
|
-
});
|
|
51
|
-
this.hide();
|
|
52
|
-
}
|
|
53
|
-
searchIconPress() {
|
|
54
|
-
const query = this.state.props.query || '';
|
|
55
|
-
if (this.state.props.searchon === 'onsearchiconclick') {
|
|
56
|
-
this.updateFilteredData(query);
|
|
57
|
-
if (query && this.styles.modal.display !== 'none') {
|
|
58
|
-
this.showPopover && this.showPopover();
|
|
59
|
-
}
|
|
60
|
-
} else {
|
|
61
|
-
this.isFocused = false;
|
|
62
|
-
this.onItemSelect(this.state.data[0]);
|
|
63
|
-
}
|
|
64
|
-
if (get(this.props, 'formfield')) {
|
|
65
|
-
var _this$props$invokeEve, _this$props;
|
|
66
|
-
(_this$props$invokeEve = (_this$props = this.props).invokeEvent) === null || _this$props$invokeEve === void 0 || _this$props$invokeEve.call(_this$props, 'onSubmit', [null, this]);
|
|
67
|
-
} else {
|
|
68
|
-
this.invokeEventCallback('onSubmit', [null, this]);
|
|
69
|
-
}
|
|
70
|
-
this.isFocused = false;
|
|
71
|
-
}
|
|
72
|
-
renderSkeleton(props) {
|
|
73
|
-
var _this$styles$root, _this$styles$root2;
|
|
74
|
-
return createSkeleton(this.theme, this.styles.skeleton, {
|
|
75
|
-
...this.styles.root,
|
|
76
|
-
width: props.skeletonwidth || ((_this$styles$root = this.styles.root) === null || _this$styles$root === void 0 ? void 0 : _this$styles$root.width),
|
|
77
|
-
height: props.skeletonheight || ((_this$styles$root2 = this.styles.root) === null || _this$styles$root2 === void 0 ? void 0 : _this$styles$root2.height)
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
updateFilteredData(queryText = '') {
|
|
81
|
-
super.updateFilteredData(queryText);
|
|
82
|
-
if (this.isFocused && queryText && this.styles.modal.display !== 'none' && !this.state.isOpened) {
|
|
83
|
-
this.showPopover && this.showPopover();
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
renderDropdownContent(props, filteredData) {
|
|
87
|
-
const items = filteredData.map((item, index) => {
|
|
88
|
-
if (props.limit && index + 1 > props.limit) return null;
|
|
89
|
-
return this.renderSearchItem(item, index);
|
|
90
|
-
});
|
|
91
|
-
if (filteredData.length === 0) {
|
|
92
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
93
|
-
style: {
|
|
94
|
-
width: '100%'
|
|
95
|
-
}
|
|
96
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
97
|
-
style: this.styles.dropDownContent
|
|
98
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
99
|
-
style: this.styles.searchItem
|
|
100
|
-
}, /*#__PURE__*/React.createElement(Text, null, props.noresultsfoundmessage))));
|
|
101
|
-
}
|
|
102
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
103
|
-
style: {
|
|
104
|
-
width: '100%'
|
|
105
|
-
}
|
|
106
|
-
}, /*#__PURE__*/React.createElement(AssetProvider, {
|
|
107
|
-
value: this.loadAsset
|
|
108
|
-
}, props.scrollablesearchresults ? /*#__PURE__*/React.createElement(ScrollView, {
|
|
109
|
-
contentContainerStyle: this.styles.dropDownContent,
|
|
110
|
-
showsVerticalScrollIndicator: false
|
|
111
|
-
}, items) : /*#__PURE__*/React.createElement(View, {
|
|
112
|
-
style: this.styles.dropDownContent
|
|
113
|
-
}, items)));
|
|
114
|
-
}
|
|
115
|
-
renderWidget(props) {
|
|
116
|
-
var _this$styles$placehol;
|
|
117
|
-
const isOpened = this.state.isOpened;
|
|
118
|
-
const filteredData = this.state.data || [];
|
|
119
|
-
const isDropdownVisible = isOpened;
|
|
120
|
-
const hasLeadingIcon = isIconClass(props.leadingiconclass) || isIconClass(props.leadingiconurl);
|
|
121
|
-
const hasBackSearchIcon = isIconClass(props.backsearchiconclass) || isIconClass(props.backsearchiconurl);
|
|
122
|
-
const hasSearchIcon = isIconClass(props.searchiconclass) || isIconClass(props.searchiconurl);
|
|
123
|
-
const hasClearSearchIcon = isIconClass(props.clearsearchiconclass) || isIconClass(props.clearsearchiconurl);
|
|
124
|
-
const query = this.state.props.query || '';
|
|
125
|
-
const isSearchOnIconClick = props.searchon === 'onsearchiconclick';
|
|
126
|
-
const showBackIcon = (isDropdownVisible || this.isFocused) && hasBackSearchIcon;
|
|
127
|
-
const showLeadingIcon = hasLeadingIcon && !showBackIcon;
|
|
128
|
-
const showClearIcon = hasClearSearchIcon && props.showclear && !!query && (isSearchOnIconClick ? isDropdownVisible : true);
|
|
129
|
-
const showSearchIcon = !showClearIcon && !isDropdownVisible && hasSearchIcon && props.showSearchIcon !== false;
|
|
130
|
-
const showTrailingIcon = showSearchIcon || showClearIcon;
|
|
131
|
-
let inputOpts = {};
|
|
132
|
-
const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';
|
|
133
|
-
inputOpts[valueExpr] = query;
|
|
134
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
135
|
-
style: this.theme.mergeStyle(this.styles.rootWrapper, isDropdownVisible ? this.styles.rootWrapperDropdownOpen : null)
|
|
136
|
-
}, /*#__PURE__*/React.createElement(OutsidePressHandler, {
|
|
137
|
-
onOutsidePress: () => this.hide()
|
|
138
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
139
|
-
style: [this.styles.root, isDropdownVisible ? {
|
|
140
|
-
borderBottomLeftRadius: 0,
|
|
141
|
-
borderBottomRightRadius: 0
|
|
142
|
-
} : null, !this.state.isValid ? this.styles.invalid : null],
|
|
143
|
-
ref: ref => {
|
|
144
|
-
this.view = ref;
|
|
145
|
-
},
|
|
146
|
-
onLayout: e => {
|
|
147
|
-
const {
|
|
148
|
-
width,
|
|
149
|
-
height
|
|
150
|
-
} = e.nativeEvent.layout;
|
|
151
|
-
this.searchInputWidth = width;
|
|
152
|
-
this.searchInputHeight = height;
|
|
153
|
-
}
|
|
154
|
-
}, /*#__PURE__*/React.createElement(TextInput, _extends({}, this.getTestPropsForInput(), getAccessibilityProps(AccessibilityWidgetType.SEARCH, props), {
|
|
155
|
-
ref: ref => {
|
|
156
|
-
this.widgetRef = ref;
|
|
157
|
-
// @ts-ignore
|
|
158
|
-
if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {
|
|
159
|
-
// @ts-ignore
|
|
160
|
-
ref.selectionStart = ref.selectionEnd = this.cursor;
|
|
161
|
-
}
|
|
162
|
-
},
|
|
163
|
-
style: [this.styles.text, Platform.OS === 'web' ? this.styles.inputWeb : null, showLeadingIcon || showBackIcon ? this.styles.inputWithLeadingIcon : null, showTrailingIcon ? this.styles.inputWithTrailingIcon : null],
|
|
164
|
-
placeholder: props.placeholder || 'Search',
|
|
165
|
-
placeholderTextColor: (_this$styles$placehol = this.styles.placeholderText) === null || _this$styles$placehol === void 0 ? void 0 : _this$styles$placehol.color,
|
|
166
|
-
autoFocus: props.autofocus,
|
|
167
|
-
editable: !(props.disabled || props.readonly),
|
|
168
|
-
autoComplete: "off",
|
|
169
|
-
autoCorrect: false,
|
|
170
|
-
autoCapitalize: "none",
|
|
171
|
-
onChangeText: this.onChange.bind(this),
|
|
172
|
-
onChange: this.invokeChange.bind(this),
|
|
173
|
-
onFocus: this.onFocus.bind(this),
|
|
174
|
-
onBlur: this.onBlur.bind(this)
|
|
175
|
-
}, inputOpts)), (showLeadingIcon || showBackIcon) && /*#__PURE__*/React.createElement(View, {
|
|
176
|
-
style: [this.styles.iconWrapper, {
|
|
177
|
-
left: 4
|
|
178
|
-
}]
|
|
179
|
-
}, /*#__PURE__*/React.createElement(WmIcon, {
|
|
180
|
-
styles: this.styles.leadingIcon,
|
|
181
|
-
id: this.getTestId(showBackIcon ? 'backicon' : 'leadingicon'),
|
|
182
|
-
iconclass: showBackIcon ? props.backsearchiconclass : props.leadingiconclass,
|
|
183
|
-
iconurl: showBackIcon ? props.backsearchiconurl : props.leadingiconurl,
|
|
184
|
-
iconsize: 24,
|
|
185
|
-
onTap: showBackIcon ? this.handleBackIconPress.bind(this) : this.handleLeadingIconPress.bind(this),
|
|
186
|
-
disabled: !showBackIcon && (props.disabled || props.readonly)
|
|
187
|
-
})), showTrailingIcon && /*#__PURE__*/React.createElement(View, {
|
|
188
|
-
style: [this.styles.iconWrapper, {
|
|
189
|
-
right: 4
|
|
190
|
-
}]
|
|
191
|
-
}, /*#__PURE__*/React.createElement(WmIcon, {
|
|
192
|
-
styles: this.styles.trailingIcon,
|
|
193
|
-
id: this.getTestId(showClearIcon ? 'clear' : 'search'),
|
|
194
|
-
iconclass: showClearIcon ? props.clearsearchiconclass : props.searchiconclass,
|
|
195
|
-
iconurl: showClearIcon ? props.clearsearchiconurl : props.searchiconurl,
|
|
196
|
-
iconsize: 24,
|
|
197
|
-
onTap: showClearIcon ? this.clearSearch.bind(this) : this.searchIconPress.bind(this),
|
|
198
|
-
disabled: !showClearIcon && (props.disabled || props.readonly)
|
|
199
|
-
})), isDropdownVisible ? /*#__PURE__*/React.createElement(View, {
|
|
200
|
-
style: this.theme.mergeStyle(this.styles.modalContent, this.styles.dropdownContainer, this.searchInputWidth ? {
|
|
201
|
-
width: this.searchInputWidth
|
|
202
|
-
} : null, this.searchInputHeight ? {
|
|
203
|
-
top: this.searchInputHeight
|
|
204
|
-
} : null)
|
|
205
|
-
}, this.renderDropdownContent(props, filteredData)) : null)));
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
//# sourceMappingURL=search.component.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","Text","TextInput","View","ScrollView","get","isNull","WmSearchProps","DEFAULT_CLASS","CoreWmSearch","WmSearchState","CoreWmSearchState","AccessibilityWidgetType","getAccessibilityProps","WmIcon","AssetProvider","createSkeleton","OutsidePressHandler","isIconClass","val","length","WmSearch","constructor","props","defaultClass","defaultProps","defaultState","_defineProperty","updateState","isOpened","state","handleLeadingIconPress","invokeEventCallback","proxy","handleBackIconPress","query","dataItems","map","item","selected","hide","searchIconPress","searchon","updateFilteredData","styles","modal","display","showPopover","isFocused","onItemSelect","data","_this$props$invokeEve","_this$props","invokeEvent","call","renderSkeleton","_this$styles$root","_this$styles$root2","theme","skeleton","root","width","skeletonwidth","height","skeletonheight","queryText","renderDropdownContent","filteredData","items","index","limit","renderSearchItem","createElement","style","dropDownContent","searchItem","noresultsfoundmessage","value","loadAsset","scrollablesearchresults","contentContainerStyle","showsVerticalScrollIndicator","renderWidget","_this$styles$placehol","isDropdownVisible","hasLeadingIcon","leadingiconclass","leadingiconurl","hasBackSearchIcon","backsearchiconclass","backsearchiconurl","hasSearchIcon","searchiconclass","searchiconurl","hasClearSearchIcon","clearsearchiconclass","clearsearchiconurl","isSearchOnIconClick","showBackIcon","showLeadingIcon","showClearIcon","showclear","showSearchIcon","showTrailingIcon","inputOpts","valueExpr","OS","mergeStyle","rootWrapper","rootWrapperDropdownOpen","onOutsidePress","borderBottomLeftRadius","borderBottomRightRadius","isValid","invalid","ref","view","onLayout","e","nativeEvent","layout","searchInputWidth","searchInputHeight","_extends","getTestPropsForInput","SEARCH","widgetRef","selectionStart","selectionEnd","cursor","text","inputWeb","inputWithLeadingIcon","inputWithTrailingIcon","placeholder","placeholderTextColor","placeholderText","color","autoFocus","autofocus","editable","disabled","readonly","autoComplete","autoCorrect","autoCapitalize","onChangeText","onChange","bind","invokeChange","onFocus","onBlur","iconWrapper","left","leadingIcon","id","getTestId","iconclass","iconurl","iconsize","onTap","right","trailingIcon","clearSearch","modalContent","dropdownContainer","top"],"sources":["search.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Platform, Text, TextInput, View } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { get, isNull } from 'lodash';\n\nimport WmSearchProps from './search.props';\nimport { DEFAULT_CLASS } from './search.styles';\nimport CoreWmSearch, { WmSearchState as CoreWmSearchState } from '@wavemaker-ai/app-rn-runtime/components/basic/search/search.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/app-rn-runtime/core/accessibility';\nimport WmIcon from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component';\nimport { AssetProvider } from '@wavemaker-ai/app-rn-runtime/core/asset.provider';\nimport { createSkeleton } from '@wavemaker-ai/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport OutsidePressHandler from '@wavemaker-ai/app-rn-runtime/core/outside-press-handler';\nexport class WmSearchState extends CoreWmSearchState {\n}\n\nfunction isIconClass(val: any): boolean {\n return typeof val === 'string' && val.length > 0 && val !== 'false' && val !== 'null' && val !== 'undefined';\n}\n\nexport default class WmSearch extends (CoreWmSearch as any) {\n\n private searchInputHeight = 0;\n\n constructor(\n props: WmSearchProps,\n defaultClass: string = DEFAULT_CLASS,\n defaultProps: WmSearchProps = new WmSearchProps(),\n defaultState: WmSearchState = new WmSearchState(),\n ) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n private handleLeadingIconPress() {\n this.invokeEventCallback('onLeadingiconclick', [this.proxy]);\n }\n\n private handleBackIconPress() {\n this.updateState({\n props: { query: '' },\n dataItems: this.state.dataItems\n ? this.state.dataItems.map((item: any) => { item.selected = false; return item; })\n : [],\n } as WmSearchState);\n this.hide();\n }\n\n searchIconPress() {\n const query = this.state.props.query || '';\n\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateFilteredData(query);\n if (query && this.styles.modal.display !== 'none') {\n this.showPopover && this.showPopover();\n }\n } else {\n this.isFocused = false;\n this.onItemSelect(this.state.data[0]);\n }\n\n if (get(this.props, 'formfield')) {\n this.props.invokeEvent?.('onSubmit', [null, this]);\n } else {\n this.invokeEventCallback('onSubmit', [null, this]);\n }\n this.isFocused = false;\n }\n\n public renderSkeleton(props: WmSearchProps): React.ReactNode {\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: (props.skeletonwidth || this.styles.root?.width) as DimensionValue,\n height: (props.skeletonheight || this.styles.root?.height) as DimensionValue,\n });\n }\n\n updateFilteredData(queryText: string = '') {\n super.updateFilteredData(queryText);\n\n if (this.isFocused && queryText && this.styles.modal.display !== 'none' && !this.state.isOpened) {\n this.showPopover && this.showPopover();\n }\n }\n\n public showPopover = () => {\n this.updateState({ isOpened: true } as WmSearchState);\n };\n\n public hide = () => {\n if (this.state.isOpened) {\n this.updateState({ isOpened: false } as WmSearchState);\n }\n };\n\n renderDropdownContent(props: WmSearchProps, filteredData: any[]) {\n const items = filteredData.map((item: any, index: number) => {\n if (props.limit && index + 1 > props.limit) return null;\n return this.renderSearchItem(item, index);\n });\n if (filteredData.length === 0) {\n return (\n <View style={{ width: '100%' }}>\n <View style={this.styles.dropDownContent}>\n <View style={this.styles.searchItem}>\n <Text>\n {props.noresultsfoundmessage}\n </Text>\n </View>\n </View>\n </View>\n );\n }\n return (\n <View style={{ width: '100%' }}>\n <AssetProvider value={this.loadAsset}>\n {props.scrollablesearchresults ? (\n <ScrollView\n contentContainerStyle={this.styles.dropDownContent}\n showsVerticalScrollIndicator={false}\n >\n {items}\n </ScrollView>\n ) : (\n <View style={this.styles.dropDownContent}>\n {items}\n </View>\n )}\n </AssetProvider>\n </View>\n );\n }\n\n renderWidget(props: WmSearchProps) {\n const isOpened = this.state.isOpened;\n const filteredData = this.state.data || [];\n const isDropdownVisible = isOpened;\n\n const hasLeadingIcon = isIconClass(props.leadingiconclass) || isIconClass(props.leadingiconurl);\n const hasBackSearchIcon = isIconClass(props.backsearchiconclass) || isIconClass(props.backsearchiconurl);\n const hasSearchIcon = isIconClass(props.searchiconclass) || isIconClass(props.searchiconurl);\n const hasClearSearchIcon = isIconClass(props.clearsearchiconclass) || isIconClass(props.clearsearchiconurl);\n const query = this.state.props.query || '';\n const isSearchOnIconClick = props.searchon === 'onsearchiconclick';\n\n \n const showBackIcon = (isDropdownVisible || this.isFocused) && hasBackSearchIcon;\n const showLeadingIcon = hasLeadingIcon && !showBackIcon;\n\n const showClearIcon = hasClearSearchIcon && props.showclear && !!query &&\n (isSearchOnIconClick ? isDropdownVisible : true);\n const showSearchIcon = !showClearIcon && !isDropdownVisible && hasSearchIcon && props.showSearchIcon !== false;\n const showTrailingIcon = showSearchIcon || showClearIcon;\n\n let inputOpts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n inputOpts[valueExpr] = query;\n return (\n <View\n style={this.theme.mergeStyle(\n this.styles.rootWrapper,\n isDropdownVisible ? this.styles.rootWrapperDropdownOpen : null\n )}\n >\n <OutsidePressHandler\n onOutsidePress={() => this.hide()}\n >\n <View\n style={[\n this.styles.root,\n isDropdownVisible ? { borderBottomLeftRadius: 0, borderBottomRightRadius: 0 } : null,\n !this.state.isValid ? this.styles.invalid : null,\n ]}\n ref={(ref: any) => { this.view = ref; }}\n onLayout={(e: any) => {\n const { width, height } = e.nativeEvent.layout;\n this.searchInputWidth = width;\n this.searchInputHeight = height;\n }}\n >\n <TextInput\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.SEARCH, props)}\n ref={(ref: any) => {\n this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }\n }}\n style={[\n this.styles.text,\n Platform.OS === 'web' ? this.styles.inputWeb : null,\n (showLeadingIcon || showBackIcon) ? this.styles.inputWithLeadingIcon : null,\n showTrailingIcon ? this.styles.inputWithTrailingIcon : null,\n ]}\n placeholder={props.placeholder || 'Search'}\n placeholderTextColor={this.styles.placeholderText?.color as any}\n autoFocus={props.autofocus}\n editable={!(props.disabled || props.readonly)}\n autoComplete=\"off\"\n autoCorrect={false}\n autoCapitalize=\"none\"\n onChangeText={this.onChange.bind(this)}\n onChange={this.invokeChange.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onBlur={this.onBlur.bind(this)}\n {...inputOpts}\n />\n {(showLeadingIcon || showBackIcon) && (\n <View style={[\n this.styles.iconWrapper, \n { left: 4 }]}>\n <WmIcon\n styles={this.styles.leadingIcon}\n id={this.getTestId(showBackIcon ? 'backicon' : 'leadingicon')}\n iconclass={showBackIcon\n ? props.backsearchiconclass\n : props.leadingiconclass\n }\n iconurl={showBackIcon ? props.backsearchiconurl : props.leadingiconurl}\n iconsize={24}\n onTap={showBackIcon\n ? this.handleBackIconPress.bind(this)\n : this.handleLeadingIconPress.bind(this)\n }\n disabled={!showBackIcon && (props.disabled || props.readonly)}\n />\n </View>\n )}\n {showTrailingIcon && (\n <View style={[this.styles.iconWrapper,\n { right: 4 }]}>\n <WmIcon\n styles={this.styles.trailingIcon}\n id={this.getTestId(showClearIcon ? 'clear' : 'search')}\n iconclass={showClearIcon\n ? props.clearsearchiconclass\n : props.searchiconclass\n }\n iconurl={showClearIcon\n ? props.clearsearchiconurl\n : props.searchiconurl\n }\n iconsize={24}\n onTap={showClearIcon\n ? this.clearSearch.bind(this)\n : this.searchIconPress.bind(this)\n }\n disabled={!showClearIcon && (props.disabled || props.readonly)}\n />\n </View>\n )}\n \n\n {isDropdownVisible ? (\n <View\n style={this.theme.mergeStyle(\n this.styles.modalContent,\n this.styles.dropdownContainer,\n this.searchInputWidth ? { width: this.searchInputWidth } : null,\n this.searchInputHeight ? { top: this.searchInputHeight } : null,\n )}\n >\n {this.renderDropdownContent(props, filteredData)}\n </View>\n ) : null}\n </View>\n </OutsidePressHandler>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|