@wavemaker-ai/app-rn-runtime 1.0.0-rc.322 → 1.0.0-rc.326

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/components/basic/bottomsheet/bottomsheet.component.js +156 -14
  2. package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
  3. package/components/basic/bottomsheet/bottomsheet.styles.js +0 -3
  4. package/components/basic/bottomsheet/bottomsheet.styles.js.map +1 -1
  5. package/components/basic/button/button.component.js +4 -2
  6. package/components/basic/button/button.component.js.map +1 -1
  7. package/components/basic/message/message.component.js +1 -0
  8. package/components/basic/message/message.component.js.map +1 -1
  9. package/components/basic/progress-circle/progress-circle.component.js +3 -1
  10. package/components/basic/progress-circle/progress-circle.component.js.map +1 -1
  11. package/components/basic/search/search.styles.js +8 -3
  12. package/components/basic/search/search.styles.js.map +1 -1
  13. package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
  14. package/components/chart/basechart.component.js +0 -1
  15. package/components/chart/basechart.component.js.map +1 -1
  16. package/components/chart/basechart.props.js +1 -0
  17. package/components/chart/basechart.props.js.map +1 -1
  18. package/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
  19. package/components/chart/line-chart/line-chart.component.js.map +1 -1
  20. package/components/container/container.component.js +24 -1
  21. package/components/container/container.component.js.map +1 -1
  22. package/components/container/container.props.js +7 -0
  23. package/components/container/container.props.js.map +1 -1
  24. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +25 -1
  25. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
  26. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.props.js +1 -0
  27. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.props.js.map +1 -1
  28. package/components/container/tabs/tabheader/tabheader.component.js +5 -14
  29. package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  30. package/components/container/tabs/tabheader/tabheader.props.js +0 -2
  31. package/components/container/tabs/tabheader/tabheader.props.js.map +1 -1
  32. package/components/container/tabs/tabheader/tabheader.styles.js +1 -43
  33. package/components/container/tabs/tabheader/tabheader.styles.js.map +1 -1
  34. package/components/container/tabs/tabs.component.js +2 -6
  35. package/components/container/tabs/tabs.component.js.map +1 -1
  36. package/components/container/tabs/tabs.props.js +0 -2
  37. package/components/container/tabs/tabs.props.js.map +1 -1
  38. package/components/container/wizard/wizardstep/wizardstep.component.js +22 -3
  39. package/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  40. package/components/container/wizard/wizardstep/wizardstep.props.js +2 -0
  41. package/components/container/wizard/wizardstep/wizardstep.props.js.map +1 -1
  42. package/components/data/form/form-field/form-field.component.js +2 -0
  43. package/components/data/form/form-field/form-field.component.js.map +1 -1
  44. package/components/data/form/form-field/form-field.props.js +2 -0
  45. package/components/data/form/form-field/form-field.props.js.map +1 -1
  46. package/components/data/form/form.component.js +4 -1
  47. package/components/data/form/form.component.js.map +1 -1
  48. package/components/data/list/list.styles.js +1 -0
  49. package/components/data/list/list.styles.js.map +1 -1
  50. package/components/dialogs/dialogcontent/dialogcontent.component.js +2 -1
  51. package/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
  52. package/components/input/baseinput/baseinput.component.js +28 -3
  53. package/components/input/baseinput/baseinput.component.js.map +1 -1
  54. package/components/input/baseinput/baseinput.props.js +1 -0
  55. package/components/input/baseinput/baseinput.props.js.map +1 -1
  56. package/components/input/basenumber/basenumber.component.js +18 -3
  57. package/components/input/basenumber/basenumber.component.js.map +1 -1
  58. package/components/input/basenumber/basenumber.props.js +1 -0
  59. package/components/input/basenumber/basenumber.props.js.map +1 -1
  60. package/components/input/calendar/calendar.component.js +4 -0
  61. package/components/input/calendar/calendar.component.js.map +1 -1
  62. package/components/input/calendar/views/month-view.js +8 -1
  63. package/components/input/calendar/views/month-view.js.map +1 -1
  64. package/components/input/checkboxset/checkboxset.component.js +3 -3
  65. package/components/input/checkboxset/checkboxset.component.js.map +1 -1
  66. package/components/input/checkboxset/checkboxset.props.js +1 -0
  67. package/components/input/checkboxset/checkboxset.props.js.map +1 -1
  68. package/components/input/checkboxset/checkboxset.styles.js +6 -0
  69. package/components/input/checkboxset/checkboxset.styles.js.map +1 -1
  70. package/components/input/currency/currency.component.js +1 -0
  71. package/components/input/currency/currency.component.js.map +1 -1
  72. package/components/input/currency/currency.styles.js +4 -0
  73. package/components/input/currency/currency.styles.js.map +1 -1
  74. package/components/input/number/number.component.js +1 -0
  75. package/components/input/number/number.component.js.map +1 -1
  76. package/components/input/number/number.styles.js +4 -0
  77. package/components/input/number/number.styles.js.map +1 -1
  78. package/components/input/radioset/radioset.component.js +5 -3
  79. package/components/input/radioset/radioset.component.js.map +1 -1
  80. package/components/input/radioset/radioset.props.js +1 -0
  81. package/components/input/radioset/radioset.props.js.map +1 -1
  82. package/components/input/radioset/radioset.styles.js +6 -0
  83. package/components/input/radioset/radioset.styles.js.map +1 -1
  84. package/components/input/text/text.component.js +14 -3
  85. package/components/input/text/text.component.js.map +1 -1
  86. package/components/input/text/text.props.js +1 -0
  87. package/components/input/text/text.props.js.map +1 -1
  88. package/components/input/text/text.styles.js +3 -1
  89. package/components/input/text/text.styles.js.map +1 -1
  90. package/components/input/textarea/textarea.component.js +3 -2
  91. package/components/input/textarea/textarea.component.js.map +1 -1
  92. package/components/input/textarea/textarea.styles.js +4 -0
  93. package/components/input/textarea/textarea.styles.js.map +1 -1
  94. package/components/input/toggle/toggle.component.js +4 -13
  95. package/components/input/toggle/toggle.component.js.map +1 -1
  96. package/components/input/toggle/toggle.props.js +1 -3
  97. package/components/input/toggle/toggle.props.js.map +1 -1
  98. package/components/input/toggle/toggle.styles.js +4 -12
  99. package/components/input/toggle/toggle.styles.js.map +1 -1
  100. package/components/navigation/appnavbar/appnavbar.props.js +1 -1
  101. package/components/navigation/appnavbar/appnavbar.props.js.map +1 -1
  102. package/components/page/tabbar/tabbar.component.js +3 -2
  103. package/components/page/tabbar/tabbar.component.js.map +1 -1
  104. package/core/AppConfig.js.map +1 -1
  105. package/core/advanced-promise-rejection-tracker.js +1 -2
  106. package/core/advanced-promise-rejection-tracker.js.map +1 -1
  107. package/core/auto-layout-host.component.js +8 -2
  108. package/core/auto-layout-host.component.js.map +1 -1
  109. package/core/components/floatinglabel.component.js +5 -2
  110. package/core/components/floatinglabel.component.js.map +1 -1
  111. package/core/components/textinput.component.js +23 -3
  112. package/core/components/textinput.component.js.map +1 -1
  113. package/core/outside-press-handler.js +65 -0
  114. package/core/outside-press-handler.js.map +1 -0
  115. package/core/tappable.component.js +109 -15
  116. package/core/tappable.component.js.map +1 -1
  117. package/core/viewport.js +13 -8
  118. package/core/viewport.js.map +1 -1
  119. package/gestures/carousel-swipe.animation.js +0 -1
  120. package/gestures/carousel-swipe.animation.js.map +1 -1
  121. package/npm-shrinkwrap.json +4166 -6251
  122. package/package-lock.json +4166 -6251
  123. package/package.json +18 -16
  124. package/runtime/navigator/drawer.navigator.js +1 -0
  125. package/runtime/navigator/drawer.navigator.js.map +1 -1
  126. package/runtime/navigator/stack.navigator.js +16 -1
  127. package/runtime/navigator/stack.navigator.js.map +1 -1
  128. package/runtime/services/device/scan-service.js +12 -34
  129. package/runtime/services/device/scan-service.js.map +1 -1
  130. package/styles/theme.js +7 -0
  131. package/styles/theme.js.map +1 -1
  132. package/styles/theme.variables.js.map +1 -1
  133. package/components-prism/basic/search/search.component.js +0 -171
  134. package/components-prism/basic/search/search.component.js.map +0 -1
  135. package/components-prism/basic/search/search.props.js +0 -13
  136. package/components-prism/basic/search/search.props.js.map +0 -1
  137. package/components-prism/basic/search/search.styles.js +0 -115
  138. package/components-prism/basic/search/search.styles.js.map +0 -1
@@ -12,6 +12,7 @@ export class WmWizardstepState extends BaseComponentState {
12
12
  super(...args);
13
13
  _defineProperty(this, "active", false);
14
14
  _defineProperty(this, "showContent", false);
15
+ _defineProperty(this, "isPartialLoaded", false);
15
16
  }
16
17
  }
17
18
  export default class WmWizardstep extends BaseComponent {
@@ -54,7 +55,7 @@ export default class WmWizardstep extends BaseComponent {
54
55
  this.updateState({
55
56
  active: true
56
57
  }, () => {
57
- if (this.state.showContent) {
58
+ if (this.state.showContent && !this.state.props.renderPartial) {
58
59
  this.invokeEventCallback('onLoad', [this, this.state.props.index]);
59
60
  }
60
61
  });
@@ -76,13 +77,31 @@ export default class WmWizardstep extends BaseComponent {
76
77
  invokeSkipCB(index) {
77
78
  this.invokeEventCallback('onSkip', [this.proxy, this, index]);
78
79
  }
80
+ onWizardPartialLoad() {
81
+ this.invokeEventCallback('onLoad', [this, this.state.props.index]);
82
+ }
83
+ renderContent(props) {
84
+ if (props.renderPartial) {
85
+ if (!this.state.isPartialLoaded) {
86
+ setTimeout(() => {
87
+ this.updateState({
88
+ isPartialLoaded: true
89
+ });
90
+ });
91
+ }
92
+ return props.renderPartial(props, this.onWizardPartialLoad.bind(this));
93
+ }
94
+ return props.children;
95
+ }
79
96
  renderWidget(props) {
80
97
  var _this$parent;
81
98
  if (!this.state.showContent && this.isVisible()) {
82
99
  this.updateState({
83
100
  showContent: true
84
101
  }, () => {
85
- this.invokeEventCallback('onLoad', [this, props.index]);
102
+ if (!props.renderPartial) {
103
+ this.invokeEventCallback('onLoad', [this, props.index]);
104
+ }
86
105
  });
87
106
  }
88
107
  const autoLayoutProps = extractAutoLayoutProps(props, (_this$parent = this.parent) === null || _this$parent === void 0 || (_this$parent = _this$parent.state) === null || _this$parent === void 0 ? void 0 : _this$parent.props);
@@ -106,7 +125,7 @@ export default class WmWizardstep extends BaseComponent {
106
125
  minWidth: 0
107
126
  } : undefined,
108
127
  onLayout: event => this.handleLayout(event)
109
- }, this._background, props.children);
128
+ }, this._background, this.renderContent(props));
110
129
  }
111
130
  }
112
131
  //# sourceMappingURL=wizardstep.component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","BaseComponent","BaseComponentState","extractAutoLayoutProps","getContentContainerStyle","getDirectionStyle","getDimensionStyle","isAutoLayout","AutoLayoutHost","WmWizardstepProps","DEFAULT_CLASS","WmWizardstepState","constructor","args","_defineProperty","WmWizardstep","props","componentDidMount","wizard","parent","addWizardStep","onPropertyChange","name","$new","$old","refresh","setTimeout","forceUpdate","setActive","updateState","active","state","showContent","invokeEventCallback","index","setInActive","isVisible","invokeNextCB","proxy","invokePrevCB","invokeSkipCB","renderWidget","_this$parent","autoLayoutProps","hasAutoLayout","shouldScroll","overflow","autoLayoutDirectionStyle","autoLayoutContentStyle","autoLayoutOuterDimensionStyle","styles","root","autoLayoutInnerDimensionStyle","createElement","containerStyle","contentStyle","minWidth","undefined","onLayout","event","handleLayout","_background","children"],"sources":["wizardstep.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport {extractAutoLayoutProps, getContentContainerStyle, getDirectionStyle, getDimensionStyle, isAutoLayout} from '@wavemaker-ai/app-rn-runtime/core/auto-layout.utils';\nimport { AutoLayoutHost } from '@wavemaker-ai/app-rn-runtime/core/auto-layout-host.component';\n\nimport WmWizardstepProps from './wizardstep.props';\nimport { DEFAULT_CLASS, WmWizardstepStyles } from './wizardstep.styles';\nimport WmWizard from '../wizard.component';\nimport { isBoolean } from 'lodash-es';\n\nexport class WmWizardstepState extends BaseComponentState<WmWizardstepProps> {\n active = false;\n showContent: boolean = false;\n}\n\nexport default class WmWizardstep extends BaseComponent<WmWizardstepProps, WmWizardstepState, WmWizardstepStyles> {\n\n constructor(props: WmWizardstepProps) {\n super(props, DEFAULT_CLASS, new WmWizardstepProps(), new WmWizardstepState());\n }\n\n componentDidMount() {\n const wizard = (this.parent) as WmWizard;\n // When skeleton is enabled in the wizard component, the parent would be WMSkeleton which doesnot have addWizardStep function\n if(wizard.addWizardStep) {\n wizard.addWizardStep(this);\n }\n super.componentDidMount();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'title':\n const wizard = (this.parent) as WmWizard;\n wizard?.refresh();\n break;\n case 'disableprev':\n case 'disablenext':\n case 'disabledone':\n case 'enableskip':\n setTimeout(() => {\n this.parent.forceUpdate();\n }, 10);\n break;\n case 'show':\n if($new !== $old){\n setTimeout(() => {\n this.parent.forceUpdate();\n }, 10);\n }\n break;\n }\n }\n\n setActive() {\n this.updateState({\n active: true\n } as WmWizardstepState, () => {\n if(this.state.showContent) {\n this.invokeEventCallback('onLoad', [this, this.state.props.index]);\n }\n });\n }\n\n setInActive() {\n this.updateState({\n active: false\n } as WmWizardstepState);\n }\n\n isVisible() {\n return super.isVisible() && this.state.active;\n }\n\n invokeNextCB(index: number) : boolean {\n return this.invokeEventCallback('onNext', [this.proxy, this, index]);\n }\n\n invokePrevCB(index: number) : boolean {\n return this.invokeEventCallback('onPrev', [this.proxy, this, index]);\n }\n\n invokeSkipCB(index: number) {\n this.invokeEventCallback('onSkip', [this.proxy, this, index]);\n }\n renderWidget(props: WmWizardstepProps) {\n if(!this.state.showContent && this.isVisible()){\n this.updateState({showContent: true} as WmWizardstepState, ()=>{\n this.invokeEventCallback('onLoad', [this, props.index]);\n });\n }\n\n const autoLayoutProps = extractAutoLayoutProps(\n props,\n this.parent?.state?.props\n );\n const hasAutoLayout = isAutoLayout(autoLayoutProps);\n const shouldScroll = !hasAutoLayout || autoLayoutProps.overflow === 'scroll';\n const autoLayoutDirectionStyle = hasAutoLayout ? getDirectionStyle(autoLayoutProps) : {};\n const autoLayoutContentStyle = hasAutoLayout ? getContentContainerStyle(autoLayoutProps) : {};\n const autoLayoutOuterDimensionStyle = hasAutoLayout ? getDimensionStyle(autoLayoutProps, this.styles.root) : {};\n const autoLayoutInnerDimensionStyle = hasAutoLayout ? getDimensionStyle(autoLayoutProps, this.styles.root, true) : {};\n\n return this.state.showContent && (\n <AutoLayoutHost\n autoLayoutProps={autoLayoutProps}\n shouldScroll={shouldScroll}\n containerStyle={[\n this.styles.root,\n hasAutoLayout ? { ...autoLayoutDirectionStyle, ...autoLayoutOuterDimensionStyle } : {},\n ]}\n contentStyle={hasAutoLayout ? {\n ...autoLayoutDirectionStyle,\n ...autoLayoutContentStyle,\n ...autoLayoutInnerDimensionStyle,\n minWidth: 0,\n } : undefined}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {props.children}\n </AutoLayoutHost>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","BaseComponent","BaseComponentState","extractAutoLayoutProps","getContentContainerStyle","getDirectionStyle","getDimensionStyle","isAutoLayout","AutoLayoutHost","WmWizardstepProps","DEFAULT_CLASS","WmWizardstepState","constructor","args","_defineProperty","WmWizardstep","props","componentDidMount","wizard","parent","addWizardStep","onPropertyChange","name","$new","$old","refresh","setTimeout","forceUpdate","setActive","updateState","active","state","showContent","renderPartial","invokeEventCallback","index","setInActive","isVisible","invokeNextCB","proxy","invokePrevCB","invokeSkipCB","onWizardPartialLoad","renderContent","isPartialLoaded","bind","children","renderWidget","_this$parent","autoLayoutProps","hasAutoLayout","shouldScroll","overflow","autoLayoutDirectionStyle","autoLayoutContentStyle","autoLayoutOuterDimensionStyle","styles","root","autoLayoutInnerDimensionStyle","createElement","containerStyle","contentStyle","minWidth","undefined","onLayout","event","handleLayout","_background"],"sources":["wizardstep.component.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport {extractAutoLayoutProps, getContentContainerStyle, getDirectionStyle, getDimensionStyle, isAutoLayout} from '@wavemaker-ai/app-rn-runtime/core/auto-layout.utils';\nimport { AutoLayoutHost } from '@wavemaker-ai/app-rn-runtime/core/auto-layout-host.component';\n\nimport WmWizardstepProps from './wizardstep.props';\nimport { DEFAULT_CLASS, WmWizardstepStyles } from './wizardstep.styles';\nimport WmWizard from '../wizard.component';\nimport { isBoolean } from 'lodash-es';\n\nexport class WmWizardstepState extends BaseComponentState<WmWizardstepProps> {\n active = false;\n showContent: boolean = false;\n isPartialLoaded = false;\n}\n\nexport default class WmWizardstep extends BaseComponent<WmWizardstepProps, WmWizardstepState, WmWizardstepStyles> {\n\n constructor(props: WmWizardstepProps) {\n super(props, DEFAULT_CLASS, new WmWizardstepProps(), new WmWizardstepState());\n }\n\n componentDidMount() {\n const wizard = (this.parent) as WmWizard;\n // When skeleton is enabled in the wizard component, the parent would be WMSkeleton which doesnot have addWizardStep function\n if(wizard.addWizardStep) {\n wizard.addWizardStep(this);\n }\n super.componentDidMount();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'title':\n const wizard = (this.parent) as WmWizard;\n wizard?.refresh();\n break;\n case 'disableprev':\n case 'disablenext':\n case 'disabledone':\n case 'enableskip':\n setTimeout(() => {\n this.parent.forceUpdate();\n }, 10);\n break;\n case 'show':\n if($new !== $old){\n setTimeout(() => {\n this.parent.forceUpdate();\n }, 10);\n }\n break;\n }\n }\n\n setActive() {\n this.updateState({\n active: true\n } as WmWizardstepState, () => {\n if(this.state.showContent && !this.state.props.renderPartial) {\n this.invokeEventCallback('onLoad', [this, this.state.props.index]);\n }\n });\n }\n\n setInActive() {\n this.updateState({\n active: false\n } as WmWizardstepState);\n }\n\n isVisible() {\n return super.isVisible() && this.state.active;\n }\n\n invokeNextCB(index: number) : boolean {\n return this.invokeEventCallback('onNext', [this.proxy, this, index]);\n }\n\n invokePrevCB(index: number) : boolean {\n return this.invokeEventCallback('onPrev', [this.proxy, this, index]);\n }\n\n invokeSkipCB(index: number) {\n this.invokeEventCallback('onSkip', [this.proxy, this, index]);\n }\n\n onWizardPartialLoad() {\n this.invokeEventCallback('onLoad', [this, this.state.props.index]);\n }\n\n renderContent(props: WmWizardstepProps) {\n if (props.renderPartial) {\n if (!this.state.isPartialLoaded) {\n setTimeout(() => {\n this.updateState({\n isPartialLoaded: true\n } as WmWizardstepState);\n });\n }\n return props.renderPartial(props, this.onWizardPartialLoad.bind(this));\n }\n return props.children;\n }\n\n renderWidget(props: WmWizardstepProps) {\n if(!this.state.showContent && this.isVisible()){\n this.updateState({showContent: true} as WmWizardstepState, ()=>{\n if (!props.renderPartial) {\n this.invokeEventCallback('onLoad', [this, props.index]);\n }\n });\n }\n\n const autoLayoutProps = extractAutoLayoutProps(\n props,\n this.parent?.state?.props\n );\n const hasAutoLayout = isAutoLayout(autoLayoutProps);\n const shouldScroll = !hasAutoLayout || autoLayoutProps.overflow === 'scroll';\n const autoLayoutDirectionStyle = hasAutoLayout ? getDirectionStyle(autoLayoutProps) : {};\n const autoLayoutContentStyle = hasAutoLayout ? getContentContainerStyle(autoLayoutProps) : {};\n const autoLayoutOuterDimensionStyle = hasAutoLayout ? getDimensionStyle(autoLayoutProps, this.styles.root) : {};\n const autoLayoutInnerDimensionStyle = hasAutoLayout ? getDimensionStyle(autoLayoutProps, this.styles.root, true) : {};\n\n return this.state.showContent && (\n <AutoLayoutHost\n autoLayoutProps={autoLayoutProps}\n shouldScroll={shouldScroll}\n containerStyle={[\n this.styles.root,\n hasAutoLayout ? { ...autoLayoutDirectionStyle, ...autoLayoutOuterDimensionStyle } : {},\n ]}\n contentStyle={hasAutoLayout ? {\n ...autoLayoutDirectionStyle,\n ...autoLayoutContentStyle,\n ...autoLayoutInnerDimensionStyle,\n minWidth: 0,\n } : undefined}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {this.renderContent(props)}\n </AutoLayoutHost>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -12,6 +12,8 @@ class WmWizardstepProps extends BaseProps {
12
12
  _defineProperty(this, "shownext", true);
13
13
  _defineProperty(this, "showdone", true);
14
14
  _defineProperty(this, "children", void 0);
15
+ _defineProperty(this, "renderPartial", void 0);
16
+ _defineProperty(this, "invokeVariables", true);
15
17
  _defineProperty(this, "enableskip", false);
16
18
  _defineProperty(this, "iconclass", 'wm-sl-l sl-check');
17
19
  _defineProperty(this, "title", 'Step Title');
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmWizardstepProps","constructor","args","_defineProperty"],"sources":["wizardstep.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { AutoLayoutProps } from '@wavemaker-ai/app-rn-runtime/core/auto-layout.utils';\n\ninterface WmWizardstepProps extends AutoLayoutProps {}\n\nclass WmWizardstepProps extends BaseProps {\n disableprev: boolean = false;\n disablenext: boolean = false;\n disabledone: boolean = false;\n showprev: boolean = true;\n shownext: boolean = true;\n showdone: boolean = true;\n children: any;\n enableskip: boolean = false;\n iconclass: string = 'wm-sl-l sl-check';\n title: string = 'Step Title';\n subtitle: string = 'Sub Title';\n index: number = 0;\n}\n\nexport default WmWizardstepProps;\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,kDAAkD;AAK5E,MAAMC,iBAAiB,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,sBACjB,KAAK;IAAAA,eAAA,sBACL,KAAK;IAAAA,eAAA,sBACL,KAAK;IAAAA,eAAA,mBACR,IAAI;IAAAA,eAAA,mBACJ,IAAI;IAAAA,eAAA,mBACJ,IAAI;IAAAA,eAAA;IAAAA,eAAA,qBAEF,KAAK;IAAAA,eAAA,oBACP,kBAAkB;IAAAA,eAAA,gBACtB,YAAY;IAAAA,eAAA,mBACT,WAAW;IAAAA,eAAA,gBACd,CAAC;EAAA;AACnB;AAEA,eAAeH,iBAAiB","ignoreList":[]}
1
+ {"version":3,"names":["BaseProps","WmWizardstepProps","constructor","args","_defineProperty"],"sources":["wizardstep.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { AutoLayoutProps } from '@wavemaker-ai/app-rn-runtime/core/auto-layout.utils';\n\ninterface WmWizardstepProps extends AutoLayoutProps {}\n\nclass WmWizardstepProps extends BaseProps {\n disableprev: boolean = false;\n disablenext: boolean = false;\n disabledone: boolean = false;\n showprev: boolean = true;\n shownext: boolean = true;\n showdone: boolean = true;\n children: any;\n renderPartial?: Function;\n invokeVariables = true;\n enableskip: boolean = false;\n iconclass: string = 'wm-sl-l sl-check';\n title: string = 'Step Title';\n subtitle: string = 'Sub Title';\n index: number = 0;\n}\n\nexport default WmWizardstepProps;\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,kDAAkD;AAK5E,MAAMC,iBAAiB,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,sBACjB,KAAK;IAAAA,eAAA,sBACL,KAAK;IAAAA,eAAA,sBACL,KAAK;IAAAA,eAAA,mBACR,IAAI;IAAAA,eAAA,mBACJ,IAAI;IAAAA,eAAA,mBACJ,IAAI;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,0BAGN,IAAI;IAAAA,eAAA,qBACA,KAAK;IAAAA,eAAA,oBACP,kBAAkB;IAAAA,eAAA,gBACtB,YAAY;IAAAA,eAAA,mBACT,WAAW;IAAAA,eAAA,gBACd,CAAC;EAAA;AACnB;AAEA,eAAeH,iBAAiB","ignoreList":[]}
@@ -254,6 +254,8 @@ export default class WmFormField extends BaseComponent {
254
254
  maskchar: props.maskchar,
255
255
  displayformat: props.displayformat,
256
256
  autocomplete: props.autocomplete,
257
+ autocapitalize: props.autocapitalize,
258
+ uppercase: props.uppercase,
257
259
  invokeEvent: this.invokeEventCallback.bind(this),
258
260
  triggerValidation: this.validateFormField.bind(this),
259
261
  onFieldChange: this.onFieldChangeEvt.bind(this),
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","isEqual","isNil","get","find","cloneDeep","forEach","keys","WmFormFieldProps","DEFAULT_CLASS","PERFORMANCE_LOGGER","WmFormFieldState","constructor","args","_defineProperty","WmFormField","props","form","formScope","componentDidMount","_this$form","_this$form2","_this$form3","formwidget","formKey","formWidgets","name","registerFormFields","formFields","onFieldChangeEvt","$new","$old","isDefault","notifyChanges","updateState","datavalue","invokeEventCallback","undefined","validateFormField","updateDataOutput","call","observeOn","fields","field","formfield","f","proxy","notifyForFields","push","validate","setTimeout","getPromiseList","validators","arr","fn","promise","Function","bind","Promise","setAsyncValidators","_asyncValidatorFn","all","then","err","validationMsg","hasOwnProperty","messageKeys","toString","setInvalidState","setValidators","_cloneValidators","_syncValidators","obj","index","key","defaultValidatorMessages","value","propsObj","updateFormWidgetDataset","res","displayField","dataset","data","datafield","displayfield","state","msg","isValid","validationmessage","onPropertyChange","debug","applyDefaultValue","setPrimaryKey","setReadOnlyState","updateMode","_this$formwidget","readonly","_this$formwidget2","_this$_syncValidators","_this$formwidget3","errorType","errormsg","errorMessage","renderWidget","_this$styles$root","_this$form4","_layoutStyle$flexGrow","_layoutStyle$flexShri","height","width","styles","root","hasDimensions","dimensionStyles","childrenWithProps","Children","map","renderFormFields","children","child","_child$props","_child$props2","existingStyles","mergedStyles","cloneElement","maskchar","displayformat","autocomplete","invokeEvent","triggerValidation","onFieldChange","formRef","isdefault","defaultvalue","placeholder","hasUserDefinedWidth","layoutStyle","fieldLayoutStyle","flexStyle","flexGrow","flexShrink","createElement","style","onLayout","event","handleLayout","_background","_extends","getTestPropsForLabel","errorMsg"],"sources":["form-field.component.tsx"],"sourcesContent":["import React from 'react';\nimport {DimensionValue, Text, View} from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { widgetsWithUndefinedValue } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport { isEqual, isNil, get, find, cloneDeep, forEach, keys } from 'lodash';\n\nimport WmFormFieldProps from './form-field.props';\nimport { DEFAULT_CLASS, WmFormFieldStyles } from './form-field.styles';\nimport {PERFORMANCE_LOGGER} from \"@wavemaker-ai/app-rn-runtime/core/logger\";\n\nexport class WmFormFieldState extends BaseComponentState<WmFormFieldProps> {\n isValid = true;\n}\n\nexport default class WmFormField extends BaseComponent<WmFormFieldProps, WmFormFieldState, WmFormFieldStyles> {\n public form: any;\n public formwidget: any;\n public _syncValidators: any;\n public defaultValidatorMessages: any = [];\n private notifyForFields: any = [];\n private _asyncValidatorFn: any;\n constructor(props: WmFormFieldProps) {\n super(props, DEFAULT_CLASS, new WmFormFieldProps(), new WmFormFieldState());\n if (!this.form) {\n this.form = props.formScope && props.formScope();\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.formwidget = (this.props.formKey && this.form?.formWidgets[this.props.formKey])\n || (this.props.name && this.form?.formWidgets[this.props.name]);\n this.form?.registerFormFields(this.form.formFields, this.form.formWidgets);\n }\n\n onFieldChangeEvt(name: string, $new: any, $old: any, isDefault: boolean) {\n this.notifyChanges();\n if (!isEqual($old, $new)) {\n this.updateState({ props: { datavalue: $new }} as WmFormFieldState, () => {\n !isDefault && this.invokeEventCallback('onChange', [undefined, this, $new, $old]);\n this.validateFormField();\n });\n if (this.form) {\n this.form.updateDataOutput.call(this.form, get(this.props, 'formKey', this.props.name), $new);\n }\n }\n }\n\n // Registers observer of validation fields\n observeOn(fields: any) {\n forEach(fields, (field) => {\n const formfield = find(this.form.formFields, (f) => f.proxy.name === field);\n if (formfield) {\n formfield.notifyForFields.push(this);\n }\n });\n }\n\n // Notifies changes to observing validation fields\n notifyChanges() {\n forEach(this.notifyForFields, (field) => {\n field.formwidget.validate(field.formwidget.datavalue);\n setTimeout(() => field.validateFormField());\n });\n }\n\n getPromiseList(validators: any) {\n const arr: any = [];\n forEach(validators, (fn) => {\n let promise = fn;\n if (fn instanceof Function && fn.bind) {\n promise = fn(this.formwidget.proxy, this.form);\n }\n if (promise instanceof Promise) {\n arr.push(promise);\n }\n });\n return arr;\n }\n\n // this method sets the asyncValidation on the form field. Assigns validationmessages from the returned response\n setAsyncValidators(validators: any) {\n this._asyncValidatorFn = () => {\n return Promise.all(this.getPromiseList(validators)).then(() => {\n return null;\n }, err => {\n let validationMsg: string;\n // if err obj has validationMessage key, then set validationMessage using this value\n // else return the value of the first key in the err object as validation message.\n if (err.hasOwnProperty('errorMessage')) {\n validationMsg = get(err, 'errorMessage');\n } else {\n const messageKeys = keys(err);\n validationMsg = (err[messageKeys[0]]).toString();\n }\n this.setInvalidState(validationMsg);\n return err;\n })\n };\n }\n\n // sets the default validation on the form field\n setValidators(validators: any) {\n let _cloneValidators = cloneDeep(validators);\n this._syncValidators = [];\n forEach(_cloneValidators, (obj, index) => {\n // custom validation is bound to function.\n if (obj && obj instanceof Function) {\n // passing formwidget and form as arguments to the obj (i.e. validator function)\n _cloneValidators[index] = obj.bind(undefined, this.formwidget.proxy, this.form);\n this._syncValidators.push(_cloneValidators[index]);\n } else {\n // checks for default validator like required, maxchars etc.\n const key = get(obj, 'type');\n this.defaultValidatorMessages[key] = get(obj, 'errorMessage');\n const value = get(obj, 'validator');\n let propsObj: any = {\n props: {}\n };\n propsObj.props[key] = value;\n key === 'required' && this.updateState(propsObj as WmFormFieldState);\n this.formwidget.updateState(propsObj as WmFormFieldState);\n }\n });\n }\n\n updateFormWidgetDataset(res: any, displayField: string) {\n this.formwidget.updateState({\n props: {\n dataset: res.data,\n datafield: 'All Fields',\n displayfield: this.formwidget.state.props.displayfield || displayField,\n }\n } as WmFormFieldState);\n }\n\n setInvalidState(msg: string) {\n this.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState)\n this.formwidget.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'datavalue':\n if (!isEqual($old, $new)) {\n PERFORMANCE_LOGGER.debug(`form field ${this.props.name} changed from ${$old} to ${$new}`);\n }\n break;\n case 'defaultvalue':\n if (!isEqual($old, $new)) {\n get(this, 'form') && this.form.applyDefaultValue(this);\n }\n break;\n case 'primary-key':\n if ($new) {\n this.form.setPrimaryKey(this.props.name);\n }\n break;\n }\n }\n\n setReadOnlyState(updateMode: any) {\n this.formwidget?.updateState({\n props: {\n readonly: !updateMode,\n }\n } as WmFormFieldState);\n }\n\n validateFormField() {\n if (this.formwidget?.state.isValid === false) {\n const errorType = this.formwidget?.state?.errorType;\n let validationMsg = get(this.defaultValidatorMessages, errorType);\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.updateState({ props: {\n validationmessage: validationMsg\n }} as WmFormFieldState);\n }\n this.updateState({ isValid: false} as WmFormFieldState);\n } else {\n this.updateState({ isValid: true } as WmFormFieldState);\n }\n\n this._syncValidators?.forEach((fn: any) => {\n const errormsg = fn();\n let validationMsg = errormsg?.errorMessage;\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.setInvalidState(validationMsg);\n }\n })\n\n this._asyncValidatorFn && this._asyncValidatorFn();\n\n }\n\n get value(){\n return this.state.props.datavalue;\n }\n\n renderWidget(props: WmFormFieldProps) {\n // Extract only height and width from computed styles to pass to children\n const { height, width } = this.styles.root || {};\n const hasDimensions = height !== undefined || width !== undefined;\n const dimensionStyles = hasDimensions\n ? {\n root: {\n ...(height !== undefined ? { height } : {}),\n ...(width !== undefined ? { width } : {})\n }\n }\n : undefined;\n\n var childrenWithProps = React.Children.map(props.renderFormFields(this.proxy).props.children, (child) => {\n // Merge dimension styles with any existing styles on the child\n const existingStyles = child?.props?.styles || {};\n const mergedStyles = dimensionStyles\n ? {\n ...existingStyles,\n root: { ...existingStyles.root, ...dimensionStyles.root }\n }\n : existingStyles;\n\n return React.cloneElement(child, {\n datavalue: props.datavalue || child?.props?.datavalue,\n value: this.value,\n isValid: this.state.isValid,\n maskchar: props.maskchar,\n displayformat: props.displayformat,\n autocomplete: props.autocomplete,\n invokeEvent: this.invokeEventCallback.bind(this),\n triggerValidation: this.validateFormField.bind(this),\n onFieldChange: this.onFieldChangeEvt.bind(this),\n formRef: props.formRef,\n isdefault: props.defaultvalue !== undefined ? true : false,\n ...(!isNil(props?.placeholder) ? { placeholder: props.placeholder } : {}),\n ...(hasDimensions ? { styles: mergedStyles } : {})\n });\n });\n\n const hasUserDefinedWidth = this.styles.root?.width !== undefined;\n const layoutStyle = this.form?.state?.fieldLayoutStyle;\n\n const flexStyle = hasUserDefinedWidth ? {} : {\n width: layoutStyle?.width || '100%',\n flexGrow: layoutStyle?.flexGrow ?? 0,\n flexShrink: layoutStyle?.flexShrink ?? 0,\n };\n\n return (\n <View\n style={[this.styles.root, flexStyle]}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {childrenWithProps}\n {this.state.isValid === false && <Text {...this.getTestPropsForLabel('error_msg')} style={this.styles.errorMsg}>{props.validationmessage}</Text>}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","isEqual","isNil","get","find","cloneDeep","forEach","keys","WmFormFieldProps","DEFAULT_CLASS","PERFORMANCE_LOGGER","WmFormFieldState","constructor","args","_defineProperty","WmFormField","props","form","formScope","componentDidMount","_this$form","_this$form2","_this$form3","formwidget","formKey","formWidgets","name","registerFormFields","formFields","onFieldChangeEvt","$new","$old","isDefault","notifyChanges","updateState","datavalue","invokeEventCallback","undefined","validateFormField","updateDataOutput","call","observeOn","fields","field","formfield","f","proxy","notifyForFields","push","validate","setTimeout","getPromiseList","validators","arr","fn","promise","Function","bind","Promise","setAsyncValidators","_asyncValidatorFn","all","then","err","validationMsg","hasOwnProperty","messageKeys","toString","setInvalidState","setValidators","_cloneValidators","_syncValidators","obj","index","key","defaultValidatorMessages","value","propsObj","updateFormWidgetDataset","res","displayField","dataset","data","datafield","displayfield","state","msg","isValid","validationmessage","onPropertyChange","debug","applyDefaultValue","setPrimaryKey","setReadOnlyState","updateMode","_this$formwidget","readonly","_this$formwidget2","_this$_syncValidators","_this$formwidget3","errorType","errormsg","errorMessage","renderWidget","_this$styles$root","_this$form4","_layoutStyle$flexGrow","_layoutStyle$flexShri","height","width","styles","root","hasDimensions","dimensionStyles","childrenWithProps","Children","map","renderFormFields","children","child","_child$props","_child$props2","existingStyles","mergedStyles","cloneElement","maskchar","displayformat","autocomplete","autocapitalize","uppercase","invokeEvent","triggerValidation","onFieldChange","formRef","isdefault","defaultvalue","placeholder","hasUserDefinedWidth","layoutStyle","fieldLayoutStyle","flexStyle","flexGrow","flexShrink","createElement","style","onLayout","event","handleLayout","_background","_extends","getTestPropsForLabel","errorMsg"],"sources":["form-field.component.tsx"],"sourcesContent":["import React from 'react';\nimport {DimensionValue, Text, View} from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { widgetsWithUndefinedValue } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport { isEqual, isNil, get, find, cloneDeep, forEach, keys } from 'lodash';\n\nimport WmFormFieldProps from './form-field.props';\nimport { DEFAULT_CLASS, WmFormFieldStyles } from './form-field.styles';\nimport {PERFORMANCE_LOGGER} from \"@wavemaker-ai/app-rn-runtime/core/logger\";\n\nexport class WmFormFieldState extends BaseComponentState<WmFormFieldProps> {\n isValid = true;\n}\n\nexport default class WmFormField extends BaseComponent<WmFormFieldProps, WmFormFieldState, WmFormFieldStyles> {\n public form: any;\n public formwidget: any;\n public _syncValidators: any;\n public defaultValidatorMessages: any = [];\n private notifyForFields: any = [];\n private _asyncValidatorFn: any;\n constructor(props: WmFormFieldProps) {\n super(props, DEFAULT_CLASS, new WmFormFieldProps(), new WmFormFieldState());\n if (!this.form) {\n this.form = props.formScope && props.formScope();\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.formwidget = (this.props.formKey && this.form?.formWidgets[this.props.formKey])\n || (this.props.name && this.form?.formWidgets[this.props.name]);\n this.form?.registerFormFields(this.form.formFields, this.form.formWidgets);\n }\n\n onFieldChangeEvt(name: string, $new: any, $old: any, isDefault: boolean) {\n this.notifyChanges();\n if (!isEqual($old, $new)) {\n this.updateState({ props: { datavalue: $new }} as WmFormFieldState, () => {\n !isDefault && this.invokeEventCallback('onChange', [undefined, this, $new, $old]);\n this.validateFormField();\n });\n if (this.form) {\n this.form.updateDataOutput.call(this.form, get(this.props, 'formKey', this.props.name), $new);\n }\n }\n }\n\n // Registers observer of validation fields\n observeOn(fields: any) {\n forEach(fields, (field) => {\n const formfield = find(this.form.formFields, (f) => f.proxy.name === field);\n if (formfield) {\n formfield.notifyForFields.push(this);\n }\n });\n }\n\n // Notifies changes to observing validation fields\n notifyChanges() {\n forEach(this.notifyForFields, (field) => {\n field.formwidget.validate(field.formwidget.datavalue);\n setTimeout(() => field.validateFormField());\n });\n }\n\n getPromiseList(validators: any) {\n const arr: any = [];\n forEach(validators, (fn) => {\n let promise = fn;\n if (fn instanceof Function && fn.bind) {\n promise = fn(this.formwidget.proxy, this.form);\n }\n if (promise instanceof Promise) {\n arr.push(promise);\n }\n });\n return arr;\n }\n\n // this method sets the asyncValidation on the form field. Assigns validationmessages from the returned response\n setAsyncValidators(validators: any) {\n this._asyncValidatorFn = () => {\n return Promise.all(this.getPromiseList(validators)).then(() => {\n return null;\n }, err => {\n let validationMsg: string;\n // if err obj has validationMessage key, then set validationMessage using this value\n // else return the value of the first key in the err object as validation message.\n if (err.hasOwnProperty('errorMessage')) {\n validationMsg = get(err, 'errorMessage');\n } else {\n const messageKeys = keys(err);\n validationMsg = (err[messageKeys[0]]).toString();\n }\n this.setInvalidState(validationMsg);\n return err;\n })\n };\n }\n\n // sets the default validation on the form field\n setValidators(validators: any) {\n let _cloneValidators = cloneDeep(validators);\n this._syncValidators = [];\n forEach(_cloneValidators, (obj, index) => {\n // custom validation is bound to function.\n if (obj && obj instanceof Function) {\n // passing formwidget and form as arguments to the obj (i.e. validator function)\n _cloneValidators[index] = obj.bind(undefined, this.formwidget.proxy, this.form);\n this._syncValidators.push(_cloneValidators[index]);\n } else {\n // checks for default validator like required, maxchars etc.\n const key = get(obj, 'type');\n this.defaultValidatorMessages[key] = get(obj, 'errorMessage');\n const value = get(obj, 'validator');\n let propsObj: any = {\n props: {}\n };\n propsObj.props[key] = value;\n key === 'required' && this.updateState(propsObj as WmFormFieldState);\n this.formwidget.updateState(propsObj as WmFormFieldState);\n }\n });\n }\n\n updateFormWidgetDataset(res: any, displayField: string) {\n this.formwidget.updateState({\n props: {\n dataset: res.data,\n datafield: 'All Fields',\n displayfield: this.formwidget.state.props.displayfield || displayField,\n }\n } as WmFormFieldState);\n }\n\n setInvalidState(msg: string) {\n this.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState)\n this.formwidget.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'datavalue':\n if (!isEqual($old, $new)) {\n PERFORMANCE_LOGGER.debug(`form field ${this.props.name} changed from ${$old} to ${$new}`);\n }\n break;\n case 'defaultvalue':\n if (!isEqual($old, $new)) {\n get(this, 'form') && this.form.applyDefaultValue(this);\n }\n break;\n case 'primary-key':\n if ($new) {\n this.form.setPrimaryKey(this.props.name);\n }\n break;\n }\n }\n\n setReadOnlyState(updateMode: any) {\n this.formwidget?.updateState({\n props: {\n readonly: !updateMode,\n }\n } as WmFormFieldState);\n }\n\n validateFormField() {\n if (this.formwidget?.state.isValid === false) {\n const errorType = this.formwidget?.state?.errorType;\n let validationMsg = get(this.defaultValidatorMessages, errorType);\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.updateState({ props: {\n validationmessage: validationMsg\n }} as WmFormFieldState);\n }\n this.updateState({ isValid: false} as WmFormFieldState);\n } else {\n this.updateState({ isValid: true } as WmFormFieldState);\n }\n\n this._syncValidators?.forEach((fn: any) => {\n const errormsg = fn();\n let validationMsg = errormsg?.errorMessage;\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.setInvalidState(validationMsg);\n }\n })\n\n this._asyncValidatorFn && this._asyncValidatorFn();\n\n }\n\n get value(){\n return this.state.props.datavalue;\n }\n\n renderWidget(props: WmFormFieldProps) {\n // Extract only height and width from computed styles to pass to children\n const { height, width } = this.styles.root || {};\n const hasDimensions = height !== undefined || width !== undefined;\n const dimensionStyles = hasDimensions\n ? {\n root: {\n ...(height !== undefined ? { height } : {}),\n ...(width !== undefined ? { width } : {})\n }\n }\n : undefined;\n\n var childrenWithProps = React.Children.map(props.renderFormFields(this.proxy).props.children, (child) => {\n // Merge dimension styles with any existing styles on the child\n const existingStyles = child?.props?.styles || {};\n const mergedStyles = dimensionStyles\n ? {\n ...existingStyles,\n root: { ...existingStyles.root, ...dimensionStyles.root }\n }\n : existingStyles;\n\n return React.cloneElement(child, {\n datavalue: props.datavalue || child?.props?.datavalue,\n value: this.value,\n isValid: this.state.isValid,\n maskchar: props.maskchar,\n displayformat: props.displayformat,\n autocomplete: props.autocomplete,\n autocapitalize: props.autocapitalize,\n uppercase: props.uppercase,\n invokeEvent: this.invokeEventCallback.bind(this),\n triggerValidation: this.validateFormField.bind(this),\n onFieldChange: this.onFieldChangeEvt.bind(this),\n formRef: props.formRef,\n isdefault: props.defaultvalue !== undefined ? true : false,\n ...(!isNil(props?.placeholder) ? { placeholder: props.placeholder } : {}),\n ...(hasDimensions ? { styles: mergedStyles } : {})\n });\n });\n\n const hasUserDefinedWidth = this.styles.root?.width !== undefined;\n const layoutStyle = this.form?.state?.fieldLayoutStyle;\n\n const flexStyle = hasUserDefinedWidth ? {} : {\n width: layoutStyle?.width || '100%',\n flexGrow: layoutStyle?.flexGrow ?? 0,\n flexShrink: layoutStyle?.flexShrink ?? 0,\n };\n\n return (\n <View\n style={[this.styles.root, flexStyle]}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n {childrenWithProps}\n {this.state.isValid === false && <Text {...this.getTestPropsForLabel('error_msg')} style={this.styles.errorMsg}>{props.validationmessage}</Text>}\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -30,6 +30,8 @@ export default class WmFormFieldProps extends BaseProps {
30
30
  _defineProperty(this, "maskchar", null);
31
31
  _defineProperty(this, "displayformat", null);
32
32
  _defineProperty(this, "autocomplete", "username");
33
+ _defineProperty(this, "autocapitalize", 'none');
34
+ _defineProperty(this, "uppercase", false);
33
35
  }
34
36
  }
35
37
  //# sourceMappingURL=form-field.props.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmFormFieldProps","constructor","args","_defineProperty"],"sources":["form-field.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker-ai/app-rn-runtime/core/base.component';\n\nexport default class WmFormFieldProps extends BaseProps {\n children: any;\n formRef: any;\n placeholder?: string;\n defaultvalue: any;\n generator: string = '';\n datavalue: any;\n onChange: any;\n renderFormFields: any;\n validationmessage: any;\n required: Boolean = false;\n primaryKey: Boolean = false;\n isRelated: any;\n widget: any;\n onFieldChange: any;\n formKey: string = '';\n dataset: any;\n displayfield: any;\n datafield: string = '';\n isDataSetBound: boolean = false;\n readonly: boolean = false;\n onValidate?: Function;\n formScope?: Function = () => {};\n maskchar: string = null as any;\n displayformat: string = null as any;\n autocomplete: string = \"username\";\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,kDAAkD;AAE5E,eAAe,MAAMC,gBAAgB,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,oBAKlC,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,mBAKF,KAAK;IAAAA,eAAA,qBACH,KAAK;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,kBAIT,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,oBAGA,EAAE;IAAAA,eAAA,yBACI,KAAK;IAAAA,eAAA,mBACX,KAAK;IAAAA,eAAA;IAAAA,eAAA,oBAEF,MAAM,CAAC,CAAC;IAAAA,eAAA,mBACZ,IAAI;IAAAA,eAAA,wBACC,IAAI;IAAAA,eAAA,uBACL,UAAU;EAAA;AACnC","ignoreList":[]}
1
+ {"version":3,"names":["BaseProps","WmFormFieldProps","constructor","args","_defineProperty"],"sources":["form-field.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker-ai/app-rn-runtime/core/base.component';\n\nexport default class WmFormFieldProps extends BaseProps {\n children: any;\n formRef: any;\n placeholder?: string;\n defaultvalue: any;\n generator: string = '';\n datavalue: any;\n onChange: any;\n renderFormFields: any;\n validationmessage: any;\n required: Boolean = false;\n primaryKey: Boolean = false;\n isRelated: any;\n widget: any;\n onFieldChange: any;\n formKey: string = '';\n dataset: any;\n displayfield: any;\n datafield: string = '';\n isDataSetBound: boolean = false;\n readonly: boolean = false;\n onValidate?: Function;\n formScope?: Function = () => {};\n maskchar: string = null as any;\n displayformat: string = null as any;\n autocomplete: string = \"username\";\n autocapitalize?: string = 'none';\n uppercase?: boolean = false;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,kDAAkD;AAE5E,eAAe,MAAMC,gBAAgB,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,oBAKlC,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,mBAKF,KAAK;IAAAA,eAAA,qBACH,KAAK;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,kBAIT,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,oBAGA,EAAE;IAAAA,eAAA,yBACI,KAAK;IAAAA,eAAA,mBACX,KAAK;IAAAA,eAAA;IAAAA,eAAA,oBAEF,MAAM,CAAC,CAAC;IAAAA,eAAA,mBACZ,IAAI;IAAAA,eAAA,wBACC,IAAI;IAAAA,eAAA,uBACL,UAAU;IAAAA,eAAA,yBACP,MAAM;IAAAA,eAAA,oBACV,KAAK;EAAA;AAC7B","ignoreList":[]}
@@ -310,7 +310,10 @@ export default class WmForm extends BaseComponent {
310
310
  });
311
311
  break;
312
312
  case 'metadata':
313
- this.generateFormFields();
313
+ // wait until addPageScript is called
314
+ setTimeout(() => {
315
+ this.generateFormFields();
316
+ }, 0);
314
317
  break;
315
318
  }
316
319
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","BaseComponent","BaseComponentState","isDefined","debounce","find","forEach","isNil","get","set","cloneDeep","isEmpty","WmLabel","WmIcon","WmMessage","ToastConsumer","_viewPort","EVENTS","viewportEvents","getNumberOfColumnsFromResponsiveConfig","WmFormProps","DEFAULT_CLASS","isDataSetWidget","DEFAULT_FIELD_LAYOUT","width","flexGrow","flexShrink","WmFormState","constructor","args","_defineProperty","WmForm","props","handleSubmit","componentDidMount","getParentFormRef","parentForm","viewportUnsubscribe","subscribe","SIZE_CHANGE","updateFieldLayout","componentWillUnmount","itemsperrow","state","cols","basePercent","Math","floor","widthPercent","fieldLayoutStyle","currentStyle","setState","pformName","current","parent","parentFormRef","setReadonlyFields","_this$formFields","formFields","field","setReadOnlyState","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","isDefault","Array","isArray","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","layoutposition","onPropertyChange","$new","$old","_this$formFields2","setPrimaryKey","fieldName","primaryKey","indexOf","push","validateFieldsOnSubmit","val","onValidate","required","generator","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","onLayout","handleLayout","_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, DimensionValue } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { isDefined, widgetsWithUndefinedValue } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport { debounce, find, forEach, isNil, get, set, cloneDeep, isEmpty } from 'lodash';\n\nimport WmLabel from '@wavemaker-ai/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component';\nimport WmFormField, { WmFormFieldState } from '@wavemaker-ai/app-rn-runtime/components/data/form/form-field/form-field.component';\nimport WmMessage from '@wavemaker-ai/app-rn-runtime/components/basic/message/message.component';\nimport { ToastConsumer, ToastService } from '@wavemaker-ai/app-rn-runtime/core/toast.service';\nimport _viewPort, { EVENTS as viewportEvents } from '@wavemaker-ai/app-rn-runtime/core/viewport';\nimport { getNumberOfColumnsFromResponsiveConfig } from '@wavemaker-ai/app-rn-runtime/core/responsive.utils';\n\nimport WmFormProps from './form.props';\nimport { DEFAULT_CLASS, WmFormStyles } from './form.styles';\nimport { isDataSetWidget } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport WmFormAction, {\n WmFormActionState\n} from '@wavemaker-ai/app-rn-runtime/components/data/form/form-action/form-action.component';\n\nexport interface FormFieldLayoutStyle {\n width: DimensionValue;\n flexGrow: number;\n flexShrink: number;\n}\n\nconst DEFAULT_FIELD_LAYOUT: FormFieldLayoutStyle = {\n width: '100%',\n flexGrow: 0,\n flexShrink: 0,\n};\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 fieldLayoutStyle: FormFieldLayoutStyle = DEFAULT_FIELD_LAYOUT;\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 private viewportUnsubscribe: (() => void) | null = null;\n\n componentDidMount() {\n super.componentDidMount();\n this.getParentFormRef(this.props.parentForm);\n this.viewportUnsubscribe = _viewPort.subscribe(viewportEvents.SIZE_CHANGE, () => {\n this.updateFieldLayout();\n });\n this.updateFieldLayout();\n }\n\n componentWillUnmount() {\n super.componentWillUnmount && super.componentWillUnmount();\n if (this.viewportUnsubscribe) {\n this.viewportUnsubscribe();\n }\n }\n\n private updateFieldLayout() {\n const itemsperrow = this.state.props.itemsperrow;\n const cols = getNumberOfColumnsFromResponsiveConfig(itemsperrow);\n const basePercent = cols > 0 ? Math.floor(100 / cols) : 100;\n const widthPercent = cols > 1 ? basePercent - 2 : basePercent;\n\n const fieldLayoutStyle: FormFieldLayoutStyle = {\n width: `${widthPercent}%` as DimensionValue,\n flexGrow: cols > 1 ? 1 : 0,\n flexShrink: 0,\n };\n\n const currentStyle = this.state.fieldLayoutStyle;\n if (currentStyle.width !== fieldLayoutStyle.width ||\n currentStyle.flexGrow !== fieldLayoutStyle.flexGrow) {\n this.setState({ fieldLayoutStyle } as WmFormState);\n }\n }\n\n getParentFormRef(pformName: string) {\n let current = this.parent;\n while (current) {\n if (pformName && (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 if(Array.isArray(formData)){\n formData = formData[0];\n }\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, this.proxy, this.state.props.layoutposition === 'horizontal')\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 && ((field?.props.primaryKey && field?.props.generator === 'assigned') || !field?.props.primaryKey)) {\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 && 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} onLayout={(event) => this.handleLayout(event)}>\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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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","BaseComponent","BaseComponentState","isDefined","debounce","find","forEach","isNil","get","set","cloneDeep","isEmpty","WmLabel","WmIcon","WmMessage","ToastConsumer","_viewPort","EVENTS","viewportEvents","getNumberOfColumnsFromResponsiveConfig","WmFormProps","DEFAULT_CLASS","isDataSetWidget","DEFAULT_FIELD_LAYOUT","width","flexGrow","flexShrink","WmFormState","constructor","args","_defineProperty","WmForm","props","handleSubmit","componentDidMount","getParentFormRef","parentForm","viewportUnsubscribe","subscribe","SIZE_CHANGE","updateFieldLayout","componentWillUnmount","itemsperrow","state","cols","basePercent","Math","floor","widthPercent","fieldLayoutStyle","currentStyle","setState","pformName","current","parent","parentFormRef","setReadonlyFields","_this$formFields","formFields","field","setReadOnlyState","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","isDefault","Array","isArray","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","layoutposition","onPropertyChange","$new","$old","_this$formFields2","setPrimaryKey","fieldName","primaryKey","indexOf","push","validateFieldsOnSubmit","val","onValidate","required","generator","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","onLayout","handleLayout","_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, DimensionValue } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { isDefined, widgetsWithUndefinedValue } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport { debounce, find, forEach, isNil, get, set, cloneDeep, isEmpty } from 'lodash';\n\nimport WmLabel from '@wavemaker-ai/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component';\nimport WmFormField, { WmFormFieldState } from '@wavemaker-ai/app-rn-runtime/components/data/form/form-field/form-field.component';\nimport WmMessage from '@wavemaker-ai/app-rn-runtime/components/basic/message/message.component';\nimport { ToastConsumer, ToastService } from '@wavemaker-ai/app-rn-runtime/core/toast.service';\nimport _viewPort, { EVENTS as viewportEvents } from '@wavemaker-ai/app-rn-runtime/core/viewport';\nimport { getNumberOfColumnsFromResponsiveConfig } from '@wavemaker-ai/app-rn-runtime/core/responsive.utils';\n\nimport WmFormProps from './form.props';\nimport { DEFAULT_CLASS, WmFormStyles } from './form.styles';\nimport { isDataSetWidget } from '@wavemaker-ai/app-rn-runtime/core/utils';\nimport WmFormAction, {\n WmFormActionState\n} from '@wavemaker-ai/app-rn-runtime/components/data/form/form-action/form-action.component';\n\nexport interface FormFieldLayoutStyle {\n width: DimensionValue;\n flexGrow: number;\n flexShrink: number;\n}\n\nconst DEFAULT_FIELD_LAYOUT: FormFieldLayoutStyle = {\n width: '100%',\n flexGrow: 0,\n flexShrink: 0,\n};\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 fieldLayoutStyle: FormFieldLayoutStyle = DEFAULT_FIELD_LAYOUT;\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 private viewportUnsubscribe: (() => void) | null = null;\n\n componentDidMount() {\n super.componentDidMount();\n this.getParentFormRef(this.props.parentForm);\n this.viewportUnsubscribe = _viewPort.subscribe(viewportEvents.SIZE_CHANGE, () => {\n this.updateFieldLayout();\n });\n this.updateFieldLayout();\n }\n\n componentWillUnmount() {\n super.componentWillUnmount && super.componentWillUnmount();\n if (this.viewportUnsubscribe) {\n this.viewportUnsubscribe();\n }\n }\n\n private updateFieldLayout() {\n const itemsperrow = this.state.props.itemsperrow;\n const cols = getNumberOfColumnsFromResponsiveConfig(itemsperrow);\n const basePercent = cols > 0 ? Math.floor(100 / cols) : 100;\n const widthPercent = cols > 1 ? basePercent - 2 : basePercent;\n\n const fieldLayoutStyle: FormFieldLayoutStyle = {\n width: `${widthPercent}%` as DimensionValue,\n flexGrow: cols > 1 ? 1 : 0,\n flexShrink: 0,\n };\n\n const currentStyle = this.state.fieldLayoutStyle;\n if (currentStyle.width !== fieldLayoutStyle.width ||\n currentStyle.flexGrow !== fieldLayoutStyle.flexGrow) {\n this.setState({ fieldLayoutStyle } as WmFormState);\n }\n }\n\n getParentFormRef(pformName: string) {\n let current = this.parent;\n while (current) {\n if (pformName && (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 if(Array.isArray(formData)){\n formData = formData[0];\n }\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, this.proxy, this.state.props.layoutposition === 'horizontal')\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 // wait until addPageScript is called\n setTimeout(() => {\n this.generateFormFields();\n }, 0);\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 && ((field?.props.primaryKey && field?.props.generator === 'assigned') || !field?.props.primaryKey)) {\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 && 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} onLayout={(event) => this.handleLayout(event)}>\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":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAwB,cAAc;AACnD,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,kDAAkD;AACpG,SAASC,SAAS,QAAmC,yCAAyC;AAC9F,SAASC,QAAQ,EAAEC,IAAI,EAAEC,OAAO,EAAEC,KAAK,EAAEC,GAAG,EAAEC,GAAG,EAAEC,SAAS,EAAEC,OAAO,QAAQ,QAAQ;AAErF,OAAOC,OAAO,MAAM,qEAAqE;AACzF,OAAOC,MAAM,MAAM,mEAAmE;AAEtF,OAAOC,SAAS,MAAM,yEAAyE;AAC/F,SAASC,aAAa,QAAsB,iDAAiD;AAC7F,OAAOC,SAAS,IAAIC,MAAM,IAAIC,cAAc,QAAQ,4CAA4C;AAChG,SAASC,sCAAsC,QAAQ,oDAAoD;AAE3G,OAAOC,WAAW,MAAM,cAAc;AACtC,SAASC,aAAa,QAAsB,eAAe;AAC3D,SAASC,eAAe,QAAQ,yCAAyC;AAWzE,MAAMC,oBAA0C,GAAG;EACjDC,KAAK,EAAE,MAAM;EACbC,QAAQ,EAAE,CAAC;EACXC,UAAU,EAAE;AACd,CAAC;AAED,OAAO,MAAMC,WAAW,SAASzB,kBAAkB,CAAc;EAAA0B,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,kBACrD,KAAK;IAAAA,eAAA,eAC0D,SAAS;IAAAA,eAAA,kBAChE,EAAE;IAAAA,eAAA,wBACK,KAAK;IAAAA,eAAA,uBACN,IAAI;IAAAA,eAAA;IAAAA,eAAA,2BAEaP,oBAAoB;EAAA;AAC/D;AACA,eAAe,MAAMQ,MAAM,SAAS9B,aAAa,CAAyC;EASrB;EACnE2B,WAAWA,CAACI,KAAkB,EAAE;IAC9B,KAAK,CAACA,KAAK,EAAEX,aAAa,EAAE,IAAID,WAAW,CAAC,CAAC,EAAE,IAAIO,WAAW,CAAC,CAAC,CAAC;IAACG,eAAA,qBAV5B,EAAE;IAAE;IAAAA,eAAA;IAAAA,eAAA,qBAEM,CAAC,CAAC;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,sBAGV,EAAE;IAAAA,eAAA,qBAC/B,EAAE;IAAAA,eAAA,sBACoB,EAAE;IAAAA,eAAA,sBAC0B,CAAC,CAAC;IAAAA,eAAA,+BAKlC1B,QAAQ,CAAC,IAAI,CAAC6B,YAAY,EAAE,GAAG,CAAC;IAAAH,eAAA,8BACZ,IAAI;EAHvD;EAKAI,iBAAiBA,CAAA,EAAG;IAClB,KAAK,CAACA,iBAAiB,CAAC,CAAC;IACzB,IAAI,CAACC,gBAAgB,CAAC,IAAI,CAACH,KAAK,CAACI,UAAU,CAAC;IAC5C,IAAI,CAACC,mBAAmB,GAAGrB,SAAS,CAACsB,SAAS,CAACpB,cAAc,CAACqB,WAAW,EAAE,MAAM;MAC/E,IAAI,CAACC,iBAAiB,CAAC,CAAC;IAC1B,CAAC,CAAC;IACF,IAAI,CAACA,iBAAiB,CAAC,CAAC;EAC1B;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,KAAK,CAACA,oBAAoB,IAAI,KAAK,CAACA,oBAAoB,CAAC,CAAC;IAC1D,IAAI,IAAI,CAACJ,mBAAmB,EAAE;MAC5B,IAAI,CAACA,mBAAmB,CAAC,CAAC;IAC5B;EACF;EAEQG,iBAAiBA,CAAA,EAAG;IAC1B,MAAME,WAAW,GAAG,IAAI,CAACC,KAAK,CAACX,KAAK,CAACU,WAAW;IAChD,MAAME,IAAI,GAAGzB,sCAAsC,CAACuB,WAAW,CAAC;IAChE,MAAMG,WAAW,GAAGD,IAAI,GAAG,CAAC,GAAGE,IAAI,CAACC,KAAK,CAAC,GAAG,GAAGH,IAAI,CAAC,GAAG,GAAG;IAC3D,MAAMI,YAAY,GAAGJ,IAAI,GAAG,CAAC,GAAGC,WAAW,GAAG,CAAC,GAAGA,WAAW;IAE7D,MAAMI,gBAAsC,GAAG;MAC7CzB,KAAK,EAAE,GAAGwB,YAAY,GAAqB;MAC3CvB,QAAQ,EAAEmB,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;MAC1BlB,UAAU,EAAE;IACd,CAAC;IAED,MAAMwB,YAAY,GAAG,IAAI,CAACP,KAAK,CAACM,gBAAgB;IAChD,IAAIC,YAAY,CAAC1B,KAAK,KAAKyB,gBAAgB,CAACzB,KAAK,IAC7C0B,YAAY,CAACzB,QAAQ,KAAKwB,gBAAgB,CAACxB,QAAQ,EAAE;MACvD,IAAI,CAAC0B,QAAQ,CAAC;QAAEF;MAAiB,CAAgB,CAAC;IACpD;EACF;EAEAd,gBAAgBA,CAACiB,SAAiB,EAAE;IAClC,IAAIC,OAAO,GAAG,IAAI,CAACC,MAAM;IACzB,OAAOD,OAAO,EAAE;MACd,IAAID,SAAS,IAAK5C,GAAG,CAAC6C,OAAO,EAAE,YAAY,CAAC,KAAKD,SAAU,EAAE;QAC3D,IAAI,CAACG,aAAa,GAAGF,OAAO;QAC5B;MACF;MACAA,OAAO,GAAGA,OAAO,CAACC,MAAM;IAC1B;EACF;EAEAE,iBAAiBA,CAAA,EAAG;IAAA,IAAAC,gBAAA;IAClB,CAAAA,gBAAA,OAAI,CAACC,UAAU,cAAAD,gBAAA,eAAfA,gBAAA,CAAiBnD,OAAO,CAAEqD,KAAU,IAAK;MACvCA,KAAK,CAACC,gBAAgB,CAAC,IAAI,CAACjB,KAAK,CAACkB,YAAY,CAAC;IACjD,CAAC,CAAC;EACJ;EAEAC,gBAAgBA,CAACC,UAAe,EAAE;IAChC,IAAI,CAACC,WAAW,CAAC;MACfH,YAAY,EAAEE;IAChB,CAAgB,CAAC;IACjBE,UAAU,CAAC,MAAM;MACf,IAAI,CAACC,WAAW,CAAC,CAAC;MAClB,IAAI,CAACV,iBAAiB,CAAC,CAAC;IAC1B,CAAC,EAAE,GAAG,CAAC;EACT;EAEAW,IAAIA,CAAA,EAAG;IACL,IAAI,CAACL,gBAAgB,CAAC,IAAI,CAAC;EAC7B;EAEAM,GAAGA,CAAA,EAAG;IACJ,IAAI,CAACN,gBAAgB,CAAC,IAAI,CAAC;EAC7B;EAEAO,MAAMA,CAAA,EAAG;IACP,IAAI,CAACP,gBAAgB,CAAC,KAAK,CAAC;EAC9B;EAEAQ,MAAMA,CAAA,EAAG,CAAE;EAEXC,kBAAkBA,CAChBb,UAA8B,EAC9Bc,WAA4D,EAC5D;IACAlE,OAAO,CAACoD,UAAU,EAAGe,CAAc,IAAK;MACtC,IAAI,CAACA,CAAC,CAACC,IAAI,EAAE;QACXD,CAAC,CAACC,IAAI,GAAG,IAAI;QACbD,CAAC,CAACE,UAAU,GAAIF,CAAC,CAACzC,KAAK,CAAC4C,OAAO,IAAIJ,WAAW,CAACC,CAAC,CAACzC,KAAK,CAAC4C,OAAO,CAAC,IACzDH,CAAC,CAACzC,KAAK,CAAC6C,IAAI,IAAIL,WAAW,CAACC,CAAC,CAACzC,KAAK,CAAC6C,IAAI,CAAE;MAClD;IACF,CAAC,CAAC;IAEF,IAAI,CAACnB,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACc,WAAW,GAAGA,WAAW;IAE9Bd,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEpD,OAAO,CAAEwE,CAAc,IAAK;MACtC,IAAIA,CAAC,CAAC9C,KAAK,CAAC6C,IAAI,EAAE;QAChBpE,GAAG,CAAC,IAAI,CAACsE,UAAU,EAAED,CAAC,CAAC9C,KAAK,CAAC6C,IAAI,EAAEC,CAAC,CAAC;MACvC;IACF,CAAC,CAAC;IAEF,IAAI,CAACtB,iBAAiB,CAAC,CAAC;IAExB,IAAI,CAACwB,aAAa,CAAC,CAAC;IACpB,IAAI,CAACC,iBAAiB,CAAC,CAAC;;IAExB;IACA,IAAI,CAAC,IAAI,CAACC,cAAc,EAAE;MACxB,IAAI,CAACA,cAAc,GAAG,CAAC,CAAC;MACxBxB,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEpD,OAAO,CAAEmE,CAAc,IAAK;QACtC,MAAMI,IAAI,GAAGrE,GAAG,CAACiE,CAAC,CAACzC,KAAK,EAAE,SAAS,CAAC,IAAIyC,CAAC,CAACzC,KAAK,CAAC6C,IAAI;QACpD,IAAIA,IAAI,EAAE;UACRpE,GAAG,CAAC,IAAI,CAACyE,cAAc,EAAEL,IAAI,EAAEJ,CAAC,CAACzC,KAAK,CAACmD,SAAS,CAAC;QACnD;MACF,CAAC,CAAC;MACF,IAAI,CAACnB,WAAW,CAAC;QACfhC,KAAK,EAAE;UACLoD,UAAU,EAAE,IAAI,CAACF;QACnB;MACF,CAAgB,CAAC;IACnB;EACF;EAEAhB,WAAWA,CAAA,EAAI;IAAA,IAAAmB,iBAAA;IACb,CAAAA,iBAAA,OAAI,CAACC,WAAW,cAAAD,iBAAA,eAAhBA,iBAAA,CAAkB/E,OAAO,CAAEiF,MAAW,IAAK;MACzCA,MAAM,CAACvB,WAAW,CAAC;QACjBhC,KAAK,EAAE;UACLwD,IAAI,EAAED,MAAM,CAACxB,UAAU,KAAK,IAAI,CAACpB,KAAK,CAACkB;QACzC;MAAC,CAAsB,CAAC;IAC5B,CAAC,CAAC;EACJ;EAEA4B,mBAAmBA,CAACC,WAAgC,EAAE;IACpD,IAAI,CAACJ,WAAW,GAAGI,WAAW;IAC9B,IAAI,CAACxB,WAAW,CAAC,CAAC;EACpB;EAEQyB,8BAA8BA,CAAChC,KAAkB,EAAED,UAA8B,EAAE;IACzF,IAAI,CAACC,KAAK,CAAChB,KAAK,CAACX,KAAK,CAAC4D,cAAc,IAAItE,eAAe,CAACqC,KAAK,CAAC3B,KAAK,CAAC6D,MAAM,CAAC,EAAE;MAC5E,IAAIlC,KAAK,CAAChB,KAAK,CAACX,KAAK,CAAC8D,SAAS,EAAE;QAC/BnC,KAAK,CAACK,WAAW,CAAC;UAChBhC,KAAK,EAAE;YACL4D,cAAc,EAAE;UAClB;QAAC,CAAqB,CAAC;QACzB,IAAI,CAAC5D,KAAK,CAAC+D,WAAW,IAAI,IAAI,CAAC/D,KAAK,CAAC+D,WAAW,CAACpC,KAAK,CAAC;MACzD;IACF;EACF;EAEAqB,aAAaA,CAAA,EAAG;IAAA,IAAAgB,mBAAA;IACd,IAAIC,QAAQ,GAAG,IAAI,CAACtD,KAAK,CAACX,KAAK,CAACkE,QAAQ,MAAAF,mBAAA,GAAI,IAAI,CAACzC,aAAa,cAAAyC,mBAAA,uBAAlBA,mBAAA,CAAoBrD,KAAK,CAACX,KAAK,CAACkE,QAAQ;IACpF,IAAI,CAACD,QAAQ,IAAK,IAAI,CAAC1C,aAAa,IAAI,IAAI,CAACZ,KAAK,CAACX,KAAK,CAACkE,QAAS,EAAE;MAClE;IACF;IACA5F,OAAO,CAAC,IAAI,CAACoD,UAAU,EAAGyC,SAAsB,IAAK;MAAA,IAAAC,gBAAA;MACnD,IAAIC,EAAE,GAAG,EAAAD,gBAAA,GAAAD,SAAS,CAACnE,KAAK,cAAAoE,gBAAA,uBAAfA,gBAAA,CAAiBvB,IAAI,KAAI,IAAI,CAACL,WAAW,CAAC2B,SAAS,CAACnE,KAAK,CAAC6C,IAAI,CAAC;MACxE,IAAI,CAACwB,EAAE,EAAE;QACPA,EAAE,GAAGhG,IAAI,CAAC,IAAI,CAACmE,WAAW,EAAG6B,EAAgC,IAAK;UAChE,OAAO7F,GAAG,CAAC6F,EAAE,EAAE,eAAe,CAAC,KAAKF,SAAS,CAACnE,KAAK,CAAC6C,IAAI;QAC1D,CAAC,CAAC;MACJ;MACA,IAAIyB,GAAG,GAAG9F,GAAG,CAAC2F,SAAS,EAAE,SAAS,CAAC,IAAI3F,GAAG,CAAC6F,EAAE,EAAE,YAAY,CAAC;MAC5DA,EAAE,IAAIA,EAAE,CAAClD,QAAQ,CAAC;QAAEoD,SAAS,EAAE;MAAK,CAAC,CAAC;MACtC,IAAGC,KAAK,CAACC,OAAO,CAACR,QAAQ,CAAC,EAAC;QACzBA,QAAQ,GAAGA,QAAQ,CAAC,CAAC,CAAC;MACxB;MACAE,SAAS,CAACnC,WAAW,CAAC;QACpBhC,KAAK,EAAE;UACLmD,SAAS,EAAE3E,GAAG,CAACyF,QAAQ,EAAEK,GAAG;QAC9B;MACF,CAAqB,CAAC;IACxB,CAAC,CAAC;EACJ;EAEAI,2BAA2BA,CAACP,SAAsB,EAAE;IAClD,IAAIA,SAAS,EAAE;MACb,MAAMQ,EAAE,GAAGR,SAAS,CAACxD,KAAK,CAACX,KAAK,CAAC4E,YAAY;MAC7C,IAAIzG,SAAS,CAACwG,EAAE,CAAC,IAAIA,EAAE,KAAK,IAAI,IAAI,IAAI,CAACjD,UAAU,EAAE;QAAA,IAAAmD,iBAAA;QACnD,IAAIlD,KAAK,GAAG,EAAAkD,iBAAA,GAAAV,SAAS,CAACnE,KAAK,cAAA6E,iBAAA,uBAAfA,iBAAA,CAAiBhC,IAAI,KAAI,IAAI,CAACL,WAAW,CAAC2B,SAAS,CAACnE,KAAK,CAAC6C,IAAI,CAAC;QAC3E,IAAI,CAAClB,KAAK,EAAE;UACVA,KAAK,GAAGtD,IAAI,CAAC,IAAI,CAACmE,WAAW,EAAG6B,EAAgC,IAAK;YACnE,OAAO7F,GAAG,CAAC6F,EAAE,EAAE,eAAe,CAAC,KAAKF,SAAS,CAACnE,KAAK,CAAC6C,IAAI;UAC1D,CAAC,CAAC;QACJ;QACA,IAAIlB,KAAK,EAAE;UACTA,KAAK,CAACR,QAAQ,CAAC;YAAEoD,SAAS,EAAE;UAAK,CAAC,CAAC;UACnC5C,KAAK,CAACK,WAAW,CAAC;YAChBhC,KAAK,EAAE;cACLmD,SAAS,EAAEwB;YACb;UACF,CAAC,EAAE,IAAI,CAACG,mBAAmB,CAACC,IAAI,CAACZ,SAAS,EAAE,eAAe,EAAE,CAACa,SAAS,EAAEb,SAAS,EAAEQ,EAAE,CAAC,CAAC,CAAC;QAC3F;MACF;IACF;EACF;EAEA,IAAIvB,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACF,cAAc;EAC5B;EAEAD,iBAAiBA,CAACkB,SAAuB,EAAE;IACzC,IAAIA,SAAS,EAAE;MACb,IAAI,CAACO,2BAA2B,CAACP,SAAS,CAAC;MAC3C;IACF;IACA7F,OAAO,CAAC,IAAI,CAACoD,UAAU,EAAGe,CAAc,IAAK;MAC3C,IAAI,CAACiC,2BAA2B,CAACjC,CAAC,CAAC;IACrC,CAAC,CAAC;EACJ;EAEAwC,SAASA,CAAA,EAAG;IACV,IAAI,CAAC/B,cAAc,GAAG,CAAC,CAAC;IACxB5E,OAAO,CAAC,IAAI,CAACoD,UAAU,EAAGwD,EAAe,IAAK;MAC5C,MAAMC,YAAY,GAAG5G,KAAK,CAAC2G,EAAE,CAACvE,KAAK,CAACX,KAAK,CAAC4E,YAAY,CAAC,GAAI,EAAE,GAAGM,EAAE,CAACvE,KAAK,CAACX,KAAK,CAAC4E,YAAY;MAC3FM,EAAE,CAAClD,WAAW,CAAC;QACbhC,KAAK,EAAG;UACNmD,SAAS,EAAEgC;QACb;MACF,CAAC,EAAsB,MAAM;QACzB,MAAMC,EAAE,GAAGF,EAAE,CAAClF,KAAK,CAAC4C,OAAO,IAAIsC,EAAE,CAAClF,KAAK,CAAC6C,IAAI;QAC5C,IAAIuC,EAAE,EAAE;UAAA,IAAAC,OAAA;UACN,IAAIxB,MAAsD,GAAG,IAAI,CAACrB,WAAW,CAAC4C,EAAE,CAAC;UACjF,IAAI,CAACvB,MAAM,EAAE;YACXA,MAAM,GAAGxF,IAAI,CAAC,IAAI,CAACmE,WAAW,EAAG6B,EAAgC,IAAK;cACpE,OAAO7F,GAAG,CAAC6F,EAAE,EAAE,eAAe,CAAC,KAAKa,EAAE,CAAClF,KAAK,CAAC6C,IAAI;YACnD,CAAC,CAAC;UACJ;UACAgB,MAAM,CAAC7B,WAAW,CAAC;YACjBsD,OAAO,EAAE,IAAI;YACbtF,KAAK,EAAG;cACNmD,SAAS,EAAEgC;YACb;UACF,CAAC,EAAE,MAAMD,EAAE,CAAClD,WAAW,CAAC;YACtBsD,OAAO,EAAE;UACX,CAAqB,CAAC,CAAC;UACvB,CAAAD,OAAA,GAAAxB,MAAM,cAAAwB,OAAA,eAANA,OAAA,CAAQE,KAAK,CAAC,CAAC;QACjB;MACF,CACF,CAAC;IACH,CAAC,CAAC;EACJ;EAEAC,MAAMA,CAAA,EAAG;IACP,IAAI,CAACC,oBAAoB,CAAC,CAAC;EAC7B;;EAEA;EACAC,kBAAkBA,CAAA,EAAG;IACnB,IAAIC,UAAU;IACd,IAAIC,MAAM,GAAG,IAAI,CAACjF,KAAK,CAACX,KAAK,CAAC6F,QAAQ,GAAG,IAAI,CAAClF,KAAK,CAACX,KAAK,CAAC6F,QAAQ,CAACC,IAAI,IAAI,IAAI,CAACnF,KAAK,CAACX,KAAK,CAAC6F,QAAQ,GAAG,EAAE;IAEzG,IAAIlH,OAAO,CAACiH,MAAM,CAAC,EAAE;MACnB;IACF;IAEA,IAAI,IAAI,CAAC5F,KAAK,CAAC+F,cAAc,EAAE;MAC7BJ,UAAU,GAAG,IAAI,CAACb,mBAAmB,CAAC,gBAAgB,EAAE,CAACc,MAAM,EAAG,IAAI,CAACI,KAAK,CAAC,CAAC;MAC9E,IAAIL,UAAU,EAAE;QACdC,MAAM,GAAGD,UAAU;MACrB;IACF;IAEA,IAAI,CAAC3D,WAAW,CAAC;MACfiE,WAAW,EAAG,IAAI,CAACjG,KAAK,CAACkG,iBAAiB,CAACN,MAAM,EAAE,IAAI,CAAC5F,KAAK,CAAC6C,IAAI,EAAE,IAAI,CAACmD,KAAK,EAAE,IAAI,CAACrF,KAAK,CAACX,KAAK,CAACmG,cAAc,KAAK,YAAY;IAClI,CAAgB,CAAC;EAEnB;EAEAC,gBAAgBA,CAACvD,IAAY,EAAEwD,IAAS,EAAEC,IAAS,EAAE;IAAA,IAAAC,iBAAA;IACnD,QAAQ1D,IAAI;MACV,KAAK,UAAU;QACb,IAAIwD,IAAI,EAAE;UACR,IAAI,CAACrD,aAAa,CAAC,CAAC;QACtB;QACA;MACF,KAAK,aAAa;QAChB,IAAI,CAAChB,WAAW,CAAC;UACfH,YAAY,EAAEwE,IAAI,IAAIA,IAAI,KAAK,MAAM,GAAG,IAAI,GAAG;QACjD,CAAgB,CAAC;QACjB;MACF,KAAK,SAAS;QACZ,CAAAE,iBAAA,OAAI,CAAC7E,UAAU,cAAA6E,iBAAA,eAAfA,iBAAA,CAAiBjI,OAAO,CAAEmE,CAAc,IAAK;UAC3C,IAAI,CAACkB,8BAA8B,CAAClB,CAAC,EAAE,IAAI,CAACf,UAAU,CAAC;QACzD,CAAC,CAAC;QACF;MACF,KAAK,UAAU;QACb;QACAO,UAAU,CAAC,MAAM;UACf,IAAI,CAACyD,kBAAkB,CAAC,CAAC;QAC3B,CAAC,EAAE,CAAC,CAAC;QACL;IACJ;EACF;EACAc,aAAaA,CAACC,SAAiB,EAAE;IAC/B;IACA,IAAI,CAACC,UAAU,GAAG,IAAI,CAACA,UAAU,IAAI,EAAE;IACvC;IACA,IAAI,IAAI,CAACA,UAAU,CAACC,OAAO,CAACF,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;MAC7C;MACA,IAAI,CAACC,UAAU,CAACE,IAAI,CAACH,SAAS,CAAC;IACjC;EACF;EACA;EACAI,sBAAsBA,CAAA,EAAG;IACvB,IAAIvB,OAAO,GAAG,IAAI;IAClBhH,OAAO,CAAC,IAAI,CAACoD,UAAU,EAAGC,KAAK,IAAK;MAClC,MAAMmF,GAAG,GAAGnF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEhB,KAAK,CAACX,KAAK,CAACmD,SAAS;MAExC,MAAM4D,UAAU,GAAGvI,GAAG,CAACmD,KAAK,EAAE,kBAAkB,CAAC;MACjDoF,UAAU,IAAIA,UAAU,CAACpF,KAAK,CAAC;MAC/B,IAAI,CAACmF,GAAG,IAAInF,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEhB,KAAK,CAACX,KAAK,CAACgH,QAAQ,KAAMrF,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE3B,KAAK,CAAC0G,UAAU,IAAI,CAAA/E,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE3B,KAAK,CAACiH,SAAS,MAAK,UAAU,IAAK,EAACtF,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE3B,KAAK,CAAC0G,UAAU,EAAC,EAAE;QAC3IpB,OAAO,GAAG,KAAK;QACf,MAAM4B,GAAG,GAAG1I,GAAG,CAACmD,KAAK,CAACwF,wBAAwB,EAAE,UAAU,CAAC,IAAIxF,KAAK,CAAChB,KAAK,CAACX,KAAK,CAACoH,iBAAiB;QAClGzF,KAAK,CAACK,WAAW,CAAC;UAAEsD,OAAO,EAAEA,OAAO;UAAEtF,KAAK,EAAE;YACzCoH,iBAAiB,EAAEF;UACrB;QAAC,CAAqB,CAAC;QACzBvF,KAAK,CAACgB,UAAU,CAAC0E,QAAQ,IAAI1F,KAAK,CAACgB,UAAU,CAAC0E,QAAQ,CAACP,GAAG,CAAC;MAC7D;MACA;MACA,IAAInF,KAAK,CAACgB,UAAU,CAAChC,KAAK,CAAC2E,OAAO,KAAK,KAAK,EAAE;QAC5CA,OAAO,GAAG,KAAK;MACjB;IACF,CAAC,CAAC;IACF,OAAOA,OAAO;EAChB;;EAEA;EACArF,YAAYA,CAACqH,KAAW,EAAE;IACxBA,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEC,cAAc,CAAC,CAAC;IACvB,MAAMtD,QAAQ,GAAGvF,SAAS,CAAC,IAAI,CAACiC,KAAK,CAACX,KAAK,CAACoD,UAAU,IAAI,IAAI,CAACF,cAAc,CAAC;IAE9E,IAAI,CAAC,IAAI,CAAC2D,sBAAsB,CAAC,CAAC,EAAE;MAClC,OAAO,KAAK;IACd;IACA,IAAI,IAAI,CAAC7G,KAAK,CAACwH,cAAc,EAAE;MAC7B,IAAI,CAAC1C,mBAAmB,CAAC,gBAAgB,EAAE,CAAE,IAAI,EAAE,IAAI,CAACkB,KAAK,EAAE/B,QAAQ,CAAE,CAAC;IAC5E;IACA,IAAI,IAAI,CAACjE,KAAK,CAACyH,UAAU,EAAE;MACzB,IAAI,CAACzH,KAAK,CAACyH,UAAU,CAACxD,QAAQ,EAAI6B,IAAS,IAAK;QAC9C,IAAI,CAAChB,mBAAmB,CAAC,UAAU,EAAE,CAAE,IAAI,EAAE,IAAI,CAACkB,KAAK,EAAE/B,QAAQ,CAAE,CAAC;QACpE,IAAI,CAACyD,UAAU,CAAClJ,GAAG,CAACsH,IAAI,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC;MACjD,CAAC,EAAK6B,KAAU,IAAK;QACnB,IAAI,CAAC7C,mBAAmB,CAAC,UAAU,EAAE,CAAE,IAAI,EAAE,IAAI,CAACkB,KAAK,EAAE/B,QAAQ,CAAE,CAAC;QACpE,IAAI,CAACyD,UAAU,CAACC,KAAK,EAAE,EAAE,CAAC;MAC5B,CAAE,CAAC;IACL,CAAC,MAAM;MACL,IAAI,CAAC7C,mBAAmB,CAAC,UAAU,EAAE,CAAE,IAAI,EAAE,IAAI,CAACkB,KAAK,EAAE/B,QAAQ,CAAE,CAAC;IACtE;EACF;EAEAyD,UAAUA,CAACE,QAAa,EAAEC,MAAc,EAAEP,KAAW,EAAE;IACrD,IAAI,CAACxC,mBAAmB,CAAC,UAAU,EAAE,CAAE,IAAI,EAAE,IAAI,CAACkB,KAAK,EAAE4B,QAAQ,CAAE,CAAC;IACpE,IAAIC,MAAM,EAAE;MACV,IAAI,CAAC/C,mBAAmB,CAAC,WAAW,EAAE,CAAE,IAAI,EAAE,IAAI,CAACkB,KAAK,EAAE4B,QAAQ,CAAE,CAAC;MACrE,CAAC,IAAI,CAAC5H,KAAK,CAAC8H,SAAS,IAAI,IAAI,CAACnH,KAAK,CAACX,KAAK,CAAC+H,WAAW,IAAI,IAAI,CAACC,aAAa,CAAC,SAAS,EAAE,IAAI,CAACrH,KAAK,CAACX,KAAK,CAAC+H,WAAW,CAAC;IACtH,CAAC,MAAM;MACL,IAAI,CAACjD,mBAAmB,CAAC,SAAS,EAAE,CAAE,IAAI,EAAE,IAAI,CAACkB,KAAK,EAAE4B,QAAQ,CAAE,CAAC;MACnE,CAAC,IAAI,CAAC5H,KAAK,CAACiI,OAAO,IAAI,IAAI,CAACD,aAAa,CAAC,OAAO,EAAE,IAAI,CAACrH,KAAK,CAACX,KAAK,CAACkI,YAAY,IAAI1J,GAAG,CAACoJ,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC/G;EACF;EAEAO,gBAAgBA,CAAC7D,GAAW,EAAEwC,GAAQ,EAAE;IACtC,MAAMzF,OAAO,GAAG,IAAI,CAAC6B,cAAc,IAAI,CAAC,CAAC;IACzC,IAAIoB,GAAG,EAAE;MACP7F,GAAG,CAAC4C,OAAO,EAAEiD,GAAG,EAAEwC,GAAG,CAAC;IACxB,CAAC,MAAM;MACLsB,MAAM,CAACC,MAAM,CAAChH,OAAO,EAAEyF,GAAG,CAAC;IAC7B;IACA,IAAI,CAAC5D,cAAc,GAAG7B,OAAO;IAC7B,IAAI,CAACW,WAAW,CAAC;MAAEhC,KAAK,EAAE;QAAEoD,UAAU,EAAE/B;MAAQ;IAAC,CAAgB,CAAC;IAClE,IAAI,CAACE,aAAa,IAAI,IAAI,CAACA,aAAa,CAAC4G,gBAAgB,IAAI,IAAI,CAAC5G,aAAa,CAAC4G,gBAAgB,CAACnD,SAAS,EAAE,IAAI,CAAC9B,cAAc,CAAC;IAChI,IAAI,CAAClB,WAAW,CAAC;MACfhC,KAAK,EAAE;QACLoD,UAAU,EAAE,IAAI,CAACF;MACnB;IACF,CAAgB,CAAC;EACnB;EAEA8E,aAAaA,CACXM,IAAsE,EACtEC,OAAe,EACf;IACA,IAAI,IAAI,CAAC5H,KAAK,CAACX,KAAK,CAACwI,aAAa,KAAK,QAAQ,EAAE;MAC7C,IAAI,CAACrH,QAAQ,CAAC;QACZmH,IAAI,EAAEA,IAAI;QACVC,OAAO,EAAEA,OAAO;QAChBE,aAAa,EAAE;MACjB,CAAgB,CAAC;MACnB;IACF;IACA,IAAI,CAACC,OAAO,CAACC,SAAS,CAAC;MACrB9F,IAAI,EAAE,IAAI;MAAE+F,SAAS,EAAE,EAAE;MAAEC,MAAM,EAAE;QAACC,MAAM,EAAE;MAAC,CAAC;MAC9CC,IAAI,EAAER,OAAO;MACbD,IAAI,EAAEA,IAAI;MACVU,WAAW,EAAE,IAAI;MACjBC,QAAQ,EAAE;IACZ,CAAC,CAAC;EACJ;EAEAC,UAAUA,CAAA,EAAG;IACX,IAAI,CAAC/H,QAAQ,CAAC;MACZsH,aAAa,EAAE;IACjB,CAAgB,CAAC;EACnB;EAEAU,YAAYA,CAACnJ,KAAkB,EAAE;IAC/B,oBACEjC,KAAA,CAAAqL,aAAA,CAACrK,aAAa,QACVsK,YAA0B,IAAK;MAC/B,IAAI,CAACX,OAAO,GAAGW,YAAY;MAC3B,oBAAOtL,KAAA,CAAAqL,aAAA,CAACpL,IAAI;QAACsL,KAAK,EAAE,IAAI,CAACT,MAAM,CAACU,IAAK;QAACC,QAAQ,EAAGlC,KAAK,IAAK,IAAI,CAACmC,YAAY,CAACnC,KAAK;MAAE,GACjF,IAAI,CAACoC,WAAW,EAChB1J,KAAK,CAAC2J,SAAS,IAAI3J,KAAK,CAAC4J,KAAK,IAAI5J,KAAK,CAAC6J,UAAU,gBACjD9L,KAAA,CAAAqL,aAAA,CAACpL,IAAI;QAACsL,KAAK,EAAE,IAAI,CAACT,MAAM,CAACiB;MAAQ,gBAC/B/L,KAAA,CAAAqL,aAAA,CAACpL,IAAI;QAACsL,KAAK,EAAE;UAACS,IAAI,EAAE,CAAC;UAAEC,aAAa,EAAE;QAAK;MAAE,gBAC3CjM,KAAA,CAAAqL,aAAA,CAACvK,MAAM;QAAEuG,EAAE,EAAE,IAAI,CAAC6E,SAAS,CAAC,MAAM,CAAE;QAACpB,MAAM,EAAE,IAAI,CAACA,MAAM,CAACqB,QAAS;QAACP,SAAS,EAAE3J,KAAK,CAAC2J;MAAU,CAAS,CAAC,eACxG5L,KAAA,CAAAqL,aAAA,CAACpL,IAAI,qBACHD,KAAA,CAAAqL,aAAA,CAACxK,OAAO;QAACwG,EAAE,EAAE,IAAI,CAAC6E,SAAS,CAAC,OAAO,CAAE;QAACpB,MAAM,EAAE,IAAI,CAACA,MAAM,CAACe,KAAM;QAACO,OAAO,EAAEnK,KAAK,CAAC4J,KAAM;QAACQ,iBAAiB,EAAC;MAAQ,CAAU,CAAC,eAC5HrM,KAAA,CAAAqL,aAAA,CAACxK,OAAO;QAACwG,EAAE,EAAE,IAAI,CAAC6E,SAAS,CAAC,aAAa,CAAE;QAACpB,MAAM,EAAE,IAAI,CAACA,MAAM,CAACgB,UAAW;QAACM,OAAO,EAAEnK,KAAK,CAAC6J;MAAW,CAAU,CAC5G,CACF,CACF,CAAC,GACL,IAAI,EACP,IAAI,CAAClJ,KAAK,CAAC8H,aAAa,gBAAG1K,KAAA,CAAAqL,aAAA,CAACtK,SAAS;QAACwJ,IAAI,EAAE,IAAI,CAAC3H,KAAK,CAAC2H,IAAK;QAAC6B,OAAO,EAAE,IAAI,CAACxJ,KAAK,CAAC4H,OAAQ;QAAC8B,SAAS,EAAE,KAAM;QAACC,OAAO,EAAE,IAAI,CAACpB,UAAU,CAACnE,IAAI,CAAC,IAAI;MAAE,CAAY,CAAC,GAAG,IAAI,EAEnK/E,KAAK,CAAC6F,QAAQ,IAAI,IAAI,CAAClF,KAAK,CAACsF,WAAW,EACxCjG,KAAK,CAACuK,QACJ,CAAC;IACT,CAEa,CAAC;EAEpB;AACF","ignoreList":[]}
@@ -80,6 +80,7 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
80
80
  boxShadow: '1px 1px 1px rgba(0, 0, 0, 0.08)',
81
81
  paddingLeft: 4,
82
82
  paddingRight: 4,
83
+ flex: 1,
83
84
  flexDirection: 'row',
84
85
  paddingTop: 4,
85
86
  paddingBottom: 4,
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","listContainer","text","listIcon","marginTop","marginRight","groupHeading","backgroundColor","groupHeadingBgColor","fontSize","paddingLeft","paddingRight","lineHeight","fontFamily","baseFont","loadingIcon","flex","alignSelf","justifyContent","color","listSubTitleColor","heading","padding","marginBottom","listHeaderBgColor","title","listTitleColor","fontWeight","subheading","emptyMessage","onDemandMessage","paddingVertical","width","textAlign","group","item","boxShadow","flexDirection","paddingTop","paddingBottom","minHeight","itemBgColor","borderColor","selectedItemBorderColor","borderRadius","borderStyle","itemContainer","selectedItem","selectedIcon","position","right","top","primaryColor","skeleton","shadowColor","minWidth","borderBottomWidth","borderBottomColor","listDividerColor","borderRightWidth","borderRightColor"],"sources":["list.styles.ts"],"sourcesContent":["import { TextStyle, ViewStyle } from 'react-native';\nimport BASE_THEME, { AllStyle } from '@wavemaker-ai/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { WmLabelStyles } from '@wavemaker-ai/app-rn-runtime/components/basic/label/label.styles';\nimport { WmIconStyles } from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.styles';\nimport { WmSkeletonStyles } from '@wavemaker-ai/app-rn-runtime/components/basic/skeleton/skeleton.styles';\n\nexport type WmListStyles = BaseStyles & {\n heading: AllStyle,\n groupHeading: TextStyle,\n listIcon: WmIconStyles,\n loadingIcon: WmIconStyles,\n title: WmLabelStyles,\n subheading: WmLabelStyles,\n emptyMessage: WmLabelStyles,\n onDemandMessage: WmLabelStyles,\n item: AllStyle,\n itemContainer: ViewStyle | ViewStyle[],\n selectedItem: AllStyle,\n selectedIcon: WmIconStyles,\n group: AllStyle,\n skeleton: WmSkeletonStyles\n};\n\nexport const DEFAULT_CLASS = 'app-list';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmListStyles = defineStyles({\n root: {},\n listContainer:{},\n text: {},\n listIcon: {\n root: {\n marginTop: 10,\n marginRight: 8\n }\n } as WmIconStyles,\n groupHeading: {\n backgroundColor: themeVariables.groupHeadingBgColor,\n fontSize: 16,\n paddingLeft: 8,\n paddingRight: 8,\n lineHeight: 40,\n fontFamily: themeVariables.baseFont\n },\n loadingIcon: {\n root: {\n flex: 1,\n alignSelf: 'center',\n justifyContent: 'center',\n fontSize: 16\n },\n text: {\n color: themeVariables.listSubTitleColor\n }\n } as WmIconStyles,\n heading : {\n padding: 8,\n marginBottom: 6,\n backgroundColor: themeVariables.listHeaderBgColor\n },\n title: {\n text: {\n color: themeVariables.listTitleColor,\n fontSize: 16,\n fontFamily: themeVariables.baseFont,\n lineHeight: 24,\n fontWeight: '400'\n }\n } as WmLabelStyles,\n subheading: {\n text: {\n fontSize: 14,\n lineHeight: 20,\n fontFamily: themeVariables.baseFont,\n fontWeight: '400',\n color: themeVariables.listSubTitleColor\n }\n } as WmLabelStyles,\n emptyMessage: {\n root: {\n flex: 1,\n alignSelf: 'center',\n fontSize: 16,\n lineHeight: 18,\n color: themeVariables.listSubTitleColor\n }\n } as WmLabelStyles,\n onDemandMessage: {\n root: {\n paddingVertical: 8,\n width: '100%'\n } as ViewStyle,\n text: {\n textAlign: 'center',\n color: themeVariables.listSubTitleColor\n }\n } as WmLabelStyles,\n group: {\n marginBottom: 16,\n },\n item: {\n boxShadow: '1px 1px 1px rgba(0, 0, 0, 0.08)',\n paddingLeft: 4,\n paddingRight: 4,\n flexDirection: 'row',\n paddingTop: 4,\n paddingBottom: 4,\n minHeight: 56,\n backgroundColor: themeVariables.itemBgColor,\n borderColor: themeVariables.selectedItemBorderColor,\n borderRadius: 6,\n borderStyle: 'solid',\n },\n itemContainer: {\n },\n selectedItem : {} as AllStyle,\n selectedIcon : {\n root: {\n position: 'absolute',\n right: 0,\n top: 0\n },\n text: {\n color: themeVariables.primaryColor,\n fontSize: 16\n }\n } as WmIconStyles,\n skeleton: {\n root: {\n shadowColor: 'transparent',\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n }\n } as any as WmSkeletonStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n\n addStyle('app-horizontal-list', '', {\n groupHeading: {\n minWidth: 120,\n backgroundColor: themeVariables.groupHeadingBgColor,\n },\n item: {\n marginRight: 6,\n borderColor: themeVariables.selectedItemBorderColor,\n }\n } as WmListStyles);\n\n addStyle('app-vertical-list', '', {\n item: {\n marginBottom: 6,\n width: '100%',\n borderBottomWidth: 0,\n borderBottomColor: themeVariables.listDividerColor,\n }\n } as any as WmListStyles);\n\n addStyle('app-horizontal-list-dense', '', {\n item: {\n marginRight: 0,\n borderRadius: 0,\n borderRightWidth: 1,\n borderRightColor: 'rgba(0,0,0,0.05)'\n } as ViewStyle\n } as WmListStyles);\n\n addStyle('app-list-dense', '', {\n item: {\n marginBottom: 0,\n borderRadius: 0,\n borderBottomWidth: 1,\n borderBottomColor: 'rgba(0,0,0,0.05)'\n } as ViewStyle\n } as WmListStyles);\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","listContainer","text","listIcon","marginTop","marginRight","groupHeading","backgroundColor","groupHeadingBgColor","fontSize","paddingLeft","paddingRight","lineHeight","fontFamily","baseFont","loadingIcon","flex","alignSelf","justifyContent","color","listSubTitleColor","heading","padding","marginBottom","listHeaderBgColor","title","listTitleColor","fontWeight","subheading","emptyMessage","onDemandMessage","paddingVertical","width","textAlign","group","item","boxShadow","flexDirection","paddingTop","paddingBottom","minHeight","itemBgColor","borderColor","selectedItemBorderColor","borderRadius","borderStyle","itemContainer","selectedItem","selectedIcon","position","right","top","primaryColor","skeleton","shadowColor","minWidth","borderBottomWidth","borderBottomColor","listDividerColor","borderRightWidth","borderRightColor"],"sources":["list.styles.ts"],"sourcesContent":["import { TextStyle, ViewStyle } from 'react-native';\nimport BASE_THEME, { AllStyle } from '@wavemaker-ai/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { WmLabelStyles } from '@wavemaker-ai/app-rn-runtime/components/basic/label/label.styles';\nimport { WmIconStyles } from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.styles';\nimport { WmSkeletonStyles } from '@wavemaker-ai/app-rn-runtime/components/basic/skeleton/skeleton.styles';\n\nexport type WmListStyles = BaseStyles & {\n heading: AllStyle,\n groupHeading: TextStyle,\n listIcon: WmIconStyles,\n loadingIcon: WmIconStyles,\n title: WmLabelStyles,\n subheading: WmLabelStyles,\n emptyMessage: WmLabelStyles,\n onDemandMessage: WmLabelStyles,\n item: AllStyle,\n itemContainer: ViewStyle | ViewStyle[],\n selectedItem: AllStyle,\n selectedIcon: WmIconStyles,\n group: AllStyle,\n skeleton: WmSkeletonStyles\n};\n\nexport const DEFAULT_CLASS = 'app-list';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmListStyles = defineStyles({\n root: {},\n listContainer:{},\n text: {},\n listIcon: {\n root: {\n marginTop: 10,\n marginRight: 8\n }\n } as WmIconStyles,\n groupHeading: {\n backgroundColor: themeVariables.groupHeadingBgColor,\n fontSize: 16,\n paddingLeft: 8,\n paddingRight: 8,\n lineHeight: 40,\n fontFamily: themeVariables.baseFont\n },\n loadingIcon: {\n root: {\n flex: 1,\n alignSelf: 'center',\n justifyContent: 'center',\n fontSize: 16\n },\n text: {\n color: themeVariables.listSubTitleColor\n }\n } as WmIconStyles,\n heading : {\n padding: 8,\n marginBottom: 6,\n backgroundColor: themeVariables.listHeaderBgColor\n },\n title: {\n text: {\n color: themeVariables.listTitleColor,\n fontSize: 16,\n fontFamily: themeVariables.baseFont,\n lineHeight: 24,\n fontWeight: '400'\n }\n } as WmLabelStyles,\n subheading: {\n text: {\n fontSize: 14,\n lineHeight: 20,\n fontFamily: themeVariables.baseFont,\n fontWeight: '400',\n color: themeVariables.listSubTitleColor\n }\n } as WmLabelStyles,\n emptyMessage: {\n root: {\n flex: 1,\n alignSelf: 'center',\n fontSize: 16,\n lineHeight: 18,\n color: themeVariables.listSubTitleColor\n }\n } as WmLabelStyles,\n onDemandMessage: {\n root: {\n paddingVertical: 8,\n width: '100%'\n } as ViewStyle,\n text: {\n textAlign: 'center',\n color: themeVariables.listSubTitleColor\n }\n } as WmLabelStyles,\n group: {\n marginBottom: 16,\n },\n item: {\n boxShadow: '1px 1px 1px rgba(0, 0, 0, 0.08)',\n paddingLeft: 4,\n paddingRight: 4,\n flex: 1,\n flexDirection: 'row',\n paddingTop: 4,\n paddingBottom: 4,\n minHeight: 56,\n backgroundColor: themeVariables.itemBgColor,\n borderColor: themeVariables.selectedItemBorderColor,\n borderRadius: 6,\n borderStyle: 'solid',\n },\n itemContainer: {\n },\n selectedItem : {} as AllStyle,\n selectedIcon : {\n root: {\n position: 'absolute',\n right: 0,\n top: 0\n },\n text: {\n color: themeVariables.primaryColor,\n fontSize: 16\n }\n } as WmIconStyles,\n skeleton: {\n root: {\n shadowColor: 'transparent',\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n }\n } as any as WmSkeletonStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n\n addStyle('app-horizontal-list', '', {\n groupHeading: {\n minWidth: 120,\n backgroundColor: themeVariables.groupHeadingBgColor,\n },\n item: {\n marginRight: 6,\n borderColor: themeVariables.selectedItemBorderColor,\n }\n } as WmListStyles);\n\n addStyle('app-vertical-list', '', {\n item: {\n marginBottom: 6,\n width: '100%',\n borderBottomWidth: 0,\n borderBottomColor: themeVariables.listDividerColor,\n }\n } as any as WmListStyles);\n\n addStyle('app-horizontal-list-dense', '', {\n item: {\n marginRight: 0,\n borderRadius: 0,\n borderRightWidth: 1,\n borderRightColor: 'rgba(0,0,0,0.05)'\n } as ViewStyle\n } as WmListStyles);\n\n addStyle('app-list-dense', '', {\n item: {\n marginBottom: 0,\n borderRadius: 0,\n borderBottomWidth: 1,\n borderBottomColor: 'rgba(0,0,0,0.05)'\n } as ViewStyle\n } as WmListStyles);\n});\n"],"mappings":"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","ignoreList":[]}
@@ -24,7 +24,8 @@ export default class WmDialogcontent extends BaseComponent {
24
24
  maxHeight: this.styles.root.maxHeight
25
25
  }
26
26
  }, this._background, /*#__PURE__*/React.createElement(TouchableOpacity, {
27
- activeOpacity: 1
27
+ activeOpacity: 1,
28
+ accessible: false
28
29
  }, /*#__PURE__*/React.createElement(React.Fragment, null, props.children)));
29
30
  }
30
31
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","TouchableOpacity","ScrollView","BaseComponent","BaseComponentState","WmDialogcontentProps","DEFAULT_CLASS","WmDialogcontentState","WmDialogcontent","constructor","props","renderWidget","createElement","onLayout","event","handleLayout","contentContainerStyle","styles","root","maxHeight","undefined","onScroll","notify","scrollEventThrottle","showsVerticalScrollIndicator","style","_background","activeOpacity","Fragment","children"],"sources":["dialogcontent.component.tsx"],"sourcesContent":["import React from 'react';\nimport { TouchableOpacity } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\n\nimport WmDialogcontentProps from './dialogcontent.props';\nimport { DEFAULT_CLASS, WmDialogcontentStyles } from './dialogcontent.styles';\n\nexport class WmDialogcontentState extends BaseComponentState<WmDialogcontentProps> {}\n\nexport default class WmDialogcontent extends BaseComponent<WmDialogcontentProps, WmDialogcontentState, WmDialogcontentStyles> {\n\n constructor(props: WmDialogcontentProps) {\n super(props, DEFAULT_CLASS, new WmDialogcontentProps());\n }\n\n renderWidget(props: WmDialogcontentProps) {\n return (<ScrollView\n onLayout={(event) => this.handleLayout(event)}\n contentContainerStyle={[this.styles.root, {maxHeight: undefined}]}\n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n showsVerticalScrollIndicator={false}\n style={{maxHeight: this.styles.root.maxHeight}}>\n {this._background}\n\n {/* *IMPORTANT: Pan responder in WmDialog interfering with scroll of ScrollView [https://github.com/facebook/react-native/issues/11206] */}\n <TouchableOpacity\n activeOpacity={1}\n >\n <>\n {props.children}\n </>\n </TouchableOpacity>\n </ScrollView>);\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,QAAQ,cAAc;AAC/C,SAASC,UAAU,QAAQ,8BAA8B;AACzD,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,kDAAkD;AAEpG,OAAOC,oBAAoB,MAAM,uBAAuB;AACxD,SAASC,aAAa,QAA+B,wBAAwB;AAE7E,OAAO,MAAMC,oBAAoB,SAASH,kBAAkB,CAAuB;AAEnF,eAAe,MAAMI,eAAe,SAASL,aAAa,CAAoE;EAE5HM,WAAWA,CAACC,KAA2B,EAAE;IACvC,KAAK,CAACA,KAAK,EAAEJ,aAAa,EAAE,IAAID,oBAAoB,CAAC,CAAC,CAAC;EACzD;EAEAM,YAAYA,CAACD,KAA2B,EAAE;IACxC,oBAAQV,KAAA,CAAAY,aAAA,CAACV,UAAU;MACjBW,QAAQ,EAAGC,KAAK,IAAK,IAAI,CAACC,YAAY,CAACD,KAAK,CAAE;MAC9CE,qBAAqB,EAAE,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,EAAE;QAACC,SAAS,EAAEC;MAAS,CAAC,CAAE;MAClEC,QAAQ,EAAGP,KAAK,IAAK;QAAC,IAAI,CAACQ,MAAM,CAAC,QAAQ,EAAE,CAACR,KAAK,CAAC,CAAC;MAAA,CAAE;MACtDS,mBAAmB,EAAE,EAAG;MACxBC,4BAA4B,EAAE,KAAM;MACpCC,KAAK,EAAE;QAACN,SAAS,EAAE,IAAI,CAACF,MAAM,CAACC,IAAI,CAACC;MAAS;IAAE,GAC5C,IAAI,CAACO,WAAW,eAGjB1B,KAAA,CAAAY,aAAA,CAACX,gBAAgB;MACf0B,aAAa,EAAE;IAAE,gBAEjB3B,KAAA,CAAAY,aAAA,CAAAZ,KAAA,CAAA4B,QAAA,QACGlB,KAAK,CAACmB,QACP,CACc,CACV,CAAC;EACf;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","TouchableOpacity","ScrollView","BaseComponent","BaseComponentState","WmDialogcontentProps","DEFAULT_CLASS","WmDialogcontentState","WmDialogcontent","constructor","props","renderWidget","createElement","onLayout","event","handleLayout","contentContainerStyle","styles","root","maxHeight","undefined","onScroll","notify","scrollEventThrottle","showsVerticalScrollIndicator","style","_background","activeOpacity","accessible","Fragment","children"],"sources":["dialogcontent.component.tsx"],"sourcesContent":["import React from 'react';\nimport { TouchableOpacity } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { BaseComponent, BaseComponentState } from '@wavemaker-ai/app-rn-runtime/core/base.component';\n\nimport WmDialogcontentProps from './dialogcontent.props';\nimport { DEFAULT_CLASS, WmDialogcontentStyles } from './dialogcontent.styles';\n\nexport class WmDialogcontentState extends BaseComponentState<WmDialogcontentProps> {}\n\nexport default class WmDialogcontent extends BaseComponent<WmDialogcontentProps, WmDialogcontentState, WmDialogcontentStyles> {\n\n constructor(props: WmDialogcontentProps) {\n super(props, DEFAULT_CLASS, new WmDialogcontentProps());\n }\n\n renderWidget(props: WmDialogcontentProps) {\n return (<ScrollView\n onLayout={(event) => this.handleLayout(event)}\n contentContainerStyle={[this.styles.root, {maxHeight: undefined}]}\n onScroll={(event) => {this.notify('scroll', [event])}}\n scrollEventThrottle={48}\n showsVerticalScrollIndicator={false}\n style={{maxHeight: this.styles.root.maxHeight}}>\n {this._background}\n\n {/* *IMPORTANT: Pan responder in WmDialog interfering with scroll of ScrollView [https://github.com/facebook/react-native/issues/11206] */}\n <TouchableOpacity\n activeOpacity={1}\n accessible={false}\n >\n <>\n {props.children}\n </>\n </TouchableOpacity>\n </ScrollView>);\n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,QAAQ,cAAc;AAC/C,SAASC,UAAU,QAAQ,8BAA8B;AACzD,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,kDAAkD;AAEpG,OAAOC,oBAAoB,MAAM,uBAAuB;AACxD,SAASC,aAAa,QAA+B,wBAAwB;AAE7E,OAAO,MAAMC,oBAAoB,SAASH,kBAAkB,CAAuB;AAEnF,eAAe,MAAMI,eAAe,SAASL,aAAa,CAAoE;EAE5HM,WAAWA,CAACC,KAA2B,EAAE;IACvC,KAAK,CAACA,KAAK,EAAEJ,aAAa,EAAE,IAAID,oBAAoB,CAAC,CAAC,CAAC;EACzD;EAEAM,YAAYA,CAACD,KAA2B,EAAE;IACxC,oBAAQV,KAAA,CAAAY,aAAA,CAACV,UAAU;MACjBW,QAAQ,EAAGC,KAAK,IAAK,IAAI,CAACC,YAAY,CAACD,KAAK,CAAE;MAC9CE,qBAAqB,EAAE,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,EAAE;QAACC,SAAS,EAAEC;MAAS,CAAC,CAAE;MAClEC,QAAQ,EAAGP,KAAK,IAAK;QAAC,IAAI,CAACQ,MAAM,CAAC,QAAQ,EAAE,CAACR,KAAK,CAAC,CAAC;MAAA,CAAE;MACtDS,mBAAmB,EAAE,EAAG;MACxBC,4BAA4B,EAAE,KAAM;MACpCC,KAAK,EAAE;QAACN,SAAS,EAAE,IAAI,CAACF,MAAM,CAACC,IAAI,CAACC;MAAS;IAAE,GAC5C,IAAI,CAACO,WAAW,eAGjB1B,KAAA,CAAAY,aAAA,CAACX,gBAAgB;MACf0B,aAAa,EAAE,CAAE;MACjBC,UAAU,EAAE;IAAM,gBAElB5B,KAAA,CAAAY,aAAA,CAAAZ,KAAA,CAAA6B,QAAA,QACGnB,KAAK,CAACoB,QACP,CACc,CACV,CAAC;EACf;AACF","ignoreList":[]}