@wavemaker/app-rn-runtime 11.11.6-rc.6191 → 11.11.7-rc.6211

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.
Files changed (45) hide show
  1. package/components/basic/button/button.component.js +0 -5
  2. package/components/basic/button/button.component.js.map +1 -1
  3. package/components/basic/icon/icon.component.js +5 -5
  4. package/components/basic/icon/icon.component.js.map +1 -1
  5. package/components/basic/icon/icon.props.js +1 -0
  6. package/components/basic/icon/icon.props.js.map +1 -1
  7. package/components/basic/picture/picture.component.js +5 -2
  8. package/components/basic/picture/picture.component.js.map +1 -1
  9. package/components/basic/picture/picture.props.js +1 -0
  10. package/components/basic/picture/picture.props.js.map +1 -1
  11. package/components/chart/basechart.component.js +11 -15
  12. package/components/chart/basechart.component.js.map +1 -1
  13. package/components/data/list/list.component.js +22 -4
  14. package/components/data/list/list.component.js.map +1 -1
  15. package/components/data/list/list.props.js +2 -0
  16. package/components/data/list/list.props.js.map +1 -1
  17. package/components/data/list/list.styles.js +1 -0
  18. package/components/data/list/list.styles.js.map +1 -1
  19. package/components/input/slider/slider.component.js +43 -6
  20. package/components/input/slider/slider.component.js.map +1 -1
  21. package/components/input/switch/switch.component.js +1 -1
  22. package/components/input/switch/switch.component.js.map +1 -1
  23. package/components/input/switch/switch.styles.js +14 -10
  24. package/components/input/switch/switch.styles.js.map +1 -1
  25. package/components/page/partial-container/partial-container.component.js +5 -1
  26. package/components/page/partial-container/partial-container.component.js.map +1 -1
  27. package/components/page/partial-container/partial-container.props.js +1 -0
  28. package/components/page/partial-container/partial-container.props.js.map +1 -1
  29. package/core/AppConfig.js.map +1 -1
  30. package/core/accessibility.js +15 -1
  31. package/core/accessibility.js.map +1 -1
  32. package/core/partial.service.js.map +1 -1
  33. package/core/responsive.utils.js +48 -0
  34. package/core/responsive.utils.js.map +1 -0
  35. package/core/tappable.component.js +2 -2
  36. package/core/tappable.component.js.map +1 -1
  37. package/core/utils.js +13 -0
  38. package/core/utils.js.map +1 -1
  39. package/npm-shrinkwrap.json +56 -55
  40. package/package-lock.json +56 -55
  41. package/package.json +2 -2
  42. package/runtime/services/partial.service.js +12 -1
  43. package/runtime/services/partial.service.js.map +1 -1
  44. package/styles/theme.js +27 -8
  45. package/styles/theme.js.map +1 -1
@@ -3,10 +3,21 @@ export class PartialServiceImpl {
3
3
  constructor(partials = null) {
4
4
  this.partials = partials;
5
5
  }
6
- get(partialName) {
6
+ get(partialName, params) {
7
7
  if (!this.partials) {
8
8
  this.partials = injector.get('APP_CONFIG').partials;
9
9
  }
10
+ if (params !== null && params !== void 0 && params.isPrefab) {
11
+ var _injector$get$prefabs;
12
+ let prefabPartials;
13
+ (_injector$get$prefabs = injector.get('APP_CONFIG').prefabs) === null || _injector$get$prefabs === void 0 || (_injector$get$prefabs = _injector$get$prefabs.partials) === null || _injector$get$prefabs === void 0 || _injector$get$prefabs.forEach(item => {
14
+ if (item.prefabName === params.name) {
15
+ prefabPartials = item.partials;
16
+ }
17
+ });
18
+ const targetPartial = prefabPartials && prefabPartials.find(p => p.name === partialName);
19
+ return targetPartial === null || targetPartial === void 0 ? void 0 : targetPartial.component;
20
+ }
10
21
  const partial = this.partials.find(p => p.name === partialName);
11
22
  return partial === null || partial === void 0 ? void 0 : partial.component;
12
23
  }
@@ -1 +1 @@
1
- {"version":3,"names":["injector","PartialServiceImpl","constructor","partials","get","partialName","partial","find","p","name","component"],"sources":["partial.service.tsx"],"sourcesContent":["import injector from '@wavemaker/app-rn-runtime/core/injector';\nimport PartialService from '@wavemaker/app-rn-runtime/core/partial.service';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\n\nexport class PartialServiceImpl implements PartialService {\n\n public constructor(private partials = null as any) {\n\n }\n\n get(partialName: string) {\n if (!this.partials) {\n this.partials = injector.get<AppConfig>('APP_CONFIG').partials;\n }\n const partial = this.partials.find((p: any) => p.name === partialName);\n return partial?.component;\n }\n}\n\nexport default new PartialServiceImpl();"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,yCAAyC;AAI9D,OAAO,MAAMC,kBAAkB,CAA2B;EAE/CC,WAAWA,CAASC,QAAQ,GAAG,IAAW,EAAE;IAAA,KAAxBA,QAAQ,GAARA,QAAQ;EAEnC;EAEAC,GAAGA,CAACC,WAAmB,EAAE;IACrB,IAAI,CAAC,IAAI,CAACF,QAAQ,EAAE;MAChB,IAAI,CAACA,QAAQ,GAAGH,QAAQ,CAACI,GAAG,CAAY,YAAY,CAAC,CAACD,QAAQ;IAClE;IACA,MAAMG,OAAO,GAAG,IAAI,CAACH,QAAQ,CAACI,IAAI,CAAEC,CAAM,IAAKA,CAAC,CAACC,IAAI,KAAKJ,WAAW,CAAC;IACtE,OAAOC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEI,SAAS;EAC7B;AACJ;AAEA,eAAe,IAAIT,kBAAkB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["injector","PartialServiceImpl","constructor","partials","get","partialName","params","isPrefab","_injector$get$prefabs","prefabPartials","prefabs","forEach","item","prefabName","name","targetPartial","find","p","component","partial"],"sources":["partial.service.tsx"],"sourcesContent":["import injector from '@wavemaker/app-rn-runtime/core/injector';\nimport PartialService from '@wavemaker/app-rn-runtime/core/partial.service';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\n\nexport class PartialServiceImpl implements PartialService {\n\n public constructor(private partials = null as any) {\n\n }\n\n get(partialName: string, params?: {isPrefab: boolean, name: string}) {\n if (!this.partials) {\n this.partials = injector.get<AppConfig>('APP_CONFIG').partials;\n }\n \n if(params?.isPrefab) {\n let prefabPartials;\n injector.get<AppConfig>('APP_CONFIG').prefabs?.partials?.forEach(item => {\n if(item.prefabName === params.name){\n prefabPartials = item.partials;\n }\n })\n const targetPartial = prefabPartials && (prefabPartials as any).find((p: any) => p.name === partialName);\n return (targetPartial as any)?.component;\n }\n\n const partial = this.partials.find((p: any) => p.name === partialName);\n return partial?.component;\n }\n}\n\nexport default new PartialServiceImpl();"],"mappings":"AAAA,OAAOA,QAAQ,MAAM,yCAAyC;AAI9D,OAAO,MAAMC,kBAAkB,CAA2B;EAE/CC,WAAWA,CAASC,QAAQ,GAAG,IAAW,EAAE;IAAA,KAAxBA,QAAQ,GAARA,QAAQ;EAEnC;EAEAC,GAAGA,CAACC,WAAmB,EAAEC,MAA0C,EAAE;IACjE,IAAI,CAAC,IAAI,CAACH,QAAQ,EAAE;MAChB,IAAI,CAACA,QAAQ,GAAGH,QAAQ,CAACI,GAAG,CAAY,YAAY,CAAC,CAACD,QAAQ;IAClE;IAEA,IAAGG,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEC,QAAQ,EAAE;MAAA,IAAAC,qBAAA;MACjB,IAAIC,cAAc;MAClB,CAAAD,qBAAA,GAAAR,QAAQ,CAACI,GAAG,CAAY,YAAY,CAAC,CAACM,OAAO,cAAAF,qBAAA,gBAAAA,qBAAA,GAA7CA,qBAAA,CAA+CL,QAAQ,cAAAK,qBAAA,eAAvDA,qBAAA,CAAyDG,OAAO,CAACC,IAAI,IAAI;QACrE,IAAGA,IAAI,CAACC,UAAU,KAAKP,MAAM,CAACQ,IAAI,EAAC;UAC/BL,cAAc,GAAGG,IAAI,CAACT,QAAQ;QAClC;MACJ,CAAC,CAAC;MACF,MAAMY,aAAa,GAAGN,cAAc,IAAKA,cAAc,CAASO,IAAI,CAAEC,CAAM,IAAKA,CAAC,CAACH,IAAI,KAAKT,WAAW,CAAC;MACxG,OAAQU,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAUG,SAAS;IAC5C;IAEA,MAAMC,OAAO,GAAG,IAAI,CAAChB,QAAQ,CAACa,IAAI,CAAEC,CAAM,IAAKA,CAAC,CAACH,IAAI,KAAKT,WAAW,CAAC;IACtE,OAAOc,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAED,SAAS;EAC7B;AACJ;AAEA,eAAe,IAAIjB,kBAAkB,CAAC,CAAC","ignoreList":[]}
package/styles/theme.js CHANGED
@@ -13,6 +13,7 @@ import MediaQueryList from './MediaQueryList';
13
13
  import ThemeVariables from './theme.variables';
14
14
  import { getErrorMessage, getStyleReference, isValidStyleProp } from './style-prop.validator';
15
15
  import injector from '@wavemaker/app-rn-runtime/core/injector';
16
+ import { isNativeStyle } from '@wavemaker/app-rn-runtime/core/utils';
16
17
  export const DEFAULT_CLASS = 'DEFAULT_CLASS';
17
18
  if (typeof window !== "undefined") {
18
19
  // @ts-ignore: does not properly extend MediaQueryList
@@ -28,6 +29,20 @@ export const DEVICE_BREAK_POINTS = {
28
29
  'MIN_LARGE_DEVICE': '1200px',
29
30
  'MAX_LARGE_DEVICE': '1000000px'
30
31
  };
32
+ export const DEVICE_BREAK_POINTS_NATIVE_MOBILE = {
33
+ 'MIN_EXTRA_SMALL_DEVICE': '0',
34
+ // 0-479px (phones portrait)
35
+ 'MAX_EXTRA_SMALL_DEVICE': '479',
36
+ 'MIN_SMALL_DEVICE': '480',
37
+ // 480-767px (phones landscape, small tablets portrait)
38
+ 'MAX_SMALL_DEVICE': '767',
39
+ 'MIN_MEDIUM_DEVICE': '768',
40
+ // 768-1023px (tablets portrait, small laptops)
41
+ 'MAX_MEDIUM_DEVICE': '1023',
42
+ 'MIN_LARGE_DEVICE': '1024',
43
+ // 1024px+ (tablets landscape, desktops)
44
+ 'MAX_LARGE_DEVICE': '1000000'
45
+ };
31
46
  export let ThemeEvent = /*#__PURE__*/function (ThemeEvent) {
32
47
  ThemeEvent["CHANGE"] = "change";
33
48
  return ThemeEvent;
@@ -104,7 +119,9 @@ export class Theme {
104
119
  forEach(mergedChildstyle, (v, k) => {
105
120
  if (v && !isString(v) && !isArray(v) && isObject(v)) {
106
121
  addTrace = false;
107
- this.addTrace(styleName + '.' + k, v, childStyle && childStyle[k], parentStyle && parentStyle[k]);
122
+ if (!isNativeStyle(k, 'property')) {
123
+ this.addTrace(styleName + '.' + k, v, childStyle && childStyle[k], parentStyle && parentStyle[k]);
124
+ }
108
125
  }
109
126
  });
110
127
  if (addTrace) {
@@ -135,13 +152,15 @@ export class Theme {
135
152
  const flattenStyles = this.flatten(style);
136
153
  Object.keys(flattenStyles).forEach(k => {
137
154
  const s = flattenStyles[k];
138
- s['__trace'] = flatten(reverse(styles.map(v => {
139
- const cs = get(v, k);
140
- if (cs && cs.__trace) {
141
- return [...cs.__trace];
142
- }
143
- return [];
144
- }).filter(t => t.length > 0)));
155
+ if (!isNativeStyle(k, 'path')) {
156
+ s['__trace'] = flatten(reverse(styles.map(v => {
157
+ const cs = get(v, k);
158
+ if (cs && cs.__trace) {
159
+ return [...cs.__trace];
160
+ }
161
+ return [];
162
+ }).filter(t => t.length > 0)));
163
+ }
145
164
  });
146
165
  }
147
166
  return style;
@@ -1 +1 @@
1
- {"version":3,"names":["cloneDeep","isNil","forEach","flatten","isArray","isEmpty","isObject","isString","get","reverse","React","camelCase","Dimensions","deepCopy","isWebPreviewMode","EventNotifier","ViewPort","EVENTS","ViewPortEvents","MediaQueryList","ThemeVariables","getErrorMessage","getStyleReference","isValidStyleProp","injector","DEFAULT_CLASS","window","matchMedia","query","DEVICE_BREAK_POINTS","ThemeEvent","Theme","constructor","parent","name","_this$getAppConfig","_defineProperty","revertLayoutToExpo50","getAppConfig","traceEnabled","enableTrace","flag","reset","children","t","subscribe","event","fn","eventNotifer","notify","replaceVariables","val","match","s","variableName","substring","length","replace","INSTANCE","clearCache","cache","registerStyle","styleGenerators","push","addStyle","bind","checkStyleProperties","value","Object","keys","map","k","console","log","extend","style","styles","getStyle","addTrace","styleName","mergedChildstyle","childStyle","parentStyle","v","__trace","prefix","result","collect","mergeStyle","flattenStyles","cs","filter","cleanseStyleProperties","paddingLeft","paddingRight","undefined","marginLeft","marginRight","screenWidth","width","screenHeight","height","i","stylePropertyValue","endsWith","Number","indexOf","split","c","mediaQuery","clonedStyle","matches","BASE","$new","newTheme","destroy","splice","getTextStyle","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","root","MIN_EXTRA_SMALL_DEVICE","MIN_SMALL_DEVICE","MIN_MEDIUM_DEVICE","MIN_LARGE_DEVICE","display","addDisplayStyles","maxWidth","MAX_LARGE_DEVICE","MAX_EXTRA_SMALL_DEVICE","MAX_SMALL_DEVICE","MAX_MEDIUM_DEVICE","addElevationClasses","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","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, isFunction, get, reverse } from 'lodash';\nimport React from 'react';\nimport { camelCase } from 'lodash-es';\nimport { TextStyle, ViewStyle, ImageStyle, ImageBackground, Dimensions } 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 { 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';\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 = {\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 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) {\n this.traceEnabled = flag;\n this.reset();\n this.children.forEach(t => t.enableTrace(flag));\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: string) {\n if(isString(val)) { \n (val.match(/_*var\\([^\\)]*\\)/g) || []).forEach((s) => {\n const variableName = s.substring(4, s.length - 1);\n val = val.replace(s, (ThemeVariables.INSTANCE as any)[variableName]\n || (ThemeVariables.INSTANCE as any)[variableName.substring(2)]\n || (ThemeVariables.INSTANCE as any)[camelCase(variableName.substring(2))]);\n val = this.replaceVariables(val);\n });\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 && !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 this.addTrace(styleName + '.' + k, v, childStyle && childStyle[k], parentStyle && parentStyle[k])\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 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 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 return style;\n }\n\n cleanseStyleProperties(style: 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 Object.keys(style).forEach(k => {\n (style as any)[k] = this.replaceVariables((style as any)[k]);\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['padding'])) {\n style['paddingLeft'] = style['paddingLeft'] || style['padding'];\n style['paddingRight'] = style['paddingRight'] || style['padding'];\n style['paddingTop'] = style['paddingTop'] || style['padding'];\n style['paddingBottom'] = style['paddingBottom'] || style['padding'];\n delete style['padding'];\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 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 Object.keys(style).forEach((k, i) => this.cleanseStyleProperties(style[k]));\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 = {};\n if (!mediaQuery || matchMedia(mediaQuery).matches) {\n clonedStyle = cloneDeep(this.styles[name]);\n this.cleanseStyleProperties(clonedStyle);\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 return {\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 }\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', DEVICE_BREAK_POINTS.MIN_EXTRA_SMALL_DEVICE);\n addColStyles('sm', DEVICE_BREAK_POINTS.MIN_SMALL_DEVICE);\n addColStyles('md', DEVICE_BREAK_POINTS.MIN_MEDIUM_DEVICE);\n addColStyles('lg', DEVICE_BREAK_POINTS.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 DEVICE_BREAK_POINTS.MIN_EXTRA_SMALL_DEVICE,\n DEVICE_BREAK_POINTS.MAX_LARGE_DEVICE);\n addDisplayStyles('xs', \n DEVICE_BREAK_POINTS.MIN_EXTRA_SMALL_DEVICE,\n DEVICE_BREAK_POINTS.MAX_EXTRA_SMALL_DEVICE);\n addDisplayStyles('sm', \n DEVICE_BREAK_POINTS.MIN_SMALL_DEVICE,\n DEVICE_BREAK_POINTS.MAX_SMALL_DEVICE);\n addDisplayStyles('md', \n DEVICE_BREAK_POINTS.MIN_MEDIUM_DEVICE,\n DEVICE_BREAK_POINTS.MAX_MEDIUM_DEVICE);\n addDisplayStyles('lg', \n DEVICE_BREAK_POINTS.MIN_LARGE_DEVICE,\n DEVICE_BREAK_POINTS.MAX_LARGE_DEVICE);\n\n const addElevationClasses = () => {\n for(let i = 1; i <= 10; i++) {\n addStyle(`elevate${i}`, '', {\n root : {\n shadowColor: \"#000000\",\n shadowOffset: {\n width: i,\n height: i,\n },\n shadowOpacity: 0.27,\n shadowRadius: i,\n elevation: i,\n zIndex: 1\n }\n });\n }\n };\n addElevationClasses();\n addStyle('hidden', '', {\n root: {\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\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["cloneDeep","isNil","forEach","flatten","isArray","isEmpty","isObject","isString","get","reverse","React","camelCase","Dimensions","deepCopy","isWebPreviewMode","EventNotifier","ViewPort","EVENTS","ViewPortEvents","MediaQueryList","ThemeVariables","getErrorMessage","getStyleReference","isValidStyleProp","injector","isNativeStyle","DEFAULT_CLASS","window","matchMedia","query","DEVICE_BREAK_POINTS","DEVICE_BREAK_POINTS_NATIVE_MOBILE","ThemeEvent","Theme","constructor","parent","name","_this$getAppConfig","_defineProperty","revertLayoutToExpo50","getAppConfig","traceEnabled","enableTrace","flag","reset","children","t","subscribe","event","fn","eventNotifer","notify","replaceVariables","val","match","s","variableName","substring","length","replace","INSTANCE","clearCache","cache","registerStyle","styleGenerators","push","addStyle","bind","checkStyleProperties","value","Object","keys","map","k","console","log","extend","style","styles","getStyle","addTrace","styleName","mergedChildstyle","childStyle","parentStyle","v","__trace","prefix","result","collect","mergeStyle","flattenStyles","cs","filter","cleanseStyleProperties","paddingLeft","paddingRight","undefined","marginLeft","marginRight","screenWidth","width","screenHeight","height","i","stylePropertyValue","endsWith","Number","indexOf","split","c","mediaQuery","clonedStyle","matches","BASE","$new","newTheme","destroy","splice","getTextStyle","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","root","MIN_EXTRA_SMALL_DEVICE","MIN_SMALL_DEVICE","MIN_MEDIUM_DEVICE","MIN_LARGE_DEVICE","display","addDisplayStyles","maxWidth","MAX_LARGE_DEVICE","MAX_EXTRA_SMALL_DEVICE","MAX_SMALL_DEVICE","MAX_MEDIUM_DEVICE","addElevationClasses","shadowColor","shadowOffset","shadowOpacity","shadowRadius","elevation","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, isFunction, get, reverse } from 'lodash';\nimport React from 'react';\nimport { camelCase } from 'lodash-es';\nimport { TextStyle, ViewStyle, ImageStyle, ImageBackground, Dimensions } 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 { 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 = {\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 = {\n 'MIN_EXTRA_SMALL_DEVICE': '0', // 0-479px (phones portrait)\n 'MAX_EXTRA_SMALL_DEVICE': '479',\n 'MIN_SMALL_DEVICE': '480', // 480-767px (phones landscape, small tablets portrait)\n 'MAX_SMALL_DEVICE': '767',\n 'MIN_MEDIUM_DEVICE': '768', // 768-1023px (tablets portrait, small laptops)\n 'MAX_MEDIUM_DEVICE': '1023',\n 'MIN_LARGE_DEVICE': '1024', // 1024px+ (tablets landscape, desktops)\n 'MAX_LARGE_DEVICE': '1000000',\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) {\n this.traceEnabled = flag;\n this.reset();\n this.children.forEach(t => t.enableTrace(flag));\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: string) {\n if(isString(val)) { \n (val.match(/_*var\\([^\\)]*\\)/g) || []).forEach((s) => {\n const variableName = s.substring(4, s.length - 1);\n val = val.replace(s, (ThemeVariables.INSTANCE as any)[variableName]\n || (ThemeVariables.INSTANCE as any)[variableName.substring(2)]\n || (ThemeVariables.INSTANCE as any)[camelCase(variableName.substring(2))]);\n val = this.replaceVariables(val);\n });\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 && !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 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 return style;\n }\n\n cleanseStyleProperties(style: 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 Object.keys(style).forEach(k => {\n (style as any)[k] = this.replaceVariables((style as any)[k]);\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['padding'])) {\n style['paddingLeft'] = style['paddingLeft'] || style['padding'];\n style['paddingRight'] = style['paddingRight'] || style['padding'];\n style['paddingTop'] = style['paddingTop'] || style['padding'];\n style['paddingBottom'] = style['paddingBottom'] || style['padding'];\n delete style['padding'];\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 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 Object.keys(style).forEach((k, i) => this.cleanseStyleProperties(style[k]));\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 = {};\n if (!mediaQuery || matchMedia(mediaQuery).matches) {\n clonedStyle = cloneDeep(this.styles[name]);\n this.cleanseStyleProperties(clonedStyle);\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 return {\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 }\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', DEVICE_BREAK_POINTS.MIN_EXTRA_SMALL_DEVICE);\n addColStyles('sm', DEVICE_BREAK_POINTS.MIN_SMALL_DEVICE);\n addColStyles('md', DEVICE_BREAK_POINTS.MIN_MEDIUM_DEVICE);\n addColStyles('lg', DEVICE_BREAK_POINTS.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 DEVICE_BREAK_POINTS.MIN_EXTRA_SMALL_DEVICE,\n DEVICE_BREAK_POINTS.MAX_LARGE_DEVICE);\n addDisplayStyles('xs', \n DEVICE_BREAK_POINTS.MIN_EXTRA_SMALL_DEVICE,\n DEVICE_BREAK_POINTS.MAX_EXTRA_SMALL_DEVICE);\n addDisplayStyles('sm', \n DEVICE_BREAK_POINTS.MIN_SMALL_DEVICE,\n DEVICE_BREAK_POINTS.MAX_SMALL_DEVICE);\n addDisplayStyles('md', \n DEVICE_BREAK_POINTS.MIN_MEDIUM_DEVICE,\n DEVICE_BREAK_POINTS.MAX_MEDIUM_DEVICE);\n addDisplayStyles('lg', \n DEVICE_BREAK_POINTS.MIN_LARGE_DEVICE,\n DEVICE_BREAK_POINTS.MAX_LARGE_DEVICE);\n\n const addElevationClasses = () => {\n for(let i = 1; i <= 10; i++) {\n addStyle(`elevate${i}`, '', {\n root : {\n shadowColor: \"#000000\",\n shadowOffset: {\n width: i,\n height: i,\n },\n shadowOpacity: 0.27,\n shadowRadius: i,\n elevation: i,\n zIndex: 1\n }\n });\n }\n };\n addElevationClasses();\n addStyle('hidden', '', {\n root: {\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\n"],"mappings":"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","ignoreList":[]}