@kirbydesign/designsystem 9.4.1 → 9.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (560) hide show
  1. package/avatar/avatar.component.d.ts +5 -2
  2. package/calendar/helpers/calendar-cell.model.d.ts +2 -0
  3. package/card/card-as-button/card-as-button.directive.d.ts +2 -3
  4. package/card/card.component.d.ts +9 -2
  5. package/chart/shared/base-chart/base-chart.component.d.ts +2 -2
  6. package/esm2022/accordion/accordion-item.component.mjs +4 -4
  7. package/esm2022/accordion/accordion.directive.mjs +4 -4
  8. package/esm2022/accordion/accordion.module.mjs +5 -5
  9. package/esm2022/accordion/kirbydesign-designsystem-accordion.mjs +1 -1
  10. package/esm2022/accordion/public_api.mjs +1 -1
  11. package/esm2022/action-group/action-group.component.mjs +4 -4
  12. package/esm2022/action-group/kirbydesign-designsystem-action-group.mjs +1 -1
  13. package/esm2022/action-group/public_api.mjs +1 -1
  14. package/esm2022/avatar/avatar.component.mjs +12 -6
  15. package/esm2022/avatar/kirbydesign-designsystem-avatar.mjs +1 -1
  16. package/esm2022/avatar/public_api.mjs +1 -1
  17. package/esm2022/badge/badge.component.mjs +4 -4
  18. package/esm2022/badge/kirbydesign-designsystem-badge.mjs +1 -1
  19. package/esm2022/badge/public_api.mjs +1 -1
  20. package/esm2022/button/button.component.mjs +4 -4
  21. package/esm2022/button/kirbydesign-designsystem-button.mjs +1 -1
  22. package/esm2022/button/public_api.mjs +1 -1
  23. package/esm2022/calendar/calendar.component.mjs +20 -19
  24. package/esm2022/calendar/helpers/calendar-cell.model.mjs +1 -1
  25. package/esm2022/calendar/helpers/calendar-options.model.mjs +1 -1
  26. package/esm2022/calendar/helpers/calendar.helper.mjs +4 -4
  27. package/esm2022/calendar/kirbydesign-designsystem-calendar.mjs +1 -1
  28. package/esm2022/calendar/options/calendar-year-navigator-config.mjs +1 -1
  29. package/esm2022/calendar/public_api.mjs +1 -1
  30. package/esm2022/card/card-as-button/card-as-button.directive.mjs +4 -9
  31. package/esm2022/card/card-flag-level.mjs +1 -1
  32. package/esm2022/card/card-footer/card-footer.component.mjs +5 -5
  33. package/esm2022/card/card-header/card-header.component.mjs +4 -4
  34. package/esm2022/card/card.component.mjs +27 -9
  35. package/esm2022/card/card.module.mjs +5 -5
  36. package/esm2022/card/kirbydesign-designsystem-card.mjs +1 -1
  37. package/esm2022/card/public_api.mjs +1 -1
  38. package/esm2022/chart/chart/chart.component.mjs +4 -4
  39. package/esm2022/chart/chart/index.mjs +1 -1
  40. package/esm2022/chart/chart-config/chart-bar-config/chart-bar-config.mjs +1 -1
  41. package/esm2022/chart/chart-config/chart-base-config.mjs +1 -1
  42. package/esm2022/chart/chart-config/chart-stock-config/chart-stock-config.mjs +1 -1
  43. package/esm2022/chart/chart-config/chart-stock-config/data-label-position/data-label-position.mjs +1 -1
  44. package/esm2022/chart/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.mjs +1 -1
  45. package/esm2022/chart/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.model.mjs +1 -1
  46. package/esm2022/chart/charts.module.mjs +5 -5
  47. package/esm2022/chart/kirbydesign-designsystem-chart.mjs +1 -1
  48. package/esm2022/chart/public_api.mjs +1 -1
  49. package/esm2022/chart/shared/base-chart/base-chart.component.mjs +4 -4
  50. package/esm2022/chart/shared/base-chart/index.mjs +1 -1
  51. package/esm2022/chart/shared/chart-config-service/chart-config.service.mjs +4 -4
  52. package/esm2022/chart/shared/chart-config-service/configs/annotations.config.mjs +1 -1
  53. package/esm2022/chart/shared/chart-config-service/configs/global-defaults.config.mjs +1 -1
  54. package/esm2022/chart/shared/chart-config-service/configs/interaction-functions-extensions.config.mjs +1 -1
  55. package/esm2022/chart/shared/chart-config-service/configs/type.config.mjs +1 -1
  56. package/esm2022/chart/shared/chart-config-service/index.mjs +1 -1
  57. package/esm2022/chart/shared/chart-js-service/annotations.delegate.mjs +1 -1
  58. package/esm2022/chart/shared/chart-js-service/chart-js.service.mjs +4 -4
  59. package/esm2022/chart/shared/chart-js-service/chartjs-plugin-marker/chartjs-plugin-marker.mjs +1 -1
  60. package/esm2022/chart/shared/chart-js-service/configured-chart-js.mjs +1 -1
  61. package/esm2022/chart/shared/chart-js-service/index.mjs +1 -1
  62. package/esm2022/chart/shared/chart-js-service/test-utils.mjs +1 -1
  63. package/esm2022/chart/shared/charts.types.mjs +1 -1
  64. package/esm2022/chart/shared/index.mjs +1 -1
  65. package/esm2022/chart/stock-chart/index.mjs +1 -1
  66. package/esm2022/chart/stock-chart/stock-chart-js.service.mjs +4 -4
  67. package/esm2022/chart/stock-chart/stock-chart.component.mjs +4 -4
  68. package/esm2022/checkbox/checkbox.component.mjs +4 -4
  69. package/esm2022/checkbox/kirbydesign-designsystem-checkbox.mjs +1 -1
  70. package/esm2022/checkbox/public_api.mjs +1 -1
  71. package/esm2022/data-table/data-table.module.mjs +5 -5
  72. package/esm2022/data-table/kirbydesign-designsystem-data-table.mjs +1 -1
  73. package/esm2022/data-table/public_api.mjs +1 -1
  74. package/esm2022/data-table/sortable/sortable.component.mjs +4 -4
  75. package/esm2022/data-table/table/table.component.mjs +4 -4
  76. package/esm2022/data-table/table-row/table-row.component.mjs +4 -4
  77. package/esm2022/divider/divider.component.mjs +4 -4
  78. package/esm2022/divider/kirbydesign-designsystem-divider.mjs +1 -1
  79. package/esm2022/divider/public_api.mjs +1 -1
  80. package/esm2022/dropdown/dropdown.component.mjs +5 -5
  81. package/esm2022/dropdown/dropdown.module.mjs +5 -5
  82. package/esm2022/dropdown/dropdown.types.mjs +1 -1
  83. package/esm2022/dropdown/keyboard-handler.service.mjs +4 -4
  84. package/esm2022/dropdown/kirbydesign-designsystem-dropdown.mjs +1 -1
  85. package/esm2022/dropdown/public_api.mjs +1 -1
  86. package/esm2022/empty-state/empty-state.component.mjs +4 -4
  87. package/esm2022/empty-state/empty-state.module.mjs +5 -5
  88. package/esm2022/empty-state/kirbydesign-designsystem-empty-state.mjs +1 -1
  89. package/esm2022/empty-state/public_api.mjs +1 -1
  90. package/esm2022/fab-sheet/fab-sheet.component.mjs +4 -4
  91. package/esm2022/fab-sheet/kirbydesign-designsystem-fab-sheet.mjs +1 -1
  92. package/esm2022/fab-sheet/public_api.mjs +1 -1
  93. package/esm2022/flag/flag.component.mjs +4 -4
  94. package/esm2022/flag/kirbydesign-designsystem-flag.mjs +1 -1
  95. package/esm2022/flag/public_api.mjs +1 -1
  96. package/esm2022/form-field/directives/affix/affix.directive.mjs +4 -4
  97. package/esm2022/form-field/directives/date/date-input.directive.mjs +4 -4
  98. package/esm2022/form-field/directives/decimal-mask/decimal-mask.directive.mjs +4 -4
  99. package/esm2022/form-field/form-field-message/form-field-message.component.mjs +4 -4
  100. package/esm2022/form-field/form-field.component.mjs +4 -4
  101. package/esm2022/form-field/form-field.module.mjs +5 -5
  102. package/esm2022/form-field/input/input.component.mjs +4 -4
  103. package/esm2022/form-field/input-counter/input-counter.component.mjs +4 -4
  104. package/esm2022/form-field/kirbydesign-designsystem-form-field.mjs +1 -1
  105. package/esm2022/form-field/public_api.mjs +1 -1
  106. package/esm2022/form-field/textarea/textarea.component.mjs +4 -4
  107. package/esm2022/header/header.component.mjs +24 -17
  108. package/esm2022/header/header.module.mjs +5 -5
  109. package/esm2022/header/kirbydesign-designsystem-header.mjs +1 -1
  110. package/esm2022/header/public_api.mjs +1 -1
  111. package/esm2022/helpers/chart-config-has-type.mjs +1 -1
  112. package/esm2022/helpers/color-helper.mjs +1 -1
  113. package/esm2022/helpers/deep-copy.mjs +1 -1
  114. package/esm2022/helpers/design-token-helper.mjs +1 -1
  115. package/esm2022/helpers/element-has-ancestor.mjs +1 -1
  116. package/esm2022/helpers/ionic-element-part-helper.mjs +4 -4
  117. package/esm2022/helpers/kirby-animation.mjs +1 -1
  118. package/esm2022/helpers/kirbydesign-designsystem-helpers.mjs +1 -1
  119. package/esm2022/helpers/line-clamp-helper.mjs +4 -4
  120. package/esm2022/helpers/merge-deep.mjs +1 -1
  121. package/esm2022/helpers/platform.service.mjs +4 -4
  122. package/esm2022/helpers/public_api.mjs +1 -1
  123. package/esm2022/helpers/scss/kirbydesign-designsystem-helpers-scss.mjs +1 -1
  124. package/esm2022/helpers/scss/public_api.mjs +1 -1
  125. package/esm2022/helpers/scss/scss-helper.mjs +1 -1
  126. package/esm2022/helpers/string-helper.mjs +1 -1
  127. package/esm2022/helpers/theme-color.type.mjs +1 -1
  128. package/esm2022/helpers/unique-id-generator.helper.mjs +1 -1
  129. package/esm2022/icon/icon-registry.service.mjs +4 -4
  130. package/esm2022/icon/icon-settings.mjs +1 -1
  131. package/esm2022/icon/icon.component.mjs +4 -4
  132. package/esm2022/icon/icon.module.mjs +5 -5
  133. package/esm2022/icon/kirby-icon-settings.mjs +1 -1
  134. package/esm2022/icon/kirbydesign-designsystem-icon.mjs +1 -1
  135. package/esm2022/icon/public_api.mjs +1 -1
  136. package/esm2022/item/item.component.mjs +5 -5
  137. package/esm2022/item/item.module.mjs +5 -5
  138. package/esm2022/item/kirbydesign-designsystem-item.mjs +1 -1
  139. package/esm2022/item/label/label.component.mjs +4 -4
  140. package/esm2022/item/public_api.mjs +1 -1
  141. package/esm2022/item-group/item-group.component.mjs +4 -4
  142. package/esm2022/item-group/kirbydesign-designsystem-item-group.mjs +1 -1
  143. package/esm2022/item-group/public_api.mjs +1 -1
  144. package/esm2022/item-sliding/item-sliding.component.mjs +4 -4
  145. package/esm2022/item-sliding/item-sliding.types.mjs +1 -1
  146. package/esm2022/item-sliding/kirbydesign-designsystem-item-sliding.mjs +1 -1
  147. package/esm2022/item-sliding/public_api.mjs +1 -1
  148. package/esm2022/kirby-app/kirby-app.component.mjs +4 -4
  149. package/esm2022/kirby-app/kirby-app.module.mjs +5 -5
  150. package/esm2022/kirby-app/kirbydesign-designsystem-kirby-app.mjs +1 -1
  151. package/esm2022/kirby-app/public_api.mjs +1 -1
  152. package/esm2022/kirby-ionic-module/kirby-ionic.module.mjs +5 -5
  153. package/esm2022/kirby-ionic-module/kirbydesign-designsystem-kirby-ionic-module.mjs +1 -1
  154. package/esm2022/kirby-ionic-module/public_api.mjs +1 -1
  155. package/esm2022/kirbydesign-designsystem.mjs +1 -1
  156. package/esm2022/lib/components/index.mjs +1 -1
  157. package/esm2022/lib/components/page-local-navigation/index.mjs +1 -1
  158. package/esm2022/lib/components/page-local-navigation/page-local-navigation-item.mjs +1 -1
  159. package/esm2022/lib/components/page-local-navigation/page-local-navigation.component.mjs +5 -5
  160. package/esm2022/lib/components/segmented-control/segment-item.mjs +1 -1
  161. package/esm2022/lib/components/segmented-control/segmented-control.component.mjs +36 -19
  162. package/esm2022/lib/directives/index.mjs +1 -1
  163. package/esm2022/lib/directives/key-handler/key-handler.directive.mjs +4 -4
  164. package/esm2022/lib/directives/modal-router-link/modal-router-link.directive.mjs +4 -4
  165. package/esm2022/lib/index.mjs +1 -1
  166. package/esm2022/lib/kirby-experimental.module.mjs +5 -5
  167. package/esm2022/lib/kirby.module.mjs +5 -5
  168. package/esm2022/list/directives/index.mjs +1 -1
  169. package/esm2022/list/directives/infinite-scroll.directive.mjs +4 -4
  170. package/esm2022/list/directives/list-item-color.directive.mjs +4 -4
  171. package/esm2022/list/directives/scroll.model.mjs +1 -1
  172. package/esm2022/list/helpers/index.mjs +1 -1
  173. package/esm2022/list/helpers/list-helper.mjs +4 -4
  174. package/esm2022/list/kirbydesign-designsystem-list.mjs +1 -1
  175. package/esm2022/list/list-experimental/index.mjs +1 -1
  176. package/esm2022/list/list-experimental/list-experimental.component.mjs +4 -4
  177. package/esm2022/list/list-header/index.mjs +1 -1
  178. package/esm2022/list/list-header/list-header.component.mjs +4 -4
  179. package/esm2022/list/list-item/index.mjs +1 -1
  180. package/esm2022/list/list-item/list-item.component.mjs +5 -5
  181. package/esm2022/list/list-section-header/index.mjs +1 -1
  182. package/esm2022/list/list-section-header/list-section-header.component.mjs +4 -4
  183. package/esm2022/list/list-swipe-action.mjs +1 -1
  184. package/esm2022/list/list-swipe-action.type.mjs +1 -1
  185. package/esm2022/list/list.component.mjs +5 -5
  186. package/esm2022/list/list.directive.mjs +13 -13
  187. package/esm2022/list/list.event.mjs +1 -1
  188. package/esm2022/list/list.module.mjs +18 -12
  189. package/esm2022/list/public_api.mjs +1 -1
  190. package/esm2022/loading-overlay/kirbydesign-designsystem-loading-overlay.mjs +1 -1
  191. package/esm2022/loading-overlay/loading-overlay.component.mjs +5 -5
  192. package/esm2022/loading-overlay/loading-overlay.service.mjs +4 -4
  193. package/esm2022/loading-overlay/public_api.mjs +1 -1
  194. package/esm2022/menu/kirbydesign-designsystem-menu.mjs +1 -1
  195. package/esm2022/menu/menu.component.mjs +4 -4
  196. package/esm2022/menu/public_api.mjs +1 -1
  197. package/esm2022/modal/kirbydesign-designsystem-modal.mjs +1 -1
  198. package/esm2022/modal/modal/action-sheet/action-sheet.component.mjs +4 -4
  199. package/esm2022/modal/modal/action-sheet/config/action-sheet-config.mjs +1 -1
  200. package/esm2022/modal/modal/action-sheet/config/action-sheet-item.mjs +1 -1
  201. package/esm2022/modal/modal/action-sheet/index.mjs +1 -1
  202. package/esm2022/modal/modal/alert/alert.component.mjs +4 -4
  203. package/esm2022/modal/modal/alert/config/alert-config.mjs +1 -1
  204. package/esm2022/modal/modal/alert/index.mjs +1 -1
  205. package/esm2022/modal/modal/footer/modal-footer.component.mjs +5 -5
  206. package/esm2022/modal/modal/index.mjs +1 -1
  207. package/esm2022/modal/modal/modal-component/modal.component.mjs +12 -19
  208. package/esm2022/modal/modal/services/action-sheet.helper.mjs +4 -4
  209. package/esm2022/modal/modal/services/alert.helper.mjs +4 -4
  210. package/esm2022/modal/modal/services/can-dismiss-modal-guard.mjs +31 -0
  211. package/esm2022/modal/modal/services/can-dismiss.helper.mjs +4 -4
  212. package/esm2022/modal/modal/services/index.mjs +2 -1
  213. package/esm2022/modal/modal/services/modal-animation-builder.service.mjs +4 -4
  214. package/esm2022/modal/modal/services/modal.controller.mjs +12 -8
  215. package/esm2022/modal/modal/services/modal.helper.mjs +24 -26
  216. package/esm2022/modal/modal-navigation.service.mjs +25 -14
  217. package/esm2022/modal/modal-wrapper/compact/index.mjs +1 -1
  218. package/esm2022/modal/modal-wrapper/compact/modal-compact-wrapper.component.mjs +4 -4
  219. package/esm2022/modal/modal-wrapper/config/drawer-supplementary-action.mjs +1 -1
  220. package/esm2022/modal/modal-wrapper/config/index.mjs +1 -1
  221. package/esm2022/modal/modal-wrapper/config/modal-config.helper.mjs +1 -1
  222. package/esm2022/modal/modal-wrapper/config/modal-config.mjs +1 -1
  223. package/esm2022/modal/modal-wrapper/index.mjs +1 -1
  224. package/esm2022/modal/modal-wrapper/modal-elements-mover.delegate.mjs +1 -1
  225. package/esm2022/modal/modal-wrapper/modal-wrapper.component.mjs +6 -6
  226. package/esm2022/modal/modal.interfaces.mjs +4 -4
  227. package/esm2022/modal/public_api.mjs +1 -1
  228. package/esm2022/modal/v2/footer/footer.component.mjs +4 -4
  229. package/esm2022/modal/v2/kirby-modal.module.mjs +5 -5
  230. package/esm2022/modal/v2/kirbydesign-designsystem-modal-v2.mjs +1 -1
  231. package/esm2022/modal/v2/modal/modal.component.mjs +5 -5
  232. package/esm2022/modal/v2/modal-routing/modal-routing.component.mjs +4 -4
  233. package/esm2022/modal/v2/public_api.mjs +1 -1
  234. package/esm2022/modal/v2/services/modal.controller.mjs +4 -4
  235. package/esm2022/modal/v2/wrapper/wrapper.component.mjs +5 -5
  236. package/esm2022/page/kirbydesign-designsystem-page.mjs +1 -1
  237. package/esm2022/page/page-footer/page-footer.component.mjs +4 -4
  238. package/esm2022/page/page.component.mjs +44 -35
  239. package/esm2022/page/page.module.mjs +5 -5
  240. package/esm2022/page/public_api.mjs +1 -1
  241. package/esm2022/popover/kirbydesign-designsystem-popover.mjs +1 -1
  242. package/esm2022/popover/popover.component.mjs +4 -4
  243. package/esm2022/popover/public_api.mjs +1 -1
  244. package/esm2022/progress-circle/kirbydesign-designsystem-progress-circle.mjs +1 -1
  245. package/esm2022/progress-circle/progress-circle-ring.component.mjs +25 -16
  246. package/esm2022/progress-circle/progress-circle.component.mjs +4 -4
  247. package/esm2022/progress-circle/public_api.mjs +1 -1
  248. package/esm2022/public-api.mjs +1 -1
  249. package/esm2022/radio/kirbydesign-designsystem-radio.mjs +1 -1
  250. package/esm2022/radio/public_api.mjs +1 -1
  251. package/esm2022/radio/radio-group/radio-group.component.mjs +4 -4
  252. package/esm2022/radio/radio-module.mjs +5 -5
  253. package/esm2022/radio/radio.component.mjs +5 -5
  254. package/esm2022/range/kirbydesign-designsystem-range.mjs +1 -1
  255. package/esm2022/range/public_api.mjs +1 -1
  256. package/esm2022/range/range.component.mjs +4 -4
  257. package/esm2022/reorder-list/kirbydesign-designsystem-reorder-list.mjs +1 -1
  258. package/esm2022/reorder-list/public_api.mjs +1 -1
  259. package/esm2022/reorder-list/reorder-event.mjs +1 -1
  260. package/esm2022/reorder-list/reorder-list.component.mjs +4 -4
  261. package/esm2022/router-outlet/kirbydesign-designsystem-router-outlet.mjs +1 -1
  262. package/esm2022/router-outlet/public_api.mjs +1 -1
  263. package/esm2022/router-outlet/router-outlet.component.mjs +4 -4
  264. package/esm2022/router-outlet/router-outlet.module.mjs +5 -5
  265. package/esm2022/section-header/kirbydesign-designsystem-section-header.mjs +1 -1
  266. package/esm2022/section-header/public_api.mjs +1 -1
  267. package/esm2022/section-header/section-header.component.mjs +5 -5
  268. package/esm2022/shared/component-configuration.mjs +1 -1
  269. package/esm2022/shared/component-loader.directive.mjs +4 -4
  270. package/esm2022/shared/dynamic-component.mjs +1 -1
  271. package/esm2022/shared/fit-heading/fit-heading.directive.mjs +4 -4
  272. package/esm2022/shared/fit-heading/index.mjs +1 -1
  273. package/esm2022/shared/floating/floating.directive.mjs +4 -4
  274. package/esm2022/shared/floating/kirbydesign-designsystem-shared-floating.mjs +1 -1
  275. package/esm2022/shared/floating/public_api.mjs +1 -1
  276. package/esm2022/shared/kirbydesign-designsystem-shared.mjs +1 -1
  277. package/esm2022/shared/portal/kirbydesign-designsystem-shared-portal.mjs +1 -1
  278. package/esm2022/shared/portal/portal.directive.mjs +4 -4
  279. package/esm2022/shared/portal/public_api.mjs +1 -1
  280. package/esm2022/shared/public_api.mjs +1 -1
  281. package/esm2022/shared/resize-observer/resize-observer.factory.mjs +4 -4
  282. package/esm2022/shared/resize-observer/resize-observer.service.mjs +4 -4
  283. package/esm2022/shared/theme-color/theme-color.directive.mjs +4 -4
  284. package/esm2022/slide/kirbydesign-designsystem-slide.mjs +1 -1
  285. package/esm2022/slide/public_api.mjs +1 -1
  286. package/esm2022/slide/slide-stretch-height.directive.mjs +4 -4
  287. package/esm2022/slide/slide.directive.mjs +4 -4
  288. package/esm2022/slide/slide.module.mjs +5 -5
  289. package/esm2022/slide/slides.component.mjs +4 -4
  290. package/esm2022/slide-button/kirbydesign-designsystem-slide-button.mjs +1 -1
  291. package/esm2022/slide-button/public_api.mjs +1 -1
  292. package/esm2022/slide-button/slide-button.component.mjs +5 -5
  293. package/esm2022/spinner/kirbydesign-designsystem-spinner.mjs +1 -1
  294. package/esm2022/spinner/public_api.mjs +1 -1
  295. package/esm2022/spinner/spinner.component.mjs +4 -4
  296. package/esm2022/spinner/spinner.module.mjs +5 -5
  297. package/esm2022/tab-navigation/kirbydesign-designsystem-tab-navigation.mjs +1 -1
  298. package/esm2022/tab-navigation/public_api.mjs +1 -1
  299. package/esm2022/tab-navigation/tab-navigation/tab-navigation.component.mjs +5 -5
  300. package/esm2022/tab-navigation/tab-navigation-item/tab-navigation-item.component.mjs +8 -5
  301. package/esm2022/tab-navigation/tab-navigation.module.mjs +5 -5
  302. package/esm2022/tabs/kirbydesign-designsystem-tabs.mjs +1 -1
  303. package/esm2022/tabs/public_api.mjs +1 -1
  304. package/esm2022/tabs/tab-button/tab-button.component.mjs +5 -5
  305. package/esm2022/tabs/tab-button/tab-button.events.mjs +1 -1
  306. package/esm2022/tabs/tabs.component.mjs +4 -4
  307. package/esm2022/tabs/tabs.module.mjs +5 -5
  308. package/esm2022/tabs/tabs.service.mjs +4 -4
  309. package/esm2022/testing/element-css-custom-matchers.mjs +1 -1
  310. package/esm2022/testing/kirbydesign-designsystem-testing.mjs +1 -1
  311. package/esm2022/testing/public_api.mjs +1 -1
  312. package/esm2022/testing/test-helper.mjs +5 -5
  313. package/esm2022/testing-base/kirbydesign-designsystem-testing-base.mjs +1 -1
  314. package/esm2022/testing-base/lib/components/index.mjs +1 -1
  315. package/esm2022/testing-base/lib/components/mock.accordion-item.component.mjs +6 -4
  316. package/esm2022/testing-base/lib/components/mock.action-group.component.mjs +6 -4
  317. package/esm2022/testing-base/lib/components/mock.action-sheet.component.mjs +6 -4
  318. package/esm2022/testing-base/lib/components/mock.alert.component.mjs +6 -4
  319. package/esm2022/testing-base/lib/components/mock.avatar.component.mjs +6 -4
  320. package/esm2022/testing-base/lib/components/mock.badge.component.mjs +6 -4
  321. package/esm2022/testing-base/lib/components/mock.base-chart.component.mjs +6 -4
  322. package/esm2022/testing-base/lib/components/mock.button.component.mjs +6 -4
  323. package/esm2022/testing-base/lib/components/mock.calendar.component.mjs +6 -4
  324. package/esm2022/testing-base/lib/components/mock.card-footer.component.mjs +6 -4
  325. package/esm2022/testing-base/lib/components/mock.card-header.component.mjs +6 -4
  326. package/esm2022/testing-base/lib/components/mock.card.component.mjs +6 -4
  327. package/esm2022/testing-base/lib/components/mock.chart.component.mjs +6 -4
  328. package/esm2022/testing-base/lib/components/mock.checkbox.component.mjs +6 -4
  329. package/esm2022/testing-base/lib/components/mock.divider.component.mjs +6 -4
  330. package/esm2022/testing-base/lib/components/mock.dropdown.component.mjs +6 -4
  331. package/esm2022/testing-base/lib/components/mock.empty-state.component.mjs +6 -4
  332. package/esm2022/testing-base/lib/components/mock.fab-sheet.component.mjs +6 -4
  333. package/esm2022/testing-base/lib/components/mock.flag.component.mjs +6 -4
  334. package/esm2022/testing-base/lib/components/mock.footer.component.mjs +6 -4
  335. package/esm2022/testing-base/lib/components/mock.form-field-message.component.mjs +6 -4
  336. package/esm2022/testing-base/lib/components/mock.form-field.component.mjs +6 -4
  337. package/esm2022/testing-base/lib/components/mock.header.component.mjs +12 -10
  338. package/esm2022/testing-base/lib/components/mock.icon.component.mjs +6 -4
  339. package/esm2022/testing-base/lib/components/mock.input-counter.component.mjs +6 -4
  340. package/esm2022/testing-base/lib/components/mock.input.component.mjs +6 -4
  341. package/esm2022/testing-base/lib/components/mock.item-group.component.mjs +6 -4
  342. package/esm2022/testing-base/lib/components/mock.item-sliding.component.mjs +6 -4
  343. package/esm2022/testing-base/lib/components/mock.item.component.mjs +6 -4
  344. package/esm2022/testing-base/lib/components/mock.kirby-app.component.mjs +6 -4
  345. package/esm2022/testing-base/lib/components/mock.label.component.mjs +6 -4
  346. package/esm2022/testing-base/lib/components/mock.list-experimental.component.mjs +6 -4
  347. package/esm2022/testing-base/lib/components/mock.list-header.component.mjs +6 -4
  348. package/esm2022/testing-base/lib/components/mock.list-item.component.mjs +6 -4
  349. package/esm2022/testing-base/lib/components/mock.list-section-header.component.mjs +6 -4
  350. package/esm2022/testing-base/lib/components/mock.list.component.mjs +6 -4
  351. package/esm2022/testing-base/lib/components/mock.loading-overlay.component.mjs +6 -4
  352. package/esm2022/testing-base/lib/components/mock.menu.component.mjs +6 -4
  353. package/esm2022/testing-base/lib/components/mock.modal-compact-wrapper.component.mjs +6 -4
  354. package/esm2022/testing-base/lib/components/mock.modal-footer.component.mjs +6 -4
  355. package/esm2022/testing-base/lib/components/mock.modal-routing.component.mjs +6 -4
  356. package/esm2022/testing-base/lib/components/mock.modal-wrapper.component.mjs +6 -4
  357. package/esm2022/testing-base/lib/components/mock.modal.component.mjs +6 -4
  358. package/esm2022/testing-base/lib/components/mock.page-footer.component.mjs +6 -4
  359. package/esm2022/testing-base/lib/components/mock.page-local-navigation.component.mjs +6 -4
  360. package/esm2022/testing-base/lib/components/mock.page.component.mjs +44 -34
  361. package/esm2022/testing-base/lib/components/mock.popover.component.mjs +6 -4
  362. package/esm2022/testing-base/lib/components/mock.progress-circle-ring.component.mjs +6 -4
  363. package/esm2022/testing-base/lib/components/mock.progress-circle.component.mjs +6 -4
  364. package/esm2022/testing-base/lib/components/mock.radio-group.component.mjs +6 -4
  365. package/esm2022/testing-base/lib/components/mock.radio.component.mjs +6 -4
  366. package/esm2022/testing-base/lib/components/mock.range.component.mjs +6 -4
  367. package/esm2022/testing-base/lib/components/mock.reorder-list.component.mjs +6 -4
  368. package/esm2022/testing-base/lib/components/mock.router-outlet.component.mjs +6 -4
  369. package/esm2022/testing-base/lib/components/mock.section-header.component.mjs +6 -4
  370. package/esm2022/testing-base/lib/components/mock.segmented-control.component.mjs +6 -4
  371. package/esm2022/testing-base/lib/components/mock.slide-button.component.mjs +6 -4
  372. package/esm2022/testing-base/lib/components/mock.slides.component.mjs +6 -4
  373. package/esm2022/testing-base/lib/components/mock.spinner.component.mjs +6 -4
  374. package/esm2022/testing-base/lib/components/mock.stock-chart.component.mjs +6 -4
  375. package/esm2022/testing-base/lib/components/mock.tab-button.component.mjs +6 -4
  376. package/esm2022/testing-base/lib/components/mock.tab-navigation-item.component.mjs +6 -4
  377. package/esm2022/testing-base/lib/components/mock.tab-navigation.component.mjs +6 -4
  378. package/esm2022/testing-base/lib/components/mock.table-row.component.mjs +6 -4
  379. package/esm2022/testing-base/lib/components/mock.table.component.mjs +6 -4
  380. package/esm2022/testing-base/lib/components/mock.tabs.component.mjs +6 -4
  381. package/esm2022/testing-base/lib/components/mock.textarea.component.mjs +6 -4
  382. package/esm2022/testing-base/lib/components/mock.toggle-button.component.mjs +6 -4
  383. package/esm2022/testing-base/lib/components/mock.toggle.component.mjs +6 -4
  384. package/esm2022/testing-base/lib/components/mock.wrapper.component.mjs +6 -4
  385. package/esm2022/testing-base/lib/directives/index.mjs +1 -1
  386. package/esm2022/testing-base/lib/directives/mock.accordion.directive.mjs +4 -4
  387. package/esm2022/testing-base/lib/directives/mock.affix.directive.mjs +4 -4
  388. package/esm2022/testing-base/lib/directives/mock.card-as-button.directive.mjs +4 -4
  389. package/esm2022/testing-base/lib/directives/mock.component-loader.directive.mjs +4 -4
  390. package/esm2022/testing-base/lib/directives/mock.date-input.directive.mjs +4 -4
  391. package/esm2022/testing-base/lib/directives/mock.decimal-mask.directive.mjs +4 -4
  392. package/esm2022/testing-base/lib/directives/mock.fit-heading.directive.mjs +4 -4
  393. package/esm2022/testing-base/lib/directives/mock.floating.directive.mjs +4 -4
  394. package/esm2022/testing-base/lib/directives/mock.infinite-scroll.directive.mjs +4 -4
  395. package/esm2022/testing-base/lib/directives/mock.key-handler.directive.mjs +4 -4
  396. package/esm2022/testing-base/lib/directives/mock.list-item-color.directive.mjs +4 -4
  397. package/esm2022/testing-base/lib/directives/mock.list.directive.mjs +13 -13
  398. package/esm2022/testing-base/lib/directives/mock.modal-router-link.directive.mjs +4 -4
  399. package/esm2022/testing-base/lib/directives/mock.portal.directive.mjs +4 -4
  400. package/esm2022/testing-base/lib/directives/mock.slide.directive.mjs +4 -4
  401. package/esm2022/testing-base/lib/directives/mock.theme-color.directive.mjs +4 -4
  402. package/esm2022/testing-base/lib/index.mjs +1 -1
  403. package/esm2022/testing-base/lib/kirby-testing-base.module.mjs +5 -5
  404. package/esm2022/testing-base/lib/mock-components.mjs +1 -1
  405. package/esm2022/testing-base/lib/mock-directives.mjs +1 -1
  406. package/esm2022/testing-base/public_api.mjs +1 -1
  407. package/esm2022/testing-jasmine/kirbydesign-designsystem-testing-jasmine.mjs +1 -1
  408. package/esm2022/testing-jasmine/lib/kirby-testing.module.mjs +5 -6
  409. package/esm2022/testing-jasmine/lib/mock-providers.mjs +1 -1
  410. package/esm2022/testing-jasmine/public_api.mjs +1 -1
  411. package/esm2022/testing-jest/kirbydesign-designsystem-testing-jest.mjs +1 -1
  412. package/esm2022/testing-jest/lib/kirby-testing.module.mjs +5 -6
  413. package/esm2022/testing-jest/lib/mock-providers.mjs +1 -1
  414. package/esm2022/testing-jest/public_api.mjs +1 -1
  415. package/esm2022/toast/config/toast-config.mjs +1 -1
  416. package/esm2022/toast/kirbydesign-designsystem-toast.mjs +1 -1
  417. package/esm2022/toast/public_api.mjs +1 -1
  418. package/esm2022/toast/services/indexs.mjs +1 -1
  419. package/esm2022/toast/services/toast.controller.mjs +4 -4
  420. package/esm2022/toast/services/toast.helper.mjs +4 -4
  421. package/esm2022/toggle/kirbydesign-designsystem-toggle.mjs +1 -1
  422. package/esm2022/toggle/public_api.mjs +1 -1
  423. package/esm2022/toggle/toggle.component.mjs +4 -4
  424. package/esm2022/toggle-button/kirbydesign-designsystem-toggle-button.mjs +1 -1
  425. package/esm2022/toggle-button/public_api.mjs +1 -1
  426. package/esm2022/toggle-button/toggle-button.component.mjs +4 -4
  427. package/esm2022/toggle-button/toggle-button.module.mjs +5 -5
  428. package/esm2022/types/event-listener-dispose-fn.mjs +1 -1
  429. package/esm2022/types/kirbydesign-designsystem-types.mjs +1 -1
  430. package/esm2022/types/public_api.mjs +1 -1
  431. package/esm2022/types/window-ref.mjs +4 -4
  432. package/fesm2022/kirbydesign-designsystem-accordion.mjs +10 -10
  433. package/fesm2022/kirbydesign-designsystem-accordion.mjs.map +1 -1
  434. package/fesm2022/kirbydesign-designsystem-action-group.mjs +3 -3
  435. package/fesm2022/kirbydesign-designsystem-action-group.mjs.map +1 -1
  436. package/fesm2022/kirbydesign-designsystem-avatar.mjs +11 -5
  437. package/fesm2022/kirbydesign-designsystem-avatar.mjs.map +1 -1
  438. package/fesm2022/kirbydesign-designsystem-badge.mjs +3 -3
  439. package/fesm2022/kirbydesign-designsystem-badge.mjs.map +1 -1
  440. package/fesm2022/kirbydesign-designsystem-button.mjs +3 -3
  441. package/fesm2022/kirbydesign-designsystem-button.mjs.map +1 -1
  442. package/fesm2022/kirbydesign-designsystem-calendar.mjs +22 -21
  443. package/fesm2022/kirbydesign-designsystem-calendar.mjs.map +1 -1
  444. package/fesm2022/kirbydesign-designsystem-card.mjs +40 -27
  445. package/fesm2022/kirbydesign-designsystem-card.mjs.map +1 -1
  446. package/fesm2022/kirbydesign-designsystem-chart.mjs +22 -22
  447. package/fesm2022/kirbydesign-designsystem-chart.mjs.map +1 -1
  448. package/fesm2022/kirbydesign-designsystem-checkbox.mjs +3 -3
  449. package/fesm2022/kirbydesign-designsystem-checkbox.mjs.map +1 -1
  450. package/fesm2022/kirbydesign-designsystem-data-table.mjs +13 -13
  451. package/fesm2022/kirbydesign-designsystem-data-table.mjs.map +1 -1
  452. package/fesm2022/kirbydesign-designsystem-divider.mjs +3 -3
  453. package/fesm2022/kirbydesign-designsystem-divider.mjs.map +1 -1
  454. package/fesm2022/kirbydesign-designsystem-dropdown.mjs +11 -11
  455. package/fesm2022/kirbydesign-designsystem-dropdown.mjs.map +1 -1
  456. package/fesm2022/kirbydesign-designsystem-empty-state.mjs +7 -7
  457. package/fesm2022/kirbydesign-designsystem-empty-state.mjs.map +1 -1
  458. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs +3 -3
  459. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs.map +1 -1
  460. package/fesm2022/kirbydesign-designsystem-flag.mjs +3 -3
  461. package/fesm2022/kirbydesign-designsystem-flag.mjs.map +1 -1
  462. package/fesm2022/kirbydesign-designsystem-form-field.mjs +28 -28
  463. package/fesm2022/kirbydesign-designsystem-form-field.mjs.map +1 -1
  464. package/fesm2022/kirbydesign-designsystem-header.mjs +27 -20
  465. package/fesm2022/kirbydesign-designsystem-header.mjs.map +1 -1
  466. package/fesm2022/kirbydesign-designsystem-helpers-scss.mjs.map +1 -1
  467. package/fesm2022/kirbydesign-designsystem-helpers.mjs +9 -9
  468. package/fesm2022/kirbydesign-designsystem-helpers.mjs.map +1 -1
  469. package/fesm2022/kirbydesign-designsystem-icon.mjs +10 -10
  470. package/fesm2022/kirbydesign-designsystem-icon.mjs.map +1 -1
  471. package/fesm2022/kirbydesign-designsystem-item-group.mjs +3 -3
  472. package/fesm2022/kirbydesign-designsystem-item-group.mjs.map +1 -1
  473. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs +3 -3
  474. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs.map +1 -1
  475. package/fesm2022/kirbydesign-designsystem-item.mjs +11 -11
  476. package/fesm2022/kirbydesign-designsystem-item.mjs.map +1 -1
  477. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs +7 -7
  478. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs.map +1 -1
  479. package/fesm2022/kirbydesign-designsystem-kirby-ionic-module.mjs +4 -4
  480. package/fesm2022/kirbydesign-designsystem-kirby-ionic-module.mjs.map +1 -1
  481. package/fesm2022/kirbydesign-designsystem-list.mjs +55 -49
  482. package/fesm2022/kirbydesign-designsystem-list.mjs.map +1 -1
  483. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs +7 -7
  484. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs.map +1 -1
  485. package/fesm2022/kirbydesign-designsystem-menu.mjs +3 -3
  486. package/fesm2022/kirbydesign-designsystem-menu.mjs.map +1 -1
  487. package/fesm2022/kirbydesign-designsystem-modal-v2.mjs +21 -21
  488. package/fesm2022/kirbydesign-designsystem-modal-v2.mjs.map +1 -1
  489. package/fesm2022/kirbydesign-designsystem-modal.mjs +125 -92
  490. package/fesm2022/kirbydesign-designsystem-modal.mjs.map +1 -1
  491. package/fesm2022/kirbydesign-designsystem-page.mjs +50 -41
  492. package/fesm2022/kirbydesign-designsystem-page.mjs.map +1 -1
  493. package/fesm2022/kirbydesign-designsystem-popover.mjs +3 -3
  494. package/fesm2022/kirbydesign-designsystem-popover.mjs.map +1 -1
  495. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs +26 -17
  496. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs.map +1 -1
  497. package/fesm2022/kirbydesign-designsystem-radio.mjs +11 -11
  498. package/fesm2022/kirbydesign-designsystem-radio.mjs.map +1 -1
  499. package/fesm2022/kirbydesign-designsystem-range.mjs +3 -3
  500. package/fesm2022/kirbydesign-designsystem-range.mjs.map +1 -1
  501. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs +3 -3
  502. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs.map +1 -1
  503. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs +7 -7
  504. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs.map +1 -1
  505. package/fesm2022/kirbydesign-designsystem-section-header.mjs +4 -4
  506. package/fesm2022/kirbydesign-designsystem-section-header.mjs.map +1 -1
  507. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs +3 -3
  508. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs.map +1 -1
  509. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs +3 -3
  510. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs.map +1 -1
  511. package/fesm2022/kirbydesign-designsystem-shared.mjs +15 -15
  512. package/fesm2022/kirbydesign-designsystem-shared.mjs.map +1 -1
  513. package/fesm2022/kirbydesign-designsystem-slide-button.mjs +4 -4
  514. package/fesm2022/kirbydesign-designsystem-slide-button.mjs.map +1 -1
  515. package/fesm2022/kirbydesign-designsystem-slide.mjs +13 -13
  516. package/fesm2022/kirbydesign-designsystem-slide.mjs.map +1 -1
  517. package/fesm2022/kirbydesign-designsystem-spinner.mjs +7 -7
  518. package/fesm2022/kirbydesign-designsystem-spinner.mjs.map +1 -1
  519. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs +15 -12
  520. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs.map +1 -1
  521. package/fesm2022/kirbydesign-designsystem-tabs.mjs +14 -14
  522. package/fesm2022/kirbydesign-designsystem-tabs.mjs.map +1 -1
  523. package/fesm2022/kirbydesign-designsystem-testing-base.mjs +455 -307
  524. package/fesm2022/kirbydesign-designsystem-testing-base.mjs.map +1 -1
  525. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs +4 -5
  526. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs.map +1 -1
  527. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs +4 -5
  528. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs.map +1 -1
  529. package/fesm2022/kirbydesign-designsystem-testing.mjs +4 -4
  530. package/fesm2022/kirbydesign-designsystem-testing.mjs.map +1 -1
  531. package/fesm2022/kirbydesign-designsystem-toast.mjs +6 -6
  532. package/fesm2022/kirbydesign-designsystem-toast.mjs.map +1 -1
  533. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs +7 -7
  534. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs.map +1 -1
  535. package/fesm2022/kirbydesign-designsystem-toggle.mjs +3 -3
  536. package/fesm2022/kirbydesign-designsystem-toggle.mjs.map +1 -1
  537. package/fesm2022/kirbydesign-designsystem-types.mjs +3 -3
  538. package/fesm2022/kirbydesign-designsystem-types.mjs.map +1 -1
  539. package/fesm2022/kirbydesign-designsystem.mjs +53 -36
  540. package/fesm2022/kirbydesign-designsystem.mjs.map +1 -1
  541. package/header/header.component.d.ts +5 -2
  542. package/lib/components/segmented-control/segment-item.d.ts +0 -4
  543. package/lib/components/segmented-control/segmented-control.component.d.ts +22 -12
  544. package/list/list.module.d.ts +1 -1
  545. package/modal/modal/footer/modal-footer.component.d.ts +1 -1
  546. package/modal/modal/modal-component/modal.component.d.ts +5 -5
  547. package/modal/modal/services/can-dismiss-modal-guard.d.ts +2 -0
  548. package/modal/modal/services/index.d.ts +1 -0
  549. package/modal/modal/services/modal.controller.d.ts +2 -0
  550. package/modal/modal/services/modal.helper.d.ts +3 -4
  551. package/modal/modal-navigation.service.d.ts +1 -0
  552. package/modal/modal.interfaces.d.ts +1 -0
  553. package/package.json +28 -30
  554. package/page/page.component.d.ts +1 -1
  555. package/progress-circle/progress-circle-ring.component.d.ts +7 -3
  556. package/readme.md +11 -10
  557. package/tab-navigation/tab-navigation-item/tab-navigation-item.component.d.ts +2 -1
  558. package/testing-base/lib/components/mock.avatar.component.d.ts +1 -1
  559. package/testing-base/lib/components/mock.button.component.d.ts +1 -1
  560. package/testing-jest/lib/mock-providers.d.ts +28 -28
@@ -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.12", ngImport: i0, type: SegmentedControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
201
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", 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: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: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.12", 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: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: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.12", 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.12", 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.12", 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.12", 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.12", 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.12", 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.12", 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.12", 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.12", 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.12", 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.12", 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.12", 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.12", 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.12", ngImport: i0, type: KirbyExperimentalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
663
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: KirbyExperimentalModule, imports: [CommonModule, KirbyModule, PageLocalNavigationComponent], exports: [PageLocalNavigationComponent] }); }
664
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", 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.12", ngImport: i0, type: KirbyExperimentalModule, decorators: [{
650
667
  type: NgModule,
651
668
  args: [{
652
669
  imports: [CommonModule, KirbyModule, PageLocalNavigationComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"kirbydesign-designsystem.mjs","sources":["../../../../libs/designsystem/src/lib/components/segmented-control/segmented-control.component.ts","../../../../libs/designsystem/src/lib/components/segmented-control/segmented-control.component.html","../../../../libs/designsystem/src/lib/components/page-local-navigation/page-local-navigation.component.ts","../../../../libs/designsystem/src/lib/components/page-local-navigation/page-local-navigation.component.html","../../../../libs/designsystem/src/lib/components/index.ts","../../../../libs/designsystem/src/lib/directives/key-handler/key-handler.directive.ts","../../../../libs/designsystem/src/lib/directives/modal-router-link/modal-router-link.directive.ts","../../../../libs/designsystem/src/lib/kirby.module.ts","../../../../libs/designsystem/src/lib/kirby-experimental.module.ts","../../../../libs/designsystem/src/kirbydesign-designsystem.ts"],"sourcesContent":["import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { IconModule, IconRegistryService } from '@kirbydesign/designsystem/icon';\nimport { BadgeComponent } from '@kirbydesign/designsystem/badge';\n\nimport { IonSegment, IonSegmentButton } from '@ionic/angular/standalone';\nimport { SegmentItem, SegmentItemInternal } from './segment-item';\n\nexport enum SegmentedControlMode {\n chip = 'chip',\n compactChip = 'compactChip',\n default = 'default',\n}\n\n@Component({\n standalone: true,\n imports: [IconModule, BadgeComponent, CommonModule, IonSegment, IonSegmentButton],\n selector: 'kirby-segmented-control',\n templateUrl: './segmented-control.component.html',\n styleUrls: ['./segmented-control.component.scss'],\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: { role: 'group' },\n})\nexport class SegmentedControlComponent {\n constructor(private iconRegistryService: IconRegistryService) {}\n\n /**\n * Ensure that the click actually did originate from within the segment-button.\n * We do not want to react to clicks on e.g. segment-btn-wrapper or badge.\n */\n preventOutsideClick(event: TouchEvent) {\n if (event.target instanceof HTMLElement) {\n const targetIsInSegmentBtn = !!event.target.closest('ion-segment-button');\n if (!targetIsInSegmentBtn) {\n event.stopImmediatePropagation();\n }\n }\n }\n\n @Input() mode: SegmentedControlMode | `${SegmentedControlMode}` = SegmentedControlMode.default;\n\n @HostBinding('class')\n get _modeCssClass() {\n return {\n [SegmentedControlMode.chip]: 'chip-mode',\n [SegmentedControlMode.default]: 'default-mode',\n [SegmentedControlMode.compactChip]: 'compact chip-mode',\n }[this.mode];\n }\n\n private _items: SegmentItemInternal[] = [];\n get items(): SegmentItemInternal[] {\n return this._items;\n }\n\n @Input() set items(value: SegmentItem[]) {\n this._items = value || [];\n this._items.forEach((item) => {\n if (!item.badge) return;\n // We need to verify whether badges icon is custom or default, so we can check for it in the template\n item.badge.isCustomIcon =\n item.badge.icon !== undefined &&\n this.iconRegistryService.getIcon(item.badge.icon) !== undefined;\n });\n this._value = this.items[this.selectedIndex];\n }\n\n private _selectedIndex: number = -1;\n get selectedIndex(): number {\n return this._selectedIndex;\n }\n\n @Input() set selectedIndex(index: number) {\n if (index !== this._selectedIndex) {\n this._selectedIndex = index;\n this._value = this.items[this.selectedIndex];\n this.selectedIndexChange.emit(this.selectedIndex);\n }\n }\n\n @Output() selectedIndexChange = new EventEmitter<number>();\n\n private _value: SegmentItem;\n get value(): SegmentItem {\n return this._value;\n }\n\n @Input() set value(value: SegmentItem) {\n this.selectedIndex = this.items.indexOf(value);\n }\n\n @HostBinding('class.sm')\n isSmallSize: boolean;\n\n @Input() set size(size: 'sm' | 'md') {\n this.isSmallSize = size === 'sm';\n }\n\n private _disableChangeOnSwipe: boolean = false;\n get disableChangeOnSwipe(): boolean {\n return this._disableChangeOnSwipe;\n }\n\n @Input() set disableChangeOnSwipe(value: boolean) {\n this._disableChangeOnSwipe = value;\n }\n\n @Output() segmentSelect: EventEmitter<SegmentItem> = new EventEmitter();\n\n onSegmentSelect(selectedId: string) {\n const selectedItemIndex = this.items.findIndex((item) => selectedId === item.id);\n\n if (selectedItemIndex !== this.selectedIndex) {\n this.selectedIndex = selectedItemIndex;\n setTimeout(() => {\n this.segmentSelect.emit(this.value);\n });\n }\n }\n}\n","<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","import { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { WindowRef } from '@kirbydesign/designsystem/types';\nimport { IconModule } from '@kirbydesign/designsystem/icon';\nimport { BadgeComponent } from '@kirbydesign/designsystem/badge';\nimport { LocalNavigationItem } from './page-local-navigation-item';\n\n@Component({\n standalone: true,\n imports: [BadgeComponent, IconModule, CommonModule],\n selector: 'kirby-page-local-navigation',\n templateUrl: './page-local-navigation.component.html',\n styleUrls: ['./page-local-navigation.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PageLocalNavigationComponent implements AfterViewInit {\n private readonly DEBOUNCE_TIME_MS = 250;\n\n @Input() items: LocalNavigationItem[] = [];\n @Input() selectedIndex = 0;\n\n @Output() selectedIndexChange = new EventEmitter<number>();\n\n @ViewChild('tabBar') tabBarElementRef?: ElementRef<HTMLElement>;\n private get tabBarNativeElement(): HTMLElement | undefined {\n return this.tabBarElementRef?.nativeElement;\n }\n\n constructor(private window: WindowRef) {\n console.warn(\n 'Kirby Local Navigation is deprecated, and will be removed in Kirby v10. It is replaced by Kirby Tab Navigation with identical functionality, but with more flexibility and an improved API.'\n );\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.scrollToSelectedTab(this.selectedIndex);\n }, this.DEBOUNCE_TIME_MS);\n }\n\n onTabChange(index: number): void {\n if (this.selectedIndex !== index) {\n this.selectedIndex = index;\n this.scrollToSelectedTab(index);\n this.selectedIndexChange.emit(index);\n }\n }\n\n private getSelectedItemElement(index: number): HTMLElement | undefined {\n const tabBarElement = this.tabBarNativeElement;\n\n if (tabBarElement) {\n return tabBarElement.children.item(index) as HTMLElement;\n }\n }\n\n focusNext(index: number): void {\n const tabBarElement = this.tabBarNativeElement;\n if (tabBarElement) {\n const next = tabBarElement.children.item(index) as HTMLElement;\n next?.focus({ preventScroll: false });\n }\n }\n\n private scrollToSelectedTab(index: number): void {\n const tabBarElement = this.tabBarNativeElement;\n const selectedTabElement = this.getSelectedItemElement(index);\n\n if (tabBarElement && selectedTabElement) {\n const selectedTabElementWidth = selectedTabElement.getBoundingClientRect().width;\n const selectedTabElementOffsetLeft = selectedTabElement.offsetLeft;\n const tabBarElementWidth = tabBarElement.getBoundingClientRect().width;\n\n this.window.nativeWindow.requestAnimationFrame(() => {\n tabBarElement?.scrollTo({\n behavior: 'smooth',\n left: Math.max(\n 0,\n selectedTabElementOffsetLeft - (tabBarElementWidth - selectedTabElementWidth) / 2\n ),\n });\n });\n }\n }\n}\n","<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","/* prettier-ignore */\nexport { SegmentedControlComponent, SegmentedControlMode} from './segmented-control/segmented-control.component'; // See issue #1555 for prettier-ignore explanation\nexport { SegmentItem } from './segmented-control/segment-item';\n\nexport * from './page-local-navigation';\n","import { Directive, ElementRef, HostListener } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: `[keyHandler]`,\n})\nexport class KeyHandlerDirective {\n constructor(private element: ElementRef) {}\n\n @HostListener('keyup', ['$event'])\n keyEvent(event: KeyboardEvent) {\n if (event.key === ' ' || event.key === 'Enter' || event.key === 'Spacebar') {\n // Prevent the default action to stop scrolling when space is pressed\n event.preventDefault();\n\n const hostElement = <HTMLElement>this.element.nativeElement;\n hostElement.click();\n }\n }\n}\n","import { Directive, ElementRef, HostListener, Input, OnInit } from '@angular/core';\nimport { Params } from '@angular/router';\nimport { AlertConfig, ModalNavigationService } from '@kirbydesign/designsystem/modal';\n\n@Directive({\n selector: `[kirbyModalRouterLink]`,\n})\nexport class ModalRouterLinkDirective implements OnInit {\n constructor(\n private modalNavigationService: ModalNavigationService,\n private elementRef: ElementRef\n ) {}\n\n ngOnInit(): void {\n this.elementRef.nativeElement.setAttribute('modal-router-link', '');\n }\n\n @Input('kirbyModalRouterLink') path: string | string[];\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('kirbyModalQueryParams') queryParams?: Params;\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('kirbyAlertConfig') alertConfig?: AlertConfig;\n\n @HostListener('click')\n onClick(): boolean {\n this.modalNavigationService.navigateToModal(\n this.path,\n typeof this.queryParams !== 'string' ? this.queryParams : null,\n this.alertConfig || null\n );\n return false;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Inject, InjectionToken, ModuleWithProviders, NgModule, Optional } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { CardModule } from '@kirbydesign/designsystem/card';\nimport { IconModule } from '@kirbydesign/designsystem/icon';\nimport { KirbyIonicModule } from '@kirbydesign/designsystem/kirby-ionic-module';\nimport {\n ComponentLoaderDirective,\n ResizeObserverFactory,\n ResizeObserverService,\n ThemeColorDirective,\n} from '@kirbydesign/designsystem/shared';\nimport { FlagComponent } from '@kirbydesign/designsystem/flag';\nimport { SpinnerModule } from '@kirbydesign/designsystem/spinner';\nimport { ToggleComponent } from '@kirbydesign/designsystem/toggle';\nimport { SectionHeaderComponent } from '@kirbydesign/designsystem/section-header';\nimport { ItemModule } from '@kirbydesign/designsystem/item';\nimport { SlideModule } from '@kirbydesign/designsystem/slide';\nimport { ToggleButtonModule } from '@kirbydesign/designsystem/toggle-button';\nimport { TabsModule } from '@kirbydesign/designsystem/tabs';\nimport { SlideButtonComponent } from '@kirbydesign/designsystem/slide-button';\nimport { RangeComponent } from '@kirbydesign/designsystem/range';\nimport { PopoverComponent } from '@kirbydesign/designsystem/popover';\nimport {\n LoadingOverlayComponent,\n LoadingOverlayService,\n} from '@kirbydesign/designsystem/loading-overlay';\nimport { DividerComponent } from '@kirbydesign/designsystem/divider';\nimport { CheckboxComponent } from '@kirbydesign/designsystem/checkbox';\nimport { AccordionModule } from '@kirbydesign/designsystem/accordion';\nimport { ItemSlidingComponent } from '@kirbydesign/designsystem/item-sliding';\nimport { ListModule } from '@kirbydesign/designsystem/list';\nimport { RadioModule } from '@kirbydesign/designsystem/radio';\nimport {\n AffixDirective,\n FormFieldModule,\n InputComponent,\n TextareaComponent,\n} from '@kirbydesign/designsystem/form-field';\nimport { AvatarComponent } from '@kirbydesign/designsystem/avatar';\nimport {\n ProgressCircleComponent,\n ProgressCircleRingComponent,\n} from '@kirbydesign/designsystem/progress-circle';\nimport { RouterOutletModule } from '@kirbydesign/designsystem/router-outlet';\n\nimport { ItemGroupComponent } from '@kirbydesign/designsystem/item-group';\nimport { ButtonComponent } from '@kirbydesign/designsystem/button';\nimport { CalendarComponent } from '@kirbydesign/designsystem/calendar';\nimport {\n ActionSheetComponent,\n ActionSheetHelper,\n AlertComponent,\n AlertHelper,\n CanDismissHelper,\n ModalCompactWrapperComponent,\n ModalController,\n ModalFooterComponent,\n ModalHelper,\n ModalWrapperComponent,\n} from '@kirbydesign/designsystem/modal';\nimport { ModalComponent } from '@kirbydesign/designsystem/modal';\nimport { KirbyModalModule } from '@kirbydesign/designsystem/modal/v2';\nimport { PageModule } from '@kirbydesign/designsystem/page';\nimport { HeaderModule } from '@kirbydesign/designsystem/header';\nimport { EmptyStateModule } from '@kirbydesign/designsystem/empty-state';\nimport { DropdownModule } from '@kirbydesign/designsystem/dropdown';\nimport { KirbyAppModule } from '@kirbydesign/designsystem/kirby-app';\nimport { ChartsModule } from '@kirbydesign/designsystem/chart';\nimport { FabSheetComponent } from '@kirbydesign/designsystem/fab-sheet';\nimport { DataTableModule } from '@kirbydesign/designsystem/data-table';\nimport { ReorderListComponent } from '@kirbydesign/designsystem/reorder-list';\n\nimport { ToastController, ToastHelper } from '@kirbydesign/designsystem/toast';\nimport { ActionGroupComponent } from '@kirbydesign/designsystem/action-group';\nimport { MenuComponent } from '@kirbydesign/designsystem/menu';\nimport { TabNavigationModule } from '@kirbydesign/designsystem/tab-navigation';\nimport { BadgeComponent } from '@kirbydesign/designsystem/badge';\nimport { SegmentedControlComponent } from './components/segmented-control/segmented-control.component';\nimport { KeyHandlerDirective } from './directives/key-handler/key-handler.directive';\nimport { ModalRouterLinkDirective } from './directives/modal-router-link/modal-router-link.directive';\n\nconst exportedDeclarations = [ModalRouterLinkDirective];\n\nconst declarations = [...exportedDeclarations, KeyHandlerDirective];\n\nconst standaloneComponents = [\n ActionGroupComponent,\n ItemGroupComponent,\n ModalCompactWrapperComponent,\n TextareaComponent,\n InputComponent,\n AffixDirective,\n DividerComponent,\n ThemeColorDirective,\n SegmentedControlComponent,\n AlertComponent,\n PopoverComponent,\n ProgressCircleRingComponent,\n ModalWrapperComponent,\n SectionHeaderComponent,\n RangeComponent,\n ItemSlidingComponent,\n ProgressCircleComponent,\n ReorderListComponent,\n LoadingOverlayComponent,\n FabSheetComponent,\n ToggleComponent,\n SlideButtonComponent,\n SegmentedControlComponent,\n CheckboxComponent,\n MenuComponent,\n ActionSheetComponent,\n ModalFooterComponent,\n AvatarComponent,\n CalendarComponent,\n ButtonComponent,\n ComponentLoaderDirective,\n FlagComponent,\n BadgeComponent,\n ModalComponent,\n];\nconst exportedModules = [\n KirbyAppModule,\n RouterOutletModule,\n PageModule,\n HeaderModule,\n TabNavigationModule,\n TabsModule,\n IconModule,\n ItemModule,\n ToggleButtonModule,\n ListModule,\n ChartsModule,\n SpinnerModule,\n DataTableModule,\n CardModule,\n RadioModule,\n EmptyStateModule,\n DropdownModule,\n FormFieldModule,\n SlideModule,\n AccordionModule,\n HeaderModule,\n KirbyModalModule,\n ...standaloneComponents,\n];\n\nconst allExports = [...exportedModules, ...exportedDeclarations];\n\nconst importedModules = [...exportedModules];\n\nconst providers = [\n ModalController,\n ActionSheetHelper,\n ModalHelper,\n AlertHelper,\n ToastHelper,\n ToastController,\n LoadingOverlayService,\n ResizeObserverFactory,\n ResizeObserverService,\n CanDismissHelper,\n];\n\nconst ConfigToken = new InjectionToken<unknown>('USERCONFIG');\nexport interface KirbyConfig {\n moduleRootRoutePath?: string;\n}\n\n@NgModule({\n imports: [CommonModule, RouterModule, KirbyIonicModule, ...importedModules],\n declarations: [declarations],\n providers: providers,\n exports: [allExports],\n})\nexport class KirbyModule {\n static forChild(config?: KirbyConfig): ModuleWithProviders<KirbyModule> {\n return {\n ngModule: KirbyModule,\n providers: [\n {\n provide: ConfigToken,\n useValue: config,\n },\n ],\n };\n }\n\n constructor(\n modalController: ModalController,\n @Optional() @Inject(ConfigToken) config?: KirbyConfig\n ) {\n modalController.initialize(config && config.moduleRootRoutePath);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PageLocalNavigationComponent } from './components';\nimport { KirbyModule } from './kirby.module';\n\nconst COMPONENT_DECLARATIONS = [PageLocalNavigationComponent];\nexport { StockChartConfig, BarChartConfig } from '@kirbydesign/designsystem/chart';\n\n/**\n * This module contains experimental components, that should not be used in a production environment.\n * @see KirbyModule\n */\n@NgModule({\n imports: [CommonModule, KirbyModule, PageLocalNavigationComponent],\n exports: COMPONENT_DECLARATIONS,\n})\nexport class KirbyExperimentalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1"],"mappings":"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"}
1
+ {"version":3,"file":"kirbydesign-designsystem.mjs","sources":["../../src/lib/components/segmented-control/segmented-control.component.ts","../../src/lib/components/segmented-control/segmented-control.component.html","../../src/lib/components/page-local-navigation/page-local-navigation.component.ts","../../src/lib/components/page-local-navigation/page-local-navigation.component.html","../../src/lib/components/index.ts","../../src/lib/directives/key-handler/key-handler.directive.ts","../../src/lib/directives/modal-router-link/modal-router-link.directive.ts","../../src/lib/kirby.module.ts","../../src/lib/kirby-experimental.module.ts","../../src/kirbydesign-designsystem.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { IconModule } from '@kirbydesign/designsystem/icon';\nimport { BadgeComponent } from '@kirbydesign/designsystem/badge';\n\nimport { IonSegment, IonSegmentButton } from '@ionic/angular/standalone';\nimport { CommonModule } from '@angular/common';\nimport { SegmentItem } from './segment-item';\n\nexport enum SegmentedControlMode {\n chip = 'chip',\n compactChip = 'compactChip',\n default = 'default',\n}\n\n// Workaround until TS 5.4 official NoInfer\n// https://github.com/millsp/ts-toolbelt/blob/master/sources/Function/NoInfer.ts\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype NoInfer<T> = [T][T extends any ? 0 : never];\n\n@Component({\n standalone: true,\n imports: [IconModule, BadgeComponent, CommonModule, IonSegment, IonSegmentButton],\n selector: 'kirby-segmented-control',\n templateUrl: './segmented-control.component.html',\n styleUrls: ['./segmented-control.component.scss'],\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: { role: 'group' },\n})\nexport class SegmentedControlComponent<TItem extends SegmentItem = SegmentItem> {\n @ViewChild(IonSegment, { static: true, read: ElementRef })\n private ionSegmentElement: ElementRef<HTMLIonSegmentElement>;\n\n /**\n * Ensure that the click actually did originate from within the segment-button.\n * We do not want to react to clicks on e.g. segment-btn-wrapper or badge.\n */\n preventOutsideClick(event: TouchEvent) {\n if (event.target instanceof HTMLElement) {\n const targetIsInSegmentBtn = !!event.target.closest('ion-segment-button');\n if (!targetIsInSegmentBtn) {\n event.stopImmediatePropagation();\n }\n }\n }\n\n @Input() mode: SegmentedControlMode | `${SegmentedControlMode}` = SegmentedControlMode.default;\n\n @HostBinding('class')\n get _modeCssClass() {\n return {\n [SegmentedControlMode.chip]: 'chip-mode',\n [SegmentedControlMode.default]: 'default-mode',\n [SegmentedControlMode.compactChip]: 'compact chip-mode',\n }[this.mode];\n }\n\n private _items: TItem[] = [];\n get items(): TItem[] {\n return this._items;\n }\n\n @Input() set items(value: TItem[]) {\n this._items = value || [];\n this._value = this.items[this.selectedIndex];\n this.ensureIonSegmentSelected();\n }\n\n /**\n * After upgrading to Ionic standalone components (Ionic v.7.6.6)\n * there is a lifecycle bug between Angular/Ionic/Stencil that prevents\n * the value of the segment component to be reflected in the checked state\n * of it's slotted segment buttons.\n * This has been patched here: https://github.com/ionic-team/ionic-framework/pull/28837\n * However the patch doesn't fix the problem if `items` are updated after first initialization\n * and the ion-segment-button(s) are re-rerendered.\n */\n private ensureIonSegmentSelected() {\n const ionSegment = this.ionSegmentElement.nativeElement;\n const ionSelectEvent = ionSegment['ionSelect'];\n if (this._value && typeof ionSelectEvent?.emit === 'function') {\n // Ensure changes has been reflected to the DOM:\n setTimeout(() => {\n const selectedSegmentButton = ionSegment.querySelector(\n 'ion-segment-button.segment-button-checked'\n );\n if (selectedSegmentButton) return; // Nothing to patch\n\n ionSelectEvent.emit({ value: this._value.id });\n });\n }\n }\n\n private _selectedIndex: number = -1;\n get selectedIndex(): number {\n return this._selectedIndex;\n }\n\n @Input() set selectedIndex(index: number) {\n if (index !== this._selectedIndex) {\n this._selectedIndex = index;\n this._value = this.items[this.selectedIndex];\n this.selectedIndexChange.emit(this.selectedIndex);\n }\n }\n\n @Output() selectedIndexChange = new EventEmitter<number>();\n\n private _value: NoInfer<TItem>;\n get value(): NoInfer<TItem> {\n return this._value;\n }\n\n @Input() set value(value: NoInfer<TItem>) {\n this.selectedIndex = this.items.indexOf(value);\n }\n\n @HostBinding('class.sm')\n isSmallSize: boolean;\n\n @Input() set size(size: 'sm' | 'md') {\n this.isSmallSize = size === 'sm';\n }\n\n private _disableChangeOnSwipe: boolean = false;\n get disableChangeOnSwipe(): boolean {\n return this._disableChangeOnSwipe;\n }\n\n @Input() set disableChangeOnSwipe(value: boolean) {\n this._disableChangeOnSwipe = value;\n }\n\n @Output() segmentSelect = new EventEmitter<TItem>();\n\n onSegmentSelect(selectedId: string) {\n const selectedItemIndex = this.items.findIndex((item) => selectedId === item.id);\n\n if (selectedItemIndex !== this.selectedIndex) {\n this.selectedIndex = selectedItemIndex;\n setTimeout(() => {\n this.segmentSelect.emit(this.value);\n });\n }\n }\n}\n","<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","import { CommonModule } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { WindowRef } from '@kirbydesign/designsystem/types';\nimport { IconModule } from '@kirbydesign/designsystem/icon';\nimport { BadgeComponent } from '@kirbydesign/designsystem/badge';\nimport { LocalNavigationItem } from './page-local-navigation-item';\n\n@Component({\n standalone: true,\n imports: [BadgeComponent, IconModule, CommonModule],\n selector: 'kirby-page-local-navigation',\n templateUrl: './page-local-navigation.component.html',\n styleUrls: ['./page-local-navigation.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PageLocalNavigationComponent implements AfterViewInit {\n private readonly DEBOUNCE_TIME_MS = 250;\n\n @Input() items: LocalNavigationItem[] = [];\n @Input() selectedIndex = 0;\n\n @Output() selectedIndexChange = new EventEmitter<number>();\n\n @ViewChild('tabBar') tabBarElementRef?: ElementRef<HTMLElement>;\n private get tabBarNativeElement(): HTMLElement | undefined {\n return this.tabBarElementRef?.nativeElement;\n }\n\n constructor(private window: WindowRef) {\n console.warn(\n 'Kirby Local Navigation is deprecated, and will be removed in Kirby v10. It is replaced by Kirby Tab Navigation with identical functionality, but with more flexibility and an improved API.'\n );\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.scrollToSelectedTab(this.selectedIndex);\n }, this.DEBOUNCE_TIME_MS);\n }\n\n onTabChange(index: number): void {\n if (this.selectedIndex !== index) {\n this.selectedIndex = index;\n this.scrollToSelectedTab(index);\n this.selectedIndexChange.emit(index);\n }\n }\n\n private getSelectedItemElement(index: number): HTMLElement | undefined {\n const tabBarElement = this.tabBarNativeElement;\n\n if (tabBarElement) {\n return tabBarElement.children.item(index) as HTMLElement;\n }\n }\n\n focusNext(index: number): void {\n const tabBarElement = this.tabBarNativeElement;\n if (tabBarElement) {\n const next = tabBarElement.children.item(index) as HTMLElement;\n next?.focus({ preventScroll: false });\n }\n }\n\n private scrollToSelectedTab(index: number): void {\n const tabBarElement = this.tabBarNativeElement;\n const selectedTabElement = this.getSelectedItemElement(index);\n\n if (tabBarElement && selectedTabElement) {\n const selectedTabElementWidth = selectedTabElement.getBoundingClientRect().width;\n const selectedTabElementOffsetLeft = selectedTabElement.offsetLeft;\n const tabBarElementWidth = tabBarElement.getBoundingClientRect().width;\n\n this.window.nativeWindow.requestAnimationFrame(() => {\n tabBarElement?.scrollTo({\n behavior: 'smooth',\n left: Math.max(\n 0,\n selectedTabElementOffsetLeft - (tabBarElementWidth - selectedTabElementWidth) / 2\n ),\n });\n });\n }\n }\n}\n","<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","/* prettier-ignore */\nexport { SegmentedControlComponent, SegmentedControlMode} from './segmented-control/segmented-control.component'; // See issue #1555 for prettier-ignore explanation\nexport { SegmentItem } from './segmented-control/segment-item';\n\nexport * from './page-local-navigation';\n","import { Directive, ElementRef, HostListener } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: `[keyHandler]`,\n})\nexport class KeyHandlerDirective {\n constructor(private element: ElementRef) {}\n\n @HostListener('keyup', ['$event'])\n keyEvent(event: KeyboardEvent) {\n if (event.key === ' ' || event.key === 'Enter' || event.key === 'Spacebar') {\n // Prevent the default action to stop scrolling when space is pressed\n event.preventDefault();\n\n const hostElement = <HTMLElement>this.element.nativeElement;\n hostElement.click();\n }\n }\n}\n","import { Directive, ElementRef, HostListener, Input, OnInit } from '@angular/core';\nimport { Params } from '@angular/router';\nimport { AlertConfig, ModalNavigationService } from '@kirbydesign/designsystem/modal';\n\n@Directive({\n selector: `[kirbyModalRouterLink]`,\n})\nexport class ModalRouterLinkDirective implements OnInit {\n constructor(\n private modalNavigationService: ModalNavigationService,\n private elementRef: ElementRef\n ) {}\n\n ngOnInit(): void {\n this.elementRef.nativeElement.setAttribute('modal-router-link', '');\n }\n\n @Input('kirbyModalRouterLink') path: string | string[];\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('kirbyModalQueryParams') queryParams?: Params;\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('kirbyAlertConfig') alertConfig?: AlertConfig;\n\n @HostListener('click')\n onClick(): boolean {\n this.modalNavigationService.navigateToModal(\n this.path,\n typeof this.queryParams !== 'string' ? this.queryParams : null,\n this.alertConfig || null\n );\n return false;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { Inject, InjectionToken, ModuleWithProviders, NgModule, Optional } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { CardModule } from '@kirbydesign/designsystem/card';\nimport { IconModule } from '@kirbydesign/designsystem/icon';\nimport { KirbyIonicModule } from '@kirbydesign/designsystem/kirby-ionic-module';\nimport {\n ComponentLoaderDirective,\n ResizeObserverFactory,\n ResizeObserverService,\n ThemeColorDirective,\n} from '@kirbydesign/designsystem/shared';\nimport { FlagComponent } from '@kirbydesign/designsystem/flag';\nimport { SpinnerModule } from '@kirbydesign/designsystem/spinner';\nimport { ToggleComponent } from '@kirbydesign/designsystem/toggle';\nimport { SectionHeaderComponent } from '@kirbydesign/designsystem/section-header';\nimport { ItemModule } from '@kirbydesign/designsystem/item';\nimport { SlideModule } from '@kirbydesign/designsystem/slide';\nimport { ToggleButtonModule } from '@kirbydesign/designsystem/toggle-button';\nimport { TabsModule } from '@kirbydesign/designsystem/tabs';\nimport { SlideButtonComponent } from '@kirbydesign/designsystem/slide-button';\nimport { RangeComponent } from '@kirbydesign/designsystem/range';\nimport { PopoverComponent } from '@kirbydesign/designsystem/popover';\nimport {\n LoadingOverlayComponent,\n LoadingOverlayService,\n} from '@kirbydesign/designsystem/loading-overlay';\nimport { DividerComponent } from '@kirbydesign/designsystem/divider';\nimport { CheckboxComponent } from '@kirbydesign/designsystem/checkbox';\nimport { AccordionModule } from '@kirbydesign/designsystem/accordion';\nimport { ItemSlidingComponent } from '@kirbydesign/designsystem/item-sliding';\nimport { ListModule } from '@kirbydesign/designsystem/list';\nimport { RadioModule } from '@kirbydesign/designsystem/radio';\nimport {\n AffixDirective,\n FormFieldModule,\n InputComponent,\n TextareaComponent,\n} from '@kirbydesign/designsystem/form-field';\nimport { AvatarComponent } from '@kirbydesign/designsystem/avatar';\nimport {\n ProgressCircleComponent,\n ProgressCircleRingComponent,\n} from '@kirbydesign/designsystem/progress-circle';\nimport { RouterOutletModule } from '@kirbydesign/designsystem/router-outlet';\n\nimport { ItemGroupComponent } from '@kirbydesign/designsystem/item-group';\nimport { ButtonComponent } from '@kirbydesign/designsystem/button';\nimport { CalendarComponent } from '@kirbydesign/designsystem/calendar';\nimport {\n ActionSheetComponent,\n ActionSheetHelper,\n AlertComponent,\n AlertHelper,\n CanDismissHelper,\n ModalCompactWrapperComponent,\n ModalController,\n ModalFooterComponent,\n ModalHelper,\n ModalWrapperComponent,\n} from '@kirbydesign/designsystem/modal';\nimport { ModalComponent } from '@kirbydesign/designsystem/modal';\nimport { KirbyModalModule } from '@kirbydesign/designsystem/modal/v2';\nimport { PageModule } from '@kirbydesign/designsystem/page';\nimport { HeaderModule } from '@kirbydesign/designsystem/header';\nimport { EmptyStateModule } from '@kirbydesign/designsystem/empty-state';\nimport { DropdownModule } from '@kirbydesign/designsystem/dropdown';\nimport { KirbyAppModule } from '@kirbydesign/designsystem/kirby-app';\nimport { ChartsModule } from '@kirbydesign/designsystem/chart';\nimport { FabSheetComponent } from '@kirbydesign/designsystem/fab-sheet';\nimport { DataTableModule } from '@kirbydesign/designsystem/data-table';\nimport { ReorderListComponent } from '@kirbydesign/designsystem/reorder-list';\n\nimport { ToastController, ToastHelper } from '@kirbydesign/designsystem/toast';\nimport { ActionGroupComponent } from '@kirbydesign/designsystem/action-group';\nimport { MenuComponent } from '@kirbydesign/designsystem/menu';\nimport { TabNavigationModule } from '@kirbydesign/designsystem/tab-navigation';\nimport { BadgeComponent } from '@kirbydesign/designsystem/badge';\nimport { SegmentedControlComponent } from './components/segmented-control/segmented-control.component';\nimport { KeyHandlerDirective } from './directives/key-handler/key-handler.directive';\nimport { ModalRouterLinkDirective } from './directives/modal-router-link/modal-router-link.directive';\n\nconst exportedDeclarations = [ModalRouterLinkDirective];\n\nconst declarations = [...exportedDeclarations, KeyHandlerDirective];\n\nconst standaloneComponents = [\n ActionGroupComponent,\n ItemGroupComponent,\n ModalCompactWrapperComponent,\n TextareaComponent,\n InputComponent,\n AffixDirective,\n DividerComponent,\n ThemeColorDirective,\n SegmentedControlComponent,\n AlertComponent,\n PopoverComponent,\n ProgressCircleRingComponent,\n ModalWrapperComponent,\n SectionHeaderComponent,\n RangeComponent,\n ItemSlidingComponent,\n ProgressCircleComponent,\n ReorderListComponent,\n LoadingOverlayComponent,\n FabSheetComponent,\n ToggleComponent,\n SlideButtonComponent,\n SegmentedControlComponent,\n CheckboxComponent,\n MenuComponent,\n ActionSheetComponent,\n ModalFooterComponent,\n AvatarComponent,\n CalendarComponent,\n ButtonComponent,\n ComponentLoaderDirective,\n FlagComponent,\n BadgeComponent,\n ModalComponent,\n];\nconst exportedModules = [\n KirbyAppModule,\n RouterOutletModule,\n PageModule,\n HeaderModule,\n TabNavigationModule,\n TabsModule,\n IconModule,\n ItemModule,\n ToggleButtonModule,\n ListModule,\n ChartsModule,\n SpinnerModule,\n DataTableModule,\n CardModule,\n RadioModule,\n EmptyStateModule,\n DropdownModule,\n FormFieldModule,\n SlideModule,\n AccordionModule,\n HeaderModule,\n KirbyModalModule,\n ...standaloneComponents,\n];\n\nconst allExports = [...exportedModules, ...exportedDeclarations];\n\nconst importedModules = [...exportedModules];\n\nconst providers = [\n ModalController,\n ActionSheetHelper,\n ModalHelper,\n AlertHelper,\n ToastHelper,\n ToastController,\n LoadingOverlayService,\n ResizeObserverFactory,\n ResizeObserverService,\n CanDismissHelper,\n];\n\nconst ConfigToken = new InjectionToken<unknown>('USERCONFIG');\nexport interface KirbyConfig {\n moduleRootRoutePath?: string;\n}\n\n@NgModule({\n imports: [CommonModule, RouterModule, KirbyIonicModule, ...importedModules],\n declarations: [declarations],\n providers: providers,\n exports: [allExports],\n})\nexport class KirbyModule {\n static forChild(config?: KirbyConfig): ModuleWithProviders<KirbyModule> {\n return {\n ngModule: KirbyModule,\n providers: [\n {\n provide: ConfigToken,\n useValue: config,\n },\n ],\n };\n }\n\n constructor(\n modalController: ModalController,\n @Optional() @Inject(ConfigToken) config?: KirbyConfig\n ) {\n modalController.initialize(config && config.moduleRootRoutePath);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { PageLocalNavigationComponent } from './components';\nimport { KirbyModule } from './kirby.module';\n\nconst COMPONENT_DECLARATIONS = [PageLocalNavigationComponent];\nexport { StockChartConfig, BarChartConfig } from '@kirbydesign/designsystem/chart';\n\n/**\n * This module contains experimental components, that should not be used in a production environment.\n * @see KirbyModule\n */\n@NgModule({\n imports: [CommonModule, KirbyModule, PageLocalNavigationComponent],\n exports: COMPONENT_DECLARATIONS,\n})\nexport class KirbyExperimentalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i1"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { AfterContentInit, ElementRef, EventEmitter, Injector, OnInit, TemplateRef } from '@angular/core';
1
+ import { AfterContentInit, ElementRef, EventEmitter, Injector, OnChanges, OnInit, SimpleChanges, TemplateRef } from '@angular/core';
2
+ import { Subject } from 'rxjs';
2
3
  import { AvatarComponent } from '@kirbydesign/designsystem/avatar';
3
4
  import { FlagComponent } from '@kirbydesign/designsystem/flag';
4
5
  import { ProgressCircleComponent } from '@kirbydesign/designsystem/progress-circle';
@@ -20,7 +21,7 @@ export declare class HeaderCustomFlagDirective {
20
21
  static ɵfac: i0.ɵɵFactoryDeclaration<HeaderCustomFlagDirective, never>;
21
22
  static ɵdir: i0.ɵɵDirectiveDeclaration<HeaderCustomFlagDirective, "[kirbyHeaderCustomFlag]", never, {}, {}, never, never, false, never>;
22
23
  }
23
- export declare class HeaderComponent implements AfterContentInit, OnInit {
24
+ export declare class HeaderComponent implements AfterContentInit, OnChanges, OnInit {
24
25
  private injector;
25
26
  centered?: boolean;
26
27
  titleMaxLines: number;
@@ -42,6 +43,7 @@ export declare class HeaderComponent implements AfterContentInit, OnInit {
42
43
  subtitle2?: string | string[] | null;
43
44
  hasInteractiveTitle?: boolean;
44
45
  titleClick: EventEmitter<PointerEvent>;
46
+ title$: Subject<string>;
45
47
  get _subtitles1(): string[];
46
48
  get _subtitles2(): string[];
47
49
  onTitleClick(event: PointerEvent): void;
@@ -50,6 +52,7 @@ export declare class HeaderComponent implements AfterContentInit, OnInit {
50
52
  constructor(injector: Injector);
51
53
  ngOnInit(): void;
52
54
  ngAfterContentInit(): void;
55
+ ngOnChanges(changes: SimpleChanges): void;
53
56
  static ɵfac: i0.ɵɵFactoryDeclaration<HeaderComponent, never>;
54
57
  static ɵcmp: i0.ɵɵComponentDeclaration<HeaderComponent, "kirby-header", never, { "centered": { "alias": "centered"; "required": false; }; "titleMaxLines": { "alias": "titleMaxLines"; "required": false; }; "emphasizeActions": { "alias": "emphasizeActions"; "required": false; }; "title": { "alias": "title"; "required": false; }; "value": { "alias": "value"; "required": false; }; "valueUnit": { "alias": "valueUnit"; "required": false; }; "subtitle1": { "alias": "subtitle1"; "required": false; }; "subtitle2": { "alias": "subtitle2"; "required": false; }; "hasInteractiveTitle": { "alias": "hasInteractiveTitle"; "required": false; }; }, { "titleClick": "titleClick"; }, ["avatar", "progressCircle", "flag", "actionsTemplate", "customSectionTemplate", "customFlagTemplate", "titleActionIconTemplate"], ["kirby-avatar,kirby-progress-circle", "kirby-flag"], false, never>;
55
58
  }
@@ -2,16 +2,12 @@ import { ThemeColor } from '@kirbydesign/core';
2
2
  type SegmentItemBadge = {
3
3
  content?: string;
4
4
  icon?: string;
5
- isCustomIcon?: boolean;
6
5
  description?: string;
7
6
  themeColor: ThemeColor;
8
7
  };
9
8
  export interface SegmentItem {
10
9
  id: string;
11
10
  text: string;
12
- badge?: Omit<SegmentItemBadge, 'isCustomIcon'>;
13
- }
14
- export interface SegmentItemInternal extends SegmentItem {
15
11
  badge?: SegmentItemBadge;
16
12
  }
17
13
  export {};
@@ -1,15 +1,14 @@
1
1
  import { EventEmitter } from '@angular/core';
2
- import { IconRegistryService } from '@kirbydesign/designsystem/icon';
3
- import { SegmentItem, SegmentItemInternal } from './segment-item';
2
+ import { SegmentItem } from './segment-item';
4
3
  import * as i0 from "@angular/core";
5
4
  export declare enum SegmentedControlMode {
6
5
  chip = "chip",
7
6
  compactChip = "compactChip",
8
7
  default = "default"
9
8
  }
10
- export declare class SegmentedControlComponent {
11
- private iconRegistryService;
12
- constructor(iconRegistryService: IconRegistryService);
9
+ type NoInfer<T> = [T][T extends any ? 0 : never];
10
+ export declare class SegmentedControlComponent<TItem extends SegmentItem = SegmentItem> {
11
+ private ionSegmentElement;
13
12
  /**
14
13
  * Ensure that the click actually did originate from within the segment-button.
15
14
  * We do not want to react to clicks on e.g. segment-btn-wrapper or badge.
@@ -18,22 +17,33 @@ export declare class SegmentedControlComponent {
18
17
  mode: SegmentedControlMode | `${SegmentedControlMode}`;
19
18
  get _modeCssClass(): string;
20
19
  private _items;
21
- get items(): SegmentItemInternal[];
22
- set items(value: SegmentItem[]);
20
+ get items(): TItem[];
21
+ set items(value: TItem[]);
22
+ /**
23
+ * After upgrading to Ionic standalone components (Ionic v.7.6.6)
24
+ * there is a lifecycle bug between Angular/Ionic/Stencil that prevents
25
+ * the value of the segment component to be reflected in the checked state
26
+ * of it's slotted segment buttons.
27
+ * This has been patched here: https://github.com/ionic-team/ionic-framework/pull/28837
28
+ * However the patch doesn't fix the problem if `items` are updated after first initialization
29
+ * and the ion-segment-button(s) are re-rerendered.
30
+ */
31
+ private ensureIonSegmentSelected;
23
32
  private _selectedIndex;
24
33
  get selectedIndex(): number;
25
34
  set selectedIndex(index: number);
26
35
  selectedIndexChange: EventEmitter<number>;
27
36
  private _value;
28
- get value(): SegmentItem;
29
- set value(value: SegmentItem);
37
+ get value(): NoInfer<TItem>;
38
+ set value(value: NoInfer<TItem>);
30
39
  isSmallSize: boolean;
31
40
  set size(size: 'sm' | 'md');
32
41
  private _disableChangeOnSwipe;
33
42
  get disableChangeOnSwipe(): boolean;
34
43
  set disableChangeOnSwipe(value: boolean);
35
- segmentSelect: EventEmitter<SegmentItem>;
44
+ segmentSelect: EventEmitter<TItem>;
36
45
  onSegmentSelect(selectedId: string): void;
37
- static ɵfac: i0.ɵɵFactoryDeclaration<SegmentedControlComponent, never>;
38
- static ɵcmp: i0.ɵɵComponentDeclaration<SegmentedControlComponent, "kirby-segmented-control", never, { "mode": { "alias": "mode"; "required": false; }; "items": { "alias": "items"; "required": false; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "value": { "alias": "value"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disableChangeOnSwipe": { "alias": "disableChangeOnSwipe"; "required": false; }; }, { "selectedIndexChange": "selectedIndexChange"; "segmentSelect": "segmentSelect"; }, never, never, true, never>;
46
+ static ɵfac: i0.ɵɵFactoryDeclaration<SegmentedControlComponent<any>, never>;
47
+ static ɵcmp: i0.ɵɵComponentDeclaration<SegmentedControlComponent<any>, "kirby-segmented-control", never, { "mode": { "alias": "mode"; "required": false; }; "items": { "alias": "items"; "required": false; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; }; "value": { "alias": "value"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disableChangeOnSwipe": { "alias": "disableChangeOnSwipe"; "required": false; }; }, { "selectedIndexChange": "selectedIndexChange"; "segmentSelect": "segmentSelect"; }, never, never, true, never>;
39
48
  }
49
+ export {};
@@ -13,6 +13,6 @@ import * as i11 from "@kirbydesign/designsystem/spinner";
13
13
  import * as i12 from "@ionic/angular/standalone";
14
14
  export declare class ListModule {
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<ListModule, never>;
16
- static ɵmod: i0.ɵɵNgModuleDeclaration<ListModule, [typeof i1.ListComponent, typeof i2.ListItemComponent, typeof i3.ListItemTemplateDirective, typeof i4.ListSectionHeaderComponent, typeof i3.ListSectionHeaderDirective, typeof i3.ListHeaderDirective, typeof i5.ListHeaderComponent, typeof i3.ListFooterDirective, typeof i6.ListExperimentalComponent, typeof i7.ListItemColorDirective, typeof i8.InfiniteScrollDirective, typeof i2.ListItemComponent], [typeof i9.CommonModule, typeof i10.IconModule, typeof i11.SpinnerModule, typeof i12.IonItemSliding, typeof i12.IonLabel, typeof i12.IonItemOptions, typeof i12.IonItemDivider, typeof i12.IonListHeader], [typeof i1.ListComponent, typeof i2.ListItemComponent, typeof i3.ListItemTemplateDirective, typeof i4.ListSectionHeaderComponent, typeof i3.ListSectionHeaderDirective, typeof i3.ListHeaderDirective, typeof i5.ListHeaderComponent, typeof i3.ListFooterDirective, typeof i6.ListExperimentalComponent]>;
16
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ListModule, [typeof i1.ListComponent, typeof i2.ListItemComponent, typeof i3.ListItemTemplateDirective, typeof i4.ListSectionHeaderComponent, typeof i3.ListSectionHeaderDirective, typeof i3.ListHeaderDirective, typeof i5.ListHeaderComponent, typeof i3.ListFooterDirective, typeof i6.ListExperimentalComponent, typeof i7.ListItemColorDirective, typeof i8.InfiniteScrollDirective, typeof i2.ListItemComponent], [typeof i9.CommonModule, typeof i10.IconModule, typeof i11.SpinnerModule, typeof i12.IonItemDivider, typeof i12.IonItemGroup, typeof i12.IonItemOptions, typeof i12.IonItemSliding, typeof i12.IonLabel, typeof i12.IonList, typeof i12.IonListHeader], [typeof i1.ListComponent, typeof i2.ListItemComponent, typeof i3.ListItemTemplateDirective, typeof i4.ListSectionHeaderComponent, typeof i3.ListSectionHeaderDirective, typeof i3.ListHeaderDirective, typeof i5.ListHeaderComponent, typeof i3.ListFooterDirective, typeof i6.ListExperimentalComponent]>;
17
17
  static ɵinj: i0.ɵɵInjectorDeclaration<ListModule>;
18
18
  }
@@ -5,7 +5,7 @@ export declare class ModalFooterComponent extends ModalElementComponent {
5
5
  snapToKeyboard: boolean;
6
6
  type: 'inline' | 'fixed';
7
7
  themeColor: 'white' | 'light';
8
- get _cssClass(): ("light" | "white" | "fixed" | "inline")[];
8
+ get _cssClass(): ("light" | "white" | "inline" | "fixed")[];
9
9
  constructor(elementRef: ElementRef<HTMLElement>, modalElementsAdvertiser: ModalElementsAdvertiser);
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<ModalFooterComponent, [null, { optional: true; }]>;
11
11
  static ɵcmp: i0.ɵɵComponentDeclaration<ModalFooterComponent, "kirby-modal-footer", never, { "snapToKeyboard": { "alias": "snapToKeyboard"; "required": false; }; "type": { "alias": "type"; "required": false; }; "themeColor": { "alias": "themeColor"; "required": false; }; }, {}, never, ["*"], true, never>;