@wavemaker/app-rn-runtime 11.9.2-next.27540 → 11.9.2-next.27546
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.
- app-rn-runtime/components/basic/audio/audio.component.js +9 -2
- app-rn-runtime/components/basic/audio/audio.component.js.map +1 -1
- app-rn-runtime/components/basic/audio/audio.styles.js +7 -0
- app-rn-runtime/components/basic/audio/audio.styles.js.map +1 -1
- app-rn-runtime/components/input/calendar/calendar.component.js +25 -0
- app-rn-runtime/components/input/calendar/calendar.component.js.map +1 -1
- app-rn-runtime/components/input/calendar/calendar.styles.js +17 -0
- app-rn-runtime/components/input/calendar/calendar.styles.js.map +1 -1
- app-rn-runtime/components/input/checkbox/checkbox.component.js +21 -1
- app-rn-runtime/components/input/checkbox/checkbox.component.js.map +1 -1
- app-rn-runtime/components/input/checkbox/checkbox.props.js +2 -0
- app-rn-runtime/components/input/checkbox/checkbox.props.js.map +1 -1
- app-rn-runtime/components/input/checkbox/checkbox.styles.js +12 -1
- app-rn-runtime/components/input/checkbox/checkbox.styles.js.map +1 -1
- app-rn-runtime/components/input/chips/chips.component.js +16 -2
- app-rn-runtime/components/input/chips/chips.component.js.map +1 -1
- app-rn-runtime/components/input/chips/chips.props.js +2 -0
- app-rn-runtime/components/input/chips/chips.props.js.map +1 -1
- app-rn-runtime/components/input/chips/chips.styles.js +8 -0
- app-rn-runtime/components/input/chips/chips.styles.js.map +1 -1
- app-rn-runtime/components/input/currency/currency.component.js +7 -0
- app-rn-runtime/components/input/currency/currency.component.js.map +1 -1
- app-rn-runtime/components/input/currency/currency.styles.js +12 -0
- app-rn-runtime/components/input/currency/currency.styles.js.map +1 -1
- app-rn-runtime/components/input/epoch/base-datetime.component.js +8 -1
- app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
- app-rn-runtime/components/input/epoch/datetime/datetime.styles.js +8 -0
- app-rn-runtime/components/input/epoch/datetime/datetime.styles.js.map +1 -1
- app-rn-runtime/components/input/number/number.component.js +6 -0
- app-rn-runtime/components/input/number/number.component.js.map +1 -1
- app-rn-runtime/components/input/number/number.styles.js +12 -1
- app-rn-runtime/components/input/number/number.styles.js.map +1 -1
- app-rn-runtime/components/input/select/select.component.js +13 -3
- app-rn-runtime/components/input/select/select.component.js.map +1 -1
- app-rn-runtime/components/input/select/select.styles.js +17 -0
- app-rn-runtime/components/input/select/select.styles.js.map +1 -1
- app-rn-runtime/components/input/switch/switch.component.js +13 -3
- app-rn-runtime/components/input/switch/switch.component.js.map +1 -1
- app-rn-runtime/components/input/switch/switch.props.js +2 -0
- app-rn-runtime/components/input/switch/switch.props.js.map +1 -1
- app-rn-runtime/components/input/switch/switch.styles.js +13 -0
- app-rn-runtime/components/input/switch/switch.styles.js.map +1 -1
- app-rn-runtime/components/input/toggle/toggle.component.js +6 -0
- app-rn-runtime/components/input/toggle/toggle.component.js.map +1 -1
- app-rn-runtime/components/input/toggle/toggle.props.js +2 -0
- app-rn-runtime/components/input/toggle/toggle.props.js.map +1 -1
- app-rn-runtime/components/input/toggle/toggle.styles.js +7 -0
- app-rn-runtime/components/input/toggle/toggle.styles.js.map +1 -1
- app-rn-runtime/package.json +3 -3
- app-rn-runtime/runtime/base-page.component.js +2 -1
- app-rn-runtime/runtime/base-page.component.js.map +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["BASE_THEME","defineStyles","Platform","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","paddingTop","paddingBottom","paddingLeft","paddingRight","borderWidth","borderStyle","borderRadius","backgroundColor","inputBackgroundColor","borderColor","inputBorderColor","justifyContent","width","focused","invalid","borderBottomColor","inputInvalidBorderColor","placeholderText","color","inputPlaceholderColor","container","flexDirection","alignItems","text","fontSize","inputTextColor","calendarIcon","alignSelf","icon","clearIcon","marginRight","height","inputDisabledBgColor","fontWeight","dialog","minWidth","elevation","maxHeight","maxModalHeight","dialogBackgroundColor","actionWrapper","selectBtn","cancelBtn","OS","marginLeft","minHeight","paddingVertical","floatingLabel","position","top","left","floatingLabelColor","activeFloatingLabel","activeFloatingLabelColor"],"sources":["datetime.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 { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\nimport { TextStyle, Platform, ViewStyle } from 'react-native';\nimport { WmButtonStyles } from '@wavemaker/app-rn-runtime/components/basic/button/button.styles';\n\nexport type WmDatetimeStyles = BaseStyles & {\n focused: AllStyle,\n container: AllStyle,\n placeholderText: TextStyle,\n invalid: AllStyle,\n clearIcon: WmIconStyles,\n calendarIcon: WmIconStyles,\n floatingLabel: ViewStyle,\n activeFloatingLabel: AllStyle\n actionWrapper: ViewStyle,\n selectBtn: WmButtonStyles,\n cancelBtn: WmButtonStyles,\n dialog: AllStyle
|
1
|
+
{"version":3,"names":["BASE_THEME","defineStyles","Platform","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","paddingTop","paddingBottom","paddingLeft","paddingRight","borderWidth","borderStyle","borderRadius","backgroundColor","inputBackgroundColor","borderColor","inputBorderColor","justifyContent","width","focused","invalid","borderBottomColor","inputInvalidBorderColor","placeholderText","color","inputPlaceholderColor","container","flexDirection","alignItems","text","fontSize","inputTextColor","calendarIcon","alignSelf","icon","clearIcon","marginRight","height","inputDisabledBgColor","fontWeight","dialog","minWidth","elevation","maxHeight","maxModalHeight","dialogBackgroundColor","actionWrapper","selectBtn","cancelBtn","skeleton","OS","marginLeft","minHeight","paddingVertical","floatingLabel","position","top","left","floatingLabelColor","activeFloatingLabel","activeFloatingLabelColor"],"sources":["datetime.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 { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\nimport { TextStyle, Platform, ViewStyle } from 'react-native';\nimport { WmButtonStyles } from '@wavemaker/app-rn-runtime/components/basic/button/button.styles';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\n\nexport type WmDatetimeStyles = BaseStyles & {\n focused: AllStyle,\n container: AllStyle,\n placeholderText: TextStyle,\n invalid: AllStyle,\n clearIcon: WmIconStyles,\n calendarIcon: WmIconStyles,\n floatingLabel: ViewStyle,\n activeFloatingLabel: AllStyle\n actionWrapper: ViewStyle,\n selectBtn: WmButtonStyles,\n cancelBtn: WmButtonStyles,\n dialog: AllStyle,\n skeleton: WmSkeletonStyles;\n};\n\nexport const DEFAULT_CLASS = 'app-datetime';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmDatetimeStyles = defineStyles({\n root: {\n paddingTop: 8,\n paddingBottom: 8,\n paddingLeft: 16,\n paddingRight: 16,\n borderWidth: 1,\n borderStyle: 'solid',\n borderRadius: 6,\n backgroundColor: themeVariables.inputBackgroundColor,\n borderColor: themeVariables.inputBorderColor,\n justifyContent: 'center',\n width: '100%'\n },\n focused: {\n\n },\n invalid: {\n borderBottomColor: themeVariables.inputInvalidBorderColor\n },\n placeholderText: {\n color: themeVariables.inputPlaceholderColor\n },\n container: {\n flexDirection: 'row',\n alignItems: 'center'\n },\n text: {\n fontSize: 16,\n color: themeVariables.inputTextColor\n },\n calendarIcon: {\n root: {\n alignSelf: 'center'\n },\n icon: {\n fontSize: 24\n }\n },\n clearIcon: {\n root : {\n alignSelf: 'center',\n justifyContent: 'center',\n marginRight: 4,\n height: 24,\n width: 24,\n borderRadius: 16,\n backgroundColor: themeVariables.inputDisabledBgColor\n },\n icon: {\n fontSize: 16,\n paddingRight: 0,\n fontWeight: 'bold'\n }\n } as WmIconStyles,\n dialog:{\n minWidth: 320,\n paddingTop: 24,\n paddingBottom: 24,\n paddingLeft: 24,\n paddingRight: 24,\n elevation: 6,\n width: '90%',\n maxHeight: themeVariables.maxModalHeight,\n backgroundColor: themeVariables.dialogBackgroundColor,\n borderRadius: 28\n },\n actionWrapper: {\n flexDirection: 'row-reverse', \n marginRight: 20,\n },\n selectBtn: {\n root:{\n paddingLeft: 12,\n paddingRight: 12,\n }\n },\n cancelBtn: {\n root:{\n paddingLeft: 12,\n paddingRight: 12,\n }\n },\n skeleton: {\n root:{\n height: 16,\n borderRadius: 4,\n marginRight:16,\n width:'80%' \n }\n } as any as WmSkeletonStyles,\n }) as any as WmDatetimeStyles;\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 clearIcon: {\n root: {\n marginLeft: 4,\n marginRight: 0\n }\n }\n }:{});\n addStyle(DEFAULT_CLASS + '-with-label', '', {\n root:{\n minHeight: 48,\n paddingVertical: 16\n },\n floatingLabel: {\n position: 'absolute',\n top: 12,\n left: 16,\n fontSize: 14,\n color: themeVariables.floatingLabelColor\n },\n activeFloatingLabel: {\n color: themeVariables.activeFloatingLabelColor\n }\n } as any as WmDatetimeStyles);\n});"],"mappings":"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","ignoreList":[]}
|
@@ -10,6 +10,7 @@ import { DEFAULT_CLASS } from './number.styles';
|
|
10
10
|
import { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';
|
11
11
|
import { BaseNumberComponent, BaseNumberState } from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.component';
|
12
12
|
import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
|
13
|
+
import { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';
|
13
14
|
export class WmNumberState extends BaseNumberState {
|
14
15
|
constructor(...args) {
|
15
16
|
super(...args);
|
@@ -28,6 +29,11 @@ export default class WmNumber extends BaseNumberComponent {
|
|
28
29
|
classes.push(super.getStyleClassName());
|
29
30
|
return classes.join(' ');
|
30
31
|
}
|
32
|
+
renderSkeleton(props) {
|
33
|
+
return createSkeleton(this.theme, {}, {
|
34
|
+
...this.styles.skeleton.root
|
35
|
+
});
|
36
|
+
}
|
31
37
|
renderWidget(props) {
|
32
38
|
var _this$state$textValue;
|
33
39
|
let opts = {};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Platform","isNull","WmNumberProps","DEFAULT_CLASS","WMTextInput","BaseNumberComponent","BaseNumberState","AccessibilityWidgetType","getAccessibilityProps","WmNumberState","constructor","args","_defineProperty","WmNumber","props","getStyleClassName","classes","state","floatinglabel","push","join","renderWidget","_this$state$textValue","opts","valueExpr","OS","textValue","toString","createElement","_extends","getTestPropsForInput","NUMBER","ref","widgetRef","selectionStart","selectionEnd","cursor","floatingLabel","floatingLabelStyle","
|
1
|
+
{"version":3,"names":["React","Platform","isNull","WmNumberProps","DEFAULT_CLASS","WMTextInput","BaseNumberComponent","BaseNumberState","AccessibilityWidgetType","getAccessibilityProps","createSkeleton","WmNumberState","constructor","args","_defineProperty","WmNumber","props","getStyleClassName","classes","state","floatinglabel","push","join","renderSkeleton","theme","styles","skeleton","root","renderWidget","_this$state$textValue","opts","valueExpr","OS","textValue","toString","createElement","_extends","getTestPropsForInput","NUMBER","ref","widgetRef","selectionStart","selectionEnd","cursor","floatingLabel","floatingLabelStyle","activeFloatingLabelStyle","activeFloatingLabel","isInputFocused","style","isValid","invalid","focused","keyboardType","background","_background","placeholderTextColor","placeholderText","color","autoFocus","autofocus","editable","disabled","readonly","placeholder","onBlur","event","bind","displayValue","onFocus","onKeyPress","validateInputEntry","onChangeText","text","onChange","invokeChange","allowContentSelection","userSelect","customDisplayValue"],"sources":["number.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Platform } from 'react-native';\nimport { isNull } from 'lodash';\n\nimport WmNumberProps from './number.props';\nimport { DEFAULT_CLASS, WmNumberStyles } from './number.styles';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport {\n BaseNumberComponent,\n BaseNumberState\n} from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmNumberState extends BaseNumberState<WmNumberProps> {\n keyboardType: any;\n}\n\nexport default class WmNumber extends BaseNumberComponent<WmNumberProps, WmNumberState, WmNumberStyles> {\n\n constructor(props: WmNumberProps) {\n super(props, DEFAULT_CLASS, new WmNumberProps(), new WmNumberState());\n }\n\n public getStyleClassName(): string | undefined {\n const classes = [];\n if (this.state.props.floatinglabel) {\n classes.push('app-number-with-label'); \n }\n classes.push(super.getStyleClassName());\n return classes.join(' ');\n }\n\n public renderSkeleton(props: WmNumberProps): React.ReactNode { \n return createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.skeleton.root,\n })\n }\n\n renderWidget(props: WmNumberProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return (<WMTextInput\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.NUMBER, props)}\n ref={(ref: any) => {this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }}}\n {...opts}\n floatingLabel={props.floatinglabel}\n floatingLabelStyle={this.styles.floatingLabel}\n activeFloatingLabelStyle={this.styles.activeFloatingLabel}\n isInputFocused={ this.state.isInputFocused }\n style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid, this.state.isInputFocused ? this.styles.focused : {}]}\n keyboardType=\"numeric\"\n background={this._background}\n placeholderTextColor={this.styles.placeholderText.color as any}\n autoFocus={props.autofocus}\n editable={props.disabled || props.readonly ? false : true}\n placeholder={props.placeholder}\n onBlur={(event)=>{this.onBlur.bind(this)(event, !!props.displayValue)}}\n onFocus={this.onFocus.bind(this)}\n onKeyPress={this.validateInputEntry.bind(this)}\n onChangeText={(text) => {\n this.onChangeText.bind(this)(text, 'number', !!props.displayValue);\n }}\n onChange={this.invokeChange.bind(this)}\n allowContentSelection={this.styles.text.userSelect === 'text'}\n customDisplayValue={props.displayValue}\n />);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -30,7 +30,18 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
|
|
30
30
|
},
|
31
31
|
floatingLabel: {},
|
32
32
|
activeFloatingLabel: {},
|
33
|
-
skeleton: {
|
33
|
+
skeleton: {
|
34
|
+
root: {
|
35
|
+
borderRadius: 6,
|
36
|
+
paddingLeft: 16,
|
37
|
+
paddingRight: 16,
|
38
|
+
minHeight: 42,
|
39
|
+
paddingTop: 8,
|
40
|
+
paddingBottom: 8,
|
41
|
+
width: '100%',
|
42
|
+
height: 40
|
43
|
+
}
|
44
|
+
}
|
34
45
|
});
|
35
46
|
addStyle(DEFAULT_CLASS, '', defaultStyles);
|
36
47
|
addStyle(DEFAULT_CLASS + '-disabled', '', {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","minHeight","paddingTop","paddingBottom","borderWidth","borderStyle","borderColor","inputBorderColor","backgroundColor","inputBackgroundColor","borderRadius","paddingLeft","paddingRight","text","fontSize","textAlign","invalid","borderBottomColor","inputInvalidBorderColor","focused","inputFocusBorderColor","placeholderText","color","inputPlaceholderColor","floatingLabel","activeFloatingLabel","skeleton","inputDisabledBgColor","position","top","left","floatingLabelColor","activeFloatingLabelColor"],"sources":["number.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 { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport type WmNumberStyles = BaseStyles & {\n invalid: AllStyle;\n focused: AllStyle;\n placeholderText: AllStyle;\n floatingLabel: AllStyle;\n activeFloatingLabel: AllStyle;\n skeleton: WmSkeletonStyles;\n};\n\nexport const DEFAULT_CLASS = 'app-number';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmNumberStyles = defineStyles<WmNumberStyles>({\n root: {\n minHeight: 42,\n paddingTop: 8,\n paddingBottom: 8,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: themeVariables.inputBorderColor,\n backgroundColor: themeVariables.inputBackgroundColor,\n borderRadius: 6,\n paddingLeft: 16,\n paddingRight: 16\n },\n text: {\n fontSize: 16,\n textAlign: 'left'\n },\n invalid: {\n borderBottomColor: themeVariables.inputInvalidBorderColor\n },\n focused : {\n borderColor: themeVariables.inputFocusBorderColor,\n },\n placeholderText: {\n color: themeVariables.inputPlaceholderColor\n },\n floatingLabel: {},\n activeFloatingLabel: {},\n skeleton: {} as WmSkeletonStyles
|
1
|
+
{"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","minHeight","paddingTop","paddingBottom","borderWidth","borderStyle","borderColor","inputBorderColor","backgroundColor","inputBackgroundColor","borderRadius","paddingLeft","paddingRight","text","fontSize","textAlign","invalid","borderBottomColor","inputInvalidBorderColor","focused","inputFocusBorderColor","placeholderText","color","inputPlaceholderColor","floatingLabel","activeFloatingLabel","skeleton","width","height","inputDisabledBgColor","position","top","left","floatingLabelColor","activeFloatingLabelColor"],"sources":["number.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 { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport type WmNumberStyles = BaseStyles & {\n invalid: AllStyle;\n focused: AllStyle;\n placeholderText: AllStyle;\n floatingLabel: AllStyle;\n activeFloatingLabel: AllStyle;\n skeleton: WmSkeletonStyles;\n};\n\nexport const DEFAULT_CLASS = 'app-number';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmNumberStyles = defineStyles<WmNumberStyles>({\n root: {\n minHeight: 42,\n paddingTop: 8,\n paddingBottom: 8,\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: themeVariables.inputBorderColor,\n backgroundColor: themeVariables.inputBackgroundColor,\n borderRadius: 6,\n paddingLeft: 16,\n paddingRight: 16\n },\n text: {\n fontSize: 16,\n textAlign: 'left'\n },\n invalid: {\n borderBottomColor: themeVariables.inputInvalidBorderColor\n },\n focused : {\n borderColor: themeVariables.inputFocusBorderColor,\n },\n placeholderText: {\n color: themeVariables.inputPlaceholderColor\n },\n floatingLabel: {},\n activeFloatingLabel: {},\n skeleton: {\n root:{\n borderRadius: 6,\n paddingLeft: 16,\n paddingRight: 16,\n minHeight: 42,\n paddingTop: 8,\n paddingBottom: 8,\n width: '100%',\n height: 40\n },\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', '', {\n root : {\n textAlign: 'right'\n }\n });\n addStyle(DEFAULT_CLASS + '-with-label', '', {\n root: {\n minHeight: 48\n },\n floatingLabel: {\n position: 'absolute',\n top: 12,\n left: 16,\n fontSize: 14,\n color: themeVariables.floatingLabelColor\n },\n activeFloatingLabel: {\n color: themeVariables.activeFloatingLabelColor\n }\n });\n});\n\n"],"mappings":"AAAA,OAAOA,UAAU,MAAoB,wCAAwC;AAC7E,SAAqBC,YAAY,QAAQ,+CAA+C;AAYxF,OAAO,MAAMC,aAAa,GAAG,YAAY;AACzCF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACrD,MAAMC,aAA6B,GAAGL,YAAY,CAAiB;IAC/DM,IAAI,EAAE;MACJC,SAAS,EAAE,EAAE;MACbC,UAAU,EAAE,CAAC;MACbC,aAAa,EAAE,CAAC;MAChBC,WAAW,EAAE,CAAC;MACdC,WAAW,EAAE,OAAO;MACpBC,WAAW,EAAET,cAAc,CAACU,gBAAgB;MAC5CC,eAAe,EAAEX,cAAc,CAACY,oBAAoB;MACpDC,YAAY,EAAE,CAAC;MACfC,WAAW,EAAE,EAAE;MACfC,YAAY,EAAE;IAChB,CAAC;IACDC,IAAI,EAAE;MACJC,QAAQ,EAAE,EAAE;MACZC,SAAS,EAAE;IACb,CAAC;IACDC,OAAO,EAAE;MACPC,iBAAiB,EAAEpB,cAAc,CAACqB;IACpC,CAAC;IACDC,OAAO,EAAG;MACRb,WAAW,EAAET,cAAc,CAACuB;IAC9B,CAAC;IACDC,eAAe,EAAE;MACfC,KAAK,EAAEzB,cAAc,CAAC0B;IACxB,CAAC;IACDC,aAAa,EAAE,CAAC,CAAC;IACjBC,mBAAmB,EAAE,CAAC,CAAC;IACvBC,QAAQ,EAAE;MACR1B,IAAI,EAAC;QACHU,YAAY,EAAE,CAAC;QACfC,WAAW,EAAE,EAAE;QACfC,YAAY,EAAE,EAAE;QAChBX,SAAS,EAAE,EAAE;QACbC,UAAU,EAAE,CAAC;QACbC,aAAa,EAAE,CAAC;QAChBwB,KAAK,EAAE,MAAM;QACbC,MAAM,EAAE;MACV;IAEF;EACJ,CAAC,CAAC;EAEF9B,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;EAC1CD,QAAQ,CAACH,aAAa,GAAG,WAAW,EAAE,EAAE,EAAE;IACtCK,IAAI,EAAG;MACLQ,eAAe,EAAEX,cAAc,CAACgC;IAClC;EACJ,CAAC,CAAC;EACF/B,QAAQ,CAACH,aAAa,GAAG,MAAM,EAAE,EAAE,EAAE;IACjCK,IAAI,EAAG;MACLe,SAAS,EAAE;IACb;EACJ,CAAC,CAAC;EACFjB,QAAQ,CAACH,aAAa,GAAG,aAAa,EAAE,EAAE,EAAE;IAC1CK,IAAI,EAAE;MACJC,SAAS,EAAE;IACb,CAAC;IACDuB,aAAa,EAAE;MACbM,QAAQ,EAAE,UAAU;MACpBC,GAAG,EAAE,EAAE;MACPC,IAAI,EAAE,EAAE;MACRlB,QAAQ,EAAE,EAAE;MACZQ,KAAK,EAAEzB,cAAc,CAACoC;IACxB,CAAC;IACDR,mBAAmB,EAAE;MACnBH,KAAK,EAAEzB,cAAc,CAACqC;IACxB;EACF,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
@@ -16,6 +16,7 @@ import { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';
|
|
16
16
|
import ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';
|
17
17
|
import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
|
18
18
|
import { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';
|
19
|
+
import { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';
|
19
20
|
export class WmSelectState extends BaseDatasetState {
|
20
21
|
constructor(...args) {
|
21
22
|
super(...args);
|
@@ -89,6 +90,13 @@ export default class WmSelect extends BaseDatasetComponent {
|
|
89
90
|
var _this$widgetRef;
|
90
91
|
this === null || this === void 0 || (_this$widgetRef = this.widgetRef) === null || _this$widgetRef === void 0 || _this$widgetRef.focus();
|
91
92
|
}
|
93
|
+
renderSkeletonForText() {
|
94
|
+
return createSkeleton(this.theme, {}, {
|
95
|
+
width: 100,
|
96
|
+
height: 16,
|
97
|
+
borderRadius: 8
|
98
|
+
});
|
99
|
+
}
|
92
100
|
renderSelect() {
|
93
101
|
const props = this.state.props;
|
94
102
|
const select = this.styles.root;
|
@@ -101,7 +109,9 @@ export default class WmSelect extends BaseDatasetComponent {
|
|
101
109
|
React.createElement(View, {
|
102
110
|
style: [this.styles.root, this.state.isValid ? {} : this.styles.invalid, {
|
103
111
|
backgroundColor: props.disabled ? this.styles.disabledText.backgroundColor : this.styles.root.backgroundColor
|
104
|
-
}
|
112
|
+
}, this._showSkeleton ? {
|
113
|
+
justifyContent: 'space-between'
|
114
|
+
} : {}],
|
105
115
|
ref: ref => {
|
106
116
|
this.view = ref;
|
107
117
|
},
|
@@ -115,7 +125,7 @@ export default class WmSelect extends BaseDatasetComponent {
|
|
115
125
|
style: {
|
116
126
|
borderRadius: this.styles.root.borderRadius
|
117
127
|
}
|
118
|
-
}) : null, /*#__PURE__*/React.createElement(Text, _extends({
|
128
|
+
}) : null, this._showSkeleton && (this.state.props.displayValue || props.placeholder) ? this.renderSkeletonForText() : /*#__PURE__*/React.createElement(Text, _extends({
|
119
129
|
style: [this.styles.text, this.state.props.displayValue ? {} : {
|
120
130
|
color: this.styles.placeholderText.color
|
121
131
|
}],
|
@@ -125,7 +135,7 @@ export default class WmSelect extends BaseDatasetComponent {
|
|
125
135
|
}, this.getTestPropsForInput(), getAccessibilityProps(AccessibilityWidgetType.SELECT, props), {
|
126
136
|
onPress: this.onPress.bind(this)
|
127
137
|
}), this.state.props.displayValue || props.placeholder || ' '), /*#__PURE__*/React.createElement(WmButton, {
|
128
|
-
styles: this.styles.arrowButton,
|
138
|
+
styles: this._showSkeleton ? this.styles.skeleton.arrowButton : this.styles.arrowButton,
|
129
139
|
iconclass: 'wi wi-keyboard-arrow-down',
|
130
140
|
onTap: this.onPress.bind(this),
|
131
141
|
hint: props === null || props === void 0 ? void 0 : props.hint
|
@@ -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","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","renderSelect","select","root","createElement","style","isValid","invalid","backgroundColor","disabledText","ref","view","onLayout","backgroundImage","image","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","borderRadius","_extends","text","color","placeholderText","getTestPropsForInput","SELECT","bind","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","theme","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 { 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';\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 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 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 <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.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","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","width","height","borderRadius","renderSelect","select","root","createElement","style","isValid","invalid","backgroundColor","disabledText","_showSkeleton","justifyContent","ref","view","onLayout","backgroundImage","image","position","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","_extends","text","color","placeholderText","getTestPropsForInput","SELECT","bind","skeleton","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","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 width: 100,\n height: 16,\n borderRadius: 8\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.skeleton.arrowButton : 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":[]}
|
@@ -84,6 +84,23 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
|
|
84
84
|
justifyContent: 'center',
|
85
85
|
backgroundColor: 'transparent'
|
86
86
|
}
|
87
|
+
},
|
88
|
+
skeleton: {
|
89
|
+
root: {
|
90
|
+
minWidth: 0,
|
91
|
+
width: 120,
|
92
|
+
height: 16,
|
93
|
+
borderRadius: 4,
|
94
|
+
marginRight: 8,
|
95
|
+
padding: 0
|
96
|
+
},
|
97
|
+
arrowButton: {
|
98
|
+
root: {
|
99
|
+
width: 24,
|
100
|
+
height: 24,
|
101
|
+
borderRadius: 12
|
102
|
+
}
|
103
|
+
}
|
87
104
|
}
|
88
105
|
});
|
89
106
|
addStyle(DEFAULT_CLASS, '', defaultStyles);
|
@@ -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","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';\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};\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 });\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":"AAAA,OAAOA,UAAU,MAAkB,wCAAwC;AAC3E,SAAqBC,YAAY,QAAQ,+CAA+C;AAExF,SAASC,QAAQ,QAAQ,cAAc;
|
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","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};\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 arrowButton: {\n root: {\n width: 24,\n height: 24,\n borderRadius: 12 \n }\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":[]}
|
@@ -8,6 +8,7 @@ import WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.compone
|
|
8
8
|
import { BaseDatasetComponent, BaseDatasetState } from '../basedataset/basedataset.component';
|
9
9
|
import { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';
|
10
10
|
import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
|
11
|
+
import { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';
|
11
12
|
export class WmSwitchState extends BaseDatasetState {}
|
12
13
|
export default class WmSwitch extends BaseDatasetComponent {
|
13
14
|
constructor(props) {
|
@@ -68,17 +69,26 @@ export default class WmSwitch extends BaseDatasetComponent {
|
|
68
69
|
styles: this.styles.loadingIcon,
|
69
70
|
iconclass: item.icon,
|
70
71
|
caption: displayText
|
71
|
-
}) : /*#__PURE__*/React.createElement(View, null,
|
72
|
+
}) : /*#__PURE__*/React.createElement(View, null, this._showSkeleton ? createSkeleton(this.theme, {}, {
|
73
|
+
...this.styles.text,
|
74
|
+
...this.styles.skeleton.text
|
75
|
+
}) : /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForLabel('label' + index), {
|
72
76
|
style: [isSelected ? this.styles.selectedButtonText : this.styles.text, {
|
73
77
|
color: isSelected ? this.styles.selectedButton.color : this.styles.button.color
|
74
78
|
}]
|
75
79
|
}), displayText)));
|
76
80
|
}
|
77
|
-
|
81
|
+
renderItems() {
|
78
82
|
const items = this.state.dataItems;
|
83
|
+
if (this._showSkeleton) {
|
84
|
+
return [{}, {}, {}].map((item, index) => this.renderChild(item, index));
|
85
|
+
}
|
86
|
+
return items && items.length ? items.map((item, index) => this.renderChild(item, index)) : null;
|
87
|
+
}
|
88
|
+
renderWidget(props) {
|
79
89
|
return /*#__PURE__*/React.createElement(View, {
|
80
90
|
style: this.styles.root
|
81
|
-
},
|
91
|
+
}, this.renderItems());
|
82
92
|
}
|
83
93
|
}
|
84
94
|
//# sourceMappingURL=switch.component.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Text","View","isEqual","find","WmSwitchProps","DEFAULT_CLASS","WmIcon","BaseDatasetComponent","BaseDatasetState","Tappable","AccessibilityWidgetType","getAccessibilityProps","WmSwitchState","WmSwitch","constructor","props","onChange","value","oldVal","state","datavalue","validate","datafield","selectedItem","dataItems","item","key","dataObject","updateState","isDefault","invokeEvent","invokeEventCallback","undefined","proxy","onTap","event","getItemKey","renderChild","index","btnClass","length","displayText","displayexp","displayfield","isSelected","createElement","_extends","getTestPropsForAction","accessibilityProps","SWITCH","selected","hint","disabled","bind","styles","button","selectedButton","iconclass","id","getTestId","loadingIcon","icon","caption","getTestPropsForLabel","style","selectedButtonText","
|
1
|
+
{"version":3,"names":["React","Text","View","isEqual","find","WmSwitchProps","DEFAULT_CLASS","WmIcon","BaseDatasetComponent","BaseDatasetState","Tappable","AccessibilityWidgetType","getAccessibilityProps","createSkeleton","WmSwitchState","WmSwitch","constructor","props","onChange","value","oldVal","state","datavalue","validate","datafield","selectedItem","dataItems","item","key","dataObject","updateState","isDefault","invokeEvent","invokeEventCallback","undefined","proxy","onTap","event","getItemKey","renderChild","index","btnClass","length","displayText","displayexp","displayfield","isSelected","createElement","_extends","getTestPropsForAction","accessibilityProps","SWITCH","selected","hint","disabled","bind","styles","button","selectedButton","iconclass","id","getTestId","loadingIcon","icon","caption","_showSkeleton","theme","text","skeleton","getTestPropsForLabel","style","selectedButtonText","color","renderItems","items","map","renderWidget","root"],"sources":["switch.component.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport {DimensionValue, LayoutChangeEvent, Text, View} from \"react-native\";\nimport { isEqual, find } from 'lodash';\n\nimport WmSwitchProps from './switch.props';\nimport { DEFAULT_CLASS, WmSwitchStyles } from './switch.styles';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { BaseDatasetComponent, BaseDatasetState } from '../basedataset/basedataset.component';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmSwitchState extends BaseDatasetState<WmSwitchProps> {}\n\nexport default class WmSwitch extends BaseDatasetComponent<WmSwitchProps, WmSwitchState, WmSwitchStyles> {\n constructor(props: WmSwitchProps) {\n super(props, DEFAULT_CLASS, new WmSwitchProps());\n }\n\n onChange(value: any) {\n if (!value) {\n return;\n }\n const oldVal = this.state.props.datavalue;\n this.validate(value);\n if (value === oldVal) {\n return;\n }\n if (this.state.props.datafield === 'All Fields') {\n const selectedItem = find(this.state.dataItems, (item) => isEqual(item.key, value));\n value = selectedItem && selectedItem.dataObject;\n }\n // @ts-ignore\n this.updateState({props: {datavalue: value}, isDefault: false},\n () => {\n if (!this.props.invokeEvent) {\n this.invokeEventCallback('onChange', [undefined, this.proxy, value, oldVal]);\n }\n });\n }\n\n onTap(event: any, item: any) {\n const value = this.state.props.datafield === 'All Fields' ? this.getItemKey(item.datafield) : item.datafield;\n this.onChange(value);\n this.invokeEventCallback('onTap', [ event, this.proxy ]);\n }\n renderChild(item: any, index: any) {\n let btnClass = 'button';\n const props = this.state.props;\n if(index === 0) {\n btnClass = 'firstButton';\n } else if (index+1 === this.state.dataItems.length) {\n btnClass = 'lastButton';\n }\n const displayText = item.displayexp || item.displayfield;\n const isSelected = this.state.props.datafield === 'All Fields' ? isEqual(props.datavalue, item.datafield) : this.state.props.datavalue === item.datafield;\n return (\n <Tappable\n {...this.getTestPropsForAction('button'+index)}\n accessibilityProps={{...getAccessibilityProps(AccessibilityWidgetType.SWITCH, {selected: isSelected, hint: props?.hint})}}\n onTap={this.state.props.disabled ? undefined : this.onTap.bind(this, null, item)}\n styles={[\n this.styles.button,\n this.styles[btnClass],\n isSelected ? this.styles.selectedButton : null]}\n key={item.key}>\n {this.state.props.iconclass ?\n (<WmIcon\n id={this.getTestId('icon' + index)}\n styles={this.styles.loadingIcon}\n iconclass={item.icon}\n caption={displayText}></WmIcon>)\n : (<View>\n {\n this._showSkeleton ? createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.text,\n ...this.styles.skeleton.text\n }) : <Text\n {...this.getTestPropsForLabel('label' + index)}\n style={[ isSelected ? this.styles.selectedButtonText : this.styles.text,\n {color: isSelected ? this.styles.selectedButton.color : this.styles.button.color }]}>\n {displayText}\n </Text>\n }\n </View>)}\n </Tappable>\n );\n };\n\n renderItems() {\n const items = this.state.dataItems;\n if(this._showSkeleton) {\n return [{}, {}, {}].map((item: any, index: any) => this.renderChild(item, index))\n }\n return items && items.length ?\n items.map((item: any, index: any) => this.renderChild(item, index)): null\n }\n\n renderWidget(props: WmSwitchProps) {\n return (<View style={this.styles.root}>\n {this.renderItems()}\n </View>);\n }\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAkB,OAAO;AACrC,SAA2CC,IAAI,EAAEC,IAAI,QAAO,cAAc;AAC1E,SAASC,OAAO,EAAEC,IAAI,QAAQ,QAAQ;AAEtC,OAAOC,aAAa,MAAM,gBAAgB;AAC1C,SAASC,aAAa,QAAwB,iBAAiB;AAC/D,OAAOC,MAAM,MAAM,gEAAgE;AACnF,SAASC,oBAAoB,EAAEC,gBAAgB,QAAQ,sCAAsC;AAC7F,SAASC,QAAQ,QAAQ,mDAAmD;AAC5E,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,8CAA8C;AAC7G,SAASC,cAAc,QAAQ,wEAAwE;AAGvG,OAAO,MAAMC,aAAa,SAASL,gBAAgB,CAAgB;AAEnE,eAAe,MAAMM,QAAQ,SAASP,oBAAoB,CAA+C;EACvGQ,WAAWA,CAACC,KAAoB,EAAE;IAChC,KAAK,CAACA,KAAK,EAAEX,aAAa,EAAE,IAAID,aAAa,CAAC,CAAC,CAAC;EAClD;EAEAa,QAAQA,CAACC,KAAU,EAAE;IACnB,IAAI,CAACA,KAAK,EAAE;MACV;IACF;IACA,MAAMC,MAAM,GAAG,IAAI,CAACC,KAAK,CAACJ,KAAK,CAACK,SAAS;IACzC,IAAI,CAACC,QAAQ,CAACJ,KAAK,CAAC;IACpB,IAAIA,KAAK,KAAKC,MAAM,EAAE;MACpB;IACF;IACA,IAAI,IAAI,CAACC,KAAK,CAACJ,KAAK,CAACO,SAAS,KAAK,YAAY,EAAE;MAC/C,MAAMC,YAAY,GAAGrB,IAAI,CAAC,IAAI,CAACiB,KAAK,CAACK,SAAS,EAAGC,IAAI,IAAKxB,OAAO,CAACwB,IAAI,CAACC,GAAG,EAAET,KAAK,CAAC,CAAC;MACnFA,KAAK,GAAGM,YAAY,IAAIA,YAAY,CAACI,UAAU;IACjD;IACA;IACA,IAAI,CAACC,WAAW,CAAC;MAACb,KAAK,EAAE;QAACK,SAAS,EAAEH;MAAK,CAAC;MAAEY,SAAS,EAAE;IAAK,CAAC,EAC5D,MAAM;MACN,IAAI,CAAC,IAAI,CAACd,KAAK,CAACe,WAAW,EAAE;QAC3B,IAAI,CAACC,mBAAmB,CAAC,UAAU,EAAE,CAACC,SAAS,EAAE,IAAI,CAACC,KAAK,EAAEhB,KAAK,EAAEC,MAAM,CAAC,CAAC;MAC9E;IACA,CAAC,CAAC;EACN;EAEAgB,KAAKA,CAACC,KAAU,EAAEV,IAAS,EAAE;IAC3B,MAAMR,KAAK,GAAG,IAAI,CAACE,KAAK,CAACJ,KAAK,CAACO,SAAS,KAAK,YAAY,GAAG,IAAI,CAACc,UAAU,CAACX,IAAI,CAACH,SAAS,CAAC,GAAGG,IAAI,CAACH,SAAS;IAC5G,IAAI,CAACN,QAAQ,CAACC,KAAK,CAAC;IACpB,IAAI,CAACc,mBAAmB,CAAC,OAAO,EAAE,CAAEI,KAAK,EAAE,IAAI,CAACF,KAAK,CAAE,CAAC;EAC1D;EACAI,WAAWA,CAACZ,IAAS,EAAEa,KAAU,EAAE;IACjC,IAAIC,QAAQ,GAAG,QAAQ;IACvB,MAAMxB,KAAK,GAAG,IAAI,CAACI,KAAK,CAACJ,KAAK;IAC9B,IAAGuB,KAAK,KAAK,CAAC,EAAE;MACdC,QAAQ,GAAG,aAAa;IAC1B,CAAC,MAAM,IAAID,KAAK,GAAC,CAAC,KAAK,IAAI,CAACnB,KAAK,CAACK,SAAS,CAACgB,MAAM,EAAE;MAClDD,QAAQ,GAAG,YAAY;IACzB;IACA,MAAME,WAAW,GAAGhB,IAAI,CAACiB,UAAU,IAAIjB,IAAI,CAACkB,YAAY;IACxD,MAAMC,UAAU,GAAG,IAAI,CAACzB,KAAK,CAACJ,KAAK,CAACO,SAAS,KAAK,YAAY,GAAGrB,OAAO,CAACc,KAAK,CAACK,SAAS,EAAEK,IAAI,CAACH,SAAS,CAAC,GAAG,IAAI,CAACH,KAAK,CAACJ,KAAK,CAACK,SAAS,KAAKK,IAAI,CAACH,SAAS;IACzJ,oBACExB,KAAA,CAAA+C,aAAA,CAACrC,QAAQ,EAAAsC,QAAA,KACH,IAAI,CAACC,qBAAqB,CAAC,QAAQ,GAACT,KAAK,CAAC;MAC9CU,kBAAkB,EAAE;QAAC,GAAGtC,qBAAqB,CAACD,uBAAuB,CAACwC,MAAM,EAAE;UAACC,QAAQ,EAAEN,UAAU;UAAEO,IAAI,EAAEpC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEoC;QAAI,CAAC;MAAC,CAAE;MAC1HjB,KAAK,EAAE,IAAI,CAACf,KAAK,CAACJ,KAAK,CAACqC,QAAQ,GAAGpB,SAAS,GAAG,IAAI,CAACE,KAAK,CAACmB,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE5B,IAAI,CAAE;MACjF6B,MAAM,EAAE,CACN,IAAI,CAACA,MAAM,CAACC,MAAM,EAClB,IAAI,CAACD,MAAM,CAACf,QAAQ,CAAC,EACrBK,UAAU,GAAG,IAAI,CAACU,MAAM,CAACE,cAAc,GAAG,IAAI,CAAE;MAChD9B,GAAG,EAAED,IAAI,CAACC;IAAI,IACf,IAAI,CAACP,KAAK,CAACJ,KAAK,CAAC0C,SAAS,gBACtB3D,KAAA,CAAA+C,aAAA,CAACxC,MAAM;MACNqD,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,MAAM,GAAGrB,KAAK,CAAE;MACnCgB,MAAM,EAAE,IAAI,CAACA,MAAM,CAACM,WAAY;MAChCH,SAAS,EAAEhC,IAAI,CAACoC,IAAK;MACrBC,OAAO,EAAErB;IAAY,CAAS,CAAC,gBAC9B3C,KAAA,CAAA+C,aAAA,CAAC7C,IAAI,QAEF,IAAI,CAAC+D,aAAa,GAAGpD,cAAc,CAAC,IAAI,CAACqD,KAAK,EAAE,CAAC,CAAC,EAAsB;MACtE,GAAG,IAAI,CAACV,MAAM,CAACW,IAAI;MACnB,GAAG,IAAI,CAACX,MAAM,CAACY,QAAQ,CAACD;IAC1B,CAAC,CAAC,gBAAGnE,KAAA,CAAA+C,aAAA,CAAC9C,IAAI,EAAA+C,QAAA,KACN,IAAI,CAACqB,oBAAoB,CAAC,OAAO,GAAG7B,KAAK,CAAC;MAC9C8B,KAAK,EAAE,CAAExB,UAAU,GAAI,IAAI,CAACU,MAAM,CAACe,kBAAkB,GAAG,IAAI,CAACf,MAAM,CAACW,IAAI,EACtE;QAACK,KAAK,EAAE1B,UAAU,GAAG,IAAI,CAACU,MAAM,CAACE,cAAc,CAACc,KAAK,GAAG,IAAI,CAAChB,MAAM,CAACC,MAAM,CAACe;MAAM,CAAC;IAAE,IACrF7B,WACG,CAEF,CACJ,CAAC;EAEf;EAEA8B,WAAWA,CAAA,EAAG;IACZ,MAAMC,KAAK,GAAG,IAAI,CAACrD,KAAK,CAACK,SAAS;IAClC,IAAG,IAAI,CAACuC,aAAa,EAAE;MACrB,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACU,GAAG,CAAC,CAAChD,IAAS,EAAEa,KAAU,KAAK,IAAI,CAACD,WAAW,CAACZ,IAAI,EAAEa,KAAK,CAAC,CAAC;IACnF;IACA,OAAOkC,KAAK,IAAIA,KAAK,CAAChC,MAAM,GAC1BgC,KAAK,CAACC,GAAG,CAAC,CAAChD,IAAS,EAAEa,KAAU,KAAK,IAAI,CAACD,WAAW,CAACZ,IAAI,EAAEa,KAAK,CAAC,CAAC,GAAE,IAAI;EAC7E;EAEAoC,YAAYA,CAAC3D,KAAoB,EAAE;IACjC,oBAAQjB,KAAA,CAAA+C,aAAA,CAAC7C,IAAI;MAACoE,KAAK,EAAE,IAAI,CAACd,MAAM,CAACqB;IAAK,GACnC,IAAI,CAACJ,WAAW,CAAC,CACd,CAAC;EACT;AACF","ignoreList":[]}
|
@@ -8,6 +8,8 @@ export default class WmSwitchProps extends BaseDatasetProps {
|
|
8
8
|
_defineProperty(this, "dataset", 'yes, no, maybe');
|
9
9
|
_defineProperty(this, "dataItems", void 0);
|
10
10
|
_defineProperty(this, "invokeEvent", void 0);
|
11
|
+
_defineProperty(this, "skeletonheight", null);
|
12
|
+
_defineProperty(this, "skeletonwidth", null);
|
11
13
|
}
|
12
14
|
}
|
13
15
|
//# sourceMappingURL=switch.props.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["BaseDatasetProps","WmSwitchProps","constructor","args","_defineProperty"],"sources":["switch.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BaseDatasetProps from '../basedataset/basedataset.props';\n\nexport default class WmSwitchProps extends BaseDatasetProps {\n dataset: any = 'yes, no, maybe';\n dataItems: any;\n invokeEvent?: Function;\n}\n"],"mappings":";;;AACA,OAAOA,gBAAgB,MAAM,kCAAkC;AAE/D,eAAe,MAAMC,aAAa,SAASD,gBAAgB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,kBAC3C,gBAAgB;IAAAA,eAAA;IAAAA,eAAA;EAAA;
|
1
|
+
{"version":3,"names":["BaseDatasetProps","WmSwitchProps","constructor","args","_defineProperty"],"sources":["switch.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport BaseDatasetProps from '../basedataset/basedataset.props';\n\nexport default class WmSwitchProps extends BaseDatasetProps {\n dataset: any = 'yes, no, maybe';\n dataItems: any;\n invokeEvent?: Function;\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n}\n"],"mappings":";;;AACA,OAAOA,gBAAgB,MAAM,kCAAkC;AAE/D,eAAe,MAAMC,aAAa,SAASD,gBAAgB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,kBAC3C,gBAAgB;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,yBAGL,IAAI;IAAAA,eAAA,wBACL,IAAI;EAAA;AAC/B","ignoreList":[]}
|
@@ -68,6 +68,19 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
|
|
68
68
|
borderTopRightRadius: 18,
|
69
69
|
borderBottomRightRadius: 18,
|
70
70
|
borderRightWidth: 1
|
71
|
+
},
|
72
|
+
skeleton: {
|
73
|
+
root: {
|
74
|
+
width: 64,
|
75
|
+
height: 40,
|
76
|
+
paddingLeft: 16,
|
77
|
+
paddingRight: 16
|
78
|
+
},
|
79
|
+
text: {
|
80
|
+
width: 30,
|
81
|
+
height: 10,
|
82
|
+
borderRadius: 4
|
83
|
+
}
|
71
84
|
}
|
72
85
|
});
|
73
86
|
addStyle(DEFAULT_CLASS, '', defaultStyles);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["BASE_THEME","defineStyles","Platform","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","minHeight","padding","flexDirection","text","fontWeight","fontSize","textTransform","userSelect","loadingIcon","flex","alignSelf","justifyContent","color","listSubTitleColor","button","backgroundColor","switchBgColor","switchTextColor","minWidth","height","paddingLeft","paddingRight","borderTopLeftRadius","borderBottomLeftRadius","borderBottomRightRadius","borderTopRightRadius","borderColor","switchBorderColor","borderWidth","borderRightWidth","fontFamily","baseFont","alignItems","selectedButton","switchActiveTextColor","switchActiveBgColor","selectedButtonText","firstButton","lastButton","OS","borderLeftWidth"],"sources":["switch.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 {WmIconStyles} from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.styles\";\nimport { Platform } from 'react-native';\n\nexport type WmSwitchStyles = BaseStyles & {\n loadingIcon: WmIconStyles,\n button: AllStyle,\n selectedButton: AllStyle,\n selectedButtonText: AllStyle,\n firstButton: AllStyle,\n lastButton: AllStyle\n};\n\nexport const DEFAULT_CLASS = 'app-switch';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmSwitchStyles = defineStyles<WmSwitchStyles>({\n root: {\n minHeight: 24,\n padding: 4,\n flexDirection: 'row'\n },\n text: {\n fontWeight: '500',\n fontSize: 16,\n textTransform: 'uppercase',\n userSelect: 'none',\n },\n loadingIcon: {\n root: {\n flex: 1,\n alignSelf: 'center',\n justifyContent: 'center',\n fontSize: 16\n },\n text: {\n color: themeVariables.listSubTitleColor\n }\n } as WmIconStyles,\n button: {\n backgroundColor: themeVariables.switchBgColor,\n color: themeVariables.switchTextColor,\n fontSize: 14,\n minWidth: 64,\n height: 40,\n paddingLeft: 16,\n paddingRight: 16,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n borderTopRightRadius: 0,\n borderColor: themeVariables.switchBorderColor,\n borderWidth: 1,\n borderRightWidth: 0,\n fontWeight: '500',\n fontFamily: themeVariables.baseFont,\n justifyContent: 'center',\n alignItems: 'center'\n } as AllStyle,\n selectedButton: {\n color: themeVariables.switchActiveTextColor,\n backgroundColor: themeVariables.switchActiveBgColor,\n borderColor: themeVariables.switchBorderColor\n } as AllStyle,\n selectedButtonText: {\n fontWeight: '500',\n fontSize: 16,\n textTransform: 'uppercase'\n } as AllStyle,\n firstButton: {\n borderTopLeftRadius: 18,\n borderBottomLeftRadius: 18,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0\n } as AllStyle,\n lastButton: {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 18,\n borderBottomRightRadius: 18,\n borderRightWidth: 1\n } as AllStyle\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle(DEFAULT_CLASS + '-disabled', '', {\n root: {}\n });\n addStyle(DEFAULT_CLASS + '-rtl', '', Platform.OS==\"web\"?{\n firstButton:{\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 6,\n borderBottomRightRadius: 6,\n borderRightWidth: 1,\n borderLeftWidth: 0\n } ,\n lastButton:{\n borderTopLeftRadius: 6,\n borderBottomLeftRadius: 6,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderRightWidth: 0\n }\n }:{});\n addStyle(DEFAULT_CLASS + '1-rtl', '', Platform.OS==\"web\"?{\n firstButton:{\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 500,\n borderBottomRightRadius: 500,\n borderRightWidth: 0,\n borderLeftWidth: 1\n } ,\n lastButton:{\n flex: 1,\n borderTopLeftRadius: 500,\n borderBottomLeftRadius: 500,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderRightWidth: 1\n }\n }:{});\n addStyle(DEFAULT_CLASS + '1', '', {\n firstButton: {\n borderTopLeftRadius: 500,\n borderBottomLeftRadius: 500,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0\n } as AllStyle,\n lastButton: {\n flex: 1,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 500,\n borderBottomRightRadius: 500\n } as AllStyle\n } as WmSwitchStyles);\n});\n"],"mappings":"AAAA,OAAOA,UAAU,MAAkB,wCAAwC;AAC3E,SAAqBC,YAAY,QAAQ,+CAA+C;AAExF,SAASC,QAAQ,QAAQ,cAAc;
|
1
|
+
{"version":3,"names":["BASE_THEME","defineStyles","Platform","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","minHeight","padding","flexDirection","text","fontWeight","fontSize","textTransform","userSelect","loadingIcon","flex","alignSelf","justifyContent","color","listSubTitleColor","button","backgroundColor","switchBgColor","switchTextColor","minWidth","height","paddingLeft","paddingRight","borderTopLeftRadius","borderBottomLeftRadius","borderBottomRightRadius","borderTopRightRadius","borderColor","switchBorderColor","borderWidth","borderRightWidth","fontFamily","baseFont","alignItems","selectedButton","switchActiveTextColor","switchActiveBgColor","selectedButtonText","firstButton","lastButton","skeleton","width","borderRadius","OS","borderLeftWidth"],"sources":["switch.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 {WmIconStyles} from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.styles\";\nimport { Platform } from 'react-native';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\n\nexport type WmSwitchStyles = BaseStyles & {\n loadingIcon: WmIconStyles,\n button: AllStyle,\n selectedButton: AllStyle,\n selectedButtonText: AllStyle,\n firstButton: AllStyle,\n lastButton: AllStyle,\n skeleton: WmSkeletonStyles\n};\n\nexport const DEFAULT_CLASS = 'app-switch';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmSwitchStyles = defineStyles<WmSwitchStyles>({\n root: {\n minHeight: 24,\n padding: 4,\n flexDirection: 'row'\n },\n text: {\n fontWeight: '500',\n fontSize: 16,\n textTransform: 'uppercase',\n userSelect: 'none',\n },\n loadingIcon: {\n root: {\n flex: 1,\n alignSelf: 'center',\n justifyContent: 'center',\n fontSize: 16\n },\n text: {\n color: themeVariables.listSubTitleColor\n }\n } as WmIconStyles,\n button: {\n backgroundColor: themeVariables.switchBgColor,\n color: themeVariables.switchTextColor,\n fontSize: 14,\n minWidth: 64,\n height: 40,\n paddingLeft: 16,\n paddingRight: 16,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n borderTopRightRadius: 0,\n borderColor: themeVariables.switchBorderColor,\n borderWidth: 1,\n borderRightWidth: 0,\n fontWeight: '500',\n fontFamily: themeVariables.baseFont,\n justifyContent: 'center',\n alignItems: 'center'\n } as AllStyle,\n selectedButton: {\n color: themeVariables.switchActiveTextColor,\n backgroundColor: themeVariables.switchActiveBgColor,\n borderColor: themeVariables.switchBorderColor\n } as AllStyle,\n selectedButtonText: {\n fontWeight: '500',\n fontSize: 16,\n textTransform: 'uppercase'\n } as AllStyle,\n firstButton: {\n borderTopLeftRadius: 18,\n borderBottomLeftRadius: 18,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0\n } as AllStyle,\n lastButton: {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 18,\n borderBottomRightRadius: 18,\n borderRightWidth: 1\n } as AllStyle,\n skeleton: {\n root: {\n width:64,\n height: 40,\n paddingLeft: 16,\n paddingRight: 16,\n },\n text: {\n width: 30,\n height: 10,\n borderRadius: 4\n }\n } as any as WmSkeletonStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle(DEFAULT_CLASS + '-disabled', '', {\n root: {}\n });\n addStyle(DEFAULT_CLASS + '-rtl', '', Platform.OS==\"web\"?{\n firstButton:{\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 6,\n borderBottomRightRadius: 6,\n borderRightWidth: 1,\n borderLeftWidth: 0\n } ,\n lastButton:{\n borderTopLeftRadius: 6,\n borderBottomLeftRadius: 6,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderRightWidth: 0\n }\n }:{});\n addStyle(DEFAULT_CLASS + '1-rtl', '', Platform.OS==\"web\"?{\n firstButton:{\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 500,\n borderBottomRightRadius: 500,\n borderRightWidth: 0,\n borderLeftWidth: 1\n } ,\n lastButton:{\n flex: 1,\n borderTopLeftRadius: 500,\n borderBottomLeftRadius: 500,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n borderRightWidth: 1\n }\n }:{});\n addStyle(DEFAULT_CLASS + '1', '', {\n firstButton: {\n borderTopLeftRadius: 500,\n borderBottomLeftRadius: 500,\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0\n } as AllStyle,\n lastButton: {\n flex: 1,\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderTopRightRadius: 500,\n borderBottomRightRadius: 500\n } as AllStyle\n } as WmSwitchStyles);\n});\n"],"mappings":"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","ignoreList":[]}
|
@@ -10,6 +10,7 @@ import { unStringify, validateField } from '@wavemaker/app-rn-runtime/core/utils
|
|
10
10
|
import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
|
11
11
|
import WmToggleProps from './toggle.props';
|
12
12
|
import { DEFAULT_CLASS } from './toggle.styles';
|
13
|
+
import { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';
|
13
14
|
export class WmToggleState extends BaseComponentState {
|
14
15
|
constructor(...args) {
|
15
16
|
super(...args);
|
@@ -92,6 +93,11 @@ export default class WmToggle extends BaseComponent {
|
|
92
93
|
viewWidth: width
|
93
94
|
});
|
94
95
|
}
|
96
|
+
renderSkeleton(props) {
|
97
|
+
return createSkeleton(this.theme, this.styles.skeleton, {
|
98
|
+
...this.styles.skeleton.root
|
99
|
+
});
|
100
|
+
}
|
95
101
|
renderWidget(props) {
|
96
102
|
const styles = this.theme.mergeStyle(this.styles, this.theme.getStyle(this.state.isSwitchOn ? 'app-toggle-on' : 'app-toggle-off'));
|
97
103
|
return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({
|