@wavemaker/app-ng-runtime 11.11.0-rc.6106 → 11.11.0-rc.6112

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 (77) hide show
  1. package/build-task/bundles/index.umd.js +1 -1
  2. package/build-task/esm2022/advanced/carousel/carousel-template/carousel-template.build.mjs +2 -2
  3. package/build-task/fesm2022/index.mjs +1 -1
  4. package/build-task/fesm2022/index.mjs.map +1 -1
  5. package/components/base/bundles/index.umd.js +14 -8
  6. package/components/base/esm2022/pipes/custom-pipes.mjs +3 -2
  7. package/components/base/esm2022/utils/form-utils.mjs +3 -2
  8. package/components/base/esm2022/widgets/common/base/base-field-validations.mjs +4 -2
  9. package/components/base/fesm2022/index.mjs +10 -5
  10. package/components/base/fesm2022/index.mjs.map +1 -1
  11. package/components/base/pipes/custom-pipes.d.ts +1 -1
  12. package/components/chart/bundles/index.umd.js +4 -2
  13. package/components/chart/esm2022/chart.utils.mjs +3 -2
  14. package/components/chart/fesm2022/index.mjs +2 -1
  15. package/components/chart/fesm2022/index.mjs.map +1 -1
  16. package/components/containers/tabs/bundles/index.umd.js +28 -4
  17. package/components/containers/tabs/esm2022/tabs.component.mjs +27 -6
  18. package/components/containers/tabs/esm2022/tabs.props.mjs +2 -1
  19. package/components/containers/tabs/fesm2022/index.mjs +27 -5
  20. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  21. package/components/containers/tabs/tabs.component.d.ts +2 -0
  22. package/components/containers/wizard/bundles/index.umd.js +8 -11
  23. package/components/containers/wizard/esm2022/wizard.component.mjs +9 -12
  24. package/components/containers/wizard/fesm2022/index.mjs +8 -11
  25. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  26. package/components/containers/wizard/wizard.component.d.ts +2 -2
  27. package/components/data/table/bundles/index.umd.js +10 -7
  28. package/components/data/table/esm2022/table-filter.directive.mjs +3 -2
  29. package/components/data/table/esm2022/table.component.mjs +6 -4
  30. package/components/data/table/fesm2022/index.mjs +7 -4
  31. package/components/data/table/fesm2022/index.mjs.map +1 -1
  32. package/components/input/calendar/bundles/index.umd.js +8 -3
  33. package/components/input/calendar/esm2022/calendar.component.mjs +7 -3
  34. package/components/input/calendar/fesm2022/index.mjs +6 -2
  35. package/components/input/calendar/fesm2022/index.mjs.map +1 -1
  36. package/components/input/color-picker/bundles/index.umd.js +5 -3
  37. package/components/input/color-picker/esm2022/color-picker.component.mjs +7 -5
  38. package/components/input/color-picker/fesm2022/index.mjs +6 -4
  39. package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  40. package/components/input/epoch/bundles/index.umd.js +45 -39
  41. package/components/input/epoch/esm2022/base-date-time.component.mjs +3 -2
  42. package/components/input/epoch/esm2022/date/imaskUtil.mjs +3 -2
  43. package/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +5 -4
  44. package/components/input/epoch/esm2022/date-time/date-time.component.mjs +4 -3
  45. package/components/input/epoch/esm2022/time/time.component.mjs +4 -3
  46. package/components/input/epoch/fesm2022/index.mjs +43 -38
  47. package/components/input/epoch/fesm2022/index.mjs.map +1 -1
  48. package/core/bundles/index.umd.js +6 -4
  49. package/core/esm2022/types/types.mjs +1 -1
  50. package/core/esm2022/utils/utils.mjs +3 -2
  51. package/core/fesm2022/index.mjs +2 -1
  52. package/core/fesm2022/index.mjs.map +1 -1
  53. package/core/types/types.d.ts +1 -0
  54. package/npm-shrinkwrap.json +2 -2
  55. package/oAuth/bundles/index.umd.js +4 -2
  56. package/oAuth/esm2022/oAuth.utils.mjs +3 -2
  57. package/oAuth/fesm2022/index.mjs +2 -1
  58. package/oAuth/fesm2022/index.mjs.map +1 -1
  59. package/package-lock.json +2 -2
  60. package/package.json +1 -1
  61. package/runtime/base/bundles/index.umd.js +13 -4
  62. package/runtime/base/esm2022/services/app.service.mjs +8 -1
  63. package/runtime/base/esm2022/services/i18n.service.mjs +4 -2
  64. package/runtime/base/fesm2022/index.mjs +9 -1
  65. package/runtime/base/fesm2022/index.mjs.map +1 -1
  66. package/runtime/base/services/app.service.d.ts +1 -0
  67. package/runtime/dynamic/app/app.config.d.ts +5 -0
  68. package/runtime/dynamic/bundles/index.umd.js +165 -56
  69. package/runtime/dynamic/esm2022/app/app.config.mjs +136 -0
  70. package/runtime/dynamic/esm2022/app/services/component-ref-provider.service.mjs +2 -4
  71. package/runtime/dynamic/esm2022/main.mjs +10 -10
  72. package/runtime/dynamic/fesm2022/index.mjs +189 -78
  73. package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  74. package/variables/bundles/index.umd.js +5 -2
  75. package/variables/esm2022/util/variable/variables.utils.mjs +3 -2
  76. package/variables/fesm2022/index.mjs +2 -1
  77. package/variables/fesm2022/index.mjs.map +1 -1
@@ -68,7 +68,7 @@
68
68
  pre: (attrs, shared, parentCarousel) => {
69
69
  const carouselRef = parentCarousel.get('carousel_ref');
70
70
  return `@if(!${carouselRef}.fieldDefs){<div >{{${carouselRef}.nodatamessage}}</div>}
71
- @for (item of ${carouselRef}.fieldDefs; track $index; let i = $index) {
71
+ @for (item of ${carouselRef}.fieldDefs; track item; let i = $index) {
72
72
  <${carouselContentTagName} wmCarouselTemplate #carouselTemplateRef="carouselTemplateRef" ${transpiler.getAttrMarkup(attrs)}>
73
73
  <ng-container [ngTemplateOutlet]="carouselTempRef${counter$1}"
74
74
  [ngTemplateOutletContext]="{item:item, index:i}"
@@ -15,7 +15,7 @@ register('wm-carousel-template', () => {
15
15
  pre: (attrs, shared, parentCarousel) => {
16
16
  const carouselRef = parentCarousel.get('carousel_ref');
17
17
  return `@if(!${carouselRef}.fieldDefs){<div >{{${carouselRef}.nodatamessage}}</div>}
18
- @for (item of ${carouselRef}.fieldDefs; track $index; let i = $index) {
18
+ @for (item of ${carouselRef}.fieldDefs; track item; let i = $index) {
19
19
  <${carouselContentTagName} wmCarouselTemplate #carouselTemplateRef="carouselTemplateRef" ${getAttrMarkup(attrs)}>
20
20
  <ng-container [ngTemplateOutlet]="carouselTempRef${counter}"
21
21
  [ngTemplateOutletContext]="{item:item, index:i}"
@@ -28,4 +28,4 @@ register('wm-carousel-template', () => {
28
28
  };
29
29
  });
30
30
  export default () => { };
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtdGVtcGxhdGUuYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3RyYW5zcGlsZS9zcmMvYWR2YW5jZWQvY2Fyb3VzZWwvY2Fyb3VzZWwtdGVtcGxhdGUvY2Fyb3VzZWwtdGVtcGxhdGUuYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGFBQWEsRUFBaUIsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEUsTUFBTSxzQkFBc0IsR0FBRyxPQUFPLENBQUM7QUFDdkMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBQ2hCLHNCQUFzQjtBQUN0QixRQUFRLENBQUMscUJBQXFCLEVBQUUsR0FBa0IsRUFBRTtJQUNoRCxPQUFPO1FBQ0gsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxzQkFBc0Isd0JBQXdCLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRztRQUN2RixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxzQkFBc0IsR0FBRztLQUM3QyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUM7QUFFSCx1QkFBdUI7QUFDdkIsUUFBUSxDQUFDLHNCQUFzQixFQUFFLEdBQWtCLEVBQUU7SUFDakQsT0FBTztRQUNILFFBQVEsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUN6QixHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxFQUFFO1lBQ25DLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDdkQsT0FBTyxRQUFRLFdBQVcsdUJBQXVCLFdBQVc7b0NBQ3BDLFdBQVc7MkJBQ3BCLHNCQUFzQixrRUFBa0UsYUFBYSxDQUFDLEtBQUssQ0FBQzsyRUFDNUQsT0FBTzs7c0RBRTVCLFdBQVc7NEJBQ3JDLHNCQUFzQjs7bURBRUMsT0FBTyxFQUFFLHFDQUFxQyxDQUFDO1FBRTFGLENBQUM7UUFDRCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsZ0JBQWdCO0tBQy9CLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQztBQUVILGVBQWUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtnZXRBdHRyTWFya3VwLCBJQnVpbGRUYXNrRGVmLCByZWdpc3Rlcn0gZnJvbSAnQHdtL3RyYW5zcGlsZXInO1xuXG5jb25zdCBjYXJvdXNlbENvbnRlbnRUYWdOYW1lID0gJ3NsaWRlJztcbmxldCBjb3VudGVyID0gMTtcbi8vIEZvciBzdGF0aWMgY2Fyb3VzZWxcbnJlZ2lzdGVyKCd3bS1jYXJvdXNlbC1jb250ZW50JywgKCk6IElCdWlsZFRhc2tEZWYgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByZTogYXR0cnMgPT4gYDwke2Nhcm91c2VsQ29udGVudFRhZ05hbWV9IHdtQ2Fyb3VzZWxUZW1wbGF0ZSAgJHtnZXRBdHRyTWFya3VwKGF0dHJzKX0+YCxcbiAgICAgICAgcG9zdDogKCkgPT4gYDwvJHtjYXJvdXNlbENvbnRlbnRUYWdOYW1lfT5gXG4gICAgfTtcbn0pO1xuXG4vLyBGb3IgZHluYW1pYyBjYXJvdXNlbFxucmVnaXN0ZXIoJ3dtLWNhcm91c2VsLXRlbXBsYXRlJywgKCk6IElCdWlsZFRhc2tEZWYgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIHJlcXVpcmVzOiBbJ3dtLWNhcm91c2VsJ10sXG4gICAgICAgIHByZTogKGF0dHJzLCBzaGFyZWQsIHBhcmVudENhcm91c2VsKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjYXJvdXNlbFJlZiA9IHBhcmVudENhcm91c2VsLmdldCgnY2Fyb3VzZWxfcmVmJyk7XG4gICAgICAgICAgICByZXR1cm4gYEBpZighJHtjYXJvdXNlbFJlZn0uZmllbGREZWZzKXs8ZGl2ID57eyR7Y2Fyb3VzZWxSZWZ9Lm5vZGF0YW1lc3NhZ2V9fTwvZGl2Pn1cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiAke2Nhcm91c2VsUmVmfS5maWVsZERlZnM7IHRyYWNrICRpbmRleDsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDwke2Nhcm91c2VsQ29udGVudFRhZ05hbWV9IHdtQ2Fyb3VzZWxUZW1wbGF0ZSAjY2Fyb3VzZWxUZW1wbGF0ZVJlZj1cImNhcm91c2VsVGVtcGxhdGVSZWZcIiAke2dldEF0dHJNYXJrdXAoYXR0cnMpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2Fyb3VzZWxUZW1wUmVmJHtjb3VudGVyfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW06aXRlbSwgaW5kZXg6aX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRJbmplY3Rvcl09XCIke2Nhcm91c2VsUmVmfS5jcmVhdGVDdXN0b21JbmplY3RvcignY2Fyb3VzZWxfaXRlbV8nICsgY2Fyb3VzZWxUZW1wbGF0ZVJlZi50cmFja0lkLCB7aXRlbTppdGVtLCBpbmRleDppfSlcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvJHtjYXJvdXNlbENvbnRlbnRUYWdOYW1lfT5cbiAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Nhcm91c2VsVGVtcFJlZiR7Y291bnRlcisrfSBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtaW5kZXg9XCJpbmRleFwiPmA7XG5cbiAgICAgICAgfSxcbiAgICAgICAgcG9zdDogKCkgPT4gYDwvbmctdGVtcGxhdGU+YFxuICAgIH07XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgKCkgPT4ge307XG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fyb3VzZWwtdGVtcGxhdGUuYnVpbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3RyYW5zcGlsZS9zcmMvYWR2YW5jZWQvY2Fyb3VzZWwvY2Fyb3VzZWwtdGVtcGxhdGUvY2Fyb3VzZWwtdGVtcGxhdGUuYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGFBQWEsRUFBaUIsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEUsTUFBTSxzQkFBc0IsR0FBRyxPQUFPLENBQUM7QUFDdkMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBQ2hCLHNCQUFzQjtBQUN0QixRQUFRLENBQUMscUJBQXFCLEVBQUUsR0FBa0IsRUFBRTtJQUNoRCxPQUFPO1FBQ0gsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxzQkFBc0Isd0JBQXdCLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRztRQUN2RixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxzQkFBc0IsR0FBRztLQUM3QyxDQUFDO0FBQ04sQ0FBQyxDQUFDLENBQUM7QUFFSCx1QkFBdUI7QUFDdkIsUUFBUSxDQUFDLHNCQUFzQixFQUFFLEdBQWtCLEVBQUU7SUFDakQsT0FBTztRQUNILFFBQVEsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUN6QixHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxFQUFFO1lBQ25DLE1BQU0sV0FBVyxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDdkQsT0FBTyxRQUFRLFdBQVcsdUJBQXVCLFdBQVc7b0NBQ3BDLFdBQVc7MkJBQ3BCLHNCQUFzQixrRUFBa0UsYUFBYSxDQUFDLEtBQUssQ0FBQzsyRUFDNUQsT0FBTzs7c0RBRTVCLFdBQVc7NEJBQ3JDLHNCQUFzQjs7bURBRUMsT0FBTyxFQUFFLHFDQUFxQyxDQUFDO1FBRTFGLENBQUM7UUFDRCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsZ0JBQWdCO0tBQy9CLENBQUM7QUFDTixDQUFDLENBQUMsQ0FBQztBQUVILGVBQWUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtnZXRBdHRyTWFya3VwLCBJQnVpbGRUYXNrRGVmLCByZWdpc3Rlcn0gZnJvbSAnQHdtL3RyYW5zcGlsZXInO1xuXG5jb25zdCBjYXJvdXNlbENvbnRlbnRUYWdOYW1lID0gJ3NsaWRlJztcbmxldCBjb3VudGVyID0gMTtcbi8vIEZvciBzdGF0aWMgY2Fyb3VzZWxcbnJlZ2lzdGVyKCd3bS1jYXJvdXNlbC1jb250ZW50JywgKCk6IElCdWlsZFRhc2tEZWYgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIHByZTogYXR0cnMgPT4gYDwke2Nhcm91c2VsQ29udGVudFRhZ05hbWV9IHdtQ2Fyb3VzZWxUZW1wbGF0ZSAgJHtnZXRBdHRyTWFya3VwKGF0dHJzKX0+YCxcbiAgICAgICAgcG9zdDogKCkgPT4gYDwvJHtjYXJvdXNlbENvbnRlbnRUYWdOYW1lfT5gXG4gICAgfTtcbn0pO1xuXG4vLyBGb3IgZHluYW1pYyBjYXJvdXNlbFxucmVnaXN0ZXIoJ3dtLWNhcm91c2VsLXRlbXBsYXRlJywgKCk6IElCdWlsZFRhc2tEZWYgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAgIHJlcXVpcmVzOiBbJ3dtLWNhcm91c2VsJ10sXG4gICAgICAgIHByZTogKGF0dHJzLCBzaGFyZWQsIHBhcmVudENhcm91c2VsKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjYXJvdXNlbFJlZiA9IHBhcmVudENhcm91c2VsLmdldCgnY2Fyb3VzZWxfcmVmJyk7XG4gICAgICAgICAgICByZXR1cm4gYEBpZighJHtjYXJvdXNlbFJlZn0uZmllbGREZWZzKXs8ZGl2ID57eyR7Y2Fyb3VzZWxSZWZ9Lm5vZGF0YW1lc3NhZ2V9fTwvZGl2Pn1cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoaXRlbSBvZiAke2Nhcm91c2VsUmVmfS5maWVsZERlZnM7IHRyYWNrIGl0ZW07IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8JHtjYXJvdXNlbENvbnRlbnRUYWdOYW1lfSB3bUNhcm91c2VsVGVtcGxhdGUgI2Nhcm91c2VsVGVtcGxhdGVSZWY9XCJjYXJvdXNlbFRlbXBsYXRlUmVmXCIgJHtnZXRBdHRyTWFya3VwKGF0dHJzKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNhcm91c2VsVGVtcFJlZiR7Y291bnRlcn1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtOml0ZW0sIGluZGV4Oml9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0SW5qZWN0b3JdPVwiJHtjYXJvdXNlbFJlZn0uY3JlYXRlQ3VzdG9tSW5qZWN0b3IoJ2Nhcm91c2VsX2l0ZW1fJyArIGNhcm91c2VsVGVtcGxhdGVSZWYudHJhY2tJZCwge2l0ZW06aXRlbSwgaW5kZXg6aX0pXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8LyR7Y2Fyb3VzZWxDb250ZW50VGFnTmFtZX0+XG4gICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjYXJvdXNlbFRlbXBSZWYke2NvdW50ZXIrK30gbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWluZGV4PVwiaW5kZXhcIj5gO1xuXG4gICAgICAgIH0sXG4gICAgICAgIHBvc3Q6ICgpID0+IGA8L25nLXRlbXBsYXRlPmBcbiAgICB9O1xufSk7XG5cbmV4cG9ydCBkZWZhdWx0ICgpID0+IHt9O1xuIl19
@@ -68,7 +68,7 @@ register('wm-carousel-template', () => {
68
68
  pre: (attrs, shared, parentCarousel) => {
69
69
  const carouselRef = parentCarousel.get('carousel_ref');
70
70
  return `@if(!${carouselRef}.fieldDefs){<div >{{${carouselRef}.nodatamessage}}</div>}
71
- @for (item of ${carouselRef}.fieldDefs; track $index; let i = $index) {
71
+ @for (item of ${carouselRef}.fieldDefs; track item; let i = $index) {
72
72
  <${carouselContentTagName} wmCarouselTemplate #carouselTemplateRef="carouselTemplateRef" ${getAttrMarkup(attrs)}>
73
73
  <ng-container [ngTemplateOutlet]="carouselTempRef${counter$1}"
74
74
  [ngTemplateOutletContext]="{item:item, index:i}"