@kirbydesign/designsystem 4.0.17 → 4.0.21

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 (53) hide show
  1. package/bundles/kirbydesign-designsystem-testing-base.umd.js +57 -39
  2. package/bundles/kirbydesign-designsystem-testing-base.umd.js.map +1 -1
  3. package/bundles/kirbydesign-designsystem-testing-base.umd.min.js +1 -1
  4. package/bundles/kirbydesign-designsystem-testing-base.umd.min.js.map +1 -1
  5. package/bundles/kirbydesign-designsystem.umd.js +149 -163
  6. package/bundles/kirbydesign-designsystem.umd.js.map +1 -1
  7. package/bundles/kirbydesign-designsystem.umd.min.js +1 -1
  8. package/bundles/kirbydesign-designsystem.umd.min.js.map +1 -1
  9. package/esm2015/kirbydesign-designsystem.js +64 -62
  10. package/esm2015/kirbydesign-designsystem.metadata.json +1 -1
  11. package/esm2015/lib/components/card/card.component.js +3 -3
  12. package/esm2015/lib/components/card/card.component.metadata.json +1 -1
  13. package/esm2015/lib/components/list/index.js +2 -1
  14. package/esm2015/lib/components/list/index.metadata.json +1 -1
  15. package/esm2015/lib/components/list/list-experimental/list-experimental.component.js +10 -0
  16. package/esm2015/lib/components/list/list-experimental/list-experimental.component.metadata.json +1 -0
  17. package/esm2015/lib/components/list/list-item/list-item.component.js +1 -1
  18. package/esm2015/lib/components/list/list-item/list-item.component.metadata.json +1 -1
  19. package/esm2015/lib/components/list/list.component.js +23 -70
  20. package/esm2015/lib/components/list/list.component.metadata.json +1 -1
  21. package/esm2015/lib/components/list/list.module.js +4 -3
  22. package/esm2015/lib/components/list/list.module.metadata.json +1 -1
  23. package/esm2015/lib/directives/element-as-button/element-as-button.directive.js +35 -0
  24. package/esm2015/lib/directives/element-as-button/element-as-button.directive.metadata.json +1 -0
  25. package/esm2015/lib/kirby.module.js +3 -3
  26. package/esm2015/lib/kirby.module.metadata.json +1 -1
  27. package/esm2015/testing-base/kirbydesign-designsystem-testing-base.js +29 -28
  28. package/esm2015/testing-base/kirbydesign-designsystem-testing-base.metadata.json +1 -1
  29. package/esm2015/testing-base/lib/components/mock.list-experimental.component.js +19 -0
  30. package/esm2015/testing-base/lib/components/mock.list-experimental.component.metadata.json +1 -0
  31. package/esm2015/testing-base/lib/components/mock.list.component.js +1 -5
  32. package/esm2015/testing-base/lib/components/mock.list.component.metadata.json +1 -1
  33. package/esm2015/testing-base/lib/mock-components.js +3 -1
  34. package/esm2015/testing-base/lib/mock-components.metadata.json +1 -1
  35. package/fesm2015/kirbydesign-designsystem-testing-base.js +20 -6
  36. package/fesm2015/kirbydesign-designsystem-testing-base.js.map +1 -1
  37. package/fesm2015/kirbydesign-designsystem.js +72 -77
  38. package/fesm2015/kirbydesign-designsystem.js.map +1 -1
  39. package/kirbydesign-designsystem.d.ts +63 -61
  40. package/kirbydesign-designsystem.metadata.json +1 -1
  41. package/lib/components/card/card.component.d.ts +1 -1
  42. package/lib/components/list/index.d.ts +1 -1
  43. package/lib/components/list/list-experimental/list-experimental.component.d.ts +2 -0
  44. package/lib/components/list/list.component.d.ts +33 -10
  45. package/lib/directives/element-as-button/element-as-button.directive.d.ts +11 -0
  46. package/package.json +1 -2
  47. package/testing-base/kirbydesign-designsystem-testing-base.d.ts +28 -27
  48. package/testing-base/kirbydesign-designsystem-testing-base.metadata.json +1 -1
  49. package/testing-base/lib/components/mock.list-experimental.component.d.ts +2 -0
  50. package/testing-base/lib/components/mock.list.component.d.ts +1 -5
  51. package/esm2015/lib/components/list/list-virtual-scroll-settings.type.js +0 -2
  52. package/esm2015/lib/components/list/list-virtual-scroll-settings.type.metadata.json +0 -1
  53. package/lib/components/list/list-virtual-scroll-settings.type.d.ts +0 -2
@@ -97,7 +97,7 @@ ListItemComponent.decorators = [
97
97
  { type: Component, args: [{
98
98
  selector: 'kirby-list-item',
99
99
  template: "<ion-item-sliding\n [class.selected]=\"isSelected\"\n [kirbyListItemColor]=\"getItemColor\"\n [item]=\"item\"\n [disabled]=\"_isSwipingEnabled ? null : true\"\n keyHandler\n [ngClass]=\"boundaryClass\"\n (click)=\"_onItemSelect(item)\"\n>\n <ng-container\n *ngTemplateOutlet=\"swipeActionsTemplate; context: { $implicit: item }\"\n ></ng-container>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n</ion-item-sliding>\n\n<ng-template #swipeActionsTemplate let-item>\n <ion-item-options *ngIf=\"_hasSwipeActions(item)\" [side]=\"_getSwipeActionEnd(item)\">\n <div class=\"swipe-action\">\n <ng-container *ngFor=\"let swipeAction of _getSwipeActions(item)\">\n <ion-item-option\n [ngClass]=\"_getSwipeActionType(swipeAction, item)\"\n (click)=\"_onSwipeActionSelect(swipeAction, item, $event)\"\n >\n <div class=\"item-content\">\n <kirby-icon\n *ngIf=\"_getSwipeActionIcon(swipeAction, item)\"\n size=\"sm\"\n [name]=\"_getSwipeActionIcon(swipeAction, item)\"\n >\n </kirby-icon>\n <ion-label>\n {{ _getSwipeActionTitle(swipeAction, item) }}\n </ion-label>\n </div>\n </ion-item-option>\n </ng-container>\n </div>\n </ion-item-options>\n</ng-template>\n",
100
- styles: [":host{display:block}.list{box-shadow:0 5px 10px -10px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);background:transparent;contain:inherit;padding:0}.viewport{overflow-y:auto}.item-wrapper{min-height:56px}ion-list-header{background-color:var(--kirby-white);border-bottom:1px solid var(--kirby-background-color);padding:0;text-transform:inherit;letter-spacing:inherit;font-weight:inherit;font-size:inherit;min-height:0;overflow:inherit}ion-item{--background:var(--kirby-white);--background-activated:var(--kirby-white-shade);--background-hover:var(--kirby-background-color);--background-focused:var(--kirby-background-color);--inner-border-width:0;--ion-safe-area-right:0;--min-height:56px;--padding-bottom:8px;--padding-end:16px;--padding-start:16px;--padding-top:8px;display:flex;font-size:14px;min-height:56px;overflow:visible;width:100%}ion-item-divider{font-weight:inherit}ion-item-sliding.item-sliding-active-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}ion-item-sliding.light{--kirby-item-background:var(--kirby-light);--kirby-item-background-activated:var(--kirby-light-shade);--kirby-item-background-focused:var(--kirby-light-shade);--kirby-item-background-hover:var(--kirby-light-tint)}ion-item-sliding.light ion-item{--background:var(--kirby-light);--color:var(--kirby-light-contrast);--background-activated:var(--kirby-light-shade);--background-focused:var(--kirby-light-shade);--background-hover:var(--kirby-light-tint)}ion-item-group{margin-bottom:24px}ion-item-group:last-of-type{margin-bottom:0}ion-item-divider{--inner-padding-end:0;--color:unset;background-color:transparent;border-color:transparent;min-height:0;padding:0 16px 8px}.footer{background-color:var(--kirby-white);border-top:1px solid var(--kirby-background-color);display:flex;align-items:center;justify-content:space-between;width:100%}.loading,.no-more-items{width:100%;padding:24px 0;text-align:center}.swipe-action{display:flex;color:var(--kirby-black);background-color:transparent}.swipe-action .primary{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}.swipe-action .secondary{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}.swipe-action .tertiary{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}.swipe-action .success{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}.swipe-action .warning{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}.swipe-action .danger{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}.swipe-action .light{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}.swipe-action .medium{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}.swipe-action .dark{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}.swipe-action ion-item-option{height:100%;display:inline-block;text-align:center}.swipe-action .item-content{display:inline-grid;min-width:70px;flex-direction:column}.swipe-action .item-content ion-label{--background:unset;--color:unset}ion-item-options[side=end]{border-bottom-width:0}:host-context(.has-sections) .list{box-shadow:none}:host-context(.has-sections) .list-items{box-shadow:0 5px 10px -10px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);border-radius:16px}:host-context(.has-sections) .virtual-group{margin-top:24px}:host-context(.has-sections) .section-header{overflow:hidden}:host-context(.has-sections) .footer{background-color:transparent;border-top:none}:host-context(.has-sections) ion-list-header{background-color:transparent;border-bottom:none}:host-context(.shape-rounded) .list,:host-context(.shape-rounded) .list-items{border-radius:16px}:host-context(.shape-rounded) ion-item-sliding.first,:host-context(.shape-rounded) ion-item.first,:host-context(.shape-rounded) ion-list-header{border-top-left-radius:16px;border-top-right-radius:16px;-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}:host-context(.shape-rounded):not(.has-sections) .has-header ion-item,:host-context(.shape-rounded):not(.has-sections) .has-header ion-item-sliding,:host-context(.shape-rounded) ion-item-sliding>ion-item{border-top-left-radius:0;border-top-right-radius:0}:host-context(.shape-rounded) .footer,:host-context(.shape-rounded) ion-item-sliding.last,:host-context(.shape-rounded) ion-item.last{border-bottom-left-radius:16px;border-bottom-right-radius:16px;-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item,:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item-sliding,:host-context(.shape-rounded) ion-item-sliding>ion-item{border-bottom-left-radius:0;border-bottom-right-radius:0}:host-context(.shape-none) .list,:host-context(.shape-none) .list-items{box-shadow:none;border-radius:unset}:host-context(.shape-none) .list ion-item,:host-context(.shape-none) .list ion-item-sliding{--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;--inner-padding-start:0;--inner-padding-end:0;--inner-padding-top:0;--inner-padding-bottom:0;--background:none;--background-activated:none;--background-hover:none;--background-focused:none;overflow:visible}:host-context(.item-spacing) .list kirby-list-item{margin-bottom:16px}:host-context(.item-spacing) .list kirby-list-item:last-child,:host-context(.item-spacing) .list kirby-list-item>ion-item{margin-bottom:0}", ":host{overflow:hidden}:host-context(.has-divider) ion-item-sliding:not(.last){border-bottom:1px solid var(--kirby-background-color)}"]
100
+ styles: [":host{display:block}.list{box-shadow:0 5px 10px -10px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);background:transparent;contain:inherit;padding:0}ion-list-header{background-color:var(--kirby-white);border-bottom:1px solid var(--kirby-background-color);padding:0;text-transform:inherit;letter-spacing:inherit;font-weight:inherit;font-size:inherit;min-height:0;overflow:inherit}ion-item{--background:var(--kirby-white);--background-activated:var(--kirby-white-shade);--background-hover:var(--kirby-background-color);--background-focused:var(--kirby-background-color);--inner-border-width:0;--ion-safe-area-right:0;--min-height:56px;--padding-bottom:8px;--padding-end:16px;--padding-start:16px;--padding-top:8px;display:flex;font-size:14px;min-height:56px;overflow:visible;width:100%}ion-item-divider{font-weight:inherit}ion-item-sliding.item-sliding-active-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}ion-item-sliding.light{--kirby-item-background:var(--kirby-light);--kirby-item-background-activated:var(--kirby-light-shade);--kirby-item-background-focused:var(--kirby-light-shade);--kirby-item-background-hover:var(--kirby-light-tint)}ion-item-sliding.light ion-item{--background:var(--kirby-light);--color:var(--kirby-light-contrast);--background-activated:var(--kirby-light-shade);--background-focused:var(--kirby-light-shade);--background-hover:var(--kirby-light-tint)}ion-item-group{margin-bottom:24px}ion-item-group:last-of-type{margin-bottom:0}ion-item-divider{--inner-padding-end:0;--color:unset;background-color:transparent;border-color:transparent;min-height:0;padding:0 16px 8px}.footer{background-color:var(--kirby-white);border-top:1px solid var(--kirby-background-color);display:flex;align-items:center;justify-content:space-between;width:100%}.loading,.no-more-items{width:100%;padding:24px 0;text-align:center}.swipe-action{display:flex;color:var(--kirby-black);background-color:transparent}.swipe-action .primary{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}.swipe-action .secondary{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}.swipe-action .tertiary{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}.swipe-action .success{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}.swipe-action .warning{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}.swipe-action .danger{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}.swipe-action .light{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}.swipe-action .medium{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}.swipe-action .dark{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}.swipe-action ion-item-option{height:100%;display:inline-block;text-align:center}.swipe-action .item-content{display:inline-grid;min-width:70px;flex-direction:column}.swipe-action .item-content ion-label{--background:unset;--color:unset}ion-item-options[side=end]{border-bottom-width:0}:host-context(.has-sections) .list{box-shadow:none}:host-context(.has-sections) .list-items{box-shadow:0 5px 10px -10px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);border-radius:16px}:host-context(.has-sections) .footer{background-color:transparent;border-top:none}:host-context(.has-sections) ion-list-header{background-color:transparent;border-bottom:none}:host-context(.shape-rounded) .list,:host-context(.shape-rounded) .list-items{border-radius:16px}:host-context(.shape-rounded) ion-item-sliding.first,:host-context(.shape-rounded) ion-item.first,:host-context(.shape-rounded) ion-list-header{border-top-left-radius:16px;border-top-right-radius:16px;-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}:host-context(.shape-rounded):not(.has-sections) .has-header ion-item,:host-context(.shape-rounded):not(.has-sections) .has-header ion-item-sliding,:host-context(.shape-rounded) ion-item-sliding>ion-item{border-top-left-radius:0;border-top-right-radius:0}:host-context(.shape-rounded) .footer,:host-context(.shape-rounded) ion-item-sliding.last,:host-context(.shape-rounded) ion-item.last{border-bottom-left-radius:16px;border-bottom-right-radius:16px;-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item,:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item-sliding,:host-context(.shape-rounded) ion-item-sliding>ion-item{border-bottom-left-radius:0;border-bottom-right-radius:0}:host-context(.shape-none) .list,:host-context(.shape-none) .list-items{box-shadow:none;border-radius:unset}:host-context(.shape-none) .list ion-item,:host-context(.shape-none) .list ion-item-sliding{--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;--inner-padding-start:0;--inner-padding-end:0;--inner-padding-top:0;--inner-padding-bottom:0;--background:none;--background-activated:none;--background-hover:none;--background-focused:none;overflow:visible}:host-context(.item-spacing) .list kirby-list-item{margin-bottom:16px}:host-context(.item-spacing) .list kirby-list-item:last-child,:host-context(.item-spacing) .list kirby-list-item>ion-item{margin-bottom:0}", ":host{overflow:hidden}:host-context(.has-divider) ion-item-sliding:not(.last){border-bottom:1px solid var(--kirby-background-color)}"]
101
101
  },] }
102
102
  ];
103
103
  /** @nocollapse */
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"BoundaryClass":{"__symbolic":"interface"},"ListItemComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":19,"character":1},"arguments":[{"selector":"kirby-list-item","template":"<ion-item-sliding\n [class.selected]=\"isSelected\"\n [kirbyListItemColor]=\"getItemColor\"\n [item]=\"item\"\n [disabled]=\"_isSwipingEnabled ? null : true\"\n keyHandler\n [ngClass]=\"boundaryClass\"\n (click)=\"_onItemSelect(item)\"\n>\n <ng-container\n *ngTemplateOutlet=\"swipeActionsTemplate; context: { $implicit: item }\"\n ></ng-container>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n</ion-item-sliding>\n\n<ng-template #swipeActionsTemplate let-item>\n <ion-item-options *ngIf=\"_hasSwipeActions(item)\" [side]=\"_getSwipeActionEnd(item)\">\n <div class=\"swipe-action\">\n <ng-container *ngFor=\"let swipeAction of _getSwipeActions(item)\">\n <ion-item-option\n [ngClass]=\"_getSwipeActionType(swipeAction, item)\"\n (click)=\"_onSwipeActionSelect(swipeAction, item, $event)\"\n >\n <div class=\"item-content\">\n <kirby-icon\n *ngIf=\"_getSwipeActionIcon(swipeAction, item)\"\n size=\"sm\"\n [name]=\"_getSwipeActionIcon(swipeAction, item)\"\n >\n </kirby-icon>\n <ion-label>\n {{ _getSwipeActionTitle(swipeAction, item) }}\n </ion-label>\n </div>\n </ion-item-option>\n </ng-container>\n </div>\n </ion-item-options>\n</ng-template>\n","styles":[":host{display:block}.list{box-shadow:0 5px 10px -10px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);background:transparent;contain:inherit;padding:0}.viewport{overflow-y:auto}.item-wrapper{min-height:56px}ion-list-header{background-color:var(--kirby-white);border-bottom:1px solid var(--kirby-background-color);padding:0;text-transform:inherit;letter-spacing:inherit;font-weight:inherit;font-size:inherit;min-height:0;overflow:inherit}ion-item{--background:var(--kirby-white);--background-activated:var(--kirby-white-shade);--background-hover:var(--kirby-background-color);--background-focused:var(--kirby-background-color);--inner-border-width:0;--ion-safe-area-right:0;--min-height:56px;--padding-bottom:8px;--padding-end:16px;--padding-start:16px;--padding-top:8px;display:flex;font-size:14px;min-height:56px;overflow:visible;width:100%}ion-item-divider{font-weight:inherit}ion-item-sliding.item-sliding-active-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}ion-item-sliding.light{--kirby-item-background:var(--kirby-light);--kirby-item-background-activated:var(--kirby-light-shade);--kirby-item-background-focused:var(--kirby-light-shade);--kirby-item-background-hover:var(--kirby-light-tint)}ion-item-sliding.light ion-item{--background:var(--kirby-light);--color:var(--kirby-light-contrast);--background-activated:var(--kirby-light-shade);--background-focused:var(--kirby-light-shade);--background-hover:var(--kirby-light-tint)}ion-item-group{margin-bottom:24px}ion-item-group:last-of-type{margin-bottom:0}ion-item-divider{--inner-padding-end:0;--color:unset;background-color:transparent;border-color:transparent;min-height:0;padding:0 16px 8px}.footer{background-color:var(--kirby-white);border-top:1px solid var(--kirby-background-color);display:flex;align-items:center;justify-content:space-between;width:100%}.loading,.no-more-items{width:100%;padding:24px 0;text-align:center}.swipe-action{display:flex;color:var(--kirby-black);background-color:transparent}.swipe-action .primary{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}.swipe-action .secondary{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}.swipe-action .tertiary{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}.swipe-action .success{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}.swipe-action .warning{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}.swipe-action .danger{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}.swipe-action .light{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}.swipe-action .medium{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}.swipe-action .dark{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}.swipe-action ion-item-option{height:100%;display:inline-block;text-align:center}.swipe-action .item-content{display:inline-grid;min-width:70px;flex-direction:column}.swipe-action .item-content ion-label{--background:unset;--color:unset}ion-item-options[side=end]{border-bottom-width:0}:host-context(.has-sections) .list{box-shadow:none}:host-context(.has-sections) .list-items{box-shadow:0 5px 10px -10px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);border-radius:16px}:host-context(.has-sections) .virtual-group{margin-top:24px}:host-context(.has-sections) .section-header{overflow:hidden}:host-context(.has-sections) .footer{background-color:transparent;border-top:none}:host-context(.has-sections) ion-list-header{background-color:transparent;border-bottom:none}:host-context(.shape-rounded) .list,:host-context(.shape-rounded) .list-items{border-radius:16px}:host-context(.shape-rounded) ion-item-sliding.first,:host-context(.shape-rounded) ion-item.first,:host-context(.shape-rounded) ion-list-header{border-top-left-radius:16px;border-top-right-radius:16px;-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}:host-context(.shape-rounded):not(.has-sections) .has-header ion-item,:host-context(.shape-rounded):not(.has-sections) .has-header ion-item-sliding,:host-context(.shape-rounded) ion-item-sliding>ion-item{border-top-left-radius:0;border-top-right-radius:0}:host-context(.shape-rounded) .footer,:host-context(.shape-rounded) ion-item-sliding.last,:host-context(.shape-rounded) ion-item.last{border-bottom-left-radius:16px;border-bottom-right-radius:16px;-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item,:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item-sliding,:host-context(.shape-rounded) ion-item-sliding>ion-item{border-bottom-left-radius:0;border-bottom-right-radius:0}:host-context(.shape-none) .list,:host-context(.shape-none) .list-items{box-shadow:none;border-radius:unset}:host-context(.shape-none) .list ion-item,:host-context(.shape-none) .list ion-item-sliding{--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;--inner-padding-start:0;--inner-padding-end:0;--inner-padding-top:0;--inner-padding-bottom:0;--background:none;--background-activated:none;--background-hover:none;--background-focused:none;overflow:visible}:host-context(.item-spacing) .list kirby-list-item{margin-bottom:16px}:host-context(.item-spacing) .list kirby-list-item:last-child,:host-context(.item-spacing) .list kirby-list-item>ion-item{margin-bottom:0}",":host{overflow:hidden}:host-context(.has-divider) ion-item-sliding:not(.last){border-bottom:1px solid var(--kirby-background-color)}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../../../helpers/platform.service","name":"PlatformService","line":27,"character":32}]}],"ionItemSliding":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":31,"character":3},"arguments":[{"__symbolic":"reference","module":"@ionic/angular","name":"IonItemSliding","line":31,"character":13}]}]}],"item":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"boundaryClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"swipeActions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"itemTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"isSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3}}]}],"isSelectable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3}}]}],"getItemColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":3}}]}],"itemSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":47,"character":3}}]}],"_onItemSelect":[{"__symbolic":"method"}],"swipeActionSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":54,"character":3}}]}],"_onSwipeActionSelect":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"_hasSwipeActions":[{"__symbolic":"method"}],"_getSwipeActions":[{"__symbolic":"method"}],"isSwipeActionDisabled":[{"__symbolic":"method"}],"_getSwipeActionEnd":[{"__symbolic":"method"}],"_getSwipeActionIcon":[{"__symbolic":"method"}],"_getSwipeActionTitle":[{"__symbolic":"method"}],"_getSwipeActionType":[{"__symbolic":"method"}],"initializeSwipeActions":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"BoundaryClass":{"__symbolic":"interface"},"ListItemComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":19,"character":1},"arguments":[{"selector":"kirby-list-item","template":"<ion-item-sliding\n [class.selected]=\"isSelected\"\n [kirbyListItemColor]=\"getItemColor\"\n [item]=\"item\"\n [disabled]=\"_isSwipingEnabled ? null : true\"\n keyHandler\n [ngClass]=\"boundaryClass\"\n (click)=\"_onItemSelect(item)\"\n>\n <ng-container\n *ngTemplateOutlet=\"swipeActionsTemplate; context: { $implicit: item }\"\n ></ng-container>\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"></ng-container>\n</ion-item-sliding>\n\n<ng-template #swipeActionsTemplate let-item>\n <ion-item-options *ngIf=\"_hasSwipeActions(item)\" [side]=\"_getSwipeActionEnd(item)\">\n <div class=\"swipe-action\">\n <ng-container *ngFor=\"let swipeAction of _getSwipeActions(item)\">\n <ion-item-option\n [ngClass]=\"_getSwipeActionType(swipeAction, item)\"\n (click)=\"_onSwipeActionSelect(swipeAction, item, $event)\"\n >\n <div class=\"item-content\">\n <kirby-icon\n *ngIf=\"_getSwipeActionIcon(swipeAction, item)\"\n size=\"sm\"\n [name]=\"_getSwipeActionIcon(swipeAction, item)\"\n >\n </kirby-icon>\n <ion-label>\n {{ _getSwipeActionTitle(swipeAction, item) }}\n </ion-label>\n </div>\n </ion-item-option>\n </ng-container>\n </div>\n </ion-item-options>\n</ng-template>\n","styles":[":host{display:block}.list{box-shadow:0 5px 10px -10px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);background:transparent;contain:inherit;padding:0}ion-list-header{background-color:var(--kirby-white);border-bottom:1px solid var(--kirby-background-color);padding:0;text-transform:inherit;letter-spacing:inherit;font-weight:inherit;font-size:inherit;min-height:0;overflow:inherit}ion-item{--background:var(--kirby-white);--background-activated:var(--kirby-white-shade);--background-hover:var(--kirby-background-color);--background-focused:var(--kirby-background-color);--inner-border-width:0;--ion-safe-area-right:0;--min-height:56px;--padding-bottom:8px;--padding-end:16px;--padding-start:16px;--padding-top:8px;display:flex;font-size:14px;min-height:56px;overflow:visible;width:100%}ion-item-divider{font-weight:inherit}ion-item-sliding.item-sliding-active-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}ion-item-sliding.light{--kirby-item-background:var(--kirby-light);--kirby-item-background-activated:var(--kirby-light-shade);--kirby-item-background-focused:var(--kirby-light-shade);--kirby-item-background-hover:var(--kirby-light-tint)}ion-item-sliding.light ion-item{--background:var(--kirby-light);--color:var(--kirby-light-contrast);--background-activated:var(--kirby-light-shade);--background-focused:var(--kirby-light-shade);--background-hover:var(--kirby-light-tint)}ion-item-group{margin-bottom:24px}ion-item-group:last-of-type{margin-bottom:0}ion-item-divider{--inner-padding-end:0;--color:unset;background-color:transparent;border-color:transparent;min-height:0;padding:0 16px 8px}.footer{background-color:var(--kirby-white);border-top:1px solid var(--kirby-background-color);display:flex;align-items:center;justify-content:space-between;width:100%}.loading,.no-more-items{width:100%;padding:24px 0;text-align:center}.swipe-action{display:flex;color:var(--kirby-black);background-color:transparent}.swipe-action .primary{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}.swipe-action .secondary{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}.swipe-action .tertiary{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}.swipe-action .success{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}.swipe-action .warning{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}.swipe-action .danger{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}.swipe-action .light{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}.swipe-action .medium{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}.swipe-action .dark{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}.swipe-action ion-item-option{height:100%;display:inline-block;text-align:center}.swipe-action .item-content{display:inline-grid;min-width:70px;flex-direction:column}.swipe-action .item-content ion-label{--background:unset;--color:unset}ion-item-options[side=end]{border-bottom-width:0}:host-context(.has-sections) .list{box-shadow:none}:host-context(.has-sections) .list-items{box-shadow:0 5px 10px -10px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);border-radius:16px}:host-context(.has-sections) .footer{background-color:transparent;border-top:none}:host-context(.has-sections) ion-list-header{background-color:transparent;border-bottom:none}:host-context(.shape-rounded) .list,:host-context(.shape-rounded) .list-items{border-radius:16px}:host-context(.shape-rounded) ion-item-sliding.first,:host-context(.shape-rounded) ion-item.first,:host-context(.shape-rounded) ion-list-header{border-top-left-radius:16px;border-top-right-radius:16px;-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}:host-context(.shape-rounded):not(.has-sections) .has-header ion-item,:host-context(.shape-rounded):not(.has-sections) .has-header ion-item-sliding,:host-context(.shape-rounded) ion-item-sliding>ion-item{border-top-left-radius:0;border-top-right-radius:0}:host-context(.shape-rounded) .footer,:host-context(.shape-rounded) ion-item-sliding.last,:host-context(.shape-rounded) ion-item.last{border-bottom-left-radius:16px;border-bottom-right-radius:16px;-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item,:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item-sliding,:host-context(.shape-rounded) ion-item-sliding>ion-item{border-bottom-left-radius:0;border-bottom-right-radius:0}:host-context(.shape-none) .list,:host-context(.shape-none) .list-items{box-shadow:none;border-radius:unset}:host-context(.shape-none) .list ion-item,:host-context(.shape-none) .list ion-item-sliding{--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;--inner-padding-start:0;--inner-padding-end:0;--inner-padding-top:0;--inner-padding-bottom:0;--background:none;--background-activated:none;--background-hover:none;--background-focused:none;overflow:visible}:host-context(.item-spacing) .list kirby-list-item{margin-bottom:16px}:host-context(.item-spacing) .list kirby-list-item:last-child,:host-context(.item-spacing) .list kirby-list-item>ion-item{margin-bottom:0}",":host{overflow:hidden}:host-context(.has-divider) ion-item-sliding:not(.last){border-bottom:1px solid var(--kirby-background-color)}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"../../../helpers/platform.service","name":"PlatformService","line":27,"character":32}]}],"ionItemSliding":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":31,"character":3},"arguments":[{"__symbolic":"reference","module":"@ionic/angular","name":"IonItemSliding","line":31,"character":13}]}]}],"item":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"boundaryClass":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"swipeActions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"itemTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"isSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3}}]}],"isSelectable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3}}]}],"getItemColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":45,"character":3}}]}],"itemSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":47,"character":3}}]}],"_onItemSelect":[{"__symbolic":"method"}],"swipeActionSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":54,"character":3}}]}],"_onSwipeActionSelect":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"_hasSwipeActions":[{"__symbolic":"method"}],"_getSwipeActions":[{"__symbolic":"method"}],"isSwipeActionDisabled":[{"__symbolic":"method"}],"_getSwipeActionEnd":[{"__symbolic":"method"}],"_getSwipeActionIcon":[{"__symbolic":"method"}],"_getSwipeActionTitle":[{"__symbolic":"method"}],"_getSwipeActionType":[{"__symbolic":"method"}],"initializeSwipeActions":[{"__symbolic":"method"}]}}}}]
@@ -1,25 +1,24 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { Component, ContentChild, ContentChildren, EventEmitter, HostBinding, Input, Output, TemplateRef, ViewChild, } from '@angular/core';
11
2
  import { ItemComponent } from '../item/item.component';
12
3
  import { InfiniteScrollDirective } from './directives/infinite-scroll.directive';
13
4
  import { ListHelper } from './helpers/list-helper';
14
5
  import { ListFooterDirective, ListHeaderDirective, ListItemTemplateDirective, ListSectionHeaderDirective, } from './list.directive';
15
6
  import { GroupByPipe } from './pipes/group-by.pipe';
16
- const INTERVAL = 400;
17
7
  export class ListComponent {
18
8
  constructor(listHelper, groupBy) {
19
9
  this.listHelper = listHelper;
20
10
  this.groupBy = groupBy;
11
+ /**
12
+ * Provide items for the list to render. Items must be provided in the order you expect them to be rendered.
13
+ */
21
14
  this.items = [];
15
+ /**
16
+ * Determines if dividers (bottom-border on list items) should be shown or not.
17
+ */
22
18
  this.showDivider = false;
19
+ /**
20
+ * Determines if list row text should turn bold on selection
21
+ */
23
22
  this.markSelectedRow = false;
24
23
  /**
25
24
  * Determine outline shape of:
@@ -29,16 +28,19 @@ export class ListComponent {
29
28
  * `square` means **without** rounded corners, `rounded` means **with** rounded corners., `none` means **without** padding, border, box-shadow and background.
30
29
  */
31
30
  this.shape = 'rounded';
32
- this.useVirtualScroll = false;
33
- this.virtualScrollViewportHeight = 500;
34
- this.virtualScrollSettings = {};
35
- this.virtualScrollTimeout = 5000;
36
- this._virtualScrollData = {
37
- get: (index, count) => this.getVirtualDataset(index, count),
38
- settings: Object.assign({ minIndex: this.virtualScrollSettings.minIndex || 0, startIndex: this.virtualScrollSettings.startIndex || 0, bufferSize: this.virtualScrollSettings.bufferSize || 10 }, this.virtualScrollSettings),
39
- };
31
+ /**
32
+ * Emitting event when more items are to be loaded.
33
+ */
40
34
  this.loadOnDemand = new EventEmitter();
35
+ /**
36
+ * Determines if list items should have swipe actions or not
37
+ * - the order of swipe actions is used to determine edge actions,
38
+ * as well as their order of appearance on the screen.
39
+ */
41
40
  this.swipeActions = [];
41
+ /**
42
+ * Emitting event when an item is selected (tapped on mobile, clicked on web)
43
+ */
42
44
  this.itemSelect = new EventEmitter();
43
45
  }
44
46
  get isShapeRounded() {
@@ -47,41 +49,6 @@ export class ListComponent {
47
49
  get isShapeNone() {
48
50
  return this.shape === 'none';
49
51
  }
50
- getVirtualDataset(index, count) {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- return yield new Promise((resolve) => {
53
- setTimeout(() => {
54
- const itemSlice = this.getItemsSlice(index, count);
55
- // If we return less items than count, virtual scroll will interprete it as EOF and stop asking for more
56
- if (itemSlice.length < count && this.isLoadOnDemandEnabled) {
57
- let elapsedTime = 0;
58
- /* As virtual scroll fixes the viewport causing ScrollEnd to not be emitted; do it manually to trigger load on demand */
59
- this.scrollDirective.scrollEnd.emit();
60
- const poller = setInterval(() => {
61
- elapsedTime += INTERVAL;
62
- if (this._isLoading) {
63
- // Just a failsafe in case this.isLoading for some reason is not reset
64
- if (elapsedTime > this.virtualScrollTimeout) {
65
- clearInterval(poller);
66
- resolve([]);
67
- }
68
- return;
69
- }
70
- clearInterval(poller);
71
- resolve(this.getItemsSlice(index, count));
72
- }, INTERVAL);
73
- }
74
- else {
75
- resolve(itemSlice);
76
- }
77
- }, INTERVAL);
78
- });
79
- });
80
- }
81
- getItemsSlice(index, count) {
82
- const _items = this._isSectionsEnabled ? this._virtualGroupedItems : this.items;
83
- return _items.slice(index, index + count);
84
- }
85
52
  ngOnInit() {
86
53
  this._isSelectable = this.itemSelect.observers.length > 0;
87
54
  if (this.isLoadOnDemandEnabled === undefined) {
@@ -102,13 +69,6 @@ export class ListComponent {
102
69
  this._groupedItems = this._isSectionsEnabled
103
70
  ? this.groupBy.transform(this.items, this.getSectionName)
104
71
  : null;
105
- this._virtualGroupedItems =
106
- this.useVirtualScroll && this._groupedItems
107
- ? this._groupedItems.reduce((accumulator, group) => {
108
- accumulator.push({ headingName: group.name });
109
- return accumulator.concat(...group.items);
110
- }, [])
111
- : null;
112
72
  }
113
73
  _onLoadOnDemand(event) {
114
74
  this.listHelper.onLoadOnDemand(this, event);
@@ -131,9 +91,6 @@ export class ListComponent {
131
91
  _getBoundaryClass(index, section) {
132
92
  var _a, _b;
133
93
  let _items = section || this.items;
134
- if (this._isSectionsEnabled && this.useVirtualScroll) {
135
- _items = this._virtualGroupedItems;
136
- }
137
94
  if (index === 0 || ((_a = _items[index - 1]) === null || _a === void 0 ? void 0 : _a.headingName))
138
95
  return this.headerTemplate ? null : 'first';
139
96
  if (index === _items.length - 1 || ((_b = _items[index + 1]) === null || _b === void 0 ? void 0 : _b.headingName))
@@ -143,9 +100,9 @@ export class ListComponent {
143
100
  ListComponent.decorators = [
144
101
  { type: Component, args: [{
145
102
  selector: 'kirby-list',
146
- template: "<ion-list\n #list\n kirbyInfiniteScroll\n (scrollEnd)=\"_onLoadOnDemand()\"\n [disabled]=\"!isLoadOnDemandEnabled\"\n class=\"list\"\n [class.has-header]=\"headerTemplate\"\n [class.has-footer]=\"footerTemplate\"\n [class.has-divider]=\"showDivider\"\n>\n <ion-list-header *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </ion-list-header>\n\n <div\n *ngIf=\"useVirtualScroll\"\n #viewport\n [style.height]=\"virtualScrollViewportHeight + 'px'\"\n class=\"viewport\"\n >\n <ng-container\n *ngTemplateOutlet=\"virtualItemsTemplate; context: { $implicit: _virtualScrollData }\"\n ></ng-container>\n </div>\n\n <ng-container *ngIf=\"!useVirtualScroll\">\n <ng-container\n *ngTemplateOutlet=\"\n _isSectionsEnabled ? groupedListTemplate : itemsTemplate;\n context: { $implicit: items }\n \"\n ></ng-container>\n </ng-container>\n\n <div *ngIf=\"footerTemplate\" class=\"footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n</ion-list>\n\n<p *ngIf=\"!isLoadOnDemandEnabled && noMoreItemsText\" class=\"no-more-items\">\n {{ noMoreItemsText }}\n</p>\n<div *ngIf=\"_isLoading\" class=\"loading\">\n <kirby-spinner></kirby-spinner>\n</div>\n\n<ng-template #groupedListTemplate>\n <ion-item-group *ngFor=\"let section of _groupedItems; trackBy: sectionTrackBy\">\n <ion-item-divider>\n <ng-container\n *ngTemplateOutlet=\"sectionHeaderTemplate; context: { $implicit: section.name }\"\n ></ng-container>\n </ion-item-divider>\n\n <div class=\"list-items\">\n <ng-container\n *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: section.items }\"\n ></ng-container>\n </div>\n </ion-item-group>\n</ng-template>\n\n<ng-template #itemsTemplate let-items>\n <kirby-list-item\n *ngFor=\"let item of items; let i = index; trackBy: trackBy || defaultTrackBy\"\n [item]=\"item\"\n [itemTemplate]=\"itemTemplate\"\n [swipeActions]=\"swipeActions\"\n [boundaryClass]=\"_getBoundaryClass(i, items)\"\n [isSelectable]=\"_isSelectable\"\n [getItemColor]=\"getItemColor\"\n [isSelected]=\"_isSelectable && item === _selectedItem\"\n (itemSelect)=\"onItemSelect($event)\"\n (swipeActionSelect)=\"onSwipeActionSelect($event)\"\n [class.is-single]=\"items.length === 1\"\n >\n </kirby-list-item>\n</ng-template>\n\n<ng-template #virtualItemsTemplate let-virtualScrollData>\n <div *uiScroll=\"let item of virtualScrollData; let i = index\">\n <div [class.item-wrapper]=\"!item.headingName\" [class.section-header]=\"item.headingName\">\n <ion-item-divider *ngIf=\"item.headingName\" class=\"virtual-group\">\n <ng-container\n *ngTemplateOutlet=\"sectionHeaderTemplate; context: { $implicit: item.headingName }\"\n ></ng-container>\n </ion-item-divider>\n <kirby-list-item\n *ngIf=\"!item.headingName\"\n [item]=\"item\"\n [itemTemplate]=\"itemTemplate\"\n [swipeActions]=\"swipeActions\"\n [boundaryClass]=\"_getBoundaryClass(i)\"\n [isSelectable]=\"_isSelectable\"\n [getItemColor]=\"getItemColor\"\n [isSelected]=\"_isSelectable && item === _selectedItem\"\n (itemSelect)=\"onItemSelect($event)\"\n (swipeActionSelect)=\"onSwipeActionSelect($event)\"\n >\n </kirby-list-item>\n </div>\n </div>\n</ng-template>\n",
103
+ template: "<ion-list\n #list\n kirbyInfiniteScroll\n (scrollEnd)=\"_onLoadOnDemand()\"\n [disabled]=\"!isLoadOnDemandEnabled\"\n class=\"list\"\n [class.has-header]=\"headerTemplate\"\n [class.has-footer]=\"footerTemplate\"\n [class.has-divider]=\"showDivider\"\n>\n <ion-list-header *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </ion-list-header>\n\n <ng-container\n *ngTemplateOutlet=\"\n _isSectionsEnabled ? groupedListTemplate : itemsTemplate;\n context: { $implicit: items }\n \"\n ></ng-container>\n\n <div *ngIf=\"footerTemplate\" class=\"footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n</ion-list>\n\n<p *ngIf=\"!isLoadOnDemandEnabled && noMoreItemsText\" class=\"no-more-items\">\n {{ noMoreItemsText }}\n</p>\n<div *ngIf=\"_isLoading\" class=\"loading\">\n <kirby-spinner></kirby-spinner>\n</div>\n\n<ng-template #groupedListTemplate>\n <ion-item-group *ngFor=\"let section of _groupedItems; trackBy: sectionTrackBy\">\n <ion-item-divider>\n <ng-container\n *ngTemplateOutlet=\"sectionHeaderTemplate; context: { $implicit: section.name }\"\n ></ng-container>\n </ion-item-divider>\n\n <div class=\"list-items\">\n <ng-container\n *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: section.items }\"\n ></ng-container>\n </div>\n </ion-item-group>\n</ng-template>\n\n<ng-template #itemsTemplate let-items>\n <kirby-list-item\n *ngFor=\"let item of items; let i = index; trackBy: trackBy || defaultTrackBy\"\n [item]=\"item\"\n [itemTemplate]=\"itemTemplate\"\n [swipeActions]=\"swipeActions\"\n [boundaryClass]=\"_getBoundaryClass(i, items)\"\n [isSelectable]=\"_isSelectable\"\n [getItemColor]=\"getItemColor\"\n [isSelected]=\"_isSelectable && item === _selectedItem\"\n (itemSelect)=\"onItemSelect($event)\"\n (swipeActionSelect)=\"onSwipeActionSelect($event)\"\n [class.is-single]=\"items.length === 1\"\n >\n </kirby-list-item>\n</ng-template>\n",
147
104
  providers: [ListHelper, GroupByPipe],
148
- styles: [":host{display:block}.list{box-shadow:0 5px 10px -10px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);background:transparent;contain:inherit;padding:0}.viewport{overflow-y:auto}.item-wrapper{min-height:56px}ion-list-header{background-color:var(--kirby-white);border-bottom:1px solid var(--kirby-background-color);padding:0;text-transform:inherit;letter-spacing:inherit;font-weight:inherit;font-size:inherit;min-height:0;overflow:inherit}ion-item{--background:var(--kirby-white);--background-activated:var(--kirby-white-shade);--background-hover:var(--kirby-background-color);--background-focused:var(--kirby-background-color);--inner-border-width:0;--ion-safe-area-right:0;--min-height:56px;--padding-bottom:8px;--padding-end:16px;--padding-start:16px;--padding-top:8px;display:flex;font-size:14px;min-height:56px;overflow:visible;width:100%}ion-item-divider{font-weight:inherit}ion-item-sliding.item-sliding-active-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}ion-item-sliding.light{--kirby-item-background:var(--kirby-light);--kirby-item-background-activated:var(--kirby-light-shade);--kirby-item-background-focused:var(--kirby-light-shade);--kirby-item-background-hover:var(--kirby-light-tint)}ion-item-sliding.light ion-item{--background:var(--kirby-light);--color:var(--kirby-light-contrast);--background-activated:var(--kirby-light-shade);--background-focused:var(--kirby-light-shade);--background-hover:var(--kirby-light-tint)}ion-item-group{margin-bottom:24px}ion-item-group:last-of-type{margin-bottom:0}ion-item-divider{--inner-padding-end:0;--color:unset;background-color:transparent;border-color:transparent;min-height:0;padding:0 16px 8px}.footer{background-color:var(--kirby-white);border-top:1px solid var(--kirby-background-color);display:flex;align-items:center;justify-content:space-between;width:100%}.loading,.no-more-items{width:100%;padding:24px 0;text-align:center}.swipe-action{display:flex;color:var(--kirby-black);background-color:transparent}.swipe-action .primary{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}.swipe-action .secondary{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}.swipe-action .tertiary{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}.swipe-action .success{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}.swipe-action .warning{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}.swipe-action .danger{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}.swipe-action .light{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}.swipe-action .medium{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}.swipe-action .dark{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}.swipe-action ion-item-option{height:100%;display:inline-block;text-align:center}.swipe-action .item-content{display:inline-grid;min-width:70px;flex-direction:column}.swipe-action .item-content ion-label{--background:unset;--color:unset}ion-item-options[side=end]{border-bottom-width:0}:host-context(.has-sections) .list{box-shadow:none}:host-context(.has-sections) .list-items{box-shadow:0 5px 10px -10px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);border-radius:16px}:host-context(.has-sections) .virtual-group{margin-top:24px}:host-context(.has-sections) .section-header{overflow:hidden}:host-context(.has-sections) .footer{background-color:transparent;border-top:none}:host-context(.has-sections) ion-list-header{background-color:transparent;border-bottom:none}:host-context(.shape-rounded) .list,:host-context(.shape-rounded) .list-items{border-radius:16px}:host-context(.shape-rounded) ion-item-sliding.first,:host-context(.shape-rounded) ion-item.first,:host-context(.shape-rounded) ion-list-header{border-top-left-radius:16px;border-top-right-radius:16px;-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}:host-context(.shape-rounded):not(.has-sections) .has-header ion-item,:host-context(.shape-rounded):not(.has-sections) .has-header ion-item-sliding,:host-context(.shape-rounded) ion-item-sliding>ion-item{border-top-left-radius:0;border-top-right-radius:0}:host-context(.shape-rounded) .footer,:host-context(.shape-rounded) ion-item-sliding.last,:host-context(.shape-rounded) ion-item.last{border-bottom-left-radius:16px;border-bottom-right-radius:16px;-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item,:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item-sliding,:host-context(.shape-rounded) ion-item-sliding>ion-item{border-bottom-left-radius:0;border-bottom-right-radius:0}:host-context(.shape-none) .list,:host-context(.shape-none) .list-items{box-shadow:none;border-radius:unset}:host-context(.shape-none) .list ion-item,:host-context(.shape-none) .list ion-item-sliding{--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;--inner-padding-start:0;--inner-padding-end:0;--inner-padding-top:0;--inner-padding-bottom:0;--background:none;--background-activated:none;--background-hover:none;--background-focused:none;overflow:visible}:host-context(.item-spacing) .list kirby-list-item{margin-bottom:16px}:host-context(.item-spacing) .list kirby-list-item:last-child,:host-context(.item-spacing) .list kirby-list-item>ion-item{margin-bottom:0}"]
105
+ styles: [":host{display:block}.list{box-shadow:0 5px 10px -10px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);background:transparent;contain:inherit;padding:0}ion-list-header{background-color:var(--kirby-white);border-bottom:1px solid var(--kirby-background-color);padding:0;text-transform:inherit;letter-spacing:inherit;font-weight:inherit;font-size:inherit;min-height:0;overflow:inherit}ion-item{--background:var(--kirby-white);--background-activated:var(--kirby-white-shade);--background-hover:var(--kirby-background-color);--background-focused:var(--kirby-background-color);--inner-border-width:0;--ion-safe-area-right:0;--min-height:56px;--padding-bottom:8px;--padding-end:16px;--padding-start:16px;--padding-top:8px;display:flex;font-size:14px;min-height:56px;overflow:visible;width:100%}ion-item-divider{font-weight:inherit}ion-item-sliding.item-sliding-active-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}ion-item-sliding.light{--kirby-item-background:var(--kirby-light);--kirby-item-background-activated:var(--kirby-light-shade);--kirby-item-background-focused:var(--kirby-light-shade);--kirby-item-background-hover:var(--kirby-light-tint)}ion-item-sliding.light ion-item{--background:var(--kirby-light);--color:var(--kirby-light-contrast);--background-activated:var(--kirby-light-shade);--background-focused:var(--kirby-light-shade);--background-hover:var(--kirby-light-tint)}ion-item-group{margin-bottom:24px}ion-item-group:last-of-type{margin-bottom:0}ion-item-divider{--inner-padding-end:0;--color:unset;background-color:transparent;border-color:transparent;min-height:0;padding:0 16px 8px}.footer{background-color:var(--kirby-white);border-top:1px solid var(--kirby-background-color);display:flex;align-items:center;justify-content:space-between;width:100%}.loading,.no-more-items{width:100%;padding:24px 0;text-align:center}.swipe-action{display:flex;color:var(--kirby-black);background-color:transparent}.swipe-action .primary{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}.swipe-action .secondary{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}.swipe-action .tertiary{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}.swipe-action .success{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}.swipe-action .warning{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}.swipe-action .danger{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}.swipe-action .light{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}.swipe-action .medium{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}.swipe-action .dark{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}.swipe-action ion-item-option{height:100%;display:inline-block;text-align:center}.swipe-action .item-content{display:inline-grid;min-width:70px;flex-direction:column}.swipe-action .item-content ion-label{--background:unset;--color:unset}ion-item-options[side=end]{border-bottom-width:0}:host-context(.has-sections) .list{box-shadow:none}:host-context(.has-sections) .list-items{box-shadow:0 5px 10px -10px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);border-radius:16px}:host-context(.has-sections) .footer{background-color:transparent;border-top:none}:host-context(.has-sections) ion-list-header{background-color:transparent;border-bottom:none}:host-context(.shape-rounded) .list,:host-context(.shape-rounded) .list-items{border-radius:16px}:host-context(.shape-rounded) ion-item-sliding.first,:host-context(.shape-rounded) ion-item.first,:host-context(.shape-rounded) ion-list-header{border-top-left-radius:16px;border-top-right-radius:16px;-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}:host-context(.shape-rounded):not(.has-sections) .has-header ion-item,:host-context(.shape-rounded):not(.has-sections) .has-header ion-item-sliding,:host-context(.shape-rounded) ion-item-sliding>ion-item{border-top-left-radius:0;border-top-right-radius:0}:host-context(.shape-rounded) .footer,:host-context(.shape-rounded) ion-item-sliding.last,:host-context(.shape-rounded) ion-item.last{border-bottom-left-radius:16px;border-bottom-right-radius:16px;-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item,:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item-sliding,:host-context(.shape-rounded) ion-item-sliding>ion-item{border-bottom-left-radius:0;border-bottom-right-radius:0}:host-context(.shape-none) .list,:host-context(.shape-none) .list-items{box-shadow:none;border-radius:unset}:host-context(.shape-none) .list ion-item,:host-context(.shape-none) .list ion-item-sliding{--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;--inner-padding-start:0;--inner-padding-end:0;--inner-padding-top:0;--inner-padding-bottom:0;--background:none;--background-activated:none;--background-hover:none;--background-focused:none;overflow:visible}:host-context(.item-spacing) .list kirby-list-item{margin-bottom:16px}:host-context(.item-spacing) .list kirby-list-item:last-child,:host-context(.item-spacing) .list kirby-list-item>ion-item{margin-bottom:0}"]
149
106
  },] }
150
107
  ];
151
108
  /** @nocollapse */
@@ -167,10 +124,6 @@ ListComponent.propDecorators = {
167
124
  isShapeRounded: [{ type: HostBinding, args: ['class.shape-rounded',] }],
168
125
  isShapeNone: [{ type: HostBinding, args: ['class.shape-none',] }],
169
126
  hasItemSpacing: [{ type: HostBinding, args: ['class.item-spacing',] }, { type: Input }],
170
- useVirtualScroll: [{ type: Input }],
171
- virtualScrollViewportHeight: [{ type: Input }],
172
- virtualScrollSettings: [{ type: Input }],
173
- virtualScrollTimeout: [{ type: Input }],
174
127
  isLoadOnDemandEnabled: [{ type: Input }],
175
128
  loadOnDemand: [{ type: Output }],
176
129
  swipeActions: [{ type: Input }],
@@ -182,4 +135,4 @@ ListComponent.propDecorators = {
182
135
  itemTemplate: [{ type: ContentChild, args: [ListItemTemplateDirective, { static: true, read: TemplateRef },] }],
183
136
  _isSectionsEnabled: [{ type: HostBinding, args: ['class.has-sections',] }]
184
137
  };
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Rlc2lnbnN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvbGlzdC9saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxFQUNOLFdBQVcsRUFFWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFLdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUluRCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsMEJBQTBCLEdBQzNCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSXBELE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQztBQU9yQixNQUFNLE9BQU8sYUFBYTtJQXNJeEIsWUFBb0IsVUFBc0IsRUFBVSxPQUFvQjtRQUFwRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQWpJeEUsVUFBSyxHQUFVLEVBQUUsQ0FBQztRQVVULGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRXBCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBRWpDOzs7Ozs7V0FNRztRQUNNLFVBQUssR0FBYyxTQUFTLENBQUM7UUFnQjdCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV6QixnQ0FBMkIsR0FBRyxHQUFHLENBQUM7UUFFbEMsMEJBQXFCLEdBQTRCLEVBQUUsQ0FB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dXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVHJhY2tCeUZ1bmN0aW9uLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSURhdGFzb3VyY2UgfSBmcm9tICduZ3gtdWktc2Nyb2xsJztcblxuaW1wb3J0IHsgVGhlbWVDb2xvciB9IGZyb20gJ0BraXJieWRlc2lnbi9jb3JlJztcblxuaW1wb3J0IHsgSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2l0ZW0vaXRlbS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9pbmZpbml0ZS1zY3JvbGwuZGlyZWN0aXZlJztcbmltcG9ydCB7IExpc3RIZWxwZXIgfSBmcm9tICcuL2hlbHBlcnMvbGlzdC1oZWxwZXInO1xuaW1wb3J0IHsgQm91bmRhcnlDbGFzcyB9IGZyb20gJy4vbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlzdFN3aXBlQWN0aW9uIH0gZnJvbSAnLi9saXN0LXN3aXBlLWFjdGlvbi50eXBlJztcbmltcG9ydCB7IFZpcnR1YWxTY3JvbGxlclNldHRpbmdzIH0gZnJvbSAnLi9saXN0LXZpcnR1YWwtc2Nyb2xsLXNldHRpbmdzLnR5cGUnO1xuaW1wb3J0IHtcbiAgTGlzdEZvb3RlckRpcmVjdGl2ZSxcbiAgTGlzdEhlYWRlckRpcmVjdGl2ZSxcbiAgTGlzdEl0ZW1UZW1wbGF0ZURpcmVjdGl2ZSxcbiAgTGlzdFNlY3Rpb25IZWFkZXJEaXJlY3RpdmUsXG59IGZyb20gJy4vbGlzdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTG9hZE9uRGVtYW5kRXZlbnQsIExvYWRPbkRlbWFuZEV2ZW50RGF0YSB9IGZyb20gJy4vbGlzdC5ldmVudCc7XG5pbXBvcnQgeyBHcm91cEJ5UGlwZSB9IGZyb20gJy4vcGlwZXMvZ3JvdXAtYnkucGlwZSc7XG5cbmV4cG9ydCB0eXBlIExpc3RTaGFwZSA9ICdzcXVhcmUnIHwgJ3JvdW5kZWQnIHwgJ25vbmUnO1xuXG5jb25zdCBJTlRFUlZBTCA9IDQwMDtcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2tpcmJ5LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbTGlzdEhlbHBlciwgR3JvdXBCeVBpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICBAVmlld0NoaWxkKCdsaXN0JywgeyBzdGF0aWM6IHRydWUgfSkgbGlzdDogYW55O1xuICBAVmlld0NoaWxkKEluZmluaXRlU2Nyb2xsRGlyZWN0aXZlKSBzY3JvbGxEaXJlY3RpdmU6IEluZmluaXRlU2Nyb2xsRGlyZWN0aXZlO1xuXG4gIEBJbnB1dCgpXG4gIGl0ZW1zOiBhbnlbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIGdldEl0ZW1Db2xvcjogKGl0ZW06IGFueSkgPT4gVGhlbWVDb2xvcjtcblxuICBASW5wdXQoKSBnZXRTZWN0aW9uTmFtZTogKGl0ZW06IGFueSkgPT4gc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHRyYWNrQnk6IFRyYWNrQnlGdW5jdGlvbjxhbnk+O1xuXG4gIEBJbnB1dCgpIG5vTW9yZUl0ZW1zVGV4dDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHNob3dEaXZpZGVyID0gZmFsc2U7XG5cbiAgQElucHV0KCkgbWFya1NlbGVjdGVkUm93ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIERldGVybWluZSBvdXRsaW5lIHNoYXBlIG9mOlxuICAgKiAtIGxpc3QsIGlmIHtAbGluayAjaXNTZWN0aW9uc0VuYWJsZWR9IGlzIGBmYWxzZWBcbiAgICogLSBzZWN0aW9uLCBpZiB7QGxpbmsgI2lzU2VjdGlvbnNFbmFibGVkfSBpcyBgdHJ1ZWBcbiAgICpcbiAgICogYHNxdWFyZWAgbWVhbnMgKip3aXRob3V0Kiogcm91bmRlZCBjb3JuZXJzLCBgcm91bmRlZGAgbWVhbnMgKip3aXRoKiogcm91bmRlZCBjb3JuZXJzLiwgIGBub25lYCBtZWFucyAqKndpdGhvdXQqKiBwYWRkaW5nLCBib3JkZXIsIGJveC1zaGFkb3cgYW5kIGJhY2tncm91bmQuXG4gICAqL1xuICBASW5wdXQoKSBzaGFwZTogTGlzdFNoYXBlID0gJ3JvdW5kZWQnO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2hhcGUtcm91bmRlZCcpXG4gIHB1YmxpYyBnZXQgaXNTaGFwZVJvdW5kZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcGUgPT09ICdyb3VuZGVkJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2hhcGUtbm9uZScpXG4gIHB1YmxpYyBnZXQgaXNTaGFwZU5vbmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcGUgPT09ICdub25lJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXRlbS1zcGFjaW5nJylcbiAgQElucHV0KClcbiAgaGFzSXRlbVNwYWNpbmc6IGJvb2xlYW47XG5cbiAgQElucHV0KCkgdXNlVmlydHVhbFNjcm9sbCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHZpcnR1YWxTY3JvbGxWaWV3cG9ydEhlaWdodCA9IDUwMDtcblxuICBASW5wdXQoKSB2aXJ0dWFsU2Nyb2xsU2V0dGluZ3M6IFZpcnR1YWxTY3JvbGxlclNldHRpbmdzID0ge307XG5cbiAgQElucHV0KCkgdmlydHVhbFNjcm9sbFRpbWVvdXQgPSA1MDAwO1xuXG4gIF92aXJ0dWFsU2Nyb2xsRGF0YTogSURhdGFzb3VyY2UgPSB7XG4gICAgZ2V0OiAoaW5kZXgsIGNvdW50KSA9PiB0aGlzLmdldFZpcnR1YWxEYXRhc2V0KGluZGV4LCBjb3VudCksXG4gICAgc2V0dGluZ3M6IHtcbiAgICAgIG1pbkluZGV4OiB0aGlzLnZpcnR1YWxTY3JvbGxTZXR0aW5ncy5taW5JbmRleCB8fCAwLFxuICAgICAgc3RhcnRJbmRleDogdGhpcy52aXJ0dWFsU2Nyb2xsU2V0dGluZ3Muc3RhcnRJbmRleCB8fCAwLFxuICAgICAgYnVmZmVyU2l6ZTogdGhpcy52aXJ0dWFsU2Nyb2xsU2V0dGluZ3MuYnVmZmVyU2l6ZSB8fCAxMCxcbiAgICAgIC4uLnRoaXMudmlydHVhbFNjcm9sbFNldHRpbmdzLFxuICAgIH0sXG4gIH07XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRWaXJ0dWFsRGF0YXNldChpbmRleDogbnVtYmVyLCBjb3VudDogbnVtYmVyKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb25zdCBpdGVtU2xpY2UgPSB0aGlzLmdldEl0ZW1zU2xpY2UoaW5kZXgsIGNvdW50KTtcblxuICAgICAgICAvLyBJZiB3ZSByZXR1cm4gbGVzcyBpdGVtcyB0aGFuIGNvdW50LCB2aXJ0dWFsIHNjcm9sbCB3aWxsIGludGVycHJldGUgaXQgYXMgRU9GIGFuZCBzdG9wIGFza2luZyBmb3IgbW9yZVxuICAgICAgICBpZiAoaXRlbVNsaWNlLmxlbmd0aCA8IGNvdW50ICYmIHRoaXMuaXNMb2FkT25EZW1hbmRFbmFibGVkKSB7XG4gICAgICAgICAgbGV0IGVsYXBzZWRUaW1lID0gMDtcblxuICAgICAgICAgIC8qIEFzIHZpcnR1YWwgc2Nyb2xsIGZpeGVzIHRoZSB2aWV3cG9ydCBjYXVzaW5nIFNjcm9sbEVuZCB0byBub3QgYmUgZW1pdHRlZDsgZG8gaXQgbWFudWFsbHkgdG8gdHJpZ2dlciBsb2FkIG9uIGRlbWFuZCAqL1xuICAgICAgICAgIHRoaXMuc2Nyb2xsRGlyZWN0aXZlLnNjcm9sbEVuZC5lbWl0KCk7XG5cbiAgICAgICAgICBjb25zdCBwb2xsZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgICBlbGFwc2VkVGltZSArPSBJTlRFUlZBTDtcblxuICAgICAgICAgICAgaWYgKHRoaXMuX2lzTG9hZGluZykge1xuICAgICAgICAgICAgICAvLyBKdXN0IGEgZmFpbHNhZmUgaW4gY2FzZSB0aGlzLmlzTG9hZGluZyBmb3Igc29tZSByZWFzb24gaXMgbm90IHJlc2V0XG4gICAgICAgICAgICAgIGlmIChlbGFwc2VkVGltZSA+IHRoaXMudmlydHVhbFNjcm9sbFRpbWVvdXQpIHtcbiAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKHBvbGxlcik7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZShbXSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjbGVhckludGVydmFsKHBvbGxlcik7XG4gICAgICAgICAgICByZXNvbHZlKHRoaXMuZ2V0SXRlbXNTbGljZShpbmRleCwgY291bnQpKTtcbiAgICAgICAgICB9LCBJTlRFUlZBTCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzb2x2ZShpdGVtU2xpY2UpO1xuICAgICAgICB9XG4gICAgICB9LCBJTlRFUlZBTCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGdldEl0ZW1zU2xpY2UoaW5kZXg6IG51bWJlciwgY291bnQ6IG51bWJlcik6IGFueVtdIHtcbiAgICBjb25zdCBfaXRlbXMgPSB0aGlzLl9pc1NlY3Rpb25zRW5hYmxlZCA/IHRoaXMuX3ZpcnR1YWxHcm91cGVkSXRlbXMgOiB0aGlzLml0ZW1zO1xuICAgIHJldHVybiBfaXRlbXMuc2xpY2UoaW5kZXgsIGluZGV4ICsgY291bnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIGxvYWRPbkRlbWFuZCBldmVudCBzaG91bGQgYmUgZW1pdHRlZC5cbiAgICogV2lsbCBkZWZhdWx0IHRvIHRydWUgaWYgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIHN1YnNjcmliZXIgdG8gdGhlIGxvYWRPbkRlbWFuZCBldmVudFxuICAgKi9cbiAgQElucHV0KCkgaXNMb2FkT25EZW1hbmRFbmFibGVkOiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKSBsb2FkT25EZW1hbmQgPSBuZXcgRXZlbnRFbWl0dGVyPExvYWRPbkRlbWFuZEV2ZW50PigpO1xuXG4gIEBJbnB1dCgpIHN3aXBlQWN0aW9uczogTGlzdFN3aXBlQWN0aW9uW10gPSBbXTtcblxuICBAT3V0cHV0KCkgaXRlbVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oSXRlbUNvbXBvbmVudClcbiAga2lyYnlJdGVtczogSXRlbUNvbXBvbmVudFtdO1xuXG4gIEBDb250ZW50Q2hpbGQoTGlzdEhlYWRlckRpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKExpc3RTZWN0aW9uSGVhZGVyRGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIHNlY3Rpb25IZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKExpc3RGb290ZXJEaXJlY3RpdmUsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgZm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQENvbnRlbnRDaGlsZChMaXN0SXRlbVRlbXBsYXRlRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgaXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaGFzLXNlY3Rpb25zJykgX2lzU2VjdGlvbnNFbmFibGVkOiBib29sZWFuO1xuXG4gIF9pc1NlbGVjdGFibGU6IGJvb2xlYW47XG4gIF9pc0xvYWRpbmc6IGJvb2xlYW47XG4gIF9ncm91cGVkSXRlbXM6IGFueVtdO1xuICBfdmlydHVhbEdyb3VwZWRJdGVtczogYW55W107XG4gIF9zZWxlY3RlZEl0ZW06IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxpc3RIZWxwZXI6IExpc3RIZWxwZXIsIHByaXZhdGUgZ3JvdXBCeTogR3JvdXBCeVBpcGUpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5faXNTZWxlY3RhYmxlID0gdGhpcy5pdGVtU2VsZWN0Lm9ic2VydmVycy5sZW5ndGggPiAwO1xuXG4gICAgaWYgKHRoaXMuaXNMb2FkT25EZW1hbmRFbmFibGVkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaXNMb2FkT25EZW1hbmRFbmFibGVkID0gdGhpcy5sb2FkT25EZW1hbmQub2JzZXJ2ZXJzLmxlbmd0aCA+IDA7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pc1NlbGVjdGFibGUpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmtpcmJ5SXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgIGl0ZW0uc2VsZWN0YWJsZSA9IHRydWU7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5faXNTZWN0aW9uc0VuYWJsZWQgPSAhIXRoaXMuZ2V0U2VjdGlvbk5hbWU7XG4gICAgdGhpcy5fZ3JvdXBlZEl0ZW1zID0gdGhpcy5faXNTZWN0aW9uc0VuYWJsZWRcbiAgICAgID8gdGhpcy5ncm91cEJ5LnRyYW5zZm9ybSh0aGlzLml0ZW1zLCB0aGlzLmdldFNlY3Rpb25OYW1lKVxuICAgICAgOiBudWxsO1xuXG4gICAgdGhpcy5fdmlydHVhbEdyb3VwZWRJdGVtcyA9XG4gICAgICB0aGlzLnVzZVZpcnR1YWxTY3JvbGwgJiYgdGhpcy5fZ3JvdXBlZEl0ZW1zXG4gICAgICAgID8gdGhpcy5fZ3JvdXBlZEl0ZW1zLnJlZHVjZSgoYWNjdW11bGF0b3IsIGdyb3VwKSA9PiB7XG4gICAgICAgICAgICBhY2N1bXVsYXRvci5wdXNoKHsgaGVhZGluZ05hbWU6IGdyb3VwLm5hbWUgfSk7XG4gICAgICAgICAgICByZXR1cm4gYWNjdW11bGF0b3IuY29uY2F0KC4uLmdyb3VwLml0ZW1zKTtcbiAgICAgICAgICB9LCBbXSlcbiAgICAgICAgOiBudWxsO1xuICB9XG5cbiAgX29uTG9hZE9uRGVtYW5kKGV2ZW50PzogTG9hZE9uRGVtYW5kRXZlbnREYXRhKSB7XG4gICAgdGhpcy5saXN0SGVscGVyLm9uTG9hZE9uRGVtYW5kKHRoaXMsIGV2ZW50KTtcbiAgfVxuXG4gIGRlZmF1bHRUcmFja0J5KGluZGV4OiBudW1iZXIpOiBhbnkge1xuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIHNlY3Rpb25UcmFja0J5KF86IG51bWJlciwgc2VjdGlvbjogeyBuYW1lOiBzdHJpbmcgfSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHNlY3Rpb24ubmFtZTtcbiAgfVxuXG4gIG9uSXRlbVNlbGVjdChpdGVtOiBhbnkpIHtcbiAgICB0aGlzLl9zZWxlY3RlZEl0ZW0gPSBpdGVtO1xuICAgIHRoaXMuaXRlbVNlbGVjdC5lbWl0KHRoaXMuX3NlbGVjdGVkSXRlbSk7XG4gIH1cblxuICBvblN3aXBlQWN0aW9uU2VsZWN0KGFyZ3M6IGFueSk6IHZvaWQge1xuICAgIGFyZ3Muc3dpcGVBY3Rpb24ub25TZWxlY3RlZChhcmdzLml0ZW0pO1xuICAgIHRoaXMubGlzdC5jbG9zZVNsaWRpbmdJdGVtcygpO1xuICAgIGFyZ3MuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cblxuICBfZ2V0Qm91bmRhcnlDbGFzcyhpbmRleDogbnVtYmVyLCBzZWN0aW9uPzogYW55W10pOiBCb3VuZGFyeUNsYXNzIHtcbiAgICBsZXQgX2l0ZW1zID0gc2VjdGlvbiB8fCB0aGlzLml0ZW1zO1xuXG4gICAgaWYgKHRoaXMuX2lzU2VjdGlvbnNFbmFibGVkICYmIHRoaXMudXNlVmlydHVhbFNjcm9sbCkge1xuICAgICAgX2l0ZW1zID0gdGhpcy5fdmlydHVhbEdyb3VwZWRJdGVtcztcbiAgICB9XG5cbiAgICBpZiAoaW5kZXggPT09IDAgfHwgX2l0ZW1zW2luZGV4IC0gMV0/LmhlYWRpbmdOYW1lKSByZXR1cm4gdGhpcy5oZWFkZXJUZW1wbGF0ZSA/IG51bGwgOiAnZmlyc3QnO1xuXG4gICAgaWYgKGluZGV4ID09PSBfaXRlbXMubGVuZ3RoIC0gMSB8fCBfaXRlbXNbaW5kZXggKyAxXT8uaGVhZGluZ05hbWUpXG4gICAgICByZXR1cm4gdGhpcy5mb290ZXJUZW1wbGF0ZSA/IG51bGwgOiAnbGFzdCc7XG4gIH1cbn1cbiJdfQ==
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Rlc2lnbnN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvbGlzdC9saXN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxFQUNOLFdBQVcsRUFFWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUduRCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQix5QkFBeUIsRUFDekIsMEJBQTBCLEdBQzNCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBVXBELE1BQU0sT0FBTyxhQUFhO0lBNkd4QixZQUFvQixVQUFzQixFQUFVLE9BQW9CO1FBQXBELGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFhO1FBekd4RTs7V0FFRztRQUVILFVBQUssR0FBVSxFQUFFLENBQUM7UUFtQmxCOztXQUVHO1FBQ00sZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFN0I7O1dBRUc7UUFDTSxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUVqQzs7Ozs7O1dBTUc7UUFDTSxVQUFLLEdBQWMsU0FBUyxDQUFDO1FBc0J0Qzs7V0FFRztRQUNPLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFFL0Q7Ozs7V0FJRztRQUNNLGlCQUFZLEdBQXNCLEVBQUUsQ0FB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Ozs7WUE1S0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxZQUFZO2dCQUN0QixraUVBQW9DO2dCQUVwQyxTQUFTLEVBQUUsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDOzthQUNyQzs7OztZQW5CUSxVQUFVO1lBVVYsV0FBVzs7O21CQVdqQixTQUFTLFNBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs4QkFDbEMsU0FBUyxTQUFDLHVCQUF1QjtvQkFLakMsS0FBSzsyQkFHTCxLQUFLOzZCQUtMLEtBQUs7c0JBS0wsS0FBSzs4QkFLTCxLQUFLOzBCQUtMLEtBQUs7OEJBS0wsS0FBSztvQkFTTCxLQUFLOzZCQUVMLFdBQVcsU0FBQyxxQkFBcUI7MEJBS2pDLFdBQVcsU0FBQyxrQkFBa0I7NkJBSzlCLFdBQVcsU0FBQyxvQkFBb0IsY0FDaEMsS0FBSztvQ0FPTCxLQUFLOzJCQUtMLE1BQU07MkJBT04sS0FBSzt5QkFLTCxNQUFNO3lCQUVOLGVBQWUsU0FBQyxhQUFhOzZCQUc3QixZQUFZLFNBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7b0NBR3RFLFlBQVksU0FBQywwQkFBMEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTs2QkFHN0UsWUFBWSxTQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFOzJCQU90RSxZQUFZLFNBQUMseUJBQXlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7aUNBRzNFLFdBQVcsU0FBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFRyYWNrQnlGdW5jdGlvbixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVGhlbWVDb2xvciB9IGZyb20gJ0BraXJieWRlc2lnbi9jb3JlJztcblxuaW1wb3J0IHsgSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2l0ZW0vaXRlbS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9pbmZpbml0ZS1zY3JvbGwuZGlyZWN0aXZlJztcbmltcG9ydCB7IExpc3RIZWxwZXIgfSBmcm9tICcuL2hlbHBlcnMvbGlzdC1oZWxwZXInO1xuaW1wb3J0IHsgQm91bmRhcnlDbGFzcyB9IGZyb20gJy4vbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlzdFN3aXBlQWN0aW9uIH0gZnJvbSAnLi9saXN0LXN3aXBlLWFjdGlvbi50eXBlJztcbmltcG9ydCB7XG4gIExpc3RGb290ZXJEaXJlY3RpdmUsXG4gIExpc3RIZWFkZXJEaXJlY3RpdmUsXG4gIExpc3RJdGVtVGVtcGxhdGVEaXJlY3RpdmUsXG4gIExpc3RTZWN0aW9uSGVhZGVyRGlyZWN0aXZlLFxufSBmcm9tICcuL2xpc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IExvYWRPbkRlbWFuZEV2ZW50LCBMb2FkT25EZW1hbmRFdmVudERhdGEgfSBmcm9tICcuL2xpc3QuZXZlbnQnO1xuaW1wb3J0IHsgR3JvdXBCeVBpcGUgfSBmcm9tICcuL3BpcGVzL2dyb3VwLWJ5LnBpcGUnO1xuXG5leHBvcnQgdHlwZSBMaXN0U2hhcGUgPSAnc3F1YXJlJyB8ICdyb3VuZGVkJyB8ICdub25lJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna2lyYnktbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtMaXN0SGVscGVyLCBHcm91cEJ5UGlwZV0sXG59KVxuZXhwb3J0IGNsYXNzIExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gIEBWaWV3Q2hpbGQoJ2xpc3QnLCB7IHN0YXRpYzogdHJ1ZSB9KSBsaXN0OiBhbnk7XG4gIEBWaWV3Q2hpbGQoSW5maW5pdGVTY3JvbGxEaXJlY3RpdmUpIHNjcm9sbERpcmVjdGl2ZTogSW5maW5pdGVTY3JvbGxEaXJlY3RpdmU7XG5cbiAgLyoqXG4gICAqIFByb3ZpZGUgaXRlbXMgZm9yIHRoZSBsaXN0IHRvIHJlbmRlci4gSXRlbXMgbXVzdCBiZSBwcm92aWRlZCBpbiB0aGUgb3JkZXIgeW91IGV4cGVjdCB0aGVtIHRvIGJlIHJlbmRlcmVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgaXRlbXM6IGFueVtdID0gW107XG5cbiAgQElucHV0KCkgZ2V0SXRlbUNvbG9yOiAoaXRlbTogYW55KSA9PiBUaGVtZUNvbG9yO1xuXG4gIC8qKlxuICAgKiBDYWxsYmFjayB0byBkZXRlcm1pbmUgbmFtZSBvZiBzZWN0aW9uLiBTZWN0aW9ucyB3aWxsIGJlIG9yZGVyZWQgYWxwaGFiZXRpY2FsbHkuXG4gICAqL1xuICBASW5wdXQoKSBnZXRTZWN0aW9uTmFtZTogKGl0ZW06IGFueSkgPT4gc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDYWxsYmFjayB0aGF0IGRlZmluZXMgaG93IHRvIHRyYWNrIGNoYW5nZXMgZm9yIGl0ZW1zIGluIHRoZSBpdGVyYWJsZS5cbiAgICovXG4gIEBJbnB1dCgpIHRyYWNrQnk6IFRyYWNrQnlGdW5jdGlvbjxhbnk+O1xuXG4gIC8qKlxuICAgKiBUZXh0IHRvIGRpc3BsYXkgd2hlbiBubyBtb3JlIGl0ZW1zIGNhbiBiZSBsb2FkZWQgKHVzZWQgZm9yIFwib24gZGVtYW5kXCItbG9hZGluZykuXG4gICAqL1xuICBASW5wdXQoKSBub01vcmVJdGVtc1RleHQ6IHN0cmluZztcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiBkaXZpZGVycyAoYm90dG9tLWJvcmRlciBvbiBsaXN0IGl0ZW1zKSBzaG91bGQgYmUgc2hvd24gb3Igbm90LlxuICAgKi9cbiAgQElucHV0KCkgc2hvd0RpdmlkZXIgPSBmYWxzZTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiBsaXN0IHJvdyB0ZXh0IHNob3VsZCB0dXJuIGJvbGQgb24gc2VsZWN0aW9uXG4gICAqL1xuICBASW5wdXQoKSBtYXJrU2VsZWN0ZWRSb3cgPSBmYWxzZTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lIG91dGxpbmUgc2hhcGUgb2Y6XG4gICAqIC0gbGlzdCwgaWYge0BsaW5rICNpc1NlY3Rpb25zRW5hYmxlZH0gaXMgYGZhbHNlYFxuICAgKiAtIHNlY3Rpb24sIGlmIHtAbGluayAjaXNTZWN0aW9uc0VuYWJsZWR9IGlzIGB0cnVlYFxuICAgKlxuICAgKiBgc3F1YXJlYCBtZWFucyAqKndpdGhvdXQqKiByb3VuZGVkIGNvcm5lcnMsIGByb3VuZGVkYCBtZWFucyAqKndpdGgqKiByb3VuZGVkIGNvcm5lcnMuLCAgYG5vbmVgIG1lYW5zICoqd2l0aG91dCoqIHBhZGRpbmcsIGJvcmRlciwgYm94LXNoYWRvdyBhbmQgYmFja2dyb3VuZC5cbiAgICovXG4gIEBJbnB1dCgpIHNoYXBlOiBMaXN0U2hhcGUgPSAncm91bmRlZCc7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zaGFwZS1yb3VuZGVkJylcbiAgcHVibGljIGdldCBpc1NoYXBlUm91bmRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaGFwZSA9PT0gJ3JvdW5kZWQnO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zaGFwZS1ub25lJylcbiAgcHVibGljIGdldCBpc1NoYXBlTm9uZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaGFwZSA9PT0gJ25vbmUnO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pdGVtLXNwYWNpbmcnKVxuICBASW5wdXQoKVxuICBoYXNJdGVtU3BhY2luZzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiB0aGUgbG9hZE9uRGVtYW5kIGV2ZW50IHNob3VsZCBiZSBlbWl0dGVkLlxuICAgKiBXaWxsIGRlZmF1bHQgdG8gdHJ1ZSBpZiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgc3Vic2NyaWJlciB0byB0aGUgbG9hZE9uRGVtYW5kIGV2ZW50XG4gICAqL1xuICBASW5wdXQoKSBpc0xvYWRPbkRlbWFuZEVuYWJsZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVtaXR0aW5nIGV2ZW50IHdoZW4gbW9yZSBpdGVtcyBhcmUgdG8gYmUgbG9hZGVkLlxuICAgKi9cbiAgQE91dHB1dCgpIGxvYWRPbkRlbWFuZCA9IG5ldyBFdmVudEVtaXR0ZXI8TG9hZE9uRGVtYW5kRXZlbnQ+KCk7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgbGlzdCBpdGVtcyBzaG91bGQgaGF2ZSBzd2lwZSBhY3Rpb25zIG9yIG5vdFxuICAgKiAtIHRoZSBvcmRlciBvZiBzd2lwZSBhY3Rpb25zIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGVkZ2UgYWN0aW9ucyxcbiAgICogYXMgd2VsbCBhcyB0aGVpciBvcmRlciBvZiBhcHBlYXJhbmNlIG9uIHRoZSBzY3JlZW4uXG4gICAqL1xuICBASW5wdXQoKSBzd2lwZUFjdGlvbnM6IExpc3RTd2lwZUFjdGlvbltdID0gW107XG5cbiAgLyoqXG4gICAqIEVtaXR0aW5nIGV2ZW50IHdoZW4gYW4gaXRlbSBpcyBzZWxlY3RlZCAodGFwcGVkIG9uIG1vYmlsZSwgY2xpY2tlZCBvbiB3ZWIpXG4gICAqL1xuICBAT3V0cHV0KCkgaXRlbVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oSXRlbUNvbXBvbmVudClcbiAga2lyYnlJdGVtczogSXRlbUNvbXBvbmVudFtdO1xuXG4gIEBDb250ZW50Q2hpbGQoTGlzdEhlYWRlckRpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKExpc3RTZWN0aW9uSGVhZGVyRGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIHNlY3Rpb25IZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKExpc3RGb290ZXJEaXJlY3RpdmUsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgZm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgLyoqXG4gICAqIFRoZSBmaXJzdCBlbGVtZW50IHRoYXQgbWF0Y2hlcyBMaXN0SXRlbURpcmVjdGl2ZS5cbiAgICogQXMgYSBzdHJ1Y3R1cmFsIGRpcmVjdGl2ZSBpdCB1bmZvbGRzIGludG8gYSB0ZW1wbGF0ZS4gVGhpcyBpcyBhIHJlZmVyZW5jZSB0byB0aGF0LlxuICAgKi9cbiAgQENvbnRlbnRDaGlsZChMaXN0SXRlbVRlbXBsYXRlRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgaXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaGFzLXNlY3Rpb25zJykgX2lzU2VjdGlvbnNFbmFibGVkOiBib29sZWFuO1xuXG4gIF9pc1NlbGVjdGFibGU6IGJvb2xlYW47XG4gIF9pc0xvYWRpbmc6IGJvb2xlYW47XG4gIF9ncm91cGVkSXRlbXM6IGFueVtdO1xuICBfc2VsZWN0ZWRJdGVtOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsaXN0SGVscGVyOiBMaXN0SGVscGVyLCBwcml2YXRlIGdyb3VwQnk6IEdyb3VwQnlQaXBlKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuX2lzU2VsZWN0YWJsZSA9IHRoaXMuaXRlbVNlbGVjdC5vYnNlcnZlcnMubGVuZ3RoID4gMDtcblxuICAgIGlmICh0aGlzLmlzTG9hZE9uRGVtYW5kRW5hYmxlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmlzTG9hZE9uRGVtYW5kRW5hYmxlZCA9IHRoaXMubG9hZE9uRGVtYW5kLm9ic2VydmVycy5sZW5ndGggPiAwO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faXNTZWxlY3RhYmxlKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5raXJieUl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICBpdGVtLnNlbGVjdGFibGUgPSB0cnVlO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2lzU2VjdGlvbnNFbmFibGVkID0gISF0aGlzLmdldFNlY3Rpb25OYW1lO1xuICAgIHRoaXMuX2dyb3VwZWRJdGVtcyA9IHRoaXMuX2lzU2VjdGlvbnNFbmFibGVkXG4gICAgICA/IHRoaXMuZ3JvdXBCeS50cmFuc2Zvcm0odGhpcy5pdGVtcywgdGhpcy5nZXRTZWN0aW9uTmFtZSlcbiAgICAgIDogbnVsbDtcbiAgfVxuXG4gIF9vbkxvYWRPbkRlbWFuZChldmVudD86IExvYWRPbkRlbWFuZEV2ZW50RGF0YSkge1xuICAgIHRoaXMubGlzdEhlbHBlci5vbkxvYWRPbkRlbWFuZCh0aGlzLCBldmVudCk7XG4gIH1cblxuICBkZWZhdWx0VHJhY2tCeShpbmRleDogbnVtYmVyKTogYW55IHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBzZWN0aW9uVHJhY2tCeShfOiBudW1iZXIsIHNlY3Rpb246IHsgbmFtZTogc3RyaW5nIH0pOiBzdHJpbmcge1xuICAgIHJldHVybiBzZWN0aW9uLm5hbWU7XG4gIH1cblxuICBvbkl0ZW1TZWxlY3QoaXRlbTogYW55KSB7XG4gICAgdGhpcy5fc2VsZWN0ZWRJdGVtID0gaXRlbTtcbiAgICB0aGlzLml0ZW1TZWxlY3QuZW1pdCh0aGlzLl9zZWxlY3RlZEl0ZW0pO1xuICB9XG5cbiAgb25Td2lwZUFjdGlvblNlbGVjdChhcmdzOiBhbnkpOiB2b2lkIHtcbiAgICBhcmdzLnN3aXBlQWN0aW9uLm9uU2VsZWN0ZWQoYXJncy5pdGVtKTtcbiAgICB0aGlzLmxpc3QuY2xvc2VTbGlkaW5nSXRlbXMoKTtcbiAgICBhcmdzLmV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgX2dldEJvdW5kYXJ5Q2xhc3MoaW5kZXg6IG51bWJlciwgc2VjdGlvbj86IGFueVtdKTogQm91bmRhcnlDbGFzcyB7XG4gICAgbGV0IF9pdGVtcyA9IHNlY3Rpb24gfHwgdGhpcy5pdGVtcztcblxuICAgIGlmIChpbmRleCA9PT0gMCB8fCBfaXRlbXNbaW5kZXggLSAxXT8uaGVhZGluZ05hbWUpIHJldHVybiB0aGlzLmhlYWRlclRlbXBsYXRlID8gbnVsbCA6ICdmaXJzdCc7XG5cbiAgICBpZiAoaW5kZXggPT09IF9pdGVtcy5sZW5ndGggLSAxIHx8IF9pdGVtc1tpbmRleCArIDFdPy5oZWFkaW5nTmFtZSlcbiAgICAgIHJldHVybiB0aGlzLmZvb3RlclRlbXBsYXRlID8gbnVsbCA6ICdsYXN0JztcbiAgfVxufVxuIl19
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"ListShape":{"__symbolic":"interface"},"ListComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":38,"character":1},"arguments":[{"selector":"kirby-list","providers":[{"__symbolic":"reference","module":"./helpers/list-helper","name":"ListHelper","line":42,"character":14},{"__symbolic":"reference","module":"./pipes/group-by.pipe","name":"GroupByPipe","line":42,"character":26}],"template":"<ion-list\n #list\n kirbyInfiniteScroll\n (scrollEnd)=\"_onLoadOnDemand()\"\n [disabled]=\"!isLoadOnDemandEnabled\"\n class=\"list\"\n [class.has-header]=\"headerTemplate\"\n [class.has-footer]=\"footerTemplate\"\n [class.has-divider]=\"showDivider\"\n>\n <ion-list-header *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </ion-list-header>\n\n <div\n *ngIf=\"useVirtualScroll\"\n #viewport\n [style.height]=\"virtualScrollViewportHeight + 'px'\"\n class=\"viewport\"\n >\n <ng-container\n *ngTemplateOutlet=\"virtualItemsTemplate; context: { $implicit: _virtualScrollData }\"\n ></ng-container>\n </div>\n\n <ng-container *ngIf=\"!useVirtualScroll\">\n <ng-container\n *ngTemplateOutlet=\"\n _isSectionsEnabled ? groupedListTemplate : itemsTemplate;\n context: { $implicit: items }\n \"\n ></ng-container>\n </ng-container>\n\n <div *ngIf=\"footerTemplate\" class=\"footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n</ion-list>\n\n<p *ngIf=\"!isLoadOnDemandEnabled && noMoreItemsText\" class=\"no-more-items\">\n {{ noMoreItemsText }}\n</p>\n<div *ngIf=\"_isLoading\" class=\"loading\">\n <kirby-spinner></kirby-spinner>\n</div>\n\n<ng-template #groupedListTemplate>\n <ion-item-group *ngFor=\"let section of _groupedItems; trackBy: sectionTrackBy\">\n <ion-item-divider>\n <ng-container\n *ngTemplateOutlet=\"sectionHeaderTemplate; context: { $implicit: section.name }\"\n ></ng-container>\n </ion-item-divider>\n\n <div class=\"list-items\">\n <ng-container\n *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: section.items }\"\n ></ng-container>\n </div>\n </ion-item-group>\n</ng-template>\n\n<ng-template #itemsTemplate let-items>\n <kirby-list-item\n *ngFor=\"let item of items; let i = index; trackBy: trackBy || defaultTrackBy\"\n [item]=\"item\"\n [itemTemplate]=\"itemTemplate\"\n [swipeActions]=\"swipeActions\"\n [boundaryClass]=\"_getBoundaryClass(i, items)\"\n [isSelectable]=\"_isSelectable\"\n [getItemColor]=\"getItemColor\"\n [isSelected]=\"_isSelectable && item === _selectedItem\"\n (itemSelect)=\"onItemSelect($event)\"\n (swipeActionSelect)=\"onSwipeActionSelect($event)\"\n [class.is-single]=\"items.length === 1\"\n >\n </kirby-list-item>\n</ng-template>\n\n<ng-template #virtualItemsTemplate let-virtualScrollData>\n <div *uiScroll=\"let item of virtualScrollData; let i = index\">\n <div [class.item-wrapper]=\"!item.headingName\" [class.section-header]=\"item.headingName\">\n <ion-item-divider *ngIf=\"item.headingName\" class=\"virtual-group\">\n <ng-container\n *ngTemplateOutlet=\"sectionHeaderTemplate; context: { $implicit: item.headingName }\"\n ></ng-container>\n </ion-item-divider>\n <kirby-list-item\n *ngIf=\"!item.headingName\"\n [item]=\"item\"\n [itemTemplate]=\"itemTemplate\"\n [swipeActions]=\"swipeActions\"\n [boundaryClass]=\"_getBoundaryClass(i)\"\n [isSelectable]=\"_isSelectable\"\n [getItemColor]=\"getItemColor\"\n [isSelected]=\"_isSelectable && item === _selectedItem\"\n (itemSelect)=\"onItemSelect($event)\"\n (swipeActionSelect)=\"onSwipeActionSelect($event)\"\n >\n </kirby-list-item>\n </div>\n </div>\n</ng-template>\n","styles":[":host{display:block}.list{box-shadow:0 5px 10px -10px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);background:transparent;contain:inherit;padding:0}.viewport{overflow-y:auto}.item-wrapper{min-height:56px}ion-list-header{background-color:var(--kirby-white);border-bottom:1px solid var(--kirby-background-color);padding:0;text-transform:inherit;letter-spacing:inherit;font-weight:inherit;font-size:inherit;min-height:0;overflow:inherit}ion-item{--background:var(--kirby-white);--background-activated:var(--kirby-white-shade);--background-hover:var(--kirby-background-color);--background-focused:var(--kirby-background-color);--inner-border-width:0;--ion-safe-area-right:0;--min-height:56px;--padding-bottom:8px;--padding-end:16px;--padding-start:16px;--padding-top:8px;display:flex;font-size:14px;min-height:56px;overflow:visible;width:100%}ion-item-divider{font-weight:inherit}ion-item-sliding.item-sliding-active-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}ion-item-sliding.light{--kirby-item-background:var(--kirby-light);--kirby-item-background-activated:var(--kirby-light-shade);--kirby-item-background-focused:var(--kirby-light-shade);--kirby-item-background-hover:var(--kirby-light-tint)}ion-item-sliding.light ion-item{--background:var(--kirby-light);--color:var(--kirby-light-contrast);--background-activated:var(--kirby-light-shade);--background-focused:var(--kirby-light-shade);--background-hover:var(--kirby-light-tint)}ion-item-group{margin-bottom:24px}ion-item-group:last-of-type{margin-bottom:0}ion-item-divider{--inner-padding-end:0;--color:unset;background-color:transparent;border-color:transparent;min-height:0;padding:0 16px 8px}.footer{background-color:var(--kirby-white);border-top:1px solid var(--kirby-background-color);display:flex;align-items:center;justify-content:space-between;width:100%}.loading,.no-more-items{width:100%;padding:24px 0;text-align:center}.swipe-action{display:flex;color:var(--kirby-black);background-color:transparent}.swipe-action .primary{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}.swipe-action .secondary{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}.swipe-action .tertiary{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}.swipe-action .success{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}.swipe-action .warning{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}.swipe-action .danger{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}.swipe-action .light{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}.swipe-action .medium{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}.swipe-action .dark{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}.swipe-action ion-item-option{height:100%;display:inline-block;text-align:center}.swipe-action .item-content{display:inline-grid;min-width:70px;flex-direction:column}.swipe-action .item-content ion-label{--background:unset;--color:unset}ion-item-options[side=end]{border-bottom-width:0}:host-context(.has-sections) .list{box-shadow:none}:host-context(.has-sections) .list-items{box-shadow:0 5px 10px -10px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);border-radius:16px}:host-context(.has-sections) .virtual-group{margin-top:24px}:host-context(.has-sections) .section-header{overflow:hidden}:host-context(.has-sections) .footer{background-color:transparent;border-top:none}:host-context(.has-sections) ion-list-header{background-color:transparent;border-bottom:none}:host-context(.shape-rounded) .list,:host-context(.shape-rounded) .list-items{border-radius:16px}:host-context(.shape-rounded) ion-item-sliding.first,:host-context(.shape-rounded) ion-item.first,:host-context(.shape-rounded) ion-list-header{border-top-left-radius:16px;border-top-right-radius:16px;-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}:host-context(.shape-rounded):not(.has-sections) .has-header ion-item,:host-context(.shape-rounded):not(.has-sections) .has-header ion-item-sliding,:host-context(.shape-rounded) ion-item-sliding>ion-item{border-top-left-radius:0;border-top-right-radius:0}:host-context(.shape-rounded) .footer,:host-context(.shape-rounded) ion-item-sliding.last,:host-context(.shape-rounded) ion-item.last{border-bottom-left-radius:16px;border-bottom-right-radius:16px;-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item,:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item-sliding,:host-context(.shape-rounded) ion-item-sliding>ion-item{border-bottom-left-radius:0;border-bottom-right-radius:0}:host-context(.shape-none) .list,:host-context(.shape-none) .list-items{box-shadow:none;border-radius:unset}:host-context(.shape-none) .list ion-item,:host-context(.shape-none) .list ion-item-sliding{--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;--inner-padding-start:0;--inner-padding-end:0;--inner-padding-top:0;--inner-padding-bottom:0;--background:none;--background-activated:none;--background-hover:none;--background-focused:none;overflow:visible}:host-context(.item-spacing) .list kirby-list-item{margin-bottom:16px}:host-context(.item-spacing) .list kirby-list-item:last-child,:host-context(.item-spacing) .list kirby-list-item>ion-item{margin-bottom:0}"]}]}],"members":{"list":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":45,"character":3},"arguments":["list",{"static":true}]}]}],"scrollDirective":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":46,"character":3},"arguments":[{"__symbolic":"reference","module":"./directives/infinite-scroll.directive","name":"InfiniteScrollDirective","line":46,"character":13}]}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"getItemColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":3}}]}],"getSectionName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":53,"character":3}}]}],"trackBy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":55,"character":3}}]}],"noMoreItemsText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":3}}]}],"showDivider":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":59,"character":3}}]}],"markSelectedRow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":3}}]}],"shape":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"isShapeRounded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":72,"character":3},"arguments":["class.shape-rounded"]}]}],"isShapeNone":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":77,"character":3},"arguments":["class.shape-none"]}]}],"hasItemSpacing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":82,"character":3},"arguments":["class.item-spacing"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":83,"character":3}}]}],"useVirtualScroll":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":86,"character":3}}]}],"virtualScrollViewportHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":88,"character":3}}]}],"virtualScrollSettings":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":90,"character":3}}]}],"virtualScrollTimeout":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":92,"character":3}}]}],"getVirtualDataset":[{"__symbolic":"method"}],"getItemsSlice":[{"__symbolic":"method"}],"isLoadOnDemandEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":147,"character":3}}]}],"loadOnDemand":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":149,"character":3}}]}],"swipeActions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":151,"character":3}}]}],"itemSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":153,"character":3}}]}],"kirbyItems":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":155,"character":3},"arguments":[{"__symbolic":"reference","module":"../item/item.component","name":"ItemComponent","line":155,"character":19}]}]}],"headerTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":158,"character":3},"arguments":[{"__symbolic":"reference","module":"./list.directive","name":"ListHeaderDirective","line":158,"character":16},{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":158,"character":60}}]}]}],"sectionHeaderTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":161,"character":3},"arguments":[{"__symbolic":"reference","module":"./list.directive","name":"ListSectionHeaderDirective","line":161,"character":16},{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":161,"character":67}}]}]}],"footerTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":164,"character":3},"arguments":[{"__symbolic":"reference","module":"./list.directive","name":"ListFooterDirective","line":164,"character":16},{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":164,"character":60}}]}]}],"itemTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":167,"character":3},"arguments":[{"__symbolic":"reference","module":"./list.directive","name":"ListItemTemplateDirective","line":167,"character":16},{"static":true,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":167,"character":65}}]}]}],"_isSectionsEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":170,"character":3},"arguments":["class.has-sections"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./helpers/list-helper","name":"ListHelper","line":178,"character":34},{"__symbolic":"reference","module":"./pipes/group-by.pipe","name":"GroupByPipe","line":178,"character":63}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"_onLoadOnDemand":[{"__symbolic":"method"}],"defaultTrackBy":[{"__symbolic":"method"}],"sectionTrackBy":[{"__symbolic":"method"}],"onItemSelect":[{"__symbolic":"method"}],"onSwipeActionSelect":[{"__symbolic":"method"}],"_getBoundaryClass":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"ListShape":{"__symbolic":"interface"},"ListComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":35,"character":1},"arguments":[{"selector":"kirby-list","providers":[{"__symbolic":"reference","module":"./helpers/list-helper","name":"ListHelper","line":39,"character":14},{"__symbolic":"reference","module":"./pipes/group-by.pipe","name":"GroupByPipe","line":39,"character":26}],"template":"<ion-list\n #list\n kirbyInfiniteScroll\n (scrollEnd)=\"_onLoadOnDemand()\"\n [disabled]=\"!isLoadOnDemandEnabled\"\n class=\"list\"\n [class.has-header]=\"headerTemplate\"\n [class.has-footer]=\"footerTemplate\"\n [class.has-divider]=\"showDivider\"\n>\n <ion-list-header *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </ion-list-header>\n\n <ng-container\n *ngTemplateOutlet=\"\n _isSectionsEnabled ? groupedListTemplate : itemsTemplate;\n context: { $implicit: items }\n \"\n ></ng-container>\n\n <div *ngIf=\"footerTemplate\" class=\"footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n</ion-list>\n\n<p *ngIf=\"!isLoadOnDemandEnabled && noMoreItemsText\" class=\"no-more-items\">\n {{ noMoreItemsText }}\n</p>\n<div *ngIf=\"_isLoading\" class=\"loading\">\n <kirby-spinner></kirby-spinner>\n</div>\n\n<ng-template #groupedListTemplate>\n <ion-item-group *ngFor=\"let section of _groupedItems; trackBy: sectionTrackBy\">\n <ion-item-divider>\n <ng-container\n *ngTemplateOutlet=\"sectionHeaderTemplate; context: { $implicit: section.name }\"\n ></ng-container>\n </ion-item-divider>\n\n <div class=\"list-items\">\n <ng-container\n *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: section.items }\"\n ></ng-container>\n </div>\n </ion-item-group>\n</ng-template>\n\n<ng-template #itemsTemplate let-items>\n <kirby-list-item\n *ngFor=\"let item of items; let i = index; trackBy: trackBy || defaultTrackBy\"\n [item]=\"item\"\n [itemTemplate]=\"itemTemplate\"\n [swipeActions]=\"swipeActions\"\n [boundaryClass]=\"_getBoundaryClass(i, items)\"\n [isSelectable]=\"_isSelectable\"\n [getItemColor]=\"getItemColor\"\n [isSelected]=\"_isSelectable && item === _selectedItem\"\n (itemSelect)=\"onItemSelect($event)\"\n (swipeActionSelect)=\"onSwipeActionSelect($event)\"\n [class.is-single]=\"items.length === 1\"\n >\n </kirby-list-item>\n</ng-template>\n","styles":[":host{display:block}.list{box-shadow:0 5px 10px -10px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);background:transparent;contain:inherit;padding:0}ion-list-header{background-color:var(--kirby-white);border-bottom:1px solid var(--kirby-background-color);padding:0;text-transform:inherit;letter-spacing:inherit;font-weight:inherit;font-size:inherit;min-height:0;overflow:inherit}ion-item{--background:var(--kirby-white);--background-activated:var(--kirby-white-shade);--background-hover:var(--kirby-background-color);--background-focused:var(--kirby-background-color);--inner-border-width:0;--ion-safe-area-right:0;--min-height:56px;--padding-bottom:8px;--padding-end:16px;--padding-start:16px;--padding-top:8px;display:flex;font-size:14px;min-height:56px;overflow:visible;width:100%}ion-item-divider{font-weight:inherit}ion-item-sliding.item-sliding-active-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0)}ion-item-sliding.light{--kirby-item-background:var(--kirby-light);--kirby-item-background-activated:var(--kirby-light-shade);--kirby-item-background-focused:var(--kirby-light-shade);--kirby-item-background-hover:var(--kirby-light-tint)}ion-item-sliding.light ion-item{--background:var(--kirby-light);--color:var(--kirby-light-contrast);--background-activated:var(--kirby-light-shade);--background-focused:var(--kirby-light-shade);--background-hover:var(--kirby-light-tint)}ion-item-group{margin-bottom:24px}ion-item-group:last-of-type{margin-bottom:0}ion-item-divider{--inner-padding-end:0;--color:unset;background-color:transparent;border-color:transparent;min-height:0;padding:0 16px 8px}.footer{background-color:var(--kirby-white);border-top:1px solid var(--kirby-background-color);display:flex;align-items:center;justify-content:space-between;width:100%}.loading,.no-more-items{width:100%;padding:24px 0;text-align:center}.swipe-action{display:flex;color:var(--kirby-black);background-color:transparent}.swipe-action .primary{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}.swipe-action .secondary{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}.swipe-action .tertiary{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}.swipe-action .success{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}.swipe-action .warning{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}.swipe-action .danger{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}.swipe-action .light{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}.swipe-action .medium{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}.swipe-action .dark{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}.swipe-action ion-item-option{height:100%;display:inline-block;text-align:center}.swipe-action .item-content{display:inline-grid;min-width:70px;flex-direction:column}.swipe-action .item-content ion-label{--background:unset;--color:unset}ion-item-options[side=end]{border-bottom-width:0}:host-context(.has-sections) .list{box-shadow:none}:host-context(.has-sections) .list-items{box-shadow:0 5px 10px -10px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);border-radius:16px}:host-context(.has-sections) .footer{background-color:transparent;border-top:none}:host-context(.has-sections) ion-list-header{background-color:transparent;border-bottom:none}:host-context(.shape-rounded) .list,:host-context(.shape-rounded) .list-items{border-radius:16px}:host-context(.shape-rounded) ion-item-sliding.first,:host-context(.shape-rounded) ion-item.first,:host-context(.shape-rounded) ion-list-header{border-top-left-radius:16px;border-top-right-radius:16px;-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}:host-context(.shape-rounded):not(.has-sections) .has-header ion-item,:host-context(.shape-rounded):not(.has-sections) .has-header ion-item-sliding,:host-context(.shape-rounded) ion-item-sliding>ion-item{border-top-left-radius:0;border-top-right-radius:0}:host-context(.shape-rounded) .footer,:host-context(.shape-rounded) ion-item-sliding.last,:host-context(.shape-rounded) ion-item.last{border-bottom-left-radius:16px;border-bottom-right-radius:16px;-webkit-mask-image:-webkit-radial-gradient(#fff,#000)}:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item,:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item-sliding,:host-context(.shape-rounded) ion-item-sliding>ion-item{border-bottom-left-radius:0;border-bottom-right-radius:0}:host-context(.shape-none) .list,:host-context(.shape-none) .list-items{box-shadow:none;border-radius:unset}:host-context(.shape-none) .list ion-item,:host-context(.shape-none) .list ion-item-sliding{--padding-start:0;--padding-end:0;--padding-top:0;--padding-bottom:0;--inner-padding-start:0;--inner-padding-end:0;--inner-padding-top:0;--inner-padding-bottom:0;--background:none;--background-activated:none;--background-hover:none;--background-focused:none;overflow:visible}:host-context(.item-spacing) .list kirby-list-item{margin-bottom:16px}:host-context(.item-spacing) .list kirby-list-item:last-child,:host-context(.item-spacing) .list kirby-list-item>ion-item{margin-bottom:0}"]}]}],"members":{"list":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":42,"character":3},"arguments":["list",{"static":true}]}]}],"scrollDirective":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":43,"character":3},"arguments":[{"__symbolic":"reference","module":"./directives/infinite-scroll.directive","name":"InfiniteScrollDirective","line":43,"character":13}]}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":48,"character":3}}]}],"getItemColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":3}}]}],"getSectionName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":56,"character":3}}]}],"trackBy":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":3}}]}],"noMoreItemsText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3}}]}],"showDivider":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":71,"character":3}}]}],"markSelectedRow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":76,"character":3}}]}],"shape":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":85,"character":3}}]}],"isShapeRounded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":87,"character":3},"arguments":["class.shape-rounded"]}]}],"isShapeNone":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":92,"character":3},"arguments":["class.shape-none"]}]}],"hasItemSpacing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":97,"character":3},"arguments":["class.item-spacing"]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":98,"character":3}}]}],"isLoadOnDemandEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":105,"character":3}}]}],"loadOnDemand":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":110,"character":3}}]}],"swipeActions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":117,"character":3}}]}],"itemSelect":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":122,"character":3}}]}],"kirbyItems":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":124,"character":3},"arguments":[{"__symbolic":"reference","module":"../item/item.component","name":"ItemComponent","line":124,"character":19}]}]}],"headerTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":127,"character":3},"arguments":[{"__symbolic":"reference","module":"./list.directive","name":"ListHeaderDirective","line":127,"character":16},{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":127,"character":60}}]}]}],"sectionHeaderTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":130,"character":3},"arguments":[{"__symbolic":"reference","module":"./list.directive","name":"ListSectionHeaderDirective","line":130,"character":16},{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":130,"character":67}}]}]}],"footerTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":133,"character":3},"arguments":[{"__symbolic":"reference","module":"./list.directive","name":"ListFooterDirective","line":133,"character":16},{"static":false,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":133,"character":60}}]}]}],"itemTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":140,"character":3},"arguments":[{"__symbolic":"reference","module":"./list.directive","name":"ListItemTemplateDirective","line":140,"character":16},{"static":true,"read":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":140,"character":65}}]}]}],"_isSectionsEnabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":143,"character":3},"arguments":["class.has-sections"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"./helpers/list-helper","name":"ListHelper","line":150,"character":34},{"__symbolic":"reference","module":"./pipes/group-by.pipe","name":"GroupByPipe","line":150,"character":63}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"_onLoadOnDemand":[{"__symbolic":"method"}],"defaultTrackBy":[{"__symbolic":"method"}],"sectionTrackBy":[{"__symbolic":"method"}],"onItemSelect":[{"__symbolic":"method"}],"onSwipeActionSelect":[{"__symbolic":"method"}],"_getBoundaryClass":[{"__symbolic":"method"}]}}}}]
@@ -1,11 +1,11 @@
1
1
  import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { IonicModule } from '@ionic/angular';
4
- import { UiScrollModule } from 'ngx-ui-scroll';
5
4
  import { IconModule } from '../icon/icon.module';
6
5
  import { SpinnerModule } from '../spinner/spinner.module';
7
6
  import { InfiniteScrollDirective } from './directives/infinite-scroll.directive';
8
7
  import { ListItemColorDirective } from './directives/list-item-color.directive';
8
+ import { ListExperimentalComponent } from './list-experimental/list-experimental.component';
9
9
  import { ListHeaderComponent } from './list-header/list-header.component';
10
10
  import { ListItemComponent } from './list-item/list-item.component';
11
11
  import { ListSectionHeaderComponent } from './list-section-header/list-section-header.component';
@@ -22,6 +22,7 @@ const exportedDeclarations = [
22
22
  ListHeaderDirective,
23
23
  ListHeaderComponent,
24
24
  ListFooterDirective,
25
+ ListExperimentalComponent,
25
26
  ];
26
27
  const declarations = [
27
28
  ...exportedDeclarations,
@@ -34,9 +35,9 @@ export class ListModule {
34
35
  ListModule.decorators = [
35
36
  { type: NgModule, args: [{
36
37
  declarations: declarations,
37
- imports: [CommonModule, IconModule, IonicModule, SpinnerModule, UiScrollModule],
38
+ imports: [CommonModule, IconModule, IonicModule, SpinnerModule],
38
39
  exports: exportedDeclarations,
39
40
  providers: [],
40
41
  },] }
41
42
  ];
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Rlc2lnbnN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvbGlzdC9saXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLHlCQUF5QixFQUN6QiwwQkFBMEIsR0FDM0IsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQixNQUFNLG9CQUFvQixHQUFHO0lBQzNCLGFBQWE7SUFDYixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLHFCQUFxQjtJQUNyQix5QkFBeUI7SUFDekIsMEJBQTBCO0lBQzFCLDBCQUEwQjtJQUMxQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLG1CQUFtQjtDQUNwQixDQUFDO0FBRUYsTUFBTSxZQUFZLEdBQUc7SUFDbkIsR0FBRyxvQkFBb0I7SUFDdkIsc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2QixpQkFBaUI7Q0FDbEIsQ0FBQztBQVFGLE1BQU0sT0FBTyxVQUFVOzs7WUFOdEIsUUFBUSxTQUFDO2dCQUNSLFlBQVksRUFBRSxZQUFZO2dCQUMxQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsY0FBYyxDQUFDO2dCQUMvRSxPQUFPLEVBQUUsb0JBQW9CO2dCQUM3QixTQUFTLEVBQUUsRUFBRTthQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IFVpU2Nyb2xsTW9kdWxlIH0gZnJvbSAnbmd4LXVpLXNjcm9sbCc7XG5cbmltcG9ydCB7IEljb25Nb2R1bGUgfSBmcm9tICcuLi9pY29uL2ljb24ubW9kdWxlJztcbmltcG9ydCB7IFNwaW5uZXJNb2R1bGUgfSBmcm9tICcuLi9zcGlubmVyL3NwaW5uZXIubW9kdWxlJztcblxuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBMaXN0SXRlbUNvbG9yRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2xpc3QtaXRlbS1jb2xvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTGlzdEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1oZWFkZXIvbGlzdC1oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IExpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LWl0ZW0vbGlzdC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaXN0U2VjdGlvbkhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1zZWN0aW9uLWhlYWRlci9saXN0LXNlY3Rpb24taGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBMaXN0RmxleEl0ZW1EaXJlY3RpdmUsXG4gIExpc3RGb290ZXJEaXJlY3RpdmUsXG4gIExpc3RIZWFkZXJEaXJlY3RpdmUsXG4gIExpc3RJdGVtRGlyZWN0aXZlLFxuICBMaXN0SXRlbVRlbXBsYXRlRGlyZWN0aXZlLFxuICBMaXN0U2VjdGlvbkhlYWRlckRpcmVjdGl2ZSxcbn0gZnJvbSAnLi9saXN0LmRpcmVjdGl2ZSc7XG5cbmNvbnN0IGV4cG9ydGVkRGVjbGFyYXRpb25zID0gW1xuICBMaXN0Q29tcG9uZW50LFxuICBMaXN0SXRlbUNvbXBvbmVudCxcbiAgTGlzdEl0ZW1EaXJlY3RpdmUsXG4gIExpc3RGbGV4SXRlbURpcmVjdGl2ZSxcbiAgTGlzdEl0ZW1UZW1wbGF0ZURpcmVjdGl2ZSxcbiAgTGlzdFNlY3Rpb25IZWFkZXJDb21wb25lbnQsXG4gIExpc3RTZWN0aW9uSGVhZGVyRGlyZWN0aXZlLFxuICBMaXN0SGVhZGVyRGlyZWN0aXZlLFxuICBMaXN0SGVhZGVyQ29tcG9uZW50LFxuICBMaXN0Rm9vdGVyRGlyZWN0aXZlLFxuXTtcblxuY29uc3QgZGVjbGFyYXRpb25zID0gW1xuICAuLi5leHBvcnRlZERlY2xhcmF0aW9ucyxcbiAgTGlzdEl0ZW1Db2xvckRpcmVjdGl2ZSxcbiAgSW5maW5pdGVTY3JvbGxEaXJlY3RpdmUsXG4gIExpc3RJdGVtQ29tcG9uZW50LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBkZWNsYXJhdGlvbnMsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEljb25Nb2R1bGUsIElvbmljTW9kdWxlLCBTcGlubmVyTW9kdWxlLCBVaVNjcm9sbE1vZHVsZV0sXG4gIGV4cG9ydHM6IGV4cG9ydGVkRGVjbGFyYXRpb25zLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBMaXN0TW9kdWxlIHt9XG4iXX0=
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Rlc2lnbnN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvbGlzdC9saXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNoRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQix5QkFBeUIsRUFDekIsMEJBQTBCLEdBQzNCLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsTUFBTSxvQkFBb0IsR0FBRztJQUMzQixhQUFhO0lBQ2IsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixxQkFBcUI7SUFDckIseUJBQXlCO0lBQ3pCLDBCQUEwQjtJQUMxQiwwQkFBMEI7SUFDMUIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIseUJBQXlCO0NBQzFCLENBQUM7QUFFRixNQUFNLFlBQVksR0FBRztJQUNuQixHQUFHLG9CQUFvQjtJQUN2QixzQkFBc0I7SUFDdEIsdUJBQXVCO0lBQ3ZCLGlCQUFpQjtDQUNsQixDQUFDO0FBUUYsTUFBTSxPQUFPLFVBQVU7OztZQU50QixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLFlBQVk7Z0JBQzFCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQztnQkFDL0QsT0FBTyxFQUFFLG9CQUFvQjtnQkFDN0IsU0FBUyxFQUFFLEVBQUU7YUFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSW9uaWNNb2R1bGUgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5cbmltcG9ydCB7IEljb25Nb2R1bGUgfSBmcm9tICcuLi9pY29uL2ljb24ubW9kdWxlJztcbmltcG9ydCB7IFNwaW5uZXJNb2R1bGUgfSBmcm9tICcuLi9zcGlubmVyL3NwaW5uZXIubW9kdWxlJztcblxuaW1wb3J0IHsgSW5maW5pdGVTY3JvbGxEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBMaXN0SXRlbUNvbG9yRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2xpc3QtaXRlbS1jb2xvci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTGlzdEV4cGVyaW1lbnRhbENvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1leHBlcmltZW50YWwvbGlzdC1leHBlcmltZW50YWwuY29tcG9uZW50JztcbmltcG9ydCB7IExpc3RIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2xpc3QtaGVhZGVyL2xpc3QtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaXN0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlzdFNlY3Rpb25IZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2xpc3Qtc2VjdGlvbi1oZWFkZXIvbGlzdC1zZWN0aW9uLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlzdENvbXBvbmVudCB9IGZyb20gJy4vbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgTGlzdEZsZXhJdGVtRGlyZWN0aXZlLFxuICBMaXN0Rm9vdGVyRGlyZWN0aXZlLFxuICBMaXN0SGVhZGVyRGlyZWN0aXZlLFxuICBMaXN0SXRlbURpcmVjdGl2ZSxcbiAgTGlzdEl0ZW1UZW1wbGF0ZURpcmVjdGl2ZSxcbiAgTGlzdFNlY3Rpb25IZWFkZXJEaXJlY3RpdmUsXG59IGZyb20gJy4vbGlzdC5kaXJlY3RpdmUnO1xuXG5jb25zdCBleHBvcnRlZERlY2xhcmF0aW9ucyA9IFtcbiAgTGlzdENvbXBvbmVudCxcbiAgTGlzdEl0ZW1Db21wb25lbnQsXG4gIExpc3RJdGVtRGlyZWN0aXZlLFxuICBMaXN0RmxleEl0ZW1EaXJlY3RpdmUsXG4gIExpc3RJdGVtVGVtcGxhdGVEaXJlY3RpdmUsXG4gIExpc3RTZWN0aW9uSGVhZGVyQ29tcG9uZW50LFxuICBMaXN0U2VjdGlvbkhlYWRlckRpcmVjdGl2ZSxcbiAgTGlzdEhlYWRlckRpcmVjdGl2ZSxcbiAgTGlzdEhlYWRlckNvbXBvbmVudCxcbiAgTGlzdEZvb3RlckRpcmVjdGl2ZSxcbiAgTGlzdEV4cGVyaW1lbnRhbENvbXBvbmVudCxcbl07XG5cbmNvbnN0IGRlY2xhcmF0aW9ucyA9IFtcbiAgLi4uZXhwb3J0ZWREZWNsYXJhdGlvbnMsXG4gIExpc3RJdGVtQ29sb3JEaXJlY3RpdmUsXG4gIEluZmluaXRlU2Nyb2xsRGlyZWN0aXZlLFxuICBMaXN0SXRlbUNvbXBvbmVudCxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogZGVjbGFyYXRpb25zLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uTW9kdWxlLCBJb25pY01vZHVsZSwgU3Bpbm5lck1vZHVsZV0sXG4gIGV4cG9ydHM6IGV4cG9ydGVkRGVjbGFyYXRpb25zLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBMaXN0TW9kdWxlIHt9XG4iXX0=
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"ListModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":43,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","module":"./list.component","name":"ListComponent","line":24,"character":2},{"__symbolic":"reference","module":"./list-item/list-item.component","name":"ListItemComponent","line":25,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListItemDirective","line":26,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListFlexItemDirective","line":27,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListItemTemplateDirective","line":28,"character":2},{"__symbolic":"reference","module":"./list-section-header/list-section-header.component","name":"ListSectionHeaderComponent","line":29,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListSectionHeaderDirective","line":30,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListHeaderDirective","line":31,"character":2},{"__symbolic":"reference","module":"./list-header/list-header.component","name":"ListHeaderComponent","line":32,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListFooterDirective","line":33,"character":2},{"__symbolic":"reference","module":"./directives/list-item-color.directive","name":"ListItemColorDirective","line":38,"character":2},{"__symbolic":"reference","module":"./directives/infinite-scroll.directive","name":"InfiniteScrollDirective","line":39,"character":2},{"__symbolic":"reference","module":"./list-item/list-item.component","name":"ListItemComponent","line":40,"character":2}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":45,"character":12},{"__symbolic":"reference","module":"../icon/icon.module","name":"IconModule","line":45,"character":26},{"__symbolic":"reference","module":"@ionic/angular","name":"IonicModule","line":45,"character":38},{"__symbolic":"reference","module":"../spinner/spinner.module","name":"SpinnerModule","line":45,"character":51},{"__symbolic":"reference","module":"ngx-ui-scroll","name":"UiScrollModule","line":45,"character":66}],"exports":[{"__symbolic":"reference","module":"./list.component","name":"ListComponent","line":24,"character":2},{"__symbolic":"reference","module":"./list-item/list-item.component","name":"ListItemComponent","line":25,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListItemDirective","line":26,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListFlexItemDirective","line":27,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListItemTemplateDirective","line":28,"character":2},{"__symbolic":"reference","module":"./list-section-header/list-section-header.component","name":"ListSectionHeaderComponent","line":29,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListSectionHeaderDirective","line":30,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListHeaderDirective","line":31,"character":2},{"__symbolic":"reference","module":"./list-header/list-header.component","name":"ListHeaderComponent","line":32,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListFooterDirective","line":33,"character":2}],"providers":[]}]}]}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"ListModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":44,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","module":"./list.component","name":"ListComponent","line":24,"character":2},{"__symbolic":"reference","module":"./list-item/list-item.component","name":"ListItemComponent","line":25,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListItemDirective","line":26,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListFlexItemDirective","line":27,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListItemTemplateDirective","line":28,"character":2},{"__symbolic":"reference","module":"./list-section-header/list-section-header.component","name":"ListSectionHeaderComponent","line":29,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListSectionHeaderDirective","line":30,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListHeaderDirective","line":31,"character":2},{"__symbolic":"reference","module":"./list-header/list-header.component","name":"ListHeaderComponent","line":32,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListFooterDirective","line":33,"character":2},{"__symbolic":"reference","module":"./list-experimental/list-experimental.component","name":"ListExperimentalComponent","line":34,"character":2},{"__symbolic":"reference","module":"./directives/list-item-color.directive","name":"ListItemColorDirective","line":39,"character":2},{"__symbolic":"reference","module":"./directives/infinite-scroll.directive","name":"InfiniteScrollDirective","line":40,"character":2},{"__symbolic":"reference","module":"./list-item/list-item.component","name":"ListItemComponent","line":41,"character":2}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":46,"character":12},{"__symbolic":"reference","module":"../icon/icon.module","name":"IconModule","line":46,"character":26},{"__symbolic":"reference","module":"@ionic/angular","name":"IonicModule","line":46,"character":38},{"__symbolic":"reference","module":"../spinner/spinner.module","name":"SpinnerModule","line":46,"character":51}],"exports":[{"__symbolic":"reference","module":"./list.component","name":"ListComponent","line":24,"character":2},{"__symbolic":"reference","module":"./list-item/list-item.component","name":"ListItemComponent","line":25,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListItemDirective","line":26,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListFlexItemDirective","line":27,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListItemTemplateDirective","line":28,"character":2},{"__symbolic":"reference","module":"./list-section-header/list-section-header.component","name":"ListSectionHeaderComponent","line":29,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListSectionHeaderDirective","line":30,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListHeaderDirective","line":31,"character":2},{"__symbolic":"reference","module":"./list-header/list-header.component","name":"ListHeaderComponent","line":32,"character":2},{"__symbolic":"reference","module":"./list.directive","name":"ListFooterDirective","line":33,"character":2},{"__symbolic":"reference","module":"./list-experimental/list-experimental.component","name":"ListExperimentalComponent","line":34,"character":2}],"providers":[]}]}]}}}]
@@ -0,0 +1,35 @@
1
+ import { Directive, ElementRef, HostBinding, HostListener, Optional } from '@angular/core';
2
+ import { CardComponent } from '../../components/card/card.component';
3
+ export class ElementAsButtonDirective {
4
+ constructor(card, clickableElement) {
5
+ this.card = card;
6
+ this.clickableElement = clickableElement;
7
+ this.role = 'button';
8
+ this.tabindex = 0;
9
+ }
10
+ ngOnInit() {
11
+ if (this.card) {
12
+ this.card.flat = false;
13
+ }
14
+ }
15
+ _onKeydownHandler(event) {
16
+ this.clickableElement.nativeElement.click(event);
17
+ }
18
+ }
19
+ ElementAsButtonDirective.decorators = [
20
+ { type: Directive, args: [{
21
+ // tslint:disable-next-line
22
+ selector: 'kirby-card[click]',
23
+ },] }
24
+ ];
25
+ /** @nocollapse */
26
+ ElementAsButtonDirective.ctorParameters = () => [
27
+ { type: CardComponent, decorators: [{ type: Optional }] },
28
+ { type: ElementRef }
29
+ ];
30
+ ElementAsButtonDirective.propDecorators = {
31
+ role: [{ type: HostBinding, args: ['attr.role',] }],
32
+ tabindex: [{ type: HostBinding, args: ['attr.tabindex',] }],
33
+ _onKeydownHandler: [{ type: HostListener, args: ['keydown.space', ['$event'],] }, { type: HostListener, args: ['keydown.enter', ['$event'],] }]
34
+ };
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1hcy1idXR0b24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kZXNpZ25zeXN0ZW0vc3JjL2xpYi9kaXJlY3RpdmVzL2VsZW1lbnQtYXMtYnV0dG9uL2VsZW1lbnQtYXMtYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFVLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFNckUsTUFBTSxPQUFPLHdCQUF3QjtJQUluQyxZQUFnQyxJQUFtQixFQUFVLGdCQUE0QjtRQUF6RCxTQUFJLEdBQUosSUFBSSxDQUFlO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFZO1FBSC9ELFNBQUksR0FBVyxRQUFRLENBQUM7UUFDcEIsYUFBUSxHQUFXLENBQUMsQ0FBQztJQUV5QyxDQUFDO0lBRTdGLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBSUQsaUJBQWlCLENBQUMsS0FBb0I7UUFDcEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkQsQ0FBQzs7O1lBcEJGLFNBQVMsU0FBQztnQkFDVCwyQkFBMkI7Z0JBQzNCLFFBQVEsRUFBRSxtQkFBbUI7YUFDOUI7Ozs7WUFMUSxhQUFhLHVCQVVQLFFBQVE7WUFaSCxVQUFVOzs7bUJBUzNCLFdBQVcsU0FBQyxXQUFXO3VCQUN2QixXQUFXLFNBQUMsZUFBZTtnQ0FVM0IsWUFBWSxTQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxjQUN4QyxZQUFZLFNBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENhcmRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2NhcmQvY2FyZC5jb21wb25lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gIHNlbGVjdG9yOiAna2lyYnktY2FyZFtjbGlja10nLFxufSlcbmV4cG9ydCBjbGFzcyBFbGVtZW50QXNCdXR0b25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpIHJvbGU6IHN0cmluZyA9ICdidXR0b24nO1xuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKSB0YWJpbmRleDogbnVtYmVyID0gMDtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcml2YXRlIGNhcmQ6IENhcmRDb21wb25lbnQsIHByaXZhdGUgY2xpY2thYmxlRWxlbWVudDogRWxlbWVudFJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYXJkKSB7XG4gICAgICB0aGlzLmNhcmQuZmxhdCA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uc3BhY2UnLCBbJyRldmVudCddKVxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVudGVyJywgWyckZXZlbnQnXSlcbiAgX29uS2V5ZG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICB0aGlzLmNsaWNrYWJsZUVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGljayhldmVudCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"ElementAsButtonDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":4,"character":1},"arguments":[{"selector":"kirby-card[click]"}]}],"members":{"role":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":9,"character":3},"arguments":["attr.role"]}]}],"tabindex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostBinding","line":10,"character":3},"arguments":["attr.tabindex"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":12,"character":15}}],null],"parameters":[{"__symbolic":"reference","module":"../../components/card/card.component","name":"CardComponent","line":12,"character":40},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":12,"character":81}]}],"ngOnInit":[{"__symbolic":"method"}],"_onKeydownHandler":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":20,"character":3},"arguments":["keydown.space",["$event"]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":21,"character":3},"arguments":["keydown.enter",["$event"]]}]}]}}}}]