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

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 +5 -5
  167. package/package-lock.json +5 -5
  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
@@ -142,22 +142,30 @@ export default class WmCalendar extends BaseComponent {
142
142
  renderPrevYearButton: () => /*#__PURE__*/React.createElement(WmIcon, {
143
143
  id: this.getTestId('prevyearicon'),
144
144
  iconclass: "wi wi-angle-double-left",
145
- styles: this.styles.prevYearBtn
145
+ styles: this.styles.prevYearBtn,
146
+ accessibilitylabel: "previous year",
147
+ accessibilityrole: "button"
146
148
  }),
147
149
  renderPrevMonthButton: () => /*#__PURE__*/React.createElement(WmIcon, {
148
150
  id: this.getTestId('prevmonthicon'),
149
151
  iconclass: "wi wi-chevron-left fa-2x",
150
- styles: this.styles.prevMonthBtn
152
+ styles: this.styles.prevMonthBtn,
153
+ accessibilitylabel: "previous month",
154
+ accessibilityrole: "button"
151
155
  }),
152
156
  renderNextMonthButton: () => /*#__PURE__*/React.createElement(WmIcon, {
153
157
  id: this.getTestId('nextmonthicon'),
154
158
  iconclass: "wi wi-chevron-right fa-2x",
155
- styles: this.styles.nextMonthBtn
159
+ styles: this.styles.nextMonthBtn,
160
+ accessibilitylabel: "next month",
161
+ accessibilityrole: "button"
156
162
  }),
157
163
  renderNextYearButton: () => /*#__PURE__*/React.createElement(WmIcon, {
158
164
  id: this.getTestId('nextyearicon'),
159
165
  iconclass: "wi wi-angle-double-right",
160
- styles: this.styles.nextYearBtn
166
+ styles: this.styles.nextYearBtn,
167
+ accessibilitylabel: "next year",
168
+ accessibilityrole: "button"
161
169
  })
162
170
  }));
163
171
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","isString","moment","BaseComponent","BaseComponentState","MonthView","WmCalendarProps","DEFAULT_CLASS","WmIcon","createSkeleton","WmCalendarState","constructor","args","_defineProperty","Map","DEFAULT_DATE_FORMAT","WmCalendar","props","date","d","format","dateWindow","state","calendar","get","updateState","datavalue","selectedDate","invokeEventCallback","events","createElement","iconclass","iconsize","styles","root","marginTop","alignSelf","icon","Math","min","length","Fragment","prepareDataset","dataset","eventStartKey","eventstart","forEach","startDate","has","set","push","onPropertyChange","name","$new","$old","componentDidUpdate","prevProps","prevState","snapshot","renderSkeleton","style","skeleton","headerSkeleton","theme","width","height","borderRadius","margin","renderWidget","onLayout","event","handleLayout","_background","selectDate","onDateChange","renderChildDay","renderDay","containerStyle","dateSelectedWarpDayStyle","selectedDay","selectedDayTextStyle","selectedDayText","warpRowWeekdays","weekDay","warpRowControlMonthYear","calendarHeader","weekdayStyle","weekDayText","warpDayStyle","dayWrapper","textDayStyle","day","yearTextStyle","yearText","monthTextStyle","monthText","currentDayStyle","today","currentDayTextStyle","todayText","notDayOfCurrentMonthStyle","notDayOfCurrentMonth","renderPrevYearButton","id","getTestId","prevYearBtn","renderPrevMonthButton","prevMonthBtn","renderNextMonthButton","nextMonthBtn","renderNextYearButton","nextYearBtn"],"sources":["calendar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, View } from 'react-native';\nimport { isString } from 'lodash';\nimport moment, { Moment } from 'moment';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { MonthView } from './views/month-view';\nimport WmCalendarProps from './calendar.props';\nimport { DEFAULT_CLASS, WmCalendarStyles } from './calendar.styles';\nimport WmIcon from '../../basic/icon/icon.component';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component'\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmCalendarState extends BaseComponentState<WmCalendarProps> {\n selectedDate: Moment = moment();\n calendar: Map<String, { date: number, events: any []}> = new Map();\n}\n\nconst DEFAULT_DATE_FORMAT = 'DD-MM-YYYY';\n\nexport default class WmCalendar extends BaseComponent<WmCalendarProps, WmCalendarState, WmCalendarStyles> {\n\n constructor(props: WmCalendarProps) {\n super(props, DEFAULT_CLASS, new WmCalendarProps(), new WmCalendarState());\n }\n\n onDateChange = (date: Moment) => {\n const d = moment(date).format(DEFAULT_DATE_FORMAT);\n const dateWindow = this.state.calendar.get(d);\n this.updateState({\n props: {datavalue: d},\n selectedDate: date\n } as WmCalendarState);\n this.invokeEventCallback('onSelect', [d, d, this, dateWindow?.events]);\n }\n\n prepareDataset(dataset: any[]) {\n if (!dataset) {\n return;\n }\n const state = {\n calendar: new Map()\n } as WmCalendarState;\n const eventStartKey = this.state.props.eventstart;\n dataset.forEach(d => {\n let startDate = d[eventStartKey];\n if (!isString(startDate)) {\n startDate = moment(startDate).format(DEFAULT_DATE_FORMAT);\n }\n if (!state.calendar.has(startDate)) {\n state.calendar.set(startDate, {\n date: moment(startDate, DEFAULT_DATE_FORMAT).get('milliseconds'),\n events: []\n });\n }\n const dateWindow = state.calendar.get(startDate);\n dateWindow?.events.push(d);\n });\n this.updateState(state);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'dataset':\n this.prepareDataset($new);\n break;\n case 'datavalue':\n if ($new) {\n this.updateState({\n selectedDate: isString($new) ? moment($new, DEFAULT_DATE_FORMAT) : moment($new)\n } as WmCalendarState)\n }\n }\n }\n\n renderDay = (date: Moment) => {\n const dateWindow = this.state.calendar.get(moment(date).format(DEFAULT_DATE_FORMAT));\n if (dateWindow) {\n return (\n <WmIcon\n iconclass=\"fa fa-circle\"\n iconsize={8}\n styles={{\n root: {marginTop: -8, alignSelf: 'flexStart'},\n icon: this.styles['eventDay' + Math.min(3, dateWindow.events.length)]}}></WmIcon>\n );\n }\n return (<></>);\n }\n\n componentDidUpdate(prevProps: WmCalendarProps, prevState: WmCalendarState, snapshot: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n this.invokeEventCallback('onViewrender', [this, null]);\n }\n\n public renderSkeleton(props: WmCalendarProps): React.ReactNode {\n return (\n <View style={[this.styles.root, this.styles.skeleton.root]}>\n <View style={this.styles.headerSkeleton.root}>\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {width: '10%', height: 28,borderRadius: 4})}\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {width: '68%', height: 16, borderRadius: 4})}\n {createSkeleton(this.theme, {}as WmSkeletonStyles, {width: '10%', height: 28, borderRadius: 4})}\n </View>\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {width: '96%', margin: 8, height: 320, borderRadius: 4})}\n </View>)\n } \n\n renderWidget(props: WmCalendarProps) {\n this.invokeEventCallback('onBeforerender', [null, this]);\n return (\n <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n {this._background}\n <MonthView\n date={this.state.selectedDate}\n selectDate={this.onDateChange}\n format={DEFAULT_DATE_FORMAT}\n renderChildDay={this.renderDay}\n containerStyle={this.styles.calendar}\n dateSelectedWarpDayStyle={this.styles.selectedDay}\n selectedDayTextStyle={this.styles.selectedDayText}\n warpRowWeekdays={this.styles.weekDay}\n warpRowControlMonthYear={this.styles.calendarHeader}\n weekdayStyle={this.styles.weekDayText}\n warpDayStyle={this.styles.dayWrapper}\n textDayStyle={this.styles.day}\n yearTextStyle={this.styles.yearText}\n monthTextStyle={this.styles.monthText}\n currentDayStyle={this.styles.today}\n currentDayTextStyle={this.styles.todayText}\n notDayOfCurrentMonthStyle={this.styles.notDayOfCurrentMonth}\n renderPrevYearButton={() =>\n (<WmIcon id={this.getTestId('prevyearicon')} iconclass=\"wi wi-angle-double-left\" styles={this.styles.prevYearBtn}/>)}\n renderPrevMonthButton={() =>\n (<WmIcon id={this.getTestId('prevmonthicon')} iconclass=\"wi wi-chevron-left fa-2x\" styles={this.styles.prevMonthBtn}/>)}\n renderNextMonthButton={() =>\n (<WmIcon id={this.getTestId('nextmonthicon')} iconclass=\"wi wi-chevron-right fa-2x\" styles={this.styles.nextMonthBtn}/>)}\n renderNextYearButton={() =>\n (<WmIcon id={this.getTestId('nextyearicon')} iconclass=\"wi wi-angle-double-right\" styles={this.styles.nextYearBtn}/>)}\n />\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","isString","moment","BaseComponent","BaseComponentState","MonthView","WmCalendarProps","DEFAULT_CLASS","WmIcon","createSkeleton","WmCalendarState","constructor","args","_defineProperty","Map","DEFAULT_DATE_FORMAT","WmCalendar","props","date","d","format","dateWindow","state","calendar","get","updateState","datavalue","selectedDate","invokeEventCallback","events","createElement","iconclass","iconsize","styles","root","marginTop","alignSelf","icon","Math","min","length","Fragment","prepareDataset","dataset","eventStartKey","eventstart","forEach","startDate","has","set","push","onPropertyChange","name","$new","$old","componentDidUpdate","prevProps","prevState","snapshot","renderSkeleton","style","skeleton","headerSkeleton","theme","width","height","borderRadius","margin","renderWidget","onLayout","event","handleLayout","_background","selectDate","onDateChange","renderChildDay","renderDay","containerStyle","dateSelectedWarpDayStyle","selectedDay","selectedDayTextStyle","selectedDayText","warpRowWeekdays","weekDay","warpRowControlMonthYear","calendarHeader","weekdayStyle","weekDayText","warpDayStyle","dayWrapper","textDayStyle","day","yearTextStyle","yearText","monthTextStyle","monthText","currentDayStyle","today","currentDayTextStyle","todayText","notDayOfCurrentMonthStyle","notDayOfCurrentMonth","renderPrevYearButton","id","getTestId","prevYearBtn","accessibilitylabel","accessibilityrole","renderPrevMonthButton","prevMonthBtn","renderNextMonthButton","nextMonthBtn","renderNextYearButton","nextYearBtn"],"sources":["calendar.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, View } from 'react-native';\nimport { isString } from 'lodash';\nimport moment, { Moment } from 'moment';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\n\nimport { MonthView } from './views/month-view';\nimport WmCalendarProps from './calendar.props';\nimport { DEFAULT_CLASS, WmCalendarStyles } from './calendar.styles';\nimport WmIcon from '../../basic/icon/icon.component';\nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component'\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmCalendarState extends BaseComponentState<WmCalendarProps> {\n selectedDate: Moment = moment();\n calendar: Map<String, { date: number, events: any []}> = new Map();\n}\n\nconst DEFAULT_DATE_FORMAT = 'DD-MM-YYYY';\n\nexport default class WmCalendar extends BaseComponent<WmCalendarProps, WmCalendarState, WmCalendarStyles> {\n\n constructor(props: WmCalendarProps) {\n super(props, DEFAULT_CLASS, new WmCalendarProps(), new WmCalendarState());\n }\n\n onDateChange = (date: Moment) => {\n const d = moment(date).format(DEFAULT_DATE_FORMAT);\n const dateWindow = this.state.calendar.get(d);\n this.updateState({\n props: {datavalue: d},\n selectedDate: date\n } as WmCalendarState);\n this.invokeEventCallback('onSelect', [d, d, this, dateWindow?.events]);\n }\n\n prepareDataset(dataset: any[]) {\n if (!dataset) {\n return;\n }\n const state = {\n calendar: new Map()\n } as WmCalendarState;\n const eventStartKey = this.state.props.eventstart;\n dataset.forEach(d => {\n let startDate = d[eventStartKey];\n if (!isString(startDate)) {\n startDate = moment(startDate).format(DEFAULT_DATE_FORMAT);\n }\n if (!state.calendar.has(startDate)) {\n state.calendar.set(startDate, {\n date: moment(startDate, DEFAULT_DATE_FORMAT).get('milliseconds'),\n events: []\n });\n }\n const dateWindow = state.calendar.get(startDate);\n dateWindow?.events.push(d);\n });\n this.updateState(state);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch(name) {\n case 'dataset':\n this.prepareDataset($new);\n break;\n case 'datavalue':\n if ($new) {\n this.updateState({\n selectedDate: isString($new) ? moment($new, DEFAULT_DATE_FORMAT) : moment($new)\n } as WmCalendarState)\n }\n }\n }\n\n renderDay = (date: Moment) => {\n const dateWindow = this.state.calendar.get(moment(date).format(DEFAULT_DATE_FORMAT));\n if (dateWindow) {\n return (\n <WmIcon\n iconclass=\"fa fa-circle\"\n iconsize={8}\n styles={{\n root: {marginTop: -8, alignSelf: 'flexStart'},\n icon: this.styles['eventDay' + Math.min(3, dateWindow.events.length)]}}></WmIcon>\n );\n }\n return (<></>);\n }\n\n componentDidUpdate(prevProps: WmCalendarProps, prevState: WmCalendarState, snapshot: any) {\n super.componentDidUpdate && super.componentDidUpdate(prevProps, prevState, snapshot);\n this.invokeEventCallback('onViewrender', [this, null]);\n }\n\n public renderSkeleton(props: WmCalendarProps): React.ReactNode {\n return (\n <View style={[this.styles.root, this.styles.skeleton.root]}>\n <View style={this.styles.headerSkeleton.root}>\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {width: '10%', height: 28,borderRadius: 4})}\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {width: '68%', height: 16, borderRadius: 4})}\n {createSkeleton(this.theme, {}as WmSkeletonStyles, {width: '10%', height: 28, borderRadius: 4})}\n </View>\n {createSkeleton(this.theme, {} as WmSkeletonStyles, {width: '96%', margin: 8, height: 320, borderRadius: 4})}\n </View>)\n } \n\n renderWidget(props: WmCalendarProps) {\n this.invokeEventCallback('onBeforerender', [null, this]);\n return (\n <View style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n {this._background}\n <MonthView\n date={this.state.selectedDate}\n selectDate={this.onDateChange}\n format={DEFAULT_DATE_FORMAT}\n renderChildDay={this.renderDay}\n containerStyle={this.styles.calendar}\n dateSelectedWarpDayStyle={this.styles.selectedDay}\n selectedDayTextStyle={this.styles.selectedDayText}\n warpRowWeekdays={this.styles.weekDay}\n warpRowControlMonthYear={this.styles.calendarHeader}\n weekdayStyle={this.styles.weekDayText}\n warpDayStyle={this.styles.dayWrapper}\n textDayStyle={this.styles.day}\n yearTextStyle={this.styles.yearText}\n monthTextStyle={this.styles.monthText}\n currentDayStyle={this.styles.today}\n currentDayTextStyle={this.styles.todayText}\n notDayOfCurrentMonthStyle={this.styles.notDayOfCurrentMonth}\n renderPrevYearButton={() =>\n (<WmIcon id={this.getTestId('prevyearicon')} iconclass=\"wi wi-angle-double-left\" styles={this.styles.prevYearBtn} accessibilitylabel='previous year' accessibilityrole='button'/>)}\n renderPrevMonthButton={() =>\n (<WmIcon id={this.getTestId('prevmonthicon')} iconclass=\"wi wi-chevron-left fa-2x\" styles={this.styles.prevMonthBtn} accessibilitylabel='previous month' accessibilityrole='button'/>)}\n renderNextMonthButton={() =>\n (<WmIcon id={this.getTestId('nextmonthicon')} iconclass=\"wi wi-chevron-right fa-2x\" styles={this.styles.nextMonthBtn} accessibilitylabel='next month' accessibilityrole='button'/>)}\n renderNextYearButton={() =>\n (<WmIcon id={this.getTestId('nextyearicon')} iconclass=\"wi wi-angle-double-right\" styles={this.styles.nextYearBtn} accessibilitylabel='next year' accessibilityrole='button'/>)}\n />\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -7,10 +7,17 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
7
7
  * That js lib was converted to ts and fixed bugs.
8
8
  */
9
9
  import React, { Component } from 'react';
10
- import { Text, View, FlatList, TouchableOpacity } from 'react-native';
10
+ import { Text, View, FlatList, TouchableOpacity, AccessibilityInfo } from 'react-native';
11
11
  import moment from 'moment';
12
12
  import styles from './month-view.styles';
13
13
  import _ from 'lodash';
14
+ let _isScreenReaderEnabled = false;
15
+ AccessibilityInfo.addEventListener('screenReaderChanged', enabled => {
16
+ _isScreenReaderEnabled = enabled;
17
+ });
18
+ AccessibilityInfo.isScreenReaderEnabled().then(enabled => {
19
+ _isScreenReaderEnabled = enabled;
20
+ });
14
21
  export class MonthViewProps {
15
22
  constructor() {
16
23
  _defineProperty(this, "testID", null);
@@ -96,7 +103,7 @@ export class MonthView extends Component {
96
103
  const dateStyle = (this.props.getDayStyle ? this.props.getDayStyle(day) : null) || {};
97
104
  return /*#__PURE__*/React.createElement(TouchableOpacity, {
98
105
  testID: this.props.testID + '_' + day.format('yyyy_mm_dd'),
99
- accessibilityLabel: this.props.testID + '_' + day.format('yyyy_mm_dd'),
106
+ accessibilityLabel: !_isScreenReaderEnabled ? this.props.testID + '_' + day.format('yyyy_mm_dd') : undefined,
100
107
  onPress: () => this.selectDate(day),
101
108
  style: [styles.warpDay, warpDayStyle, isCurrent ? currentDayStyle : {}, dateSelected ? {
102
109
  backgroundColor: '#2C1F23',
@@ -1 +1 @@
1
- {"version":3,"names":["React","Component","Text","View","FlatList","TouchableOpacity","moment","styles","_","MonthViewProps","constructor","_defineProperty","day","createElement","Fragment","date","MonthViewState","selectedDate","MonthView","props","state","updateLocale","week","dow","doy","calendarArray","dates","currDate","clone","startOf","startDay","subtract","i","add","renderDay","_this$props$date","_this$props$date2","warpDayStyle","dateSelectedWarpDayStyle","renderChildDay","textDayStyle","currentDayStyle","currentDayTextStyle","notDayOfCurrentMonthStyle","selectedDayTextStyle","dateSelected","isSame","isCurrent","notCurrentMonth","dateStyle","getDayStyle","testID","format","accessibilityLabel","onPress","selectDate","style","warpDay","backgroundColor","containerStyle","flexDirection","justifyContent","alignItems","color","textStyle","get","isDateEnable","yearMonthChange","unit","type","minDate","maxDate","isSameOrBefore","isSameOrAfter","render","_this$props$date3","_this$props$date4","renderPrevYearButton","renderPrevMonthButton","renderNextYearButton","renderNextMonthButton","weekdayStyle","customWeekdays","warpRowWeekdays","warpRowControlMonthYear","monthTextStyle","yearTextStyle","weekdays","data","dayOfWeek","month","customMonth","year","forEach","element","push","key","container","txtHeaderDate","keyExtractor","item","toDate","getTime","renderItem","extraData","columnWrapperStyle","numColumns","padding"],"sources":["month-view.tsx"],"sourcesContent":["/****\n * Copied code from a repo with no active maintenance.\n * https://github.com/hungdev/react-native-customize-selected-date\n * That js lib was converted to ts and fixed bugs. \n */\nimport React, { Component } from 'react';\nimport {\n Text,\n View,\n FlatList,\n TouchableOpacity,\n ViewStyle,\n TextStyle\n} from 'react-native';\nimport moment, { Moment } from 'moment';\nimport styles from './month-view.styles'\nimport _ from 'lodash';\n\nexport class MonthViewProps {\n testID?: string = null as any;\n accessibilityLabel?: string = null as any;\n date?: Moment = null as any;\n minDate? = moment('1990-01-01', 'YYYY-MM-DD');\n maxDate? = moment('2100-01-01', 'YYYY-MM-DD');\n customMonth?: string[] = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n customWeekdays?: string[] = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n renderPrevYearButton?: () => React.ReactNode = null as any;\n format?='YYYY-MM-DD';\n renderPrevMonthButton?: () => React.ReactNode = null as any;\n renderNextYearButton?: () => React.ReactNode = null as any;\n renderNextMonthButton?: () => React.ReactNode = null as any;\n renderChildDay? = (day: Moment) => (<></>);\n selectDate? = (day: Moment) => {}; \n //style\n getDayStyle? = (date: Moment) => ({});\n containerStyle?: ViewStyle = null as any;\n warpRowControlMonthYear?: ViewStyle = null as any;\n warpRowWeekdays?: ViewStyle = null as any;\n weekdayStyle?: TextStyle = null as any;\n textDayStyle?: TextStyle = null as any;\n currentDayStyle?: ViewStyle = null as any;\n currentDayTextStyle?: TextStyle = null as any;\n notDayOfCurrentMonthStyle?: ViewStyle = null as any;\n warpDayStyle?: ViewStyle = null as any;\n dateSelectedWarpDayStyle?: ViewStyle = null as any;\n selectedDayTextStyle?: TextStyle = null as any;\n monthTextStyle?: TextStyle = null as any;\n yearTextStyle?: TextStyle = null as any;\n}\n\nexport class MonthViewState {\n viewMode = 'day';\n currentYear: string = null as any;\n constructor(public selectedDate: Moment = moment()) {\n\n }\n}\n\nexport class MonthView extends Component<MonthViewProps, MonthViewState> {\n\n static defaultProps = new MonthViewProps();\n\n constructor(props: MonthViewProps) {\n super(props);\n this.state = new MonthViewState(this.props.date);\n // Set moment's locale to ensure week starts on Sunday\n moment.updateLocale('en', {\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 1, // First week of year must contain 1 January\n }\n });\n }\n\n calendarArray (date: Moment): Moment[] {\n const dates: Moment[] = [];\n // Ensure we're working with a clone and explicitly set to start of day\n const currDate = date.clone().startOf('month').startOf('day');\n // Get the day of week (0-6, 0 being Sunday)\n const startDay = currDate.day();\n // Move back to the first day of the week\n currDate.subtract(startDay, 'days');\n \n for (let i = 0; i < 42; i += 1) {\n dates[i] = currDate.clone();\n currDate.add(1, 'day');\n }\n return dates;\n }\n\n renderDay(day: Moment) {\n const { warpDayStyle, dateSelectedWarpDayStyle,\n renderChildDay, textDayStyle, currentDayStyle, currentDayTextStyle, notDayOfCurrentMonthStyle, selectedDayTextStyle } = this.props;\n const dateSelected = this.props.date?.isSame(day);\n const isCurrent = moment().isSame(day, 'date');\n const notCurrentMonth = !this.props.date?.isSame(day, 'month');\n const dateStyle = ((this.props.getDayStyle ? this.props.getDayStyle(day) : null) || {}) as any;\n return (\n <TouchableOpacity \n testID={this.props.testID + '_' + day.format('yyyy_mm_dd')}\n accessibilityLabel={this.props.testID + '_' + day.format('yyyy_mm_dd')}\n onPress={() => this.selectDate(day)}\n style={[styles.warpDay, warpDayStyle,\n isCurrent ? currentDayStyle : {},\n dateSelected ? { backgroundColor: '#2C1F23', ...dateSelectedWarpDayStyle } : {},\n dateStyle.containerStyle]}\n >\n <View style={{flexDirection: 'column', justifyContent: 'center', alignItems: 'center'}}>\n <Text style={[styles.day, textDayStyle,\n isCurrent ? currentDayTextStyle : {},\n notCurrentMonth ? { color: '#493D40', ...notDayOfCurrentMonthStyle } : {},\n dateSelected ? { color: '#000', ...selectedDayTextStyle } : {},\n dateStyle.textStyle]}>\n {day.get('date')}\n </Text>\n {renderChildDay && renderChildDay(day)}\n </View>\n </TouchableOpacity>\n )\n }\n\n selectDate(date: Moment) {\n if (this.isDateEnable(date)) {\n this.props.selectDate && this.props.selectDate(date)\n }\n }\n\n yearMonthChange(unit: number, type: string) {\n this.selectDate((this.props.date || moment()).clone().add(unit, type as any).startOf('month'));\n }\n\n isDateEnable(date: Moment) {\n const { minDate, maxDate } = this.props;\n return minDate?.isSameOrBefore(date) && maxDate?.isSameOrAfter(date);\n }\n\n render() {\n const {\n renderPrevYearButton, renderPrevMonthButton,\n renderNextYearButton, renderNextMonthButton,\n weekdayStyle, customWeekdays, warpRowWeekdays,\n warpRowControlMonthYear, monthTextStyle, yearTextStyle\n } = this.props\n const weekdays = customWeekdays || ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']\n const data = this.calendarArray(this.props.date || moment())\n const dayOfWeek: React.ReactNode[] = [];\n const month = this.props.customMonth ? this.props.customMonth[this.props.date?.get('month') || 0]: 'Jan';\n const year = this.props.date?.get('year') || 1;\n _.forEach(weekdays, element => {\n dayOfWeek.push(<Text key={element} style={[styles.weekdays, weekdayStyle]}>{element}</Text>)\n })\n\n return (\n <View style={[styles.container, this.props.containerStyle]}>\n <View style={[{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }, warpRowControlMonthYear]}>\n {/*<TouchableOpacity onPress={() => this.yearMonthChange(-1, 'year')}>\n {renderPrevYearButton ? renderPrevYearButton() : <Text>{'<<'}</Text>}\n </TouchableOpacity>*/}\n <TouchableOpacity onPress={() => this.yearMonthChange(-1, 'month')}>\n {renderPrevMonthButton ? renderPrevMonthButton() : <Text>{'<'}</Text>}\n </TouchableOpacity>\n <View style={{flexDirection: 'row'}}>\n <Text style={[styles.txtHeaderDate, monthTextStyle]} >{month + ' '}</Text>\n <Text style={[styles.txtHeaderDate, yearTextStyle]} >{year}</Text>\n </View>\n <TouchableOpacity onPress={() => this.yearMonthChange(1, 'month')}>\n {renderNextMonthButton ? renderNextMonthButton() : <Text>{'>'}</Text>}\n </TouchableOpacity>\n {/*<TouchableOpacity onPress={() => this.yearMonthChange(1, 'year')}>\n {renderNextYearButton ? renderNextYearButton() : <Text>{'>>'}</Text>}\n </TouchableOpacity>*/}\n </View>\n <View style={[{ flexDirection: 'row', justifyContent: 'space-around' }, warpRowWeekdays]}>\n {dayOfWeek}\n </View>\n <FlatList\n data={data}\n keyExtractor={(item) => '' + item.toDate().getTime()}\n renderItem={({ item }) => this.renderDay(item)}\n extraData={this.state}\n columnWrapperStyle={{justifyContent: 'space-between'}}\n numColumns={7}\n style={{\n padding: 4\n }}\n />\n </View>\n )\n }\n}"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Component","Text","View","FlatList","TouchableOpacity","AccessibilityInfo","moment","styles","_","_isScreenReaderEnabled","addEventListener","enabled","isScreenReaderEnabled","then","MonthViewProps","constructor","_defineProperty","day","createElement","Fragment","date","MonthViewState","selectedDate","MonthView","props","state","updateLocale","week","dow","doy","calendarArray","dates","currDate","clone","startOf","startDay","subtract","i","add","renderDay","_this$props$date","_this$props$date2","warpDayStyle","dateSelectedWarpDayStyle","renderChildDay","textDayStyle","currentDayStyle","currentDayTextStyle","notDayOfCurrentMonthStyle","selectedDayTextStyle","dateSelected","isSame","isCurrent","notCurrentMonth","dateStyle","getDayStyle","testID","format","accessibilityLabel","undefined","onPress","selectDate","style","warpDay","backgroundColor","containerStyle","flexDirection","justifyContent","alignItems","color","textStyle","get","isDateEnable","yearMonthChange","unit","type","minDate","maxDate","isSameOrBefore","isSameOrAfter","render","_this$props$date3","_this$props$date4","renderPrevYearButton","renderPrevMonthButton","renderNextYearButton","renderNextMonthButton","weekdayStyle","customWeekdays","warpRowWeekdays","warpRowControlMonthYear","monthTextStyle","yearTextStyle","weekdays","data","dayOfWeek","month","customMonth","year","forEach","element","push","key","container","txtHeaderDate","keyExtractor","item","toDate","getTime","renderItem","extraData","columnWrapperStyle","numColumns","padding"],"sources":["month-view.tsx"],"sourcesContent":["/****\n * Copied code from a repo with no active maintenance.\n * https://github.com/hungdev/react-native-customize-selected-date\n * That js lib was converted to ts and fixed bugs. \n */\nimport React, { Component } from 'react';\nimport {\n Text,\n View,\n FlatList,\n TouchableOpacity,\n ViewStyle,\n TextStyle,\n AccessibilityInfo\n} from 'react-native';\nimport moment, { Moment } from 'moment';\nimport styles from './month-view.styles'\nimport _ from 'lodash';\n\nlet _isScreenReaderEnabled = false;\n\nAccessibilityInfo.addEventListener('screenReaderChanged', (enabled) => {\n _isScreenReaderEnabled = enabled;\n});\n\nAccessibilityInfo.isScreenReaderEnabled().then((enabled) => {\n _isScreenReaderEnabled = enabled;\n});\n\nexport class MonthViewProps {\n testID?: string = null as any;\n accessibilityLabel?: string = null as any;\n date?: Moment = null as any;\n minDate? = moment('1990-01-01', 'YYYY-MM-DD');\n maxDate? = moment('2100-01-01', 'YYYY-MM-DD');\n customMonth?: string[] = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n customWeekdays?: string[] = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n renderPrevYearButton?: () => React.ReactNode = null as any;\n format?='YYYY-MM-DD';\n renderPrevMonthButton?: () => React.ReactNode = null as any;\n renderNextYearButton?: () => React.ReactNode = null as any;\n renderNextMonthButton?: () => React.ReactNode = null as any;\n renderChildDay? = (day: Moment) => (<></>);\n selectDate? = (day: Moment) => {}; \n //style\n getDayStyle? = (date: Moment) => ({});\n containerStyle?: ViewStyle = null as any;\n warpRowControlMonthYear?: ViewStyle = null as any;\n warpRowWeekdays?: ViewStyle = null as any;\n weekdayStyle?: TextStyle = null as any;\n textDayStyle?: TextStyle = null as any;\n currentDayStyle?: ViewStyle = null as any;\n currentDayTextStyle?: TextStyle = null as any;\n notDayOfCurrentMonthStyle?: ViewStyle = null as any;\n warpDayStyle?: ViewStyle = null as any;\n dateSelectedWarpDayStyle?: ViewStyle = null as any;\n selectedDayTextStyle?: TextStyle = null as any;\n monthTextStyle?: TextStyle = null as any;\n yearTextStyle?: TextStyle = null as any;\n}\n\nexport class MonthViewState {\n viewMode = 'day';\n currentYear: string = null as any;\n constructor(public selectedDate: Moment = moment()) {\n\n }\n}\n\nexport class MonthView extends Component<MonthViewProps, MonthViewState> {\n\n static defaultProps = new MonthViewProps();\n\n constructor(props: MonthViewProps) {\n super(props);\n this.state = new MonthViewState(this.props.date);\n // Set moment's locale to ensure week starts on Sunday\n moment.updateLocale('en', {\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 1, // First week of year must contain 1 January\n }\n });\n }\n\n calendarArray (date: Moment): Moment[] {\n const dates: Moment[] = [];\n // Ensure we're working with a clone and explicitly set to start of day\n const currDate = date.clone().startOf('month').startOf('day');\n // Get the day of week (0-6, 0 being Sunday)\n const startDay = currDate.day();\n // Move back to the first day of the week\n currDate.subtract(startDay, 'days');\n \n for (let i = 0; i < 42; i += 1) {\n dates[i] = currDate.clone();\n currDate.add(1, 'day');\n }\n return dates;\n }\n\n renderDay(day: Moment) {\n const { warpDayStyle, dateSelectedWarpDayStyle,\n renderChildDay, textDayStyle, currentDayStyle, currentDayTextStyle, notDayOfCurrentMonthStyle, selectedDayTextStyle } = this.props;\n const dateSelected = this.props.date?.isSame(day);\n const isCurrent = moment().isSame(day, 'date');\n const notCurrentMonth = !this.props.date?.isSame(day, 'month');\n const dateStyle = ((this.props.getDayStyle ? this.props.getDayStyle(day) : null) || {}) as any;\n return (\n <TouchableOpacity \n testID={this.props.testID + '_' + day.format('yyyy_mm_dd')}\n accessibilityLabel={!_isScreenReaderEnabled ? this.props.testID + '_' + day.format('yyyy_mm_dd') : undefined}\n onPress={() => this.selectDate(day)}\n style={[styles.warpDay, warpDayStyle,\n isCurrent ? currentDayStyle : {},\n dateSelected ? { backgroundColor: '#2C1F23', ...dateSelectedWarpDayStyle } : {},\n dateStyle.containerStyle]}\n >\n <View style={{flexDirection: 'column', justifyContent: 'center', alignItems: 'center'}}>\n <Text style={[styles.day, textDayStyle,\n isCurrent ? currentDayTextStyle : {},\n notCurrentMonth ? { color: '#493D40', ...notDayOfCurrentMonthStyle } : {},\n dateSelected ? { color: '#000', ...selectedDayTextStyle } : {},\n dateStyle.textStyle]}>\n {day.get('date')}\n </Text>\n {renderChildDay && renderChildDay(day)}\n </View>\n </TouchableOpacity>\n )\n }\n\n selectDate(date: Moment) {\n if (this.isDateEnable(date)) {\n this.props.selectDate && this.props.selectDate(date)\n }\n }\n\n yearMonthChange(unit: number, type: string) {\n this.selectDate((this.props.date || moment()).clone().add(unit, type as any).startOf('month'));\n }\n\n isDateEnable(date: Moment) {\n const { minDate, maxDate } = this.props;\n return minDate?.isSameOrBefore(date) && maxDate?.isSameOrAfter(date);\n }\n\n render() {\n const {\n renderPrevYearButton, renderPrevMonthButton,\n renderNextYearButton, renderNextMonthButton,\n weekdayStyle, customWeekdays, warpRowWeekdays,\n warpRowControlMonthYear, monthTextStyle, yearTextStyle\n } = this.props\n const weekdays = customWeekdays || ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']\n const data = this.calendarArray(this.props.date || moment())\n const dayOfWeek: React.ReactNode[] = [];\n const month = this.props.customMonth ? this.props.customMonth[this.props.date?.get('month') || 0]: 'Jan';\n const year = this.props.date?.get('year') || 1;\n _.forEach(weekdays, element => {\n dayOfWeek.push(<Text key={element} style={[styles.weekdays, weekdayStyle]}>{element}</Text>)\n })\n\n return (\n <View style={[styles.container, this.props.containerStyle]}>\n <View style={[{ flexDirection: 'row', justifyContent: 'space-between', alignItems: 'center' }, warpRowControlMonthYear]}>\n {/*<TouchableOpacity onPress={() => this.yearMonthChange(-1, 'year')}>\n {renderPrevYearButton ? renderPrevYearButton() : <Text>{'<<'}</Text>}\n </TouchableOpacity>*/}\n <TouchableOpacity onPress={() => this.yearMonthChange(-1, 'month')}>\n {renderPrevMonthButton ? renderPrevMonthButton() : <Text>{'<'}</Text>}\n </TouchableOpacity>\n <View style={{flexDirection: 'row'}}>\n <Text style={[styles.txtHeaderDate, monthTextStyle]} >{month + ' '}</Text>\n <Text style={[styles.txtHeaderDate, yearTextStyle]} >{year}</Text>\n </View>\n <TouchableOpacity onPress={() => this.yearMonthChange(1, 'month')}>\n {renderNextMonthButton ? renderNextMonthButton() : <Text>{'>'}</Text>}\n </TouchableOpacity>\n {/*<TouchableOpacity onPress={() => this.yearMonthChange(1, 'year')}>\n {renderNextYearButton ? renderNextYearButton() : <Text>{'>>'}</Text>}\n </TouchableOpacity>*/}\n </View>\n <View style={[{ flexDirection: 'row', justifyContent: 'space-around' }, warpRowWeekdays]}>\n {dayOfWeek}\n </View>\n <FlatList\n data={data}\n keyExtractor={(item) => '' + item.toDate().getTime()}\n renderItem={({ item }) => this.renderDay(item)}\n extraData={this.state}\n columnWrapperStyle={{justifyContent: 'space-between'}}\n numColumns={7}\n style={{\n padding: 4\n }}\n />\n </View>\n )\n }\n}"],"mappings":"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","ignoreList":[]}
@@ -105,19 +105,19 @@ export default class WmCheckbox extends BaseComponent {
105
105
  style: [this.styles.root, this.state.isChecked ? this.styles.checkedItem : null],
106
106
  onPress: this.onPress.bind(this)
107
107
  }, getAccessibilityProps(AccessibilityWidgetType.CHECKBOX, {
108
- hint: props === null || props === void 0 ? void 0 : props.hint,
108
+ ...this.props,
109
109
  checked: this.state.isChecked
110
110
  }), {
111
- accessibilityRole: "checkbox",
112
- accessibilityLabel: `Checkbox for ${props.caption}`,
113
111
  onLayout: event => this.handleLayout(event)
114
112
  }), this._background, /*#__PURE__*/React.createElement(WmIcon, {
115
113
  iconclass: "wi wi-check",
116
114
  styles: this.state.isChecked ? this.styles.checkicon : this.styles.uncheckicon,
117
115
  disabled: props.readonly || props.disabled,
118
- id: this.getTestId('checkbox')
116
+ id: this.getTestId('checkbox'),
117
+ accessible: false
119
118
  }), /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForLabel(), {
120
- style: [this.styles.text, this.state.isChecked ? this.styles.selectedLabel : null]
119
+ style: [this.styles.text, this.state.isChecked ? this.styles.selectedLabel : null],
120
+ importantForAccessibility: "no"
121
121
  }), props.caption));
122
122
  }
123
123
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","TouchableOpacity","View","BaseComponent","BaseComponentState","WmIcon","unStringify","validateField","WmCheckboxProps","DEFAULT_CLASS","AccessibilityWidgetType","getAccessibilityProps","WmLabel","WmCheckboxState","constructor","args","_defineProperty","WmCheckbox","props","setChecked","dataValue","checkedvalue","value","updateState","isChecked","onPropertyChange","name","$new","$old","state","datavalue","updateDatavalue","validate","validationObj","isValid","errorType","onPress","disabled","readonly","invokeEventCallback","proxy","oldValue","uncheckedvalue","onFieldChange","setTimeout","renderSkeleton","createElement","style","styles","root","skeleton","checkicon","iconSkeleton","text","labelSkeleton","renderWidget","_extends","getTestPropsForAction","checkedItem","bind","CHECKBOX","hint","checked","accessibilityRole","accessibilityLabel","caption","onLayout","event","handleLayout","_background","iconclass","uncheckicon","id","getTestId","getTestPropsForLabel","selectedLabel"],"sources":["checkbox.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Text, TouchableOpacity, View } from 'react-native';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport {unStringify, validateField} from '@wavemaker/app-rn-runtime/core/utils';\n\nimport WmCheckboxProps from './checkbox.props';\nimport { DEFAULT_CLASS, WmCheckboxStyles } from './checkbox.styles';\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';\n\nexport class WmCheckboxState extends BaseComponentState<WmCheckboxProps> {\n isChecked: boolean = false;\n isValid: boolean = true;\n errorType = '';\n}\n\nexport default class WmCheckbox extends BaseComponent<WmCheckboxProps, WmCheckboxState, WmCheckboxStyles> {\n\n constructor(props: WmCheckboxProps) {\n super(props, DEFAULT_CLASS, new WmCheckboxProps(), new WmCheckboxState());\n }\n\n setChecked(dataValue: any, checkedvalue: any) {\n const value = unStringify(dataValue) === unStringify(checkedvalue, true);\n this.updateState({ isChecked: value } as WmCheckboxState);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'checkedvalue':\n this.setChecked(this.state.props.datavalue, $new);\n break;\n case 'datavalue':\n this.setChecked($new, this.state.props.checkedvalue);\n break;\n }\n }\n\n updateDatavalue(value: any) {\n this.updateState({ props: { datavalue: value }} as WmCheckboxState);\n }\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as WmCheckboxState);\n }\n\n onPress() {\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n this.invokeEventCallback('onFocus', [null, this.proxy]);\n this.invokeEventCallback('onTap', [null, this.proxy]);\n const oldValue = this.state.props.datavalue;\n const value = !this.state.isChecked;\n this.validate(value);\n this.updateState({ isChecked: value } as WmCheckboxState);\n const dataValue = value === true ? this.state.props.checkedvalue : this.state.props.uncheckedvalue;\n this.updateState({ props: { datavalue: dataValue } } as WmCheckboxState,\n () => {\n if (!this.props.onFieldChange) {\n this.invokeEventCallback('onChange', [null, this.proxy, dataValue, oldValue]);\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', dataValue, oldValue);\n }\n setTimeout(() => {\n this.invokeEventCallback('onBlur', [ null, this.proxy ]);\n }, 10);\n });\n }\n\n public renderSkeleton(props: WmCheckboxProps): React.ReactNode {\n return <View style={[this.styles.root, this.styles.skeleton.root]}>\n <WmIcon styles={{ root: {...this.styles.checkicon, ...this.styles.iconSkeleton.root} }}/>\n <WmLabel styles={{ root: {...this.styles.text, ...this.styles.labelSkeleton.root} }}/>\n </View>\n }\n\n renderWidget(props: WmCheckboxProps) {\n return (\n <TouchableOpacity \n {...this.getTestPropsForAction()} \n style={[this.styles.root, this.state.isChecked ? this.styles.checkedItem : null]} \n onPress={this.onPress.bind(this)} \n {...getAccessibilityProps(AccessibilityWidgetType.CHECKBOX, {hint: props?.hint, checked: this.state.isChecked})} \n accessibilityRole='checkbox' \n accessibilityLabel={`Checkbox for ${props.caption}`}\n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n <WmIcon iconclass=\"wi wi-check\" styles={this.state.isChecked ? this.styles.checkicon : this.styles.uncheckicon} disabled={props.readonly || props.disabled} id={this.getTestId('checkbox')}/>\n <Text {...this.getTestPropsForLabel()} style={[this.styles.text, this.state.isChecked ? this.styles.selectedLabel: null]}>{props.caption}</Text>\n </TouchableOpacity>\n );\n }\n}\n\n\n\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Text","TouchableOpacity","View","BaseComponent","BaseComponentState","WmIcon","unStringify","validateField","WmCheckboxProps","DEFAULT_CLASS","AccessibilityWidgetType","getAccessibilityProps","WmLabel","WmCheckboxState","constructor","args","_defineProperty","WmCheckbox","props","setChecked","dataValue","checkedvalue","value","updateState","isChecked","onPropertyChange","name","$new","$old","state","datavalue","updateDatavalue","validate","validationObj","isValid","errorType","onPress","disabled","readonly","invokeEventCallback","proxy","oldValue","uncheckedvalue","onFieldChange","setTimeout","renderSkeleton","createElement","style","styles","root","skeleton","checkicon","iconSkeleton","text","labelSkeleton","renderWidget","_extends","getTestPropsForAction","checkedItem","bind","CHECKBOX","checked","onLayout","event","handleLayout","_background","iconclass","uncheckicon","id","getTestId","accessible","getTestPropsForLabel","selectedLabel","importantForAccessibility","caption"],"sources":["checkbox.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Text, TouchableOpacity, View } from 'react-native';\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport {unStringify, validateField} from '@wavemaker/app-rn-runtime/core/utils';\n\nimport WmCheckboxProps from './checkbox.props';\nimport { DEFAULT_CLASS, WmCheckboxStyles } from './checkbox.styles';\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';\n\nexport class WmCheckboxState extends BaseComponentState<WmCheckboxProps> {\n isChecked: boolean = false;\n isValid: boolean = true;\n errorType = '';\n}\n\nexport default class WmCheckbox extends BaseComponent<WmCheckboxProps, WmCheckboxState, WmCheckboxStyles> {\n\n constructor(props: WmCheckboxProps) {\n super(props, DEFAULT_CLASS, new WmCheckboxProps(), new WmCheckboxState());\n }\n\n setChecked(dataValue: any, checkedvalue: any) {\n const value = unStringify(dataValue) === unStringify(checkedvalue, true);\n this.updateState({ isChecked: value } as WmCheckboxState);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'checkedvalue':\n this.setChecked(this.state.props.datavalue, $new);\n break;\n case 'datavalue':\n this.setChecked($new, this.state.props.checkedvalue);\n break;\n }\n }\n\n updateDatavalue(value: any) {\n this.updateState({ props: { datavalue: value }} as WmCheckboxState);\n }\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as WmCheckboxState);\n }\n\n onPress() {\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n this.invokeEventCallback('onFocus', [null, this.proxy]);\n this.invokeEventCallback('onTap', [null, this.proxy]);\n const oldValue = this.state.props.datavalue;\n const value = !this.state.isChecked;\n this.validate(value);\n this.updateState({ isChecked: value } as WmCheckboxState);\n const dataValue = value === true ? this.state.props.checkedvalue : this.state.props.uncheckedvalue;\n this.updateState({ props: { datavalue: dataValue } } as WmCheckboxState,\n () => {\n if (!this.props.onFieldChange) {\n this.invokeEventCallback('onChange', [null, this.proxy, dataValue, oldValue]);\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', dataValue, oldValue);\n }\n setTimeout(() => {\n this.invokeEventCallback('onBlur', [ null, this.proxy ]);\n }, 10);\n });\n }\n\n public renderSkeleton(props: WmCheckboxProps): React.ReactNode {\n return <View style={[this.styles.root, this.styles.skeleton.root]}>\n <WmIcon styles={{ root: {...this.styles.checkicon, ...this.styles.iconSkeleton.root} }}/>\n <WmLabel styles={{ root: {...this.styles.text, ...this.styles.labelSkeleton.root} }}/>\n </View>\n }\n\n renderWidget(props: WmCheckboxProps) {\n return (\n <TouchableOpacity \n {...this.getTestPropsForAction()} \n style={[this.styles.root, this.state.isChecked ? this.styles.checkedItem : null]} \n onPress={this.onPress.bind(this)} \n {...getAccessibilityProps(AccessibilityWidgetType.CHECKBOX, { ...this.props, checked: this.state.isChecked})} \n onLayout={(event) => this.handleLayout(event)}\n >\n {this._background}\n <WmIcon iconclass=\"wi wi-check\" styles={this.state.isChecked ? this.styles.checkicon : this.styles.uncheckicon} disabled={props.readonly || props.disabled} id={this.getTestId('checkbox')} accessible={false}/>\n <Text {...this.getTestPropsForLabel()} style={[this.styles.text, this.state.isChecked ? this.styles.selectedLabel: null]} importantForAccessibility='no'>{props.caption}</Text>\n </TouchableOpacity>\n );\n }\n}\n\n\n\n"],"mappings":"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","ignoreList":[]}
@@ -52,25 +52,29 @@ export default class WmCheckboxset extends BaseDatasetComponent {
52
52
  renderChild(item, index, colWidth) {
53
53
  const props = this.state.props;
54
54
  const displayText = item.displayexp || item.displayfield;
55
+ const accessibilityProps = {
56
+ accessibilityLabel: displayText,
57
+ accessibilityRole: 'checkbox',
58
+ accessibilityState: {
59
+ disabled: this.props.readonly || this.props.disabled,
60
+ selected: item.selected
61
+ }
62
+ };
55
63
  return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, this.getTestPropsForAction(index + ''), {
56
64
  style: [this.styles.item, item.selected ? this.styles.checkedItem : null, {
57
65
  width: colWidth
58
66
  }],
59
67
  onPress: this.onPress.bind(this, item),
60
68
  key: item.key
61
- }, getAccessibilityProps(AccessibilityWidgetType.CHECKBOX, {
62
- hint: props === null || props === void 0 ? void 0 : props.hint,
63
- checked: item.selected
64
- }), {
65
- accessibilityRole: "checkbox",
66
- accessibilityLabel: `Checkbox for ${displayText}`
67
- }), /*#__PURE__*/React.createElement(WmIcon, {
69
+ }, accessibilityProps), /*#__PURE__*/React.createElement(WmIcon, {
68
70
  iconclass: "wi wi-check",
69
71
  styles: item.selected ? this.styles.checkicon : this.styles.uncheckicon,
70
72
  disabled: props.readonly || props.disabled,
71
- id: this.getTestId('item' + index)
73
+ id: this.getTestId('item' + index),
74
+ accessible: false
72
75
  }), !isEmpty(this.state.template) && this.props.renderitempartial ? this.props.renderitempartial(item.dataObject, index, this.state.template) : /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForLabel(index + ''), {
73
- style: [this.styles.text, item.selected ? this.styles.selectedLabel : null]
76
+ style: [this.styles.text, item.selected ? this.styles.selectedLabel : null],
77
+ importantForAccessibility: "no"
74
78
  }), displayText));
75
79
  }
76
80
  computeDisplayValue() {
@@ -107,12 +111,12 @@ export default class WmCheckboxset extends BaseDatasetComponent {
107
111
  const props = this.state.props;
108
112
  const noOfColumns = props.itemsperrow.xs || 1;
109
113
  const colWidth = Math.round(100 / noOfColumns) + '%';
110
- return /*#__PURE__*/React.createElement(View, {
114
+ return /*#__PURE__*/React.createElement(View, _extends({
111
115
  style: noOfColumns === 1 ? {} : {
112
116
  flexWrap: 'wrap',
113
117
  flexDirection: 'row'
114
118
  }
115
- }, items && items.length ? items.map((item, index) => this.renderChild(item, index, colWidth)) : null);
119
+ }, getAccessibilityProps(AccessibilityWidgetType.CHECKBOXSET, props)), items && items.length ? items.map((item, index) => this.renderChild(item, index, colWidth)) : null);
116
120
  }
117
121
  renderSkeleton(props) {
118
122
  var _ref;
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","TouchableOpacity","Platform","ScrollView","find","forEach","isEqual","isEmpty","WmCheckboxsetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","AccessibilityWidgetType","getAccessibilityProps","getNumberOfEmptyObjects","WmLabel","WmCheckboxsetState","constructor","args","_defineProperty","WmCheckboxset","props","onPress","item","state","disabled","readonly","invokeEventCallback","proxy","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","push","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","colWidth","displayText","displayexp","displayfield","createElement","_extends","getTestPropsForAction","style","styles","checkedItem","width","bind","CHECKBOX","hint","checked","accessibilityRole","accessibilityLabel","iconclass","checkicon","uncheckicon","id","getTestId","template","renderitempartial","dataObject","getTestPropsForLabel","text","selectedLabel","displayValue","filter","map","updateDatavalue","value","Promise","resolve","setTemplate","partialName","renderGroupby","groupedData","length","groupObj","groupHeaderTitle","renderCheckboxses","data","items","noOfColumns","itemsperrow","xs","Math","round","flexWrap","flexDirection","renderSkeleton","_ref","numberofskeletonitems","_","root","renderWidget","onLayout","event","handleLayout","horizontal","isRTL","OS","transform","scaleX","contentContainerStyle","groupby"],"sources":["checkboxset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity, DimensionValue, Platform } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { find, forEach, isEqual, isEmpty } from 'lodash';\nimport WmCheckboxsetProps from './checkboxset.props';\nimport {\n DEFAULT_CLASS,\n\n WmCheckboxsetStyles,\n} from './checkboxset.styles';\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 { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { getNumberOfEmptyObjects } from '@wavemaker/app-rn-runtime/core/utils';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\n\nexport class WmCheckboxsetState extends BaseDatasetState<WmCheckboxsetProps> {\n isValid: boolean = true;\n template: string = \"\";\n}\n\nexport default class WmCheckboxset extends BaseDatasetComponent<WmCheckboxsetProps, WmCheckboxsetState, WmCheckboxsetStyles> {\n constructor(props: WmCheckboxsetProps) {\n super(props, DEFAULT_CLASS, new WmCheckboxsetProps());\n }\n\n onPress(item: any) {\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n this.invokeEventCallback('onTap', [null, this.proxy]);\n item.selected = !item.selected;\n const selectedValue: any = [];\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, item.key));\n const oldValue = this.state.props.datavalue;\n selectedItem.selected = item.selected;\n forEach(this.state.dataItems, (item) => {\n if (item.selected) {\n selectedValue.push(item.datafield);\n }\n });\n this.validate(selectedValue);\n this.updateState({ props: { datavalue: selectedValue }} as WmCheckboxsetState,\n () => {\n this.computeDisplayValue();\n this.invokeEventCallback('onChange', [ undefined, this.proxy, selectedValue, oldValue ]);\n });\n }\n\n renderChild(item: any, index: any,colWidth: DimensionValue) {\n const props = this.state.props;\n const displayText = item.displayexp || item.displayfield;\n return (\n <TouchableOpacity {...this.getTestPropsForAction(index + '')}\n style={[this.styles.item, item.selected ? this.styles.checkedItem : null, {width: colWidth}]}\n onPress={this.onPress.bind(this, item)} key={item.key} {...getAccessibilityProps(AccessibilityWidgetType.CHECKBOX, {hint: props?.hint, checked: item.selected})} accessibilityRole='checkbox' accessibilityLabel={`Checkbox for ${displayText}`}>\n <WmIcon iconclass=\"wi wi-check\" styles={item.selected? this.styles.checkicon : this.styles.uncheckicon} disabled={props.readonly || props.disabled} id={this.getTestId('item'+index)}/>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) :\n <Text {...this.getTestPropsForLabel(index + '')} style={[this.styles.text, item.selected ? this.styles.selectedLabel: null]}>{displayText}</Text>}\n </TouchableOpacity>)\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 WmCheckboxsetState);\n }\n\n updateDatavalue(value: any) {\n this.updateState({ props: { datavalue: value }} as WmCheckboxsetState);\n return Promise.resolve();\n }\n\n setTemplate(partialName: any) {\n this.updateState({ template: partialName} as WmCheckboxsetState);\n }\n\n renderGroupby() {\n const groupedData = this.state.groupedData;\n return (\n <View>\n {groupedData && groupedData.length\n ? groupedData.map((groupObj: any, index: any) => {\n return(\n <View key={groupObj.key}>\n <Text style={this.styles.groupHeaderTitle}>{groupObj.key}</Text>\n {this.renderCheckboxses(groupObj.data)}\n </View>)\n })\n : null}\n </View>\n );\n }\n\n renderCheckboxses(items: any) {\n const props = this.state.props;\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n return(<View style = {noOfColumns === 1 ? {} : {flexWrap: 'wrap', flexDirection: 'row'}}>\n {items && items.length\n ? items.map((item: any, index: any) => this.renderChild(item, index, colWidth))\n : null}\n </View>)\n }\n\n public renderSkeleton(props: WmCheckboxsetProps): React.ReactNode {\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n\n return [...getNumberOfEmptyObjects(props.numberofskeletonitems as number ?? 3)].map(_ => {\n return <View style={[this.styles.item, {width: colWidth}]}>\n <WmIcon styles={this.styles.checkicon}/>\n <WmLabel styles={{ root: this.styles.text }}/>\n </View>\n })\n }\n\n renderWidget(props: WmCheckboxsetProps) {\n const items = this.state.dataItems;\n return (\n <ScrollView style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n <ScrollView horizontal={true}\n style={this.isRTL && Platform.OS == 'android' ? { transform: [{ scaleX: -1 }] } : {}}\n contentContainerStyle={this.isRTL && Platform.OS == 'android' ? { transform: [{ scaleX: -1 }] } : {}}\n >\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderCheckboxses(items)}\n </ScrollView>\n </ScrollView>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Text","View","TouchableOpacity","Platform","ScrollView","find","forEach","isEqual","isEmpty","WmCheckboxsetProps","DEFAULT_CLASS","BaseDatasetComponent","BaseDatasetState","WmIcon","AccessibilityWidgetType","getAccessibilityProps","getNumberOfEmptyObjects","WmLabel","WmCheckboxsetState","constructor","args","_defineProperty","WmCheckboxset","props","onPress","item","state","disabled","readonly","invokeEventCallback","proxy","selected","selectedValue","selectedItem","dataItems","d","key","oldValue","datavalue","push","datafield","validate","updateState","computeDisplayValue","undefined","renderChild","index","colWidth","displayText","displayexp","displayfield","accessibilityProps","accessibilityLabel","accessibilityRole","accessibilityState","createElement","_extends","getTestPropsForAction","style","styles","checkedItem","width","bind","iconclass","checkicon","uncheckicon","id","getTestId","accessible","template","renderitempartial","dataObject","getTestPropsForLabel","text","selectedLabel","importantForAccessibility","displayValue","filter","map","updateDatavalue","value","Promise","resolve","setTemplate","partialName","renderGroupby","groupedData","length","groupObj","groupHeaderTitle","renderCheckboxses","data","items","noOfColumns","itemsperrow","xs","Math","round","flexWrap","flexDirection","CHECKBOXSET","renderSkeleton","_ref","numberofskeletonitems","_","root","renderWidget","onLayout","event","handleLayout","horizontal","isRTL","OS","transform","scaleX","contentContainerStyle","groupby"],"sources":["checkboxset.component.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, View, TouchableOpacity, DimensionValue, Platform, AccessibilityRole } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { find, forEach, isEqual, isEmpty } from 'lodash';\nimport WmCheckboxsetProps from './checkboxset.props';\nimport {\n DEFAULT_CLASS,\n\n WmCheckboxsetStyles,\n} from './checkboxset.styles';\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 { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport { getNumberOfEmptyObjects } from '@wavemaker/app-rn-runtime/core/utils';\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\n\nexport class WmCheckboxsetState extends BaseDatasetState<WmCheckboxsetProps> {\n isValid: boolean = true;\n template: string = \"\";\n}\n\nexport default class WmCheckboxset extends BaseDatasetComponent<WmCheckboxsetProps, WmCheckboxsetState, WmCheckboxsetStyles> {\n constructor(props: WmCheckboxsetProps) {\n super(props, DEFAULT_CLASS, new WmCheckboxsetProps());\n }\n\n onPress(item: any) {\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n this.invokeEventCallback('onTap', [null, this.proxy]);\n item.selected = !item.selected;\n const selectedValue: any = [];\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, item.key));\n const oldValue = this.state.props.datavalue;\n selectedItem.selected = item.selected;\n forEach(this.state.dataItems, (item) => {\n if (item.selected) {\n selectedValue.push(item.datafield);\n }\n });\n this.validate(selectedValue);\n this.updateState({ props: { datavalue: selectedValue }} as WmCheckboxsetState,\n () => {\n this.computeDisplayValue();\n this.invokeEventCallback('onChange', [ undefined, this.proxy, selectedValue, oldValue ]);\n });\n }\n\n renderChild(item: any, index: any,colWidth: DimensionValue) {\n const props = this.state.props;\n const displayText = item.displayexp || item.displayfield;\n const accessibilityProps = { accessibilityLabel: displayText ,\n accessibilityRole: 'checkbox' as AccessibilityRole,\n accessibilityState: {\n disabled: this.props.readonly || this.props.disabled,\n selected: item.selected,\n }\n }\n return (\n <TouchableOpacity {...this.getTestPropsForAction(index + '')}\n style={[this.styles.item, item.selected ? this.styles.checkedItem : null, {width: colWidth}]}\n onPress={this.onPress.bind(this, item)} key={item.key} {...accessibilityProps}>\n <WmIcon iconclass=\"wi wi-check\" styles={item.selected? this.styles.checkicon : this.styles.uncheckicon} disabled={props.readonly || props.disabled} id={this.getTestId('item'+index)} accessible={false}/>\n {!isEmpty(this.state.template) && this.props.renderitempartial ?\n this.props.renderitempartial(item.dataObject, index, this.state.template) :\n <Text {...this.getTestPropsForLabel(index + '')} style={[this.styles.text, item.selected ? this.styles.selectedLabel: null]} importantForAccessibility='no'>{displayText}</Text>}\n </TouchableOpacity>)\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 WmCheckboxsetState);\n }\n\n updateDatavalue(value: any) {\n this.updateState({ props: { datavalue: value }} as WmCheckboxsetState);\n return Promise.resolve();\n }\n\n setTemplate(partialName: any) {\n this.updateState({ template: partialName} as WmCheckboxsetState);\n }\n\n renderGroupby() {\n const groupedData = this.state.groupedData;\n return (\n <View>\n {groupedData && groupedData.length\n ? groupedData.map((groupObj: any, index: any) => {\n return(\n <View key={groupObj.key}>\n <Text style={this.styles.groupHeaderTitle}>{groupObj.key}</Text>\n {this.renderCheckboxses(groupObj.data)}\n </View>)\n })\n : null}\n </View>\n );\n }\n\n renderCheckboxses(items: any) {\n const props = this.state.props;\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n return(<View style = {noOfColumns === 1 ? {} : {flexWrap: 'wrap', flexDirection: 'row'}} {...getAccessibilityProps(AccessibilityWidgetType.CHECKBOXSET, props)}>\n {items && items.length\n ? items.map((item: any, index: any) => this.renderChild(item, index, colWidth))\n : null}\n </View>)\n }\n\n public renderSkeleton(props: WmCheckboxsetProps): React.ReactNode {\n const noOfColumns = props.itemsperrow.xs || 1;\n const colWidth = Math.round(100/ noOfColumns) + '%' as DimensionValue;\n\n return [...getNumberOfEmptyObjects(props.numberofskeletonitems as number ?? 3)].map(_ => {\n return <View style={[this.styles.item, {width: colWidth}]}>\n <WmIcon styles={this.styles.checkicon}/>\n <WmLabel styles={{ root: this.styles.text }}/>\n </View>\n })\n }\n\n renderWidget(props: WmCheckboxsetProps) {\n const items = this.state.dataItems;\n return (\n <ScrollView style={this.styles.root} onLayout={(event) => this.handleLayout(event)}>\n <ScrollView horizontal={true}\n style={this.isRTL && Platform.OS == 'android' ? { transform: [{ scaleX: -1 }] } : {}}\n contentContainerStyle={this.isRTL && Platform.OS == 'android' ? { transform: [{ scaleX: -1 }] } : {}}\n >\n {props.groupby && this.renderGroupby()}\n {!props.groupby && this.renderCheckboxses(items)}\n </ScrollView>\n </ScrollView>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -11,7 +11,6 @@ import WmSearch from '@wavemaker/app-rn-runtime/components/basic/search/search.c
11
11
  import { BaseDatasetComponent, BaseDatasetState } from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';
12
12
  import WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';
13
13
  import WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';
14
- import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
15
14
  import WmLabel from '../../basic/label/label.component';
16
15
  export class WmChipsState extends BaseDatasetState {
17
16
  constructor(...args) {
@@ -190,10 +189,14 @@ export default class WmChips extends BaseDatasetComponent {
190
189
  }
191
190
  renderChip(item, index) {
192
191
  const isSelected = this.isDefaultView() ? item.selected : true;
193
- return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, this.getTestPropsForAction('chip' + index), getAccessibilityProps(AccessibilityWidgetType.CHIPS, {
194
- ...this.state.props,
195
- selected: isSelected
196
- }), {
192
+ const accessibilityProps = {
193
+ accessibilityLabel: item.displayexp || item.displayfield,
194
+ accessibilityState: {
195
+ selected: isSelected
196
+ },
197
+ accessibilityRole: 'checkbox'
198
+ };
199
+ return /*#__PURE__*/React.createElement(TouchableOpacity, _extends({}, this.getTestPropsForAction('chip' + index), accessibilityProps, {
197
200
  style: [this.styles.chip, isSelected ? this.styles.activeChip : null],
198
201
  key: 'chipitem_' + index,
199
202
  onPress: () => {
@@ -221,12 +224,14 @@ export default class WmChips extends BaseDatasetComponent {
221
224
  icon: {
222
225
  color: isSelected ? this.styles.activeChipLabel.color : null
223
226
  }
224
- })
227
+ }),
228
+ accessible: false
225
229
  }) : null, this._showSkeleton ? null : /*#__PURE__*/React.createElement(WmPicture, {
226
230
  id: this.getTestId('chip' + index + 'picture'),
227
231
  styles: this.styles.imageStyles,
228
232
  picturesource: item.imgSrc,
229
- shape: "circle"
233
+ shape: "circle",
234
+ accessible: false
230
235
  }), this._showSkeleton ? /*#__PURE__*/React.createElement(WmLabel, {
231
236
  styles: {
232
237
  root: {
@@ -240,7 +245,9 @@ export default class WmChips extends BaseDatasetComponent {
240
245
  iconclass: 'wi wi-clear',
241
246
  iconsize: 16,
242
247
  styles: this.styles.clearIcon,
243
- onTap: () => this.removeItem(item, index)
248
+ onTap: () => this.removeItem(item, index),
249
+ accessibilitylabel: "clear",
250
+ accessibilityrole: "button"
244
251
  }) : null);
245
252
  }
246
253
  updateDefaultQueryModel() {
@@ -275,12 +282,18 @@ export default class WmChips extends BaseDatasetComponent {
275
282
  }
276
283
  renderWidget(props) {
277
284
  const chips = this.state.chipsList;
285
+ const accessibilityProps = {
286
+ accessible: true,
287
+ accessibilityLabel: props.accessibilitylabel || 'Choose tags',
288
+ accessibilityHint: props.hint,
289
+ accessibilityRole: props.accessibilityrole
290
+ };
278
291
  return /*#__PURE__*/React.createElement(View, {
279
292
  style: this.styles.root,
280
293
  onLayout: event => this.handleLayout(event)
281
- }, /*#__PURE__*/React.createElement(View, {
294
+ }, /*#__PURE__*/React.createElement(View, _extends({
282
295
  style: this.styles.chipsWrapper
283
- }, this.isDefaultView() ? this.state.dataItems.map((item, index) => this.renderChip(item, index)) : null, props.searchable || !this.isDefaultView() ? /*#__PURE__*/React.createElement(View, {
296
+ }, accessibilityProps), this.isDefaultView() ? this.state.dataItems.map((item, index) => this.renderChip(item, index)) : null, props.searchable || !this.isDefaultView() ? /*#__PURE__*/React.createElement(View, {
284
297
  style: [this.styles.searchContainer, {
285
298
  flexDirection: props.inputposition === 'first' ? 'column' : 'column-reverse'
286
299
  }]
@@ -310,12 +323,12 @@ export default class WmChips extends BaseDatasetComponent {
310
323
  showSearchIcon: false,
311
324
  showclear: false,
312
325
  type: props.minchars === 0 ? 'autocomplete' : 'search'
313
- }), /*#__PURE__*/React.createElement(View, {
326
+ }), /*#__PURE__*/React.createElement(View, _extends({
314
327
  style: {
315
328
  flexDirection: 'row',
316
329
  flexWrap: 'wrap'
317
330
  }
318
- }, chips && chips.length ? chips.map((item, index) => this.renderChip(item, index)) : null)) : null));
331
+ }, accessibilityProps), chips && chips.length ? chips.map((item, index) => this.renderChip(item, index)) : null)) : null));
319
332
  }
320
333
  }
321
334
  //# sourceMappingURL=chips.component.js.map