@kirbydesign/designsystem 9.4.1 → 9.5.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 (313) hide show
  1. package/avatar/avatar.component.d.ts +1 -1
  2. package/calendar/helpers/calendar-cell.model.d.ts +2 -0
  3. package/chart/shared/base-chart/base-chart.component.d.ts +2 -2
  4. package/esm2022/accordion/accordion-item.component.mjs +3 -3
  5. package/esm2022/accordion/accordion.directive.mjs +3 -3
  6. package/esm2022/accordion/accordion.module.mjs +4 -4
  7. package/esm2022/action-group/action-group.component.mjs +3 -3
  8. package/esm2022/avatar/avatar.component.mjs +3 -3
  9. package/esm2022/badge/badge.component.mjs +3 -3
  10. package/esm2022/button/button.component.mjs +3 -3
  11. package/esm2022/calendar/calendar.component.mjs +20 -19
  12. package/esm2022/calendar/helpers/calendar-cell.model.mjs +1 -1
  13. package/esm2022/calendar/helpers/calendar.helper.mjs +3 -3
  14. package/esm2022/card/card-as-button/card-as-button.directive.mjs +3 -3
  15. package/esm2022/card/card-footer/card-footer.component.mjs +3 -3
  16. package/esm2022/card/card-header/card-header.component.mjs +3 -3
  17. package/esm2022/card/card.component.mjs +3 -3
  18. package/esm2022/card/card.module.mjs +4 -4
  19. package/esm2022/chart/chart/chart.component.mjs +3 -3
  20. package/esm2022/chart/charts.module.mjs +4 -4
  21. package/esm2022/chart/shared/base-chart/base-chart.component.mjs +4 -4
  22. package/esm2022/chart/shared/chart-config-service/chart-config.service.mjs +3 -3
  23. package/esm2022/chart/shared/chart-js-service/chart-js.service.mjs +3 -3
  24. package/esm2022/chart/stock-chart/stock-chart-js.service.mjs +3 -3
  25. package/esm2022/chart/stock-chart/stock-chart.component.mjs +3 -3
  26. package/esm2022/checkbox/checkbox.component.mjs +3 -3
  27. package/esm2022/data-table/data-table.module.mjs +4 -4
  28. package/esm2022/data-table/sortable/sortable.component.mjs +3 -3
  29. package/esm2022/data-table/table/table.component.mjs +3 -3
  30. package/esm2022/data-table/table-row/table-row.component.mjs +3 -3
  31. package/esm2022/divider/divider.component.mjs +3 -3
  32. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  33. package/esm2022/dropdown/dropdown.module.mjs +4 -4
  34. package/esm2022/dropdown/keyboard-handler.service.mjs +3 -3
  35. package/esm2022/empty-state/empty-state.component.mjs +3 -3
  36. package/esm2022/empty-state/empty-state.module.mjs +4 -4
  37. package/esm2022/fab-sheet/fab-sheet.component.mjs +3 -3
  38. package/esm2022/flag/flag.component.mjs +3 -3
  39. package/esm2022/form-field/directives/affix/affix.directive.mjs +3 -3
  40. package/esm2022/form-field/directives/date/date-input.directive.mjs +3 -3
  41. package/esm2022/form-field/directives/decimal-mask/decimal-mask.directive.mjs +3 -3
  42. package/esm2022/form-field/form-field-message/form-field-message.component.mjs +3 -3
  43. package/esm2022/form-field/form-field.component.mjs +3 -3
  44. package/esm2022/form-field/form-field.module.mjs +4 -4
  45. package/esm2022/form-field/input/input.component.mjs +3 -3
  46. package/esm2022/form-field/input-counter/input-counter.component.mjs +3 -3
  47. package/esm2022/form-field/textarea/textarea.component.mjs +3 -3
  48. package/esm2022/header/header.component.mjs +16 -16
  49. package/esm2022/header/header.module.mjs +4 -4
  50. package/esm2022/helpers/ionic-element-part-helper.mjs +3 -3
  51. package/esm2022/helpers/line-clamp-helper.mjs +3 -3
  52. package/esm2022/helpers/platform.service.mjs +3 -3
  53. package/esm2022/icon/icon-registry.service.mjs +3 -3
  54. package/esm2022/icon/icon.component.mjs +3 -3
  55. package/esm2022/icon/icon.module.mjs +4 -4
  56. package/esm2022/item/item.component.mjs +4 -4
  57. package/esm2022/item/item.module.mjs +4 -4
  58. package/esm2022/item/label/label.component.mjs +3 -3
  59. package/esm2022/item-group/item-group.component.mjs +3 -3
  60. package/esm2022/item-sliding/item-sliding.component.mjs +3 -3
  61. package/esm2022/kirby-app/kirby-app.component.mjs +3 -3
  62. package/esm2022/kirby-app/kirby-app.module.mjs +4 -4
  63. package/esm2022/kirby-ionic-module/kirby-ionic.module.mjs +4 -4
  64. package/esm2022/lib/components/page-local-navigation/page-local-navigation.component.mjs +5 -5
  65. package/esm2022/lib/components/segmented-control/segment-item.mjs +1 -1
  66. package/esm2022/lib/components/segmented-control/segmented-control.component.mjs +36 -19
  67. package/esm2022/lib/directives/key-handler/key-handler.directive.mjs +3 -3
  68. package/esm2022/lib/directives/modal-router-link/modal-router-link.directive.mjs +3 -3
  69. package/esm2022/lib/kirby-experimental.module.mjs +4 -4
  70. package/esm2022/lib/kirby.module.mjs +4 -4
  71. package/esm2022/list/directives/infinite-scroll.directive.mjs +3 -3
  72. package/esm2022/list/directives/list-item-color.directive.mjs +3 -3
  73. package/esm2022/list/helpers/list-helper.mjs +3 -3
  74. package/esm2022/list/list-experimental/list-experimental.component.mjs +3 -3
  75. package/esm2022/list/list-header/list-header.component.mjs +3 -3
  76. package/esm2022/list/list-item/list-item.component.mjs +4 -4
  77. package/esm2022/list/list-section-header/list-section-header.component.mjs +3 -3
  78. package/esm2022/list/list.component.mjs +4 -4
  79. package/esm2022/list/list.directive.mjs +12 -12
  80. package/esm2022/list/list.module.mjs +4 -4
  81. package/esm2022/loading-overlay/loading-overlay.component.mjs +5 -5
  82. package/esm2022/loading-overlay/loading-overlay.service.mjs +3 -3
  83. package/esm2022/menu/menu.component.mjs +3 -3
  84. package/esm2022/modal/modal/action-sheet/action-sheet.component.mjs +3 -3
  85. package/esm2022/modal/modal/alert/alert.component.mjs +3 -3
  86. package/esm2022/modal/modal/footer/modal-footer.component.mjs +3 -3
  87. package/esm2022/modal/modal/modal-component/modal.component.mjs +3 -3
  88. package/esm2022/modal/modal/services/action-sheet.helper.mjs +3 -3
  89. package/esm2022/modal/modal/services/alert.helper.mjs +3 -3
  90. package/esm2022/modal/modal/services/can-dismiss.helper.mjs +3 -3
  91. package/esm2022/modal/modal/services/modal-animation-builder.service.mjs +3 -3
  92. package/esm2022/modal/modal/services/modal.controller.mjs +3 -3
  93. package/esm2022/modal/modal/services/modal.helper.mjs +3 -3
  94. package/esm2022/modal/modal-navigation.service.mjs +3 -3
  95. package/esm2022/modal/modal-wrapper/compact/modal-compact-wrapper.component.mjs +3 -3
  96. package/esm2022/modal/modal-wrapper/modal-wrapper.component.mjs +6 -6
  97. package/esm2022/modal/modal.interfaces.mjs +3 -3
  98. package/esm2022/modal/v2/footer/footer.component.mjs +3 -3
  99. package/esm2022/modal/v2/kirby-modal.module.mjs +4 -4
  100. package/esm2022/modal/v2/modal/modal.component.mjs +4 -4
  101. package/esm2022/modal/v2/modal-routing/modal-routing.component.mjs +3 -3
  102. package/esm2022/modal/v2/services/modal.controller.mjs +3 -3
  103. package/esm2022/modal/v2/wrapper/wrapper.component.mjs +4 -4
  104. package/esm2022/page/page-footer/page-footer.component.mjs +3 -3
  105. package/esm2022/page/page.component.mjs +41 -35
  106. package/esm2022/page/page.module.mjs +4 -4
  107. package/esm2022/popover/popover.component.mjs +3 -3
  108. package/esm2022/progress-circle/progress-circle-ring.component.mjs +25 -16
  109. package/esm2022/progress-circle/progress-circle.component.mjs +3 -3
  110. package/esm2022/radio/radio-group/radio-group.component.mjs +3 -3
  111. package/esm2022/radio/radio-module.mjs +4 -4
  112. package/esm2022/radio/radio.component.mjs +4 -4
  113. package/esm2022/range/range.component.mjs +3 -3
  114. package/esm2022/reorder-list/reorder-list.component.mjs +3 -3
  115. package/esm2022/router-outlet/router-outlet.component.mjs +3 -3
  116. package/esm2022/router-outlet/router-outlet.module.mjs +4 -4
  117. package/esm2022/section-header/section-header.component.mjs +5 -5
  118. package/esm2022/shared/component-loader.directive.mjs +3 -3
  119. package/esm2022/shared/fit-heading/fit-heading.directive.mjs +3 -3
  120. package/esm2022/shared/floating/floating.directive.mjs +3 -3
  121. package/esm2022/shared/portal/portal.directive.mjs +3 -3
  122. package/esm2022/shared/resize-observer/resize-observer.factory.mjs +3 -3
  123. package/esm2022/shared/resize-observer/resize-observer.service.mjs +3 -3
  124. package/esm2022/shared/theme-color/theme-color.directive.mjs +3 -3
  125. package/esm2022/slide/slide-stretch-height.directive.mjs +3 -3
  126. package/esm2022/slide/slide.directive.mjs +3 -3
  127. package/esm2022/slide/slide.module.mjs +4 -4
  128. package/esm2022/slide/slides.component.mjs +3 -3
  129. package/esm2022/slide-button/slide-button.component.mjs +3 -3
  130. package/esm2022/spinner/spinner.component.mjs +3 -3
  131. package/esm2022/spinner/spinner.module.mjs +4 -4
  132. package/esm2022/tab-navigation/tab-navigation/tab-navigation.component.mjs +4 -4
  133. package/esm2022/tab-navigation/tab-navigation-item/tab-navigation-item.component.mjs +8 -5
  134. package/esm2022/tab-navigation/tab-navigation.module.mjs +4 -4
  135. package/esm2022/tabs/tab-button/tab-button.component.mjs +4 -4
  136. package/esm2022/tabs/tabs.component.mjs +3 -3
  137. package/esm2022/tabs/tabs.module.mjs +4 -4
  138. package/esm2022/tabs/tabs.service.mjs +3 -3
  139. package/esm2022/testing/test-helper.mjs +4 -4
  140. package/esm2022/testing-base/lib/components/mock.accordion-item.component.mjs +3 -3
  141. package/esm2022/testing-base/lib/components/mock.action-group.component.mjs +3 -3
  142. package/esm2022/testing-base/lib/components/mock.action-sheet.component.mjs +3 -3
  143. package/esm2022/testing-base/lib/components/mock.alert.component.mjs +3 -3
  144. package/esm2022/testing-base/lib/components/mock.avatar.component.mjs +3 -3
  145. package/esm2022/testing-base/lib/components/mock.badge.component.mjs +3 -3
  146. package/esm2022/testing-base/lib/components/mock.base-chart.component.mjs +3 -3
  147. package/esm2022/testing-base/lib/components/mock.button.component.mjs +3 -3
  148. package/esm2022/testing-base/lib/components/mock.calendar.component.mjs +3 -3
  149. package/esm2022/testing-base/lib/components/mock.card-footer.component.mjs +3 -3
  150. package/esm2022/testing-base/lib/components/mock.card-header.component.mjs +3 -3
  151. package/esm2022/testing-base/lib/components/mock.card.component.mjs +3 -3
  152. package/esm2022/testing-base/lib/components/mock.chart.component.mjs +3 -3
  153. package/esm2022/testing-base/lib/components/mock.checkbox.component.mjs +3 -3
  154. package/esm2022/testing-base/lib/components/mock.divider.component.mjs +3 -3
  155. package/esm2022/testing-base/lib/components/mock.dropdown.component.mjs +3 -3
  156. package/esm2022/testing-base/lib/components/mock.empty-state.component.mjs +3 -3
  157. package/esm2022/testing-base/lib/components/mock.fab-sheet.component.mjs +3 -3
  158. package/esm2022/testing-base/lib/components/mock.flag.component.mjs +3 -3
  159. package/esm2022/testing-base/lib/components/mock.footer.component.mjs +3 -3
  160. package/esm2022/testing-base/lib/components/mock.form-field-message.component.mjs +3 -3
  161. package/esm2022/testing-base/lib/components/mock.form-field.component.mjs +3 -3
  162. package/esm2022/testing-base/lib/components/mock.header.component.mjs +9 -9
  163. package/esm2022/testing-base/lib/components/mock.icon.component.mjs +3 -3
  164. package/esm2022/testing-base/lib/components/mock.input-counter.component.mjs +3 -3
  165. package/esm2022/testing-base/lib/components/mock.input.component.mjs +3 -3
  166. package/esm2022/testing-base/lib/components/mock.item-group.component.mjs +3 -3
  167. package/esm2022/testing-base/lib/components/mock.item-sliding.component.mjs +3 -3
  168. package/esm2022/testing-base/lib/components/mock.item.component.mjs +3 -3
  169. package/esm2022/testing-base/lib/components/mock.kirby-app.component.mjs +3 -3
  170. package/esm2022/testing-base/lib/components/mock.label.component.mjs +3 -3
  171. package/esm2022/testing-base/lib/components/mock.list-experimental.component.mjs +3 -3
  172. package/esm2022/testing-base/lib/components/mock.list-header.component.mjs +3 -3
  173. package/esm2022/testing-base/lib/components/mock.list-item.component.mjs +3 -3
  174. package/esm2022/testing-base/lib/components/mock.list-section-header.component.mjs +3 -3
  175. package/esm2022/testing-base/lib/components/mock.list.component.mjs +3 -3
  176. package/esm2022/testing-base/lib/components/mock.loading-overlay.component.mjs +3 -3
  177. package/esm2022/testing-base/lib/components/mock.menu.component.mjs +3 -3
  178. package/esm2022/testing-base/lib/components/mock.modal-compact-wrapper.component.mjs +3 -3
  179. package/esm2022/testing-base/lib/components/mock.modal-footer.component.mjs +3 -3
  180. package/esm2022/testing-base/lib/components/mock.modal-routing.component.mjs +3 -3
  181. package/esm2022/testing-base/lib/components/mock.modal-wrapper.component.mjs +3 -3
  182. package/esm2022/testing-base/lib/components/mock.modal.component.mjs +3 -3
  183. package/esm2022/testing-base/lib/components/mock.page-footer.component.mjs +3 -3
  184. package/esm2022/testing-base/lib/components/mock.page-local-navigation.component.mjs +3 -3
  185. package/esm2022/testing-base/lib/components/mock.page.component.mjs +33 -33
  186. package/esm2022/testing-base/lib/components/mock.popover.component.mjs +3 -3
  187. package/esm2022/testing-base/lib/components/mock.progress-circle-ring.component.mjs +3 -3
  188. package/esm2022/testing-base/lib/components/mock.progress-circle.component.mjs +3 -3
  189. package/esm2022/testing-base/lib/components/mock.radio-group.component.mjs +3 -3
  190. package/esm2022/testing-base/lib/components/mock.radio.component.mjs +3 -3
  191. package/esm2022/testing-base/lib/components/mock.range.component.mjs +3 -3
  192. package/esm2022/testing-base/lib/components/mock.reorder-list.component.mjs +3 -3
  193. package/esm2022/testing-base/lib/components/mock.router-outlet.component.mjs +3 -3
  194. package/esm2022/testing-base/lib/components/mock.section-header.component.mjs +3 -3
  195. package/esm2022/testing-base/lib/components/mock.segmented-control.component.mjs +3 -3
  196. package/esm2022/testing-base/lib/components/mock.slide-button.component.mjs +3 -3
  197. package/esm2022/testing-base/lib/components/mock.slides.component.mjs +3 -3
  198. package/esm2022/testing-base/lib/components/mock.spinner.component.mjs +3 -3
  199. package/esm2022/testing-base/lib/components/mock.stock-chart.component.mjs +3 -3
  200. package/esm2022/testing-base/lib/components/mock.tab-button.component.mjs +3 -3
  201. package/esm2022/testing-base/lib/components/mock.tab-navigation-item.component.mjs +3 -3
  202. package/esm2022/testing-base/lib/components/mock.tab-navigation.component.mjs +3 -3
  203. package/esm2022/testing-base/lib/components/mock.table-row.component.mjs +3 -3
  204. package/esm2022/testing-base/lib/components/mock.table.component.mjs +3 -3
  205. package/esm2022/testing-base/lib/components/mock.tabs.component.mjs +3 -3
  206. package/esm2022/testing-base/lib/components/mock.textarea.component.mjs +3 -3
  207. package/esm2022/testing-base/lib/components/mock.toggle-button.component.mjs +3 -3
  208. package/esm2022/testing-base/lib/components/mock.toggle.component.mjs +3 -3
  209. package/esm2022/testing-base/lib/components/mock.wrapper.component.mjs +3 -3
  210. package/esm2022/testing-base/lib/directives/mock.accordion.directive.mjs +3 -3
  211. package/esm2022/testing-base/lib/directives/mock.affix.directive.mjs +3 -3
  212. package/esm2022/testing-base/lib/directives/mock.card-as-button.directive.mjs +3 -3
  213. package/esm2022/testing-base/lib/directives/mock.component-loader.directive.mjs +3 -3
  214. package/esm2022/testing-base/lib/directives/mock.date-input.directive.mjs +3 -3
  215. package/esm2022/testing-base/lib/directives/mock.decimal-mask.directive.mjs +3 -3
  216. package/esm2022/testing-base/lib/directives/mock.fit-heading.directive.mjs +3 -3
  217. package/esm2022/testing-base/lib/directives/mock.floating.directive.mjs +3 -3
  218. package/esm2022/testing-base/lib/directives/mock.infinite-scroll.directive.mjs +3 -3
  219. package/esm2022/testing-base/lib/directives/mock.key-handler.directive.mjs +3 -3
  220. package/esm2022/testing-base/lib/directives/mock.list-item-color.directive.mjs +3 -3
  221. package/esm2022/testing-base/lib/directives/mock.list.directive.mjs +12 -12
  222. package/esm2022/testing-base/lib/directives/mock.modal-router-link.directive.mjs +3 -3
  223. package/esm2022/testing-base/lib/directives/mock.portal.directive.mjs +3 -3
  224. package/esm2022/testing-base/lib/directives/mock.slide.directive.mjs +3 -3
  225. package/esm2022/testing-base/lib/directives/mock.theme-color.directive.mjs +3 -3
  226. package/esm2022/testing-base/lib/kirby-testing-base.module.mjs +4 -4
  227. package/esm2022/testing-jasmine/lib/kirby-testing.module.mjs +5 -6
  228. package/esm2022/testing-jest/lib/kirby-testing.module.mjs +5 -6
  229. package/esm2022/toast/services/toast.controller.mjs +3 -3
  230. package/esm2022/toast/services/toast.helper.mjs +3 -3
  231. package/esm2022/toggle/toggle.component.mjs +3 -3
  232. package/esm2022/toggle-button/toggle-button.component.mjs +3 -3
  233. package/esm2022/toggle-button/toggle-button.module.mjs +4 -4
  234. package/esm2022/types/window-ref.mjs +3 -3
  235. package/fesm2022/kirbydesign-designsystem-accordion.mjs +10 -10
  236. package/fesm2022/kirbydesign-designsystem-action-group.mjs +3 -3
  237. package/fesm2022/kirbydesign-designsystem-avatar.mjs +3 -3
  238. package/fesm2022/kirbydesign-designsystem-badge.mjs +3 -3
  239. package/fesm2022/kirbydesign-designsystem-button.mjs +3 -3
  240. package/fesm2022/kirbydesign-designsystem-calendar.mjs +22 -21
  241. package/fesm2022/kirbydesign-designsystem-calendar.mjs.map +1 -1
  242. package/fesm2022/kirbydesign-designsystem-card.mjs +16 -16
  243. package/fesm2022/kirbydesign-designsystem-chart.mjs +22 -22
  244. package/fesm2022/kirbydesign-designsystem-chart.mjs.map +1 -1
  245. package/fesm2022/kirbydesign-designsystem-checkbox.mjs +3 -3
  246. package/fesm2022/kirbydesign-designsystem-data-table.mjs +13 -13
  247. package/fesm2022/kirbydesign-designsystem-divider.mjs +3 -3
  248. package/fesm2022/kirbydesign-designsystem-dropdown.mjs +10 -10
  249. package/fesm2022/kirbydesign-designsystem-empty-state.mjs +7 -7
  250. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs +3 -3
  251. package/fesm2022/kirbydesign-designsystem-flag.mjs +3 -3
  252. package/fesm2022/kirbydesign-designsystem-form-field.mjs +28 -28
  253. package/fesm2022/kirbydesign-designsystem-header.mjs +20 -20
  254. package/fesm2022/kirbydesign-designsystem-header.mjs.map +1 -1
  255. package/fesm2022/kirbydesign-designsystem-helpers.mjs +9 -9
  256. package/fesm2022/kirbydesign-designsystem-icon.mjs +10 -10
  257. package/fesm2022/kirbydesign-designsystem-item-group.mjs +3 -3
  258. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs +3 -3
  259. package/fesm2022/kirbydesign-designsystem-item.mjs +11 -11
  260. package/fesm2022/kirbydesign-designsystem-item.mjs.map +1 -1
  261. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs +7 -7
  262. package/fesm2022/kirbydesign-designsystem-kirby-ionic-module.mjs +4 -4
  263. package/fesm2022/kirbydesign-designsystem-list.mjs +42 -42
  264. package/fesm2022/kirbydesign-designsystem-list.mjs.map +1 -1
  265. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs +7 -7
  266. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs.map +1 -1
  267. package/fesm2022/kirbydesign-designsystem-menu.mjs +3 -3
  268. package/fesm2022/kirbydesign-designsystem-modal-v2.mjs +21 -21
  269. package/fesm2022/kirbydesign-designsystem-modal-v2.mjs.map +1 -1
  270. package/fesm2022/kirbydesign-designsystem-modal.mjs +44 -44
  271. package/fesm2022/kirbydesign-designsystem-modal.mjs.map +1 -1
  272. package/fesm2022/kirbydesign-designsystem-page.mjs +47 -41
  273. package/fesm2022/kirbydesign-designsystem-page.mjs.map +1 -1
  274. package/fesm2022/kirbydesign-designsystem-popover.mjs +3 -3
  275. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs +26 -17
  276. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs.map +1 -1
  277. package/fesm2022/kirbydesign-designsystem-radio.mjs +11 -11
  278. package/fesm2022/kirbydesign-designsystem-radio.mjs.map +1 -1
  279. package/fesm2022/kirbydesign-designsystem-range.mjs +3 -3
  280. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs +3 -3
  281. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs +7 -7
  282. package/fesm2022/kirbydesign-designsystem-section-header.mjs +4 -4
  283. package/fesm2022/kirbydesign-designsystem-section-header.mjs.map +1 -1
  284. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs +3 -3
  285. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs +3 -3
  286. package/fesm2022/kirbydesign-designsystem-shared.mjs +15 -15
  287. package/fesm2022/kirbydesign-designsystem-slide-button.mjs +3 -3
  288. package/fesm2022/kirbydesign-designsystem-slide.mjs +13 -13
  289. package/fesm2022/kirbydesign-designsystem-spinner.mjs +7 -7
  290. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs +15 -12
  291. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs.map +1 -1
  292. package/fesm2022/kirbydesign-designsystem-tabs.mjs +14 -14
  293. package/fesm2022/kirbydesign-designsystem-tabs.mjs.map +1 -1
  294. package/fesm2022/kirbydesign-designsystem-testing-base.mjs +307 -307
  295. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs +4 -5
  296. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs.map +1 -1
  297. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs +4 -5
  298. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs.map +1 -1
  299. package/fesm2022/kirbydesign-designsystem-testing.mjs +4 -4
  300. package/fesm2022/kirbydesign-designsystem-toast.mjs +6 -6
  301. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs +7 -7
  302. package/fesm2022/kirbydesign-designsystem-toggle.mjs +3 -3
  303. package/fesm2022/kirbydesign-designsystem-types.mjs +3 -3
  304. package/fesm2022/kirbydesign-designsystem.mjs +53 -36
  305. package/fesm2022/kirbydesign-designsystem.mjs.map +1 -1
  306. package/lib/components/segmented-control/segment-item.d.ts +0 -4
  307. package/lib/components/segmented-control/segmented-control.component.d.ts +22 -12
  308. package/modal/modal/footer/modal-footer.component.d.ts +1 -1
  309. package/package.json +28 -30
  310. package/page/page.component.d.ts +1 -1
  311. package/progress-circle/progress-circle-ring.component.d.ts +7 -3
  312. package/readme.md +11 -10
  313. package/tab-navigation/tab-navigation-item/tab-navigation-item.component.d.ts +2 -1
@@ -88,15 +88,14 @@ const MOCK_PROVIDERS = [
88
88
  },
89
89
  ];
90
90
 
91
- /// <reference path='../../../../../node_modules/@types/jasmine/index.d.ts' />
92
91
  // eslint-disable-next-line @typescript-eslint/triple-slash-reference
93
92
  /// <reference path='../../../../../node_modules/@types/jasmine/index.d.ts' />
94
93
  class KirbyTestingModule {
95
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: KirbyTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
96
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: KirbyTestingModule, imports: [KirbyTestingBaseModule], exports: [KirbyTestingBaseModule] }); }
97
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: KirbyTestingModule, providers: [...MOCK_PROVIDERS], imports: [KirbyTestingBaseModule, KirbyTestingBaseModule] }); }
94
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: KirbyTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
95
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: KirbyTestingModule, imports: [KirbyTestingBaseModule], exports: [KirbyTestingBaseModule] }); }
96
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: KirbyTestingModule, providers: [...MOCK_PROVIDERS], imports: [KirbyTestingBaseModule, KirbyTestingBaseModule] }); }
98
97
  }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: KirbyTestingModule, decorators: [{
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: KirbyTestingModule, decorators: [{
100
99
  type: NgModule,
101
100
  args: [{
102
101
  imports: [KirbyTestingBaseModule],
@@ -1 +1 @@
1
- {"version":3,"file":"kirbydesign-designsystem-testing-jasmine.mjs","sources":["../../../../libs/designsystem/testing-jasmine/src/lib/mock-providers.ts","../../../../libs/designsystem/testing-jasmine/src/lib/kirby-testing.module.ts","../../../../libs/designsystem/testing-jasmine/src/kirbydesign-designsystem-testing-jasmine.ts"],"sourcesContent":["// AUTO-GENERATED - PLEASE DON'T EDIT THIS FILE MANUALLY\n\nimport {\n ChartConfigService,\n ChartJSService,\n IconRegistryService,\n LoadingOverlayService,\n TabsService,\n} from '@kirbydesign/designsystem';\n\nimport { ToastController } from '@kirbydesign/designsystem/toast';\nimport { ModalController } from '@kirbydesign/designsystem/modal';\n\nimport { EMPTY } from 'rxjs';\n\nexport function chartConfigServiceFactory() {\n return jasmine.createSpyObj<ChartConfigService>('ChartConfigService', [\n 'getTypeConfig',\n 'getAnnotationDefaults',\n 'chartTypeToChartJSType',\n 'applyInteractionFunctionsExtensions',\n 'getStockChartOptions',\n ]);\n}\n\nexport function chartJSServiceFactory() {\n return jasmine.createSpyObj<ChartJSService>('ChartJSService', [\n 'renderChart',\n 'redrawChart',\n 'destroyChart',\n 'updateData',\n 'updateLabels',\n 'updateType',\n 'updateOptions',\n 'updateAnnotations',\n 'updateHighlightedElements',\n ]);\n}\n\nexport function iconRegistryServiceFactory() {\n return jasmine.createSpyObj<IconRegistryService>('IconRegistryService', ['addIcon', 'addIcons']);\n}\n\nexport function loadingOverlayServiceFactory() {\n return jasmine.createSpyObj<LoadingOverlayService>('LoadingOverlayService', [\n 'showLoadingOverlay',\n 'hideLoadingOverlay',\n ]);\n}\n\nexport function modalControllerFactory() {\n return jasmine.createSpyObj<ModalController>('ModalController', [\n 'showModal',\n 'navigateToModal',\n 'navigateWithinModal',\n 'showActionSheet',\n 'showAlert',\n 'hideTopmost',\n 'hideAll',\n ]);\n}\n\nexport function tabsServiceFactory() {\n return jasmine.createSpyObj<TabsService>('TabsService', ['setOutlet', 'resetOutlet'], {\n outlet$: EMPTY,\n });\n}\n\nexport function toastControllerFactory() {\n return jasmine.createSpyObj<ToastController>('ToastController', ['showToast']);\n}\n\nexport const MOCK_PROVIDERS = [\n {\n provide: ChartConfigService,\n useFactory: chartConfigServiceFactory,\n },\n {\n provide: ChartJSService,\n useFactory: chartJSServiceFactory,\n },\n {\n provide: IconRegistryService,\n useFactory: iconRegistryServiceFactory,\n },\n {\n provide: LoadingOverlayService,\n useFactory: loadingOverlayServiceFactory,\n },\n {\n provide: ModalController,\n useFactory: modalControllerFactory,\n },\n {\n provide: TabsService,\n useFactory: tabsServiceFactory,\n },\n {\n provide: ToastController,\n useFactory: toastControllerFactory,\n },\n];\n","// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference path='../../../../../node_modules/@types/jasmine/index.d.ts' />\n\nimport { NgModule } from '@angular/core';\n\nimport { KirbyTestingBaseModule } from '@kirbydesign/designsystem/testing-base';\n\nimport { MOCK_PROVIDERS } from './mock-providers';\n\n@NgModule({\n imports: [KirbyTestingBaseModule],\n exports: [KirbyTestingBaseModule],\n providers: [...MOCK_PROVIDERS],\n})\nexport class KirbyTestingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kirbydesign-designsystem-testing-jasmine.mjs","sources":["../../../../libs/designsystem/testing-jasmine/src/lib/mock-providers.ts","../../../../libs/designsystem/testing-jasmine/src/lib/kirby-testing.module.ts","../../../../libs/designsystem/testing-jasmine/src/kirbydesign-designsystem-testing-jasmine.ts"],"sourcesContent":["// AUTO-GENERATED - PLEASE DON'T EDIT THIS FILE MANUALLY\n\nimport {\n ChartConfigService,\n ChartJSService,\n IconRegistryService,\n LoadingOverlayService,\n TabsService,\n} from '@kirbydesign/designsystem';\n\nimport { ToastController } from '@kirbydesign/designsystem/toast';\nimport { ModalController } from '@kirbydesign/designsystem/modal';\n\nimport { EMPTY } from 'rxjs';\n\nexport function chartConfigServiceFactory() {\n return jasmine.createSpyObj<ChartConfigService>('ChartConfigService', [\n 'getTypeConfig',\n 'getAnnotationDefaults',\n 'chartTypeToChartJSType',\n 'applyInteractionFunctionsExtensions',\n 'getStockChartOptions',\n ]);\n}\n\nexport function chartJSServiceFactory() {\n return jasmine.createSpyObj<ChartJSService>('ChartJSService', [\n 'renderChart',\n 'redrawChart',\n 'destroyChart',\n 'updateData',\n 'updateLabels',\n 'updateType',\n 'updateOptions',\n 'updateAnnotations',\n 'updateHighlightedElements',\n ]);\n}\n\nexport function iconRegistryServiceFactory() {\n return jasmine.createSpyObj<IconRegistryService>('IconRegistryService', ['addIcon', 'addIcons']);\n}\n\nexport function loadingOverlayServiceFactory() {\n return jasmine.createSpyObj<LoadingOverlayService>('LoadingOverlayService', [\n 'showLoadingOverlay',\n 'hideLoadingOverlay',\n ]);\n}\n\nexport function modalControllerFactory() {\n return jasmine.createSpyObj<ModalController>('ModalController', [\n 'showModal',\n 'navigateToModal',\n 'navigateWithinModal',\n 'showActionSheet',\n 'showAlert',\n 'hideTopmost',\n 'hideAll',\n ]);\n}\n\nexport function tabsServiceFactory() {\n return jasmine.createSpyObj<TabsService>('TabsService', ['setOutlet', 'resetOutlet'], {\n outlet$: EMPTY,\n });\n}\n\nexport function toastControllerFactory() {\n return jasmine.createSpyObj<ToastController>('ToastController', ['showToast']);\n}\n\nexport const MOCK_PROVIDERS = [\n {\n provide: ChartConfigService,\n useFactory: chartConfigServiceFactory,\n },\n {\n provide: ChartJSService,\n useFactory: chartJSServiceFactory,\n },\n {\n provide: IconRegistryService,\n useFactory: iconRegistryServiceFactory,\n },\n {\n provide: LoadingOverlayService,\n useFactory: loadingOverlayServiceFactory,\n },\n {\n provide: ModalController,\n useFactory: modalControllerFactory,\n },\n {\n provide: TabsService,\n useFactory: tabsServiceFactory,\n },\n {\n provide: ToastController,\n useFactory: toastControllerFactory,\n },\n];\n","// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference path='../../../../../node_modules/@types/jasmine/index.d.ts' />\n\nimport { NgModule } from '@angular/core';\n\nimport { KirbyTestingBaseModule } from '@kirbydesign/designsystem/testing-base';\n\nimport { MOCK_PROVIDERS } from './mock-providers';\n\n@NgModule({\n imports: [KirbyTestingBaseModule],\n exports: [KirbyTestingBaseModule],\n providers: [...MOCK_PROVIDERS],\n})\nexport class KirbyTestingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -94,15 +94,14 @@ const MOCK_PROVIDERS = [
94
94
  },
95
95
  ];
96
96
 
97
- /// <reference path='../../../../../node_modules/@types/jest/index.d.ts' />
98
97
  // eslint-disable-next-line @typescript-eslint/triple-slash-reference
99
98
  /// <reference path='../../../../../node_modules/@types/jest/index.d.ts' />
100
99
  class KirbyTestingModule {
101
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: KirbyTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
102
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: KirbyTestingModule, imports: [KirbyTestingBaseModule], exports: [KirbyTestingBaseModule] }); }
103
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: KirbyTestingModule, providers: [...MOCK_PROVIDERS], imports: [KirbyTestingBaseModule, KirbyTestingBaseModule] }); }
100
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: KirbyTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
101
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: KirbyTestingModule, imports: [KirbyTestingBaseModule], exports: [KirbyTestingBaseModule] }); }
102
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: KirbyTestingModule, providers: [...MOCK_PROVIDERS], imports: [KirbyTestingBaseModule, KirbyTestingBaseModule] }); }
104
103
  }
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: KirbyTestingModule, decorators: [{
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: KirbyTestingModule, decorators: [{
106
105
  type: NgModule,
107
106
  args: [{
108
107
  imports: [KirbyTestingBaseModule],
@@ -1 +1 @@
1
- {"version":3,"file":"kirbydesign-designsystem-testing-jest.mjs","sources":["../../../../libs/designsystem/testing-jest/src/lib/mock-providers.ts","../../../../libs/designsystem/testing-jest/src/lib/kirby-testing.module.ts","../../../../libs/designsystem/testing-jest/src/kirbydesign-designsystem-testing-jest.ts"],"sourcesContent":["// AUTO-GENERATED - PLEASE DON'T EDIT THIS FILE MANUALLY\n\nimport {\n ChartConfigService,\n ChartJSService,\n IconRegistryService,\n LoadingOverlayService,\n ModalController,\n TabsService,\n} from '@kirbydesign/designsystem';\n\nimport { ToastController } from '@kirbydesign/designsystem/toast';\nimport { EMPTY } from 'rxjs';\n\nexport function chartConfigServiceFactory() {\n return {\n getTypeConfig: jest.fn(),\n getAnnotationDefaults: jest.fn(),\n chartTypeToChartJSType: jest.fn(),\n applyInteractionFunctionsExtensions: jest.fn(),\n getStockChartOptions: jest.fn(),\n };\n}\n\nexport function chartJSServiceFactory() {\n return {\n renderChart: jest.fn(),\n redrawChart: jest.fn(),\n destroyChart: jest.fn(),\n updateData: jest.fn(),\n updateLabels: jest.fn(),\n updateType: jest.fn(),\n updateOptions: jest.fn(),\n updateAnnotations: jest.fn(),\n updateHighlightedElements: jest.fn(),\n };\n}\n\nexport function iconRegistryServiceFactory() {\n return {\n addIcon: jest.fn(),\n addIcons: jest.fn(),\n };\n}\n\nexport function loadingOverlayServiceFactory() {\n return {\n showLoadingOverlay: jest.fn(),\n hideLoadingOverlay: jest.fn(),\n };\n}\n\nexport function modalControllerFactory() {\n return {\n showModal: jest.fn(),\n navigateToModal: jest.fn(),\n navigateWithinModal: jest.fn(),\n showActionSheet: jest.fn(),\n showAlert: jest.fn(),\n hideTopmost: jest.fn(),\n hideAll: jest.fn(),\n };\n}\n\nexport function tabsServiceFactory() {\n return {\n setOutlet: jest.fn(),\n resetOutlet: jest.fn(),\n outlet$: EMPTY,\n };\n}\n\nexport function toastControllerFactory() {\n return {\n showToast: jest.fn(),\n };\n}\n\nexport const MOCK_PROVIDERS = [\n {\n provide: ChartConfigService,\n useFactory: chartConfigServiceFactory,\n },\n {\n provide: ChartJSService,\n useFactory: chartJSServiceFactory,\n },\n {\n provide: IconRegistryService,\n useFactory: iconRegistryServiceFactory,\n },\n {\n provide: LoadingOverlayService,\n useFactory: loadingOverlayServiceFactory,\n },\n {\n provide: ModalController,\n useFactory: modalControllerFactory,\n },\n {\n provide: TabsService,\n useFactory: tabsServiceFactory,\n },\n {\n provide: ToastController,\n useFactory: toastControllerFactory,\n },\n];\n","// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference path='../../../../../node_modules/@types/jest/index.d.ts' />\n\nimport { NgModule } from '@angular/core';\n\nimport { KirbyTestingBaseModule } from '@kirbydesign/designsystem/testing-base';\n\nimport { MOCK_PROVIDERS } from './mock-providers';\n\n@NgModule({\n imports: [KirbyTestingBaseModule],\n exports: [KirbyTestingBaseModule],\n providers: [...MOCK_PROVIDERS],\n})\nexport class KirbyTestingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kirbydesign-designsystem-testing-jest.mjs","sources":["../../../../libs/designsystem/testing-jest/src/lib/mock-providers.ts","../../../../libs/designsystem/testing-jest/src/lib/kirby-testing.module.ts","../../../../libs/designsystem/testing-jest/src/kirbydesign-designsystem-testing-jest.ts"],"sourcesContent":["// AUTO-GENERATED - PLEASE DON'T EDIT THIS FILE MANUALLY\n\nimport {\n ChartConfigService,\n ChartJSService,\n IconRegistryService,\n LoadingOverlayService,\n ModalController,\n TabsService,\n} from '@kirbydesign/designsystem';\n\nimport { ToastController } from '@kirbydesign/designsystem/toast';\nimport { EMPTY } from 'rxjs';\n\nexport function chartConfigServiceFactory() {\n return {\n getTypeConfig: jest.fn(),\n getAnnotationDefaults: jest.fn(),\n chartTypeToChartJSType: jest.fn(),\n applyInteractionFunctionsExtensions: jest.fn(),\n getStockChartOptions: jest.fn(),\n };\n}\n\nexport function chartJSServiceFactory() {\n return {\n renderChart: jest.fn(),\n redrawChart: jest.fn(),\n destroyChart: jest.fn(),\n updateData: jest.fn(),\n updateLabels: jest.fn(),\n updateType: jest.fn(),\n updateOptions: jest.fn(),\n updateAnnotations: jest.fn(),\n updateHighlightedElements: jest.fn(),\n };\n}\n\nexport function iconRegistryServiceFactory() {\n return {\n addIcon: jest.fn(),\n addIcons: jest.fn(),\n };\n}\n\nexport function loadingOverlayServiceFactory() {\n return {\n showLoadingOverlay: jest.fn(),\n hideLoadingOverlay: jest.fn(),\n };\n}\n\nexport function modalControllerFactory() {\n return {\n showModal: jest.fn(),\n navigateToModal: jest.fn(),\n navigateWithinModal: jest.fn(),\n showActionSheet: jest.fn(),\n showAlert: jest.fn(),\n hideTopmost: jest.fn(),\n hideAll: jest.fn(),\n };\n}\n\nexport function tabsServiceFactory() {\n return {\n setOutlet: jest.fn(),\n resetOutlet: jest.fn(),\n outlet$: EMPTY,\n };\n}\n\nexport function toastControllerFactory() {\n return {\n showToast: jest.fn(),\n };\n}\n\nexport const MOCK_PROVIDERS = [\n {\n provide: ChartConfigService,\n useFactory: chartConfigServiceFactory,\n },\n {\n provide: ChartJSService,\n useFactory: chartJSServiceFactory,\n },\n {\n provide: IconRegistryService,\n useFactory: iconRegistryServiceFactory,\n },\n {\n provide: LoadingOverlayService,\n useFactory: loadingOverlayServiceFactory,\n },\n {\n provide: ModalController,\n useFactory: modalControllerFactory,\n },\n {\n provide: TabsService,\n useFactory: tabsServiceFactory,\n },\n {\n provide: ToastController,\n useFactory: toastControllerFactory,\n },\n];\n","// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// <reference path='../../../../../node_modules/@types/jest/index.d.ts' />\n\nimport { NgModule } from '@angular/core';\n\nimport { KirbyTestingBaseModule } from '@kirbydesign/designsystem/testing-base';\n\nimport { MOCK_PROVIDERS } from './mock-providers';\n\n@NgModule({\n imports: [KirbyTestingBaseModule],\n exports: [KirbyTestingBaseModule],\n providers: [...MOCK_PROVIDERS],\n})\nexport class KirbyTestingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -5,11 +5,11 @@ import { provideIonicAngular } from '@ionic/angular/standalone';
5
5
  import { componentOnReady } from '@ionic/core';
6
6
 
7
7
  class IonicTestingModule {
8
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IonicTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: IonicTestingModule }); }
10
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IonicTestingModule, providers: [provideIonicAngular({ mode: 'ios', _testing: true })] }); }
8
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IonicTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: IonicTestingModule }); }
10
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IonicTestingModule, providers: [provideIonicAngular({ mode: 'ios', _testing: true })] }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IonicTestingModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: IonicTestingModule, decorators: [{
13
13
  type: NgModule,
14
14
  args: [{
15
15
  providers: [provideIonicAngular({ mode: 'ios', _testing: true })],
@@ -30,10 +30,10 @@ class ToastHelper {
30
30
  }
31
31
  return cssClass;
32
32
  }
33
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ToastHelper, deps: [{ token: i1.ToastController }], target: i0.ɵɵFactoryTarget.Injectable }); }
34
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ToastHelper }); }
33
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ToastHelper, deps: [{ token: i1.ToastController }], target: i0.ɵɵFactoryTarget.Injectable }); }
34
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ToastHelper }); }
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ToastHelper, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ToastHelper, decorators: [{
37
37
  type: Injectable
38
38
  }], ctorParameters: () => [{ type: i1.ToastController }] });
39
39
 
@@ -48,10 +48,10 @@ class ToastController {
48
48
  }
49
49
  });
50
50
  }
51
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ToastController, deps: [{ token: ToastHelper }], target: i0.ɵɵFactoryTarget.Injectable }); }
52
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ToastController }); }
51
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ToastController, deps: [{ token: ToastHelper }], target: i0.ɵɵFactoryTarget.Injectable }); }
52
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ToastController }); }
53
53
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ToastController, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ToastController, decorators: [{
55
55
  type: Injectable
56
56
  }], ctorParameters: () => [{ type: ToastHelper }] });
57
57
 
@@ -11,10 +11,10 @@ class ToggleButtonComponent {
11
11
  this.checked = !this.checked;
12
12
  this.checkChanged.emit(this.checked);
13
13
  }
14
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ToggleButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: ToggleButtonComponent, selector: "kirby-toggle-button", inputs: { checked: "checked" }, outputs: { checkChanged: "checkChanged" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0, template: "<ng-container *ngIf=\"!checked\">\n <ng-content select=\"button[kirby-button][unchecked]\"></ng-content>\n</ng-container>\n<ng-container *ngIf=\"checked\">\n <ng-content select=\"button[kirby-button][checked]\"></ng-content>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ToggleButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: ToggleButtonComponent, selector: "kirby-toggle-button", inputs: { checked: "checked" }, outputs: { checkChanged: "checkChanged" }, host: { listeners: { "click": "onClick()" } }, ngImport: i0, template: "<ng-container *ngIf=\"!checked\">\n <ng-content select=\"button[kirby-button][unchecked]\"></ng-content>\n</ng-container>\n<ng-container *ngIf=\"checked\">\n <ng-content select=\"button[kirby-button][checked]\"></ng-content>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ToggleButtonComponent, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ToggleButtonComponent, decorators: [{
18
18
  type: Component,
19
19
  args: [{ selector: 'kirby-toggle-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"!checked\">\n <ng-content select=\"button[kirby-button][unchecked]\"></ng-content>\n</ng-container>\n<ng-container *ngIf=\"checked\">\n <ng-content select=\"button[kirby-button][checked]\"></ng-content>\n</ng-container>\n" }]
20
20
  }], propDecorators: { checked: [{
@@ -28,11 +28,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
28
28
 
29
29
  const DECLARATIONS = [ToggleButtonComponent];
30
30
  class ToggleButtonModule {
31
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ToggleButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
32
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: ToggleButtonModule, declarations: [ToggleButtonComponent], imports: [CommonModule], exports: [ToggleButtonComponent] }); }
33
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ToggleButtonModule, imports: [CommonModule] }); }
31
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ToggleButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
32
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: ToggleButtonModule, declarations: [ToggleButtonComponent], imports: [CommonModule], exports: [ToggleButtonComponent] }); }
33
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ToggleButtonModule, imports: [CommonModule] }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ToggleButtonModule, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ToggleButtonModule, decorators: [{
36
36
  type: NgModule,
37
37
  args: [{
38
38
  declarations: [...DECLARATIONS],
@@ -71,8 +71,8 @@ class ToggleComponent {
71
71
  this.disabled = isDisabled;
72
72
  this.cdr.detectChanges();
73
73
  }
74
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ToggleComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
75
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: ToggleComponent, isStandalone: true, selector: "kirby-toggle", inputs: { checked: "checked", disabled: "disabled" }, outputs: { checkedChange: "checkedChange" }, host: { properties: { "attr.disabled": "this._isDisabled" } }, providers: [
74
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ToggleComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
75
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: ToggleComponent, isStandalone: true, selector: "kirby-toggle", inputs: { checked: "checked", disabled: "disabled" }, outputs: { checkedChange: "checkedChange" }, host: { properties: { "attr.disabled": "this._isDisabled" } }, providers: [
76
76
  {
77
77
  provide: NG_VALUE_ACCESSOR,
78
78
  useExisting: forwardRef((() => ToggleComponent)),
@@ -80,7 +80,7 @@ class ToggleComponent {
80
80
  },
81
81
  ], ngImport: i0, template: "<ion-toggle\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [class.interaction-state-active]=\"_pressed\"\n (keydown.space)=\"_onActive()\"\n (keyup.space)=\"_onInactive()\"\n (blur)=\"_onInactive()\"\n (ionChange)=\"onCheckedChange($event.detail.checked)\"\n></ion-toggle>\n", styles: [":host{display:inline-flex}ion-toggle{--track-background: var(--kirby-semi-dark);--handle-background: var(--kirby-white);--track-background-checked: var(--kirby-success);--handle-background-checked: var(--kirby-white);--handle-transition: .2s;--handle-box-shadow: 0 1px 24px 0 rgba(28, 28, 28, .04)}@media (hover: hover) and (pointer: fine){ion-toggle{overflow:visible;contain:none}ion-toggle:focus-within::part(track){transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}@media (hover: hover){ion-toggle:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;--track-background: #777777;--handle-background: whitesmoke;--track-background-checked: #2dc172;--handle-background-checked: whitesmoke}}ion-toggle:active,ion-toggle.interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);--track-background: #6c6c6c;--handle-background: #ebebeb;--track-background-checked: #29ae67;--handle-background-checked: #ebebeb}ion-toggle.in-item.legacy-toggle{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IonToggle, selector: "ion-toggle", inputs: ["checked", "color", "disabled", "enableOnOffLabels", "justify", "labelPlacement", "legacy", "mode", "name", "value"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
82
82
  }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ToggleComponent, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ToggleComponent, decorators: [{
84
84
  type: Component,
85
85
  args: [{ standalone: true, imports: [CommonModule, IonToggle], selector: 'kirby-toggle', providers: [
86
86
  {
@@ -5,10 +5,10 @@ class WindowRef {
5
5
  get nativeWindow() {
6
6
  return window;
7
7
  }
8
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: WindowRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
9
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: WindowRef, providedIn: 'root' }); }
8
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: WindowRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
9
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: WindowRef, providedIn: 'root' }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: WindowRef, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: WindowRef, decorators: [{
12
12
  type: Injectable,
13
13
  args: [{
14
14
  providedIn: 'root',
@@ -1,12 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, Input, HostBinding, Output, ChangeDetectionStrategy, ViewChild, Directive, HostListener, InjectionToken, NgModule, Optional, Inject } from '@angular/core';
3
- import * as i3 from '@angular/common';
4
- import { CommonModule } from '@angular/common';
2
+ import { EventEmitter, ElementRef, Component, ViewChild, Input, HostBinding, Output, ChangeDetectionStrategy, Directive, HostListener, InjectionToken, NgModule, Optional, Inject } from '@angular/core';
5
3
  import * as i1 from '@kirbydesign/designsystem/icon';
6
4
  import { IconModule } from '@kirbydesign/designsystem/icon';
7
5
  export * from '@kirbydesign/designsystem/icon';
8
6
  import { BadgeComponent } from '@kirbydesign/designsystem/badge';
9
7
  import { IonSegment, IonSegmentButton } from '@ionic/angular/standalone';
8
+ import * as i3 from '@angular/common';
9
+ import { CommonModule } from '@angular/common';
10
10
  import * as i1$2 from '@kirbydesign/designsystem/types';
11
11
  export * from '@kirbydesign/designsystem/types';
12
12
  import * as i1$1 from '@kirbydesign/designsystem/modal';
@@ -106,8 +106,7 @@ var SegmentedControlMode;
106
106
  SegmentedControlMode["default"] = "default";
107
107
  })(SegmentedControlMode || (SegmentedControlMode = {}));
108
108
  class SegmentedControlComponent {
109
- constructor(iconRegistryService) {
110
- this.iconRegistryService = iconRegistryService;
109
+ constructor() {
111
110
  this.mode = SegmentedControlMode.default;
112
111
  this._items = [];
113
112
  this._selectedIndex = -1;
@@ -139,15 +138,30 @@ class SegmentedControlComponent {
139
138
  }
140
139
  set items(value) {
141
140
  this._items = value || [];
142
- this._items.forEach((item) => {
143
- if (!item.badge)
144
- return;
145
- // We need to verify whether badges icon is custom or default, so we can check for it in the template
146
- item.badge.isCustomIcon =
147
- item.badge.icon !== undefined &&
148
- this.iconRegistryService.getIcon(item.badge.icon) !== undefined;
149
- });
150
141
  this._value = this.items[this.selectedIndex];
142
+ this.ensureIonSegmentSelected();
143
+ }
144
+ /**
145
+ * After upgrading to Ionic standalone components (Ionic v.7.6.6)
146
+ * there is a lifecycle bug between Angular/Ionic/Stencil that prevents
147
+ * the value of the segment component to be reflected in the checked state
148
+ * of it's slotted segment buttons.
149
+ * This has been patched here: https://github.com/ionic-team/ionic-framework/pull/28837
150
+ * However the patch doesn't fix the problem if `items` are updated after first initialization
151
+ * and the ion-segment-button(s) are re-rerendered.
152
+ */
153
+ ensureIonSegmentSelected() {
154
+ const ionSegment = this.ionSegmentElement.nativeElement;
155
+ const ionSelectEvent = ionSegment['ionSelect'];
156
+ if (this._value && typeof ionSelectEvent?.emit === 'function') {
157
+ // Ensure changes has been reflected to the DOM:
158
+ setTimeout(() => {
159
+ const selectedSegmentButton = ionSegment.querySelector('ion-segment-button.segment-button-checked');
160
+ if (selectedSegmentButton)
161
+ return; // Nothing to patch
162
+ ionSelectEvent.emit({ value: this._value.id });
163
+ });
164
+ }
151
165
  }
152
166
  get selectedIndex() {
153
167
  return this._selectedIndex;
@@ -183,13 +197,16 @@ class SegmentedControlComponent {
183
197
  });
184
198
  }
185
199
  }
186
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SegmentedControlComponent, deps: [{ token: i1.IconRegistryService }], target: i0.ɵɵFactoryTarget.Component }); }
187
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: SegmentedControlComponent, isStandalone: true, selector: "kirby-segmented-control", inputs: { mode: "mode", items: "items", selectedIndex: "selectedIndex", value: "value", size: "size", disableChangeOnSwipe: "disableChangeOnSwipe" }, outputs: { selectedIndexChange: "selectedIndexChange", segmentSelect: "segmentSelect" }, host: { attributes: { "role": "group" }, properties: { "class": "this._modeCssClass", "class.sm": "this.isSmallSize" } }, ngImport: i0, template: "<ion-segment\n [value]=\"value?.id\"\n [scrollable]=\"disableChangeOnSwipe || mode !== 'default'\"\n (ionChange)=\"onSegmentSelect($event.detail.value)\"\n (click)=\"preventOutsideClick($event)\"\n>\n <ng-container *ngFor=\"let item of items\">\n <ion-segment-button [value]=\"item.id\">\n {{ item.text }}\n <kirby-badge\n *ngIf=\"item.badge\"\n role=\"text\"\n [attr.aria-label]=\"item.badge.description\"\n [themeColor]=\"item.badge.themeColor\"\n >\n <ng-container *ngIf=\"item.badge.icon; else badgeContent\">\n <kirby-icon [name]=\"item.badge.icon\"></kirby-icon>\n </ng-container>\n <ng-template #badgeContent>\n {{ item.badge.content }}\n </ng-template>\n </kirby-badge>\n </ion-segment-button>\n </ng-container>\n</ion-segment>\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none;--kirby-badge-position: absolute;--kirby-badge-top: -8px;--kirby-badge-right: -16px;--kirby-badge-z-index: 2}:host.sm ion-segment-button{min-height:32px;font-size:12px;--padding-start: 16px;--padding-end: 16px;--kirby-badge-right: -8px}@media (hover: hover) and (pointer: fine){:host.sm ion-segment-button{outline:none;border-radius:999px}:host.sm ion-segment-button:focus{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host.sm ion-segment-button:focus:not(:focus-visible){box-shadow:0 0 0 0 transparent}:host.sm ion-segment-button:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}:host.default-mode ion-segment{--background: var(--kirby-inputs-background-color);box-shadow:var(--kirby-inputs-elevation);overflow:visible;contain:none;width:-moz-fit-content;width:fit-content}:host.chip-mode ion-segment{--background: none;border-radius:0;padding:4px;gap:8px}@media (pointer: coarse){:host.chip-mode ion-segment{scrollbar-width:none}:host.chip-mode ion-segment::-webkit-scrollbar{display:none}}:host.chip-mode ion-segment-button{--background: var(--kirby-inputs-background-color);--indicator-transition: none}:host.chip-mode ion-segment-button::part(indicator){padding-inline:0}:host.compact ion-segment{--background: transparent}:host.compact ion-segment-button{--background: transparent;--padding-start: 12px;--padding-end: 12px}ion-segment{border-radius:999px;grid-auto-columns:max-content;box-sizing:border-box}ion-segment-button{position:relative;--border-radius: 999px;--border-style: none;--background: none;--color: var(--kirby-inputs-color);--indicator-color: var(--kirby-inputs-indicator-background-color);--color-checked: var(--kirby-inputs-indicator-color);--indicator-box-shadow: none;--indicator-transform: none;--padding-start: 24px;--padding-end: 24px;--margin-bottom: 0;--margin-end: 0;--margin-start: 0;--margin-top: 0;min-height:40px;min-width:-moz-fit-content;min-width:fit-content;font-weight:400;font-size:14px;text-transform:none;margin:0}@media (hover: hover) and (pointer: fine){ion-segment-button:focus-within::part(native){transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}ion-segment-button:after{content:\"\";position:absolute;min-height:44px;min-width:44px;width:100%;height:100%;transform:translate(-50%,-50%);left:50%;top:50%}ion-segment-button::part(native){border-radius:999px;contain:none;overflow:visible}ion-segment-button::part(native):after{transition:all 80ms linear 0ms}ion-segment-button::part(indicator){padding-inline:0}\n"], dependencies: [{ kind: "ngmodule", type: IconModule }, { kind: "component", type: i1.IconComponent, selector: "kirby-icon", inputs: ["size", "name", "customName"] }, { kind: "component", type: BadgeComponent, selector: "kirby-badge", inputs: ["text", "size"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IonSegment, selector: "ion-segment", inputs: ["color", "disabled", "mode", "scrollable", "selectOnFocus", "swipeGesture", "value"] }, { kind: "component", type: IonSegmentButton, selector: "ion-segment-button", inputs: ["disabled", "layout", "mode", "type", "value"] }] }); }
200
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: SegmentedControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
201
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: SegmentedControlComponent, isStandalone: true, selector: "kirby-segmented-control", inputs: { mode: "mode", items: "items", selectedIndex: "selectedIndex", value: "value", size: "size", disableChangeOnSwipe: "disableChangeOnSwipe" }, outputs: { selectedIndexChange: "selectedIndexChange", segmentSelect: "segmentSelect" }, host: { attributes: { "role": "group" }, properties: { "class": "this._modeCssClass", "class.sm": "this.isSmallSize" } }, viewQueries: [{ propertyName: "ionSegmentElement", first: true, predicate: IonSegment, descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<ion-segment\n [value]=\"value?.id\"\n [scrollable]=\"disableChangeOnSwipe || mode !== 'default'\"\n (ionChange)=\"onSegmentSelect($event.detail.value)\"\n (click)=\"preventOutsideClick($event)\"\n>\n <ng-container *ngFor=\"let item of items\">\n <ion-segment-button [value]=\"item.id\">\n {{ item.text }}\n <kirby-badge\n *ngIf=\"item.badge\"\n role=\"text\"\n [attr.aria-label]=\"item.badge.description\"\n [themeColor]=\"item.badge.themeColor\"\n >\n <ng-container *ngIf=\"item.badge.icon; else badgeContent\">\n <kirby-icon [name]=\"item.badge.icon\"></kirby-icon>\n </ng-container>\n <ng-template #badgeContent>\n {{ item.badge.content }}\n </ng-template>\n </kirby-badge>\n </ion-segment-button>\n </ng-container>\n</ion-segment>\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none;--kirby-badge-position: absolute;--kirby-badge-top: -8px;--kirby-badge-right: -16px;--kirby-badge-z-index: 2}:host.sm ion-segment-button{min-height:32px;font-size:12px;--padding-start: 16px;--padding-end: 16px;--kirby-badge-right: -8px}@media (hover: hover) and (pointer: fine){:host.sm ion-segment-button{outline:none;border-radius:999px}:host.sm ion-segment-button:focus{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host.sm ion-segment-button:focus:not(:focus-visible){box-shadow:0 0 0 0 transparent}:host.sm ion-segment-button:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}:host.default-mode ion-segment{--background: var(--kirby-inputs-background-color);box-shadow:var(--kirby-inputs-elevation);overflow:visible;contain:none;width:-moz-fit-content;width:fit-content}:host.default-mode ion-segment-button{--color-hover: rgba(var(--kirby-black-rgb), .4)}:host.chip-mode ion-segment{--background: none;border-radius:0;padding:4px;gap:8px}@media (pointer: coarse){:host.chip-mode ion-segment{scrollbar-width:none}:host.chip-mode ion-segment::-webkit-scrollbar{display:none}}:host.chip-mode ion-segment-button{--background: var(--kirby-inputs-background-color);--indicator-transition: none}:host.chip-mode ion-segment-button::part(indicator){padding-inline:0}:host.compact ion-segment{--background: transparent}:host.compact ion-segment-button{--background: transparent;--padding-start: 12px;--padding-end: 12px}@media (hover: hover){:host.chip-mode ion-segment-button:hover,:host.compact ion-segment-button:hover{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);--background-hover: var(--state-layer-background-color);--background-hover-opacity: var(--state-layer-opacity)}}@media (hover: hover){:host.chip-mode ion-segment-button.segment-button-checked:hover,:host.compact ion-segment-button.segment-button-checked:hover{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black-contrast);--background-hover: var(--state-layer-background-color);--background-hover-opacity: var(--state-layer-opacity)}}ion-segment{border-radius:999px;grid-auto-columns:max-content;box-sizing:border-box}ion-segment-button{position:relative;--border-radius: 999px;--border-style: none;--background: none;--color: var(--kirby-inputs-color);--indicator-color: var(--kirby-inputs-indicator-background-color);--color-checked: var(--kirby-inputs-indicator-color);--indicator-box-shadow: none;--indicator-transform: none;--padding-start: 24px;--padding-end: 24px;--margin-bottom: 0;--margin-end: 0;--margin-start: 0;--margin-top: 0;min-height:40px;min-width:-moz-fit-content;min-width:fit-content;font-weight:400;font-size:14px;text-transform:none;margin:0}@media (hover: hover) and (pointer: fine){ion-segment-button:focus-within::part(native){transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}ion-segment-button:after{content:\"\";position:absolute;min-height:44px;min-width:44px;width:100%;height:100%;transform:translate(-50%,-50%);left:50%;top:50%}ion-segment-button::part(native){border-radius:var(--border-radius);contain:none;overflow:visible;opacity:1}ion-segment-button::part(native):after{transition:all 80ms linear 0ms;border-radius:var(--border-radius)}ion-segment-button::part(indicator){padding-inline:0}\n"], dependencies: [{ kind: "ngmodule", type: IconModule }, { kind: "component", type: i1.IconComponent, selector: "kirby-icon", inputs: ["size", "name", "customName"] }, { kind: "component", type: BadgeComponent, selector: "kirby-badge", inputs: ["text", "size"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IonSegment, selector: "ion-segment", inputs: ["color", "disabled", "mode", "scrollable", "selectOnFocus", "swipeGesture", "value"] }, { kind: "component", type: IonSegmentButton, selector: "ion-segment-button", inputs: ["disabled", "layout", "mode", "type", "value"] }] }); }
188
202
  }
189
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: SegmentedControlComponent, decorators: [{
203
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: SegmentedControlComponent, decorators: [{
190
204
  type: Component,
191
- args: [{ standalone: true, imports: [IconModule, BadgeComponent, CommonModule, IonSegment, IonSegmentButton], selector: 'kirby-segmented-control', host: { role: 'group' }, template: "<ion-segment\n [value]=\"value?.id\"\n [scrollable]=\"disableChangeOnSwipe || mode !== 'default'\"\n (ionChange)=\"onSegmentSelect($event.detail.value)\"\n (click)=\"preventOutsideClick($event)\"\n>\n <ng-container *ngFor=\"let item of items\">\n <ion-segment-button [value]=\"item.id\">\n {{ item.text }}\n <kirby-badge\n *ngIf=\"item.badge\"\n role=\"text\"\n [attr.aria-label]=\"item.badge.description\"\n [themeColor]=\"item.badge.themeColor\"\n >\n <ng-container *ngIf=\"item.badge.icon; else badgeContent\">\n <kirby-icon [name]=\"item.badge.icon\"></kirby-icon>\n </ng-container>\n <ng-template #badgeContent>\n {{ item.badge.content }}\n </ng-template>\n </kirby-badge>\n </ion-segment-button>\n </ng-container>\n</ion-segment>\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none;--kirby-badge-position: absolute;--kirby-badge-top: -8px;--kirby-badge-right: -16px;--kirby-badge-z-index: 2}:host.sm ion-segment-button{min-height:32px;font-size:12px;--padding-start: 16px;--padding-end: 16px;--kirby-badge-right: -8px}@media (hover: hover) and (pointer: fine){:host.sm ion-segment-button{outline:none;border-radius:999px}:host.sm ion-segment-button:focus{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host.sm ion-segment-button:focus:not(:focus-visible){box-shadow:0 0 0 0 transparent}:host.sm ion-segment-button:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}:host.default-mode ion-segment{--background: var(--kirby-inputs-background-color);box-shadow:var(--kirby-inputs-elevation);overflow:visible;contain:none;width:-moz-fit-content;width:fit-content}:host.chip-mode ion-segment{--background: none;border-radius:0;padding:4px;gap:8px}@media (pointer: coarse){:host.chip-mode ion-segment{scrollbar-width:none}:host.chip-mode ion-segment::-webkit-scrollbar{display:none}}:host.chip-mode ion-segment-button{--background: var(--kirby-inputs-background-color);--indicator-transition: none}:host.chip-mode ion-segment-button::part(indicator){padding-inline:0}:host.compact ion-segment{--background: transparent}:host.compact ion-segment-button{--background: transparent;--padding-start: 12px;--padding-end: 12px}ion-segment{border-radius:999px;grid-auto-columns:max-content;box-sizing:border-box}ion-segment-button{position:relative;--border-radius: 999px;--border-style: none;--background: none;--color: var(--kirby-inputs-color);--indicator-color: var(--kirby-inputs-indicator-background-color);--color-checked: var(--kirby-inputs-indicator-color);--indicator-box-shadow: none;--indicator-transform: none;--padding-start: 24px;--padding-end: 24px;--margin-bottom: 0;--margin-end: 0;--margin-start: 0;--margin-top: 0;min-height:40px;min-width:-moz-fit-content;min-width:fit-content;font-weight:400;font-size:14px;text-transform:none;margin:0}@media (hover: hover) and (pointer: fine){ion-segment-button:focus-within::part(native){transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}ion-segment-button:after{content:\"\";position:absolute;min-height:44px;min-width:44px;width:100%;height:100%;transform:translate(-50%,-50%);left:50%;top:50%}ion-segment-button::part(native){border-radius:999px;contain:none;overflow:visible}ion-segment-button::part(native):after{transition:all 80ms linear 0ms}ion-segment-button::part(indicator){padding-inline:0}\n"] }]
192
- }], ctorParameters: () => [{ type: i1.IconRegistryService }], propDecorators: { mode: [{
205
+ args: [{ standalone: true, imports: [IconModule, BadgeComponent, CommonModule, IonSegment, IonSegmentButton], selector: 'kirby-segmented-control', host: { role: 'group' }, template: "<ion-segment\n [value]=\"value?.id\"\n [scrollable]=\"disableChangeOnSwipe || mode !== 'default'\"\n (ionChange)=\"onSegmentSelect($event.detail.value)\"\n (click)=\"preventOutsideClick($event)\"\n>\n <ng-container *ngFor=\"let item of items\">\n <ion-segment-button [value]=\"item.id\">\n {{ item.text }}\n <kirby-badge\n *ngIf=\"item.badge\"\n role=\"text\"\n [attr.aria-label]=\"item.badge.description\"\n [themeColor]=\"item.badge.themeColor\"\n >\n <ng-container *ngIf=\"item.badge.icon; else badgeContent\">\n <kirby-icon [name]=\"item.badge.icon\"></kirby-icon>\n </ng-container>\n <ng-template #badgeContent>\n {{ item.badge.content }}\n </ng-template>\n </kirby-badge>\n </ion-segment-button>\n </ng-container>\n</ion-segment>\n", styles: [":host{display:block;-webkit-user-select:none;user-select:none;--kirby-badge-position: absolute;--kirby-badge-top: -8px;--kirby-badge-right: -16px;--kirby-badge-z-index: 2}:host.sm ion-segment-button{min-height:32px;font-size:12px;--padding-start: 16px;--padding-end: 16px;--kirby-badge-right: -8px}@media (hover: hover) and (pointer: fine){:host.sm ion-segment-button{outline:none;border-radius:999px}:host.sm ion-segment-button:focus{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host.sm ion-segment-button:focus:not(:focus-visible){box-shadow:0 0 0 0 transparent}:host.sm ion-segment-button:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}:host.default-mode ion-segment{--background: var(--kirby-inputs-background-color);box-shadow:var(--kirby-inputs-elevation);overflow:visible;contain:none;width:-moz-fit-content;width:fit-content}:host.default-mode ion-segment-button{--color-hover: rgba(var(--kirby-black-rgb), .4)}:host.chip-mode ion-segment{--background: none;border-radius:0;padding:4px;gap:8px}@media (pointer: coarse){:host.chip-mode ion-segment{scrollbar-width:none}:host.chip-mode ion-segment::-webkit-scrollbar{display:none}}:host.chip-mode ion-segment-button{--background: var(--kirby-inputs-background-color);--indicator-transition: none}:host.chip-mode ion-segment-button::part(indicator){padding-inline:0}:host.compact ion-segment{--background: transparent}:host.compact ion-segment-button{--background: transparent;--padding-start: 12px;--padding-end: 12px}@media (hover: hover){:host.chip-mode ion-segment-button:hover,:host.compact ion-segment-button:hover{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);--background-hover: var(--state-layer-background-color);--background-hover-opacity: var(--state-layer-opacity)}}@media (hover: hover){:host.chip-mode ion-segment-button.segment-button-checked:hover,:host.compact ion-segment-button.segment-button-checked:hover{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black-contrast);--background-hover: var(--state-layer-background-color);--background-hover-opacity: var(--state-layer-opacity)}}ion-segment{border-radius:999px;grid-auto-columns:max-content;box-sizing:border-box}ion-segment-button{position:relative;--border-radius: 999px;--border-style: none;--background: none;--color: var(--kirby-inputs-color);--indicator-color: var(--kirby-inputs-indicator-background-color);--color-checked: var(--kirby-inputs-indicator-color);--indicator-box-shadow: none;--indicator-transform: none;--padding-start: 24px;--padding-end: 24px;--margin-bottom: 0;--margin-end: 0;--margin-start: 0;--margin-top: 0;min-height:40px;min-width:-moz-fit-content;min-width:fit-content;font-weight:400;font-size:14px;text-transform:none;margin:0}@media (hover: hover) and (pointer: fine){ion-segment-button:focus-within::part(native){transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}ion-segment-button:after{content:\"\";position:absolute;min-height:44px;min-width:44px;width:100%;height:100%;transform:translate(-50%,-50%);left:50%;top:50%}ion-segment-button::part(native){border-radius:var(--border-radius);contain:none;overflow:visible;opacity:1}ion-segment-button::part(native):after{transition:all 80ms linear 0ms;border-radius:var(--border-radius)}ion-segment-button::part(indicator){padding-inline:0}\n"] }]
206
+ }], propDecorators: { ionSegmentElement: [{
207
+ type: ViewChild,
208
+ args: [IonSegment, { static: true, read: ElementRef }]
209
+ }], mode: [{
193
210
  type: Input
194
211
  }], _modeCssClass: [{
195
212
  type: HostBinding,
@@ -265,12 +282,12 @@ class PageLocalNavigationComponent {
265
282
  });
266
283
  }
267
284
  }
268
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: PageLocalNavigationComponent, deps: [{ token: i1$2.WindowRef }], target: i0.ɵɵFactoryTarget.Component }); }
269
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: PageLocalNavigationComponent, isStandalone: true, selector: "kirby-page-local-navigation", inputs: { items: "items", selectedIndex: "selectedIndex" }, outputs: { selectedIndexChange: "selectedIndexChange" }, viewQueries: [{ propertyName: "tabBarElementRef", first: true, predicate: ["tabBar"], descendants: true }], ngImport: i0, template: "<div class=\"container\">\n <div class=\"tab-bar\" #tabBar>\n <div\n class=\"tab-item\"\n *ngFor=\"let item of items; let i = index\"\n (click)=\"onTabChange(i)\"\n [ngClass]=\"i === selectedIndex ? 'selected' : ''\"\n [tabIndex]=\"0\"\n (keydown.enter)=\"onTabChange(i)\"\n (keydown.arrowLeft)=\"focusNext(i - 1)\"\n (keydown.arrowRight)=\"focusNext(i + 1)\"\n >\n <div class=\"tab-item-inner\" [class.extended]=\"!!item.badge\">\n <span [attr.text]=\"item.text\">{{ item.text }}</span>\n <ng-container *ngIf=\"item.badge; let badge\">\n <kirby-badge\n role=\"text\"\n [attr.aria-label]=\"badge.description\"\n [themeColor]=\"badge.themeColor\"\n >\n <ng-container *ngIf=\"badge.content.name; else badgeTextContent\">\n <kirby-icon\n *ngIf=\"badge.content.isCustom; else defaultIconName\"\n [customName]=\"badge.content.name\"\n ></kirby-icon>\n <ng-template #defaultIconName>\n <kirby-icon [name]=\"badge.content.name\"></kirby-icon>\n </ng-template>\n </ng-container>\n <ng-template #badgeTextContent>\n {{ badge.content.text }}\n </ng-template>\n </kirby-badge>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", styles: [".tab-bar{position:relative;margin:0 auto;display:flex;gap:12px;align-items:center;justify-content:left;flex-wrap:nowrap;overflow-y:hidden;overflow-x:scroll;-webkit-overflow-scrolling:auto;scrollbar-width:none}.tab-bar::-webkit-scrollbar{display:none}.container{position:relative;background-color:var(--kirby-background-color);max-width:var(--page-content-max-width, 792px)}.container:before{content:\"\";background-color:var(--kirby-medium);position:absolute;height:1px;bottom:0;z-index:1;left:0;width:100%}@media (max-width: 824px){.container:before{left:calc(-1 * var(--padding-start, 16px));width:calc(100% + var(--padding-start, 16px) * 2)}}.tab-item{position:relative;cursor:pointer;box-sizing:border-box;outline:none;padding-bottom:2px}.tab-item.selected:before{content:\"\";width:100%;background-color:var(--kirby-dark);position:absolute;border-radius:1px;height:2px;bottom:0;z-index:2}.tab-item.selected,.tab-item:focus,.tab-item:hover{font-weight:700}.tab-item-inner{display:flex;align-items:center;justify-content:center;white-space:nowrap;margin:16px;-webkit-user-select:none;user-select:none}.tab-item-inner kirby-badge{margin-left:4px}.tab-item-inner>span{max-width:100px;overflow:hidden;text-overflow:ellipsis;line-height:24px}.tab-item-inner>span:before{display:block;content:attr(text);font-weight:700;height:0;overflow:hidden;visibility:hidden}\n"], dependencies: [{ kind: "component", type: BadgeComponent, selector: "kirby-badge", inputs: ["text", "size"] }, { kind: "ngmodule", type: IconModule }, { kind: "component", type: i1.IconComponent, selector: "kirby-icon", inputs: ["size", "name", "customName"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
285
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageLocalNavigationComponent, deps: [{ token: i1$2.WindowRef }], target: i0.ɵɵFactoryTarget.Component }); }
286
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: PageLocalNavigationComponent, isStandalone: true, selector: "kirby-page-local-navigation", inputs: { items: "items", selectedIndex: "selectedIndex" }, outputs: { selectedIndexChange: "selectedIndexChange" }, viewQueries: [{ propertyName: "tabBarElementRef", first: true, predicate: ["tabBar"], descendants: true }], ngImport: i0, template: "<div class=\"container\">\n <div class=\"tab-bar\" #tabBar>\n <div\n class=\"tab-item\"\n *ngFor=\"let item of items; let i = index\"\n (click)=\"onTabChange(i)\"\n [ngClass]=\"i === selectedIndex ? 'selected' : ''\"\n [tabIndex]=\"0\"\n (keydown.enter)=\"onTabChange(i)\"\n (keydown.arrowLeft)=\"focusNext(i - 1)\"\n (keydown.arrowRight)=\"focusNext(i + 1)\"\n >\n <div class=\"tab-item-inner\" [class.extended]=\"!!item.badge\">\n <span [attr.text]=\"item.text\">{{ item.text }}</span>\n <ng-container *ngIf=\"item.badge; let badge\">\n <kirby-badge\n role=\"text\"\n [attr.aria-label]=\"badge.description\"\n [themeColor]=\"badge.themeColor\"\n >\n <ng-container *ngIf=\"badge.content.name; else badgeTextContent\">\n <kirby-icon\n *ngIf=\"badge.content.isCustom; else defaultIconName\"\n [customName]=\"badge.content.name\"\n ></kirby-icon>\n <ng-template #defaultIconName>\n <kirby-icon [name]=\"badge.content.name\"></kirby-icon>\n </ng-template>\n </ng-container>\n <ng-template #badgeTextContent>\n {{ badge.content.text }}\n </ng-template>\n </kirby-badge>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", styles: [".tab-bar{position:relative;margin:0 auto;display:flex;gap:12px;align-items:center;justify-content:left;flex-wrap:nowrap;overflow:scroll hidden;-webkit-overflow-scrolling:auto;scrollbar-width:none}.tab-bar::-webkit-scrollbar{display:none}.container{position:relative;background-color:var(--kirby-background-color);max-width:var(--page-content-max-width, 792px)}.container:before{content:\"\";background-color:var(--kirby-medium);position:absolute;height:1px;bottom:0;z-index:1;left:0;width:100%}@media (max-width: 824px){.container:before{left:calc(-1 * var(--padding-start, 16px));width:calc(100% + var(--padding-start, 16px) * 2)}}.tab-item{position:relative;cursor:pointer;box-sizing:border-box;outline:none;padding-bottom:2px}.tab-item.selected:before{content:\"\";width:100%;background-color:var(--kirby-dark);position:absolute;border-radius:1px;height:2px;bottom:0;z-index:2}.tab-item.selected,.tab-item:focus,.tab-item:hover{font-weight:700}.tab-item-inner{display:flex;align-items:center;justify-content:center;white-space:nowrap;margin:16px;-webkit-user-select:none;user-select:none}.tab-item-inner kirby-badge{margin-left:4px}.tab-item-inner>span{max-width:100px;overflow:hidden;text-overflow:ellipsis;line-height:24px}.tab-item-inner>span:before{display:block;content:attr(text);font-weight:700;height:0;overflow:hidden;visibility:hidden}\n"], dependencies: [{ kind: "component", type: BadgeComponent, selector: "kirby-badge", inputs: ["text", "size"] }, { kind: "ngmodule", type: IconModule }, { kind: "component", type: i1.IconComponent, selector: "kirby-icon", inputs: ["size", "name", "customName"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
270
287
  }
271
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: PageLocalNavigationComponent, decorators: [{
288
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: PageLocalNavigationComponent, decorators: [{
272
289
  type: Component,
273
- args: [{ standalone: true, imports: [BadgeComponent, IconModule, CommonModule], selector: 'kirby-page-local-navigation', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"container\">\n <div class=\"tab-bar\" #tabBar>\n <div\n class=\"tab-item\"\n *ngFor=\"let item of items; let i = index\"\n (click)=\"onTabChange(i)\"\n [ngClass]=\"i === selectedIndex ? 'selected' : ''\"\n [tabIndex]=\"0\"\n (keydown.enter)=\"onTabChange(i)\"\n (keydown.arrowLeft)=\"focusNext(i - 1)\"\n (keydown.arrowRight)=\"focusNext(i + 1)\"\n >\n <div class=\"tab-item-inner\" [class.extended]=\"!!item.badge\">\n <span [attr.text]=\"item.text\">{{ item.text }}</span>\n <ng-container *ngIf=\"item.badge; let badge\">\n <kirby-badge\n role=\"text\"\n [attr.aria-label]=\"badge.description\"\n [themeColor]=\"badge.themeColor\"\n >\n <ng-container *ngIf=\"badge.content.name; else badgeTextContent\">\n <kirby-icon\n *ngIf=\"badge.content.isCustom; else defaultIconName\"\n [customName]=\"badge.content.name\"\n ></kirby-icon>\n <ng-template #defaultIconName>\n <kirby-icon [name]=\"badge.content.name\"></kirby-icon>\n </ng-template>\n </ng-container>\n <ng-template #badgeTextContent>\n {{ badge.content.text }}\n </ng-template>\n </kirby-badge>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", styles: [".tab-bar{position:relative;margin:0 auto;display:flex;gap:12px;align-items:center;justify-content:left;flex-wrap:nowrap;overflow-y:hidden;overflow-x:scroll;-webkit-overflow-scrolling:auto;scrollbar-width:none}.tab-bar::-webkit-scrollbar{display:none}.container{position:relative;background-color:var(--kirby-background-color);max-width:var(--page-content-max-width, 792px)}.container:before{content:\"\";background-color:var(--kirby-medium);position:absolute;height:1px;bottom:0;z-index:1;left:0;width:100%}@media (max-width: 824px){.container:before{left:calc(-1 * var(--padding-start, 16px));width:calc(100% + var(--padding-start, 16px) * 2)}}.tab-item{position:relative;cursor:pointer;box-sizing:border-box;outline:none;padding-bottom:2px}.tab-item.selected:before{content:\"\";width:100%;background-color:var(--kirby-dark);position:absolute;border-radius:1px;height:2px;bottom:0;z-index:2}.tab-item.selected,.tab-item:focus,.tab-item:hover{font-weight:700}.tab-item-inner{display:flex;align-items:center;justify-content:center;white-space:nowrap;margin:16px;-webkit-user-select:none;user-select:none}.tab-item-inner kirby-badge{margin-left:4px}.tab-item-inner>span{max-width:100px;overflow:hidden;text-overflow:ellipsis;line-height:24px}.tab-item-inner>span:before{display:block;content:attr(text);font-weight:700;height:0;overflow:hidden;visibility:hidden}\n"] }]
290
+ args: [{ standalone: true, imports: [BadgeComponent, IconModule, CommonModule], selector: 'kirby-page-local-navigation', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"container\">\n <div class=\"tab-bar\" #tabBar>\n <div\n class=\"tab-item\"\n *ngFor=\"let item of items; let i = index\"\n (click)=\"onTabChange(i)\"\n [ngClass]=\"i === selectedIndex ? 'selected' : ''\"\n [tabIndex]=\"0\"\n (keydown.enter)=\"onTabChange(i)\"\n (keydown.arrowLeft)=\"focusNext(i - 1)\"\n (keydown.arrowRight)=\"focusNext(i + 1)\"\n >\n <div class=\"tab-item-inner\" [class.extended]=\"!!item.badge\">\n <span [attr.text]=\"item.text\">{{ item.text }}</span>\n <ng-container *ngIf=\"item.badge; let badge\">\n <kirby-badge\n role=\"text\"\n [attr.aria-label]=\"badge.description\"\n [themeColor]=\"badge.themeColor\"\n >\n <ng-container *ngIf=\"badge.content.name; else badgeTextContent\">\n <kirby-icon\n *ngIf=\"badge.content.isCustom; else defaultIconName\"\n [customName]=\"badge.content.name\"\n ></kirby-icon>\n <ng-template #defaultIconName>\n <kirby-icon [name]=\"badge.content.name\"></kirby-icon>\n </ng-template>\n </ng-container>\n <ng-template #badgeTextContent>\n {{ badge.content.text }}\n </ng-template>\n </kirby-badge>\n </ng-container>\n </div>\n </div>\n </div>\n</div>\n", styles: [".tab-bar{position:relative;margin:0 auto;display:flex;gap:12px;align-items:center;justify-content:left;flex-wrap:nowrap;overflow:scroll hidden;-webkit-overflow-scrolling:auto;scrollbar-width:none}.tab-bar::-webkit-scrollbar{display:none}.container{position:relative;background-color:var(--kirby-background-color);max-width:var(--page-content-max-width, 792px)}.container:before{content:\"\";background-color:var(--kirby-medium);position:absolute;height:1px;bottom:0;z-index:1;left:0;width:100%}@media (max-width: 824px){.container:before{left:calc(-1 * var(--padding-start, 16px));width:calc(100% + var(--padding-start, 16px) * 2)}}.tab-item{position:relative;cursor:pointer;box-sizing:border-box;outline:none;padding-bottom:2px}.tab-item.selected:before{content:\"\";width:100%;background-color:var(--kirby-dark);position:absolute;border-radius:1px;height:2px;bottom:0;z-index:2}.tab-item.selected,.tab-item:focus,.tab-item:hover{font-weight:700}.tab-item-inner{display:flex;align-items:center;justify-content:center;white-space:nowrap;margin:16px;-webkit-user-select:none;user-select:none}.tab-item-inner kirby-badge{margin-left:4px}.tab-item-inner>span{max-width:100px;overflow:hidden;text-overflow:ellipsis;line-height:24px}.tab-item-inner>span:before{display:block;content:attr(text);font-weight:700;height:0;overflow:hidden;visibility:hidden}\n"] }]
274
291
  }], ctorParameters: () => [{ type: i1$2.WindowRef }], propDecorators: { items: [{
275
292
  type: Input
276
293
  }], selectedIndex: [{
@@ -296,10 +313,10 @@ class KeyHandlerDirective {
296
313
  hostElement.click();
297
314
  }
298
315
  }
299
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: KeyHandlerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
300
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: KeyHandlerDirective, selector: "[keyHandler]", host: { listeners: { "keyup": "keyEvent($event)" } }, ngImport: i0 }); }
316
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: KeyHandlerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
317
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.9", type: KeyHandlerDirective, selector: "[keyHandler]", host: { listeners: { "keyup": "keyEvent($event)" } }, ngImport: i0 }); }
301
318
  }
302
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: KeyHandlerDirective, decorators: [{
319
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: KeyHandlerDirective, decorators: [{
303
320
  type: Directive,
304
321
  args: [{
305
322
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -322,10 +339,10 @@ class ModalRouterLinkDirective {
322
339
  this.modalNavigationService.navigateToModal(this.path, typeof this.queryParams !== 'string' ? this.queryParams : null, this.alertConfig || null);
323
340
  return false;
324
341
  }
325
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ModalRouterLinkDirective, deps: [{ token: i1$1.ModalNavigationService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
326
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: ModalRouterLinkDirective, selector: "[kirbyModalRouterLink]", inputs: { path: ["kirbyModalRouterLink", "path"], queryParams: ["kirbyModalQueryParams", "queryParams"], alertConfig: ["kirbyAlertConfig", "alertConfig"] }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
342
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ModalRouterLinkDirective, deps: [{ token: i1$1.ModalNavigationService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
343
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.9", type: ModalRouterLinkDirective, selector: "[kirbyModalRouterLink]", inputs: { path: ["kirbyModalRouterLink", "path"], queryParams: ["kirbyModalQueryParams", "queryParams"], alertConfig: ["kirbyAlertConfig", "alertConfig"] }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
327
344
  }
328
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ModalRouterLinkDirective, decorators: [{
345
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: ModalRouterLinkDirective, decorators: [{
329
346
  type: Directive,
330
347
  args: [{
331
348
  selector: `[kirbyModalRouterLink]`,
@@ -437,8 +454,8 @@ class KirbyModule {
437
454
  constructor(modalController, config) {
438
455
  modalController.initialize(config && config.moduleRootRoutePath);
439
456
  }
440
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: KirbyModule, deps: [{ token: i1$1.ModalController }, { token: ConfigToken, optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
441
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: KirbyModule, declarations: [ModalRouterLinkDirective, KeyHandlerDirective], imports: [CommonModule, RouterModule, KirbyIonicModule, KirbyAppModule,
457
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: KirbyModule, deps: [{ token: i1$1.ModalController }, { token: ConfigToken, optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
458
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: KirbyModule, declarations: [ModalRouterLinkDirective, KeyHandlerDirective], imports: [CommonModule, RouterModule, KirbyIonicModule, KirbyAppModule,
442
459
  RouterOutletModule,
443
460
  PageModule,
444
461
  HeaderModule,
@@ -547,7 +564,7 @@ class KirbyModule {
547
564
  FlagComponent,
548
565
  BadgeComponent,
549
566
  ModalComponent, ModalRouterLinkDirective] }); }
550
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: KirbyModule, providers: providers, imports: [CommonModule, RouterModule, KirbyIonicModule, KirbyAppModule,
567
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: KirbyModule, providers: providers, imports: [CommonModule, RouterModule, KirbyIonicModule, KirbyAppModule,
551
568
  RouterOutletModule,
552
569
  PageModule,
553
570
  HeaderModule,
@@ -621,7 +638,7 @@ class KirbyModule {
621
638
  HeaderModule,
622
639
  KirbyModalModule] }); }
623
640
  }
624
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: KirbyModule, decorators: [{
641
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: KirbyModule, decorators: [{
625
642
  type: NgModule,
626
643
  args: [{
627
644
  imports: [CommonModule, RouterModule, KirbyIonicModule, ...importedModules],
@@ -642,11 +659,11 @@ const COMPONENT_DECLARATIONS = [PageLocalNavigationComponent];
642
659
  * @see KirbyModule
643
660
  */
644
661
  class KirbyExperimentalModule {
645
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: KirbyExperimentalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
646
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: KirbyExperimentalModule, imports: [CommonModule, KirbyModule, PageLocalNavigationComponent], exports: [PageLocalNavigationComponent] }); }
647
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: KirbyExperimentalModule, imports: [CommonModule, KirbyModule, PageLocalNavigationComponent] }); }
662
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: KirbyExperimentalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
663
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: KirbyExperimentalModule, imports: [CommonModule, KirbyModule, PageLocalNavigationComponent], exports: [PageLocalNavigationComponent] }); }
664
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: KirbyExperimentalModule, imports: [CommonModule, KirbyModule, PageLocalNavigationComponent] }); }
648
665
  }
649
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: KirbyExperimentalModule, decorators: [{
666
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: KirbyExperimentalModule, decorators: [{
650
667
  type: NgModule,
651
668
  args: [{
652
669
  imports: [CommonModule, KirbyModule, PageLocalNavigationComponent],