@wavemaker/app-rn-runtime 11.7.1-next.26348 → 11.7.1-next.26350

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.
@@ -95,7 +95,9 @@ export default class WmAccordion extends BaseComponent {
95
95
  }
96
96
  }, /*#__PURE__*/React.createElement(Text, _extends({
97
97
  style: [this.styles.text, this.styles.heading, isExpanded ? this.styles.activeHeaderTitle : {}]
98
- }, this.getTestPropsForAction(`header${index}_title`)), isDefined(item.props.title) ? item.props.title : 'Title'), item.props.description ? /*#__PURE__*/React.createElement(Text, _extends({
98
+ }, this.getTestPropsForAction(`header${index}_title`), {
99
+ accessibilityRole: "header"
100
+ }), isDefined(item.props.title) ? item.props.title : 'Title'), item.props.description ? /*#__PURE__*/React.createElement(Text, _extends({
99
101
  style: this.styles.subheading
100
102
  }, this.getTestPropsForAction(`header${index}_description`)), item.props.description) : null), this.expandCollapseIcon(item, index, true, !showIconOnLeft, true, isExpanded)), item);
101
103
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","TouchableOpacity","View","Badge","isArray","BaseComponent","BaseComponentState","WmAccordionProps","DEFAULT_CLASS","WmIcon","isDefined","WmAccordionState","constructor","arguments","_defineProperty","WmAccordion","props","addAccordionPane","accordionPane","_this$state$isExpande","i","accordionPanes","findIndex","t","title","newIndex","state","isExpanded","find","v","toggle","defaultpaneindex","expand","accordionName","name","collapse","expandCollapseIcon","item","index","showBadge","length","undefined","showIcon","useChevron","widgetProps","badge","badgevalue","createElement","_extends","style","styles","activeBadge","badgetype","getTestProps","iconclass","flexDirection","id","getTestId","theme","mergeStyle","icon","activeIcon","renderAccordionpane","accordionpanes","showIconOnLeft","leftToggleIcon","root","width","pane","key","getTestPropsForAction","header","firstHeader","lastHeader","activeHeader","onPress","bind","flex","justifyContent","text","heading","activeHeaderTitle","description","subheading","expandedId","collapseId","closeothers","lastExpandedIndex","collapsedPane","hide","Promise","resolve","then","expandedPane","show","setState","invokeEventCallback","proxy","componentDidMount","renderWidget","children","_background","map"],"sources":["accordion.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, TouchableOpacity, View } from 'react-native';\nimport { Badge } from 'react-native-paper';\nimport { isArray } from 'lodash';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmAccordionProps from './accordion.props';\nimport { DEFAULT_CLASS, WmAccordionStyles } from './accordion.styles';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmAccordionpane from './accordionpane/accordionpane.component';\nimport { isDefined } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmAccordionState extends BaseComponentState<WmAccordionProps> {\n lastExpandedIndex = -1;\n isExpanded = [] as boolean[];\n}\n\nexport default class WmAccordion extends BaseComponent<WmAccordionProps, WmAccordionState, WmAccordionStyles> {\n public accordionPanes = [] as WmAccordionpane[];\n private newIndex = 0;\n\n constructor(props: WmAccordionProps) {\n super(props, DEFAULT_CLASS, new WmAccordionProps(), new WmAccordionState());\n }\n\n addAccordionPane(accordionPane: WmAccordionpane) {\n const i = this.accordionPanes.findIndex(t => t.props.title === accordionPane.props.title);\n if (i >= 0) {\n this.accordionPanes[i] = accordionPane;\n } else {\n this.accordionPanes[this.newIndex++] = accordionPane;\n }\n if (!(this.state.isExpanded?.find((v) => v))) {\n this.toggle(this.state.props.defaultpaneindex + 1);\n }\n }\n\n expand(accordionName: string) {\n const i = this.accordionPanes.findIndex(t => t.props.name === accordionName);\n this.toggle(i + 1, true);\n }\n\n collapse(accordionName: string) {\n const i = this.accordionPanes.findIndex(t => t.props.name === accordionName);\n this.toggle(i + 1, false);\n }\n\n expandCollapseIcon(item: any, index: number, showBadge = true, showIcon = true, useChevron = true, isExpanded = false) {\n const widgetProps = item.props;\n //@ts-ignore\n const badge = showBadge && widgetProps.badgevalue != undefined ? (\n <Badge style={[\n this.styles.badge,\n isExpanded ? this.styles.activeBadge: null,\n this.styles[widgetProps.badgetype || 'default']]}\n {...this.getTestProps('badge'+index)}>\n {widgetProps.badgevalue}\n </Badge>): null;\n let iconclass = null;\n if (useChevron) {\n iconclass = isExpanded ? 'wi wi-chevron-down' : 'wi wi-chevron-up';\n } else {\n iconclass = isExpanded ? 'wi wi-minus' : 'wi wi-plus';\n }\n return (<View style={{flexDirection: 'row'}}>\n {badge}\n {showIcon ? (\n <WmIcon\n id={this.getTestId('icon' + index)}\n styles={this.theme.mergeStyle({}, this.styles.icon, isExpanded ? this.styles.activeIcon : null)}\n name={'expand_collapse_icon'}\n iconclass={iconclass}></WmIcon>): null}\n </View>);\n }\n\n renderAccordionpane(item: any, index: any, accordionpanes: any[] = []) {\n const showIconOnLeft = this.styles.leftToggleIcon.root.width !== undefined;\n const isExpanded = this.state.isExpanded[index];\n return (\n <View style={this.styles.pane} key={item.props.title}>\n <TouchableOpacity key={'accordionpane_' + (index + 1)}\n {...this.getTestPropsForAction(`header${index}`)}\n style={[this.styles.header,\n index === 0 ? this.styles.firstHeader: null,\n index === accordionpanes.length - 1 && !isExpanded ? this.styles.lastHeader: null,\n isExpanded ? this.styles.activeHeader : {}]}\n onPress={this.toggle.bind(this, index + 1, !isExpanded)}>\n {this.expandCollapseIcon(item, index, false, showIconOnLeft, true, isExpanded)}\n {item.props.iconclass ? <WmIcon styles={this.styles.icon} name={item.props.name + '_icon'} iconclass={item.props.iconclass}></WmIcon>: null}\n <View style={{flexDirection: 'column', flex: 1, justifyContent: 'center'}}>\n <Text style={[\n this.styles.text,\n this.styles.heading,\n isExpanded ? this.styles.activeHeaderTitle : {}]}\n {...this.getTestPropsForAction(`header${index}_title`)}>\n {isDefined(item.props.title) ? item.props.title : 'Title'}\n </Text>\n {item.props.description ? \n (<Text style={this.styles.subheading}\n {...this.getTestPropsForAction(`header${index}_description`)}>{item.props.description}</Text>) : null }\n </View>\n {this.expandCollapseIcon(item, index, true, !showIconOnLeft, true, isExpanded)}\n </TouchableOpacity>\n {item}\n </View>\n );\n }\n\n toggle(index: number, expand = true) {\n let expandedId = expand ? index : -1;\n let collapseId = expand ? -1 : index;\n if (expand && this.state.isExpanded[expandedId - 1]\n || !expand && this.state.isExpanded[collapseId - 1] === false) {\n return;\n }\n if (collapseId < 0 && this.state.props.closeothers) {\n collapseId = this.state.lastExpandedIndex;\n }\n const collapsedPane = this.accordionPanes[collapseId -1];\n collapsedPane?.hide();\n Promise.resolve().then(() => {\n const expandedPane = expandedId ? this.accordionPanes[expandedId - 1]: null;\n expandedPane?.show();\n this.setState((state) => {\n if (collapseId > 0 && collapsedPane) {\n state.isExpanded[collapseId - 1] = false;\n }\n if (expandedId > 0 && expandedPane) {\n state.isExpanded[expandedId - 1] = true;\n }\n return {\n lastExpandedIndex: expandedId,\n isExpanded: [...state.isExpanded]\n };\n }, () => {\n this.invokeEventCallback('onChange', [{},\n this.proxy,\n expandedId - 1,\n collapseId ? collapseId - 1 : null,\n expandedPane && expandedPane.props.name,\n collapsedPane && collapsedPane.props.name]);\n });\n }, () => {});\n }\n\n public componentDidMount(): void {\n super.componentDidMount();\n this.toggle(this.state.props.defaultpaneindex + 1);\n }\n\n renderWidget(props: WmAccordionProps) {\n const accordionpanes = props.children;\n const expandedId = this.state.lastExpandedIndex || 0;\n return (\n <View style={this.styles.root}>\n {this._background}\n {accordionpanes\n ? isArray(accordionpanes) && accordionpanes.length\n ? accordionpanes.map((item: any, index: any) => this.renderAccordionpane(item, index, accordionpanes))\n : this.renderAccordionpane(accordionpanes, 0)\n : null}\n </View>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Text","TouchableOpacity","View","Badge","isArray","BaseComponent","BaseComponentState","WmAccordionProps","DEFAULT_CLASS","WmIcon","isDefined","WmAccordionState","constructor","arguments","_defineProperty","WmAccordion","props","addAccordionPane","accordionPane","_this$state$isExpande","i","accordionPanes","findIndex","t","title","newIndex","state","isExpanded","find","v","toggle","defaultpaneindex","expand","accordionName","name","collapse","expandCollapseIcon","item","index","showBadge","length","undefined","showIcon","useChevron","widgetProps","badge","badgevalue","createElement","_extends","style","styles","activeBadge","badgetype","getTestProps","iconclass","flexDirection","id","getTestId","theme","mergeStyle","icon","activeIcon","renderAccordionpane","accordionpanes","showIconOnLeft","leftToggleIcon","root","width","pane","key","getTestPropsForAction","header","firstHeader","lastHeader","activeHeader","onPress","bind","flex","justifyContent","text","heading","activeHeaderTitle","accessibilityRole","description","subheading","expandedId","collapseId","closeothers","lastExpandedIndex","collapsedPane","hide","Promise","resolve","then","expandedPane","show","setState","invokeEventCallback","proxy","componentDidMount","renderWidget","children","_background","map"],"sources":["accordion.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, TouchableOpacity, View } from 'react-native';\nimport { Badge } from 'react-native-paper';\nimport { isArray } from 'lodash';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmAccordionProps from './accordion.props';\nimport { DEFAULT_CLASS, WmAccordionStyles } from './accordion.styles';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmAccordionpane from './accordionpane/accordionpane.component';\nimport { isDefined } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmAccordionState extends BaseComponentState<WmAccordionProps> {\n lastExpandedIndex = -1;\n isExpanded = [] as boolean[];\n}\n\nexport default class WmAccordion extends BaseComponent<WmAccordionProps, WmAccordionState, WmAccordionStyles> {\n public accordionPanes = [] as WmAccordionpane[];\n private newIndex = 0;\n\n constructor(props: WmAccordionProps) {\n super(props, DEFAULT_CLASS, new WmAccordionProps(), new WmAccordionState());\n }\n\n addAccordionPane(accordionPane: WmAccordionpane) {\n const i = this.accordionPanes.findIndex(t => t.props.title === accordionPane.props.title);\n if (i >= 0) {\n this.accordionPanes[i] = accordionPane;\n } else {\n this.accordionPanes[this.newIndex++] = accordionPane;\n }\n if (!(this.state.isExpanded?.find((v) => v))) {\n this.toggle(this.state.props.defaultpaneindex + 1);\n }\n }\n\n expand(accordionName: string) {\n const i = this.accordionPanes.findIndex(t => t.props.name === accordionName);\n this.toggle(i + 1, true);\n }\n\n collapse(accordionName: string) {\n const i = this.accordionPanes.findIndex(t => t.props.name === accordionName);\n this.toggle(i + 1, false);\n }\n\n expandCollapseIcon(item: any, index: number, showBadge = true, showIcon = true, useChevron = true, isExpanded = false) {\n const widgetProps = item.props;\n //@ts-ignore\n const badge = showBadge && widgetProps.badgevalue != undefined ? (\n <Badge style={[\n this.styles.badge,\n isExpanded ? this.styles.activeBadge: null,\n this.styles[widgetProps.badgetype || 'default']]}\n {...this.getTestProps('badge'+index)}>\n {widgetProps.badgevalue}\n </Badge>): null;\n let iconclass = null;\n if (useChevron) {\n iconclass = isExpanded ? 'wi wi-chevron-down' : 'wi wi-chevron-up';\n } else {\n iconclass = isExpanded ? 'wi wi-minus' : 'wi wi-plus';\n }\n return (<View style={{flexDirection: 'row'}}>\n {badge}\n {showIcon ? (\n <WmIcon\n id={this.getTestId('icon' + index)}\n styles={this.theme.mergeStyle({}, this.styles.icon, isExpanded ? this.styles.activeIcon : null)}\n name={'expand_collapse_icon'}\n iconclass={iconclass}></WmIcon>): null}\n </View>);\n }\n\n renderAccordionpane(item: any, index: any, accordionpanes: any[] = []) {\n const showIconOnLeft = this.styles.leftToggleIcon.root.width !== undefined;\n const isExpanded = this.state.isExpanded[index];\n return (\n <View style={this.styles.pane} key={item.props.title}>\n <TouchableOpacity key={'accordionpane_' + (index + 1)}\n {...this.getTestPropsForAction(`header${index}`)}\n style={[this.styles.header,\n index === 0 ? this.styles.firstHeader: null,\n index === accordionpanes.length - 1 && !isExpanded ? this.styles.lastHeader: null,\n isExpanded ? this.styles.activeHeader : {}]}\n onPress={this.toggle.bind(this, index + 1, !isExpanded)}>\n {this.expandCollapseIcon(item, index, false, showIconOnLeft, true, isExpanded)}\n {item.props.iconclass ? <WmIcon styles={this.styles.icon} name={item.props.name + '_icon'} iconclass={item.props.iconclass}></WmIcon>: null}\n <View style={{flexDirection: 'column', flex: 1, justifyContent: 'center'}}>\n <Text style={[\n this.styles.text,\n this.styles.heading,\n isExpanded ? this.styles.activeHeaderTitle : {}]}\n {...this.getTestPropsForAction(`header${index}_title`)}\n accessibilityRole='header'>\n {isDefined(item.props.title) ? item.props.title : 'Title'}\n </Text>\n {item.props.description ? \n (<Text style={this.styles.subheading}\n {...this.getTestPropsForAction(`header${index}_description`)}>{item.props.description}</Text>) : null }\n </View>\n {this.expandCollapseIcon(item, index, true, !showIconOnLeft, true, isExpanded)}\n </TouchableOpacity>\n {item}\n </View>\n );\n }\n\n toggle(index: number, expand = true) {\n let expandedId = expand ? index : -1;\n let collapseId = expand ? -1 : index;\n if (expand && this.state.isExpanded[expandedId - 1]\n || !expand && this.state.isExpanded[collapseId - 1] === false) {\n return;\n }\n if (collapseId < 0 && this.state.props.closeothers) {\n collapseId = this.state.lastExpandedIndex;\n }\n const collapsedPane = this.accordionPanes[collapseId -1];\n collapsedPane?.hide();\n Promise.resolve().then(() => {\n const expandedPane = expandedId ? this.accordionPanes[expandedId - 1]: null;\n expandedPane?.show();\n this.setState((state) => {\n if (collapseId > 0 && collapsedPane) {\n state.isExpanded[collapseId - 1] = false;\n }\n if (expandedId > 0 && expandedPane) {\n state.isExpanded[expandedId - 1] = true;\n }\n return {\n lastExpandedIndex: expandedId,\n isExpanded: [...state.isExpanded]\n };\n }, () => {\n this.invokeEventCallback('onChange', [{},\n this.proxy,\n expandedId - 1,\n collapseId ? collapseId - 1 : null,\n expandedPane && expandedPane.props.name,\n collapsedPane && collapsedPane.props.name]);\n });\n }, () => {});\n }\n\n public componentDidMount(): void {\n super.componentDidMount();\n this.toggle(this.state.props.defaultpaneindex + 1);\n }\n\n renderWidget(props: WmAccordionProps) {\n const accordionpanes = props.children;\n const expandedId = this.state.lastExpandedIndex || 0;\n return (\n <View style={this.styles.root}>\n {this._background}\n {accordionpanes\n ? isArray(accordionpanes) && accordionpanes.length\n ? accordionpanes.map((item: any, index: any) => this.renderAccordionpane(item, index, accordionpanes))\n : this.renderAccordionpane(accordionpanes, 0)\n : null}\n </View>\n );\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,gBAAgB,EAAEC,IAAI,QAAQ,cAAc;AAC3D,SAASC,KAAK,QAAQ,oBAAoB;AAC1C,SAASC,OAAO,QAAQ,QAAQ;AAEhC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,OAAOC,gBAAgB,MAAM,mBAAmB;AAChD,SAASC,aAAa,QAA2B,oBAAoB;AACrE,OAAOC,MAAM,MAAM,gEAAgE;AAEnF,SAASC,SAAS,QAAQ,sCAAsC;AAEhE,OAAO,MAAMC,gBAAgB,SAASL,kBAAkB,CAAmB;EAAAM,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,4BACrD,CAAC,CAAC;IAAAA,eAAA,qBACT,EAAE;EAAA;AACjB;AAEA,eAAe,MAAMC,WAAW,SAASV,aAAa,CAAwD;EAI5GO,WAAWA,CAACI,KAAuB,EAAE;IACnC,KAAK,CAACA,KAAK,EAAER,aAAa,EAAE,IAAID,gBAAgB,CAAC,CAAC,EAAE,IAAII,gBAAgB,CAAC,CAAC,CAAC;IAACG,eAAA,yBAJtD,EAAE;IAAAA,eAAA,mBACP,CAAC;EAIpB;EAEAG,gBAAgBA,CAACC,aAA8B,EAAE;IAAA,IAAAC,qBAAA;IAC/C,MAAMC,CAAC,GAAG,IAAI,CAACC,cAAc,CAACC,SAAS,CAACC,CAAC,IAAIA,CAAC,CAACP,KAAK,CAACQ,KAAK,KAAKN,aAAa,CAACF,KAAK,CAACQ,KAAK,CAAC;IACzF,IAAIJ,CAAC,IAAI,CAAC,EAAE;MACV,IAAI,CAACC,cAAc,CAACD,CAAC,CAAC,GAAGF,aAAa;IACxC,CAAC,MAAM;MACL,IAAI,CAACG,cAAc,CAAC,IAAI,CAACI,QAAQ,EAAE,CAAC,GAAGP,aAAa;IACtD;IACA,IAAI,GAAAC,qBAAA,GAAE,IAAI,CAACO,KAAK,CAACC,UAAU,cAAAR,qBAAA,eAArBA,qBAAA,CAAuBS,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAAC,CAAC,EAAE;MAC5C,IAAI,CAACC,MAAM,CAAC,IAAI,CAACJ,KAAK,CAACV,KAAK,CAACe,gBAAgB,GAAG,CAAC,CAAC;IACpD;EACF;EAEAC,MAAMA,CAACC,aAAqB,EAAE;IAC5B,MAAMb,CAAC,GAAG,IAAI,CAACC,cAAc,CAACC,SAAS,CAACC,CAAC,IAAIA,CAAC,CAACP,KAAK,CAACkB,IAAI,KAAKD,aAAa,CAAC;IAC5E,IAAI,CAACH,MAAM,CAACV,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;EAC1B;EAEAe,QAAQA,CAACF,aAAqB,EAAE;IAC9B,MAAMb,CAAC,GAAG,IAAI,CAACC,cAAc,CAACC,SAAS,CAACC,CAAC,IAAIA,CAAC,CAACP,KAAK,CAACkB,IAAI,KAAKD,aAAa,CAAC;IAC5E,IAAI,CAACH,MAAM,CAACV,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;EAC3B;EAEAgB,kBAAkBA,CAACC,IAAS,EAAEC,KAAa,EAA4E;IAAA,IAA1EC,SAAS,GAAA1B,SAAA,CAAA2B,MAAA,QAAA3B,SAAA,QAAA4B,SAAA,GAAA5B,SAAA,MAAG,IAAI;IAAA,IAAE6B,QAAQ,GAAA7B,SAAA,CAAA2B,MAAA,QAAA3B,SAAA,QAAA4B,SAAA,GAAA5B,SAAA,MAAG,IAAI;IAAA,IAAE8B,UAAU,GAAA9B,SAAA,CAAA2B,MAAA,QAAA3B,SAAA,QAAA4B,SAAA,GAAA5B,SAAA,MAAG,IAAI;IAAA,IAAEc,UAAU,GAAAd,SAAA,CAAA2B,MAAA,QAAA3B,SAAA,QAAA4B,SAAA,GAAA5B,SAAA,MAAG,KAAK;IACnH,MAAM+B,WAAW,GAAGP,IAAI,CAACrB,KAAK;IAC9B;IACA,MAAM6B,KAAK,GAAGN,SAAS,IAAIK,WAAW,CAACE,UAAU,IAAIL,SAAS,gBAC5D1C,KAAA,CAAAgD,aAAA,CAAC5C,KAAK,EAAA6C,QAAA;MAACC,KAAK,EAAE,CACZ,IAAI,CAACC,MAAM,CAACL,KAAK,EACjBlB,UAAU,GAAG,IAAI,CAACuB,MAAM,CAACC,WAAW,GAAE,IAAI,EAC1C,IAAI,CAACD,MAAM,CAACN,WAAW,CAACQ,SAAS,IAAI,SAAS,CAAC;IAAE,GAC7C,IAAI,CAACC,YAAY,CAAC,OAAO,GAACf,KAAK,CAAC,GACnCM,WAAW,CAACE,UACR,CAAC,GAAG,IAAI;IACjB,IAAIQ,SAAS,GAAG,IAAI;IACpB,IAAIX,UAAU,EAAE;MACdW,SAAS,GAAG3B,UAAU,GAAG,oBAAoB,GAAG,kBAAkB;IACpE,CAAC,MAAM;MACL2B,SAAS,GAAG3B,UAAU,GAAG,aAAa,GAAG,YAAY;IACvD;IACA,oBAAQ5B,KAAA,CAAAgD,aAAA,CAAC7C,IAAI;MAAC+C,KAAK,EAAE;QAACM,aAAa,EAAE;MAAK;IAAE,GACnCV,KAAK,EACLH,QAAQ,gBACP3C,KAAA,CAAAgD,aAAA,CAACtC,MAAM;MACP+C,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,MAAM,GAAGnB,KAAK,CAAE;MACnCY,MAAM,EAAE,IAAI,CAACQ,KAAK,CAACC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAACT,MAAM,CAACU,IAAI,EAAEjC,UAAU,GAAG,IAAI,CAACuB,MAAM,CAACW,UAAU,GAAG,IAAI,CAAE;MAChG3B,IAAI,EAAE,sBAAuB;MAC7BoB,SAAS,EAAEA;IAAU,CAAS,CAAC,GAAG,IAChC,CAAC;EACf;EAEAQ,mBAAmBA,CAACzB,IAAS,EAAEC,KAAU,EAA8B;IAAA,IAA5ByB,cAAqB,GAAAlD,SAAA,CAAA2B,MAAA,QAAA3B,SAAA,QAAA4B,SAAA,GAAA5B,SAAA,MAAG,EAAE;IACnE,MAAMmD,cAAc,GAAG,IAAI,CAACd,MAAM,CAACe,cAAc,CAACC,IAAI,CAACC,KAAK,KAAK1B,SAAS;IAC1E,MAAMd,UAAU,GAAG,IAAI,CAACD,KAAK,CAACC,UAAU,CAACW,KAAK,CAAC;IAC/C,oBACEvC,KAAA,CAAAgD,aAAA,CAAC7C,IAAI;MAAC+C,KAAK,EAAE,IAAI,CAACC,MAAM,CAACkB,IAAK;MAACC,GAAG,EAAEhC,IAAI,CAACrB,KAAK,CAACQ;IAAM,gBACnDzB,KAAA,CAAAgD,aAAA,CAAC9C,gBAAgB,EAAA+C,QAAA;MAACqB,GAAG,EAAE,gBAAgB,IAAI/B,KAAK,GAAG,CAAC;IAAE,GAC5C,IAAI,CAACgC,qBAAqB,CAAE,SAAQhC,KAAM,EAAC,CAAC;MAChDW,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAACqB,MAAM,EACxBjC,KAAK,KAAK,CAAC,GAAG,IAAI,CAACY,MAAM,CAACsB,WAAW,GAAE,IAAI,EAC3ClC,KAAK,KAAKyB,cAAc,CAACvB,MAAM,GAAG,CAAC,IAAI,CAACb,UAAU,GAAG,IAAI,CAACuB,MAAM,CAACuB,UAAU,GAAE,IAAI,EACjF9C,UAAU,GAAG,IAAI,CAACuB,MAAM,CAACwB,YAAY,GAAG,CAAC,CAAC,CAAE;MAC5CC,OAAO,EAAE,IAAI,CAAC7C,MAAM,CAAC8C,IAAI,CAAC,IAAI,EAAEtC,KAAK,GAAG,CAAC,EAAE,CAACX,UAAU;IAAE,IAC7D,IAAI,CAACS,kBAAkB,CAACC,IAAI,EAAEC,KAAK,EAAE,KAAK,EAAE0B,cAAc,EAAE,IAAI,EAAErC,UAAU,CAAC,EAC7EU,IAAI,CAACrB,KAAK,CAACsC,SAAS,gBAAGvD,KAAA,CAAAgD,aAAA,CAACtC,MAAM;MAACyC,MAAM,EAAE,IAAI,CAACA,MAAM,CAACU,IAAK;MAAC1B,IAAI,EAAEG,IAAI,CAACrB,KAAK,CAACkB,IAAI,GAAG,OAAQ;MAACoB,SAAS,EAAEjB,IAAI,CAACrB,KAAK,CAACsC;IAAU,CAAS,CAAC,GAAE,IAAI,eAC3IvD,KAAA,CAAAgD,aAAA,CAAC7C,IAAI;MAAC+C,KAAK,EAAE;QAACM,aAAa,EAAE,QAAQ;QAAEsB,IAAI,EAAE,CAAC;QAAEC,cAAc,EAAE;MAAQ;IAAE,gBACxE/E,KAAA,CAAAgD,aAAA,CAAC/C,IAAI,EAAAgD,QAAA;MAACC,KAAK,EAAE,CACX,IAAI,CAACC,MAAM,CAAC6B,IAAI,EAChB,IAAI,CAAC7B,MAAM,CAAC8B,OAAO,EACnBrD,UAAU,GAAG,IAAI,CAACuB,MAAM,CAAC+B,iBAAiB,GAAG,CAAC,CAAC;IAAE,GAC7C,IAAI,CAACX,qBAAqB,CAAE,SAAQhC,KAAM,QAAO,CAAC;MACtD4C,iBAAiB,EAAC;IAAQ,IACvBxE,SAAS,CAAC2B,IAAI,CAACrB,KAAK,CAACQ,KAAK,CAAC,GAAGa,IAAI,CAACrB,KAAK,CAACQ,KAAK,GAAG,OAChD,CAAC,EACNa,IAAI,CAACrB,KAAK,CAACmE,WAAW,gBACpBpF,KAAA,CAAAgD,aAAA,CAAC/C,IAAI,EAAAgD,QAAA;MAACC,KAAK,EAAE,IAAI,CAACC,MAAM,CAACkC;IAAW,GAC/B,IAAI,CAACd,qBAAqB,CAAE,SAAQhC,KAAM,cAAa,CAAC,GAAGD,IAAI,CAACrB,KAAK,CAACmE,WAAkB,CAAC,GAAI,IACjG,CAAC,EACN,IAAI,CAAC/C,kBAAkB,CAACC,IAAI,EAAEC,KAAK,EAAE,IAAI,EAAE,CAAC0B,cAAc,EAAE,IAAI,EAAErC,UAAU,CAC7D,CAAC,EAClBU,IACG,CAAC;EAEX;EAEAP,MAAMA,CAACQ,KAAa,EAAiB;IAAA,IAAfN,MAAM,GAAAnB,SAAA,CAAA2B,MAAA,QAAA3B,SAAA,QAAA4B,SAAA,GAAA5B,SAAA,MAAG,IAAI;IACjC,IAAIwE,UAAU,GAAGrD,MAAM,GAAGM,KAAK,GAAG,CAAC,CAAC;IACpC,IAAIgD,UAAU,GAAGtD,MAAM,GAAG,CAAC,CAAC,GAAGM,KAAK;IACpC,IAAIN,MAAM,IAAI,IAAI,CAACN,KAAK,CAACC,UAAU,CAAC0D,UAAU,GAAG,CAAC,CAAC,IAC5C,CAACrD,MAAM,IAAI,IAAI,CAACN,KAAK,CAACC,UAAU,CAAC2D,UAAU,GAAG,CAAC,CAAC,KAAK,KAAK,EAAE;MAC/D;IACJ;IACA,IAAIA,UAAU,GAAG,CAAC,IAAI,IAAI,CAAC5D,KAAK,CAACV,KAAK,CAACuE,WAAW,EAAE;MAClDD,UAAU,GAAG,IAAI,CAAC5D,KAAK,CAAC8D,iBAAiB;IAC3C;IACA,MAAMC,aAAa,GAAG,IAAI,CAACpE,cAAc,CAACiE,UAAU,GAAE,CAAC,CAAC;IACxDG,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEC,IAAI,CAAC,CAAC;IACrBC,OAAO,CAACC,OAAO,CAAC,CAAC,CAACC,IAAI,CAAC,MAAM;MAC3B,MAAMC,YAAY,GAAGT,UAAU,GAAG,IAAI,CAAChE,cAAc,CAACgE,UAAU,GAAG,CAAC,CAAC,GAAE,IAAI;MAC3ES,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEC,IAAI,CAAC,CAAC;MACpB,IAAI,CAACC,QAAQ,CAAEtE,KAAK,IAAK;QACvB,IAAI4D,UAAU,GAAG,CAAC,IAAIG,aAAa,EAAE;UACnC/D,KAAK,CAACC,UAAU,CAAC2D,UAAU,GAAG,CAAC,CAAC,GAAG,KAAK;QAC1C;QACA,IAAID,UAAU,GAAG,CAAC,IAAIS,YAAY,EAAE;UAClCpE,KAAK,CAACC,UAAU,CAAC0D,UAAU,GAAG,CAAC,CAAC,GAAG,IAAI;QACzC;QACA,OAAO;UACLG,iBAAiB,EAAEH,UAAU;UAC7B1D,UAAU,EAAE,CAAC,GAAGD,KAAK,CAACC,UAAU;QAClC,CAAC;MACH,CAAC,EAAE,MAAM;QACP,IAAI,CAACsE,mBAAmB,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EACtC,IAAI,CAACC,KAAK,EACVb,UAAU,GAAG,CAAC,EACdC,UAAU,GAAGA,UAAU,GAAG,CAAC,GAAG,IAAI,EAClCQ,YAAY,IAAIA,YAAY,CAAC9E,KAAK,CAACkB,IAAI,EACvCuD,aAAa,IAAIA,aAAa,CAACzE,KAAK,CAACkB,IAAI,CAAC,CAAC;MAC7C,CAAC,CAAC;IACN,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;EACd;EAEOiE,iBAAiBA,CAAA,EAAS;IAC7B,KAAK,CAACA,iBAAiB,CAAC,CAAC;IACzB,IAAI,CAACrE,MAAM,CAAC,IAAI,CAACJ,KAAK,CAACV,KAAK,CAACe,gBAAgB,GAAG,CAAC,CAAC;EACtD;EAEAqE,YAAYA,CAACpF,KAAuB,EAAE;IACpC,MAAM+C,cAAc,GAAG/C,KAAK,CAACqF,QAAQ;IACrC,MAAMhB,UAAU,GAAG,IAAI,CAAC3D,KAAK,CAAC8D,iBAAiB,IAAI,CAAC;IACpD,oBACIzF,KAAA,CAAAgD,aAAA,CAAC7C,IAAI;MAAC+C,KAAK,EAAE,IAAI,CAACC,MAAM,CAACgB;IAAK,GAC3B,IAAI,CAACoC,WAAW,EACdvC,cAAc,GACX3D,OAAO,CAAC2D,cAAc,CAAC,IAAIA,cAAc,CAACvB,MAAM,GAC9CuB,cAAc,CAACwC,GAAG,CAAC,CAAClE,IAAS,EAAEC,KAAU,KAAK,IAAI,CAACwB,mBAAmB,CAACzB,IAAI,EAAEC,KAAK,EAAEyB,cAAc,CAAC,CAAC,GACpG,IAAI,CAACD,mBAAmB,CAACC,cAAc,EAAE,CAAC,CAAC,GAC7C,IACF,CAAC;EAEb;AACF"}
@@ -72,7 +72,8 @@ export default class WmPanel extends BaseComponent {
72
72
  const props = this.state.props;
73
73
  return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, this.getTestPropsForAction(`header`), {
74
74
  style: [this.styles.header],
75
- onPress: this.onPanelPress.bind(this)
75
+ onPress: this.onPanelPress.bind(this),
76
+ accessibilityRole: "header"
76
77
  }), props.iconclass || props.iconurl ? /*#__PURE__*/React.createElement(WmIcon, {
77
78
  styles: this.styles.icon,
78
79
  name: props.name + '_icon',
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","TouchableOpacity","isUndefined","Badge","BaseComponent","BaseComponentState","WmIcon","WmPanelProps","DEFAULT_CLASS","isWebPreviewMode","CollapsiblePane","WmPanelState","constructor","arguments","_defineProperty","WmPanel","props","onPartialLoad","invokeEventCallback","renderContent","renderPartial","state","isPartialLoaded","setTimeout","updateState","bind","onPanelPress","collapsible","eventName","expanded","proxy","expandCollapseIcon","isExpanded","widgetProps","badge","badgevalue","undefined","createElement","style","styles","badgetype","iconclass","name","toggleIcon","flexDirection","alignItems","renderHeader","_extends","getTestPropsForAction","header","onPress","iconurl","icon","iconheight","iconwidth","iconmargin","flex","justifyContent","text","heading","title","subheading","renderPane","content","maxHeight","overflow","close","renderWidget","root","_background","Fragment","children"],"sources":["panel.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity } from 'react-native';\nimport { isUndefined } from 'lodash';\nimport { Badge } from 'react-native-paper';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmPanelProps from './panel.props';\nimport { DEFAULT_CLASS, WmPanelStyles } from './panel.styles';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { CollapsiblePane } from './collapsible-pane.component';\n\nexport class WmPanelState extends BaseComponentState<WmPanelProps> {\n isPartialLoaded = false;\n}\n\nexport default class WmPanel extends BaseComponent<WmPanelProps, WmPanelState, WmPanelStyles> {\n constructor(props: WmPanelProps) {\n super(props, DEFAULT_CLASS, new WmPanelProps());\n }\n\n onPartialLoad() {\n this.invokeEventCallback('onLoad', [this]);\n }\n\n renderContent(props: WmPanelProps) {\n if (props.renderPartial) {\n if (!this.state.isPartialLoaded) {\n setTimeout(() => {\n this.updateState({\n isPartialLoaded: true\n } as WmPanelState);\n });\n }\n return props.renderPartial(props, this.onPartialLoad.bind(this));\n }\n }\n\n onPanelPress() {\n if (!this.state.props.collapsible) {\n return;\n }\n const eventName = this.state.props.expanded ? 'onCollapse' : 'onExpand';\n this.updateState({\n props: {\n expanded: !this.state.props.expanded\n }\n } as WmPanelState);\n\n this.invokeEventCallback(eventName, [null, this.proxy]);\n }\n\n expandCollapseIcon(isExpanded: boolean) {\n const widgetProps = this.state.props;\n //@ts-ignore\n const badge = widgetProps.badgevalue != undefined ? (<Badge style={[this.styles.badge, this.styles[widgetProps.badgetype || 'default']]}>{widgetProps.badgevalue}</Badge>): null;\n const iconclass = isExpanded ? 'wi wi-chevron-up' : 'wi wi-chevron-down';\n const expandCollapseIcon = widgetProps.collapsible ? (<WmIcon name={'expand_collapse_icon'} styles={this.styles.toggleIcon} iconclass={iconclass}></WmIcon>) : null;\n return (<View style={{flexDirection: 'row', alignItems: 'center'}}>{badge}{expandCollapseIcon}</View>);\n }\n\n renderHeader() {\n const props = this.state.props;\n return (\n <TouchableOpacity\n {...this.getTestPropsForAction(`header`)}\n style={[this.styles.header]}\n onPress={this.onPanelPress.bind(this)}>\n {props.iconclass || props.iconurl ? \n <WmIcon styles={this.styles.icon} \n name={props.name + '_icon'}\n iconclass={props.iconclass}\n iconheight={props.iconheight}\n iconwidth={props.iconwidth}\n iconmargin={props.iconmargin}\n iconurl={props.iconurl}\n /> : null}\n <View style={{flexDirection: 'column', flex: 1, justifyContent: 'center'}}>\n <Text style={[\n this.styles.text,\n this.styles.heading]}\n {...this.getTestPropsForAction(`header_title`)}>\n {isUndefined(props.title) ? 'Title' : props.title}\n </Text>\n {props.subheading ? \n (<Text style={this.styles.subheading}\n {...this.getTestPropsForAction(`subheader`)}>{props.subheading}</Text>) : null }\n </View>\n {this.expandCollapseIcon(props.expanded)}\n </TouchableOpacity>\n );\n }\n\n renderPane(content: React.ReactNode) {\n const expanded = this.state.props.expanded;\n return isWebPreviewMode() ? \n (<View style={expanded ? {} : {maxHeight: 0, overflow: 'hidden'}}>\n {content}\n </View>) :\n (<CollapsiblePane close={!expanded}>\n {content}\n </CollapsiblePane>);\n }\n\n renderWidget(props: WmPanelProps) {\n return (<View style={this.styles.root}>\n {this._background}\n {this.renderHeader()}\n {this.renderPane((\n <>\n {this.renderContent(props)}\n <View>{props.children}</View>\n </>\n ))}\n </View>);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Text","View","TouchableOpacity","isUndefined","Badge","BaseComponent","BaseComponentState","WmIcon","WmPanelProps","DEFAULT_CLASS","isWebPreviewMode","CollapsiblePane","WmPanelState","constructor","arguments","_defineProperty","WmPanel","props","onPartialLoad","invokeEventCallback","renderContent","renderPartial","state","isPartialLoaded","setTimeout","updateState","bind","onPanelPress","collapsible","eventName","expanded","proxy","expandCollapseIcon","isExpanded","widgetProps","badge","badgevalue","undefined","createElement","style","styles","badgetype","iconclass","name","toggleIcon","flexDirection","alignItems","renderHeader","_extends","getTestPropsForAction","header","onPress","accessibilityRole","iconurl","icon","iconheight","iconwidth","iconmargin","flex","justifyContent","text","heading","title","subheading","renderPane","content","maxHeight","overflow","close","renderWidget","root","_background","Fragment","children"],"sources":["panel.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity } from 'react-native';\nimport { isUndefined } from 'lodash';\nimport { Badge } from 'react-native-paper';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmPanelProps from './panel.props';\nimport { DEFAULT_CLASS, WmPanelStyles } from './panel.styles';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { CollapsiblePane } from './collapsible-pane.component';\n\nexport class WmPanelState extends BaseComponentState<WmPanelProps> {\n isPartialLoaded = false;\n}\n\nexport default class WmPanel extends BaseComponent<WmPanelProps, WmPanelState, WmPanelStyles> {\n constructor(props: WmPanelProps) {\n super(props, DEFAULT_CLASS, new WmPanelProps());\n }\n\n onPartialLoad() {\n this.invokeEventCallback('onLoad', [this]);\n }\n\n renderContent(props: WmPanelProps) {\n if (props.renderPartial) {\n if (!this.state.isPartialLoaded) {\n setTimeout(() => {\n this.updateState({\n isPartialLoaded: true\n } as WmPanelState);\n });\n }\n return props.renderPartial(props, this.onPartialLoad.bind(this));\n }\n }\n\n onPanelPress() {\n if (!this.state.props.collapsible) {\n return;\n }\n const eventName = this.state.props.expanded ? 'onCollapse' : 'onExpand';\n this.updateState({\n props: {\n expanded: !this.state.props.expanded\n }\n } as WmPanelState);\n\n this.invokeEventCallback(eventName, [null, this.proxy]);\n }\n\n expandCollapseIcon(isExpanded: boolean) {\n const widgetProps = this.state.props;\n //@ts-ignore\n const badge = widgetProps.badgevalue != undefined ? (<Badge style={[this.styles.badge, this.styles[widgetProps.badgetype || 'default']]}>{widgetProps.badgevalue}</Badge>): null;\n const iconclass = isExpanded ? 'wi wi-chevron-up' : 'wi wi-chevron-down';\n const expandCollapseIcon = widgetProps.collapsible ? (<WmIcon name={'expand_collapse_icon'} styles={this.styles.toggleIcon} iconclass={iconclass}></WmIcon>) : null;\n return (<View style={{flexDirection: 'row', alignItems: 'center'}}>{badge}{expandCollapseIcon}</View>);\n }\n\n renderHeader() {\n const props = this.state.props;\n return (\n <TouchableOpacity\n {...this.getTestPropsForAction(`header`)}\n style={[this.styles.header]}\n onPress={this.onPanelPress.bind(this)}\n accessibilityRole='header'>\n {props.iconclass || props.iconurl ? \n <WmIcon styles={this.styles.icon} \n name={props.name + '_icon'}\n iconclass={props.iconclass}\n iconheight={props.iconheight}\n iconwidth={props.iconwidth}\n iconmargin={props.iconmargin}\n iconurl={props.iconurl}\n /> : null}\n <View style={{flexDirection: 'column', flex: 1, justifyContent: 'center'}}>\n <Text style={[\n this.styles.text,\n this.styles.heading]}\n {...this.getTestPropsForAction(`header_title`)}>\n {isUndefined(props.title) ? 'Title' : props.title}\n </Text>\n {props.subheading ? \n (<Text style={this.styles.subheading}\n {...this.getTestPropsForAction(`subheader`)}>{props.subheading}</Text>) : null }\n </View>\n {this.expandCollapseIcon(props.expanded)}\n </TouchableOpacity>\n );\n }\n\n renderPane(content: React.ReactNode) {\n const expanded = this.state.props.expanded;\n return isWebPreviewMode() ? \n (<View style={expanded ? {} : {maxHeight: 0, overflow: 'hidden'}}>\n {content}\n </View>) :\n (<CollapsiblePane close={!expanded}>\n {content}\n </CollapsiblePane>);\n }\n\n renderWidget(props: WmPanelProps) {\n return (<View style={this.styles.root}>\n {this._background}\n {this.renderHeader()}\n {this.renderPane((\n <>\n {this.renderContent(props)}\n <View>{props.children}</View>\n </>\n ))}\n </View>);\n }\n}\n"],"mappings":"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"}
@@ -156,7 +156,9 @@ export default class WmTabheader extends BaseComponent {
156
156
  flexGrow: this.styles.header.flexGrow
157
157
  } : null
158
158
  }), /*#__PURE__*/React.createElement(View, {
159
- onLayout: this.setHeaderPositon.bind(this, i)
159
+ onLayout: this.setHeaderPositon.bind(this, i),
160
+ accessible: true,
161
+ accessibilityRole: "header"
160
162
  }, /*#__PURE__*/React.createElement(View, {
161
163
  style: [this.styles.header, {
162
164
  flexGrow: undefined
@@ -1 +1 @@
1
- {"version":3,"names":["React","Animated","Easing","Text","View","BaseComponent","BaseComponentState","WmTabheaderProps","DEFAULT_CLASS","Tappable","createSkeleton","BackgroundComponent","WmTabheaderState","WmTabheader","constructor","props","_defineProperty","Value","headerScrollPosition","addListener","_ref","value","headerScrollPositionValue","setHeaderPanelPositon","nativeEvent","headerPanelLayout","layout","forceUpdate","setHeaderPositon","index","headersLayout","selectedTabIndex","onTabSelection","state","onIndexChange","setPosition","_this$headersLayout$s","_this$headerPanelLayo","_this$headerPanelLayo2","toIndicatorPosition","toIndicatorWidth","width","toHeaderScrollPosition","totalWidth","data","length","forEach","p","i","minScrollPosition","maxScrollPosition","Math","max","min","positionIndicator","position","isRTL","parallel","timing","useNativeDriver","toValue","duration","easing","linear","indicatorWidth","reverseIndicatorWidth","indicatorPosition","start","renderSkeleton","createElement","style","transform","translateX","onLayout","bind","styles","root","map","header","_this$styles$root","_this$styles$root2","_this$styles$activeHe","isSelected","onTap","key","flex","activeHeader","theme","borderRadius","height","activeHeaderText","fontSize","activeIndicator","scaleX","renderWidget","arrowIndicator","overflow","zIndex","_background","_extends","getTestPropsForAction","flexGrow","undefined","numberOfLines","headerText","getTestPropsForLabel","title","backgroundImage","image","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","arrowIndicatorDot"],"sources":["tabheader.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Animated, Easing, LayoutChangeEvent, LayoutRectangle, Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmTabheaderProps from './tabheader.props';\nimport { DEFAULT_CLASS, WmTabheaderStyles } from './tabheader.styles';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmSkeleton, { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\n\nexport class WmTabheaderState extends BaseComponentState<WmTabheaderProps> {\n}\n\nexport default class WmTabheader extends BaseComponent<WmTabheaderProps, WmTabheaderState, WmTabheaderStyles> {\n\n private headerPanelLayout: LayoutRectangle = null as any;\n private headersLayout: LayoutRectangle[] = [];\n private headerScrollPosition = new Animated.Value(0);\n private headerScrollPositionValue = 0;\n private indicatorPosition = new Animated.Value(0);\n private reverseIndicatorWidth = new Animated.Value(0);\n private indicatorWidth = new Animated.Value(0);\n\n constructor(props: WmTabheaderProps) {\n super(props, DEFAULT_CLASS, new WmTabheaderProps(), new WmTabheaderState());\n this.headerScrollPosition.addListener(({value}) => this.headerScrollPositionValue = value);\n }\n\n setHeaderPanelPositon(nativeEvent: LayoutChangeEvent) {\n this.headerPanelLayout = nativeEvent.nativeEvent.layout;\n this.forceUpdate();\n }\n\n setHeaderPositon(index: number, nativeEvent: LayoutChangeEvent) {\n this.headersLayout[index] = nativeEvent.nativeEvent.layout;\n if (index === this.props.selectedTabIndex) {\n this.forceUpdate();\n }\n }\n\n onTabSelection(index: number) {\n if (this.state.props.selectedTabIndex != index) {\n this.state.props.onIndexChange && this.state.props.onIndexChange(index);\n }\n }\n\n setPosition() {\n const selectedTabIndex = this.state.props.selectedTabIndex;\n let toIndicatorPosition = 0;\n let toIndicatorWidth = this.headersLayout[selectedTabIndex]?.width || 0;\n let toHeaderScrollPosition = this.headerScrollPositionValue;\n let totalWidth = 0;\n if (this.state.props.data.length !== this.headersLayout.length) {\n return;\n }\n this.headersLayout.forEach((p, i) => {\n if (i < selectedTabIndex) {\n toIndicatorPosition += p.width;\n }\n totalWidth += p.width;\n });\n toHeaderScrollPosition = -1 * (toIndicatorPosition - (this.headerPanelLayout?.width || 0) / 2 + toIndicatorWidth/ 2) ;\n const minScrollPosition = -1 * (totalWidth - (this.headerPanelLayout?.width || 0));\n const maxScrollPosition = 0;\n toHeaderScrollPosition = Math.max(minScrollPosition, toHeaderScrollPosition);\n toHeaderScrollPosition = Math.min(maxScrollPosition, toHeaderScrollPosition);\n let positionIndicator = (toIndicatorPosition - (100 - toIndicatorWidth) / 2);\n let position = this.isRTL?-positionIndicator:positionIndicator;\n Animated.parallel([\n Animated.timing(this.headerScrollPosition, {\n useNativeDriver: true,\n toValue: toHeaderScrollPosition,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth / 100,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.reverseIndicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth ? 100 / toIndicatorWidth : 0,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorPosition, {\n useNativeDriver: true,\n toValue: position,\n duration: 200,\n easing: Easing.linear\n })\n ]).start();\n }\n\n public renderSkeleton(props: WmTabheaderProps){\n return(\n <Animated.View style={{\n transform: [{\n translateX: this.headerScrollPosition\n }]\n }}\n onLayout={this.setHeaderPanelPositon.bind(this)}>\n <View style={this.styles.root}>\n {this.props.data.map((header ,i) => {\n const isSelected = i === this.props.selectedTabIndex;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)} key={header.key} styles={{flex: 1}}>\n <View onLayout={this.setHeaderPositon.bind(this, i)} style={[\n this.styles.header, \n isSelected ? this.styles.activeHeader : null]}>\n {\n createSkeleton(this.theme, { root: { borderRadius: 4 }} as WmSkeletonStyles, {\n ...this.styles.root,\n width: this.styles.root?.width || \"80%\",\n height: this.styles.root?.height || this.styles.activeHeaderText?.fontSize || 16\n })\n }\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}></Animated.View>\n </Animated.View>\n\n )\n }\n\n renderWidget(props: WmTabheaderProps) {\n this.setPosition();\n const arrowIndicator = this.styles.arrowIndicator as any;\n return (\n <View style={{overflow: 'hidden', zIndex: 16}}>\n <Animated.View style={{\n transform: [{\n translateX: this.headerScrollPosition\n }]\n }}\n onLayout={this.setHeaderPanelPositon.bind(this)}>\n <View style={this.styles.root}>\n {this._background}\n {props.data.map((header ,i) => {\n const isSelected = i === props.selectedTabIndex ;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)}\n {...this.getTestPropsForAction(i +'')}\n key={header.key} \n styles={this.styles.header.flexGrow ? {flexGrow: this.styles.header.flexGrow} : null}>\n <View onLayout={this.setHeaderPositon.bind(this, i)}>\n <View style={[\n this.styles.header,\n {flexGrow: undefined},\n isSelected ? this.styles.activeHeader : null]}>\n <Text numberOfLines={1} style={[\n this.styles.headerText, \n isSelected ? this.styles.activeHeaderText : null]}\n {...this.getTestPropsForLabel(i + '_title')}\n >{header.title}</Text>\n </View>\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}>\n <Animated.View style={[{\n transform: [{\n scaleX: this.reverseIndicatorWidth\n }]\n },\n this.styles.arrowIndicator\n ]}>\n {arrowIndicator.backgroundImage ? (<BackgroundComponent\n image={arrowIndicator.backgroundImage}\n position={arrowIndicator.backgroundPosition}\n size={arrowIndicator.backgroundSize}\n repeat={arrowIndicator.backgroundRepeat}\n resizeMode={arrowIndicator.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}\n ></BackgroundComponent>) : null }\n <View style={this.styles.arrowIndicatorDot}></View>\n </Animated.View>\n </Animated.View>\n </Animated.View>\n </View>\n ); \n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Animated","Easing","Text","View","BaseComponent","BaseComponentState","WmTabheaderProps","DEFAULT_CLASS","Tappable","createSkeleton","BackgroundComponent","WmTabheaderState","WmTabheader","constructor","props","_defineProperty","Value","headerScrollPosition","addListener","_ref","value","headerScrollPositionValue","setHeaderPanelPositon","nativeEvent","headerPanelLayout","layout","forceUpdate","setHeaderPositon","index","headersLayout","selectedTabIndex","onTabSelection","state","onIndexChange","setPosition","_this$headersLayout$s","_this$headerPanelLayo","_this$headerPanelLayo2","toIndicatorPosition","toIndicatorWidth","width","toHeaderScrollPosition","totalWidth","data","length","forEach","p","i","minScrollPosition","maxScrollPosition","Math","max","min","positionIndicator","position","isRTL","parallel","timing","useNativeDriver","toValue","duration","easing","linear","indicatorWidth","reverseIndicatorWidth","indicatorPosition","start","renderSkeleton","createElement","style","transform","translateX","onLayout","bind","styles","root","map","header","_this$styles$root","_this$styles$root2","_this$styles$activeHe","isSelected","onTap","key","flex","activeHeader","theme","borderRadius","height","activeHeaderText","fontSize","activeIndicator","scaleX","renderWidget","arrowIndicator","overflow","zIndex","_background","_extends","getTestPropsForAction","flexGrow","accessible","accessibilityRole","undefined","numberOfLines","headerText","getTestPropsForLabel","title","backgroundImage","image","backgroundPosition","size","backgroundSize","repeat","backgroundRepeat","resizeMode","backgroundResizeMode","arrowIndicatorDot"],"sources":["tabheader.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Animated, Easing, LayoutChangeEvent, LayoutRectangle, Text, View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmTabheaderProps from './tabheader.props';\nimport { DEFAULT_CLASS, WmTabheaderStyles } from './tabheader.styles';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport WmSkeleton, { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.styles';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\n\nexport class WmTabheaderState extends BaseComponentState<WmTabheaderProps> {\n}\n\nexport default class WmTabheader extends BaseComponent<WmTabheaderProps, WmTabheaderState, WmTabheaderStyles> {\n\n private headerPanelLayout: LayoutRectangle = null as any;\n private headersLayout: LayoutRectangle[] = [];\n private headerScrollPosition = new Animated.Value(0);\n private headerScrollPositionValue = 0;\n private indicatorPosition = new Animated.Value(0);\n private reverseIndicatorWidth = new Animated.Value(0);\n private indicatorWidth = new Animated.Value(0);\n\n constructor(props: WmTabheaderProps) {\n super(props, DEFAULT_CLASS, new WmTabheaderProps(), new WmTabheaderState());\n this.headerScrollPosition.addListener(({value}) => this.headerScrollPositionValue = value);\n }\n\n setHeaderPanelPositon(nativeEvent: LayoutChangeEvent) {\n this.headerPanelLayout = nativeEvent.nativeEvent.layout;\n this.forceUpdate();\n }\n\n setHeaderPositon(index: number, nativeEvent: LayoutChangeEvent) {\n this.headersLayout[index] = nativeEvent.nativeEvent.layout;\n if (index === this.props.selectedTabIndex) {\n this.forceUpdate();\n }\n }\n\n onTabSelection(index: number) {\n if (this.state.props.selectedTabIndex != index) {\n this.state.props.onIndexChange && this.state.props.onIndexChange(index);\n }\n }\n\n setPosition() {\n const selectedTabIndex = this.state.props.selectedTabIndex;\n let toIndicatorPosition = 0;\n let toIndicatorWidth = this.headersLayout[selectedTabIndex]?.width || 0;\n let toHeaderScrollPosition = this.headerScrollPositionValue;\n let totalWidth = 0;\n if (this.state.props.data.length !== this.headersLayout.length) {\n return;\n }\n this.headersLayout.forEach((p, i) => {\n if (i < selectedTabIndex) {\n toIndicatorPosition += p.width;\n }\n totalWidth += p.width;\n });\n toHeaderScrollPosition = -1 * (toIndicatorPosition - (this.headerPanelLayout?.width || 0) / 2 + toIndicatorWidth/ 2) ;\n const minScrollPosition = -1 * (totalWidth - (this.headerPanelLayout?.width || 0));\n const maxScrollPosition = 0;\n toHeaderScrollPosition = Math.max(minScrollPosition, toHeaderScrollPosition);\n toHeaderScrollPosition = Math.min(maxScrollPosition, toHeaderScrollPosition);\n let positionIndicator = (toIndicatorPosition - (100 - toIndicatorWidth) / 2);\n let position = this.isRTL?-positionIndicator:positionIndicator;\n Animated.parallel([\n Animated.timing(this.headerScrollPosition, {\n useNativeDriver: true,\n toValue: toHeaderScrollPosition,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth / 100,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.reverseIndicatorWidth, {\n useNativeDriver: true,\n toValue: toIndicatorWidth ? 100 / toIndicatorWidth : 0,\n duration: 200,\n easing: Easing.linear\n }),\n Animated.timing(this.indicatorPosition, {\n useNativeDriver: true,\n toValue: position,\n duration: 200,\n easing: Easing.linear\n })\n ]).start();\n }\n\n public renderSkeleton(props: WmTabheaderProps){\n return(\n <Animated.View style={{\n transform: [{\n translateX: this.headerScrollPosition\n }]\n }}\n onLayout={this.setHeaderPanelPositon.bind(this)}>\n <View style={this.styles.root}>\n {this.props.data.map((header ,i) => {\n const isSelected = i === this.props.selectedTabIndex;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)} key={header.key} styles={{flex: 1}}>\n <View onLayout={this.setHeaderPositon.bind(this, i)} style={[\n this.styles.header, \n isSelected ? this.styles.activeHeader : null]}>\n {\n createSkeleton(this.theme, { root: { borderRadius: 4 }} as WmSkeletonStyles, {\n ...this.styles.root,\n width: this.styles.root?.width || \"80%\",\n height: this.styles.root?.height || this.styles.activeHeaderText?.fontSize || 16\n })\n }\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}></Animated.View>\n </Animated.View>\n\n )\n }\n\n renderWidget(props: WmTabheaderProps) {\n this.setPosition();\n const arrowIndicator = this.styles.arrowIndicator as any;\n return (\n <View style={{overflow: 'hidden', zIndex: 16}}>\n <Animated.View style={{\n transform: [{\n translateX: this.headerScrollPosition\n }]\n }}\n onLayout={this.setHeaderPanelPositon.bind(this)}>\n <View style={this.styles.root}>\n {this._background}\n {props.data.map((header ,i) => {\n const isSelected = i === props.selectedTabIndex ;\n return (\n <Tappable onTap={this.onTabSelection.bind(this, i)}\n {...this.getTestPropsForAction(i +'')}\n key={header.key} \n styles={this.styles.header.flexGrow ? {flexGrow: this.styles.header.flexGrow} : null}>\n <View onLayout={this.setHeaderPositon.bind(this, i)} accessible={true} accessibilityRole='header'>\n <View style={[\n this.styles.header,\n {flexGrow: undefined},\n isSelected ? this.styles.activeHeader : null]}>\n <Text numberOfLines={1} style={[\n this.styles.headerText, \n isSelected ? this.styles.activeHeaderText : null]}\n {...this.getTestPropsForLabel(i + '_title')}\n >{header.title}</Text>\n </View>\n </View>\n </Tappable>\n );\n })}\n </View>\n <Animated.View style={[this.styles.activeIndicator, {\n transform: [{\n translateX: this.indicatorPosition\n }, {\n scaleX: this.indicatorWidth\n }]\n }]}>\n <Animated.View style={[{\n transform: [{\n scaleX: this.reverseIndicatorWidth\n }]\n },\n this.styles.arrowIndicator\n ]}>\n {arrowIndicator.backgroundImage ? (<BackgroundComponent\n image={arrowIndicator.backgroundImage}\n position={arrowIndicator.backgroundPosition}\n size={arrowIndicator.backgroundSize}\n repeat={arrowIndicator.backgroundRepeat}\n resizeMode={arrowIndicator.backgroundResizeMode}\n style={{borderRadius: this.styles.root.borderRadius}}\n ></BackgroundComponent>) : null }\n <View style={this.styles.arrowIndicatorDot}></View>\n </Animated.View>\n </Animated.View>\n </Animated.View>\n </View>\n ); \n }\n}\n"],"mappings":"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"}
@@ -173,7 +173,8 @@ export default class WmWizard extends BaseComponent {
173
173
  }, /*#__PURE__*/React.createElement(TouchableOpacity, {
174
174
  style: this.styles.stepWrapper,
175
175
  onPress: this.updateCurrentStep.bind(this, index, false),
176
- disabled: index >= this.state.currentStep
176
+ disabled: index >= this.state.currentStep,
177
+ accessibilityRole: "header"
177
178
  }, /*#__PURE__*/React.createElement(View, {
178
179
  style: this.getStepStyle(index)
179
180
  }, index >= this.state.currentStep && !this.state.isDone && /*#__PURE__*/React.createElement(Text, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","TouchableOpacity","Platform","TouchableWithoutFeedback","isArray","merge","BaseComponent","BaseComponentState","WmWizardProps","DEFAULT_CLASS","WmButton","WmIcon","WmAnchor","WmProgressCircle","WmPopover","WmLabel","WmWizardState","constructor","arguments","_defineProperty","WmWizard","props","onComponentInit","c","popOverRef","steps","children","defaultStepIndex","defaultstep","map","item","index","name","updateCurrentStep","addWizardStep","step","forceUpdate","componentDidMount","showActiveStep","_this$steps$this$stat","state","currentStep","setActive","_this$steps$this$stat2","isDone","length","undefined","lastStep","setInActive","updateState","invokeEventCallback","proxy","getStepStyle","style","styles","push","doneStep","activeStep","renderMenuPopover","menuDataset","getmenudataexpression","Labels","title","createElement","id","getTestId","popover","contentanimation","caption","popoverheight","height","popoverwidth","width","listener","iconclass","popovericonclass","iconposition","type","currentMenuItem","key","onPress","hide","stepMenu","activeStepMenu","stepMenuActiveIcon","stepMenuIcon","stepMenuActiveLabel","stepMenuLabel","renderProgressCircleHeader","progressTitle","progresstitle","headerWrapper","stepWrapper","flex","alignItems","justifyContent","flexDirection","minvalue","maxvalue","datavalue","captionplacement","progresstype","subtitle","progressCircle","stepTitle","stepSubTitle","renderWizardHeader","isLastStep","numberOfSteps","isFirstStep","isActiveStep","isNumberTextLayout","classname","show","paddingRight","paddingLeft","bind","disabled","stepCounter","stepIcon","icon","color","numberTextStepConnector","stepConnector","left","OS","isRTL","prev","invokePrevCB","next","eventName","invokeSkipCB","invokeNextCB","done","$event","cancel","skip","renderWidget","_this$state$props$cla","isSkippable","enableskip","isProgressCircleHeader","includes","root","_background","wizardHeader","i","wizardBody","wizardFooter","actionsalignment","showdone","wizardActions","theme","getStyle","doneButton","donebtnlabel","onTap","disabledone","shownext","nextButton","nextbtnlabel","disablenext","showprev","prevButton","previousbtnlabel","disableprev","cancelable","cancelbtnlabel","cancelButton","skipLink"],"sources":["wizard.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity, Platform, TouchableWithoutFeedback } from 'react-native';\nimport { isArray, merge } from 'lodash';\nimport { BaseComponent, BaseComponentState, LifecycleListener } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmWizardProps from './wizard.props';\nimport { DEFAULT_CLASS, WmWizardStyles } from './wizard.styles';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmWizardstep from './wizardstep/wizardstep.component';\nimport WmProgressCircle from '@wavemaker/app-rn-runtime/components/basic/progress-circle/progress-circle.component';\nimport WmPopover from '@wavemaker/app-rn-runtime/components/navigation/popover/popover.component';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\n\nexport class WmWizardState extends BaseComponentState<WmWizardProps> {\n currentStep: number = 0;\n isDone: boolean = false;\n}\n\nexport default class WmWizard extends BaseComponent<WmWizardProps, WmWizardState, WmWizardStyles> {\n private numberOfSteps: number = null as any;\n private steps = [] as WmWizardstep[];\n private popOverRef: WmPopover = null as any;\n\n private listener: LifecycleListener = {\n onComponentInit: (c) => {\n if (c instanceof WmPopover) {\n this.popOverRef = c;\n }\n }\n };\n\n constructor(props: WmWizardProps) {\n super(props, DEFAULT_CLASS, new WmWizardProps());\n const steps = props.children;\n let defaultStepIndex = 0;\n if (isArray(steps) && props.defaultstep) {\n steps.map((item: any, index: any) => {\n if (props.defaultstep === item.props.name) {\n defaultStepIndex = index;\n }\n })\n }\n this.updateCurrentStep(defaultStepIndex);\n }\n\n addWizardStep(step: WmWizardstep) {\n this.steps[step.props.index] = step;\n this.forceUpdate();\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.showActiveStep();\n }\n\n showActiveStep() {\n this.steps[this.state.currentStep]?.setActive();\n }\n\n updateCurrentStep(index: number, isDone = false) {\n const lastStep = this.state.currentStep;\n this.steps[this.state.currentStep]?.setInActive();\n this.updateState({\n currentStep: index,\n isDone: isDone\n } as WmWizardState, () => {\n this.showActiveStep();\n if (lastStep !== index) {\n this.invokeEventCallback('onChange', [null, this.proxy, index + 1, lastStep + 1]);\n }\n });\n }\n\n getStepStyle(index: number) {\n const style = [this.styles.step];\n if (this.state.isDone || index < this.state.currentStep) {\n style.push(this.styles.doneStep);\n } else if (this.state.currentStep === index) {\n style.push(this.styles.activeStep);\n }\n return style;\n }\n\n renderMenuPopover(){\n const menuDataset = this.props.getmenudataexpression || ((item: any, index: number) => '') ;\n const Labels = this.steps.map((step: WmWizardstep) => step.state.props.title);\n return (\n <WmPopover\n id={this.getTestId('menu')}\n styles={this.styles.popover}\n contentanimation={'slideInDown'}\n caption={''}\n popoverheight={this.styles.popover.popover.height as string | number | undefined || null}\n popoverwidth={this.styles.popover.popover.width as string | number | undefined || null}\n listener={this.listener}\n iconclass={this.props.popovericonclass || 'fa fa-caret-down'}\n iconposition=\"right\"\n type='dropdown'>\n <View style={this.styles.popover.popover}>\n {Labels.map((item: any, index: number) => {\n const currentMenuItem = index==this.state.currentStep;\n const caption = menuDataset({\"count\":this.steps.length}, index); \n return (\n <TouchableWithoutFeedback key={'wizard_menu_item_'+index} onPress={()=>{this.popOverRef.hide();}}>\n <View style={[this.styles.stepMenu, currentMenuItem?this.styles.activeStepMenu:{}]}>\n <WmIcon caption={caption} iconclass={currentMenuItem? \"wi wi-radio-button-checked\" : 'wi wi-radio-button-unchecked'} styles={currentMenuItem?this.styles.stepMenuActiveIcon:this.styles.stepMenuIcon}/>\n <WmLabel caption={item} styles={currentMenuItem?this.styles.stepMenuActiveLabel:this.styles.stepMenuLabel}/>\n </View>\n </TouchableWithoutFeedback>\n )})}\n </View>\n </WmPopover>\n );\n }\n\n renderProgressCircleHeader(item: any, index: number) {\n const progressTitle = this.props.progresstitle || (index + 1 + '/' + this.steps.length);\n return (\n <View style={[this.styles.headerWrapper]} key={index + 1}>\n <View style={this.styles.stepWrapper}>\n <View style={{ flex: 1, alignItems: 'flex-start', justifyContent: 'center', flexDirection:'row' }}>\n <WmProgressCircle minvalue={0} maxvalue={this.steps.length} datavalue={index + 1} captionplacement={'inside'} type={this.props.progresstype} title={progressTitle} subtitle={''} styles={this.styles.progressCircle} />\n </View>\n <View style={{ flex: 2, justifyContent: 'center', flexDirection: 'column' }}>\n <Text style={this.styles.stepTitle}>\n {item.props.title || 'Step Title'}</Text>\n <Text style={this.styles.stepSubTitle}>\n {item.props.subtitle || 'Step Sub Title'}</Text>\n </View>\n <View style={{ flexDirection: 'row', alignItems: 'flex-end', justifyContent: 'flex-end' }}>\n {this.renderMenuPopover()}\n </View>\n </View>\n </View>\n );\n }\n\n renderWizardHeader(item: any, index: number) {\n const isLastStep = index === this.numberOfSteps - 1;\n const isFirstStep = index === 0;\n const isActiveStep = index === this.state.currentStep;\n const isNumberTextLayout = this.state.props.classname === 'number-text-inline';\n return item.state.props.show != false ? (\n <View style={[this.styles.headerWrapper, isNumberTextLayout ?\n {paddingRight: isActiveStep ? 0 : 5, paddingLeft: index === this.state.currentStep + 1 ? 0 : 5}: {}]} key={index+1}>\n <TouchableOpacity style={this.styles.stepWrapper}\n onPress={this.updateCurrentStep.bind(this, index, false)} disabled={index >= this.state.currentStep}>\n <View style={this.getStepStyle(index)}>\n {index >= this.state.currentStep && !this.state.isDone &&\n <Text style={isActiveStep ? this.styles.activeStep : this.styles.stepCounter}>{index+1}</Text>}\n {(index < this.state.currentStep || this.state.isDone) &&\n <WmIcon styles={merge({}, this.styles.stepIcon, {icon: {color: this.styles.activeStep.color}})}\n iconclass={item.state.props.iconclass || 'wm-sl-l sl-check'}></WmIcon>}\n </View>\n {((isNumberTextLayout && isActiveStep) || !isNumberTextLayout) &&\n <Text style={this.styles.stepTitle}>\n {item.state.props.title || 'Step Title'}</Text> }\n {this.numberOfSteps > 1 && isActiveStep &&\n <View style={[this.styles.numberTextStepConnector, {width: isLastStep ? 0 : 50}]}></View>}\n </TouchableOpacity>\n {this.numberOfSteps > 1 && <View style={[this.styles.stepConnector, { width: isFirstStep || isLastStep ? '50%' : '100%',\n left: Platform.OS == \"web\"?(!this.isRTL && isFirstStep) || (this.isRTL && isLastStep) ? '50%': '0%': isFirstStep ? '50%': '0%'}]}></View>}\n </View>\n ) : null;\n }\n\n prev() {\n const index = this.state.currentStep;\n if (index <= 0) {\n return;\n }\n const currentStep = this.steps[index];\n if(currentStep.invokePrevCB(index) == false){\n return;\n }\n this.updateCurrentStep(index - 1);\n }\n\n next(eventName?: string) {\n const index = this.state.currentStep;\n if (index >= this.steps.length - 1) {\n return;\n }\n const currentStep = this.steps[index];\n if (eventName === 'skip') {\n currentStep.invokeSkipCB(index);\n } else if (currentStep.invokeNextCB(index) == false) {\n return;\n }\n this.updateCurrentStep(index + 1);\n }\n\n done($event: any) {\n if (this.state.currentStep !== this.steps.length - 1) {\n return;\n }\n this.updateState({\n isDone: true\n } as WmWizardState);\n this.invokeEventCallback('onDone', [$event, this.proxy]);\n }\n\n cancel() {\n this.invokeEventCallback('onCancel', [null, this.proxy]);\n }\n \n skip() {\n this.next('skip');\n }\n\n renderWidget(props: WmWizardProps) {\n this.numberOfSteps = this.steps.length;\n const activeStep = this.steps[this.state.currentStep];\n const isSkippable = activeStep && activeStep.state.props.enableskip;\n const isProgressCircleHeader = this.state.props.classname?.includes('progress-circle-header');\n return (\n <View style={this.styles.root}>\n {this._background}\n <View style={this.styles.wizardHeader}>\n {activeStep && isProgressCircleHeader ? (this.renderProgressCircleHeader(activeStep, this.state.currentStep)) : (this.steps ? this.steps.map((step, i) => this.renderWizardHeader(step, i)) : null)}\n </View>\n <View style={this.styles.wizardBody}>\n {props.children}\n </View>\n <View style={[this.styles.wizardFooter,\n {flexDirection: props.actionsalignment === 'right' ? 'row-reverse': 'row'}]}>\n {(this.state.currentStep+1) === this.numberOfSteps && activeStep.state.props.showdone &&\n <WmButton iconclass={'wm-sl-l sl-check'} styles={merge({}, this.styles.wizardActions, this.theme.getStyle('btn-default'), this.styles.doneButton)}\n id = {this.getTestId('donebtn')} caption={props.donebtnlabel} onTap={this.done.bind(this)} disabled={activeStep.state.props.disabledone}></WmButton>\n }\n {(this.state.currentStep+1) < this.numberOfSteps && activeStep.state.props.shownext &&\n <WmButton iconclass={'wi wi-chevron-right'} styles={merge({}, this.styles.wizardActions, this.theme.getStyle('btn-default'), this.styles.nextButton)}\n id = {this.getTestId('nextbtn')}\n iconposition={'right'} caption={props.nextbtnlabel} onTap={this.next.bind(this)} disabled={activeStep.state.props.disablenext}></WmButton>\n }\n {this.state.currentStep > 0 && activeStep.state.props.showprev &&\n <WmButton iconclass={'wi wi-chevron-left'} styles={merge({}, this.theme.getStyle('btn-default'), this.styles.wizardActions, this.styles.prevButton)} caption={props.previousbtnlabel}\n id = {this.getTestId('prevbtn')}\n onTap={this.prev.bind(this)} disabled={activeStep.state.props.disableprev}></WmButton>\n }\n {props.cancelable ?\n <WmButton id = {this.getTestId('cancelbtn')} caption={props.cancelbtnlabel} styles={merge({}, this.theme.getStyle('btn-default'), this.styles.wizardActions, this.styles.cancelButton)} onTap={this.cancel.bind(this)}></WmButton>\n : null\n }\n {isSkippable &&\n <WmAnchor iconclass={'wi wi-chevron-right'} iconposition={'right'} caption={'Skip'}\n id = {this.getTestId('skip')} \n styles={merge({}, this.styles.wizardActions, this.styles.skipLink)} onTap={this.skip.bind(this)}></WmAnchor>\n }\n </View>\n </View>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Text","View","TouchableOpacity","Platform","TouchableWithoutFeedback","isArray","merge","BaseComponent","BaseComponentState","WmWizardProps","DEFAULT_CLASS","WmButton","WmIcon","WmAnchor","WmProgressCircle","WmPopover","WmLabel","WmWizardState","constructor","arguments","_defineProperty","WmWizard","props","onComponentInit","c","popOverRef","steps","children","defaultStepIndex","defaultstep","map","item","index","name","updateCurrentStep","addWizardStep","step","forceUpdate","componentDidMount","showActiveStep","_this$steps$this$stat","state","currentStep","setActive","_this$steps$this$stat2","isDone","length","undefined","lastStep","setInActive","updateState","invokeEventCallback","proxy","getStepStyle","style","styles","push","doneStep","activeStep","renderMenuPopover","menuDataset","getmenudataexpression","Labels","title","createElement","id","getTestId","popover","contentanimation","caption","popoverheight","height","popoverwidth","width","listener","iconclass","popovericonclass","iconposition","type","currentMenuItem","key","onPress","hide","stepMenu","activeStepMenu","stepMenuActiveIcon","stepMenuIcon","stepMenuActiveLabel","stepMenuLabel","renderProgressCircleHeader","progressTitle","progresstitle","headerWrapper","stepWrapper","flex","alignItems","justifyContent","flexDirection","minvalue","maxvalue","datavalue","captionplacement","progresstype","subtitle","progressCircle","stepTitle","stepSubTitle","renderWizardHeader","isLastStep","numberOfSteps","isFirstStep","isActiveStep","isNumberTextLayout","classname","show","paddingRight","paddingLeft","bind","disabled","accessibilityRole","stepCounter","stepIcon","icon","color","numberTextStepConnector","stepConnector","left","OS","isRTL","prev","invokePrevCB","next","eventName","invokeSkipCB","invokeNextCB","done","$event","cancel","skip","renderWidget","_this$state$props$cla","isSkippable","enableskip","isProgressCircleHeader","includes","root","_background","wizardHeader","i","wizardBody","wizardFooter","actionsalignment","showdone","wizardActions","theme","getStyle","doneButton","donebtnlabel","onTap","disabledone","shownext","nextButton","nextbtnlabel","disablenext","showprev","prevButton","previousbtnlabel","disableprev","cancelable","cancelbtnlabel","cancelButton","skipLink"],"sources":["wizard.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity, Platform, TouchableWithoutFeedback } from 'react-native';\nimport { isArray, merge } from 'lodash';\nimport { BaseComponent, BaseComponentState, LifecycleListener } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmWizardProps from './wizard.props';\nimport { DEFAULT_CLASS, WmWizardStyles } from './wizard.styles';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmAnchor from '@wavemaker/app-rn-runtime/components/basic/anchor/anchor.component';\nimport WmWizardstep from './wizardstep/wizardstep.component';\nimport WmProgressCircle from '@wavemaker/app-rn-runtime/components/basic/progress-circle/progress-circle.component';\nimport WmPopover from '@wavemaker/app-rn-runtime/components/navigation/popover/popover.component';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\n\nexport class WmWizardState extends BaseComponentState<WmWizardProps> {\n currentStep: number = 0;\n isDone: boolean = false;\n}\n\nexport default class WmWizard extends BaseComponent<WmWizardProps, WmWizardState, WmWizardStyles> {\n private numberOfSteps: number = null as any;\n private steps = [] as WmWizardstep[];\n private popOverRef: WmPopover = null as any;\n\n private listener: LifecycleListener = {\n onComponentInit: (c) => {\n if (c instanceof WmPopover) {\n this.popOverRef = c;\n }\n }\n };\n\n constructor(props: WmWizardProps) {\n super(props, DEFAULT_CLASS, new WmWizardProps());\n const steps = props.children;\n let defaultStepIndex = 0;\n if (isArray(steps) && props.defaultstep) {\n steps.map((item: any, index: any) => {\n if (props.defaultstep === item.props.name) {\n defaultStepIndex = index;\n }\n })\n }\n this.updateCurrentStep(defaultStepIndex);\n }\n\n addWizardStep(step: WmWizardstep) {\n this.steps[step.props.index] = step;\n this.forceUpdate();\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.showActiveStep();\n }\n\n showActiveStep() {\n this.steps[this.state.currentStep]?.setActive();\n }\n\n updateCurrentStep(index: number, isDone = false) {\n const lastStep = this.state.currentStep;\n this.steps[this.state.currentStep]?.setInActive();\n this.updateState({\n currentStep: index,\n isDone: isDone\n } as WmWizardState, () => {\n this.showActiveStep();\n if (lastStep !== index) {\n this.invokeEventCallback('onChange', [null, this.proxy, index + 1, lastStep + 1]);\n }\n });\n }\n\n getStepStyle(index: number) {\n const style = [this.styles.step];\n if (this.state.isDone || index < this.state.currentStep) {\n style.push(this.styles.doneStep);\n } else if (this.state.currentStep === index) {\n style.push(this.styles.activeStep);\n }\n return style;\n }\n\n renderMenuPopover(){\n const menuDataset = this.props.getmenudataexpression || ((item: any, index: number) => '') ;\n const Labels = this.steps.map((step: WmWizardstep) => step.state.props.title);\n return (\n <WmPopover\n id={this.getTestId('menu')}\n styles={this.styles.popover}\n contentanimation={'slideInDown'}\n caption={''}\n popoverheight={this.styles.popover.popover.height as string | number | undefined || null}\n popoverwidth={this.styles.popover.popover.width as string | number | undefined || null}\n listener={this.listener}\n iconclass={this.props.popovericonclass || 'fa fa-caret-down'}\n iconposition=\"right\"\n type='dropdown'>\n <View style={this.styles.popover.popover}>\n {Labels.map((item: any, index: number) => {\n const currentMenuItem = index==this.state.currentStep;\n const caption = menuDataset({\"count\":this.steps.length}, index);\n return (\n <TouchableWithoutFeedback key={'wizard_menu_item_'+index} onPress={()=>{this.popOverRef.hide();}}>\n <View style={[this.styles.stepMenu, currentMenuItem?this.styles.activeStepMenu:{}]}>\n <WmIcon caption={caption} iconclass={currentMenuItem? \"wi wi-radio-button-checked\" : 'wi wi-radio-button-unchecked'} styles={currentMenuItem?this.styles.stepMenuActiveIcon:this.styles.stepMenuIcon}/>\n <WmLabel caption={item} styles={currentMenuItem?this.styles.stepMenuActiveLabel:this.styles.stepMenuLabel}/>\n </View>\n </TouchableWithoutFeedback>\n )})}\n </View>\n </WmPopover>\n );\n }\n\n renderProgressCircleHeader(item: any, index: number) {\n const progressTitle = this.props.progresstitle || (index + 1 + '/' + this.steps.length);\n return (\n <View style={[this.styles.headerWrapper]} key={index + 1}>\n <View style={this.styles.stepWrapper}>\n <View style={{ flex: 1, alignItems: 'flex-start', justifyContent: 'center', flexDirection:'row' }}>\n <WmProgressCircle minvalue={0} maxvalue={this.steps.length} datavalue={index + 1} captionplacement={'inside'} type={this.props.progresstype} title={progressTitle} subtitle={''} styles={this.styles.progressCircle} />\n </View>\n <View style={{ flex: 2, justifyContent: 'center', flexDirection: 'column' }}>\n <Text style={this.styles.stepTitle}>\n {item.props.title || 'Step Title'}</Text>\n <Text style={this.styles.stepSubTitle}>\n {item.props.subtitle || 'Step Sub Title'}</Text>\n </View>\n <View style={{ flexDirection: 'row', alignItems: 'flex-end', justifyContent: 'flex-end' }}>\n {this.renderMenuPopover()}\n </View>\n </View>\n </View>\n );\n }\n\n renderWizardHeader(item: any, index: number) {\n const isLastStep = index === this.numberOfSteps - 1;\n const isFirstStep = index === 0;\n const isActiveStep = index === this.state.currentStep;\n const isNumberTextLayout = this.state.props.classname === 'number-text-inline';\n return item.state.props.show != false ? (\n <View style={[this.styles.headerWrapper, isNumberTextLayout ?\n {paddingRight: isActiveStep ? 0 : 5, paddingLeft: index === this.state.currentStep + 1 ? 0 : 5}: {}]} key={index+1}>\n <TouchableOpacity style={this.styles.stepWrapper}\n onPress={this.updateCurrentStep.bind(this, index, false)} disabled={index >= this.state.currentStep}\n accessibilityRole='header'>\n <View style={this.getStepStyle(index)}>\n {index >= this.state.currentStep && !this.state.isDone &&\n <Text style={isActiveStep ? this.styles.activeStep : this.styles.stepCounter}>{index+1}</Text>}\n {(index < this.state.currentStep || this.state.isDone) &&\n <WmIcon styles={merge({}, this.styles.stepIcon, {icon: {color: this.styles.activeStep.color}})}\n iconclass={item.state.props.iconclass || 'wm-sl-l sl-check'}></WmIcon>}\n </View>\n {((isNumberTextLayout && isActiveStep) || !isNumberTextLayout) &&\n <Text style={this.styles.stepTitle}>\n {item.state.props.title || 'Step Title'}</Text> }\n {this.numberOfSteps > 1 && isActiveStep &&\n <View style={[this.styles.numberTextStepConnector, {width: isLastStep ? 0 : 50}]}></View>}\n </TouchableOpacity>\n {this.numberOfSteps > 1 && <View style={[this.styles.stepConnector, { width: isFirstStep || isLastStep ? '50%' : '100%',\n left: Platform.OS == \"web\"?(!this.isRTL && isFirstStep) || (this.isRTL && isLastStep) ? '50%': '0%': isFirstStep ? '50%': '0%'}]}></View>}\n </View>\n ) : null;\n }\n\n prev() {\n const index = this.state.currentStep;\n if (index <= 0) {\n return;\n }\n const currentStep = this.steps[index];\n if(currentStep.invokePrevCB(index) == false){\n return;\n }\n this.updateCurrentStep(index - 1);\n }\n\n next(eventName?: string) {\n const index = this.state.currentStep;\n if (index >= this.steps.length - 1) {\n return;\n }\n const currentStep = this.steps[index];\n if (eventName === 'skip') {\n currentStep.invokeSkipCB(index);\n } else if (currentStep.invokeNextCB(index) == false) {\n return;\n }\n this.updateCurrentStep(index + 1);\n }\n\n done($event: any) {\n if (this.state.currentStep !== this.steps.length - 1) {\n return;\n }\n this.updateState({\n isDone: true\n } as WmWizardState);\n this.invokeEventCallback('onDone', [$event, this.proxy]);\n }\n\n cancel() {\n this.invokeEventCallback('onCancel', [null, this.proxy]);\n }\n\n skip() {\n this.next('skip');\n }\n\n renderWidget(props: WmWizardProps) {\n this.numberOfSteps = this.steps.length;\n const activeStep = this.steps[this.state.currentStep];\n const isSkippable = activeStep && activeStep.state.props.enableskip;\n const isProgressCircleHeader = this.state.props.classname?.includes('progress-circle-header');\n return (\n <View style={this.styles.root}>\n {this._background}\n <View style={this.styles.wizardHeader}>\n {activeStep && isProgressCircleHeader ? (this.renderProgressCircleHeader(activeStep, this.state.currentStep)) : (this.steps ? this.steps.map((step, i) => this.renderWizardHeader(step, i)) : null)}\n </View>\n <View style={this.styles.wizardBody}>\n {props.children}\n </View>\n <View style={[this.styles.wizardFooter,\n {flexDirection: props.actionsalignment === 'right' ? 'row-reverse': 'row'}]}>\n {(this.state.currentStep+1) === this.numberOfSteps && activeStep.state.props.showdone &&\n <WmButton iconclass={'wm-sl-l sl-check'} styles={merge({}, this.styles.wizardActions, this.theme.getStyle('btn-default'), this.styles.doneButton)}\n id = {this.getTestId('donebtn')} caption={props.donebtnlabel} onTap={this.done.bind(this)} disabled={activeStep.state.props.disabledone}></WmButton>\n }\n {(this.state.currentStep+1) < this.numberOfSteps && activeStep.state.props.shownext &&\n <WmButton iconclass={'wi wi-chevron-right'} styles={merge({}, this.styles.wizardActions, this.theme.getStyle('btn-default'), this.styles.nextButton)}\n id = {this.getTestId('nextbtn')}\n iconposition={'right'} caption={props.nextbtnlabel} onTap={this.next.bind(this)} disabled={activeStep.state.props.disablenext}></WmButton>\n }\n {this.state.currentStep > 0 && activeStep.state.props.showprev &&\n <WmButton iconclass={'wi wi-chevron-left'} styles={merge({}, this.theme.getStyle('btn-default'), this.styles.wizardActions, this.styles.prevButton)} caption={props.previousbtnlabel}\n id = {this.getTestId('prevbtn')}\n onTap={this.prev.bind(this)} disabled={activeStep.state.props.disableprev}></WmButton>\n }\n {props.cancelable ?\n <WmButton id = {this.getTestId('cancelbtn')} caption={props.cancelbtnlabel} styles={merge({}, this.theme.getStyle('btn-default'), this.styles.wizardActions, this.styles.cancelButton)} onTap={this.cancel.bind(this)}></WmButton>\n : null\n }\n {isSkippable &&\n <WmAnchor iconclass={'wi wi-chevron-right'} iconposition={'right'} caption={'Skip'}\n id = {this.getTestId('skip')}\n styles={merge({}, this.styles.wizardActions, this.styles.skipLink)} onTap={this.skip.bind(this)}></WmAnchor>\n }\n </View>\n </View>\n );\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,gBAAgB,EAAEC,QAAQ,EAAEC,wBAAwB,QAAQ,cAAc;AAC/F,SAASC,OAAO,EAAEC,KAAK,QAAQ,QAAQ;AACvC,SAASC,aAAa,EAAEC,kBAAkB,QAA2B,+CAA+C;AAEpH,OAAOC,aAAa,MAAM,gBAAgB;AAC1C,SAASC,aAAa,QAAwB,iBAAiB;AAC/D,OAAOC,QAAQ,MAAM,oEAAoE;AACzF,OAAOC,MAAM,MAAM,gEAAgE;AACnF,OAAOC,QAAQ,MAAM,oEAAoE;AAEzF,OAAOC,gBAAgB,MAAM,sFAAsF;AACnH,OAAOC,SAAS,MAAM,2EAA2E;AACjG,OAAOC,OAAO,MAAM,kEAAkE;AAEtF,OAAO,MAAMC,aAAa,SAAST,kBAAkB,CAAgB;EAAAU,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,sBAC7C,CAAC;IAAAA,eAAA,iBACL,KAAK;EAAA;AACzB;AAEA,eAAe,MAAMC,QAAQ,SAASd,aAAa,CAA+C;EAahGW,WAAWA,CAACI,KAAoB,EAAE;IAChC,KAAK,CAACA,KAAK,EAAEZ,aAAa,EAAE,IAAID,aAAa,CAAC,CAAC,CAAC;IAACW,eAAA,wBAbnB,IAAI;IAAAA,eAAA,gBACpB,EAAE;IAAAA,eAAA,qBACc,IAAI;IAAAA,eAAA,mBAEE;MACpCG,eAAe,EAAGC,CAAC,IAAK;QACtB,IAAIA,CAAC,YAAYT,SAAS,EAAE;UAC1B,IAAI,CAACU,UAAU,GAAGD,CAAC;QACrB;MACF;IACF,CAAC;IAIC,MAAME,KAAK,GAAGJ,KAAK,CAACK,QAAQ;IAC5B,IAAIC,gBAAgB,GAAG,CAAC;IACxB,IAAIvB,OAAO,CAACqB,KAAK,CAAC,IAAIJ,KAAK,CAACO,WAAW,EAAE;MACvCH,KAAK,CAACI,GAAG,CAAC,CAACC,IAAS,EAAEC,KAAU,KAAK;QACnC,IAAIV,KAAK,CAACO,WAAW,KAAKE,IAAI,CAACT,KAAK,CAACW,IAAI,EAAE;UACzCL,gBAAgB,GAAGI,KAAK;QAC1B;MACF,CAAC,CAAC;IACJ;IACA,IAAI,CAACE,iBAAiB,CAACN,gBAAgB,CAAC;EAC1C;EAEAO,aAAaA,CAACC,IAAkB,EAAE;IAChC,IAAI,CAACV,KAAK,CAACU,IAAI,CAACd,KAAK,CAACU,KAAK,CAAC,GAAGI,IAAI;IACnC,IAAI,CAACC,WAAW,CAAC,CAAC;EACpB;EAEAC,iBAAiBA,CAAA,EAAG;IAClB,KAAK,CAACA,iBAAiB,CAAC,CAAC;IACzB,IAAI,CAACC,cAAc,CAAC,CAAC;EACvB;EAEAA,cAAcA,CAAA,EAAG;IAAA,IAAAC,qBAAA;IACf,CAAAA,qBAAA,OAAI,CAACd,KAAK,CAAC,IAAI,CAACe,KAAK,CAACC,WAAW,CAAC,cAAAF,qBAAA,uBAAlCA,qBAAA,CAAoCG,SAAS,CAAC,CAAC;EACjD;EAEAT,iBAAiBA,CAACF,KAAa,EAAkB;IAAA,IAAAY,sBAAA;IAAA,IAAhBC,MAAM,GAAA1B,SAAA,CAAA2B,MAAA,QAAA3B,SAAA,QAAA4B,SAAA,GAAA5B,SAAA,MAAG,KAAK;IAC7C,MAAM6B,QAAQ,GAAG,IAAI,CAACP,KAAK,CAACC,WAAW;IACvC,CAAAE,sBAAA,OAAI,CAAClB,KAAK,CAAC,IAAI,CAACe,KAAK,CAACC,WAAW,CAAC,cAAAE,sBAAA,uBAAlCA,sBAAA,CAAoCK,WAAW,CAAC,CAAC;IACjD,IAAI,CAACC,WAAW,CAAC;MACfR,WAAW,EAAEV,KAAK;MAClBa,MAAM,EAAEA;IACV,CAAC,EAAmB,MAAM;MACxB,IAAI,CAACN,cAAc,CAAC,CAAC;MACrB,IAAIS,QAAQ,KAAKhB,KAAK,EAAE;QACtB,IAAI,CAACmB,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,EAAEpB,KAAK,GAAG,CAAC,EAAEgB,QAAQ,GAAG,CAAC,CAAC,CAAC;MACnF;IACF,CAAC,CAAC;EACJ;EAEAK,YAAYA,CAACrB,KAAa,EAAE;IAC1B,MAAMsB,KAAK,GAAG,CAAC,IAAI,CAACC,MAAM,CAACnB,IAAI,CAAC;IAChC,IAAI,IAAI,CAACK,KAAK,CAACI,MAAM,IAAIb,KAAK,GAAG,IAAI,CAACS,KAAK,CAACC,WAAW,EAAE;MACvDY,KAAK,CAACE,IAAI,CAAC,IAAI,CAACD,MAAM,CAACE,QAAQ,CAAC;IAClC,CAAC,MAAM,IAAI,IAAI,CAAChB,KAAK,CAACC,WAAW,KAAKV,KAAK,EAAE;MAC3CsB,KAAK,CAACE,IAAI,CAAC,IAAI,CAACD,MAAM,CAACG,UAAU,CAAC;IACpC;IACA,OAAOJ,KAAK;EACd;EAEAK,iBAAiBA,CAAA,EAAE;IACjB,MAAMC,WAAW,GAAG,IAAI,CAACtC,KAAK,CAACuC,qBAAqB,KAAK,CAAC9B,IAAS,EAAEC,KAAa,KAAK,EAAE,CAAC;IAC1F,MAAM8B,MAAM,GAAG,IAAI,CAACpC,KAAK,CAACI,GAAG,CAAEM,IAAkB,IAAKA,IAAI,CAACK,KAAK,CAACnB,KAAK,CAACyC,KAAK,CAAC;IAC7E,oBACEhE,KAAA,CAAAiE,aAAA,CAACjD,SAAS;MACRkD,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,MAAM,CAAE;MAC3BX,MAAM,EAAE,IAAI,CAACA,MAAM,CAACY,OAAQ;MAC5BC,gBAAgB,EAAE,aAAc;MAChCC,OAAO,EAAE,EAAG;MACZC,aAAa,EAAE,IAAI,CAACf,MAAM,CAACY,OAAO,CAACA,OAAO,CAACI,MAAM,IAAmC,IAAK;MACzFC,YAAY,EAAE,IAAI,CAACjB,MAAM,CAACY,OAAO,CAACA,OAAO,CAACM,KAAK,IAAmC,IAAK;MACvFC,QAAQ,EAAE,IAAI,CAACA,QAAS;MACxBC,SAAS,EAAE,IAAI,CAACrD,KAAK,CAACsD,gBAAgB,IAAI,kBAAmB;MAC7DC,YAAY,EAAC,OAAO;MACpBC,IAAI,EAAC;IAAU,gBACb/E,KAAA,CAAAiE,aAAA,CAAC/D,IAAI;MAACqD,KAAK,EAAE,IAAI,CAACC,MAAM,CAACY,OAAO,CAACA;IAAQ,GACtCL,MAAM,CAAChC,GAAG,CAAC,CAACC,IAAS,EAAEC,KAAa,KAAK;MACxC,MAAM+C,eAAe,GAAG/C,KAAK,IAAE,IAAI,CAACS,KAAK,CAACC,WAAW;MACrD,MAAM2B,OAAO,GAAGT,WAAW,CAAC;QAAC,OAAO,EAAC,IAAI,CAAClC,KAAK,CAACoB;MAAM,CAAC,EAAEd,KAAK,CAAC;MAC/D,oBACAjC,KAAA,CAAAiE,aAAA,CAAC5D,wBAAwB;QAAC4E,GAAG,EAAE,mBAAmB,GAAChD,KAAM;QAACiD,OAAO,EAAEA,CAAA,KAAI;UAAC,IAAI,CAACxD,UAAU,CAACyD,IAAI,CAAC,CAAC;QAAC;MAAE,gBAC/FnF,KAAA,CAAAiE,aAAA,CAAC/D,IAAI;QAACqD,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAAC4B,QAAQ,EAAEJ,eAAe,GAAC,IAAI,CAACxB,MAAM,CAAC6B,cAAc,GAAC,CAAC,CAAC;MAAE,gBACjFrF,KAAA,CAAAiE,aAAA,CAACpD,MAAM;QAACyD,OAAO,EAAEA,OAAQ;QAACM,SAAS,EAAEI,eAAe,GAAE,4BAA4B,GAAG,8BAA+B;QAACxB,MAAM,EAAEwB,eAAe,GAAC,IAAI,CAACxB,MAAM,CAAC8B,kBAAkB,GAAC,IAAI,CAAC9B,MAAM,CAAC+B;MAAa,CAAC,CAAC,eACvMvF,KAAA,CAAAiE,aAAA,CAAChD,OAAO;QAACqD,OAAO,EAAEtC,IAAK;QAACwB,MAAM,EAAEwB,eAAe,GAAC,IAAI,CAACxB,MAAM,CAACgC,mBAAmB,GAAC,IAAI,CAAChC,MAAM,CAACiC;MAAc,CAAC,CACvG,CACkB,CAAC;IAC5B,CAAC,CACE,CACC,CAAC;EAEhB;EAEAC,0BAA0BA,CAAC1D,IAAS,EAAEC,KAAa,EAAE;IACnD,MAAM0D,aAAa,GAAG,IAAI,CAACpE,KAAK,CAACqE,aAAa,IAAK3D,KAAK,GAAG,CAAC,GAAG,GAAG,GAAG,IAAI,CAACN,KAAK,CAACoB,MAAO;IACvF,oBACE/C,KAAA,CAAAiE,aAAA,CAAC/D,IAAI;MAACqD,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAACqC,aAAa,CAAE;MAACZ,GAAG,EAAEhD,KAAK,GAAG;IAAE,gBACvDjC,KAAA,CAAAiE,aAAA,CAAC/D,IAAI;MAACqD,KAAK,EAAE,IAAI,CAACC,MAAM,CAACsC;IAAY,gBACnC9F,KAAA,CAAAiE,aAAA,CAAC/D,IAAI;MAACqD,KAAK,EAAE;QAAEwC,IAAI,EAAE,CAAC;QAAEC,UAAU,EAAE,YAAY;QAAEC,cAAc,EAAE,QAAQ;QAAEC,aAAa,EAAC;MAAM;IAAE,gBAChGlG,KAAA,CAAAiE,aAAA,CAAClD,gBAAgB;MAACoF,QAAQ,EAAE,CAAE;MAACC,QAAQ,EAAE,IAAI,CAACzE,KAAK,CAACoB,MAAO;MAACsD,SAAS,EAAEpE,KAAK,GAAG,CAAE;MAACqE,gBAAgB,EAAE,QAAS;MAACvB,IAAI,EAAE,IAAI,CAACxD,KAAK,CAACgF,YAAa;MAACvC,KAAK,EAAE2B,aAAc;MAACa,QAAQ,EAAE,EAAG;MAAChD,MAAM,EAAE,IAAI,CAACA,MAAM,CAACiD;IAAe,CAAE,CAClN,CAAC,eACTzG,KAAA,CAAAiE,aAAA,CAAC/D,IAAI;MAACqD,KAAK,EAAE;QAAEwC,IAAI,EAAE,CAAC;QAAEE,cAAc,EAAE,QAAQ;QAAEC,aAAa,EAAE;MAAS;IAAE,gBACxElG,KAAA,CAAAiE,aAAA,CAAChE,IAAI;MAACsD,KAAK,EAAE,IAAI,CAACC,MAAM,CAACkD;IAAU,GAChC1E,IAAI,CAACT,KAAK,CAACyC,KAAK,IAAI,YAAmB,CAAC,eAC3ChE,KAAA,CAAAiE,aAAA,CAAChE,IAAI;MAACsD,KAAK,EAAE,IAAI,CAACC,MAAM,CAACmD;IAAa,GACnC3E,IAAI,CAACT,KAAK,CAACiF,QAAQ,IAAI,gBAAuB,CAC7C,CAAC,eACPxG,KAAA,CAAAiE,aAAA,CAAC/D,IAAI;MAACqD,KAAK,EAAE;QAAE2C,aAAa,EAAE,KAAK;QAAEF,UAAU,EAAE,UAAU;QAAEC,cAAc,EAAE;MAAW;IAAE,GACvF,IAAI,CAACrC,iBAAiB,CAAC,CACpB,CACF,CACF,CAAC;EAEX;EAEAgD,kBAAkBA,CAAC5E,IAAS,EAAEC,KAAa,EAAE;IAC3C,MAAM4E,UAAU,GAAG5E,KAAK,KAAK,IAAI,CAAC6E,aAAa,GAAG,CAAC;IACnD,MAAMC,WAAW,GAAG9E,KAAK,KAAK,CAAC;IAC/B,MAAM+E,YAAY,GAAG/E,KAAK,KAAK,IAAI,CAACS,KAAK,CAACC,WAAW;IACrD,MAAMsE,kBAAkB,GAAG,IAAI,CAACvE,KAAK,CAACnB,KAAK,CAAC2F,SAAS,KAAK,oBAAoB;IAC9E,OAAOlF,IAAI,CAACU,KAAK,CAACnB,KAAK,CAAC4F,IAAI,IAAI,KAAK,gBACnCnH,KAAA,CAAAiE,aAAA,CAAC/D,IAAI;MAACqD,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAACqC,aAAa,EAAEoB,kBAAkB,GACzD;QAACG,YAAY,EAAEJ,YAAY,GAAG,CAAC,GAAG,CAAC;QAAEK,WAAW,EAAEpF,KAAK,KAAK,IAAI,CAACS,KAAK,CAACC,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG;MAAC,CAAC,GAAE,CAAC,CAAC,CAAE;MAACsC,GAAG,EAAEhD,KAAK,GAAC;IAAE,gBACnHjC,KAAA,CAAAiE,aAAA,CAAC9D,gBAAgB;MAACoD,KAAK,EAAE,IAAI,CAACC,MAAM,CAACsC,WAAY;MAC/BZ,OAAO,EAAE,IAAI,CAAC/C,iBAAiB,CAACmF,IAAI,CAAC,IAAI,EAAErF,KAAK,EAAE,KAAK,CAAE;MAACsF,QAAQ,EAAEtF,KAAK,IAAI,IAAI,CAACS,KAAK,CAACC,WAAY;MACpG6E,iBAAiB,EAAC;IAAQ,gBACxCxH,KAAA,CAAAiE,aAAA,CAAC/D,IAAI;MAACqD,KAAK,EAAE,IAAI,CAACD,YAAY,CAACrB,KAAK;IAAE,GACnCA,KAAK,IAAI,IAAI,CAACS,KAAK,CAACC,WAAW,IAAI,CAAC,IAAI,CAACD,KAAK,CAACI,MAAM,iBACpD9C,KAAA,CAAAiE,aAAA,CAAChE,IAAI;MAACsD,KAAK,EAAEyD,YAAY,GAAG,IAAI,CAACxD,MAAM,CAACG,UAAU,GAAG,IAAI,CAACH,MAAM,CAACiE;IAAY,GAAExF,KAAK,GAAC,CAAQ,CAAC,EAC/F,CAACA,KAAK,GAAG,IAAI,CAACS,KAAK,CAACC,WAAW,IAAI,IAAI,CAACD,KAAK,CAACI,MAAM,kBACnD9C,KAAA,CAAAiE,aAAA,CAACpD,MAAM;MAAC2C,MAAM,EAAEjD,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAACiD,MAAM,CAACkE,QAAQ,EAAE;QAACC,IAAI,EAAE;UAACC,KAAK,EAAE,IAAI,CAACpE,MAAM,CAACG,UAAU,CAACiE;QAAK;MAAC,CAAC,CAAE;MACvFhD,SAAS,EAAE5C,IAAI,CAACU,KAAK,CAACnB,KAAK,CAACqD,SAAS,IAAI;IAAmB,CAAS,CAC3E,CAAC,EACN,CAAEqC,kBAAkB,IAAID,YAAY,IAAK,CAACC,kBAAkB,kBAC3DjH,KAAA,CAAAiE,aAAA,CAAChE,IAAI;MAACsD,KAAK,EAAE,IAAI,CAACC,MAAM,CAACkD;IAAU,GAClC1E,IAAI,CAACU,KAAK,CAACnB,KAAK,CAACyC,KAAK,IAAI,YAAmB,CAAC,EAChD,IAAI,CAAC8C,aAAa,GAAG,CAAC,IAAIE,YAAY,iBACrChH,KAAA,CAAAiE,aAAA,CAAC/D,IAAI;MAACqD,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAACqE,uBAAuB,EAAE;QAACnD,KAAK,EAAEmC,UAAU,GAAG,CAAC,GAAG;MAAE,CAAC;IAAE,CAAO,CAC5E,CAAC,EAClB,IAAI,CAACC,aAAa,GAAG,CAAC,iBAAI9G,KAAA,CAAAiE,aAAA,CAAC/D,IAAI;MAACqD,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAACsE,aAAa,EAAE;QAAEpD,KAAK,EAAEqC,WAAW,IAAIF,UAAU,GAAG,KAAK,GAAG,MAAM;QACzEkB,IAAI,EAAE3H,QAAQ,CAAC4H,EAAE,IAAI,KAAK,GAAE,CAAC,IAAI,CAACC,KAAK,IAAIlB,WAAW,IAAM,IAAI,CAACkB,KAAK,IAAIpB,UAAW,GAAG,KAAK,GAAE,IAAI,GAAEE,WAAW,GAAG,KAAK,GAAE;MAAI,CAAC;IAAE,CAAO,CAClL,CAAC,GACL,IAAI;EACV;EAEAmB,IAAIA,CAAA,EAAG;IACL,MAAMjG,KAAK,GAAG,IAAI,CAACS,KAAK,CAACC,WAAW;IACpC,IAAIV,KAAK,IAAI,CAAC,EAAE;MACd;IACF;IACA,MAAMU,WAAW,GAAG,IAAI,CAAChB,KAAK,CAACM,KAAK,CAAC;IACrC,IAAGU,WAAW,CAACwF,YAAY,CAAClG,KAAK,CAAC,IAAI,KAAK,EAAC;MAC1C;IACF;IACA,IAAI,CAACE,iBAAiB,CAACF,KAAK,GAAG,CAAC,CAAC;EACnC;EAEAmG,IAAIA,CAACC,SAAkB,EAAE;IACvB,MAAMpG,KAAK,GAAG,IAAI,CAACS,KAAK,CAACC,WAAW;IACpC,IAAIV,KAAK,IAAI,IAAI,CAACN,KAAK,CAACoB,MAAM,GAAG,CAAC,EAAE;MAClC;IACF;IACA,MAAMJ,WAAW,GAAG,IAAI,CAAChB,KAAK,CAACM,KAAK,CAAC;IACrC,IAAIoG,SAAS,KAAK,MAAM,EAAE;MACxB1F,WAAW,CAAC2F,YAAY,CAACrG,KAAK,CAAC;IACjC,CAAC,MAAM,IAAIU,WAAW,CAAC4F,YAAY,CAACtG,KAAK,CAAC,IAAI,KAAK,EAAE;MACnD;IACF;IACA,IAAI,CAACE,iBAAiB,CAACF,KAAK,GAAG,CAAC,CAAC;EACnC;EAEAuG,IAAIA,CAACC,MAAW,EAAE;IAChB,IAAI,IAAI,CAAC/F,KAAK,CAACC,WAAW,KAAK,IAAI,CAAChB,KAAK,CAACoB,MAAM,GAAG,CAAC,EAAE;MACpD;IACF;IACA,IAAI,CAACI,WAAW,CAAC;MACfL,MAAM,EAAE;IACV,CAAkB,CAAC;IACnB,IAAI,CAACM,mBAAmB,CAAC,QAAQ,EAAE,CAACqF,MAAM,EAAE,IAAI,CAACpF,KAAK,CAAC,CAAC;EAC1D;EAEAqF,MAAMA,CAAA,EAAG;IACP,IAAI,CAACtF,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAACC,KAAK,CAAC,CAAC;EAC1D;EAEAsF,IAAIA,CAAA,EAAG;IACL,IAAI,CAACP,IAAI,CAAC,MAAM,CAAC;EACnB;EAEAQ,YAAYA,CAACrH,KAAoB,EAAE;IAAA,IAAAsH,qBAAA;IACjC,IAAI,CAAC/B,aAAa,GAAG,IAAI,CAACnF,KAAK,CAACoB,MAAM;IACtC,MAAMY,UAAU,GAAG,IAAI,CAAChC,KAAK,CAAC,IAAI,CAACe,KAAK,CAACC,WAAW,CAAC;IACrD,MAAMmG,WAAW,GAAGnF,UAAU,IAAIA,UAAU,CAACjB,KAAK,CAACnB,KAAK,CAACwH,UAAU;IACnE,MAAMC,sBAAsB,IAAAH,qBAAA,GAAG,IAAI,CAACnG,KAAK,CAACnB,KAAK,CAAC2F,SAAS,cAAA2B,qBAAA,uBAA1BA,qBAAA,CAA4BI,QAAQ,CAAC,wBAAwB,CAAC;IAC7F,oBACEjJ,KAAA,CAAAiE,aAAA,CAAC/D,IAAI;MAACqD,KAAK,EAAE,IAAI,CAACC,MAAM,CAAC0F;IAAK,GAC3B,IAAI,CAACC,WAAW,eACjBnJ,KAAA,CAAAiE,aAAA,CAAC/D,IAAI;MAACqD,KAAK,EAAE,IAAI,CAACC,MAAM,CAAC4F;IAAa,GACnCzF,UAAU,IAAIqF,sBAAsB,GAAI,IAAI,CAACtD,0BAA0B,CAAC/B,UAAU,EAAE,IAAI,CAACjB,KAAK,CAACC,WAAW,CAAC,GAAK,IAAI,CAAChB,KAAK,GAAG,IAAI,CAACA,KAAK,CAACI,GAAG,CAAC,CAACM,IAAI,EAAEgH,CAAC,KAAK,IAAI,CAACzC,kBAAkB,CAACvE,IAAI,EAAEgH,CAAC,CAAC,CAAC,GAAG,IAC1L,CAAC,eACPrJ,KAAA,CAAAiE,aAAA,CAAC/D,IAAI;MAACqD,KAAK,EAAE,IAAI,CAACC,MAAM,CAAC8F;IAAW,GACjC/H,KAAK,CAACK,QACH,CAAC,eACP5B,KAAA,CAAAiE,aAAA,CAAC/D,IAAI;MAACqD,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAAC+F,YAAY,EACpC;QAACrD,aAAa,EAAE3E,KAAK,CAACiI,gBAAgB,KAAK,OAAO,GAAG,aAAa,GAAE;MAAK,CAAC;IAAE,GAC1E,IAAI,CAAC9G,KAAK,CAACC,WAAW,GAAC,CAAC,KAAM,IAAI,CAACmE,aAAa,IAAInD,UAAU,CAACjB,KAAK,CAACnB,KAAK,CAACkI,QAAQ,iBACnFzJ,KAAA,CAAAiE,aAAA,CAACrD,QAAQ;MAACgE,SAAS,EAAE,kBAAmB;MAACpB,MAAM,EAAEjD,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAACiD,MAAM,CAACkG,aAAa,EAAE,IAAI,CAACC,KAAK,CAACC,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAACpG,MAAM,CAACqG,UAAU,CAAE;MAChJ3F,EAAE,EAAI,IAAI,CAACC,SAAS,CAAC,SAAS,CAAE;MAACG,OAAO,EAAE/C,KAAK,CAACuI,YAAa;MAACC,KAAK,EAAE,IAAI,CAACvB,IAAI,CAAClB,IAAI,CAAC,IAAI,CAAE;MAACC,QAAQ,EAAE5D,UAAU,CAACjB,KAAK,CAACnB,KAAK,CAACyI;IAAY,CAAW,CAAC,EAEtJ,IAAI,CAACtH,KAAK,CAACC,WAAW,GAAC,CAAC,GAAI,IAAI,CAACmE,aAAa,IAAInD,UAAU,CAACjB,KAAK,CAACnB,KAAK,CAAC0I,QAAQ,iBACjFjK,KAAA,CAAAiE,aAAA,CAACrD,QAAQ;MAACgE,SAAS,EAAE,qBAAsB;MAACpB,MAAM,EAAEjD,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAACiD,MAAM,CAACkG,aAAa,EAAE,IAAI,CAACC,KAAK,CAACC,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAACpG,MAAM,CAAC0G,UAAU,CAAE;MACjJhG,EAAE,EAAI,IAAI,CAACC,SAAS,CAAC,SAAS,CAAE;MAC1BW,YAAY,EAAE,OAAQ;MAACR,OAAO,EAAE/C,KAAK,CAAC4I,YAAa;MAACJ,KAAK,EAAE,IAAI,CAAC3B,IAAI,CAACd,IAAI,CAAC,IAAI,CAAE;MAACC,QAAQ,EAAE5D,UAAU,CAACjB,KAAK,CAACnB,KAAK,CAAC6I;IAAY,CAAW,CAAC,EAErJ,IAAI,CAAC1H,KAAK,CAACC,WAAW,GAAG,CAAC,IAAIgB,UAAU,CAACjB,KAAK,CAACnB,KAAK,CAAC8I,QAAQ,iBAC5DrK,KAAA,CAAAiE,aAAA,CAACrD,QAAQ;MAACgE,SAAS,EAAE,oBAAqB;MAACpB,MAAM,EAAEjD,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAACoJ,KAAK,CAACC,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAACpG,MAAM,CAACkG,aAAa,EAAE,IAAI,CAAClG,MAAM,CAAC8G,UAAU,CAAE;MAAChG,OAAO,EAAE/C,KAAK,CAACgJ,gBAAiB;MACjLrG,EAAE,EAAI,IAAI,CAACC,SAAS,CAAC,SAAS,CAAE;MAChC4F,KAAK,EAAE,IAAI,CAAC7B,IAAI,CAACZ,IAAI,CAAC,IAAI,CAAE;MAACC,QAAQ,EAAE5D,UAAU,CAACjB,KAAK,CAACnB,KAAK,CAACiJ;IAAY,CAAW,CAAC,EAE3FjJ,KAAK,CAACkJ,UAAU,gBACbzK,KAAA,CAAAiE,aAAA,CAACrD,QAAQ;MAACsD,EAAE,EAAI,IAAI,CAACC,SAAS,CAAC,WAAW,CAAE;MAAEG,OAAO,EAAE/C,KAAK,CAACmJ,cAAe;MAAClH,MAAM,EAAEjD,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAACoJ,KAAK,CAACC,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAACpG,MAAM,CAACkG,aAAa,EAAE,IAAI,CAAClG,MAAM,CAACmH,YAAY,CAAE;MAACZ,KAAK,EAAE,IAAI,CAACrB,MAAM,CAACpB,IAAI,CAAC,IAAI;IAAE,CAAW,CAAC,GACjO,IAAI,EAETwB,WAAW,iBACR9I,KAAA,CAAAiE,aAAA,CAACnD,QAAQ;MAAC8D,SAAS,EAAE,qBAAsB;MAACE,YAAY,EAAE,OAAQ;MAACR,OAAO,EAAE,MAAO;MACjFJ,EAAE,EAAI,IAAI,CAACC,SAAS,CAAC,MAAM,CAAE;MAC7BX,MAAM,EAAEjD,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAACiD,MAAM,CAACkG,aAAa,EAAE,IAAI,CAAClG,MAAM,CAACoH,QAAQ,CAAE;MAACb,KAAK,EAAE,IAAI,CAACpB,IAAI,CAACrB,IAAI,CAAC,IAAI;IAAE,CAAW,CAE7G,CACF,CAAC;EAEX;AACF"}
@@ -407,7 +407,8 @@ export default class WmForm extends BaseComponent {
407
407
  }), /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(WmLabel, {
408
408
  id: this.getTestId('title'),
409
409
  styles: this.styles.title,
410
- caption: props.title
410
+ caption: props.title,
411
+ accessibilityrole: "header"
411
412
  }), /*#__PURE__*/React.createElement(WmLabel, {
412
413
  id: this.getTestId('description'),
413
414
  styles: this.styles.subheading,
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","BaseComponent","BaseComponentState","isDefined","debounce","find","forEach","isNil","get","set","cloneDeep","isEmpty","WmLabel","WmIcon","WmMessage","ToastConsumer","WmFormProps","DEFAULT_CLASS","isDataSetWidget","WmFormState","constructor","arguments","_defineProperty","WmForm","props","handleSubmit","componentDidMount","getParentFormRef","parentForm","pformName","current","parent","parentFormRef","setReadonlyFields","_this$formFields","formFields","field","setReadOnlyState","state","isUpdateMode","setReadonlyState","updateMode","updateState","setTimeout","showActions","edit","new","cancel","delete","registerFormFields","formWidgets","w","form","formwidget","formKey","name","f","formfields","applyFormData","applyDefaultValue","formdataoutput","datavalue","dataoutput","_this$buttonArray","buttonArray","action","show","registerFormActions","formActions","_updateFieldOnDataSourceChange","isDataSetBound","widget","isRelated","relatedData","_this$parentFormRef","formData","formdata","formField","_formField$props","fw","key","setState","isDefault","updateFormFieldDefaultValue","dv","defaultvalue","_formField$props2","invokeEventCallback","bind","undefined","formreset","ff","defaultValue","id","_widget","isValid","reset","submit","_debouncedSubmitForm","generateFormFields","userFields","fields","metadata","data","onBeforerender","proxy","dynamicForm","generateComponent","onPropertyChange","$new","$old","_this$formFields2","setPrimaryKey","fieldName","primaryKey","indexOf","push","validateFieldsOnSubmit","val","onValidate","required","msg","defaultValidatorMessages","validationmessage","validate","event","preventDefault","onBeforesubmit","formSubmit","onResultCb","error","response","status","onSuccess","postmessage","toggleMessage","onError","errormessage","updateDataOutput","Object","assign","type","message","messagelayout","showInlineMsg","toaster","showToast","placement","styles","bottom","text","hideOnClick","duration","onMsgClose","renderWidget","createElement","toastService","style","root","_background","iconclass","title","subheading","heading","flex","flexDirection","getTestId","listIcon","caption","hideclose","onClose","children"],"sources":["form.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { isDefined, widgetsWithUndefinedValue } from '@wavemaker/app-rn-runtime/core/utils';\nimport { debounce, find, forEach, isNil, get, set, cloneDeep, isEmpty } from 'lodash';\n\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmFormField, { WmFormFieldState } from '@wavemaker/app-rn-runtime/components/data/form/form-field/form-field.component';\nimport WmMessage from '@wavemaker/app-rn-runtime/components/basic/message/message.component';\nimport { ToastConsumer, ToastService } from '@wavemaker/app-rn-runtime/core/toast.service';\n\nimport WmFormProps from './form.props';\nimport { DEFAULT_CLASS, WmFormStyles } from './form.styles';\nimport WmSkeleton, { createSkeleton } from '../../basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\nimport { isDataSetWidget } from '@wavemaker/app-rn-runtime/core/utils';\nimport WmFormAction, {\n WmFormActionState\n} from '@wavemaker/app-rn-runtime/components/data/form/form-action/form-action.component';\n\nexport class WmFormState extends BaseComponentState<WmFormProps> {\n isValid = false;\n type: 'success' | 'warning' | 'error' | 'info' | 'loading' | undefined = 'success';\n message: string = '';\n showInlineMsg: boolean = false;\n isUpdateMode: boolean = true;\n dynamicForm: any;\n}\nexport default class WmForm extends BaseComponent<WmFormProps, WmFormState, WmFormStyles> {\n public formFields: Array<WmFormField> = []; // contains array of direct widget elements [WmText, WmNumber, WmCurrent]\n public parentFormRef: any;\n public formfields: {[key: string]: WmFormField} = {};\n public formdataoutput: any;\n private toaster: any;\n public formActions: Array<WmFormAction> = [];\n primaryKey = [];\n buttonArray: Array<WmFormAction> = [];\n formWidgets: { [key: string]: BaseComponent<any, any, any> } = {}; // object containing key as name of formField and value as WmFormField proxy.\n constructor(props: WmFormProps) {\n super(props, DEFAULT_CLASS, new WmFormProps(), new WmFormState());\n }\n\n private _debouncedSubmitForm = debounce(this.handleSubmit, 250);\n\n componentDidMount() {\n super.componentDidMount();\n this.getParentFormRef(this.props.parentForm);\n }\n\n getParentFormRef(pformName: string) {\n let current = this.parent;\n while (current) {\n if (get(current, 'props.name') === pformName) {\n this.parentFormRef = current;\n break;\n }\n current = current.parent;\n }\n }\n\n setReadonlyFields() {\n this.formFields?.forEach((field: any) => {\n field.setReadOnlyState(this.state.isUpdateMode);\n });\n }\n\n setReadonlyState(updateMode: any) {\n this.updateState({\n isUpdateMode: updateMode,\n } as WmFormState);\n setTimeout(() => {\n this.showActions();\n this.setReadonlyFields();\n }, 100);\n }\n\n edit() {\n this.setReadonlyState(true);\n }\n\n new() {\n this.setReadonlyState(true);\n }\n\n cancel() {\n this.setReadonlyState(false);\n }\n\n delete() { }\n\n registerFormFields(\n formFields: Array<WmFormField>,\n formWidgets: { [key: string]: BaseComponent<any, any, any> }\n ) {\n forEach(formFields, (w: WmFormField) => {\n if (!w.form) {\n w.form = this;\n w.formwidget = (w.props.formKey && formWidgets[w.props.formKey])\n || (w.props.name && formWidgets[w.props.name]);\n }\n });\n\n this.formFields = formFields;\n this.formWidgets = formWidgets;\n\n formFields?.forEach((f: WmFormField) => {\n if (f.props.name) {\n set(this.formfields, f.props.name, f);\n }\n })\n\n this.setReadonlyFields();\n\n this.applyFormData();\n this.applyDefaultValue();\n\n // setting default form dataoutput.\n if (!this.formdataoutput) {\n this.formdataoutput = {};\n formFields?.forEach((w: WmFormField) => {\n const name = get(w.props, 'formKey') || w.props.name;\n if (name) {\n set(this.formdataoutput, name, w.props.datavalue);\n }\n });\n this.updateState({\n props: {\n dataoutput: this.formdataoutput\n }\n } as WmFormState);\n }\n }\n\n showActions () {\n this.buttonArray?.forEach((action: any) => {\n action.updateState({\n props: {\n show: action.updateMode === this.state.isUpdateMode\n }} as WmFormActionState);\n });\n }\n\n registerFormActions(formActions: Array<WmFormAction>) {\n this.buttonArray = formActions;\n this.showActions();\n }\n\n private _updateFieldOnDataSourceChange(field: WmFormField, formFields: Array<WmFormField>) {\n if (!field.state.props.isDataSetBound && isDataSetWidget(field.props.widget)) {\n if (field.state.props.isRelated) {\n field.updateState({\n props: {\n isDataSetBound: true\n }} as WmFormFieldState);\n this.props.relatedData && this.props.relatedData(field);\n }\n }\n }\n\n applyFormData() {\n let formData = this.state.props.formdata || this.parentFormRef?.state.props.formdata;\n if (!formData || (this.parentFormRef && this.state.props.formdata)) {\n return;\n }\n forEach(this.formFields, (formField: WmFormField) => {\n let fw = formField.props?.name && this.formWidgets[formField.props.name];\n if (!fw) {\n fw = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === formField.props.name\n });\n }\n let key = get(formField, 'formKey') || get(fw, 'props.name');\n fw && fw.setState({ isDefault: true });\n formField.updateState({\n props: {\n datavalue: get(formData, key)\n }\n } as WmFormFieldState);\n });\n }\n\n updateFormFieldDefaultValue(formField: WmFormField) {\n if (formField) {\n const dv = formField.state.props.defaultvalue;\n if (isDefined(dv) && dv !== null && this.formFields) {\n let field = formField.props?.name && this.formWidgets[formField.props.name];\n if (!field) {\n field = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === formField.props.name\n });\n }\n if (field) {\n field.setState({ isDefault: true });\n field.updateState({\n props: {\n datavalue: dv\n }\n }, this.invokeEventCallback.bind(formField, 'onFieldChange', [undefined, formField, dv]));\n }\n }\n }\n }\n\n get dataoutput() {\n return this.formdataoutput;\n }\n\n applyDefaultValue(formField?: WmFormField) {\n if (formField) {\n this.updateFormFieldDefaultValue(formField);\n return;\n }\n forEach(this.formFields, (w: WmFormField) => {\n this.updateFormFieldDefaultValue(w);\n });\n }\n\n formreset() {\n this.formdataoutput = {};\n forEach(this.formFields, (ff: WmFormField) => {\n const defaultValue = isNil(ff.state.props.defaultvalue) ? '' : ff.state.props.defaultvalue;\n ff.updateState({\n props : {\n datavalue: defaultValue\n }\n } as WmFormFieldState, () => {\n const id = ff.props.formKey || ff.props.name;\n if (id) {\n let widget: BaseComponent<any, any, any> | undefined | any = this.formWidgets[id];\n if (!widget) {\n widget = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === ff.props.name\n });\n }\n widget.updateState({\n isValid: true,\n props : {\n datavalue: defaultValue\n }\n }, () => ff.updateState({\n isValid: true\n } as WmFormFieldState));\n widget?.reset();\n }\n }\n );\n });\n }\n\n submit() {\n this._debouncedSubmitForm();\n }\n\n // Function to generate and compile the form fields from the metadata\n generateFormFields() {\n let userFields;\n let fields = this.state.props.metadata ? this.state.props.metadata.data || this.state.props.metadata : [];\n\n if (isEmpty(fields)) {\n return;\n }\n\n if (this.props.onBeforerender) {\n userFields = this.invokeEventCallback('onBeforerender', [fields, this.proxy]);\n if (userFields) {\n fields = userFields;\n }\n }\n\n this.updateState({\n dynamicForm: this.props.generateComponent(fields, this.props.name)\n } as WmFormState);\n\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'formdata':\n if ($new) {\n this.applyFormData();\n }\n break;\n case 'defaultmode':\n this.updateState({\n isUpdateMode: $new && $new === 'Edit' ? true : false,\n } as WmFormState);\n break;\n case 'dataset':\n this.formFields?.forEach((w: WmFormField) => {\n this._updateFieldOnDataSourceChange(w, this.formFields);\n });\n break;\n case 'metadata':\n this.generateFormFields();\n break;\n }\n }\n setPrimaryKey(fieldName: string) {\n /*Store the primary key of data*/\n this.primaryKey = this.primaryKey || [];\n // @ts-ignore\n if (this.primaryKey.indexOf(fieldName) === -1) {\n // @ts-ignore\n this.primaryKey.push(fieldName);\n }\n }\n // Disable the form submit if form is in invalid state. Highlight all the invalid fields if validation type is default\n validateFieldsOnSubmit() {\n let isValid = true;\n forEach(this.formFields, (field) => {\n const val = field?.state.props.datavalue;\n\n const onValidate = get(field, 'props.onValidate');\n onValidate && onValidate(field);\n if (!val && field?.state.props.required) {\n isValid = false;\n const msg = get(field.defaultValidatorMessages, 'required') || field.state.props.validationmessage;\n field.updateState({ isValid: isValid, props: {\n validationmessage: msg\n }} as WmFormFieldState);\n field.formwidget.validate && field.formwidget.validate(val);\n }\n // check for isvalid state of formwidget\n if (field.formwidget.state.isValid === false) {\n isValid = false;\n }\n });\n return isValid;\n }\n\n // @ts-ignore\n handleSubmit(event?: any) {\n event?.preventDefault();\n const formData = cloneDeep(this.state.props.dataoutput || this.formdataoutput);\n\n if (!this.validateFieldsOnSubmit()) {\n return false;\n }\n if (this.props.onBeforesubmit) {\n this.invokeEventCallback('onBeforesubmit', [ null, this.proxy, formData ]);\n }\n if (this.props.formSubmit) {\n this.props.formSubmit(formData, ((data: any) => {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n this.onResultCb(get(data, 'params'), 'success');\n }), ((error: any) => {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n this.onResultCb(error, '');\n }));\n } else {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n }\n }\n\n onResultCb(response: any, status: string, event?: any) {\n this.invokeEventCallback('onResult', [ null, this.proxy, response ]);\n if (status) {\n this.invokeEventCallback('onSuccess', [ null, this.proxy, response ]);\n !this.props.onSuccess && this.state.props.postmessage && this.toggleMessage('success', this.state.props.postmessage);\n } else {\n this.invokeEventCallback('onError', [ null, this.proxy, response ]);\n !this.props.onError && this.toggleMessage('error', this.state.props.errormessage || get(response, 'message'));\n }\n }\n\n updateDataOutput(key: string, val: any) {\n const current = this.formdataoutput || {};\n if (key) {\n set(current, key, val);\n } else {\n Object.assign(current, val)\n }\n this.formdataoutput = current;\n this.updateState({ props: { dataoutput: current }} as WmFormState);\n this.parentFormRef && this.parentFormRef.updateDataOutput(undefined, this.formdataoutput);\n this.updateState({\n props: {\n dataoutput: this.formdataoutput\n }\n } as WmFormState);\n }\n\n toggleMessage(\n type: 'success' | 'warning' | 'error' | 'info' | 'loading' | undefined,\n message: string\n ) {\n if (this.state.props.messagelayout === 'Inline') {\n this.setState({\n type: type,\n message: message,\n showInlineMsg: true\n } as WmFormState)\n return;\n }\n this.toaster.showToast({\n name: this, placement: \"\", styles: {bottom: 0},\n text: message,\n type: type,\n hideOnClick: true,\n duration: 5000\n });\n }\n\n onMsgClose() {\n this.setState({\n showInlineMsg: false\n } as WmFormState)\n }\n\n renderWidget(props: WmFormProps) {\n return (\n <ToastConsumer>\n {(toastService: ToastService) => {\n this.toaster = toastService;\n return <View style={this.styles.root}>\n {this._background}\n {props.iconclass || props.title || props.subheading ? (\n <View style={this.styles.heading}>\n <View style={{flex: 1, flexDirection: 'row'}}>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.listIcon} iconclass={props.iconclass}></WmIcon>\n <View>\n <WmLabel id={this.getTestId('title')} styles={this.styles.title} caption={props.title}></WmLabel>\n <WmLabel id={this.getTestId('description')} styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n </View>\n </View>\n ) : null}\n {this.state.showInlineMsg ? <WmMessage type={this.state.type} caption={this.state.message} hideclose={false} onClose={this.onMsgClose.bind(this)}></WmMessage> : null\n }\n { props.metadata && this.state.dynamicForm }\n { props.children}\n </View>\n }\n }\n </ToastConsumer>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","View","BaseComponent","BaseComponentState","isDefined","debounce","find","forEach","isNil","get","set","cloneDeep","isEmpty","WmLabel","WmIcon","WmMessage","ToastConsumer","WmFormProps","DEFAULT_CLASS","isDataSetWidget","WmFormState","constructor","arguments","_defineProperty","WmForm","props","handleSubmit","componentDidMount","getParentFormRef","parentForm","pformName","current","parent","parentFormRef","setReadonlyFields","_this$formFields","formFields","field","setReadOnlyState","state","isUpdateMode","setReadonlyState","updateMode","updateState","setTimeout","showActions","edit","new","cancel","delete","registerFormFields","formWidgets","w","form","formwidget","formKey","name","f","formfields","applyFormData","applyDefaultValue","formdataoutput","datavalue","dataoutput","_this$buttonArray","buttonArray","action","show","registerFormActions","formActions","_updateFieldOnDataSourceChange","isDataSetBound","widget","isRelated","relatedData","_this$parentFormRef","formData","formdata","formField","_formField$props","fw","key","setState","isDefault","updateFormFieldDefaultValue","dv","defaultvalue","_formField$props2","invokeEventCallback","bind","undefined","formreset","ff","defaultValue","id","_widget","isValid","reset","submit","_debouncedSubmitForm","generateFormFields","userFields","fields","metadata","data","onBeforerender","proxy","dynamicForm","generateComponent","onPropertyChange","$new","$old","_this$formFields2","setPrimaryKey","fieldName","primaryKey","indexOf","push","validateFieldsOnSubmit","val","onValidate","required","msg","defaultValidatorMessages","validationmessage","validate","event","preventDefault","onBeforesubmit","formSubmit","onResultCb","error","response","status","onSuccess","postmessage","toggleMessage","onError","errormessage","updateDataOutput","Object","assign","type","message","messagelayout","showInlineMsg","toaster","showToast","placement","styles","bottom","text","hideOnClick","duration","onMsgClose","renderWidget","createElement","toastService","style","root","_background","iconclass","title","subheading","heading","flex","flexDirection","getTestId","listIcon","caption","accessibilityrole","hideclose","onClose","children"],"sources":["form.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { isDefined, widgetsWithUndefinedValue } from '@wavemaker/app-rn-runtime/core/utils';\nimport { debounce, find, forEach, isNil, get, set, cloneDeep, isEmpty } from 'lodash';\n\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmFormField, { WmFormFieldState } from '@wavemaker/app-rn-runtime/components/data/form/form-field/form-field.component';\nimport WmMessage from '@wavemaker/app-rn-runtime/components/basic/message/message.component';\nimport { ToastConsumer, ToastService } from '@wavemaker/app-rn-runtime/core/toast.service';\n\nimport WmFormProps from './form.props';\nimport { DEFAULT_CLASS, WmFormStyles } from './form.styles';\nimport WmSkeleton, { createSkeleton } from '../../basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\nimport { isDataSetWidget } from '@wavemaker/app-rn-runtime/core/utils';\nimport WmFormAction, {\n WmFormActionState\n} from '@wavemaker/app-rn-runtime/components/data/form/form-action/form-action.component';\n\nexport class WmFormState extends BaseComponentState<WmFormProps> {\n isValid = false;\n type: 'success' | 'warning' | 'error' | 'info' | 'loading' | undefined = 'success';\n message: string = '';\n showInlineMsg: boolean = false;\n isUpdateMode: boolean = true;\n dynamicForm: any;\n}\nexport default class WmForm extends BaseComponent<WmFormProps, WmFormState, WmFormStyles> {\n public formFields: Array<WmFormField> = []; // contains array of direct widget elements [WmText, WmNumber, WmCurrent]\n public parentFormRef: any;\n public formfields: {[key: string]: WmFormField} = {};\n public formdataoutput: any;\n private toaster: any;\n public formActions: Array<WmFormAction> = [];\n primaryKey = [];\n buttonArray: Array<WmFormAction> = [];\n formWidgets: { [key: string]: BaseComponent<any, any, any> } = {}; // object containing key as name of formField and value as WmFormField proxy.\n constructor(props: WmFormProps) {\n super(props, DEFAULT_CLASS, new WmFormProps(), new WmFormState());\n }\n\n private _debouncedSubmitForm = debounce(this.handleSubmit, 250);\n\n componentDidMount() {\n super.componentDidMount();\n this.getParentFormRef(this.props.parentForm);\n }\n\n getParentFormRef(pformName: string) {\n let current = this.parent;\n while (current) {\n if (get(current, 'props.name') === pformName) {\n this.parentFormRef = current;\n break;\n }\n current = current.parent;\n }\n }\n\n setReadonlyFields() {\n this.formFields?.forEach((field: any) => {\n field.setReadOnlyState(this.state.isUpdateMode);\n });\n }\n\n setReadonlyState(updateMode: any) {\n this.updateState({\n isUpdateMode: updateMode,\n } as WmFormState);\n setTimeout(() => {\n this.showActions();\n this.setReadonlyFields();\n }, 100);\n }\n\n edit() {\n this.setReadonlyState(true);\n }\n\n new() {\n this.setReadonlyState(true);\n }\n\n cancel() {\n this.setReadonlyState(false);\n }\n\n delete() { }\n\n registerFormFields(\n formFields: Array<WmFormField>,\n formWidgets: { [key: string]: BaseComponent<any, any, any> }\n ) {\n forEach(formFields, (w: WmFormField) => {\n if (!w.form) {\n w.form = this;\n w.formwidget = (w.props.formKey && formWidgets[w.props.formKey])\n || (w.props.name && formWidgets[w.props.name]);\n }\n });\n\n this.formFields = formFields;\n this.formWidgets = formWidgets;\n\n formFields?.forEach((f: WmFormField) => {\n if (f.props.name) {\n set(this.formfields, f.props.name, f);\n }\n })\n\n this.setReadonlyFields();\n\n this.applyFormData();\n this.applyDefaultValue();\n\n // setting default form dataoutput.\n if (!this.formdataoutput) {\n this.formdataoutput = {};\n formFields?.forEach((w: WmFormField) => {\n const name = get(w.props, 'formKey') || w.props.name;\n if (name) {\n set(this.formdataoutput, name, w.props.datavalue);\n }\n });\n this.updateState({\n props: {\n dataoutput: this.formdataoutput\n }\n } as WmFormState);\n }\n }\n\n showActions () {\n this.buttonArray?.forEach((action: any) => {\n action.updateState({\n props: {\n show: action.updateMode === this.state.isUpdateMode\n }} as WmFormActionState);\n });\n }\n\n registerFormActions(formActions: Array<WmFormAction>) {\n this.buttonArray = formActions;\n this.showActions();\n }\n\n private _updateFieldOnDataSourceChange(field: WmFormField, formFields: Array<WmFormField>) {\n if (!field.state.props.isDataSetBound && isDataSetWidget(field.props.widget)) {\n if (field.state.props.isRelated) {\n field.updateState({\n props: {\n isDataSetBound: true\n }} as WmFormFieldState);\n this.props.relatedData && this.props.relatedData(field);\n }\n }\n }\n\n applyFormData() {\n let formData = this.state.props.formdata || this.parentFormRef?.state.props.formdata;\n if (!formData || (this.parentFormRef && this.state.props.formdata)) {\n return;\n }\n forEach(this.formFields, (formField: WmFormField) => {\n let fw = formField.props?.name && this.formWidgets[formField.props.name];\n if (!fw) {\n fw = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === formField.props.name\n });\n }\n let key = get(formField, 'formKey') || get(fw, 'props.name');\n fw && fw.setState({ isDefault: true });\n formField.updateState({\n props: {\n datavalue: get(formData, key)\n }\n } as WmFormFieldState);\n });\n }\n\n updateFormFieldDefaultValue(formField: WmFormField) {\n if (formField) {\n const dv = formField.state.props.defaultvalue;\n if (isDefined(dv) && dv !== null && this.formFields) {\n let field = formField.props?.name && this.formWidgets[formField.props.name];\n if (!field) {\n field = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === formField.props.name\n });\n }\n if (field) {\n field.setState({ isDefault: true });\n field.updateState({\n props: {\n datavalue: dv\n }\n }, this.invokeEventCallback.bind(formField, 'onFieldChange', [undefined, formField, dv]));\n }\n }\n }\n }\n\n get dataoutput() {\n return this.formdataoutput;\n }\n\n applyDefaultValue(formField?: WmFormField) {\n if (formField) {\n this.updateFormFieldDefaultValue(formField);\n return;\n }\n forEach(this.formFields, (w: WmFormField) => {\n this.updateFormFieldDefaultValue(w);\n });\n }\n\n formreset() {\n this.formdataoutput = {};\n forEach(this.formFields, (ff: WmFormField) => {\n const defaultValue = isNil(ff.state.props.defaultvalue) ? '' : ff.state.props.defaultvalue;\n ff.updateState({\n props : {\n datavalue: defaultValue\n }\n } as WmFormFieldState, () => {\n const id = ff.props.formKey || ff.props.name;\n if (id) {\n let widget: BaseComponent<any, any, any> | undefined | any = this.formWidgets[id];\n if (!widget) {\n widget = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === ff.props.name\n });\n }\n widget.updateState({\n isValid: true,\n props : {\n datavalue: defaultValue\n }\n }, () => ff.updateState({\n isValid: true\n } as WmFormFieldState));\n widget?.reset();\n }\n }\n );\n });\n }\n\n submit() {\n this._debouncedSubmitForm();\n }\n\n // Function to generate and compile the form fields from the metadata\n generateFormFields() {\n let userFields;\n let fields = this.state.props.metadata ? this.state.props.metadata.data || this.state.props.metadata : [];\n\n if (isEmpty(fields)) {\n return;\n }\n\n if (this.props.onBeforerender) {\n userFields = this.invokeEventCallback('onBeforerender', [fields, this.proxy]);\n if (userFields) {\n fields = userFields;\n }\n }\n\n this.updateState({\n dynamicForm: this.props.generateComponent(fields, this.props.name)\n } as WmFormState);\n\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'formdata':\n if ($new) {\n this.applyFormData();\n }\n break;\n case 'defaultmode':\n this.updateState({\n isUpdateMode: $new && $new === 'Edit' ? true : false,\n } as WmFormState);\n break;\n case 'dataset':\n this.formFields?.forEach((w: WmFormField) => {\n this._updateFieldOnDataSourceChange(w, this.formFields);\n });\n break;\n case 'metadata':\n this.generateFormFields();\n break;\n }\n }\n setPrimaryKey(fieldName: string) {\n /*Store the primary key of data*/\n this.primaryKey = this.primaryKey || [];\n // @ts-ignore\n if (this.primaryKey.indexOf(fieldName) === -1) {\n // @ts-ignore\n this.primaryKey.push(fieldName);\n }\n }\n // Disable the form submit if form is in invalid state. Highlight all the invalid fields if validation type is default\n validateFieldsOnSubmit() {\n let isValid = true;\n forEach(this.formFields, (field) => {\n const val = field?.state.props.datavalue;\n\n const onValidate = get(field, 'props.onValidate');\n onValidate && onValidate(field);\n if (!val && field?.state.props.required) {\n isValid = false;\n const msg = get(field.defaultValidatorMessages, 'required') || field.state.props.validationmessage;\n field.updateState({ isValid: isValid, props: {\n validationmessage: msg\n }} as WmFormFieldState);\n field.formwidget.validate && field.formwidget.validate(val);\n }\n // check for isvalid state of formwidget\n if (field.formwidget.state.isValid === false) {\n isValid = false;\n }\n });\n return isValid;\n }\n\n // @ts-ignore\n handleSubmit(event?: any) {\n event?.preventDefault();\n const formData = cloneDeep(this.state.props.dataoutput || this.formdataoutput);\n\n if (!this.validateFieldsOnSubmit()) {\n return false;\n }\n if (this.props.onBeforesubmit) {\n this.invokeEventCallback('onBeforesubmit', [ null, this.proxy, formData ]);\n }\n if (this.props.formSubmit) {\n this.props.formSubmit(formData, ((data: any) => {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n this.onResultCb(get(data, 'params'), 'success');\n }), ((error: any) => {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n this.onResultCb(error, '');\n }));\n } else {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n }\n }\n\n onResultCb(response: any, status: string, event?: any) {\n this.invokeEventCallback('onResult', [ null, this.proxy, response ]);\n if (status) {\n this.invokeEventCallback('onSuccess', [ null, this.proxy, response ]);\n !this.props.onSuccess && this.state.props.postmessage && this.toggleMessage('success', this.state.props.postmessage);\n } else {\n this.invokeEventCallback('onError', [ null, this.proxy, response ]);\n !this.props.onError && this.toggleMessage('error', this.state.props.errormessage || get(response, 'message'));\n }\n }\n\n updateDataOutput(key: string, val: any) {\n const current = this.formdataoutput || {};\n if (key) {\n set(current, key, val);\n } else {\n Object.assign(current, val)\n }\n this.formdataoutput = current;\n this.updateState({ props: { dataoutput: current }} as WmFormState);\n this.parentFormRef && this.parentFormRef.updateDataOutput(undefined, this.formdataoutput);\n this.updateState({\n props: {\n dataoutput: this.formdataoutput\n }\n } as WmFormState);\n }\n\n toggleMessage(\n type: 'success' | 'warning' | 'error' | 'info' | 'loading' | undefined,\n message: string\n ) {\n if (this.state.props.messagelayout === 'Inline') {\n this.setState({\n type: type,\n message: message,\n showInlineMsg: true\n } as WmFormState)\n return;\n }\n this.toaster.showToast({\n name: this, placement: \"\", styles: {bottom: 0},\n text: message,\n type: type,\n hideOnClick: true,\n duration: 5000\n });\n }\n\n onMsgClose() {\n this.setState({\n showInlineMsg: false\n } as WmFormState)\n }\n\n renderWidget(props: WmFormProps) {\n return (\n <ToastConsumer>\n {(toastService: ToastService) => {\n this.toaster = toastService;\n return <View style={this.styles.root}>\n {this._background}\n {props.iconclass || props.title || props.subheading ? (\n <View style={this.styles.heading}>\n <View style={{flex: 1, flexDirection: 'row'}}>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.listIcon} iconclass={props.iconclass}></WmIcon>\n <View>\n <WmLabel id={this.getTestId('title')} styles={this.styles.title} caption={props.title} accessibilityrole='header'></WmLabel>\n <WmLabel id={this.getTestId('description')} styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n </View>\n </View>\n ) : null}\n {this.state.showInlineMsg ? <WmMessage type={this.state.type} caption={this.state.message} hideclose={false} onClose={this.onMsgClose.bind(this)}></WmMessage> : null\n }\n { props.metadata && this.state.dynamicForm }\n { props.children}\n </View>\n }\n }\n </ToastConsumer>\n );\n }\n}\n"],"mappings":"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"}
@@ -304,7 +304,8 @@ export default class WmList extends BaseComponent {
304
304
  }
305
305
  renderHeader(props, title) {
306
306
  return props.groupby ? /*#__PURE__*/React.createElement(Text, {
307
- style: this.styles.groupHeading
307
+ style: this.styles.groupHeading,
308
+ accessibilityRole: "header"
308
309
  }, title) : props.iconclass || props.title || props.subheading ? /*#__PURE__*/React.createElement(View, {
309
310
  style: this.styles.heading
310
311
  }, /*#__PURE__*/React.createElement(View, {
@@ -319,7 +320,8 @@ export default class WmList extends BaseComponent {
319
320
  }), /*#__PURE__*/React.createElement(View, null, /*#__PURE__*/React.createElement(WmLabel, {
320
321
  id: this.getTestId('title'),
321
322
  styles: this.styles.title,
322
- caption: props.title
323
+ caption: props.title,
324
+ accessibilityrole: "header"
323
325
  }), /*#__PURE__*/React.createElement(WmLabel, {
324
326
  id: this.getTestId('subheading'),
325
327
  styles: this.styles.subheading,
@@ -1 +1 @@
1
- {"version":3,"names":["React","ActivityIndicator","SectionList","Text","View","FlatList","isArray","isEmpty","isNil","isNumber","BaseComponent","BaseComponentState","getGroupedData","isDefined","Tappable","DefaultKeyExtractor","WmLabel","WmIcon","WmListProps","DEFAULT_CLASS","WmListState","constructor","arguments","_defineProperty","WmList","props","updateState","maxRecordsToShow","state","pagesize","isSelected","$item","selectedItem","selecteditem","indexOf","onSelect","$index","triggerTapEvent","length","undefined","disableitem","multiselect","index","selectionlimit","push","invokeEventCallback","splice","selectedItemWidgets","itemWidgets","selectedindex","proxy","loadDataOnDemand","navigation","loadData","loadingData","dataset","$list","loadingdata","getNextPageData","currentPage","then","data","hasMoreData","catch","err","console","error","setTimeout","selectFirstItem","initialized","groupby","clear","groupedData","selectItem","item","getItem","deselect","selectedItemIndex","getWidgets","widgetname","map","filter","widget","deselectAll","setGroupData","items","dataItems","match","orderby","dateformat","_this$keyExtractor","keyExtractor","onPropertyChange","name","$new","$old","direction","key","_this$keyExtractor2","selectfirstitem","pop","componentDidMount","_props$dataset","subscribe","event","scrollPosition","nativeEvent","contentOffset","y","layoutMeasurement","height","endThreshold","componentDidUpdate","prevProps","prevState","snapshot","getDefaultStyles","isHorizontal","theme","getStyle","defaultClass","getIndex","generateItemKey","itemkey","_showSkeleton","getKey","renderItem","cols","getNoOfColumns","createElement","style","styles","itemclass","_extends","getTestPropsForAction","onTap","onLongTap","onDoubleTap","width","paddingRight","marginRight","margin","id","getTestId","iconclass","selectedIcon","renderHeader","title","groupHeading","subheading","heading","flex","flexDirection","listIcon","caption","renderEmptyMessage","emptyMessage","nodatamessage","renderLoadingIcon","loadingicon","loadingIcon","loadingdatamsg","color","text","itemsperrow","xs","onLayoutChange","e","l","layout","renderWithFlatList","root","onLayout","v","i","group","scrollEnabled","horizontal","ListEmptyComponent","itemInfo","numColumns","onDemandMessage","ondemandmessage","getSectionListData","renderWithSectionList","contentContainerStyle","sections","renderSectionHeader","_ref","section","renderSectionFooter","renderWidget","_background"],"sources":["list.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, SectionList, Text, View, FlatList, LayoutChangeEvent } from 'react-native';\nimport { isArray, isEmpty, isNil, isNumber, round } from 'lodash-es';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport {getGroupedData, isDefined} from \"@wavemaker/app-rn-runtime/core/utils\";\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { DefaultKeyExtractor } from '@wavemaker/app-rn-runtime/core/key.extractor';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\n\nimport WmListProps from './list.props';\nimport { DEFAULT_CLASS, WmListStyles } from './list.styles';\n\n\nexport class WmListState extends BaseComponentState<WmListProps> {\n public selectedindex: any;\n groupedData: Array<any> = [];\n currentPage = 1;\n maxRecordsToShow = 20;\n}\n\nexport default class WmList extends BaseComponent<WmListProps, WmListState, WmListStyles> {\n\n private itemWidgets = [] as any[];\n private selectedItemWidgets = {} as any;\n private keyExtractor = new DefaultKeyExtractor();\n private endThreshold = -1;\n private loadingData = false;\n private hasMoreData = true;\n \n constructor(props: WmListProps) {\n super(props, DEFAULT_CLASS, new WmListProps(), new WmListState());\n this.updateState({\n maxRecordsToShow: this.state.props.pagesize\n } as WmListState);\n }\n\n private isSelected($item: any) {\n const selectedItem = this.state.props.selecteditem;\n if (isArray(selectedItem)) {\n return selectedItem.indexOf($item) >= 0;\n }\n return selectedItem === $item;\n }\n\n private onSelect($item: any, $index: number | string, triggerTapEvent = false) {\n const props = this.state.props;\n let selectedItem = null as any;\n if (props.disableitem !== true \n && (typeof props.disableitem !== 'function' || !props.disableitem($item, $index))) {\n if (props.multiselect) {\n selectedItem = [...(props.selecteditem || [])];\n const index = selectedItem.indexOf($item);\n if (index < 0) {\n if ((!props.selectionlimit)\n || props.selectionlimit < 0\n || selectedItem.length < props.selectionlimit) {\n selectedItem.push($item);\n } else {\n this.invokeEventCallback('onSelectionlimitexceed', [null, this]);\n }\n } else {\n selectedItem.splice(index, 1);\n }\n } else {\n if (props.selecteditem === $item) {\n selectedItem = null;\n } else {\n selectedItem = $item;\n }\n }\n this.selectedItemWidgets = this.itemWidgets[$index as number];\n this.updateState({\n props: { selecteditem: selectedItem },\n selectedindex: $index\n } as WmListState, () => {\n this.invokeEventCallback('onSelect', [this.proxy, $item]);\n triggerTapEvent && this.invokeEventCallback('onTap', [null, this.proxy]);\n });\n }\n }\n\n private get loadDataOnDemand() {\n const navigation = this.state.props.navigation;\n return navigation === 'Scroll' || navigation === 'On-Demand';\n }\n\n private loadData() {\n if (this.loadingData) {\n return;\n }\n if (isArray(this.state.props.dataset) \n && this.state.props.dataset.length > this.state.maxRecordsToShow) {\n this.updateState({\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize\n } as WmListState);\n } else if (this.loadDataOnDemand) {\n const $list = this.proxy as any;\n $list.loadingdata = true;\n this.loadingData = true;\n this.props.getNextPageData && this.props.getNextPageData(null, this.proxy, this.state.currentPage + 1).then((data) => {\n if (isArray(data) && data.length > 0\n && isArray(this.state.props.dataset)) {\n $list.dataset = [...this.state.props.dataset, ...data];\n this.updateState({\n currentPage : this.state.currentPage + 1,\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize\n } as WmListState);\n this.hasMoreData = true;\n } else {\n this.hasMoreData = false;\n }\n }).catch((err) => {\n console.error(err);\n }).then(() => {\n setTimeout(() => {\n $list.loadingdata = false;\n }, 1000);\n });\n }\n }\n\n private selectFirstItem() {\n const props = this.state.props;\n if (this.initialized\n && props.dataset\n && props.dataset.length) {\n const index = props.groupby ? '00': 0;\n this.onSelect(props.dataset[0], index);\n }\n }\n \n clear(){\n this.updateState({\n groupedData: {},\n } as WmListState);\n }\n\n selectItem(item: any){\n const dataset = this.state.props.dataset;\n if(isNumber(item)){\n this.onSelect(dataset[item], item);\n }\n else{\n let index = dataset.indexOf(item);\n this.onSelect(dataset[index], index);\n }\n }\n\n getItem(index: number){\n const props = this.state.props;\n return this.props.dataset[index]\n }\n\n deselect(item: any){\n const props = this.state.props;\n let selectedItem = null as any;\n let index = isNumber(item)?item:props.dataset.indexOf(item);\n if(props.multiselect && index >= 0){\n selectedItem = [...(props.selecteditem || [])];\n let selectedItemIndex = selectedItem.indexOf(props.dataset[index])\n if(selectedItemIndex >= 0){\n selectedItem.splice(selectedItemIndex, 1);\n }\n }\n else{\n if (props.selecteditem === props.dataset[index]) {\n selectedItem = null;\n }\n }\n this.updateState({\n props: { selecteditem: selectedItem },\n \n } as WmListState);\n }\n \n getWidgets(widgetname: string, index: number){\n if(index >= 0 && index < this.itemWidgets.length){\n return this.itemWidgets[index][widgetname]\n }\n else{\n return this.itemWidgets.map(item => item[widgetname]).filter(widget => widget !== undefined);\n }\n }\n\n private deselectAll() {\n this.updateState({\n props: { selecteditem: null },\n selectedindex: -1\n } as WmListState);\n }\n\n setGroupData(items: any) {\n const dataItems = items;\n const props = this.state.props;\n if (props.groupby) {\n const groupedData = dataItems && getGroupedData(dataItems, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: groupedData\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n\n public onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch(name) {\n case 'selectfirstitem':\n if ($new) {\n this.selectFirstItem();\n }\n break;\n case 'dataset':\n if (this.state.props.groupby) {\n this.setGroupData($new);\n } else {\n if (!($old && $old.length)\n && $new && $new.length\n && this.loadDataOnDemand) {\n this.updateState({\n props: {\n dataset: [...$new]\n }\n } as WmListState);\n }\n const data = isArray($new) ? $new : (!isEmpty($new) && isDefined($new) ? [$new] : []);\n this.updateState({\n groupedData: (data[0] || props.direction === 'horizontal' ? [{\n key: 'key',\n data: data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n this.itemWidgets = [];\n if (props.selectfirstitem) {\n this.selectFirstItem();\n } else {\n this.deselectAll();\n }\n break;\n case 'groupby':\n case 'match':\n this.setGroupData(this.state.props.dataset);\n break;\n case 'multiselect':\n if ($new) {\n if (!isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem ? \n [this.state.props.selecteditem] : [];\n }\n } else if (isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem.pop();\n }\n break;\n case 'loadingdata': \n this.loadingData = $new && this.loadingData;\n break;\n case 'selecteditem':\n if($new != $old && isNumber($new)) {\n this.selectItem(this.state.props.dataset[$new])\n }\n break;\n }\n }\n\n componentDidMount() {\n const props = this.state.props;\n if (this.state.props.selectfirstitem && props.dataset?.length) {\n setTimeout(() => {\n this.onSelect(props.dataset[0], 0);\n });\n }\n this.subscribe('scroll', (event: any) => {\n const scrollPosition = event.nativeEvent.contentOffset.y + event.nativeEvent.layoutMeasurement.height;\n if (scrollPosition > this.endThreshold && this.state.props.direction === 'vertical') {\n this.loadData();\n }\n });\n super.componentDidMount();\n }\n\n componentDidUpdate(prevProps: WmListProps, prevState: WmListState, snapshot?: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n this.invokeEventCallback('onRender', [this, this.state.props.dataset]);\n }\n\n getDefaultStyles() {\n const isHorizontal = this.state.props.direction === 'horizontal';\n return this.theme.getStyle(`${this.defaultClass} ${isHorizontal ? 'app-horizontal-list' : 'app-vertical-list'}`);\n }\n\n getIndex(item: any) {\n return this.state.props.dataset.indexOf(item);\n }\n\n private generateItemKey(item: any, index: number, props: WmListProps) {\n if (props.itemkey && item && !this._showSkeleton) {\n return props.itemkey(item, index);\n }\n return 'list_item_' + this.keyExtractor.getKey(item, true);\n }\n\n private renderItem(item: any, index: number, props: WmListProps) {\n const cols = this. getNoOfColumns();\n const isHorizontal = (props.direction === 'horizontal');\n return (index < this.state.maxRecordsToShow || isHorizontal) ? ( \n <View style={[\n this.styles.item,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n <Tappable\n {...this.getTestPropsForAction(`item${index}`)}\n onTap={() => this.onSelect(item, index, true)}\n onLongTap={() => this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => this.invokeEventCallback('onDoubletap', [null, this.proxy])}\n styles={\n [\n cols ? {\n width: '100%'\n } : null,\n cols || isHorizontal ? {\n paddingRight: (isNil(this.styles.item.marginRight)\n ? this.styles.item.margin : this.styles.item.marginRight) || 4\n } : null\n ]\n }>\n {props.renderItem(item, index, this)}\n {this.isSelected(item) ? (\n <WmIcon id={this.getTestId('icon' + index)} iconclass='wi wi-check-circle' styles={this.styles.selectedIcon} />\n ) : null}\n </Tappable>\n </View>\n ) : null;\n }\n\n private renderHeader(props: WmListProps, title: string) {\n return props.groupby ? (\n <Text style={this.styles.groupHeading}>{title}</Text>\n ) : (props.iconclass || props.title || props.subheading) ? (\n <View style={this.styles.heading}>\n <View style={{flex: 1, flexDirection: 'row'}}>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.listIcon} iconclass={props.iconclass}></WmIcon>\n <View>\n <WmLabel id={this.getTestId('title')} styles={this.styles.title} caption={props.title}></WmLabel>\n <WmLabel id={this.getTestId('subheading')} styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n </View>\n </View>) : null;\n }\n\n private renderEmptyMessage(isHorizontal: boolean, item: any, index: any, props: WmListProps) {\n return (<WmLabel id={this.getTestId('emptymsg')} styles={this.styles.emptyMessage} caption={props.nodatamessage}></WmLabel>);\n }\n\n private renderLoadingIcon(props: WmListProps) {\n return props.loadingicon ? (<WmIcon\n id={this.getTestId('loadingicon')}\n styles={this.styles.loadingIcon}\n iconclass={props.loadingicon}\n caption={props.loadingdatamsg}></WmIcon>)\n : (\n <ActivityIndicator color={this.styles.loadingIcon.text.color}></ActivityIndicator>\n );\n }\n\n public getNoOfColumns() {\n const props = this.state.props;\n if(props.direction === 'vertical') {\n return props.itemsperrow.xs;\n }\n return 0;\n }\n\n private onLayoutChange(e: LayoutChangeEvent) {\n const l = e.nativeEvent.layout;\n this.endThreshold = l.height + l.y - 100;\n if (!this.endThreshold) {\n this.endThreshold = -1;\n }\n }\n\n private renderWithFlatList(props: WmListProps, isHorizontal = false) {\n return (\n <View style={this.styles.root} onLayout={e => this.onLayoutChange(e)}>\n {!isEmpty(this.state.groupedData) ? this.state.groupedData.map((v: any, i) => ((\n <View style={this.styles.group} key={v.key || this.keyExtractor.getKey(v, true)}>\n {this.renderHeader(props, v.key)}\n <FlatList\n key={props.name + '_' + (isHorizontal ? 'H' : 'V') + props.itemsperrow.xs}\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n scrollEnabled={isHorizontal}\n horizontal = {isHorizontal}\n data={isEmpty(v.data[0]) ? []: v.data}\n ListEmptyComponent = {(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)} \n {...(isHorizontal ? {} : {numColumns : this.getNoOfColumns()})}> \n </FlatList>\n {this.loadDataOnDemand || (v.data.length > this.state.maxRecordsToShow) ? \n (this.loadingData ? \n this.renderLoadingIcon(props) :\n (<WmLabel id={this.getTestId('ondemandmessage')}\n styles={this.styles.onDemandMessage}\n caption={this.hasMoreData && !isHorizontal ? props.ondemandmessage : props.nodatamessage}\n onTap={() => this.loadData()}></WmLabel>))\n : null}\n </View>\n ))) : this.renderEmptyMessage(isHorizontal, null, null,props)\n }\n </View>);\n }\n\n private getSectionListData() {\n if (this._showSkeleton) {\n return [{\n key: '',\n data: [{}, {}, {}]\n }];\n } else if (this.state.groupedData \n && this.state.groupedData[0] \n && this.state.groupedData[0]['data'].length) {\n return this.state.groupedData;\n }\n return [];\n }\n\n private renderWithSectionList(props: WmListProps, isHorizontal = false) { \n return (\n <SectionList\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n horizontal = {isHorizontal}\n contentContainerStyle={this.styles.root}\n sections={this.getSectionListData()}\n renderSectionHeader={({ section: {key, data}}) => {\n return this.renderHeader(props, key);\n }}\n renderSectionFooter={() => props.loadingdata ? this.renderLoadingIcon(props) : null}\n ListEmptyComponent = {(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}>\n </SectionList>\n );\n }\n\n renderWidget(props: WmListProps) {\n this.invokeEventCallback('onBeforedatarender', [this, this.state.props.dataset]);\n const isHorizontal = (props.direction === 'horizontal');\n return (\n <View style={isHorizontal ? null : { width: '100%' }}>\n {this._background}\n {(isHorizontal || !props.groupby) ?\n this.renderWithFlatList(props, isHorizontal)\n : this.renderWithSectionList(props, isHorizontal)}\n </View>);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","ActivityIndicator","SectionList","Text","View","FlatList","isArray","isEmpty","isNil","isNumber","BaseComponent","BaseComponentState","getGroupedData","isDefined","Tappable","DefaultKeyExtractor","WmLabel","WmIcon","WmListProps","DEFAULT_CLASS","WmListState","constructor","arguments","_defineProperty","WmList","props","updateState","maxRecordsToShow","state","pagesize","isSelected","$item","selectedItem","selecteditem","indexOf","onSelect","$index","triggerTapEvent","length","undefined","disableitem","multiselect","index","selectionlimit","push","invokeEventCallback","splice","selectedItemWidgets","itemWidgets","selectedindex","proxy","loadDataOnDemand","navigation","loadData","loadingData","dataset","$list","loadingdata","getNextPageData","currentPage","then","data","hasMoreData","catch","err","console","error","setTimeout","selectFirstItem","initialized","groupby","clear","groupedData","selectItem","item","getItem","deselect","selectedItemIndex","getWidgets","widgetname","map","filter","widget","deselectAll","setGroupData","items","dataItems","match","orderby","dateformat","_this$keyExtractor","keyExtractor","onPropertyChange","name","$new","$old","direction","key","_this$keyExtractor2","selectfirstitem","pop","componentDidMount","_props$dataset","subscribe","event","scrollPosition","nativeEvent","contentOffset","y","layoutMeasurement","height","endThreshold","componentDidUpdate","prevProps","prevState","snapshot","getDefaultStyles","isHorizontal","theme","getStyle","defaultClass","getIndex","generateItemKey","itemkey","_showSkeleton","getKey","renderItem","cols","getNoOfColumns","createElement","style","styles","itemclass","_extends","getTestPropsForAction","onTap","onLongTap","onDoubleTap","width","paddingRight","marginRight","margin","id","getTestId","iconclass","selectedIcon","renderHeader","title","groupHeading","accessibilityRole","subheading","heading","flex","flexDirection","listIcon","caption","accessibilityrole","renderEmptyMessage","emptyMessage","nodatamessage","renderLoadingIcon","loadingicon","loadingIcon","loadingdatamsg","color","text","itemsperrow","xs","onLayoutChange","e","l","layout","renderWithFlatList","root","onLayout","v","i","group","scrollEnabled","horizontal","ListEmptyComponent","itemInfo","numColumns","onDemandMessage","ondemandmessage","getSectionListData","renderWithSectionList","contentContainerStyle","sections","renderSectionHeader","_ref","section","renderSectionFooter","renderWidget","_background"],"sources":["list.component.tsx"],"sourcesContent":["import React from 'react';\nimport { ActivityIndicator, SectionList, Text, View, FlatList, LayoutChangeEvent } from 'react-native';\nimport { isArray, isEmpty, isNil, isNumber, round } from 'lodash-es';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport {getGroupedData, isDefined} from \"@wavemaker/app-rn-runtime/core/utils\";\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { DefaultKeyExtractor } from '@wavemaker/app-rn-runtime/core/key.extractor';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport ThemeVariables from '@wavemaker/app-rn-runtime/styles/theme.variables';\n\nimport WmListProps from './list.props';\nimport { DEFAULT_CLASS, WmListStyles } from './list.styles';\n\n\nexport class WmListState extends BaseComponentState<WmListProps> {\n public selectedindex: any;\n groupedData: Array<any> = [];\n currentPage = 1;\n maxRecordsToShow = 20;\n}\n\nexport default class WmList extends BaseComponent<WmListProps, WmListState, WmListStyles> {\n\n private itemWidgets = [] as any[];\n private selectedItemWidgets = {} as any;\n private keyExtractor = new DefaultKeyExtractor();\n private endThreshold = -1;\n private loadingData = false;\n private hasMoreData = true;\n \n constructor(props: WmListProps) {\n super(props, DEFAULT_CLASS, new WmListProps(), new WmListState());\n this.updateState({\n maxRecordsToShow: this.state.props.pagesize\n } as WmListState);\n }\n\n private isSelected($item: any) {\n const selectedItem = this.state.props.selecteditem;\n if (isArray(selectedItem)) {\n return selectedItem.indexOf($item) >= 0;\n }\n return selectedItem === $item;\n }\n\n private onSelect($item: any, $index: number | string, triggerTapEvent = false) {\n const props = this.state.props;\n let selectedItem = null as any;\n if (props.disableitem !== true \n && (typeof props.disableitem !== 'function' || !props.disableitem($item, $index))) {\n if (props.multiselect) {\n selectedItem = [...(props.selecteditem || [])];\n const index = selectedItem.indexOf($item);\n if (index < 0) {\n if ((!props.selectionlimit)\n || props.selectionlimit < 0\n || selectedItem.length < props.selectionlimit) {\n selectedItem.push($item);\n } else {\n this.invokeEventCallback('onSelectionlimitexceed', [null, this]);\n }\n } else {\n selectedItem.splice(index, 1);\n }\n } else {\n if (props.selecteditem === $item) {\n selectedItem = null;\n } else {\n selectedItem = $item;\n }\n }\n this.selectedItemWidgets = this.itemWidgets[$index as number];\n this.updateState({\n props: { selecteditem: selectedItem },\n selectedindex: $index\n } as WmListState, () => {\n this.invokeEventCallback('onSelect', [this.proxy, $item]);\n triggerTapEvent && this.invokeEventCallback('onTap', [null, this.proxy]);\n });\n }\n }\n\n private get loadDataOnDemand() {\n const navigation = this.state.props.navigation;\n return navigation === 'Scroll' || navigation === 'On-Demand';\n }\n\n private loadData() {\n if (this.loadingData) {\n return;\n }\n if (isArray(this.state.props.dataset) \n && this.state.props.dataset.length > this.state.maxRecordsToShow) {\n this.updateState({\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize\n } as WmListState);\n } else if (this.loadDataOnDemand) {\n const $list = this.proxy as any;\n $list.loadingdata = true;\n this.loadingData = true;\n this.props.getNextPageData && this.props.getNextPageData(null, this.proxy, this.state.currentPage + 1).then((data) => {\n if (isArray(data) && data.length > 0\n && isArray(this.state.props.dataset)) {\n $list.dataset = [...this.state.props.dataset, ...data];\n this.updateState({\n currentPage : this.state.currentPage + 1,\n maxRecordsToShow: this.state.maxRecordsToShow + this.state.props.pagesize\n } as WmListState);\n this.hasMoreData = true;\n } else {\n this.hasMoreData = false;\n }\n }).catch((err) => {\n console.error(err);\n }).then(() => {\n setTimeout(() => {\n $list.loadingdata = false;\n }, 1000);\n });\n }\n }\n\n private selectFirstItem() {\n const props = this.state.props;\n if (this.initialized\n && props.dataset\n && props.dataset.length) {\n const index = props.groupby ? '00': 0;\n this.onSelect(props.dataset[0], index);\n }\n }\n \n clear(){\n this.updateState({\n groupedData: {},\n } as WmListState);\n }\n\n selectItem(item: any){\n const dataset = this.state.props.dataset;\n if(isNumber(item)){\n this.onSelect(dataset[item], item);\n }\n else{\n let index = dataset.indexOf(item);\n this.onSelect(dataset[index], index);\n }\n }\n\n getItem(index: number){\n const props = this.state.props;\n return this.props.dataset[index]\n }\n\n deselect(item: any){\n const props = this.state.props;\n let selectedItem = null as any;\n let index = isNumber(item)?item:props.dataset.indexOf(item);\n if(props.multiselect && index >= 0){\n selectedItem = [...(props.selecteditem || [])];\n let selectedItemIndex = selectedItem.indexOf(props.dataset[index])\n if(selectedItemIndex >= 0){\n selectedItem.splice(selectedItemIndex, 1);\n }\n }\n else{\n if (props.selecteditem === props.dataset[index]) {\n selectedItem = null;\n }\n }\n this.updateState({\n props: { selecteditem: selectedItem },\n \n } as WmListState);\n }\n \n getWidgets(widgetname: string, index: number){\n if(index >= 0 && index < this.itemWidgets.length){\n return this.itemWidgets[index][widgetname]\n }\n else{\n return this.itemWidgets.map(item => item[widgetname]).filter(widget => widget !== undefined);\n }\n }\n\n private deselectAll() {\n this.updateState({\n props: { selecteditem: null },\n selectedindex: -1\n } as WmListState);\n }\n\n setGroupData(items: any) {\n const dataItems = items;\n const props = this.state.props;\n if (props.groupby) {\n const groupedData = dataItems && getGroupedData(dataItems, props.groupby, props.match, props.orderby, props.dateformat, this);\n this.updateState({\n groupedData: groupedData\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n }\n\n public onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch(name) {\n case 'selectfirstitem':\n if ($new) {\n this.selectFirstItem();\n }\n break;\n case 'dataset':\n if (this.state.props.groupby) {\n this.setGroupData($new);\n } else {\n if (!($old && $old.length)\n && $new && $new.length\n && this.loadDataOnDemand) {\n this.updateState({\n props: {\n dataset: [...$new]\n }\n } as WmListState);\n }\n const data = isArray($new) ? $new : (!isEmpty($new) && isDefined($new) ? [$new] : []);\n this.updateState({\n groupedData: (data[0] || props.direction === 'horizontal' ? [{\n key: 'key',\n data: data\n }] : [])\n } as WmListState, () => {\n this.keyExtractor?.clear();\n });\n }\n this.itemWidgets = [];\n if (props.selectfirstitem) {\n this.selectFirstItem();\n } else {\n this.deselectAll();\n }\n break;\n case 'groupby':\n case 'match':\n this.setGroupData(this.state.props.dataset);\n break;\n case 'multiselect':\n if ($new) {\n if (!isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem ? \n [this.state.props.selecteditem] : [];\n }\n } else if (isArray(this.state.props.selecteditem)) {\n this.state.props.selecteditem = this.state.props.selecteditem.pop();\n }\n break;\n case 'loadingdata': \n this.loadingData = $new && this.loadingData;\n break;\n case 'selecteditem':\n if($new != $old && isNumber($new)) {\n this.selectItem(this.state.props.dataset[$new])\n }\n break;\n }\n }\n\n componentDidMount() {\n const props = this.state.props;\n if (this.state.props.selectfirstitem && props.dataset?.length) {\n setTimeout(() => {\n this.onSelect(props.dataset[0], 0);\n });\n }\n this.subscribe('scroll', (event: any) => {\n const scrollPosition = event.nativeEvent.contentOffset.y + event.nativeEvent.layoutMeasurement.height;\n if (scrollPosition > this.endThreshold && this.state.props.direction === 'vertical') {\n this.loadData();\n }\n });\n super.componentDidMount();\n }\n\n componentDidUpdate(prevProps: WmListProps, prevState: WmListState, snapshot?: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n this.invokeEventCallback('onRender', [this, this.state.props.dataset]);\n }\n\n getDefaultStyles() {\n const isHorizontal = this.state.props.direction === 'horizontal';\n return this.theme.getStyle(`${this.defaultClass} ${isHorizontal ? 'app-horizontal-list' : 'app-vertical-list'}`);\n }\n\n getIndex(item: any) {\n return this.state.props.dataset.indexOf(item);\n }\n\n private generateItemKey(item: any, index: number, props: WmListProps) {\n if (props.itemkey && item && !this._showSkeleton) {\n return props.itemkey(item, index);\n }\n return 'list_item_' + this.keyExtractor.getKey(item, true);\n }\n\n private renderItem(item: any, index: number, props: WmListProps) {\n const cols = this. getNoOfColumns();\n const isHorizontal = (props.direction === 'horizontal');\n return (index < this.state.maxRecordsToShow || isHorizontal) ? ( \n <View style={[\n this.styles.item,\n props.itemclass ? this.theme.getStyle(props.itemclass(item, index)) : null,\n this.isSelected(item) ? this.styles.selectedItem : {}]}>\n <Tappable\n {...this.getTestPropsForAction(`item${index}`)}\n onTap={() => this.onSelect(item, index, true)}\n onLongTap={() => this.invokeEventCallback('onLongtap', [null, this.proxy])}\n onDoubleTap={() => this.invokeEventCallback('onDoubletap', [null, this.proxy])}\n styles={\n [\n cols ? {\n width: '100%'\n } : null,\n cols || isHorizontal ? {\n paddingRight: (isNil(this.styles.item.marginRight)\n ? this.styles.item.margin : this.styles.item.marginRight) || 4\n } : null\n ]\n }>\n {props.renderItem(item, index, this)}\n {this.isSelected(item) ? (\n <WmIcon id={this.getTestId('icon' + index)} iconclass='wi wi-check-circle' styles={this.styles.selectedIcon} />\n ) : null}\n </Tappable>\n </View>\n ) : null;\n }\n\n private renderHeader(props: WmListProps, title: string) {\n return props.groupby ? (\n <Text style={this.styles.groupHeading} accessibilityRole='header'>{title}</Text>\n ) : (props.iconclass || props.title || props.subheading) ? (\n <View style={this.styles.heading}>\n <View style={{flex: 1, flexDirection: 'row'}}>\n <WmIcon id={this.getTestId('icon')} styles={this.styles.listIcon} iconclass={props.iconclass}></WmIcon>\n <View>\n <WmLabel id={this.getTestId('title')} styles={this.styles.title} caption={props.title} accessibilityrole='header'></WmLabel>\n <WmLabel id={this.getTestId('subheading')} styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n </View>\n </View>) : null;\n }\n\n private renderEmptyMessage(isHorizontal: boolean, item: any, index: any, props: WmListProps) {\n return (<WmLabel id={this.getTestId('emptymsg')} styles={this.styles.emptyMessage} caption={props.nodatamessage}></WmLabel>);\n }\n\n private renderLoadingIcon(props: WmListProps) {\n return props.loadingicon ? (<WmIcon\n id={this.getTestId('loadingicon')}\n styles={this.styles.loadingIcon}\n iconclass={props.loadingicon}\n caption={props.loadingdatamsg}></WmIcon>)\n : (\n <ActivityIndicator color={this.styles.loadingIcon.text.color}></ActivityIndicator>\n );\n }\n\n public getNoOfColumns() {\n const props = this.state.props;\n if(props.direction === 'vertical') {\n return props.itemsperrow.xs;\n }\n return 0;\n }\n\n private onLayoutChange(e: LayoutChangeEvent) {\n const l = e.nativeEvent.layout;\n this.endThreshold = l.height + l.y - 100;\n if (!this.endThreshold) {\n this.endThreshold = -1;\n }\n }\n\n private renderWithFlatList(props: WmListProps, isHorizontal = false) {\n return (\n <View style={this.styles.root} onLayout={e => this.onLayoutChange(e)}>\n {!isEmpty(this.state.groupedData) ? this.state.groupedData.map((v: any, i) => ((\n <View style={this.styles.group} key={v.key || this.keyExtractor.getKey(v, true)}>\n {this.renderHeader(props, v.key)}\n <FlatList\n key={props.name + '_' + (isHorizontal ? 'H' : 'V') + props.itemsperrow.xs}\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n scrollEnabled={isHorizontal}\n horizontal = {isHorizontal}\n data={isEmpty(v.data[0]) ? []: v.data}\n ListEmptyComponent = {(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)} \n {...(isHorizontal ? {} : {numColumns : this.getNoOfColumns()})}> \n </FlatList>\n {this.loadDataOnDemand || (v.data.length > this.state.maxRecordsToShow) ? \n (this.loadingData ? \n this.renderLoadingIcon(props) :\n (<WmLabel id={this.getTestId('ondemandmessage')}\n styles={this.styles.onDemandMessage}\n caption={this.hasMoreData && !isHorizontal ? props.ondemandmessage : props.nodatamessage}\n onTap={() => this.loadData()}></WmLabel>))\n : null}\n </View>\n ))) : this.renderEmptyMessage(isHorizontal, null, null,props)\n }\n </View>);\n }\n\n private getSectionListData() {\n if (this._showSkeleton) {\n return [{\n key: '',\n data: [{}, {}, {}]\n }];\n } else if (this.state.groupedData \n && this.state.groupedData[0] \n && this.state.groupedData[0]['data'].length) {\n return this.state.groupedData;\n }\n return [];\n }\n\n private renderWithSectionList(props: WmListProps, isHorizontal = false) { \n return (\n <SectionList\n keyExtractor={(item, i) => this.generateItemKey(item, i, props)}\n horizontal = {isHorizontal}\n contentContainerStyle={this.styles.root}\n sections={this.getSectionListData()}\n renderSectionHeader={({ section: {key, data}}) => {\n return this.renderHeader(props, key);\n }}\n renderSectionFooter={() => props.loadingdata ? this.renderLoadingIcon(props) : null}\n ListEmptyComponent = {(itemInfo) => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props)}\n renderItem={(itemInfo) => this.renderItem(itemInfo.item, itemInfo.index, props)}>\n </SectionList>\n );\n }\n\n renderWidget(props: WmListProps) {\n this.invokeEventCallback('onBeforedatarender', [this, this.state.props.dataset]);\n const isHorizontal = (props.direction === 'horizontal');\n return (\n <View style={isHorizontal ? null : { width: '100%' }}>\n {this._background}\n {(isHorizontal || !props.groupby) ?\n this.renderWithFlatList(props, isHorizontal)\n : this.renderWithSectionList(props, isHorizontal)}\n </View>);\n }\n}\n"],"mappings":"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"}
@@ -78,6 +78,7 @@ export default class WmDialog extends BaseComponent {
78
78
  }, props.iconclass || props.iconurl ? /*#__PURE__*/React.createElement(WmIcon, {
79
79
  id: this.getTestId('icon'),
80
80
  caption: props.title,
81
+ accessibilityrole: "header",
81
82
  iconclass: props.iconclass,
82
83
  styles: this.styles.icon,
83
84
  iconurl: props.iconurl,
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","ModalConsumer","AssetProvider","HideMode","ThemeProvider","BaseComponent","BaseComponentState","WmIcon","WmButton","WmDialogProps","DEFAULT_CLASS","WmDialogState","constructor","arguments","_defineProperty","WmDialog","props","hideMode","DONOT_ADD_TO_DOM","state","modalOptions","onClose","Promise","res","updateState","show","invokeEventCallback","onOpen","open","close","_close","prepareModalOptions","content","modalService","o","name","modalStyle","styles","modal","contentStyle","isModal","centered","animation","hideModal","renderWidget","createElement","showModal","value","loadAsset","theme","style","root","_background","showheader","header","headerLabel","iconclass","iconurl","id","getTestId","caption","title","icon","iconheight","iconmargin","iconwidth","closable","onTap","closeBtn","children"],"sources":["dialog.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\n\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { AssetProvider } from '@wavemaker/app-rn-runtime/core/asset.provider';\nimport { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';\nimport { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\n\nimport WmDialogProps from './dialog.props';\nimport { DEFAULT_CLASS, WmDialogStyles } from './dialog.styles';\n\nexport class WmDialogState extends BaseComponentState<WmDialogProps> {\n modalOptions = {} as ModalOptions;\n}\n\nexport default class WmDialog extends BaseComponent<WmDialogProps, WmDialogState, WmDialogStyles> {\n\n private _close: Function = () => {};\n\n constructor(props: WmDialogProps) {\n super(props, DEFAULT_CLASS, new WmDialogProps(), new WmDialogState());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n this.state.modalOptions.onClose = () => {\n return new Promise<void>((res) => {\n this.updateState({\n props: {show: false}\n } as WmDialogState, () => {\n this.invokeEventCallback('onClose', [null, this]);\n res();\n });\n });\n };\n this.state.modalOptions.onOpen = () => {\n this.invokeEventCallback('onOpened', [null, this]);\n };\n }\n\n open() {\n if (!this.state.props.show) {\n this.updateState({\n props:{show: true}\n } as WmDialogState);\n }\n }\n\n close() {\n this._close();\n }\n\n prepareModalOptions(content: React.ReactNode, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.name = this.state.props.name;\n o.modalStyle = this.styles.modal;\n o.content = content;\n o.contentStyle = this.styles.content;\n o.isModal = !!this.state.props.modal;\n o.centered = true;\n o.animation = this.state.props.animation;\n this._close = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n renderWidget(props: WmDialogProps) {\n return (<ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <AssetProvider value={this.loadAsset}>\n <ThemeProvider value={this.theme}>\n <View style={this.styles.root}>\n {this._background}\n {props.showheader ? (<View style={this.styles.header}>\n <View style={this.styles.headerLabel}>\n {props.iconclass || props.iconurl ? \n <WmIcon id={this.getTestId('icon')}\n caption={props.title}\n iconclass={props.iconclass}\n styles={this.styles.icon}\n iconurl={props.iconurl}\n iconheight={props.iconheight}\n iconmargin={props.iconmargin}\n iconwidth={props.iconwidth}\n /> : null}\n </View>\n {props.closable && <WmButton id={this.getTestId('closebtn')} show={props.closable} iconclass=\"wm-sl-l sl-close\" onTap={() => this.close()} styles={this.styles.closeBtn}></WmButton>}\n </View>) : null}\n {props.children}\n </View>\n </ThemeProvider>\n </AssetProvider>\n ), modalService));\n return null;\n }}\n </ModalConsumer>);\n }\n}\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAeC,IAAI,QAAQ,cAAc;AAEzC,SAASC,aAAa,QAAoC,8CAA8C;AACxG,SAASC,aAAa,QAAQ,+CAA+C;AAC7E,SAASC,QAAQ,QAAQ,6CAA6C;AACtE,SAASC,aAAa,QAAQ,wCAAwC;AACtE,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,OAAOC,MAAM,MAAM,gEAAgE;AACnF,OAAOC,QAAQ,MAAM,oEAAoE;AAEzF,OAAOC,aAAa,MAAM,gBAAgB;AAC1C,SAASC,aAAa,QAAwB,iBAAiB;AAE/D,OAAO,MAAMC,aAAa,SAASL,kBAAkB,CAAgB;EAAAM,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,uBACpD,CAAC,CAAC;EAAA;AACnB;AAEA,eAAe,MAAMC,QAAQ,SAASV,aAAa,CAA+C;EAIhGO,WAAWA,CAACI,KAAoB,EAAE;IAChC,KAAK,CAACA,KAAK,EAAEN,aAAa,EAAE,IAAID,aAAa,CAAC,CAAC,EAAE,IAAIE,aAAa,CAAC,CAAC,CAAC;IAACG,eAAA,iBAH7C,MAAM,CAAC,CAAC;IAIjC,IAAI,CAACG,QAAQ,GAAGd,QAAQ,CAACe,gBAAgB;IACzC,IAAI,CAACC,KAAK,CAACC,YAAY,CAACC,OAAO,GAAG,MAAM;MACtC,OAAO,IAAIC,OAAO,CAAQC,GAAG,IAAK;QAChC,IAAI,CAACC,WAAW,CAAC;UACfR,KAAK,EAAE;YAACS,IAAI,EAAE;UAAK;QACrB,CAAC,EAAmB,MAAM;UACxB,IAAI,CAACC,mBAAmB,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;UACjDH,GAAG,CAAC,CAAC;QACP,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,CAACJ,KAAK,CAACC,YAAY,CAACO,MAAM,GAAG,MAAM;MACrC,IAAI,CAACD,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;EACH;EAEAE,IAAIA,CAAA,EAAG;IACL,IAAI,CAAC,IAAI,CAACT,KAAK,CAACH,KAAK,CAACS,IAAI,EAAE;MAC1B,IAAI,CAACD,WAAW,CAAC;QACfR,KAAK,EAAC;UAACS,IAAI,EAAE;QAAI;MACnB,CAAkB,CAAC;IACrB;EACF;EAEAI,KAAKA,CAAA,EAAG;IACN,IAAI,CAACC,MAAM,CAAC,CAAC;EACf;EAEAC,mBAAmBA,CAACC,OAAwB,EAAEC,YAA0B,EAAE;IACxE,MAAMC,CAAC,GAAG,IAAI,CAACf,KAAK,CAACC,YAAY;IACjCc,CAAC,CAACC,IAAI,GAAG,IAAI,CAAChB,KAAK,CAACH,KAAK,CAACmB,IAAI;IAC9BD,CAAC,CAACE,UAAU,GAAG,IAAI,CAACC,MAAM,CAACC,KAAK;IAChCJ,CAAC,CAACF,OAAO,GAAGA,OAAO;IACnBE,CAAC,CAACK,YAAY,GAAG,IAAI,CAACF,MAAM,CAACL,OAAO;IACpCE,CAAC,CAACM,OAAO,GAAG,CAAC,CAAC,IAAI,CAACrB,KAAK,CAACH,KAAK,CAACsB,KAAK;IACpCJ,CAAC,CAACO,QAAQ,GAAG,IAAI;IACjBP,CAAC,CAACQ,SAAS,GAAG,IAAI,CAACvB,KAAK,CAACH,KAAK,CAAC0B,SAAS;IACxC,IAAI,CAACZ,MAAM,GAAG,MAAMG,YAAY,CAACU,SAAS,CAAC,IAAI,CAACxB,KAAK,CAACC,YAAY,CAAC;IACnE,OAAOc,CAAC;EACV;EAEAU,YAAYA,CAAC5B,KAAoB,EAAE;IACjC,oBAAQjB,KAAA,CAAA8C,aAAA,CAAC5C,aAAa,QAClBgC,YAA0B,IAAK;MAC/BA,YAAY,CAACa,SAAS,CAAC,IAAI,CAACf,mBAAmB,eAC7ChC,KAAA,CAAA8C,aAAA,CAAC3C,aAAa;QAAC6C,KAAK,EAAE,IAAI,CAACC;MAAU,gBACnCjD,KAAA,CAAA8C,aAAA,CAACzC,aAAa;QAAC2C,KAAK,EAAE,IAAI,CAACE;MAAM,gBAC/BlD,KAAA,CAAA8C,aAAA,CAAC7C,IAAI;QAACkD,KAAK,EAAE,IAAI,CAACb,MAAM,CAACc;MAAK,GAC7B,IAAI,CAACC,WAAW,EACdpC,KAAK,CAACqC,UAAU,gBAAItD,KAAA,CAAA8C,aAAA,CAAC7C,IAAI;QAACkD,KAAK,EAAE,IAAI,CAACb,MAAM,CAACiB;MAAO,gBACnDvD,KAAA,CAAA8C,aAAA,CAAC7C,IAAI;QAACkD,KAAK,EAAE,IAAI,CAACb,MAAM,CAACkB;MAAY,GACpCvC,KAAK,CAACwC,SAAS,IAAIxC,KAAK,CAACyC,OAAO,gBAC/B1D,KAAA,CAAA8C,aAAA,CAACtC,MAAM;QAACmD,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,MAAM,CAAE;QAClCC,OAAO,EAAE5C,KAAK,CAAC6C,KAAM;QACrBL,SAAS,EAAExC,KAAK,CAACwC,SAAU;QAC3BnB,MAAM,EAAE,IAAI,CAACA,MAAM,CAACyB,IAAK;QACzBL,OAAO,EAAEzC,KAAK,CAACyC,OAAQ;QACvBM,UAAU,EAAE/C,KAAK,CAAC+C,UAAW;QAC7BC,UAAU,EAAEhD,KAAK,CAACgD,UAAW;QAC7BC,SAAS,EAAEjD,KAAK,CAACiD;MAAU,CAC1B,CAAC,GAAG,IACF,CAAC,EACNjD,KAAK,CAACkD,QAAQ,iBAAInE,KAAA,CAAA8C,aAAA,CAACrC,QAAQ;QAACkD,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,UAAU,CAAE;QAAClC,IAAI,EAAET,KAAK,CAACkD,QAAS;QAACV,SAAS,EAAC,kBAAkB;QAACW,KAAK,EAAEA,CAAA,KAAM,IAAI,CAACtC,KAAK,CAAC,CAAE;QAACQ,MAAM,EAAE,IAAI,CAACA,MAAM,CAAC+B;MAAS,CAAW,CAC/K,CAAC,GAAI,IAAI,EACdpD,KAAK,CAACqD,QACH,CACO,CACF,CAAC,EACfpC,YAAY,CAAC,CAAC;MACjB,OAAO,IAAI;IACb,CACa,CAAC;EAClB;AACF"}
1
+ {"version":3,"names":["React","View","ModalConsumer","AssetProvider","HideMode","ThemeProvider","BaseComponent","BaseComponentState","WmIcon","WmButton","WmDialogProps","DEFAULT_CLASS","WmDialogState","constructor","arguments","_defineProperty","WmDialog","props","hideMode","DONOT_ADD_TO_DOM","state","modalOptions","onClose","Promise","res","updateState","show","invokeEventCallback","onOpen","open","close","_close","prepareModalOptions","content","modalService","o","name","modalStyle","styles","modal","contentStyle","isModal","centered","animation","hideModal","renderWidget","createElement","showModal","value","loadAsset","theme","style","root","_background","showheader","header","headerLabel","iconclass","iconurl","id","getTestId","caption","title","accessibilityrole","icon","iconheight","iconmargin","iconwidth","closable","onTap","closeBtn","children"],"sources":["dialog.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View } from 'react-native';\n\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { AssetProvider } from '@wavemaker/app-rn-runtime/core/asset.provider';\nimport { HideMode } from '@wavemaker/app-rn-runtime/core/if.component';\nimport { ThemeProvider } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\n\nimport WmDialogProps from './dialog.props';\nimport { DEFAULT_CLASS, WmDialogStyles } from './dialog.styles';\n\nexport class WmDialogState extends BaseComponentState<WmDialogProps> {\n modalOptions = {} as ModalOptions;\n}\n\nexport default class WmDialog extends BaseComponent<WmDialogProps, WmDialogState, WmDialogStyles> {\n\n private _close: Function = () => {};\n\n constructor(props: WmDialogProps) {\n super(props, DEFAULT_CLASS, new WmDialogProps(), new WmDialogState());\n this.hideMode = HideMode.DONOT_ADD_TO_DOM;\n this.state.modalOptions.onClose = () => {\n return new Promise<void>((res) => {\n this.updateState({\n props: {show: false}\n } as WmDialogState, () => {\n this.invokeEventCallback('onClose', [null, this]);\n res();\n });\n });\n };\n this.state.modalOptions.onOpen = () => {\n this.invokeEventCallback('onOpened', [null, this]);\n };\n }\n\n open() {\n if (!this.state.props.show) {\n this.updateState({\n props:{show: true}\n } as WmDialogState);\n }\n }\n\n close() {\n this._close();\n }\n\n prepareModalOptions(content: React.ReactNode, modalService: ModalService) {\n const o = this.state.modalOptions;\n o.name = this.state.props.name;\n o.modalStyle = this.styles.modal;\n o.content = content;\n o.contentStyle = this.styles.content;\n o.isModal = !!this.state.props.modal;\n o.centered = true;\n o.animation = this.state.props.animation;\n this._close = () => modalService.hideModal(this.state.modalOptions);\n return o;\n }\n\n renderWidget(props: WmDialogProps) {\n return (<ModalConsumer>\n {(modalService: ModalService) => {\n modalService.showModal(this.prepareModalOptions((\n <AssetProvider value={this.loadAsset}>\n <ThemeProvider value={this.theme}>\n <View style={this.styles.root}>\n {this._background}\n {props.showheader ? (<View style={this.styles.header}>\n <View style={this.styles.headerLabel}>\n {props.iconclass || props.iconurl ? \n <WmIcon id={this.getTestId('icon')}\n caption={props.title}\n accessibilityrole='header'\n iconclass={props.iconclass}\n styles={this.styles.icon}\n iconurl={props.iconurl}\n iconheight={props.iconheight}\n iconmargin={props.iconmargin}\n iconwidth={props.iconwidth}\n /> : null}\n </View>\n {props.closable && <WmButton id={this.getTestId('closebtn')} show={props.closable} iconclass=\"wm-sl-l sl-close\" onTap={() => this.close()} styles={this.styles.closeBtn}></WmButton>}\n </View>) : null}\n {props.children}\n </View>\n </ThemeProvider>\n </AssetProvider>\n ), modalService));\n return null;\n }}\n </ModalConsumer>);\n }\n}\n"],"mappings":"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"}
@@ -57,7 +57,9 @@ export default class WmAppNavbar extends BaseComponent {
57
57
  picturesource: props.imgsrc
58
58
  }), /*#__PURE__*/React.createElement(Text, _extends({
59
59
  style: this.styles.content
60
- }, this.getTestPropsForLabel('title')), props.title), badge), /*#__PURE__*/React.createElement(View, {
60
+ }, this.getTestPropsForLabel('title'), {
61
+ accessibilityRole: "header"
62
+ }), props.title), badge), /*#__PURE__*/React.createElement(View, {
61
63
  style: this.styles.rightSection
62
64
  }, props.searchbutton && /*#__PURE__*/React.createElement(WmIcon, {
63
65
  id: this.getTestId('searchbtn'),
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","BackHandler","Badge","isAndroid","BaseComponent","BaseComponentState","WmIcon","WmPicture","WmAppNavbarProps","DEFAULT_CLASS","WmAppNavbarState","WmAppNavbar","constructor","props","_defineProperty","onDrawerBtnPress","invokeEventCallback","bind","onBackBtnPress","onSearchBtnPress","subscription","addEventListener","cleanup","push","remove","renderWidget","badge","badgevalue","undefined","createElement","style","styles","root","_background","leftSection","showDrawerButton","id","getTestId","theme","mergeStyle","action","leftnavIcon","iconclass","leftnavpaneliconclass","onTap","backbutton","backIcon","backbuttoniconclass","caption","backbuttonlabel","middleSection","imgsrc","image","picturesource","_extends","content","getTestPropsForLabel","title","rightSection","searchbutton","searchbuttoniconclass","children"],"sources":["appnavbar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, BackHandler } from 'react-native';\nimport { Badge } from 'react-native-paper';\n\nimport { isAndroid } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\n\nimport WmAppNavbarProps from './appnavbar.props';\nimport { DEFAULT_CLASS, WmAppNavbarStyles } from './appnavbar.styles';\n\nexport class WmAppNavbarState extends BaseComponentState<WmAppNavbarProps> {\n\n}\n\nexport default class WmAppNavbar extends BaseComponent<WmAppNavbarProps, WmAppNavbarState, WmAppNavbarStyles> {\n\n private onDrawerBtnPress: Function;\n private onBackBtnPress: Function;\n private onSearchBtnPress: Function;\n\n constructor(props: WmAppNavbarProps) {\n super(props, DEFAULT_CLASS, new WmAppNavbarProps());\n this.onDrawerBtnPress = (() => this.invokeEventCallback('onDrawerbuttonpress', [null, this])).bind(this);\n this.onBackBtnPress = (() => this.invokeEventCallback('onBackbtnclick', [null, this])).bind(this);\n this.onSearchBtnPress = (() => this.invokeEventCallback('onSearchbuttonpress', [null, this])).bind(this);\n if (isAndroid()) {\n const subscription = BackHandler.addEventListener('hardwareBackPress', () => {\n this.onBackBtnPress();\n return true;\n });\n this.cleanup.push(() => subscription.remove());\n }\n }\n\n renderWidget(props: WmAppNavbarProps) {\n //@ts-ignore\n const badge = props.badgevalue != undefined ? (<Badge style={this.styles.badge}>{props.badgevalue}</Badge>): null;\n return (\n <View style={this.styles.root}>\n {this._background}\n <View style={this.styles.leftSection}>\n {props.showDrawerButton && (<WmIcon\n id={this.getTestId('leftnavbtn')}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.leftnavpaneliconclass}\n onTap={this.onDrawerBtnPress}\n />)}\n {props.backbutton && (<WmIcon\n id={this.getTestId('backbtn')}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.backIcon)}\n iconclass={props.backbuttoniconclass}\n caption={props.backbuttonlabel}\n onTap={this.onBackBtnPress}/>)}\n </View>\n <View style={this.styles.middleSection}>\n {props.imgsrc && (\n <WmPicture\n id={this.getTestId('picture')}\n styles={this.styles.image}\n picturesource={props.imgsrc} />)}\n <Text style={this.styles.content} {...this.getTestPropsForLabel('title')}>{props.title}</Text>\n {badge}\n </View>\n <View style={this.styles.rightSection}>\n {props.searchbutton && (<WmIcon\n id={this.getTestId('searchbtn')}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.searchbuttoniconclass}\n onTap={this.onSearchBtnPress}\n />)}\n {props.children}\n </View>\n </View>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Text","View","BackHandler","Badge","isAndroid","BaseComponent","BaseComponentState","WmIcon","WmPicture","WmAppNavbarProps","DEFAULT_CLASS","WmAppNavbarState","WmAppNavbar","constructor","props","_defineProperty","onDrawerBtnPress","invokeEventCallback","bind","onBackBtnPress","onSearchBtnPress","subscription","addEventListener","cleanup","push","remove","renderWidget","badge","badgevalue","undefined","createElement","style","styles","root","_background","leftSection","showDrawerButton","id","getTestId","theme","mergeStyle","action","leftnavIcon","iconclass","leftnavpaneliconclass","onTap","backbutton","backIcon","backbuttoniconclass","caption","backbuttonlabel","middleSection","imgsrc","image","picturesource","_extends","content","getTestPropsForLabel","accessibilityRole","title","rightSection","searchbutton","searchbuttoniconclass","children"],"sources":["appnavbar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, BackHandler } from 'react-native';\nimport { Badge } from 'react-native-paper';\n\nimport { isAndroid } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\n\nimport WmAppNavbarProps from './appnavbar.props';\nimport { DEFAULT_CLASS, WmAppNavbarStyles } from './appnavbar.styles';\n\nexport class WmAppNavbarState extends BaseComponentState<WmAppNavbarProps> {\n\n}\n\nexport default class WmAppNavbar extends BaseComponent<WmAppNavbarProps, WmAppNavbarState, WmAppNavbarStyles> {\n\n private onDrawerBtnPress: Function;\n private onBackBtnPress: Function;\n private onSearchBtnPress: Function;\n\n constructor(props: WmAppNavbarProps) {\n super(props, DEFAULT_CLASS, new WmAppNavbarProps());\n this.onDrawerBtnPress = (() => this.invokeEventCallback('onDrawerbuttonpress', [null, this])).bind(this);\n this.onBackBtnPress = (() => this.invokeEventCallback('onBackbtnclick', [null, this])).bind(this);\n this.onSearchBtnPress = (() => this.invokeEventCallback('onSearchbuttonpress', [null, this])).bind(this);\n if (isAndroid()) {\n const subscription = BackHandler.addEventListener('hardwareBackPress', () => {\n this.onBackBtnPress();\n return true;\n });\n this.cleanup.push(() => subscription.remove());\n }\n }\n\n renderWidget(props: WmAppNavbarProps) {\n //@ts-ignore\n const badge = props.badgevalue != undefined ? (<Badge style={this.styles.badge}>{props.badgevalue}</Badge>): null;\n return (\n <View style={this.styles.root}>\n {this._background}\n <View style={this.styles.leftSection}>\n {props.showDrawerButton && (<WmIcon\n id={this.getTestId('leftnavbtn')}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.leftnavpaneliconclass}\n onTap={this.onDrawerBtnPress}\n />)}\n {props.backbutton && (<WmIcon\n id={this.getTestId('backbtn')}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.backIcon)}\n iconclass={props.backbuttoniconclass}\n caption={props.backbuttonlabel}\n onTap={this.onBackBtnPress}/>)}\n </View>\n <View style={this.styles.middleSection}>\n {props.imgsrc && (\n <WmPicture\n id={this.getTestId('picture')}\n styles={this.styles.image}\n picturesource={props.imgsrc} />)}\n <Text style={this.styles.content} {...this.getTestPropsForLabel('title')} accessibilityRole='header'>{props.title}</Text>\n {badge}\n </View>\n <View style={this.styles.rightSection}>\n {props.searchbutton && (<WmIcon\n id={this.getTestId('searchbtn')}\n styles={this.theme.mergeStyle({}, this.styles.action, this.styles.leftnavIcon)}\n iconclass={props.searchbuttoniconclass}\n onTap={this.onSearchBtnPress}\n />)}\n {props.children}\n </View>\n </View>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/app-rn-runtime",
3
- "version": "11.7.1-next.26348",
3
+ "version": "11.7.1-next.26350",
4
4
  "description": "''",
5
5
  "main": "index",
6
6
  "module": "index",
@@ -49,7 +49,7 @@
49
49
  "@react-navigation/native": "6.1.7",
50
50
  "@react-navigation/stack": "^6.3.7",
51
51
  "@types/lodash-es": "^4.17.6",
52
- "@wavemaker/variables": "11.7.1-next.26348",
52
+ "@wavemaker/variables": "11.7.1-next.26350",
53
53
  "axios": "^1.4.0",
54
54
  "color": "4.2.3",
55
55
  "cross-env": "^5.2.0",
@@ -131,7 +131,7 @@
131
131
  "typescript": "^5.1.3",
132
132
  "victory-native": "36.6.11",
133
133
  "yargs": "^16.2.0",
134
- "@wavemaker/variables": "11.7.1-next.26348"
134
+ "@wavemaker/variables": "11.7.1-next.26350"
135
135
  },
136
136
  "jest": {
137
137
  "preset": "react-native",