@wavemaker/app-rn-runtime 11.10.3-rc.205 → 11.10.4-next.27841

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 (183) hide show
  1. package/components/advanced/carousel/carousel.component.js +2 -1
  2. package/components/advanced/carousel/carousel.component.js.map +1 -1
  3. package/components/advanced/login/login.component.js +2 -1
  4. package/components/advanced/login/login.component.js.map +1 -1
  5. package/components/advanced/webview/webview.component.js +2 -1
  6. package/components/advanced/webview/webview.component.js.map +1 -1
  7. package/components/basic/anchor/anchor.component.js +2 -1
  8. package/components/basic/anchor/anchor.component.js.map +1 -1
  9. package/components/basic/animatedview.component.js +5 -2
  10. package/components/basic/animatedview.component.js.map +1 -1
  11. package/components/basic/audio/audio.component.js +2 -1
  12. package/components/basic/audio/audio.component.js.map +1 -1
  13. package/components/basic/button/button.component.js +1 -0
  14. package/components/basic/button/button.component.js.map +1 -1
  15. package/components/basic/buttongroup/buttongroup.component.js +2 -1
  16. package/components/basic/buttongroup/buttongroup.component.js.map +1 -1
  17. package/components/basic/custom/custom.component.js +2 -1
  18. package/components/basic/custom/custom.component.js.map +1 -1
  19. package/components/basic/icon/icon.component.js +2 -1
  20. package/components/basic/icon/icon.component.js.map +1 -1
  21. package/components/basic/label/label.component.js +2 -1
  22. package/components/basic/label/label.component.js.map +1 -1
  23. package/components/basic/lottie/lottie.component.js +2 -1
  24. package/components/basic/lottie/lottie.component.js.map +1 -1
  25. package/components/basic/message/message.component.js +2 -1
  26. package/components/basic/message/message.component.js.map +1 -1
  27. package/components/basic/modal/modal.component.js +4 -2
  28. package/components/basic/modal/modal.component.js.map +1 -1
  29. package/components/basic/picture/picture.component.js +93 -8
  30. package/components/basic/picture/picture.component.js.map +1 -1
  31. package/components/basic/picture/picture.props.js +1 -0
  32. package/components/basic/picture/picture.props.js.map +1 -1
  33. package/components/basic/progress-bar/progress-bar.component.js +2 -1
  34. package/components/basic/progress-bar/progress-bar.component.js.map +1 -1
  35. package/components/basic/progress-circle/progress-circle.component.js +1 -0
  36. package/components/basic/progress-circle/progress-circle.component.js.map +1 -1
  37. package/components/basic/search/search.component.js +3 -1
  38. package/components/basic/search/search.component.js.map +1 -1
  39. package/components/basic/spinner/spinner.component.js +2 -1
  40. package/components/basic/spinner/spinner.component.js.map +1 -1
  41. package/components/basic/tooltip/tooltip.component.js +2 -1
  42. package/components/basic/tooltip/tooltip.component.js.map +1 -1
  43. package/components/basic/video/video.component.js +36 -5
  44. package/components/basic/video/video.component.js.map +1 -1
  45. package/components/basic/video/video.props.js +1 -0
  46. package/components/basic/video/video.props.js.map +1 -1
  47. package/components/basic/video/video.styles.js +13 -0
  48. package/components/basic/video/video.styles.js.map +1 -1
  49. package/components/chart/area-chart/area-chart.component.js +1 -0
  50. package/components/chart/area-chart/area-chart.component.js.map +1 -1
  51. package/components/chart/basechart.component.js +1 -0
  52. package/components/chart/basechart.component.js.map +1 -1
  53. package/components/chart/pie-chart/pie-chart.component.js +1 -0
  54. package/components/chart/pie-chart/pie-chart.component.js.map +1 -1
  55. package/components/chart/stack-chart/stack-chart.component.js +1 -0
  56. package/components/chart/stack-chart/stack-chart.component.js.map +1 -1
  57. package/components/container/accordion/accordion.component.js +2 -1
  58. package/components/container/accordion/accordion.component.js.map +1 -1
  59. package/components/container/container.component.js +2 -1
  60. package/components/container/container.component.js.map +1 -1
  61. package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js +2 -1
  62. package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js.map +1 -1
  63. package/components/container/layoutgrid/gridrow/gridrow.component.js +2 -1
  64. package/components/container/layoutgrid/gridrow/gridrow.component.js.map +1 -1
  65. package/components/container/layoutgrid/layoutgrid.component.js +1 -0
  66. package/components/container/layoutgrid/layoutgrid.component.js.map +1 -1
  67. package/components/container/linearlayout/linearlayout.component.js +2 -1
  68. package/components/container/linearlayout/linearlayout.component.js.map +1 -1
  69. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +2 -1
  70. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
  71. package/components/container/panel/panel.component.js +2 -1
  72. package/components/container/panel/panel.component.js.map +1 -1
  73. package/components/container/tabs/tabheader/tabheader.component.js +3 -1
  74. package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  75. package/components/container/tabs/tabpane/tabpane.component.js +2 -1
  76. package/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  77. package/components/container/tabs/tabs.component.js +2 -1
  78. package/components/container/tabs/tabs.component.js.map +1 -1
  79. package/components/container/tile/tile.component.js +2 -1
  80. package/components/container/tile/tile.component.js.map +1 -1
  81. package/components/container/wizard/wizard.component.js +2 -1
  82. package/components/container/wizard/wizard.component.js.map +1 -1
  83. package/components/container/wizard/wizardstep/wizardstep.component.js +2 -1
  84. package/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  85. package/components/data/card/card-content/card-content.component.js +2 -1
  86. package/components/data/card/card-content/card-content.component.js.map +1 -1
  87. package/components/data/card/card-footer/card-footer.component.js +2 -1
  88. package/components/data/card/card-footer/card-footer.component.js.map +1 -1
  89. package/components/data/card/card.component.js +2 -1
  90. package/components/data/card/card.component.js.map +1 -1
  91. package/components/data/form/form-body/form-body.component.js +2 -1
  92. package/components/data/form/form-body/form-body.component.js.map +1 -1
  93. package/components/data/form/form-field/form-field.component.js +2 -1
  94. package/components/data/form/form-field/form-field.component.js.map +1 -1
  95. package/components/data/form/form-footer/form-footer.component.js +2 -1
  96. package/components/data/form/form-footer/form-footer.component.js.map +1 -1
  97. package/components/data/form/form.component.js +2 -1
  98. package/components/data/form/form.component.js.map +1 -1
  99. package/components/data/list/list-template/list-template.component.js +2 -1
  100. package/components/data/list/list-template/list-template.component.js.map +1 -1
  101. package/components/data/list/list.component.js +6 -2
  102. package/components/data/list/list.component.js.map +1 -1
  103. package/components/data/list/list.props.js +1 -0
  104. package/components/data/list/list.props.js.map +1 -1
  105. package/components/device/barcodescanner/barcodescanner.component.js +2 -1
  106. package/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
  107. package/components/device/camera/camera.component.js +2 -1
  108. package/components/device/camera/camera.component.js.map +1 -1
  109. package/components/dialogs/dialog/dialog.component.js +2 -1
  110. package/components/dialogs/dialog/dialog.component.js.map +1 -1
  111. package/components/dialogs/dialogactions/dialogactions.component.js +2 -1
  112. package/components/dialogs/dialogactions/dialogactions.component.js.map +1 -1
  113. package/components/dialogs/dialogcontent/dialogcontent.component.js +1 -0
  114. package/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
  115. package/components/input/calendar/calendar.component.js +2 -1
  116. package/components/input/calendar/calendar.component.js.map +1 -1
  117. package/components/input/checkbox/checkbox.component.js +2 -1
  118. package/components/input/checkbox/checkbox.component.js.map +1 -1
  119. package/components/input/checkboxset/checkboxset.component.js +2 -1
  120. package/components/input/checkboxset/checkboxset.component.js.map +1 -1
  121. package/components/input/chips/chips.component.js +2 -1
  122. package/components/input/chips/chips.component.js.map +1 -1
  123. package/components/input/composite/composite.component.js +2 -1
  124. package/components/input/composite/composite.component.js.map +1 -1
  125. package/components/input/currency/currency.component.js +2 -1
  126. package/components/input/currency/currency.component.js.map +1 -1
  127. package/components/input/epoch/base-datetime.component.js +3 -2
  128. package/components/input/epoch/base-datetime.component.js.map +1 -1
  129. package/components/input/epoch/wheel-date-picker.component.js +91 -84
  130. package/components/input/epoch/wheel-date-picker.component.js.map +1 -1
  131. package/components/input/epoch/wheelpicker/wheelpicker.component.js +2 -1
  132. package/components/input/epoch/wheelpicker/wheelpicker.component.js.map +1 -1
  133. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js +2 -1
  134. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js.map +1 -1
  135. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js +2 -1
  136. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js.map +1 -1
  137. package/components/input/fileupload/fileupload.component.js +2 -1
  138. package/components/input/fileupload/fileupload.component.js.map +1 -1
  139. package/components/input/number/number.component.js +2 -1
  140. package/components/input/number/number.component.js.map +1 -1
  141. package/components/input/radioset/radioset.component.js +4 -2
  142. package/components/input/radioset/radioset.component.js.map +1 -1
  143. package/components/input/rating/rating.component.js +2 -1
  144. package/components/input/rating/rating.component.js.map +1 -1
  145. package/components/input/select/select.component.js +4 -1
  146. package/components/input/select/select.component.js.map +1 -1
  147. package/components/input/slider/slider.component.js +2 -1
  148. package/components/input/slider/slider.component.js.map +1 -1
  149. package/components/input/switch/switch.component.js +2 -1
  150. package/components/input/switch/switch.component.js.map +1 -1
  151. package/components/input/text/text.component.js +2 -1
  152. package/components/input/text/text.component.js.map +1 -1
  153. package/components/input/textarea/textarea.component.js +2 -1
  154. package/components/input/textarea/textarea.component.js.map +1 -1
  155. package/components/input/toggle/toggle.component.js +1 -0
  156. package/components/input/toggle/toggle.component.js.map +1 -1
  157. package/components/navigation/appnavbar/appnavbar.component.js +2 -1
  158. package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
  159. package/components/navigation/navbar/navbar.component.js +2 -1
  160. package/components/navigation/navbar/navbar.component.js.map +1 -1
  161. package/components/navigation/navitem/navitem.component.js +2 -1
  162. package/components/navigation/navitem/navitem.component.js.map +1 -1
  163. package/components/navigation/popover/popover.component.js +1 -0
  164. package/components/navigation/popover/popover.component.js.map +1 -1
  165. package/components/page/page.component.js.map +1 -1
  166. package/core/AppConfig.js.map +1 -1
  167. package/core/base.component.js +15 -21
  168. package/core/base.component.js.map +1 -1
  169. package/core/components/textinput.component.js +2 -1
  170. package/core/components/textinput.component.js.map +1 -1
  171. package/core/tappable.component.js +7 -3
  172. package/core/tappable.component.js.map +1 -1
  173. package/core/utils.js +13 -11
  174. package/core/utils.js.map +1 -1
  175. package/npm-shrinkwrap.json +84 -84
  176. package/package-lock.json +84 -84
  177. package/package.json +2 -2
  178. package/runtime/App.js +18 -7
  179. package/runtime/App.js.map +1 -1
  180. package/runtime/base-page.component.js +2 -3
  181. package/runtime/base-page.component.js.map +1 -1
  182. package/styles/style-props.js +1 -0
  183. package/styles/style-props.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","TouchableOpacity","Text","clone","findIndex","get","isUndefined","pull","forEach","filter","find","isEqual","merge","WmChipsProps","DEFAULT_CLASS","WmSearch","BaseDatasetComponent","BaseDatasetState","WmIcon","WmPicture","AccessibilityWidgetType","getAccessibilityProps","WmLabel","WmChipsState","constructor","args","_defineProperty","WmChips","props","onComponentInit","c","searchRef","val","onPropertyChange","name","$new","$old","length","updateState","chipsList","datavalue","state","dataItems","dataValueItems","Array","isArray","split","map","item","trim","slice","updatedItems","selected","includes","datafield","reset","_this$searchRef","query","onDataItemsUpdate","isDefaultQuery","updateDefaultQueryModel","addItem","$event","widget","_this$props","_this$props2","newChipList","allowAdd","push","queryModel","isFormFieldWidget","isDuplicate","resetSearchModel","invokeEvent","invokeEventCallback","toBoolean","setDatavalue","computeDisplayValue","displayValue","displayexp","displayfield","selectChip","chipItem","maxsize","selectedItem","d","key","dataValue","updateDatavalue","updateMaxSize","prevDatavalue","createCustomDataModel","dataObject","isCustom","clearSearch","chipListLength","saturate","removeItem","index","allowRemove","isDefaultView","_this$state$dataItems","searchable","renderChip","isSelected","createElement","_extends","getTestPropsForAction","CHIPS","style","styles","chip","activeChip","onPress","disabled","readonly","id","getTestId","iconclass","iconsize","doneIcon","icon","color","activeChipLabel","_showSkeleton","imageStyles","picturesource","imgSrc","shape","root","width","chipLabel","clearIcon","onTap","selectedItems","componentDidMount","componentDidUpdate","prevProps","prevState","_this$searchRef2","computePosition","renderSkeleton","chipsWrapper","renderWidget","chips","searchContainer","flexDirection","inputposition","search","placeholder","maxSizeReached","listener","dataset","searchkey","minchars","autofocus","displayexpression","getDisplayExpression","displayimagesrc","onSubmit","bind","onChange","_this$props$listener","_this$props$listener2","onComponentChange","showSearchIcon","showclear","type","flexWrap"],"sources":["chips.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, TouchableOpacity, Text, DimensionValue } from 'react-native';\nimport { LifecycleListener } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { clone, findIndex, get, isUndefined, pull, forEach, filter, find, isEqual, merge, isArray, isString } from 'lodash';\nimport WmChipsProps from './chips.props';\nimport { DEFAULT_CLASS, WmChipsStyles } from './chips.styles';\nimport WmSearch from '@wavemaker/app-rn-runtime/components/basic/search/search.component';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport WmLabel from '../../basic/label/label.component';\nimport { isDefined } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmChipsState extends BaseDatasetState<WmChipsProps> {\n chipsList: any = [];\n saturate: any;\n}\n\nexport default class WmChips extends BaseDatasetComponent<WmChipsProps, WmChipsState, WmChipsStyles> {\n constructor(props: WmChipsProps) {\n super(props, DEFAULT_CLASS, new WmChipsProps(), new WmChipsState());\n }\n\n private searchRef: WmSearch = null as any;\n private maxSizeReached = 'Max size reached';\n private isDefaultQuery: boolean = true;\n private prevDatavalue: any;\n\n private listener: LifecycleListener = {\n onComponentInit: (c) => {\n if (c instanceof WmSearch) {\n this.searchRef = c;\n }\n }\n };\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch (name) {\n case 'datavalue':\n if (!$new || $new.length === 0) {\n this.updateState({\n chipsList: [],\n } as WmChipsState);\n }\n break;\n case 'maxsize':\n if ($new) {\n const { datavalue } = this.state.props;\n const { dataItems } = this.state;\n \n let dataValueItems = Array.isArray(datavalue)\n ? datavalue\n : typeof datavalue === 'string'\n ? datavalue.split(',').map((item) => item.trim())\n : datavalue != null\n ? [datavalue]\n : [];\n\n if (dataValueItems.length >= $new) {\n dataValueItems = dataValueItems.slice(0, $new);\n const updatedItems = dataItems.map((item:any) => ({\n ...item,\n selected: dataValueItems.includes(item.datafield),\n }));\n this.updateState({ dataItems: updatedItems } as WmChipsState);\n }\n\n break;\n }\n }\n }\n\n reset() {\n if (this.searchRef?.state.props.query) {\n this.searchRef.reset();\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.isDefaultQuery = true;\n this.updateDefaultQueryModel();\n }\n\n addItem($event: any, widget: any) {\n let newChipList = clone(this.state.chipsList),\n allowAdd;\n newChipList.push(widget.queryModel);\n const isFormFieldWidget = get(this.props, 'formfield');\n if (this.isDuplicate(widget.queryModel)) {\n this.resetSearchModel();\n return;\n }\n\n // @ts-ignore\n allowAdd = isFormFieldWidget ? this.props?.invokeEvent('onBeforeadd', [null, this, widget.queryModel]) : this.invokeEventCallback('onBeforeadd', [null, this, widget.queryModel]);\n\n if (!isUndefined(allowAdd) && !this.toBoolean(allowAdd)) {\n return;\n }\n\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n\n this.setDatavalue(newChipList);\n\n // @ts-ignore\n isFormFieldWidget ? this.props?.invokeEvent('onAdd', [null, this, widget.queryModel]) : this.invokeEventCallback('onAdd', [null, this, widget.queryModel]);\n this.resetSearchModel();\n }\n\n computeDisplayValue() {\n this.updateState({\n props: {\n displayValue: ((this.state.dataItems || [] as any)\n .filter((item: any) => item.selected)\n .map((item: any) => item.displayexp || item.displayfield)) || ''\n }\n } as WmChipsState);\n }\n\n selectChip(chipItem: any) {\n if (!chipItem.selected && this.state.props.maxsize > 0 && (this.state.chipsList.length === this.state.props.maxsize)) {\n return;\n }\n chipItem.selected = !chipItem.selected;\n const newChipList: any = [];\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, chipItem.key));\n selectedItem.selected = chipItem.selected;\n forEach(this.state.dataItems, (item) => {\n if (item.selected) {\n newChipList.push(item);\n }\n });\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n\n this.setDatavalue(newChipList);\n }\n\n setDatavalue(newChipList: any) {\n const dataValue = newChipList.map((item: any) => item.datafield);\n this.updateDatavalue(dataValue);\n this.updateMaxSize(newChipList.length);\n if (!this.props.invokeEvent) {\n this.invokeEventCallback('onChange', [null, this, dataValue, this.prevDatavalue])\n }\n this.prevDatavalue = dataValue;\n }\n\n toBoolean = (val: any) => ((val && val !== 'false') ? true : false);\n\n // Prepare datavalue object from a string(junk) value when datafield is allFields.\n createCustomDataModel(val: string) {\n return {\n key: `${this.state.props.name}_item${this.state.chipsList.length}`,\n dataObject: val,\n displayfield: val,\n datafield: val,\n isCustom: true\n }\n }\n\n resetSearchModel() {\n (this as any).searchRef.isDefaultQuery = false;\n this.searchRef.clearSearch();\n }\n\n isDuplicate(item: any) {\n return findIndex(this.state.chipsList, {datafield: item.datafield}) > -1;\n }\n\n // Check if max size is reached\n private updateMaxSize(chipListLength: number) {\n const saturate = this.state.props.maxsize > 0 && (chipListLength || this.state.chipsList.length) === this.state.props.maxsize;\n \n this.updateState({\n saturate: saturate\n } as WmChipsState);\n }\n\n removeItem(item: any, index: any) {\n let newChipList = clone(this.state.chipsList);\n const isFormFieldWidget = get(this.props, 'formfield');\n newChipList = pull(newChipList, item);\n // prevent deletion if the before-remove event callback returns false\n // @ts-ignore\n const allowRemove = isFormFieldWidget ? this.props.invokeEvent('onBeforeremove',[null, this, item]) : this.invokeEventCallback('onBeforeremove',[null, this, item]);\n if (!isUndefined(allowRemove) && !this.toBoolean(allowRemove)) {\n return;\n }\n\n this.updateState({\n chipsList: newChipList\n } as WmChipsState,()=>{\n this.setDatavalue(newChipList);\n // @ts-ignore\n isFormFieldWidget ? this.props.invokeEvent && this.props.invokeEvent('onRemove', [null, this, item]) : this.invokeEventCallback('onRemove', [null, this, item]);\n });\n }\n\n private isDefaultView() {\n return !this.state.props.searchable && this.state.dataItems?.length <= 10;\n }\n\n renderChip(item: any, index: any) {\n const isSelected = this.isDefaultView() ? item.selected : true;\n return (\n <TouchableOpacity\n {...this.getTestPropsForAction('chip'+ index)}\n {...getAccessibilityProps(AccessibilityWidgetType.CHIPS, {...this.state.props, selected: isSelected})}\n style={[this.styles.chip, isSelected ? this.styles.activeChip : null]}\n key={'chipitem_'+ index}\n onPress={() => {\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n if (this.isDefaultView()) {\n this.selectChip(item);\n }\n if (get(this.props, 'formfield')) {\n // @ts-ignore\n this.props.invokeEvent('onChipclick', [null, this, item]);\n // @ts-ignore\n this.props.invokeEvent('onChipselect', [null, this, item]);\n } else {\n this.invokeEventCallback('onChipclick', [null, this, item]);\n this.invokeEventCallback('onChipselect', [null, this, item]);\n }\n }}>\n {isSelected && this.isDefaultView() ? <WmIcon id={this.getTestId('checkicon')} iconclass={'wm-sl-l sl-check'} iconsize={16} styles={merge({}, this.styles.doneIcon, {icon: {color: isSelected ? this.styles.activeChipLabel.color : null}})}></WmIcon> : null}\n { this._showSkeleton ? null : <WmPicture id={this.getTestId('chip'+ index + 'picture')} styles={this.styles.imageStyles} picturesource={item.imgSrc} shape='circle'></WmPicture>}\n { this._showSkeleton ? <WmLabel styles={{root: {width: 50}}}/> : <Text {...this.getTestPropsForAction('chip'+ index+'label')}style={[this.styles.chipLabel, isSelected ? this.styles.activeChipLabel : null]}>{item.displayexp || item.displayfield}</Text>}\n {!this.isDefaultView() && !(this.state.props.disabled||this.state.props.readonly) ? <WmIcon id={this.getTestId('clearbtn')} iconclass={'wi wi-clear'} iconsize={16} styles={this.styles.clearIcon} onTap={() => this.removeItem(item, index)}></WmIcon> : null}\n </TouchableOpacity>\n )\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultQuery) {\n const selectedItems = filter(this.state.dataItems, (item) => item.selected);\n if (selectedItems.length) {\n this.updateState({\n chipsList: selectedItems\n } as WmChipsState);\n this.updateMaxSize(selectedItems.length);\n }\n this.isDefaultQuery = false;\n }\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n componentDidUpdate(prevProps: WmChipsProps, prevState: WmChipsState) {\n super.componentDidUpdate(prevProps, prevState);\n if (prevState.chipsList !== this.state.chipsList) {\n this.searchRef?.computePosition();\n }\n } \n renderSkeleton(): React.ReactNode {\n return (<View style={this.styles.root}>\n <View style={this.styles.chipsWrapper}>{ \n [{}, {}, {}].map((item: any, index: any) => this.renderChip(item, index)) }\n </View>\n </View>)\n }\n\n renderWidget(props: WmChipsProps) {\n const chips = this.state.chipsList;\n return (<View style={this.styles.root}>\n\n <View style={this.styles.chipsWrapper}>\n {\n this.isDefaultView() ? this.state.dataItems.map((item: any, index: any) => this.renderChip(item, index)) : null\n }\n { props.searchable || !this.isDefaultView() ?\n <View style={[this.styles.searchContainer, {flexDirection: props.inputposition === 'first' ? 'column' : 'column-reverse'}]}>\n <WmSearch\n id={this.getTestId('search')}\n name=\"app-chip-search\"\n styles={this.styles.search}\n placeholder={this.state.saturate ? this.maxSizeReached : props.placeholder}\n listener={this.listener}\n dataset={props.dataset}\n searchkey={props.searchkey}\n minchars={props.minchars}\n autofocus={props.autofocus}\n disabled={props.disabled || props.readonly || this.state.saturate}\n readonly={props.readonly}\n displayexpression={props.displayexpression}\n getDisplayExpression={props.getDisplayExpression}\n displayimagesrc={props.displayimagesrc}\n displayfield={props.displayfield}\n datafield={props.datafield}\n onSubmit={this.addItem.bind(this)}\n onChange={() => {\n this.isDefaultQuery = false;\n this.props.listener?.onComponentChange && this.props.listener?.onComponentChange(this)\n }}\n showSearchIcon={false}\n showclear={false}\n type={props.minchars === 0 ? 'autocomplete' : 'search'}/>\n <View style={{ flexDirection: 'row', flexWrap: 'wrap'}}>\n {chips && chips.length ?\n chips.map((item: any, index: any) => this.renderChip(item, index))\n : null}\n </View>\n </View>\n : null }\n </View>\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","TouchableOpacity","Text","clone","findIndex","get","isUndefined","pull","forEach","filter","find","isEqual","merge","WmChipsProps","DEFAULT_CLASS","WmSearch","BaseDatasetComponent","BaseDatasetState","WmIcon","WmPicture","AccessibilityWidgetType","getAccessibilityProps","WmLabel","WmChipsState","constructor","args","_defineProperty","WmChips","props","onComponentInit","c","searchRef","val","onPropertyChange","name","$new","$old","length","updateState","chipsList","datavalue","state","dataItems","dataValueItems","Array","isArray","split","map","item","trim","slice","updatedItems","selected","includes","datafield","reset","_this$searchRef","query","onDataItemsUpdate","isDefaultQuery","updateDefaultQueryModel","addItem","$event","widget","_this$props","_this$props2","newChipList","allowAdd","push","queryModel","isFormFieldWidget","isDuplicate","resetSearchModel","invokeEvent","invokeEventCallback","toBoolean","setDatavalue","computeDisplayValue","displayValue","displayexp","displayfield","selectChip","chipItem","maxsize","selectedItem","d","key","dataValue","updateDatavalue","updateMaxSize","prevDatavalue","createCustomDataModel","dataObject","isCustom","clearSearch","chipListLength","saturate","removeItem","index","allowRemove","isDefaultView","_this$state$dataItems","searchable","renderChip","isSelected","createElement","_extends","getTestPropsForAction","CHIPS","style","styles","chip","activeChip","onPress","disabled","readonly","id","getTestId","iconclass","iconsize","doneIcon","icon","color","activeChipLabel","_showSkeleton","imageStyles","picturesource","imgSrc","shape","root","width","chipLabel","clearIcon","onTap","selectedItems","componentDidMount","componentDidUpdate","prevProps","prevState","_this$searchRef2","computePosition","renderSkeleton","chipsWrapper","renderWidget","chips","onLayout","event","handleLayout","searchContainer","flexDirection","inputposition","search","placeholder","maxSizeReached","listener","dataset","searchkey","minchars","autofocus","displayexpression","getDisplayExpression","displayimagesrc","onSubmit","bind","onChange","_this$props$listener","_this$props$listener2","onComponentChange","showSearchIcon","showclear","type","flexWrap"],"sources":["chips.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, TouchableOpacity, Text, DimensionValue } from 'react-native';\nimport { LifecycleListener } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { clone, findIndex, get, isUndefined, pull, forEach, filter, find, isEqual, merge, isArray, isString } from 'lodash';\nimport WmChipsProps from './chips.props';\nimport { DEFAULT_CLASS, WmChipsStyles } from './chips.styles';\nimport WmSearch from '@wavemaker/app-rn-runtime/components/basic/search/search.component';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport WmLabel from '../../basic/label/label.component';\nimport { isDefined } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmChipsState extends BaseDatasetState<WmChipsProps> {\n chipsList: any = [];\n saturate: any;\n}\n\nexport default class WmChips extends BaseDatasetComponent<WmChipsProps, WmChipsState, WmChipsStyles> {\n constructor(props: WmChipsProps) {\n super(props, DEFAULT_CLASS, new WmChipsProps(), new WmChipsState());\n }\n\n private searchRef: WmSearch = null as any;\n private maxSizeReached = 'Max size reached';\n private isDefaultQuery: boolean = true;\n private prevDatavalue: any;\n\n private listener: LifecycleListener = {\n onComponentInit: (c) => {\n if (c instanceof WmSearch) {\n this.searchRef = c;\n }\n }\n };\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch (name) {\n case 'datavalue':\n if (!$new || $new.length === 0) {\n this.updateState({\n chipsList: [],\n } as WmChipsState);\n }\n break;\n case 'maxsize':\n if ($new) {\n const { datavalue } = this.state.props;\n const { dataItems } = this.state;\n \n let dataValueItems = Array.isArray(datavalue)\n ? datavalue\n : typeof datavalue === 'string'\n ? datavalue.split(',').map((item) => item.trim())\n : datavalue != null\n ? [datavalue]\n : [];\n\n if (dataValueItems.length >= $new) {\n dataValueItems = dataValueItems.slice(0, $new);\n const updatedItems = dataItems.map((item:any) => ({\n ...item,\n selected: dataValueItems.includes(item.datafield),\n }));\n this.updateState({ dataItems: updatedItems } as WmChipsState);\n }\n\n break;\n }\n }\n }\n\n reset() {\n if (this.searchRef?.state.props.query) {\n this.searchRef.reset();\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.isDefaultQuery = true;\n this.updateDefaultQueryModel();\n }\n\n addItem($event: any, widget: any) {\n let newChipList = clone(this.state.chipsList),\n allowAdd;\n newChipList.push(widget.queryModel);\n const isFormFieldWidget = get(this.props, 'formfield');\n if (this.isDuplicate(widget.queryModel)) {\n this.resetSearchModel();\n return;\n }\n\n // @ts-ignore\n allowAdd = isFormFieldWidget ? this.props?.invokeEvent('onBeforeadd', [null, this, widget.queryModel]) : this.invokeEventCallback('onBeforeadd', [null, this, widget.queryModel]);\n\n if (!isUndefined(allowAdd) && !this.toBoolean(allowAdd)) {\n return;\n }\n\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n\n this.setDatavalue(newChipList);\n\n // @ts-ignore\n isFormFieldWidget ? this.props?.invokeEvent('onAdd', [null, this, widget.queryModel]) : this.invokeEventCallback('onAdd', [null, this, widget.queryModel]);\n this.resetSearchModel();\n }\n\n computeDisplayValue() {\n this.updateState({\n props: {\n displayValue: ((this.state.dataItems || [] as any)\n .filter((item: any) => item.selected)\n .map((item: any) => item.displayexp || item.displayfield)) || ''\n }\n } as WmChipsState);\n }\n\n selectChip(chipItem: any) {\n if (!chipItem.selected && this.state.props.maxsize > 0 && (this.state.chipsList.length === this.state.props.maxsize)) {\n return;\n }\n chipItem.selected = !chipItem.selected;\n const newChipList: any = [];\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, chipItem.key));\n selectedItem.selected = chipItem.selected;\n forEach(this.state.dataItems, (item) => {\n if (item.selected) {\n newChipList.push(item);\n }\n });\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n\n this.setDatavalue(newChipList);\n }\n\n setDatavalue(newChipList: any) {\n const dataValue = newChipList.map((item: any) => item.datafield);\n this.updateDatavalue(dataValue);\n this.updateMaxSize(newChipList.length);\n if (!this.props.invokeEvent) {\n this.invokeEventCallback('onChange', [null, this, dataValue, this.prevDatavalue])\n }\n this.prevDatavalue = dataValue;\n }\n\n toBoolean = (val: any) => ((val && val !== 'false') ? true : false);\n\n // Prepare datavalue object from a string(junk) value when datafield is allFields.\n createCustomDataModel(val: string) {\n return {\n key: `${this.state.props.name}_item${this.state.chipsList.length}`,\n dataObject: val,\n displayfield: val,\n datafield: val,\n isCustom: true\n }\n }\n\n resetSearchModel() {\n (this as any).searchRef.isDefaultQuery = false;\n this.searchRef.clearSearch();\n }\n\n isDuplicate(item: any) {\n return findIndex(this.state.chipsList, {datafield: item.datafield}) > -1;\n }\n\n // Check if max size is reached\n private updateMaxSize(chipListLength: number) {\n const saturate = this.state.props.maxsize > 0 && (chipListLength || this.state.chipsList.length) === this.state.props.maxsize;\n \n this.updateState({\n saturate: saturate\n } as WmChipsState);\n }\n\n removeItem(item: any, index: any) {\n let newChipList = clone(this.state.chipsList);\n const isFormFieldWidget = get(this.props, 'formfield');\n newChipList = pull(newChipList, item);\n // prevent deletion if the before-remove event callback returns false\n // @ts-ignore\n const allowRemove = isFormFieldWidget ? this.props.invokeEvent('onBeforeremove',[null, this, item]) : this.invokeEventCallback('onBeforeremove',[null, this, item]);\n if (!isUndefined(allowRemove) && !this.toBoolean(allowRemove)) {\n return;\n }\n\n this.updateState({\n chipsList: newChipList\n } as WmChipsState,()=>{\n this.setDatavalue(newChipList);\n // @ts-ignore\n isFormFieldWidget ? this.props.invokeEvent && this.props.invokeEvent('onRemove', [null, this, item]) : this.invokeEventCallback('onRemove', [null, this, item]);\n });\n }\n\n private isDefaultView() {\n return !this.state.props.searchable && this.state.dataItems?.length <= 10;\n }\n\n renderChip(item: any, index: any) {\n const isSelected = this.isDefaultView() ? item.selected : true;\n return (\n <TouchableOpacity\n {...this.getTestPropsForAction('chip'+ index)}\n {...getAccessibilityProps(AccessibilityWidgetType.CHIPS, {...this.state.props, selected: isSelected})}\n style={[this.styles.chip, isSelected ? this.styles.activeChip : null]}\n key={'chipitem_'+ index}\n onPress={() => {\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n if (this.isDefaultView()) {\n this.selectChip(item);\n }\n if (get(this.props, 'formfield')) {\n // @ts-ignore\n this.props.invokeEvent('onChipclick', [null, this, item]);\n // @ts-ignore\n this.props.invokeEvent('onChipselect', [null, this, item]);\n } else {\n this.invokeEventCallback('onChipclick', [null, this, item]);\n this.invokeEventCallback('onChipselect', [null, this, item]);\n }\n }}>\n {isSelected && this.isDefaultView() ? <WmIcon id={this.getTestId('checkicon')} iconclass={'wm-sl-l sl-check'} iconsize={16} styles={merge({}, this.styles.doneIcon, {icon: {color: isSelected ? this.styles.activeChipLabel.color : null}})}></WmIcon> : null}\n { this._showSkeleton ? null : <WmPicture id={this.getTestId('chip'+ index + 'picture')} styles={this.styles.imageStyles} picturesource={item.imgSrc} shape='circle'></WmPicture>}\n { this._showSkeleton ? <WmLabel styles={{root: {width: 50}}}/> : <Text {...this.getTestPropsForAction('chip'+ index+'label')}style={[this.styles.chipLabel, isSelected ? this.styles.activeChipLabel : null]}>{item.displayexp || item.displayfield}</Text>}\n {!this.isDefaultView() && !(this.state.props.disabled||this.state.props.readonly) ? <WmIcon id={this.getTestId('clearbtn')} iconclass={'wi wi-clear'} iconsize={16} styles={this.styles.clearIcon} onTap={() => this.removeItem(item, index)}></WmIcon> : null}\n </TouchableOpacity>\n )\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultQuery) {\n const selectedItems = filter(this.state.dataItems, (item) => item.selected);\n if (selectedItems.length) {\n this.updateState({\n chipsList: selectedItems\n } as WmChipsState);\n this.updateMaxSize(selectedItems.length);\n }\n this.isDefaultQuery = false;\n }\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n componentDidUpdate(prevProps: WmChipsProps, prevState: WmChipsState) {\n super.componentDidUpdate(prevProps, prevState);\n if (prevState.chipsList !== this.state.chipsList) {\n this.searchRef?.computePosition();\n }\n } \n renderSkeleton(): React.ReactNode {\n return (<View style={this.styles.root}>\n <View style={this.styles.chipsWrapper}>{ \n [{}, {}, {}].map((item: any, index: any) => this.renderChip(item, index)) }\n </View>\n </View>)\n }\n\n renderWidget(props: WmChipsProps) {\n const chips = this.state.chipsList;\n return (<View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n\n <View style={this.styles.chipsWrapper}>\n {\n this.isDefaultView() ? this.state.dataItems.map((item: any, index: any) => this.renderChip(item, index)) : null\n }\n { props.searchable || !this.isDefaultView() ?\n <View style={[this.styles.searchContainer, {flexDirection: props.inputposition === 'first' ? 'column' : 'column-reverse'}]}>\n <WmSearch\n id={this.getTestId('search')}\n name=\"app-chip-search\"\n styles={this.styles.search}\n placeholder={this.state.saturate ? this.maxSizeReached : props.placeholder}\n listener={this.listener}\n dataset={props.dataset}\n searchkey={props.searchkey}\n minchars={props.minchars}\n autofocus={props.autofocus}\n disabled={props.disabled || props.readonly || this.state.saturate}\n readonly={props.readonly}\n displayexpression={props.displayexpression}\n getDisplayExpression={props.getDisplayExpression}\n displayimagesrc={props.displayimagesrc}\n displayfield={props.displayfield}\n datafield={props.datafield}\n onSubmit={this.addItem.bind(this)}\n onChange={() => {\n this.isDefaultQuery = false;\n this.props.listener?.onComponentChange && this.props.listener?.onComponentChange(this)\n }}\n showSearchIcon={false}\n showclear={false}\n type={props.minchars === 0 ? 'autocomplete' : 'search'}/>\n <View style={{ flexDirection: 'row', flexWrap: 'wrap'}}>\n {chips && chips.length ?\n chips.map((item: any, index: any) => this.renderChip(item, index))\n : null}\n </View>\n </View>\n : null }\n </View>\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -17,7 +17,8 @@ export default class WmComposite extends BaseComponent {
17
17
  renderWidget(props) {
18
18
  const styles = this.theme.mergeStyle({}, this.styles, props.captionposition ? this.theme.getStyle(POSITION_STYLES[props.captionposition]) : {});
19
19
  return /*#__PURE__*/React.createElement(View, {
20
- style: styles.root
20
+ style: styles.root,
21
+ onLayout: event => this.handleLayout(event)
21
22
  }, this._background, props.children);
22
23
  }
23
24
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","BaseComponent","BaseComponentState","WmCompositeProps","DEFAULT_CLASS","WmCompositeState","POSITION_STYLES","WmComposite","constructor","props","renderWidget","styles","theme","mergeStyle","captionposition","getStyle","createElement","style","root","_background","children"],"sources":["composite.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmCompositeProps from './composite.props';\nimport { DEFAULT_CLASS, WmCompositeStyles } from './composite.styles';\n\nexport class WmCompositeState extends BaseComponentState<WmCompositeProps> {};\n\nconst POSITION_STYLES = {\n 'top': 'app-composite-top-caption',\n 'left': 'app-composite-left-caption',\n 'right': 'app-composite-right-caption'\n};\n\nexport default class WmComposite extends BaseComponent<WmCompositeProps, WmCompositeState, WmCompositeStyles> {\n\n constructor(props: WmCompositeProps) {\n super(props, DEFAULT_CLASS, new WmCompositeProps());\n }\n\n renderWidget(props: WmCompositeProps) {\n const styles = this.theme.mergeStyle({}, \n this.styles,\n props.captionposition ? this.theme.getStyle(POSITION_STYLES[props.captionposition]) : {}\n );\n return (<View style={styles.root}>{this._background}{props.children}</View>); \n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,gBAAgB,MAAM,mBAAmB;AAChD,SAASC,aAAa,QAA2B,oBAAoB;AAErE,OAAO,MAAMC,gBAAgB,SAASH,kBAAkB,CAAmB;AAAE;AAE7E,MAAMI,eAAe,GAAG;EACtB,KAAK,EAAE,2BAA2B;EAClC,MAAM,EAAE,4BAA4B;EACpC,OAAO,EAAE;AACX,CAAC;AAED,eAAe,MAAMC,WAAW,SAASN,aAAa,CAAwD;EAE5GO,WAAWA,CAACC,KAAuB,EAAE;IACnC,KAAK,CAACA,KAAK,EAAEL,aAAa,EAAE,IAAID,gBAAgB,CAAC,CAAC,CAAC;EACrD;EAEAO,YAAYA,CAACD,KAAuB,EAAE;IACpC,MAAME,MAAM,GAAG,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC,CAAC,CAAC,EACrC,IAAI,CAACF,MAAM,EACXF,KAAK,CAACK,eAAe,GAAG,IAAI,CAACF,KAAK,CAACG,QAAQ,CAACT,eAAe,CAACG,KAAK,CAACK,eAAe,CAAC,CAAC,GAAG,CAAC,CACzF,CAAC;IACD,oBAAQf,KAAA,CAAAiB,aAAA,CAAChB,IAAI;MAACiB,KAAK,EAAEN,MAAM,CAACO;IAAK,GAAE,IAAI,CAACC,WAAW,EAAEV,KAAK,CAACW,QAAe,CAAC;EAC7E;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","View","BaseComponent","BaseComponentState","WmCompositeProps","DEFAULT_CLASS","WmCompositeState","POSITION_STYLES","WmComposite","constructor","props","renderWidget","styles","theme","mergeStyle","captionposition","getStyle","createElement","style","root","onLayout","event","handleLayout","_background","children"],"sources":["composite.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport WmCompositeProps from './composite.props';\nimport { DEFAULT_CLASS, WmCompositeStyles } from './composite.styles';\n\nexport class WmCompositeState extends BaseComponentState<WmCompositeProps> {};\n\nconst POSITION_STYLES = {\n 'top': 'app-composite-top-caption',\n 'left': 'app-composite-left-caption',\n 'right': 'app-composite-right-caption'\n};\n\nexport default class WmComposite extends BaseComponent<WmCompositeProps, WmCompositeState, WmCompositeStyles> {\n\n constructor(props: WmCompositeProps) {\n super(props, DEFAULT_CLASS, new WmCompositeProps());\n }\n\n renderWidget(props: WmCompositeProps) {\n const styles = this.theme.mergeStyle({}, \n this.styles,\n props.captionposition ? this.theme.getStyle(POSITION_STYLES[props.captionposition]) : {}\n );\n return (<View style={styles.root} onLayout={(event) => this.handleLayout(event)}>{this._background}{props.children}</View>); \n }\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AAEjG,OAAOC,gBAAgB,MAAM,mBAAmB;AAChD,SAASC,aAAa,QAA2B,oBAAoB;AAErE,OAAO,MAAMC,gBAAgB,SAASH,kBAAkB,CAAmB;AAAE;AAE7E,MAAMI,eAAe,GAAG;EACtB,KAAK,EAAE,2BAA2B;EAClC,MAAM,EAAE,4BAA4B;EACpC,OAAO,EAAE;AACX,CAAC;AAED,eAAe,MAAMC,WAAW,SAASN,aAAa,CAAwD;EAE5GO,WAAWA,CAACC,KAAuB,EAAE;IACnC,KAAK,CAACA,KAAK,EAAEL,aAAa,EAAE,IAAID,gBAAgB,CAAC,CAAC,CAAC;EACrD;EAEAO,YAAYA,CAACD,KAAuB,EAAE;IACpC,MAAME,MAAM,GAAG,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC,CAAC,CAAC,EACrC,IAAI,CAACF,MAAM,EACXF,KAAK,CAACK,eAAe,GAAG,IAAI,CAACF,KAAK,CAACG,QAAQ,CAACT,eAAe,CAACG,KAAK,CAACK,eAAe,CAAC,CAAC,GAAG,CAAC,CACzF,CAAC;IACD,oBAAQf,KAAA,CAAAiB,aAAA,CAAChB,IAAI;MAACiB,KAAK,EAAEN,MAAM,CAACO,IAAK;MAACC,QAAQ,EAAGC,KAAK,IAAK,IAAI,CAACC,YAAY,CAACD,KAAK;IAAE,GAAE,IAAI,CAACE,WAAW,EAAEb,KAAK,CAACc,QAAe,CAAC;EAC5H;AACF","ignoreList":[]}
@@ -56,7 +56,8 @@ export default class WmCurrency extends BaseNumberComponent {
56
56
  const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';
57
57
  opts[valueExpr] = ((_this$state$textValue = this.state.textValue) === null || _this$state$textValue === void 0 ? void 0 : _this$state$textValue.toString()) || '';
58
58
  return /*#__PURE__*/React.createElement(View, {
59
- style: this.styles.root
59
+ style: this.styles.root,
60
+ onLayout: event => this.handleLayout(event)
60
61
  }, /*#__PURE__*/React.createElement(View, {
61
62
  style: this._showSkeleton && !this.props.floatinglabel ? this.styles.skeletonLabelWrapper.root : this.styles.labelWrapper
62
63
  }, this._showSkeleton ? /*#__PURE__*/React.createElement(React.Fragment, null, this.renderTextSkeleton(this.styles.skeletonLabel.root)) : /*#__PURE__*/React.createElement(Text, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","Platform","WmCurrencyProps","CURRENCY_INFO","WMTextInput","DEFAULT_CLASS","BaseNumberComponent","BaseNumberState","isNull","AccessibilityWidgetType","getAccessibilityProps","countDecimalDigits","validateInputOnDevice","createSkeleton","WmCurrencyState","constructor","args","_defineProperty","WmCurrency","props","onPropertyChange","name","$new","$old","updateState","currencySymbol","symbol","getStyleClassName","classes","state","floatinglabel","push","join","renderTextSkeleton","createElement","Fragment","theme","styles","skeleton","root","renderWidget","_this$state$textValue","opts","valueExpr","OS","textValue","toString","style","_showSkeleton","skeletonLabelWrapper","labelWrapper","skeletonLabel","label","skeletonTextInputWrapper","flex","_extends","getTestPropsForInput","CURRENCY","ref","widgetRef","selectionStart","selectionEnd","cursor","keyboardType","placeholderTextColor","placeholderText","color","isInputFocused","input","text","isValid","invalid","focused","floatingLabel","floatingLabelStyle","activeFloatingLabelStyle","activeFloatingLabel","editable","disabled","readonly","placeholder","background","_background","onBlur","bind","onFocus","onKeyPress","validateInputEntry","onChangeText","isValidText","validText","decimalPlaces","decimalPlacesInNumber","restrictDecimalRegex","RegExp","updatedCurrencyText","replace","_this$widgetRef","setNativeProps","onChange","invokeChange","allowContentSelection","userSelect"],"sources":["currency.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, Platform, DimensionValue } from 'react-native';\n\nimport WmCurrencyProps from './currency.props';\nimport { CURRENCY_INFO } from '@wavemaker/app-rn-runtime/core/currency-constants';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport { DEFAULT_CLASS, WmCurrencyStyles } from './currency.styles';\nimport {\n BaseNumberComponent,\n BaseNumberState\n} from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.component';\nimport { isNull } from \"lodash\";\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { countDecimalDigits, validateInputOnDevice } from '@wavemaker/app-rn-runtime/core/utils';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmCurrencyState extends BaseNumberState<WmCurrencyProps> {\n currencySymbol: any;\n}\n\nexport default class WmCurrency extends BaseNumberComponent<WmCurrencyProps, WmCurrencyState, WmCurrencyStyles> {\n\n constructor(props: WmCurrencyProps) {\n super(props, DEFAULT_CLASS, new WmCurrencyProps(), new WmCurrencyState());\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n switch (name) {\n case 'currency':\n if ($new) {\n this.updateState({\n currencySymbol: CURRENCY_INFO[$new].symbol,\n } as WmCurrencyState);\n }\n break;\n\n }\n }\n\n public getStyleClassName(): string | undefined {\n const classes = [];\n if (this.state.props.floatinglabel) {\n classes.push('app-currency-with-label'); \n }\n classes.push(super.getStyleClassName());\n return classes.join(' ');\n }\n\n public renderTextSkeleton(props:any): React.ReactNode { \n return this.props.floatinglabel ? <>{createSkeleton(this.theme, {} as WmSkeletonStyles, {...props})}</>\n : <>{createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.skeleton.root,\n })}</>\n }\n\n renderWidget(props: WmCurrencyProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return (<View style={this.styles.root}>\n <View style={ (this._showSkeleton && !this.props.floatinglabel) ? this.styles.skeletonLabelWrapper.root : this.styles.labelWrapper }>\n {this._showSkeleton ? <>{this.renderTextSkeleton(this.styles.skeletonLabel.root)}</> :\n <Text style={this.styles.label}>{this.state.currencySymbol}</Text>}\n </View>\n {this._showSkeleton ? <>{this.renderTextSkeleton(this.styles.skeletonTextInputWrapper.root)}</> :<View style={{flex: 1}}>\n <WMTextInput\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.CURRENCY, props)}\n ref={(ref: any) => {\n this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }\n }}\n keyboardType=\"numeric\"\n placeholderTextColor={this.styles.placeholderText.color as any}\n isInputFocused={ this.state.isInputFocused }\n style={[this.styles.input, this.styles.text, this.state.isValid ? {} : this.styles.invalid, this.state.isInputFocused ? this.styles.focused : {}]}\n {...opts}\n floatingLabel={props.floatinglabel}\n floatingLabelStyle={this.styles.floatingLabel}\n activeFloatingLabelStyle={this.styles.activeFloatingLabel}\n editable={props.disabled || props.readonly ? false : true}\n placeholder={props.placeholder}\n background={this._background}\n onBlur={this.onBlur.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onKeyPress={this.validateInputEntry.bind(this)}\n onChangeText={(text) => {\n const {isValidText, validText} = validateInputOnDevice(text, \"currency\");\n const decimalPlaces = props.decimalPlaces;\n const decimalPlacesInNumber = countDecimalDigits(validText);\n const restrictDecimalRegex = new RegExp(`(\\\\.\\\\d{${decimalPlaces}})\\\\d*`);\n const updatedCurrencyText = validText.replace(restrictDecimalRegex, '$1');\n\n if (!isValidText || decimalPlaces < decimalPlacesInNumber) {\n (this.widgetRef as any)?.setNativeProps({ text: updatedCurrencyText });\n }\n\n this.onChangeText.bind(this)(updatedCurrencyText, 'currency');\n }}\n onChange={this.invokeChange.bind(this)}\n allowContentSelection={this.styles.text.userSelect === 'text'}\n />\n </View> }\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","Platform","WmCurrencyProps","CURRENCY_INFO","WMTextInput","DEFAULT_CLASS","BaseNumberComponent","BaseNumberState","isNull","AccessibilityWidgetType","getAccessibilityProps","countDecimalDigits","validateInputOnDevice","createSkeleton","WmCurrencyState","constructor","args","_defineProperty","WmCurrency","props","onPropertyChange","name","$new","$old","updateState","currencySymbol","symbol","getStyleClassName","classes","state","floatinglabel","push","join","renderTextSkeleton","createElement","Fragment","theme","styles","skeleton","root","renderWidget","_this$state$textValue","opts","valueExpr","OS","textValue","toString","style","onLayout","event","handleLayout","_showSkeleton","skeletonLabelWrapper","labelWrapper","skeletonLabel","label","skeletonTextInputWrapper","flex","_extends","getTestPropsForInput","CURRENCY","ref","widgetRef","selectionStart","selectionEnd","cursor","keyboardType","placeholderTextColor","placeholderText","color","isInputFocused","input","text","isValid","invalid","focused","floatingLabel","floatingLabelStyle","activeFloatingLabelStyle","activeFloatingLabel","editable","disabled","readonly","placeholder","background","_background","onBlur","bind","onFocus","onKeyPress","validateInputEntry","onChangeText","isValidText","validText","decimalPlaces","decimalPlacesInNumber","restrictDecimalRegex","RegExp","updatedCurrencyText","replace","_this$widgetRef","setNativeProps","onChange","invokeChange","allowContentSelection","userSelect"],"sources":["currency.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, Platform, DimensionValue } from 'react-native';\n\nimport WmCurrencyProps from './currency.props';\nimport { CURRENCY_INFO } from '@wavemaker/app-rn-runtime/core/currency-constants';\nimport { WMTextInput } from '@wavemaker/app-rn-runtime/core/components/textinput.component';\nimport { DEFAULT_CLASS, WmCurrencyStyles } from './currency.styles';\nimport {\n BaseNumberComponent,\n BaseNumberState\n} from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.component';\nimport { isNull } from \"lodash\";\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { countDecimalDigits, validateInputOnDevice } from '@wavemaker/app-rn-runtime/core/utils';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmCurrencyState extends BaseNumberState<WmCurrencyProps> {\n currencySymbol: any;\n}\n\nexport default class WmCurrency extends BaseNumberComponent<WmCurrencyProps, WmCurrencyState, WmCurrencyStyles> {\n\n constructor(props: WmCurrencyProps) {\n super(props, DEFAULT_CLASS, new WmCurrencyProps(), new WmCurrencyState());\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n switch (name) {\n case 'currency':\n if ($new) {\n this.updateState({\n currencySymbol: CURRENCY_INFO[$new].symbol,\n } as WmCurrencyState);\n }\n break;\n\n }\n }\n\n public getStyleClassName(): string | undefined {\n const classes = [];\n if (this.state.props.floatinglabel) {\n classes.push('app-currency-with-label'); \n }\n classes.push(super.getStyleClassName());\n return classes.join(' ');\n }\n\n public renderTextSkeleton(props:any): React.ReactNode { \n return this.props.floatinglabel ? <>{createSkeleton(this.theme, {} as WmSkeletonStyles, {...props})}</>\n : <>{createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.skeleton.root,\n })}</>\n }\n\n renderWidget(props: WmCurrencyProps) {\n let opts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n opts[valueExpr] = this.state.textValue?.toString() || '';\n return (<View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n <View style={ (this._showSkeleton && !this.props.floatinglabel) ? this.styles.skeletonLabelWrapper.root : this.styles.labelWrapper }>\n {this._showSkeleton ? <>{this.renderTextSkeleton(this.styles.skeletonLabel.root)}</> :\n <Text style={this.styles.label}>{this.state.currencySymbol}</Text>}\n </View>\n {this._showSkeleton ? <>{this.renderTextSkeleton(this.styles.skeletonTextInputWrapper.root)}</> :<View style={{flex: 1}}>\n <WMTextInput\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.CURRENCY, props)}\n ref={(ref: any) => {\n this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }\n }}\n keyboardType=\"numeric\"\n placeholderTextColor={this.styles.placeholderText.color as any}\n isInputFocused={ this.state.isInputFocused }\n style={[this.styles.input, this.styles.text, this.state.isValid ? {} : this.styles.invalid, this.state.isInputFocused ? this.styles.focused : {}]}\n {...opts}\n floatingLabel={props.floatinglabel}\n floatingLabelStyle={this.styles.floatingLabel}\n activeFloatingLabelStyle={this.styles.activeFloatingLabel}\n editable={props.disabled || props.readonly ? false : true}\n placeholder={props.placeholder}\n background={this._background}\n onBlur={this.onBlur.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onKeyPress={this.validateInputEntry.bind(this)}\n onChangeText={(text) => {\n const {isValidText, validText} = validateInputOnDevice(text, \"currency\");\n const decimalPlaces = props.decimalPlaces;\n const decimalPlacesInNumber = countDecimalDigits(validText);\n const restrictDecimalRegex = new RegExp(`(\\\\.\\\\d{${decimalPlaces}})\\\\d*`);\n const updatedCurrencyText = validText.replace(restrictDecimalRegex, '$1');\n\n if (!isValidText || decimalPlaces < decimalPlacesInNumber) {\n (this.widgetRef as any)?.setNativeProps({ text: updatedCurrencyText });\n }\n\n this.onChangeText.bind(this)(updatedCurrencyText, 'currency');\n }}\n onChange={this.invokeChange.bind(this)}\n allowContentSelection={this.styles.text.userSelect === 'text'}\n />\n </View> }\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -327,7 +327,7 @@ export default class BaseDatetime extends BaseComponent {
327
327
  return null;
328
328
  });
329
329
  }
330
- addTouchableOpacity(props, children, styles) {
330
+ addTouchableOpacity(props, children, styles, handleLayout) {
331
331
  var _children$props;
332
332
  const hint = children === null || children === void 0 || (_children$props = children.props) === null || _children$props === void 0 ? void 0 : _children$props.hint;
333
333
  const accessibilityProps = hint ? {
@@ -335,6 +335,7 @@ export default class BaseDatetime extends BaseComponent {
335
335
  accessibilityHint: hint
336
336
  } : {};
337
337
  return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, this.getTestPropsForAction(), accessibilityProps, {
338
+ onLayout: handleLayout,
338
339
  style: styles,
339
340
  onPress: () => {
340
341
  if (!props.readonly) {
@@ -467,7 +468,7 @@ export default class BaseDatetime extends BaseComponent {
467
468
  timeheadertitle: props.timeheadertitle,
468
469
  timeconfirmationtitle: props.timeconfirmationtitle,
469
470
  timecanceltitle: props.timecanceltitle
470
- })));
471
+ })), {}, this.handleLayout);
471
472
  }
472
473
  }
473
474
  //# sourceMappingURL=base-datetime.component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","Platform","TouchableOpacity","moment","DateTimePicker","BaseComponent","BaseComponentState","WmIcon","WmDatetimeProps","DEFAULT_CLASS","WebDatePicker","isNumber","isString","ModalConsumer","isDateFormatAsPerPattern","validateField","AccessibilityWidgetType","getAccessibilityProps","FloatingLabel","AppI18nService","WmButton","WmDatePickerModal","WmTimePickerModal","createSkeleton","BaseDatetimeState","constructor","args","_defineProperty","CURRENT_DATE","CURRENT_TIME","BaseDatetime","props","defaultClass","defaultProps","defaultState","format","date","Date","getTime","parse","parseInt","toDate","monitorAndUpdateCurrentTime","stopCurrentTimeMonitor","timerId","setInterval","updateState","readonly","datavalue","now","state","clearInterval","convertTimezone","timezone","getTimezone","parsedDateString","toLocaleString","locale","timeZone","momentPattern","pattern","replaceAll","onPropertyChange","name","$new","$old","prevDatavalue","outputformat","datepattern","dateValue","displayValue","onFieldChange","minDateVal","mindate","isMinMatchingPattern","minDatePatternFormatted","formattedMinDate","maxDateVal","maxdate","isMaxMatchingPattern","maxDatePatternFormatted","formattedMaxDate","disabled","onDateChange","$event","prevDate","undefined","validate","modes","shift","newDate","isFocused","showDatePicker","length","timestamp","invokeEventCallback","onBlur","OS","setTimeout","triggerValidation","onFocus","mode","showDatePickerModal","showTimePickerModal","value","validationObj","setState","isValid","errorType","componentWillUnmount","renderWebWidget","createElement","onDismiss","minimumDate","maximumDate","renderNativeWidget","_extends","DATE","is24Hour","display","onChange","event","dateSelected","set","getMonth","getFullYear","getDate","renderNativeIOSWidget","date_change","style","styles","dialog","actionWrapper","selectBtn","caption","onTap","cancelBtn","renderNativeIOSWidgetWithModal","modalService","nativeModalOptions","content","Fragment","hideModal","centered","onClose","showModal","renderNativeWidgetWithModal","addTouchableOpacity","children","_children$props","hint","accessibilityProps","accessible","accessibilityHint","getTestPropsForAction","onPress","getIcon","renderSkeleton","floatinglabel","placeholder","container","root","theme","skeleton","icon","renderWidget","_props$floatinglabel","is12HourFormat","test","is24hour","invalid","focused","_background","moveUp","label","floatingLabel","activeFloatingLabel","text","placeholderText","getTestPropsForLabel","flex","isRTL","flexDirection","textAlign","iconclass","color","clearIcon","id","getTestId","accessibilitylabel","clearBtnClicked","calendarIcon","iswheelpicker","isVisible","minDate","maxDate","selectedDate","onSelect","onCancel","dateheadertitle","dateconfirmationtitle","datecanceltitle","selectedDateTime","time","timeheadertitle","timeconfirmationtitle","timecanceltitle"],"sources":["base-datetime.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, Platform, TouchableOpacity, ViewStyle, DimensionValue } from 'react-native';\nimport moment from 'moment';\nimport DateTimePicker, { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmDatetimeProps from './datetime/datetime.props';\nimport { DEFAULT_CLASS, WmDatetimeStyles } from './datetime/datetime.styles';\nimport WebDatePicker from './date-picker.component';\nimport { isEqual, isNumber, isString } from 'lodash-es';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { isDateFormatAsPerPattern, validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { FloatingLabel } from '@wavemaker/app-rn-runtime/core/components/floatinglabel.component';\nimport AppI18nService from '@wavemaker/app-rn-runtime/runtime/services/app-i18n.service';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport WmDatePickerModal from './wheelpickermodal/date/date-picker-modal.component';\nimport WmTimePickerModal from './wheelpickermodal/time/time-picker-modal.component';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class BaseDatetimeState extends BaseComponentState<WmDatetimeProps> {\n showDatePicker = false;\n showDatePickerModal = false;\n showTimePickerModal = false;\n dateValue: Date = null as any;\n displayValue: string = null as any;\n isFocused = false;\n timerId: NodeJS.Timer = null as any;\n isValid: boolean = true;\n errorType = '';\n}\n\nconst CURRENT_DATE = 'CURRENT_DATE';\nconst CURRENT_TIME = 'CURRENT_TIME';\n\nexport default abstract class BaseDatetime extends BaseComponent<WmDatetimeProps, BaseDatetimeState, WmDatetimeStyles> {\n clearBtnClicked = false;\n modes = [] as string[];\n nativeModalOptions: ModalOptions = {} as any;\n prevDatavalue: any;\n\n constructor(props: WmDatetimeProps, defaultClass = DEFAULT_CLASS, defaultProps = new WmDatetimeProps(), defaultState= new BaseDatetimeState()) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n format(date: Date | number | undefined, format: string) {\n if (format === 'timestamp') {\n return date instanceof Date ? '' + date.getTime() : date;\n }\n return date && moment(date).format(format);\n }\n\n parse(date: string | number, format: string) {\n if (format === 'timestamp') {\n if (isString(date)) {\n return new Date(parseInt(date));\n }\n if (isNumber(date)) {\n return new Date(date);\n }\n }\n return date && moment(date, format).toDate();\n }\n\n private monitorAndUpdateCurrentTime() {\n this.stopCurrentTimeMonitor();\n const timerId = setInterval(() => {\n this.updateState({\n props: {\n readonly: true,\n datavalue: Date.now()\n },\n timerId: timerId\n } as any as BaseDatetimeState);\n }, 1000);\n }\n\n private stopCurrentTimeMonitor() {\n if (this.state.timerId) {\n clearInterval(this.state.timerId as any);\n }\n }\n\n convertTimezone(date: any){ \n const timezone = AppI18nService.getTimezone();\n if (timezone) {\n const parsedDateString = new Date(date).toLocaleString(this.props.locale ? this.props.locale : 'en-us', { timeZone: timezone });\n return moment(parsedDateString, 'M/D/YYYY, h:mm:ss A');\n }\n else {\n return null;\n }\n }\n \n momentPattern(pattern : String) {\n return pattern?.replaceAll('y', 'Y').replaceAll('d', 'D');\n}\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch(name) {\n //@ts-ignore\n case 'datavalue':\n this.prevDatavalue = $old;\n if (props.datavalue === CURRENT_TIME) {\n this.monitorAndUpdateCurrentTime();\n }\n case 'datepattern':\n case 'outputformat':\n if (props.datavalue && this.momentPattern(props.outputformat as String) && this.momentPattern(props.datepattern as String)) {\n let datavalue: any = props.datavalue;\n if (datavalue === CURRENT_DATE || datavalue === CURRENT_TIME) {\n datavalue = new Date() as any;\n }\n const date = isString(datavalue) ? this.parse(datavalue as string, this.momentPattern(props.outputformat as String)) : datavalue;\n datavalue = this.convertTimezone(datavalue);\n this.updateState({\n dateValue : date,\n displayValue: this.format(datavalue?datavalue:date as any, this.momentPattern(props.datepattern as String))\n } as BaseDatetimeState);\n } else {\n this.updateState({\n dateValue : null as any,\n displayValue: null as any\n } as BaseDatetimeState);\n }\n this.props.onFieldChange && this.props.onFieldChange('datavalue', props.datavalue, this.prevDatavalue);\n break;\n case 'mindate':\n if (isString($new)) {\n const minDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.mindate;\n // * check if supplied mindate is as per datepattern\n const isMinMatchingPattern = minDateVal\n ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern as String), minDateVal)\n : false;\n // * min date formatted as per datepattern\n const minDatePatternFormatted = minDateVal && isMinMatchingPattern ? moment(\n moment(\n minDateVal,\n this.momentPattern(props.datepattern as String)\n ).format('YYYY-MM-DD')\n ) : null;\n // * min date formatted as per ISO, if mindate supplied is not as per datepattern\n const formattedMinDate = minDatePatternFormatted && isMinMatchingPattern\n ? minDatePatternFormatted.toDate()\n : moment(minDateVal).toDate();\n this.updateState({\n props: {\n mindate: formattedMinDate\n }\n } as BaseDatetimeState);\n }\n break;\n case 'maxdate':\n if (isString($new)) {\n const maxDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.maxdate;\n // * check if supplied maxdate is as per datepattern\n const isMaxMatchingPattern = maxDateVal\n ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern as String), maxDateVal)\n : false;\n // * max date formatted as per datepattern\n const maxDatePatternFormatted = maxDateVal && isMaxMatchingPattern ? moment(\n moment(\n maxDateVal,\n this.momentPattern(props.datepattern as String)\n ).format('YYYY-MM-DD')\n ) : null;\n // * max date formatted as per ISO, if maxdate supplied is not as per datepattern\n const formattedMaxDate = maxDatePatternFormatted && isMaxMatchingPattern\n ? maxDatePatternFormatted.toDate()\n : moment(maxDateVal).toDate();\n\n this.updateState({\n props: {\n maxdate: formattedMaxDate,\n },\n } as BaseDatetimeState);\n }\n break;\n case 'readonly':\n this.updateState({\n props: {\n disabled: $new\n }\n } as BaseDatetimeState)\n break;\n }\n }\n\n onDateChange($event: DateTimePickerEvent, date?: Date) {\n const prevDate = this.format(this.state.dateValue, this.momentPattern(this.state.props.outputformat as String) as string) || undefined;\n this.validate(date);\n this.modes.shift();\n const newDate = this.format(date, this.momentPattern(this.state.props.outputformat as String) as string)\n this.updateState({\n isFocused: false,\n showDatePicker: !!this.modes.length,\n props: {\n datavalue: newDate,\n timestamp: this.format(date, 'timestamp')\n }\n } as BaseDatetimeState, () => this.invokeEventCallback('onChange', [null, this, newDate, prevDate]));\n }\n\n onBlur() {\n if (Platform.OS === 'web') {\n this.validate(this.state.props.datavalue);\n setTimeout(() => this.props.triggerValidation && this.props.triggerValidation());\n }\n this.invokeEventCallback('onBlur', [null, this]);\n }\n\n onFocus() {\n if (!this.state.props.readonly) {\n if (Platform.OS !== 'web' && this.state.props.mode === 'datetime') {\n this.modes = ['date', 'time'];\n } else {\n this.modes = [this.state.props.mode];\n }\n this.updateState({showDatePicker: true, isFocused: true} as BaseDatetimeState);\n if (this.state.props.mode === 'date') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'time') {\n this.updateState({showTimePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'datetime') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\n this.invokeEventCallback('onFocus', [null, this]);\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as BaseDatetimeState)\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n this.stopCurrentTimeMonitor();\n }\n\n renderWebWidget(props: WmDatetimeProps) {\n return (<WebDatePicker\n mode={this.state.props.mode}\n locale={props.locale}\n value={this.state.dateValue || new Date()}\n onDateChange={(date: Date) => this.onDateChange(null as any, date)}\n onDismiss={() =>\n this.updateState({\n isFocused: false,\n showDatePicker: false\n } as BaseDatetimeState, () => this.onBlur())}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}/>);\n }\n\n renderNativeWidget(props: WmDatetimeProps, onDismiss?: Function) {\n return (<DateTimePicker\n mode={this.modes[0] as any}\n {...getAccessibilityProps(AccessibilityWidgetType.DATE, {...this.state.props})}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='default'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n this.onDateChange(event, date || this.state.dateValue);\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n );\n }\n\n renderNativeIOSWidget(props: WmDatetimeProps, onDismiss?: Function) {\n let date_change : any = undefined;\n return (<View style={this.styles.dialog}>\n <DateTimePicker\n mode={this.modes[0] as any}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='spinner'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n date_change = date;\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n <View style={this.styles.actionWrapper}>\n <WmButton styles={this.styles.selectBtn} caption='Select' onTap={() => {\n this.onDateChange(null as any, date_change || this.state.dateValue || new Date());\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }} />\n <WmButton styles={this.styles.cancelBtn} caption='Cancel' onTap={() => {\n this.modes.shift();\n this.onDateChange(null as any, this.state.dateValue || undefined);\n this.onBlur();\n onDismiss && onDismiss();\n }} />\n </View>\n </View>\n );\n }\n\n renderNativeIOSWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeIOSWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n renderNativeWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n addTouchableOpacity(props: WmDatetimeProps, children: React.JSX.Element, styles?: any) : React.ReactNode{\n const hint = children?.props?.hint;\n const accessibilityProps = hint ? {accessible: true, accessibilityHint: hint} : {};\n\n return (\n <TouchableOpacity \n {...this.getTestPropsForAction()} \n {...accessibilityProps}\n style={styles} onPress={() => {\n if (!props.readonly) {\n this.onFocus();\n }\n this.invokeEventCallback('onTap', [null, this]);\n }}>\n {children}\n </TouchableOpacity>\n );\n }\n\n getIcon() {\n if (this.state.props.mode === 'time') {\n return 'wm-sl-l sl-time'\n }\n return 'wm-sl-l sl-calendar';\n }\n\n public renderSkeleton(props: WmDatetimeProps): React.ReactNode {\n return (\n this.state.props.floatinglabel || this.state.displayValue || this.state.props.placeholder ? \n <View style={{display:'flex',...this.styles.container,...this.styles.root}}>\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.skeleton.root\n })}\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.skeleton.icon\n })}\n </View> : null\n )}\n \n renderWidget(props: WmDatetimeProps) {\n const is12HourFormat = props?.datepattern && /hh:mm(:ss|:sss)? a/.test(props.datepattern);\n const is24Hour = is12HourFormat ? false : props.is24hour;\n return ( \n this.addTouchableOpacity(props, (\n <View style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid, this.state.isFocused ? this.styles.focused : null]}>\n {this._background}\n {props.floatinglabel ? (\n <FloatingLabel\n moveUp={!!(props.datavalue || this.state.isFocused)}\n label={props.floatinglabel ?? props.placeholder} \n style={{\n ...(this.styles.floatingLabel || []),\n ...(this.state.isFocused ? (this.styles.activeFloatingLabel || {}) : {})\n }}\n />\n ) : null}\n <View style={this.styles.container}>\n {this.addTouchableOpacity(props, (\n <Text style={[\n this.styles.text,\n this.state.displayValue ? {} : this.styles.placeholderText\n ]}\n {...this.getTestPropsForLabel()}>\n {this.state.displayValue \n || (props.floatinglabel ? '' : this.state.props.placeholder)}\n </Text>\n ), [{ flex: 1}, this.isRTL?{flexDirection:'row', textAlign:'right'}:{}] )}\n {(!props.readonly && props.datavalue &&\n (<WmIcon iconclass=\"wi wi-clear\"\n styles={{color: this.styles.text.color, ...this.styles.clearIcon}}\n id={this.getTestId('clearicon')}\n accessibilitylabel={`clear ${props?.mode}`}\n onTap={() => {\n this.onDateChange(null as any, null as any);\n this.clearBtnClicked = true;\n }}/>)) || null}\n {this.addTouchableOpacity(props, (\n <WmIcon iconclass={this.getIcon()} styles={{color: this.styles.text.color, ...this.styles.calendarIcon}} hint={props?.hint} id={this.getTestId('calendericon')}/>\n ))}\n </View>\n {\n this.state.showDatePicker\n && ((Platform.OS === 'web' && this.renderWebWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'android' && this.renderNativeWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'ios' && this.renderNativeIOSWidgetWithModal(props)))\n }\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showDatePickerModal) && (\n <WmDatePickerModal\n isVisible={this.state.showDatePickerModal}\n onClose={() => this.updateState({showDatePickerModal: false} as BaseDatetimeState)}\n minDate={props.mindate}\n maxDate={props.maxdate}\n selectedDate={this.state.dateValue}\n onSelect={(date: Date) => {\n this.onDateChange(null as any, date);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => {\n this.onBlur();\n\n // * showing time picker after selecting date in datetime mode\n if (this.state.props.mode === \"datetime\") {\n this.setState({\n showTimePickerModal: true,\n })\n }\n });\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => this.onBlur());\n }}\n dateheadertitle={props.dateheadertitle}\n dateconfirmationtitle={props.dateconfirmationtitle}\n datecanceltitle={props.datecanceltitle}\n />\n )}\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showTimePickerModal) && (\n <WmTimePickerModal\n selectedDateTime={this.state.dateValue}\n is24Hour={is24Hour}\n isVisible={this.state.showTimePickerModal}\n onClose={() => this.updateState({isFocused: false, showTimePickerModal: false} as BaseDatetimeState)}\n onSelect={(time: Date) => {\n this.onDateChange(null as any, time);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => this.onBlur());\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => {\n this.onBlur();\n this.modes.shift();\n });\n }}\n timeheadertitle={props.timeheadertitle}\n timeconfirmationtitle={props.timeconfirmationtitle}\n timecanceltitle={props.timecanceltitle}\n />\n )}\n </View>\n ))\n );\n }\n}\n\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,gBAAgB,QAAmC,cAAc;AAChG,OAAOC,MAAM,MAAM,QAAQ;AAC3B,OAAOC,cAAc,MAA+B,wCAAwC;AAC5F,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,OAAOC,MAAM,MAAM,gEAAgE;AAEnF,OAAOC,eAAe,MAAM,2BAA2B;AACvD,SAASC,aAAa,QAA0B,4BAA4B;AAC5E,OAAOC,aAAa,MAAM,yBAAyB;AACnD,SAAkBC,QAAQ,EAAEC,QAAQ,QAAQ,WAAW;AACvD,SAASC,aAAa,QAAoC,8CAA8C;AACxG,SAASC,wBAAwB,EAAEC,aAAa,QAAQ,sCAAsC;AAC9F,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,8CAA8C;AAC7G,SAASC,aAAa,QAAQ,mEAAmE;AACjG,OAAOC,cAAc,MAAM,6DAA6D;AACxF,OAAOC,QAAQ,MAAM,oEAAoE;AACzF,OAAOC,iBAAiB,MAAM,qDAAqD;AACnF,OAAOC,iBAAiB,MAAM,qDAAqD;AACnF,SAASC,cAAc,QAAQ,wEAAwE;AAGvG,OAAO,MAAMC,iBAAiB,SAASlB,kBAAkB,CAAkB;EAAAmB,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,yBACxD,KAAK;IAAAA,eAAA,8BACA,KAAK;IAAAA,eAAA,8BACL,KAAK;IAAAA,eAAA,oBACR,IAAI;IAAAA,eAAA,uBACA,IAAI;IAAAA,eAAA,oBACf,KAAK;IAAAA,eAAA,kBACO,IAAI;IAAAA,eAAA,kBACT,IAAI;IAAAA,eAAA,oBACX,EAAE;EAAA;AAChB;AAEA,MAAMC,YAAY,GAAG,cAAc;AACnC,MAAMC,YAAY,GAAG,cAAc;AAEnC,eAAe,MAAeC,YAAY,SAASzB,aAAa,CAAuD;EAMrHoB,WAAWA,CAACM,KAAsB,EAAEC,YAAY,GAAGvB,aAAa,EAAEwB,YAAY,GAAG,IAAIzB,eAAe,CAAC,CAAC,EAAE0B,YAAY,GAAE,IAAIV,iBAAiB,CAAC,CAAC,EAAE;IAC7I,KAAK,CAACO,KAAK,EAAEC,YAAY,EAAEC,YAAY,EAAEC,YAAY,CAAC;IAACP,eAAA,0BANvC,KAAK;IAAAA,eAAA,gBACf,EAAE;IAAAA,eAAA,6BACyB,CAAC,CAAC;IAAAA,eAAA;EAKrC;EAEAQ,MAAMA,CAACC,IAA+B,EAAED,MAAc,EAAE;IACtD,IAAIA,MAAM,KAAK,WAAW,EAAE;MAC1B,OAAOC,IAAI,YAAYC,IAAI,GAAG,EAAE,GAAGD,IAAI,CAACE,OAAO,CAAC,CAAC,GAAGF,IAAI;IAC1D;IACA,OAAOA,IAAI,IAAIjC,MAAM,CAACiC,IAAI,CAAC,CAACD,MAAM,CAACA,MAAM,CAAC;EAC5C;EAEAI,KAAKA,CAACH,IAAqB,EAAED,MAAc,EAAE;IAC3C,IAAIA,MAAM,KAAK,WAAW,EAAE;MAC1B,IAAIvB,QAAQ,CAACwB,IAAI,CAAC,EAAE;QAClB,OAAO,IAAIC,IAAI,CAACG,QAAQ,CAACJ,IAAI,CAAC,CAAC;MACjC;MACA,IAAIzB,QAAQ,CAACyB,IAAI,CAAC,EAAE;QAClB,OAAO,IAAIC,IAAI,CAACD,IAAI,CAAC;MACvB;IACF;IACA,OAAOA,IAAI,IAAIjC,MAAM,CAACiC,IAAI,EAAED,MAAM,CAAC,CAACM,MAAM,CAAC,CAAC;EAC9C;EAEQC,2BAA2BA,CAAA,EAAG;IACpC,IAAI,CAACC,sBAAsB,CAAC,CAAC;IAC7B,MAAMC,OAAO,GAAGC,WAAW,CAAC,MAAM;MAChC,IAAI,CAACC,WAAW,CAAC;QACff,KAAK,EAAE;UACLgB,QAAQ,EAAE,IAAI;UACdC,SAAS,EAAEX,IAAI,CAACY,GAAG,CAAC;QACtB,CAAC;QACDL,OAAO,EAAEA;MACX,CAA6B,CAAC;IAChC,CAAC,EAAE,IAAI,CAAC;EACV;EAEQD,sBAAsBA,CAAA,EAAG;IAC/B,IAAI,IAAI,CAACO,KAAK,CAACN,OAAO,EAAE;MACtBO,aAAa,CAAC,IAAI,CAACD,KAAK,CAACN,OAAc,CAAC;IAC1C;EACF;EAEAQ,eAAeA,CAAChB,IAAS,EAAC;IACxB,MAAMiB,QAAQ,GAAGlC,cAAc,CAACmC,WAAW,CAAC,CAAC;IAC7C,IAAID,QAAQ,EAAE;MACZ,MAAME,gBAAgB,GAAG,IAAIlB,IAAI,CAACD,IAAI,CAAC,CAACoB,cAAc,CAAC,IAAI,CAACzB,KAAK,CAAC0B,MAAM,GAAG,IAAI,CAAC1B,KAAK,CAAC0B,MAAM,GAAG,OAAO,EAAE;QAAEC,QAAQ,EAAEL;MAAS,CAAC,CAAC;MAC/H,OAAOlD,MAAM,CAACoD,gBAAgB,EAAE,qBAAqB,CAAC;IACxD,CAAC,MACI;MACH,OAAO,IAAI;IACb;EACF;EAECI,aAAaA,CAACC,OAAgB,EAAE;IAC/B,OAAOA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAACA,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;EAC7D;EAEEC,gBAAgBA,CAACC,IAAY,EAAEC,IAAS,EAAEC,IAAS,EAAE;IACnD,KAAK,CAACH,gBAAgB,CAACC,IAAI,EAAEC,IAAI,EAAEC,IAAI,CAAC;IACxC,MAAMlC,KAAK,GAAG,IAAI,CAACmB,KAAK,CAACnB,KAAK;IAC9B,QAAOgC,IAAI;MACT;MACA,KAAK,WAAW;QACd,IAAI,CAACG,aAAa,GAAGD,IAAI;QACzB,IAAIlC,KAAK,CAACiB,SAAS,KAAKnB,YAAY,EAAE;UACpC,IAAI,CAACa,2BAA2B,CAAC,CAAC;QACpC;MACF,KAAK,aAAa;MAClB,KAAK,cAAc;QACjB,IAAIX,KAAK,CAACiB,SAAS,IAAI,IAAI,CAACW,aAAa,CAAC5B,KAAK,CAACoC,YAAsB,CAAC,IAAI,IAAI,CAACR,aAAa,CAAC5B,KAAK,CAACqC,WAAqB,CAAC,EAAE;UAC1H,IAAIpB,SAAc,GAAGjB,KAAK,CAACiB,SAAS;UACpC,IAAIA,SAAS,KAAKpB,YAAY,IAAIoB,SAAS,KAAKnB,YAAY,EAAE;YAC5DmB,SAAS,GAAG,IAAIX,IAAI,CAAC,CAAQ;UAC/B;UACA,MAAMD,IAAI,GAAGxB,QAAQ,CAACoC,SAAS,CAAC,GAAG,IAAI,CAACT,KAAK,CAACS,SAAS,EAAY,IAAI,CAACW,aAAa,CAAC5B,KAAK,CAACoC,YAAsB,CAAC,CAAC,GAAGnB,SAAS;UAChIA,SAAS,GAAG,IAAI,CAACI,eAAe,CAACJ,SAAS,CAAC;UAC3C,IAAI,CAACF,WAAW,CAAC;YACfuB,SAAS,EAAGjC,IAAI;YAChBkC,YAAY,EAAE,IAAI,CAACnC,MAAM,CAACa,SAAS,GAACA,SAAS,GAACZ,IAAW,EAAE,IAAI,CAACuB,aAAa,CAAC5B,KAAK,CAACqC,WAAqB,CAAC;UAC5G,CAAsB,CAAC;QACzB,CAAC,MAAM;UACL,IAAI,CAACtB,WAAW,CAAC;YACfuB,SAAS,EAAG,IAAW;YACvBC,YAAY,EAAE;UAChB,CAAsB,CAAC;QACzB;QACA,IAAI,CAACvC,KAAK,CAACwC,aAAa,IAAI,IAAI,CAACxC,KAAK,CAACwC,aAAa,CAAC,WAAW,EAAExC,KAAK,CAACiB,SAAS,EAAE,IAAI,CAACkB,aAAa,CAAC;QACtG;MACF,KAAK,SAAS;QACZ,IAAItD,QAAQ,CAACoD,IAAI,CAAC,EAAE;UAClB,MAAMQ,UAAU,GAAIR,IAAI,KAAKpC,YAAY,IAAIoC,IAAI,KAAKnC,YAAY,GAAI,IAAIQ,IAAI,CAAC,CAAC,GAAGN,KAAK,CAAC0C,OAAO;UAChG;UACA,MAAMC,oBAAoB,GAAGF,UAAU,GACnC1D,wBAAwB,CAAC,IAAI,CAAC6C,aAAa,CAAC5B,KAAK,CAACqC,WAAqB,CAAC,EAAEI,UAAU,CAAC,GACrF,KAAK;UACT;UACA,MAAMG,uBAAuB,GAAGH,UAAU,IAAIE,oBAAoB,GAAGvE,MAAM,CACzEA,MAAM,CACJqE,UAAU,EACV,IAAI,CAACb,aAAa,CAAC5B,KAAK,CAACqC,WAAqB,CAChD,CAAC,CAACjC,MAAM,CAAC,YAAY,CACvB,CAAC,GAAG,IAAI;UACR;UACA,MAAMyC,gBAAgB,GAAGD,uBAAuB,IAAID,oBAAoB,GACpEC,uBAAuB,CAAClC,MAAM,CAAC,CAAC,GAChCtC,MAAM,CAACqE,UAAU,CAAC,CAAC/B,MAAM,CAAC,CAAC;UAC/B,IAAI,CAACK,WAAW,CAAC;YACff,KAAK,EAAE;cACL0C,OAAO,EAAEG;YACX;UACF,CAAsB,CAAC;QACzB;QACA;MACF,KAAK,SAAS;QACZ,IAAIhE,QAAQ,CAACoD,IAAI,CAAC,EAAE;UAClB,MAAMa,UAAU,GAAIb,IAAI,KAAKpC,YAAY,IAAIoC,IAAI,KAAKnC,YAAY,GAAI,IAAIQ,IAAI,CAAC,CAAC,GAAGN,KAAK,CAAC+C,OAAO;UAChG;UACA,MAAMC,oBAAoB,GAAGF,UAAU,GACnC/D,wBAAwB,CAAC,IAAI,CAAC6C,aAAa,CAAC5B,KAAK,CAACqC,WAAqB,CAAC,EAAES,UAAU,CAAC,GACrF,KAAK;UACT;UACA,MAAMG,uBAAuB,GAAGH,UAAU,IAAIE,oBAAoB,GAAG5E,MAAM,CACzEA,MAAM,CACJ0E,UAAU,EACV,IAAI,CAAClB,aAAa,CAAC5B,KAAK,CAACqC,WAAqB,CAChD,CAAC,CAACjC,MAAM,CAAC,YAAY,CACvB,CAAC,GAAG,IAAI;UACR;UACA,MAAM8C,gBAAgB,GAAGD,uBAAuB,IAAID,oBAAoB,GACtEC,uBAAuB,CAACvC,MAAM,CAAC,CAAC,GAChCtC,MAAM,CAAC0E,UAAU,CAAC,CAACpC,MAAM,CAAC,CAAC;UAE7B,IAAI,CAACK,WAAW,CAAC;YACff,KAAK,EAAE;cACL+C,OAAO,EAAEG;YACX;UACF,CAAsB,CAAC;QACzB;QACA;MACF,KAAK,UAAU;QACb,IAAI,CAACnC,WAAW,CAAC;UACff,KAAK,EAAE;YACLmD,QAAQ,EAAElB;UACZ;QACF,CAAsB,CAAC;QACvB;IACJ;EACF;EAEAmB,YAAYA,CAACC,MAA2B,EAAEhD,IAAW,EAAE;IACrD,MAAMiD,QAAQ,GAAG,IAAI,CAAClD,MAAM,CAAC,IAAI,CAACe,KAAK,CAACmB,SAAS,EAAG,IAAI,CAACV,aAAa,CAAC,IAAI,CAACT,KAAK,CAACnB,KAAK,CAACoC,YAAsB,CAAW,CAAC,IAAImB,SAAS;IACvI,IAAI,CAACC,QAAQ,CAACnD,IAAI,CAAC;IACnB,IAAI,CAACoD,KAAK,CAACC,KAAK,CAAC,CAAC;IAClB,MAAMC,OAAO,GAAG,IAAI,CAACvD,MAAM,CAACC,IAAI,EAAG,IAAI,CAACuB,aAAa,CAAC,IAAI,CAACT,KAAK,CAACnB,KAAK,CAACoC,YAAsB,CAAW,CAAC;IACzG,IAAI,CAACrB,WAAW,CAAC;MACf6C,SAAS,EAAE,KAAK;MAChBC,cAAc,EAAE,CAAC,CAAC,IAAI,CAACJ,KAAK,CAACK,MAAM;MACnC9D,KAAK,EAAE;QACLiB,SAAS,EAAE0C,OAAO;QAClBI,SAAS,EAAE,IAAI,CAAC3D,MAAM,CAACC,IAAI,EAAE,WAAW;MAC1C;IACF,CAAC,EAAuB,MAAM,IAAI,CAAC2D,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAEL,OAAO,EAAEL,QAAQ,CAAC,CAAC,CAAC;EACtG;EAEAW,MAAMA,CAAA,EAAG;IACP,IAAI/F,QAAQ,CAACgG,EAAE,KAAK,KAAK,EAAE;MACzB,IAAI,CAACV,QAAQ,CAAC,IAAI,CAACrC,KAAK,CAACnB,KAAK,CAACiB,SAAS,CAAC;MACzCkD,UAAU,CAAC,MAAM,IAAI,CAACnE,KAAK,CAACoE,iBAAiB,IAAI,IAAI,CAACpE,KAAK,CAACoE,iBAAiB,CAAC,CAAC,CAAC;IAClF;IACA,IAAI,CAACJ,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;EAClD;EAEAK,OAAOA,CAAA,EAAG;IACR,IAAI,CAAC,IAAI,CAAClD,KAAK,CAACnB,KAAK,CAACgB,QAAQ,EAAE;MAC9B,IAAI9C,QAAQ,CAACgG,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC/C,KAAK,CAACnB,KAAK,CAACsE,IAAI,KAAK,UAAU,EAAE;QACjE,IAAI,CAACb,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;MAC/B,CAAC,MAAM;QACL,IAAI,CAACA,KAAK,GAAG,CAAC,IAAI,CAACtC,KAAK,CAACnB,KAAK,CAACsE,IAAI,CAAC;MACtC;MACA,IAAI,CAACvD,WAAW,CAAC;QAAC8C,cAAc,EAAE,IAAI;QAAED,SAAS,EAAE;MAAI,CAAsB,CAAC;MAC9E,IAAI,IAAI,CAACzC,KAAK,CAACnB,KAAK,CAACsE,IAAI,KAAK,MAAM,EAAE;QACpC,IAAI,CAACvD,WAAW,CAAC;UAACwD,mBAAmB,EAAE;QAAI,CAAsB,CAAC;MACpE;MACA,IAAI,IAAI,CAACpD,KAAK,CAACnB,KAAK,CAACsE,IAAI,KAAK,MAAM,EAAE;QACpC,IAAI,CAACvD,WAAW,CAAC;UAACyD,mBAAmB,EAAE;QAAI,CAAsB,CAAC;MACpE;MACA,IAAI,IAAI,CAACrD,KAAK,CAACnB,KAAK,CAACsE,IAAI,KAAK,UAAU,EAAE;QACxC,IAAI,CAACvD,WAAW,CAAC;UAACwD,mBAAmB,EAAE;QAAI,CAAsB,CAAC;MACpE;MACA,IAAI,CAACP,mBAAmB,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnD;EACF;EAEAR,QAAQA,CAACiB,KAAU,EAAE;IACnB,MAAMC,aAAa,GAAG1F,aAAa,CAAC,IAAI,CAACmC,KAAK,CAACnB,KAAK,EAAEyE,KAAK,CAAC;IAC5D,IAAI,CAACE,QAAQ,CAAC;MACZC,OAAO,EAAEF,aAAa,CAACE,OAAO;MAC9BC,SAAS,EAAEH,aAAa,CAACG;IAC3B,CAAsB,CAAC;EACzB;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,KAAK,CAACA,oBAAoB,CAAC,CAAC;IAC5B,IAAI,CAAClE,sBAAsB,CAAC,CAAC;EAC/B;EAEAmE,eAAeA,CAAC/E,KAAsB,EAAE;IACtC,oBAAQjC,KAAA,CAAAiH,aAAA,CAACrG,aAAa;MACpB2F,IAAI,EAAE,IAAI,CAACnD,KAAK,CAACnB,KAAK,CAACsE,IAAK;MAC5B5C,MAAM,EAAE1B,KAAK,CAAC0B,MAAO;MACrB+C,KAAK,EAAE,IAAI,CAACtD,KAAK,CAACmB,SAAS,IAAI,IAAIhC,IAAI,CAAC,CAAE;MAC1C8C,YAAY,EAAG/C,IAAU,IAAK,IAAI,CAAC+C,YAAY,CAAC,IAAI,EAAS/C,IAAI,CAAE;MACnE4E,SAAS,EAAEA,CAAA,KACT,IAAI,CAAClE,WAAW,CAAC;QACf6C,SAAS,EAAE,KAAK;QAChBC,cAAc,EAAE;MAClB,CAAC,EAAuB,MAAM,IAAI,CAACI,MAAM,CAAC,CAAC,CAAE;MAC/CiB,WAAW,EAAElF,KAAK,CAAC0C,OAAgB;MACnCyC,WAAW,EAAEnF,KAAK,CAAC+C;IAAgB,CAAC,CAAC;EACzC;EAEAqC,kBAAkBA,CAACpF,KAAsB,EAAEiF,SAAoB,EAAE;IAC/D,oBAAQlH,KAAA,CAAAiH,aAAA,CAAC3G,cAAc,EAAAgH,QAAA;MACrBf,IAAI,EAAE,IAAI,CAACb,KAAK,CAAC,CAAC;IAAS,GACvBvE,qBAAqB,CAACD,uBAAuB,CAACqG,IAAI,EAAE;MAAC,GAAG,IAAI,CAACnE,KAAK,CAACnB;IAAK,CAAC,CAAC;MAC9EyE,KAAK,EAAE,IAAI,CAACtD,KAAK,CAACmB,SAAS,IAAI,IAAIhC,IAAI,CAAC,CAAE;MAC1CiF,QAAQ,EAAE,IAAK;MACfC,OAAO,EAAC,SAAS;MACjBC,QAAQ,EAAEA,CAACC,KAA0B,EAAErF,IAAW,KAAK;QACrD,IAAIA,IAAI,IAAI,IAAI,CAACc,KAAK,CAACnB,KAAK,CAACsE,IAAI,KAAK,UAAU,IAAI,IAAI,CAACb,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;UAC5E,MAAMkC,YAAY,GAAG,IAAI,CAACxE,KAAK,CAACmB,SAAS;UACzCjC,IAAI,GAAGjC,MAAM,CAACiC,IAAI,CAAC,CAChBuF,GAAG,CAAC,OAAO,EAAED,YAAY,CAACE,QAAQ,CAAC,CAAC,CAAC,CACrCD,GAAG,CAAC,MAAM,EAAED,YAAY,CAACG,WAAW,CAAC,CAAC,CAAC,CACvCF,GAAG,CAAC,MAAM,EAAED,YAAY,CAACI,OAAO,CAAC,CAAC,CAAC,CACnCrF,MAAM,CAAC,CAAC;QACb;QACA,IAAI,CAAC0C,YAAY,CAACsC,KAAK,EAAErF,IAAI,IAAI,IAAI,CAACc,KAAK,CAACmB,SAAS,CAAC;QACtD,IAAI,IAAI,CAACmB,KAAK,CAACK,MAAM,IAAI,CAAC,EAAE;UAC1B,IAAI,CAACG,MAAM,CAAC,CAAC;UACbgB,SAAS,IAAIA,SAAS,CAAC,CAAC;QAC1B;MACF,CAAE;MACFC,WAAW,EAAElF,KAAK,CAAC0C,OAAgB;MACnCyC,WAAW,EAAEnF,KAAK,CAAC+C;IAAgB,EACpC,CAAC;EAEJ;EAEAiD,qBAAqBA,CAAChG,KAAsB,EAAEiF,SAAoB,EAAE;IAClE,IAAIgB,WAAiB,GAAG1C,SAAS;IACjC,oBAAQxF,KAAA,CAAAiH,aAAA,CAAChH,IAAI;MAACkI,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC;IAAO,gBACtCrI,KAAA,CAAAiH,aAAA,CAAC3G,cAAc;MACbiG,IAAI,EAAE,IAAI,CAACb,KAAK,CAAC,CAAC,CAAS;MAC3BgB,KAAK,EAAE,IAAI,CAACtD,KAAK,CAACmB,SAAS,IAAI,IAAIhC,IAAI,CAAC,CAAE;MAC1CiF,QAAQ,EAAE,IAAK;MACfC,OAAO,EAAC,SAAS;MACjBC,QAAQ,EAAEA,CAACC,KAA0B,EAAErF,IAAW,KAAK;QACrD,IAAIA,IAAI,IAAI,IAAI,CAACc,KAAK,CAACnB,KAAK,CAACsE,IAAI,KAAK,UAAU,IAAI,IAAI,CAACb,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;UAC5E,MAAMkC,YAAY,GAAG,IAAI,CAACxE,KAAK,CAACmB,SAAS;UACzCjC,IAAI,GAAGjC,MAAM,CAACiC,IAAI,CAAC,CAChBuF,GAAG,CAAC,OAAO,EAAED,YAAY,CAACE,QAAQ,CAAC,CAAC,CAAC,CACrCD,GAAG,CAAC,MAAM,EAAED,YAAY,CAACG,WAAW,CAAC,CAAC,CAAC,CACvCF,GAAG,CAAC,MAAM,EAAED,YAAY,CAACI,OAAO,CAAC,CAAC,CAAC,CACnCrF,MAAM,CAAC,CAAC;QACb;QACAuF,WAAW,GAAG5F,IAAI;MACpB,CAAE;MACF6E,WAAW,EAAElF,KAAK,CAAC0C,OAAgB;MACnCyC,WAAW,EAAEnF,KAAK,CAAC+C;IAAgB,CACpC,CAAC,eACFhF,KAAA,CAAAiH,aAAA,CAAChH,IAAI;MAACkI,KAAK,EAAE,IAAI,CAACC,MAAM,CAACE;IAAc,gBACrCtI,KAAA,CAAAiH,aAAA,CAAC3F,QAAQ;MAAC8G,MAAM,EAAE,IAAI,CAACA,MAAM,CAACG,SAAU;MAACC,OAAO,EAAC,QAAQ;MAACC,KAAK,EAAEA,CAAA,KAAM;QACrE,IAAI,CAACpD,YAAY,CAAC,IAAI,EAAS6C,WAAW,IAAI,IAAI,CAAC9E,KAAK,CAACmB,SAAS,IAAI,IAAIhC,IAAI,CAAC,CAAC,CAAC;QACjF,IAAI,IAAI,CAACmD,KAAK,CAACK,MAAM,IAAI,CAAC,EAAE;UAC1B,IAAI,CAACG,MAAM,CAAC,CAAC;UACbgB,SAAS,IAAIA,SAAS,CAAC,CAAC;QAC1B;MACF;IAAE,CAAE,CAAC,eACLlH,KAAA,CAAAiH,aAAA,CAAC3F,QAAQ;MAAC8G,MAAM,EAAE,IAAI,CAACA,MAAM,CAACM,SAAU;MAACF,OAAO,EAAC,QAAQ;MAACC,KAAK,EAAEA,CAAA,KAAM;QACrE,IAAI,CAAC/C,KAAK,CAACC,KAAK,CAAC,CAAC;QAClB,IAAI,CAACN,YAAY,CAAC,IAAI,EAAS,IAAI,CAACjC,KAAK,CAACmB,SAAS,IAAIiB,SAAS,CAAC;QACjE,IAAI,CAACU,MAAM,CAAC,CAAC;QACbgB,SAAS,IAAIA,SAAS,CAAC,CAAC;MAC1B;IAAE,CAAE,CACA,CACF,CAAC;EAET;EAEAyB,8BAA8BA,CAAC1G,KAAsB,EAAE;IACrD,oBAAQjC,KAAA,CAAAiH,aAAA,CAAClG,aAAa,QAAG6H,YAA0B,IAAK;MACtD,IAAI,CAACC,kBAAkB,CAACC,OAAO,gBAAI9I,KAAA,CAAAiH,aAAA,CAAAjH,KAAA,CAAA+I,QAAA,QAChC,IAAI,CAACd,qBAAqB,CAAChG,KAAK,EAAE,MAAM2G,YAAY,CAACI,SAAS,CAAC,IAAI,CAACH,kBAAkB,CAAC,CACtF,CAAE;MACN,IAAI,CAACA,kBAAkB,CAACI,QAAQ,GAAG,IAAI;MACvC,IAAI,CAACJ,kBAAkB,CAACK,OAAO,GAAG,MAAM;QACtC,IAAI,CAAChD,MAAM,CAAC,CAAC;MACf,CAAC;MACD0C,YAAY,CAACO,SAAS,CAAC,IAAI,CAACN,kBAAkB,CAAC;MAC/C,OAAO,IAAI;IACb,CAAiB,CAAC;EACpB;EAEAO,2BAA2BA,CAACnH,KAAsB,EAAE;IAClD,oBAAQjC,KAAA,CAAAiH,aAAA,CAAClG,aAAa,QAAG6H,YAA0B,IAAK;MACtD,IAAI,CAACC,kBAAkB,CAACC,OAAO,gBAAI9I,KAAA,CAAAiH,aAAA,CAAAjH,KAAA,CAAA+I,QAAA,QAChC,IAAI,CAAC1B,kBAAkB,CAACpF,KAAK,EAAE,MAAM2G,YAAY,CAACI,SAAS,CAAC,IAAI,CAACH,kBAAkB,CAAC,CACnF,CAAE;MACN,IAAI,CAACA,kBAAkB,CAACI,QAAQ,GAAG,IAAI;MACvC,IAAI,CAACJ,kBAAkB,CAACK,OAAO,GAAG,MAAM;QACtC,IAAI,CAAChD,MAAM,CAAC,CAAC;MACf,CAAC;MACD0C,YAAY,CAACO,SAAS,CAAC,IAAI,CAACN,kBAAkB,CAAC;MAC/C,OAAO,IAAI;IACb,CAAiB,CAAC;EACpB;EAEAQ,mBAAmBA,CAACpH,KAAsB,EAAEqH,QAA2B,EAAElB,MAAY,EAAmB;IAAA,IAAAmB,eAAA;IACtG,MAAMC,IAAI,GAAGF,QAAQ,aAARA,QAAQ,gBAAAC,eAAA,GAARD,QAAQ,CAAErH,KAAK,cAAAsH,eAAA,uBAAfA,eAAA,CAAiBC,IAAI;IAClC,MAAMC,kBAAkB,GAAGD,IAAI,GAAG;MAACE,UAAU,EAAE,IAAI;MAAEC,iBAAiB,EAAEH;IAAI,CAAC,GAAG,CAAC,CAAC;IAElF,oBACExJ,KAAA,CAAAiH,aAAA,CAAC7G,gBAAgB,EAAAkH,QAAA,KACX,IAAI,CAACsC,qBAAqB,CAAC,CAAC,EAC5BH,kBAAkB;MACtBtB,KAAK,EAAEC,MAAO;MAACyB,OAAO,EAAEA,CAAA,KAAM;QAC9B,IAAI,CAAC5H,KAAK,CAACgB,QAAQ,EAAE;UACnB,IAAI,CAACqD,OAAO,CAAC,CAAC;QAChB;QACA,IAAI,CAACL,mBAAmB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;MACjD;IAAE,IACCqD,QACe,CAAC;EAEvB;EAEAQ,OAAOA,CAAA,EAAG;IACR,IAAI,IAAI,CAAC1G,KAAK,CAACnB,KAAK,CAACsE,IAAI,KAAK,MAAM,EAAE;MACpC,OAAO,iBAAiB;IAC1B;IACA,OAAO,qBAAqB;EAC9B;EAEOwD,cAAcA,CAAC9H,KAAsB,EAAmB;IAC7D,OACE,IAAI,CAACmB,KAAK,CAACnB,KAAK,CAAC+H,aAAa,IAAI,IAAI,CAAC5G,KAAK,CAACoB,YAAY,IAAI,IAAI,CAACpB,KAAK,CAACnB,KAAK,CAACgI,WAAW,gBACzFjK,KAAA,CAAAiH,aAAA,CAAChH,IAAI;MAACkI,KAAK,EAAE;QAACV,OAAO,EAAC,MAAM;QAAC,GAAG,IAAI,CAACW,MAAM,CAAC8B,SAAS;QAAC,GAAG,IAAI,CAAC9B,MAAM,CAAC+B;MAAI;IAAE,GACxE1I,cAAc,CAAC,IAAI,CAAC2I,KAAK,EAAE,CAAC,CAAC,EAAsB;MACpD,GAAG,IAAI,CAAChC,MAAM,CAACiC,QAAQ,CAACF;IAC1B,CAAC,CAAC,EACD1I,cAAc,CAAC,IAAI,CAAC2I,KAAK,EAAE,CAAC,CAAC,EAAsB;MAClD,GAAG,IAAI,CAAChC,MAAM,CAACiC,QAAQ,CAACC;IAC1B,CAAC,CACK,CAAC,GAAG,IAAI;EACf;EAEHC,YAAYA,CAACtI,KAAsB,EAAE;IAAA,IAAAuI,oBAAA;IACnC,MAAMC,cAAc,GAAG,CAAAxI,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEqC,WAAW,KAAI,oBAAoB,CAACoG,IAAI,CAACzI,KAAK,CAACqC,WAAW,CAAC;IACzF,MAAMkD,QAAQ,GAAGiD,cAAc,GAAG,KAAK,GAAGxI,KAAK,CAAC0I,QAAQ;IACxD,OACI,IAAI,CAACtB,mBAAmB,CAACpH,KAAK,eAC9BjC,KAAA,CAAAiH,aAAA,CAAChH,IAAI;MAACkI,KAAK,EAAE,CAAC,IAAI,CAACC,MAAM,CAAC+B,IAAI,EAAE,IAAI,CAAC/G,KAAK,CAACyD,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAACuB,MAAM,CAACwC,OAAO,EAAE,IAAI,CAACxH,KAAK,CAACyC,SAAS,GAAG,IAAI,CAACuC,MAAM,CAACyC,OAAO,GAAG,IAAI;IAAE,GAC/H,IAAI,CAACC,WAAW,EACd7I,KAAK,CAAC+H,aAAa,gBACpBhK,KAAA,CAAAiH,aAAA,CAAC7F,aAAa;MACZ2J,MAAM,EAAE,CAAC,EAAE9I,KAAK,CAACiB,SAAS,IAAI,IAAI,CAACE,KAAK,CAACyC,SAAS,CAAE;MACpDmF,KAAK,GAAAR,oBAAA,GAAEvI,KAAK,CAAC+H,aAAa,cAAAQ,oBAAA,cAAAA,oBAAA,GAAIvI,KAAK,CAACgI,WAAY;MAChD9B,KAAK,EAAE;QACL,IAAI,IAAI,CAACC,MAAM,CAAC6C,aAAa,IAAI,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC7H,KAAK,CAACyC,SAAS,GAAI,IAAI,CAACuC,MAAM,CAAC8C,mBAAmB,IAAI,CAAC,CAAC,GAAI,CAAC,CAAC;MACzE;IAAE,CACD,CAAC,GACF,IAAI,eACNlL,KAAA,CAAAiH,aAAA,CAAChH,IAAI;MAACkI,KAAK,EAAE,IAAI,CAACC,MAAM,CAAC8B;IAAU,GAChC,IAAI,CAACb,mBAAmB,CAACpH,KAAK,eAC7BjC,KAAA,CAAAiH,aAAA,CAAC/G,IAAI,EAAAoH,QAAA;MAACa,KAAK,EAAE,CACX,IAAI,CAACC,MAAM,CAAC+C,IAAI,EAChB,IAAI,CAAC/H,KAAK,CAACoB,YAAY,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC4D,MAAM,CAACgD,eAAe;IAC1D,GACE,IAAI,CAACC,oBAAoB,CAAC,CAAC,GAC5B,IAAI,CAACjI,KAAK,CAACoB,YAAY,KAClBvC,KAAK,CAAC+H,aAAa,GAAG,EAAE,GAAI,IAAI,CAAC5G,KAAK,CAACnB,KAAK,CAACgI,WAAW,CAC1D,CAAC,EACN,CAAC;MAAEqB,IAAI,EAAE;IAAC,CAAC,EAAE,IAAI,CAACC,KAAK,GAAC;MAACC,aAAa,EAAC,KAAK;MAAEC,SAAS,EAAC;IAAO,CAAC,GAAC,CAAC,CAAC,CAAE,CAAC,EACvE,CAACxJ,KAAK,CAACgB,QAAQ,IAAIhB,KAAK,CAACiB,SAAS,iBACjClD,KAAA,CAAAiH,aAAA,CAACxG,MAAM;MAACiL,SAAS,EAAC,aAAa;MAChCtD,MAAM,EAAE;QAACuD,KAAK,EAAE,IAAI,CAACvD,MAAM,CAAC+C,IAAI,CAACQ,KAAK;QAAE,GAAG,IAAI,CAACvD,MAAM,CAACwD;MAAS,CAAE;MAClEC,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,WAAW,CAAE;MAChCC,kBAAkB,EAAE,SAAS9J,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEsE,IAAI,EAAG;MAC3CkC,KAAK,EAAEA,CAAA,KAAM;QACX,IAAI,CAACpD,YAAY,CAAC,IAAI,EAAS,IAAW,CAAC;QAC3C,IAAI,CAAC2G,eAAe,GAAG,IAAI;MAC7B;IAAE,CAAC,CAAE,IAAK,IAAI,EACf,IAAI,CAAC3C,mBAAmB,CAACpH,KAAK,eAC7BjC,KAAA,CAAAiH,aAAA,CAACxG,MAAM;MAACiL,SAAS,EAAE,IAAI,CAAC5B,OAAO,CAAC,CAAE;MAAC1B,MAAM,EAAE;QAACuD,KAAK,EAAE,IAAI,CAACvD,MAAM,CAAC+C,IAAI,CAACQ,KAAK;QAAE,GAAG,IAAI,CAACvD,MAAM,CAAC6D;MAAY,CAAE;MAACzC,IAAI,EAAEvH,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEuH,IAAK;MAACqC,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,cAAc;IAAE,CAAC,CACjK,CACG,CAAC,EAEP,IAAI,CAAC1I,KAAK,CAAC0C,cAAc,KACpB3F,QAAQ,CAACgG,EAAE,KAAK,KAAK,IAAI,IAAI,CAACa,eAAe,CAAC/E,KAAK,CAAC,IACnD,CAACA,KAAK,CAACiK,aAAa,IAAI/L,QAAQ,CAACgG,EAAE,KAAK,SAAS,IAAI,IAAI,CAACkB,kBAAkB,CAACpF,KAAK,CAAE,IACpF,CAACA,KAAK,CAACiK,aAAa,IAAI/L,QAAQ,CAACgG,EAAE,KAAK,KAAK,IAAI,IAAI,CAACwC,8BAA8B,CAAC1G,KAAK,CAAE,CAAC,EAEnG9B,QAAQ,CAACgG,EAAE,KAAK,KAAK,IAAIlE,KAAK,CAACiK,aAAa,IAAI,IAAI,CAAC9I,KAAK,CAACoD,mBAAmB,iBAC9ExG,KAAA,CAAAiH,aAAA,CAAC1F,iBAAiB;MAChB4K,SAAS,EAAE,IAAI,CAAC/I,KAAK,CAACoD,mBAAoB;MAC1C0C,OAAO,EAAEA,CAAA,KAAM,IAAI,CAAClG,WAAW,CAAC;QAACwD,mBAAmB,EAAE;MAAK,CAAsB,CAAE;MACnF4F,OAAO,EAAEnK,KAAK,CAAC0C,OAAQ;MACvB0H,OAAO,EAAEpK,KAAK,CAAC+C,OAAQ;MACvBsH,YAAY,EAAE,IAAI,CAAClJ,KAAK,CAACmB,SAAU;MACnCgI,QAAQ,EAAGjK,IAAU,IAAK;QACxB,IAAI,CAAC+C,YAAY,CAAC,IAAI,EAAS/C,IAAI,CAAC;QACpC,IAAI,CAACU,WAAW,CAAC;UACf6C,SAAS,EAAE,KAAK;UAChBW,mBAAmB,EAAE;QACvB,CAAC,EAAuB,MAAM;UAC5B,IAAI,CAACN,MAAM,CAAC,CAAC;;UAEb;UACA,IAAI,IAAI,CAAC9C,KAAK,CAACnB,KAAK,CAACsE,IAAI,KAAK,UAAU,EAAE;YACxC,IAAI,CAACK,QAAQ,CAAC;cACZH,mBAAmB,EAAE;YACvB,CAAC,CAAC;UACJ;QACF,CAAC,CAAC;MACJ,CAAE;MACF+F,QAAQ,EAAEA,CAAA,KAAM;QACd;QACA,IAAI,CAACxJ,WAAW,CAAC;UACf6C,SAAS,EAAE,KAAK;UAChBW,mBAAmB,EAAE;QACvB,CAAC,EAAuB,MAAM,IAAI,CAACN,MAAM,CAAC,CAAC,CAAC;MAC9C,CAAE;MACFuG,eAAe,EAAExK,KAAK,CAACwK,eAAgB;MACvCC,qBAAqB,EAAEzK,KAAK,CAACyK,qBAAsB;MACnDC,eAAe,EAAE1K,KAAK,CAAC0K;IAAgB,CACxC,CACF,EACCxM,QAAQ,CAACgG,EAAE,KAAK,KAAK,IAAIlE,KAAK,CAACiK,aAAa,IAAI,IAAI,CAAC9I,KAAK,CAACqD,mBAAmB,iBAC9EzG,KAAA,CAAAiH,aAAA,CAACzF,iBAAiB;MAChBoL,gBAAgB,EAAE,IAAI,CAACxJ,KAAK,CAACmB,SAAU;MACvCiD,QAAQ,EAAEA,QAAS;MACnB2E,SAAS,EAAE,IAAI,CAAC/I,KAAK,CAACqD,mBAAoB;MAC1CyC,OAAO,EAAEA,CAAA,KAAM,IAAI,CAAClG,WAAW,CAAC;QAAC6C,SAAS,EAAE,KAAK;QAAEY,mBAAmB,EAAE;MAAK,CAAsB,CAAE;MACrG8F,QAAQ,EAAGM,IAAU,IAAK;QACxB,IAAI,CAACxH,YAAY,CAAC,IAAI,EAASwH,IAAI,CAAC;QACpC,IAAI,CAAC7J,WAAW,CAAC;UACf6C,SAAS,EAAE,KAAK;UAChBY,mBAAmB,EAAE;QACvB,CAAC,EAAuB,MAAM,IAAI,CAACP,MAAM,CAAC,CAAC,CAAC;MAC9C,CAAE;MACFsG,QAAQ,EAAEA,CAAA,KAAM;QACd;QACA,IAAI,CAACxJ,WAAW,CAAC;UACf6C,SAAS,EAAE,KAAK;UAChBY,mBAAmB,EAAE;QACvB,CAAC,EAAuB,MAAM;UAC5B,IAAI,CAACP,MAAM,CAAC,CAAC;UACb,IAAI,CAACR,KAAK,CAACC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC;MACJ,CAAE;MACFmH,eAAe,EAAE7K,KAAK,CAAC6K,eAAgB;MACvCC,qBAAqB,EAAE9K,KAAK,CAAC8K,qBAAsB;MACnDC,eAAe,EAAE/K,KAAK,CAAC+K;IAAgB,CACxC,CAEC,CACL,CAAC;EAER;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","Platform","TouchableOpacity","moment","DateTimePicker","BaseComponent","BaseComponentState","WmIcon","WmDatetimeProps","DEFAULT_CLASS","WebDatePicker","isNumber","isString","ModalConsumer","isDateFormatAsPerPattern","validateField","AccessibilityWidgetType","getAccessibilityProps","FloatingLabel","AppI18nService","WmButton","WmDatePickerModal","WmTimePickerModal","createSkeleton","BaseDatetimeState","constructor","args","_defineProperty","CURRENT_DATE","CURRENT_TIME","BaseDatetime","props","defaultClass","defaultProps","defaultState","format","date","Date","getTime","parse","parseInt","toDate","monitorAndUpdateCurrentTime","stopCurrentTimeMonitor","timerId","setInterval","updateState","readonly","datavalue","now","state","clearInterval","convertTimezone","timezone","getTimezone","parsedDateString","toLocaleString","locale","timeZone","momentPattern","pattern","replaceAll","onPropertyChange","name","$new","$old","prevDatavalue","outputformat","datepattern","dateValue","displayValue","onFieldChange","minDateVal","mindate","isMinMatchingPattern","minDatePatternFormatted","formattedMinDate","maxDateVal","maxdate","isMaxMatchingPattern","maxDatePatternFormatted","formattedMaxDate","disabled","onDateChange","$event","prevDate","undefined","validate","modes","shift","newDate","isFocused","showDatePicker","length","timestamp","invokeEventCallback","onBlur","OS","setTimeout","triggerValidation","onFocus","mode","showDatePickerModal","showTimePickerModal","value","validationObj","setState","isValid","errorType","componentWillUnmount","renderWebWidget","createElement","onDismiss","minimumDate","maximumDate","renderNativeWidget","_extends","DATE","is24Hour","display","onChange","event","dateSelected","set","getMonth","getFullYear","getDate","renderNativeIOSWidget","date_change","style","styles","dialog","actionWrapper","selectBtn","caption","onTap","cancelBtn","renderNativeIOSWidgetWithModal","modalService","nativeModalOptions","content","Fragment","hideModal","centered","onClose","showModal","renderNativeWidgetWithModal","addTouchableOpacity","children","handleLayout","_children$props","hint","accessibilityProps","accessible","accessibilityHint","getTestPropsForAction","onLayout","onPress","getIcon","renderSkeleton","floatinglabel","placeholder","container","root","theme","skeleton","icon","renderWidget","_props$floatinglabel","is12HourFormat","test","is24hour","invalid","focused","_background","moveUp","label","floatingLabel","activeFloatingLabel","text","placeholderText","getTestPropsForLabel","flex","isRTL","flexDirection","textAlign","iconclass","color","clearIcon","id","getTestId","accessibilitylabel","clearBtnClicked","calendarIcon","iswheelpicker","isVisible","minDate","maxDate","selectedDate","onSelect","onCancel","dateheadertitle","dateconfirmationtitle","datecanceltitle","selectedDateTime","time","timeheadertitle","timeconfirmationtitle","timecanceltitle"],"sources":["base-datetime.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, Platform, TouchableOpacity, ViewStyle, DimensionValue, LayoutChangeEvent } from 'react-native';\nimport moment from 'moment';\nimport DateTimePicker, { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\n\nimport WmDatetimeProps from './datetime/datetime.props';\nimport { DEFAULT_CLASS, WmDatetimeStyles } from './datetime/datetime.styles';\nimport WebDatePicker from './date-picker.component';\nimport { isEqual, isNumber, isString } from 'lodash-es';\nimport { ModalConsumer, ModalOptions, ModalService } from '@wavemaker/app-rn-runtime/core/modal.service';\nimport { isDateFormatAsPerPattern, validateField } from '@wavemaker/app-rn-runtime/core/utils';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { FloatingLabel } from '@wavemaker/app-rn-runtime/core/components/floatinglabel.component';\nimport AppI18nService from '@wavemaker/app-rn-runtime/runtime/services/app-i18n.service';\nimport WmButton from '@wavemaker/app-rn-runtime/components/basic/button/button.component';\nimport WmDatePickerModal from './wheelpickermodal/date/date-picker-modal.component';\nimport WmTimePickerModal from './wheelpickermodal/time/time-picker-modal.component';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class BaseDatetimeState extends BaseComponentState<WmDatetimeProps> {\n showDatePicker = false;\n showDatePickerModal = false;\n showTimePickerModal = false;\n dateValue: Date = null as any;\n displayValue: string = null as any;\n isFocused = false;\n timerId: NodeJS.Timer = null as any;\n isValid: boolean = true;\n errorType = '';\n}\n\nconst CURRENT_DATE = 'CURRENT_DATE';\nconst CURRENT_TIME = 'CURRENT_TIME';\n\nexport default abstract class BaseDatetime extends BaseComponent<WmDatetimeProps, BaseDatetimeState, WmDatetimeStyles> {\n clearBtnClicked = false;\n modes = [] as string[];\n nativeModalOptions: ModalOptions = {} as any;\n prevDatavalue: any;\n\n constructor(props: WmDatetimeProps, defaultClass = DEFAULT_CLASS, defaultProps = new WmDatetimeProps(), defaultState= new BaseDatetimeState()) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n format(date: Date | number | undefined, format: string) {\n if (format === 'timestamp') {\n return date instanceof Date ? '' + date.getTime() : date;\n }\n return date && moment(date).format(format);\n }\n\n parse(date: string | number, format: string) {\n if (format === 'timestamp') {\n if (isString(date)) {\n return new Date(parseInt(date));\n }\n if (isNumber(date)) {\n return new Date(date);\n }\n }\n return date && moment(date, format).toDate();\n }\n\n private monitorAndUpdateCurrentTime() {\n this.stopCurrentTimeMonitor();\n const timerId = setInterval(() => {\n this.updateState({\n props: {\n readonly: true,\n datavalue: Date.now()\n },\n timerId: timerId\n } as any as BaseDatetimeState);\n }, 1000);\n }\n\n private stopCurrentTimeMonitor() {\n if (this.state.timerId) {\n clearInterval(this.state.timerId as any);\n }\n }\n\n convertTimezone(date: any){ \n const timezone = AppI18nService.getTimezone();\n if (timezone) {\n const parsedDateString = new Date(date).toLocaleString(this.props.locale ? this.props.locale : 'en-us', { timeZone: timezone });\n return moment(parsedDateString, 'M/D/YYYY, h:mm:ss A');\n }\n else {\n return null;\n }\n }\n \n momentPattern(pattern : String) {\n return pattern?.replaceAll('y', 'Y').replaceAll('d', 'D');\n}\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n switch(name) {\n //@ts-ignore\n case 'datavalue':\n this.prevDatavalue = $old;\n if (props.datavalue === CURRENT_TIME) {\n this.monitorAndUpdateCurrentTime();\n }\n case 'datepattern':\n case 'outputformat':\n if (props.datavalue && this.momentPattern(props.outputformat as String) && this.momentPattern(props.datepattern as String)) {\n let datavalue: any = props.datavalue;\n if (datavalue === CURRENT_DATE || datavalue === CURRENT_TIME) {\n datavalue = new Date() as any;\n }\n const date = isString(datavalue) ? this.parse(datavalue as string, this.momentPattern(props.outputformat as String)) : datavalue;\n datavalue = this.convertTimezone(datavalue);\n this.updateState({\n dateValue : date,\n displayValue: this.format(datavalue?datavalue:date as any, this.momentPattern(props.datepattern as String))\n } as BaseDatetimeState);\n } else {\n this.updateState({\n dateValue : null as any,\n displayValue: null as any\n } as BaseDatetimeState);\n }\n this.props.onFieldChange && this.props.onFieldChange('datavalue', props.datavalue, this.prevDatavalue);\n break;\n case 'mindate':\n if (isString($new)) {\n const minDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.mindate;\n // * check if supplied mindate is as per datepattern\n const isMinMatchingPattern = minDateVal\n ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern as String), minDateVal)\n : false;\n // * min date formatted as per datepattern\n const minDatePatternFormatted = minDateVal && isMinMatchingPattern ? moment(\n moment(\n minDateVal,\n this.momentPattern(props.datepattern as String)\n ).format('YYYY-MM-DD')\n ) : null;\n // * min date formatted as per ISO, if mindate supplied is not as per datepattern\n const formattedMinDate = minDatePatternFormatted && isMinMatchingPattern\n ? minDatePatternFormatted.toDate()\n : moment(minDateVal).toDate();\n this.updateState({\n props: {\n mindate: formattedMinDate\n }\n } as BaseDatetimeState);\n }\n break;\n case 'maxdate':\n if (isString($new)) {\n const maxDateVal = ($new === CURRENT_DATE || $new === CURRENT_TIME) ? new Date() : props.maxdate;\n // * check if supplied maxdate is as per datepattern\n const isMaxMatchingPattern = maxDateVal\n ? isDateFormatAsPerPattern(this.momentPattern(props.datepattern as String), maxDateVal)\n : false;\n // * max date formatted as per datepattern\n const maxDatePatternFormatted = maxDateVal && isMaxMatchingPattern ? moment(\n moment(\n maxDateVal,\n this.momentPattern(props.datepattern as String)\n ).format('YYYY-MM-DD')\n ) : null;\n // * max date formatted as per ISO, if maxdate supplied is not as per datepattern\n const formattedMaxDate = maxDatePatternFormatted && isMaxMatchingPattern\n ? maxDatePatternFormatted.toDate()\n : moment(maxDateVal).toDate();\n\n this.updateState({\n props: {\n maxdate: formattedMaxDate,\n },\n } as BaseDatetimeState);\n }\n break;\n case 'readonly':\n this.updateState({\n props: {\n disabled: $new\n }\n } as BaseDatetimeState)\n break;\n }\n }\n\n onDateChange($event: DateTimePickerEvent, date?: Date) {\n const prevDate = this.format(this.state.dateValue, this.momentPattern(this.state.props.outputformat as String) as string) || undefined;\n this.validate(date);\n this.modes.shift();\n const newDate = this.format(date, this.momentPattern(this.state.props.outputformat as String) as string)\n this.updateState({\n isFocused: false,\n showDatePicker: !!this.modes.length,\n props: {\n datavalue: newDate,\n timestamp: this.format(date, 'timestamp')\n }\n } as BaseDatetimeState, () => this.invokeEventCallback('onChange', [null, this, newDate, prevDate]));\n }\n\n onBlur() {\n if (Platform.OS === 'web') {\n this.validate(this.state.props.datavalue);\n setTimeout(() => this.props.triggerValidation && this.props.triggerValidation());\n }\n this.invokeEventCallback('onBlur', [null, this]);\n }\n\n onFocus() {\n if (!this.state.props.readonly) {\n if (Platform.OS !== 'web' && this.state.props.mode === 'datetime') {\n this.modes = ['date', 'time'];\n } else {\n this.modes = [this.state.props.mode];\n }\n this.updateState({showDatePicker: true, isFocused: true} as BaseDatetimeState);\n if (this.state.props.mode === 'date') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'time') {\n this.updateState({showTimePickerModal: true} as BaseDatetimeState);\n }\n if (this.state.props.mode === 'datetime') {\n this.updateState({showDatePickerModal: true} as BaseDatetimeState);\n }\n this.invokeEventCallback('onFocus', [null, this]);\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.setState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as BaseDatetimeState)\n }\n\n componentWillUnmount() {\n super.componentWillUnmount();\n this.stopCurrentTimeMonitor();\n }\n\n renderWebWidget(props: WmDatetimeProps) {\n return (<WebDatePicker\n mode={this.state.props.mode}\n locale={props.locale}\n value={this.state.dateValue || new Date()}\n onDateChange={(date: Date) => this.onDateChange(null as any, date)}\n onDismiss={() =>\n this.updateState({\n isFocused: false,\n showDatePicker: false\n } as BaseDatetimeState, () => this.onBlur())}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}/>);\n }\n\n renderNativeWidget(props: WmDatetimeProps, onDismiss?: Function) {\n return (<DateTimePicker\n mode={this.modes[0] as any}\n {...getAccessibilityProps(AccessibilityWidgetType.DATE, {...this.state.props})}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='default'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n this.onDateChange(event, date || this.state.dateValue);\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n );\n }\n\n renderNativeIOSWidget(props: WmDatetimeProps, onDismiss?: Function) {\n let date_change : any = undefined;\n return (<View style={this.styles.dialog}>\n <DateTimePicker\n mode={this.modes[0] as any}\n value={this.state.dateValue || new Date()}\n is24Hour={true}\n display='spinner'\n onChange={(event: DateTimePickerEvent, date?: Date) => {\n if (date && this.state.props.mode === 'datetime' && this.modes[0] === 'time') {\n const dateSelected = this.state.dateValue;\n date = moment(date)\n .set('month', dateSelected.getMonth())\n .set('year', dateSelected.getFullYear())\n .set('date', dateSelected.getDate())\n .toDate();\n }\n date_change = date;\n }}\n minimumDate={props.mindate as Date}\n maximumDate={props.maxdate as Date}\n />\n <View style={this.styles.actionWrapper}>\n <WmButton styles={this.styles.selectBtn} caption='Select' onTap={() => {\n this.onDateChange(null as any, date_change || this.state.dateValue || new Date());\n if (this.modes.length <= 1) {\n this.onBlur();\n onDismiss && onDismiss();\n }\n }} />\n <WmButton styles={this.styles.cancelBtn} caption='Cancel' onTap={() => {\n this.modes.shift();\n this.onDateChange(null as any, this.state.dateValue || undefined);\n this.onBlur();\n onDismiss && onDismiss();\n }} />\n </View>\n </View>\n );\n }\n\n renderNativeIOSWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeIOSWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n renderNativeWidgetWithModal(props: WmDatetimeProps) {\n return (<ModalConsumer>{(modalService: ModalService) => {\n this.nativeModalOptions.content = (<>\n {this.renderNativeWidget(props, () => modalService.hideModal(this.nativeModalOptions))}\n </>);\n this.nativeModalOptions.centered = true;\n this.nativeModalOptions.onClose = () => {\n this.onBlur();\n };\n modalService.showModal(this.nativeModalOptions);\n return null;\n }}</ModalConsumer>);\n }\n\n addTouchableOpacity(props: WmDatetimeProps, children: React.JSX.Element, styles?: any, handleLayout?: any) : React.ReactNode{\n const hint = children?.props?.hint;\n const accessibilityProps = hint ? {accessible: true, accessibilityHint: hint} : {};\n\n return (\n <TouchableOpacity \n {...this.getTestPropsForAction()} \n {...accessibilityProps}\n onLayout={handleLayout}\n style={styles} onPress={() => {\n if (!props.readonly) {\n this.onFocus();\n }\n this.invokeEventCallback('onTap', [null, this]);\n }}>\n {children}\n </TouchableOpacity>\n );\n }\n\n getIcon() {\n if (this.state.props.mode === 'time') {\n return 'wm-sl-l sl-time'\n }\n return 'wm-sl-l sl-calendar';\n }\n\n public renderSkeleton(props: WmDatetimeProps): React.ReactNode {\n return (\n this.state.props.floatinglabel || this.state.displayValue || this.state.props.placeholder ? \n <View style={{display:'flex',...this.styles.container,...this.styles.root}}>\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.skeleton.root\n })}\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {\n ...this.styles.skeleton.icon\n })}\n </View> : null\n )}\n \n renderWidget(props: WmDatetimeProps) {\n const is12HourFormat = props?.datepattern && /hh:mm(:ss|:sss)? a/.test(props.datepattern);\n const is24Hour = is12HourFormat ? false : props.is24hour;\n return ( \n this.addTouchableOpacity(props, (\n <View style={[this.styles.root, this.state.isValid ? {} : this.styles.invalid, this.state.isFocused ? this.styles.focused : null]}>\n {this._background}\n {props.floatinglabel ? (\n <FloatingLabel\n moveUp={!!(props.datavalue || this.state.isFocused)}\n label={props.floatinglabel ?? props.placeholder} \n style={{\n ...(this.styles.floatingLabel || []),\n ...(this.state.isFocused ? (this.styles.activeFloatingLabel || {}) : {})\n }}\n />\n ) : null}\n <View style={this.styles.container}>\n {this.addTouchableOpacity(props, (\n <Text style={[\n this.styles.text,\n this.state.displayValue ? {} : this.styles.placeholderText\n ]}\n {...this.getTestPropsForLabel()}>\n {this.state.displayValue \n || (props.floatinglabel ? '' : this.state.props.placeholder)}\n </Text>\n ), [{ flex: 1}, this.isRTL?{flexDirection:'row', textAlign:'right'}:{}] )}\n {(!props.readonly && props.datavalue &&\n (<WmIcon iconclass=\"wi wi-clear\"\n styles={{color: this.styles.text.color, ...this.styles.clearIcon}}\n id={this.getTestId('clearicon')}\n accessibilitylabel={`clear ${props?.mode}`}\n onTap={() => {\n this.onDateChange(null as any, null as any);\n this.clearBtnClicked = true;\n }}/>)) || null}\n {this.addTouchableOpacity(props, (\n <WmIcon iconclass={this.getIcon()} styles={{color: this.styles.text.color, ...this.styles.calendarIcon}} hint={props?.hint} id={this.getTestId('calendericon')}/>\n ))}\n </View>\n {\n this.state.showDatePicker\n && ((Platform.OS === 'web' && this.renderWebWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'android' && this.renderNativeWidget(props))\n || (!props.iswheelpicker && Platform.OS === 'ios' && this.renderNativeIOSWidgetWithModal(props)))\n }\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showDatePickerModal) && (\n <WmDatePickerModal\n isVisible={this.state.showDatePickerModal}\n onClose={() => this.updateState({showDatePickerModal: false} as BaseDatetimeState)}\n minDate={props.mindate}\n maxDate={props.maxdate}\n selectedDate={this.state.dateValue}\n onSelect={(date: Date) => {\n this.onDateChange(null as any, date);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => {\n this.onBlur();\n\n // * showing time picker after selecting date in datetime mode\n if (this.state.props.mode === \"datetime\") {\n this.setState({\n showTimePickerModal: true,\n })\n }\n });\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showDatePickerModal: false\n } as BaseDatetimeState, () => this.onBlur());\n }}\n dateheadertitle={props.dateheadertitle}\n dateconfirmationtitle={props.dateconfirmationtitle}\n datecanceltitle={props.datecanceltitle}\n />\n )}\n {(Platform.OS !== 'web' && props.iswheelpicker && this.state.showTimePickerModal) && (\n <WmTimePickerModal\n selectedDateTime={this.state.dateValue}\n is24Hour={is24Hour}\n isVisible={this.state.showTimePickerModal}\n onClose={() => this.updateState({isFocused: false, showTimePickerModal: false} as BaseDatetimeState)}\n onSelect={(time: Date) => {\n this.onDateChange(null as any, time);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => this.onBlur());\n }}\n onCancel={() => {\n // this.onDateChange(null as any, this.state.dateValue || undefined);\n this.updateState({\n isFocused: false,\n showTimePickerModal: false\n } as BaseDatetimeState, () => {\n this.onBlur();\n this.modes.shift();\n });\n }}\n timeheadertitle={props.timeheadertitle}\n timeconfirmationtitle={props.timeconfirmationtitle}\n timecanceltitle={props.timecanceltitle}\n />\n )}\n </View>\n ), {} , this.handleLayout)\n );\n }\n}\n\n"],"mappings":"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","ignoreList":[]}