@wavemaker/app-rn-runtime 11.9.3-rc.5970 → 11.9.4-1.5989

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.
@@ -1,6 +1,7 @@
1
1
  import Color from 'color';
2
2
  import BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';
3
3
  import { defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';
4
+ import { Platform } from 'react-native';
4
5
  export const DEFAULT_CLASS = 'app-progress-bar';
5
6
  BASE_THEME.registerStyle((themeVariables, addStyle) => {
6
7
  const defaultStyles = defineStyles({
@@ -25,5 +26,12 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
25
26
  addStyle('app-info-progress-bar', '', getStyle(themeVariables.progressBarInfoColor));
26
27
  addStyle('app-danger-progress-bar', '', getStyle(themeVariables.progressBarDangerColor));
27
28
  addStyle('app-warning-progress-bar', '', getStyle(themeVariables.progressBarWarningColor));
29
+ addStyle(DEFAULT_CLASS + '-rtl', '', Platform.OS == 'ios' ? {
30
+ progressBar: {
31
+ transform: [{
32
+ scale: -1
33
+ }]
34
+ }
35
+ } : {});
28
36
  });
29
37
  //# sourceMappingURL=progress-bar.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Color","BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","text","progressBar","height","progressValue","getStyle","color","backgroundColor","alpha","rgb","toString","progressBarDefaultColor","progressBarSuccessColor","progressBarInfoColor","progressBarDangerColor","progressBarWarningColor"],"sources":["progress-bar.styles.ts"],"sourcesContent":["import Color from 'color';\nimport BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport type WmProgressBarStyles = BaseStyles & {\n progressBar : AllStyle,\n progressValue: AllStyle\n};\n\nexport const DEFAULT_CLASS = 'app-progress-bar';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmProgressBarStyles = defineStyles({\n root: {},\n text: {},\n progressBar: {\n height: 4\n },\n progressValue: {}\n });\n\n const getStyle = (color: string) => ({\n progressBar: {\n backgroundColor: Color(color).alpha(0.2).rgb().toString()\n },\n progressValue: {\n color: color\n }\n } as WmProgressBarStyles);\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle('app-default-progress-bar', '', getStyle(themeVariables.progressBarDefaultColor));\n addStyle('app-success-progress-bar', '', getStyle(themeVariables.progressBarSuccessColor));\n addStyle('app-info-progress-bar', '', getStyle(themeVariables.progressBarInfoColor));\n addStyle('app-danger-progress-bar', '', getStyle(themeVariables.progressBarDangerColor));\n addStyle('app-warning-progress-bar', '', getStyle(themeVariables.progressBarWarningColor));\n});"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAoB,wCAAwC;AAC7E,SAAqBC,YAAY,QAAQ,+CAA+C;AAOxF,OAAO,MAAMC,aAAa,GAAG,kBAAkB;AAC/CF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAAkC,GAAGL,YAAY,CAAC;IACpDM,IAAI,EAAE,CAAC,CAAC;IACRC,IAAI,EAAE,CAAC,CAAC;IACRC,WAAW,EAAE;MACTC,MAAM,EAAE;IACZ,CAAC;IACDC,aAAa,EAAE,CAAC;EACpB,CAAC,CAAC;EAEF,MAAMC,QAAQ,GAAIC,KAAa,KAAM;IACjCJ,WAAW,EAAE;MACTK,eAAe,EAAEf,KAAK,CAACc,KAAK,CAAC,CAACE,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC;IAC5D,CAAC;IACDN,aAAa,EAAE;MACXE,KAAK,EAAEA;IACX;EACJ,CAAC,CAAwB;EAEzBR,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;EAC1CD,QAAQ,CAAC,0BAA0B,EAAE,EAAE,EAAEO,QAAQ,CAACR,cAAc,CAACc,uBAAuB,CAAC,CAAC;EAC1Fb,QAAQ,CAAC,0BAA0B,EAAE,EAAE,EAAEO,QAAQ,CAACR,cAAc,CAACe,uBAAuB,CAAC,CAAC;EAC1Fd,QAAQ,CAAC,uBAAuB,EAAE,EAAE,EAAEO,QAAQ,CAACR,cAAc,CAACgB,oBAAoB,CAAC,CAAC;EACpFf,QAAQ,CAAC,yBAAyB,EAAE,EAAE,EAAEO,QAAQ,CAACR,cAAc,CAACiB,sBAAsB,CAAC,CAAC;EACxFhB,QAAQ,CAAC,0BAA0B,EAAE,EAAE,EAAEO,QAAQ,CAACR,cAAc,CAACkB,uBAAuB,CAAC,CAAC;AAC9F,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Color","BASE_THEME","defineStyles","Platform","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","text","progressBar","height","progressValue","getStyle","color","backgroundColor","alpha","rgb","toString","progressBarDefaultColor","progressBarSuccessColor","progressBarInfoColor","progressBarDangerColor","progressBarWarningColor","OS","transform","scale"],"sources":["progress-bar.styles.ts"],"sourcesContent":["import Color from 'color';\nimport BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { Platform } from 'react-native';\n\nexport type WmProgressBarStyles = BaseStyles & {\n progressBar : AllStyle,\n progressValue: AllStyle\n};\n\nexport const DEFAULT_CLASS = 'app-progress-bar';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmProgressBarStyles = defineStyles({\n root: {},\n text: {},\n progressBar: {\n height: 4\n },\n progressValue: {}\n });\n\n const getStyle = (color: string) => ({\n progressBar: {\n backgroundColor: Color(color).alpha(0.2).rgb().toString()\n },\n progressValue: {\n color: color\n }\n } as WmProgressBarStyles);\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle('app-default-progress-bar', '', getStyle(themeVariables.progressBarDefaultColor));\n addStyle('app-success-progress-bar', '', getStyle(themeVariables.progressBarSuccessColor));\n addStyle('app-info-progress-bar', '', getStyle(themeVariables.progressBarInfoColor));\n addStyle('app-danger-progress-bar', '', getStyle(themeVariables.progressBarDangerColor));\n addStyle('app-warning-progress-bar', '', getStyle(themeVariables.progressBarWarningColor));\n addStyle(DEFAULT_CLASS + '-rtl', '', Platform.OS =='ios' ? {\n progressBar: {\n transform: [{scale: -1}]\n }\n }: {})\n});"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAoB,wCAAwC;AAC7E,SAAqBC,YAAY,QAAQ,+CAA+C;AACxF,SAASC,QAAQ,QAAQ,cAAc;AAOvC,OAAO,MAAMC,aAAa,GAAG,kBAAkB;AAC/CH,UAAU,CAACI,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAAkC,GAAGN,YAAY,CAAC;IACpDO,IAAI,EAAE,CAAC,CAAC;IACRC,IAAI,EAAE,CAAC,CAAC;IACRC,WAAW,EAAE;MACTC,MAAM,EAAE;IACZ,CAAC;IACDC,aAAa,EAAE,CAAC;EACpB,CAAC,CAAC;EAEF,MAAMC,QAAQ,GAAIC,KAAa,KAAM;IACjCJ,WAAW,EAAE;MACTK,eAAe,EAAEhB,KAAK,CAACe,KAAK,CAAC,CAACE,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC;IAC5D,CAAC;IACDN,aAAa,EAAE;MACXE,KAAK,EAAEA;IACX;EACJ,CAAC,CAAwB;EAEzBR,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;EAC1CD,QAAQ,CAAC,0BAA0B,EAAE,EAAE,EAAEO,QAAQ,CAACR,cAAc,CAACc,uBAAuB,CAAC,CAAC;EAC1Fb,QAAQ,CAAC,0BAA0B,EAAE,EAAE,EAAEO,QAAQ,CAACR,cAAc,CAACe,uBAAuB,CAAC,CAAC;EAC1Fd,QAAQ,CAAC,uBAAuB,EAAE,EAAE,EAAEO,QAAQ,CAACR,cAAc,CAACgB,oBAAoB,CAAC,CAAC;EACpFf,QAAQ,CAAC,yBAAyB,EAAE,EAAE,EAAEO,QAAQ,CAACR,cAAc,CAACiB,sBAAsB,CAAC,CAAC;EACxFhB,QAAQ,CAAC,0BAA0B,EAAE,EAAE,EAAEO,QAAQ,CAACR,cAAc,CAACkB,uBAAuB,CAAC,CAAC;EAC1FjB,QAAQ,CAACH,aAAa,GAAG,MAAM,EAAE,EAAE,EAAGD,QAAQ,CAACsB,EAAE,IAAG,KAAK,GAAG;IACxDd,WAAW,EAAE;MACTe,SAAS,EAAE,CAAC;QAACC,KAAK,EAAE,CAAC;MAAC,CAAC;IAC3B;EACJ,CAAC,GAAE,CAAC,CAAC,CAAC;AACV,CAAC,CAAC","ignoreList":[]}
@@ -3,9 +3,9 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
3
3
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
4
4
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
5
  import React from 'react';
6
- import { Text, View } from 'react-native';
6
+ import { Dimensions, Text, View } from 'react-native';
7
7
  import { ScrollView } from 'react-native-gesture-handler';
8
- import { find, isEmpty } from 'lodash';
8
+ import { find, isEmpty, isString } from 'lodash';
9
9
  import WmSelectProps from './select.props';
10
10
  import { DEFAULT_CLASS } from './select.styles';
11
11
  import { BaseDatasetComponent, BaseDatasetState } from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';
@@ -23,6 +23,8 @@ export class WmSelectState extends BaseDatasetState {
23
23
  _defineProperty(this, "modalOptions", {});
24
24
  _defineProperty(this, "isOpened", false);
25
25
  _defineProperty(this, "selectedValue", '');
26
+ _defineProperty(this, "position", {});
27
+ _defineProperty(this, "selectWidth", 0);
26
28
  }
27
29
  }
28
30
  export default class WmSelect extends BaseDatasetComponent {
@@ -31,6 +33,24 @@ export default class WmSelect extends BaseDatasetComponent {
31
33
  _defineProperty(this, "view", null);
32
34
  _defineProperty(this, "widgetRef", null);
33
35
  _defineProperty(this, "isDefaultValue", true);
36
+ _defineProperty(this, "computePosition", e => {
37
+ const position = {};
38
+ const windowDimensions = Dimensions.get('window');
39
+ this.view.measure((x, y, width, height, px, py) => {
40
+ let popoverwidth = this.state.selectWidth;
41
+ if (popoverwidth && isString(popoverwidth)) {
42
+ popoverwidth = parseInt(popoverwidth);
43
+ }
44
+ this.isRTL ? position.right = px : position.left = px;
45
+ if (px + popoverwidth > windowDimensions.width) {
46
+ this.isRTL ? position.right = px + width - popoverwidth : position.left = px + width - popoverwidth;
47
+ }
48
+ position.top = py + height;
49
+ this.updateState({
50
+ position: position
51
+ });
52
+ });
53
+ });
34
54
  _defineProperty(this, "showPopover", () => {
35
55
  this.updateState({
36
56
  isOpened: true
@@ -64,7 +84,8 @@ export default class WmSelect extends BaseDatasetComponent {
64
84
  const o = this.state.modalOptions;
65
85
  o.modalStyle = styles.modal;
66
86
  o.contentStyle = {
67
- ...styles.modalContent
87
+ ...styles.modalContent,
88
+ ...this.state.position
68
89
  };
69
90
  o.content = content;
70
91
  o.isModal = true;
@@ -113,7 +134,11 @@ export default class WmSelect extends BaseDatasetComponent {
113
134
  ref: ref => {
114
135
  this.view = ref;
115
136
  },
116
- onLayout: () => {}
137
+ onLayout: event => {
138
+ this.updateState({
139
+ selectWidth: event.nativeEvent.layout.width
140
+ });
141
+ }
117
142
  }, select.backgroundImage ? /*#__PURE__*/React.createElement(BackgroundComponent, {
118
143
  image: select.backgroundImage,
119
144
  position: select.backgroundPosition || 'center',
@@ -194,10 +219,20 @@ export default class WmSelect extends BaseDatasetComponent {
194
219
  this.updateDefaultQueryModel();
195
220
  }
196
221
  renderWidget(props) {
197
- return /*#__PURE__*/React.createElement(View, null, this._background, this.renderSelect(), this.state.isOpened ? /*#__PURE__*/React.createElement(ModalConsumer, null, modalService => {
222
+ var _this$state$props$cla;
223
+ let isDropdown = (_this$state$props$cla = this.state.props.classname) === null || _this$state$props$cla === void 0 ? void 0 : _this$state$props$cla.includes('select-dropdown');
224
+ const styles = this.theme.mergeStyle(this.styles, this.theme.getStyle('select-dropdown'));
225
+ if (isDropdown && this.state.selectWidth) {
226
+ styles.modalContent.width = this.styles.dropdown.width || this.state.selectWidth;
227
+ }
228
+ return /*#__PURE__*/React.createElement(View, {
229
+ onLayout: isDropdown ? this.computePosition : () => {}
230
+ }, this._background, this.renderSelect(), this.state.isOpened ? /*#__PURE__*/React.createElement(ModalConsumer, null, modalService => {
198
231
  const items = this.state.dataItems;
199
232
  modalService.showModal(this.prepareModalOptions(/*#__PURE__*/React.createElement(ScrollView, {
200
- style: {
233
+ style: isDropdown ? [{
234
+ width: this.state.selectWidth
235
+ }, this.styles.dropdown] : {
201
236
  width: '100%',
202
237
  maxHeight: ThemeVariables.INSTANCE.maxModalHeight
203
238
  },
@@ -207,7 +242,7 @@ export default class WmSelect extends BaseDatasetComponent {
207
242
  style: this.styles.placeholderText
208
243
  }, this.renderSelectItem({}, 0, true, false)) : null, items && items.map((item, index) => /*#__PURE__*/React.createElement(View, {
209
244
  key: item.key
210
- }, this.renderSelectItem(item, index, false, index === items.length - 1)))), this.styles, modalService));
245
+ }, this.renderSelectItem(item, index, false, index === items.length - 1)))), isDropdown ? styles : this.styles, modalService));
211
246
  return null;
212
247
  }) : null);
213
248
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","ScrollView","find","isEmpty","WmSelectProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","ModalConsumer","WmButton","Tappable","ThemeVariables","AccessibilityWidgetType","getAccessibilityProps","BackgroundComponent","createSkeleton","WmSelectState","constructor","args","_defineProperty","WmSelect","props","updateState","isOpened","onPress","event","state","disabled","showPopover","invokeEventCallback","proxy","onPropertyChange","name","$new","$old","isNaN","displayValue","placeholder","prepareModalOptions","content","styles","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","centered","onClose","hide","isDefaultValue","validate","setTimeout","triggerValidation","setState","hideModal","focus","_this$widgetRef","widgetRef","renderSkeletonForText","theme","textSkeleton","root","renderSelect","select","createElement","style","isValid","invalid","backgroundColor","disabledText","_showSkeleton","justifyContent","ref","view","onLayout","backgroundImage","image","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","_extends","text","color","placeholderText","getTestPropsForInput","SELECT","bind","arrowButtonSkeleton","arrowButton","iconclass","onTap","hint","isSelected","item","val","datafield","dataObject","datavalue","onItemSelect","isPlaceholder","onChange","renderSelectItem","index","isLast","selected","getTestPropsForAction","accessibilityProps","expanded","selectItem","lastSelectItem","selectedItem","getTestPropsForLabel","selectItemText","selectedItemText","displayexp","displayfield","id","getTestId","mergeStyle","checkIcon","opacity","updateDefaultQueryModel","dataItems","length","componentDidMount","onDataItemsUpdate","renderWidget","_background","items","showModal","width","maxHeight","INSTANCE","maxModalHeight","contentContainerStyle","dropDownContent","key","map"],"sources":["select.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Text, View } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { find, isEmpty } from 'lodash';\n\nimport WmSelectProps from './select.props';\nimport { DEFAULT_CLASS, WmSelectStyles } from './select.styles';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmSelectState extends BaseDatasetState<WmSelectProps> {\n modalOptions = {} as ModalOptions;\n isOpened: boolean = false;\n selectedValue: any = '';\n}\n\nexport default class WmSelect extends BaseDatasetComponent<WmSelectProps, WmSelectState, WmSelectStyles> {\n constructor(props: WmSelectProps) {\n super(props, DEFAULT_CLASS, new WmSelectProps(), new WmSelectState());\n }\n view: View = null as any;\n public widgetRef: Text | null = null;\n private isDefaultValue: boolean = true;\n\n onPress(event: any) {\n if (this.state.props.disabled) {\n return;\n }\n if (!this.state.isOpened) {\n this.showPopover();\n }\n this.invokeEventCallback('onFocus', [event, this.proxy]);\n }\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'datavalue':\n if (isNaN($new) && isEmpty($new)) {\n this.updateState({\n props: {\n displayValue: this.state.props.placeholder || ''\n }\n } as WmSelectState);\n }\n }\n }\n\n prepareModalOptions(content: React.ReactNode, styles: WmSelectStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent};\n o.content = content;\n o.isModal = true;\n o.centered = true;\n o.onClose = () => {\n this.hide = () => {};\n if (this.isDefaultValue && this.state.props.displayValue === '') {\n this.validate(this.state.props.displayValue);\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n }, 0);\n }\n this.invokeEventCallback('onBlur', [{}, this.proxy]);\n this.setState({ isOpened: false, modalOptions: {} as ModalOptions } as WmSelectState);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n public showPopover = () => {\n this.updateState({ isOpened: true } as WmSelectState);\n };\n\n public hide = () => {};\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n private renderSkeletonForText(){\n return createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.textSkeleton.root\n });\n }\n\n renderSelect() {\n const props = this.state.props;\n const select = this.styles.root as any;\n return (\n /*\n * onLayout function is required.\n * https://github.com/naoufal/react-native-accordion/pull/19/files\n */\n <View\n style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid, { backgroundColor: props.disabled ? this.styles.disabledText.backgroundColor : this.styles.root.backgroundColor}, \n this._showSkeleton ? { justifyContent: 'space-between' } : {}]}\n ref={(ref) => {\n this.view = ref as View;\n }}\n onLayout={() => {}}>\n {select.backgroundImage ? (<BackgroundComponent\n image={select.backgroundImage}\n position={select.backgroundPosition || 'center'}\n size={select.backgroundSize || 'contain'}\n repeat={select.backgroundRepeat || 'no-repeat'}\n resizeMode={select.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}\n ></BackgroundComponent>) : null }\n {this._showSkeleton && (this.state.props.displayValue || props.placeholder)? this.renderSkeletonForText() : <Text\n style={[this.styles.text,\n this.state.props.displayValue ? {} : {color: this.styles.placeholderText.color}]}\n ref={(ref) => {\n this.widgetRef = ref;\n }}\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(\n AccessibilityWidgetType.SELECT,\n props\n )}\n onPress={this.onPress.bind(this)}>\n {this.state.props.displayValue || props.placeholder || ' '}\n </Text>}\n <WmButton\n styles={this._showSkeleton ? this.styles.arrowButtonSkeleton.root : this.styles.arrowButton}\n iconclass={'wi wi-keyboard-arrow-down'}\n onTap={this.onPress.bind(this)}\n hint={props?.hint}\n />\n </View>\n );\n }\n\n isSelected(item: any) {\n const val = this.state.props.datafield === 'All Fields' ? item.dataObject : item.datafield;\n return this.state.props.datavalue === val;\n }\n\n onItemSelect(item: any, isPlaceholder?: boolean) {\n this.isDefaultValue = false;\n this.onChange(isPlaceholder ? '' : this.state.props.datafield === 'All Fields' ? item.dataObject : item.datafield);\n this.hide();\n }\n\n renderSelectItem(item: any, index: number, isPlaceholder: boolean, isLast: boolean) {\n let selected = this.isSelected(item);\n return (\n <Tappable {...this.getTestPropsForAction('selectitem'+index)} onTap={this.onItemSelect.bind(this, item, isPlaceholder)} \n accessibilityProps={{...getAccessibilityProps(\n AccessibilityWidgetType.SELECT,\n {...this.props, expanded: this.state.isOpened}\n )}}>\n <View style={[this.styles.selectItem, isLast ? this.styles.lastSelectItem : null, selected ? this.styles.selectedItem : null ]}>\n <Text {...this.getTestPropsForLabel('label'+index)} style={[this.styles.selectItemText, {color: isPlaceholder ? this.styles.placeholderText.color : selected ? this.styles.selectedItemText.color : this.styles.selectItemText.color}]}>\n {isPlaceholder ? this.state.props.placeholder : (item.displayexp || item.displayfield)}\n </Text>\n <WmIcon id={this.getTestId('checkicon' + index)} iconclass='wi wi-check' styles={this.theme.mergeStyle(this.styles.checkIcon, {\n root: {\n opacity: !isPlaceholder && selected ? 1 : 0\n }\n })}></WmIcon>\n </View>\n </Tappable>\n );\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultValue) {\n const selectedItem = find(this.state.dataItems, (item) => item.selected);\n selectedItem && this.updateState({\n props: {\n displayValue: selectedItem.displayexp || selectedItem.displayfield || ''\n }\n } as WmSelectState);\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.updateDefaultQueryModel();\n }\n\n renderWidget(props: WmSelectProps) {\n return (\n <View>\n {this._background}\n {this.renderSelect()}\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n const items = this.state.dataItems;\n modalService.showModal(\n this.prepareModalOptions(\n <ScrollView style={{width: '100%', maxHeight: ThemeVariables.INSTANCE.maxModalHeight}} contentContainerStyle={this.styles.dropDownContent}>\n {props.placeholder ?\n <View key={props.name + '_placeholder'} style={this.styles.placeholderText}>\n {this.renderSelectItem({}, 0, true, false)}\n </View>\n : null}\n {items && items.map((item: any, index: number) => (\n <View key={item.key}>\n {this.renderSelectItem(item, index, false, index === items.length - 1)}\n </View>\n ))}\n </ScrollView>,\n this.styles,\n modalService\n )\n );\n return null;\n }}\n </ModalConsumer>\n ) : null}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Dimensions","Text","View","ScrollView","find","isEmpty","isString","WmSelectProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","ModalConsumer","WmButton","Tappable","ThemeVariables","AccessibilityWidgetType","getAccessibilityProps","BackgroundComponent","createSkeleton","WmSelectState","constructor","args","_defineProperty","WmSelect","props","e","position","windowDimensions","get","view","measure","x","y","width","height","px","py","popoverwidth","state","selectWidth","parseInt","isRTL","right","left","top","updateState","isOpened","onPress","event","disabled","showPopover","invokeEventCallback","proxy","onPropertyChange","name","$new","$old","isNaN","displayValue","placeholder","prepareModalOptions","content","styles","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","centered","onClose","hide","isDefaultValue","validate","setTimeout","triggerValidation","setState","hideModal","focus","_this$widgetRef","widgetRef","renderSkeletonForText","theme","textSkeleton","root","renderSelect","select","createElement","style","isValid","invalid","backgroundColor","disabledText","_showSkeleton","justifyContent","ref","onLayout","nativeEvent","layout","backgroundImage","image","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","_extends","text","color","placeholderText","getTestPropsForInput","SELECT","bind","arrowButtonSkeleton","arrowButton","iconclass","onTap","hint","isSelected","item","val","datafield","dataObject","datavalue","onItemSelect","isPlaceholder","onChange","renderSelectItem","index","isLast","selected","getTestPropsForAction","accessibilityProps","expanded","selectItem","lastSelectItem","selectedItem","getTestPropsForLabel","selectItemText","selectedItemText","displayexp","displayfield","id","getTestId","mergeStyle","checkIcon","opacity","updateDefaultQueryModel","dataItems","length","componentDidMount","onDataItemsUpdate","renderWidget","_this$state$props$cla","isDropdown","classname","includes","getStyle","dropdown","computePosition","_background","items","showModal","maxHeight","INSTANCE","maxModalHeight","contentContainerStyle","dropDownContent","key","map"],"sources":["select.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Dimensions, LayoutChangeEvent, Text, View } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { find, isEmpty, isString } from 'lodash';\n\nimport WmSelectProps from './select.props';\nimport { DEFAULT_CLASS, WmSelectStyles } from './select.styles';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\nimport { PopoverPosition } from '../../navigation/popover/popover.component';\n\nexport class WmSelectState extends BaseDatasetState<WmSelectProps> {\n modalOptions = {} as ModalOptions;\n isOpened: boolean = false;\n selectedValue: any = '';\n position={} as PopoverPosition;\n selectWidth:number = 0;\n}\n\nexport default class WmSelect extends BaseDatasetComponent<WmSelectProps, WmSelectState, WmSelectStyles> {\n constructor(props: WmSelectProps) {\n super(props, DEFAULT_CLASS, new WmSelectProps(), new WmSelectState());\n }\n view: View = null as any;\n public widgetRef: Text | null = null;\n private isDefaultValue: boolean = true;\n\n onPress(event: any) {\n if (this.state.props.disabled) {\n return;\n }\n if (!this.state.isOpened) {\n this.showPopover();\n }\n this.invokeEventCallback('onFocus', [event, this.proxy]);\n }\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'datavalue':\n if (isNaN($new) && isEmpty($new)) {\n this.updateState({\n props: {\n displayValue: this.state.props.placeholder || ''\n }\n } as WmSelectState);\n }\n }\n }\n\n private computePosition = (e: LayoutChangeEvent) => {\n const position = {} as PopoverPosition;\n const windowDimensions = Dimensions.get('window');\n this.view.measure((x, y, width, height, px, py) => {\n let popoverwidth = this.state.selectWidth as any;\n if (popoverwidth && isString(popoverwidth)) { \n popoverwidth = parseInt(popoverwidth);\n }\n this.isRTL ? position.right = px : position.left = px\n \n if (px + popoverwidth > windowDimensions.width) {\n this.isRTL\n ? (position.right = px + width - popoverwidth)\n : (position.left = px + width - popoverwidth);\n }\n position.top = py + height;\n this.updateState({position: position} as WmSelectState);\n });\n };\n\n prepareModalOptions(content: React.ReactNode, styles: WmSelectStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent,...this.state.position};\n o.content = content;\n o.isModal = true;\n o.centered = true;\n o.onClose = () => {\n this.hide = () => {};\n if (this.isDefaultValue && this.state.props.displayValue === '') {\n this.validate(this.state.props.displayValue);\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n }, 0);\n }\n this.invokeEventCallback('onBlur', [{}, this.proxy]);\n this.setState({ isOpened: false, modalOptions: {} as ModalOptions } as WmSelectState);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n public showPopover = () => {\n this.updateState({ isOpened: true } as WmSelectState);\n };\n\n public hide = () => {};\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n private renderSkeletonForText(){\n return createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.textSkeleton.root\n });\n }\n\n renderSelect() {\n const props = this.state.props;\n const select = this.styles.root as any;\n return (\n /*\n * onLayout function is required.\n * https://github.com/naoufal/react-native-accordion/pull/19/files\n */\n <View\n style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid, { backgroundColor: props.disabled ? this.styles.disabledText.backgroundColor : this.styles.root.backgroundColor}, \n this._showSkeleton ? { justifyContent: 'space-between' } : {}]}\n ref={(ref) => {\n this.view = ref as View;\n }}\n onLayout={(event) => {this.updateState({selectWidth : event.nativeEvent.layout.width} as any)}}>\n {select.backgroundImage ? (<BackgroundComponent\n image={select.backgroundImage}\n position={select.backgroundPosition || 'center'}\n size={select.backgroundSize || 'contain'}\n repeat={select.backgroundRepeat || 'no-repeat'}\n resizeMode={select.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}\n ></BackgroundComponent>) : null }\n {this._showSkeleton && (this.state.props.displayValue || props.placeholder)? this.renderSkeletonForText() : <Text\n style={[this.styles.text,\n this.state.props.displayValue ? {} : {color: this.styles.placeholderText.color}]}\n ref={(ref) => {\n this.widgetRef = ref;\n }}\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(\n AccessibilityWidgetType.SELECT,\n props\n )}\n onPress={this.onPress.bind(this)}>\n {this.state.props.displayValue || props.placeholder || ' '}\n </Text>}\n <WmButton\n styles={this._showSkeleton ? this.styles.arrowButtonSkeleton.root : this.styles.arrowButton}\n iconclass={'wi wi-keyboard-arrow-down'}\n onTap={this.onPress.bind(this)}\n hint={props?.hint}\n />\n </View>\n );\n }\n\n isSelected(item: any) {\n const val = this.state.props.datafield === 'All Fields' ? item.dataObject : item.datafield;\n return this.state.props.datavalue === val;\n }\n\n onItemSelect(item: any, isPlaceholder?: boolean) {\n this.isDefaultValue = false;\n this.onChange(isPlaceholder ? '' : this.state.props.datafield === 'All Fields' ? item.dataObject : item.datafield);\n this.hide();\n }\n\n renderSelectItem(item: any, index: number, isPlaceholder: boolean, isLast: boolean) {\n let selected = this.isSelected(item);\n return (\n <Tappable {...this.getTestPropsForAction('selectitem'+index)} onTap={this.onItemSelect.bind(this, item, isPlaceholder)} \n accessibilityProps={{...getAccessibilityProps(\n AccessibilityWidgetType.SELECT,\n {...this.props, expanded: this.state.isOpened}\n )}}>\n <View style={[this.styles.selectItem, isLast ? this.styles.lastSelectItem : null, selected ? this.styles.selectedItem : null ]}>\n <Text {...this.getTestPropsForLabel('label'+index)} style={[this.styles.selectItemText, {color: isPlaceholder ? this.styles.placeholderText.color : selected ? this.styles.selectedItemText.color : this.styles.selectItemText.color}]}>\n {isPlaceholder ? this.state.props.placeholder : (item.displayexp || item.displayfield)}\n </Text>\n <WmIcon id={this.getTestId('checkicon' + index)} iconclass='wi wi-check' styles={this.theme.mergeStyle(this.styles.checkIcon, {\n root: {\n opacity: !isPlaceholder && selected ? 1 : 0\n }\n })}></WmIcon>\n </View>\n </Tappable>\n );\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultValue) {\n const selectedItem = find(this.state.dataItems, (item) => item.selected);\n selectedItem && this.updateState({\n props: {\n displayValue: selectedItem.displayexp || selectedItem.displayfield || ''\n }\n } as WmSelectState);\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.updateDefaultQueryModel();\n }\n\n renderWidget(props: WmSelectProps) {\n let isDropdown = this.state.props.classname?.includes('select-dropdown');\n const styles = this.theme.mergeStyle( this.styles,this.theme.getStyle('select-dropdown'));\n if (isDropdown && this.state.selectWidth) {\n styles.modalContent.width = this.styles.dropdown.width || this.state.selectWidth;\n }\n return (\n <View onLayout={isDropdown?this.computePosition:()=>{}}>\n {this._background}\n {this.renderSelect()}\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n const items = this.state.dataItems;\n modalService.showModal(\n this.prepareModalOptions(\n <ScrollView style={ isDropdown ?[{width : this.state.selectWidth},this.styles.dropdown]:{width: '100%', maxHeight: ThemeVariables.INSTANCE.maxModalHeight}} \n contentContainerStyle={this.styles.dropDownContent}>\n {props.placeholder ?\n <View key={props.name + '_placeholder'} style={this.styles.placeholderText}>\n {this.renderSelectItem({}, 0, true, false)}\n </View>\n : null}\n {items && items.map((item: any, index: number) => (\n <View key={item.key}>\n {this.renderSelectItem(item, index, false, index === items.length - 1)}\n </View>\n ))}\n </ScrollView>,\n isDropdown?styles:this.styles,\n modalService\n )\n );\n return null;\n }}\n </ModalConsumer>\n ) : null}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -95,6 +95,11 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
95
95
  padding: 0
96
96
  }
97
97
  },
98
+ dropdown: {
99
+ backgroundColor: themeVariables.popoverBackgroundColor,
100
+ maxHeight: 240,
101
+ borderRadius: 6
102
+ },
98
103
  arrowButtonSkeleton: {
99
104
  root: {
100
105
  width: 24,
@@ -116,13 +121,32 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
116
121
  backgroundColor: themeVariables.inputDisabledBgColor
117
122
  }
118
123
  });
124
+ addStyle('select-dropdown', '', {
125
+ modal: {
126
+ backgroundColor: 'transparent'
127
+ },
128
+ dropdown: {
129
+ backgroundColor: themeVariables.transparent
130
+ },
131
+ modalContent: {
132
+ borderRadius: 6,
133
+ ...BASE_THEME.getStyle('elevate4').root,
134
+ shadowRadius: 8
135
+ }
136
+ });
119
137
  addStyle(DEFAULT_CLASS + '-rtl', '', Platform.OS == "web" ? {
120
138
  text: {
121
139
  textAlign: 'right'
140
+ },
141
+ selectItemText: {
142
+ textAlign: 'right'
122
143
  }
123
144
  } : {
124
145
  text: {
125
146
  textAlign: 'left'
147
+ },
148
+ selectItemText: {
149
+ textAlign: 'left'
126
150
  }
127
151
  });
128
152
  });
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_THEME","defineStyles","Platform","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","flexDirection","padding","borderWidth","borderStyle","borderColor","inputBorderColor","backgroundColor","inputBackgroundColor","borderRadius","minWidth","alignItems","invalid","borderBottomColor","inputInvalidBorderColor","text","fontSize","fontFamily","baseFont","flex","color","inputTextColor","checkIcon","primaryColor","disabledText","inputDisabledBgColor","modal","height","modalContent","position","width","selectItem","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomStyle","selecttemBorderColor","lastSelectItem","selectItemText","selectItemTextColor","selectedItem","selectedItemText","placeholderText","inputPlaceholderColor","dropDownContent","arrowButton","paddingTop","paddingBottom","paddingLeft","paddingRight","minHeight","alignSelf","justifyContent","skeleton","marginRight","arrowButtonSkeleton","textSkeleton","OS","textAlign"],"sources":["select.styles.ts"],"sourcesContent":["import BASE_THEME, {AllStyle} from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmButtonStyles } from '@wavemaker/app-rn-runtime/components/basic/button/button.styles';\nimport { Platform } from 'react-native';\nimport { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\n\nexport type WmSelectStyles = BaseStyles & {\n arrowButton: WmButtonStyles;\n modal: AllStyle;\n modalContent: AllStyle;\n checkIcon: WmIconStyles;\n selectItem: AllStyle;\n lastSelectItem: AllStyle,\n selectItemText: AllStyle;\n selectedItem: AllStyle;\n selectedItemText: AllStyle;\n dropDownContent: AllStyle;\n disabledText: AllStyle;\n placeholderText: AllStyle;\n invalid: AllStyle;\n skeleton: WmSkeletonStyles;\n arrowButtonSkeleton: WmSkeletonStyles;\n textSkeleton: WmSkeletonStyles;\n};\n\nexport const DEFAULT_CLASS = 'app-select';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmSelectStyles = defineStyles({\n root: {\n flexDirection: 'row',\n padding: 12,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: themeVariables.inputBorderColor,\n backgroundColor: themeVariables.inputBackgroundColor,\n borderRadius: 6,\n minWidth: 160,\n alignItems: 'center'\n },\n invalid: {\n borderBottomColor: themeVariables.inputInvalidBorderColor\n },\n text: {\n fontSize: 16,\n fontFamily: themeVariables.baseFont,\n flex: 1,\n color: themeVariables.inputTextColor\n },\n checkIcon: {\n text: {\n fontSize: 24,\n color: themeVariables.primaryColor\n }\n } as WmIconStyles,\n disabledText: {\n backgroundColor : themeVariables.inputDisabledBgColor\n },\n modal: {\n backgroundColor: 'rgba(0, 0, 0, 0.3)',\n height: '100%'\n },\n modalContent: {\n backgroundColor: themeVariables.inputBackgroundColor,\n borderRadius: 6,\n position: 'absolute',\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: themeVariables.inputBorderColor,\n width: '90%'\n },\n selectItem: {\n width: '100%',\n paddingHorizontal: 16,\n paddingVertical: 8,\n borderBottomWidth: 1,\n borderBottomStyle: 'solid',\n borderBottomColor: themeVariables.selecttemBorderColor,\n flexDirection: 'row',\n alignItems: 'center'\n },\n lastSelectItem: {\n borderBottomWidth: 0\n },\n selectItemText: {\n fontSize: 16,\n fontFamily: themeVariables.baseFont,\n color: themeVariables.selectItemTextColor,\n flex: 1\n },\n selectedItem: {},\n selectedItemText:{},\n placeholderText: {\n color: themeVariables.inputPlaceholderColor\n },\n dropDownContent: {},\n arrowButton: {\n root: {\n borderRadius: 0,\n paddingTop: 6,\n paddingBottom: 6,\n paddingLeft: 6,\n paddingRight: 0,\n minHeight: 0,\n alignItems: 'center',\n alignSelf: 'center',\n justifyContent: 'center',\n backgroundColor: 'transparent'\n }\n } as WmButtonStyles,\n skeleton: {\n root:{\n minWidth: 0,\n width:120,\n height: 16,\n borderRadius: 4,\n marginRight:8,\n padding:0\n }\n } as any as WmSkeletonStyles,\n arrowButtonSkeleton: {\n root: {\n width: 24,\n height: 24,\n borderRadius: 12 \n }\n } as any as WmSkeletonStyles,\n textSkeleton: {\n root: {\n width: 100,\n height: 16,\n borderRadius: 8 \n }\n } as any as WmSkeletonStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle(DEFAULT_CLASS + '-disabled', '', {\n root : {\n backgroundColor: themeVariables.inputDisabledBgColor\n }\n });\n addStyle(DEFAULT_CLASS + '-rtl', '', Platform.OS==\"web\"?{\n text:{\n textAlign:'right',\n }\n }:{\n text:{\n textAlign:'left',\n }\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["BASE_THEME","defineStyles","Platform","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","flexDirection","padding","borderWidth","borderStyle","borderColor","inputBorderColor","backgroundColor","inputBackgroundColor","borderRadius","minWidth","alignItems","invalid","borderBottomColor","inputInvalidBorderColor","text","fontSize","fontFamily","baseFont","flex","color","inputTextColor","checkIcon","primaryColor","disabledText","inputDisabledBgColor","modal","height","modalContent","position","width","selectItem","paddingHorizontal","paddingVertical","borderBottomWidth","borderBottomStyle","selecttemBorderColor","lastSelectItem","selectItemText","selectItemTextColor","selectedItem","selectedItemText","placeholderText","inputPlaceholderColor","dropDownContent","arrowButton","paddingTop","paddingBottom","paddingLeft","paddingRight","minHeight","alignSelf","justifyContent","skeleton","marginRight","dropdown","popoverBackgroundColor","maxHeight","arrowButtonSkeleton","textSkeleton","transparent","getStyle","shadowRadius","OS","textAlign"],"sources":["select.styles.ts"],"sourcesContent":["import BASE_THEME, {AllStyle} from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmButtonStyles } from '@wavemaker/app-rn-runtime/components/basic/button/button.styles';\nimport { Platform } from 'react-native';\nimport { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\n\nexport type WmSelectStyles = BaseStyles & {\n arrowButton: WmButtonStyles;\n modal: AllStyle;\n modalContent: AllStyle;\n checkIcon: WmIconStyles;\n selectItem: AllStyle;\n lastSelectItem: AllStyle,\n selectItemText: AllStyle;\n selectedItem: AllStyle;\n selectedItemText: AllStyle;\n dropDownContent: AllStyle;\n disabledText: AllStyle;\n placeholderText: AllStyle;\n invalid: AllStyle;\n skeleton: WmSkeletonStyles;\n arrowButtonSkeleton: WmSkeletonStyles;\n textSkeleton: WmSkeletonStyles;\n};\n\nexport const DEFAULT_CLASS = 'app-select';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmSelectStyles = defineStyles({\n root: {\n flexDirection: 'row',\n padding: 12,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: themeVariables.inputBorderColor,\n backgroundColor: themeVariables.inputBackgroundColor,\n borderRadius: 6,\n minWidth: 160,\n alignItems: 'center'\n },\n invalid: {\n borderBottomColor: themeVariables.inputInvalidBorderColor\n },\n text: {\n fontSize: 16,\n fontFamily: themeVariables.baseFont,\n flex: 1,\n color: themeVariables.inputTextColor\n },\n checkIcon: {\n text: {\n fontSize: 24,\n color: themeVariables.primaryColor\n }\n } as WmIconStyles,\n disabledText: {\n backgroundColor : themeVariables.inputDisabledBgColor\n },\n modal: {\n backgroundColor: 'rgba(0, 0, 0, 0.3)',\n height: '100%'\n },\n modalContent: {\n backgroundColor: themeVariables.inputBackgroundColor,\n borderRadius: 6,\n position: 'absolute',\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: themeVariables.inputBorderColor,\n width: '90%'\n },\n selectItem: {\n width: '100%',\n paddingHorizontal: 16,\n paddingVertical: 8,\n borderBottomWidth: 1,\n borderBottomStyle: 'solid',\n borderBottomColor: themeVariables.selecttemBorderColor,\n flexDirection: 'row',\n alignItems: 'center'\n },\n lastSelectItem: {\n borderBottomWidth: 0\n },\n selectItemText: {\n fontSize: 16,\n fontFamily: themeVariables.baseFont,\n color: themeVariables.selectItemTextColor,\n flex: 1\n },\n selectedItem: {},\n selectedItemText:{},\n placeholderText: {\n color: themeVariables.inputPlaceholderColor\n },\n dropDownContent: {},\n arrowButton: {\n root: {\n borderRadius: 0,\n paddingTop: 6,\n paddingBottom: 6,\n paddingLeft: 6,\n paddingRight: 0,\n minHeight: 0,\n alignItems: 'center',\n alignSelf: 'center',\n justifyContent: 'center',\n backgroundColor: 'transparent'\n }\n } as WmButtonStyles,\n skeleton: {\n root:{\n minWidth: 0,\n width:120,\n height: 16,\n borderRadius: 4,\n marginRight:8,\n padding:0\n }\n } as any as WmSkeletonStyles,\n dropdown: {\n backgroundColor: themeVariables.popoverBackgroundColor,\n maxHeight: 240,\n borderRadius:6\n },\n arrowButtonSkeleton: {\n root: {\n width: 24,\n height: 24,\n borderRadius: 12 \n }\n } as any as WmSkeletonStyles,\n textSkeleton: {\n root: {\n width: 100,\n height: 16,\n borderRadius: 8 \n }\n } as any as WmSkeletonStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle(DEFAULT_CLASS + '-disabled', '', {\n root : {\n backgroundColor: themeVariables.inputDisabledBgColor\n }\n });\n addStyle('select-dropdown', '', {\n modal: {\n backgroundColor: 'transparent',\n },\n dropdown: {\n backgroundColor: themeVariables.transparent\n },\n modalContent: {\n borderRadius: 6,\n ...BASE_THEME.getStyle('elevate4').root,\n shadowRadius: 8\n }\n});\n addStyle(DEFAULT_CLASS + '-rtl', '', Platform.OS==\"web\"?{\n text:{\n textAlign:'right',\n }\n ,selectItemText : {\n textAlign : 'right'\n }\n }:{\n text:{\n textAlign:'left',\n },\n selectItemText : {\n textAlign : 'left'\n }\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -133,7 +133,8 @@ export default class WmToggle extends BaseComponent {
133
133
  transform: [{
134
134
  translateX: this.animationValue.interpolate({
135
135
  inputRange: [0, 1],
136
- outputRange: [0, this.state.viewWidth - (this.styles.handle.width + 18)]
136
+ // TODO Abdullah: add a test case for the below changes. Merging this to expo 52 release branch.
137
+ outputRange: this.isRTL ? [0, -1 * (this.state.viewWidth - (this.styles.handle.width + 18))] : [0, this.state.viewWidth - (this.styles.handle.width + 18)]
137
138
  })
138
139
  }, {
139
140
  scale: this.scaleValue
@@ -1 +1 @@
1
- {"version":3,"names":["React","TouchableOpacity","Animated","Easing","View","BackgroundComponent","BaseComponent","BaseComponentState","unStringify","validateField","AccessibilityWidgetType","getAccessibilityProps","WmToggleProps","DEFAULT_CLASS","createSkeleton","WmToggleState","constructor","args","_defineProperty","WmToggle","props","Value","onPropertyChange","name","$new","$old","value","state","checkedvalue","updateState","isSwitchOn","updateDatavalue","datavalue","validate","validationObj","isValid","errorType","onToggleSwitch","oldValue","dataValue","uncheckedvalue","sequence","timing","scaleValue","toValue","duration","useNativeDriver","animationValue","easing","linear","start","onFieldChange","invokeEventCallback","proxy","onLayoutChange","event","width","nativeEvent","layout","setState","viewWidth","renderSkeleton","theme","styles","skeleton","root","renderWidget","mergeStyle","getStyle","createElement","_extends","onLayout","e","TOGGLE","selected","onPress","disabled","readonly","setTimeout","getTestPropsForAction","style","animation","handle","size","backgroundSize","position","backgroundPosition","image","backgroundImage","repeat","backgroundRepeat","transform","translateX","interpolate","inputRange","outputRange","scale"],"sources":["toggle.component.tsx"],"sourcesContent":["import React from 'react';\nimport { TouchableOpacity, Animated, Easing, LayoutChangeEvent, View, DimensionValue } from 'react-native';\n\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { unStringify, validateField} from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nimport WmToggleProps from './toggle.props';\nimport { DEFAULT_CLASS, WmToggleStyles } from './toggle.styles';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\n\nexport class WmToggleState extends BaseComponentState<WmToggleProps> {\n isSwitchOn: boolean = false;\n isValid: boolean = true;\n errorType = '';\n viewWidth: number = 0;\n}\n\nexport default class WmToggle extends BaseComponent<WmToggleProps, WmToggleState, WmToggleStyles> {\n\n private animationValue = new Animated.Value(0);\n private scaleValue = new Animated.Value(1);\n\n constructor(props: WmToggleProps) {\n super(props, DEFAULT_CLASS, new WmToggleProps(), new WmToggleState());\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'datavalue':\n let value =\n unStringify($new) ===\n unStringify(this.state.props.checkedvalue, true);\n this.updateState({ isSwitchOn: value } as WmToggleState);\n break;\n }\n }\n\n updateDatavalue(value: any) {\n this.updateState({ props: { datavalue: value }} as WmToggleState);\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as WmToggleState);\n }\n\n onToggleSwitch(value: any) {\n const oldValue = this.state.props.datavalue;\n this.validate(value);\n this.updateState({ isSwitchOn: value } as WmToggleState);\n const dataValue = value === true ? this.state.props.checkedvalue : this.state.props.uncheckedvalue;\n Animated.sequence([\n Animated.timing(this.scaleValue, {\n toValue: 1.6,\n duration: 300,\n useNativeDriver: true,\n }),\n Animated.timing(this.animationValue, {\n toValue: value ? 1 : 0,\n duration: 300,\n easing: Easing.linear,\n useNativeDriver: true,\n }),\n ]).start(() => {\n Animated.timing(this.scaleValue, {\n toValue: value ? 1.5 : 1,\n duration: 0,\n useNativeDriver: true,\n }).start();\n });\n // @ts-ignore\n this.updateState({ props: { datavalue: dataValue } },\n ()=> {\n if (!this.props.onFieldChange) {\n this.invokeEventCallback('onChange', [null, this.proxy, dataValue, oldValue]);\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', dataValue, oldValue);\n }\n this.invokeEventCallback('onBlur', [ null, this.proxy ]);\n });\n }\n\n onLayoutChange(event: LayoutChangeEvent){\n let width = event.nativeEvent.layout.width;\n this.setState({\n viewWidth: width,\n } as WmToggleState);\n }\n\n public renderSkeleton(props: WmToggleProps): React.ReactNode {\n \n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.skeleton.root,\n });\n }\n\n renderWidget(props: WmToggleProps) {\n const styles = this.theme.mergeStyle(this.styles, \n this.theme.getStyle(this.state.isSwitchOn ? 'app-toggle-on' : 'app-toggle-off'));\n return (\n <TouchableOpacity \n onLayout={(e) => {\n this.onLayoutChange(e);\n }}\n {...getAccessibilityProps(AccessibilityWidgetType.TOGGLE, {...this.props, selected: this.state.isSwitchOn})}\n onPress={() => {\n if (this.props.disabled || this.props.readonly) {\n return;\n }\n // Added setTimeout to smooth animation\n setTimeout(() => {\n this.invokeEventCallback('onFocus', [null, this]);\n this.invokeEventCallback('onTap', [null, this]);\n }, 500);\n this.onToggleSwitch(!this.state.isSwitchOn);\n }}{...this.getTestPropsForAction()}\n style={styles.root}>\n {styles.root.animation && styles.root.animation === 'none' ? (\n <View style={styles.handle}>\n <BackgroundComponent\n size={styles.handle.backgroundSize || 'contain'}\n position={styles.handle.backgroundPosition}\n image={styles.handle.backgroundImage}\n repeat={styles.handle.backgroundRepeat || 'no-repeat'}\n />\n </View>\n ): ( <Animated.View\n style={[\n styles.handle,\n {\n transform: [\n {\n translateX: this.animationValue.interpolate({\n inputRange: [0, 1],\n outputRange: [0, this.state.viewWidth - (this.styles.handle.width as number + 18)],\n }),\n },\n { scale: this.scaleValue }\n ],\n },\n ]}>\n <BackgroundComponent\n size={styles.handle.backgroundSize || 'contain'}\n position={styles.handle.backgroundPosition}\n image={styles.handle.backgroundImage}\n repeat={styles.handle.backgroundRepeat || 'no-repeat'}\n />\n </Animated.View>)}\n </TouchableOpacity>\n );\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,EAAEC,QAAQ,EAAEC,MAAM,EAAqBC,IAAI,QAAwB,cAAc;AAE1G,SAASC,mBAAmB,QAAQ,uDAAuD;AAC3F,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,SAASC,WAAW,EAAEC,aAAa,QAAO,sCAAsC;AAChF,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,8CAA8C;AAE7G,OAAOC,aAAa,MAAM,gBAAgB;AAC1C,SAASC,aAAa,QAAwB,iBAAiB;AAC/D,SAASC,cAAc,QAAQ,wEAAwE;AAEvG,OAAO,MAAMC,aAAa,SAASR,kBAAkB,CAAgB;EAAAS,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,qBAC7C,KAAK;IAAAA,eAAA,kBACR,IAAI;IAAAA,eAAA,oBACX,EAAE;IAAAA,eAAA,oBACM,CAAC;EAAA;AACvB;AAEA,eAAe,MAAMC,QAAQ,SAASb,aAAa,CAA+C;EAKhGU,WAAWA,CAACI,KAAoB,EAAE;IAChC,KAAK,CAACA,KAAK,EAAEP,aAAa,EAAE,IAAID,aAAa,CAAC,CAAC,EAAE,IAAIG,aAAa,CAAC,CAAC,CAAC;IAACG,eAAA,yBAJ/C,IAAIhB,QAAQ,CAACmB,KAAK,CAAC,CAAC,CAAC;IAAAH,eAAA,qBACzB,IAAIhB,QAAQ,CAACmB,KAAK,CAAC,CAAC,CAAC;EAI1C;EAEAC,gBAAgBA,CAACC,IAAY,EAAEC,IAAS,EAAEC,IAAS,EAAE;IACnD,QAAQF,IAAI;MACV,KAAK,WAAW;QACd,IAAIG,KAAK,GACPlB,WAAW,CAACgB,IAAI,CAAC,KACjBhB,WAAW,CAAC,IAAI,CAACmB,KAAK,CAACP,KAAK,CAACQ,YAAY,EAAE,IAAI,CAAC;QAClD,IAAI,CAACC,WAAW,CAAC;UAAEC,UAAU,EAAEJ;QAAM,CAAkB,CAAC;QACxD;IACJ;EACF;EAEAK,eAAeA,CAACL,KAAU,EAAE;IAC1B,IAAI,CAACG,WAAW,CAAC;MAAET,KAAK,EAAE;QAAEY,SAAS,EAAEN;MAAM;IAAC,CAAkB,CAAC;EACnE;EAEAO,QAAQA,CAACP,KAAU,EAAE;IACnB,MAAMQ,aAAa,GAAGzB,aAAa,CAAC,IAAI,CAACkB,KAAK,CAACP,KAAK,EAAEM,KAAK,CAAC;IAC5D,IAAI,CAACG,WAAW,CAAC;MACfM,OAAO,EAAED,aAAa,CAACC,OAAO;MAC9BC,SAAS,EAAEF,aAAa,CAACE;IAC3B,CAAkB,CAAC;EACrB;EAEAC,cAAcA,CAACX,KAAU,EAAE;IACzB,MAAMY,QAAQ,GAAG,IAAI,CAACX,KAAK,CAACP,KAAK,CAACY,SAAS;IAC3C,IAAI,CAACC,QAAQ,CAACP,KAAK,CAAC;IACpB,IAAI,CAACG,WAAW,CAAC;MAAEC,UAAU,EAAEJ;IAAM,CAAkB,CAAC;IACxD,MAAMa,SAAS,GAAGb,KAAK,KAAK,IAAI,GAAG,IAAI,CAACC,KAAK,CAACP,KAAK,CAACQ,YAAY,GAAG,IAAI,CAACD,KAAK,CAACP,KAAK,CAACoB,cAAc;IAClGtC,QAAQ,CAACuC,QAAQ,CAAC,CAChBvC,QAAQ,CAACwC,MAAM,CAAC,IAAI,CAACC,UAAU,EAAE;MAC/BC,OAAO,EAAE,GAAG;MACZC,QAAQ,EAAE,GAAG;MACbC,eAAe,EAAE;IACnB,CAAC,CAAC,EACF5C,QAAQ,CAACwC,MAAM,CAAC,IAAI,CAACK,cAAc,EAAE;MACnCH,OAAO,EAAElB,KAAK,GAAG,CAAC,GAAG,CAAC;MACtBmB,QAAQ,EAAE,GAAG;MACbG,MAAM,EAAE7C,MAAM,CAAC8C,MAAM;MACrBH,eAAe,EAAE;IACnB,CAAC,CAAC,CACH,CAAC,CAACI,KAAK,CAAC,MAAM;MACbhD,QAAQ,CAACwC,MAAM,CAAC,IAAI,CAACC,UAAU,EAAE;QAC/BC,OAAO,EAAElB,KAAK,GAAG,GAAG,GAAG,CAAC;QACxBmB,QAAQ,EAAE,CAAC;QACXC,eAAe,EAAE;MACnB,CAAC,CAAC,CAACI,KAAK,CAAC,CAAC;IACZ,CAAC,CAAC;IACF;IACA,IAAI,CAACrB,WAAW,CAAC;MAAET,KAAK,EAAE;QAAEY,SAAS,EAAEO;MAAU;IAAE,CAAC,EAClD,MAAK;MACH,IAAI,CAAC,IAAI,CAACnB,KAAK,CAAC+B,aAAa,EAAE;QAC7B,IAAI,CAACC,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,EAAEd,SAAS,EAAED,QAAQ,CAAC,CAAC;MAC/E,CAAC,MAAM;QACL,IAAI,CAAClB,KAAK,CAAC+B,aAAa,IAAI,IAAI,CAAC/B,KAAK,CAAC+B,aAAa,CAAC,WAAW,EAAEZ,SAAS,EAAED,QAAQ,CAAC;MACxF;MACA,IAAI,CAACc,mBAAmB,CAAC,QAAQ,EAAE,CAAE,IAAI,EAAE,IAAI,CAACC,KAAK,CAAE,CAAC;IAC1D,CAAC,CAAC;EACN;EAEAC,cAAcA,CAACC,KAAwB,EAAC;IACtC,IAAIC,KAAK,GAAGD,KAAK,CAACE,WAAW,CAACC,MAAM,CAACF,KAAK;IAC1C,IAAI,CAACG,QAAQ,CAAC;MACZC,SAAS,EAAEJ;IACb,CAAkB,CAAC;EACrB;EAEOK,cAAcA,CAACzC,KAAoB,EAAmB;IAEzD,OAAON,cAAc,CAAC,IAAI,CAACgD,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC,QAAQ,EAAE;MACtD,GAAG,IAAI,CAACD,MAAM,CAACC,QAAQ,CAACC;IAC1B,CAAC,CAAC;EACN;EAEAC,YAAYA,CAAC9C,KAAoB,EAAE;IACjC,MAAM2C,MAAM,GAAG,IAAI,CAACD,KAAK,CAACK,UAAU,CAAC,IAAI,CAACJ,MAAM,EAC9C,IAAI,CAACD,KAAK,CAACM,QAAQ,CAAC,IAAI,CAACzC,KAAK,CAACG,UAAU,GAAG,eAAe,GAAG,gBAAgB,CAAC,CAAC;IAClF,oBACE9B,KAAA,CAAAqE,aAAA,CAACpE,gBAAgB,EAAAqE,QAAA;MACjBC,QAAQ,EAAGC,CAAC,IAAK;QACf,IAAI,CAAClB,cAAc,CAACkB,CAAC,CAAC;MACxB;IAAE,GACE7D,qBAAqB,CAACD,uBAAuB,CAAC+D,MAAM,EAAE;MAAC,GAAG,IAAI,CAACrD,KAAK;MAAEsD,QAAQ,EAAE,IAAI,CAAC/C,KAAK,CAACG;IAAU,CAAC,CAAC;MAC3G6C,OAAO,EAAEA,CAAA,KAAM;QACb,IAAI,IAAI,CAACvD,KAAK,CAACwD,QAAQ,IAAI,IAAI,CAACxD,KAAK,CAACyD,QAAQ,EAAE;UAC9C;QACF;QACA;QACAC,UAAU,CAAC,MAAM;UACf,IAAI,CAAC1B,mBAAmB,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;UACjD,IAAI,CAACA,mBAAmB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC,EAAE,GAAG,CAAC;QACP,IAAI,CAACf,cAAc,CAAC,CAAC,IAAI,CAACV,KAAK,CAACG,UAAU,CAAC;MAC7C;IAAE,GAAI,IAAI,CAACiD,qBAAqB,CAAC,CAAC;MAClCC,KAAK,EAAEjB,MAAM,CAACE;IAAK,IACjBF,MAAM,CAACE,IAAI,CAACgB,SAAS,IAAIlB,MAAM,CAACE,IAAI,CAACgB,SAAS,KAAK,MAAM,gBACvDjF,KAAA,CAAAqE,aAAA,CAACjE,IAAI;MAAC4E,KAAK,EAAEjB,MAAM,CAACmB;IAAO,gBACzBlF,KAAA,CAAAqE,aAAA,CAAChE,mBAAmB;MAClB8E,IAAI,EAAEpB,MAAM,CAACmB,MAAM,CAACE,cAAc,IAAI,SAAU;MAChDC,QAAQ,EAAEtB,MAAM,CAACmB,MAAM,CAACI,kBAAmB;MAC3CC,KAAK,EAAExB,MAAM,CAACmB,MAAM,CAACM,eAAgB;MACrCC,MAAM,EAAE1B,MAAM,CAACmB,MAAM,CAACQ,gBAAgB,IAAI;IAAY,CACvD,CACG,CAAC,gBACF1F,KAAA,CAAAqE,aAAA,CAACnE,QAAQ,CAACE,IAAI;MACjB4E,KAAK,EAAE,CACLjB,MAAM,CAACmB,MAAM,EACb;QACES,SAAS,EAAE,CACT;UACEC,UAAU,EAAE,IAAI,CAAC7C,cAAc,CAAC8C,WAAW,CAAC;YAC1CC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAClBC,WAAW,EAAE,CAAC,CAAC,EAAE,IAAI,CAACpE,KAAK,CAACiC,SAAS,IAAI,IAAI,CAACG,MAAM,CAACmB,MAAM,CAAC1B,KAAK,GAAa,EAAE,CAAC;UACnF,CAAC;QACH,CAAC,EACD;UAAEwC,KAAK,EAAE,IAAI,CAACrD;QAAW,CAAC;MAE9B,CAAC;IACD,gBACF3C,KAAA,CAAAqE,aAAA,CAAChE,mBAAmB;MAClB8E,IAAI,EAAEpB,MAAM,CAACmB,MAAM,CAACE,cAAc,IAAI,SAAU;MAChDC,QAAQ,EAAEtB,MAAM,CAACmB,MAAM,CAACI,kBAAmB;MAC3CC,KAAK,EAAExB,MAAM,CAACmB,MAAM,CAACM,eAAgB;MACrCC,MAAM,EAAE1B,MAAM,CAACmB,MAAM,CAACQ,gBAAgB,IAAI;IAAY,CACvD,CACY,CACD,CAAC;EAEvB;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","TouchableOpacity","Animated","Easing","View","BackgroundComponent","BaseComponent","BaseComponentState","unStringify","validateField","AccessibilityWidgetType","getAccessibilityProps","WmToggleProps","DEFAULT_CLASS","createSkeleton","WmToggleState","constructor","args","_defineProperty","WmToggle","props","Value","onPropertyChange","name","$new","$old","value","state","checkedvalue","updateState","isSwitchOn","updateDatavalue","datavalue","validate","validationObj","isValid","errorType","onToggleSwitch","oldValue","dataValue","uncheckedvalue","sequence","timing","scaleValue","toValue","duration","useNativeDriver","animationValue","easing","linear","start","onFieldChange","invokeEventCallback","proxy","onLayoutChange","event","width","nativeEvent","layout","setState","viewWidth","renderSkeleton","theme","styles","skeleton","root","renderWidget","mergeStyle","getStyle","createElement","_extends","onLayout","e","TOGGLE","selected","onPress","disabled","readonly","setTimeout","getTestPropsForAction","style","animation","handle","size","backgroundSize","position","backgroundPosition","image","backgroundImage","repeat","backgroundRepeat","transform","translateX","interpolate","inputRange","outputRange","isRTL","scale"],"sources":["toggle.component.tsx"],"sourcesContent":["import React from 'react';\nimport { TouchableOpacity, Animated, Easing, LayoutChangeEvent, View, DimensionValue } from 'react-native';\n\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { unStringify, validateField} from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nimport WmToggleProps from './toggle.props';\nimport { DEFAULT_CLASS, WmToggleStyles } from './toggle.styles';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\n\nexport class WmToggleState extends BaseComponentState<WmToggleProps> {\n isSwitchOn: boolean = false;\n isValid: boolean = true;\n errorType = '';\n viewWidth: number = 0;\n}\n\nexport default class WmToggle extends BaseComponent<WmToggleProps, WmToggleState, WmToggleStyles> {\n\n private animationValue = new Animated.Value(0);\n private scaleValue = new Animated.Value(1);\n\n constructor(props: WmToggleProps) {\n super(props, DEFAULT_CLASS, new WmToggleProps(), new WmToggleState());\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'datavalue':\n let value =\n unStringify($new) ===\n unStringify(this.state.props.checkedvalue, true);\n this.updateState({ isSwitchOn: value } as WmToggleState);\n break;\n }\n }\n\n updateDatavalue(value: any) {\n this.updateState({ props: { datavalue: value }} as WmToggleState);\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as WmToggleState);\n }\n\n onToggleSwitch(value: any) {\n const oldValue = this.state.props.datavalue;\n this.validate(value);\n this.updateState({ isSwitchOn: value } as WmToggleState);\n const dataValue = value === true ? this.state.props.checkedvalue : this.state.props.uncheckedvalue;\n Animated.sequence([\n Animated.timing(this.scaleValue, {\n toValue: 1.6,\n duration: 300,\n useNativeDriver: true,\n }),\n Animated.timing(this.animationValue, {\n toValue: value ? 1 : 0,\n duration: 300,\n easing: Easing.linear,\n useNativeDriver: true,\n }),\n ]).start(() => {\n Animated.timing(this.scaleValue, {\n toValue: value ? 1.5 : 1,\n duration: 0,\n useNativeDriver: true,\n }).start();\n });\n // @ts-ignore\n this.updateState({ props: { datavalue: dataValue } },\n ()=> {\n if (!this.props.onFieldChange) {\n this.invokeEventCallback('onChange', [null, this.proxy, dataValue, oldValue]);\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', dataValue, oldValue);\n }\n this.invokeEventCallback('onBlur', [ null, this.proxy ]);\n });\n }\n\n onLayoutChange(event: LayoutChangeEvent){\n let width = event.nativeEvent.layout.width;\n this.setState({\n viewWidth: width,\n } as WmToggleState);\n }\n\n public renderSkeleton(props: WmToggleProps): React.ReactNode {\n \n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.skeleton.root,\n });\n }\n\n renderWidget(props: WmToggleProps) {\n const styles = this.theme.mergeStyle(this.styles, \n this.theme.getStyle(this.state.isSwitchOn ? 'app-toggle-on' : 'app-toggle-off'));\n return (\n <TouchableOpacity \n onLayout={(e) => {\n this.onLayoutChange(e);\n }}\n {...getAccessibilityProps(AccessibilityWidgetType.TOGGLE, {...this.props, selected: this.state.isSwitchOn})}\n onPress={() => {\n if (this.props.disabled || this.props.readonly) {\n return;\n }\n // Added setTimeout to smooth animation\n setTimeout(() => {\n this.invokeEventCallback('onFocus', [null, this]);\n this.invokeEventCallback('onTap', [null, this]);\n }, 500);\n this.onToggleSwitch(!this.state.isSwitchOn);\n }}{...this.getTestPropsForAction()}\n style={styles.root}>\n {styles.root.animation && styles.root.animation === 'none' ? (\n <View style={styles.handle}>\n <BackgroundComponent\n size={styles.handle.backgroundSize || 'contain'}\n position={styles.handle.backgroundPosition}\n image={styles.handle.backgroundImage}\n repeat={styles.handle.backgroundRepeat || 'no-repeat'}\n />\n </View>\n ): ( <Animated.View\n style={[\n styles.handle,\n {\n transform: [\n {\n translateX: this.animationValue.interpolate({\n inputRange: [0, 1],\n // TODO Abdullah: add a test case for the below changes. Merging this to expo 52 release branch. \n outputRange: this.isRTL\n ? [0, -1 * (this.state.viewWidth - (this.styles.handle.width as number + 18))]\n : [0, this.state.viewWidth - (this.styles.handle.width as number + 18)],\n }),\n },\n { scale: this.scaleValue }\n ],\n },\n ]}>\n <BackgroundComponent\n size={styles.handle.backgroundSize || 'contain'}\n position={styles.handle.backgroundPosition}\n image={styles.handle.backgroundImage}\n repeat={styles.handle.backgroundRepeat || 'no-repeat'}\n />\n </Animated.View>)}\n </TouchableOpacity>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -54,7 +54,9 @@ export default class WmMenu extends BaseNavComponent {
54
54
  iconposition: "right",
55
55
  type: "dropdown"
56
56
  }, /*#__PURE__*/React.createElement(View, {
57
- style: this.styles.menu
57
+ style: {
58
+ ...this.styles.menu
59
+ }
58
60
  }, menuItems.map((item, index) => /*#__PURE__*/React.createElement(View, {
59
61
  key: item.key
60
62
  }, this.renderMenuItem(item, index)))));
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","WmAnchor","BaseNavComponent","BaseNavState","WmPopover","WmMenuProps","DEFAULT_CLASS","WmMenuState","animationMap","slide","fade","scale","WmMenu","constructor","props","_defineProperty","onComponentInit","c","popOverRef","renderMenuItem","item","index","getDisplayLabel","getDisplayExpression","label","createElement","id","getTestId","iconclass","icon","caption","hyperlink","link","styles","menuItem","onTap","invokeEventCallback","hide","renderWidget","menuItems","state","dataItems","contentanimation","animateitems","listener","popoverheight","menu","height","popoverwidth","width","iconposition","type","style","map","key"],"sources":["menu.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport { LifecycleListener } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { BaseNavComponent, BaseNavState, NavigationDataItem } from '../basenav/basenav.component';\nimport WmPopover from '../popover/popover.component';\nimport WmMenuProps from './menu.props';\nimport { DEFAULT_CLASS, WmMenuStyles } from './menu.styles';\n\nexport class WmMenuState <T extends WmMenuProps> extends BaseNavState<T> {}\n\nconst animationMap: any = {\n slide: 'slideInDown',\n fade: 'fadeIn',\n scale: 'zoomIn'\n};\n\nexport default class WmMenu extends BaseNavComponent<WmMenuProps, WmMenuState<WmMenuProps>, WmMenuStyles> {\n\n private popOverRef: WmPopover = null as any;\n\n private listener: LifecycleListener = {\n onComponentInit: (c) => {\n if (c instanceof WmPopover) {\n this.popOverRef = c;\n }\n }\n };\n\n constructor(props: WmMenuProps) {\n super(props, DEFAULT_CLASS, new WmMenuProps(), new WmMenuState());\n }\n\n renderMenuItem(item: NavigationDataItem, index: number) {\n const getDisplayLabel = this.props.getDisplayExpression || ((label: string) => label);\n return (\n <WmAnchor\n id={this.getTestId('menuitem' + index)}\n iconclass={item.icon as string}\n caption={getDisplayLabel(item.label)}\n hyperlink={item.link}\n styles={this.styles.menuItem}\n onTap={() => {\n this.invokeEventCallback('onSelect', [null, this, item]);\n this.popOverRef.hide();\n }}></WmAnchor>\n );\n }\n\n renderWidget(props: WmMenuProps) {\n const menuItems = this.state.dataItems;\n return (\n <WmPopover \n id={this.getTestId('menu')}\n styles={this.styles}\n contentanimation={animationMap[props.animateitems || 'scale']}\n caption={props.caption}\n iconclass={props.iconclass}\n listener={this.listener}\n popoverheight={this.styles.menu.height as string | number | undefined || null}\n popoverwidth={this.styles.menu.width as string | number | undefined || null}\n iconposition=\"right\"\n type='dropdown'>\n <View style={this.styles.menu}>\n {menuItems.map((item, index) => (\n <View key={item.key}>\n {this.renderMenuItem(item, index)}\n </View>\n ))}\n </View>\n </WmPopover>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","WmAnchor","BaseNavComponent","BaseNavState","WmPopover","WmMenuProps","DEFAULT_CLASS","WmMenuState","animationMap","slide","fade","scale","WmMenu","constructor","props","_defineProperty","onComponentInit","c","popOverRef","renderMenuItem","item","index","getDisplayLabel","getDisplayExpression","label","createElement","id","getTestId","iconclass","icon","caption","hyperlink","link","styles","menuItem","onTap","invokeEventCallback","hide","renderWidget","menuItems","state","dataItems","contentanimation","animateitems","listener","popoverheight","menu","height","popoverwidth","width","iconposition","type","style","map","key"],"sources":["menu.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\n\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport { LifecycleListener } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { BaseNavComponent, BaseNavState, NavigationDataItem } from '../basenav/basenav.component';\nimport WmPopover from '../popover/popover.component';\nimport WmMenuProps from './menu.props';\nimport { DEFAULT_CLASS, WmMenuStyles } from './menu.styles';\n\nexport class WmMenuState <T extends WmMenuProps> extends BaseNavState<T> {}\n\nconst animationMap: any = {\n slide: 'slideInDown',\n fade: 'fadeIn',\n scale: 'zoomIn'\n};\n\nexport default class WmMenu extends BaseNavComponent<WmMenuProps, WmMenuState<WmMenuProps>, WmMenuStyles> {\n\n private popOverRef: WmPopover = null as any;\n\n private listener: LifecycleListener = {\n onComponentInit: (c) => {\n if (c instanceof WmPopover) {\n this.popOverRef = c;\n }\n }\n };\n\n constructor(props: WmMenuProps) {\n super(props, DEFAULT_CLASS, new WmMenuProps(), new WmMenuState());\n }\n\n renderMenuItem(item: NavigationDataItem, index: number) {\n const getDisplayLabel = this.props.getDisplayExpression || ((label: string) => label);\n return (\n <WmAnchor\n id={this.getTestId('menuitem' + index)}\n iconclass={item.icon as string}\n caption={getDisplayLabel(item.label)}\n hyperlink={item.link}\n styles={this.styles.menuItem}\n onTap={() => {\n this.invokeEventCallback('onSelect', [null, this, item]);\n this.popOverRef.hide();\n }}></WmAnchor>\n );\n }\n\n renderWidget(props: WmMenuProps) {\n const menuItems = this.state.dataItems;\n return (\n <WmPopover \n id={this.getTestId('menu')}\n styles={this.styles}\n contentanimation={animationMap[props.animateitems || 'scale']}\n caption={props.caption}\n iconclass={props.iconclass}\n listener={this.listener}\n popoverheight={this.styles.menu.height as string | number | undefined || null}\n popoverwidth={this.styles.menu.width as string | number | undefined || null}\n iconposition=\"right\"\n type='dropdown'>\n <View style={{...this.styles.menu}}>\n {menuItems.map((item, index) => (\n <View key={item.key}>\n {this.renderMenuItem(item, index)}\n </View>\n ))}\n </View>\n </WmPopover>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -65,10 +65,6 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
65
65
  }
66
66
  };
67
67
  addStyle(DEFAULT_CLASS, POPOVER_CLASS, defaultStyles);
68
- addStyle(DEFAULT_CLASS + '-rtl', '', Platform.OS == "web" ? {} : {
69
- root: {
70
- width: '100%'
71
- }
72
- });
68
+ addStyle(DEFAULT_CLASS + '-rtl', '', Platform.OS == "web" ? {} : {});
73
69
  });
74
70
  //# sourceMappingURL=menu.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_THEME","DEFAULT_CLASS","POPOVER_CLASS","Platform","registerStyle","themeVariables","addStyle","defaultStyles","root","alignSelf","text","link","icon","color","menuIconColor","textDecorationLine","paddingRight","fontWeight","menuTextColor","popover","backgroundColor","transparent","borderTopLeftRadius","borderTopRightRadius","popoverContent","flex","undefined","menu","width","menuBackgroundColor","borderRadius","menuItem","height","borderBottomWidth","borderStyle","flexDirection","alignItems","flexGrow","paddingTop","justifyContent","borderBottomColor","menuItemBorderColor","fontSize","paddingLeft","menuItemIconColor","menuItemTextColor","OS"],"sources":["menu.styles.ts"],"sourcesContent":["import BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { WmAnchorStyles } from '../../basic/anchor/anchor.styles';\nimport { WmPopoverStyles, DEFAULT_CLASS as POPOVER_CLASS } from '../popover/popover.styles';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport { defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { Platform } from 'react-native';\n\nexport type WmMenuStyles = WmPopoverStyles & {\n menu: AllStyle,\n menuItem: WmAnchorStyles\n};\n\nexport const DEFAULT_CLASS = 'app-menu';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmMenuStyles = {\n root : {\n alignSelf: 'flex-start'\n },\n text: {},\n link: {\n icon: {\n root: {\n color: themeVariables.menuIconColor\n }\n },\n text: {\n textDecorationLine: 'none',\n paddingRight: 12,\n fontWeight: 'bold',\n color: themeVariables.menuTextColor\n }\n } as WmAnchorStyles,\n popover: {\n backgroundColor: themeVariables.transparent,\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0 \n },\n popoverContent: {\n //@ts-ignore\n flex: undefined\n },\n menu: {\n width: 160,\n backgroundColor: themeVariables.menuBackgroundColor,\n borderRadius: 4\n },\n menuItem: {\n root : {\n height: 48,\n borderBottomWidth: 0,\n borderStyle: 'solid',\n flexDirection : 'row',\n alignItems: 'flex-start',\n flexGrow:1, \n paddingTop: 8,\n justifyContent: 'flex-start',\n borderBottomColor: themeVariables.menuItemBorderColor\n },\n icon :{\n root : {\n fontSize: 24,\n paddingLeft: 22\n },\n icon : {\n color: themeVariables.menuItemIconColor\n }\n },\n text: {\n fontSize: 16,\n paddingTop: 4,\n textDecorationLine: 'none',\n color: themeVariables.menuItemTextColor\n }\n } as any as WmAnchorStyles\n };\n\n addStyle(DEFAULT_CLASS, POPOVER_CLASS, defaultStyles);\n addStyle(DEFAULT_CLASS + '-rtl', '', Platform.OS==\"web\"?{}:{\n root: {\n width: '100%'\n }\n });\n});\n"],"mappings":"AAAA,OAAOA,UAAU,MAAoB,wCAAwC;AAE7E,SAA0BC,aAAa,IAAIC,aAAa,QAAQ,2BAA2B;AAG3F,SAASC,QAAQ,QAAQ,cAAc;AAOvC,OAAO,MAAMF,aAAa,GAAG,UAAU;AACvCD,UAAU,CAACI,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAA2B,GAAG;IAChCC,IAAI,EAAG;MACHC,SAAS,EAAE;IACf,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,IAAI,EAAE;MACFC,IAAI,EAAE;QACFJ,IAAI,EAAE;UACFK,KAAK,EAAER,cAAc,CAACS;QAC1B;MACJ,CAAC;MACDJ,IAAI,EAAE;QACFK,kBAAkB,EAAE,MAAM;QAC1BC,YAAY,EAAE,EAAE;QAChBC,UAAU,EAAE,MAAM;QAClBJ,KAAK,EAAER,cAAc,CAACa;MAC1B;IACJ,CAAmB;IACnBC,OAAO,EAAE;MACLC,eAAe,EAAEf,cAAc,CAACgB,WAAW;MAC3CC,mBAAmB,EAAE,CAAC;MACtBC,oBAAoB,EAAE;IAC1B,CAAC;IACDC,cAAc,EAAE;MACZ;MACAC,IAAI,EAAEC;IACV,CAAC;IACDC,IAAI,EAAE;MACFC,KAAK,EAAE,GAAG;MACVR,eAAe,EAAEf,cAAc,CAACwB,mBAAmB;MACnDC,YAAY,EAAE;IAClB,CAAC;IACDC,QAAQ,EAAE;MACNvB,IAAI,EAAG;QACHwB,MAAM,EAAE,EAAE;QACVC,iBAAiB,EAAE,CAAC;QACpBC,WAAW,EAAE,OAAO;QACpBC,aAAa,EAAG,KAAK;QACrBC,UAAU,EAAE,YAAY;QACxBC,QAAQ,EAAC,CAAC;QACVC,UAAU,EAAE,CAAC;QACbC,cAAc,EAAE,YAAY;QAC5BC,iBAAiB,EAAEnC,cAAc,CAACoC;MACtC,CAAC;MACD7B,IAAI,EAAE;QACFJ,IAAI,EAAG;UACLkC,QAAQ,EAAE,EAAE;UACZC,WAAW,EAAE;QACf,CAAC;QACD/B,IAAI,EAAG;UACHC,KAAK,EAAER,cAAc,CAACuC;QAC1B;MACJ,CAAC;MACDlC,IAAI,EAAE;QACFgC,QAAQ,EAAE,EAAE;QACZJ,UAAU,EAAE,CAAC;QACbvB,kBAAkB,EAAE,MAAM;QAC1BF,KAAK,EAAER,cAAc,CAACwC;MAC1B;IACJ;EACJ,CAAC;EAEDvC,QAAQ,CAACL,aAAa,EAAEC,aAAa,EAAEK,aAAa,CAAC;EACrDD,QAAQ,CAACL,aAAa,GAAG,MAAM,EAAE,EAAE,EAAEE,QAAQ,CAAC2C,EAAE,IAAE,KAAK,GAAC,CAAC,CAAC,GAAC;IACvDtC,IAAI,EAAE;MACFoB,KAAK,EAAE;IACX;EACJ,CAAC,CAAC;AACN,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["BASE_THEME","DEFAULT_CLASS","POPOVER_CLASS","Platform","registerStyle","themeVariables","addStyle","defaultStyles","root","alignSelf","text","link","icon","color","menuIconColor","textDecorationLine","paddingRight","fontWeight","menuTextColor","popover","backgroundColor","transparent","borderTopLeftRadius","borderTopRightRadius","popoverContent","flex","undefined","menu","width","menuBackgroundColor","borderRadius","menuItem","height","borderBottomWidth","borderStyle","flexDirection","alignItems","flexGrow","paddingTop","justifyContent","borderBottomColor","menuItemBorderColor","fontSize","paddingLeft","menuItemIconColor","menuItemTextColor","OS"],"sources":["menu.styles.ts"],"sourcesContent":["import BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { WmAnchorStyles } from '../../basic/anchor/anchor.styles';\nimport { WmPopoverStyles, DEFAULT_CLASS as POPOVER_CLASS } from '../popover/popover.styles';\nimport { deepCopy } from '@wavemaker/app-rn-runtime/core/utils';\nimport { defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { Platform } from 'react-native';\n\nexport type WmMenuStyles = WmPopoverStyles & {\n menu: AllStyle,\n menuItem: WmAnchorStyles\n};\n\nexport const DEFAULT_CLASS = 'app-menu';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmMenuStyles = {\n root : {\n alignSelf: 'flex-start'\n },\n text: {},\n link: {\n icon: {\n root: {\n color: themeVariables.menuIconColor\n }\n },\n text: {\n textDecorationLine: 'none',\n paddingRight: 12,\n fontWeight: 'bold',\n color: themeVariables.menuTextColor\n }\n } as WmAnchorStyles,\n popover: {\n backgroundColor: themeVariables.transparent,\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0 \n },\n popoverContent: {\n //@ts-ignore\n flex: undefined\n },\n menu: {\n width: 160,\n backgroundColor: themeVariables.menuBackgroundColor,\n borderRadius: 4\n },\n menuItem: {\n root : {\n height: 48,\n borderBottomWidth: 0,\n borderStyle: 'solid',\n flexDirection : 'row',\n alignItems: 'flex-start',\n flexGrow:1, \n paddingTop: 8,\n justifyContent: 'flex-start',\n borderBottomColor: themeVariables.menuItemBorderColor\n },\n icon :{\n root : {\n fontSize: 24,\n paddingLeft: 22\n },\n icon : {\n color: themeVariables.menuItemIconColor\n }\n },\n text: {\n fontSize: 16,\n paddingTop: 4,\n textDecorationLine: 'none',\n color: themeVariables.menuItemTextColor\n }\n } as any as WmAnchorStyles\n };\n\n addStyle(DEFAULT_CLASS, POPOVER_CLASS, defaultStyles);\n addStyle(DEFAULT_CLASS + '-rtl', '', Platform.OS==\"web\"?{}:{});\n});\n"],"mappings":"AAAA,OAAOA,UAAU,MAAoB,wCAAwC;AAE7E,SAA0BC,aAAa,IAAIC,aAAa,QAAQ,2BAA2B;AAG3F,SAASC,QAAQ,QAAQ,cAAc;AAOvC,OAAO,MAAMF,aAAa,GAAG,UAAU;AACvCD,UAAU,CAACI,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAA2B,GAAG;IAChCC,IAAI,EAAG;MACHC,SAAS,EAAE;IACf,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,IAAI,EAAE;MACFC,IAAI,EAAE;QACFJ,IAAI,EAAE;UACFK,KAAK,EAAER,cAAc,CAACS;QAC1B;MACJ,CAAC;MACDJ,IAAI,EAAE;QACFK,kBAAkB,EAAE,MAAM;QAC1BC,YAAY,EAAE,EAAE;QAChBC,UAAU,EAAE,MAAM;QAClBJ,KAAK,EAAER,cAAc,CAACa;MAC1B;IACJ,CAAmB;IACnBC,OAAO,EAAE;MACLC,eAAe,EAAEf,cAAc,CAACgB,WAAW;MAC3CC,mBAAmB,EAAE,CAAC;MACtBC,oBAAoB,EAAE;IAC1B,CAAC;IACDC,cAAc,EAAE;MACZ;MACAC,IAAI,EAAEC;IACV,CAAC;IACDC,IAAI,EAAE;MACFC,KAAK,EAAE,GAAG;MACVR,eAAe,EAAEf,cAAc,CAACwB,mBAAmB;MACnDC,YAAY,EAAE;IAClB,CAAC;IACDC,QAAQ,EAAE;MACNvB,IAAI,EAAG;QACHwB,MAAM,EAAE,EAAE;QACVC,iBAAiB,EAAE,CAAC;QACpBC,WAAW,EAAE,OAAO;QACpBC,aAAa,EAAG,KAAK;QACrBC,UAAU,EAAE,YAAY;QACxBC,QAAQ,EAAC,CAAC;QACVC,UAAU,EAAE,CAAC;QACbC,cAAc,EAAE,YAAY;QAC5BC,iBAAiB,EAAEnC,cAAc,CAACoC;MACtC,CAAC;MACD7B,IAAI,EAAE;QACFJ,IAAI,EAAG;UACLkC,QAAQ,EAAE,EAAE;UACZC,WAAW,EAAE;QACf,CAAC;QACD/B,IAAI,EAAG;UACHC,KAAK,EAAER,cAAc,CAACuC;QAC1B;MACJ,CAAC;MACDlC,IAAI,EAAE;QACFgC,QAAQ,EAAE,EAAE;QACZJ,UAAU,EAAE,CAAC;QACbvB,kBAAkB,EAAE,MAAM;QAC1BF,KAAK,EAAER,cAAc,CAACwC;MAC1B;IACJ;EACJ,CAAC;EAEDvC,QAAQ,CAACL,aAAa,EAAEC,aAAa,EAAEK,aAAa,CAAC;EACrDD,QAAQ,CAACL,aAAa,GAAG,MAAM,EAAE,EAAE,EAAEE,QAAQ,CAAC2C,EAAE,IAAE,KAAK,GAAC,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC","ignoreList":[]}
@@ -60,9 +60,9 @@ export default class WmPopover extends BaseComponent {
60
60
  if (popoverwidth && isString(popoverwidth)) {
61
61
  popoverwidth = parseInt(popoverwidth);
62
62
  }
63
- position.left = px;
63
+ this.isRTL ? position.right = px : position.left = px;
64
64
  if (px + popoverwidth > windowDimensions.width) {
65
- position.left = px + width - popoverwidth;
65
+ this.isRTL ? position.right = px + width - popoverwidth : position.left = px + width - popoverwidth;
66
66
  }
67
67
  position.top = py + height;
68
68
  this.updateState({
@@ -1 +1 @@
1
- {"version":3,"names":["React","isString","TouchableOpacity","Text","View","Dimensions","Animated","PanResponder","BaseComponent","BaseComponentState","ModalConsumer","WmAnchor","WmPopoverProps","DEFAULT_CLASS","WmContainer","AccessibilityWidgetType","getAccessibilityProps","ScrollView","GestureHandlerRootView","WmPopoverState","constructor","args","_defineProperty","WmPopover","props","Value","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderMove","_","gestureState","dy","Number","styles","popover","minHeight","dragY","setValue","onPanResponderRelease","timing","toValue","maxHeight","duration","useNativeDriver","start","e","position","state","type","windowDimensions","get","view","measure","x","y","width","height","px","py","popoverwidth","parseInt","left","top","updateState","isOpened","invokeEventCallback","stopPropagation","autoopen","showPopover","getDefaultStyles","isActionSheet","theme","getStyle","defaultClass","renderPopoverContent","dimensions","createElement","style","mergeStyle","onScroll","event","notify","scrollEventThrottle","accessible","accessibilityViewIsModal","title","_extends","getTestPropsForAction","activeOpacity","onPress","autoclose","hide","popoverContent","root","onLoad","renderPartial","p","children","onPropertyChange","name","$new","$old","prepareModalOptions","content","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","centered","animation","contentanimation","onClose","setState","isPartialLoaded","hideModal","renderWidget","popoverheight","onLayout","computePosition","ref","POVOVER","_background","id","getTestId","caption","badgevalue","iconclass","iconposition","iconheight","iconwidth","iconmargin","iconurl","link","onTap","showModal","panResponder","panHandlers"],"sources":["popover.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isString } from 'lodash-es';\nimport { LayoutChangeEvent, TouchableOpacity, Text, View, Dimensions, Animated, PanResponder } from 'react-native';\nimport { BaseComponent, BaseComponentState, BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { SyntheticEvent } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\n\nimport WmPopoverProps from './popover.props';\nimport { DEFAULT_CLASS, WmPopoverStyles } from './popover.styles';\nimport WmContainer from '../../container/container.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { ScrollView, GestureHandlerRootView } from 'react-native-gesture-handler';\n\nexport class WmPopoverState extends BaseComponentState<WmPopoverProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n position = {} as PopoverPosition;\n isPartialLoaded = false;\n}\n\nexport interface PopoverPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmPopover extends BaseComponent<WmPopoverProps, WmPopoverState, WmPopoverStyles> {\n\n view: View = null as any;\n dragY = new Animated.Value(0);\n\n constructor(props: WmPopoverProps) {\n super(props, DEFAULT_CLASS, new WmPopoverProps(), new WmPopoverState());\n\n if (this.state.props.autoopen) {\n this.showPopover(); \n }\n }\n\n public panResponder = PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onMoveShouldSetPanResponder: () => true,\n onPanResponderMove: (_, gestureState) => {\n if (gestureState.dy > 0 && gestureState.dy < Number(this.styles.popover.minHeight)) {\n this.dragY.setValue(Number(this.styles.popover.minHeight) - gestureState.dy);\n }\n },\n onPanResponderRelease: (_, gestureState) => {\n if (gestureState.dy < -50) {\n Animated.timing(this.dragY, {\n toValue: Number(this.styles.popover.maxHeight),\n duration: 500,\n useNativeDriver: false,\n }).start();\n } else {\n Animated.timing(this.dragY, {\n toValue: Number(this.styles.popover.minHeight),\n duration: 500,\n useNativeDriver: false,\n }).start();\n }\n },\n });\n \n getDefaultStyles() {\n const isActionSheet = this.state.props.type === 'action-sheet';\n return this.theme.getStyle(`${this.defaultClass} ${isActionSheet ? 'app-popover-action-sheet' : ''}`);\n }\n\n private computePosition = (e: LayoutChangeEvent) => {\n const position = {} as PopoverPosition;\n if (this.state.props.type === 'dropdown') {\n const windowDimensions = Dimensions.get('window');\n this.view.measure((x, y, width, height, px, py) => {\n let popoverwidth = this.state.props.popoverwidth as any;\n if (popoverwidth && isString(popoverwidth)) {\n popoverwidth = parseInt(popoverwidth);\n }\n position.left = px;\n if (px + popoverwidth > windowDimensions.width) {\n position.left = px + width - popoverwidth;\n }\n position.top = py + height;\n this.updateState({position: position} as WmPopoverState);\n });\n }\n };\n\n public renderPopoverContent (props : WmPopoverProps , styles : WmPopoverStyles, dimensions: any) {\n return (\n <ScrollView style={props.type === \"action-sheet\" ? {dimensions} : this.theme.mergeStyle(styles.popover, dimensions)} \n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n accessible={props.type !== \"dropdown\"} accessibilityViewIsModal>\n {props.title ? (<Text style={styles.title}>{props.title}</Text>): null}\n <TouchableOpacity \n {...this.getTestPropsForAction('outercontent')}\n activeOpacity={1} onPress={() => {\n props.autoclose === 'always' && this.hide()\n }} style={styles.popoverContent.root}>\n <WmContainer\n styles={styles.popoverContent}\n onLoad={() => this.invokeEventCallback('onLoad', [this])}\n {...props.renderPartial ? {\n renderPartial: (p: any, onLoad: Function) => {\n return props.renderPartial && props.renderPartial(props, onLoad);\n }\n } : {}}>\n {props.renderPartial ? null : props.children}\n </WmContainer>\n </TouchableOpacity>\n </ScrollView>\n )}\n\n public showPopover = (e?: SyntheticEvent) => {\n this.updateState({ isOpened: true } as WmPopoverState);\n this.invokeEventCallback('onShow', [e, this]);\n e?.stopPropagation();\n };\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case \"autoopen\":\n if($new){\n this.showPopover && this.showPopover()\n }\n else{\n this.hide && this.hide()\n }\n }\n }\n\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmPopoverStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent, ...this.state.position};\n o.content = content;\n o.isModal = this.state.props.autoclose !== 'disabled';\n o.centered = true;\n o.animation = this.state.props.contentanimation || 'slideInUp';\n o.onClose = () => {\n this.hide = () => {};\n this.setState({ isOpened: false, isPartialLoaded: false, modalOptions: {} as ModalOptions });\n this.invokeEventCallback('onHide', [null, this]);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n renderWidget(props: WmPopoverProps) {\n let dimensions = {} as any;\n const styles = this.theme.mergeStyle(this.theme.getStyle('popover-' + props.type), this.styles);\n if (props.type === 'dropdown') {\n if (props.popoverwidth) {\n dimensions.width = props.popoverwidth;\n styles.modalContent.width = props.popoverwidth;\n }\n if (props.popoverheight) {\n dimensions.height = props.popoverheight;\n }\n }\n return (\n <View style={styles.root} onLayout={this.computePosition} ref={ref => {this.view = ref as View}} {...getAccessibilityProps(AccessibilityWidgetType.POVOVER, props)}>\n {this._background}\n <WmAnchor\n id={this.getTestId('trigger')}\n animation={props.animation}\n caption={props.caption}\n badgevalue={props.badgevalue}\n iconclass={props.iconclass}\n iconposition={props.iconposition}\n iconheight={props.iconheight}\n iconwidth={props.iconwidth}\n iconmargin={props.iconmargin}\n iconurl={props.iconurl}\n styles={styles.link}\n onTap={this.showPopover}/>\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions(props.type === 'action-sheet' ? (\n <Animated.View style= {[styles.popover,{ height: this.dragY }]} {...this.panResponder.panHandlers}>\n <GestureHandlerRootView>\n {this.renderPopoverContent(props, styles, dimensions)}\n </GestureHandlerRootView>\n </Animated.View>\n ): (this.renderPopoverContent(props, styles, dimensions)), styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","isString","TouchableOpacity","Text","View","Dimensions","Animated","PanResponder","BaseComponent","BaseComponentState","ModalConsumer","WmAnchor","WmPopoverProps","DEFAULT_CLASS","WmContainer","AccessibilityWidgetType","getAccessibilityProps","ScrollView","GestureHandlerRootView","WmPopoverState","constructor","args","_defineProperty","WmPopover","props","Value","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderMove","_","gestureState","dy","Number","styles","popover","minHeight","dragY","setValue","onPanResponderRelease","timing","toValue","maxHeight","duration","useNativeDriver","start","e","position","state","type","windowDimensions","get","view","measure","x","y","width","height","px","py","popoverwidth","parseInt","isRTL","right","left","top","updateState","isOpened","invokeEventCallback","stopPropagation","autoopen","showPopover","getDefaultStyles","isActionSheet","theme","getStyle","defaultClass","renderPopoverContent","dimensions","createElement","style","mergeStyle","onScroll","event","notify","scrollEventThrottle","accessible","accessibilityViewIsModal","title","_extends","getTestPropsForAction","activeOpacity","onPress","autoclose","hide","popoverContent","root","onLoad","renderPartial","p","children","onPropertyChange","name","$new","$old","prepareModalOptions","content","modalService","o","modalOptions","modalStyle","modal","contentStyle","modalContent","isModal","centered","animation","contentanimation","onClose","setState","isPartialLoaded","hideModal","renderWidget","popoverheight","onLayout","computePosition","ref","POVOVER","_background","id","getTestId","caption","badgevalue","iconclass","iconposition","iconheight","iconwidth","iconmargin","iconurl","link","onTap","showModal","panResponder","panHandlers"],"sources":["popover.component.tsx"],"sourcesContent":["import React from 'react';\nimport { isString } from 'lodash-es';\nimport { LayoutChangeEvent, TouchableOpacity, Text, View, Dimensions, Animated, PanResponder } from 'react-native';\nimport { BaseComponent, BaseComponentState, BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { SyntheticEvent } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\n\nimport WmPopoverProps from './popover.props';\nimport { DEFAULT_CLASS, WmPopoverStyles } from './popover.styles';\nimport WmContainer from '../../container/container.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { ScrollView, GestureHandlerRootView } from 'react-native-gesture-handler';\n\nexport class WmPopoverState extends BaseComponentState<WmPopoverProps> {\n isOpened: boolean = false;\n modalOptions = {} as ModalOptions;\n position = {} as PopoverPosition;\n isPartialLoaded = false;\n}\n\nexport interface PopoverPosition {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n}\n\nexport default class WmPopover extends BaseComponent<WmPopoverProps, WmPopoverState, WmPopoverStyles> {\n\n view: View = null as any;\n dragY = new Animated.Value(0);\n\n constructor(props: WmPopoverProps) {\n super(props, DEFAULT_CLASS, new WmPopoverProps(), new WmPopoverState());\n\n if (this.state.props.autoopen) {\n this.showPopover(); \n }\n }\n\n public panResponder = PanResponder.create({\n onStartShouldSetPanResponder: () => true,\n onMoveShouldSetPanResponder: () => true,\n onPanResponderMove: (_, gestureState) => {\n if (gestureState.dy > 0 && gestureState.dy < Number(this.styles.popover.minHeight)) {\n this.dragY.setValue(Number(this.styles.popover.minHeight) - gestureState.dy);\n }\n },\n onPanResponderRelease: (_, gestureState) => {\n if (gestureState.dy < -50) {\n Animated.timing(this.dragY, {\n toValue: Number(this.styles.popover.maxHeight),\n duration: 500,\n useNativeDriver: false,\n }).start();\n } else {\n Animated.timing(this.dragY, {\n toValue: Number(this.styles.popover.minHeight),\n duration: 500,\n useNativeDriver: false,\n }).start();\n }\n },\n });\n \n getDefaultStyles() {\n const isActionSheet = this.state.props.type === 'action-sheet';\n return this.theme.getStyle(`${this.defaultClass} ${isActionSheet ? 'app-popover-action-sheet' : ''}`);\n }\n\n private computePosition = (e: LayoutChangeEvent) => {\n const position = {} as PopoverPosition;\n if (this.state.props.type === 'dropdown') {\n const windowDimensions = Dimensions.get('window');\n this.view.measure((x, y, width, height, px, py) => {\n let popoverwidth = this.state.props.popoverwidth as any;\n if (popoverwidth && isString(popoverwidth)) {\n popoverwidth = parseInt(popoverwidth);\n }\n this.isRTL ? position.right = px : position.left = px\n \n if (px + popoverwidth > windowDimensions.width) {\n this.isRTL\n ? (position.right = px + width - popoverwidth)\n : (position.left = px + width - popoverwidth);\n }\n position.top = py + height;\n this.updateState({position: position} as WmPopoverState);\n });\n }\n };\n\n public renderPopoverContent (props : WmPopoverProps , styles : WmPopoverStyles, dimensions: any) {\n return (\n <ScrollView style={props.type === \"action-sheet\" ? {dimensions} : this.theme.mergeStyle(styles.popover, dimensions)} \n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n accessible={props.type !== \"dropdown\"} accessibilityViewIsModal>\n {props.title ? (<Text style={styles.title}>{props.title}</Text>): null}\n <TouchableOpacity \n {...this.getTestPropsForAction('outercontent')}\n activeOpacity={1} onPress={() => {\n props.autoclose === 'always' && this.hide()\n }} style={styles.popoverContent.root}>\n <WmContainer\n styles={styles.popoverContent}\n onLoad={() => this.invokeEventCallback('onLoad', [this])}\n {...props.renderPartial ? {\n renderPartial: (p: any, onLoad: Function) => {\n return props.renderPartial && props.renderPartial(props, onLoad);\n }\n } : {}}>\n {props.renderPartial ? null : props.children}\n </WmContainer>\n </TouchableOpacity>\n </ScrollView>\n )}\n\n public showPopover = (e?: SyntheticEvent) => {\n this.updateState({ isOpened: true } as WmPopoverState);\n this.invokeEventCallback('onShow', [e, this]);\n e?.stopPropagation();\n };\n\n public onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case \"autoopen\":\n if($new){\n this.showPopover && this.showPopover()\n }\n else{\n this.hide && this.hide()\n }\n }\n }\n\n\n public hide = () => {};\n\n prepareModalOptions(content: React.ReactNode, styles: WmPopoverStyles, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.modalStyle = styles.modal;\n o.contentStyle = {...styles.modalContent, ...this.state.position};\n o.content = content;\n o.isModal = this.state.props.autoclose !== 'disabled';\n o.centered = true;\n o.animation = this.state.props.contentanimation || 'slideInUp';\n o.onClose = () => {\n this.hide = () => {};\n this.setState({ isOpened: false, isPartialLoaded: false, modalOptions: {} as ModalOptions });\n this.invokeEventCallback('onHide', [null, this]);\n };\n this.hide = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n renderWidget(props: WmPopoverProps) {\n let dimensions = {} as any;\n const styles = this.theme.mergeStyle(this.theme.getStyle('popover-' + props.type), this.styles);\n if (props.type === 'dropdown') {\n if (props.popoverwidth) {\n dimensions.width = props.popoverwidth;\n styles.modalContent.width = props.popoverwidth;\n }\n if (props.popoverheight) {\n dimensions.height = props.popoverheight;\n }\n }\n return (\n <View style={styles.root} onLayout={this.computePosition} ref={ref => {this.view = ref as View}} {...getAccessibilityProps(AccessibilityWidgetType.POVOVER, props)}>\n {this._background}\n <WmAnchor\n id={this.getTestId('trigger')}\n animation={props.animation}\n caption={props.caption}\n badgevalue={props.badgevalue}\n iconclass={props.iconclass}\n iconposition={props.iconposition}\n iconheight={props.iconheight}\n iconwidth={props.iconwidth}\n iconmargin={props.iconmargin}\n iconurl={props.iconurl}\n styles={styles.link}\n onTap={this.showPopover}/>\n {this.state.isOpened ? (\n <ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions(props.type === 'action-sheet' ? (\n <Animated.View style= {[styles.popover,{ height: this.dragY }]} {...this.panResponder.panHandlers}>\n <GestureHandlerRootView>\n {this.renderPopoverContent(props, styles, dimensions)}\n </GestureHandlerRootView>\n </Animated.View>\n ): (this.renderPopoverContent(props, styles, dimensions)), styles, modalService));\n return null;\n }}\n </ModalConsumer>) : null}\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["AppConfig.ts"],"sourcesContent":["export interface Drawer {\n setContent: (c: React.ReactNode) => void;\n getContent: () => React.ReactNode;\n setAnimation: (animation: string) => void;\n getAnimation: () => string;\n}\n\nexport default interface AppConfig {\n appId: string;\n assets: any;\n appProperties: any;\n appLocale: any;\n url: string;\n leftNavWidth: any;\n loadApp: boolean;\n refresh: (complete?: boolean) => void,\n currentPage?: any;\n pages?: any[];\n landingPage: string;\n partials?: any[];\n drawer: Drawer;\n app: any;\n spinner: any;\n setDrawerContent: any;\n theme: any;\n drawerType: any;\n getServiceDefinitions: any;\n loggedInUser: any;\n selectedLocale: string;\n diagnostics: {\n appStartTime: number,\n appReadyTime: number,\n pageStartTime: number,\n pageReadyTime: number\n }\n}"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["AppConfig.ts"],"sourcesContent":["export interface Drawer {\n setContent: (c: React.ReactNode) => void;\n getContent: () => React.ReactNode;\n setAnimation: (animation: string) => void;\n getAnimation: () => string;\n}\n\nexport default interface AppConfig {\n appId: string;\n assets: any;\n appProperties: any;\n appLocale: any;\n url: string;\n leftNavWidth: any;\n loadApp: boolean;\n refresh: (complete?: boolean) => void,\n currentPage?: any;\n pages?: any[];\n landingPage: string;\n partials?: any[];\n drawer: Drawer;\n app: any;\n spinner: any;\n setDrawerContent: any;\n theme: any;\n drawerType: any;\n getServiceDefinitions: any;\n loggedInUser: any;\n selectedLocale: string;\n revertLayoutFixes: boolean,\n diagnostics: {\n appStartTime: number,\n appReadyTime: number,\n pageStartTime: number,\n pageReadyTime: number\n }\n}"],"mappings":"","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/app-rn-runtime",
3
- "version": "11.9.3-rc.5970",
3
+ "version": "11.9.4-1.5989",
4
4
  "description": "''",
5
5
  "main": "index",
6
6
  "module": "index",
@@ -52,7 +52,7 @@
52
52
  "@react-navigation/drawer": "6.6.3",
53
53
  "@react-navigation/native": "6.1.7",
54
54
  "@react-navigation/stack": "6.3.29",
55
- "@wavemaker/variables": "11.9.3-rc.5970",
55
+ "@wavemaker/variables": "11.9.4-1.5989",
56
56
  "axios": "1.6.8",
57
57
  "color": "4.2.3",
58
58
  "cross-env": "7.0.3",
@@ -141,7 +141,7 @@
141
141
  "typescript": "5.1.3",
142
142
  "victory-native": "37.3.2",
143
143
  "yargs": "16.2.0",
144
- "@wavemaker/variables": "11.9.3-rc.5970"
144
+ "@wavemaker/variables": "11.9.4-1.5989"
145
145
  },
146
146
  "jest": {
147
147
  "preset": "jest-expo",
@@ -12,6 +12,7 @@ import ViewPort, { EVENTS as ViewPortEvents } from '@wavemaker/app-rn-runtime/co
12
12
  import MediaQueryList from './MediaQueryList';
13
13
  import ThemeVariables from './theme.variables';
14
14
  import { getErrorMessage, getStyleReference, isValidStyleProp } from './style-prop.validator';
15
+ import injector from '@wavemaker/app-rn-runtime/core/injector';
15
16
  export const DEFAULT_CLASS = 'DEFAULT_CLASS';
16
17
  if (typeof window !== "undefined") {
17
18
  // @ts-ignore: does not properly extend MediaQueryList
@@ -34,6 +35,7 @@ export let ThemeEvent = /*#__PURE__*/function (ThemeEvent) {
34
35
  ;
35
36
  export class Theme {
36
37
  constructor(parent, name) {
38
+ var _this$getAppConfig;
37
39
  this.parent = parent;
38
40
  this.name = name;
39
41
  _defineProperty(this, "eventNotifer", new EventNotifier());
@@ -41,13 +43,18 @@ export class Theme {
41
43
  _defineProperty(this, "styles", {});
42
44
  _defineProperty(this, "cache", {});
43
45
  _defineProperty(this, "traceEnabled", false);
46
+ _defineProperty(this, "revertLayoutFixes", void 0);
44
47
  _defineProperty(this, "styleGenerators", []);
48
+ this.revertLayoutFixes = ((_this$getAppConfig = this.getAppConfig()) === null || _this$getAppConfig === void 0 ? void 0 : _this$getAppConfig.revertLayoutFixes) || false;
45
49
  if (parent) {
46
50
  this.traceEnabled = parent.traceEnabled;
47
51
  } else {
48
52
  this.traceEnabled = isWebPreviewMode();
49
53
  }
50
54
  }
55
+ getAppConfig() {
56
+ return injector.get('APP_CONFIG');
57
+ }
51
58
  enableTrace(flag) {
52
59
  this.traceEnabled = flag;
53
60
  this.reset();
@@ -170,6 +177,38 @@ export class Theme {
170
177
  style['paddingBottom'] = style['paddingBottom'] || style['padding'];
171
178
  delete style['padding'];
172
179
  }
180
+ if (this.revertLayoutFixes && !isNil(style['flexDirection']) && style['flexDirection'] === 'row-reverse') {
181
+ if (!isNil(style['paddingLeft']) || !isNil(style['paddingRight'])) {
182
+ if (!isNil(style['paddingLeft']) && !isNil(style['paddingRight'])) {
183
+ [style['paddingLeft'], style['paddingRight']] = [style['paddingRight'], style['paddingLeft']];
184
+ } else {
185
+ const [paddingLeft, paddingRight] = [style['paddingLeft'], style['paddingRight']];
186
+ if (paddingLeft !== undefined) {
187
+ style['paddingRight'] = paddingLeft;
188
+ delete style['paddingLeft'];
189
+ }
190
+ if (paddingRight !== undefined) {
191
+ style['paddingLeft'] = paddingRight;
192
+ delete style['paddingRight'];
193
+ }
194
+ }
195
+ }
196
+ if (!isNil(style['marginLeft']) || !isNil(style['marginRight'])) {
197
+ if (!isNil(style['marginLeft']) && !isNil(style['marginRight'])) {
198
+ [style['marginLeft'], style['marginRight']] = [style['marginRight'], style['marginLeft']];
199
+ } else {
200
+ const [marginLeft, marginRight] = [style['marginLeft'], style['marginRight']];
201
+ if (marginLeft !== undefined) {
202
+ style['marginRight'] = marginLeft;
203
+ delete style['marginLeft'];
204
+ }
205
+ if (marginRight !== undefined) {
206
+ style['marginLeft'] = marginRight;
207
+ delete style['marginRight'];
208
+ }
209
+ }
210
+ }
211
+ }
173
212
  let screenWidth = Dimensions.get('window').width;
174
213
  let screenHeight = Dimensions.get('window').height;
175
214
  Object.keys(style).forEach((k, i) => {
@@ -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","DEFAULT_CLASS","window","matchMedia","query","DEVICE_BREAK_POINTS","ThemeEvent","Theme","constructor","parent","name","_defineProperty","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","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';\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 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 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","DEFAULT_CLASS","window","matchMedia","query","DEVICE_BREAK_POINTS","ThemeEvent","Theme","constructor","parent","name","_this$getAppConfig","_defineProperty","revertLayoutFixes","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 revertLayoutFixes: Boolean;\n\n private styleGenerators: styleGeneratorFn<any>[] = [];\n\n private constructor(private parent:Theme, public readonly name: string) {\n this.revertLayoutFixes = this.getAppConfig()?.revertLayoutFixes || 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.revertLayoutFixes && !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":[]}