@kirbydesign/designsystem 11.11.2 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (290) hide show
  1. package/fesm2022/kirbydesign-designsystem-accordion.mjs +246 -135
  2. package/fesm2022/kirbydesign-designsystem-accordion.mjs.map +1 -1
  3. package/fesm2022/kirbydesign-designsystem-action-group.mjs +229 -134
  4. package/fesm2022/kirbydesign-designsystem-action-group.mjs.map +1 -1
  5. package/fesm2022/kirbydesign-designsystem-avatar.mjs +98 -55
  6. package/fesm2022/kirbydesign-designsystem-avatar.mjs.map +1 -1
  7. package/fesm2022/kirbydesign-designsystem-badge.mjs +85 -42
  8. package/fesm2022/kirbydesign-designsystem-badge.mjs.map +1 -1
  9. package/fesm2022/kirbydesign-designsystem-button.mjs +203 -170
  10. package/fesm2022/kirbydesign-designsystem-button.mjs.map +1 -1
  11. package/fesm2022/kirbydesign-designsystem-calendar.mjs +524 -516
  12. package/fesm2022/kirbydesign-designsystem-calendar.mjs.map +1 -1
  13. package/fesm2022/kirbydesign-designsystem-card.mjs +407 -205
  14. package/fesm2022/kirbydesign-designsystem-card.mjs.map +1 -1
  15. package/fesm2022/kirbydesign-designsystem-chart.mjs +1388 -1469
  16. package/fesm2022/kirbydesign-designsystem-chart.mjs.map +1 -1
  17. package/fesm2022/kirbydesign-designsystem-checkbox.mjs +215 -176
  18. package/fesm2022/kirbydesign-designsystem-checkbox.mjs.map +1 -1
  19. package/fesm2022/kirbydesign-designsystem-config.mjs +50 -96
  20. package/fesm2022/kirbydesign-designsystem-config.mjs.map +1 -1
  21. package/fesm2022/kirbydesign-designsystem-data-table.mjs +180 -83
  22. package/fesm2022/kirbydesign-designsystem-data-table.mjs.map +1 -1
  23. package/fesm2022/kirbydesign-designsystem-divider.mjs +46 -19
  24. package/fesm2022/kirbydesign-designsystem-divider.mjs.map +1 -1
  25. package/fesm2022/kirbydesign-designsystem-dropdown.mjs +878 -752
  26. package/fesm2022/kirbydesign-designsystem-dropdown.mjs.map +1 -1
  27. package/fesm2022/kirbydesign-designsystem-empty-state.mjs +164 -91
  28. package/fesm2022/kirbydesign-designsystem-empty-state.mjs.map +1 -1
  29. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs +213 -85
  30. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs.map +1 -1
  31. package/fesm2022/kirbydesign-designsystem-flag.mjs +67 -33
  32. package/fesm2022/kirbydesign-designsystem-flag.mjs.map +1 -1
  33. package/fesm2022/kirbydesign-designsystem-form-field.mjs +1260 -891
  34. package/fesm2022/kirbydesign-designsystem-form-field.mjs.map +1 -1
  35. package/fesm2022/kirbydesign-designsystem-gesture.mjs +38 -23
  36. package/fesm2022/kirbydesign-designsystem-gesture.mjs.map +1 -1
  37. package/fesm2022/kirbydesign-designsystem-header.mjs +422 -182
  38. package/fesm2022/kirbydesign-designsystem-header.mjs.map +1 -1
  39. package/fesm2022/kirbydesign-designsystem-helpers-scss.mjs +16 -14
  40. package/fesm2022/kirbydesign-designsystem-helpers-scss.mjs.map +1 -1
  41. package/fesm2022/kirbydesign-designsystem-helpers.mjs +251 -361
  42. package/fesm2022/kirbydesign-designsystem-helpers.mjs.map +1 -1
  43. package/fesm2022/kirbydesign-designsystem-icon.mjs +881 -296
  44. package/fesm2022/kirbydesign-designsystem-icon.mjs.map +1 -1
  45. package/fesm2022/kirbydesign-designsystem-item-group.mjs +52 -23
  46. package/fesm2022/kirbydesign-designsystem-item-group.mjs.map +1 -1
  47. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs +147 -43
  48. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs.map +1 -1
  49. package/fesm2022/kirbydesign-designsystem-item.mjs +395 -151
  50. package/fesm2022/kirbydesign-designsystem-item.mjs.map +1 -1
  51. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs +136 -54
  52. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs.map +1 -1
  53. package/fesm2022/kirbydesign-designsystem-list.mjs +1182 -697
  54. package/fesm2022/kirbydesign-designsystem-list.mjs.map +1 -1
  55. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs +166 -76
  56. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs.map +1 -1
  57. package/fesm2022/kirbydesign-designsystem-menu.mjs +420 -311
  58. package/fesm2022/kirbydesign-designsystem-menu.mjs.map +1 -1
  59. package/fesm2022/kirbydesign-designsystem-modal.mjs +2467 -1912
  60. package/fesm2022/kirbydesign-designsystem-modal.mjs.map +1 -1
  61. package/fesm2022/kirbydesign-designsystem-page.mjs +1505 -905
  62. package/fesm2022/kirbydesign-designsystem-page.mjs.map +1 -1
  63. package/fesm2022/kirbydesign-designsystem-popover.mjs +204 -169
  64. package/fesm2022/kirbydesign-designsystem-popover.mjs.map +1 -1
  65. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs +209 -158
  66. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs.map +1 -1
  67. package/fesm2022/kirbydesign-designsystem-radio.mjs +537 -365
  68. package/fesm2022/kirbydesign-designsystem-radio.mjs.map +1 -1
  69. package/fesm2022/kirbydesign-designsystem-range.mjs +207 -150
  70. package/fesm2022/kirbydesign-designsystem-range.mjs.map +1 -1
  71. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs +217 -104
  72. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs.map +1 -1
  73. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs +113 -38
  74. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs.map +1 -1
  75. package/fesm2022/kirbydesign-designsystem-section-header.mjs +56 -18
  76. package/fesm2022/kirbydesign-designsystem-section-header.mjs.map +1 -1
  77. package/fesm2022/kirbydesign-designsystem-segmented-control.mjs +276 -232
  78. package/fesm2022/kirbydesign-designsystem-segmented-control.mjs.map +1 -1
  79. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs +319 -382
  80. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs.map +1 -1
  81. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs +73 -84
  82. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs.map +1 -1
  83. package/fesm2022/kirbydesign-designsystem-shared.mjs +665 -531
  84. package/fesm2022/kirbydesign-designsystem-shared.mjs.map +1 -1
  85. package/fesm2022/kirbydesign-designsystem-slide-button.mjs +140 -91
  86. package/fesm2022/kirbydesign-designsystem-slide-button.mjs.map +1 -1
  87. package/fesm2022/kirbydesign-designsystem-slide.mjs +360 -157
  88. package/fesm2022/kirbydesign-designsystem-slide.mjs.map +1 -1
  89. package/fesm2022/kirbydesign-designsystem-spinner.mjs +90 -32
  90. package/fesm2022/kirbydesign-designsystem-spinner.mjs.map +1 -1
  91. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs +348 -181
  92. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs.map +1 -1
  93. package/fesm2022/kirbydesign-designsystem-tabs.mjs +286 -121
  94. package/fesm2022/kirbydesign-designsystem-tabs.mjs.map +1 -1
  95. package/fesm2022/kirbydesign-designsystem-testing-base.mjs +6232 -3164
  96. package/fesm2022/kirbydesign-designsystem-testing-base.mjs.map +1 -1
  97. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs +118 -95
  98. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs.map +1 -1
  99. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs +128 -101
  100. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs.map +1 -1
  101. package/fesm2022/kirbydesign-designsystem-testing.mjs +236 -243
  102. package/fesm2022/kirbydesign-designsystem-testing.mjs.map +1 -1
  103. package/fesm2022/kirbydesign-designsystem-toast.mjs +98 -62
  104. package/fesm2022/kirbydesign-designsystem-toast.mjs.map +1 -1
  105. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs +155 -127
  106. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs.map +1 -1
  107. package/fesm2022/kirbydesign-designsystem-toggle.mjs +180 -150
  108. package/fesm2022/kirbydesign-designsystem-toggle.mjs.map +1 -1
  109. package/fesm2022/kirbydesign-designsystem-types.mjs +39 -24
  110. package/fesm2022/kirbydesign-designsystem-types.mjs.map +1 -1
  111. package/fesm2022/kirbydesign-designsystem.mjs +516 -407
  112. package/fesm2022/kirbydesign-designsystem.mjs.map +1 -1
  113. package/icons/svg/megaphone.svg +3 -0
  114. package/icons/svg/person-blocked.svg +3 -0
  115. package/icons/svg/person-check.svg +3 -0
  116. package/icons/svg/person-close.svg +3 -0
  117. package/icons/svg/person-cloud.svg +3 -0
  118. package/icons/svg/person-power.svg +3 -0
  119. package/icons/svg/person-warning.svg +3 -0
  120. package/icons/svg/phone-device-pin.svg +3 -0
  121. package/icons/svg/phone-device.svg +3 -2
  122. package/package.json +11 -11
  123. package/readme.md +37 -0
  124. package/types/kirbydesign-designsystem-accordion.d.ts +72 -39
  125. package/types/kirbydesign-designsystem-accordion.d.ts.map +1 -1
  126. package/types/kirbydesign-designsystem-action-group.d.ts +46 -39
  127. package/types/kirbydesign-designsystem-action-group.d.ts.map +1 -1
  128. package/types/kirbydesign-designsystem-avatar.d.ts +58 -26
  129. package/types/kirbydesign-designsystem-avatar.d.ts.map +1 -1
  130. package/types/kirbydesign-designsystem-badge.d.ts +30 -19
  131. package/types/kirbydesign-designsystem-badge.d.ts.map +1 -1
  132. package/types/kirbydesign-designsystem-button.d.ts +70 -45
  133. package/types/kirbydesign-designsystem-button.d.ts.map +1 -1
  134. package/types/kirbydesign-designsystem-calendar.d.ts +193 -132
  135. package/types/kirbydesign-designsystem-calendar.d.ts.map +1 -1
  136. package/types/kirbydesign-designsystem-card.d.ts +120 -66
  137. package/types/kirbydesign-designsystem-card.d.ts.map +1 -1
  138. package/types/kirbydesign-designsystem-chart.d.ts +198 -172
  139. package/types/kirbydesign-designsystem-chart.d.ts.map +1 -1
  140. package/types/kirbydesign-designsystem-checkbox.d.ts +96 -68
  141. package/types/kirbydesign-designsystem-checkbox.d.ts.map +1 -1
  142. package/types/kirbydesign-designsystem-config.d.ts +17 -21
  143. package/types/kirbydesign-designsystem-config.d.ts.map +1 -1
  144. package/types/kirbydesign-designsystem-data-table.d.ts +46 -26
  145. package/types/kirbydesign-designsystem-data-table.d.ts.map +1 -1
  146. package/types/kirbydesign-designsystem-divider.d.ts +11 -9
  147. package/types/kirbydesign-designsystem-divider.d.ts.map +1 -1
  148. package/types/kirbydesign-designsystem-dropdown.d.ts +219 -166
  149. package/types/kirbydesign-designsystem-dropdown.d.ts.map +1 -1
  150. package/types/kirbydesign-designsystem-empty-state.d.ts +47 -35
  151. package/types/kirbydesign-designsystem-empty-state.d.ts.map +1 -1
  152. package/types/kirbydesign-designsystem-fab-sheet.d.ts +34 -28
  153. package/types/kirbydesign-designsystem-fab-sheet.d.ts.map +1 -1
  154. package/types/kirbydesign-designsystem-flag.d.ts +18 -13
  155. package/types/kirbydesign-designsystem-flag.d.ts.map +1 -1
  156. package/types/kirbydesign-designsystem-form-field.d.ts +409 -242
  157. package/types/kirbydesign-designsystem-form-field.d.ts.map +1 -1
  158. package/types/kirbydesign-designsystem-gesture.d.ts +41 -46
  159. package/types/kirbydesign-designsystem-gesture.d.ts.map +1 -1
  160. package/types/kirbydesign-designsystem-header.d.ts +102 -64
  161. package/types/kirbydesign-designsystem-header.d.ts.map +1 -1
  162. package/types/kirbydesign-designsystem-helpers-scss.d.ts +6 -8
  163. package/types/kirbydesign-designsystem-helpers-scss.d.ts.map +1 -1
  164. package/types/kirbydesign-designsystem-helpers.d.ts +83 -97
  165. package/types/kirbydesign-designsystem-helpers.d.ts.map +1 -1
  166. package/types/kirbydesign-designsystem-icon.d.ts +63 -59
  167. package/types/kirbydesign-designsystem-icon.d.ts.map +1 -1
  168. package/types/kirbydesign-designsystem-item-group.d.ts +6 -9
  169. package/types/kirbydesign-designsystem-item-group.d.ts.map +1 -1
  170. package/types/kirbydesign-designsystem-item-sliding.d.ts +30 -26
  171. package/types/kirbydesign-designsystem-item-sliding.d.ts.map +1 -1
  172. package/types/kirbydesign-designsystem-item.d.ts +93 -54
  173. package/types/kirbydesign-designsystem-item.d.ts.map +1 -1
  174. package/types/kirbydesign-designsystem-kirby-app.d.ts +18 -19
  175. package/types/kirbydesign-designsystem-kirby-app.d.ts.map +1 -1
  176. package/types/kirbydesign-designsystem-list.d.ts +382 -263
  177. package/types/kirbydesign-designsystem-list.d.ts.map +1 -1
  178. package/types/kirbydesign-designsystem-loading-overlay.d.ts +35 -24
  179. package/types/kirbydesign-designsystem-loading-overlay.d.ts.map +1 -1
  180. package/types/kirbydesign-designsystem-menu.d.ts +119 -69
  181. package/types/kirbydesign-designsystem-menu.d.ts.map +1 -1
  182. package/types/kirbydesign-designsystem-modal.d.ts +577 -455
  183. package/types/kirbydesign-designsystem-modal.d.ts.map +1 -1
  184. package/types/kirbydesign-designsystem-page.d.ts +304 -226
  185. package/types/kirbydesign-designsystem-page.d.ts.map +1 -1
  186. package/types/kirbydesign-designsystem-popover.d.ts +48 -40
  187. package/types/kirbydesign-designsystem-popover.d.ts.map +1 -1
  188. package/types/kirbydesign-designsystem-progress-circle.d.ts +59 -61
  189. package/types/kirbydesign-designsystem-progress-circle.d.ts.map +1 -1
  190. package/types/kirbydesign-designsystem-radio.d.ts +147 -98
  191. package/types/kirbydesign-designsystem-radio.d.ts.map +1 -1
  192. package/types/kirbydesign-designsystem-range.d.ts +90 -45
  193. package/types/kirbydesign-designsystem-range.d.ts.map +1 -1
  194. package/types/kirbydesign-designsystem-reorder-list.d.ts +44 -32
  195. package/types/kirbydesign-designsystem-reorder-list.d.ts.map +1 -1
  196. package/types/kirbydesign-designsystem-router-outlet.d.ts +23 -18
  197. package/types/kirbydesign-designsystem-router-outlet.d.ts.map +1 -1
  198. package/types/kirbydesign-designsystem-section-header.d.ts +5 -8
  199. package/types/kirbydesign-designsystem-section-header.d.ts.map +1 -1
  200. package/types/kirbydesign-designsystem-segmented-control.d.ts +123 -100
  201. package/types/kirbydesign-designsystem-segmented-control.d.ts.map +1 -1
  202. package/types/kirbydesign-designsystem-shared-floating.d.ts +183 -128
  203. package/types/kirbydesign-designsystem-shared-floating.d.ts.map +1 -1
  204. package/types/kirbydesign-designsystem-shared-portal.d.ts +29 -28
  205. package/types/kirbydesign-designsystem-shared-portal.d.ts.map +1 -1
  206. package/types/kirbydesign-designsystem-shared.d.ts +143 -139
  207. package/types/kirbydesign-designsystem-shared.d.ts.map +1 -1
  208. package/types/kirbydesign-designsystem-slide-button.d.ts +43 -34
  209. package/types/kirbydesign-designsystem-slide-button.d.ts.map +1 -1
  210. package/types/kirbydesign-designsystem-slide.d.ts +80 -59
  211. package/types/kirbydesign-designsystem-slide.d.ts.map +1 -1
  212. package/types/kirbydesign-designsystem-spinner.d.ts +13 -14
  213. package/types/kirbydesign-designsystem-spinner.d.ts.map +1 -1
  214. package/types/kirbydesign-designsystem-tab-navigation.d.ts +78 -55
  215. package/types/kirbydesign-designsystem-tab-navigation.d.ts.map +1 -1
  216. package/types/kirbydesign-designsystem-tabs.d.ts +50 -45
  217. package/types/kirbydesign-designsystem-tabs.d.ts.map +1 -1
  218. package/types/kirbydesign-designsystem-testing-base.d.ts +2430 -815
  219. package/types/kirbydesign-designsystem-testing-base.d.ts.map +1 -1
  220. package/types/kirbydesign-designsystem-testing-jasmine.d.ts +9 -10
  221. package/types/kirbydesign-designsystem-testing-jasmine.d.ts.map +1 -1
  222. package/types/kirbydesign-designsystem-testing-jest.d.ts +9 -10
  223. package/types/kirbydesign-designsystem-testing-jest.d.ts.map +1 -1
  224. package/types/kirbydesign-designsystem-testing.d.ts +52 -58
  225. package/types/kirbydesign-designsystem-testing.d.ts.map +1 -1
  226. package/types/kirbydesign-designsystem-toast.d.ts +25 -31
  227. package/types/kirbydesign-designsystem-toast.d.ts.map +1 -1
  228. package/types/kirbydesign-designsystem-toggle-button.d.ts +62 -56
  229. package/types/kirbydesign-designsystem-toggle-button.d.ts.map +1 -1
  230. package/types/kirbydesign-designsystem-toggle.d.ts +71 -63
  231. package/types/kirbydesign-designsystem-toggle.d.ts.map +1 -1
  232. package/types/kirbydesign-designsystem-types.d.ts +15 -22
  233. package/types/kirbydesign-designsystem-types.d.ts.map +1 -1
  234. package/types/kirbydesign-designsystem.d.ts +135 -123
  235. package/types/kirbydesign-designsystem.d.ts.map +1 -1
  236. package/accordion/package.json +0 -4
  237. package/action-group/package.json +0 -4
  238. package/avatar/package.json +0 -4
  239. package/badge/package.json +0 -4
  240. package/button/package.json +0 -4
  241. package/calendar/package.json +0 -4
  242. package/card/package.json +0 -4
  243. package/chart/package.json +0 -4
  244. package/checkbox/package.json +0 -4
  245. package/config/package.json +0 -4
  246. package/data-table/package.json +0 -4
  247. package/divider/package.json +0 -4
  248. package/dropdown/package.json +0 -4
  249. package/empty-state/package.json +0 -4
  250. package/fab-sheet/package.json +0 -4
  251. package/flag/package.json +0 -4
  252. package/form-field/package.json +0 -4
  253. package/gesture/package.json +0 -4
  254. package/header/package.json +0 -4
  255. package/helpers/package.json +0 -4
  256. package/helpers/scss/package.json +0 -4
  257. package/icon/package.json +0 -4
  258. package/item/package.json +0 -4
  259. package/item-group/package.json +0 -4
  260. package/item-sliding/package.json +0 -4
  261. package/kirby-app/package.json +0 -4
  262. package/list/package.json +0 -4
  263. package/loading-overlay/package.json +0 -4
  264. package/menu/package.json +0 -4
  265. package/modal/package.json +0 -4
  266. package/page/package.json +0 -4
  267. package/popover/package.json +0 -4
  268. package/progress-circle/package.json +0 -4
  269. package/radio/package.json +0 -4
  270. package/range/package.json +0 -4
  271. package/reorder-list/package.json +0 -4
  272. package/router-outlet/package.json +0 -4
  273. package/section-header/package.json +0 -4
  274. package/segmented-control/package.json +0 -4
  275. package/shared/floating/package.json +0 -4
  276. package/shared/package.json +0 -4
  277. package/shared/portal/package.json +0 -4
  278. package/slide/package.json +0 -4
  279. package/slide-button/package.json +0 -4
  280. package/spinner/package.json +0 -4
  281. package/tab-navigation/package.json +0 -4
  282. package/tabs/package.json +0 -4
  283. package/testing/package.json +0 -4
  284. package/testing-base/package.json +0 -4
  285. package/testing-jasmine/package.json +0 -4
  286. package/testing-jest/package.json +0 -4
  287. package/toast/package.json +0 -4
  288. package/toggle/package.json +0 -4
  289. package/toggle-button/package.json +0 -4
  290. package/types/package.json +0 -4
@@ -1,185 +1,425 @@
1
- import * as i0 from '@angular/core';
2
- import { Directive, EventEmitter, Injector, ElementRef, TemplateRef, Output, Input, ContentChild, ViewChild, HostBinding, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
- import { Subject } from 'rxjs';
4
- import { ACTIONGROUP_CONFIG } from '@kirbydesign/designsystem/action-group';
5
- import { AvatarComponent } from '@kirbydesign/designsystem/avatar';
6
- import { FlagComponent } from '@kirbydesign/designsystem/flag';
7
- import { ProgressCircleComponent } from '@kirbydesign/designsystem/progress-circle';
8
- import { NgTemplateOutlet, CommonModule } from '@angular/common';
9
- import { FitHeadingDirective } from '@kirbydesign/designsystem/shared';
10
-
11
- class HeaderActionsDirective {
12
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: HeaderActionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
13
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.18", type: HeaderActionsDirective, isStandalone: true, selector: "[kirbyHeaderActions]", ngImport: i0 }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: HeaderActionsDirective, decorators: [{
16
- type: Directive,
17
- args: [{ selector: '[kirbyHeaderActions]' }]
18
- }] });
19
- class HeaderCustomSectionDirective {
20
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: HeaderCustomSectionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
21
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.18", type: HeaderCustomSectionDirective, isStandalone: true, selector: "[kirbyHeaderCustomSection]", ngImport: i0 }); }
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: HeaderCustomSectionDirective, decorators: [{
24
- type: Directive,
25
- args: [{ selector: '[kirbyHeaderCustomSection]' }]
26
- }] });
27
- class HeaderTitleActionIconDirective {
28
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: HeaderTitleActionIconDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
29
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.18", type: HeaderTitleActionIconDirective, isStandalone: true, selector: "[kirbyHeaderTitleActionIcon]", ngImport: i0 }); }
30
- }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: HeaderTitleActionIconDirective, decorators: [{
32
- type: Directive,
33
- args: [{ selector: '[kirbyHeaderTitleActionIcon]' }]
34
- }] });
35
- class HeaderCustomFlagDirective {
36
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: HeaderCustomFlagDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
37
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.18", type: HeaderCustomFlagDirective, isStandalone: true, selector: "[kirbyHeaderCustomFlag]", ngImport: i0 }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: HeaderCustomFlagDirective, decorators: [{
40
- type: Directive,
41
- args: [{ selector: '[kirbyHeaderCustomFlag]' }]
42
- }] });
43
- class HeaderComponent {
44
- get _subtitles1() {
45
- return Array.isArray(this.subtitle1) ? this.subtitle1 : [this.subtitle1];
46
- }
47
- get _subtitles2() {
48
- return Array.isArray(this.subtitle2) ? this.subtitle2 : [this.subtitle2];
49
- }
50
- onTitleClick(event) {
51
- this.titleClick.emit(event);
52
- }
53
- constructor(injector) {
54
- this.injector = injector;
55
- this.emphasizeActions = false;
56
- this.titleClick = new EventEmitter();
57
- this.title$ = new Subject();
58
- }
59
- ngOnInit() {
60
- this.actionGroupConfig = {
61
- defaultVisibleActions: this.emphasizeActions ? undefined : 1,
62
- };
63
- this._actionGroupInjector = Injector.create({
64
- providers: [
65
- {
66
- provide: ACTIONGROUP_CONFIG,
67
- useValue: this.actionGroupConfig,
68
- },
69
- ],
70
- parent: this.injector,
71
- });
72
- if (this.titleMaxLines > 0) {
73
- this.fitHeadingConfig = {
74
- maxLines: this.titleMaxLines,
75
- };
76
- }
77
- }
78
- ngAfterContentInit() {
79
- // If an avatar is present we default to centered layout - unless configured otherwise:
80
- if (this.avatar && this.centered === undefined) {
81
- this.centered = true;
82
- }
83
- if (this.centered) {
84
- this.actionGroupConfig.isCondensed = true;
85
- }
86
- }
87
- ngOnChanges(changes) {
88
- if (changes.title) {
89
- this.title$.next(changes.title.currentValue);
90
- }
91
- }
92
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: HeaderComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
93
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.18", type: HeaderComponent, isStandalone: true, 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: "@if (!!avatar || !!progressCircle) {\n <div class=\"avatar\">\n <ng-content select=\"kirby-avatar,kirby-progress-circle\"></ng-content>\n </div>\n}\n\n@if (!!flag || !!customFlagTemplate) {\n <div class=\"flag\">\n @if (!!flag) {\n <ng-content select=\"kirby-flag\"></ng-content>\n }\n <!-- Custom Content in Flag section: -->\n @if (!!customFlagTemplate) {\n <div class=\"custom-flag\">\n <ng-container *ngTemplateOutlet=\"customFlagTemplate\"></ng-container>\n </div>\n }\n </div>\n}\n\n<div class=\"container\">\n <!-- Title and value - title: -->\n @if (!!title && !!value) {\n <span\n #titleElement\n class=\"title kirby-text-medium\"\n [class.clickable]=\"hasInteractiveTitle !== false && titleClick.observed\"\n [class.has-icon]=\"!!titleActionIconTemplate\"\n (click)=\"onTitleClick($event)\"\n >\n {{ title }}\n <ng-container *ngTemplateOutlet=\"titleActionIconTemplate\"></ng-container>\n </span>\n }\n <div class=\"title-container\">\n <!-- Only title, no value: -->\n @if (!!title && !value) {\n <span #titleElement class=\"title kirby-text-xlarge\" [kirbyFitHeading]=\"fitHeadingConfig\">\n {{ title }}\n </span>\n }\n\n <!-- Title and value - value: -->\n @if (!!value) {\n <span class=\"value kirby-text-display-3\" [kirbyFitHeading]=\"fitHeadingConfig\">\n {{ value }}\n @if (!!valueUnit) {\n <span class=\"value-unit semi-dark-text\">{{ valueUnit }}</span>\n }\n </span>\n }\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 @if (!!customSectionTemplate) {\n <div class=\"custom-section\">\n <ng-container *ngTemplateOutlet=\"customSectionTemplate\"></ng-container>\n </div>\n }\n </div>\n <!-- Actions: -->\n @if (!!actionsTemplate) {\n <div #actionsElement class=\"actions\" [class.emphasize]=\"emphasizeActions\">\n <ng-container\n *ngTemplateOutlet=\"actionsTemplate; injector: _actionGroupInjector\"\n ></ng-container>\n </div>\n }\n</div>\n\n<ng-template #subTitleTemplate let-subtitles>\n @if (!!subtitles) {\n <div class=\"subtitle kirby-text-small\">\n @for (subtitle of subtitles; track subtitle) {\n <span>{{ subtitle }}</span>\n }\n </div>\n }\n</ng-template>\n", styles: [".kirby-line-clamp{display:-webkit-box;-webkit-line-clamp:var(--line-clamp, none);-webkit-box-orient:vertical;overflow:hidden}: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>span.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-self:stretch;align-items:center}:host(.centered) .container>span.title{text-align:center}:host(.centered) .container>span.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)>span.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>span.title{margin-inline:16px}.title-container{display:flex;flex-direction:column;overflow:hidden;width:100%;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}.title.kirby-text-xlarge{overflow-wrap:break-word}.value{display:flex;align-items:baseline;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: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: FitHeadingDirective, selector: "h1[kirbyFitHeading],h2[kirbyFitHeading],h3[kirbyFitHeading],[kirbyFitHeading]", inputs: ["kirbyFitHeading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
94
- }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: HeaderComponent, decorators: [{
96
- type: Component,
97
- args: [{ selector: 'kirby-header', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet, FitHeadingDirective], template: "@if (!!avatar || !!progressCircle) {\n <div class=\"avatar\">\n <ng-content select=\"kirby-avatar,kirby-progress-circle\"></ng-content>\n </div>\n}\n\n@if (!!flag || !!customFlagTemplate) {\n <div class=\"flag\">\n @if (!!flag) {\n <ng-content select=\"kirby-flag\"></ng-content>\n }\n <!-- Custom Content in Flag section: -->\n @if (!!customFlagTemplate) {\n <div class=\"custom-flag\">\n <ng-container *ngTemplateOutlet=\"customFlagTemplate\"></ng-container>\n </div>\n }\n </div>\n}\n\n<div class=\"container\">\n <!-- Title and value - title: -->\n @if (!!title && !!value) {\n <span\n #titleElement\n class=\"title kirby-text-medium\"\n [class.clickable]=\"hasInteractiveTitle !== false && titleClick.observed\"\n [class.has-icon]=\"!!titleActionIconTemplate\"\n (click)=\"onTitleClick($event)\"\n >\n {{ title }}\n <ng-container *ngTemplateOutlet=\"titleActionIconTemplate\"></ng-container>\n </span>\n }\n <div class=\"title-container\">\n <!-- Only title, no value: -->\n @if (!!title && !value) {\n <span #titleElement class=\"title kirby-text-xlarge\" [kirbyFitHeading]=\"fitHeadingConfig\">\n {{ title }}\n </span>\n }\n\n <!-- Title and value - value: -->\n @if (!!value) {\n <span class=\"value kirby-text-display-3\" [kirbyFitHeading]=\"fitHeadingConfig\">\n {{ value }}\n @if (!!valueUnit) {\n <span class=\"value-unit semi-dark-text\">{{ valueUnit }}</span>\n }\n </span>\n }\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 @if (!!customSectionTemplate) {\n <div class=\"custom-section\">\n <ng-container *ngTemplateOutlet=\"customSectionTemplate\"></ng-container>\n </div>\n }\n </div>\n <!-- Actions: -->\n @if (!!actionsTemplate) {\n <div #actionsElement class=\"actions\" [class.emphasize]=\"emphasizeActions\">\n <ng-container\n *ngTemplateOutlet=\"actionsTemplate; injector: _actionGroupInjector\"\n ></ng-container>\n </div>\n }\n</div>\n\n<ng-template #subTitleTemplate let-subtitles>\n @if (!!subtitles) {\n <div class=\"subtitle kirby-text-small\">\n @for (subtitle of subtitles; track subtitle) {\n <span>{{ subtitle }}</span>\n }\n </div>\n }\n</ng-template>\n", styles: [".kirby-line-clamp{display:-webkit-box;-webkit-line-clamp:var(--line-clamp, none);-webkit-box-orient:vertical;overflow:hidden}: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>span.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-self:stretch;align-items:center}:host(.centered) .container>span.title{text-align:center}:host(.centered) .container>span.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)>span.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>span.title{margin-inline:16px}.title-container{display:flex;flex-direction:column;overflow:hidden;width:100%;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}.title.kirby-text-xlarge{overflow-wrap:break-word}.value{display:flex;align-items:baseline;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"] }]
98
- }], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { centered: [{
99
- type: HostBinding,
100
- args: ['class.centered']
101
- }, {
102
- type: Input
103
- }], titleMaxLines: [{
104
- type: Input
105
- }], emphasizeActions: [{
106
- type: Input
107
- }], avatar: [{
108
- type: ContentChild,
109
- args: [AvatarComponent]
110
- }], progressCircle: [{
111
- type: ContentChild,
112
- args: [ProgressCircleComponent]
113
- }], flag: [{
114
- type: ContentChild,
115
- args: [FlagComponent]
116
- }], titleElement: [{
117
- type: ViewChild,
118
- args: ['titleElement', { read: ElementRef }]
119
- }], actionsElement: [{
120
- type: ViewChild,
121
- args: ['actionsElement', { read: ElementRef }]
122
- }], actionsTemplate: [{
123
- type: ContentChild,
124
- args: [HeaderActionsDirective, { read: (TemplateRef) }]
125
- }], customSectionTemplate: [{
126
- type: ContentChild,
127
- args: [HeaderCustomSectionDirective, { read: (TemplateRef) }]
128
- }], customFlagTemplate: [{
129
- type: ContentChild,
130
- args: [HeaderCustomFlagDirective, {
131
- read: (TemplateRef),
132
- }]
133
- }], titleActionIconTemplate: [{
134
- type: ContentChild,
135
- args: [HeaderTitleActionIconDirective, { read: TemplateRef }]
136
- }], title: [{
137
- type: Input
138
- }], value: [{
139
- type: Input
140
- }], valueUnit: [{
141
- type: Input
142
- }], subtitle1: [{
143
- type: Input
144
- }], subtitle2: [{
145
- type: Input
146
- }], hasInteractiveTitle: [{
147
- type: Input
148
- }], titleClick: [{
149
- type: Output
150
- }] } });
151
-
1
+ import * as i0 from "@angular/core";
2
+ import { ChangeDetectionStrategy, Component, ContentChild, Directive, ElementRef, EventEmitter, HostBinding, Injector, Input, NgModule, Output, TemplateRef, ViewChild } from "@angular/core";
3
+ import { Subject } from "rxjs";
4
+ import { ACTIONGROUP_CONFIG } from "@kirbydesign/designsystem/action-group";
5
+ import { AvatarComponent } from "@kirbydesign/designsystem/avatar";
6
+ import { FlagComponent } from "@kirbydesign/designsystem/flag";
7
+ import { ProgressCircleComponent } from "@kirbydesign/designsystem/progress-circle";
8
+ import { CommonModule, NgTemplateOutlet } from "@angular/common";
9
+ import { FitHeadingDirective } from "@kirbydesign/designsystem/shared";
10
+ var HeaderActionsDirective = class HeaderActionsDirective {
11
+ static {
12
+ this.ɵfac = i0.ɵɵngDeclareFactory({
13
+ minVersion: "12.0.0",
14
+ version: "22.2.2",
15
+ ngImport: i0,
16
+ type: HeaderActionsDirective,
17
+ deps: [],
18
+ target: i0.ɵɵFactoryTarget.Directive
19
+ });
20
+ }
21
+ static {
22
+ this.ɵdir = i0.ɵɵngDeclareDirective({
23
+ minVersion: "14.0.0",
24
+ version: "22.2.2",
25
+ type: HeaderActionsDirective,
26
+ isStandalone: true,
27
+ selector: "[kirbyHeaderActions]",
28
+ ngImport: i0
29
+ });
30
+ }
31
+ };
32
+ i0.ɵɵngDeclareClassMetadata({
33
+ minVersion: "12.0.0",
34
+ version: "22.2.2",
35
+ ngImport: i0,
36
+ type: HeaderActionsDirective,
37
+ decorators: [{
38
+ type: Directive,
39
+ args: [{ selector: "[kirbyHeaderActions]" }]
40
+ }]
41
+ });
42
+ var HeaderCustomSectionDirective = class HeaderCustomSectionDirective {
43
+ static {
44
+ this.ɵfac = i0.ɵɵngDeclareFactory({
45
+ minVersion: "12.0.0",
46
+ version: "22.2.2",
47
+ ngImport: i0,
48
+ type: HeaderCustomSectionDirective,
49
+ deps: [],
50
+ target: i0.ɵɵFactoryTarget.Directive
51
+ });
52
+ }
53
+ static {
54
+ this.ɵdir = i0.ɵɵngDeclareDirective({
55
+ minVersion: "14.0.0",
56
+ version: "22.2.2",
57
+ type: HeaderCustomSectionDirective,
58
+ isStandalone: true,
59
+ selector: "[kirbyHeaderCustomSection]",
60
+ ngImport: i0
61
+ });
62
+ }
63
+ };
64
+ i0.ɵɵngDeclareClassMetadata({
65
+ minVersion: "12.0.0",
66
+ version: "22.2.2",
67
+ ngImport: i0,
68
+ type: HeaderCustomSectionDirective,
69
+ decorators: [{
70
+ type: Directive,
71
+ args: [{ selector: "[kirbyHeaderCustomSection]" }]
72
+ }]
73
+ });
74
+ var HeaderTitleActionIconDirective = class HeaderTitleActionIconDirective {
75
+ static {
76
+ this.ɵfac = i0.ɵɵngDeclareFactory({
77
+ minVersion: "12.0.0",
78
+ version: "22.2.2",
79
+ ngImport: i0,
80
+ type: HeaderTitleActionIconDirective,
81
+ deps: [],
82
+ target: i0.ɵɵFactoryTarget.Directive
83
+ });
84
+ }
85
+ static {
86
+ this.ɵdir = i0.ɵɵngDeclareDirective({
87
+ minVersion: "14.0.0",
88
+ version: "22.2.2",
89
+ type: HeaderTitleActionIconDirective,
90
+ isStandalone: true,
91
+ selector: "[kirbyHeaderTitleActionIcon]",
92
+ ngImport: i0
93
+ });
94
+ }
95
+ };
96
+ i0.ɵɵngDeclareClassMetadata({
97
+ minVersion: "12.0.0",
98
+ version: "22.2.2",
99
+ ngImport: i0,
100
+ type: HeaderTitleActionIconDirective,
101
+ decorators: [{
102
+ type: Directive,
103
+ args: [{ selector: "[kirbyHeaderTitleActionIcon]" }]
104
+ }]
105
+ });
106
+ var HeaderCustomFlagDirective = class HeaderCustomFlagDirective {
107
+ static {
108
+ this.ɵfac = i0.ɵɵngDeclareFactory({
109
+ minVersion: "12.0.0",
110
+ version: "22.2.2",
111
+ ngImport: i0,
112
+ type: HeaderCustomFlagDirective,
113
+ deps: [],
114
+ target: i0.ɵɵFactoryTarget.Directive
115
+ });
116
+ }
117
+ static {
118
+ this.ɵdir = i0.ɵɵngDeclareDirective({
119
+ minVersion: "14.0.0",
120
+ version: "22.2.2",
121
+ type: HeaderCustomFlagDirective,
122
+ isStandalone: true,
123
+ selector: "[kirbyHeaderCustomFlag]",
124
+ ngImport: i0
125
+ });
126
+ }
127
+ };
128
+ i0.ɵɵngDeclareClassMetadata({
129
+ minVersion: "12.0.0",
130
+ version: "22.2.2",
131
+ ngImport: i0,
132
+ type: HeaderCustomFlagDirective,
133
+ decorators: [{
134
+ type: Directive,
135
+ args: [{ selector: "[kirbyHeaderCustomFlag]" }]
136
+ }]
137
+ });
138
+ var HeaderComponent = class HeaderComponent {
139
+ get _subtitles1() {
140
+ return Array.isArray(this.subtitle1) ? this.subtitle1 : [this.subtitle1];
141
+ }
142
+ get _subtitles2() {
143
+ return Array.isArray(this.subtitle2) ? this.subtitle2 : [this.subtitle2];
144
+ }
145
+ onTitleClick(event) {
146
+ this.titleClick.emit(event);
147
+ }
148
+ constructor(injector) {
149
+ this.injector = injector;
150
+ this.emphasizeActions = false;
151
+ this.titleClick = new EventEmitter();
152
+ this.title$ = new Subject();
153
+ }
154
+ ngOnInit() {
155
+ this.actionGroupConfig = { defaultVisibleActions: this.emphasizeActions ? void 0 : 1 };
156
+ this._actionGroupInjector = Injector.create({
157
+ providers: [{
158
+ provide: ACTIONGROUP_CONFIG,
159
+ useValue: this.actionGroupConfig
160
+ }],
161
+ parent: this.injector
162
+ });
163
+ if (this.titleMaxLines > 0) this.fitHeadingConfig = { maxLines: this.titleMaxLines };
164
+ }
165
+ ngAfterContentInit() {
166
+ if (this.avatar && this.centered === void 0) this.centered = true;
167
+ if (this.centered) this.actionGroupConfig.isCondensed = true;
168
+ }
169
+ ngOnChanges(changes) {
170
+ if (changes.title) this.title$.next(changes.title.currentValue);
171
+ }
172
+ static {
173
+ this.ɵfac = i0.ɵɵngDeclareFactory({
174
+ minVersion: "12.0.0",
175
+ version: "22.2.2",
176
+ ngImport: i0,
177
+ type: HeaderComponent,
178
+ deps: [{ token: i0.Injector }],
179
+ target: i0.ɵɵFactoryTarget.Component
180
+ });
181
+ }
182
+ static {
183
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
184
+ minVersion: "17.0.0",
185
+ version: "22.2.2",
186
+ type: HeaderComponent,
187
+ isStandalone: true,
188
+ selector: "kirby-header",
189
+ inputs: {
190
+ centered: "centered",
191
+ titleMaxLines: "titleMaxLines",
192
+ emphasizeActions: "emphasizeActions",
193
+ title: "title",
194
+ value: "value",
195
+ valueUnit: "valueUnit",
196
+ subtitle1: "subtitle1",
197
+ subtitle2: "subtitle2",
198
+ hasInteractiveTitle: "hasInteractiveTitle"
199
+ },
200
+ outputs: { titleClick: "titleClick" },
201
+ host: { properties: { "class.centered": "this.centered" } },
202
+ queries: [
203
+ {
204
+ propertyName: "avatar",
205
+ first: true,
206
+ predicate: AvatarComponent,
207
+ descendants: true
208
+ },
209
+ {
210
+ propertyName: "progressCircle",
211
+ first: true,
212
+ predicate: ProgressCircleComponent,
213
+ descendants: true
214
+ },
215
+ {
216
+ propertyName: "flag",
217
+ first: true,
218
+ predicate: FlagComponent,
219
+ descendants: true
220
+ },
221
+ {
222
+ propertyName: "actionsTemplate",
223
+ first: true,
224
+ predicate: HeaderActionsDirective,
225
+ descendants: true,
226
+ read: TemplateRef
227
+ },
228
+ {
229
+ propertyName: "customSectionTemplate",
230
+ first: true,
231
+ predicate: HeaderCustomSectionDirective,
232
+ descendants: true,
233
+ read: TemplateRef
234
+ },
235
+ {
236
+ propertyName: "customFlagTemplate",
237
+ first: true,
238
+ predicate: HeaderCustomFlagDirective,
239
+ descendants: true,
240
+ read: TemplateRef
241
+ },
242
+ {
243
+ propertyName: "titleActionIconTemplate",
244
+ first: true,
245
+ predicate: HeaderTitleActionIconDirective,
246
+ descendants: true,
247
+ read: TemplateRef
248
+ }
249
+ ],
250
+ viewQueries: [{
251
+ propertyName: "titleElement",
252
+ first: true,
253
+ predicate: ["titleElement"],
254
+ descendants: true,
255
+ read: ElementRef
256
+ }, {
257
+ propertyName: "actionsElement",
258
+ first: true,
259
+ predicate: ["actionsElement"],
260
+ descendants: true,
261
+ read: ElementRef
262
+ }],
263
+ usesOnChanges: true,
264
+ ngImport: i0,
265
+ template: "@if (!!avatar || !!progressCircle) {\n <div class=\"avatar\">\n <ng-content select=\"kirby-avatar,kirby-progress-circle\"></ng-content>\n </div>\n}\n\n@if (!!flag || !!customFlagTemplate) {\n <div class=\"flag\">\n @if (!!flag) {\n <ng-content select=\"kirby-flag\"></ng-content>\n }\n <!-- Custom Content in Flag section: -->\n @if (!!customFlagTemplate) {\n <div class=\"custom-flag\">\n <ng-container *ngTemplateOutlet=\"customFlagTemplate\"></ng-container>\n </div>\n }\n </div>\n}\n\n<div class=\"container\">\n <!-- Title and value - title: -->\n @if (!!title && !!value) {\n <span\n #titleElement\n class=\"title kirby-text-medium\"\n [class.clickable]=\"hasInteractiveTitle !== false && titleClick.observed\"\n [class.has-icon]=\"!!titleActionIconTemplate\"\n (click)=\"onTitleClick($event)\"\n >\n {{ title }}\n <ng-container *ngTemplateOutlet=\"titleActionIconTemplate\"></ng-container>\n </span>\n }\n <div class=\"title-container\">\n <!-- Only title, no value: -->\n @if (!!title && !value) {\n <span #titleElement class=\"title kirby-text-xlarge\" [kirbyFitHeading]=\"fitHeadingConfig\">\n {{ title }}\n </span>\n }\n\n <!-- Title and value - value: -->\n @if (!!value) {\n <span class=\"value kirby-text-display-3\" [kirbyFitHeading]=\"fitHeadingConfig\">\n {{ value }}\n @if (!!valueUnit) {\n <span class=\"value-unit semi-dark-text\">{{ valueUnit }}</span>\n }\n </span>\n }\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 @if (!!customSectionTemplate) {\n <div class=\"custom-section\">\n <ng-container *ngTemplateOutlet=\"customSectionTemplate\"></ng-container>\n </div>\n }\n </div>\n <!-- Actions: -->\n @if (!!actionsTemplate) {\n <div #actionsElement class=\"actions\" [class.emphasize]=\"emphasizeActions\">\n <ng-container\n *ngTemplateOutlet=\"actionsTemplate; injector: _actionGroupInjector\"\n ></ng-container>\n </div>\n }\n</div>\n\n<ng-template #subTitleTemplate let-subtitles>\n @if (!!subtitles) {\n <div class=\"subtitle kirby-text-small\">\n @for (subtitle of subtitles; track subtitle) {\n <span>{{ subtitle }}</span>\n }\n </div>\n }\n</ng-template>\n",
266
+ styles: [".kirby-line-clamp{display:-webkit-box;-webkit-line-clamp:var(--line-clamp, none);-webkit-box-orient:vertical;overflow:hidden}:host{display:flex;flex-direction:column;margin-top:var(--kirby-spacing-s);margin-bottom:var(--kirby-spacing-l)}@media(max-width:767px){:host:has(>.avatar::ng-deep){margin-top:var(--kirby-spacing-xxs)}}@media(min-width:768px){:host{margin-top:var(--kirby-spacing-m)}}.container{display:flex;flex-direction:column;align-items:flex-start;max-width:100%}.container>span.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:calc(var(--kirby-spacing-xxl) - var(--kirby-spacing-s) - var(--kirby-spacing-xxs))}:host(:not(.single-column)) .container:has(>.actions) .title-container{grid-column-start:1}}:host(.centered){align-items:center}:host(.centered) .container{align-self:stretch;align-items:center}:host(.centered) .container>span.title{text-align:center}:host(.centered) .container>span.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)>span.title,:host(.centered):not(.single-column) .container:has(>.actions) .title-container{grid-column-start:2}}.actions{margin-top:var(--kirby-spacing-m);margin-inline:var(--kirby-spacing-xxs)}@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>span.title{margin-inline:var(--kirby-spacing-s)}.title-container{display:flex;flex-direction:column;overflow:hidden;width:100%;max-width:calc(100% - 2 * var(--kirby-spacing-s))}.avatar{margin-bottom:var(--kirby-spacing-s)}.flag{margin-bottom:var(--kirby-spacing-xxxs)}.flag .custom-flag{margin-block:var(--kirby-spacing-xxxs)}.title{margin-bottom:var(--kirby-spacing-xxxxs)}.title.clickable{cursor:pointer}.title.has-icon{display:flex;flex-direction:row;align-items:center}.title.kirby-text-xlarge{overflow-wrap:break-word}.value{display:flex;align-items:baseline;max-width:100%;margin-bottom:var(--kirby-spacing-xxxs)}.value-unit{font-weight:initial;color:var(--kirby-text-color-semi-dark);margin-left:var(--kirby-spacing-xxxs);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:var(--kirby-spacing-xxs)}\n"],
267
+ dependencies: [{
268
+ kind: "directive",
269
+ type: NgTemplateOutlet,
270
+ selector: "[ngTemplateOutlet]",
271
+ inputs: [
272
+ "ngTemplateOutletContext",
273
+ "ngTemplateOutlet",
274
+ "ngTemplateOutletInjector"
275
+ ]
276
+ }, {
277
+ kind: "directive",
278
+ type: FitHeadingDirective,
279
+ selector: "h1[kirbyFitHeading],h2[kirbyFitHeading],h3[kirbyFitHeading],[kirbyFitHeading]",
280
+ inputs: ["kirbyFitHeading"]
281
+ }],
282
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
283
+ });
284
+ }
285
+ };
286
+ i0.ɵɵngDeclareClassMetadata({
287
+ minVersion: "12.0.0",
288
+ version: "22.2.2",
289
+ ngImport: i0,
290
+ type: HeaderComponent,
291
+ decorators: [{
292
+ type: Component,
293
+ args: [{
294
+ selector: "kirby-header",
295
+ changeDetection: ChangeDetectionStrategy.OnPush,
296
+ imports: [NgTemplateOutlet, FitHeadingDirective],
297
+ template: "@if (!!avatar || !!progressCircle) {\n <div class=\"avatar\">\n <ng-content select=\"kirby-avatar,kirby-progress-circle\"></ng-content>\n </div>\n}\n\n@if (!!flag || !!customFlagTemplate) {\n <div class=\"flag\">\n @if (!!flag) {\n <ng-content select=\"kirby-flag\"></ng-content>\n }\n <!-- Custom Content in Flag section: -->\n @if (!!customFlagTemplate) {\n <div class=\"custom-flag\">\n <ng-container *ngTemplateOutlet=\"customFlagTemplate\"></ng-container>\n </div>\n }\n </div>\n}\n\n<div class=\"container\">\n <!-- Title and value - title: -->\n @if (!!title && !!value) {\n <span\n #titleElement\n class=\"title kirby-text-medium\"\n [class.clickable]=\"hasInteractiveTitle !== false && titleClick.observed\"\n [class.has-icon]=\"!!titleActionIconTemplate\"\n (click)=\"onTitleClick($event)\"\n >\n {{ title }}\n <ng-container *ngTemplateOutlet=\"titleActionIconTemplate\"></ng-container>\n </span>\n }\n <div class=\"title-container\">\n <!-- Only title, no value: -->\n @if (!!title && !value) {\n <span #titleElement class=\"title kirby-text-xlarge\" [kirbyFitHeading]=\"fitHeadingConfig\">\n {{ title }}\n </span>\n }\n\n <!-- Title and value - value: -->\n @if (!!value) {\n <span class=\"value kirby-text-display-3\" [kirbyFitHeading]=\"fitHeadingConfig\">\n {{ value }}\n @if (!!valueUnit) {\n <span class=\"value-unit semi-dark-text\">{{ valueUnit }}</span>\n }\n </span>\n }\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 @if (!!customSectionTemplate) {\n <div class=\"custom-section\">\n <ng-container *ngTemplateOutlet=\"customSectionTemplate\"></ng-container>\n </div>\n }\n </div>\n <!-- Actions: -->\n @if (!!actionsTemplate) {\n <div #actionsElement class=\"actions\" [class.emphasize]=\"emphasizeActions\">\n <ng-container\n *ngTemplateOutlet=\"actionsTemplate; injector: _actionGroupInjector\"\n ></ng-container>\n </div>\n }\n</div>\n\n<ng-template #subTitleTemplate let-subtitles>\n @if (!!subtitles) {\n <div class=\"subtitle kirby-text-small\">\n @for (subtitle of subtitles; track subtitle) {\n <span>{{ subtitle }}</span>\n }\n </div>\n }\n</ng-template>\n",
298
+ styles: [".kirby-line-clamp{display:-webkit-box;-webkit-line-clamp:var(--line-clamp, none);-webkit-box-orient:vertical;overflow:hidden}:host{display:flex;flex-direction:column;margin-top:var(--kirby-spacing-s);margin-bottom:var(--kirby-spacing-l)}@media(max-width:767px){:host:has(>.avatar::ng-deep){margin-top:var(--kirby-spacing-xxs)}}@media(min-width:768px){:host{margin-top:var(--kirby-spacing-m)}}.container{display:flex;flex-direction:column;align-items:flex-start;max-width:100%}.container>span.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:calc(var(--kirby-spacing-xxl) - var(--kirby-spacing-s) - var(--kirby-spacing-xxs))}:host(:not(.single-column)) .container:has(>.actions) .title-container{grid-column-start:1}}:host(.centered){align-items:center}:host(.centered) .container{align-self:stretch;align-items:center}:host(.centered) .container>span.title{text-align:center}:host(.centered) .container>span.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)>span.title,:host(.centered):not(.single-column) .container:has(>.actions) .title-container{grid-column-start:2}}.actions{margin-top:var(--kirby-spacing-m);margin-inline:var(--kirby-spacing-xxs)}@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>span.title{margin-inline:var(--kirby-spacing-s)}.title-container{display:flex;flex-direction:column;overflow:hidden;width:100%;max-width:calc(100% - 2 * var(--kirby-spacing-s))}.avatar{margin-bottom:var(--kirby-spacing-s)}.flag{margin-bottom:var(--kirby-spacing-xxxs)}.flag .custom-flag{margin-block:var(--kirby-spacing-xxxs)}.title{margin-bottom:var(--kirby-spacing-xxxxs)}.title.clickable{cursor:pointer}.title.has-icon{display:flex;flex-direction:row;align-items:center}.title.kirby-text-xlarge{overflow-wrap:break-word}.value{display:flex;align-items:baseline;max-width:100%;margin-bottom:var(--kirby-spacing-xxxs)}.value-unit{font-weight:initial;color:var(--kirby-text-color-semi-dark);margin-left:var(--kirby-spacing-xxxs);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:var(--kirby-spacing-xxs)}\n"]
299
+ }]
300
+ }],
301
+ ctorParameters: () => [{ type: i0.Injector }],
302
+ propDecorators: {
303
+ centered: [{
304
+ type: HostBinding,
305
+ args: ["class.centered"]
306
+ }, { type: Input }],
307
+ titleMaxLines: [{ type: Input }],
308
+ emphasizeActions: [{ type: Input }],
309
+ avatar: [{
310
+ type: ContentChild,
311
+ args: [AvatarComponent]
312
+ }],
313
+ progressCircle: [{
314
+ type: ContentChild,
315
+ args: [ProgressCircleComponent]
316
+ }],
317
+ flag: [{
318
+ type: ContentChild,
319
+ args: [FlagComponent]
320
+ }],
321
+ titleElement: [{
322
+ type: ViewChild,
323
+ args: ["titleElement", { read: ElementRef }]
324
+ }],
325
+ actionsElement: [{
326
+ type: ViewChild,
327
+ args: ["actionsElement", { read: ElementRef }]
328
+ }],
329
+ actionsTemplate: [{
330
+ type: ContentChild,
331
+ args: [HeaderActionsDirective, { read: TemplateRef }]
332
+ }],
333
+ customSectionTemplate: [{
334
+ type: ContentChild,
335
+ args: [HeaderCustomSectionDirective, { read: TemplateRef }]
336
+ }],
337
+ customFlagTemplate: [{
338
+ type: ContentChild,
339
+ args: [HeaderCustomFlagDirective, { read: TemplateRef }]
340
+ }],
341
+ titleActionIconTemplate: [{
342
+ type: ContentChild,
343
+ args: [HeaderTitleActionIconDirective, { read: TemplateRef }]
344
+ }],
345
+ title: [{ type: Input }],
346
+ value: [{ type: Input }],
347
+ valueUnit: [{ type: Input }],
348
+ subtitle1: [{ type: Input }],
349
+ subtitle2: [{ type: Input }],
350
+ hasInteractiveTitle: [{ type: Input }],
351
+ titleClick: [{ type: Output }]
352
+ }
353
+ });
152
354
  const imports = [
153
- HeaderComponent,
154
- HeaderActionsDirective,
155
- HeaderCustomSectionDirective,
156
- HeaderTitleActionIconDirective,
157
- HeaderCustomFlagDirective,
355
+ HeaderComponent,
356
+ HeaderActionsDirective,
357
+ HeaderCustomSectionDirective,
358
+ HeaderTitleActionIconDirective,
359
+ HeaderCustomFlagDirective
158
360
  ];
159
- class HeaderModule {
160
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: HeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
161
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.18", ngImport: i0, type: HeaderModule, imports: [CommonModule, FitHeadingDirective, HeaderComponent,
162
- HeaderActionsDirective,
163
- HeaderCustomSectionDirective,
164
- HeaderTitleActionIconDirective,
165
- HeaderCustomFlagDirective], exports: [HeaderComponent,
166
- HeaderActionsDirective,
167
- HeaderCustomSectionDirective,
168
- HeaderTitleActionIconDirective,
169
- HeaderCustomFlagDirective] }); }
170
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: HeaderModule, imports: [CommonModule] }); }
171
- }
172
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: HeaderModule, decorators: [{
173
- type: NgModule,
174
- args: [{
175
- imports: [CommonModule, FitHeadingDirective, ...imports],
176
- exports: imports,
177
- }]
178
- }] });
179
-
180
- /**
181
- * Generated bundle index. Do not edit.
182
- */
183
-
361
+ var HeaderModule = class HeaderModule {
362
+ static {
363
+ this.ɵfac = i0.ɵɵngDeclareFactory({
364
+ minVersion: "12.0.0",
365
+ version: "22.2.2",
366
+ ngImport: i0,
367
+ type: HeaderModule,
368
+ deps: [],
369
+ target: i0.ɵɵFactoryTarget.NgModule
370
+ });
371
+ }
372
+ static {
373
+ this.ɵmod = i0.ɵɵngDeclareNgModule({
374
+ minVersion: "14.0.0",
375
+ version: "22.2.2",
376
+ ngImport: i0,
377
+ type: HeaderModule,
378
+ imports: [
379
+ CommonModule,
380
+ FitHeadingDirective,
381
+ HeaderComponent,
382
+ HeaderActionsDirective,
383
+ HeaderCustomSectionDirective,
384
+ HeaderTitleActionIconDirective,
385
+ HeaderCustomFlagDirective
386
+ ],
387
+ exports: [
388
+ HeaderComponent,
389
+ HeaderActionsDirective,
390
+ HeaderCustomSectionDirective,
391
+ HeaderTitleActionIconDirective,
392
+ HeaderCustomFlagDirective
393
+ ]
394
+ });
395
+ }
396
+ static {
397
+ this.ɵinj = i0.ɵɵngDeclareInjector({
398
+ minVersion: "12.0.0",
399
+ version: "22.2.2",
400
+ ngImport: i0,
401
+ type: HeaderModule,
402
+ imports: [CommonModule]
403
+ });
404
+ }
405
+ };
406
+ i0.ɵɵngDeclareClassMetadata({
407
+ minVersion: "12.0.0",
408
+ version: "22.2.2",
409
+ ngImport: i0,
410
+ type: HeaderModule,
411
+ decorators: [{
412
+ type: NgModule,
413
+ args: [{
414
+ imports: [
415
+ CommonModule,
416
+ FitHeadingDirective,
417
+ ...imports
418
+ ],
419
+ exports: imports
420
+ }]
421
+ }]
422
+ });
184
423
  export { HeaderActionsDirective, HeaderComponent, HeaderCustomFlagDirective, HeaderCustomSectionDirective, HeaderModule, HeaderTitleActionIconDirective };
185
- //# sourceMappingURL=kirbydesign-designsystem-header.mjs.map
424
+
425
+ //# sourceMappingURL=kirbydesign-designsystem-header.mjs.map