@kirbydesign/designsystem 10.0.0 → 10.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/accordion/accordion-item.component.d.ts +7 -3
  2. package/badge/badge.component.d.ts +7 -1
  3. package/checkbox/checkbox.component.d.ts +5 -2
  4. package/esm2022/accordion/accordion-item.component.mjs +24 -7
  5. package/esm2022/accordion/accordion.directive.mjs +3 -3
  6. package/esm2022/accordion/accordion.module.mjs +4 -4
  7. package/esm2022/action-group/action-group.component.mjs +3 -3
  8. package/esm2022/avatar/avatar.component.mjs +3 -3
  9. package/esm2022/badge/badge.component.mjs +16 -4
  10. package/esm2022/button/button.component.mjs +5 -5
  11. package/esm2022/calendar/calendar.component.mjs +4 -4
  12. package/esm2022/calendar/helpers/calendar.helper.mjs +3 -3
  13. package/esm2022/card/card-as-button/card-as-button.directive.mjs +3 -3
  14. package/esm2022/card/card-footer/card-footer.component.mjs +3 -3
  15. package/esm2022/card/card-header/card-header.component.mjs +3 -3
  16. package/esm2022/card/card.component.mjs +4 -4
  17. package/esm2022/card/card.module.mjs +4 -4
  18. package/esm2022/chart/chart/chart.component.mjs +3 -3
  19. package/esm2022/chart/charts.module.mjs +4 -4
  20. package/esm2022/chart/shared/base-chart/base-chart.component.mjs +3 -3
  21. package/esm2022/chart/shared/chart-config-service/chart-config.service.mjs +3 -3
  22. package/esm2022/chart/shared/chart-js-service/chart-js.service.mjs +3 -3
  23. package/esm2022/chart/stock-chart/stock-chart-js.service.mjs +3 -3
  24. package/esm2022/chart/stock-chart/stock-chart.component.mjs +3 -3
  25. package/esm2022/checkbox/checkbox.component.mjs +26 -7
  26. package/esm2022/data-table/data-table.module.mjs +4 -4
  27. package/esm2022/data-table/sortable/sortable.component.mjs +3 -3
  28. package/esm2022/divider/divider.component.mjs +3 -3
  29. package/esm2022/dropdown/dropdown.component.mjs +5 -5
  30. package/esm2022/dropdown/dropdown.module.mjs +4 -4
  31. package/esm2022/dropdown/keyboard-handler.service.mjs +3 -3
  32. package/esm2022/empty-state/empty-state.component.mjs +3 -3
  33. package/esm2022/empty-state/empty-state.module.mjs +4 -4
  34. package/esm2022/fab-sheet/fab-sheet.component.mjs +4 -4
  35. package/esm2022/flag/flag.component.mjs +3 -3
  36. package/esm2022/form-field/directives/affix/affix.directive.mjs +3 -3
  37. package/esm2022/form-field/directives/date/date-input.directive.mjs +3 -3
  38. package/esm2022/form-field/directives/decimal-mask/decimal-mask.directive.mjs +3 -3
  39. package/esm2022/form-field/form-field-message/form-field-message.component.mjs +3 -3
  40. package/esm2022/form-field/form-field.component.mjs +3 -3
  41. package/esm2022/form-field/form-field.module.mjs +4 -4
  42. package/esm2022/form-field/input/input.component.mjs +4 -4
  43. package/esm2022/form-field/input-counter/input-counter.component.mjs +3 -3
  44. package/esm2022/form-field/textarea/textarea.component.mjs +4 -4
  45. package/esm2022/header/header.component.mjs +15 -15
  46. package/esm2022/header/header.module.mjs +4 -4
  47. package/esm2022/helpers/ionic-element-part-helper.mjs +3 -3
  48. package/esm2022/helpers/line-clamp-helper.mjs +3 -3
  49. package/esm2022/helpers/platform.service.mjs +3 -3
  50. package/esm2022/icon/icon-registry.service.mjs +24 -8
  51. package/esm2022/icon/icon.component.mjs +3 -3
  52. package/esm2022/icon/icon.module.mjs +4 -4
  53. package/esm2022/icon/kirby-icon-settings.mjs +126 -115
  54. package/esm2022/item/item.component.mjs +8 -28
  55. package/esm2022/item/item.module.mjs +4 -4
  56. package/esm2022/item/label/label.component.mjs +3 -3
  57. package/esm2022/item-group/item-group.component.mjs +3 -3
  58. package/esm2022/item-sliding/item-sliding.component.mjs +3 -3
  59. package/esm2022/kirby-app/kirby-app.component.mjs +3 -3
  60. package/esm2022/kirby-app/kirby-app.module.mjs +4 -4
  61. package/esm2022/kirby-ionic-module/kirby-ionic.module.mjs +4 -4
  62. package/esm2022/lib/components/segmented-control/segmented-control.component.mjs +5 -5
  63. package/esm2022/lib/directives/key-handler/key-handler.directive.mjs +3 -3
  64. package/esm2022/lib/directives/modal-router-link/modal-router-link.directive.mjs +3 -3
  65. package/esm2022/lib/kirby.module.mjs +4 -4
  66. package/esm2022/list/directives/infinite-scroll.directive.mjs +3 -3
  67. package/esm2022/list/directives/list-item-color.directive.mjs +3 -3
  68. package/esm2022/list/helpers/list-helper.mjs +3 -3
  69. package/esm2022/list/list-experimental/list-experimental.component.mjs +3 -3
  70. package/esm2022/list/list-header/list-header.component.mjs +3 -3
  71. package/esm2022/list/list-item/list-item.component.mjs +3 -3
  72. package/esm2022/list/list-section-header/list-section-header.component.mjs +3 -3
  73. package/esm2022/list/list.component.mjs +3 -3
  74. package/esm2022/list/list.directive.mjs +12 -12
  75. package/esm2022/list/list.module.mjs +4 -4
  76. package/esm2022/loading-overlay/loading-overlay.component.mjs +3 -3
  77. package/esm2022/loading-overlay/loading-overlay.service.mjs +3 -3
  78. package/esm2022/menu/menu.component.mjs +3 -3
  79. package/esm2022/modal/modal/action-sheet/action-sheet.component.mjs +5 -5
  80. package/esm2022/modal/modal/alert/alert.component.mjs +3 -3
  81. package/esm2022/modal/modal/footer/modal-footer.component.mjs +3 -3
  82. package/esm2022/modal/modal/modal-component/modal.component.mjs +3 -3
  83. package/esm2022/modal/modal/services/action-sheet.helper.mjs +3 -3
  84. package/esm2022/modal/modal/services/alert.helper.mjs +3 -3
  85. package/esm2022/modal/modal/services/can-dismiss.helper.mjs +3 -3
  86. package/esm2022/modal/modal/services/modal-animation-builder.service.mjs +3 -3
  87. package/esm2022/modal/modal/services/modal.controller.mjs +3 -3
  88. package/esm2022/modal/modal/services/modal.helper.mjs +3 -3
  89. package/esm2022/modal/modal-navigation.service.mjs +3 -3
  90. package/esm2022/modal/modal-wrapper/compact/modal-compact-wrapper.component.mjs +3 -3
  91. package/esm2022/modal/modal-wrapper/modal-wrapper.component.mjs +3 -3
  92. package/esm2022/modal/modal.interfaces.mjs +3 -3
  93. package/esm2022/page/page-footer/page-footer.component.mjs +3 -3
  94. package/esm2022/page/page.component.mjs +34 -34
  95. package/esm2022/page/page.module.mjs +4 -4
  96. package/esm2022/popover/popover.component.mjs +3 -3
  97. package/esm2022/progress-circle/progress-circle-ring.component.mjs +3 -3
  98. package/esm2022/progress-circle/progress-circle.component.mjs +3 -3
  99. package/esm2022/radio/radio-group/radio-group.component.mjs +3 -3
  100. package/esm2022/radio/radio-module.mjs +4 -4
  101. package/esm2022/radio/radio.component.mjs +25 -6
  102. package/esm2022/range/range.component.mjs +6 -6
  103. package/esm2022/reorder-list/reorder-list.component.mjs +3 -3
  104. package/esm2022/router-outlet/router-outlet.component.mjs +3 -3
  105. package/esm2022/router-outlet/router-outlet.module.mjs +4 -4
  106. package/esm2022/section-header/section-header.component.mjs +4 -4
  107. package/esm2022/shared/component-loader.directive.mjs +3 -3
  108. package/esm2022/shared/controls/label-helpers.mjs +23 -0
  109. package/esm2022/shared/fit-heading/fit-heading.directive.mjs +3 -3
  110. package/esm2022/shared/floating/floating.directive.mjs +3 -3
  111. package/esm2022/shared/portal/portal.directive.mjs +3 -3
  112. package/esm2022/shared/public_api.mjs +2 -1
  113. package/esm2022/shared/resize-observer/resize-observer.factory.mjs +3 -3
  114. package/esm2022/shared/resize-observer/resize-observer.service.mjs +3 -3
  115. package/esm2022/shared/theme-color/theme-color.directive.mjs +3 -3
  116. package/esm2022/slide/slide-stretch-height.directive.mjs +3 -3
  117. package/esm2022/slide/slide.directive.mjs +3 -3
  118. package/esm2022/slide/slide.module.mjs +4 -4
  119. package/esm2022/slide/slides.component.mjs +3 -3
  120. package/esm2022/slide-button/slide-button.component.mjs +70 -6
  121. package/esm2022/spinner/spinner.component.mjs +3 -3
  122. package/esm2022/spinner/spinner.module.mjs +4 -4
  123. package/esm2022/tab-navigation/tab-navigation/tab-navigation.component.mjs +4 -4
  124. package/esm2022/tab-navigation/tab-navigation-item/tab-navigation-item.component.mjs +3 -3
  125. package/esm2022/tab-navigation/tab-navigation.module.mjs +4 -4
  126. package/esm2022/tabs/tab-button/tab-button.component.mjs +4 -4
  127. package/esm2022/tabs/tabs.component.mjs +3 -3
  128. package/esm2022/tabs/tabs.module.mjs +4 -4
  129. package/esm2022/tabs/tabs.service.mjs +3 -3
  130. package/esm2022/testing/test-helper.mjs +4 -4
  131. package/esm2022/testing-base/lib/components/mock.accordion-item.component.mjs +3 -3
  132. package/esm2022/testing-base/lib/components/mock.action-group.component.mjs +3 -3
  133. package/esm2022/testing-base/lib/components/mock.action-sheet.component.mjs +3 -3
  134. package/esm2022/testing-base/lib/components/mock.alert.component.mjs +3 -3
  135. package/esm2022/testing-base/lib/components/mock.avatar.component.mjs +3 -3
  136. package/esm2022/testing-base/lib/components/mock.badge.component.mjs +3 -3
  137. package/esm2022/testing-base/lib/components/mock.base-chart.component.mjs +3 -3
  138. package/esm2022/testing-base/lib/components/mock.button.component.mjs +3 -3
  139. package/esm2022/testing-base/lib/components/mock.calendar.component.mjs +3 -3
  140. package/esm2022/testing-base/lib/components/mock.card-footer.component.mjs +3 -3
  141. package/esm2022/testing-base/lib/components/mock.card-header.component.mjs +3 -3
  142. package/esm2022/testing-base/lib/components/mock.card.component.mjs +3 -3
  143. package/esm2022/testing-base/lib/components/mock.chart.component.mjs +3 -3
  144. package/esm2022/testing-base/lib/components/mock.checkbox.component.mjs +3 -3
  145. package/esm2022/testing-base/lib/components/mock.divider.component.mjs +3 -3
  146. package/esm2022/testing-base/lib/components/mock.dropdown.component.mjs +3 -3
  147. package/esm2022/testing-base/lib/components/mock.empty-state.component.mjs +3 -3
  148. package/esm2022/testing-base/lib/components/mock.fab-sheet.component.mjs +3 -3
  149. package/esm2022/testing-base/lib/components/mock.flag.component.mjs +3 -3
  150. package/esm2022/testing-base/lib/components/mock.form-field-message.component.mjs +3 -3
  151. package/esm2022/testing-base/lib/components/mock.form-field.component.mjs +3 -3
  152. package/esm2022/testing-base/lib/components/mock.header.component.mjs +9 -9
  153. package/esm2022/testing-base/lib/components/mock.icon.component.mjs +3 -3
  154. package/esm2022/testing-base/lib/components/mock.input-counter.component.mjs +3 -3
  155. package/esm2022/testing-base/lib/components/mock.input.component.mjs +3 -3
  156. package/esm2022/testing-base/lib/components/mock.item-group.component.mjs +3 -3
  157. package/esm2022/testing-base/lib/components/mock.item-sliding.component.mjs +3 -3
  158. package/esm2022/testing-base/lib/components/mock.item.component.mjs +3 -3
  159. package/esm2022/testing-base/lib/components/mock.kirby-app.component.mjs +3 -3
  160. package/esm2022/testing-base/lib/components/mock.label.component.mjs +3 -3
  161. package/esm2022/testing-base/lib/components/mock.list-experimental.component.mjs +3 -3
  162. package/esm2022/testing-base/lib/components/mock.list-header.component.mjs +3 -3
  163. package/esm2022/testing-base/lib/components/mock.list-item.component.mjs +3 -3
  164. package/esm2022/testing-base/lib/components/mock.list-section-header.component.mjs +3 -3
  165. package/esm2022/testing-base/lib/components/mock.list.component.mjs +3 -3
  166. package/esm2022/testing-base/lib/components/mock.loading-overlay.component.mjs +3 -3
  167. package/esm2022/testing-base/lib/components/mock.menu.component.mjs +3 -3
  168. package/esm2022/testing-base/lib/components/mock.modal-compact-wrapper.component.mjs +3 -3
  169. package/esm2022/testing-base/lib/components/mock.modal-footer.component.mjs +3 -3
  170. package/esm2022/testing-base/lib/components/mock.modal-wrapper.component.mjs +3 -3
  171. package/esm2022/testing-base/lib/components/mock.page-footer.component.mjs +3 -3
  172. package/esm2022/testing-base/lib/components/mock.page.component.mjs +33 -33
  173. package/esm2022/testing-base/lib/components/mock.popover.component.mjs +3 -3
  174. package/esm2022/testing-base/lib/components/mock.progress-circle-ring.component.mjs +3 -3
  175. package/esm2022/testing-base/lib/components/mock.progress-circle.component.mjs +3 -3
  176. package/esm2022/testing-base/lib/components/mock.radio-group.component.mjs +3 -3
  177. package/esm2022/testing-base/lib/components/mock.radio.component.mjs +3 -3
  178. package/esm2022/testing-base/lib/components/mock.range.component.mjs +3 -3
  179. package/esm2022/testing-base/lib/components/mock.reorder-list.component.mjs +3 -3
  180. package/esm2022/testing-base/lib/components/mock.router-outlet.component.mjs +3 -3
  181. package/esm2022/testing-base/lib/components/mock.section-header.component.mjs +3 -3
  182. package/esm2022/testing-base/lib/components/mock.segmented-control.component.mjs +3 -3
  183. package/esm2022/testing-base/lib/components/mock.slide-button.component.mjs +3 -3
  184. package/esm2022/testing-base/lib/components/mock.slides.component.mjs +3 -3
  185. package/esm2022/testing-base/lib/components/mock.spinner.component.mjs +3 -3
  186. package/esm2022/testing-base/lib/components/mock.stock-chart.component.mjs +3 -3
  187. package/esm2022/testing-base/lib/components/mock.tab-button.component.mjs +3 -3
  188. package/esm2022/testing-base/lib/components/mock.tab-navigation-item.component.mjs +3 -3
  189. package/esm2022/testing-base/lib/components/mock.tab-navigation.component.mjs +3 -3
  190. package/esm2022/testing-base/lib/components/mock.tabs.component.mjs +3 -3
  191. package/esm2022/testing-base/lib/components/mock.textarea.component.mjs +3 -3
  192. package/esm2022/testing-base/lib/components/mock.toggle-button.component.mjs +3 -3
  193. package/esm2022/testing-base/lib/components/mock.toggle.component.mjs +3 -3
  194. package/esm2022/testing-base/lib/directives/mock.accordion.directive.mjs +3 -3
  195. package/esm2022/testing-base/lib/directives/mock.affix.directive.mjs +3 -3
  196. package/esm2022/testing-base/lib/directives/mock.card-as-button.directive.mjs +3 -3
  197. package/esm2022/testing-base/lib/directives/mock.component-loader.directive.mjs +3 -3
  198. package/esm2022/testing-base/lib/directives/mock.date-input.directive.mjs +3 -3
  199. package/esm2022/testing-base/lib/directives/mock.decimal-mask.directive.mjs +3 -3
  200. package/esm2022/testing-base/lib/directives/mock.fit-heading.directive.mjs +3 -3
  201. package/esm2022/testing-base/lib/directives/mock.floating.directive.mjs +3 -3
  202. package/esm2022/testing-base/lib/directives/mock.infinite-scroll.directive.mjs +3 -3
  203. package/esm2022/testing-base/lib/directives/mock.key-handler.directive.mjs +3 -3
  204. package/esm2022/testing-base/lib/directives/mock.list-item-color.directive.mjs +3 -3
  205. package/esm2022/testing-base/lib/directives/mock.list.directive.mjs +12 -12
  206. package/esm2022/testing-base/lib/directives/mock.modal-router-link.directive.mjs +3 -3
  207. package/esm2022/testing-base/lib/directives/mock.portal.directive.mjs +3 -3
  208. package/esm2022/testing-base/lib/directives/mock.slide.directive.mjs +3 -3
  209. package/esm2022/testing-base/lib/directives/mock.theme-color.directive.mjs +3 -3
  210. package/esm2022/testing-base/lib/kirby-testing-base.module.mjs +4 -4
  211. package/esm2022/testing-jasmine/lib/kirby-testing.module.mjs +4 -4
  212. package/esm2022/testing-jest/lib/kirby-testing.module.mjs +4 -4
  213. package/esm2022/toast/services/toast.controller.mjs +3 -3
  214. package/esm2022/toast/services/toast.helper.mjs +3 -3
  215. package/esm2022/toggle/toggle.component.mjs +6 -6
  216. package/esm2022/toggle-button/toggle-button.component.mjs +11 -7
  217. package/esm2022/toggle-button/toggle-button.module.mjs +4 -4
  218. package/esm2022/types/window-ref.mjs +3 -3
  219. package/fesm2022/kirbydesign-designsystem-accordion.mjs +30 -13
  220. package/fesm2022/kirbydesign-designsystem-accordion.mjs.map +1 -1
  221. package/fesm2022/kirbydesign-designsystem-action-group.mjs +3 -3
  222. package/fesm2022/kirbydesign-designsystem-avatar.mjs +3 -3
  223. package/fesm2022/kirbydesign-designsystem-badge.mjs +15 -3
  224. package/fesm2022/kirbydesign-designsystem-badge.mjs.map +1 -1
  225. package/fesm2022/kirbydesign-designsystem-button.mjs +4 -4
  226. package/fesm2022/kirbydesign-designsystem-button.mjs.map +1 -1
  227. package/fesm2022/kirbydesign-designsystem-calendar.mjs +7 -7
  228. package/fesm2022/kirbydesign-designsystem-card.mjs +17 -17
  229. package/fesm2022/kirbydesign-designsystem-card.mjs.map +1 -1
  230. package/fesm2022/kirbydesign-designsystem-chart.mjs +22 -22
  231. package/fesm2022/kirbydesign-designsystem-checkbox.mjs +25 -6
  232. package/fesm2022/kirbydesign-designsystem-checkbox.mjs.map +1 -1
  233. package/fesm2022/kirbydesign-designsystem-data-table.mjs +7 -7
  234. package/fesm2022/kirbydesign-designsystem-divider.mjs +3 -3
  235. package/fesm2022/kirbydesign-designsystem-dropdown.mjs +12 -12
  236. package/fesm2022/kirbydesign-designsystem-empty-state.mjs +7 -7
  237. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs +4 -4
  238. package/fesm2022/kirbydesign-designsystem-flag.mjs +3 -3
  239. package/fesm2022/kirbydesign-designsystem-form-field.mjs +30 -30
  240. package/fesm2022/kirbydesign-designsystem-header.mjs +19 -19
  241. package/fesm2022/kirbydesign-designsystem-helpers.mjs +9 -9
  242. package/fesm2022/kirbydesign-designsystem-icon.mjs +156 -129
  243. package/fesm2022/kirbydesign-designsystem-icon.mjs.map +1 -1
  244. package/fesm2022/kirbydesign-designsystem-item-group.mjs +3 -3
  245. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs +3 -3
  246. package/fesm2022/kirbydesign-designsystem-item.mjs +33 -52
  247. package/fesm2022/kirbydesign-designsystem-item.mjs.map +1 -1
  248. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs +7 -7
  249. package/fesm2022/kirbydesign-designsystem-kirby-ionic-module.mjs +4 -4
  250. package/fesm2022/kirbydesign-designsystem-list.mjs +40 -40
  251. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs +6 -6
  252. package/fesm2022/kirbydesign-designsystem-menu.mjs +3 -3
  253. package/fesm2022/kirbydesign-designsystem-modal.mjs +43 -43
  254. package/fesm2022/kirbydesign-designsystem-modal.mjs.map +1 -1
  255. package/fesm2022/kirbydesign-designsystem-page.mjs +41 -41
  256. package/fesm2022/kirbydesign-designsystem-page.mjs.map +1 -1
  257. package/fesm2022/kirbydesign-designsystem-popover.mjs +3 -3
  258. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs +6 -6
  259. package/fesm2022/kirbydesign-designsystem-radio.mjs +31 -12
  260. package/fesm2022/kirbydesign-designsystem-radio.mjs.map +1 -1
  261. package/fesm2022/kirbydesign-designsystem-range.mjs +5 -5
  262. package/fesm2022/kirbydesign-designsystem-range.mjs.map +1 -1
  263. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs +3 -3
  264. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs +7 -7
  265. package/fesm2022/kirbydesign-designsystem-section-header.mjs +4 -4
  266. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs +3 -3
  267. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs +3 -3
  268. package/fesm2022/kirbydesign-designsystem-shared.mjs +39 -16
  269. package/fesm2022/kirbydesign-designsystem-shared.mjs.map +1 -1
  270. package/fesm2022/kirbydesign-designsystem-slide-button.mjs +69 -5
  271. package/fesm2022/kirbydesign-designsystem-slide-button.mjs.map +1 -1
  272. package/fesm2022/kirbydesign-designsystem-slide.mjs +13 -13
  273. package/fesm2022/kirbydesign-designsystem-spinner.mjs +7 -7
  274. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs +11 -11
  275. package/fesm2022/kirbydesign-designsystem-tabs.mjs +14 -14
  276. package/fesm2022/kirbydesign-designsystem-tabs.mjs.map +1 -1
  277. package/fesm2022/kirbydesign-designsystem-testing-base.mjs +286 -286
  278. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs +4 -4
  279. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs +4 -4
  280. package/fesm2022/kirbydesign-designsystem-testing.mjs +4 -4
  281. package/fesm2022/kirbydesign-designsystem-toast.mjs +6 -6
  282. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs +14 -10
  283. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs.map +1 -1
  284. package/fesm2022/kirbydesign-designsystem-toggle.mjs +5 -5
  285. package/fesm2022/kirbydesign-designsystem-toggle.mjs.map +1 -1
  286. package/fesm2022/kirbydesign-designsystem-types.mjs +3 -3
  287. package/fesm2022/kirbydesign-designsystem.mjs +14 -14
  288. package/fesm2022/kirbydesign-designsystem.mjs.map +1 -1
  289. package/icon/icon-registry.service.d.ts +8 -1
  290. package/icons/svg/basket.svg +1 -0
  291. package/icons/svg/contract.svg +1 -0
  292. package/icons/svg/drag-drop.svg +1 -0
  293. package/icons/svg/expand.svg +1 -0
  294. package/icons/svg/flower.svg +1 -0
  295. package/icons/svg/house.svg +1 -0
  296. package/icons/svg/tractor.svg +1 -0
  297. package/item/item.component.d.ts +2 -8
  298. package/package.json +2 -2
  299. package/radio/radio.component.d.ts +5 -2
  300. package/readme.md +10 -0
  301. package/shared/controls/label-helpers.d.ts +3 -0
  302. package/shared/public_api.d.ts +1 -0
  303. package/slide-button/slide-button.component.d.ts +5 -0
  304. package/toggle-button/toggle-button.component.d.ts +1 -1
@@ -118,10 +118,10 @@ export class FormFieldComponent {
118
118
  this.resizeObserverService.unobserve(affix.el);
119
119
  });
120
120
  }
121
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FormFieldComponent, deps: [{ token: i0.ElementRef }, { token: i1.PlatformService }, { token: i0.Renderer2 }, { token: i2.WindowRef }, { token: i3.ResizeObserverService }], target: i0.ɵɵFactoryTarget.Component }); }
122
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: FormFieldComponent, selector: "kirby-form-field", inputs: { label: "label", message: "message" }, host: { listeners: { "kirbyRegisterFormField": "_onRegisterFormField()" } }, queries: [{ propertyName: "counter", first: true, predicate: InputCounterComponent, descendants: true }, { propertyName: "radioGroupComponent", first: true, predicate: RadioGroupComponent, descendants: true }, { propertyName: "radioGroupElement", first: true, predicate: RadioGroupComponent, descendants: true, read: ElementRef }, { propertyName: "input", first: true, predicate: InputComponent, descendants: true, read: ElementRef }, { propertyName: "textarea", first: true, predicate: TextareaComponent, descendants: true, read: ElementRef }, { propertyName: "dateInput", first: true, predicate: DateInputDirective, descendants: true }, { propertyName: "affixElements", predicate: AffixDirective }], ngImport: i0, template: "<label *ngIf=\"_wrapContentInLabel\">\n <ng-container *ngTemplateOutlet=\"labelTextTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"slottedInputTemplate\"></ng-container>\n</label>\n\n<ng-container *ngIf=\"!_wrapContentInLabel\">\n <ng-container *ngTemplateOutlet=\"labelTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"slottedInputTemplate\"></ng-container>\n</ng-container>\n\n<div *ngIf=\"message !== undefined || counter\" class=\"texts\">\n <kirby-form-field-message\n *ngIf=\"message !== undefined\"\n class=\"message\"\n [text]=\"message\"\n ></kirby-form-field-message>\n\n <div *ngIf=\"counter\" class=\"counter\">\n <ng-content select=\"kirby-input-counter\"></ng-content>\n </div>\n</div>\n\n<ng-template #slottedInputTemplate>\n <div class=\"affix-container\">\n <div class=\"prefix vertical-align semi-dark-text\">\n <ng-content select=\"[kirby-affix='prefix']\"></ng-content>\n </div>\n <ng-content select=\"input[kirby-input]\"></ng-content>\n <ng-content select=\"textarea[kirby-textarea]\"></ng-content>\n <ng-content select=\"kirby-radio-group\"></ng-content>\n <div class=\"suffix vertical-align semi-dark-text\">\n <ng-content select=\"[kirby-affix='suffix']\"></ng-content>\n <ng-container *ngIf=\"showDefaultCalendarIcon\">\n <kirby-icon name=\"calendar\"></kirby-icon>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #labelTextTemplate>\n <ng-container *ngIf=\"label\">\n <span class=\"text\">{{ label }}</span>\n </ng-container>\n</ng-template>\n\n<ng-template #labelTemplate>\n <ng-container *ngIf=\"label\">\n <label class=\"text\" [id]=\"_labelId\" (click)=\"onLabelClick()\">{{ label }}</label>\n </ng-container>\n</ng-template>\n", styles: [":host{display:block;position:relative;margin-bottom:16px}:host-context(kirby-item){margin-bottom:0}.texts{display:flex;justify-content:space-between;padding:2px 16px 0}.texts .message{flex:75%}.texts .message:only-child{flex-basis:auto}.texts .counter{flex:25%;text-align:right}label{display:block}.text{display:block;font-size:14px;font-weight:300;line-height:20px;margin-bottom:4px;padding:0 16px}.affix-container{position:relative}.affix-container .vertical-align{display:flex;align-items:center;position:absolute;top:0;bottom:0}.affix-container .prefix{left:12px}.affix-container .suffix{right:12px}.affix-container .semi-dark-text ::ng-deep>span,.affix-container .semi-dark-text ::ng-deep>h1,.affix-container .semi-dark-text ::ng-deep>h2,.affix-container .semi-dark-text ::ng-deep>h3,.affix-container .semi-dark-text ::ng-deep>h4,.affix-container .semi-dark-text ::ng-deep>h5,.affix-container .semi-dark-text ::ng-deep>h6,.affix-container .semi-dark-text ::ng-deep>p,.affix-container .semi-dark-text ::ng-deep>data{color:var(--kirby-text-color-semi-dark)}.affix-container:has(input[type=date]){--date-input-background-color: var(--kirby-inputs-background-color)}@media (hover: hover){.affix-container:has(input[type=date]):hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;--date-input-background-color: #e0e0e0}}.affix-container:has(input[type=date]):active,.affix-container:has(input[type=date]).interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);--date-input-background-color: #cbcbcb}.affix-container:has(input[type=date]) .suffix:not(:empty){top:8px;bottom:8px;padding-inline-start:12px;pointer-events:none;background-color:var(--date-input-background-color);transition:all 80ms linear 0ms;transition-property:background-color}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.IconComponent, selector: "kirby-icon", inputs: ["size", "name"] }, { kind: "component", type: i6.FormFieldMessageComponent, selector: "kirby-form-field-message", inputs: ["text", "position"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
121
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FormFieldComponent, deps: [{ token: i0.ElementRef }, { token: i1.PlatformService }, { token: i0.Renderer2 }, { token: i2.WindowRef }, { token: i3.ResizeObserverService }], target: i0.ɵɵFactoryTarget.Component }); }
122
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: FormFieldComponent, selector: "kirby-form-field", inputs: { label: "label", message: "message" }, host: { listeners: { "kirbyRegisterFormField": "_onRegisterFormField()" } }, queries: [{ propertyName: "counter", first: true, predicate: InputCounterComponent, descendants: true }, { propertyName: "radioGroupComponent", first: true, predicate: RadioGroupComponent, descendants: true }, { propertyName: "radioGroupElement", first: true, predicate: RadioGroupComponent, descendants: true, read: ElementRef }, { propertyName: "input", first: true, predicate: InputComponent, descendants: true, read: ElementRef }, { propertyName: "textarea", first: true, predicate: TextareaComponent, descendants: true, read: ElementRef }, { propertyName: "dateInput", first: true, predicate: DateInputDirective, descendants: true }, { propertyName: "affixElements", predicate: AffixDirective }], ngImport: i0, template: "<label *ngIf=\"_wrapContentInLabel\">\n <ng-container *ngTemplateOutlet=\"labelTextTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"slottedInputTemplate\"></ng-container>\n</label>\n\n<ng-container *ngIf=\"!_wrapContentInLabel\">\n <ng-container *ngTemplateOutlet=\"labelTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"slottedInputTemplate\"></ng-container>\n</ng-container>\n\n<div *ngIf=\"message !== undefined || counter\" class=\"texts\">\n <kirby-form-field-message\n *ngIf=\"message !== undefined\"\n class=\"message\"\n [text]=\"message\"\n ></kirby-form-field-message>\n\n <div *ngIf=\"counter\" class=\"counter\">\n <ng-content select=\"kirby-input-counter\"></ng-content>\n </div>\n</div>\n\n<ng-template #slottedInputTemplate>\n <div class=\"affix-container\">\n <div class=\"prefix vertical-align semi-dark-text\">\n <ng-content select=\"[kirby-affix='prefix']\"></ng-content>\n </div>\n <ng-content select=\"input[kirby-input]\"></ng-content>\n <ng-content select=\"textarea[kirby-textarea]\"></ng-content>\n <ng-content select=\"kirby-radio-group\"></ng-content>\n <div class=\"suffix vertical-align semi-dark-text\">\n <ng-content select=\"[kirby-affix='suffix']\"></ng-content>\n <ng-container *ngIf=\"showDefaultCalendarIcon\">\n <kirby-icon name=\"calendar\"></kirby-icon>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #labelTextTemplate>\n <ng-container *ngIf=\"label\">\n <span class=\"text\">{{ label }}</span>\n </ng-container>\n</ng-template>\n\n<ng-template #labelTemplate>\n <ng-container *ngIf=\"label\">\n <label class=\"text\" [id]=\"_labelId\" (click)=\"onLabelClick()\">{{ label }}</label>\n </ng-container>\n</ng-template>\n", styles: [":host{display:block;position:relative;margin-bottom:16px}:host-context(kirby-item){margin-bottom:0}.texts{display:flex;justify-content:space-between;padding:2px 16px 0}.texts .message{flex:75%}.texts .message:only-child{flex-basis:auto}.texts .counter{flex:25%;text-align:right}label{display:block}.text{display:block;font-size:14px;font-weight:300;line-height:20px;margin-bottom:4px;padding:0 16px}.affix-container{position:relative}.affix-container .vertical-align{display:flex;align-items:center;position:absolute;top:0;bottom:0}.affix-container .prefix{left:12px}.affix-container .suffix{right:12px}.affix-container .semi-dark-text ::ng-deep>span,.affix-container .semi-dark-text ::ng-deep>h1,.affix-container .semi-dark-text ::ng-deep>h2,.affix-container .semi-dark-text ::ng-deep>h3,.affix-container .semi-dark-text ::ng-deep>h4,.affix-container .semi-dark-text ::ng-deep>h5,.affix-container .semi-dark-text ::ng-deep>h6,.affix-container .semi-dark-text ::ng-deep>p,.affix-container .semi-dark-text ::ng-deep>data{color:var(--kirby-text-color-semi-dark)}.affix-container:has(input[type=date]){--date-input-background-color: var(--kirby-inputs-background-color)}@media (hover: hover){.affix-container:has(input[type=date]):hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;--date-input-background-color: #e0e0e0}}.affix-container:has(input[type=date]):active,.affix-container:has(input[type=date]).interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);--date-input-background-color: #cbcbcb}.affix-container:has(input[type=date]) .suffix:not(:empty){top:8px;bottom:8px;padding-inline-start:12px;pointer-events:none;background-color:var(--date-input-background-color);transition:all 80ms linear 0ms;transition-property:background-color}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.IconComponent, selector: "kirby-icon", inputs: ["size", "name"] }, { kind: "component", type: i6.FormFieldMessageComponent, selector: "kirby-form-field-message", inputs: ["text", "position"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
123
123
  }
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FormFieldComponent, decorators: [{
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FormFieldComponent, decorators: [{
125
125
  type: Component,
126
126
  args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'kirby-form-field', template: "<label *ngIf=\"_wrapContentInLabel\">\n <ng-container *ngTemplateOutlet=\"labelTextTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"slottedInputTemplate\"></ng-container>\n</label>\n\n<ng-container *ngIf=\"!_wrapContentInLabel\">\n <ng-container *ngTemplateOutlet=\"labelTemplate\"></ng-container>\n <ng-container *ngTemplateOutlet=\"slottedInputTemplate\"></ng-container>\n</ng-container>\n\n<div *ngIf=\"message !== undefined || counter\" class=\"texts\">\n <kirby-form-field-message\n *ngIf=\"message !== undefined\"\n class=\"message\"\n [text]=\"message\"\n ></kirby-form-field-message>\n\n <div *ngIf=\"counter\" class=\"counter\">\n <ng-content select=\"kirby-input-counter\"></ng-content>\n </div>\n</div>\n\n<ng-template #slottedInputTemplate>\n <div class=\"affix-container\">\n <div class=\"prefix vertical-align semi-dark-text\">\n <ng-content select=\"[kirby-affix='prefix']\"></ng-content>\n </div>\n <ng-content select=\"input[kirby-input]\"></ng-content>\n <ng-content select=\"textarea[kirby-textarea]\"></ng-content>\n <ng-content select=\"kirby-radio-group\"></ng-content>\n <div class=\"suffix vertical-align semi-dark-text\">\n <ng-content select=\"[kirby-affix='suffix']\"></ng-content>\n <ng-container *ngIf=\"showDefaultCalendarIcon\">\n <kirby-icon name=\"calendar\"></kirby-icon>\n </ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #labelTextTemplate>\n <ng-container *ngIf=\"label\">\n <span class=\"text\">{{ label }}</span>\n </ng-container>\n</ng-template>\n\n<ng-template #labelTemplate>\n <ng-container *ngIf=\"label\">\n <label class=\"text\" [id]=\"_labelId\" (click)=\"onLabelClick()\">{{ label }}</label>\n </ng-container>\n</ng-template>\n", styles: [":host{display:block;position:relative;margin-bottom:16px}:host-context(kirby-item){margin-bottom:0}.texts{display:flex;justify-content:space-between;padding:2px 16px 0}.texts .message{flex:75%}.texts .message:only-child{flex-basis:auto}.texts .counter{flex:25%;text-align:right}label{display:block}.text{display:block;font-size:14px;font-weight:300;line-height:20px;margin-bottom:4px;padding:0 16px}.affix-container{position:relative}.affix-container .vertical-align{display:flex;align-items:center;position:absolute;top:0;bottom:0}.affix-container .prefix{left:12px}.affix-container .suffix{right:12px}.affix-container .semi-dark-text ::ng-deep>span,.affix-container .semi-dark-text ::ng-deep>h1,.affix-container .semi-dark-text ::ng-deep>h2,.affix-container .semi-dark-text ::ng-deep>h3,.affix-container .semi-dark-text ::ng-deep>h4,.affix-container .semi-dark-text ::ng-deep>h5,.affix-container .semi-dark-text ::ng-deep>h6,.affix-container .semi-dark-text ::ng-deep>p,.affix-container .semi-dark-text ::ng-deep>data{color:var(--kirby-text-color-semi-dark)}.affix-container:has(input[type=date]){--date-input-background-color: var(--kirby-inputs-background-color)}@media (hover: hover){.affix-container:has(input[type=date]):hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;--date-input-background-color: #e0e0e0}}.affix-container:has(input[type=date]):active,.affix-container:has(input[type=date]).interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);--date-input-background-color: #cbcbcb}.affix-container:has(input[type=date]) .suffix:not(:empty){top:8px;bottom:8px;padding-inline-start:12px;pointer-events:none;background-color:var(--date-input-background-color);transition:all 80ms linear 0ms;transition-property:background-color}\n"] }]
127
127
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.PlatformService }, { type: i0.Renderer2 }, { type: i2.WindowRef }, { type: i3.ResizeObserverService }], propDecorators: { label: [{
@@ -8,11 +8,11 @@ import { DecimalMaskDirective } from './directives/decimal-mask/decimal-mask.dir
8
8
  import * as i0 from "@angular/core";
9
9
  const declarations = [FormFieldComponent, FormFieldMessageComponent, InputCounterComponent];
10
10
  export class FormFieldModule {
11
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.4", ngImport: i0, type: FormFieldModule, declarations: [FormFieldComponent, FormFieldMessageComponent, InputCounterComponent], imports: [CommonModule, DecimalMaskDirective, IconModule], exports: [FormFieldComponent, FormFieldMessageComponent, InputCounterComponent, DecimalMaskDirective] }); }
13
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FormFieldModule, imports: [CommonModule, IconModule] }); }
11
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: FormFieldModule, declarations: [FormFieldComponent, FormFieldMessageComponent, InputCounterComponent], imports: [CommonModule, DecimalMaskDirective, IconModule], exports: [FormFieldComponent, FormFieldMessageComponent, InputCounterComponent, DecimalMaskDirective] }); }
13
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FormFieldModule, imports: [CommonModule, IconModule] }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: FormFieldModule, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FormFieldModule, decorators: [{
16
16
  type: NgModule,
17
17
  args: [{
18
18
  imports: [CommonModule, DecimalMaskDirective, IconModule],
@@ -49,10 +49,10 @@ export class InputComponent {
49
49
  this.kirbyChange.emit(changes.value.currentValue);
50
50
  }
51
51
  }
52
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: InputComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
53
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: InputComponent, isStandalone: true, selector: "input[kirby-input]", inputs: { type: "type", size: "size", borderless: "borderless", hasError: "hasError", autocomplete: "autocomplete", autocorrect: "autocorrect", value: "value", maxlength: "maxlength", inputmode: "inputmode" }, host: { listeners: { "keyup": "_onKeyUp($event.target.value)", "paste": "_onCutPaste($event.target)", "cut": "_onCutPaste($event.target)" }, properties: { "class": "this.size", "class.borderless": "this.borderless", "class.error": "this.hasError", "attr.autocomplete": "this.autocomplete", "attr.autocorrect": "this.autocorrect", "attr.value": "this.value", "attr.maxlength": "this.maxlength", "attr.inputmode": "this.inputmode" } }, usesOnChanges: true, hostDirectives: [{ directive: i1.DateInputDirective, inputs: ["prefillYear", "prefillYear", "useNativeDatePicker", "useNativeDatePicker"] }], ngImport: i0, template: '', isInline: true, styles: [":host(.error){border:1px solid var(--kirby-danger);padding:calc(1em - 1px)}:host(.cloned-input){pointer-events:none;position:absolute;top:0;left:0}:host-context(label).cloned-input{top:24px}:host{background-color:var(--kirby-inputs-background-color);color:var(--kirby-inputs-color);border:none;box-sizing:border-box;font-family:var(--kirby-font-family);font-size:1rem;line-height:1.5;outline:none;margin:0;-webkit-appearance:none;appearance:none;border-radius:16px;box-shadow:var(--kirby-inputs-elevation);padding:1em;width:100%}@media (hover: hover) and (pointer: fine){:host:focus{transition:all 80ms linear 0ms;box-shadow:0 1px 24px #1c1c1c0a,0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host:focus:not(:focus-visible){box-shadow:0 1px 24px #1c1c1c0a,0 0 0 0 transparent}:host:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 1px 24px #1c1c1c0a,0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}:host:host-context(kirby-item),:host.borderless{border-radius:0;box-shadow:none;padding-inline:0;width:auto}:host:disabled{background-color:var(--kirby-light-tint);color:var(--kirby-text-color-semi-dark);box-shadow:none}:host::placeholder{color:var(--kirby-inputs-placeholder-color)}@supports not (selector(::-webkit-date-and-time-value)){:host(input[type=date]::-webkit-date-and-time-value){min-height:1.5em;text-align:start}}:host:not(:disabled){transition:all 80ms linear 0ms;transition-property:background-color}@media (hover: hover){:host:not(:disabled):hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;background-color:var(--kirby-inputs-background-color-hover);cursor:text}}:host:not(:disabled):active,:host:not(:disabled).interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);background-color:var(--kirby-inputs-background-color-active)}:host[type=date]{background-color:var(--date-input-background-color)}:host[type=number]{-webkit-appearance:textfield;appearance:textfield}:host::-webkit-outer-spin-button,:host::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}:host(.md){border-radius:24px;padding-block:.5em}:host(.md).error{padding-block:calc(.5em - 1px)}:host-context(kirby-item kirby-form-field[slot=end])[type=number]{font-weight:700}.date-mask-wrapper{position:relative}:host-context(.date-mask-wrapper){color:var(--kirby-text-color-semi-dark)}.date-mask{font-family:var(--kirby-font-family);line-height:1.5;color:var(--kirby-white-contrast);position:absolute;top:0;left:0;padding:1em}:host(.md)+.date-mask{padding-block:.5em}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
52
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
53
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: InputComponent, isStandalone: true, selector: "input[kirby-input]", inputs: { type: "type", size: "size", borderless: "borderless", hasError: "hasError", autocomplete: "autocomplete", autocorrect: "autocorrect", value: "value", maxlength: "maxlength", inputmode: "inputmode" }, host: { listeners: { "keyup": "_onKeyUp($event.target.value)", "paste": "_onCutPaste($event.target)", "cut": "_onCutPaste($event.target)" }, properties: { "class": "this.size", "class.borderless": "this.borderless", "class.error": "this.hasError", "attr.autocomplete": "this.autocomplete", "attr.autocorrect": "this.autocorrect", "attr.value": "this.value", "attr.maxlength": "this.maxlength", "attr.inputmode": "this.inputmode" } }, usesOnChanges: true, hostDirectives: [{ directive: i1.DateInputDirective, inputs: ["prefillYear", "prefillYear", "useNativeDatePicker", "useNativeDatePicker"] }], ngImport: i0, template: '', isInline: true, styles: [":host(.error){border:1px solid var(--kirby-danger);padding:calc(1em - 1px)}:host(.cloned-input){pointer-events:none;position:absolute;top:0;left:0}:host-context(label).cloned-input{top:24px}@media (hover: hover) and (pointer: fine){:host:focus{transition:all 80ms linear 0ms;box-shadow:0 1px 24px #1c1c1c0a,0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host:focus:not(:focus-visible){box-shadow:0 1px 24px #1c1c1c0a,0 0 0 0 transparent}:host:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 1px 24px #1c1c1c0a,0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}:host{background-color:var(--kirby-inputs-background-color);color:var(--kirby-inputs-color);border:none;box-sizing:border-box;font-family:var(--kirby-font-family);font-size:1rem;line-height:1.5;outline:none;margin:0;-webkit-appearance:none;appearance:none;border-radius:16px;box-shadow:var(--kirby-inputs-elevation);padding:1em;width:100%}:host:host-context(kirby-item),:host.borderless{border-radius:0;box-shadow:none;padding-inline:0;width:auto}:host:disabled{background-color:var(--kirby-light-tint);color:var(--kirby-text-color-semi-dark);box-shadow:none}:host::placeholder{color:var(--kirby-inputs-placeholder-color)}@supports not (selector(::-webkit-date-and-time-value)){:host(input[type=date]::-webkit-date-and-time-value){min-height:1.5em;text-align:start}}@media (hover: hover){:host:not(:disabled):hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;background-color:var(--kirby-inputs-background-color-hover);cursor:text}}:host:not(:disabled):active,:host:not(:disabled).interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);background-color:var(--kirby-inputs-background-color-active)}:host:not(:disabled){transition:all 80ms linear 0ms;transition-property:background-color}:host[type=date]{background-color:var(--date-input-background-color)}:host[type=number]{-webkit-appearance:textfield;appearance:textfield}:host::-webkit-outer-spin-button,:host::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}:host(.md){border-radius:24px;padding-block:.5em}:host(.md).error{padding-block:calc(.5em - 1px)}:host-context(kirby-item kirby-form-field[slot=end])[type=number]{font-weight:700}.date-mask-wrapper{position:relative}:host-context(.date-mask-wrapper){color:var(--kirby-text-color-semi-dark)}.date-mask{font-family:var(--kirby-font-family);line-height:1.5;color:var(--kirby-white-contrast);position:absolute;top:0;left:0;padding:1em}:host(.md)+.date-mask{padding-block:.5em}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
54
54
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: InputComponent, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputComponent, decorators: [{
56
56
  type: Component,
57
57
  args: [{ standalone: true, imports: [CommonModule], hostDirectives: [
58
58
  {
@@ -60,7 +60,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
60
60
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
61
61
  inputs: ['prefillYear', 'useNativeDatePicker'],
62
62
  },
63
- ], changeDetection: ChangeDetectionStrategy.OnPush, selector: 'input[kirby-input]', template: '', styles: [":host(.error){border:1px solid var(--kirby-danger);padding:calc(1em - 1px)}:host(.cloned-input){pointer-events:none;position:absolute;top:0;left:0}:host-context(label).cloned-input{top:24px}:host{background-color:var(--kirby-inputs-background-color);color:var(--kirby-inputs-color);border:none;box-sizing:border-box;font-family:var(--kirby-font-family);font-size:1rem;line-height:1.5;outline:none;margin:0;-webkit-appearance:none;appearance:none;border-radius:16px;box-shadow:var(--kirby-inputs-elevation);padding:1em;width:100%}@media (hover: hover) and (pointer: fine){:host:focus{transition:all 80ms linear 0ms;box-shadow:0 1px 24px #1c1c1c0a,0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host:focus:not(:focus-visible){box-shadow:0 1px 24px #1c1c1c0a,0 0 0 0 transparent}:host:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 1px 24px #1c1c1c0a,0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}:host:host-context(kirby-item),:host.borderless{border-radius:0;box-shadow:none;padding-inline:0;width:auto}:host:disabled{background-color:var(--kirby-light-tint);color:var(--kirby-text-color-semi-dark);box-shadow:none}:host::placeholder{color:var(--kirby-inputs-placeholder-color)}@supports not (selector(::-webkit-date-and-time-value)){:host(input[type=date]::-webkit-date-and-time-value){min-height:1.5em;text-align:start}}:host:not(:disabled){transition:all 80ms linear 0ms;transition-property:background-color}@media (hover: hover){:host:not(:disabled):hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;background-color:var(--kirby-inputs-background-color-hover);cursor:text}}:host:not(:disabled):active,:host:not(:disabled).interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);background-color:var(--kirby-inputs-background-color-active)}:host[type=date]{background-color:var(--date-input-background-color)}:host[type=number]{-webkit-appearance:textfield;appearance:textfield}:host::-webkit-outer-spin-button,:host::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}:host(.md){border-radius:24px;padding-block:.5em}:host(.md).error{padding-block:calc(.5em - 1px)}:host-context(kirby-item kirby-form-field[slot=end])[type=number]{font-weight:700}.date-mask-wrapper{position:relative}:host-context(.date-mask-wrapper){color:var(--kirby-text-color-semi-dark)}.date-mask{font-family:var(--kirby-font-family);line-height:1.5;color:var(--kirby-white-contrast);position:absolute;top:0;left:0;padding:1em}:host(.md)+.date-mask{padding-block:.5em}\n"] }]
63
+ ], changeDetection: ChangeDetectionStrategy.OnPush, selector: 'input[kirby-input]', template: '', styles: [":host(.error){border:1px solid var(--kirby-danger);padding:calc(1em - 1px)}:host(.cloned-input){pointer-events:none;position:absolute;top:0;left:0}:host-context(label).cloned-input{top:24px}@media (hover: hover) and (pointer: fine){:host:focus{transition:all 80ms linear 0ms;box-shadow:0 1px 24px #1c1c1c0a,0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host:focus:not(:focus-visible){box-shadow:0 1px 24px #1c1c1c0a,0 0 0 0 transparent}:host:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 1px 24px #1c1c1c0a,0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}:host{background-color:var(--kirby-inputs-background-color);color:var(--kirby-inputs-color);border:none;box-sizing:border-box;font-family:var(--kirby-font-family);font-size:1rem;line-height:1.5;outline:none;margin:0;-webkit-appearance:none;appearance:none;border-radius:16px;box-shadow:var(--kirby-inputs-elevation);padding:1em;width:100%}:host:host-context(kirby-item),:host.borderless{border-radius:0;box-shadow:none;padding-inline:0;width:auto}:host:disabled{background-color:var(--kirby-light-tint);color:var(--kirby-text-color-semi-dark);box-shadow:none}:host::placeholder{color:var(--kirby-inputs-placeholder-color)}@supports not (selector(::-webkit-date-and-time-value)){:host(input[type=date]::-webkit-date-and-time-value){min-height:1.5em;text-align:start}}@media (hover: hover){:host:not(:disabled):hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;background-color:var(--kirby-inputs-background-color-hover);cursor:text}}:host:not(:disabled):active,:host:not(:disabled).interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);background-color:var(--kirby-inputs-background-color-active)}:host:not(:disabled){transition:all 80ms linear 0ms;transition-property:background-color}:host[type=date]{background-color:var(--date-input-background-color)}:host[type=number]{-webkit-appearance:textfield;appearance:textfield}:host::-webkit-outer-spin-button,:host::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}:host(.md){border-radius:24px;padding-block:.5em}:host(.md).error{padding-block:calc(.5em - 1px)}:host-context(kirby-item kirby-form-field[slot=end])[type=number]{font-weight:700}.date-mask-wrapper{position:relative}:host-context(.date-mask-wrapper){color:var(--kirby-text-color-semi-dark)}.date-mask{font-family:var(--kirby-font-family);line-height:1.5;color:var(--kirby-white-contrast);position:absolute;top:0;left:0;padding:1em}:host(.md)+.date-mask{padding-block:.5em}\n"] }]
64
64
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { type: [{
65
65
  type: Input
66
66
  }], size: [{
@@ -23,10 +23,10 @@ export class InputCounterComponent {
23
23
  this._inputChangeSubscription.unsubscribe();
24
24
  }
25
25
  }
26
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: InputCounterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: InputCounterComponent, selector: "kirby-input-counter", inputs: { listenTo: "listenTo" }, ngImport: i0, template: "<kirby-form-field-message [text]=\"text\"></kirby-form-field-message>\n", dependencies: [{ kind: "component", type: i1.FormFieldMessageComponent, selector: "kirby-form-field-message", inputs: ["text", "position"] }] }); }
26
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputCounterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: InputCounterComponent, selector: "kirby-input-counter", inputs: { listenTo: "listenTo" }, ngImport: i0, template: "<kirby-form-field-message [text]=\"text\"></kirby-form-field-message>\n", dependencies: [{ kind: "component", type: i1.FormFieldMessageComponent, selector: "kirby-form-field-message", inputs: ["text", "position"] }] }); }
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: InputCounterComponent, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputCounterComponent, decorators: [{
30
30
  type: Component,
31
31
  args: [{ selector: 'kirby-input-counter', template: "<kirby-form-field-message [text]=\"text\"></kirby-form-field-message>\n" }]
32
32
  }], propDecorators: { listenTo: [{
@@ -20,12 +20,12 @@ export class TextareaComponent {
20
20
  this.kirbyChange.emit(changes.value.currentValue);
21
21
  }
22
22
  }
23
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: TextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: TextareaComponent, isStandalone: true, selector: "textarea[kirby-textarea]", inputs: { value: "value", borderless: "borderless", hasError: "hasError", autocomplete: "autocomplete", autocorrect: "autocorrect", maxlength: "maxlength" }, host: { listeners: { "keyup": "_onKeyUp($event.target.value)", "paste": "_onCutPaste($event.target)", "cut": "_onCutPaste($event.target)" }, properties: { "class.borderless": "this.borderless", "class.error": "this.hasError", "attr.autocomplete": "this.autocomplete", "attr.autocorrect": "this.autocorrect", "attr.maxlength": "this.maxlength" } }, usesOnChanges: true, ngImport: i0, template: "<ng-content *ngIf=\"!value\"></ng-content>\n<ng-container *ngIf=\"value\">{{ value }}</ng-container>\n", styles: [":host(.error){border:1px solid var(--kirby-danger);padding:calc(1em - 1px)}:host(.cloned-input){pointer-events:none;position:absolute;top:0;left:0}:host-context(label).cloned-input{top:24px}:host{background-color:var(--kirby-inputs-background-color);color:var(--kirby-inputs-color);border:none;box-sizing:border-box;font-family:var(--kirby-font-family);font-size:1rem;line-height:1.5;outline:none;margin:0;-webkit-appearance:none;appearance:none;border-radius:16px;box-shadow:var(--kirby-inputs-elevation);padding:1em;width:100%}@media (hover: hover) and (pointer: fine){:host:focus{transition:all 80ms linear 0ms;box-shadow:0 1px 24px #1c1c1c0a,0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host:focus:not(:focus-visible){box-shadow:0 1px 24px #1c1c1c0a,0 0 0 0 transparent}:host:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 1px 24px #1c1c1c0a,0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}:host:host-context(kirby-item),:host.borderless{border-radius:0;box-shadow:none;padding-inline:0;width:auto}:host:disabled{background-color:var(--kirby-light-tint);color:var(--kirby-text-color-semi-dark);box-shadow:none}:host::placeholder{color:var(--kirby-inputs-placeholder-color)}@supports not (selector(::-webkit-date-and-time-value)){:host(input[type=date]::-webkit-date-and-time-value){min-height:1.5em;text-align:start}}:host{position:relative;font-family:var(--kirby-font-family);resize:none}:host:not(:disabled){transition:all 80ms linear 0ms;transition-property:background-color}@media (hover: hover){:host:not(:disabled):hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;background-color:#f5f5f5;cursor:text}}:host:not(:disabled):active,:host:not(:disabled).interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);background-color:#ebebeb}@media (min-width: 768px){:host{resize:vertical}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: TextareaComponent, isStandalone: true, selector: "textarea[kirby-textarea]", inputs: { value: "value", borderless: "borderless", hasError: "hasError", autocomplete: "autocomplete", autocorrect: "autocorrect", maxlength: "maxlength" }, host: { listeners: { "keyup": "_onKeyUp($event.target.value)", "paste": "_onCutPaste($event.target)", "cut": "_onCutPaste($event.target)" }, properties: { "class.borderless": "this.borderless", "class.error": "this.hasError", "attr.autocomplete": "this.autocomplete", "attr.autocorrect": "this.autocorrect", "attr.maxlength": "this.maxlength" } }, usesOnChanges: true, ngImport: i0, template: "<ng-content *ngIf=\"!value\"></ng-content>\n<ng-container *ngIf=\"value\">{{ value }}</ng-container>\n", styles: [":host(.error){border:1px solid var(--kirby-danger);padding:calc(1em - 1px)}:host(.cloned-input){pointer-events:none;position:absolute;top:0;left:0}:host-context(label).cloned-input{top:24px}@media (hover: hover) and (pointer: fine){:host:focus{transition:all 80ms linear 0ms;box-shadow:0 1px 24px #1c1c1c0a,0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host:focus:not(:focus-visible){box-shadow:0 1px 24px #1c1c1c0a,0 0 0 0 transparent}:host:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 1px 24px #1c1c1c0a,0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}:host{background-color:var(--kirby-inputs-background-color);color:var(--kirby-inputs-color);border:none;box-sizing:border-box;font-family:var(--kirby-font-family);font-size:1rem;line-height:1.5;outline:none;margin:0;-webkit-appearance:none;appearance:none;border-radius:16px;box-shadow:var(--kirby-inputs-elevation);padding:1em;width:100%}:host:host-context(kirby-item),:host.borderless{border-radius:0;box-shadow:none;padding-inline:0;width:auto}:host:disabled{background-color:var(--kirby-light-tint);color:var(--kirby-text-color-semi-dark);box-shadow:none}:host::placeholder{color:var(--kirby-inputs-placeholder-color)}@supports not (selector(::-webkit-date-and-time-value)){:host(input[type=date]::-webkit-date-and-time-value){min-height:1.5em;text-align:start}}@media (hover: hover){:host:not(:disabled):hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;background-color:#f5f5f5;cursor:text}}:host:not(:disabled):active,:host:not(:disabled).interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);background-color:#ebebeb}:host:not(:disabled){transition:all 80ms linear 0ms;transition-property:background-color}:host{position:relative;font-family:var(--kirby-font-family);resize:none}@media (min-width: 768px){:host{resize:vertical}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: TextareaComponent, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TextareaComponent, decorators: [{
27
27
  type: Component,
28
- args: [{ standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, selector: 'textarea[kirby-textarea]', template: "<ng-content *ngIf=\"!value\"></ng-content>\n<ng-container *ngIf=\"value\">{{ value }}</ng-container>\n", styles: [":host(.error){border:1px solid var(--kirby-danger);padding:calc(1em - 1px)}:host(.cloned-input){pointer-events:none;position:absolute;top:0;left:0}:host-context(label).cloned-input{top:24px}:host{background-color:var(--kirby-inputs-background-color);color:var(--kirby-inputs-color);border:none;box-sizing:border-box;font-family:var(--kirby-font-family);font-size:1rem;line-height:1.5;outline:none;margin:0;-webkit-appearance:none;appearance:none;border-radius:16px;box-shadow:var(--kirby-inputs-elevation);padding:1em;width:100%}@media (hover: hover) and (pointer: fine){:host:focus{transition:all 80ms linear 0ms;box-shadow:0 1px 24px #1c1c1c0a,0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host:focus:not(:focus-visible){box-shadow:0 1px 24px #1c1c1c0a,0 0 0 0 transparent}:host:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 1px 24px #1c1c1c0a,0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}:host:host-context(kirby-item),:host.borderless{border-radius:0;box-shadow:none;padding-inline:0;width:auto}:host:disabled{background-color:var(--kirby-light-tint);color:var(--kirby-text-color-semi-dark);box-shadow:none}:host::placeholder{color:var(--kirby-inputs-placeholder-color)}@supports not (selector(::-webkit-date-and-time-value)){:host(input[type=date]::-webkit-date-and-time-value){min-height:1.5em;text-align:start}}:host{position:relative;font-family:var(--kirby-font-family);resize:none}:host:not(:disabled){transition:all 80ms linear 0ms;transition-property:background-color}@media (hover: hover){:host:not(:disabled):hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;background-color:#f5f5f5;cursor:text}}:host:not(:disabled):active,:host:not(:disabled).interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);background-color:#ebebeb}@media (min-width: 768px){:host{resize:vertical}}\n"] }]
28
+ args: [{ standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, selector: 'textarea[kirby-textarea]', template: "<ng-content *ngIf=\"!value\"></ng-content>\n<ng-container *ngIf=\"value\">{{ value }}</ng-container>\n", styles: [":host(.error){border:1px solid var(--kirby-danger);padding:calc(1em - 1px)}:host(.cloned-input){pointer-events:none;position:absolute;top:0;left:0}:host-context(label).cloned-input{top:24px}@media (hover: hover) and (pointer: fine){:host:focus{transition:all 80ms linear 0ms;box-shadow:0 1px 24px #1c1c1c0a,0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}:host:focus:not(:focus-visible){box-shadow:0 1px 24px #1c1c1c0a,0 0 0 0 transparent}:host:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 1px 24px #1c1c1c0a,0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}:host{background-color:var(--kirby-inputs-background-color);color:var(--kirby-inputs-color);border:none;box-sizing:border-box;font-family:var(--kirby-font-family);font-size:1rem;line-height:1.5;outline:none;margin:0;-webkit-appearance:none;appearance:none;border-radius:16px;box-shadow:var(--kirby-inputs-elevation);padding:1em;width:100%}:host:host-context(kirby-item),:host.borderless{border-radius:0;box-shadow:none;padding-inline:0;width:auto}:host:disabled{background-color:var(--kirby-light-tint);color:var(--kirby-text-color-semi-dark);box-shadow:none}:host::placeholder{color:var(--kirby-inputs-placeholder-color)}@supports not (selector(::-webkit-date-and-time-value)){:host(input[type=date]::-webkit-date-and-time-value){min-height:1.5em;text-align:start}}@media (hover: hover){:host:not(:disabled):hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);cursor:pointer;background-color:#f5f5f5;cursor:text}}:host:not(:disabled):active,:host:not(:disabled).interaction-state-active{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);background-color:#ebebeb}:host:not(:disabled){transition:all 80ms linear 0ms;transition-property:background-color}:host{position:relative;font-family:var(--kirby-font-family);resize:none}@media (min-width: 768px){:host{resize:vertical}}\n"] }]
29
29
  }], propDecorators: { value: [{
30
30
  type: Input
31
31
  }], borderless: [{
@@ -8,40 +8,40 @@ import * as i0 from "@angular/core";
8
8
  import * as i1 from "@angular/common";
9
9
  import * as i2 from "@kirbydesign/designsystem/shared";
10
10
  export class HeaderActionsDirective {
11
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: HeaderActionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
12
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: HeaderActionsDirective, selector: "[kirbyHeaderActions]", ngImport: i0 }); }
11
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HeaderActionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
12
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: HeaderActionsDirective, selector: "[kirbyHeaderActions]", ngImport: i0 }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: HeaderActionsDirective, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HeaderActionsDirective, decorators: [{
15
15
  type: Directive,
16
16
  args: [{
17
17
  selector: '[kirbyHeaderActions]',
18
18
  }]
19
19
  }] });
20
20
  export class HeaderCustomSectionDirective {
21
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: HeaderCustomSectionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
22
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: HeaderCustomSectionDirective, selector: "[kirbyHeaderCustomSection]", ngImport: i0 }); }
21
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HeaderCustomSectionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
22
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: HeaderCustomSectionDirective, selector: "[kirbyHeaderCustomSection]", ngImport: i0 }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: HeaderCustomSectionDirective, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HeaderCustomSectionDirective, decorators: [{
25
25
  type: Directive,
26
26
  args: [{
27
27
  selector: '[kirbyHeaderCustomSection]',
28
28
  }]
29
29
  }] });
30
30
  export class HeaderTitleActionIconDirective {
31
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: HeaderTitleActionIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
32
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: HeaderTitleActionIconDirective, selector: "[kirbyHeaderTitleActionIcon]", ngImport: i0 }); }
31
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HeaderTitleActionIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
32
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: HeaderTitleActionIconDirective, selector: "[kirbyHeaderTitleActionIcon]", ngImport: i0 }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: HeaderTitleActionIconDirective, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HeaderTitleActionIconDirective, decorators: [{
35
35
  type: Directive,
36
36
  args: [{
37
37
  selector: '[kirbyHeaderTitleActionIcon]',
38
38
  }]
39
39
  }] });
40
40
  export class HeaderCustomFlagDirective {
41
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: HeaderCustomFlagDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
42
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: HeaderCustomFlagDirective, selector: "[kirbyHeaderCustomFlag]", ngImport: i0 }); }
41
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HeaderCustomFlagDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
42
+ /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: HeaderCustomFlagDirective, selector: "[kirbyHeaderCustomFlag]", ngImport: i0 }); }
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: HeaderCustomFlagDirective, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HeaderCustomFlagDirective, decorators: [{
45
45
  type: Directive,
46
46
  args: [{
47
47
  selector: '[kirbyHeaderCustomFlag]',
@@ -96,10 +96,10 @@ export class HeaderComponent {
96
96
  this.title$.next(changes.title.currentValue);
97
97
  }
98
98
  }
99
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: HeaderComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
100
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: HeaderComponent, selector: "kirby-header", inputs: { centered: "centered", titleMaxLines: "titleMaxLines", emphasizeActions: "emphasizeActions", title: "title", value: "value", valueUnit: "valueUnit", subtitle1: "subtitle1", subtitle2: "subtitle2", hasInteractiveTitle: "hasInteractiveTitle" }, outputs: { titleClick: "titleClick" }, host: { properties: { "class.centered": "this.centered" } }, queries: [{ propertyName: "avatar", first: true, predicate: AvatarComponent, descendants: true }, { propertyName: "progressCircle", first: true, predicate: ProgressCircleComponent, descendants: true }, { propertyName: "flag", first: true, predicate: FlagComponent, descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: HeaderActionsDirective, descendants: true, read: (TemplateRef) }, { propertyName: "customSectionTemplate", first: true, predicate: HeaderCustomSectionDirective, descendants: true, read: (TemplateRef) }, { propertyName: "customFlagTemplate", first: true, predicate: HeaderCustomFlagDirective, descendants: true, read: (TemplateRef) }, { propertyName: "titleActionIconTemplate", first: true, predicate: HeaderTitleActionIconDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "titleElement", first: true, predicate: ["titleElement"], descendants: true, read: ElementRef }, { propertyName: "actionsElement", first: true, predicate: ["actionsElement"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!!avatar || !!progressCircle\" class=\"avatar\">\n <ng-content select=\"kirby-avatar,kirby-progress-circle\"></ng-content>\n</div>\n\n<div *ngIf=\"!!flag || !!customFlagTemplate\" class=\"flag\">\n <ng-container *ngIf=\"!!flag\">\n <ng-content select=\"kirby-flag\"></ng-content>\n </ng-container>\n\n <!-- Custom Content in Flag section: -->\n <ng-container *ngIf=\"!!customFlagTemplate\">\n <div class=\"custom-flag\">\n <ng-container *ngTemplateOutlet=\"customFlagTemplate\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<div class=\"container\">\n <!-- Title and value - title: -->\n <h1 *ngIf=\"!!title && !!value\" #titleElement class=\"title kirby-text-medium\" [class.clickable]=\"hasInteractiveTitle !== false && titleClick.observed\" [class.has-icon]=\"!!titleActionIconTemplate\" (click)=\"onTitleClick($event)\">\n {{ title }}\n <ng-container *ngTemplateOutlet=\"titleActionIconTemplate\"></ng-container>\n </h1>\n <div class=\"title-container\">\n <!-- Only title, no value: -->\n <h1 *ngIf=\"!!title && !value\" #titleElement class=\"title\" [kirbyFitHeading]=\"fitHeadingConfig\">\n {{ title }}\n </h1>\n \n <!-- Title and value - value: -->\n <h3 *ngIf=\"!!value\" class=\"value kirby-text-display-3\" [kirbyFitHeading]=\"fitHeadingConfig\">{{ value }}<span class=\"value-unit semi-dark-text\" *ngIf=\"!!valueUnit\">{{ valueUnit }}</span></h3>\n \n <!-- Subtitles: -->\n <ng-container\n *ngTemplateOutlet=\"subTitleTemplate; context: { $implicit: _subtitles1 }\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"subTitleTemplate; context: { $implicit: _subtitles2 }\"\n ></ng-container>\n\n <!-- Custom section -->\n <div\n *ngIf=\"!!customSectionTemplate\"\n class=\"custom-section\"\n >\n <ng-container *ngTemplateOutlet=\"customSectionTemplate\"></ng-container>\n </div>\n </div>\n \n <!-- Actions: -->\n <div\n *ngIf=\"!!actionsTemplate\"\n #actionsElement\n class=\"actions\"\n [class.emphasize]=\"emphasizeActions\"\n >\n <ng-container *ngTemplateOutlet=\"actionsTemplate; injector: _actionGroupInjector\"></ng-container>\n </div>\n</div>\n\n<ng-template #subTitleTemplate let-subtitles>\n <div *ngIf=\"!!subtitles\" class=\"subtitle kirby-text-small\">\n <span *ngFor=\"let subtitle of subtitles\">{{subtitle}}</span>\n </div>\n</ng-template>", styles: [":host{display:flex;flex-direction:column;margin-top:16px;margin-bottom:32px}@media (max-width: 767px){:host:has(>.avatar::ng-deep){margin-top:8px}}@media (min-width: 768px){:host{margin-top:24px}}.container{display:flex;flex-direction:column;align-items:flex-start;max-width:100%}.container>h1.title{margin-bottom:0}@media (min-width: 768px){:host(:not(.single-column)) .container:has(>.actions){display:grid;grid-template-columns:auto max-content;column-gap:24px}:host(:not(.single-column)) .container:has(>.actions) .title-container{grid-column-start:1}}:host(.centered){align-items:center}:host(.centered) .container{align-items:center}:host(.centered) .container>h1.title{text-align:center}:host(.centered) .container>h1.title.has-icon{justify-content:center}:host(.centered) .title-container{align-items:center;text-align:center}@media (min-width: 768px){:host(.centered):not(.single-column) .container:has(>.actions){grid-template-columns:minmax(0,1fr) minmax(0,4fr) minmax(0,1fr);align-self:stretch}:host(.centered):not(.single-column) .container:has(>.actions) .actions{align-self:flex-start}:host(.centered):not(.single-column) .container:has(>.actions)>h1.title,:host(.centered):not(.single-column) .container:has(>.actions) .title-container{grid-column-start:2}}.actions{margin-top:24px;margin-inline:8px}@media (max-width: 767px){.actions:not(.emphasize){display:none}}@media (min-width: 768px){:host(:not(.single-column)) .actions{display:flex;justify-content:flex-end;margin-top:0}}.avatar,.flag,.title-container,.container>h1.title{margin-inline:16px}.title-container{display:flex;flex-direction:column;overflow:hidden;max-width:calc(100% - 32px)}.avatar{margin-bottom:16px}.flag{margin-bottom:4px}.flag .custom-flag{margin-block:4px}.title{margin-bottom:2px}.title.clickable{cursor:pointer}.title.has-icon{display:flex;flex-direction:row;align-items:center}.value{max-width:100%;margin-bottom:4px}.value-unit{font-weight:initial;color:var(--kirby-text-color-semi-dark);margin-left:4px;font-size:50%}.subtitle{display:flex;flex-flow:row wrap;column-gap:.25em}.subtitle span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.custom-section{margin-top:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.FitHeadingDirective, selector: "h1[kirbyFitHeading],h2[kirbyFitHeading],h3[kirbyFitHeading]", inputs: ["kirbyFitHeading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
99
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HeaderComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
100
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: HeaderComponent, selector: "kirby-header", inputs: { centered: "centered", titleMaxLines: "titleMaxLines", emphasizeActions: "emphasizeActions", title: "title", value: "value", valueUnit: "valueUnit", subtitle1: "subtitle1", subtitle2: "subtitle2", hasInteractiveTitle: "hasInteractiveTitle" }, outputs: { titleClick: "titleClick" }, host: { properties: { "class.centered": "this.centered" } }, queries: [{ propertyName: "avatar", first: true, predicate: AvatarComponent, descendants: true }, { propertyName: "progressCircle", first: true, predicate: ProgressCircleComponent, descendants: true }, { propertyName: "flag", first: true, predicate: FlagComponent, descendants: true }, { propertyName: "actionsTemplate", first: true, predicate: HeaderActionsDirective, descendants: true, read: (TemplateRef) }, { propertyName: "customSectionTemplate", first: true, predicate: HeaderCustomSectionDirective, descendants: true, read: (TemplateRef) }, { propertyName: "customFlagTemplate", first: true, predicate: HeaderCustomFlagDirective, descendants: true, read: (TemplateRef) }, { propertyName: "titleActionIconTemplate", first: true, predicate: HeaderTitleActionIconDirective, descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "titleElement", first: true, predicate: ["titleElement"], descendants: true, read: ElementRef }, { propertyName: "actionsElement", first: true, predicate: ["actionsElement"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!!avatar || !!progressCircle\" class=\"avatar\">\n <ng-content select=\"kirby-avatar,kirby-progress-circle\"></ng-content>\n</div>\n\n<div *ngIf=\"!!flag || !!customFlagTemplate\" class=\"flag\">\n <ng-container *ngIf=\"!!flag\">\n <ng-content select=\"kirby-flag\"></ng-content>\n </ng-container>\n\n <!-- Custom Content in Flag section: -->\n <ng-container *ngIf=\"!!customFlagTemplate\">\n <div class=\"custom-flag\">\n <ng-container *ngTemplateOutlet=\"customFlagTemplate\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<div class=\"container\">\n <!-- Title and value - title: -->\n <h1 *ngIf=\"!!title && !!value\" #titleElement class=\"title kirby-text-medium\" [class.clickable]=\"hasInteractiveTitle !== false && titleClick.observed\" [class.has-icon]=\"!!titleActionIconTemplate\" (click)=\"onTitleClick($event)\">\n {{ title }}\n <ng-container *ngTemplateOutlet=\"titleActionIconTemplate\"></ng-container>\n </h1>\n <div class=\"title-container\">\n <!-- Only title, no value: -->\n <h1 *ngIf=\"!!title && !value\" #titleElement class=\"title\" [kirbyFitHeading]=\"fitHeadingConfig\">\n {{ title }}\n </h1>\n \n <!-- Title and value - value: -->\n <h3 *ngIf=\"!!value\" class=\"value kirby-text-display-3\" [kirbyFitHeading]=\"fitHeadingConfig\">{{ value }}<span class=\"value-unit semi-dark-text\" *ngIf=\"!!valueUnit\">{{ valueUnit }}</span></h3>\n \n <!-- Subtitles: -->\n <ng-container\n *ngTemplateOutlet=\"subTitleTemplate; context: { $implicit: _subtitles1 }\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"subTitleTemplate; context: { $implicit: _subtitles2 }\"\n ></ng-container>\n\n <!-- Custom section -->\n <div\n *ngIf=\"!!customSectionTemplate\"\n class=\"custom-section\"\n >\n <ng-container *ngTemplateOutlet=\"customSectionTemplate\"></ng-container>\n </div>\n </div>\n \n <!-- Actions: -->\n <div\n *ngIf=\"!!actionsTemplate\"\n #actionsElement\n class=\"actions\"\n [class.emphasize]=\"emphasizeActions\"\n >\n <ng-container *ngTemplateOutlet=\"actionsTemplate; injector: _actionGroupInjector\"></ng-container>\n </div>\n</div>\n\n<ng-template #subTitleTemplate let-subtitles>\n <div *ngIf=\"!!subtitles\" class=\"subtitle kirby-text-small\">\n <span *ngFor=\"let subtitle of subtitles\">{{subtitle}}</span>\n </div>\n</ng-template>", styles: [":host{display:flex;flex-direction:column;margin-top:16px;margin-bottom:32px}@media (max-width: 767px){:host:has(>.avatar::ng-deep){margin-top:8px}}@media (min-width: 768px){:host{margin-top:24px}}.container{display:flex;flex-direction:column;align-items:flex-start;max-width:100%}.container>h1.title{margin-bottom:0}@media (min-width: 768px){:host(:not(.single-column)) .container:has(>.actions){display:grid;grid-template-columns:auto max-content;column-gap:24px}:host(:not(.single-column)) .container:has(>.actions) .title-container{grid-column-start:1}}:host(.centered){align-items:center}:host(.centered) .container{align-items:center}:host(.centered) .container>h1.title{text-align:center}:host(.centered) .container>h1.title.has-icon{justify-content:center}:host(.centered) .title-container{align-items:center;text-align:center}@media (min-width: 768px){:host(.centered):not(.single-column) .container:has(>.actions){grid-template-columns:minmax(0,1fr) minmax(0,4fr) minmax(0,1fr);align-self:stretch}:host(.centered):not(.single-column) .container:has(>.actions) .actions{align-self:flex-start}:host(.centered):not(.single-column) .container:has(>.actions)>h1.title,:host(.centered):not(.single-column) .container:has(>.actions) .title-container{grid-column-start:2}}.actions{margin-top:24px;margin-inline:8px}@media (max-width: 767px){.actions:not(.emphasize){display:none}}@media (min-width: 768px){:host(:not(.single-column)) .actions{display:flex;justify-content:flex-end;margin-top:0}}.avatar,.flag,.title-container,.container>h1.title{margin-inline:16px}.title-container{display:flex;flex-direction:column;overflow:hidden;max-width:calc(100% - 32px)}.avatar{margin-bottom:16px}.flag{margin-bottom:4px}.flag .custom-flag{margin-block:4px}.title{margin-bottom:2px}.title.clickable{cursor:pointer}.title.has-icon{display:flex;flex-direction:row;align-items:center}.value{max-width:100%;margin-bottom:4px}.value-unit{font-weight:initial;color:var(--kirby-text-color-semi-dark);margin-left:4px;font-size:50%}.subtitle{display:flex;flex-flow:row wrap;column-gap:.25em}.subtitle span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.custom-section{margin-top:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.FitHeadingDirective, selector: "h1[kirbyFitHeading],h2[kirbyFitHeading],h3[kirbyFitHeading]", inputs: ["kirbyFitHeading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
101
101
  }
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: HeaderComponent, decorators: [{
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HeaderComponent, decorators: [{
103
103
  type: Component,
104
104
  args: [{ selector: 'kirby-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"!!avatar || !!progressCircle\" class=\"avatar\">\n <ng-content select=\"kirby-avatar,kirby-progress-circle\"></ng-content>\n</div>\n\n<div *ngIf=\"!!flag || !!customFlagTemplate\" class=\"flag\">\n <ng-container *ngIf=\"!!flag\">\n <ng-content select=\"kirby-flag\"></ng-content>\n </ng-container>\n\n <!-- Custom Content in Flag section: -->\n <ng-container *ngIf=\"!!customFlagTemplate\">\n <div class=\"custom-flag\">\n <ng-container *ngTemplateOutlet=\"customFlagTemplate\"></ng-container>\n </div>\n </ng-container>\n</div>\n\n<div class=\"container\">\n <!-- Title and value - title: -->\n <h1 *ngIf=\"!!title && !!value\" #titleElement class=\"title kirby-text-medium\" [class.clickable]=\"hasInteractiveTitle !== false && titleClick.observed\" [class.has-icon]=\"!!titleActionIconTemplate\" (click)=\"onTitleClick($event)\">\n {{ title }}\n <ng-container *ngTemplateOutlet=\"titleActionIconTemplate\"></ng-container>\n </h1>\n <div class=\"title-container\">\n <!-- Only title, no value: -->\n <h1 *ngIf=\"!!title && !value\" #titleElement class=\"title\" [kirbyFitHeading]=\"fitHeadingConfig\">\n {{ title }}\n </h1>\n \n <!-- Title and value - value: -->\n <h3 *ngIf=\"!!value\" class=\"value kirby-text-display-3\" [kirbyFitHeading]=\"fitHeadingConfig\">{{ value }}<span class=\"value-unit semi-dark-text\" *ngIf=\"!!valueUnit\">{{ valueUnit }}</span></h3>\n \n <!-- Subtitles: -->\n <ng-container\n *ngTemplateOutlet=\"subTitleTemplate; context: { $implicit: _subtitles1 }\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"subTitleTemplate; context: { $implicit: _subtitles2 }\"\n ></ng-container>\n\n <!-- Custom section -->\n <div\n *ngIf=\"!!customSectionTemplate\"\n class=\"custom-section\"\n >\n <ng-container *ngTemplateOutlet=\"customSectionTemplate\"></ng-container>\n </div>\n </div>\n \n <!-- Actions: -->\n <div\n *ngIf=\"!!actionsTemplate\"\n #actionsElement\n class=\"actions\"\n [class.emphasize]=\"emphasizeActions\"\n >\n <ng-container *ngTemplateOutlet=\"actionsTemplate; injector: _actionGroupInjector\"></ng-container>\n </div>\n</div>\n\n<ng-template #subTitleTemplate let-subtitles>\n <div *ngIf=\"!!subtitles\" class=\"subtitle kirby-text-small\">\n <span *ngFor=\"let subtitle of subtitles\">{{subtitle}}</span>\n </div>\n</ng-template>", styles: [":host{display:flex;flex-direction:column;margin-top:16px;margin-bottom:32px}@media (max-width: 767px){:host:has(>.avatar::ng-deep){margin-top:8px}}@media (min-width: 768px){:host{margin-top:24px}}.container{display:flex;flex-direction:column;align-items:flex-start;max-width:100%}.container>h1.title{margin-bottom:0}@media (min-width: 768px){:host(:not(.single-column)) .container:has(>.actions){display:grid;grid-template-columns:auto max-content;column-gap:24px}:host(:not(.single-column)) .container:has(>.actions) .title-container{grid-column-start:1}}:host(.centered){align-items:center}:host(.centered) .container{align-items:center}:host(.centered) .container>h1.title{text-align:center}:host(.centered) .container>h1.title.has-icon{justify-content:center}:host(.centered) .title-container{align-items:center;text-align:center}@media (min-width: 768px){:host(.centered):not(.single-column) .container:has(>.actions){grid-template-columns:minmax(0,1fr) minmax(0,4fr) minmax(0,1fr);align-self:stretch}:host(.centered):not(.single-column) .container:has(>.actions) .actions{align-self:flex-start}:host(.centered):not(.single-column) .container:has(>.actions)>h1.title,:host(.centered):not(.single-column) .container:has(>.actions) .title-container{grid-column-start:2}}.actions{margin-top:24px;margin-inline:8px}@media (max-width: 767px){.actions:not(.emphasize){display:none}}@media (min-width: 768px){:host(:not(.single-column)) .actions{display:flex;justify-content:flex-end;margin-top:0}}.avatar,.flag,.title-container,.container>h1.title{margin-inline:16px}.title-container{display:flex;flex-direction:column;overflow:hidden;max-width:calc(100% - 32px)}.avatar{margin-bottom:16px}.flag{margin-bottom:4px}.flag .custom-flag{margin-block:4px}.title{margin-bottom:2px}.title.clickable{cursor:pointer}.title.has-icon{display:flex;flex-direction:row;align-items:center}.value{max-width:100%;margin-bottom:4px}.value-unit{font-weight:initial;color:var(--kirby-text-color-semi-dark);margin-left:4px;font-size:50%}.subtitle{display:flex;flex-flow:row wrap;column-gap:.25em}.subtitle span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.custom-section{margin-top:8px}\n"] }]
105
105
  }], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { centered: [{
@@ -11,8 +11,8 @@ const declarations = [
11
11
  HeaderCustomFlagDirective,
12
12
  ];
13
13
  export class HeaderModule {
14
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: HeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.4", ngImport: i0, type: HeaderModule, declarations: [HeaderComponent,
14
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: HeaderModule, declarations: [HeaderComponent,
16
16
  HeaderActionsDirective,
17
17
  HeaderCustomSectionDirective,
18
18
  HeaderTitleActionIconDirective,
@@ -21,9 +21,9 @@ export class HeaderModule {
21
21
  HeaderCustomSectionDirective,
22
22
  HeaderTitleActionIconDirective,
23
23
  HeaderCustomFlagDirective] }); }
24
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: HeaderModule, imports: [CommonModule] }); }
24
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HeaderModule, imports: [CommonModule] }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: HeaderModule, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HeaderModule, decorators: [{
27
27
  type: NgModule,
28
28
  args: [{
29
29
  declarations: declarations,
@@ -16,10 +16,10 @@ export class IonicElementPartHelper {
16
16
  return;
17
17
  this.renderer.setAttribute(partElement, 'part', partName);
18
18
  }
19
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IonicElementPartHelper, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
20
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IonicElementPartHelper }); }
19
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IonicElementPartHelper, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
20
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IonicElementPartHelper }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IonicElementPartHelper, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IonicElementPartHelper, decorators: [{
23
23
  type: Injectable
24
24
  }], ctorParameters: () => [{ type: i0.Renderer2 }] });
25
25
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW9uaWMtZWxlbWVudC1wYXJ0LWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2hlbHBlcnMvc3JjL2lvbmljLWVsZW1lbnQtcGFydC1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUcvQyxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLFlBQW9CLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7SUFBRyxDQUFDO0lBRXBDLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBZ0IsRUFBRSxlQUEyQixFQUFFLFFBQWdCO1FBQ2xGLHNEQUFzRDtRQUN0RCxNQUFNLGNBQWMsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxRSxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksT0FBTyxDQUFjLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDL0QsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDakYsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLFdBQVcsR0FBZ0IsYUFBYSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEYsSUFBSSxDQUFDLFdBQVc7WUFBRSxPQUFPO1FBRXpCLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDNUQsQ0FBQztpSUFkVSxzQkFBc0I7cUlBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFEbEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29tcG9uZW50T25SZWFkeSB9IGZyb20gJ0Bpb25pYy9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIElvbmljRWxlbWVudFBhcnRIZWxwZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgcHVibGljIGFzeW5jIHNldFBhcnQocGFydE5hbWU6IHN0cmluZywgaW9uaWNFbGVtZW50UmVmOiBFbGVtZW50UmVmLCBzZWxlY3Rvcjogc3RyaW5nKSB7XG4gICAgLy8gRW5zdXJlIGN1c3RvbSBlbGVtZW50IGhhcyBiZWVuIGRlZmluZWQgYW5kIHJlbmRlcmVkXG4gICAgYXdhaXQgY3VzdG9tRWxlbWVudHMud2hlbkRlZmluZWQoaW9uaWNFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubG9jYWxOYW1lKTtcbiAgICBjb25zdCBjdXN0b21FbGVtZW50ID0gYXdhaXQgbmV3IFByb21pc2U8SFRNTEVsZW1lbnQ+KChyZXNvbHZlKSA9PiB7XG4gICAgICBjb21wb25lbnRPblJlYWR5KGlvbmljRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAoZWxlbWVudCkgPT4gcmVzb2x2ZShlbGVtZW50KSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBwYXJ0RWxlbWVudDogSFRNTEVsZW1lbnQgPSBjdXN0b21FbGVtZW50LnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7XG4gICAgaWYgKCFwYXJ0RWxlbWVudCkgcmV0dXJuO1xuXG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUocGFydEVsZW1lbnQsICdwYXJ0JywgcGFydE5hbWUpO1xuICB9XG59XG4iXX0=
@@ -22,10 +22,10 @@ export class LineClampHelper {
22
22
  this.renderer.removeStyle(element, config.lineClamp);
23
23
  this.renderer.removeStyle(element, config.lineHeight);
24
24
  }
25
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: LineClampHelper, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
26
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: LineClampHelper }); }
25
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LineClampHelper, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
26
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LineClampHelper }); }
27
27
  }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: LineClampHelper, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LineClampHelper, decorators: [{
29
29
  type: Injectable
30
30
  }], ctorParameters: () => [{ type: i0.Renderer2 }] });
31
31
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZS1jbGFtcC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9oZWxwZXJzL3NyYy9saW5lLWNsYW1wLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFM0UsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUMzQixTQUFTLEVBQUUsa0JBQWtCO0lBQzdCLFNBQVMsRUFBRSxjQUFjO0lBQ3pCLFVBQVUsRUFBRSxlQUFlO0NBQzVCLENBQUMsQ0FBQztBQUdILE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQW9CLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7SUFBRyxDQUFDO0lBRTNDLFdBQVcsQ0FBQyxPQUFnQixFQUFFLFFBQWdCO1FBQzVDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxhQUFhLENBQUMsT0FBZ0IsRUFBRSxVQUFrQjtRQUNoRCxtREFBbUQ7UUFDbkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFRCxlQUFlLENBQUMsT0FBZ0I7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEQsQ0FBQztpSUFqQlUsZUFBZTtxSUFBZixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUmVuZGVyZXIyLCBSZW5kZXJlclN0eWxlRmxhZ3MyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmNvbnN0IGNvbmZpZyA9IE9iamVjdC5mcmVlemUoe1xuICBjbGFzc05hbWU6ICdraXJieS1saW5lLWNsYW1wJyxcbiAgbGluZUNsYW1wOiAnLS1saW5lLWNsYW1wJyxcbiAgbGluZUhlaWdodDogJy0tbGluZS1oZWlnaHQnLFxufSk7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMaW5lQ2xhbXBIZWxwZXIge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgc2V0TWF4TGluZXMoZWxlbWVudDogRWxlbWVudCwgbWF4TGluZXM6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudCwgY29uZmlnLmxpbmVDbGFtcCwgbWF4TGluZXMsIFJlbmRlcmVyU3R5bGVGbGFnczIuRGFzaENhc2UpO1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZWxlbWVudCwgY29uZmlnLmNsYXNzTmFtZSk7XG4gIH1cblxuICBzZXRMaW5lSGVpZ2h0KGVsZW1lbnQ6IEVsZW1lbnQsIGxpbmVIZWlnaHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIC8vIE9ubHkgbmVjZXNzYXJ5IGZvciB0aGUgZmFsbGJhY2sgc29sdXRpb24gdG8gd29ya1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudCwgY29uZmlnLmxpbmVIZWlnaHQsIGxpbmVIZWlnaHQsIFJlbmRlcmVyU3R5bGVGbGFnczIuRGFzaENhc2UpO1xuICB9XG5cbiAgcmVtb3ZlTGluZUNsYW1wKGVsZW1lbnQ6IEVsZW1lbnQpIHtcbiAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGVsZW1lbnQsIGNvbmZpZy5jbGFzc05hbWUpO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUoZWxlbWVudCwgY29uZmlnLmxpbmVDbGFtcCk7XG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVTdHlsZShlbGVtZW50LCBjb25maWcubGluZUhlaWdodCk7XG4gIH1cbn1cbiJdfQ==
@@ -15,10 +15,10 @@ export class PlatformService {
15
15
  const query = `(min-width: ${DesignTokenHelper.breakpoints.medium})`;
16
16
  return this.windowRef.nativeWindow.matchMedia(query).matches;
17
17
  }
18
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PlatformService, deps: [{ token: i1.WindowRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
19
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PlatformService, providedIn: 'root' }); }
18
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PlatformService, deps: [{ token: i1.WindowRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
19
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PlatformService, providedIn: 'root' }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PlatformService, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PlatformService, decorators: [{
22
22
  type: Injectable,
23
23
  args: [{
24
24
  providedIn: 'root',
@@ -1,8 +1,16 @@
1
- import { Injectable } from '@angular/core';
1
+ import { Inject, Injectable, InjectionToken } from '@angular/core';
2
2
  import { kirbyIconSettings } from './kirby-icon-settings';
3
3
  import * as i0 from "@angular/core";
4
+ export const DEFAULT_BUILT_IN_ICONS_URL = 'assets/kirby/icons/svg/';
5
+ /**
6
+ * Token used to configure base URL for path to built-in icons. Default is 'assets/kirby/icons/svg'.
7
+ */
8
+ export const BUILT_IN_ICONS_URL = new InjectionToken('BUILT_IN_ICONS_URL', {
9
+ factory: () => DEFAULT_BUILT_IN_ICONS_URL,
10
+ });
4
11
  export class IconRegistryService {
5
- constructor() {
12
+ constructor(builtInIconsUrl) {
13
+ this.builtInIconsUrl = builtInIconsUrl;
6
14
  this.iconRegistry = new Map();
7
15
  this.addDefaultIcons();
8
16
  }
@@ -24,7 +32,12 @@ export class IconRegistryService {
24
32
  });
25
33
  }
26
34
  addDefaultIcons() {
27
- this.addIcons(kirbyIconSettings.icons);
35
+ const baseUrl = this.builtInIconsUrl ?? DEFAULT_BUILT_IN_ICONS_URL;
36
+ const baseUrlWithSlash = baseUrl.endsWith('/') ? baseUrl : baseUrl + '/';
37
+ kirbyIconSettings.icons.forEach(({ name, svg }) => {
38
+ const url = baseUrlWithSlash + svg;
39
+ this.addIcon(name, url);
40
+ });
28
41
  }
29
42
  getIcons() {
30
43
  return [...this.iconRegistry].map((keyValPair) => ({ name: keyValPair[0], svg: keyValPair[1] }));
@@ -33,13 +46,16 @@ export class IconRegistryService {
33
46
  const svg = this.iconRegistry.get(name);
34
47
  return svg ? { name, svg } : undefined;
35
48
  }
36
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IconRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
37
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IconRegistryService, providedIn: 'root' }); }
49
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IconRegistryService, deps: [{ token: BUILT_IN_ICONS_URL }], target: i0.ɵɵFactoryTarget.Injectable }); }
50
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IconRegistryService, providedIn: 'root' }); }
38
51
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IconRegistryService, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IconRegistryService, decorators: [{
40
53
  type: Injectable,
41
54
  args: [{
42
55
  providedIn: 'root',
43
56
  }]
44
- }], ctorParameters: () => [] });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1yZWdpc3RyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vaWNvbi9zcmMvaWNvbi1yZWdpc3RyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBSzFELE1BQU0sT0FBTyxtQkFBbUI7SUFHOUI7UUFGUSxpQkFBWSxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO1FBRy9DLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU0sT0FBTyxDQUFDLFFBQWdCLEVBQUUsT0FBZTtRQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDM0MsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsSUFBSSxDQUFDLG9CQUFvQixRQUFRLGtCQUFrQixDQUFDLENBQUM7UUFDL0QsQ0FBQztJQUNILENBQUM7SUFFTSxRQUFRLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDbkMsT0FBTztRQUNULENBQUM7UUFDRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDckIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUMvQixDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBVyxDQUFBLENBQ3RFLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxDQUFDLElBQVk7UUFDbEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDekMsQ0FBQztpSUF0Q1UsbUJBQW1CO3FJQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7MkZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4vaWNvbi1zZXR0aW5ncyc7XG5pbXBvcnQgeyBraXJieUljb25TZXR0aW5ncyB9IGZyb20gJy4va2lyYnktaWNvbi1zZXR0aW5ncyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBJY29uUmVnaXN0cnlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBpY29uUmVnaXN0cnkgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuYWRkRGVmYXVsdEljb25zKCk7XG4gIH1cblxuICBwdWJsaWMgYWRkSWNvbihpY29uTmFtZTogc3RyaW5nLCBzdmdQYXRoOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaWNvblJlZ2lzdHJ5LmhhcyhpY29uTmFtZSkpIHtcbiAgICAgIHRoaXMuaWNvblJlZ2lzdHJ5LnNldChpY29uTmFtZSwgc3ZnUGF0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUud2FybihgSWNvbiB3aXRoIG5hbWU6IFwiJHtpY29uTmFtZX1cIiBhbHJlYWR5IGV4aXN0c2ApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhZGRJY29ucyhpY29uczogSWNvbltdKTogdm9pZCB7XG4gICAgaWYgKCFpY29ucykge1xuICAgICAgY29uc29sZS5lcnJvcignSWNvbnMgbm90IGRlZmluZWQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWNvbnMuZm9yRWFjaCgoaWNvbikgPT4ge1xuICAgICAgdGhpcy5hZGRJY29uKGljb24ubmFtZSwgaWNvbi5zdmcpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGREZWZhdWx0SWNvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5hZGRJY29ucyhraXJieUljb25TZXR0aW5ncy5pY29ucyk7XG4gIH1cblxuICBnZXRJY29ucygpOiBJY29uW10ge1xuICAgIHJldHVybiBbLi4udGhpcy5pY29uUmVnaXN0cnldLm1hcChcbiAgICAgIChrZXlWYWxQYWlyKSA9PiAoeyBuYW1lOiBrZXlWYWxQYWlyWzBdLCBzdmc6IGtleVZhbFBhaXJbMV0gfSBhcyBJY29uKVxuICAgICk7XG4gIH1cblxuICBnZXRJY29uKG5hbWU6IHN0cmluZyk6IEljb24ge1xuICAgIGNvbnN0IHN2ZyA9IHRoaXMuaWNvblJlZ2lzdHJ5LmdldChuYW1lKTtcbiAgICByZXR1cm4gc3ZnID8geyBuYW1lLCBzdmcgfSA6IHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
57
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
58
+ type: Inject,
59
+ args: [BUILT_IN_ICONS_URL]
60
+ }] }] });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1yZWdpc3RyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vaWNvbi9zcmMvaWNvbi1yZWdpc3RyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFFMUQsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcseUJBQXlCLENBQUM7QUFFcEU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBUyxvQkFBb0IsRUFBRTtJQUNqRixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsMEJBQTBCO0NBQzFDLENBQUMsQ0FBQztBQUtILE1BQU0sT0FBTyxtQkFBbUI7SUFHOUIsWUFBZ0QsZUFBdUI7UUFBdkIsb0JBQWUsR0FBZixlQUFlLENBQVE7UUFGL0QsaUJBQVksR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQUcvQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLE9BQU8sQ0FBQyxRQUFnQixFQUFFLE9BQWU7UUFDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzNDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsUUFBUSxrQkFBa0IsQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDSCxDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQWE7UUFDM0IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ25DLE9BQU87UUFDVCxDQUFDO1FBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sZUFBZTtRQUNyQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxJQUFJLDBCQUEwQixDQUFDO1FBQ25FLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBQ3pFLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFO1lBQ2hELE1BQU0sR0FBRyxHQUFHLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FDL0IsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQVcsQ0FBQSxDQUN0RSxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFZO1FBQ2xCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3pDLENBQUM7aUlBM0NVLG1CQUFtQixrQkFHVixrQkFBa0I7cUlBSDNCLG1CQUFtQixjQUZsQixNQUFNOzsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFJYyxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSWNvbiB9IGZyb20gJy4vaWNvbi1zZXR0aW5ncyc7XG5pbXBvcnQgeyBraXJieUljb25TZXR0aW5ncyB9IGZyb20gJy4va2lyYnktaWNvbi1zZXR0aW5ncyc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0JVSUxUX0lOX0lDT05TX1VSTCA9ICdhc3NldHMva2lyYnkvaWNvbnMvc3ZnLyc7XG5cbi8qKlxuICogVG9rZW4gdXNlZCB0byBjb25maWd1cmUgYmFzZSBVUkwgZm9yIHBhdGggdG8gYnVpbHQtaW4gaWNvbnMuIERlZmF1bHQgaXMgJ2Fzc2V0cy9raXJieS9pY29ucy9zdmcnLlxuICovXG5leHBvcnQgY29uc3QgQlVJTFRfSU5fSUNPTlNfVVJMID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0JVSUxUX0lOX0lDT05TX1VSTCcsIHtcbiAgZmFjdG9yeTogKCkgPT4gREVGQVVMVF9CVUlMVF9JTl9JQ09OU19VUkwsXG59KTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEljb25SZWdpc3RyeVNlcnZpY2Uge1xuICBwcml2YXRlIGljb25SZWdpc3RyeSA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChCVUlMVF9JTl9JQ09OU19VUkwpIHByaXZhdGUgYnVpbHRJbkljb25zVXJsOiBzdHJpbmcpIHtcbiAgICB0aGlzLmFkZERlZmF1bHRJY29ucygpO1xuICB9XG5cbiAgcHVibGljIGFkZEljb24oaWNvbk5hbWU6IHN0cmluZywgc3ZnUGF0aDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmljb25SZWdpc3RyeS5oYXMoaWNvbk5hbWUpKSB7XG4gICAgICB0aGlzLmljb25SZWdpc3RyeS5zZXQoaWNvbk5hbWUsIHN2Z1BhdGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oYEljb24gd2l0aCBuYW1lOiBcIiR7aWNvbk5hbWV9XCIgYWxyZWFkeSBleGlzdHNgKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWRkSWNvbnMoaWNvbnM6IEljb25bXSk6IHZvaWQge1xuICAgIGlmICghaWNvbnMpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ljb25zIG5vdCBkZWZpbmVkJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGljb25zLmZvckVhY2goKGljb24pID0+IHtcbiAgICAgIHRoaXMuYWRkSWNvbihpY29uLm5hbWUsIGljb24uc3ZnKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRGVmYXVsdEljb25zKCk6IHZvaWQge1xuICAgIGNvbnN0IGJhc2VVcmwgPSB0aGlzLmJ1aWx0SW5JY29uc1VybCA/PyBERUZBVUxUX0JVSUxUX0lOX0lDT05TX1VSTDtcbiAgICBjb25zdCBiYXNlVXJsV2l0aFNsYXNoID0gYmFzZVVybC5lbmRzV2l0aCgnLycpID8gYmFzZVVybCA6IGJhc2VVcmwgKyAnLyc7XG4gICAga2lyYnlJY29uU2V0dGluZ3MuaWNvbnMuZm9yRWFjaCgoeyBuYW1lLCBzdmcgfSkgPT4ge1xuICAgICAgY29uc3QgdXJsID0gYmFzZVVybFdpdGhTbGFzaCArIHN2ZztcbiAgICAgIHRoaXMuYWRkSWNvbihuYW1lLCB1cmwpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0SWNvbnMoKTogSWNvbltdIHtcbiAgICByZXR1cm4gWy4uLnRoaXMuaWNvblJlZ2lzdHJ5XS5tYXAoXG4gICAgICAoa2V5VmFsUGFpcikgPT4gKHsgbmFtZToga2V5VmFsUGFpclswXSwgc3ZnOiBrZXlWYWxQYWlyWzFdIH0gYXMgSWNvbilcbiAgICApO1xuICB9XG5cbiAgZ2V0SWNvbihuYW1lOiBzdHJpbmcpOiBJY29uIHtcbiAgICBjb25zdCBzdmcgPSB0aGlzLmljb25SZWdpc3RyeS5nZXQobmFtZSk7XG4gICAgcmV0dXJuIHN2ZyA/IHsgbmFtZSwgc3ZnIH0gOiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -45,10 +45,10 @@ forgot to configure the custom icon through the 'IconRegistryService'?`);
45
45
  this.icon = this.iconRegistryService.getIcon(changes.name.currentValue);
46
46
  }
47
47
  }
48
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IconComponent, deps: [{ token: i1.IconRegistryService }], target: i0.ɵɵFactoryTarget.Component }); }
49
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: IconComponent, selector: "kirby-icon", inputs: { size: "size", name: "name" }, host: { properties: { "class.kirby-icon": "true", "class": "this.size" } }, usesOnChanges: true, ngImport: i0, template: "<ion-icon [src]=\"icon?.svg\"></ion-icon>\n", styles: [":host{display:inline-flex;align-items:center;justify-content:center;font-size:var(--kirby-icon-font-size, 24px);margin-left:var(--kirby-icon-margin-left, unset);margin-right:var(--kirby-icon-margin-right, unset)}:host svg path{fill:currentcolor;stroke:currentcolor}:host(.xs){--kirby-icon-font-size: 16px}:host(.sm){--kirby-icon-font-size: 24px}:host(.md){--kirby-icon-font-size: 32px}:host(.lg){--kirby-icon-font-size: 56px}:host(.primary){color:var(--kirby-primary)}:host(.secondary){color:var(--kirby-secondary)}:host(.tertiary){color:var(--kirby-tertiary)}:host(.success){color:var(--kirby-success)}:host(.warning){color:var(--kirby-warning)}:host(.danger){color:var(--kirby-danger)}:host(.white-overlay){color:var(--kirby-white-overlay)}:host(.light){color:var(--kirby-light)}:host(.medium){color:var(--kirby-medium)}:host(.dark){color:var(--kirby-dark)}:host(.dark-overlay){color:var(--kirby-dark-overlay)}:host-context(kirby-item)[slot=start]{margin-inline-end:8px}:host-context(kirby-item)[slot=end]{margin-inline-start:8px}:host-context(ion-tab-button){pointer-events:none}\n"], dependencies: [{ kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
48
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IconComponent, deps: [{ token: i1.IconRegistryService }], target: i0.ɵɵFactoryTarget.Component }); }
49
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: IconComponent, selector: "kirby-icon", inputs: { size: "size", name: "name" }, host: { properties: { "class.kirby-icon": "true", "class": "this.size" } }, usesOnChanges: true, ngImport: i0, template: "<ion-icon [src]=\"icon?.svg\"></ion-icon>\n", styles: [":host{display:inline-flex;align-items:center;justify-content:center;font-size:var(--kirby-icon-font-size, 24px);margin-left:var(--kirby-icon-margin-left, unset);margin-right:var(--kirby-icon-margin-right, unset)}:host svg path{fill:currentcolor;stroke:currentcolor}:host(.xs){--kirby-icon-font-size: 16px}:host(.sm){--kirby-icon-font-size: 24px}:host(.md){--kirby-icon-font-size: 32px}:host(.lg){--kirby-icon-font-size: 56px}:host(.primary){color:var(--kirby-primary)}:host(.secondary){color:var(--kirby-secondary)}:host(.tertiary){color:var(--kirby-tertiary)}:host(.success){color:var(--kirby-success)}:host(.warning){color:var(--kirby-warning)}:host(.danger){color:var(--kirby-danger)}:host(.white-overlay){color:var(--kirby-white-overlay)}:host(.light){color:var(--kirby-light)}:host(.medium){color:var(--kirby-medium)}:host(.dark){color:var(--kirby-dark)}:host(.dark-overlay){color:var(--kirby-dark-overlay)}:host-context(kirby-item)[slot=start]{margin-inline-end:8px}:host-context(kirby-item)[slot=end]{margin-inline-start:8px}:host-context(ion-tab-button){pointer-events:none}\n"], dependencies: [{ kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
50
50
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IconComponent, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IconComponent, decorators: [{
52
52
  type: Component,
53
53
  args: [{ selector: 'kirby-icon', host: { '[class.kirby-icon]': 'true' }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ion-icon [src]=\"icon?.svg\"></ion-icon>\n", styles: [":host{display:inline-flex;align-items:center;justify-content:center;font-size:var(--kirby-icon-font-size, 24px);margin-left:var(--kirby-icon-margin-left, unset);margin-right:var(--kirby-icon-margin-right, unset)}:host svg path{fill:currentcolor;stroke:currentcolor}:host(.xs){--kirby-icon-font-size: 16px}:host(.sm){--kirby-icon-font-size: 24px}:host(.md){--kirby-icon-font-size: 32px}:host(.lg){--kirby-icon-font-size: 56px}:host(.primary){color:var(--kirby-primary)}:host(.secondary){color:var(--kirby-secondary)}:host(.tertiary){color:var(--kirby-tertiary)}:host(.success){color:var(--kirby-success)}:host(.warning){color:var(--kirby-warning)}:host(.danger){color:var(--kirby-danger)}:host(.white-overlay){color:var(--kirby-white-overlay)}:host(.light){color:var(--kirby-light)}:host(.medium){color:var(--kirby-medium)}:host(.dark){color:var(--kirby-dark)}:host(.dark-overlay){color:var(--kirby-dark-overlay)}:host-context(kirby-item)[slot=start]{margin-inline-end:8px}:host-context(kirby-item)[slot=end]{margin-inline-start:8px}:host-context(ion-tab-button){pointer-events:none}\n"] }]
54
54
  }], ctorParameters: () => [{ type: i1.IconRegistryService }], propDecorators: { size: [{
@@ -4,11 +4,11 @@ import { IonIcon } from '@ionic/angular/standalone';
4
4
  import { IconComponent } from './icon.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class IconModule {
7
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.4", ngImport: i0, type: IconModule, declarations: [IconComponent], imports: [ThemeColorDirective, IonIcon], exports: [IconComponent, ThemeColorDirective] }); }
9
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IconModule, imports: [IonIcon] }); }
7
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: IconModule, declarations: [IconComponent], imports: [ThemeColorDirective, IonIcon], exports: [IconComponent, ThemeColorDirective] }); }
9
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IconModule, imports: [IonIcon] }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: IconModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: IconModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  imports: [ThemeColorDirective, IonIcon],