@kirbydesign/designsystem 9.5.0 → 9.7.0

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 (560) hide show
  1. package/accordion/accordion-item.component.d.ts +2 -1
  2. package/avatar/avatar.component.d.ts +4 -1
  3. package/button/button.component.d.ts +1 -1
  4. package/card/card-as-button/card-as-button.directive.d.ts +2 -3
  5. package/card/card.component.d.ts +9 -2
  6. package/checkbox/checkbox.component.d.ts +8 -4
  7. package/esm2022/accordion/accordion-item.component.mjs +8 -5
  8. package/esm2022/accordion/accordion.directive.mjs +4 -4
  9. package/esm2022/accordion/accordion.module.mjs +5 -5
  10. package/esm2022/accordion/kirbydesign-designsystem-accordion.mjs +1 -1
  11. package/esm2022/accordion/public_api.mjs +1 -1
  12. package/esm2022/action-group/action-group.component.mjs +4 -4
  13. package/esm2022/action-group/kirbydesign-designsystem-action-group.mjs +1 -1
  14. package/esm2022/action-group/public_api.mjs +1 -1
  15. package/esm2022/avatar/avatar.component.mjs +12 -6
  16. package/esm2022/avatar/kirbydesign-designsystem-avatar.mjs +1 -1
  17. package/esm2022/avatar/public_api.mjs +1 -1
  18. package/esm2022/badge/badge.component.mjs +4 -4
  19. package/esm2022/badge/kirbydesign-designsystem-badge.mjs +1 -1
  20. package/esm2022/badge/public_api.mjs +1 -1
  21. package/esm2022/button/button.component.mjs +5 -5
  22. package/esm2022/button/kirbydesign-designsystem-button.mjs +1 -1
  23. package/esm2022/button/public_api.mjs +1 -1
  24. package/esm2022/calendar/calendar.component.mjs +4 -4
  25. package/esm2022/calendar/helpers/calendar-cell.model.mjs +1 -1
  26. package/esm2022/calendar/helpers/calendar-options.model.mjs +1 -1
  27. package/esm2022/calendar/helpers/calendar.helper.mjs +4 -4
  28. package/esm2022/calendar/kirbydesign-designsystem-calendar.mjs +1 -1
  29. package/esm2022/calendar/options/calendar-year-navigator-config.mjs +1 -1
  30. package/esm2022/calendar/public_api.mjs +1 -1
  31. package/esm2022/card/card-as-button/card-as-button.directive.mjs +6 -9
  32. package/esm2022/card/card-flag-level.mjs +1 -1
  33. package/esm2022/card/card-footer/card-footer.component.mjs +5 -5
  34. package/esm2022/card/card-header/card-header.component.mjs +4 -4
  35. package/esm2022/card/card.component.mjs +27 -9
  36. package/esm2022/card/card.module.mjs +5 -5
  37. package/esm2022/card/kirbydesign-designsystem-card.mjs +1 -1
  38. package/esm2022/card/public_api.mjs +1 -1
  39. package/esm2022/chart/chart/chart.component.mjs +4 -4
  40. package/esm2022/chart/chart/index.mjs +1 -1
  41. package/esm2022/chart/chart-config/chart-bar-config/chart-bar-config.mjs +1 -1
  42. package/esm2022/chart/chart-config/chart-base-config.mjs +1 -1
  43. package/esm2022/chart/chart-config/chart-stock-config/chart-stock-config.mjs +1 -1
  44. package/esm2022/chart/chart-config/chart-stock-config/data-label-position/data-label-position.mjs +1 -1
  45. package/esm2022/chart/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.mjs +1 -1
  46. package/esm2022/chart/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.model.mjs +1 -1
  47. package/esm2022/chart/charts.module.mjs +5 -5
  48. package/esm2022/chart/kirbydesign-designsystem-chart.mjs +1 -1
  49. package/esm2022/chart/public_api.mjs +1 -1
  50. package/esm2022/chart/shared/base-chart/base-chart.component.mjs +4 -4
  51. package/esm2022/chart/shared/base-chart/index.mjs +1 -1
  52. package/esm2022/chart/shared/chart-config-service/chart-config.service.mjs +4 -4
  53. package/esm2022/chart/shared/chart-config-service/configs/annotations.config.mjs +1 -1
  54. package/esm2022/chart/shared/chart-config-service/configs/global-defaults.config.mjs +1 -1
  55. package/esm2022/chart/shared/chart-config-service/configs/interaction-functions-extensions.config.mjs +1 -1
  56. package/esm2022/chart/shared/chart-config-service/configs/type.config.mjs +1 -1
  57. package/esm2022/chart/shared/chart-config-service/index.mjs +1 -1
  58. package/esm2022/chart/shared/chart-js-service/annotations.delegate.mjs +1 -1
  59. package/esm2022/chart/shared/chart-js-service/chart-js.service.mjs +4 -4
  60. package/esm2022/chart/shared/chart-js-service/chartjs-plugin-marker/chartjs-plugin-marker.mjs +1 -1
  61. package/esm2022/chart/shared/chart-js-service/configured-chart-js.mjs +1 -1
  62. package/esm2022/chart/shared/chart-js-service/index.mjs +1 -1
  63. package/esm2022/chart/shared/chart-js-service/test-utils.mjs +1 -1
  64. package/esm2022/chart/shared/charts.types.mjs +1 -1
  65. package/esm2022/chart/shared/index.mjs +1 -1
  66. package/esm2022/chart/stock-chart/index.mjs +1 -1
  67. package/esm2022/chart/stock-chart/stock-chart-js.service.mjs +4 -4
  68. package/esm2022/chart/stock-chart/stock-chart.component.mjs +4 -4
  69. package/esm2022/checkbox/checkbox.component.mjs +18 -11
  70. package/esm2022/checkbox/kirbydesign-designsystem-checkbox.mjs +1 -1
  71. package/esm2022/checkbox/public_api.mjs +1 -1
  72. package/esm2022/data-table/data-table.module.mjs +5 -5
  73. package/esm2022/data-table/kirbydesign-designsystem-data-table.mjs +1 -1
  74. package/esm2022/data-table/public_api.mjs +1 -1
  75. package/esm2022/data-table/sortable/sortable.component.mjs +4 -4
  76. package/esm2022/data-table/table/table.component.mjs +4 -4
  77. package/esm2022/data-table/table-row/table-row.component.mjs +4 -4
  78. package/esm2022/divider/divider.component.mjs +4 -4
  79. package/esm2022/divider/kirbydesign-designsystem-divider.mjs +1 -1
  80. package/esm2022/divider/public_api.mjs +1 -1
  81. package/esm2022/dropdown/dropdown.component.mjs +5 -5
  82. package/esm2022/dropdown/dropdown.module.mjs +5 -5
  83. package/esm2022/dropdown/dropdown.types.mjs +1 -1
  84. package/esm2022/dropdown/keyboard-handler.service.mjs +4 -4
  85. package/esm2022/dropdown/kirbydesign-designsystem-dropdown.mjs +1 -1
  86. package/esm2022/dropdown/public_api.mjs +1 -1
  87. package/esm2022/empty-state/empty-state.component.mjs +4 -4
  88. package/esm2022/empty-state/empty-state.module.mjs +5 -5
  89. package/esm2022/empty-state/kirbydesign-designsystem-empty-state.mjs +1 -1
  90. package/esm2022/empty-state/public_api.mjs +1 -1
  91. package/esm2022/fab-sheet/fab-sheet.component.mjs +4 -4
  92. package/esm2022/fab-sheet/kirbydesign-designsystem-fab-sheet.mjs +1 -1
  93. package/esm2022/fab-sheet/public_api.mjs +1 -1
  94. package/esm2022/flag/flag.component.mjs +4 -4
  95. package/esm2022/flag/kirbydesign-designsystem-flag.mjs +1 -1
  96. package/esm2022/flag/public_api.mjs +1 -1
  97. package/esm2022/form-field/directives/affix/affix.directive.mjs +4 -4
  98. package/esm2022/form-field/directives/date/date-input.directive.mjs +4 -4
  99. package/esm2022/form-field/directives/decimal-mask/decimal-mask.directive.mjs +4 -4
  100. package/esm2022/form-field/form-field-message/form-field-message.component.mjs +4 -4
  101. package/esm2022/form-field/form-field.component.mjs +4 -4
  102. package/esm2022/form-field/form-field.module.mjs +5 -5
  103. package/esm2022/form-field/input/input.component.mjs +4 -4
  104. package/esm2022/form-field/input-counter/input-counter.component.mjs +4 -4
  105. package/esm2022/form-field/kirbydesign-designsystem-form-field.mjs +1 -1
  106. package/esm2022/form-field/public_api.mjs +1 -1
  107. package/esm2022/form-field/textarea/textarea.component.mjs +4 -4
  108. package/esm2022/header/header.component.mjs +23 -16
  109. package/esm2022/header/header.module.mjs +5 -5
  110. package/esm2022/header/kirbydesign-designsystem-header.mjs +1 -1
  111. package/esm2022/header/public_api.mjs +1 -1
  112. package/esm2022/helpers/chart-config-has-type.mjs +1 -1
  113. package/esm2022/helpers/color-helper.mjs +1 -1
  114. package/esm2022/helpers/deep-copy.mjs +1 -1
  115. package/esm2022/helpers/design-token-helper.mjs +1 -1
  116. package/esm2022/helpers/element-has-ancestor.mjs +1 -1
  117. package/esm2022/helpers/ionic-element-part-helper.mjs +4 -4
  118. package/esm2022/helpers/kirby-animation.mjs +1 -1
  119. package/esm2022/helpers/kirbydesign-designsystem-helpers.mjs +1 -1
  120. package/esm2022/helpers/line-clamp-helper.mjs +4 -4
  121. package/esm2022/helpers/merge-deep.mjs +1 -1
  122. package/esm2022/helpers/platform.service.mjs +4 -4
  123. package/esm2022/helpers/public_api.mjs +1 -1
  124. package/esm2022/helpers/scss/kirbydesign-designsystem-helpers-scss.mjs +1 -1
  125. package/esm2022/helpers/scss/public_api.mjs +1 -1
  126. package/esm2022/helpers/scss/scss-helper.mjs +1 -1
  127. package/esm2022/helpers/string-helper.mjs +1 -1
  128. package/esm2022/helpers/theme-color.type.mjs +1 -1
  129. package/esm2022/helpers/unique-id-generator.helper.mjs +1 -1
  130. package/esm2022/icon/icon-registry.service.mjs +4 -4
  131. package/esm2022/icon/icon-settings.mjs +1 -1
  132. package/esm2022/icon/icon.component.mjs +4 -4
  133. package/esm2022/icon/icon.module.mjs +5 -5
  134. package/esm2022/icon/kirby-icon-settings.mjs +1 -1
  135. package/esm2022/icon/kirbydesign-designsystem-icon.mjs +1 -1
  136. package/esm2022/icon/public_api.mjs +1 -1
  137. package/esm2022/item/item.component.mjs +41 -8
  138. package/esm2022/item/item.module.mjs +5 -5
  139. package/esm2022/item/kirbydesign-designsystem-item.mjs +1 -1
  140. package/esm2022/item/label/label.component.mjs +4 -4
  141. package/esm2022/item/public_api.mjs +1 -1
  142. package/esm2022/item-group/item-group.component.mjs +4 -4
  143. package/esm2022/item-group/kirbydesign-designsystem-item-group.mjs +1 -1
  144. package/esm2022/item-group/public_api.mjs +1 -1
  145. package/esm2022/item-sliding/item-sliding.component.mjs +4 -4
  146. package/esm2022/item-sliding/item-sliding.types.mjs +1 -1
  147. package/esm2022/item-sliding/kirbydesign-designsystem-item-sliding.mjs +1 -1
  148. package/esm2022/item-sliding/public_api.mjs +1 -1
  149. package/esm2022/kirby-app/kirby-app.component.mjs +4 -4
  150. package/esm2022/kirby-app/kirby-app.module.mjs +5 -5
  151. package/esm2022/kirby-app/kirbydesign-designsystem-kirby-app.mjs +1 -1
  152. package/esm2022/kirby-app/public_api.mjs +1 -1
  153. package/esm2022/kirby-ionic-module/kirby-ionic.module.mjs +5 -5
  154. package/esm2022/kirby-ionic-module/kirbydesign-designsystem-kirby-ionic-module.mjs +1 -1
  155. package/esm2022/kirby-ionic-module/public_api.mjs +1 -1
  156. package/esm2022/kirbydesign-designsystem.mjs +1 -1
  157. package/esm2022/lib/components/index.mjs +1 -1
  158. package/esm2022/lib/components/page-local-navigation/index.mjs +1 -1
  159. package/esm2022/lib/components/page-local-navigation/page-local-navigation-item.mjs +1 -1
  160. package/esm2022/lib/components/page-local-navigation/page-local-navigation.component.mjs +4 -4
  161. package/esm2022/lib/components/segmented-control/segment-item.mjs +1 -1
  162. package/esm2022/lib/components/segmented-control/segmented-control.component.mjs +5 -5
  163. package/esm2022/lib/directives/index.mjs +1 -1
  164. package/esm2022/lib/directives/key-handler/key-handler.directive.mjs +4 -4
  165. package/esm2022/lib/directives/modal-router-link/modal-router-link.directive.mjs +4 -4
  166. package/esm2022/lib/index.mjs +1 -1
  167. package/esm2022/lib/kirby-experimental.module.mjs +5 -5
  168. package/esm2022/lib/kirby.module.mjs +5 -5
  169. package/esm2022/list/directives/index.mjs +1 -1
  170. package/esm2022/list/directives/infinite-scroll.directive.mjs +4 -4
  171. package/esm2022/list/directives/list-item-color.directive.mjs +4 -4
  172. package/esm2022/list/directives/scroll.model.mjs +1 -1
  173. package/esm2022/list/helpers/index.mjs +1 -1
  174. package/esm2022/list/helpers/list-helper.mjs +4 -4
  175. package/esm2022/list/kirbydesign-designsystem-list.mjs +1 -1
  176. package/esm2022/list/list-experimental/index.mjs +1 -1
  177. package/esm2022/list/list-experimental/list-experimental.component.mjs +4 -4
  178. package/esm2022/list/list-header/index.mjs +1 -1
  179. package/esm2022/list/list-header/list-header.component.mjs +4 -4
  180. package/esm2022/list/list-item/index.mjs +1 -1
  181. package/esm2022/list/list-item/list-item.component.mjs +5 -5
  182. package/esm2022/list/list-section-header/index.mjs +1 -1
  183. package/esm2022/list/list-section-header/list-section-header.component.mjs +4 -4
  184. package/esm2022/list/list-swipe-action.mjs +1 -1
  185. package/esm2022/list/list-swipe-action.type.mjs +1 -1
  186. package/esm2022/list/list.component.mjs +5 -5
  187. package/esm2022/list/list.directive.mjs +13 -13
  188. package/esm2022/list/list.event.mjs +1 -1
  189. package/esm2022/list/list.module.mjs +18 -12
  190. package/esm2022/list/public_api.mjs +1 -1
  191. package/esm2022/loading-overlay/kirbydesign-designsystem-loading-overlay.mjs +1 -1
  192. package/esm2022/loading-overlay/loading-overlay.component.mjs +4 -4
  193. package/esm2022/loading-overlay/loading-overlay.service.mjs +4 -4
  194. package/esm2022/loading-overlay/public_api.mjs +1 -1
  195. package/esm2022/menu/kirbydesign-designsystem-menu.mjs +1 -1
  196. package/esm2022/menu/menu.component.mjs +4 -4
  197. package/esm2022/menu/public_api.mjs +1 -1
  198. package/esm2022/modal/kirbydesign-designsystem-modal.mjs +1 -1
  199. package/esm2022/modal/modal/action-sheet/action-sheet.component.mjs +4 -4
  200. package/esm2022/modal/modal/action-sheet/config/action-sheet-config.mjs +1 -1
  201. package/esm2022/modal/modal/action-sheet/config/action-sheet-item.mjs +1 -1
  202. package/esm2022/modal/modal/action-sheet/index.mjs +1 -1
  203. package/esm2022/modal/modal/alert/alert.component.mjs +4 -4
  204. package/esm2022/modal/modal/alert/config/alert-config.mjs +1 -1
  205. package/esm2022/modal/modal/alert/index.mjs +1 -1
  206. package/esm2022/modal/modal/footer/modal-footer.component.mjs +5 -5
  207. package/esm2022/modal/modal/index.mjs +1 -1
  208. package/esm2022/modal/modal/modal-component/modal.component.mjs +12 -19
  209. package/esm2022/modal/modal/services/action-sheet.helper.mjs +4 -4
  210. package/esm2022/modal/modal/services/alert.helper.mjs +4 -4
  211. package/esm2022/modal/modal/services/can-dismiss-modal-guard.mjs +31 -0
  212. package/esm2022/modal/modal/services/can-dismiss.helper.mjs +4 -4
  213. package/esm2022/modal/modal/services/index.mjs +2 -1
  214. package/esm2022/modal/modal/services/modal-animation-builder.service.mjs +4 -4
  215. package/esm2022/modal/modal/services/modal.controller.mjs +12 -8
  216. package/esm2022/modal/modal/services/modal.helper.mjs +24 -26
  217. package/esm2022/modal/modal-navigation.service.mjs +25 -14
  218. package/esm2022/modal/modal-wrapper/compact/index.mjs +1 -1
  219. package/esm2022/modal/modal-wrapper/compact/modal-compact-wrapper.component.mjs +4 -4
  220. package/esm2022/modal/modal-wrapper/config/drawer-supplementary-action.mjs +1 -1
  221. package/esm2022/modal/modal-wrapper/config/index.mjs +1 -1
  222. package/esm2022/modal/modal-wrapper/config/modal-config.helper.mjs +1 -1
  223. package/esm2022/modal/modal-wrapper/config/modal-config.mjs +1 -1
  224. package/esm2022/modal/modal-wrapper/index.mjs +1 -1
  225. package/esm2022/modal/modal-wrapper/modal-elements-mover.delegate.mjs +1 -1
  226. package/esm2022/modal/modal-wrapper/modal-wrapper.component.mjs +5 -5
  227. package/esm2022/modal/modal.interfaces.mjs +4 -4
  228. package/esm2022/modal/public_api.mjs +1 -1
  229. package/esm2022/modal/v2/footer/footer.component.mjs +5 -5
  230. package/esm2022/modal/v2/kirby-modal.module.mjs +5 -5
  231. package/esm2022/modal/v2/kirbydesign-designsystem-modal-v2.mjs +1 -1
  232. package/esm2022/modal/v2/modal/modal.component.mjs +5 -5
  233. package/esm2022/modal/v2/modal-routing/modal-routing.component.mjs +4 -4
  234. package/esm2022/modal/v2/public_api.mjs +1 -1
  235. package/esm2022/modal/v2/services/modal.controller.mjs +4 -4
  236. package/esm2022/modal/v2/wrapper/wrapper.component.mjs +5 -5
  237. package/esm2022/page/kirbydesign-designsystem-page.mjs +1 -1
  238. package/esm2022/page/page-footer/page-footer.component.mjs +5 -5
  239. package/esm2022/page/page.component.mjs +38 -35
  240. package/esm2022/page/page.module.mjs +5 -5
  241. package/esm2022/page/public_api.mjs +1 -1
  242. package/esm2022/popover/kirbydesign-designsystem-popover.mjs +1 -1
  243. package/esm2022/popover/popover.component.mjs +4 -4
  244. package/esm2022/popover/public_api.mjs +1 -1
  245. package/esm2022/progress-circle/kirbydesign-designsystem-progress-circle.mjs +1 -1
  246. package/esm2022/progress-circle/progress-circle-ring.component.mjs +4 -4
  247. package/esm2022/progress-circle/progress-circle.component.mjs +4 -4
  248. package/esm2022/progress-circle/public_api.mjs +1 -1
  249. package/esm2022/public-api.mjs +1 -1
  250. package/esm2022/radio/kirbydesign-designsystem-radio.mjs +1 -1
  251. package/esm2022/radio/public_api.mjs +1 -1
  252. package/esm2022/radio/radio-group/radio-group.component.mjs +4 -4
  253. package/esm2022/radio/radio-module.mjs +5 -5
  254. package/esm2022/radio/radio.component.mjs +17 -10
  255. package/esm2022/range/kirbydesign-designsystem-range.mjs +1 -1
  256. package/esm2022/range/public_api.mjs +1 -1
  257. package/esm2022/range/range.component.mjs +6 -6
  258. package/esm2022/reorder-list/kirbydesign-designsystem-reorder-list.mjs +1 -1
  259. package/esm2022/reorder-list/public_api.mjs +1 -1
  260. package/esm2022/reorder-list/reorder-event.mjs +1 -1
  261. package/esm2022/reorder-list/reorder-list.component.mjs +4 -4
  262. package/esm2022/router-outlet/kirbydesign-designsystem-router-outlet.mjs +1 -1
  263. package/esm2022/router-outlet/public_api.mjs +1 -1
  264. package/esm2022/router-outlet/router-outlet.component.mjs +4 -4
  265. package/esm2022/router-outlet/router-outlet.module.mjs +5 -5
  266. package/esm2022/section-header/kirbydesign-designsystem-section-header.mjs +1 -1
  267. package/esm2022/section-header/public_api.mjs +1 -1
  268. package/esm2022/section-header/section-header.component.mjs +4 -4
  269. package/esm2022/shared/component-configuration.mjs +1 -1
  270. package/esm2022/shared/component-loader.directive.mjs +4 -4
  271. package/esm2022/shared/dynamic-component.mjs +1 -1
  272. package/esm2022/shared/fit-heading/fit-heading.directive.mjs +4 -4
  273. package/esm2022/shared/fit-heading/index.mjs +1 -1
  274. package/esm2022/shared/floating/floating.directive.mjs +4 -4
  275. package/esm2022/shared/floating/kirbydesign-designsystem-shared-floating.mjs +1 -1
  276. package/esm2022/shared/floating/public_api.mjs +1 -1
  277. package/esm2022/shared/kirbydesign-designsystem-shared.mjs +1 -1
  278. package/esm2022/shared/portal/kirbydesign-designsystem-shared-portal.mjs +1 -1
  279. package/esm2022/shared/portal/portal.directive.mjs +4 -4
  280. package/esm2022/shared/portal/public_api.mjs +1 -1
  281. package/esm2022/shared/public_api.mjs +1 -1
  282. package/esm2022/shared/resize-observer/resize-observer.factory.mjs +4 -4
  283. package/esm2022/shared/resize-observer/resize-observer.service.mjs +4 -4
  284. package/esm2022/shared/theme-color/theme-color.directive.mjs +4 -4
  285. package/esm2022/slide/kirbydesign-designsystem-slide.mjs +1 -1
  286. package/esm2022/slide/public_api.mjs +1 -1
  287. package/esm2022/slide/slide-stretch-height.directive.mjs +4 -4
  288. package/esm2022/slide/slide.directive.mjs +4 -4
  289. package/esm2022/slide/slide.module.mjs +5 -5
  290. package/esm2022/slide/slides.component.mjs +4 -4
  291. package/esm2022/slide-button/kirbydesign-designsystem-slide-button.mjs +1 -1
  292. package/esm2022/slide-button/public_api.mjs +1 -1
  293. package/esm2022/slide-button/slide-button.component.mjs +5 -5
  294. package/esm2022/spinner/kirbydesign-designsystem-spinner.mjs +1 -1
  295. package/esm2022/spinner/public_api.mjs +1 -1
  296. package/esm2022/spinner/spinner.component.mjs +4 -4
  297. package/esm2022/spinner/spinner.module.mjs +5 -5
  298. package/esm2022/tab-navigation/kirbydesign-designsystem-tab-navigation.mjs +1 -1
  299. package/esm2022/tab-navigation/public_api.mjs +1 -1
  300. package/esm2022/tab-navigation/tab-navigation/tab-navigation.component.mjs +4 -4
  301. package/esm2022/tab-navigation/tab-navigation-item/tab-navigation-item.component.mjs +4 -4
  302. package/esm2022/tab-navigation/tab-navigation.module.mjs +5 -5
  303. package/esm2022/tabs/kirbydesign-designsystem-tabs.mjs +1 -1
  304. package/esm2022/tabs/public_api.mjs +1 -1
  305. package/esm2022/tabs/tab-button/tab-button.component.mjs +5 -5
  306. package/esm2022/tabs/tab-button/tab-button.events.mjs +1 -1
  307. package/esm2022/tabs/tabs.component.mjs +4 -4
  308. package/esm2022/tabs/tabs.module.mjs +5 -5
  309. package/esm2022/tabs/tabs.service.mjs +4 -4
  310. package/esm2022/testing/element-css-custom-matchers.mjs +1 -1
  311. package/esm2022/testing/kirbydesign-designsystem-testing.mjs +1 -1
  312. package/esm2022/testing/public_api.mjs +1 -1
  313. package/esm2022/testing/test-helper.mjs +5 -5
  314. package/esm2022/testing-base/kirbydesign-designsystem-testing-base.mjs +1 -1
  315. package/esm2022/testing-base/lib/components/index.mjs +1 -1
  316. package/esm2022/testing-base/lib/components/mock.accordion-item.component.mjs +6 -4
  317. package/esm2022/testing-base/lib/components/mock.action-group.component.mjs +6 -4
  318. package/esm2022/testing-base/lib/components/mock.action-sheet.component.mjs +6 -4
  319. package/esm2022/testing-base/lib/components/mock.alert.component.mjs +6 -4
  320. package/esm2022/testing-base/lib/components/mock.avatar.component.mjs +6 -4
  321. package/esm2022/testing-base/lib/components/mock.badge.component.mjs +6 -4
  322. package/esm2022/testing-base/lib/components/mock.base-chart.component.mjs +6 -4
  323. package/esm2022/testing-base/lib/components/mock.button.component.mjs +6 -4
  324. package/esm2022/testing-base/lib/components/mock.calendar.component.mjs +6 -4
  325. package/esm2022/testing-base/lib/components/mock.card-footer.component.mjs +6 -4
  326. package/esm2022/testing-base/lib/components/mock.card-header.component.mjs +6 -4
  327. package/esm2022/testing-base/lib/components/mock.card.component.mjs +6 -4
  328. package/esm2022/testing-base/lib/components/mock.chart.component.mjs +6 -4
  329. package/esm2022/testing-base/lib/components/mock.checkbox.component.mjs +6 -4
  330. package/esm2022/testing-base/lib/components/mock.divider.component.mjs +6 -4
  331. package/esm2022/testing-base/lib/components/mock.dropdown.component.mjs +6 -4
  332. package/esm2022/testing-base/lib/components/mock.empty-state.component.mjs +6 -4
  333. package/esm2022/testing-base/lib/components/mock.fab-sheet.component.mjs +6 -4
  334. package/esm2022/testing-base/lib/components/mock.flag.component.mjs +6 -4
  335. package/esm2022/testing-base/lib/components/mock.footer.component.mjs +6 -4
  336. package/esm2022/testing-base/lib/components/mock.form-field-message.component.mjs +6 -4
  337. package/esm2022/testing-base/lib/components/mock.form-field.component.mjs +6 -4
  338. package/esm2022/testing-base/lib/components/mock.header.component.mjs +12 -10
  339. package/esm2022/testing-base/lib/components/mock.icon.component.mjs +6 -4
  340. package/esm2022/testing-base/lib/components/mock.input-counter.component.mjs +6 -4
  341. package/esm2022/testing-base/lib/components/mock.input.component.mjs +6 -4
  342. package/esm2022/testing-base/lib/components/mock.item-group.component.mjs +6 -4
  343. package/esm2022/testing-base/lib/components/mock.item-sliding.component.mjs +6 -4
  344. package/esm2022/testing-base/lib/components/mock.item.component.mjs +6 -4
  345. package/esm2022/testing-base/lib/components/mock.kirby-app.component.mjs +6 -4
  346. package/esm2022/testing-base/lib/components/mock.label.component.mjs +6 -4
  347. package/esm2022/testing-base/lib/components/mock.list-experimental.component.mjs +6 -4
  348. package/esm2022/testing-base/lib/components/mock.list-header.component.mjs +6 -4
  349. package/esm2022/testing-base/lib/components/mock.list-item.component.mjs +6 -4
  350. package/esm2022/testing-base/lib/components/mock.list-section-header.component.mjs +6 -4
  351. package/esm2022/testing-base/lib/components/mock.list.component.mjs +6 -4
  352. package/esm2022/testing-base/lib/components/mock.loading-overlay.component.mjs +6 -4
  353. package/esm2022/testing-base/lib/components/mock.menu.component.mjs +6 -4
  354. package/esm2022/testing-base/lib/components/mock.modal-compact-wrapper.component.mjs +6 -4
  355. package/esm2022/testing-base/lib/components/mock.modal-footer.component.mjs +6 -4
  356. package/esm2022/testing-base/lib/components/mock.modal-routing.component.mjs +6 -4
  357. package/esm2022/testing-base/lib/components/mock.modal-wrapper.component.mjs +6 -4
  358. package/esm2022/testing-base/lib/components/mock.modal.component.mjs +6 -4
  359. package/esm2022/testing-base/lib/components/mock.page-footer.component.mjs +6 -4
  360. package/esm2022/testing-base/lib/components/mock.page-local-navigation.component.mjs +6 -4
  361. package/esm2022/testing-base/lib/components/mock.page.component.mjs +44 -34
  362. package/esm2022/testing-base/lib/components/mock.popover.component.mjs +6 -4
  363. package/esm2022/testing-base/lib/components/mock.progress-circle-ring.component.mjs +6 -4
  364. package/esm2022/testing-base/lib/components/mock.progress-circle.component.mjs +6 -4
  365. package/esm2022/testing-base/lib/components/mock.radio-group.component.mjs +6 -4
  366. package/esm2022/testing-base/lib/components/mock.radio.component.mjs +6 -4
  367. package/esm2022/testing-base/lib/components/mock.range.component.mjs +6 -4
  368. package/esm2022/testing-base/lib/components/mock.reorder-list.component.mjs +6 -4
  369. package/esm2022/testing-base/lib/components/mock.router-outlet.component.mjs +6 -4
  370. package/esm2022/testing-base/lib/components/mock.section-header.component.mjs +6 -4
  371. package/esm2022/testing-base/lib/components/mock.segmented-control.component.mjs +6 -4
  372. package/esm2022/testing-base/lib/components/mock.slide-button.component.mjs +6 -4
  373. package/esm2022/testing-base/lib/components/mock.slides.component.mjs +6 -4
  374. package/esm2022/testing-base/lib/components/mock.spinner.component.mjs +6 -4
  375. package/esm2022/testing-base/lib/components/mock.stock-chart.component.mjs +6 -4
  376. package/esm2022/testing-base/lib/components/mock.tab-button.component.mjs +6 -4
  377. package/esm2022/testing-base/lib/components/mock.tab-navigation-item.component.mjs +6 -4
  378. package/esm2022/testing-base/lib/components/mock.tab-navigation.component.mjs +6 -4
  379. package/esm2022/testing-base/lib/components/mock.table-row.component.mjs +6 -4
  380. package/esm2022/testing-base/lib/components/mock.table.component.mjs +6 -4
  381. package/esm2022/testing-base/lib/components/mock.tabs.component.mjs +6 -4
  382. package/esm2022/testing-base/lib/components/mock.textarea.component.mjs +6 -4
  383. package/esm2022/testing-base/lib/components/mock.toggle-button.component.mjs +6 -4
  384. package/esm2022/testing-base/lib/components/mock.toggle.component.mjs +6 -4
  385. package/esm2022/testing-base/lib/components/mock.wrapper.component.mjs +6 -4
  386. package/esm2022/testing-base/lib/directives/index.mjs +1 -1
  387. package/esm2022/testing-base/lib/directives/mock.accordion.directive.mjs +4 -4
  388. package/esm2022/testing-base/lib/directives/mock.affix.directive.mjs +4 -4
  389. package/esm2022/testing-base/lib/directives/mock.card-as-button.directive.mjs +4 -4
  390. package/esm2022/testing-base/lib/directives/mock.component-loader.directive.mjs +4 -4
  391. package/esm2022/testing-base/lib/directives/mock.date-input.directive.mjs +4 -4
  392. package/esm2022/testing-base/lib/directives/mock.decimal-mask.directive.mjs +4 -4
  393. package/esm2022/testing-base/lib/directives/mock.fit-heading.directive.mjs +4 -4
  394. package/esm2022/testing-base/lib/directives/mock.floating.directive.mjs +4 -4
  395. package/esm2022/testing-base/lib/directives/mock.infinite-scroll.directive.mjs +4 -4
  396. package/esm2022/testing-base/lib/directives/mock.key-handler.directive.mjs +4 -4
  397. package/esm2022/testing-base/lib/directives/mock.list-item-color.directive.mjs +4 -4
  398. package/esm2022/testing-base/lib/directives/mock.list.directive.mjs +13 -13
  399. package/esm2022/testing-base/lib/directives/mock.modal-router-link.directive.mjs +4 -4
  400. package/esm2022/testing-base/lib/directives/mock.portal.directive.mjs +4 -4
  401. package/esm2022/testing-base/lib/directives/mock.slide.directive.mjs +4 -4
  402. package/esm2022/testing-base/lib/directives/mock.theme-color.directive.mjs +4 -4
  403. package/esm2022/testing-base/lib/index.mjs +1 -1
  404. package/esm2022/testing-base/lib/kirby-testing-base.module.mjs +5 -5
  405. package/esm2022/testing-base/lib/mock-components.mjs +1 -1
  406. package/esm2022/testing-base/lib/mock-directives.mjs +1 -1
  407. package/esm2022/testing-base/public_api.mjs +1 -1
  408. package/esm2022/testing-jasmine/kirbydesign-designsystem-testing-jasmine.mjs +1 -1
  409. package/esm2022/testing-jasmine/lib/kirby-testing.module.mjs +5 -5
  410. package/esm2022/testing-jasmine/lib/mock-providers.mjs +1 -1
  411. package/esm2022/testing-jasmine/public_api.mjs +1 -1
  412. package/esm2022/testing-jest/kirbydesign-designsystem-testing-jest.mjs +1 -1
  413. package/esm2022/testing-jest/lib/kirby-testing.module.mjs +5 -5
  414. package/esm2022/testing-jest/lib/mock-providers.mjs +1 -1
  415. package/esm2022/testing-jest/public_api.mjs +1 -1
  416. package/esm2022/toast/config/toast-config.mjs +1 -1
  417. package/esm2022/toast/kirbydesign-designsystem-toast.mjs +1 -1
  418. package/esm2022/toast/public_api.mjs +1 -1
  419. package/esm2022/toast/services/indexs.mjs +1 -1
  420. package/esm2022/toast/services/toast.controller.mjs +4 -4
  421. package/esm2022/toast/services/toast.helper.mjs +4 -4
  422. package/esm2022/toggle/kirbydesign-designsystem-toggle.mjs +1 -1
  423. package/esm2022/toggle/public_api.mjs +1 -1
  424. package/esm2022/toggle/toggle.component.mjs +22 -9
  425. package/esm2022/toggle-button/kirbydesign-designsystem-toggle-button.mjs +1 -1
  426. package/esm2022/toggle-button/public_api.mjs +1 -1
  427. package/esm2022/toggle-button/toggle-button.component.mjs +4 -4
  428. package/esm2022/toggle-button/toggle-button.module.mjs +5 -5
  429. package/esm2022/types/event-listener-dispose-fn.mjs +1 -1
  430. package/esm2022/types/kirbydesign-designsystem-types.mjs +1 -1
  431. package/esm2022/types/public_api.mjs +1 -1
  432. package/esm2022/types/window-ref.mjs +4 -4
  433. package/fesm2022/kirbydesign-designsystem-accordion.mjs +14 -11
  434. package/fesm2022/kirbydesign-designsystem-accordion.mjs.map +1 -1
  435. package/fesm2022/kirbydesign-designsystem-action-group.mjs +3 -3
  436. package/fesm2022/kirbydesign-designsystem-action-group.mjs.map +1 -1
  437. package/fesm2022/kirbydesign-designsystem-avatar.mjs +11 -5
  438. package/fesm2022/kirbydesign-designsystem-avatar.mjs.map +1 -1
  439. package/fesm2022/kirbydesign-designsystem-badge.mjs +3 -3
  440. package/fesm2022/kirbydesign-designsystem-badge.mjs.map +1 -1
  441. package/fesm2022/kirbydesign-designsystem-button.mjs +4 -4
  442. package/fesm2022/kirbydesign-designsystem-button.mjs.map +1 -1
  443. package/fesm2022/kirbydesign-designsystem-calendar.mjs +6 -6
  444. package/fesm2022/kirbydesign-designsystem-calendar.mjs.map +1 -1
  445. package/fesm2022/kirbydesign-designsystem-card.mjs +42 -27
  446. package/fesm2022/kirbydesign-designsystem-card.mjs.map +1 -1
  447. package/fesm2022/kirbydesign-designsystem-chart.mjs +22 -22
  448. package/fesm2022/kirbydesign-designsystem-chart.mjs.map +1 -1
  449. package/fesm2022/kirbydesign-designsystem-checkbox.mjs +17 -10
  450. package/fesm2022/kirbydesign-designsystem-checkbox.mjs.map +1 -1
  451. package/fesm2022/kirbydesign-designsystem-data-table.mjs +13 -13
  452. package/fesm2022/kirbydesign-designsystem-data-table.mjs.map +1 -1
  453. package/fesm2022/kirbydesign-designsystem-divider.mjs +3 -3
  454. package/fesm2022/kirbydesign-designsystem-divider.mjs.map +1 -1
  455. package/fesm2022/kirbydesign-designsystem-dropdown.mjs +11 -11
  456. package/fesm2022/kirbydesign-designsystem-dropdown.mjs.map +1 -1
  457. package/fesm2022/kirbydesign-designsystem-empty-state.mjs +7 -7
  458. package/fesm2022/kirbydesign-designsystem-empty-state.mjs.map +1 -1
  459. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs +3 -3
  460. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs.map +1 -1
  461. package/fesm2022/kirbydesign-designsystem-flag.mjs +3 -3
  462. package/fesm2022/kirbydesign-designsystem-flag.mjs.map +1 -1
  463. package/fesm2022/kirbydesign-designsystem-form-field.mjs +28 -28
  464. package/fesm2022/kirbydesign-designsystem-form-field.mjs.map +1 -1
  465. package/fesm2022/kirbydesign-designsystem-header.mjs +26 -19
  466. package/fesm2022/kirbydesign-designsystem-header.mjs.map +1 -1
  467. package/fesm2022/kirbydesign-designsystem-helpers-scss.mjs.map +1 -1
  468. package/fesm2022/kirbydesign-designsystem-helpers.mjs +9 -9
  469. package/fesm2022/kirbydesign-designsystem-helpers.mjs.map +1 -1
  470. package/fesm2022/kirbydesign-designsystem-icon.mjs +10 -10
  471. package/fesm2022/kirbydesign-designsystem-icon.mjs.map +1 -1
  472. package/fesm2022/kirbydesign-designsystem-item-group.mjs +3 -3
  473. package/fesm2022/kirbydesign-designsystem-item-group.mjs.map +1 -1
  474. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs +3 -3
  475. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs.map +1 -1
  476. package/fesm2022/kirbydesign-designsystem-item.mjs +65 -33
  477. package/fesm2022/kirbydesign-designsystem-item.mjs.map +1 -1
  478. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs +7 -7
  479. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs.map +1 -1
  480. package/fesm2022/kirbydesign-designsystem-kirby-ionic-module.mjs +4 -4
  481. package/fesm2022/kirbydesign-designsystem-kirby-ionic-module.mjs.map +1 -1
  482. package/fesm2022/kirbydesign-designsystem-list.mjs +55 -49
  483. package/fesm2022/kirbydesign-designsystem-list.mjs.map +1 -1
  484. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs +6 -6
  485. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs.map +1 -1
  486. package/fesm2022/kirbydesign-designsystem-menu.mjs +3 -3
  487. package/fesm2022/kirbydesign-designsystem-menu.mjs.map +1 -1
  488. package/fesm2022/kirbydesign-designsystem-modal-v2.mjs +22 -22
  489. package/fesm2022/kirbydesign-designsystem-modal-v2.mjs.map +1 -1
  490. package/fesm2022/kirbydesign-designsystem-modal.mjs +124 -91
  491. package/fesm2022/kirbydesign-designsystem-modal.mjs.map +1 -1
  492. package/fesm2022/kirbydesign-designsystem-page.mjs +45 -42
  493. package/fesm2022/kirbydesign-designsystem-page.mjs.map +1 -1
  494. package/fesm2022/kirbydesign-designsystem-popover.mjs +3 -3
  495. package/fesm2022/kirbydesign-designsystem-popover.mjs.map +1 -1
  496. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs +6 -6
  497. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs.map +1 -1
  498. package/fesm2022/kirbydesign-designsystem-radio.mjs +23 -16
  499. package/fesm2022/kirbydesign-designsystem-radio.mjs.map +1 -1
  500. package/fesm2022/kirbydesign-designsystem-range.mjs +5 -5
  501. package/fesm2022/kirbydesign-designsystem-range.mjs.map +1 -1
  502. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs +3 -3
  503. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs.map +1 -1
  504. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs +7 -7
  505. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs.map +1 -1
  506. package/fesm2022/kirbydesign-designsystem-section-header.mjs +3 -3
  507. package/fesm2022/kirbydesign-designsystem-section-header.mjs.map +1 -1
  508. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs +3 -3
  509. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs.map +1 -1
  510. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs +3 -3
  511. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs.map +1 -1
  512. package/fesm2022/kirbydesign-designsystem-shared.mjs +15 -15
  513. package/fesm2022/kirbydesign-designsystem-shared.mjs.map +1 -1
  514. package/fesm2022/kirbydesign-designsystem-slide-button.mjs +4 -4
  515. package/fesm2022/kirbydesign-designsystem-slide-button.mjs.map +1 -1
  516. package/fesm2022/kirbydesign-designsystem-slide.mjs +13 -13
  517. package/fesm2022/kirbydesign-designsystem-slide.mjs.map +1 -1
  518. package/fesm2022/kirbydesign-designsystem-spinner.mjs +7 -7
  519. package/fesm2022/kirbydesign-designsystem-spinner.mjs.map +1 -1
  520. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs +10 -10
  521. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs.map +1 -1
  522. package/fesm2022/kirbydesign-designsystem-tabs.mjs +14 -14
  523. package/fesm2022/kirbydesign-designsystem-tabs.mjs.map +1 -1
  524. package/fesm2022/kirbydesign-designsystem-testing-base.mjs +455 -307
  525. package/fesm2022/kirbydesign-designsystem-testing-base.mjs.map +1 -1
  526. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs +4 -4
  527. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs.map +1 -1
  528. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs +4 -4
  529. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs.map +1 -1
  530. package/fesm2022/kirbydesign-designsystem-testing.mjs +4 -4
  531. package/fesm2022/kirbydesign-designsystem-testing.mjs.map +1 -1
  532. package/fesm2022/kirbydesign-designsystem-toast.mjs +6 -6
  533. package/fesm2022/kirbydesign-designsystem-toast.mjs.map +1 -1
  534. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs +7 -7
  535. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs.map +1 -1
  536. package/fesm2022/kirbydesign-designsystem-toggle.mjs +20 -7
  537. package/fesm2022/kirbydesign-designsystem-toggle.mjs.map +1 -1
  538. package/fesm2022/kirbydesign-designsystem-types.mjs +3 -3
  539. package/fesm2022/kirbydesign-designsystem-types.mjs.map +1 -1
  540. package/fesm2022/kirbydesign-designsystem.mjs +21 -21
  541. package/fesm2022/kirbydesign-designsystem.mjs.map +1 -1
  542. package/header/header.component.d.ts +5 -2
  543. package/item/item.component.d.ts +11 -2
  544. package/list/list.module.d.ts +1 -1
  545. package/modal/modal/modal-component/modal.component.d.ts +5 -5
  546. package/modal/modal/services/can-dismiss-modal-guard.d.ts +2 -0
  547. package/modal/modal/services/index.d.ts +1 -0
  548. package/modal/modal/services/modal.controller.d.ts +2 -0
  549. package/modal/modal/services/modal.helper.d.ts +3 -4
  550. package/modal/modal-navigation.service.d.ts +1 -0
  551. package/modal/modal.interfaces.d.ts +1 -0
  552. package/package.json +51 -51
  553. package/radio/radio.component.d.ts +8 -4
  554. package/scss/base/_design-tokens.scss +1 -0
  555. package/scss/themes/design-tokens.scss +1 -0
  556. package/testing-base/lib/components/mock.avatar.component.d.ts +1 -1
  557. package/testing-base/lib/components/mock.button.component.d.ts +1 -1
  558. package/testing-jest/lib/mock-providers.d.ts +28 -28
  559. package/toggle/toggle.component.d.ts +8 -4
  560. package/README.md +0 -7
@@ -31,30 +31,30 @@ const PAGE_WIDTH_STANDARD_DEPRECATION_WARNING = 'Deprecation warning: The suppor
31
31
  const PAGE_WIDTH_OPTIMIZED_DEPRECATION_WARNING = 'Deprecation warning: The "optimized" maxWidth option is deprecated, please use "lg" instead. The support for "optimized" as a maxWidth option will be removed in Kirby version 10.';
32
32
  const PAGE_BACK_BUTTON_OVERRIDE = new InjectionToken('page-back-button-override');
33
33
  class PageTitleDirective {
34
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
35
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.9", type: PageTitleDirective, selector: "[kirbyPageTitle]", ngImport: i0 }); }
34
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
35
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: PageTitleDirective, selector: "[kirbyPageTitle]", ngImport: i0 }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageTitleDirective, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageTitleDirective, decorators: [{
38
38
  type: Directive,
39
39
  args: [{
40
40
  selector: '[kirbyPageTitle]',
41
41
  }]
42
42
  }] });
43
43
  class PageSubtitleDirective {
44
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageSubtitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
45
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.9", type: PageSubtitleDirective, selector: "[kirbyPageSubtitle]", ngImport: i0 }); }
44
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageSubtitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
45
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: PageSubtitleDirective, selector: "[kirbyPageSubtitle]", ngImport: i0 }); }
46
46
  }
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageSubtitleDirective, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageSubtitleDirective, decorators: [{
48
48
  type: Directive,
49
49
  args: [{
50
50
  selector: '[kirbyPageSubtitle]',
51
51
  }]
52
52
  }] });
53
53
  class PageToolbarTitleDirective {
54
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageToolbarTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
55
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.9", type: PageToolbarTitleDirective, selector: "[kirbyPageToolbarTitle]", ngImport: i0 }); }
54
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageToolbarTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
55
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: PageToolbarTitleDirective, selector: "[kirbyPageToolbarTitle]", ngImport: i0 }); }
56
56
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageToolbarTitleDirective, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageToolbarTitleDirective, decorators: [{
58
58
  type: Directive,
59
59
  args: [{
60
60
  selector: '[kirbyPageToolbarTitle]',
@@ -73,10 +73,10 @@ class PageActionsDirective {
73
73
  get isFixed() {
74
74
  return this.config ? this.config.fixed : this.fixedDefault;
75
75
  }
76
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageActionsDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
77
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.9", type: PageActionsDirective, selector: "[kirbyPageActions]", inputs: { config: ["kirbyPageActions", "config"] }, ngImport: i0 }); }
76
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageActionsDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
77
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: PageActionsDirective, selector: "[kirbyPageActions]", inputs: { config: ["kirbyPageActions", "config"] }, ngImport: i0 }); }
78
78
  }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageActionsDirective, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageActionsDirective, decorators: [{
80
80
  type: Directive,
81
81
  args: [{
82
82
  selector: '[kirbyPageActions]',
@@ -92,10 +92,10 @@ class PageContentDirective {
92
92
  get isFixed() {
93
93
  return this.config && this.config.fixed;
94
94
  }
95
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageContentDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
96
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.9", type: PageContentDirective, selector: "[kirbyPageContent]", inputs: { config: ["kirbyPageContent", "config"] }, ngImport: i0 }); }
95
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageContentDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
96
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: PageContentDirective, selector: "[kirbyPageContent]", inputs: { config: ["kirbyPageContent", "config"] }, ngImport: i0 }); }
97
97
  }
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageContentDirective, decorators: [{
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageContentDirective, decorators: [{
99
99
  type: Directive,
100
100
  args: [{
101
101
  selector: '[kirbyPageContent]',
@@ -105,10 +105,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
105
105
  args: ['kirbyPageContent']
106
106
  }] } });
107
107
  class PageStickyContentDirective {
108
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageStickyContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
109
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.9", type: PageStickyContentDirective, selector: "[kirbyPageStickyContent]", ngImport: i0 }); }
108
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageStickyContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
109
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: PageStickyContentDirective, selector: "[kirbyPageStickyContent]", ngImport: i0 }); }
110
110
  }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageStickyContentDirective, decorators: [{
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageStickyContentDirective, decorators: [{
112
112
  type: Directive,
113
113
  args: [{
114
114
  selector: '[kirbyPageStickyContent]',
@@ -121,12 +121,12 @@ class PageProgressComponent extends ModalElementComponent {
121
121
  // This implementation was chosen over expanding `moveChild` method in component wrapper with yet another scenario
122
122
  this.slot = 'start';
123
123
  }
124
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageProgressComponent, deps: [{ token: i1.ModalElementsAdvertiser, optional: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
125
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: PageProgressComponent, selector: "kirby-page-progress", host: { properties: { "attr.slot": "this.slot" } }, usesInheritance: true, ngImport: i0, template: `
124
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageProgressComponent, deps: [{ token: i1.ModalElementsAdvertiser, optional: true }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
125
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PageProgressComponent, selector: "kirby-page-progress", host: { properties: { "attr.slot": "this.slot" } }, usesInheritance: true, ngImport: i0, template: `
126
126
  <ng-content></ng-content>
127
127
  `, isInline: true, styles: [":host{display:flex;margin-inline-end:4px}\n"] }); }
128
128
  }
129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageProgressComponent, decorators: [{
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageProgressComponent, decorators: [{
130
130
  type: Component,
131
131
  args: [{ selector: 'kirby-page-progress', template: `
132
132
  <ng-content></ng-content>
@@ -141,12 +141,12 @@ class PageTitleComponent extends ModalElementComponent {
141
141
  constructor(elementRef, modalElementsAdvertiser) {
142
142
  super(ModalElementType.TITLE, elementRef, modalElementsAdvertiser);
143
143
  }
144
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageTitleComponent, deps: [{ token: i0.ElementRef }, { token: i1.ModalElementsAdvertiser, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
145
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: PageTitleComponent, selector: "kirby-page-title", usesInheritance: true, ngImport: i0, template: `
144
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageTitleComponent, deps: [{ token: i0.ElementRef }, { token: i1.ModalElementsAdvertiser, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
145
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PageTitleComponent, selector: "kirby-page-title", usesInheritance: true, ngImport: i0, template: `
146
146
  <ng-content></ng-content>
147
147
  `, isInline: true }); }
148
148
  }
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageTitleComponent, decorators: [{
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageTitleComponent, decorators: [{
150
150
  type: Component,
151
151
  args: [{
152
152
  selector: 'kirby-page-title',
@@ -158,12 +158,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
158
158
  type: Optional
159
159
  }] }] });
160
160
  class PageContentComponent {
161
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
162
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: PageContentComponent, selector: "kirby-page-content", ngImport: i0, template: `
161
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
162
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PageContentComponent, selector: "kirby-page-content", ngImport: i0, template: `
163
163
  <ng-content></ng-content>
164
164
  `, isInline: true }); }
165
165
  }
166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageContentComponent, decorators: [{
166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageContentComponent, decorators: [{
167
167
  type: Component,
168
168
  args: [{
169
169
  selector: 'kirby-page-content',
@@ -173,12 +173,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
173
173
  }]
174
174
  }] });
175
175
  class PageActionsComponent {
176
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
177
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: PageActionsComponent, selector: "kirby-page-actions", ngImport: i0, template: `
176
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
177
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PageActionsComponent, selector: "kirby-page-actions", ngImport: i0, template: `
178
178
  <ng-content select="button[kirby-button]"></ng-content>
179
179
  `, isInline: true, styles: [":host{display:inline-flex;column-gap:8px}\n"] }); }
180
180
  }
181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageActionsComponent, decorators: [{
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageActionsComponent, decorators: [{
182
182
  type: Component,
183
183
  args: [{ selector: 'kirby-page-actions', template: `
184
184
  <ng-content select="button[kirby-button]"></ng-content>
@@ -434,6 +434,9 @@ class PageComponent {
434
434
  this.hasPageSubtitle = this.subtitle !== undefined || !!this.customSubtitleTemplate;
435
435
  if (this.header?.title && !this.toolbarTitle) {
436
436
  this.toolbarTitle = this.header.title;
437
+ this.header.title$.pipe(takeUntil(this.ngOnDestroy$)).subscribe((title) => {
438
+ this.toolbarTitle = title;
439
+ });
437
440
  }
438
441
  this.observeTitle();
439
442
  const defaultTitleTemplate = this.customTitleTemplate || this.simpleTitleTemplate;
@@ -627,12 +630,12 @@ class PageComponent {
627
630
  this.content.scrollToTop(KirbyAnimation.Duration.LONG);
628
631
  }
629
632
  }
630
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageComponent, deps: [{ token: i0.ElementRef }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: i2.Router }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.ModalNavigationService }, { token: i3.ResizeObserverService }, { token: i4.TabsComponent, optional: true, skipSelf: true }, { token: PAGE_BACK_BUTTON_OVERRIDE, optional: true }, { token: i5.IonRouterOutlet, optional: true }, { token: i5.NavController, optional: true }, { token: i6.IonicElementPartHelper }], target: i0.ɵɵFactoryTarget.Component }); }
631
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: PageComponent, selector: "kirby-page", inputs: { title: "title", subtitle: "subtitle", toolbarTitle: "toolbarTitle", titleAlignment: "titleAlignment", defaultBackHref: "defaultBackHref", hideBackButton: "hideBackButton", titleMaxLines: "titleMaxLines", hasInteractiveTitle: "hasInteractiveTitle", maxWidth: "maxWidth", tabBarBottomHidden: "tabBarBottomHidden" }, outputs: { enter: "enter", leave: "leave", refresh: "refresh", backButtonClick: "backButtonClick", toolbarTitleClick: "toolbarTitleClick" }, host: { listeners: { "window:keyboardWillShow": "_onKeyboardWillShow($event)", "window:keyboardWillHide": "_onKeyboardWillHide()", "window:kirbySelectedTabClick": "_onSelectedTabClick()" } }, providers: [IonicElementPartHelper], queries: [{ propertyName: "customToolbarTitleTemplate", first: true, predicate: PageToolbarTitleDirective, descendants: true, read: TemplateRef }, { propertyName: "customTitleTemplate", first: true, predicate: PageTitleDirective, descendants: true, read: TemplateRef }, { propertyName: "customSubtitleTemplate", first: true, predicate: PageSubtitleDirective, descendants: true, read: TemplateRef }, { propertyName: "stickyContentRef", first: true, predicate: PageStickyContentDirective, descendants: true, read: TemplateRef }, { propertyName: "header", first: true, predicate: HeaderComponent, descendants: true }, { propertyName: "customActions", predicate: PageActionsDirective }, { propertyName: "customContent", predicate: PageContentDirective }], viewQueries: [{ propertyName: "content", first: true, predicate: IonContent, descendants: true, static: true }, { propertyName: "ionContentElement", first: true, predicate: IonContent, descendants: true, read: ElementRef, static: true }, { propertyName: "ionHeaderElement", first: true, predicate: IonHeader, descendants: true, read: ElementRef, static: true }, { propertyName: "ionFooterElement", first: true, predicate: IonFooter, descendants: true, read: ElementRef, static: true }, { propertyName: "ionToolbarElement", first: true, predicate: IonToolbar, descendants: true, read: ElementRef, static: true }, { propertyName: "backButton", first: true, predicate: IonBackButton, descendants: true }, { propertyName: "pageTitle", first: true, predicate: ["pageTitle"], descendants: true, read: ElementRef }, { propertyName: "stickyContentContainer", first: true, predicate: ["stickyContentContainer"], descendants: true, read: ElementRef }, { propertyName: "simpleTitleTemplate", first: true, predicate: ["simpleTitleTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "simpleToolbarTitleTemplate", first: true, predicate: ["simpleToolbarTitleTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "ionToolbarButtonsElement", predicate: IonButtons, descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<ion-header>\n <ion-toolbar\n [class.content-scrolled]=\"isContentScrolled\"\n [class.content-pinned]=\"isStickyContentPinned\"\n >\n <ion-buttons slot=\"start\">\n <ion-back-button\n text=\"\"\n [defaultHref]=\"defaultBackHref\"\n icon=\"assets/kirby/icons/svg/arrow-back.svg\"\n [style.visibility]=\"hideBackButton ? 'hidden' : null\"\n ></ion-back-button>\n </ion-buttons>\n <ion-title [class.slide-and-fade-in]=\"toolbarTitleVisible\">\n <div class=\"toolbar-title\">\n <ng-container *ngIf=\"!titleActionIconTemplate && !hasInteractiveTitle\">\n <ng-container *ngTemplateOutlet=\"toolbarTitleTemplate\"></ng-container>\n </ng-container>\n <span\n *ngIf=\"!!titleActionIconTemplate || hasInteractiveTitle\"\n [class.clickable]=\"hasInteractiveTitle\"\n [class.has-icon]=\"!!titleActionIconTemplate\"\n (click)=\"onTitleClick($event)\"\n >\n <span>\n <ng-container *ngTemplateOutlet=\"toolbarTitleTemplate\"></ng-container>\n </span>\n <ng-container *ngTemplateOutlet=\"titleActionIconTemplate\"></ng-container>\n </span>\n </div>\n </ion-title>\n <ion-buttons\n *ngIf=\"!!headerActionsTemplate\"\n class=\"hide\"\n slot=\"primary\"\n [class.fade-in]=\"toolbarActionsVisible\"\n >\n <ng-container\n *ngTemplateOutlet=\"headerActionsTemplate; injector: toolbarActionGroupInjector\"\n ></ng-container>\n </ion-buttons>\n <ion-buttons *ngIf=\"!!stickyActionsTemplate\" class=\"legacy-actions\" slot=\"primary\">\n <ng-container *ngTemplateOutlet=\"stickyActionsTemplate\"></ng-container>\n </ion-buttons>\n <ion-buttons *ngIf=\"!!fixedActionsTemplate\" class=\"legacy-actions\" slot=\"secondary\">\n <ng-container *ngTemplateOutlet=\"fixedActionsTemplate\"></ng-container>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n\n<ion-content\n scrollEvents=\"true\"\n forceOverscroll=\"false\"\n [class]=\"getMaxWidthClasses()\"\n [class.has-header]=\"hasHeader\"\n>\n <ion-refresher\n *ngIf=\"refresh.observers.length > 0\"\n (ionRefresh)=\"delegateRefreshEvent($event)\"\n slot=\"fixed\"\n >\n <kirby-spinner></kirby-spinner>\n </ion-refresher>\n\n <!-- Page header -->\n <div class=\"page-header-container\" *ngIf=\"hasPageTitle && !hasHeader\">\n <div\n class=\"page-header\"\n [ngClass]=\"{\n 'text-center': titleAlignment === 'center',\n 'text-right': titleAlignment === 'right'\n }\"\n >\n <div #pageTitle class=\"page-title\" [class.has-actions]=\"!!pageActionsTemplate\">\n <ng-container\n *ngTemplateOutlet=\"customTitleTemplate || defaultPageTitleTemplate\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"pageActionsTemplate || defaultPageActionsTemplate\"\n ></ng-container>\n </div>\n <div *ngIf=\"hasPageSubtitle\" class=\"page-subtitle\">\n <ng-container\n *ngTemplateOutlet=\"customSubtitleTemplate || defaultPageSubtitleTemplate\"\n ></ng-container>\n </div>\n </div>\n </div>\n\n <!-- Header -->\n <div class=\"page-header-container\" *ngIf=\"hasHeader\">\n <ng-content select=\"kirby-header\"></ng-content>\n </div>\n\n <!-- Sticky content -->\n <ng-container *ngIf=\"stickyContentTemplate\">\n <div\n #stickyContentContainer\n class=\"sticky-content-container\"\n [class.content-pinned]=\"isStickyContentPinned\"\n >\n <div>\n <ng-container *ngTemplateOutlet=\"stickyContentTemplate\"></ng-container>\n </div>\n </div>\n </ng-container>\n\n <!-- Content -->\n <div class=\"content-inner\">\n <ng-container\n *ngTemplateOutlet=\"customContentTemplate || defaultContentTemplate\"\n ></ng-container>\n </div>\n\n <div slot=\"fixed\" class=\"fixed-content\" *ngIf=\"fixedContentTemplate\">\n <div class=\"content-inner\">\n <ng-container *ngTemplateOutlet=\"fixedContentTemplate\"></ng-container>\n </div>\n </div>\n</ion-content>\n\n<ion-footer>\n <ng-content select=\"kirby-page-footer\"></ng-content>\n</ion-footer>\n\n<ng-template #defaultPageTitleTemplate>\n <h1 [kirbyFitHeading]=\"fitHeadingConfig\">\n <ng-container *ngTemplateOutlet=\"simpleTitleTemplate\"></ng-container>\n </h1>\n</ng-template>\n<ng-template #defaultPageSubtitleTemplate>\n <ng-container *ngTemplateOutlet=\"simpleSubtitleTemplate\"></ng-container>\n</ng-template>\n<ng-template #defaultPageActionsTemplate>\n <ng-content select=\"kirby-page-actions\"></ng-content>\n</ng-template>\n\n<ng-template #defaultContentTemplate>\n <ng-content select=\"kirby-page-content\"></ng-content>\n</ng-template>\n\n<ng-template #simpleTitleTemplate>{{ title }}</ng-template>\n<ng-template #simpleSubtitleTemplate>{{ subtitle }}</ng-template>\n<ng-template #simpleToolbarTitleTemplate>{{ toolbarTitle }}</ng-template>\n", styles: ["ion-header,ion-toolbar{--background: var(--kirby-background-color);margin:0 auto}ion-toolbar{--border-width: 0 !important;--padding-start: 16px;--padding-end: 16px;--padding-top: 0;--padding-bottom: 0;--ion-toolbar-color: var(--kirby-black);--min-height: 56px}@media (min-width: 768px){ion-toolbar{--padding-start: 24px;--padding-end: 24px;--min-height: 72px}}ion-toolbar:before{content:\"\";position:absolute;left:0;right:0;bottom:0;height:1px}ion-toolbar:before,ion-toolbar::part(background){transition:background-color 50ms linear}ion-toolbar.content-scrolled{--background: #f3f3f3}ion-toolbar.content-scrolled:before,ion-toolbar.content-scrolled::part(background){transition-duration:.2s}ion-toolbar.content-scrolled:not(.content-pinned):before{background-color:var(--kirby-medium)}ion-toolbar.content-pinned:before{transition:none}ion-toolbar ion-buttons[slot=start]{margin-right:8px}ion-toolbar ion-buttons[slot=primary],ion-toolbar ion-buttons[slot=secondary]{margin-left:8px}ion-toolbar ion-buttons[slot=secondary]{order:6}ion-toolbar ion-title{visibility:hidden;opacity:0;transform:translateY(10px);transition-property:opacity,transform;transition-duration:.15s;transition-timing-function:ease;padding-inline:calc(var(--action-buttons-width, 48px) + var(--padding-start))}ion-toolbar ion-title.slide-and-fade-in{visibility:visible;opacity:1;transform:translateY(0)}ion-toolbar ion-title .toolbar-title,ion-toolbar ion-title .toolbar-title>span.has-icon>span{text-overflow:ellipsis;white-space:nowrap;pointer-events:auto;overflow:hidden}ion-toolbar ion-title .toolbar-title{font-weight:700}ion-toolbar ion-title .toolbar-title span.clickable{cursor:pointer}ion-toolbar ion-title .toolbar-title span.has-icon{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;max-width:100%}ion-toolbar ion-title .toolbar-title ::ng-deep>*{text-overflow:ellipsis;white-space:nowrap;pointer-events:auto;overflow:hidden}.hide{visibility:hidden;opacity:0;transition:opacity .1s linear}.hide.fade-in{visibility:inherit;opacity:1}ion-title{box-sizing:border-box;font-size:16px;font-weight:400}ion-back-button{--color: var(--kirby-black);--background: var(--kirby-white);--icon-font-size: 24px;height:40px;width:40px;opacity:1}@media (hover: hover){ion-back-button:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);--background-hover: var(--state-layer-background-color);--background-hover-opacity: var(--state-layer-opacity)}}ion-back-button:active,ion-back-button.ion-activated{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black);--background-activated: var(--state-layer-background-color);--background-activated-opacity: var(--state-layer-opacity)}ion-back-button::part(icon){margin-inline:0}ion-back-button::part(native){opacity:1;border-radius:999px;overflow:hidden}ion-back-button::part(native):after{transition:all 80ms linear 0ms}.page-header-container{max-width:var(--page-content-max-width, 792px);margin:0 auto}.page-header{margin-left:16px;margin-top:8px;margin-bottom:var(--kirby-page-title-margin-bottom, 40px)}.page-header .page-title.has-actions{display:flex;justify-content:space-between;align-items:flex-start}.page-header .page-title h1,.page-header .page-title h2,.page-header .page-title h3,.page-header .page-title h4,.page-header .page-title h5,.page-header .page-title h6{margin:0}.page-header .page-subtitle{margin-top:8px}.page-header.text-center{text-align:center;margin-left:0}.page-header.text-right{text-align:right}ion-content{--padding-top: 12px;--padding-start: var(--page-content-padding-start, 16px);--padding-end: var(--page-content-padding-end, 16px);--background: var(--kirby-background-color);--color: var(--kirby-black)}@media (min-width: 768px){ion-content{--padding-start: var(--page-content-padding-start, 48px);--padding-end: var(--page-content-padding-end, 48px)}}ion-content.has-header{--padding-top: 0}ion-content.max-width-optimized,ion-content.max-width-lg{--page-content-max-width: 1092px}ion-content.max-width-xl{--page-content-max-width: 1392px}ion-content.max-width-full{--page-content-max-width: 100%}ion-content::part(scroll){scrollbar-gutter:stable}ion-content .content-inner{max-width:var(--page-content-max-width, 792px);margin:0 auto;padding-bottom:40px}ion-content .fixed-content{width:100%;position:absolute;bottom:0;transform:initial}ion-content .fixed-content .content-inner{position:relative}.sticky-content-container{position:sticky;top:-13px;left:0;right:0;padding-top:1px;margin-block-end:24px;z-index:10}.sticky-content-container div{max-width:var(--page-content-max-width, 792px);margin:0 auto}.sticky-content-container:before,.sticky-content-container:after{content:\"\";position:absolute;left:calc(-1 * var(--padding-start));right:calc(-1 * var(--padding-end));bottom:0}.sticky-content-container:before{top:0;background-color:var(--background)}.sticky-content-container:after{height:1px}.sticky-content-container.content-pinned:before{background-color:#f3f3f3}.sticky-content-container.content-pinned:after{background-color:var(--kirby-medium)}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.FitHeadingDirective, selector: "h1[kirbyFitHeading],h2[kirbyFitHeading],h3[kirbyFitHeading]", inputs: ["kirbyFitHeading"] }, { kind: "component", type: i8.SpinnerComponent, selector: "kirby-spinner" }, { kind: "component", type: i5.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i5.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i5.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i5.IonBackButton, selector: "ion-back-button" }, { kind: "component", type: i5.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i5.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i5.IonRefresher, selector: "ion-refresher", inputs: ["closeDuration", "disabled", "mode", "pullFactor", "pullMax", "pullMin", "snapbackDuration"] }, { kind: "component", type: i5.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
633
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageComponent, deps: [{ token: i0.ElementRef }, { token: i0.Injector }, { token: i0.Renderer2 }, { token: i2.Router }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i1.ModalNavigationService }, { token: i3.ResizeObserverService }, { token: i4.TabsComponent, optional: true, skipSelf: true }, { token: PAGE_BACK_BUTTON_OVERRIDE, optional: true }, { token: i5.IonRouterOutlet, optional: true }, { token: i5.NavController, optional: true }, { token: i6.IonicElementPartHelper }], target: i0.ɵɵFactoryTarget.Component }); }
634
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PageComponent, selector: "kirby-page", inputs: { title: "title", subtitle: "subtitle", toolbarTitle: "toolbarTitle", titleAlignment: "titleAlignment", defaultBackHref: "defaultBackHref", hideBackButton: "hideBackButton", titleMaxLines: "titleMaxLines", hasInteractiveTitle: "hasInteractiveTitle", maxWidth: "maxWidth", tabBarBottomHidden: "tabBarBottomHidden" }, outputs: { enter: "enter", leave: "leave", refresh: "refresh", backButtonClick: "backButtonClick", toolbarTitleClick: "toolbarTitleClick" }, host: { listeners: { "window:keyboardWillShow": "_onKeyboardWillShow($event)", "window:keyboardWillHide": "_onKeyboardWillHide()", "window:kirbySelectedTabClick": "_onSelectedTabClick()" } }, providers: [IonicElementPartHelper], queries: [{ propertyName: "customToolbarTitleTemplate", first: true, predicate: PageToolbarTitleDirective, descendants: true, read: TemplateRef }, { propertyName: "customTitleTemplate", first: true, predicate: PageTitleDirective, descendants: true, read: TemplateRef }, { propertyName: "customSubtitleTemplate", first: true, predicate: PageSubtitleDirective, descendants: true, read: TemplateRef }, { propertyName: "stickyContentRef", first: true, predicate: PageStickyContentDirective, descendants: true, read: TemplateRef }, { propertyName: "header", first: true, predicate: HeaderComponent, descendants: true }, { propertyName: "customActions", predicate: PageActionsDirective }, { propertyName: "customContent", predicate: PageContentDirective }], viewQueries: [{ propertyName: "content", first: true, predicate: IonContent, descendants: true, static: true }, { propertyName: "ionContentElement", first: true, predicate: IonContent, descendants: true, read: ElementRef, static: true }, { propertyName: "ionHeaderElement", first: true, predicate: IonHeader, descendants: true, read: ElementRef, static: true }, { propertyName: "ionFooterElement", first: true, predicate: IonFooter, descendants: true, read: ElementRef, static: true }, { propertyName: "ionToolbarElement", first: true, predicate: IonToolbar, descendants: true, read: ElementRef, static: true }, { propertyName: "backButton", first: true, predicate: IonBackButton, descendants: true }, { propertyName: "pageTitle", first: true, predicate: ["pageTitle"], descendants: true, read: ElementRef }, { propertyName: "stickyContentContainer", first: true, predicate: ["stickyContentContainer"], descendants: true, read: ElementRef }, { propertyName: "simpleTitleTemplate", first: true, predicate: ["simpleTitleTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "simpleToolbarTitleTemplate", first: true, predicate: ["simpleToolbarTitleTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "ionToolbarButtonsElement", predicate: IonButtons, descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<ion-header>\n <ion-toolbar\n [class.content-scrolled]=\"isContentScrolled\"\n [class.content-pinned]=\"isStickyContentPinned\"\n >\n <ion-buttons slot=\"start\">\n <ion-back-button\n text=\"\"\n [defaultHref]=\"defaultBackHref\"\n icon=\"assets/kirby/icons/svg/arrow-back.svg\"\n [style.visibility]=\"hideBackButton ? 'hidden' : null\"\n ></ion-back-button>\n </ion-buttons>\n <ion-title [class.slide-and-fade-in]=\"toolbarTitleVisible\">\n <div class=\"toolbar-title\">\n <ng-container *ngIf=\"!titleActionIconTemplate && !hasInteractiveTitle\">\n <ng-container *ngTemplateOutlet=\"toolbarTitleTemplate\"></ng-container>\n </ng-container>\n <span\n *ngIf=\"!!titleActionIconTemplate || hasInteractiveTitle\"\n [class.clickable]=\"hasInteractiveTitle\"\n [class.has-icon]=\"!!titleActionIconTemplate\"\n (click)=\"onTitleClick($event)\"\n >\n <span>\n <ng-container *ngTemplateOutlet=\"toolbarTitleTemplate\"></ng-container>\n </span>\n <ng-container *ngTemplateOutlet=\"titleActionIconTemplate\"></ng-container>\n </span>\n </div>\n </ion-title>\n <ion-buttons\n *ngIf=\"!!headerActionsTemplate\"\n class=\"hide\"\n slot=\"primary\"\n [class.fade-in]=\"toolbarActionsVisible\"\n >\n <ng-container\n *ngTemplateOutlet=\"headerActionsTemplate; injector: toolbarActionGroupInjector\"\n ></ng-container>\n </ion-buttons>\n <ion-buttons *ngIf=\"!!stickyActionsTemplate\" class=\"legacy-actions\" slot=\"primary\">\n <ng-container *ngTemplateOutlet=\"stickyActionsTemplate\"></ng-container>\n </ion-buttons>\n <ion-buttons *ngIf=\"!!fixedActionsTemplate\" class=\"legacy-actions\" slot=\"secondary\">\n <ng-container *ngTemplateOutlet=\"fixedActionsTemplate\"></ng-container>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n\n<ion-content\n scrollEvents=\"true\"\n forceOverscroll=\"false\"\n [class]=\"getMaxWidthClasses()\"\n [class.has-header]=\"hasHeader\"\n>\n <ion-refresher\n *ngIf=\"refresh.observers.length > 0\"\n (ionRefresh)=\"delegateRefreshEvent($event)\"\n slot=\"fixed\"\n >\n <kirby-spinner></kirby-spinner>\n </ion-refresher>\n\n <!-- Page header -->\n <div class=\"page-header-container\" *ngIf=\"hasPageTitle && !hasHeader\">\n <div\n class=\"page-header\"\n [ngClass]=\"{\n 'text-center': titleAlignment === 'center',\n 'text-right': titleAlignment === 'right'\n }\"\n >\n <div #pageTitle class=\"page-title\" [class.has-actions]=\"!!pageActionsTemplate\">\n <ng-container\n *ngTemplateOutlet=\"customTitleTemplate || defaultPageTitleTemplate\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"pageActionsTemplate || defaultPageActionsTemplate\"\n ></ng-container>\n </div>\n <div *ngIf=\"hasPageSubtitle\" class=\"page-subtitle\">\n <ng-container\n *ngTemplateOutlet=\"customSubtitleTemplate || defaultPageSubtitleTemplate\"\n ></ng-container>\n </div>\n </div>\n </div>\n\n <!-- Header -->\n <div class=\"page-header-container\" *ngIf=\"hasHeader\">\n <ng-content select=\"kirby-header\"></ng-content>\n </div>\n\n <!-- Sticky content -->\n <ng-container *ngIf=\"stickyContentTemplate\">\n <div\n #stickyContentContainer\n class=\"sticky-content-container\"\n [class.content-pinned]=\"isStickyContentPinned\"\n >\n <div>\n <ng-container *ngTemplateOutlet=\"stickyContentTemplate\"></ng-container>\n </div>\n </div>\n </ng-container>\n\n <!-- Content -->\n <div class=\"content-inner\">\n <ng-container\n *ngTemplateOutlet=\"customContentTemplate || defaultContentTemplate\"\n ></ng-container>\n </div>\n\n <div slot=\"fixed\" class=\"fixed-content\" *ngIf=\"fixedContentTemplate\">\n <div class=\"content-inner\">\n <ng-container *ngTemplateOutlet=\"fixedContentTemplate\"></ng-container>\n </div>\n </div>\n</ion-content>\n\n<ion-footer>\n <ng-content select=\"kirby-page-footer\"></ng-content>\n</ion-footer>\n\n<ng-template #defaultPageTitleTemplate>\n <h1 [kirbyFitHeading]=\"fitHeadingConfig\">\n <ng-container *ngTemplateOutlet=\"simpleTitleTemplate\"></ng-container>\n </h1>\n</ng-template>\n<ng-template #defaultPageSubtitleTemplate>\n <ng-container *ngTemplateOutlet=\"simpleSubtitleTemplate\"></ng-container>\n</ng-template>\n<ng-template #defaultPageActionsTemplate>\n <ng-content select=\"kirby-page-actions\"></ng-content>\n</ng-template>\n\n<ng-template #defaultContentTemplate>\n <ng-content select=\"kirby-page-content\"></ng-content>\n</ng-template>\n\n<ng-template #simpleTitleTemplate>{{ title }}</ng-template>\n<ng-template #simpleSubtitleTemplate>{{ subtitle }}</ng-template>\n<ng-template #simpleToolbarTitleTemplate>{{ toolbarTitle }}</ng-template>\n", styles: ["ion-header,ion-toolbar{--background: var(--kirby-background-color);margin:0 auto}ion-toolbar{--border-width: 0 !important;--padding-start: 16px;--padding-end: 16px;--padding-top: 0;--padding-bottom: 0;--ion-toolbar-color: var(--kirby-black);--min-height: 56px}@media (min-width: 768px){ion-toolbar{--padding-start: 24px;--padding-end: 24px;--min-height: 72px}}ion-toolbar:before{content:\"\";position:absolute;left:0;right:0;bottom:0;height:1px}ion-toolbar:before,ion-toolbar::part(background){transition:background-color 50ms linear}ion-toolbar.content-scrolled{--background: rgb(243.294, 243.294, 243.294)}ion-toolbar.content-scrolled:before,ion-toolbar.content-scrolled::part(background){transition-duration:.2s}ion-toolbar.content-scrolled:not(.content-pinned):before{background-color:var(--kirby-medium)}ion-toolbar.content-pinned:before{transition:none}ion-toolbar ion-buttons[slot=start]{margin-right:8px}ion-toolbar ion-buttons[slot=primary],ion-toolbar ion-buttons[slot=secondary]{margin-left:8px}ion-toolbar ion-buttons[slot=secondary]{order:6}ion-toolbar ion-title{visibility:hidden;opacity:0;transform:translateY(10px);transition-property:opacity,transform;transition-duration:.15s;transition-timing-function:ease;padding-inline:calc(var(--action-buttons-width, 48px) + var(--padding-start))}ion-toolbar ion-title.slide-and-fade-in{visibility:visible;opacity:1;transform:translateY(0)}ion-toolbar ion-title .toolbar-title,ion-toolbar ion-title .toolbar-title>span.has-icon>span{text-overflow:ellipsis;white-space:nowrap;pointer-events:auto;overflow:hidden}ion-toolbar ion-title .toolbar-title{font-weight:700}ion-toolbar ion-title .toolbar-title span.clickable{cursor:pointer}ion-toolbar ion-title .toolbar-title span.has-icon{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;max-width:100%}ion-toolbar ion-title .toolbar-title ::ng-deep>*{text-overflow:ellipsis;white-space:nowrap;pointer-events:auto;overflow:hidden}.hide{visibility:hidden;opacity:0;transition:opacity .1s linear}.hide.fade-in{visibility:inherit;opacity:1}ion-title{box-sizing:border-box;font-size:16px;font-weight:400}ion-back-button{--color: var(--kirby-black);--background: var(--kirby-white);--icon-font-size: 24px;height:40px;width:40px;opacity:1}@media (hover: hover){ion-back-button:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);--background-hover: var(--state-layer-background-color);--background-hover-opacity: var(--state-layer-opacity)}}ion-back-button:active,ion-back-button.ion-activated{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black);--background-activated: var(--state-layer-background-color);--background-activated-opacity: var(--state-layer-opacity)}ion-back-button::part(icon){margin-inline:0}ion-back-button::part(native){opacity:1;border-radius:999px;overflow:hidden}ion-back-button::part(native):after{transition:all 80ms linear 0ms}.page-header-container{max-width:var(--page-content-max-width, 792px);margin:0 auto}.page-header{margin-left:16px;margin-top:8px;margin-bottom:var(--kirby-page-title-margin-bottom, 40px)}.page-header .page-title.has-actions{display:flex;justify-content:space-between;align-items:flex-start}.page-header .page-title h1,.page-header .page-title h2,.page-header .page-title h3,.page-header .page-title h4,.page-header .page-title h5,.page-header .page-title h6{margin:0}.page-header .page-subtitle{margin-top:8px}.page-header.text-center{text-align:center;margin-left:0}.page-header.text-right{text-align:right}ion-content{--padding-top: 12px;--padding-start: var(--page-content-padding-start, 16px);--padding-end: var(--page-content-padding-end, 16px);--background: var(--kirby-background-color);--color: var(--kirby-black)}@media (min-width: 768px){ion-content{--padding-start: var(--page-content-padding-start, 48px);--padding-end: var(--page-content-padding-end, 48px)}}ion-content.has-header{--padding-top: 0}ion-content.max-width-optimized,ion-content.max-width-lg{--page-content-max-width: 1092px}ion-content.max-width-xl{--page-content-max-width: 1392px}ion-content.max-width-full{--page-content-max-width: 100%}ion-content::part(scroll){scrollbar-gutter:stable}ion-content .content-inner{max-width:var(--page-content-max-width, 792px);margin:0 auto;padding-bottom:40px}ion-content .fixed-content{width:100%;position:absolute;bottom:0;transform:initial}ion-content .fixed-content .content-inner{position:relative}.sticky-content-container{position:sticky;top:-13px;left:0;right:0;padding-top:1px;margin-block-end:24px;z-index:10}.sticky-content-container div{max-width:var(--page-content-max-width, 792px);margin:0 auto}.sticky-content-container:before,.sticky-content-container:after{content:\"\";position:absolute;left:calc(-1 * var(--padding-start));right:calc(-1 * var(--padding-end));bottom:0}.sticky-content-container:before{top:0;background-color:var(--background)}.sticky-content-container:after{height:1px}.sticky-content-container.content-pinned:before{background-color:#f3f3f3}.sticky-content-container.content-pinned:after{background-color:var(--kirby-medium)}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.FitHeadingDirective, selector: "h1[kirbyFitHeading],h2[kirbyFitHeading],h3[kirbyFitHeading]", inputs: ["kirbyFitHeading"] }, { kind: "component", type: i8.SpinnerComponent, selector: "kirby-spinner" }, { kind: "component", type: i5.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i5.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: i5.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i5.IonBackButton, selector: "ion-back-button" }, { kind: "component", type: i5.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i5.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i5.IonRefresher, selector: "ion-refresher", inputs: ["closeDuration", "disabled", "mode", "pullFactor", "pullMax", "pullMin", "snapbackDuration"] }, { kind: "component", type: i5.IonFooter, selector: "ion-footer", inputs: ["collapse", "mode", "translucent"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
632
635
  }
633
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageComponent, decorators: [{
636
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageComponent, decorators: [{
634
637
  type: Component,
635
- args: [{ selector: 'kirby-page', changeDetection: ChangeDetectionStrategy.OnPush, providers: [IonicElementPartHelper], template: "<ion-header>\n <ion-toolbar\n [class.content-scrolled]=\"isContentScrolled\"\n [class.content-pinned]=\"isStickyContentPinned\"\n >\n <ion-buttons slot=\"start\">\n <ion-back-button\n text=\"\"\n [defaultHref]=\"defaultBackHref\"\n icon=\"assets/kirby/icons/svg/arrow-back.svg\"\n [style.visibility]=\"hideBackButton ? 'hidden' : null\"\n ></ion-back-button>\n </ion-buttons>\n <ion-title [class.slide-and-fade-in]=\"toolbarTitleVisible\">\n <div class=\"toolbar-title\">\n <ng-container *ngIf=\"!titleActionIconTemplate && !hasInteractiveTitle\">\n <ng-container *ngTemplateOutlet=\"toolbarTitleTemplate\"></ng-container>\n </ng-container>\n <span\n *ngIf=\"!!titleActionIconTemplate || hasInteractiveTitle\"\n [class.clickable]=\"hasInteractiveTitle\"\n [class.has-icon]=\"!!titleActionIconTemplate\"\n (click)=\"onTitleClick($event)\"\n >\n <span>\n <ng-container *ngTemplateOutlet=\"toolbarTitleTemplate\"></ng-container>\n </span>\n <ng-container *ngTemplateOutlet=\"titleActionIconTemplate\"></ng-container>\n </span>\n </div>\n </ion-title>\n <ion-buttons\n *ngIf=\"!!headerActionsTemplate\"\n class=\"hide\"\n slot=\"primary\"\n [class.fade-in]=\"toolbarActionsVisible\"\n >\n <ng-container\n *ngTemplateOutlet=\"headerActionsTemplate; injector: toolbarActionGroupInjector\"\n ></ng-container>\n </ion-buttons>\n <ion-buttons *ngIf=\"!!stickyActionsTemplate\" class=\"legacy-actions\" slot=\"primary\">\n <ng-container *ngTemplateOutlet=\"stickyActionsTemplate\"></ng-container>\n </ion-buttons>\n <ion-buttons *ngIf=\"!!fixedActionsTemplate\" class=\"legacy-actions\" slot=\"secondary\">\n <ng-container *ngTemplateOutlet=\"fixedActionsTemplate\"></ng-container>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n\n<ion-content\n scrollEvents=\"true\"\n forceOverscroll=\"false\"\n [class]=\"getMaxWidthClasses()\"\n [class.has-header]=\"hasHeader\"\n>\n <ion-refresher\n *ngIf=\"refresh.observers.length > 0\"\n (ionRefresh)=\"delegateRefreshEvent($event)\"\n slot=\"fixed\"\n >\n <kirby-spinner></kirby-spinner>\n </ion-refresher>\n\n <!-- Page header -->\n <div class=\"page-header-container\" *ngIf=\"hasPageTitle && !hasHeader\">\n <div\n class=\"page-header\"\n [ngClass]=\"{\n 'text-center': titleAlignment === 'center',\n 'text-right': titleAlignment === 'right'\n }\"\n >\n <div #pageTitle class=\"page-title\" [class.has-actions]=\"!!pageActionsTemplate\">\n <ng-container\n *ngTemplateOutlet=\"customTitleTemplate || defaultPageTitleTemplate\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"pageActionsTemplate || defaultPageActionsTemplate\"\n ></ng-container>\n </div>\n <div *ngIf=\"hasPageSubtitle\" class=\"page-subtitle\">\n <ng-container\n *ngTemplateOutlet=\"customSubtitleTemplate || defaultPageSubtitleTemplate\"\n ></ng-container>\n </div>\n </div>\n </div>\n\n <!-- Header -->\n <div class=\"page-header-container\" *ngIf=\"hasHeader\">\n <ng-content select=\"kirby-header\"></ng-content>\n </div>\n\n <!-- Sticky content -->\n <ng-container *ngIf=\"stickyContentTemplate\">\n <div\n #stickyContentContainer\n class=\"sticky-content-container\"\n [class.content-pinned]=\"isStickyContentPinned\"\n >\n <div>\n <ng-container *ngTemplateOutlet=\"stickyContentTemplate\"></ng-container>\n </div>\n </div>\n </ng-container>\n\n <!-- Content -->\n <div class=\"content-inner\">\n <ng-container\n *ngTemplateOutlet=\"customContentTemplate || defaultContentTemplate\"\n ></ng-container>\n </div>\n\n <div slot=\"fixed\" class=\"fixed-content\" *ngIf=\"fixedContentTemplate\">\n <div class=\"content-inner\">\n <ng-container *ngTemplateOutlet=\"fixedContentTemplate\"></ng-container>\n </div>\n </div>\n</ion-content>\n\n<ion-footer>\n <ng-content select=\"kirby-page-footer\"></ng-content>\n</ion-footer>\n\n<ng-template #defaultPageTitleTemplate>\n <h1 [kirbyFitHeading]=\"fitHeadingConfig\">\n <ng-container *ngTemplateOutlet=\"simpleTitleTemplate\"></ng-container>\n </h1>\n</ng-template>\n<ng-template #defaultPageSubtitleTemplate>\n <ng-container *ngTemplateOutlet=\"simpleSubtitleTemplate\"></ng-container>\n</ng-template>\n<ng-template #defaultPageActionsTemplate>\n <ng-content select=\"kirby-page-actions\"></ng-content>\n</ng-template>\n\n<ng-template #defaultContentTemplate>\n <ng-content select=\"kirby-page-content\"></ng-content>\n</ng-template>\n\n<ng-template #simpleTitleTemplate>{{ title }}</ng-template>\n<ng-template #simpleSubtitleTemplate>{{ subtitle }}</ng-template>\n<ng-template #simpleToolbarTitleTemplate>{{ toolbarTitle }}</ng-template>\n", styles: ["ion-header,ion-toolbar{--background: var(--kirby-background-color);margin:0 auto}ion-toolbar{--border-width: 0 !important;--padding-start: 16px;--padding-end: 16px;--padding-top: 0;--padding-bottom: 0;--ion-toolbar-color: var(--kirby-black);--min-height: 56px}@media (min-width: 768px){ion-toolbar{--padding-start: 24px;--padding-end: 24px;--min-height: 72px}}ion-toolbar:before{content:\"\";position:absolute;left:0;right:0;bottom:0;height:1px}ion-toolbar:before,ion-toolbar::part(background){transition:background-color 50ms linear}ion-toolbar.content-scrolled{--background: #f3f3f3}ion-toolbar.content-scrolled:before,ion-toolbar.content-scrolled::part(background){transition-duration:.2s}ion-toolbar.content-scrolled:not(.content-pinned):before{background-color:var(--kirby-medium)}ion-toolbar.content-pinned:before{transition:none}ion-toolbar ion-buttons[slot=start]{margin-right:8px}ion-toolbar ion-buttons[slot=primary],ion-toolbar ion-buttons[slot=secondary]{margin-left:8px}ion-toolbar ion-buttons[slot=secondary]{order:6}ion-toolbar ion-title{visibility:hidden;opacity:0;transform:translateY(10px);transition-property:opacity,transform;transition-duration:.15s;transition-timing-function:ease;padding-inline:calc(var(--action-buttons-width, 48px) + var(--padding-start))}ion-toolbar ion-title.slide-and-fade-in{visibility:visible;opacity:1;transform:translateY(0)}ion-toolbar ion-title .toolbar-title,ion-toolbar ion-title .toolbar-title>span.has-icon>span{text-overflow:ellipsis;white-space:nowrap;pointer-events:auto;overflow:hidden}ion-toolbar ion-title .toolbar-title{font-weight:700}ion-toolbar ion-title .toolbar-title span.clickable{cursor:pointer}ion-toolbar ion-title .toolbar-title span.has-icon{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;max-width:100%}ion-toolbar ion-title .toolbar-title ::ng-deep>*{text-overflow:ellipsis;white-space:nowrap;pointer-events:auto;overflow:hidden}.hide{visibility:hidden;opacity:0;transition:opacity .1s linear}.hide.fade-in{visibility:inherit;opacity:1}ion-title{box-sizing:border-box;font-size:16px;font-weight:400}ion-back-button{--color: var(--kirby-black);--background: var(--kirby-white);--icon-font-size: 24px;height:40px;width:40px;opacity:1}@media (hover: hover){ion-back-button:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);--background-hover: var(--state-layer-background-color);--background-hover-opacity: var(--state-layer-opacity)}}ion-back-button:active,ion-back-button.ion-activated{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black);--background-activated: var(--state-layer-background-color);--background-activated-opacity: var(--state-layer-opacity)}ion-back-button::part(icon){margin-inline:0}ion-back-button::part(native){opacity:1;border-radius:999px;overflow:hidden}ion-back-button::part(native):after{transition:all 80ms linear 0ms}.page-header-container{max-width:var(--page-content-max-width, 792px);margin:0 auto}.page-header{margin-left:16px;margin-top:8px;margin-bottom:var(--kirby-page-title-margin-bottom, 40px)}.page-header .page-title.has-actions{display:flex;justify-content:space-between;align-items:flex-start}.page-header .page-title h1,.page-header .page-title h2,.page-header .page-title h3,.page-header .page-title h4,.page-header .page-title h5,.page-header .page-title h6{margin:0}.page-header .page-subtitle{margin-top:8px}.page-header.text-center{text-align:center;margin-left:0}.page-header.text-right{text-align:right}ion-content{--padding-top: 12px;--padding-start: var(--page-content-padding-start, 16px);--padding-end: var(--page-content-padding-end, 16px);--background: var(--kirby-background-color);--color: var(--kirby-black)}@media (min-width: 768px){ion-content{--padding-start: var(--page-content-padding-start, 48px);--padding-end: var(--page-content-padding-end, 48px)}}ion-content.has-header{--padding-top: 0}ion-content.max-width-optimized,ion-content.max-width-lg{--page-content-max-width: 1092px}ion-content.max-width-xl{--page-content-max-width: 1392px}ion-content.max-width-full{--page-content-max-width: 100%}ion-content::part(scroll){scrollbar-gutter:stable}ion-content .content-inner{max-width:var(--page-content-max-width, 792px);margin:0 auto;padding-bottom:40px}ion-content .fixed-content{width:100%;position:absolute;bottom:0;transform:initial}ion-content .fixed-content .content-inner{position:relative}.sticky-content-container{position:sticky;top:-13px;left:0;right:0;padding-top:1px;margin-block-end:24px;z-index:10}.sticky-content-container div{max-width:var(--page-content-max-width, 792px);margin:0 auto}.sticky-content-container:before,.sticky-content-container:after{content:\"\";position:absolute;left:calc(-1 * var(--padding-start));right:calc(-1 * var(--padding-end));bottom:0}.sticky-content-container:before{top:0;background-color:var(--background)}.sticky-content-container:after{height:1px}.sticky-content-container.content-pinned:before{background-color:#f3f3f3}.sticky-content-container.content-pinned:after{background-color:var(--kirby-medium)}\n"] }]
638
+ args: [{ selector: 'kirby-page', changeDetection: ChangeDetectionStrategy.OnPush, providers: [IonicElementPartHelper], template: "<ion-header>\n <ion-toolbar\n [class.content-scrolled]=\"isContentScrolled\"\n [class.content-pinned]=\"isStickyContentPinned\"\n >\n <ion-buttons slot=\"start\">\n <ion-back-button\n text=\"\"\n [defaultHref]=\"defaultBackHref\"\n icon=\"assets/kirby/icons/svg/arrow-back.svg\"\n [style.visibility]=\"hideBackButton ? 'hidden' : null\"\n ></ion-back-button>\n </ion-buttons>\n <ion-title [class.slide-and-fade-in]=\"toolbarTitleVisible\">\n <div class=\"toolbar-title\">\n <ng-container *ngIf=\"!titleActionIconTemplate && !hasInteractiveTitle\">\n <ng-container *ngTemplateOutlet=\"toolbarTitleTemplate\"></ng-container>\n </ng-container>\n <span\n *ngIf=\"!!titleActionIconTemplate || hasInteractiveTitle\"\n [class.clickable]=\"hasInteractiveTitle\"\n [class.has-icon]=\"!!titleActionIconTemplate\"\n (click)=\"onTitleClick($event)\"\n >\n <span>\n <ng-container *ngTemplateOutlet=\"toolbarTitleTemplate\"></ng-container>\n </span>\n <ng-container *ngTemplateOutlet=\"titleActionIconTemplate\"></ng-container>\n </span>\n </div>\n </ion-title>\n <ion-buttons\n *ngIf=\"!!headerActionsTemplate\"\n class=\"hide\"\n slot=\"primary\"\n [class.fade-in]=\"toolbarActionsVisible\"\n >\n <ng-container\n *ngTemplateOutlet=\"headerActionsTemplate; injector: toolbarActionGroupInjector\"\n ></ng-container>\n </ion-buttons>\n <ion-buttons *ngIf=\"!!stickyActionsTemplate\" class=\"legacy-actions\" slot=\"primary\">\n <ng-container *ngTemplateOutlet=\"stickyActionsTemplate\"></ng-container>\n </ion-buttons>\n <ion-buttons *ngIf=\"!!fixedActionsTemplate\" class=\"legacy-actions\" slot=\"secondary\">\n <ng-container *ngTemplateOutlet=\"fixedActionsTemplate\"></ng-container>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n\n<ion-content\n scrollEvents=\"true\"\n forceOverscroll=\"false\"\n [class]=\"getMaxWidthClasses()\"\n [class.has-header]=\"hasHeader\"\n>\n <ion-refresher\n *ngIf=\"refresh.observers.length > 0\"\n (ionRefresh)=\"delegateRefreshEvent($event)\"\n slot=\"fixed\"\n >\n <kirby-spinner></kirby-spinner>\n </ion-refresher>\n\n <!-- Page header -->\n <div class=\"page-header-container\" *ngIf=\"hasPageTitle && !hasHeader\">\n <div\n class=\"page-header\"\n [ngClass]=\"{\n 'text-center': titleAlignment === 'center',\n 'text-right': titleAlignment === 'right'\n }\"\n >\n <div #pageTitle class=\"page-title\" [class.has-actions]=\"!!pageActionsTemplate\">\n <ng-container\n *ngTemplateOutlet=\"customTitleTemplate || defaultPageTitleTemplate\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"pageActionsTemplate || defaultPageActionsTemplate\"\n ></ng-container>\n </div>\n <div *ngIf=\"hasPageSubtitle\" class=\"page-subtitle\">\n <ng-container\n *ngTemplateOutlet=\"customSubtitleTemplate || defaultPageSubtitleTemplate\"\n ></ng-container>\n </div>\n </div>\n </div>\n\n <!-- Header -->\n <div class=\"page-header-container\" *ngIf=\"hasHeader\">\n <ng-content select=\"kirby-header\"></ng-content>\n </div>\n\n <!-- Sticky content -->\n <ng-container *ngIf=\"stickyContentTemplate\">\n <div\n #stickyContentContainer\n class=\"sticky-content-container\"\n [class.content-pinned]=\"isStickyContentPinned\"\n >\n <div>\n <ng-container *ngTemplateOutlet=\"stickyContentTemplate\"></ng-container>\n </div>\n </div>\n </ng-container>\n\n <!-- Content -->\n <div class=\"content-inner\">\n <ng-container\n *ngTemplateOutlet=\"customContentTemplate || defaultContentTemplate\"\n ></ng-container>\n </div>\n\n <div slot=\"fixed\" class=\"fixed-content\" *ngIf=\"fixedContentTemplate\">\n <div class=\"content-inner\">\n <ng-container *ngTemplateOutlet=\"fixedContentTemplate\"></ng-container>\n </div>\n </div>\n</ion-content>\n\n<ion-footer>\n <ng-content select=\"kirby-page-footer\"></ng-content>\n</ion-footer>\n\n<ng-template #defaultPageTitleTemplate>\n <h1 [kirbyFitHeading]=\"fitHeadingConfig\">\n <ng-container *ngTemplateOutlet=\"simpleTitleTemplate\"></ng-container>\n </h1>\n</ng-template>\n<ng-template #defaultPageSubtitleTemplate>\n <ng-container *ngTemplateOutlet=\"simpleSubtitleTemplate\"></ng-container>\n</ng-template>\n<ng-template #defaultPageActionsTemplate>\n <ng-content select=\"kirby-page-actions\"></ng-content>\n</ng-template>\n\n<ng-template #defaultContentTemplate>\n <ng-content select=\"kirby-page-content\"></ng-content>\n</ng-template>\n\n<ng-template #simpleTitleTemplate>{{ title }}</ng-template>\n<ng-template #simpleSubtitleTemplate>{{ subtitle }}</ng-template>\n<ng-template #simpleToolbarTitleTemplate>{{ toolbarTitle }}</ng-template>\n", styles: ["ion-header,ion-toolbar{--background: var(--kirby-background-color);margin:0 auto}ion-toolbar{--border-width: 0 !important;--padding-start: 16px;--padding-end: 16px;--padding-top: 0;--padding-bottom: 0;--ion-toolbar-color: var(--kirby-black);--min-height: 56px}@media (min-width: 768px){ion-toolbar{--padding-start: 24px;--padding-end: 24px;--min-height: 72px}}ion-toolbar:before{content:\"\";position:absolute;left:0;right:0;bottom:0;height:1px}ion-toolbar:before,ion-toolbar::part(background){transition:background-color 50ms linear}ion-toolbar.content-scrolled{--background: rgb(243.294, 243.294, 243.294)}ion-toolbar.content-scrolled:before,ion-toolbar.content-scrolled::part(background){transition-duration:.2s}ion-toolbar.content-scrolled:not(.content-pinned):before{background-color:var(--kirby-medium)}ion-toolbar.content-pinned:before{transition:none}ion-toolbar ion-buttons[slot=start]{margin-right:8px}ion-toolbar ion-buttons[slot=primary],ion-toolbar ion-buttons[slot=secondary]{margin-left:8px}ion-toolbar ion-buttons[slot=secondary]{order:6}ion-toolbar ion-title{visibility:hidden;opacity:0;transform:translateY(10px);transition-property:opacity,transform;transition-duration:.15s;transition-timing-function:ease;padding-inline:calc(var(--action-buttons-width, 48px) + var(--padding-start))}ion-toolbar ion-title.slide-and-fade-in{visibility:visible;opacity:1;transform:translateY(0)}ion-toolbar ion-title .toolbar-title,ion-toolbar ion-title .toolbar-title>span.has-icon>span{text-overflow:ellipsis;white-space:nowrap;pointer-events:auto;overflow:hidden}ion-toolbar ion-title .toolbar-title{font-weight:700}ion-toolbar ion-title .toolbar-title span.clickable{cursor:pointer}ion-toolbar ion-title .toolbar-title span.has-icon{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;max-width:100%}ion-toolbar ion-title .toolbar-title ::ng-deep>*{text-overflow:ellipsis;white-space:nowrap;pointer-events:auto;overflow:hidden}.hide{visibility:hidden;opacity:0;transition:opacity .1s linear}.hide.fade-in{visibility:inherit;opacity:1}ion-title{box-sizing:border-box;font-size:16px;font-weight:400}ion-back-button{--color: var(--kirby-black);--background: var(--kirby-white);--icon-font-size: 24px;height:40px;width:40px;opacity:1}@media (hover: hover){ion-back-button:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);--background-hover: var(--state-layer-background-color);--background-hover-opacity: var(--state-layer-opacity)}}ion-back-button:active,ion-back-button.ion-activated{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black);--background-activated: var(--state-layer-background-color);--background-activated-opacity: var(--state-layer-opacity)}ion-back-button::part(icon){margin-inline:0}ion-back-button::part(native){opacity:1;border-radius:999px;overflow:hidden}ion-back-button::part(native):after{transition:all 80ms linear 0ms}.page-header-container{max-width:var(--page-content-max-width, 792px);margin:0 auto}.page-header{margin-left:16px;margin-top:8px;margin-bottom:var(--kirby-page-title-margin-bottom, 40px)}.page-header .page-title.has-actions{display:flex;justify-content:space-between;align-items:flex-start}.page-header .page-title h1,.page-header .page-title h2,.page-header .page-title h3,.page-header .page-title h4,.page-header .page-title h5,.page-header .page-title h6{margin:0}.page-header .page-subtitle{margin-top:8px}.page-header.text-center{text-align:center;margin-left:0}.page-header.text-right{text-align:right}ion-content{--padding-top: 12px;--padding-start: var(--page-content-padding-start, 16px);--padding-end: var(--page-content-padding-end, 16px);--background: var(--kirby-background-color);--color: var(--kirby-black)}@media (min-width: 768px){ion-content{--padding-start: var(--page-content-padding-start, 48px);--padding-end: var(--page-content-padding-end, 48px)}}ion-content.has-header{--padding-top: 0}ion-content.max-width-optimized,ion-content.max-width-lg{--page-content-max-width: 1092px}ion-content.max-width-xl{--page-content-max-width: 1392px}ion-content.max-width-full{--page-content-max-width: 100%}ion-content::part(scroll){scrollbar-gutter:stable}ion-content .content-inner{max-width:var(--page-content-max-width, 792px);margin:0 auto;padding-bottom:40px}ion-content .fixed-content{width:100%;position:absolute;bottom:0;transform:initial}ion-content .fixed-content .content-inner{position:relative}.sticky-content-container{position:sticky;top:-13px;left:0;right:0;padding-top:1px;margin-block-end:24px;z-index:10}.sticky-content-container div{max-width:var(--page-content-max-width, 792px);margin:0 auto}.sticky-content-container:before,.sticky-content-container:after{content:\"\";position:absolute;left:calc(-1 * var(--padding-start));right:calc(-1 * var(--padding-end));bottom:0}.sticky-content-container:before{top:0;background-color:var(--background)}.sticky-content-container:after{height:1px}.sticky-content-container.content-pinned:before{background-color:#f3f3f3}.sticky-content-container.content-pinned:after{background-color:var(--kirby-medium)}\n"] }]
636
639
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Injector }, { type: i0.Renderer2 }, { type: i2.Router }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.ModalNavigationService }, { type: i3.ResizeObserverService }, { type: i4.TabsComponent, decorators: [{
637
640
  type: Optional
638
641
  }, {
@@ -758,12 +761,12 @@ class PageFooterComponent {
758
761
  ngOnDestroy() {
759
762
  this.pageComponent.tabBarBottomHidden = false;
760
763
  }
761
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageFooterComponent, deps: [{ token: PageComponent, optional: true, skipSelf: true }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
762
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: PageFooterComponent, selector: "kirby-page-footer", inputs: { hasPadding: "hasPadding" }, ngImport: i0, template: "<div class=\"wrapper\" [class.padding]=\"hasPadding\">\n <ng-content></ng-content>\n</div>\n", styles: [":host,:root{--kirby-white-overlay: hsl(0deg 0% 100% / 15%);--kirby-white-overlay-10: hsl(0deg 0% 100% / 10%);--kirby-white-overlay-20: hsl(0deg 0% 100% / 20%);--kirby-white-overlay-30: hsl(0deg 0% 100% / 30%);--kirby-white-overlay-40: hsl(0deg 0% 100% / 40%);--kirby-white-overlay-50: hsl(0deg 0% 100% / 50%);--kirby-dark-overlay: hsl(0deg 0% 11% / 6%);--kirby-dark-overlay-10: hsl(0deg 0% 11% / 10%);--kirby-dark-overlay-20: hsl(0deg 0% 11% / 20%);--kirby-dark-overlay-30: hsl(0deg 0% 11% / 30%);--kirby-dark-overlay-40: hsl(0deg 0% 11% / 40%);--kirby-dark-overlay-50: hsl(0deg 0% 11% / 50%);--kirby-white: hsl(0deg 0% 100%);--kirby-black: hsl(0deg 0% 11%);--kirby-semi-dark: hsl(0deg 0% 56%);--kirby-elevation-2: 0 1px 24px 0 rgb(28 28 28 / 4%);--kirby-elevation-4: 0 20px 30px -15px hsla(0deg 0% 11% 30%), 0 0 5px 0 hsla(0deg 0% 11% 8%)}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.white-overlay{background-color:var(--kirby-white-overlay);color:var(--kirby-white-overlay-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)}ion-item-option.dark-overlay{background-color:var(--kirby-dark-overlay);color:var(--kirby-dark-overlay-contrast)}:host{display:block;background-color:var(--kirby-white);--kirby-inputs-background-color: var(--kirby-dark-overlay);--kirby-inputs-background-color-hover: var(--kirby-dark-overlay-10);--kirby-inputs-background-color-active: var(--kirby-dark-overlay-20);--kirby-inputs-color: var(--kirby-black);--kirby-inputs-indicator-background-color: var(--kirby-black);--kirby-inputs-indicator-color: var(--kirby-white);--kirby-inputs-placeholder-color: var(--kirby-semi-dark);--kirby-inputs-elevation: none;--kirby-divider-color: var(--kirby-background-color)}:host .wrapper{position:relative;max-width:var(--page-content-max-width, 792px);margin:0 auto;padding-bottom:var(--kirby-page-footer-safe-area-bottom, var(--kirby-safe-area-bottom))}:host .wrapper.padding{padding:8px 16px;padding-bottom:calc(8px + var(--kirby-page-footer-safe-area-bottom, var(--kirby-safe-area-bottom)))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
764
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageFooterComponent, deps: [{ token: PageComponent, optional: true, skipSelf: true }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
765
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PageFooterComponent, selector: "kirby-page-footer", inputs: { hasPadding: "hasPadding" }, ngImport: i0, template: "<div class=\"wrapper\" [class.padding]=\"hasPadding\">\n <ng-content></ng-content>\n</div>\n", 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.white-overlay{background-color:var(--kirby-white-overlay);color:var(--kirby-white-overlay-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)}ion-item-option.dark-overlay{background-color:var(--kirby-dark-overlay);color:var(--kirby-dark-overlay-contrast)}:host{display:block;background-color:var(--kirby-white);--kirby-inputs-background-color: var(--kirby-dark-overlay);--kirby-inputs-background-color-hover: var(--kirby-dark-overlay-10);--kirby-inputs-background-color-active: var(--kirby-dark-overlay-20);--kirby-inputs-color: var(--kirby-black);--kirby-inputs-indicator-background-color: var(--kirby-black);--kirby-inputs-indicator-color: var(--kirby-white);--kirby-inputs-placeholder-color: var(--kirby-semi-dark);--kirby-inputs-elevation: none;--kirby-divider-color: var(--kirby-background-color)}:host .wrapper{position:relative;max-width:var(--page-content-max-width, 792px);margin:0 auto;padding-bottom:var(--kirby-page-footer-safe-area-bottom, var(--kirby-safe-area-bottom))}:host .wrapper.padding{padding:8px 16px;padding-bottom:calc(8px + var(--kirby-page-footer-safe-area-bottom, var(--kirby-safe-area-bottom)))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
763
766
  }
764
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageFooterComponent, decorators: [{
767
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageFooterComponent, decorators: [{
765
768
  type: Component,
766
- args: [{ selector: 'kirby-page-footer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"wrapper\" [class.padding]=\"hasPadding\">\n <ng-content></ng-content>\n</div>\n", styles: [":host,:root{--kirby-white-overlay: hsl(0deg 0% 100% / 15%);--kirby-white-overlay-10: hsl(0deg 0% 100% / 10%);--kirby-white-overlay-20: hsl(0deg 0% 100% / 20%);--kirby-white-overlay-30: hsl(0deg 0% 100% / 30%);--kirby-white-overlay-40: hsl(0deg 0% 100% / 40%);--kirby-white-overlay-50: hsl(0deg 0% 100% / 50%);--kirby-dark-overlay: hsl(0deg 0% 11% / 6%);--kirby-dark-overlay-10: hsl(0deg 0% 11% / 10%);--kirby-dark-overlay-20: hsl(0deg 0% 11% / 20%);--kirby-dark-overlay-30: hsl(0deg 0% 11% / 30%);--kirby-dark-overlay-40: hsl(0deg 0% 11% / 40%);--kirby-dark-overlay-50: hsl(0deg 0% 11% / 50%);--kirby-white: hsl(0deg 0% 100%);--kirby-black: hsl(0deg 0% 11%);--kirby-semi-dark: hsl(0deg 0% 56%);--kirby-elevation-2: 0 1px 24px 0 rgb(28 28 28 / 4%);--kirby-elevation-4: 0 20px 30px -15px hsla(0deg 0% 11% 30%), 0 0 5px 0 hsla(0deg 0% 11% 8%)}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.white-overlay{background-color:var(--kirby-white-overlay);color:var(--kirby-white-overlay-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)}ion-item-option.dark-overlay{background-color:var(--kirby-dark-overlay);color:var(--kirby-dark-overlay-contrast)}:host{display:block;background-color:var(--kirby-white);--kirby-inputs-background-color: var(--kirby-dark-overlay);--kirby-inputs-background-color-hover: var(--kirby-dark-overlay-10);--kirby-inputs-background-color-active: var(--kirby-dark-overlay-20);--kirby-inputs-color: var(--kirby-black);--kirby-inputs-indicator-background-color: var(--kirby-black);--kirby-inputs-indicator-color: var(--kirby-white);--kirby-inputs-placeholder-color: var(--kirby-semi-dark);--kirby-inputs-elevation: none;--kirby-divider-color: var(--kirby-background-color)}:host .wrapper{position:relative;max-width:var(--page-content-max-width, 792px);margin:0 auto;padding-bottom:var(--kirby-page-footer-safe-area-bottom, var(--kirby-safe-area-bottom))}:host .wrapper.padding{padding:8px 16px;padding-bottom:calc(8px + var(--kirby-page-footer-safe-area-bottom, var(--kirby-safe-area-bottom)))}\n"] }]
769
+ args: [{ selector: 'kirby-page-footer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"wrapper\" [class.padding]=\"hasPadding\">\n <ng-content></ng-content>\n</div>\n", 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.white-overlay{background-color:var(--kirby-white-overlay);color:var(--kirby-white-overlay-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)}ion-item-option.dark-overlay{background-color:var(--kirby-dark-overlay);color:var(--kirby-dark-overlay-contrast)}:host{display:block;background-color:var(--kirby-white);--kirby-inputs-background-color: var(--kirby-dark-overlay);--kirby-inputs-background-color-hover: var(--kirby-dark-overlay-10);--kirby-inputs-background-color-active: var(--kirby-dark-overlay-20);--kirby-inputs-color: var(--kirby-black);--kirby-inputs-indicator-background-color: var(--kirby-black);--kirby-inputs-indicator-color: var(--kirby-white);--kirby-inputs-placeholder-color: var(--kirby-semi-dark);--kirby-inputs-elevation: none;--kirby-divider-color: var(--kirby-background-color)}:host .wrapper{position:relative;max-width:var(--page-content-max-width, 792px);margin:0 auto;padding-bottom:var(--kirby-page-footer-safe-area-bottom, var(--kirby-safe-area-bottom))}:host .wrapper.padding{padding:8px 16px;padding-bottom:calc(8px + var(--kirby-page-footer-safe-area-bottom, var(--kirby-safe-area-bottom)))}\n"] }]
767
770
  }], ctorParameters: () => [{ type: PageComponent, decorators: [{
768
771
  type: Optional
769
772
  }, {
@@ -773,8 +776,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
773
776
  }] } });
774
777
 
775
778
  class PageModule {
776
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
777
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: PageModule, declarations: [PageComponent,
779
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
780
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: PageModule, declarations: [PageComponent,
778
781
  PageActionsComponent,
779
782
  PageActionsDirective,
780
783
  PageContentComponent,
@@ -809,7 +812,7 @@ class PageModule {
809
812
  PageToolbarTitleDirective,
810
813
  FitHeadingDirective,
811
814
  PageStickyContentDirective] }); }
812
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageModule, imports: [CommonModule,
815
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageModule, imports: [CommonModule,
813
816
  SpinnerModule,
814
817
  HeaderModule,
815
818
  IonHeader,
@@ -821,7 +824,7 @@ class PageModule {
821
824
  IonRefresher,
822
825
  IonFooter] }); }
823
826
  }
824
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageModule, decorators: [{
827
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PageModule, decorators: [{
825
828
  type: NgModule,
826
829
  args: [{
827
830
  declarations: [