@wavemaker/app-rn-runtime 11.11.7-rc.218 → 11.12.0-next.28188

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 (210) hide show
  1. package/components/advanced/carousel/carousel.component.js +4 -2
  2. package/components/advanced/carousel/carousel.component.js.map +1 -1
  3. package/components/basic/anchor/anchor.component.js +11 -5
  4. package/components/basic/anchor/anchor.component.js.map +1 -1
  5. package/components/basic/anchor/anchor.props.js +1 -0
  6. package/components/basic/anchor/anchor.props.js.map +1 -1
  7. package/components/basic/audio/audio.component.js +52 -47
  8. package/components/basic/audio/audio.component.js.map +1 -1
  9. package/components/basic/bottomsheet/bottomsheet.component.js +94 -48
  10. package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
  11. package/components/basic/bottomsheet/bottomsheet.props.js +1 -0
  12. package/components/basic/bottomsheet/bottomsheet.props.js.map +1 -1
  13. package/components/basic/button/button.component.js +2 -1
  14. package/components/basic/button/button.component.js.map +1 -1
  15. package/components/basic/button/button.props.js +1 -0
  16. package/components/basic/button/button.props.js.map +1 -1
  17. package/components/basic/label/label.component.js.map +1 -1
  18. package/components/basic/label/label.props.js +1 -0
  19. package/components/basic/label/label.props.js.map +1 -1
  20. package/components/basic/message/message.component.js +15 -7
  21. package/components/basic/message/message.component.js.map +1 -1
  22. package/components/basic/message/message.props.js +1 -0
  23. package/components/basic/message/message.props.js.map +1 -1
  24. package/components/basic/picture/picture.component.js +2 -2
  25. package/components/basic/picture/picture.component.js.map +1 -1
  26. package/components/basic/video/video.component.js +69 -42
  27. package/components/basic/video/video.component.js.map +1 -1
  28. package/components/chart/basechart.props.js +1 -0
  29. package/components/chart/basechart.props.js.map +1 -1
  30. package/components/container/container.component.js +107 -27
  31. package/components/container/container.component.js.map +1 -1
  32. package/components/container/container.props.js +3 -1
  33. package/components/container/container.props.js.map +1 -1
  34. package/components/container/container.styles.js +1 -3
  35. package/components/container/container.styles.js.map +1 -1
  36. package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js +6 -1
  37. package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js.map +1 -1
  38. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +2 -2
  39. package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
  40. package/components/container/tabs/tabheader/tabheader.component.js +11 -2
  41. package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  42. package/components/container/tabs/tabheader/tabheader.props.js +1 -0
  43. package/components/container/tabs/tabheader/tabheader.props.js.map +1 -1
  44. package/components/container/tabs/tabpane/tabpane.props.js +3 -0
  45. package/components/container/tabs/tabpane/tabpane.props.js.map +1 -1
  46. package/components/container/tabs/tabs.component.js +11 -2
  47. package/components/container/tabs/tabs.component.js.map +1 -1
  48. package/components/container/wizard/wizard.component.js +1 -0
  49. package/components/container/wizard/wizard.component.js.map +1 -1
  50. package/components/data/list/list.component.js +23 -13
  51. package/components/data/list/list.component.js.map +1 -1
  52. package/components/device/barcodescanner/barcodescanner.component.js +33 -18
  53. package/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
  54. package/components/device/barcodescanner/barcodescanner.props.js +2 -1
  55. package/components/device/barcodescanner/barcodescanner.props.js.map +1 -1
  56. package/components/device/camera/camera.component.js +35 -22
  57. package/components/device/camera/camera.component.js.map +1 -1
  58. package/components/device/camera/camera.props.js +2 -1
  59. package/components/device/camera/camera.props.js.map +1 -1
  60. package/components/input/basedataset/basedataset.props.js +1 -0
  61. package/components/input/basedataset/basedataset.props.js.map +1 -1
  62. package/components/input/calendar/calendar.component.js +12 -4
  63. package/components/input/calendar/calendar.component.js.map +1 -1
  64. package/components/input/calendar/views/month-view.js +9 -2
  65. package/components/input/calendar/views/month-view.js.map +1 -1
  66. package/components/input/checkbox/checkbox.component.js +5 -5
  67. package/components/input/checkbox/checkbox.component.js.map +1 -1
  68. package/components/input/checkboxset/checkboxset.component.js +15 -11
  69. package/components/input/checkboxset/checkboxset.component.js.map +1 -1
  70. package/components/input/chips/chips.component.js +25 -12
  71. package/components/input/chips/chips.component.js.map +1 -1
  72. package/components/input/currency/currency.component.js +5 -2
  73. package/components/input/currency/currency.component.js.map +1 -1
  74. package/components/input/epoch/base-datetime.component.js +9 -9
  75. package/components/input/epoch/base-datetime.component.js.map +1 -1
  76. package/components/input/epoch/datetime/datetime.props.js +1 -0
  77. package/components/input/epoch/datetime/datetime.props.js.map +1 -1
  78. package/components/input/epoch/wheelpicker/wheelpicker.component.js +8 -3
  79. package/components/input/epoch/wheelpicker/wheelpicker.component.js.map +1 -1
  80. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js +8 -3
  81. package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js.map +1 -1
  82. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js +8 -3
  83. package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js.map +1 -1
  84. package/components/input/fileupload/fileupload.component.js +23 -14
  85. package/components/input/fileupload/fileupload.component.js.map +1 -1
  86. package/components/input/fileupload/fileupload.props.js +2 -0
  87. package/components/input/fileupload/fileupload.props.js.map +1 -1
  88. package/components/input/radioset/radioset.component.js +15 -5
  89. package/components/input/radioset/radioset.component.js.map +1 -1
  90. package/components/input/rating/rating.component.js +11 -3
  91. package/components/input/rating/rating.component.js.map +1 -1
  92. package/components/input/rating/rating.props.js +4 -0
  93. package/components/input/rating/rating.props.js.map +1 -1
  94. package/components/input/select/select.component.js +7 -5
  95. package/components/input/select/select.component.js.map +1 -1
  96. package/components/input/slider/slider.component.js +2 -1
  97. package/components/input/slider/slider.component.js.map +1 -1
  98. package/components/input/switch/switch.component.js +11 -9
  99. package/components/input/switch/switch.component.js.map +1 -1
  100. package/components/input/toggle/toggle.component.js +8 -4
  101. package/components/input/toggle/toggle.component.js.map +1 -1
  102. package/components/input/toggle/toggle.props.js +1 -0
  103. package/components/input/toggle/toggle.props.js.map +1 -1
  104. package/components/navigation/appnavbar/appnavbar.component.js +19 -61
  105. package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
  106. package/components/navigation/navitem/navitem.component.js +3 -1
  107. package/components/navigation/navitem/navitem.component.js.map +1 -1
  108. package/components/navigation/popover/popover.component.js +2 -1
  109. package/components/navigation/popover/popover.component.js.map +1 -1
  110. package/components/navigation/popover/popover.props.js +2 -1
  111. package/components/navigation/popover/popover.props.js.map +1 -1
  112. package/components/page/page-content/page-content.component.js +74 -20
  113. package/components/page/page-content/page-content.component.js.map +1 -1
  114. package/components/page/page-content/page-content.props.js +1 -0
  115. package/components/page/page-content/page-content.props.js.map +1 -1
  116. package/components/page/page.component.js +29 -44
  117. package/components/page/page.component.js.map +1 -1
  118. package/components/page/page.props.js +4 -2
  119. package/components/page/page.props.js.map +1 -1
  120. package/components/page/tabbar/tabbar.component.js +24 -13
  121. package/components/page/tabbar/tabbar.component.js.map +1 -1
  122. package/core/AppConfig.js.map +1 -1
  123. package/core/accessibility.js +51 -32
  124. package/core/accessibility.js.map +1 -1
  125. package/core/base.component.js.map +1 -1
  126. package/core/components/error-fallback/error-fallback.component.js +140 -0
  127. package/core/components/error-fallback/error-fallback.component.js.map +1 -0
  128. package/core/components/error-fallback/error-fallback.styles.js +224 -0
  129. package/core/components/error-fallback/error-fallback.styles.js.map +1 -0
  130. package/core/components/sticky-base.component.js +54 -0
  131. package/core/components/sticky-base.component.js.map +1 -0
  132. package/core/components/sticky-container.component.js +34 -0
  133. package/core/components/sticky-container.component.js.map +1 -0
  134. package/core/components/sticky-container.styles.js +98 -0
  135. package/core/components/sticky-container.styles.js.map +1 -0
  136. package/core/components/sticky-nav.component.js +28 -0
  137. package/core/components/sticky-nav.component.js.map +1 -0
  138. package/core/device/av-service.js +8 -0
  139. package/core/device/av-service.js.map +1 -0
  140. package/core/device/calendar-service.js +7 -1
  141. package/core/device/calendar-service.js.map +1 -1
  142. package/core/device/camera-service.js +6 -0
  143. package/core/device/camera-service.js.map +1 -1
  144. package/core/device/contacts-service.js +7 -1
  145. package/core/device/contacts-service.js.map +1 -1
  146. package/core/device/fileupload-service.js +8 -0
  147. package/core/device/fileupload-service.js.map +1 -0
  148. package/core/device/location-service.js +7 -1
  149. package/core/device/location-service.js.map +1 -1
  150. package/core/device/scan-service.js +6 -0
  151. package/core/device/scan-service.js.map +1 -1
  152. package/core/error-boundary.component.js +1 -1
  153. package/core/error-boundary.component.js.map +1 -1
  154. package/core/event-notifier.js +4 -3
  155. package/core/event-notifier.js.map +1 -1
  156. package/core/fixed-view.component.js +2 -1
  157. package/core/fixed-view.component.js.map +1 -1
  158. package/core/responsive.utils.js +8 -5
  159. package/core/responsive.utils.js.map +1 -1
  160. package/core/sticky-view.component.js +50 -0
  161. package/core/sticky-view.component.js.map +1 -0
  162. package/core/sticky-wrapper.js +129 -0
  163. package/core/sticky-wrapper.js.map +1 -0
  164. package/core/utils.js +0 -6
  165. package/core/utils.js.map +1 -1
  166. package/npm-shrinkwrap.json +9 -9
  167. package/package-lock.json +9 -9
  168. package/package.json +2 -2
  169. package/runtime/App.js +3 -5
  170. package/runtime/App.js.map +1 -1
  171. package/runtime/services/device/calendar-service.js +9 -5
  172. package/runtime/services/device/calendar-service.js.map +1 -1
  173. package/runtime/services/device/camera-service.js +39 -22
  174. package/runtime/services/device/camera-service.js.map +1 -1
  175. package/runtime/services/device/contacts-service.js +6 -5
  176. package/runtime/services/device/contacts-service.js.map +1 -1
  177. package/runtime/services/device/location-service.js +4 -4
  178. package/runtime/services/device/location-service.js.map +1 -1
  179. package/runtime/services/device/permission-service.js +5 -0
  180. package/runtime/services/device/permission-service.js.map +1 -0
  181. package/runtime/services/device/permissions.js +34 -39
  182. package/runtime/services/device/permissions.js.map +1 -1
  183. package/runtime/services/device/scan-service.js +4 -3
  184. package/runtime/services/device/scan-service.js.map +1 -1
  185. package/styles/theme.js +24 -18
  186. package/styles/theme.js.map +1 -1
  187. package/variables/device/calendar/create-event.operation.js +12 -1
  188. package/variables/device/calendar/create-event.operation.js.map +1 -1
  189. package/variables/device/calendar/delete-event.operation.js +12 -1
  190. package/variables/device/calendar/delete-event.operation.js.map +1 -1
  191. package/variables/device/calendar/get-events.operation.js +12 -1
  192. package/variables/device/calendar/get-events.operation.js.map +1 -1
  193. package/variables/device/camera/capture-image.operation.js +8 -1
  194. package/variables/device/camera/capture-image.operation.js.map +1 -1
  195. package/variables/device/camera/capture-video.operation.js +7 -1
  196. package/variables/device/camera/capture-video.operation.js.map +1 -1
  197. package/variables/device/contacts/get-contacts.operation.js +12 -1
  198. package/variables/device/contacts/get-contacts.operation.js.map +1 -1
  199. package/variables/device/device/current-geo-position.operation.js +12 -1
  200. package/variables/device/device/current-geo-position.operation.js.map +1 -1
  201. package/variables/device/file/upload-file.operation.js +17 -3
  202. package/variables/device/file/upload-file.operation.js.map +1 -1
  203. package/variables/device/scan/scan.operation.js +12 -1
  204. package/variables/device/scan/scan.operation.js.map +1 -1
  205. package/variables/http.service.js +6 -1
  206. package/variables/http.service.js.map +1 -1
  207. package/core/components/error-fallback.component.js +0 -264
  208. package/core/components/error-fallback.component.js.map +0 -1
  209. package/core/sticky-container.component.js +0 -175
  210. package/core/sticky-container.component.js.map +0 -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","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":[]}
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","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","accessibilityProps","accessibilityLabel","accessibilityState","accessibilityRole","createElement","_extends","getTestPropsForAction","style","styles","chip","activeChip","onPress","disabled","readonly","id","getTestId","iconclass","iconsize","doneIcon","icon","color","activeChipLabel","accessible","_showSkeleton","imageStyles","picturesource","imgSrc","shape","root","width","chipLabel","clearIcon","onTap","accessibilitylabel","accessibilityrole","selectedItems","componentDidMount","componentDidUpdate","prevProps","prevState","_this$searchRef2","computePosition","renderSkeleton","chipsWrapper","renderWidget","chips","accessibilityHint","hint","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, AccessibilityRole } 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 { 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 const accessibilityProps = {\n accessibilityLabel: item.displayexp || item.displayfield,\n accessibilityState: {\n selected: isSelected,\n },\n accessibilityRole: 'checkbox' as AccessibilityRole\n }\n return (\n <TouchableOpacity\n {...this.getTestPropsForAction('chip'+ index)}\n {...accessibilityProps}\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}})} accessible={false}></WmIcon> : null}\n { this._showSkeleton ? null : <WmPicture id={this.getTestId('chip'+ index + 'picture')} styles={this.styles.imageStyles} picturesource={item.imgSrc} shape='circle' accessible={false}></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)} accessibilitylabel='clear' accessibilityrole='button'></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 const accessibilityProps = {\n accessible: true,\n accessibilityLabel: props.accessibilitylabel || 'Choose tags',\n accessibilityHint: props.hint,\n accessibilityRole: props.accessibilityrole\n }\n return (<View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n\n <View style={this.styles.chipsWrapper} {...accessibilityProps}>\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'}} {...accessibilityProps}>\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":[]}
@@ -59,9 +59,12 @@ export default class WmCurrency extends BaseNumberComponent {
59
59
  style: this.styles.root,
60
60
  onLayout: event => this.handleLayout(event)
61
61
  }, /*#__PURE__*/React.createElement(View, {
62
- style: this._showSkeleton && !this.props.floatinglabel ? this.styles.skeletonLabelWrapper.root : this.styles.labelWrapper
62
+ style: this._showSkeleton && !this.props.floatinglabel ? this.styles.skeletonLabelWrapper.root : this.styles.labelWrapper,
63
+ accessible: true,
64
+ accessibilityLabel: this.state.currencySymbol
63
65
  }, this._showSkeleton ? /*#__PURE__*/React.createElement(React.Fragment, null, this.renderTextSkeleton(this.styles.skeletonLabel.root)) : /*#__PURE__*/React.createElement(Text, {
64
- style: this.styles.label
66
+ style: this.styles.label,
67
+ importantForAccessibility: "no"
65
68
  }, this.state.currencySymbol)), this._showSkeleton ? /*#__PURE__*/React.createElement(React.Fragment, null, this.renderTextSkeleton(this.styles.skeletonTextInputWrapper.root)) : /*#__PURE__*/React.createElement(View, {
66
69
  style: {
67
70
  flex: 1
@@ -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","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":[]}
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","accessible","accessibilityLabel","skeletonLabel","label","importantForAccessibility","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 } accessible accessibilityLabel={this.state.currencySymbol}>\n {this._showSkeleton ? <>{this.renderTextSkeleton(this.styles.skeletonLabel.root)}</> :\n <Text style={this.styles.label} importantForAccessibility='no'>{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":[]}
@@ -338,14 +338,9 @@ export default class BaseDatetime extends BaseComponent {
338
338
  });
339
339
  }
340
340
  addTouchableOpacity(props, children, styles, handleLayout) {
341
- var _children$props;
342
- const hint = children === null || children === void 0 || (_children$props = children.props) === null || _children$props === void 0 ? void 0 : _children$props.hint;
343
- const accessibilityProps = hint ? {
344
- accessible: true,
345
- accessibilityHint: hint
346
- } : {};
347
- return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, this.getTestPropsForAction(), accessibilityProps, {
341
+ return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, this.getTestPropsForAction(), {
348
342
  onLayout: handleLayout,
343
+ importantForAccessibility: "no",
349
344
  style: styles,
350
345
  onPress: () => {
351
346
  if (!props.readonly) {
@@ -381,7 +376,11 @@ export default class BaseDatetime extends BaseComponent {
381
376
  let rootStyles = this.styles.root;
382
377
  let updatedRootStyles = splitBorderColorInPlace(rootStyles);
383
378
  return this.addTouchableOpacity(props, /*#__PURE__*/React.createElement(View, {
384
- style: [updatedRootStyles, this.state.isValid ? {} : this.styles.invalid, this.state.isFocused ? this.styles.focused : null]
379
+ style: [updatedRootStyles, this.state.isValid ? {} : this.styles.invalid, this.state.isFocused ? this.styles.focused : null],
380
+ accessible: props.accessible,
381
+ accessibilityLabel: props.accessibilitylabel || `Select ${props === null || props === void 0 ? void 0 : props.mode}`,
382
+ accessibilityRole: props.accessibilityrole || 'button',
383
+ accessibilityHint: props.hint
385
384
  }, this._background, props.floatinglabel ? /*#__PURE__*/React.createElement(FloatingLabel, {
386
385
  moveUp: !!(props.datavalue || this.state.isFocused),
387
386
  label: (_props$floatinglabel = props.floatinglabel) !== null && _props$floatinglabel !== void 0 ? _props$floatinglabel : props.placeholder,
@@ -417,7 +416,8 @@ export default class BaseDatetime extends BaseComponent {
417
416
  ...this.styles.calendarIcon
418
417
  },
419
418
  hint: props === null || props === void 0 ? void 0 : props.hint,
420
- id: this.getTestId('calendericon')
419
+ id: this.getTestId('calendericon'),
420
+ accessible: false
421
421
  }))), this.state.showDatePicker && (Platform.OS === 'web' && this.renderWebWidget(props) || !props.iswheelpicker && Platform.OS === 'android' && this.renderNativeWidget(props) || !props.iswheelpicker && Platform.OS === 'ios' && this.renderNativeIOSWidgetWithModal(props)), Platform.OS !== 'web' && props.iswheelpicker && this.state.showDatePickerModal && /*#__PURE__*/React.createElement(WmDatePickerModal, {
422
422
  isVisible: this.state.showDatePickerModal,
423
423
  onClose: () => this.updateState({
@@ -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","splitBorderColorInPlace","AccessibilityWidgetType","getAccessibilityProps","FloatingLabel","AppI18nService","WmButton","WmDatePickerModal","WmTimePickerModal","createSkeleton","BaseDatetimeState","constructor","args","_defineProperty","CURRENT_DATE","CURRENT_TIME","BaseDatetime","props","defaultClass","defaultProps","defaultState","format","date","_this$props$locale","Date","getTime","locale","parse","parseInt","toDate","monitorAndUpdateCurrentTime","stopCurrentTimeMonitor","timerId","setInterval","updateState","readonly","datavalue","now","state","clearInterval","convertTimezone","timezone","getTimezone","parsedDateString","toLocaleString","timeZone","rtlSanityCheck","text","replace","momentPattern","pattern","removeSpecialMarks","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","modes","shift","newDate","isFocused","showDatePicker","length","timestamp","validate","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","rootStyles","updatedRootStyles","invalid","focused","_background","moveUp","label","floatingLabel","activeFloatingLabel","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","rootWrapper"],"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 ,splitBorderColorInPlace} 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 \n // Convert moment formatting with respect to the current local.\n moment.locale(this.props.locale ?? 'en');\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 rtlSanityCheck(text: any) {\n return text?.replace(/[\\u200E\\u200F\\u202B\\u202C]/g, '');\n }\n \n momentPattern(pattern : String) {\n const removeSpecialMarks = this.rtlSanityCheck(pattern);\n return removeSpecialMarks?.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\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.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, () => {\n this.validate(date);\n this.invokeEventCallback('onChange', [null, this, newDate, prevDate])\n });\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 let rootStyles=this.styles.root;\n let updatedRootStyles = splitBorderColorInPlace(rootStyles);\n return ( \n this.addTouchableOpacity(props, (\n <View style={[updatedRootStyles, 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 setTimeout(() => {\n this.onBlur();\n }, 10);\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, () => {\n setTimeout(() => {\n this.onBlur()\n }, 10); \n });\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.styles.rootWrapper , this.handleLayout)\n );\n }\n}\n\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","Platform","TouchableOpacity","moment","DateTimePicker","BaseComponent","BaseComponentState","WmIcon","WmDatetimeProps","DEFAULT_CLASS","WebDatePicker","isNumber","isString","ModalConsumer","isDateFormatAsPerPattern","validateField","splitBorderColorInPlace","AccessibilityWidgetType","getAccessibilityProps","FloatingLabel","AppI18nService","WmButton","WmDatePickerModal","WmTimePickerModal","createSkeleton","BaseDatetimeState","constructor","args","_defineProperty","CURRENT_DATE","CURRENT_TIME","BaseDatetime","props","defaultClass","defaultProps","defaultState","format","date","_this$props$locale","Date","getTime","locale","parse","parseInt","toDate","monitorAndUpdateCurrentTime","stopCurrentTimeMonitor","timerId","setInterval","updateState","readonly","datavalue","now","state","clearInterval","convertTimezone","timezone","getTimezone","parsedDateString","toLocaleString","timeZone","rtlSanityCheck","text","replace","momentPattern","pattern","removeSpecialMarks","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","modes","shift","newDate","isFocused","showDatePicker","length","timestamp","validate","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","getTestPropsForAction","onLayout","importantForAccessibility","onPress","getIcon","renderSkeleton","floatinglabel","placeholder","container","root","theme","skeleton","icon","renderWidget","_props$floatinglabel","is12HourFormat","test","is24hour","rootStyles","updatedRootStyles","invalid","focused","accessible","accessibilityLabel","accessibilitylabel","accessibilityRole","accessibilityrole","accessibilityHint","hint","_background","moveUp","label","floatingLabel","activeFloatingLabel","placeholderText","getTestPropsForLabel","flex","isRTL","flexDirection","textAlign","iconclass","color","clearIcon","id","getTestId","clearBtnClicked","calendarIcon","iswheelpicker","isVisible","minDate","maxDate","selectedDate","onSelect","onCancel","dateheadertitle","dateconfirmationtitle","datecanceltitle","selectedDateTime","time","timeheadertitle","timeconfirmationtitle","timecanceltitle","rootWrapper"],"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 ,splitBorderColorInPlace} 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 \n // Convert moment formatting with respect to the current local.\n moment.locale(this.props.locale ?? 'en');\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 rtlSanityCheck(text: any) {\n return text?.replace(/[\\u200E\\u200F\\u202B\\u202C]/g, '');\n }\n \n momentPattern(pattern : String) {\n const removeSpecialMarks = this.rtlSanityCheck(pattern);\n return removeSpecialMarks?.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\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.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, () => {\n this.validate(date);\n this.invokeEventCallback('onChange', [null, this, newDate, prevDate])\n });\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 return (\n <TouchableOpacity \n {...this.getTestPropsForAction()} \n onLayout={handleLayout}\n importantForAccessibility='no'\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 let rootStyles=this.styles.root;\n let updatedRootStyles = splitBorderColorInPlace(rootStyles);\n return ( \n this.addTouchableOpacity(props, (\n <View style={[updatedRootStyles, this.state.isValid ? {} : this.styles.invalid, this.state.isFocused ? this.styles.focused : null]} accessible={props.accessible} accessibilityLabel={props.accessibilitylabel || `Select ${props?.mode}`} accessibilityRole={props.accessibilityrole || 'button'} accessibilityHint={props.hint}>\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')} accessible={false}/>\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 setTimeout(() => {\n this.onBlur();\n }, 10);\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, () => {\n setTimeout(() => {\n this.onBlur()\n }, 10); \n });\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.styles.rootWrapper , this.handleLayout)\n );\n }\n}\n\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,gBAAgB,QAAsD,cAAc;AACnH,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,EAAEC,uBAAuB,QAAO,sCAAsC;AACtH,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,SAASnB,kBAAkB,CAAkB;EAAAoB,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,SAAS1B,aAAa,CAAuD;EAMrHqB,WAAWA,CAACM,KAAsB,EAAEC,YAAY,GAAGxB,aAAa,EAAEyB,YAAY,GAAG,IAAI1B,eAAe,CAAC,CAAC,EAAE2B,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;IAAA,IAAAE,kBAAA;IACtD,IAAIF,MAAM,KAAK,WAAW,EAAE;MAC1B,OAAOC,IAAI,YAAYE,IAAI,GAAG,EAAE,GAAGF,IAAI,CAACG,OAAO,CAAC,CAAC,GAAGH,IAAI;IAC1D;;IAEA;IACAlC,MAAM,CAACsC,MAAM,EAAAH,kBAAA,GAAC,IAAI,CAACN,KAAK,CAACS,MAAM,cAAAH,kBAAA,cAAAA,kBAAA,GAAI,IAAI,CAAC;IACxC,OAAOD,IAAI,IAAIlC,MAAM,CAACkC,IAAI,CAAC,CAACD,MAAM,CAACA,MAAM,CAAC;EAC5C;EAEAM,KAAKA,CAACL,IAAqB,EAAED,MAAc,EAAE;IAC3C,IAAIA,MAAM,KAAK,WAAW,EAAE;MAC1B,IAAIxB,QAAQ,CAACyB,IAAI,CAAC,EAAE;QAClB,OAAO,IAAIE,IAAI,CAACI,QAAQ,CAACN,IAAI,CAAC,CAAC;MACjC;MACA,IAAI1B,QAAQ,CAAC0B,IAAI,CAAC,EAAE;QAClB,OAAO,IAAIE,IAAI,CAACF,IAAI,CAAC;MACvB;IACF;IACA,OAAOA,IAAI,IAAIlC,MAAM,CAACkC,IAAI,EAAED,MAAM,CAAC,CAACQ,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;QACfjB,KAAK,EAAE;UACLkB,QAAQ,EAAE,IAAI;UACdC,SAAS,EAAEZ,IAAI,CAACa,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,CAAClB,IAAS,EAAC;IACxB,MAAMmB,QAAQ,GAAGpC,cAAc,CAACqC,WAAW,CAAC,CAAC;IAC7C,IAAID,QAAQ,EAAE;MACZ,MAAME,gBAAgB,GAAG,IAAInB,IAAI,CAACF,IAAI,CAAC,CAACsB,cAAc,CAAC,IAAI,CAAC3B,KAAK,CAACS,MAAM,GAAG,IAAI,CAACT,KAAK,CAACS,MAAM,GAAG,OAAO,EAAE;QAAEmB,QAAQ,EAAEJ;MAAS,CAAC,CAAC;MAC/H,OAAOrD,MAAM,CAACuD,gBAAgB,EAAE,qBAAqB,CAAC;IACxD,CAAC,MACI;MACH,OAAO,IAAI;IACb;EACF;EAEAG,cAAcA,CAACC,IAAS,EAAE;IACxB,OAAOA,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC;EACzD;EAEAC,aAAaA,CAACC,OAAgB,EAAE;IAC9B,MAAMC,kBAAkB,GAAG,IAAI,CAACL,cAAc,CAACI,OAAO,CAAC;IACvD,OAAOC,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAEC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAACA,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;EACtE;EAEAC,gBAAgBA,CAACC,IAAY,EAAEC,IAAS,EAAEC,IAAS,EAAE;IACnD,KAAK,CAACH,gBAAgB,CAACC,IAAI,EAAEC,IAAI,EAAEC,IAAI,CAAC;IACxC,MAAMvC,KAAK,GAAG,IAAI,CAACqB,KAAK,CAACrB,KAAK;IAC9B,QAAOqC,IAAI;MACT;MACA,KAAK,WAAW;QACd,IAAI,CAACG,aAAa,GAAGD,IAAI;QACzB,IAAIvC,KAAK,CAACmB,SAAS,KAAKrB,YAAY,EAAE;UACpC,IAAI,CAACe,2BAA2B,CAAC,CAAC;QACpC;MACF,KAAK,aAAa;MAClB,KAAK,cAAc;QACjB,IAAIb,KAAK,CAACmB,SAAS,IAAI,IAAI,CAACa,aAAa,CAAChC,KAAK,CAACyC,YAAsB,CAAC,IAAI,IAAI,CAACT,aAAa,CAAChC,KAAK,CAAC0C,WAAqB,CAAC,EAAE;UAC1H,IAAIvB,SAAc,GAAGnB,KAAK,CAACmB,SAAS;UACpC,IAAIA,SAAS,KAAKtB,YAAY,IAAIsB,SAAS,KAAKrB,YAAY,EAAE;YAC5DqB,SAAS,GAAG,IAAIZ,IAAI,CAAC,CAAQ;UAC/B;UACA,MAAMF,IAAI,GAAGzB,QAAQ,CAACuC,SAAS,CAAC,GAAG,IAAI,CAACT,KAAK,CAACS,SAAS,EAAY,IAAI,CAACa,aAAa,CAAChC,KAAK,CAACyC,YAAsB,CAAC,CAAC,GAAGtB,SAAS;UAChIA,SAAS,GAAG,IAAI,CAACI,eAAe,CAACJ,SAAS,CAAC;UAE3C,IAAI,CAACF,WAAW,CAAC;YACf0B,SAAS,EAAGtC,IAAI;YAChBuC,YAAY,EAAE,IAAI,CAACxC,MAAM,CAACe,SAAS,GAACA,SAAS,GAACd,IAAW,EAAE,IAAI,CAAC2B,aAAa,CAAChC,KAAK,CAAC0C,WAAqB,CAAC;UAC5G,CAAsB,CAAC;QACzB,CAAC,MAAM;UACL,IAAI,CAACzB,WAAW,CAAC;YACf0B,SAAS,EAAG,IAAW;YACvBC,YAAY,EAAE;UAChB,CAAsB,CAAC;QACzB;QACA,IAAI,CAAC5C,KAAK,CAAC6C,aAAa,IAAI,IAAI,CAAC7C,KAAK,CAAC6C,aAAa,CAAC,WAAW,EAAE7C,KAAK,CAACmB,SAAS,EAAE,IAAI,CAACqB,aAAa,CAAC;QACtG;MACF,KAAK,SAAS;QACZ,IAAI5D,QAAQ,CAAC0D,IAAI,CAAC,EAAE;UAClB,MAAMQ,UAAU,GAAIR,IAAI,KAAKzC,YAAY,IAAIyC,IAAI,KAAKxC,YAAY,GAAI,IAAIS,IAAI,CAAC,CAAC,GAAGP,KAAK,CAAC+C,OAAO;UAChG;UACA,MAAMC,oBAAoB,GAAGF,UAAU,GACnChE,wBAAwB,CAAC,IAAI,CAACkD,aAAa,CAAChC,KAAK,CAAC0C,WAAqB,CAAC,EAAEI,UAAU,CAAC,GACrF,KAAK;UACT;UACA,MAAMG,uBAAuB,GAAGH,UAAU,IAAIE,oBAAoB,GAAG7E,MAAM,CACzEA,MAAM,CACJ2E,UAAU,EACV,IAAI,CAACd,aAAa,CAAChC,KAAK,CAAC0C,WAAqB,CAChD,CAAC,CAACtC,MAAM,CAAC,YAAY,CACvB,CAAC,GAAG,IAAI;UACR;UACA,MAAM8C,gBAAgB,GAAGD,uBAAuB,IAAID,oBAAoB,GACpEC,uBAAuB,CAACrC,MAAM,CAAC,CAAC,GAChCzC,MAAM,CAAC2E,UAAU,CAAC,CAAClC,MAAM,CAAC,CAAC;UAC/B,IAAI,CAACK,WAAW,CAAC;YACfjB,KAAK,EAAE;cACL+C,OAAO,EAAEG;YACX;UACF,CAAsB,CAAC;QACzB;QACA;MACF,KAAK,SAAS;QACZ,IAAItE,QAAQ,CAAC0D,IAAI,CAAC,EAAE;UAClB,MAAMa,UAAU,GAAIb,IAAI,KAAKzC,YAAY,IAAIyC,IAAI,KAAKxC,YAAY,GAAI,IAAIS,IAAI,CAAC,CAAC,GAAGP,KAAK,CAACoD,OAAO;UAChG;UACA,MAAMC,oBAAoB,GAAGF,UAAU,GACnCrE,wBAAwB,CAAC,IAAI,CAACkD,aAAa,CAAChC,KAAK,CAAC0C,WAAqB,CAAC,EAAES,UAAU,CAAC,GACrF,KAAK;UACT;UACA,MAAMG,uBAAuB,GAAGH,UAAU,IAAIE,oBAAoB,GAAGlF,MAAM,CACzEA,MAAM,CACJgF,UAAU,EACV,IAAI,CAACnB,aAAa,CAAChC,KAAK,CAAC0C,WAAqB,CAChD,CAAC,CAACtC,MAAM,CAAC,YAAY,CACvB,CAAC,GAAG,IAAI;UACR;UACA,MAAMmD,gBAAgB,GAAGD,uBAAuB,IAAID,oBAAoB,GACtEC,uBAAuB,CAAC1C,MAAM,CAAC,CAAC,GAChCzC,MAAM,CAACgF,UAAU,CAAC,CAACvC,MAAM,CAAC,CAAC;UAE7B,IAAI,CAACK,WAAW,CAAC;YACfjB,KAAK,EAAE;cACLoD,OAAO,EAAEG;YACX;UACF,CAAsB,CAAC;QACzB;QACA;MACF,KAAK,UAAU;QACb,IAAI,CAACtC,WAAW,CAAC;UACfjB,KAAK,EAAE;YACLwD,QAAQ,EAAElB;UACZ;QACF,CAAsB,CAAC;QACvB;IACJ;EACF;EAEAmB,YAAYA,CAACC,MAA2B,EAAErD,IAAW,EAAE;IACrD,MAAMsD,QAAQ,GAAG,IAAI,CAACvD,MAAM,CAAC,IAAI,CAACiB,KAAK,CAACsB,SAAS,EAAG,IAAI,CAACX,aAAa,CAAC,IAAI,CAACX,KAAK,CAACrB,KAAK,CAACyC,YAAsB,CAAW,CAAC,IAAImB,SAAS;IACvI,IAAI,CAACC,KAAK,CAACC,KAAK,CAAC,CAAC;IAClB,MAAMC,OAAO,GAAG,IAAI,CAAC3D,MAAM,CAACC,IAAI,EAAG,IAAI,CAAC2B,aAAa,CAAC,IAAI,CAACX,KAAK,CAACrB,KAAK,CAACyC,YAAsB,CAAW,CAAC;IACzG,IAAI,CAACxB,WAAW,CAAC;MACf+C,SAAS,EAAE,KAAK;MAChBC,cAAc,EAAE,CAAC,CAAC,IAAI,CAACJ,KAAK,CAACK,MAAM;MACnClE,KAAK,EAAE;QACLmB,SAAS,EAAE4C,OAAO;QAClBI,SAAS,EAAE,IAAI,CAAC/D,MAAM,CAACC,IAAI,EAAE,WAAW;MAC1C;IACF,CAAC,EAAuB,MAAM;MAC5B,IAAI,CAAC+D,QAAQ,CAAC/D,IAAI,CAAC;MACnB,IAAI,CAACgE,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAEN,OAAO,EAAEJ,QAAQ,CAAC,CAAC;IACvE,CAAC,CAAC;EACJ;EAEAW,MAAMA,CAAA,EAAG;IACP,IAAIrG,QAAQ,CAACsG,EAAE,KAAK,KAAK,EAAE;MACzB,IAAI,CAACH,QAAQ,CAAC,IAAI,CAAC/C,KAAK,CAACrB,KAAK,CAACmB,SAAS,CAAC;MACzCqD,UAAU,CAAC,MAAM,IAAI,CAACxE,KAAK,CAACyE,iBAAiB,IAAI,IAAI,CAACzE,KAAK,CAACyE,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,CAACrD,KAAK,CAACrB,KAAK,CAACkB,QAAQ,EAAE;MAC9B,IAAIjD,QAAQ,CAACsG,EAAE,KAAK,KAAK,IAAI,IAAI,CAAClD,KAAK,CAACrB,KAAK,CAAC2E,IAAI,KAAK,UAAU,EAAE;QACjE,IAAI,CAACd,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;MAC/B,CAAC,MAAM;QACL,IAAI,CAACA,KAAK,GAAG,CAAC,IAAI,CAACxC,KAAK,CAACrB,KAAK,CAAC2E,IAAI,CAAC;MACtC;MACA,IAAI,CAAC1D,WAAW,CAAC;QAACgD,cAAc,EAAE,IAAI;QAAED,SAAS,EAAE;MAAI,CAAsB,CAAC;MAC9E,IAAI,IAAI,CAAC3C,KAAK,CAACrB,KAAK,CAAC2E,IAAI,KAAK,MAAM,EAAE;QACpC,IAAI,CAAC1D,WAAW,CAAC;UAAC2D,mBAAmB,EAAE;QAAI,CAAsB,CAAC;MACpE;MACA,IAAI,IAAI,CAACvD,KAAK,CAACrB,KAAK,CAAC2E,IAAI,KAAK,MAAM,EAAE;QACpC,IAAI,CAAC1D,WAAW,CAAC;UAAC4D,mBAAmB,EAAE;QAAI,CAAsB,CAAC;MACpE;MACA,IAAI,IAAI,CAACxD,KAAK,CAACrB,KAAK,CAAC2E,IAAI,KAAK,UAAU,EAAE;QACxC,IAAI,CAAC1D,WAAW,CAAC;UAAC2D,mBAAmB,EAAE;QAAI,CAAsB,CAAC;MACpE;MACA,IAAI,CAACP,mBAAmB,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnD;EACF;EAEAD,QAAQA,CAACU,KAAU,EAAE;IACnB,MAAMC,aAAa,GAAGhG,aAAa,CAAC,IAAI,CAACsC,KAAK,CAACrB,KAAK,EAAE8E,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,CAACrE,sBAAsB,CAAC,CAAC;EAC/B;EAEAsE,eAAeA,CAACpF,KAAsB,EAAE;IACtC,oBAAQlC,KAAA,CAAAuH,aAAA,CAAC3G,aAAa;MACpBiG,IAAI,EAAE,IAAI,CAACtD,KAAK,CAACrB,KAAK,CAAC2E,IAAK;MAC5BlE,MAAM,EAAET,KAAK,CAACS,MAAO;MACrBqE,KAAK,EAAE,IAAI,CAACzD,KAAK,CAACsB,SAAS,IAAI,IAAIpC,IAAI,CAAC,CAAE;MAC1CkD,YAAY,EAAGpD,IAAU,IAAK,IAAI,CAACoD,YAAY,CAAC,IAAI,EAASpD,IAAI,CAAE;MACnEiF,SAAS,EAAEA,CAAA,KACT,IAAI,CAACrE,WAAW,CAAC;QACf+C,SAAS,EAAE,KAAK;QAChBC,cAAc,EAAE;MAClB,CAAC,EAAuB,MAAM,IAAI,CAACK,MAAM,CAAC,CAAC,CAAE;MAC/CiB,WAAW,EAAEvF,KAAK,CAAC+C,OAAgB;MACnCyC,WAAW,EAAExF,KAAK,CAACoD;IAAgB,CAAC,CAAC;EACzC;EAEAqC,kBAAkBA,CAACzF,KAAsB,EAAEsF,SAAoB,EAAE;IAC/D,oBAAQxH,KAAA,CAAAuH,aAAA,CAACjH,cAAc,EAAAsH,QAAA;MACrBf,IAAI,EAAE,IAAI,CAACd,KAAK,CAAC,CAAC;IAAS,GACvB3E,qBAAqB,CAACD,uBAAuB,CAAC0G,IAAI,EAAE;MAAC,GAAG,IAAI,CAACtE,KAAK,CAACrB;IAAK,CAAC,CAAC;MAC9E8E,KAAK,EAAE,IAAI,CAACzD,KAAK,CAACsB,SAAS,IAAI,IAAIpC,IAAI,CAAC,CAAE;MAC1CqF,QAAQ,EAAE,IAAK;MACfC,OAAO,EAAC,SAAS;MACjBC,QAAQ,EAAEA,CAACC,KAA0B,EAAE1F,IAAW,KAAK;QACrD,IAAIA,IAAI,IAAI,IAAI,CAACgB,KAAK,CAACrB,KAAK,CAAC2E,IAAI,KAAK,UAAU,IAAI,IAAI,CAACd,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;UAC5E,MAAMmC,YAAY,GAAG,IAAI,CAAC3E,KAAK,CAACsB,SAAS;UACzCtC,IAAI,GAAGlC,MAAM,CAACkC,IAAI,CAAC,CAChB4F,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,CACnCxF,MAAM,CAAC,CAAC;QACb;QACA,IAAI,CAAC6C,YAAY,CAACsC,KAAK,EAAE1F,IAAI,IAAI,IAAI,CAACgB,KAAK,CAACsB,SAAS,CAAC;QACtD,IAAI,IAAI,CAACkB,KAAK,CAACK,MAAM,IAAI,CAAC,EAAE;UAC1B,IAAI,CAACI,MAAM,CAAC,CAAC;UACbgB,SAAS,IAAIA,SAAS,CAAC,CAAC;QAC1B;MACF,CAAE;MACFC,WAAW,EAAEvF,KAAK,CAAC+C,OAAgB;MACnCyC,WAAW,EAAExF,KAAK,CAACoD;IAAgB,EACpC,CAAC;EAEJ;EAEAiD,qBAAqBA,CAACrG,KAAsB,EAAEsF,SAAoB,EAAE;IAClE,IAAIgB,WAAiB,GAAG1C,SAAS;IACjC,oBAAQ9F,KAAA,CAAAuH,aAAA,CAACtH,IAAI;MAACwI,KAAK,EAAE,IAAI,CAACC,MAAM,CAACC;IAAO,gBACtC3I,KAAA,CAAAuH,aAAA,CAACjH,cAAc;MACbuG,IAAI,EAAE,IAAI,CAACd,KAAK,CAAC,CAAC,CAAS;MAC3BiB,KAAK,EAAE,IAAI,CAACzD,KAAK,CAACsB,SAAS,IAAI,IAAIpC,IAAI,CAAC,CAAE;MAC1CqF,QAAQ,EAAE,IAAK;MACfC,OAAO,EAAC,SAAS;MACjBC,QAAQ,EAAEA,CAACC,KAA0B,EAAE1F,IAAW,KAAK;QACrD,IAAIA,IAAI,IAAI,IAAI,CAACgB,KAAK,CAACrB,KAAK,CAAC2E,IAAI,KAAK,UAAU,IAAI,IAAI,CAACd,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;UAC5E,MAAMmC,YAAY,GAAG,IAAI,CAAC3E,KAAK,CAACsB,SAAS;UACzCtC,IAAI,GAAGlC,MAAM,CAACkC,IAAI,CAAC,CAChB4F,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,CACnCxF,MAAM,CAAC,CAAC;QACb;QACA0F,WAAW,GAAGjG,IAAI;MACpB,CAAE;MACFkF,WAAW,EAAEvF,KAAK,CAAC+C,OAAgB;MACnCyC,WAAW,EAAExF,KAAK,CAACoD;IAAgB,CACpC,CAAC,eACFtF,KAAA,CAAAuH,aAAA,CAACtH,IAAI;MAACwI,KAAK,EAAE,IAAI,CAACC,MAAM,CAACE;IAAc,gBACrC5I,KAAA,CAAAuH,aAAA,CAAChG,QAAQ;MAACmH,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,CAACjF,KAAK,CAACsB,SAAS,IAAI,IAAIpC,IAAI,CAAC,CAAC,CAAC;QACjF,IAAI,IAAI,CAACsD,KAAK,CAACK,MAAM,IAAI,CAAC,EAAE;UAC1B,IAAI,CAACI,MAAM,CAAC,CAAC;UACbgB,SAAS,IAAIA,SAAS,CAAC,CAAC;QAC1B;MACF;IAAE,CAAE,CAAC,eACLxH,KAAA,CAAAuH,aAAA,CAAChG,QAAQ;MAACmH,MAAM,EAAE,IAAI,CAACA,MAAM,CAACM,SAAU;MAACF,OAAO,EAAC,QAAQ;MAACC,KAAK,EAAEA,CAAA,KAAM;QACrE,IAAI,CAAChD,KAAK,CAACC,KAAK,CAAC,CAAC;QAClB,IAAI,CAACL,YAAY,CAAC,IAAI,EAAS,IAAI,CAACpC,KAAK,CAACsB,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,CAAC/G,KAAsB,EAAE;IACrD,oBAAQlC,KAAA,CAAAuH,aAAA,CAACxG,aAAa,QAAGmI,YAA0B,IAAK;MACtD,IAAI,CAACC,kBAAkB,CAACC,OAAO,gBAAIpJ,KAAA,CAAAuH,aAAA,CAAAvH,KAAA,CAAAqJ,QAAA,QAChC,IAAI,CAACd,qBAAqB,CAACrG,KAAK,EAAE,MAAMgH,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,CAACxH,KAAsB,EAAE;IAClD,oBAAQlC,KAAA,CAAAuH,aAAA,CAACxG,aAAa,QAAGmI,YAA0B,IAAK;MACtD,IAAI,CAACC,kBAAkB,CAACC,OAAO,gBAAIpJ,KAAA,CAAAuH,aAAA,CAAAvH,KAAA,CAAAqJ,QAAA,QAChC,IAAI,CAAC1B,kBAAkB,CAACzF,KAAK,EAAE,MAAMgH,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,CAACzH,KAAsB,EAAE0H,QAA2B,EAAElB,MAAY,EAAEmB,YAAkB,EAAmB;IAC1H,oBACE7J,KAAA,CAAAuH,aAAA,CAACnH,gBAAgB,EAAAwH,QAAA,KACX,IAAI,CAACkC,qBAAqB,CAAC,CAAC;MAChCC,QAAQ,EAAEF,YAAa;MACvBG,yBAAyB,EAAC,IAAI;MAC9BvB,KAAK,EAAEC,MAAO;MAACuB,OAAO,EAAEA,CAAA,KAAM;QAC9B,IAAI,CAAC/H,KAAK,CAACkB,QAAQ,EAAE;UACnB,IAAI,CAACwD,OAAO,CAAC,CAAC;QAChB;QACA,IAAI,CAACL,mBAAmB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;MACjD;IAAE,IACCqD,QACe,CAAC;EAEvB;EAEAM,OAAOA,CAAA,EAAG;IACR,IAAI,IAAI,CAAC3G,KAAK,CAACrB,KAAK,CAAC2E,IAAI,KAAK,MAAM,EAAE;MACpC,OAAO,iBAAiB;IAC1B;IACA,OAAO,qBAAqB;EAC9B;EAEOsD,cAAcA,CAACjI,KAAsB,EAAmB;IAC7D,OACE,IAAI,CAACqB,KAAK,CAACrB,KAAK,CAACkI,aAAa,IAAI,IAAI,CAAC7G,KAAK,CAACuB,YAAY,IAAI,IAAI,CAACvB,KAAK,CAACrB,KAAK,CAACmI,WAAW,gBACzFrK,KAAA,CAAAuH,aAAA,CAACtH,IAAI;MAACwI,KAAK,EAAE;QAACV,OAAO,EAAC,MAAM;QAAC,GAAG,IAAI,CAACW,MAAM,CAAC4B,SAAS;QAAC,GAAG,IAAI,CAAC5B,MAAM,CAAC6B;MAAI;IAAE,GACxE7I,cAAc,CAAC,IAAI,CAAC8I,KAAK,EAAE,CAAC,CAAC,EAAsB;MACpD,GAAG,IAAI,CAAC9B,MAAM,CAAC+B,QAAQ,CAACF;IAC1B,CAAC,CAAC,EACD7I,cAAc,CAAC,IAAI,CAAC8I,KAAK,EAAE,CAAC,CAAC,EAAsB;MAClD,GAAG,IAAI,CAAC9B,MAAM,CAAC+B,QAAQ,CAACC;IAC1B,CAAC,CACK,CAAC,GAAG,IAAI;EACf;EAEHC,YAAYA,CAACzI,KAAsB,EAAE;IAAA,IAAA0I,oBAAA;IACnC,MAAMC,cAAc,GAAG,CAAA3I,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE0C,WAAW,KAAI,oBAAoB,CAACkG,IAAI,CAAC5I,KAAK,CAAC0C,WAAW,CAAC;IACzF,MAAMkD,QAAQ,GAAG+C,cAAc,GAAG,KAAK,GAAG3I,KAAK,CAAC6I,QAAQ;IACxD,IAAIC,UAAU,GAAC,IAAI,CAACtC,MAAM,CAAC6B,IAAI;IAC/B,IAAIU,iBAAiB,GAAG/J,uBAAuB,CAAC8J,UAAU,CAAC;IAC3D,OACI,IAAI,CAACrB,mBAAmB,CAACzH,KAAK,eAC9BlC,KAAA,CAAAuH,aAAA,CAACtH,IAAI;MAACwI,KAAK,EAAE,CAACwC,iBAAiB,EAAE,IAAI,CAAC1H,KAAK,CAAC4D,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,CAACuB,MAAM,CAACwC,OAAO,EAAE,IAAI,CAAC3H,KAAK,CAAC2C,SAAS,GAAG,IAAI,CAACwC,MAAM,CAACyC,OAAO,GAAG,IAAI,CAAE;MAACC,UAAU,EAAElJ,KAAK,CAACkJ,UAAW;MAACC,kBAAkB,EAAEnJ,KAAK,CAACoJ,kBAAkB,IAAI,UAAUpJ,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE2E,IAAI,EAAG;MAAC0E,iBAAiB,EAAErJ,KAAK,CAACsJ,iBAAiB,IAAI,QAAS;MAACC,iBAAiB,EAAEvJ,KAAK,CAACwJ;IAAK,GAC9T,IAAI,CAACC,WAAW,EACdzJ,KAAK,CAACkI,aAAa,gBACpBpK,KAAA,CAAAuH,aAAA,CAAClG,aAAa;MACZuK,MAAM,EAAE,CAAC,EAAE1J,KAAK,CAACmB,SAAS,IAAI,IAAI,CAACE,KAAK,CAAC2C,SAAS,CAAE;MACpD2F,KAAK,GAAAjB,oBAAA,GAAE1I,KAAK,CAACkI,aAAa,cAAAQ,oBAAA,cAAAA,oBAAA,GAAI1I,KAAK,CAACmI,WAAY;MAChD5B,KAAK,EAAE;QACL,IAAI,IAAI,CAACC,MAAM,CAACoD,aAAa,IAAI,EAAE,CAAC;QACpC,IAAI,IAAI,CAACvI,KAAK,CAAC2C,SAAS,GAAI,IAAI,CAACwC,MAAM,CAACqD,mBAAmB,IAAI,CAAC,CAAC,GAAI,CAAC,CAAC;MACzE;IAAE,CACD,CAAC,GACF,IAAI,eACN/L,KAAA,CAAAuH,aAAA,CAACtH,IAAI;MAACwI,KAAK,EAAE,IAAI,CAACC,MAAM,CAAC4B;IAAU,GAChC,IAAI,CAACX,mBAAmB,CAACzH,KAAK,eAC7BlC,KAAA,CAAAuH,aAAA,CAACrH,IAAI,EAAA0H,QAAA;MAACa,KAAK,EAAE,CACX,IAAI,CAACC,MAAM,CAAC1E,IAAI,EAChB,IAAI,CAACT,KAAK,CAACuB,YAAY,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC4D,MAAM,CAACsD,eAAe;IAC1D,GACE,IAAI,CAACC,oBAAoB,CAAC,CAAC,GAC5B,IAAI,CAAC1I,KAAK,CAACuB,YAAY,KAClB5C,KAAK,CAACkI,aAAa,GAAG,EAAE,GAAI,IAAI,CAAC7G,KAAK,CAACrB,KAAK,CAACmI,WAAW,CAC1D,CAAC,EACN,CAAC;MAAE6B,IAAI,EAAE;IAAC,CAAC,EAAE,IAAI,CAACC,KAAK,GAAC;MAACC,aAAa,EAAC,KAAK;MAAEC,SAAS,EAAC;IAAO,CAAC,GAAC,CAAC,CAAC,CAAE,CAAC,EACvE,CAACnK,KAAK,CAACkB,QAAQ,IAAIlB,KAAK,CAACmB,SAAS,iBACjCrD,KAAA,CAAAuH,aAAA,CAAC9G,MAAM;MAAC6L,SAAS,EAAC,aAAa;MAChC5D,MAAM,EAAE;QAAC6D,KAAK,EAAE,IAAI,CAAC7D,MAAM,CAAC1E,IAAI,CAACuI,KAAK;QAAE,GAAG,IAAI,CAAC7D,MAAM,CAAC8D;MAAS,CAAE;MAClEC,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,WAAW,CAAE;MAChCpB,kBAAkB,EAAE,SAASpJ,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE2E,IAAI,EAAG;MAC3CkC,KAAK,EAAEA,CAAA,KAAM;QACX,IAAI,CAACpD,YAAY,CAAC,IAAI,EAAS,IAAW,CAAC;QAC3C,IAAI,CAACgH,eAAe,GAAG,IAAI;MAC7B;IAAE,CAAC,CAAE,IAAK,IAAI,EACf,IAAI,CAAChD,mBAAmB,CAACzH,KAAK,eAC7BlC,KAAA,CAAAuH,aAAA,CAAC9G,MAAM;MAAC6L,SAAS,EAAE,IAAI,CAACpC,OAAO,CAAC,CAAE;MAACxB,MAAM,EAAE;QAAC6D,KAAK,EAAE,IAAI,CAAC7D,MAAM,CAAC1E,IAAI,CAACuI,KAAK;QAAE,GAAG,IAAI,CAAC7D,MAAM,CAACkE;MAAY,CAAE;MAAClB,IAAI,EAAExJ,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEwJ,IAAK;MAACe,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,cAAc,CAAE;MAACtB,UAAU,EAAE;IAAM,CAAC,CACpL,CACG,CAAC,EAEP,IAAI,CAAC7H,KAAK,CAAC4C,cAAc,KACpBhG,QAAQ,CAACsG,EAAE,KAAK,KAAK,IAAI,IAAI,CAACa,eAAe,CAACpF,KAAK,CAAC,IACnD,CAACA,KAAK,CAAC2K,aAAa,IAAI1M,QAAQ,CAACsG,EAAE,KAAK,SAAS,IAAI,IAAI,CAACkB,kBAAkB,CAACzF,KAAK,CAAE,IACpF,CAACA,KAAK,CAAC2K,aAAa,IAAI1M,QAAQ,CAACsG,EAAE,KAAK,KAAK,IAAI,IAAI,CAACwC,8BAA8B,CAAC/G,KAAK,CAAE,CAAC,EAEnG/B,QAAQ,CAACsG,EAAE,KAAK,KAAK,IAAIvE,KAAK,CAAC2K,aAAa,IAAI,IAAI,CAACtJ,KAAK,CAACuD,mBAAmB,iBAC9E9G,KAAA,CAAAuH,aAAA,CAAC/F,iBAAiB;MAChBsL,SAAS,EAAE,IAAI,CAACvJ,KAAK,CAACuD,mBAAoB;MAC1C0C,OAAO,EAAEA,CAAA,KAAM,IAAI,CAACrG,WAAW,CAAC;QAAC2D,mBAAmB,EAAE;MAAK,CAAsB,CAAE;MACnFiG,OAAO,EAAE7K,KAAK,CAAC+C,OAAQ;MACvB+H,OAAO,EAAE9K,KAAK,CAACoD,OAAQ;MACvB2H,YAAY,EAAE,IAAI,CAAC1J,KAAK,CAACsB,SAAU;MACnCqI,QAAQ,EAAG3K,IAAU,IAAK;QACxB,IAAI,CAACoD,YAAY,CAAC,IAAI,EAASpD,IAAI,CAAC;QACpC,IAAI,CAACY,WAAW,CAAC;UACf+C,SAAS,EAAE,KAAK;UAChBY,mBAAmB,EAAE;QACvB,CAAC,EAAuB,MAAM;UAC5BJ,UAAU,CAAC,MAAM;YACf,IAAI,CAACF,MAAM,CAAC,CAAC;UACf,CAAC,EAAE,EAAE,CAAC;;UAEN;UACA,IAAI,IAAI,CAACjD,KAAK,CAACrB,KAAK,CAAC2E,IAAI,KAAK,UAAU,EAAE;YACxC,IAAI,CAACK,QAAQ,CAAC;cACZH,mBAAmB,EAAE;YACvB,CAAC,CAAC;UACJ;QACF,CAAC,CAAC;MACJ,CAAE;MACFoG,QAAQ,EAAEA,CAAA,KAAM;QACd;QACA,IAAI,CAAChK,WAAW,CAAC;UACf+C,SAAS,EAAE,KAAK;UAChBY,mBAAmB,EAAE;QACvB,CAAC,EAAuB,MAAM,IAAI,CAACN,MAAM,CAAC,CAAC,CAAC;MAC9C,CAAE;MACF4G,eAAe,EAAElL,KAAK,CAACkL,eAAgB;MACvCC,qBAAqB,EAAEnL,KAAK,CAACmL,qBAAsB;MACnDC,eAAe,EAAEpL,KAAK,CAACoL;IAAgB,CACxC,CACF,EACCnN,QAAQ,CAACsG,EAAE,KAAK,KAAK,IAAIvE,KAAK,CAAC2K,aAAa,IAAI,IAAI,CAACtJ,KAAK,CAACwD,mBAAmB,iBAC9E/G,KAAA,CAAAuH,aAAA,CAAC9F,iBAAiB;MAChB8L,gBAAgB,EAAE,IAAI,CAAChK,KAAK,CAACsB,SAAU;MACvCiD,QAAQ,EAAEA,QAAS;MACnBgF,SAAS,EAAE,IAAI,CAACvJ,KAAK,CAACwD,mBAAoB;MAC1CyC,OAAO,EAAEA,CAAA,KAAM,IAAI,CAACrG,WAAW,CAAC;QAAC+C,SAAS,EAAE,KAAK;QAAEa,mBAAmB,EAAE;MAAK,CAAsB,CAAE;MACrGmG,QAAQ,EAAGM,IAAU,IAAK;QACxB,IAAI,CAAC7H,YAAY,CAAC,IAAI,EAAS6H,IAAI,CAAC;QACpC,IAAI,CAACrK,WAAW,CAAC;UACf+C,SAAS,EAAE,KAAK;UAChBa,mBAAmB,EAAE;QACvB,CAAC,EAAuB,MAAQ;UAC9BL,UAAU,CAAC,MAAM;YACf,IAAI,CAACF,MAAM,CAAC,CAAC;UACf,CAAC,EAAE,EAAE,CAAC;QACR,CAAC,CAAC;MACJ,CAAE;MACF2G,QAAQ,EAAEA,CAAA,KAAM;QACd;QACA,IAAI,CAAChK,WAAW,CAAC;UACf+C,SAAS,EAAE,KAAK;UAChBa,mBAAmB,EAAE;QACvB,CAAC,EAAuB,MAAM;UAC5B,IAAI,CAACP,MAAM,CAAC,CAAC;UACb,IAAI,CAACT,KAAK,CAACC,KAAK,CAAC,CAAC;QACpB,CAAC,CAAC;MACJ,CAAE;MACFyH,eAAe,EAAEvL,KAAK,CAACuL,eAAgB;MACvCC,qBAAqB,EAAExL,KAAK,CAACwL,qBAAsB;MACnDC,eAAe,EAAEzL,KAAK,CAACyL;IAAgB,CACxC,CAEC,CAAC,EACJ,IAAI,CAACjF,MAAM,CAACkF,WAAW,EAAG,IAAI,CAAC/D,YAAY,CAAC;EAErD;AACF","ignoreList":[]}
@@ -18,6 +18,7 @@ export default class WmDatetimeProps extends BaseProps {
18
18
  _defineProperty(this, "timestamp", void 0);
19
19
  _defineProperty(this, "triggerValidation", void 0);
20
20
  _defineProperty(this, "floatinglabel", void 0);
21
+ _defineProperty(this, "accessible", true);
21
22
  _defineProperty(this, "accessibilitylabel", undefined);
22
23
  _defineProperty(this, "hint", undefined);
23
24
  _defineProperty(this, "accessibilityrole", void 0);
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmDatetimeProps","constructor","args","_defineProperty","undefined"],"sources":["datetime.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityRole } from 'react-native';\n\nexport default class WmDatetimeProps extends BaseProps {\n mode = 'datetime';\n datavalue?: string | Date | number = undefined as any;\n datepattern?: string = '';\n outputformat?: string = 'timestamp';\n mindate?: string | Date = undefined as any;\n maxdate?: string | Date = undefined as any;\n placeholder? = 'Select date time';\n readonly? = false;\n onFieldChange?: any;\n locale: string = '';\n timestamp?: any;\n triggerValidation?: any;\n floatinglabel?: string;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole;\n accessibilitylabelledby?: string = undefined;\n iswheelpicker?: boolean = true;\n is24hour?: boolean = true;\n dateheadertitle?: string = \"Select Date\";\n dateconfirmationtitle?: string = \"Select\";\n datecanceltitle?: string = \"Cancel\";\n timeheadertitle?: string = \"Select Time\";\n timeconfirmationtitle?: string = \"Select\";\n timecanceltitle?: string = \"Cancel\";\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAGzE,eAAe,MAAMC,eAAe,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,eAC9C,UAAU;IAAAA,eAAA,oBACoBC,SAAS;IAAAD,eAAA,sBACvB,EAAE;IAAAA,eAAA,uBACD,WAAW;IAAAA,eAAA,kBACTC,SAAS;IAAAD,eAAA,kBACTC,SAAS;IAAAD,eAAA,sBACpB,kBAAkB;IAAAA,eAAA,mBACrB,KAAK;IAAAA,eAAA;IAAAA,eAAA,iBAEA,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,6BAIWC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA;IAAAA,eAAA,kCAEUC,SAAS;IAAAD,eAAA,wBAClB,IAAI;IAAAA,eAAA,mBACT,IAAI;IAAAA,eAAA,0BACE,aAAa;IAAAA,eAAA,gCACP,QAAQ;IAAAA,eAAA,0BACd,QAAQ;IAAAA,eAAA,0BACR,aAAa;IAAAA,eAAA,gCACP,QAAQ;IAAAA,eAAA,0BACd,QAAQ;EAAA;AACrC","ignoreList":[]}
1
+ {"version":3,"names":["BaseProps","WmDatetimeProps","constructor","args","_defineProperty","undefined"],"sources":["datetime.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { AccessibilityRole } from 'react-native';\n\nexport default class WmDatetimeProps extends BaseProps {\n mode = 'datetime';\n datavalue?: string | Date | number = undefined as any;\n datepattern?: string = '';\n outputformat?: string = 'timestamp';\n mindate?: string | Date = undefined as any;\n maxdate?: string | Date = undefined as any;\n placeholder? = 'Select date time';\n readonly? = false;\n onFieldChange?: any;\n locale: string = '';\n timestamp?: any;\n triggerValidation?: any;\n floatinglabel?: string;\n accessible?: boolean = true;\n accessibilitylabel?: string = undefined;\n hint?: string = undefined;\n accessibilityrole?: AccessibilityRole;\n accessibilitylabelledby?: string = undefined;\n iswheelpicker?: boolean = true;\n is24hour?: boolean = true;\n dateheadertitle?: string = \"Select Date\";\n dateconfirmationtitle?: string = \"Select\";\n datecanceltitle?: string = \"Cancel\";\n timeheadertitle?: string = \"Select Time\";\n timeconfirmationtitle?: string = \"Select\";\n timecanceltitle?: string = \"Cancel\";\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAGzE,eAAe,MAAMC,eAAe,SAASD,SAAS,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,eAC9C,UAAU;IAAAA,eAAA,oBACoBC,SAAS;IAAAD,eAAA,sBACvB,EAAE;IAAAA,eAAA,uBACD,WAAW;IAAAA,eAAA,kBACTC,SAAS;IAAAD,eAAA,kBACTC,SAAS;IAAAD,eAAA,sBACpB,kBAAkB;IAAAA,eAAA,mBACrB,KAAK;IAAAA,eAAA;IAAAA,eAAA,iBAEA,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,qBAII,IAAI;IAAAA,eAAA,6BACGC,SAAS;IAAAD,eAAA,eACvBC,SAAS;IAAAD,eAAA;IAAAA,eAAA,kCAEUC,SAAS;IAAAD,eAAA,wBAClB,IAAI;IAAAA,eAAA,mBACT,IAAI;IAAAA,eAAA,0BACE,aAAa;IAAAA,eAAA,gCACP,QAAQ;IAAAA,eAAA,0BACd,QAAQ;IAAAA,eAAA,0BACR,aAAa;IAAAA,eAAA,gCACP,QAAQ;IAAAA,eAAA,0BACd,QAAQ;EAAA;AACrC","ignoreList":[]}
@@ -1,8 +1,9 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
1
2
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
3
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
4
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
5
  import React, { createRef } from 'react';
5
- import { Text, View } from 'react-native';
6
+ import { Platform, Text, View } from 'react-native';
6
7
  import { ScrollView } from 'react-native-gesture-handler';
7
8
  import { DEFAULT_CLASS } from './wheelpicker.styles';
8
9
  import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
@@ -53,12 +54,16 @@ export class WmWheelScrollPicker extends BaseComponent {
53
54
  itemHeight
54
55
  } = props;
55
56
  const scrollOffset = (wrapperHeight - itemHeight) / 2;
56
- return /*#__PURE__*/React.createElement(View, {
57
+ return /*#__PURE__*/React.createElement(View, _extends({
57
58
  style: [styles.root, {
58
59
  height: wrapperHeight
59
60
  }],
60
61
  onLayout: event => this.handleLayout(event)
61
- }, /*#__PURE__*/React.createElement(ScrollView, {
62
+ // prevent swipe gesture from bubbling to parent (fixes scroll vs. bottom sheet swipe conflict)
63
+ }, Platform.OS === 'ios' ? {
64
+ onStartShouldSetResponder: () => true,
65
+ onResponderTerminationRequest: () => false
66
+ } : {}), /*#__PURE__*/React.createElement(ScrollView, {
62
67
  ref: this.wheelPickerRef,
63
68
  scrollEventThrottle: 16,
64
69
  contentContainerStyle: {
@@ -1 +1 @@
1
- {"version":3,"names":["React","createRef","Text","View","ScrollView","DEFAULT_CLASS","BaseComponent","BaseComponentState","WmWheelPickerState","constructor","args","_defineProperty","WmWheelScrollPicker","props","event","selectedIdx","Math","round","nativeEvent","contentOffset","y","itemHeight","setState","selectedIndex","_this$props$onValueCh","_this$props","state","selectedData","data","onValueChange","call","wheelPickerRef","initialScrollTo","_this$wheelPickerRef","_this$wheelPickerRef$","current","scrollTo","animated","renderWidget","styles","wrapperHeight","scrollOffset","createElement","style","root","height","onLayout","handleLayout","ref","scrollEventThrottle","contentContainerStyle","paddingVertical","showsVerticalScrollIndicator","onScroll","handleWheelScroll","onMomentumScrollEnd","handleWheelMomentumEnd","decelerationRate","snapToInterval","map","item","index","isSelected","key","center","itemBg","selectedItemText","itemText","selectedItemBg","top"],"sources":["wheelpicker.component.tsx"],"sourcesContent":["import React, {createRef} from 'react';\nimport {\n NativeScrollEvent,\n NativeSyntheticEvent,\n Text,\n View,\n} from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport WmWheelPickerProps from './wheelpicker.props';\nimport { DEFAULT_CLASS, WmWheelPickerStyles } from './wheelpicker.styles';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport class WmWheelPickerState extends BaseComponentState<WmWheelPickerProps> {\n selectedIndex: number = 0;\n}\n\nexport class WmWheelScrollPicker extends BaseComponent<WmWheelPickerProps, WmWheelPickerState,\n WmWheelPickerStyles> {\n wheelPickerRef: any = null;\n\n constructor(props: WmWheelPickerProps) {\n super(props, DEFAULT_CLASS);\n\n this.wheelPickerRef = createRef();\n }\n\n initialScrollTo() {\n const props = this.props;\n const y = props.itemHeight * props.selectedIndex;\n this.wheelPickerRef?.current?.scrollTo?.({y: y, animated: false});\n this.setState({\n selectedIndex: props.selectedIndex || 0,\n });\n }\n\n handleWheelScroll = (event: NativeSyntheticEvent<NativeScrollEvent>) => {\n // console.log('scroll =>', event.nativeEvent.contentOffset);\n const selectedIdx = Math.round(\n event.nativeEvent.contentOffset.y / this.props.itemHeight,\n );\n\n this.setState({\n selectedIndex: selectedIdx,\n });\n };\n\n handleWheelMomentumEnd = () => {\n const props = this.props;\n const state = this.state;\n\n const selectedData = props.data[state.selectedIndex];\n this.props.onValueChange?.(selectedData, state.selectedIndex);\n };\n\n renderWidget(props: WmWheelPickerProps) {\n const state = this.state;\n const styles = this.styles;\n const {data, wrapperHeight, itemHeight} = props;\n const scrollOffset = (wrapperHeight - itemHeight) / 2;\n\n return (\n <View \n style={[styles.root, {height: wrapperHeight}]}\n onLayout={(event) => this.handleLayout(event)}\n >\n <ScrollView\n ref={this.wheelPickerRef}\n scrollEventThrottle={16}\n contentContainerStyle={{paddingVertical: scrollOffset}}\n showsVerticalScrollIndicator={false}\n onLayout={() => this.initialScrollTo()}\n onScroll={this.handleWheelScroll}\n onMomentumScrollEnd={this.handleWheelMomentumEnd}\n decelerationRate=\"fast\"\n snapToInterval={itemHeight} // your snap points\n >\n {data.map((item, index) => {\n const isSelected = index === state.selectedIndex;\n\n return (\n <View\n key={`data_item_${index}`}\n style={[styles.center, styles.itemBg, {height: itemHeight}]}>\n <Text\n style={\n isSelected ? [styles.selectedItemText] : [styles.itemText]\n }>\n {item}\n </Text>\n </View>\n );\n })}\n </ScrollView>\n <View\n style={[\n styles.selectedItemBg,\n {\n height: itemHeight,\n top: scrollOffset,\n },\n ]}\n />\n </View>\n );\n }\n}\n\nexport default WmWheelScrollPicker;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","createRef","Platform","Text","View","ScrollView","DEFAULT_CLASS","BaseComponent","BaseComponentState","WmWheelPickerState","constructor","args","_defineProperty","WmWheelScrollPicker","props","event","selectedIdx","Math","round","nativeEvent","contentOffset","y","itemHeight","setState","selectedIndex","_this$props$onValueCh","_this$props","state","selectedData","data","onValueChange","call","wheelPickerRef","initialScrollTo","_this$wheelPickerRef","_this$wheelPickerRef$","current","scrollTo","animated","renderWidget","styles","wrapperHeight","scrollOffset","createElement","_extends","style","root","height","onLayout","handleLayout","OS","onStartShouldSetResponder","onResponderTerminationRequest","ref","scrollEventThrottle","contentContainerStyle","paddingVertical","showsVerticalScrollIndicator","onScroll","handleWheelScroll","onMomentumScrollEnd","handleWheelMomentumEnd","decelerationRate","snapToInterval","map","item","index","isSelected","key","center","itemBg","selectedItemText","itemText","selectedItemBg","top"],"sources":["wheelpicker.component.tsx"],"sourcesContent":["import React, {createRef} from 'react';\nimport {\n NativeScrollEvent,\n NativeSyntheticEvent,\n Platform,\n Text,\n View,\n} from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport WmWheelPickerProps from './wheelpicker.props';\nimport { DEFAULT_CLASS, WmWheelPickerStyles } from './wheelpicker.styles';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport class WmWheelPickerState extends BaseComponentState<WmWheelPickerProps> {\n selectedIndex: number = 0;\n}\n\nexport class WmWheelScrollPicker extends BaseComponent<WmWheelPickerProps, WmWheelPickerState,\n WmWheelPickerStyles> {\n wheelPickerRef: any = null;\n\n constructor(props: WmWheelPickerProps) {\n super(props, DEFAULT_CLASS);\n\n this.wheelPickerRef = createRef();\n }\n\n initialScrollTo() {\n const props = this.props;\n const y = props.itemHeight * props.selectedIndex;\n this.wheelPickerRef?.current?.scrollTo?.({y: y, animated: false});\n this.setState({\n selectedIndex: props.selectedIndex || 0,\n });\n }\n\n handleWheelScroll = (event: NativeSyntheticEvent<NativeScrollEvent>) => {\n // console.log('scroll =>', event.nativeEvent.contentOffset);\n const selectedIdx = Math.round(\n event.nativeEvent.contentOffset.y / this.props.itemHeight,\n );\n\n this.setState({\n selectedIndex: selectedIdx,\n });\n };\n\n handleWheelMomentumEnd = () => {\n const props = this.props;\n const state = this.state;\n\n const selectedData = props.data[state.selectedIndex];\n this.props.onValueChange?.(selectedData, state.selectedIndex);\n };\n\n renderWidget(props: WmWheelPickerProps) {\n const state = this.state;\n const styles = this.styles;\n const {data, wrapperHeight, itemHeight} = props;\n const scrollOffset = (wrapperHeight - itemHeight) / 2;\n\n return (\n <View\n style={[styles.root, { height: wrapperHeight }]}\n onLayout={(event) => this.handleLayout(event)}\n // prevent swipe gesture from bubbling to parent (fixes scroll vs. bottom sheet swipe conflict)\n {...(Platform.OS === 'ios'\n ? {\n onStartShouldSetResponder: () => true,\n onResponderTerminationRequest: () => false,\n }\n : {})}>\n <ScrollView\n ref={this.wheelPickerRef}\n scrollEventThrottle={16}\n contentContainerStyle={{paddingVertical: scrollOffset}}\n showsVerticalScrollIndicator={false}\n onLayout={() => this.initialScrollTo()}\n onScroll={this.handleWheelScroll}\n onMomentumScrollEnd={this.handleWheelMomentumEnd}\n decelerationRate=\"fast\"\n snapToInterval={itemHeight} // your snap points\n >\n {data.map((item, index) => {\n const isSelected = index === state.selectedIndex;\n\n return (\n <View\n key={`data_item_${index}`}\n style={[styles.center, styles.itemBg, {height: itemHeight}]}>\n <Text\n style={\n isSelected ? [styles.selectedItemText] : [styles.itemText]\n }>\n {item}\n </Text>\n </View>\n );\n })}\n </ScrollView>\n <View\n style={[\n styles.selectedItemBg,\n {\n height: itemHeight,\n top: scrollOffset,\n },\n ]}\n />\n </View>\n );\n }\n}\n\nexport default WmWheelScrollPicker;\n"],"mappings":"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","ignoreList":[]}