@kirbydesign/designsystem 5.2.2 → 5.4.1

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 (163) hide show
  1. package/bundles/kirbydesign-designsystem-testing-base.umd.js +1 -0
  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-testing-jasmine.umd.js.map +1 -1
  6. package/bundles/kirbydesign-designsystem-testing-jasmine.umd.min.js.map +1 -1
  7. package/bundles/kirbydesign-designsystem-testing-jest.umd.js.map +1 -1
  8. package/bundles/kirbydesign-designsystem-testing-jest.umd.min.js.map +1 -1
  9. package/bundles/kirbydesign-designsystem.umd.js +95 -72
  10. package/bundles/kirbydesign-designsystem.umd.js.map +1 -1
  11. package/bundles/kirbydesign-designsystem.umd.min.js +1 -1
  12. package/bundles/kirbydesign-designsystem.umd.min.js.map +1 -1
  13. package/esm2015/lib/components/avatar/avatar.component.js +1 -1
  14. package/esm2015/lib/components/button/button.component.js +1 -1
  15. package/esm2015/lib/components/calendar/calendar.component.js +2 -2
  16. package/esm2015/lib/components/card/card-header/card-header.component.js +1 -1
  17. package/esm2015/lib/components/card/card-header/card-header.component.metadata.json +1 -1
  18. package/esm2015/lib/components/chart/chart-js/chart-js.service.js +38 -26
  19. package/esm2015/lib/components/chart/chart-js/chart-js.service.metadata.json +1 -1
  20. package/esm2015/lib/components/chart/chart-js/chartjs-plugin-marker/chartjs-plugin-marker.js +1 -1
  21. package/esm2015/lib/components/chart/chart.component.js +1 -1
  22. package/esm2015/lib/components/chart/chart.component.metadata.json +1 -1
  23. package/esm2015/lib/components/chart/chart.types.js +1 -1
  24. package/esm2015/lib/components/chart/chart.types.metadata.json +1 -1
  25. package/esm2015/lib/components/chart-deprecated/chart-deprecated.component.js +3 -3
  26. package/esm2015/lib/components/chart-deprecated/options/areaspline.js +1 -1
  27. package/esm2015/lib/components/chart-deprecated/options/timeseries.js +1 -1
  28. package/esm2015/lib/components/dropdown/dropdown.component.js +2 -2
  29. package/esm2015/lib/components/dropdown/dropdown.component.metadata.json +1 -1
  30. package/esm2015/lib/components/fab-sheet/fab-sheet.component.js +4 -3
  31. package/esm2015/lib/components/fab-sheet/fab-sheet.component.metadata.json +1 -1
  32. package/esm2015/lib/components/flag/flag.component.js +4 -6
  33. package/esm2015/lib/components/flag/flag.component.metadata.json +1 -1
  34. package/esm2015/lib/components/form-field/form-field.component.js +1 -1
  35. package/esm2015/lib/components/form-field/form-field.component.metadata.json +1 -1
  36. package/esm2015/lib/components/form-field/input/input.component.js +2 -2
  37. package/esm2015/lib/components/form-field/input/input.component.metadata.json +1 -1
  38. package/esm2015/lib/components/form-field/input-counter/input-counter.component.js +2 -3
  39. package/esm2015/lib/components/form-field/input-counter/input-counter.component.metadata.json +1 -1
  40. package/esm2015/lib/components/form-field/textarea/textarea.component.js +1 -1
  41. package/esm2015/lib/components/form-field/textarea/textarea.component.metadata.json +1 -1
  42. package/esm2015/lib/components/icon/icon.component.js +2 -2
  43. package/esm2015/lib/components/icon/icon.component.metadata.json +1 -1
  44. package/esm2015/lib/components/item/item.component.js +1 -1
  45. package/esm2015/lib/components/list/list-item/list-item.component.js +1 -1
  46. package/esm2015/lib/components/list/list-item/list-item.component.metadata.json +1 -1
  47. package/esm2015/lib/components/list/list-section-header/list-section-header.component.js +2 -3
  48. package/esm2015/lib/components/list/list-section-header/list-section-header.component.metadata.json +1 -1
  49. package/esm2015/lib/components/list/list.component.js +1 -1
  50. package/esm2015/lib/components/list/list.component.metadata.json +1 -1
  51. package/esm2015/lib/components/modal/action-sheet/action-sheet.component.js +1 -1
  52. package/esm2015/lib/components/modal/action-sheet/action-sheet.component.metadata.json +1 -1
  53. package/esm2015/lib/components/modal/footer/modal-footer.component.js +1 -1
  54. package/esm2015/lib/components/modal/footer/modal-footer.component.metadata.json +1 -1
  55. package/esm2015/lib/components/modal/modal-wrapper/modal-wrapper.component.js +2 -2
  56. package/esm2015/lib/components/modal/modal-wrapper/modal-wrapper.component.metadata.json +1 -1
  57. package/esm2015/lib/components/modal/services/modal-navigation.service.js +2 -4
  58. package/esm2015/lib/components/page/page.component.js +5 -13
  59. package/esm2015/lib/components/page/page.component.metadata.json +1 -1
  60. package/esm2015/lib/components/popover/popover.component.js +16 -18
  61. package/esm2015/lib/components/popover/popover.component.metadata.json +1 -1
  62. package/esm2015/lib/components/radio/radio.component.js +1 -1
  63. package/esm2015/lib/components/range/range.component.js +1 -1
  64. package/esm2015/lib/components/range/range.component.metadata.json +1 -1
  65. package/esm2015/lib/components/reorder-list/reorder-list.component.js +3 -3
  66. package/esm2015/lib/components/reorder-list/reorder-list.component.metadata.json +1 -1
  67. package/esm2015/lib/components/segmented-control/segmented-control.component.js +10 -2
  68. package/esm2015/lib/components/segmented-control/segmented-control.component.metadata.json +1 -1
  69. package/esm2015/lib/components/slide-button/slide-button.component.js +1 -1
  70. package/esm2015/lib/components/slide-button/slide-button.component.metadata.json +1 -1
  71. package/esm2015/lib/components/stock-chart-deprecated/options/stock-chart-deprecated-options.js +1 -1
  72. package/esm2015/testing-base/lib/components/mock.accordion-item.component.js +1 -1
  73. package/esm2015/testing-base/lib/components/mock.action-sheet.component.js +1 -1
  74. package/esm2015/testing-base/lib/components/mock.app.component.js +1 -1
  75. package/esm2015/testing-base/lib/components/mock.avatar.component.js +2 -2
  76. package/esm2015/testing-base/lib/components/mock.button.component.js +2 -2
  77. package/esm2015/testing-base/lib/components/mock.calendar.component.js +2 -1
  78. package/esm2015/testing-base/lib/components/mock.calendar.component.metadata.json +1 -1
  79. package/esm2015/testing-base/lib/components/mock.card-footer.component.js +1 -1
  80. package/esm2015/testing-base/lib/components/mock.card-header.component.js +1 -1
  81. package/esm2015/testing-base/lib/components/mock.card.component.js +1 -1
  82. package/esm2015/testing-base/lib/components/mock.chart-deprecated.component.js +1 -1
  83. package/esm2015/testing-base/lib/components/mock.chart.component.js +1 -1
  84. package/esm2015/testing-base/lib/components/mock.chart.component.metadata.json +1 -1
  85. package/esm2015/testing-base/lib/components/mock.checkbox.component.js +1 -1
  86. package/esm2015/testing-base/lib/components/mock.chip.component.js +1 -1
  87. package/esm2015/testing-base/lib/components/mock.divider.component.js +1 -1
  88. package/esm2015/testing-base/lib/components/mock.dropdown.component.js +2 -2
  89. package/esm2015/testing-base/lib/components/mock.empty-state.component.js +1 -1
  90. package/esm2015/testing-base/lib/components/mock.fab-sheet.component.js +1 -1
  91. package/esm2015/testing-base/lib/components/mock.flag.component.js +1 -1
  92. package/esm2015/testing-base/lib/components/mock.form-field-message.component.js +1 -1
  93. package/esm2015/testing-base/lib/components/mock.form-field.component.js +1 -1
  94. package/esm2015/testing-base/lib/components/mock.grid.component.js +1 -1
  95. package/esm2015/testing-base/lib/components/mock.icon.component.js +2 -2
  96. package/esm2015/testing-base/lib/components/mock.input-counter.component.js +1 -1
  97. package/esm2015/testing-base/lib/components/mock.input.component.js +2 -2
  98. package/esm2015/testing-base/lib/components/mock.item-group.component.js +1 -1
  99. package/esm2015/testing-base/lib/components/mock.item-sliding.component.js +1 -1
  100. package/esm2015/testing-base/lib/components/mock.item.component.js +2 -2
  101. package/esm2015/testing-base/lib/components/mock.label.component.js +1 -1
  102. package/esm2015/testing-base/lib/components/mock.list-experimental.component.js +1 -1
  103. package/esm2015/testing-base/lib/components/mock.list-header.component.js +1 -1
  104. package/esm2015/testing-base/lib/components/mock.list-item.component.js +1 -1
  105. package/esm2015/testing-base/lib/components/mock.list-section-header.component.js +1 -1
  106. package/esm2015/testing-base/lib/components/mock.list.component.js +1 -1
  107. package/esm2015/testing-base/lib/components/mock.loading-overlay.component.js +1 -1
  108. package/esm2015/testing-base/lib/components/mock.modal-footer.component.js +1 -1
  109. package/esm2015/testing-base/lib/components/mock.page-footer.component.js +1 -1
  110. package/esm2015/testing-base/lib/components/mock.page.component.js +1 -1
  111. package/esm2015/testing-base/lib/components/mock.popover.component.js +2 -2
  112. package/esm2015/testing-base/lib/components/mock.progress-circle.component.js +1 -1
  113. package/esm2015/testing-base/lib/components/mock.radio-group.component.js +1 -1
  114. package/esm2015/testing-base/lib/components/mock.radio.component.js +1 -1
  115. package/esm2015/testing-base/lib/components/mock.range.component.js +1 -1
  116. package/esm2015/testing-base/lib/components/mock.reorder-list.component.js +1 -1
  117. package/esm2015/testing-base/lib/components/mock.router-outlet.component.js +1 -1
  118. package/esm2015/testing-base/lib/components/mock.section-header.component.js +1 -1
  119. package/esm2015/testing-base/lib/components/mock.segmented-control.component.js +2 -2
  120. package/esm2015/testing-base/lib/components/mock.slide-button.component.js +1 -1
  121. package/esm2015/testing-base/lib/components/mock.spinner.component.js +1 -1
  122. package/esm2015/testing-base/lib/components/mock.tab-button.component.js +1 -1
  123. package/esm2015/testing-base/lib/components/mock.tabs.component.js +1 -1
  124. package/esm2015/testing-base/lib/components/mock.textarea.component.js +1 -1
  125. package/esm2015/testing-base/lib/components/mock.toggle-button.component.js +1 -1
  126. package/esm2015/testing-base/lib/components/mock.toggle.component.js +1 -1
  127. package/esm2015/testing-base/lib/mock-components.js +1 -1
  128. package/esm2015/testing-jasmine/lib/mock-providers.js +1 -1
  129. package/esm2015/testing-jest/lib/mock-providers.js +1 -1
  130. package/fesm2015/kirbydesign-designsystem-testing-base.js +1 -0
  131. package/fesm2015/kirbydesign-designsystem-testing-base.js.map +1 -1
  132. package/fesm2015/kirbydesign-designsystem-testing-jasmine.js.map +1 -1
  133. package/fesm2015/kirbydesign-designsystem-testing-jest.js.map +1 -1
  134. package/fesm2015/kirbydesign-designsystem.js +88 -83
  135. package/fesm2015/kirbydesign-designsystem.js.map +1 -1
  136. package/icons/svg/more.svg +5 -7
  137. package/kirbydesign-designsystem.metadata.json +1 -1
  138. package/lib/components/avatar/avatar.component.d.ts +2 -2
  139. package/lib/components/button/button.component.d.ts +2 -2
  140. package/lib/components/chart/chart-js/chart-js.service.d.ts +4 -3
  141. package/lib/components/chart/chart.component.d.ts +3 -3
  142. package/lib/components/chart/chart.types.d.ts +1 -0
  143. package/lib/components/dropdown/dropdown.component.d.ts +2 -2
  144. package/lib/components/form-field/input/input.component.d.ts +1 -1
  145. package/lib/components/form-field/input-counter/input-counter.component.d.ts +2 -2
  146. package/lib/components/icon/icon.component.d.ts +1 -1
  147. package/lib/components/item/item.component.d.ts +1 -1
  148. package/lib/components/popover/popover.component.d.ts +2 -3
  149. package/lib/components/segmented-control/segmented-control.component.d.ts +4 -1
  150. package/package.json +2 -2
  151. package/polyfills/intersection-observer-polyfill-loader.js +12 -12
  152. package/polyfills/resize-observer-polyfill-loader.js +1 -1
  153. package/testing-base/kirbydesign-designsystem-testing-base.metadata.json +1 -1
  154. package/testing-base/lib/components/mock.avatar.component.d.ts +1 -1
  155. package/testing-base/lib/components/mock.button.component.d.ts +1 -1
  156. package/testing-base/lib/components/mock.calendar.component.d.ts +1 -0
  157. package/testing-base/lib/components/mock.chart.component.d.ts +2 -2
  158. package/testing-base/lib/components/mock.dropdown.component.d.ts +1 -1
  159. package/testing-base/lib/components/mock.icon.component.d.ts +1 -1
  160. package/testing-base/lib/components/mock.input.component.d.ts +1 -1
  161. package/testing-base/lib/components/mock.item.component.d.ts +1 -1
  162. package/testing-base/lib/components/mock.popover.component.d.ts +1 -1
  163. package/testing-base/lib/components/mock.segmented-control.component.d.ts +1 -1
@@ -74,7 +74,7 @@ ActionSheetComponent.decorators = [
74
74
  { type: Component, args: [{
75
75
  selector: 'kirby-action-sheet',
76
76
  template: "<kirby-card>\n <kirby-card-header *ngIf=\"header\" [title]=\"header\" [isTitleBold]=\"true\" [subtitle]=\"subheader\">\n </kirby-card-header>\n <button\n kirby-button\n expand=\"block\"\n size=\"lg\"\n attentionLevel=\"4\"\n (click)=\"onItemSelect(item)\"\n *ngFor=\"let item of items\"\n >\n {{ item.text }}\n </button>\n</kirby-card>\n<button\n *ngIf=\"!hideCancel\"\n kirby-button\n class=\"cancel-btn\"\n size=\"lg\"\n attentionLevel=\"2\"\n (click)=\"onCancel()\"\n>\n {{ cancelButtonText }}\n</button>\n",
77
- styles: [":host{--kirby_internal_margin_horizontal_default:32px;--kirby_internal_margin_horizontal_total:calc(2 * var(--kirby-action-sheet-margin-horizontal, var(--kirby_internal_margin_horizontal_default)))}@media (max-width:320px){:host{--kirby_internal_margin_horizontal_default:16px}}:host{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;margin:0 auto;width:calc(100vw - var(--kirby_internal_margin_horizontal_total));max-width:calc(375px - var(--kirby_internal_margin_horizontal_total))}kirby-card{align-self:stretch;pointer-events:auto;box-shadow:0 20px 30px -15px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08)}kirby-card button[kirby-button]{margin:0;border-radius:0}kirby-card button[kirby-button]:not(:focus){border-top:1px solid var(--kirby-background-color)}.cancel-btn{font-weight:700;margin-top:16px;margin-bottom:24px;pointer-events:auto;box-shadow:0 20px 30px -15px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08)}"]
77
+ styles: [":host{--kirby-internal-margin-horizontal-default:32px;--kirby-internal-margin-horizontal-total:calc(2 * var(--kirby-action-sheet-margin-horizontal, var(--kirby-internal-margin-horizontal-default)));display:flex;flex-direction:column;align-items:center;justify-content:flex-end;margin:0 auto;width:calc(100vw - var(--kirby-internal-margin-horizontal-total));max-width:calc(375px - var(--kirby-internal-margin-horizontal-total))}@media (max-width:320px){:host{--kirby-internal-margin-horizontal-default:16px}}kirby-card{align-self:stretch;pointer-events:auto;box-shadow:0 20px 30px -15px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08)}kirby-card button[kirby-button]{margin:0;border-radius:0}kirby-card button[kirby-button]:not(:focus){border-top:1px solid var(--kirby-background-color)}.cancel-btn{font-weight:700;margin-top:16px;margin-bottom:24px;pointer-events:auto;box-shadow:0 20px 30px -15px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08)}"]
78
78
  },] }
79
79
  ];
80
80
  ActionSheetComponent.propDecorators = {
@@ -355,9 +355,7 @@ class ModalNavigationService {
355
355
  return routePathsWithoutChildSegments;
356
356
  }
357
357
  findChildRouteForUrl(url, routes) {
358
- const moduleRelativePaths = this.getRoutePaths(routes, [''])
359
- .sort()
360
- .reverse(); // Ensure child paths are evaluated first
358
+ const moduleRelativePaths = this.getRoutePaths(routes, ['']).sort().reverse(); // Ensure child paths are evaluated first
361
359
  let matchedChildRoute = moduleRelativePaths.find((path) => url.endsWith(path));
362
360
  if (!matchedChildRoute) {
363
361
  // No static child route found matching current route - look for child route with url params:
@@ -826,7 +824,7 @@ IconComponent.decorators = [
826
824
  template: "<ion-icon [src]=\"icon?.svg\"></ion-icon>\n",
827
825
  // tslint:disable-next-line: no-host-metadata-property
828
826
  host: { '[class.kirby-icon]': 'true' },
829
- styles: [":host{display:inline-flex;align-items:center;justify-content:center;font-size:var(--kirby-icon-font-size,24px);margin-left:var(--kirby-icon-margin-left,unset);margin-right:var(--kirby-icon-margin-right,unset)}:host svg path{fill:currentColor;stroke:currentColor}:host(.xs){--kirby-icon-font-size:16px}:host(.sm){--kirby-icon-font-size:24px}:host(.md){--kirby-icon-font-size:32px}:host(.lg){--kirby-icon-font-size:56px}:host(.primary){color:var(--kirby-primary)}:host(.secondary){color:var(--kirby-secondary)}:host(.tertiary){color:var(--kirby-tertiary)}:host(.success){color:var(--kirby-success)}:host(.warning){color:var(--kirby-warning)}:host(.danger){color:var(--kirby-danger)}:host(.light){color:var(--kirby-light)}:host(.medium){color:var(--kirby-medium)}:host(.dark){color:var(--kirby-dark)}:host-context(kirby-item)[slot=start]{margin-inline-end:8px}:host-context(kirby-item)[slot=end]{margin-inline-start:8px}"]
827
+ styles: [":host{display:inline-flex;align-items:center;justify-content:center;font-size:var(--kirby-icon-font-size,24px);margin-left:var(--kirby-icon-margin-left,unset);margin-right:var(--kirby-icon-margin-right,unset)}:host svg path{fill:currentcolor;stroke:currentcolor}:host(.xs){--kirby-icon-font-size:16px}:host(.sm){--kirby-icon-font-size:24px}:host(.md){--kirby-icon-font-size:32px}:host(.lg){--kirby-icon-font-size:56px}:host(.primary){color:var(--kirby-primary)}:host(.secondary){color:var(--kirby-secondary)}:host(.tertiary){color:var(--kirby-tertiary)}:host(.success){color:var(--kirby-success)}:host(.warning){color:var(--kirby-warning)}:host(.danger){color:var(--kirby-danger)}:host(.light){color:var(--kirby-light)}:host(.medium){color:var(--kirby-medium)}:host(.dark){color:var(--kirby-dark)}:host-context(kirby-item)[slot=start]{margin-inline-end:8px}:host-context(kirby-item)[slot=end]{margin-inline-start:8px}"]
830
828
  },] }
831
829
  ];
832
830
  /** @nocollapse */
@@ -1421,7 +1419,7 @@ ModalWrapperComponent.decorators = [
1421
1419
  selector: 'kirby-modal-wrapper',
1422
1420
  template: "<ion-header (touchstart)=\"onHeaderTouchStart($event)\">\n <ion-toolbar>\n <ion-title>{{ config.title }}</ion-title>\n <ion-buttons slot=\"start\" *ngIf=\"config.flavor === 'drawer'\">\n <ng-container *ngTemplateOutlet=\"closeButton; context: { icon: 'arrow-down' }\"></ng-container>\n </ion-buttons>\n <ion-buttons slot=\"end\" *ngIf=\"config.flavor === 'modal'\">\n <ng-container *ngTemplateOutlet=\"closeButton; context: { icon: 'close' }\"></ng-container>\n </ion-buttons>\n <ion-buttons slot=\"end\" *ngIf=\"config.flavor === 'drawer' && config.drawerSupplementaryAction\">\n <ng-container\n *ngTemplateOutlet=\"supplementaryButton; context: { btn: config.drawerSupplementaryAction }\"\n ></ng-container>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n\n<ion-content [scrollEvents]=\"true\">\n <ng-container\n *ngComponentOutlet=\"config.component; injector: componentPropsInjector\"\n ></ng-container>\n <router-outlet\n name=\"kirbyModalWrapperOutlet\"\n [style.visibility]=\"config.modalRoute ? 'visible' : 'hidden'\"\n ></router-outlet>\n</ion-content>\n\n<ng-template #closeButton let-icon=\"icon\">\n <button kirby-button attentionLevel=\"4\" size=\"sm\" (click)=\"close()\">\n <kirby-icon [name]=\"icon\"></kirby-icon>\n </button>\n</ng-template>\n\n<ng-template #supplementaryButton let-btn=\"btn\">\n <button kirby-button attentionLevel=\"2\" size=\"sm\" (click)=\"btn.action($event)\">\n <kirby-icon [name]=\"btn.iconName\"></kirby-icon>\n </button>\n</ng-template>\n",
1423
1421
  providers: [{ provide: Modal, useExisting: ModalWrapperComponent }],
1424
- styles: ["@media (min-width:721px){:host-context(ion-modal:not(.kirby-modal-full-height)){padding-top:0;position:relative;contain:inherit;min-height:min(var(--min-height),var(--vh100) - var(--kirby-modal-padding-top,0))}:host-context(ion-modal:not(.kirby-modal-full-height)) ion-content{contain:content;max-height:calc(var(--vh100) - var(--kirby-modal-padding-top, 0px) - var(--header-height) - var(--footer-height))}:host-context(ion-modal:not(.kirby-modal-full-height)) ion-content::part(scroll){height:\"100%\";position:relative}:host-context(ion-modal:not(.kirby-modal-full-height)).drawer ion-content::part(scroll){transition:padding-bottom .15s ease-out}:host-context(ion-modal:not(.kirby-modal-full-height)).drawer.keyboard-visible ion-content::part(scroll){transition:padding-bottom .25s ease-out 1ms}}:host-context(ion-modal:not(.kirby-modal-full-height)).drawer{padding-top:0;position:relative;contain:inherit;min-height:min(var(--min-height),var(--vh100) - var(--kirby-modal-padding-top,0))}:host-context(ion-modal:not(.kirby-modal-full-height)).drawer ion-content{contain:content;max-height:calc(var(--vh100) - var(--kirby-modal-padding-top, 0px) - var(--header-height) - var(--footer-height))}:host-context(ion-modal:not(.kirby-modal-full-height)).drawer ion-content::part(scroll){height:\"100%\";position:relative}:host-context(ion-modal:not(.kirby-modal-full-height)).drawer.drawer ion-content::part(scroll){transition:padding-bottom .15s ease-out}:host-context(ion-modal:not(.kirby-modal-full-height)).drawer.drawer.keyboard-visible ion-content::part(scroll){transition:padding-bottom .25s ease-out 1ms}:host{--vh100:var(--vh,1vh) * 100;--header-height:0px;--footer-height:0px}:host.drawer ion-header ion-toolbar:first-of-type{padding-top:0}ion-header ion-toolbar{--padding-start:16px;--padding-end:16px;--padding-bottom:16px;--padding-top:16px;--border-width:0;--background:transparent;--color:var(--kirby-modal-color,var(--kirby-black))}ion-header ion-toolbar button{color:var(--color)}@media (min-width:721px){ion-header ion-toolbar{padding-top:8px}}:host-context(ion-modal.modal-card:not(.kirby-drawer)) ion-header ion-toolbar:first-of-type{padding-top:var(--kirby-safe-area-top,0)}@media (min-width:721px){:host-context(ion-modal.modal-card:not(.kirby-drawer)) ion-header ion-toolbar:first-of-type{padding-top:8px}}ion-title{box-sizing:border-box;padding-inline-start:calc(48px + var(--padding-start));padding-inline-end:calc(48px + var(--padding-end));font-size:22px;font-weight:700}:host(.drawer) ion-title{font-size:18px}ion-content{--background:transparent;--color:var(--kirby-modal-color,var(--kirby-black));display:flex;flex-direction:column;--padding-top:24px;--padding-bottom:24px;--padding-start:16px;--padding-end:16px}ion-content ::ng-deep>*{box-sizing:border-box;display:block}@media (min-width:721px){ion-content{--padding-start:56px;--padding-end:56px}}"]
1422
+ styles: ["ion-header ion-toolbar{--padding-start:16px;--padding-end:16px;--padding-bottom:16px;--padding-top:16px;--border-width:0;--background:transparent;--color:var(--kirby-modal-color,var(--kirby-black))}ion-header ion-toolbar button{color:var(--color)}@media (min-width:721px){ion-header ion-toolbar{padding-top:8px}}:host{--vh100:var(--vh,1vh) * 100;--header-height:0px;--footer-height:0px}:host.drawer ion-header ion-toolbar:first-of-type{padding-top:0}@media (min-width:721px){:host-context(ion-modal:not(.kirby-modal-full-height)){padding-top:0;position:relative;contain:inherit;min-height:min(var(--min-height),var(--vh100) - var(--kirby-modal-padding-top,0))}:host-context(ion-modal:not(.kirby-modal-full-height)) ion-content{contain:content;max-height:calc(var(--vh100) - var(--kirby-modal-padding-top, 0px) - var(--header-height) - var(--footer-height))}:host-context(ion-modal:not(.kirby-modal-full-height)) ion-content::part(scroll){height:\"100%\";position:relative}:host-context(ion-modal:not(.kirby-modal-full-height)).drawer ion-content::part(scroll){transition:padding-bottom .15s ease-out}:host-context(ion-modal:not(.kirby-modal-full-height)).drawer.keyboard-visible ion-content::part(scroll){transition:padding-bottom .25s ease-out 1ms}}:host-context(ion-modal:not(.kirby-modal-full-height)).drawer{padding-top:0;position:relative;contain:inherit;min-height:min(var(--min-height),var(--vh100) - var(--kirby-modal-padding-top,0))}:host-context(ion-modal:not(.kirby-modal-full-height)).drawer ion-content{contain:content;max-height:calc(var(--vh100) - var(--kirby-modal-padding-top, 0px) - var(--header-height) - var(--footer-height))}:host-context(ion-modal:not(.kirby-modal-full-height)).drawer ion-content::part(scroll){height:\"100%\";position:relative}:host-context(ion-modal:not(.kirby-modal-full-height)).drawer.drawer ion-content::part(scroll){transition:padding-bottom .15s ease-out}:host-context(ion-modal:not(.kirby-modal-full-height)).drawer.drawer.keyboard-visible ion-content::part(scroll){transition:padding-bottom .25s ease-out 1ms}:host-context(ion-modal.modal-card:not(.kirby-drawer)) ion-header ion-toolbar:first-of-type{padding-top:var(--kirby-safe-area-top,0)}@media (min-width:721px){:host-context(ion-modal.modal-card:not(.kirby-drawer)) ion-header ion-toolbar:first-of-type{padding-top:8px}}ion-title{box-sizing:border-box;padding-inline-start:calc(48px + var(--padding-start));padding-inline-end:calc(48px + var(--padding-end));font-size:22px;font-weight:700}:host(.drawer) ion-title{font-size:18px}ion-content{--background:transparent;--color:var(--kirby-modal-color,var(--kirby-black));display:flex;flex-direction:column;--padding-top:24px;--padding-bottom:24px;--padding-start:16px;--padding-end:16px}ion-content ::ng-deep>*{box-sizing:border-box;display:block}@media (min-width:721px){ion-content{--padding-start:56px;--padding-end:56px}}"]
1425
1423
  },] }
1426
1424
  ];
1427
1425
  /** @nocollapse */
@@ -2171,7 +2169,7 @@ CardHeaderComponent.decorators = [
2171
2169
  { type: Component, args: [{
2172
2170
  selector: 'kirby-card-header',
2173
2171
  template: "<header>\n <h2 *ngIf=\"title\" [class.bold]=\"isTitleBold\">{{ title }}</h2>\n <h4 *ngIf=\"subtitle\">{{ subtitle }}</h4>\n <ng-content></ng-content>\n</header>\n",
2174
- styles: [":host{display:block;border-top-left-radius:16px;border-top-right-radius:16px;text-align:center;padding:var(--kirby_internal_card-header-padding,16px);color:var(--kirby-card-header-color);background-color:var(--kirby-card-header-background-color)}h2{font-size:16px;font-weight:400;margin:0 0 var(--kirby_internal_card-header-margin-bottom,8px);line-height:var(--kirby_internal_card-header-line-height,28px)}h2.bold{font-weight:700}h4{font-size:14px;margin:0;font-weight:400}:host(.danger){--kirby-card-header-background-color:var(--kirby-danger);--kirby-card-header-color:var(--kirby-danger-contrast)}:host(.warning){--kirby-card-header-background-color:var(--kirby-warning);--kirby-card-header-color:var(--kirby-warning-contrast)}:host(.success){--kirby-card-header-background-color:var(--kirby-success);--kirby-card-header-color:var(--kirby-success-contrast)}:host(.info){--kirby-card-header-background-color:var(--kirby-semi-light);--kirby-card-header-color:var(--kirby-semi-light-contrast)}:host(.danger,.warning,.success,.info){--kirby_internal_card-header-padding:2px 8px}:host(.danger,.warning,.success,.info) h2{--kirby_internal_card-header-line-height:24px;--kirby_internal_card-header-margin-bottom:0}"]
2172
+ styles: [":host{display:block;border-top-left-radius:16px;border-top-right-radius:16px;text-align:center;padding:var(--kirby-internal-card-header-padding,16px);color:var(--kirby-card-header-color);background-color:var(--kirby-card-header-background-color)}h2{font-size:16px;font-weight:400;margin:0 0 var(--kirby-internal-card-header-margin-bottom,8px);line-height:var(--kirby-internal-card-header-line-height,28px)}h2.bold{font-weight:700}h4{font-size:14px;margin:0;font-weight:400}:host(.danger){--kirby-card-header-background-color:var(--kirby-danger);--kirby-card-header-color:var(--kirby-danger-contrast)}:host(.warning){--kirby-card-header-background-color:var(--kirby-warning);--kirby-card-header-color:var(--kirby-warning-contrast)}:host(.success){--kirby-card-header-background-color:var(--kirby-success);--kirby-card-header-color:var(--kirby-success-contrast)}:host(.info){--kirby-card-header-background-color:var(--kirby-semi-light);--kirby-card-header-color:var(--kirby-semi-light-contrast)}:host(.danger,.warning,.success,.info){--kirby-internal-card-header-padding:2px 8px}:host(.danger,.warning,.success,.info) h2{--kirby-internal-card-header-line-height:24px;--kirby-internal-card-header-margin-bottom:0px}"]
2175
2173
  },] }
2176
2174
  ];
2177
2175
  CardHeaderComponent.propDecorators = {
@@ -2927,8 +2925,8 @@ class ChartDeprecatedComponent {
2927
2925
  }
2928
2926
  }
2929
2927
  setPieInput() {
2930
- this.mergedOptions.plotOptions.pie
2931
- .dataLabels.enabled = this.showDataLabels;
2928
+ this.mergedOptions.plotOptions.pie.dataLabels.enabled =
2929
+ this.showDataLabels;
2932
2930
  this.setSeries('pie');
2933
2931
  }
2934
2932
  setBarInput() {
@@ -3699,6 +3697,8 @@ class ChartJSService {
3699
3697
  this.chart.data.datasets = datasets;
3700
3698
  }
3701
3699
  updateLabels(labels) {
3700
+ /* As labels provided via the 'labels' input property always has
3701
+ highest priority - we can just set the property directly */
3702
3702
  this.chart.data.labels = labels;
3703
3703
  }
3704
3704
  updateType(type, customOptions) {
@@ -3750,7 +3750,7 @@ class ChartJSService {
3750
3750
  }
3751
3751
  destructivelyUpdateType(type, customOptions) {
3752
3752
  const datasets = this.chart.data.datasets;
3753
- const labels = this.chart.data.labels;
3753
+ const labels = this.chart.data.labels; // chart.js stores labels as unknown[]; cast it to ChartLabel[]
3754
3754
  const annotations = this.getExistingChartAnnotations();
3755
3755
  this.chartType = type;
3756
3756
  const options = this.createOptionsObject({ customOptions, annotations });
@@ -3857,32 +3857,42 @@ class ChartJSService {
3857
3857
  day: 'numeric',
3858
3858
  }));
3859
3859
  }
3860
+ getLabelsToApply(args) {
3861
+ const { datasets, labels, type, indexAxis } = args;
3862
+ const datasetHasLabels = ({ data }) => !!(data === null || data === void 0 ? void 0 : data.some((datapoint) => typeof datapoint === 'object' && typeof datapoint[indexAxis] === 'string'));
3863
+ /*
3864
+ Labels can be provided by the user two ways:
3865
+ 1. As a seperate ChartLabel[] via the 'labels' input prop - this has highest priority
3866
+ 2. Together with the dataset via the 'data' input prop - here each datapoint contains
3867
+ a label for the indexAxis.
3868
+ For example: { x: 'label1', y: 1} in the case where the index axis is 'x'.
3869
+
3870
+ If no labels are provided then default labels are used.
3871
+ */
3872
+ const labelsAreGivenAsSeperateArray = labels !== undefined;
3873
+ const labelsAreGivenTogetherWithDataset = datasets.some(datasetHasLabels);
3874
+ if (labelsAreGivenAsSeperateArray) {
3875
+ return labels;
3876
+ }
3877
+ else if (labelsAreGivenTogetherWithDataset) {
3878
+ return null;
3879
+ }
3880
+ else {
3881
+ /*
3882
+ Chart.js requires labels along the index axis to render anything therefore
3883
+ all other types than stock uses empty labels as default. The stock type
3884
+ displays day & month as default.
3885
+ */
3886
+ return type === 'stock'
3887
+ ? this.getDefaultStockLabels(datasets, this.locale)
3888
+ : this.createBlankLabels(datasets);
3889
+ }
3890
+ }
3860
3891
  createConfigurationObject(type, datasets, options, labels) {
3892
+ var _a, _b;
3861
3893
  const typeConfig = this.chartConfigService.getTypeConfig(type);
3862
- const labelsToApply = (() => {
3863
- var _a, _b;
3864
- if (type === 'stock') {
3865
- /*
3866
- The time scale will auto generate labels based on data.
3867
- It should be possible to pass an empty array to get the default
3868
- behaviour of chart.js when using stock chart.
3869
-
3870
- TODO: Simplify to always pass labels, if given, to chart.js.
3871
- Would be a breaking change. See issue:
3872
- https://github.com/kirbydesign/designsystem/issues/2085
3873
- */
3874
- const shouldUseTimescaleLabels = (labels === null || labels === void 0 ? void 0 : labels.length) === 0 && ((_b = (_a = options === null || options === void 0 ? void 0 : options.scales) === null || _a === void 0 ? void 0 : _a.x) === null || _b === void 0 ? void 0 : _b.type) === 'time';
3875
- if (shouldUseTimescaleLabels)
3876
- return labels;
3877
- return this.getDefaultStockLabels(datasets, this.locale);
3878
- }
3879
- else if ((labels === null || labels === void 0 ? void 0 : labels.length) > 0) {
3880
- return labels;
3881
- }
3882
- else {
3883
- return this.createBlankLabels(datasets);
3884
- }
3885
- })();
3894
+ const indexAxis = (_b = (_a = typeConfig === null || typeConfig === void 0 ? void 0 : typeConfig.options) === null || _a === void 0 ? void 0 : _a.indexAxis) !== null && _b !== void 0 ? _b : 'x';
3895
+ const labelsToApply = this.getLabelsToApply({ labels, datasets, type, indexAxis });
3886
3896
  return mergeDeepAll(typeConfig, {
3887
3897
  data: {
3888
3898
  labels: labelsToApply,
@@ -4714,10 +4724,10 @@ class CalendarComponent {
4714
4724
  _onDateSelected(newDay) {
4715
4725
  if (newDay.isSelectable && newDay.date) {
4716
4726
  let newDate = new Date(this.activeMonth);
4727
+ newDate.setDate(newDay.date);
4717
4728
  if (this.timezone === 'UTC') {
4718
4729
  newDate = zonedTimeToUtc(this.subtractTimezoneOffset(newDate), this.timeZoneName);
4719
4730
  }
4720
- newDate.setDate(newDay.date);
4721
4731
  const dateToEmit = newDate;
4722
4732
  if (this.hasDateChanged(newDate, this._selectedDate)) {
4723
4733
  this.onSelectedDateChange(newDate);
@@ -5062,15 +5072,8 @@ class PopoverComponent {
5062
5072
  return this.target;
5063
5073
  }
5064
5074
  }
5065
- _backdropClick() {
5066
- this.willHide.emit();
5067
- this.hide();
5068
- }
5069
5075
  _onWindowResize() {
5070
- if (this.isShowing) {
5071
- this.willHide.emit();
5072
- this.hide();
5073
- }
5076
+ this.hide();
5074
5077
  }
5075
5078
  ngAfterViewInit() {
5076
5079
  this.placePopoverAboveClosestModal();
@@ -5090,8 +5093,13 @@ class PopoverComponent {
5090
5093
  }
5091
5094
  }
5092
5095
  // document.removeEventListener needs the exact same event handler & options reference:
5093
- preventEvent(event) {
5094
- event.preventDefault();
5096
+ static preventEventOutsidePopover(event) {
5097
+ if (event.target instanceof HTMLElement) {
5098
+ const targetIsInPopover = !!event.target.closest('kirby-popover');
5099
+ if (!targetIsInPopover) {
5100
+ event.preventDefault();
5101
+ }
5102
+ }
5095
5103
  }
5096
5104
  preventScroll() {
5097
5105
  this.isFirstToLockScroll = !this.document.body.classList.contains('backdrop-no-scroll');
@@ -5099,13 +5107,13 @@ class PopoverComponent {
5099
5107
  this.renderer.addClass(this.document.body, 'backdrop-no-scroll');
5100
5108
  }
5101
5109
  // preventDefault does not work with Renderer2.listen method; add event listener directly to document instead
5102
- this.document.addEventListener('touchmove', this.preventEvent, this.preventScrollEventListenerOptions);
5110
+ this.document.addEventListener('touchmove', PopoverComponent.preventEventOutsidePopover, this.preventScrollEventListenerOptions);
5103
5111
  }
5104
5112
  releaseScroll() {
5105
5113
  if (this.isFirstToLockScroll) {
5106
5114
  this.renderer.removeClass(this.document.body, 'backdrop-no-scroll');
5107
5115
  }
5108
- this.document.removeEventListener('touchmove', this.preventEvent, this.preventScrollEventListenerOptions);
5116
+ this.document.removeEventListener('touchmove', PopoverComponent.preventEventOutsidePopover, this.preventScrollEventListenerOptions);
5109
5117
  }
5110
5118
  show() {
5111
5119
  this.renderer.addClass(this.elementRef.nativeElement, 'is-opening');
@@ -5117,7 +5125,10 @@ class PopoverComponent {
5117
5125
  this.isShowing = true;
5118
5126
  }
5119
5127
  hide() {
5120
- this.renderer.removeChild(this.document.body, this.elementRef.nativeElement);
5128
+ if (!this.isShowing)
5129
+ return;
5130
+ this.willHide.emit();
5131
+ this.renderer.removeChild(this.elementRef.nativeElement.parentElement, this.elementRef.nativeElement);
5121
5132
  this.releaseScroll();
5122
5133
  this.renderer.removeStyle(this.targetElement, 'z-index');
5123
5134
  this.renderer.removeStyle(this.targetElement, 'pointer-events');
@@ -5169,9 +5180,7 @@ class PopoverComponent {
5169
5180
  PopoverComponent.decorators = [
5170
5181
  { type: Component, args: [{
5171
5182
  selector: 'kirby-popover',
5172
- template: `
5173
- <div #wrapper class="wrapper"><ng-content></ng-content></div>
5174
- `,
5183
+ template: ` <div #wrapper class="wrapper"><ng-content></ng-content></div> `,
5175
5184
  styles: [":host{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:850}:host(.is-opening){display:block;visibility:hidden}:host(.is-open){display:block}.wrapper{position:fixed;margin-top:4px;margin-bottom:4px}"]
5176
5185
  },] }
5177
5186
  ];
@@ -5185,7 +5194,6 @@ PopoverComponent.propDecorators = {
5185
5194
  popout: [{ type: Input }],
5186
5195
  target: [{ type: Input }],
5187
5196
  willHide: [{ type: Output }],
5188
- _backdropClick: [{ type: HostListener, args: ['click',] }],
5189
5197
  _onWindowResize: [{ type: HostListener, args: ['window:resize',] }]
5190
5198
  };
5191
5199
 
@@ -5627,7 +5635,7 @@ DropdownComponent.decorators = [
5627
5635
  multi: true,
5628
5636
  },
5629
5637
  ],
5630
- styles: [":host{display:inline-block;position:relative;max-width:calc(100vw - 32px);outline:none}:host.expand{display:block}:host.expand kirby-card{width:100%;min-width:0;max-width:none}@media (hover:hover){:host:focus>button,:host:focus>button.attention-level3{border-color:#4d90fe}}:host.error>button,:host.ng-touched.ng-invalid>button{border-color:var(--kirby-danger)}:host>button{position:relative;margin:0;outline:none;width:100%;transition:box-shadow .2s,border-color .2s}:host>button.attention-level2{border:1px solid transparent}:host>button .text{overflow:hidden;text-overflow:ellipsis}kirby-popover{--max-height:352px}kirby-card{max-height:352px;margin-top:4px;margin-bottom:4px;overflow-y:auto;box-shadow:0 20px 30px -15px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);min-width:288px;max-width:calc(100vw - 32px)}@media (min-width:321px){kirby-card{min-width:343px}}:host(:not(.with-popover)) kirby-card{display:none;opacity:0;position:absolute;z-index:800}:host(:not(.with-popover)).is-opening kirby-card{display:block}:host(:not(.with-popover)).is-open kirby-card{display:block;opacity:1}:host(:not(.with-popover)).popout-left kirby-card{right:0}:host(:not(.with-popover)).popout-up kirby-card{top:0;margin-top:-4px;transform:translateY(-100%)}:host(:not(.with-popover)).popout-up.is-open>button{z-index:801}:host(.is-open)>button{box-shadow:0 20px 30px -15px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08)}:host-context(kirby-calendar)>button{border-color:transparent;font-weight:700;font-size:medium}:host-context(kirby-calendar).is-open>button{box-shadow:none}"]
5638
+ styles: [":host{display:inline-block;position:relative;max-width:calc(100vw - 32px);outline:none}:host.expand{display:block}:host.expand kirby-card{width:100%;min-width:0;max-width:none}@media (hover:hover){:host:focus>button,:host:focus>button.attention-level3{border-color:#4d90fe}}:host.error>button,:host.ng-touched.ng-invalid>button{border-color:var(--kirby-danger)}:host>button{position:relative;margin:0;outline:none;width:100%;transition:box-shadow .2s,border-color .2s}:host>button.attention-level2{border:1px solid transparent}:host>button .text{overflow:hidden;text-overflow:ellipsis}kirby-popover{--max-height:352px}kirby-card{max-height:352px;margin-top:4px;margin-bottom:4px;overflow-y:auto;box-shadow:0 20px 30px -15px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);min-width:288px;max-width:calc(100vw - 32px)}@media (min-width:321px){kirby-card{min-width:343px}}:host(:not(.with-popover)) kirby-card{display:none;opacity:0;position:absolute;z-index:800}:host(:not(.with-popover)).is-opening kirby-card{display:block}:host(:not(.with-popover)).is-open kirby-card{display:block;opacity:1}:host(:not(.with-popover)).popout-left kirby-card{right:0}:host(:not(.with-popover)).popout-up kirby-card{top:0;margin-top:-4px;transform:translateY(-100%)}:host(:not(.with-popover)).popout-up.is-open>button{z-index:801}:host(.with-popover).is-open kirby-card{display:block}:host(.is-open)>button{box-shadow:0 20px 30px -15px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08)}:host-context(kirby-calendar)>button{border-color:transparent;font-weight:700;font-size:medium}:host-context(kirby-calendar).is-open>button{box-shadow:none}"]
5631
5639
  },] }
5632
5640
  ];
5633
5641
  /** @nocollapse */
@@ -5997,8 +6005,7 @@ class InputCounterComponent {
5997
6005
  InputCounterComponent.decorators = [
5998
6006
  { type: Component, args: [{
5999
6007
  selector: 'kirby-input-counter',
6000
- template: "<kirby-form-field-message [text]=\"text\"></kirby-form-field-message>\n",
6001
- styles: [""]
6008
+ template: "<kirby-form-field-message [text]=\"text\"></kirby-form-field-message>\n"
6002
6009
  },] }
6003
6010
  ];
6004
6011
  InputCounterComponent.propDecorators = {
@@ -6046,7 +6053,7 @@ InputComponent.decorators = [
6046
6053
  // tslint:disable-next-line:component-selector
6047
6054
  selector: 'input[kirby-input]',
6048
6055
  template: '',
6049
- styles: [":host(.error){border:1px solid var(--kirby-danger)}:host(.cloned-input){pointer-events:none;position:absolute;top:0;left:0}:host-context(label).cloned-input{top:24px}:host{background-color:var(--kirby-white);color:var(--kirby-white-contrast);border:none;box-sizing:border-box;display:block;font-family:var(--kirby-font-family);font-size:16px;line-height:24px;outline:none;margin:0;-webkit-appearance:none;border-radius:16px;box-shadow:0 5px 10px -10px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);padding:16px;width:100%}:host.borderless,:host:host-context(kirby-item){border-radius:0;box-shadow:none;padding:0;width:auto}:host:disabled{background-color:var(--kirby-light-tint);color:var(--kirby-text-color-semi-dark);box-shadow:none}:host::placeholder{color:var(--kirby-text-color-semi-dark)}:host::-ms-input-placeholder,:host::-webkit-input-placeholder{color:var(--kirby-text-color-semi-dark)}:host{height:56px}:host[type=number]{-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}:host::-webkit-inner-spin-button,:host::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}:host(.md){height:40px;border-radius:24px}:host-context(kirby-item kirby-form-field[slot=end])[type=number]{font-weight:700}.date-mask-wrapper{position:relative}:host-context(.date-mask-wrapper){color:var(--kirby-text-color-semi-dark)}.date-mask{font-family:var(--kirby-font-family);font-size:16px;line-height:24px;color:var(--kirby-white-contrast);position:absolute;top:0;left:0;margin:16px}"]
6056
+ styles: [":host(.error){border:1px solid var(--kirby-danger)}:host(.cloned-input){pointer-events:none;position:absolute;top:0;left:0}:host-context(label).cloned-input{top:24px}:host{background-color:var(--kirby-white);color:var(--kirby-white-contrast);border:none;box-sizing:border-box;display:block;font-family:var(--kirby-font-family);font-size:16px;line-height:24px;outline:none;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:16px;box-shadow:0 5px 10px -10px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);padding:16px;width:100%}:host.borderless,:host:host-context(kirby-item){border-radius:0;box-shadow:none;padding:0;width:auto}:host:disabled{background-color:var(--kirby-light-tint);color:var(--kirby-text-color-semi-dark);box-shadow:none}:host::placeholder{color:var(--kirby-text-color-semi-dark)}:host{height:56px}:host[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}:host::-webkit-inner-spin-button,:host::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}:host(.md){height:40px;border-radius:24px}:host-context(kirby-item kirby-form-field[slot=end])[type=number]{font-weight:700}.date-mask-wrapper{position:relative}:host-context(.date-mask-wrapper){color:var(--kirby-text-color-semi-dark)}.date-mask{font-family:var(--kirby-font-family);font-size:16px;line-height:24px;color:var(--kirby-white-contrast);position:absolute;top:0;left:0;margin:16px}"]
6050
6057
  },] }
6051
6058
  ];
6052
6059
  InputComponent.propDecorators = {
@@ -6088,7 +6095,7 @@ TextareaComponent.decorators = [
6088
6095
  // tslint:disable-next-line:component-selector
6089
6096
  selector: 'textarea[kirby-textarea]',
6090
6097
  template: "<ng-content *ngIf=\"!value\"></ng-content>\n<ng-container *ngIf=\"value\">{{ value }}</ng-container>\n",
6091
- styles: [":host(.error){border:1px solid var(--kirby-danger)}:host(.cloned-input){pointer-events:none;position:absolute;top:0;left:0}:host-context(label).cloned-input{top:24px}:host{background-color:var(--kirby-white);color:var(--kirby-white-contrast);border:none;box-sizing:border-box;display:block;font-size:16px;line-height:24px;outline:none;margin:0;-webkit-appearance:none;border-radius:16px;box-shadow:0 5px 10px -10px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);padding:16px;width:100%}:host.borderless,:host:host-context(kirby-item){border-radius:0;box-shadow:none;padding:0;width:auto}:host:disabled{background-color:var(--kirby-light-tint);color:var(--kirby-text-color-semi-dark);box-shadow:none}:host::placeholder{color:var(--kirby-text-color-semi-dark)}:host::-ms-input-placeholder,:host::-webkit-input-placeholder{color:var(--kirby-text-color-semi-dark)}:host{font-family:var(--kirby-font-family);resize:none}@media (min-width:721px){:host{resize:vertical}}"]
6098
+ styles: [":host(.error){border:1px solid var(--kirby-danger)}:host(.cloned-input){pointer-events:none;position:absolute;top:0;left:0}:host-context(label).cloned-input{top:24px}:host{background-color:var(--kirby-white);color:var(--kirby-white-contrast);border:none;box-sizing:border-box;display:block;font-size:16px;line-height:24px;outline:none;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:16px;box-shadow:0 5px 10px -10px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);padding:16px;width:100%}:host.borderless,:host:host-context(kirby-item){border-radius:0;box-shadow:none;padding:0;width:auto}:host:disabled{background-color:var(--kirby-light-tint);color:var(--kirby-text-color-semi-dark);box-shadow:none}:host::placeholder{color:var(--kirby-text-color-semi-dark)}:host{font-family:var(--kirby-font-family);resize:none}@media (min-width:721px){:host{resize:vertical}}"]
6092
6099
  },] }
6093
6100
  ];
6094
6101
  TextareaComponent.propDecorators = {
@@ -6429,6 +6436,7 @@ class FabSheetComponent {
6429
6436
  const closeIcon = fabButtonElement.shadowRoot.querySelector('.close-icon ion-icon');
6430
6437
  if (closeIcon) {
6431
6438
  const closeIconSvgLoaded = closeIcon.shadowRoot.querySelector('.icon-inner svg');
6439
+ // prettier-ignore
6432
6440
  const ionCloseIcon = closeIcon;
6433
6441
  if (ionCloseIcon && closeIconSvgLoaded) {
6434
6442
  ionCloseIcon.src = kirbyCloseIcon.svg;
@@ -7025,7 +7033,7 @@ ListComponent.decorators = [
7025
7033
  selector: 'kirby-list',
7026
7034
  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",
7027
7035
  providers: [ListHelper, GroupByPipe],
7028
- styles: ["ion-item-option.primary{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}ion-item-option.secondary{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}ion-item-option.tertiary{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}ion-item-option.success{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}ion-item-option.warning{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}ion-item-option.danger{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}ion-item-option.light{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}ion-item-option.medium{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}ion-item-option.dark{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}: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 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}"]
7036
+ styles: ["ion-item-option.primary{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}ion-item-option.secondary{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}ion-item-option.tertiary{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}ion-item-option.success{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}ion-item-option.warning{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}ion-item-option.danger{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}ion-item-option.light{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}ion-item-option.medium{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}ion-item-option.dark{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}: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-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;font-weight:inherit}.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 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:radial-gradient(#fff,#000);mask-image: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:radial-gradient(#fff,#000);mask-image: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}"]
7029
7037
  },] }
7030
7038
  ];
7031
7039
  /** @nocollapse */
@@ -7080,8 +7088,7 @@ class ListSectionHeaderComponent {
7080
7088
  ListSectionHeaderComponent.decorators = [
7081
7089
  { type: Component, args: [{
7082
7090
  selector: 'kirby-list-section-header',
7083
- template: "<div class=\"header\">\n <span class=\"kirby-text-small\">{{ title }}</span>\n</div>\n",
7084
- styles: [""]
7091
+ template: "<div class=\"header\">\n <span class=\"kirby-text-small\">{{ title }}</span>\n</div>\n"
7085
7092
  },] }
7086
7093
  ];
7087
7094
  /** @nocollapse */
@@ -7186,7 +7193,7 @@ ListItemComponent.decorators = [
7186
7193
  { type: Component, args: [{
7187
7194
  selector: 'kirby-list-item',
7188
7195
  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",
7189
- styles: ["ion-item-option.primary{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}ion-item-option.secondary{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}ion-item-option.tertiary{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}ion-item-option.success{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}ion-item-option.warning{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}ion-item-option.danger{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}ion-item-option.light{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}ion-item-option.medium{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}ion-item-option.dark{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}: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 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)}"]
7196
+ styles: ["ion-item-option.primary{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}ion-item-option.secondary{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}ion-item-option.tertiary{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}ion-item-option.success{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}ion-item-option.warning{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}ion-item-option.danger{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}ion-item-option.light{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}ion-item-option.medium{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}ion-item-option.dark{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}: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-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;font-weight:inherit}.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 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:radial-gradient(#fff,#000);mask-image: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:radial-gradient(#fff,#000);mask-image: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)}"]
7190
7197
  },] }
7191
7198
  ];
7192
7199
  /** @nocollapse */
@@ -7311,8 +7318,8 @@ class ReorderListComponent {
7311
7318
  ReorderListComponent.decorators = [
7312
7319
  { type: Component, args: [{
7313
7320
  selector: 'kirby-reorder-list',
7314
- template: "<ion-backdrop *ngIf=\"reorderActive\" [tappable]=\"false\" [visible]=\"true\" [stopPropagation]=\"false\">\n</ion-backdrop>\n<ion-reorder-group (ionItemReorder)=\"doReorder($event)\" disabled=\"false\">\n <div *ngFor=\"let reorderItem of items\" class=\"outerGroup\">\n <kirby-card>\n <ng-container\n *ngTemplateOutlet=\"itemTemplate || defaultItemTemplate; context: { $implicit: reorderItem }\"\n >\n </ng-container>\n <div *ngIf=\"reorderItem[subItemsName]\" #reorderGroupContainer>\n <ion-reorder-group (ionItemReorder)=\"doSubReorder($event, reorderItem)\" disabled=\"false\">\n <div *ngFor=\"let subItem of reorderItem[subItemsName]\">\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate || defaultItemTemplate;\n context: { $implicit: subItem, isSubItem: true }\n \"\n ></ng-container>\n </div>\n </ion-reorder-group>\n </div>\n </kirby-card>\n </div>\n</ion-reorder-group>\n\n<ng-template #defaultItemTemplate let-item let-isSubItem>\n <kirby-item [reorderable]=\"true\">\n <h3>{{ getItemTextDefault(item) }}</h3>\n </kirby-item>\n</ng-template>\n",
7315
- styles: ["ion-backdrop{opacity:.3;z-index:101;position:fixed}.reorder-selected{box-shadow:none;opacity:1;z-index:104}.reorder-selected kirby-card{transform:scale(1.05)}.reorder-selected kirby-card div:first-child{border-top:1px solid var(--kirby-background-color)}.reorder-selected ::ng-deep>kirby-item{box-shadow:0 0 10px rgba(0,0,0,.4);transform:scale(1.05);border-radius:16px;overflow:hidden}.reorder-list-active>*{position:relative;z-index:103}.reorder-list-active>.reorder-selected{z-index:104}.reorder-list-active div:first-child{border-top:none}.reorder-list-active ::ng-deep>div:last-child kirby-item{border-bottom-left-radius:16px;border-bottom-right-radius:16px;overflow:hidden}.reorder-list-active .reorder-selected ::ng-deep>kirby-item{box-shadow:0 0 10px rgba(0,0,0,.4);transform:scale(1.05);border-radius:16px;overflow:hidden}.outerGroup{border-bottom:20px solid transparent}kirby-card{overflow:inherit;z-index:auto}kirby-card ::ng-deep>div:last-child ion-reorder-group div:last-child>kirby-item{border-bottom-left-radius:16px;border-bottom-right-radius:16px;overflow:hidden}kirby-card ::ng-deep>div kirby-item{z-index:1}kirby-card ::ng-deep>div:first-child>kirby-item{border-radius:16px;overflow:hidden}kirby-card ::ng-deep>div .reorder-list-active kirby-item{z-index:103}kirby-card div:first-child{border-top:1px solid var(--kirby-background-color)}"]
7321
+ template: "<ion-backdrop *ngIf=\"reorderActive\" [tappable]=\"false\" [visible]=\"true\" [stopPropagation]=\"false\">\n</ion-backdrop>\n<ion-reorder-group (ionItemReorder)=\"doReorder($event)\" disabled=\"false\">\n <div *ngFor=\"let reorderItem of items\" class=\"outer-group\">\n <kirby-card>\n <ng-container\n *ngTemplateOutlet=\"itemTemplate || defaultItemTemplate; context: { $implicit: reorderItem }\"\n >\n </ng-container>\n <div *ngIf=\"reorderItem[subItemsName]\" #reorderGroupContainer>\n <ion-reorder-group (ionItemReorder)=\"doSubReorder($event, reorderItem)\" disabled=\"false\">\n <div *ngFor=\"let subItem of reorderItem[subItemsName]\">\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate || defaultItemTemplate;\n context: { $implicit: subItem, isSubItem: true }\n \"\n ></ng-container>\n </div>\n </ion-reorder-group>\n </div>\n </kirby-card>\n </div>\n</ion-reorder-group>\n\n<ng-template #defaultItemTemplate let-item let-isSubItem>\n <kirby-item [reorderable]=\"true\">\n <h3>{{ getItemTextDefault(item) }}</h3>\n </kirby-item>\n</ng-template>\n",
7322
+ styles: ["ion-backdrop{opacity:.3;z-index:101;position:fixed}.reorder-selected{box-shadow:none;opacity:1;z-index:104}.reorder-selected kirby-card{transform:scale(1.05)}.reorder-selected kirby-card div:first-child{border-top:1px solid var(--kirby-background-color)}.reorder-selected ::ng-deep>kirby-item{box-shadow:0 0 10px rgba(0,0,0,.4);transform:scale(1.05);border-radius:16px;overflow:hidden}.reorder-list-active>*{position:relative;z-index:103}.reorder-list-active>.reorder-selected{z-index:104}.reorder-list-active div:first-child{border-top:none}.reorder-list-active ::ng-deep>div:last-child kirby-item{border-bottom-left-radius:16px;border-bottom-right-radius:16px;overflow:hidden}.reorder-list-active .reorder-selected ::ng-deep>kirby-item{box-shadow:0 0 10px rgba(0,0,0,.4);transform:scale(1.05);border-radius:16px;overflow:hidden}.outer-group{border-bottom:20px solid transparent}kirby-card{overflow:inherit;z-index:auto}kirby-card ::ng-deep>div:last-child ion-reorder-group div:last-child>kirby-item{border-bottom-left-radius:16px;border-bottom-right-radius:16px;overflow:hidden}kirby-card ::ng-deep>div kirby-item{z-index:1}kirby-card ::ng-deep>div:first-child>kirby-item{border-radius:16px;overflow:hidden}kirby-card ::ng-deep>div .reorder-list-active kirby-item{z-index:103}kirby-card div:first-child{border-top:1px solid var(--kirby-background-color)}"]
7316
7323
  },] }
7317
7324
  ];
7318
7325
  /** @nocollapse */
@@ -7339,7 +7346,7 @@ ModalFooterComponent.decorators = [
7339
7346
  { type: Component, args: [{
7340
7347
  selector: 'kirby-modal-footer',
7341
7348
  template: "<ion-footer>\n <ng-content></ng-content>\n</ion-footer>\n",
7342
- styles: ["ion-footer{box-shadow:0 20px 30px -15px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);display:flex;justify-content:var(--kirby-modal-footer-justify-content,center);align-items:center;background-color:var(--kirby-modal-footer-background,var(--kirby-white));color:var(--kirby-modal-footer-color,var(--kirby-white-contrast));padding:8px 16px;padding-bottom:calc(8px + var(--kirby-modal-footer-safe-area-bottom, 0px))}@media (max-width:720px){:host{--kirby-modal-footer-safe-area-bottom:var(--kirby-safe-area-bottom)}}:host-context(.modal-wrapper.full-height){--kirby-modal-footer-safe-area-bottom:var(--kirby-safe-area-bottom)}:host(.snap-to-keyboard) ion-footer{transition:transform .15s ease-out}:host-context(.keyboard-visible).snap-to-keyboard ion-footer{transition:transform .25s ease-out 1ms;transform:translateY(calc((var(--keyboard-offset, 0px) - var(--kirby-modal-footer-safe-area-bottom, 0px)) * -1))}:host(.light) ion-footer{background-color:var(--kirby-background-color)}:host(.inline) ion-footer{background:transparent;box-shadow:none}"]
7349
+ styles: ["ion-footer{box-shadow:0 20px 30px -15px rgba(28,28,28,.3),0 0 5px 0 rgba(28,28,28,.08);display:flex;justify-content:var(--kirby-modal-footer-justify-content,center);align-items:center;background-color:var(--kirby-modal-footer-background,var(--kirby-white));color:var(--kirby-modal-footer-color,var(--kirby-white-contrast));padding:8px 16px;padding-bottom:calc(8px + var(--kirby-modal-footer-safe-area-bottom, 0px))}@media (max-width:720px){:host{--kirby-modal-footer-safe-area-bottom:var(--kirby-safe-area-bottom)}}:host(.snap-to-keyboard) ion-footer{transition:transform .15s ease-out}:host(.light) ion-footer{background-color:var(--kirby-background-color)}:host(.inline) ion-footer{background:transparent;box-shadow:none}:host-context(.keyboard-visible).snap-to-keyboard ion-footer{transition:transform .25s ease-out 1ms;transform:translateY(calc((var(--keyboard-offset, 0px) - var(--kirby-modal-footer-safe-area-bottom, 0px)) * -1))}:host-context(.modal-wrapper.full-height){--kirby-modal-footer-safe-area-bottom:var(--kirby-safe-area-bottom)}"]
7343
7350
  },] }
7344
7351
  ];
7345
7352
  ModalFooterComponent.propDecorators = {
@@ -7465,9 +7472,7 @@ class PageProgressComponent {
7465
7472
  PageProgressComponent.decorators = [
7466
7473
  { type: Component, args: [{
7467
7474
  selector: 'kirby-page-progress',
7468
- template: `
7469
- <ng-content></ng-content>
7470
- `,
7475
+ template: ` <ng-content></ng-content> `,
7471
7476
  styles: [':host {display: flex}']
7472
7477
  },] }
7473
7478
  ];
@@ -7483,9 +7488,7 @@ class PageTitleComponent {
7483
7488
  PageTitleComponent.decorators = [
7484
7489
  { type: Component, args: [{
7485
7490
  selector: 'kirby-page-title',
7486
- template: `
7487
- <ng-content></ng-content>
7488
- `
7491
+ template: ` <ng-content></ng-content> `
7489
7492
  },] }
7490
7493
  ];
7491
7494
  class PageContentComponent {
@@ -7493,9 +7496,7 @@ class PageContentComponent {
7493
7496
  PageContentComponent.decorators = [
7494
7497
  { type: Component, args: [{
7495
7498
  selector: 'kirby-page-content',
7496
- template: `
7497
- <ng-content></ng-content>
7498
- `
7499
+ template: ` <ng-content></ng-content> `
7499
7500
  },] }
7500
7501
  ];
7501
7502
  class PageActionsComponent {
@@ -7503,9 +7504,7 @@ class PageActionsComponent {
7503
7504
  PageActionsComponent.decorators = [
7504
7505
  { type: Component, args: [{
7505
7506
  selector: 'kirby-page-actions',
7506
- template: `
7507
- <ng-content select="button[kirby-button]"></ng-content>
7508
- `
7507
+ template: ` <ng-content select="button[kirby-button]"></ng-content> `
7509
7508
  },] }
7510
7509
  ];
7511
7510
  class PageComponent {
@@ -7980,6 +7979,7 @@ class SegmentedControlComponent {
7980
7979
  this.mode = SegmentedControlMode.default;
7981
7980
  this._items = [];
7982
7981
  this._selectedIndex = -1;
7982
+ this._disableChangeOnSwipe = false;
7983
7983
  this.segmentSelect = new EventEmitter();
7984
7984
  }
7985
7985
  preventWrapperClick(event) {
@@ -8034,6 +8034,12 @@ class SegmentedControlComponent {
8034
8034
  set size(size) {
8035
8035
  this.isSmallSize = size === 'sm';
8036
8036
  }
8037
+ get disableChangeOnSwipe() {
8038
+ return this._disableChangeOnSwipe;
8039
+ }
8040
+ set disableChangeOnSwipe(value) {
8041
+ this._disableChangeOnSwipe = value;
8042
+ }
8037
8043
  onSegmentSelect(selectedId) {
8038
8044
  const selectedItemIndex = this.items.findIndex((item) => selectedId === item.id);
8039
8045
  if (selectedItemIndex !== this.selectedIndex) {
@@ -8045,7 +8051,7 @@ class SegmentedControlComponent {
8045
8051
  SegmentedControlComponent.decorators = [
8046
8052
  { type: Component, args: [{
8047
8053
  selector: 'kirby-segmented-control',
8048
- template: "<ion-segment\n *ngIf=\"mode === 'default'\"\n [value]=\"value?.id\"\n (ionChange)=\"onSegmentSelect($event.detail.value)\"\n (click)=\"preventWrapperClick($event)\"\n>\n <div *ngFor=\"let item of items\" class=\"segment-btn-wrapper\">\n <ion-segment-button [value]=\"item.id\">{{ item.text }}</ion-segment-button>\n <kirby-badge\n *ngIf=\"item.badge\"\n role=\"text\"\n [attr.aria-label]=\"item.badge.description\"\n [themeColor]=\"item.badge.themeColor\"\n >\n <ng-container *ngIf=\"item.badge.icon; else badgeContent\">\n <kirby-icon\n *ngIf=\"item.badge.isCustomIcon; else defaultIconName\"\n [customName]=\"item.badge.icon\"\n ></kirby-icon>\n <ng-template #defaultIconName>\n <kirby-icon [name]=\"item.badge.icon\"></kirby-icon>\n </ng-template>\n </ng-container>\n <ng-template #badgeContent>\n {{ item.badge.content }}\n </ng-template>\n </kirby-badge>\n </div>\n</ion-segment>\n\n<ng-container *ngIf=\"mode === 'chip' || mode === 'compactChip'\">\n <kirby-chip\n *ngFor=\"let item of items; let index = index\"\n [text]=\"item.text\"\n [isSelected]=\"index === selectedIndex\"\n (click)=\"onSegmentSelect(item.id)\"\n role=\"button\"\n ></kirby-chip>\n</ng-container>\n",
8054
+ template: "<ion-segment\n *ngIf=\"mode === 'default'\"\n [value]=\"value?.id\"\n [scrollable]=\"disableChangeOnSwipe\"\n (ionChange)=\"onSegmentSelect($event.detail.value)\"\n (click)=\"preventWrapperClick($event)\"\n>\n <div *ngFor=\"let item of items\" class=\"segment-btn-wrapper\">\n <ion-segment-button [value]=\"item.id\">{{ item.text }}</ion-segment-button>\n <kirby-badge\n *ngIf=\"item.badge\"\n role=\"text\"\n [attr.aria-label]=\"item.badge.description\"\n [themeColor]=\"item.badge.themeColor\"\n >\n <ng-container *ngIf=\"item.badge.icon; else badgeContent\">\n <kirby-icon\n *ngIf=\"item.badge.isCustomIcon; else defaultIconName\"\n [customName]=\"item.badge.icon\"\n ></kirby-icon>\n <ng-template #defaultIconName>\n <kirby-icon [name]=\"item.badge.icon\"></kirby-icon>\n </ng-template>\n </ng-container>\n <ng-template #badgeContent>\n {{ item.badge.content }}\n </ng-template>\n </kirby-badge>\n </div>\n</ion-segment>\n\n<ng-container *ngIf=\"mode === 'chip' || mode === 'compactChip'\">\n <kirby-chip\n *ngFor=\"let item of items; let index = index\"\n [text]=\"item.text\"\n [isSelected]=\"index === selectedIndex\"\n (click)=\"onSegmentSelect(item.id)\"\n role=\"button\"\n ></kirby-chip>\n</ng-container>\n",
8049
8055
  // tslint:disable-next-line: no-host-metadata-property
8050
8056
  host: { role: 'group' },
8051
8057
  styles: [":host{display:block;-webkit-user-select:none;user-select:none;--kirby-badge-elevation:0 5px 10px -10px rgba(28,28,28,0.3),0 0 5px 0 rgba(28,28,28,0.08);--kirby-badge-position:absolute;--kirby-badge-top:-8px;--kirby-badge-right:8px;--kirby-badge-z-index:2}:host.sm ion-segment-button{min-height:32px;font-size:12px;--padding-start:16px;--padding-end:16px}:host.chip-mode{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden}@media (pointer:coarse){:host.chip-mode{scrollbar-width:none}:host.chip-mode::-webkit-scrollbar{display:none}}ion-segment{display:inline-flex;width:auto;overflow:visible;contain:unset;--background:var(--kirby-white);border-radius:999px}ion-segment-button{position:relative;min-height:40px;font-weight:400;font-size:14px;text-transform:none;--border-radius:999px;--border-style:none;--background:none;--color:var(--kirby-white-contrast);--indicator-color:var(--kirby-black);--color-checked:var(--kirby-black-contrast);--color-hover:var(--kirby-black-tint);--indicator-box-shadow:none;--padding-start:24px;--padding-end:24px;--margin-bottom:0;--margin-end:0;--margin-start:0;--margin-top:0;margin:0}ion-segment-button:after{content:\"\";position:absolute;min-height:44px;min-width:44px;width:100%;height:100%;transform:translate(-50%,-50%);left:50%;top:50%}.segment-btn-wrapper{position:relative}:host-context(.plt-desktop) ion-segment-button:focus-within{outline-color:-webkit-focus-ring-color;outline-style:auto}"]
@@ -8063,6 +8069,7 @@ SegmentedControlComponent.propDecorators = {
8063
8069
  value: [{ type: Input }],
8064
8070
  isSmallSize: [{ type: HostBinding, args: ['class.sm',] }],
8065
8071
  size: [{ type: Input }],
8072
+ disableChangeOnSwipe: [{ type: Input }],
8066
8073
  segmentSelect: [{ type: Output }]
8067
8074
  };
8068
8075
 
@@ -8126,7 +8133,7 @@ SlideButtonComponent.decorators = [
8126
8133
  selector: 'kirby-slide-button',
8127
8134
  template: "<div class=\"slide-button-container\" [ngClass]=\"{ 'slide-done': isSlideDone }\">\n <input\n type=\"range\"\n (mouseup)=\"onSliderMouseup()\"\n (touchend)=\"onSliderMouseup()\"\n (input)=\"onSliderValueChange($event.target.value)\"\n (mousedown)=\"onSliderMousedown()\"\n (touchstart)=\"onSliderMousedown()\"\n class=\"slide-button\"\n [value]=\"value\"\n max=\"100\"\n />\n <p class=\"slide-button-text slide-{{ pctInTens }}-pct\">{{ text }}</p>\n</div>\n",
8128
8135
  changeDetection: ChangeDetectionStrategy.OnPush,
8129
- styles: [":host{position:relative;display:inline-block;width:256px;-webkit-user-select:none;user-select:none}:host[expand=block]{display:block;width:100%}:host .slide-button-container{width:100%;display:flex;justify-content:center;align-items:center;color:var(--kirby-primary-contrast);background-color:var(--kirby-primary);height:56px;border-radius:26px}:host .slide-10-pct{opacity:.9}:host .slide-20-pct{opacity:.8}:host .slide-30-pct{opacity:.7}:host .slide-40-pct{opacity:.6}:host .slide-50-pct{opacity:.5}:host .slide-60-pct{opacity:.4}:host .slide-70-pct{opacity:.3}:host .slide-80-pct{opacity:.2}:host .slide-90-pct{opacity:.1}:host .slide-100-pct{opacity:0}:host .slide-button-text{position:absolute;font-size:16px;margin:0;line-height:1;z-index:1;width:100%;text-align:center;padding:0 26px 0 56px}:host .slide-button{width:100%;height:100%;-webkit-appearance:none;background:transparent;z-index:2}:host .slide-button::-webkit-slider-thumb{-webkit-appearance:none;border-radius:50%;background-color:var(--kirby-white);background-image:url(/assets/kirby/icons/svg/arrow-more.svg);background-repeat:no-repeat;background-position:50%;background-size:24px;width:52px;height:52px;border:none;cursor:pointer}:host .slide-button::-moz-range-thumb{-webkit-appearance:none;border-radius:50%;background-color:var(--kirby-white);background-image:url(/assets/kirby/icons/svg/arrow-more.svg);background-repeat:no-repeat;background-position:50%;background-size:24px;width:52px;height:52px;border:none;cursor:pointer}:host .slide-done{transition:all .3s ease-in-out;opacity:0;height:0;transform:scale(0);pointer-events:none}"]
8136
+ styles: [":host{position:relative;display:inline-block;width:256px;-webkit-user-select:none;user-select:none}:host[expand=block]{display:block;width:100%}:host .slide-button-container{width:100%;display:flex;justify-content:center;align-items:center;color:var(--kirby-primary-contrast);background-color:var(--kirby-primary);height:56px;border-radius:26px}:host .slide-10-pct{opacity:.9}:host .slide-20-pct{opacity:.8}:host .slide-30-pct{opacity:.7}:host .slide-40-pct{opacity:.6}:host .slide-50-pct{opacity:.5}:host .slide-60-pct{opacity:.4}:host .slide-70-pct{opacity:.3}:host .slide-80-pct{opacity:.2}:host .slide-90-pct{opacity:.1}:host .slide-100-pct{opacity:0}:host .slide-button-text{position:absolute;font-size:16px;margin:0;line-height:1;z-index:1;width:100%;text-align:center;padding:0 26px 0 56px}:host .slide-button{width:100%;height:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;z-index:2}:host .slide-button::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;border-radius:50%;background-color:var(--kirby-white);background-image:url(/assets/kirby/icons/svg/arrow-more.svg);background-repeat:no-repeat;background-position:50%;background-size:24px;width:52px;height:52px;border:none;cursor:pointer}:host .slide-button::-moz-range-thumb{-moz-appearance:none;appearance:none;border-radius:50%;background-color:var(--kirby-white);background-image:url(/assets/kirby/icons/svg/arrow-more.svg);background-repeat:no-repeat;background-position:50%;background-size:24px;width:52px;height:52px;border:none;cursor:pointer}:host .slide-done{transition:all .3s ease-in-out;opacity:0;height:0;transform:scale(0);pointer-events:none}"]
8130
8137
  },] }
8131
8138
  ];
8132
8139
  /** @nocollapse */
@@ -8382,11 +8389,9 @@ class FlagComponent {
8382
8389
  FlagComponent.decorators = [
8383
8390
  { type: Component, args: [{
8384
8391
  selector: 'kirby-flag',
8385
- template: `
8386
- <ng-content></ng-content>
8387
- `,
8392
+ template: ` <ng-content></ng-content> `,
8388
8393
  changeDetection: ChangeDetectionStrategy.OnPush,
8389
- styles: [":host{display:inline-block;background-color:var(--kirby-flag-background-color,transparent);color:var(--kirby-flag-color,var(--kirby-white-contrast));border:1px solid var(--kirby-flag-border-color,var(--kirby-medium));border-radius:4px;font-size:16px;padding:2px 8px}:host.sm{font-size:14px}:host.xs{font-size:12px;padding-left:4px;padding-right:4px}:host(.success){--kirby-flag-background-color:var(--kirby-success);--kirby-flag-color:var(--kirby-success-contrast);--kirby-flag-border-color:var(--kirby-success)}:host(.warning){--kirby-flag-background-color:var(--kirby-warning);--kirby-flag-color:var(--kirby-warning-contrast);--kirby-flag-border-color:var(--kirby-warning)}:host(.danger){--kirby-flag-background-color:var(--kirby-danger);--kirby-flag-color:var(--kirby-danger-contrast);--kirby-flag-border-color:var(--kirby-danger)}:host(.semi-light){--kirby-flag-background-color:var(--kirby-semi-light);--kirby-flag-color:var(--kirby-semi-light-contrast);--kirby-flag-border-color:var(--kirby-semi-light)}"]
8394
+ styles: [":host{display:inline-block;background-color:var(--kirby-flag-background-color,transparent);color:var(--kirby-flag-color,var(--kirby-white-contrast));border:1px solid var(--kirby-flag-border-color,var(--kirby-medium));border-radius:4px;font-size:16px;padding:2px 8px;font-weight:500}:host.sm{font-size:14px}:host.xs{font-size:12px;padding-left:4px;padding-right:4px}:host(.success){--kirby-flag-background-color:#2cf287;--kirby-flag-color:var(--kirby-success-contrast);--kirby-flag-border-color:#2cf287}:host(.warning){--kirby-flag-background-color:#ffca3a;--kirby-flag-color:var(--kirby-warning-contrast);--kirby-flag-border-color:#ffca3a}:host(.danger){--kirby-flag-background-color:#ff878a;--kirby-flag-color:var(--kirby-danger-contrast);--kirby-flag-border-color:#ff878a}:host(.semi-light){--kirby-flag-background-color:var(--kirby-semi-light);--kirby-flag-color:var(--kirby-semi-light-contrast);--kirby-flag-border-color:var(--kirby-semi-light)}"]
8390
8395
  },] }
8391
8396
  ];
8392
8397
  FlagComponent.propDecorators = {
@@ -8576,7 +8581,7 @@ RangeComponent.decorators = [
8576
8581
  useExisting: forwardRef(() => RangeComponent),
8577
8582
  },
8578
8583
  ],
8579
- styles: [":host{display:flex;justify-content:space-between;flex-wrap:wrap}ion-range{--knob-background:var(--kirby-white);--knob-box-shadow:0 5px 10px 0px rgba(28,28,28,0.3),0 0 5px 0 rgba(28,28,28,0.08);--knob-size:24px;--pin-color:var(--kirby-text-color-black);--pin-background:var(--kirby-semi-light);--bar-background:var(--kirby-medium);--bar-background-active:var(--kirby-dark);--bar-border-radius:4px;--bar-height:2px;flex:1 1 100%;padding:0}ion-range.range-disabled{--knob-background:var(--kirby-semi-light);--knob-box-shadow:none;--bar-background:var(--kirby-semi-light);--bar-background-active:var(--kirby-semi-light)}ion-range.range-disabled::part(tick){background:var(--kirby-semi-light)}ion-range.range-has-pin{padding:0 3px}ion-range::part(pin){font-size:12px;color:var(--pin-color);background-color:var(--pin-background);padding:2px 4px;border-radius:4px;min-width:40px;position:relative}ion-range::part(pin):before{content:\"\";position:absolute;top:100%;left:50%;transform:translateX(-50%);display:block;border:6px solid transparent;border-top:6px solid var(--pin-background)}ion-range::part(tick),ion-range::part(tick-active){border-radius:50%;width:6px;height:6px;z-index:1;margin-inline-start:-3px}ion-range::part(tick){background:var(--kirby-medium)}label{font-size:12px;line-height:16px;color:var(--kirby-text-color-semi-dark);margin-top:-4px}"]
8584
+ styles: [":host{display:flex;justify-content:space-between;flex-wrap:wrap}ion-range{--knob-background:var(--kirby-white);--knob-box-shadow:0 5px 10px 0 rgb(28 28 28/30%),0 0 5px 0 rgb(28 28 28/8%);--knob-size:24px;--pin-color:var(--kirby-text-color-black);--pin-background:var(--kirby-semi-light);--bar-background:var(--kirby-medium);--bar-background-active:var(--kirby-dark);--bar-border-radius:4px;--bar-height:2px;flex:1 1 100%;padding:0}ion-range.range-disabled{--knob-background:var(--kirby-semi-light);--knob-box-shadow:none;--bar-background:var(--kirby-semi-light);--bar-background-active:var(--kirby-semi-light)}ion-range.range-disabled::part(tick){background:var(--kirby-semi-light)}ion-range.range-has-pin{padding:0 3px}ion-range::part(pin){font-size:12px;color:var(--pin-color);background-color:var(--pin-background);padding:2px 4px;border-radius:4px;min-width:40px;position:relative}ion-range::part(pin):before{content:\"\";position:absolute;top:100%;left:50%;transform:translateX(-50%);display:block;border:6px solid transparent;border-top:6px solid var(--pin-background)}ion-range::part(tick),ion-range::part(tick-active){border-radius:50%;width:6px;height:6px;z-index:1;margin-inline-start:-3px}ion-range::part(tick){background:var(--kirby-medium)}label{font-size:12px;line-height:16px;color:var(--kirby-text-color-semi-dark);margin-top:-4px}"]
8580
8585
  },] }
8581
8586
  ];
8582
8587
  RangeComponent.propDecorators = {