@wavemaker/app-rn-runtime 11.6.0-next.139413 → 11.6.0-next.140456

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 (131) hide show
  1. app-rn-runtime/components/advanced/carousel/carousel.component.js +9 -7
  2. app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
  3. app-rn-runtime/components/advanced/webview/webview.component.js +27 -11
  4. app-rn-runtime/components/advanced/webview/webview.component.js.map +1 -1
  5. app-rn-runtime/components/advanced/webview/webview.props.js +0 -1
  6. app-rn-runtime/components/advanced/webview/webview.props.js.map +1 -1
  7. app-rn-runtime/components/basic/button/button.component.js +13 -1
  8. app-rn-runtime/components/basic/button/button.component.js.map +1 -1
  9. app-rn-runtime/components/basic/button/button.styles.js +3 -3
  10. app-rn-runtime/components/basic/button/button.styles.js.map +1 -1
  11. app-rn-runtime/components/basic/buttongroup/buttongroup.styles.js +9 -4
  12. app-rn-runtime/components/basic/buttongroup/buttongroup.styles.js.map +1 -1
  13. app-rn-runtime/components/basic/icon/icon.styles.js +2 -1
  14. app-rn-runtime/components/basic/icon/icon.styles.js.map +1 -1
  15. app-rn-runtime/components/basic/label/label.component.js +33 -26
  16. app-rn-runtime/components/basic/label/label.component.js.map +1 -1
  17. app-rn-runtime/components/basic/label/label.styles.js +1 -4
  18. app-rn-runtime/components/basic/label/label.styles.js.map +1 -1
  19. app-rn-runtime/components/chart/area-chart/area-chart.component.js +2 -2
  20. app-rn-runtime/components/chart/area-chart/area-chart.component.js.map +1 -1
  21. app-rn-runtime/components/chart/bar-chart/bar-chart.component.js +7 -1
  22. app-rn-runtime/components/chart/bar-chart/bar-chart.component.js.map +1 -1
  23. app-rn-runtime/components/chart/bar-chart/bar-chart.props.js +0 -2
  24. app-rn-runtime/components/chart/bar-chart/bar-chart.props.js.map +1 -1
  25. app-rn-runtime/components/chart/basechart.component.js +19 -6
  26. app-rn-runtime/components/chart/basechart.component.js.map +1 -1
  27. app-rn-runtime/components/chart/basechart.props.js +4 -2
  28. app-rn-runtime/components/chart/basechart.props.js.map +1 -1
  29. app-rn-runtime/components/chart/basechart.styles.js +7 -1
  30. app-rn-runtime/components/chart/basechart.styles.js.map +1 -1
  31. app-rn-runtime/components/chart/line-chart/line-chart.component.js +3 -3
  32. app-rn-runtime/components/chart/line-chart/line-chart.component.js.map +1 -1
  33. app-rn-runtime/components/chart/pie-chart/pie-chart.component.js +1 -1
  34. app-rn-runtime/components/chart/pie-chart/pie-chart.component.js.map +1 -1
  35. app-rn-runtime/components/chart/stack-chart/stack-chart.component.js +28 -7
  36. app-rn-runtime/components/chart/stack-chart/stack-chart.component.js.map +1 -1
  37. app-rn-runtime/components/chart/stack-chart/stack-chart.props.js +1 -0
  38. app-rn-runtime/components/chart/stack-chart/stack-chart.props.js.map +1 -1
  39. app-rn-runtime/components/container/container.component.js +11 -2
  40. app-rn-runtime/components/container/container.component.js.map +1 -1
  41. app-rn-runtime/components/container/container.props.js +1 -0
  42. app-rn-runtime/components/container/container.props.js.map +1 -1
  43. app-rn-runtime/components/container/wizard/wizard.component.js +11 -8
  44. app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
  45. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js +21 -2
  46. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  47. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.props.js +3 -0
  48. app-rn-runtime/components/container/wizard/wizardstep/wizardstep.props.js.map +1 -1
  49. app-rn-runtime/components/data/list/list.component.js +53 -1
  50. app-rn-runtime/components/data/list/list.component.js.map +1 -1
  51. app-rn-runtime/components/dialogs/dialog/dialog.styles.js +10 -2
  52. app-rn-runtime/components/dialogs/dialog/dialog.styles.js.map +1 -1
  53. app-rn-runtime/components/input/basenumber/basenumber.component.js +12 -6
  54. app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
  55. app-rn-runtime/components/input/composite/composite.component.js +1 -1
  56. app-rn-runtime/components/input/composite/composite.component.js.map +1 -1
  57. app-rn-runtime/components/input/composite/composite.props.js +1 -1
  58. app-rn-runtime/components/input/composite/composite.props.js.map +1 -1
  59. app-rn-runtime/components/input/currency/currency.component.js +17 -2
  60. app-rn-runtime/components/input/currency/currency.component.js.map +1 -1
  61. app-rn-runtime/components/input/currency/currency.props.js +1 -0
  62. app-rn-runtime/components/input/currency/currency.props.js.map +1 -1
  63. app-rn-runtime/components/input/currency/currency.styles.js +19 -1
  64. app-rn-runtime/components/input/currency/currency.styles.js.map +1 -1
  65. app-rn-runtime/components/input/epoch/base-datetime.component.js +13 -5
  66. app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
  67. app-rn-runtime/components/input/epoch/date/date.component.js +8 -0
  68. app-rn-runtime/components/input/epoch/date/date.component.js.map +1 -1
  69. app-rn-runtime/components/input/epoch/date/date.styles.js +16 -0
  70. app-rn-runtime/components/input/epoch/date/date.styles.js.map +1 -1
  71. app-rn-runtime/components/input/epoch/datetime/datetime.component.js +8 -0
  72. app-rn-runtime/components/input/epoch/datetime/datetime.component.js.map +1 -1
  73. app-rn-runtime/components/input/epoch/datetime/datetime.props.js +1 -0
  74. app-rn-runtime/components/input/epoch/datetime/datetime.props.js.map +1 -1
  75. app-rn-runtime/components/input/epoch/datetime/datetime.styles.js +21 -1
  76. app-rn-runtime/components/input/epoch/datetime/datetime.styles.js.map +1 -1
  77. app-rn-runtime/components/input/epoch/time/time.component.js +8 -0
  78. app-rn-runtime/components/input/epoch/time/time.component.js.map +1 -1
  79. app-rn-runtime/components/input/epoch/time/time.styles.js +16 -0
  80. app-rn-runtime/components/input/epoch/time/time.styles.js.map +1 -1
  81. app-rn-runtime/components/input/number/number.component.js +11 -0
  82. app-rn-runtime/components/input/number/number.component.js.map +1 -1
  83. app-rn-runtime/components/input/number/number.props.js +1 -0
  84. app-rn-runtime/components/input/number/number.props.js.map +1 -1
  85. app-rn-runtime/components/input/number/number.styles.js +17 -0
  86. app-rn-runtime/components/input/number/number.styles.js.map +1 -1
  87. app-rn-runtime/components/input/slider/slider.styles.js +3 -3
  88. app-rn-runtime/components/input/slider/slider.styles.js.map +1 -1
  89. app-rn-runtime/components/input/switch/switch.component.js +3 -0
  90. app-rn-runtime/components/input/switch/switch.component.js.map +1 -1
  91. app-rn-runtime/components/input/switch/switch.styles.js +8 -5
  92. app-rn-runtime/components/input/switch/switch.styles.js.map +1 -1
  93. app-rn-runtime/components/input/text/text.component.js +11 -0
  94. app-rn-runtime/components/input/text/text.component.js.map +1 -1
  95. app-rn-runtime/components/input/text/text.props.js +1 -0
  96. app-rn-runtime/components/input/text/text.props.js.map +1 -1
  97. app-rn-runtime/components/input/text/text.styles.js +17 -0
  98. app-rn-runtime/components/input/text/text.styles.js.map +1 -1
  99. app-rn-runtime/components/input/textarea/textarea.component.js +11 -0
  100. app-rn-runtime/components/input/textarea/textarea.component.js.map +1 -1
  101. app-rn-runtime/components/input/textarea/textarea.props.js +1 -0
  102. app-rn-runtime/components/input/textarea/textarea.props.js.map +1 -1
  103. app-rn-runtime/components/input/textarea/textarea.styles.js +17 -0
  104. app-rn-runtime/components/input/textarea/textarea.styles.js.map +1 -1
  105. app-rn-runtime/components/input/toggle/toggle.component.js +43 -5
  106. app-rn-runtime/components/input/toggle/toggle.component.js.map +1 -1
  107. app-rn-runtime/components/input/toggle/toggle.styles.js +5 -12
  108. app-rn-runtime/components/input/toggle/toggle.styles.js.map +1 -1
  109. app-rn-runtime/components/page/tabbar/curve.js +84 -0
  110. app-rn-runtime/components/page/tabbar/curve.js.map +1 -0
  111. app-rn-runtime/components/page/tabbar/tabbar.component.js +43 -9
  112. app-rn-runtime/components/page/tabbar/tabbar.component.js.map +1 -1
  113. app-rn-runtime/components/page/tabbar/tabbar.styles.js +54 -1
  114. app-rn-runtime/components/page/tabbar/tabbar.styles.js.map +1 -1
  115. app-rn-runtime/core/base.component.js +5 -1
  116. app-rn-runtime/core/base.component.js.map +1 -1
  117. app-rn-runtime/core/components/floatinglabel.component.js +45 -0
  118. app-rn-runtime/core/components/floatinglabel.component.js.map +1 -0
  119. app-rn-runtime/core/components/textinput.component.js +25 -2
  120. app-rn-runtime/core/components/textinput.component.js.map +1 -1
  121. app-rn-runtime/core/tappable.component.js +36 -9
  122. app-rn-runtime/core/tappable.component.js.map +1 -1
  123. app-rn-runtime/package.json +8 -3
  124. app-rn-runtime/runtime/services/webprocess.service.js +0 -1
  125. app-rn-runtime/runtime/services/webprocess.service.js.map +1 -1
  126. app-rn-runtime/styles/theme.js +36 -0
  127. app-rn-runtime/styles/theme.js.map +1 -1
  128. app-rn-runtime/styles/theme.variables.js +7 -0
  129. app-rn-runtime/styles/theme.variables.js.map +1 -1
  130. app-rn-runtime/variables/model-variable.js +2 -1
  131. app-rn-runtime/variables/model-variable.js.map +1 -1
@@ -0,0 +1,45 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import { Animated, Text } from 'react-native';
3
+ import { Theme } from '@wavemaker/app-rn-runtime/styles/theme';
4
+ export const FloatingLabel = props => {
5
+ var _props$style, _props$style2;
6
+ const width = ((_props$style = props.style) === null || _props$style === void 0 ? void 0 : _props$style.width) || 160;
7
+ const [labelPositionX] = useState(new Animated.Value(0));
8
+ const [labelPositionY] = useState(new Animated.Value(0));
9
+ const [labelScale] = useState(new Animated.Value(1));
10
+ const fontSize = ((_props$style2 = props.style) === null || _props$style2 === void 0 ? void 0 : _props$style2.fontSize) || 16;
11
+ useEffect(() => {
12
+ Animated.parallel([Animated.timing(labelPositionX, {
13
+ toValue: props.moveUp ? -1 * 0.1 * width : 0,
14
+ duration: 200,
15
+ useNativeDriver: true
16
+ }), Animated.timing(labelPositionY, {
17
+ toValue: props.moveUp ? -1 * fontSize : 0,
18
+ duration: 200,
19
+ useNativeDriver: true
20
+ }), Animated.timing(labelScale, {
21
+ toValue: props.moveUp ? 0.8 : 1,
22
+ duration: 200,
23
+ useNativeDriver: true
24
+ })]).start();
25
+ }, [props.moveUp]);
26
+ return /*#__PURE__*/React.createElement(Animated.View, {
27
+ style: [{
28
+ position: 'absolute',
29
+ zIndex: 1,
30
+ width: width,
31
+ transform: [{
32
+ translateY: labelPositionY
33
+ }, {
34
+ translateX: labelPositionX
35
+ }, {
36
+ scale: labelScale
37
+ }]
38
+ }, props.style],
39
+ pointerEvents: "none"
40
+ }, /*#__PURE__*/React.createElement(Text, {
41
+ style: Theme.BASE.getTextStyle(props.style),
42
+ ellipsizeMode: "tail"
43
+ }, props.label));
44
+ };
45
+ //# sourceMappingURL=floatinglabel.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useEffect","useState","Animated","Text","Theme","FloatingLabel","props","_props$style","_props$style2","width","style","labelPositionX","Value","labelPositionY","labelScale","fontSize","parallel","timing","toValue","moveUp","duration","useNativeDriver","start","createElement","View","position","zIndex","transform","translateY","translateX","scale","pointerEvents","BASE","getTextStyle","ellipsizeMode","label"],"sources":["floatinglabel.component.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { Animated, TextStyle, Text} from 'react-native';\n\nimport { Theme } from '@wavemaker/app-rn-runtime/styles/theme';\n\nexport const FloatingLabel = (props: {\n label?: string,\n style?: TextStyle\n moveUp: boolean,\n }) => {\n const width = (props.style?.width as number) || 160;\n const [labelPositionX] = useState(new Animated.Value(0));\n const [labelPositionY] = useState(new Animated.Value(0));\n const [labelScale] = useState(new Animated.Value(1));\n const fontSize = (props.style?.fontSize || 16);\n useEffect(() => {\n Animated.parallel([\n Animated.timing(labelPositionX, {\n toValue: props.moveUp ? -1 * 0.1 * width : 0,\n duration: 200,\n useNativeDriver: true,\n }),\n Animated.timing(labelPositionY, {\n toValue: props.moveUp ? -1 * fontSize : 0,\n duration: 200,\n useNativeDriver: true,\n }),\n Animated.timing(labelScale, {\n toValue: props.moveUp ? 0.8 : 1,\n duration: 200,\n useNativeDriver: true,\n })\n ]).start();\n }, [props.moveUp]);\n return (\n <Animated.View style={[{\n position: 'absolute',\n zIndex: 1,\n width: width,\n transform: [\n {translateY: labelPositionY},\n {translateX: labelPositionX},\n {scale: labelScale}\n ]},\n props.style\n ]}\n pointerEvents=\"none\">\n <Text\n style={Theme.BASE.getTextStyle(props.style)}\n ellipsizeMode=\"tail\">\n {props.label}\n </Text>\n </Animated.View>\n );\n };\n "],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SAASC,QAAQ,EAAaC,IAAI,QAAO,cAAc;AAEvD,SAASC,KAAK,QAAQ,wCAAwC;AAE9D,OAAO,MAAMC,aAAa,GAAIC,KAI3B,IAAK;EAAA,IAAAC,YAAA,EAAAC,aAAA;EACJ,MAAMC,KAAK,GAAG,EAAAF,YAAA,GAACD,KAAK,CAACI,KAAK,cAAAH,YAAA,uBAAXA,YAAA,CAAaE,KAAK,KAAe,GAAG;EACnD,MAAM,CAACE,cAAc,CAAC,GAAGV,QAAQ,CAAC,IAAIC,QAAQ,CAACU,KAAK,CAAC,CAAC,CAAC,CAAC;EACxD,MAAM,CAACC,cAAc,CAAC,GAAGZ,QAAQ,CAAC,IAAIC,QAAQ,CAACU,KAAK,CAAC,CAAC,CAAC,CAAC;EACxD,MAAM,CAACE,UAAU,CAAC,GAAGb,QAAQ,CAAC,IAAIC,QAAQ,CAACU,KAAK,CAAC,CAAC,CAAC,CAAC;EACpD,MAAMG,QAAQ,GAAI,EAAAP,aAAA,GAAAF,KAAK,CAACI,KAAK,cAAAF,aAAA,uBAAXA,aAAA,CAAaO,QAAQ,KAAI,EAAG;EAC9Cf,SAAS,CAAC,MAAM;IACdE,QAAQ,CAACc,QAAQ,CAAC,CAChBd,QAAQ,CAACe,MAAM,CAACN,cAAc,EAAE;MAC9BO,OAAO,EAAEZ,KAAK,CAACa,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,GAAGV,KAAK,GAAG,CAAC;MAC5CW,QAAQ,EAAE,GAAG;MACbC,eAAe,EAAE;IACnB,CAAC,CAAC,EACFnB,QAAQ,CAACe,MAAM,CAACJ,cAAc,EAAE;MAC9BK,OAAO,EAAEZ,KAAK,CAACa,MAAM,GAAG,CAAC,CAAC,GAAGJ,QAAQ,GAAG,CAAC;MACzCK,QAAQ,EAAE,GAAG;MACbC,eAAe,EAAE;IACnB,CAAC,CAAC,EACFnB,QAAQ,CAACe,MAAM,CAACH,UAAU,EAAE;MAC1BI,OAAO,EAAEZ,KAAK,CAACa,MAAM,GAAG,GAAG,GAAG,CAAC;MAC/BC,QAAQ,EAAE,GAAG;MACbC,eAAe,EAAE;IACnB,CAAC,CAAC,CACH,CAAC,CAACC,KAAK,CAAC,CAAC;EACZ,CAAC,EAAE,CAAChB,KAAK,CAACa,MAAM,CAAC,CAAC;EAClB,oBACIpB,KAAA,CAAAwB,aAAA,CAACrB,QAAQ,CAACsB,IAAI;IAACd,KAAK,EAAE,CAAC;MACnBe,QAAQ,EAAE,UAAU;MACpBC,MAAM,EAAE,CAAC;MACTjB,KAAK,EAAEA,KAAK;MACZkB,SAAS,EAAE,CACP;QAACC,UAAU,EAAEf;MAAc,CAAC,EAC5B;QAACgB,UAAU,EAAElB;MAAc,CAAC,EAC5B;QAACmB,KAAK,EAAEhB;MAAU,CAAC;IACtB,CAAC,EACFR,KAAK,CAACI,KAAK,CACb;IACFqB,aAAa,EAAC;EAAM,gBAClBhC,KAAA,CAAAwB,aAAA,CAACpB,IAAI;IACHO,KAAK,EAAEN,KAAK,CAAC4B,IAAI,CAACC,YAAY,CAAC3B,KAAK,CAACI,KAAK,CAAE;IAC5CwB,aAAa,EAAC;EAAM,GACnB5B,KAAK,CAAC6B,KACH,CACO,CAAC;AAEtB,CAAC"}
@@ -1,9 +1,13 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
2
  import React, { useCallback, useRef, useState } from 'react';
3
3
  import { Platform, TextInput } from 'react-native';
4
+ import { FloatingLabel } from './floatinglabel.component';
4
5
  export const WMTextInput = /*#__PURE__*/React.forwardRef((props, ref) => {
6
+ var _props$value, _props$defaultValue;
5
7
  const [selectRange, setSelectRange] = useState(null);
8
+ const [isInputFocused, setIsInputFocused] = useState(false);
6
9
  const value = useRef(props.value || '');
10
+ const animateLabelText = props.floatingLabel && (Platform.OS === 'web' ? Number((_props$value = props.value) === null || _props$value === void 0 ? void 0 : _props$value.length) > 0 : Number((_props$defaultValue = props.defaultValue) === null || _props$defaultValue === void 0 ? void 0 : _props$defaultValue.length) > 0);
7
11
  const onSelectionChange = useCallback(e => {
8
12
  var _e$nativeEvent;
9
13
  if (Platform.OS !== 'android') {
@@ -22,7 +26,26 @@ export const WMTextInput = /*#__PURE__*/React.forwardRef((props, ref) => {
22
26
  const onChangeText = useCallback(text => {
23
27
  value.current = text;
24
28
  }, []);
25
- return /*#__PURE__*/React.createElement(TextInput, _extends({}, props, {
29
+ return /*#__PURE__*/React.createElement(React.Fragment, null, props.floatingLabel ? /*#__PURE__*/React.createElement(FloatingLabel, {
30
+ moveUp: !!(value.current || isInputFocused),
31
+ label: props.floatingLabel ?? props.placeholder,
32
+ style: {
33
+ ...(props.floatingLabelStyle || []),
34
+ ...(isInputFocused ? props.activeFloatingLabelStyle || {} : {})
35
+ }
36
+ }) : null, /*#__PURE__*/React.createElement(TextInput, _extends({}, props, {
37
+ placeholder: props.floatingLabel ? '' : props.placeholder,
38
+ style: props.style,
39
+ onFocus: e => {
40
+ var _props$onFocus;
41
+ (_props$onFocus = props.onFocus) === null || _props$onFocus === void 0 ? void 0 : _props$onFocus.call(props, e);
42
+ setIsInputFocused(true);
43
+ },
44
+ onBlur: e => {
45
+ var _props$onBlur;
46
+ props === null || props === void 0 || (_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 ? void 0 : _props$onBlur.call(props, e);
47
+ setIsInputFocused(false);
48
+ },
26
49
  ref: ref,
27
50
  selection: selectRange,
28
51
  onSelectionChange: onSelectionChange,
@@ -32,6 +55,6 @@ export const WMTextInput = /*#__PURE__*/React.forwardRef((props, ref) => {
32
55
  onChangeText(text);
33
56
  },
34
57
  contextMenuHidden: !props.allowContentSelection
35
- }));
58
+ })));
36
59
  });
37
60
  //# sourceMappingURL=textinput.component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useRef","useState","Platform","TextInput","WMTextInput","forwardRef","props","ref","selectRange","setSelectRange","value","onSelectionChange","e","_e$nativeEvent","OS","selection","nativeEvent","allowContentSelection","end","start","current","length","onChangeText","text","createElement","_extends","caretHidden","contextMenuHidden"],"sources":["textinput.component.tsx"],"sourcesContent":["import React, { ForwardedRef, useCallback, useRef, useState } from 'react';\nimport { Platform, TextInput, TextInputProps } from 'react-native';\n\ninterface SelectRange {\n start: number,\n end: number\n}\n\nexport const WMTextInput = React.forwardRef((props: (TextInputProps & {allowContentSelection: boolean}), ref: ForwardedRef<TextInput>) => {\n const [selectRange, setSelectRange] = useState<SelectRange>(null as any);\n const value = useRef(props.value || '');\n const onSelectionChange = useCallback((e: any) => {\n if (Platform.OS !== 'android') {\n return;\n }\n const selection = e?.nativeEvent?.selection;\n if (!props.allowContentSelection\n && selection\n && selection.end - selection.start > 0) {\n setSelectRange({\n start: value.current.length + 2,\n end: value.current.length + 2\n });\n } else if (selectRange && selectRange.end > 0){\n setSelectRange(null as any);\n }\n }, [props.allowContentSelection, value.current]);\n const onChangeText = useCallback((text: string) => {\n value.current = text;\n }, []);\n return (\n <TextInput \n {...props}\n ref={ref}\n selection={selectRange}\n onSelectionChange={onSelectionChange}\n caretHidden={!!selectRange?.end}\n onChangeText={(text) => {\n props.onChangeText && props.onChangeText(text);\n onChangeText(text);\n }}\n contextMenuHidden={!props.allowContentSelection}> \n </TextInput>\n );\n});"],"mappings":";AAAA,OAAOA,KAAK,IAAkBC,WAAW,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC1E,SAASC,QAAQ,EAAEC,SAAS,QAAwB,cAAc;AAOlE,OAAO,MAAMC,WAAW,gBAAGN,KAAK,CAACO,UAAU,CAAC,CAACC,KAA0D,EAAEC,GAA4B,KAAK;EACtI,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGR,QAAQ,CAAc,IAAW,CAAC;EACxE,MAAMS,KAAK,GAAGV,MAAM,CAACM,KAAK,CAACI,KAAK,IAAI,EAAE,CAAC;EACvC,MAAMC,iBAAiB,GAAGZ,WAAW,CAAEa,CAAM,IAAK;IAAA,IAAAC,cAAA;IAC9C,IAAIX,QAAQ,CAACY,EAAE,KAAK,SAAS,EAAE;MAC3B;IACJ;IACA,MAAMC,SAAS,GAAGH,CAAC,aAADA,CAAC,gBAAAC,cAAA,GAADD,CAAC,CAAEI,WAAW,cAAAH,cAAA,uBAAdA,cAAA,CAAgBE,SAAS;IAC3C,IAAI,CAACT,KAAK,CAACW,qBAAqB,IACzBF,SAAS,IACTA,SAAS,CAACG,GAAG,GAAGH,SAAS,CAACI,KAAK,GAAG,CAAC,EAAE;MACxCV,cAAc,CAAC;QACXU,KAAK,EAAET,KAAK,CAACU,OAAO,CAACC,MAAM,GAAG,CAAC;QAC/BH,GAAG,EAAER,KAAK,CAACU,OAAO,CAACC,MAAM,GAAG;MAChC,CAAC,CAAC;IACN,CAAC,MAAM,IAAIb,WAAW,IAAIA,WAAW,CAACU,GAAG,GAAG,CAAC,EAAC;MAC1CT,cAAc,CAAC,IAAW,CAAC;IAC/B;EACJ,CAAC,EAAE,CAACH,KAAK,CAACW,qBAAqB,EAAEP,KAAK,CAACU,OAAO,CAAC,CAAC;EAChD,MAAME,YAAY,GAAGvB,WAAW,CAAEwB,IAAY,IAAK;IAC/Cb,KAAK,CAACU,OAAO,GAAGG,IAAI;EACxB,CAAC,EAAE,EAAE,CAAC;EACN,oBACIzB,KAAA,CAAA0B,aAAA,CAACrB,SAAS,EAAAsB,QAAA,KACFnB,KAAK;IACTC,GAAG,EAAEA,GAAI;IACTQ,SAAS,EAAEP,WAAY;IACvBG,iBAAiB,EAAEA,iBAAkB;IACrCe,WAAW,EAAE,CAAC,EAAClB,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEU,GAAG,CAAC;IAChCI,YAAY,EAAGC,IAAI,IAAK;MACpBjB,KAAK,CAACgB,YAAY,IAAIhB,KAAK,CAACgB,YAAY,CAACC,IAAI,CAAC;MAC9CD,YAAY,CAACC,IAAI,CAAC;IACtB,CAAE;IACFI,iBAAiB,EAAE,CAACrB,KAAK,CAACW;EAAsB,EACzC,CAAC;AAEpB,CAAC,CAAC"}
1
+ {"version":3,"names":["React","useCallback","useRef","useState","Platform","TextInput","FloatingLabel","WMTextInput","forwardRef","props","ref","_props$value","_props$defaultValue","selectRange","setSelectRange","isInputFocused","setIsInputFocused","value","animateLabelText","floatingLabel","OS","Number","length","defaultValue","onSelectionChange","e","_e$nativeEvent","selection","nativeEvent","allowContentSelection","end","start","current","onChangeText","text","createElement","Fragment","moveUp","label","placeholder","style","floatingLabelStyle","activeFloatingLabelStyle","_extends","onFocus","_props$onFocus","call","onBlur","_props$onBlur","caretHidden","contextMenuHidden"],"sources":["textinput.component.tsx"],"sourcesContent":["import React, { ForwardedRef, useCallback, useRef, useState } from 'react';\nimport { Platform, TextInput, TextInputProps, TextStyle } from 'react-native';\nimport { FloatingLabel } from './floatinglabel.component';\n\ninterface SelectRange {\n start: number,\n end: number\n}\n\nexport const WMTextInput = React.forwardRef((props: (TextInputProps & \n {allowContentSelection: boolean, \n floatingLabel: string\n floatingLabelStyle: TextStyle,\n activeFloatingLabelStyle: TextStyle\n }), \n ref: ForwardedRef<TextInput>) => {\n const [selectRange, setSelectRange] = useState<SelectRange>(null as any);\n const [isInputFocused, setIsInputFocused] = useState(false);\n const value = useRef(props.value || '');\n \n const animateLabelText = props.floatingLabel && ( Platform.OS === 'web' ? Number(props.value?.length) > 0 : Number(props.defaultValue?.length) > 0);\n\n const onSelectionChange = useCallback((e: any) => {\n if (Platform.OS !== 'android') {\n return;\n }\n const selection = e?.nativeEvent?.selection;\n if (!props.allowContentSelection\n && selection\n && selection.end - selection.start > 0) {\n setSelectRange({\n start: value.current.length + 2,\n end: value.current.length + 2\n });\n } else if (selectRange && selectRange.end > 0){\n setSelectRange(null as any);\n }\n }, [props.allowContentSelection, value.current]);\n const onChangeText = useCallback((text: string) => {\n value.current = text;\n }, []);\n\n return (\n <>\n {props.floatingLabel ? (\n <FloatingLabel\n moveUp={!!(value.current || isInputFocused)}\n label={props.floatingLabel ?? props.placeholder} \n style={{\n ...(props.floatingLabelStyle || []),\n ...(isInputFocused ? (props.activeFloatingLabelStyle || {}) : {})\n }}/>\n ) : null}\n <TextInput\n {...props}\n placeholder={props.floatingLabel ? '' : props.placeholder }\n style={props.style}\n onFocus={(e) => {\n props.onFocus?.(e);\n setIsInputFocused(true);\n }}\n onBlur={(e) => {\n props?.onBlur?.(e);\n setIsInputFocused(false);\n }}\n ref={ref}\n selection={selectRange}\n onSelectionChange={onSelectionChange}\n caretHidden={!!selectRange?.end}\n onChangeText={(text) => {\n props.onChangeText && props.onChangeText(text);\n onChangeText(text);\n }}\n contextMenuHidden={!props.allowContentSelection}\n ></TextInput>\n </>\n );\n});"],"mappings":"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"}
@@ -4,9 +4,9 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
4
4
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
5
5
  import React from "react";
6
6
  import { Platform, View } from "react-native";
7
- import { TouchableOpacity } from "react-native";
8
7
  import { get } from "lodash";
9
8
  import injector from "./injector";
9
+ import { TouchableRipple } from "react-native-paper";
10
10
  export class TapEvent {
11
11
  constructor() {
12
12
  _defineProperty(this, "propagationEnabled", true);
@@ -19,10 +19,13 @@ export class Tappable extends React.Component {
19
19
  constructor(props) {
20
20
  super(props);
21
21
  _defineProperty(this, "lastPress", 0);
22
+ _defineProperty(this, "lastTap", 0);
23
+ _defineProperty(this, "lastDoubleTap", 0);
24
+ _defineProperty(this, "isLongTap", false);
22
25
  }
23
26
  onPress(e) {
24
- const delta = new Date().getTime() - this.lastPress;
25
- this.lastPress = this.lastPress > 0 ? 0 : new Date().getTime();
27
+ var _this$props$target;
28
+ this.lastPress = Date.now();
26
29
  const target = this.props.target;
27
30
  if (!Tappable.CURRENT_EVENT) {
28
31
  Tappable.CURRENT_EVENT = new TapEvent();
@@ -31,14 +34,23 @@ export class Tappable extends React.Component {
31
34
  }, 10);
32
35
  }
33
36
  const syntheticEvent = Tappable.CURRENT_EVENT;
37
+ this.props.onTouchStart && this.props.onTouchStart(e || syntheticEvent);
38
+ (_this$props$target = this.props.target) === null || _this$props$target === void 0 ? void 0 : _this$props$target.invokeEventCallback('onTouchstart', [syntheticEvent, this.props.target]);
39
+ const currentTime = Date.now();
40
+ const tapDelta = currentTime - this.lastTap;
41
+ if (this.isLongTap) {
42
+ this.isLongTap = false;
43
+ return;
44
+ }
34
45
  if (syntheticEvent.propagationEnabled) {
35
46
  var _injector$FOCUSED_ELE;
36
47
  (_injector$FOCUSED_ELE = injector.FOCUSED_ELEMENT.get()) === null || _injector$FOCUSED_ELE === void 0 ? void 0 : _injector$FOCUSED_ELE.blur();
37
- if (delta < 500) {
48
+ if (this.lastDoubleTap !== this.lastTap && tapDelta < 500) {
38
49
  this.props.onDoubleTap && this.props.onDoubleTap(e);
39
50
  setTimeout(() => {
40
51
  target === null || target === void 0 ? void 0 : target.invokeEventCallback('onDoubletap', [syntheticEvent, target]);
41
52
  }, 200);
53
+ this.lastDoubleTap = currentTime;
42
54
  }
43
55
  setTimeout(() => {
44
56
  if (this.props.onTap) {
@@ -47,20 +59,34 @@ export class Tappable extends React.Component {
47
59
  target === null || target === void 0 ? void 0 : target.invokeEventCallback('onTap', [syntheticEvent, target]);
48
60
  }
49
61
  }, 200);
62
+ this.lastTap = currentTime;
50
63
  }
51
64
  }
52
65
  onLongTap(e) {
53
66
  const syntheticEvent = Tappable.CURRENT_EVENT;
54
67
  this.props.onLongTap && this.props.onLongTap(e || syntheticEvent);
55
68
  setTimeout(() => {
56
- var _this$props$target;
57
- (_this$props$target = this.props.target) === null || _this$props$target === void 0 ? void 0 : _this$props$target.invokeEventCallback('onLongtap', [syntheticEvent, this.props.target]);
69
+ var _this$props$target2;
70
+ (_this$props$target2 = this.props.target) === null || _this$props$target2 === void 0 ? void 0 : _this$props$target2.invokeEventCallback('onLongtap', [syntheticEvent, this.props.target]);
71
+ }, 200);
72
+ this.isLongTap = true;
73
+ }
74
+ onPressOut(e) {
75
+ const syntheticEvent = Tappable.CURRENT_EVENT;
76
+ this.props.onTouchEnd && this.props.onTouchEnd(e || syntheticEvent);
77
+ setTimeout(() => {
78
+ var _this$props$target3;
79
+ (_this$props$target3 = this.props.target) === null || _this$props$target3 === void 0 ? void 0 : _this$props$target3.invokeEventCallback('onTouchend', [syntheticEvent, this.props.target]);
58
80
  }, 200);
81
+ this.isLongTap = false;
59
82
  }
60
83
  render() {
61
84
  const target = this.props.target;
62
85
  if (target !== null && target !== void 0 && target.props.onTap || target !== null && target !== void 0 && target.props.onLongtap || target !== null && target !== void 0 && target.props.onDoubletap || this.props.onTap || this.props.onLongTap || this.props.onDoubleTap) {
63
- return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, Platform.OS === 'android' || Platform.OS === 'web' ? {
86
+ return /*#__PURE__*/React.createElement(TouchableRipple, _extends({
87
+ rippleColor: "rgba(0, 0, 0, 0)",
88
+ borderless: true
89
+ }, Platform.OS === 'android' || Platform.OS === 'web' ? {
64
90
  accessibilityLabel: this.props.testID,
65
91
  testID: this.props.testID
66
92
  } : {
@@ -70,8 +96,9 @@ export class Tappable extends React.Component {
70
96
  disabled: get(target === null || target === void 0 ? void 0 : target.proxy, 'disabled'),
71
97
  style: this.props.styles,
72
98
  onPress: () => this.onPress(),
73
- onLongPress: () => this.onLongTap()
74
- }), this.props.children);
99
+ onLongPress: () => this.onLongTap(),
100
+ onPressOut: () => this.onPressOut()
101
+ }), /*#__PURE__*/React.createElement(React.Fragment, null, this.props.children));
75
102
  }
76
103
  return /*#__PURE__*/React.createElement(View, {
77
104
  style: this.props.styles
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","View","TouchableOpacity","get","injector","TapEvent","constructor","_defineProperty","stopPropagation","propagationEnabled","Tappable","Component","props","onPress","e","delta","Date","getTime","lastPress","target","CURRENT_EVENT","setTimeout","syntheticEvent","_injector$FOCUSED_ELE","FOCUSED_ELEMENT","blur","onDoubleTap","invokeEventCallback","onTap","onLongTap","_this$props$target","render","onLongtap","onDoubletap","createElement","_extends","OS","accessibilityLabel","testID","accessible","disabled","proxy","style","styles","onLongPress","children"],"sources":["tappable.component.tsx"],"sourcesContent":["import { BaseComponent } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport React from \"react\";\nimport { GestureResponderEvent, Platform, View } from \"react-native\";\nimport { TouchableOpacity } from \"react-native\";\nimport { get } from \"lodash\";\nimport injector from \"./injector\";\n\ninterface TappableProps {\n testID?: string;\n children?: any\n styles?: any;\n target?: BaseComponent<any, any, any>;\n onTap?: (e: any) => void;\n onLongTap?: (e: any) => void; \n onDoubleTap?: (e: any) => void;\n}\n\nexport class TapEvent {\n propagationEnabled = true;\n\n constructor() {\n\n }\n\n stopPropagation() {\n this.propagationEnabled = false;\n }\n}\n\nexport class Tappable extends React.Component<TappableProps, any> {\n private lastPress = 0;\n\n static CURRENT_EVENT: TapEvent = null as any;\n\n constructor(props: any) {\n super(props);\n }\n\n onPress(e?: GestureResponderEvent): void {\n const delta = new Date().getTime() - this.lastPress;\n this.lastPress = this.lastPress > 0 ? 0: new Date().getTime();\n const target = this.props.target;\n if (!Tappable.CURRENT_EVENT) {\n Tappable.CURRENT_EVENT = new TapEvent();\n setTimeout(() => {\n Tappable.CURRENT_EVENT = null as any;\n }, 10);\n }\n const syntheticEvent = Tappable.CURRENT_EVENT;\n if (syntheticEvent.propagationEnabled) {\n injector.FOCUSED_ELEMENT.get()?.blur();\n if(delta < 500) {\n this.props.onDoubleTap && this.props.onDoubleTap(e);\n setTimeout(() => {\n target?.invokeEventCallback('onDoubletap', [syntheticEvent, target]);\n }, 200);\n }\n setTimeout(() => {\n if (this.props.onTap) {\n this.props.onTap(e || syntheticEvent);\n } else {\n target?.invokeEventCallback('onTap', [syntheticEvent, target]);\n }\n }, 200);\n }\n }\n\n onLongTap(e?: GestureResponderEvent): void {\n const syntheticEvent = Tappable.CURRENT_EVENT;\n this.props.onLongTap && this.props.onLongTap(e || syntheticEvent);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onLongtap', [syntheticEvent, this.props.target]);\n }, 200);\n }\n\n render() {\n const target = this.props.target;\n if (target?.props.onTap \n || target?.props.onLongtap \n || target?.props.onDoubletap \n || this.props.onTap \n || this.props.onLongTap \n || this.props.onDoubleTap) {\n return (\n <TouchableOpacity \n {...(Platform.OS === 'android' || Platform.OS === 'web') ? {\n accessibilityLabel: this.props.testID,\n testID: this.props.testID\n }: {\n accessible: false,\n testID: this.props.testID\n }} \n disabled={get(target?.proxy, 'disabled')}\n style={this.props.styles}\n onPress={() => this.onPress()}\n onLongPress={() => this.onLongTap()}>\n {this.props.children}\n </TouchableOpacity>\n );\n }\n return (<View style={this.props.styles}>{this.props.children}</View>);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Platform","View","get","injector","TouchableRipple","TapEvent","constructor","_defineProperty","stopPropagation","propagationEnabled","Tappable","Component","props","onPress","e","_this$props$target","lastPress","Date","now","target","CURRENT_EVENT","setTimeout","syntheticEvent","onTouchStart","invokeEventCallback","currentTime","tapDelta","lastTap","isLongTap","_injector$FOCUSED_ELE","FOCUSED_ELEMENT","blur","lastDoubleTap","onDoubleTap","onTap","onLongTap","_this$props$target2","onPressOut","onTouchEnd","_this$props$target3","render","onLongtap","onDoubletap","createElement","_extends","rippleColor","borderless","OS","accessibilityLabel","testID","accessible","disabled","proxy","style","styles","onLongPress","Fragment","children"],"sources":["tappable.component.tsx"],"sourcesContent":["import { BaseComponent } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport React from \"react\";\nimport { GestureResponderEvent, Platform, View } from \"react-native\";\nimport { get } from \"lodash\";\nimport injector from \"./injector\";\nimport { TouchableRipple } from \"react-native-paper\";\n\ninterface TappableProps {\n testID?: string;\n children?: any\n styles?: any;\n target?: BaseComponent<any, any, any>;\n onTap?: (e: any) => void;\n onLongTap?: (e: any) => void; \n onDoubleTap?: (e: any) => void;\n onTouchStart? : (e: any) => void;\n onTouchEnd? : (e: any) => void;\n}\n\nexport class TapEvent {\n propagationEnabled = true;\n \n constructor() {\n\n }\n\n stopPropagation() {\n this.propagationEnabled = false;\n }\n}\n\nexport class Tappable extends React.Component<TappableProps, any> {\n private lastPress = 0;\n private lastTap = 0;\n private lastDoubleTap = 0;\n private isLongTap = false;\n\n static CURRENT_EVENT: TapEvent = null as any;\n \n constructor(props: any) {\n super(props);\n }\n\n onPress(e?: GestureResponderEvent): void { \n this.lastPress = Date.now();\n const target = this.props.target;\n if (!Tappable.CURRENT_EVENT) {\n Tappable.CURRENT_EVENT = new TapEvent();\n setTimeout(() => {\n Tappable.CURRENT_EVENT = null as any;\n }, 10);\n }\n const syntheticEvent = Tappable.CURRENT_EVENT;\n this.props.onTouchStart && this.props.onTouchStart(e || syntheticEvent);\n this.props.target?.invokeEventCallback('onTouchstart', [syntheticEvent, this.props.target]);\n const currentTime = Date.now();\n const tapDelta = currentTime - this.lastTap;\n if (this.isLongTap) {\n this.isLongTap = false;\n return;\n }\n if (syntheticEvent.propagationEnabled) {\n injector.FOCUSED_ELEMENT.get()?.blur();\n if(this.lastDoubleTap !== this.lastTap \n && tapDelta < 500) {\n this.props.onDoubleTap && this.props.onDoubleTap(e);\n setTimeout(() => {\n target?.invokeEventCallback('onDoubletap', [syntheticEvent, target]);\n }, 200);\n this.lastDoubleTap = currentTime;\n }\n setTimeout(() => {\n if (this.props.onTap) {\n this.props.onTap(e || syntheticEvent);\n } else {\n target?.invokeEventCallback('onTap', [syntheticEvent, target]);\n }\n }, 200);\n this.lastTap = currentTime;\n }\n }\n\n onLongTap(e?: GestureResponderEvent): void {\n const syntheticEvent = Tappable.CURRENT_EVENT;\n this.props.onLongTap && this.props.onLongTap(e || syntheticEvent);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onLongtap', [syntheticEvent, this.props.target]);\n }, 200);\n this.isLongTap = true;\n }\n \n onPressOut(e?: GestureResponderEvent): void {\n const syntheticEvent = Tappable.CURRENT_EVENT;\n this.props.onTouchEnd && this.props.onTouchEnd(e || syntheticEvent);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onTouchend', [syntheticEvent, this.props.target]);\n }, 200);\n this.isLongTap = false;\n }\n\n render() {\n const target = this.props.target;\n if (target?.props.onTap \n || target?.props.onLongtap \n || target?.props.onDoubletap \n || this.props.onTap \n || this.props.onLongTap \n || this.props.onDoubleTap) {\n return (\n <TouchableRipple\n rippleColor=\"rgba(0, 0, 0, 0)\" \n borderless = {true}\n {...(Platform.OS === 'android' || Platform.OS === 'web') ? {\n accessibilityLabel: this.props.testID,\n testID: this.props.testID\n }: {\n accessible: false,\n testID: this.props.testID\n }} \n disabled={get(target?.proxy, 'disabled')}\n style={this.props.styles}\n onPress={() => this.onPress()}\n onLongPress={() => this.onLongTap()}\n onPressOut={() => this.onPressOut()}>\n <>{this.props.children}</>\n </TouchableRipple>\n );\n }\n return (<View style={this.props.styles}>{this.props.children}</View>);\n }\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/app-rn-runtime",
3
- "version": "11.6.0-next.139413",
3
+ "version": "11.6.0-next.140456",
4
4
  "description": "''",
5
5
  "main": "index",
6
6
  "module": "index",
@@ -35,6 +35,9 @@
35
35
  "url": "http://wavemaker.com/issues"
36
36
  },
37
37
  "homepage": "http://wavemaker.com#readme",
38
+ "publishConfig": {
39
+ "registry": "https://registry.npmjs.org/"
40
+ },
38
41
  "dependencies": {
39
42
  "@expo/vector-icons": "13.0.0",
40
43
  "@react-native-async-storage/async-storage": "1.18.2",
@@ -46,11 +49,12 @@
46
49
  "@react-navigation/native": "6.1.7",
47
50
  "@react-navigation/stack": "^6.3.7",
48
51
  "@types/lodash-es": "^4.17.6",
49
- "@wavemaker/variables": "11.6.0-next.139413",
52
+ "@wavemaker/variables": "11.6.0-next.140456",
50
53
  "axios": "^1.4.0",
51
54
  "color": "4.2.3",
52
55
  "cross-env": "^5.2.0",
53
56
  "css-mediaquery": "^0.1.2",
57
+ "d3-shape": "^3.2.0",
54
58
  "expo-application": "^5.4.0",
55
59
  "expo-font": "11.4.0",
56
60
  "expo-linear-gradient": "12.3.0",
@@ -67,6 +71,7 @@
67
71
  "react-native-paper-dates": "^0.8.0",
68
72
  "react-native-reanimated": "3.3.0",
69
73
  "react-native-screens": "3.22.0",
74
+ "react-native-size-scaling": "^0.5.1",
70
75
  "react-native-snap-carousel": "3.9.1",
71
76
  "react-native-svg": "13.9.0",
72
77
  "react-native-web": "0.18.12",
@@ -125,7 +130,7 @@
125
130
  "typescript": "^5.1.3",
126
131
  "victory-native": "36.6.11",
127
132
  "yargs": "^16.2.0",
128
- "@wavemaker/variables": "11.6.0-next.139413"
133
+ "@wavemaker/variables": "11.6.0-next.140456"
129
134
  },
130
135
  "jest": {
131
136
  "preset": "react-native",
@@ -42,7 +42,6 @@ class WebProcessWebView extends Component {
42
42
  }, /*#__PURE__*/React.createElement(WmWebview, {
43
43
  src: this.props.src,
44
44
  incognito: this.props.incognito,
45
- title: "",
46
45
  styles: {
47
46
  root: {
48
47
  width: '100%',
@@ -1 +1 @@
1
- {"version":3,"names":["axios","React","Component","Dimensions","View","WmWebview","injector","AppDisplayManagerService","windowWidth","get","width","windowHeight","height","WebProcessWebViewProps","constructor","_defineProperty","WebProcessWebView","props","getScriptToInject","process","render","createElement","style","src","incognito","title","styles","root","onLoad","e","w","setTimeout","executeScript","then","output","onComplete","WebProcessService","execute","hookUrl","useSystemBrowser","arguments","length","undefined","baseUrl","url","withCredentials","response","executeWithSystemBrowser","data","executeWithInAppBrowser","processInfo","Promise","reject","resolve","destroyFn","show","content","encodeURIComponent","ouput","call"],"sources":["webprocess.service.tsx"],"sourcesContent":["import axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { Dimensions, View } from \"react-native\";\n\nimport WmWebview from \"@wavemaker/app-rn-runtime/components/advanced/webview/webview.component\";\nimport AppConfig from \"@wavemaker/app-rn-runtime/core/AppConfig\";\nimport injector from \"@wavemaker/app-rn-runtime/core/injector\";\n\nimport AppDisplayManagerService from \"./app-display-manager.service\";\n\ndeclare const window: any, document: any, alert: any;\n\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\n\nclass WebProcessWebViewProps {\n src: string = \"\";\n process: string = \"\";\n incognito = false;\n onComplete?: (output: string) => any = null as any;\n}\n \nclass WebProcessWebView extends Component<WebProcessWebViewProps> {\n\n constructor(props: WebProcessWebViewProps) {\n super(props);\n }\n\n private getScriptToInject(process: string): string {\n return `(function() {\n var elements = document.querySelectorAll('body.flex>a.link');\n for (var i = 0; i < elements.length; i++) {\n var href = elements[i].href;\n if (href && href.indexOf('://services/webprocess/${process}?process_output=')) {\n return href.split('process_output=')[1];\n }\n }\n window.isWebLoginProcess = true;\n })()`;\n }\n\n render() {\n return(\n <View style={{\n width: windowWidth,\n height: windowHeight\n }}>\n <WmWebview src={this.props.src}\n incognito={this.props.incognito}\n title=\"\"\n styles={{\n root: {\n width: '100%',\n height: '100%'\n }\n }}\n onLoad={(e, w) => {\n setTimeout(() => {\n w.executeScript(this.getScriptToInject(this.props.process))\n .then((output) => {\n if (output) {\n const onComplete = this.props.onComplete;\n onComplete && onComplete(output as string);\n }\n });\n }, 1000);\n }}></WmWebview>\n </View>\n );\n }\n}\n\nexport class WebProcessService {\n\n baseUrl: string | null = null;\n\n constructor() {}\n\n public execute(process: string, hookUrl: string, useSystemBrowser = false, incognito = false): Promise<any> {\n if (!this.baseUrl) {\n this.baseUrl = injector.get<AppConfig>('APP_CONFIG').url;\n }\n return axios.get(this.baseUrl + `/services/webprocess/prepare?processName=${process}&hookUrl=${hookUrl}&requestSourceType=MOBILE`, {\n withCredentials: true\n })\n .then((response) => {\n if (useSystemBrowser) {\n return this.executeWithSystemBrowser(response.data);\n } else {\n return this.executeWithInAppBrowser(response.data, process, incognito);\n }\n }).then(output => {\n return axios.get(this.baseUrl + '/services/webprocess/decode?encodedProcessdata=' + output, {\n withCredentials: true\n });\n });\n }\n\n private executeWithSystemBrowser(processInfo: string): Promise<any> {\n return Promise.reject('Web Process in System browser is nor ready yet');\n }\n\n private executeWithInAppBrowser(processInfo: string, process: string, incognito: boolean): Promise<any> {\n return new Promise((resolve, reject) => {\n let destroyFn = () => {};\n destroyFn = AppDisplayManagerService.show({\n content: (\n <WebProcessWebView \n src={this.baseUrl + '/services/webprocess/start?process=' + encodeURIComponent(processInfo)}\n incognito={incognito}\n process={process}\n onComplete={(ouput) => {\n resolve(ouput);\n destroyFn.call(AppDisplayManagerService);\n }}></WebProcessWebView>\n ),\n \n });\n });\n }\n}\n\nexport default new WebProcessService();"],"mappings":"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"}
1
+ {"version":3,"names":["axios","React","Component","Dimensions","View","WmWebview","injector","AppDisplayManagerService","windowWidth","get","width","windowHeight","height","WebProcessWebViewProps","constructor","_defineProperty","WebProcessWebView","props","getScriptToInject","process","render","createElement","style","src","incognito","styles","root","onLoad","e","w","setTimeout","executeScript","then","output","onComplete","WebProcessService","execute","hookUrl","useSystemBrowser","arguments","length","undefined","baseUrl","url","withCredentials","response","executeWithSystemBrowser","data","executeWithInAppBrowser","processInfo","Promise","reject","resolve","destroyFn","show","content","encodeURIComponent","ouput","call"],"sources":["webprocess.service.tsx"],"sourcesContent":["import axios from \"axios\";\nimport React, { Component } from \"react\";\nimport { Dimensions, View } from \"react-native\";\n\nimport WmWebview from \"@wavemaker/app-rn-runtime/components/advanced/webview/webview.component\";\nimport AppConfig from \"@wavemaker/app-rn-runtime/core/AppConfig\";\nimport injector from \"@wavemaker/app-rn-runtime/core/injector\";\n\nimport AppDisplayManagerService from \"./app-display-manager.service\";\n\ndeclare const window: any, document: any, alert: any;\n\nconst windowWidth = Dimensions.get('window').width;\nconst windowHeight = Dimensions.get('window').height;\n\nclass WebProcessWebViewProps {\n src: string = \"\";\n process: string = \"\";\n incognito = false;\n onComplete?: (output: string) => any = null as any;\n}\n \nclass WebProcessWebView extends Component<WebProcessWebViewProps> {\n\n constructor(props: WebProcessWebViewProps) {\n super(props);\n }\n\n private getScriptToInject(process: string): string {\n return `(function() {\n var elements = document.querySelectorAll('body.flex>a.link');\n for (var i = 0; i < elements.length; i++) {\n var href = elements[i].href;\n if (href && href.indexOf('://services/webprocess/${process}?process_output=')) {\n return href.split('process_output=')[1];\n }\n }\n window.isWebLoginProcess = true;\n })()`;\n }\n\n render() {\n return(\n <View style={{\n width: windowWidth,\n height: windowHeight\n }}>\n <WmWebview src={this.props.src}\n incognito={this.props.incognito}\n styles={{\n root: {\n width: '100%',\n height: '100%'\n }\n }}\n onLoad={(e, w) => {\n setTimeout(() => {\n w.executeScript(this.getScriptToInject(this.props.process))\n .then((output) => {\n if (output) {\n const onComplete = this.props.onComplete;\n onComplete && onComplete(output as string);\n }\n });\n }, 1000);\n }}></WmWebview>\n </View>\n );\n }\n}\n\nexport class WebProcessService {\n\n baseUrl: string | null = null;\n\n constructor() {}\n\n public execute(process: string, hookUrl: string, useSystemBrowser = false, incognito = false): Promise<any> {\n if (!this.baseUrl) {\n this.baseUrl = injector.get<AppConfig>('APP_CONFIG').url;\n }\n return axios.get(this.baseUrl + `/services/webprocess/prepare?processName=${process}&hookUrl=${hookUrl}&requestSourceType=MOBILE`, {\n withCredentials: true\n })\n .then((response) => {\n if (useSystemBrowser) {\n return this.executeWithSystemBrowser(response.data);\n } else {\n return this.executeWithInAppBrowser(response.data, process, incognito);\n }\n }).then(output => {\n return axios.get(this.baseUrl + '/services/webprocess/decode?encodedProcessdata=' + output, {\n withCredentials: true\n });\n });\n }\n\n private executeWithSystemBrowser(processInfo: string): Promise<any> {\n return Promise.reject('Web Process in System browser is nor ready yet');\n }\n\n private executeWithInAppBrowser(processInfo: string, process: string, incognito: boolean): Promise<any> {\n return new Promise((resolve, reject) => {\n let destroyFn = () => {};\n destroyFn = AppDisplayManagerService.show({\n content: (\n <WebProcessWebView \n src={this.baseUrl + '/services/webprocess/start?process=' + encodeURIComponent(processInfo)}\n incognito={incognito}\n process={process}\n onComplete={(ouput) => {\n resolve(ouput);\n destroyFn.call(AppDisplayManagerService);\n }}></WebProcessWebView>\n ),\n \n });\n });\n }\n}\n\nexport default new WebProcessService();"],"mappings":"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"}
@@ -132,6 +132,15 @@ export class Theme {
132
132
  return;
133
133
  }
134
134
  style = style;
135
+ if (isObject(style) && !isArray(style)) {
136
+ Object.keys(style).forEach(k => {
137
+ const v = style[k];
138
+ if (isString(v) && v.startsWith('@')) {
139
+ const varValue = ThemeVariables.INSTANCE[v.substring(1)];
140
+ style[k] = isNil(varValue) ? v : varValue;
141
+ }
142
+ });
143
+ }
135
144
  if (!isNil(style['shadowRadius'])) {
136
145
  if (style['shadowRadius'] <= 0) {
137
146
  style['shadowColor'] = 'transparent';
@@ -196,6 +205,33 @@ export class Theme {
196
205
  this.parent.children.splice(i, 1);
197
206
  }
198
207
  }
208
+ getTextStyle(s) {
209
+ if (!s) {
210
+ return {};
211
+ }
212
+ return {
213
+ color: s.color,
214
+ fontFamily: s.fontFamily,
215
+ fontSize: s.fontSize,
216
+ fontStyle: s.fontStyle,
217
+ fontWeight: s.fontWeight,
218
+ includeFontPadding: s.includeFontPadding,
219
+ fontVariant: s.fontVariant,
220
+ letterSpacing: s.letterSpacing,
221
+ lineHeight: s.lineHeight,
222
+ textAlign: s.textAlign,
223
+ textAlignVertical: s.textAlignVertical,
224
+ textDecorationColor: s.textDecorationColor,
225
+ textDecorationStyle: s.textDecorationStyle,
226
+ textShadowColor: s.textShadowColor,
227
+ textShadowOffset: s.textShadowOffset,
228
+ textShadowRadius: s.textShadowRadius,
229
+ textTransform: s.textTransform,
230
+ verticalAlign: s.verticalAlign,
231
+ writingDirection: s.writingDirection,
232
+ userSelect: s.userSelect
233
+ };
234
+ }
199
235
  reset(styles) {
200
236
  this.styles = {};
201
237
  this.clearCache();
@@ -1 +1 @@
1
- {"version":3,"names":["cloneDeep","isNil","forEach","flatten","isArray","isEmpty","isObject","isString","get","reverse","React","deepCopy","isWebPreviewMode","EventNotifier","ViewPort","EVENTS","ViewPortEvents","MediaQueryList","ThemeVariables","getErrorMessage","getStyleReference","isValidStyleProp","DEFAULT_CLASS","window","matchMedia","query","DEVICE_BREAK_POINTS","ThemeEvent","Theme","constructor","parent","name","_defineProperty","traceEnabled","subscribe","event","fn","eventNotifer","notify","children","t","clearCache","cache","registerStyle","styleGenerators","push","INSTANCE","addStyle","bind","checkStyleProperties","value","Object","keys","map","k","console","log","extend","style","styles","getStyle","addTrace","styleName","mergedChildstyle","childStyle","parentStyle","v","__trace","prefix","arguments","length","undefined","result","collect","mergeStyle","_len","Array","_key","flattenStyles","s","cs","filter","cleanseStyleProperties","i","indexOf","split","c","mediaQuery","clonedStyle","matches","BASE","$new","newTheme","reset","destroy","splice","themeVariables","CHANGE","_class","SIZE_CHANGE","ThemeContext","createContext","ThemeProvider","Provider","ThemeConsumer","Consumer","addColStyles","device","minWidth","root","width","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","height","shadowOpacity","shadowRadius","elevation","zIndex","transform","scale","backgroundColor","dangerColor","infoColor","primaryColor","successColor","warningColor","borderColor","text","userSelect"],"sources":["theme.tsx"],"sourcesContent":["import { cloneDeep, isNil, forEach, flatten, isArray, isEmpty, isObject, isString, isFunction, get, reverse } from 'lodash';\nimport React, { ReactNode } from 'react';\nimport { TextStyle, ViewStyle, ImageStyle, ImageBackground } 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';\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 styleGenerators: styleGeneratorFn<any>[] = [];\n\n private constructor(private parent:Theme, public readonly name: string) {\n if (parent) {\n this.traceEnabled = parent.traceEnabled;\n } else {\n this.traceEnabled = isWebPreviewMode();\n }\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 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;\n }\n style = style as any;\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 Object.keys(style).forEach((k, i) => this.cleanseStyleProperties(style[k]));\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 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'});\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 }\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});\n\n"],"mappings":"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"}
1
+ {"version":3,"names":["cloneDeep","isNil","forEach","flatten","isArray","isEmpty","isObject","isString","get","reverse","React","deepCopy","isWebPreviewMode","EventNotifier","ViewPort","EVENTS","ViewPortEvents","MediaQueryList","ThemeVariables","getErrorMessage","getStyleReference","isValidStyleProp","DEFAULT_CLASS","window","matchMedia","query","DEVICE_BREAK_POINTS","ThemeEvent","Theme","constructor","parent","name","_defineProperty","traceEnabled","subscribe","event","fn","eventNotifer","notify","children","t","clearCache","cache","registerStyle","styleGenerators","push","INSTANCE","addStyle","bind","checkStyleProperties","value","Object","keys","map","k","console","log","extend","style","styles","getStyle","addTrace","styleName","mergedChildstyle","childStyle","parentStyle","v","__trace","prefix","arguments","length","undefined","result","collect","mergeStyle","_len","Array","_key","flattenStyles","s","cs","filter","cleanseStyleProperties","startsWith","varValue","substring","i","indexOf","split","c","mediaQuery","clonedStyle","matches","BASE","$new","newTheme","reset","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","_class","SIZE_CHANGE","ThemeContext","createContext","ThemeProvider","Provider","ThemeConsumer","Consumer","addColStyles","device","minWidth","root","width","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","height","shadowOpacity","shadowRadius","elevation","zIndex","transform","scale","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, { ReactNode } from 'react';\nimport { TextStyle, ViewStyle, ImageStyle, ImageBackground } 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';\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 styleGenerators: styleGeneratorFn<any>[] = [];\n\n private constructor(private parent:Theme, public readonly name: string) {\n if (parent) {\n this.traceEnabled = parent.traceEnabled;\n } else {\n this.traceEnabled = isWebPreviewMode();\n }\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 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;\n }\n style = style as any;\n if (isObject(style) && !isArray(style)) {\n Object.keys(style).forEach(k => {\n const v = style[k];\n if (isString(v) && v.startsWith('@')) {\n const varValue = (ThemeVariables.INSTANCE as any)[v.substring(1)];\n style[k] = isNil(varValue) ? v : varValue;\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['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 Object.keys(style).forEach((k, i) => this.cleanseStyleProperties(style[k]));\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'});\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 }\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});\n\n"],"mappings":"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"}