@wavemaker/app-rn-runtime 11.14.1-rc.6311 → 11.14.2-1.6423
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/advanced/carousel/carousel.component.js +2 -3
- package/components/advanced/carousel/carousel.component.js.map +1 -1
- package/components/advanced/carousel/carousel.styles.js +3 -0
- package/components/advanced/carousel/carousel.styles.js.map +1 -1
- package/components/advanced/customwidgetcontainer/customwidgetcontainer.component.js +14 -0
- package/components/advanced/customwidgetcontainer/customwidgetcontainer.component.js.map +1 -0
- package/components/advanced/customwidgetcontainer/customwidgetcontainer.props.js +11 -0
- package/components/advanced/customwidgetcontainer/customwidgetcontainer.props.js.map +1 -0
- package/components/advanced/customwidgetcontainer/customwidgetcontainer.styles.js +14 -0
- package/components/advanced/customwidgetcontainer/customwidgetcontainer.styles.js.map +1 -0
- package/components/basic/anchor/anchor.styles.js +5 -0
- package/components/basic/anchor/anchor.styles.js.map +1 -1
- package/components/basic/bottomsheet/bottomsheet.component.js +30 -0
- package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
- package/components/basic/icon/icon.component.js +5 -3
- package/components/basic/icon/icon.component.js.map +1 -1
- package/components/basic/icon/icon.styles.js +5 -0
- package/components/basic/icon/icon.styles.js.map +1 -1
- package/components/basic/message/message.component.js.map +1 -1
- package/components/basic/picture/picture.component.js +42 -15
- package/components/basic/picture/picture.component.js.map +1 -1
- package/components/basic/progress-circle/progress-circle.component.js +3 -3
- package/components/basic/progress-circle/progress-circle.component.js.map +1 -1
- package/components/basic/search/search.component.js +4 -3
- package/components/basic/search/search.component.js.map +1 -1
- package/components/container/accordion/accordion.component.js +3 -3
- package/components/container/accordion/accordion.component.js.map +1 -1
- package/components/container/accordion/accordion.styles.js +4 -1
- package/components/container/accordion/accordion.styles.js.map +1 -1
- package/components/container/container.component.js +182 -11
- package/components/container/container.component.js.map +1 -1
- package/components/container/container.props.js +5 -0
- package/components/container/container.props.js.map +1 -1
- package/components/container/linearlayout/linearlayout.component.js +1 -1
- package/components/container/linearlayout/linearlayout.component.js.map +1 -1
- package/components/container/tabs/tabheader/tabheader.component.js +23 -17
- package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- package/components/container/tabs/tabs.component.js +5 -4
- package/components/container/tabs/tabs.component.js.map +1 -1
- package/components/container/tabs/tabs.styles.js +4 -0
- package/components/container/tabs/tabs.styles.js.map +1 -1
- package/components/container/wizard/wizard.component.js +1 -1
- package/components/container/wizard/wizard.component.js.map +1 -1
- package/components/container/wizard/wizard.props.js +1 -0
- package/components/container/wizard/wizard.props.js.map +1 -1
- package/components/container/wizard/wizard.styles.js +1 -3
- package/components/container/wizard/wizard.styles.js.map +1 -1
- package/components/container/wizard/wizardstep/wizardstep.component.js +2 -2
- package/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
- package/components/data/form/form-body/form-body.component.js +2 -1
- package/components/data/form/form-body/form-body.component.js.map +1 -1
- package/components/data/form/form-footer/form-footer.component.js +2 -1
- package/components/data/form/form-footer/form-footer.component.js.map +1 -1
- package/components/data/form/form.styles.js +8 -0
- package/components/data/form/form.styles.js.map +1 -1
- package/components/input/chips/chips.component.js +66 -20
- package/components/input/chips/chips.component.js.map +1 -1
- package/components/input/chips/chips.styles.js +43 -0
- package/components/input/chips/chips.styles.js.map +1 -1
- package/components/input/currency/currency.component.js +2 -1
- package/components/input/currency/currency.component.js.map +1 -1
- package/components/input/currency/currency.styles.js +6 -1
- package/components/input/currency/currency.styles.js.map +1 -1
- package/components/input/epoch/base-datetime.component.js.map +1 -1
- package/components/input/epoch/datetime/datetime.styles.js.map +1 -1
- package/components/input/number/number.component.js +2 -1
- package/components/input/number/number.component.js.map +1 -1
- package/components/input/radioset/radioset.component.js +6 -3
- package/components/input/radioset/radioset.component.js.map +1 -1
- package/components/input/radioset/radioset.styles.js.map +1 -1
- package/components/input/select/select.component.js +2 -1
- package/components/input/select/select.component.js.map +1 -1
- package/components/input/slider/slider.component.js +18 -21
- package/components/input/slider/slider.component.js.map +1 -1
- package/components/input/text/text.component.js +2 -1
- package/components/input/text/text.component.js.map +1 -1
- package/components/input/text/text.styles.js +12 -0
- package/components/input/text/text.styles.js.map +1 -1
- package/components/input/textarea/textarea.component.js +2 -1
- package/components/input/textarea/textarea.component.js.map +1 -1
- package/components/input/toggle/toggle.component.js +26 -1
- package/components/input/toggle/toggle.component.js.map +1 -1
- package/components/input/toggle/toggle.props.js +2 -0
- package/components/input/toggle/toggle.props.js.map +1 -1
- package/components/input/toggle/toggle.styles.js +27 -1
- package/components/input/toggle/toggle.styles.js.map +1 -1
- package/components/navigation/popover/popover.component.js +4 -4
- package/components/navigation/popover/popover.component.js.map +1 -1
- package/components/navigation/popover/popover.props.js +1 -0
- package/components/navigation/popover/popover.props.js.map +1 -1
- package/components/navigation/popover/popover.styles.js +13 -0
- package/components/navigation/popover/popover.styles.js.map +1 -1
- package/core/base.component.js +76 -10
- package/core/base.component.js.map +1 -1
- package/core/components/textinput.component.js +5 -1
- package/core/components/textinput.component.js.map +1 -1
- package/core/tappable.component.js +1 -1
- package/core/tappable.component.js.map +1 -1
- package/npm-shrinkwrap.json +1664 -1831
- package/package-lock.json +1664 -1831
- package/package.json +3 -2
- package/runtime/base-customwidget.component.js +52 -0
- package/runtime/base-customwidget.component.js.map +1 -0
- package/styles/background.component.js +2 -2
- package/styles/background.component.js.map +1 -1
- package/styles/calc.js +165 -0
- package/styles/calc.js.map +1 -0
- package/styles/color-mix.js +82 -0
- package/styles/color-mix.js.map +1 -0
- package/styles/theme.js +104 -23
- package/styles/theme.js.map +1 -1
|
@@ -18,6 +18,8 @@ export default class WmToggleProps extends BaseProps {
|
|
|
18
18
|
_defineProperty(this, "invokeEvent", void 0);
|
|
19
19
|
_defineProperty(this, "skeletonheight", null);
|
|
20
20
|
_defineProperty(this, "skeletonwidth", null);
|
|
21
|
+
_defineProperty(this, "toggleIcon", false);
|
|
22
|
+
_defineProperty(this, "showCheckIcon", false);
|
|
21
23
|
}
|
|
22
24
|
}
|
|
23
25
|
//# sourceMappingURL=toggle.props.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseProps","WmToggleProps","constructor","args","_defineProperty","undefined"],"sources":["toggle.props.ts"],"sourcesContent":["import {AccessibilityRole} from 'react-native';\nimport { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmToggleProps extends BaseProps {\n checkedvalue: any = true;\n uncheckedvalue: any = false;\n datavalue: any;\n readonly? = false;\n onFieldChange: any;\n accessible?: boolean = true;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = \"togglebutton\";\n accessibilitylabelledby?: string = undefined;\n invokeEvent?: Function;\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n}\n"],"mappings":";;;AACA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,aAAa,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,uBAC/B,IAAI;IAAAA,eAAA,yBACF,KAAK;IAAAA,eAAA;IAAAA,eAAA,mBAEf,KAAK;IAAAA,eAAA;IAAAA,eAAA,qBAEM,IAAI;IAAAA,eAAA,6BACGC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,cAAc;IAAAA,eAAA,kCACnBC,SAAS;IAAAD,eAAA;IAAAA,eAAA,yBAElB,IAAI;IAAAA,eAAA,wBACL,IAAI;EAAA;
|
|
1
|
+
{"version":3,"names":["BaseProps","WmToggleProps","constructor","args","_defineProperty","undefined"],"sources":["toggle.props.ts"],"sourcesContent":["import {AccessibilityRole} from 'react-native';\nimport { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmToggleProps extends BaseProps {\n checkedvalue: any = true;\n uncheckedvalue: any = false;\n datavalue: any;\n readonly? = false;\n onFieldChange: any;\n accessible?: boolean = true;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = \"togglebutton\";\n accessibilitylabelledby?: string = undefined;\n invokeEvent?: Function;\n skeletonheight?: string = null as any;\n skeletonwidth?: string = null as any;\n toggleIcon?:boolean = false;\n showCheckIcon?:boolean = false;\n}\n"],"mappings":";;;AACA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,aAAa,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,uBAC/B,IAAI;IAAAA,eAAA,yBACF,KAAK;IAAAA,eAAA;IAAAA,eAAA,mBAEf,KAAK;IAAAA,eAAA;IAAAA,eAAA,qBAEM,IAAI;IAAAA,eAAA,6BACGC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,4BACe,cAAc;IAAAA,eAAA,kCACnBC,SAAS;IAAAD,eAAA;IAAAA,eAAA,yBAElB,IAAI;IAAAA,eAAA,wBACL,IAAI;IAAAA,eAAA,qBACP,KAAK;IAAAA,eAAA,wBACF,KAAK;EAAA;AAChC","ignoreList":[]}
|
|
@@ -20,6 +20,26 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
|
|
|
20
20
|
backgroundSize: '100% 100%',
|
|
21
21
|
backgroundPosition: 'center'
|
|
22
22
|
},
|
|
23
|
+
checkicon: {
|
|
24
|
+
root: {},
|
|
25
|
+
text: {
|
|
26
|
+
fontSize: 16
|
|
27
|
+
},
|
|
28
|
+
icon: {
|
|
29
|
+
color: themeVariables.toggleOnColor,
|
|
30
|
+
padding: 0
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
uncheckicon: {
|
|
34
|
+
root: {},
|
|
35
|
+
text: {
|
|
36
|
+
fontSize: 16
|
|
37
|
+
},
|
|
38
|
+
icon: {
|
|
39
|
+
color: themeVariables.toggleOffColor,
|
|
40
|
+
padding: 0
|
|
41
|
+
}
|
|
42
|
+
},
|
|
23
43
|
skeleton: {
|
|
24
44
|
root: {
|
|
25
45
|
width: 52,
|
|
@@ -57,7 +77,13 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
|
|
|
57
77
|
});
|
|
58
78
|
addStyle(DEFAULT_CLASS + '-rtl', '', {});
|
|
59
79
|
addStyle(DEFAULT_CLASS + '-disabled', '', {
|
|
60
|
-
root: {
|
|
80
|
+
root: {
|
|
81
|
+
opacity: 0.5
|
|
82
|
+
},
|
|
83
|
+
handle: {
|
|
84
|
+
backgroundColor: themeVariables.toggleHandleDisableColor,
|
|
85
|
+
opacity: 1
|
|
86
|
+
}
|
|
61
87
|
});
|
|
62
88
|
});
|
|
63
89
|
//# sourceMappingURL=toggle.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","width","height","flexDirection","alignItems","borderRadius","text","handle","marginLeft","marginRight","backgroundSize","backgroundPosition","
|
|
1
|
+
{"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","width","height","flexDirection","alignItems","borderRadius","text","handle","marginLeft","marginRight","backgroundSize","backgroundPosition","checkicon","fontSize","icon","color","toggleOnColor","padding","uncheckicon","toggleOffColor","skeleton","minWidth","backgroundColor","toggleHandleColor","borderColor","toggleOffBorderColor","borderWidth","toggleHandleDisableColor","opacity"],"sources":["toggle.styles.ts"],"sourcesContent":["import BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { ViewStyle } from 'react-native';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { WmIconStyles } from '../../basic/icon/icon.styles';\n\nexport type WmToggleStyles = BaseStyles & {\n handle: ViewStyle,\n skeleton: WmSkeletonStyles,\n checkicon: WmIconStyles,\n uncheckicon: WmIconStyles\n};\n\nexport const DEFAULT_CLASS = 'app-toggle';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmToggleStyles = defineStyles({\n root: {\n width: 52,\n height: 32,\n flexDirection: 'row',\n alignItems: 'center',\n borderRadius: 18\n },\n text: {},\n handle: {\n width: 16,\n height: 16,\n borderRadius: 18,\n marginLeft : 8,\n marginRight: 0,\n backgroundSize: '100% 100%',\n backgroundPosition: 'center'\n },\n checkicon : {\n root: {},\n text: {\n fontSize: 16\n },\n icon : {\n color: themeVariables.toggleOnColor,\n padding: 0\n }\n } as WmIconStyles,\n uncheckicon : {\n root: {},\n text: {\n fontSize: 16\n },\n icon : {\n color: themeVariables.toggleOffColor,\n padding: 0\n }\n } as WmIconStyles,\n skeleton: {\n root: {\n width: 52,\n height: 32,\n borderRadius: 18,\n }\n } as WmSkeletonStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n \n // Add horizontal form input styles for horizontal form field layouts - positioned early to avoid overriding more specific styles\n addStyle('form-toggle-input-horizontal', '', {\n root: {\n minWidth: 0, \n },\n text: {}\n } as BaseStyles);\n \n addStyle(DEFAULT_CLASS + '-on', '', {\n root : {\n backgroundColor: themeVariables.toggleOnColor,\n },\n handle: {\n backgroundColor: themeVariables.toggleHandleColor,\n }\n } as WmToggleStyles);\n addStyle(DEFAULT_CLASS + '-off', '', {\n root : {\n backgroundColor: themeVariables.toggleOffColor,\n borderColor: themeVariables.toggleOffBorderColor,\n borderWidth: 2\n },\n handle: {\n backgroundColor: themeVariables.toggleHandleDisableColor,\n }\n } as WmToggleStyles);\n addStyle(DEFAULT_CLASS + '-rtl', '', {});\n addStyle(DEFAULT_CLASS + '-disabled', '', {\n root : {\n opacity:0.5\n },\n handle: {\n backgroundColor: themeVariables.toggleHandleDisableColor,\n opacity:1\n }\n });\n});\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,wCAAwC;AAC/D,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,CAAC;IAC/CM,IAAI,EAAE;MACJC,KAAK,EAAE,EAAE;MACTC,MAAM,EAAE,EAAE;MACVC,aAAa,EAAE,KAAK;MACpBC,UAAU,EAAE,QAAQ;MACpBC,YAAY,EAAE;IAChB,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,MAAM,EAAE;MACNN,KAAK,EAAE,EAAE;MACTC,MAAM,EAAE,EAAE;MACVG,YAAY,EAAE,EAAE;MAChBG,UAAU,EAAG,CAAC;MACdC,WAAW,EAAE,CAAC;MACdC,cAAc,EAAE,WAAW;MAC3BC,kBAAkB,EAAE;IACtB,CAAC;IACDC,SAAS,EAAG;MACVZ,IAAI,EAAE,CAAC,CAAC;MACRM,IAAI,EAAE;QACJO,QAAQ,EAAE;MACZ,CAAC;MACDC,IAAI,EAAG;QACLC,KAAK,EAAElB,cAAc,CAACmB,aAAa;QACnCC,OAAO,EAAE;MACX;IACJ,CAAiB;IACfC,WAAW,EAAG;MACZlB,IAAI,EAAE,CAAC,CAAC;MACRM,IAAI,EAAE;QACJO,QAAQ,EAAE;MACZ,CAAC;MACDC,IAAI,EAAG;QACLC,KAAK,EAAElB,cAAc,CAACsB,cAAc;QACpCF,OAAO,EAAE;MACX;IACJ,CAAiB;IACfG,QAAQ,EAAE;MACRpB,IAAI,EAAE;QACJC,KAAK,EAAE,EAAE;QACTC,MAAM,EAAE,EAAE;QACVG,YAAY,EAAE;MAChB;IACF;EACJ,CAAC,CAAC;EAEFP,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;;EAE1C;EACAD,QAAQ,CAAC,8BAA8B,EAAE,EAAE,EAAE;IAC3CE,IAAI,EAAE;MACJqB,QAAQ,EAAE;IACZ,CAAC;IACDf,IAAI,EAAE,CAAC;EACT,CAAe,CAAC;EAEhBR,QAAQ,CAACH,aAAa,GAAG,KAAK,EAAE,EAAE,EAAE;IAClCK,IAAI,EAAG;MACLsB,eAAe,EAAEzB,cAAc,CAACmB;IAClC,CAAC;IACDT,MAAM,EAAE;MACNe,eAAe,EAAEzB,cAAc,CAAC0B;IAClC;EACF,CAAmB,CAAC;EACpBzB,QAAQ,CAACH,aAAa,GAAG,MAAM,EAAE,EAAE,EAAE;IACnCK,IAAI,EAAG;MACLsB,eAAe,EAAEzB,cAAc,CAACsB,cAAc;MAC9CK,WAAW,EAAE3B,cAAc,CAAC4B,oBAAoB;MAChDC,WAAW,EAAE;IACf,CAAC;IACDnB,MAAM,EAAE;MACNe,eAAe,EAAEzB,cAAc,CAAC8B;IAClC;EACF,CAAmB,CAAC;EACpB7B,QAAQ,CAACH,aAAa,GAAG,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;EACxCG,QAAQ,CAACH,aAAa,GAAG,WAAW,EAAE,EAAE,EAAE;IACtCK,IAAI,EAAG;MACL4B,OAAO,EAAC;IACV,CAAC;IACDrB,MAAM,EAAE;MACNe,eAAe,EAAEzB,cAAc,CAAC8B,wBAAwB;MACxDC,OAAO,EAAC;IACV;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -10,7 +10,7 @@ import { ModalConsumer } from '@wavemaker/app-rn-runtime/core/modal.service';
|
|
|
10
10
|
import WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';
|
|
11
11
|
import WmPopoverProps from './popover.props';
|
|
12
12
|
import { DEFAULT_CLASS } from './popover.styles';
|
|
13
|
-
import WmContainer from '
|
|
13
|
+
import WmContainer from '@wavemaker/app-rn-runtime/components/container/container.component';
|
|
14
14
|
import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
|
|
15
15
|
import { ScrollView, GestureHandlerRootView } from 'react-native-gesture-handler';
|
|
16
16
|
import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
|
|
@@ -70,10 +70,10 @@ export default class WmPopover extends BaseComponent {
|
|
|
70
70
|
}
|
|
71
71
|
this.isRTL ? position.right = x : position.left = x;
|
|
72
72
|
if (x + popoverwidth > windowDimensions.width) {
|
|
73
|
-
this.isRTL ? position.right = x + width - popoverwidth : position.left = x;
|
|
73
|
+
this.isRTL ? position.right = x + width - popoverwidth : position.left = x + width - popoverwidth;
|
|
74
74
|
}
|
|
75
|
-
const yOffset = Platform.OS == 'ios' ?
|
|
76
|
-
position.top = y + height
|
|
75
|
+
const yOffset = Platform.OS == 'ios' ? (this === null || this === void 0 || (_this$insets = this.insets) === null || _this$insets === void 0 ? void 0 : _this$insets.top) || 0 : 0;
|
|
76
|
+
position.top = y + height - yOffset;
|
|
77
77
|
this.updateState({
|
|
78
78
|
position: position
|
|
79
79
|
}, callback);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","isString","TouchableOpacity","Text","View","Dimensions","Animated","PanResponder","Platform","BaseComponent","BaseComponentState","ModalConsumer","WmAnchor","WmPopoverProps","DEFAULT_CLASS","WmContainer","AccessibilityWidgetType","getAccessibilityProps","ScrollView","GestureHandlerRootView","SafeAreaInsetsContext","WmPopoverState","constructor","args","_defineProperty","WmPopover","props","Value","top","bottom","left","right","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderMove","_","gestureState","dy","Number","styles","popover","minHeight","dragY","setValue","onPanResponderRelease","timing","toValue","maxHeight","duration","useNativeDriver","start","callback","position","state","type","windowDimensions","get","view","measureInWindow","x","y","width","height","_this$insets","popoverwidth","parseInt","isRTL","yOffset","OS","insets","updateState","e","computePosition","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","Consumer","onLayout","handleLayout","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, Platform } 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';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { SafeAreaInsetsContext, EdgeInsets } from 'react-native-safe-area-context';\n\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 insets: EdgeInsets | null = {\n top: 0, bottom: 0, left: 0, right: 0\n };\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 = (callback?: () => void) => {\n const position = {} as PopoverPosition;\n if (this.state.props.type === 'dropdown') {\n const windowDimensions = Dimensions.get('window');\n this.view.measureInWindow((x, y, width, height) => {\n let popoverwidth = this.state.props.popoverwidth as any;\n if (popoverwidth && isString(popoverwidth)) {\n popoverwidth = parseInt(popoverwidth);\n }\n \n this.isRTL ? position.right = x : position.left = x;\n \n if (x + popoverwidth > windowDimensions.width) {\n this.isRTL\n ? (position.right = x + width - popoverwidth)\n : (position.left = x);\n }\n const yOffset = Platform.OS == 'ios' ? 0 : (this?.insets?.top || 0);\n position.top = y + height + yOffset;\n this.updateState({position: position} as WmPopoverState, callback);\n });\n } else if (callback) {\n callback();\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.computePosition(() => {\n this.updateState({ isOpened: true } as WmPopoverState);\n this.invokeEventCallback('onShow', [e, this]);\n });\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 <SafeAreaInsetsContext.Consumer>\n {(insets = {top: 0, bottom: 0, left: 0, right: 0})=>{\n this.insets = insets;\n return (\n <View style={styles.root} onLayout={(e: LayoutChangeEvent)=>this.handleLayout(e)} 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 accessible={false}/>\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 </SafeAreaInsetsContext.Consumer>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","isString","TouchableOpacity","Text","View","Dimensions","Animated","PanResponder","Platform","BaseComponent","BaseComponentState","ModalConsumer","WmAnchor","WmPopoverProps","DEFAULT_CLASS","WmContainer","AccessibilityWidgetType","getAccessibilityProps","ScrollView","GestureHandlerRootView","SafeAreaInsetsContext","WmPopoverState","constructor","args","_defineProperty","WmPopover","props","Value","top","bottom","left","right","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderMove","_","gestureState","dy","Number","styles","popover","minHeight","dragY","setValue","onPanResponderRelease","timing","toValue","maxHeight","duration","useNativeDriver","start","callback","position","state","type","windowDimensions","get","view","measureInWindow","x","y","width","height","_this$insets","popoverwidth","parseInt","isRTL","yOffset","OS","insets","updateState","e","computePosition","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","Consumer","onLayout","handleLayout","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, Platform } 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 '@wavemaker/app-rn-runtime/components/container/container.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { ScrollView, GestureHandlerRootView } from 'react-native-gesture-handler';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport { SafeAreaInsetsContext, EdgeInsets } from 'react-native-safe-area-context';\n\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 insets: EdgeInsets | null = {\n top: 0, bottom: 0, left: 0, right: 0\n };\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 = (callback?: () => void) => {\n const position = {} as PopoverPosition;\n if (this.state.props.type === 'dropdown') {\n const windowDimensions = Dimensions.get('window');\n this.view.measureInWindow((x, y, width, height) => {\n let popoverwidth = this.state.props.popoverwidth as any;\n if (popoverwidth && isString(popoverwidth)) {\n popoverwidth = parseInt(popoverwidth);\n }\n\n this.isRTL ? position.right = x : position.left = x;\n\n if (x + popoverwidth > windowDimensions.width) {\n this.isRTL\n ? (position.right = x + width - popoverwidth)\n : (position.left = x + width - popoverwidth);\n }\n const yOffset = Platform.OS == 'ios' ? (this?.insets?.top || 0) : 0;\n position.top = y + height - yOffset;\n this.updateState({position: position} as WmPopoverState, callback);\n });\n } else if (callback) {\n callback();\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.computePosition(() => {\n this.updateState({ isOpened: true } as WmPopoverState);\n this.invokeEventCallback('onShow', [e, this]);\n });\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 <SafeAreaInsetsContext.Consumer>\n {(insets = {top: 0, bottom: 0, left: 0, right: 0})=>{\n this.insets = insets;\n return (\n <View style={styles.root} onLayout={(e: LayoutChangeEvent)=>this.handleLayout(e)} 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 accessible={false}/>\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 </SafeAreaInsetsContext.Consumer>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -26,6 +26,7 @@ export default class WmPopoverProps extends BaseProps {
|
|
|
26
26
|
_defineProperty(this, "accessible", true);
|
|
27
27
|
_defineProperty(this, "accessibilitylabel", undefined);
|
|
28
28
|
_defineProperty(this, "hint", undefined);
|
|
29
|
+
_defineProperty(this, "draghandle", false);
|
|
29
30
|
_defineProperty(this, "accessibilityrole", 'button');
|
|
30
31
|
}
|
|
31
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseProps","WmPopoverProps","constructor","args","_defineProperty","undefined"],"sources":["popover.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport React from 'react';\nimport { AccessibilityRole } from 'react-native';\n\nexport default class WmPopoverProps extends BaseProps {\n animation?: string = null as any;\n badgevalue? = null as any;\n caption? = 'Link';\n contentanimation?: string = null as any;\n iconclass? = null as any;\n iconposition? = 'left' as any;\n popoverwidth?: string | number | null = 240;\n popoverheight?: string | number | null = 360;\n autoclose?: 'outsideClick' | 'disabled' | 'always' = 'outsideClick';\n autoopen?: boolean = false;\n children? = [] as any;\n renderPartial?: Function = null as any;\n title?: string = null as any;\n type?: 'action-sheet' | 'dropdown' = 'action-sheet';\n iconurl?: string = null as any;\n iconheight?: number = null as any;\n iconwidth?: number = null as any;\n iconmargin?: number = null as any;\n accessible?: boolean = true;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole = 'button';\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAIzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBAC/B,IAAI;IAAAA,eAAA,qBACX,IAAI;IAAAA,eAAA,kBACP,MAAM;IAAAA,eAAA,2BACW,IAAI;IAAAA,eAAA,oBACnB,IAAI;IAAAA,eAAA,uBACD,MAAM;IAAAA,eAAA,uBACkB,GAAG;IAAAA,eAAA,wBACF,GAAG;IAAAA,eAAA,oBACS,cAAc;IAAAA,eAAA,mBAC9C,KAAK;IAAAA,eAAA,mBACd,EAAE;IAAAA,eAAA,wBACa,IAAI;IAAAA,eAAA,gBACd,IAAI;IAAAA,eAAA,eACgB,cAAc;IAAAA,eAAA,kBAChC,IAAI;IAAAA,eAAA,qBACD,IAAI;IAAAA,eAAA,oBACL,IAAI;IAAAA,eAAA,qBACH,IAAI;IAAAA,eAAA,qBACH,IAAI;IAAAA,eAAA,6BACGC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,
|
|
1
|
+
{"version":3,"names":["BaseProps","WmPopoverProps","constructor","args","_defineProperty","undefined"],"sources":["popover.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport React from 'react';\nimport { AccessibilityRole } from 'react-native';\n\nexport default class WmPopoverProps extends BaseProps {\n animation?: string = null as any;\n badgevalue? = null as any;\n caption? = 'Link';\n contentanimation?: string = null as any;\n iconclass? = null as any;\n iconposition? = 'left' as any;\n popoverwidth?: string | number | null = 240;\n popoverheight?: string | number | null = 360;\n autoclose?: 'outsideClick' | 'disabled' | 'always' = 'outsideClick';\n autoopen?: boolean = false;\n children? = [] as any;\n renderPartial?: Function = null as any;\n title?: string = null as any;\n type?: 'action-sheet' | 'dropdown' = 'action-sheet';\n iconurl?: string = null as any;\n iconheight?: number = null as any;\n iconwidth?: number = null as any;\n iconmargin?: number = null as any;\n accessible?: boolean = true;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n draghandle?: boolean = false;\n accessibilityrole?: AccessibilityRole = 'button';\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAIzE,eAAe,MAAMC,cAAc,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,oBAC/B,IAAI;IAAAA,eAAA,qBACX,IAAI;IAAAA,eAAA,kBACP,MAAM;IAAAA,eAAA,2BACW,IAAI;IAAAA,eAAA,oBACnB,IAAI;IAAAA,eAAA,uBACD,MAAM;IAAAA,eAAA,uBACkB,GAAG;IAAAA,eAAA,wBACF,GAAG;IAAAA,eAAA,oBACS,cAAc;IAAAA,eAAA,mBAC9C,KAAK;IAAAA,eAAA,mBACd,EAAE;IAAAA,eAAA,wBACa,IAAI;IAAAA,eAAA,gBACd,IAAI;IAAAA,eAAA,eACgB,cAAc;IAAAA,eAAA,kBAChC,IAAI;IAAAA,eAAA,qBACD,IAAI;IAAAA,eAAA,oBACL,IAAI;IAAAA,eAAA,qBACH,IAAI;IAAAA,eAAA,qBACH,IAAI;IAAAA,eAAA,6BACGC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA,qBACF,KAAK;IAAAA,eAAA,4BACY,QAAQ;EAAA;AAClD","ignoreList":[]}
|
|
@@ -37,6 +37,19 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
|
|
|
37
37
|
modalContent: {
|
|
38
38
|
borderTopLeftRadius: 28,
|
|
39
39
|
borderTopRightRadius: 28
|
|
40
|
+
},
|
|
41
|
+
draghandleicon: {
|
|
42
|
+
root: {
|
|
43
|
+
alignSelf: 'center'
|
|
44
|
+
},
|
|
45
|
+
text: {
|
|
46
|
+
fontSize: 32
|
|
47
|
+
},
|
|
48
|
+
icon: {
|
|
49
|
+
color: 'var(--wm-color-surface-variant-black)',
|
|
50
|
+
padding: 0,
|
|
51
|
+
opacity: 0.4
|
|
52
|
+
}
|
|
40
53
|
}
|
|
41
54
|
});
|
|
42
55
|
addStyle(DEFAULT_CLASS, '', defaultStyles);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BASE_THEME","defineStyles","Dimensions","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","padding","alignSelf","text","title","backgroundColor","popoverTitleBackgroundColor","color","popoverTitleColor","fontSize","fontFamily","baseFont","link","paddingRight","popover","popoverBackgroundColor","maxWidth","borderTopLeftRadius","borderTopRightRadius","popoverContent","flex","modal","modalContent","position","bottom","left","right","width","minHeight","elevation","maxHeight","get","height","boxShadow","justifyContent","transparent","borderRadius"],"sources":["popover.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 { WmAnchorStyles } from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.styles';\nimport { WmContainerStyles } from '@wavemaker/app-rn-runtime/components/container/container.styles';\nimport { Dimensions } from 'react-native';\n\nexport type WmPopoverStyles = BaseStyles & {\n link: WmAnchorStyles,\n popover: AllStyle,\n popoverContent : WmContainerStyles,\n modal: AllStyle,\n modalContent: AllStyle,\n title: AllStyle\n};\n\nexport const DEFAULT_CLASS = 'app-popover';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmPopoverStyles = defineStyles({\n root: {\n padding: 8,\n alignSelf: 'flex-start'\n },\n text: {},\n title: {\n backgroundColor: themeVariables.popoverTitleBackgroundColor,\n padding: 12,\n color: themeVariables.popoverTitleColor,\n fontSize: 16,\n fontFamily: themeVariables.baseFont\n },\n link: {\n root:{\n },\n text:{\n paddingRight: 8\n }\n } as WmAnchorStyles,\n popover: {\n backgroundColor: themeVariables.popoverBackgroundColor,\n maxWidth: 640,\n borderTopLeftRadius: 28,\n borderTopRightRadius: 28 \n },\n popoverContent : {\n root: {\n flex: 1\n }\n } as WmContainerStyles,\n modal: {},\n modalContent: {\n borderTopLeftRadius: 28,\n borderTopRightRadius: 28\n }\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle('app-popover-action-sheet', '', {\n modal: {\n backgroundColor: 'rgba(0, 0, 0, 0.3)',\n },\n popover: {\n position: \"absolute\",\n bottom: 0,\n left: 0,\n right: 0,\n width: '100%',\n minHeight: 240,\n elevation: 4,\n maxHeight: Dimensions.get('window').height - 120\n },\n modalContent: {\n position: 'absolute',\n bottom: 0,\n width: '100%',\n boxShadow: '0px 0px 10px rgba(0, 0, 0, 0.6)',\n justifyContent: 'flex-end'\n }\n } as any as WmPopoverStyles);\n addStyle('popover-dropdown', '', {\n modal: {\n backgroundColor: 'transparent',\n },\n popover: {\n backgroundColor: themeVariables.transparent\n },\n modalContent: {\n borderRadius: 6,\n position: 'absolute',\n boxShadow: `4px 4px 8px rgba(0, 0, 0, 0.27)`,\n }\n } as WmPopoverStyles);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAoB,wCAAwC;AAC7E,SAAqBC,YAAY,QAAQ,+CAA+C;AAGxF,SAASC,UAAU,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["BASE_THEME","defineStyles","Dimensions","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","padding","alignSelf","text","title","backgroundColor","popoverTitleBackgroundColor","color","popoverTitleColor","fontSize","fontFamily","baseFont","link","paddingRight","popover","popoverBackgroundColor","maxWidth","borderTopLeftRadius","borderTopRightRadius","popoverContent","flex","modal","modalContent","draghandleicon","icon","opacity","position","bottom","left","right","width","minHeight","elevation","maxHeight","get","height","boxShadow","justifyContent","transparent","borderRadius"],"sources":["popover.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 { WmAnchorStyles } from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.styles';\nimport { WmContainerStyles } from '@wavemaker/app-rn-runtime/components/container/container.styles';\nimport { Dimensions } from 'react-native';\nimport { WmIconStyles } from '../../basic/icon/icon.styles';\n\nexport type WmPopoverStyles = BaseStyles & {\n link: WmAnchorStyles,\n popover: AllStyle,\n popoverContent : WmContainerStyles,\n modal: AllStyle,\n modalContent: AllStyle,\n title: AllStyle,\n draghandleicon:WmIconStyles\n};\n\nexport const DEFAULT_CLASS = 'app-popover';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmPopoverStyles = defineStyles({\n root: {\n padding: 8,\n alignSelf: 'flex-start'\n },\n text: {},\n title: {\n backgroundColor: themeVariables.popoverTitleBackgroundColor,\n padding: 12,\n color: themeVariables.popoverTitleColor,\n fontSize: 16,\n fontFamily: themeVariables.baseFont\n },\n link: {\n root:{\n },\n text:{\n paddingRight: 8\n }\n } as WmAnchorStyles,\n popover: {\n backgroundColor: themeVariables.popoverBackgroundColor,\n maxWidth: 640,\n borderTopLeftRadius: 28,\n borderTopRightRadius: 28 \n },\n popoverContent : {\n root: {\n flex: 1\n }\n } as WmContainerStyles,\n modal: {},\n modalContent: {\n borderTopLeftRadius: 28,\n borderTopRightRadius: 28\n },\n draghandleicon : {\n root: {alignSelf:'center',},\n text: {\n fontSize: 32\n },\n icon : {\n color: 'var(--wm-color-surface-variant-black)',\n padding: 0,\n opacity:0.4\n }\n } as WmIconStyles,\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle('app-popover-action-sheet', '', {\n modal: {\n backgroundColor: 'rgba(0, 0, 0, 0.3)',\n },\n popover: {\n position: \"absolute\",\n bottom: 0,\n left: 0,\n right: 0,\n width: '100%',\n minHeight: 240,\n elevation: 4,\n maxHeight: Dimensions.get('window').height - 120\n },\n modalContent: {\n position: 'absolute',\n bottom: 0,\n width: '100%',\n boxShadow: '0px 0px 10px rgba(0, 0, 0, 0.6)',\n justifyContent: 'flex-end'\n }\n } as any as WmPopoverStyles);\n addStyle('popover-dropdown', '', {\n modal: {\n backgroundColor: 'transparent',\n },\n popover: {\n backgroundColor: themeVariables.transparent\n },\n modalContent: {\n borderRadius: 6,\n position: 'absolute',\n boxShadow: `4px 4px 8px rgba(0, 0, 0, 0.27)`,\n }\n } as WmPopoverStyles);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAoB,wCAAwC;AAC7E,SAAqBC,YAAY,QAAQ,+CAA+C;AAGxF,SAASC,UAAU,QAAQ,cAAc;AAazC,OAAO,MAAMC,aAAa,GAAG,aAAa;AAC1CH,UAAU,CAACI,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACnD,MAAMC,aAA8B,GAAGN,YAAY,CAAC;IAChDO,IAAI,EAAE;MACFC,OAAO,EAAE,CAAC;MACVC,SAAS,EAAE;IACf,CAAC;IACDC,IAAI,EAAE,CAAC,CAAC;IACRC,KAAK,EAAE;MACHC,eAAe,EAAER,cAAc,CAACS,2BAA2B;MAC3DL,OAAO,EAAE,EAAE;MACXM,KAAK,EAAEV,cAAc,CAACW,iBAAiB;MACvCC,QAAQ,EAAE,EAAE;MACZC,UAAU,EAAEb,cAAc,CAACc;IAC/B,CAAC;IACDC,IAAI,EAAE;MACFZ,IAAI,EAAC,CACL,CAAC;MACDG,IAAI,EAAC;QACDU,YAAY,EAAE;MAClB;IACJ,CAAmB;IACnBC,OAAO,EAAE;MACLT,eAAe,EAAER,cAAc,CAACkB,sBAAsB;MACtDC,QAAQ,EAAE,GAAG;MACbC,mBAAmB,EAAE,EAAE;MACvBC,oBAAoB,EAAE;IAC1B,CAAC;IACDC,cAAc,EAAG;MACbnB,IAAI,EAAE;QACFoB,IAAI,EAAE;MACV;IACJ,CAAsB;IACtBC,KAAK,EAAE,CAAC,CAAC;IACTC,YAAY,EAAE;MACVL,mBAAmB,EAAE,EAAE;MACvBC,oBAAoB,EAAE;IAC1B,CAAC;IACDK,cAAc,EAAG;MACbvB,IAAI,EAAE;QAACE,SAAS,EAAC;MAAS,CAAC;MAC3BC,IAAI,EAAE;QACNM,QAAQ,EAAE;MACV,CAAC;MACDe,IAAI,EAAG;QACHjB,KAAK,EAAE,uCAAuC;QAC9CN,OAAO,EAAE,CAAC;QACVwB,OAAO,EAAC;MACZ;IACA;EACR,CAAC,CAAC;EAEF3B,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;EAC1CD,QAAQ,CAAC,0BAA0B,EAAE,EAAE,EAAE;IACrCuB,KAAK,EAAE;MACHhB,eAAe,EAAE;IACrB,CAAC;IACDS,OAAO,EAAE;MACLY,QAAQ,EAAE,UAAU;MACpBC,MAAM,EAAE,CAAC;MACTC,IAAI,EAAE,CAAC;MACPC,KAAK,EAAE,CAAC;MACRC,KAAK,EAAE,MAAM;MACbC,SAAS,EAAE,GAAG;MACdC,SAAS,EAAE,CAAC;MACZC,SAAS,EAAEvC,UAAU,CAACwC,GAAG,CAAC,QAAQ,CAAC,CAACC,MAAM,GAAG;IACjD,CAAC;IACDb,YAAY,EAAE;MACVI,QAAQ,EAAE,UAAU;MACpBC,MAAM,EAAE,CAAC;MACTG,KAAK,EAAE,MAAM;MACbM,SAAS,EAAE,iCAAiC;MAC5CC,cAAc,EAAE;IACpB;EACJ,CAA2B,CAAC;EAC5BvC,QAAQ,CAAC,kBAAkB,EAAE,EAAE,EAAE;IAC7BuB,KAAK,EAAE;MACHhB,eAAe,EAAE;IACrB,CAAC;IACDS,OAAO,EAAE;MACLT,eAAe,EAAER,cAAc,CAACyC;IACpC,CAAC;IACDhB,YAAY,EAAE;MACViB,YAAY,EAAE,CAAC;MACfb,QAAQ,EAAE,UAAU;MACpBU,SAAS,EAAE;IACf;EACJ,CAAoB,CAAC;AACzB,CAAC,CAAC","ignoreList":[]}
|
package/core/base.component.js
CHANGED
|
@@ -2,11 +2,12 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
|
|
|
2
2
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
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
|
-
import { assign, isUndefined, isNil } from 'lodash';
|
|
5
|
+
import { assign, isUndefined, isNil, isObject, isArray, isString, isEqual } from 'lodash';
|
|
6
6
|
import React from 'react';
|
|
7
|
-
import { AccessibilityInfo, Platform, StyleSheet, View
|
|
7
|
+
import { AccessibilityInfo, Dimensions, InteractionManager, Platform, StyleSheet, View } from 'react-native';
|
|
8
8
|
import * as Animatable from 'react-native-animatable';
|
|
9
9
|
import ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';
|
|
10
|
+
import { CalcExpression } from '@wavemaker/app-rn-runtime/styles/calc';
|
|
10
11
|
import { StyleProps, getStyleName } from '@wavemaker/app-rn-runtime/styles/style-props';
|
|
11
12
|
import { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';
|
|
12
13
|
import injector from '@wavemaker/app-rn-runtime/core/injector';
|
|
@@ -65,6 +66,7 @@ export class BaseComponent extends React.Component {
|
|
|
65
66
|
constructor(markupProps, defaultClass, defaultProps, defaultState) {
|
|
66
67
|
super(markupProps);
|
|
67
68
|
this.defaultClass = defaultClass;
|
|
69
|
+
_defineProperty(this, "calcStyles", null);
|
|
68
70
|
_defineProperty(this, "styles", null);
|
|
69
71
|
_defineProperty(this, "hideMode", HideMode.ADD_TO_DOM);
|
|
70
72
|
_defineProperty(this, "propertyProvider", void 0);
|
|
@@ -98,6 +100,10 @@ export class BaseComponent extends React.Component {
|
|
|
98
100
|
py: 0
|
|
99
101
|
});
|
|
100
102
|
_defineProperty(this, "baseView", View);
|
|
103
|
+
_defineProperty(this, "vw", Dimensions.get('window').width);
|
|
104
|
+
_defineProperty(this, "vh", Dimensions.get('window').height);
|
|
105
|
+
_defineProperty(this, "hasStyleCalcExpression", false);
|
|
106
|
+
_defineProperty(this, "dimensions", {});
|
|
101
107
|
_defineProperty(this, "childComponentStyleKeys", []);
|
|
102
108
|
_defineProperty(this, "hideSkeletonInPageContentWhenDisabledInPage", () => {
|
|
103
109
|
var _this$parent$state;
|
|
@@ -169,6 +175,11 @@ export class BaseComponent extends React.Component {
|
|
|
169
175
|
this.updateStateTimeouts.forEach(v => clearTimeout(v));
|
|
170
176
|
});
|
|
171
177
|
this.cleanup.push(this.theme.subscribe(ThemeEvent.CHANGE, () => {
|
|
178
|
+
this.vw = Dimensions.get('window').width;
|
|
179
|
+
this.vh = Dimensions.get('window').height;
|
|
180
|
+
if (this.reestimateDimensions) {
|
|
181
|
+
this.reestimateDimensions();
|
|
182
|
+
}
|
|
172
183
|
this.forceUpdate();
|
|
173
184
|
}));
|
|
174
185
|
this.cleanup.push(AccessibilityInfo.addEventListener('screenReaderChanged', () => {
|
|
@@ -180,6 +191,23 @@ export class BaseComponent extends React.Component {
|
|
|
180
191
|
this.destroyParentListeners();
|
|
181
192
|
});
|
|
182
193
|
}
|
|
194
|
+
reestimateDimensions() {
|
|
195
|
+
var _this$parent, _this$parent2, _this$layout, _this$layout2;
|
|
196
|
+
const d = {
|
|
197
|
+
vw: this.vw,
|
|
198
|
+
vh: this.vh,
|
|
199
|
+
pw: (_this$parent = this.parent) === null || _this$parent === void 0 || (_this$parent = _this$parent.layout) === null || _this$parent === void 0 ? void 0 : _this$parent.width,
|
|
200
|
+
ph: (_this$parent2 = this.parent) === null || _this$parent2 === void 0 || (_this$parent2 = _this$parent2.layout) === null || _this$parent2 === void 0 ? void 0 : _this$parent2.height,
|
|
201
|
+
w: (_this$layout = this.layout) === null || _this$layout === void 0 ? void 0 : _this$layout.width,
|
|
202
|
+
h: (_this$layout2 = this.layout) === null || _this$layout2 === void 0 ? void 0 : _this$layout2.height
|
|
203
|
+
};
|
|
204
|
+
if (!isEqual(this.dimensions, d)) {
|
|
205
|
+
this.dimensions = d;
|
|
206
|
+
this.notify('layoutChange', []);
|
|
207
|
+
return true;
|
|
208
|
+
}
|
|
209
|
+
return false;
|
|
210
|
+
}
|
|
183
211
|
subscribe(event, fn) {
|
|
184
212
|
return this.notifier.subscribe(event, fn);
|
|
185
213
|
}
|
|
@@ -278,13 +306,13 @@ export class BaseComponent extends React.Component {
|
|
|
278
306
|
}
|
|
279
307
|
}
|
|
280
308
|
componentWillUnmount() {
|
|
281
|
-
var _this$
|
|
309
|
+
var _this$parent3;
|
|
282
310
|
this.destroyed = true;
|
|
283
311
|
if (this.props.listener && this.props.listener.onComponentDestroy) {
|
|
284
312
|
this.props.listener.onComponentDestroy(this.proxy);
|
|
285
313
|
}
|
|
286
314
|
this.cleanup.forEach(f => f && f());
|
|
287
|
-
(_this$
|
|
315
|
+
(_this$parent3 = this.parent) === null || _this$parent3 === void 0 || (_this$parent3 = _this$parent3.componentNode) === null || _this$parent3 === void 0 || _this$parent3.remove(this.componentNode);
|
|
288
316
|
this.notifier.destroy();
|
|
289
317
|
this.notifier.notify('destroy', []);
|
|
290
318
|
}
|
|
@@ -329,8 +357,14 @@ export class BaseComponent extends React.Component {
|
|
|
329
357
|
this.parent = parent;
|
|
330
358
|
this.parent.componentNode.add(this.componentNode);
|
|
331
359
|
this.notifier.setParent(parent.notifier);
|
|
360
|
+
this.destroyParentListeners();
|
|
332
361
|
this.parentListenerDestroyers = [this.parent.subscribe('forceUpdate', () => {
|
|
333
362
|
this.forceUpdate();
|
|
363
|
+
}), this.parent.subscribe('layoutChange', () => {
|
|
364
|
+
if (this.reestimateDimensions && this.reestimateDimensions() && this.hasStyleCalcExpression) {
|
|
365
|
+
this.forceUpdate();
|
|
366
|
+
}
|
|
367
|
+
return false;
|
|
334
368
|
}), this.parent.subscribe('destroy', () => {
|
|
335
369
|
this.destroyParentListeners();
|
|
336
370
|
})];
|
|
@@ -363,6 +397,9 @@ export class BaseComponent extends React.Component {
|
|
|
363
397
|
px,
|
|
364
398
|
py
|
|
365
399
|
};
|
|
400
|
+
if (this.reestimateDimensions && this.reestimateDimensions() && this.hasStyleCalcExpression) {
|
|
401
|
+
this.forceUpdate();
|
|
402
|
+
}
|
|
366
403
|
});
|
|
367
404
|
};
|
|
368
405
|
updateLayout();
|
|
@@ -370,6 +407,12 @@ export class BaseComponent extends React.Component {
|
|
|
370
407
|
requestAnimationFrame(updateLayout);
|
|
371
408
|
});
|
|
372
409
|
}
|
|
410
|
+
} else {
|
|
411
|
+
var _event$nativeEvent;
|
|
412
|
+
this.layout = (_event$nativeEvent = event.nativeEvent) === null || _event$nativeEvent === void 0 ? void 0 : _event$nativeEvent.layout;
|
|
413
|
+
if (this.reestimateDimensions && this.reestimateDimensions() && this.hasStyleCalcExpression) {
|
|
414
|
+
this.forceUpdate();
|
|
415
|
+
}
|
|
373
416
|
}
|
|
374
417
|
}
|
|
375
418
|
copyStyles(property, from, to) {
|
|
@@ -503,6 +546,28 @@ export class BaseComponent extends React.Component {
|
|
|
503
546
|
y: positionY
|
|
504
547
|
}]);
|
|
505
548
|
}
|
|
549
|
+
evaluateCalcStyles(styles) {
|
|
550
|
+
const result = {};
|
|
551
|
+
Object.keys(styles).forEach(k => {
|
|
552
|
+
const value = styles[k];
|
|
553
|
+
if (isArray(value)) {
|
|
554
|
+
result[k] = value.map((v, i) => {
|
|
555
|
+
return this.evaluateCalcStyles(v);
|
|
556
|
+
});
|
|
557
|
+
} else if (isObject(value)) {
|
|
558
|
+
result[k] = this.evaluateCalcStyles(value);
|
|
559
|
+
} else if (isString(value) && value.startsWith('calc(')) {
|
|
560
|
+
result[k] = new CalcExpression(value, {
|
|
561
|
+
vw: this.dimensions.vw || 0,
|
|
562
|
+
vh: this.dimensions.vh || 0,
|
|
563
|
+
p: (k === 'height' ? this.dimensions.ph : this.dimensions.pw) || 0
|
|
564
|
+
}).evaluate();
|
|
565
|
+
} else {
|
|
566
|
+
result[k] = value;
|
|
567
|
+
}
|
|
568
|
+
});
|
|
569
|
+
return result;
|
|
570
|
+
}
|
|
506
571
|
getDependenciesFromContext(fn) {
|
|
507
572
|
return /*#__PURE__*/React.createElement(TappableContext.Consumer, null, tappable => {
|
|
508
573
|
this.closestTappable = tappable;
|
|
@@ -511,9 +576,9 @@ export class BaseComponent extends React.Component {
|
|
|
511
576
|
return /*#__PURE__*/React.createElement(AssetConsumer, null, loadAsset => {
|
|
512
577
|
this.loadAsset = loadAsset;
|
|
513
578
|
return /*#__PURE__*/React.createElement(ParentContext.Consumer, null, parent => {
|
|
514
|
-
var _this$
|
|
579
|
+
var _this$parent4;
|
|
515
580
|
this.setParent(parent);
|
|
516
|
-
this._showSkeleton = this.state.props.showskeleton !== false && (((_this$
|
|
581
|
+
this._showSkeleton = this.state.props.showskeleton !== false && (((_this$parent4 = this.parent) === null || _this$parent4 === void 0 ? void 0 : _this$parent4._showSkeleton) || this.state.props.showskeleton === true) && this.hideSkeletonInPageContentWhenDisabledInPage() === undefined;
|
|
517
582
|
return /*#__PURE__*/React.createElement(ParentContext.Provider, {
|
|
518
583
|
value: this
|
|
519
584
|
}, /*#__PURE__*/React.createElement(ThemeConsumer, null, theme => {
|
|
@@ -536,15 +601,14 @@ export class BaseComponent extends React.Component {
|
|
|
536
601
|
}
|
|
537
602
|
this.isFixed = false;
|
|
538
603
|
const classname = this.getStyleClassName();
|
|
539
|
-
this.
|
|
604
|
+
this.calcStyles = this.theme.mergeStyle(this.getDefaultStyles(), {
|
|
540
605
|
text: this.theme.getStyle('app-' + selectedLocale)
|
|
541
606
|
}, {
|
|
542
607
|
text: this.theme.getStyle(this.defaultClass + '-' + selectedLocale)
|
|
543
|
-
}, props.disabled ? this.theme.getStyle(this.defaultClass + '-disabled') : null, this.isRTL ? this.theme.getStyle(this.defaultClass + '-rtl') : null, classname && this.theme.getStyle(classname), this.isRTL && classname ? this.theme.getStyle(classname + '-rtl') : null, props.showindevice && this.theme.getStyle('d-all-none ' + props.showindevice.map(d => `d-${d}-flex`).join(' ')), this.
|
|
608
|
+
}, props.disabled ? this.theme.getStyle(this.defaultClass + '-disabled') : null, this.isRTL ? this.theme.getStyle(this.defaultClass + '-rtl') : null, classname && this.theme.getStyle(classname), this.isRTL && classname ? this.theme.getStyle(classname + '-rtl') : null, props.showindevice && this.theme.getStyle('d-all-none ' + props.showindevice.map(d => `d-${d}-flex`).join(' ')), this.props.styles, {
|
|
544
609
|
root: this.styleOverrides,
|
|
545
610
|
text: this.styleOverrides
|
|
546
|
-
})
|
|
547
|
-
|
|
611
|
+
});
|
|
548
612
|
// Merge child component styles from custom classes
|
|
549
613
|
if (classname && this.childComponentStyleKeys.length > 0) {
|
|
550
614
|
const customStyles = this.theme.getStyle(classname);
|
|
@@ -554,6 +618,8 @@ export class BaseComponent extends React.Component {
|
|
|
554
618
|
}
|
|
555
619
|
});
|
|
556
620
|
}
|
|
621
|
+
this.hasStyleCalcExpression = false;
|
|
622
|
+
this.styles = this.evaluateCalcStyles(this.calcStyles);
|
|
557
623
|
if (this.styles.root.hasOwnProperty('_background')) {
|
|
558
624
|
delete this.styles.root.backgroundColor;
|
|
559
625
|
}
|