@wavemaker/app-rn-runtime 11.15.2-rc.249 → 11.15.3-rc.647481

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/app-rn-runtime",
3
- "version": "11.15.2-rc.249",
3
+ "version": "11.15.3-rc.647481",
4
4
  "description": "''",
5
5
  "main": "index",
6
6
  "module": "index",
@@ -59,7 +59,7 @@
59
59
  "@react-navigation/drawer": "7.5.8",
60
60
  "@react-navigation/native": "7.1.18",
61
61
  "@react-navigation/stack": "7.4.8",
62
- "@wavemaker/variables": "11.15.2-rc.249",
62
+ "@wavemaker/variables": "11.15.3-rc.647481",
63
63
  "axios": "1.8.3",
64
64
  "color": "4.2.3",
65
65
  "colorjs.io": "^0.5.2",
package/styles/theme.js CHANGED
@@ -370,10 +370,12 @@ export class Theme {
370
370
  });
371
371
  }
372
372
  if (Object.keys(result).length > 0) {
373
- if (property === 'padding' || property === 'margin') {
373
+ if (property === 'padding' || property === 'margin' || property === 'border') {
374
374
  Object.assign(style, result);
375
+ // foundation shorthand will take more priority
375
376
  } else {
376
377
  mergeBorderLikeBoxModelResult(style, result);
378
+ //runtime default shorthand will be having more priority
377
379
  }
378
380
  }
379
381
  };
@@ -403,6 +405,7 @@ export class Theme {
403
405
  if (!isNil(style['borderRadius'])) {
404
406
  applyBoxModelProperty('border', style['borderRadius']);
405
407
  delete style['borderRadius'];
408
+ // Non-uniform borderWidth shorthand is expanded at end of cleanse (after margin etc.) so it overrides per-side longhands.
406
409
  }
407
410
  if (!isNil(style['margin'])) {
408
411
  applyBoxModelProperty('margin', style['margin']);
@@ -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","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","content","substring","length","variableName","fallback","split","map","str","trim","resolvedValue","variants","INSTANCE","classList","cls","_ref","_ref2","_ref3","_ref4","_ref5","_inheritedTokens$vari","replace","parseFloat","clearCache","cache","registerStyle","styleGenerators","push","addStyle","bind","checkStyleProperties","value","Object","keys","k","startsWith","console","log","extend","style","styles","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","i","stylePropertyValue","indexOf","c","mediaQuery","clonedStyle","root","matches","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","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/app-rn-runtime/core/utils';\nimport EventNotifier from '@wavemaker/app-rn-runtime/core/event-notifier';\nimport ViewPort, {EVENTS as ViewPortEvents} from '@wavemaker/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/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { isNativeStyle} from '@wavemaker/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\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 let [variableName, fallback] = content.split(\",\").map(str => str.trim());\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 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') {\n Object.assign(style, result);\n } else {\n mergeBorderLikeBoxModelResult(style, result);\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 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 }\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 this.registerStyle((themeVariables, addStyle) => {\n Object.keys(styles).forEach(k => {\n addStyle(k, '', styles[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","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","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","content","substring","length","variableName","fallback","split","map","str","trim","resolvedValue","variants","INSTANCE","classList","cls","_ref","_ref2","_ref3","_ref4","_ref5","_inheritedTokens$vari","replace","parseFloat","clearCache","cache","registerStyle","styleGenerators","push","addStyle","bind","checkStyleProperties","value","Object","keys","k","startsWith","console","log","extend","style","styles","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","i","stylePropertyValue","indexOf","c","mediaQuery","clonedStyle","root","matches","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","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/app-rn-runtime/core/utils';\nimport EventNotifier from '@wavemaker/app-rn-runtime/core/event-notifier';\nimport ViewPort, {EVENTS as ViewPortEvents} from '@wavemaker/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/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\nimport { isNativeStyle} from '@wavemaker/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\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 let [variableName, fallback] = content.split(\",\").map(str => str.trim());\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 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 style['borderWidth'] = normalizeUniformBorderWidth(bw);\n\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\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 this.registerStyle((themeVariables, addStyle) => {\n Object.keys(styles).forEach(k => {\n addStyle(k, '', styles[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":[]}