@kirbydesign/designsystem 11.11.3 → 12.0.0-dev-67d5287

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 (282) 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 +102 -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 +439 -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 -901
  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 -303
  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 +1185 -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 +203 -183
  64. package/fesm2022/kirbydesign-designsystem-popover.mjs.map +1 -1
  65. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs +209 -121
  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 -529
  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 -158
  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/package.json +10 -10
  115. package/readme.md +37 -0
  116. package/types/kirbydesign-designsystem-accordion.d.ts +72 -39
  117. package/types/kirbydesign-designsystem-accordion.d.ts.map +1 -1
  118. package/types/kirbydesign-designsystem-action-group.d.ts +46 -39
  119. package/types/kirbydesign-designsystem-action-group.d.ts.map +1 -1
  120. package/types/kirbydesign-designsystem-avatar.d.ts +62 -26
  121. package/types/kirbydesign-designsystem-avatar.d.ts.map +1 -1
  122. package/types/kirbydesign-designsystem-badge.d.ts +30 -19
  123. package/types/kirbydesign-designsystem-badge.d.ts.map +1 -1
  124. package/types/kirbydesign-designsystem-button.d.ts +70 -45
  125. package/types/kirbydesign-designsystem-button.d.ts.map +1 -1
  126. package/types/kirbydesign-designsystem-calendar.d.ts +193 -132
  127. package/types/kirbydesign-designsystem-calendar.d.ts.map +1 -1
  128. package/types/kirbydesign-designsystem-card.d.ts +130 -66
  129. package/types/kirbydesign-designsystem-card.d.ts.map +1 -1
  130. package/types/kirbydesign-designsystem-chart.d.ts +198 -172
  131. package/types/kirbydesign-designsystem-chart.d.ts.map +1 -1
  132. package/types/kirbydesign-designsystem-checkbox.d.ts +96 -68
  133. package/types/kirbydesign-designsystem-checkbox.d.ts.map +1 -1
  134. package/types/kirbydesign-designsystem-config.d.ts +17 -21
  135. package/types/kirbydesign-designsystem-config.d.ts.map +1 -1
  136. package/types/kirbydesign-designsystem-data-table.d.ts +46 -26
  137. package/types/kirbydesign-designsystem-data-table.d.ts.map +1 -1
  138. package/types/kirbydesign-designsystem-divider.d.ts +11 -9
  139. package/types/kirbydesign-designsystem-divider.d.ts.map +1 -1
  140. package/types/kirbydesign-designsystem-dropdown.d.ts +219 -166
  141. package/types/kirbydesign-designsystem-dropdown.d.ts.map +1 -1
  142. package/types/kirbydesign-designsystem-empty-state.d.ts +47 -35
  143. package/types/kirbydesign-designsystem-empty-state.d.ts.map +1 -1
  144. package/types/kirbydesign-designsystem-fab-sheet.d.ts +34 -28
  145. package/types/kirbydesign-designsystem-fab-sheet.d.ts.map +1 -1
  146. package/types/kirbydesign-designsystem-flag.d.ts +18 -13
  147. package/types/kirbydesign-designsystem-flag.d.ts.map +1 -1
  148. package/types/kirbydesign-designsystem-form-field.d.ts +409 -242
  149. package/types/kirbydesign-designsystem-form-field.d.ts.map +1 -1
  150. package/types/kirbydesign-designsystem-gesture.d.ts +41 -46
  151. package/types/kirbydesign-designsystem-gesture.d.ts.map +1 -1
  152. package/types/kirbydesign-designsystem-header.d.ts +102 -64
  153. package/types/kirbydesign-designsystem-header.d.ts.map +1 -1
  154. package/types/kirbydesign-designsystem-helpers-scss.d.ts +6 -8
  155. package/types/kirbydesign-designsystem-helpers-scss.d.ts.map +1 -1
  156. package/types/kirbydesign-designsystem-helpers.d.ts +83 -97
  157. package/types/kirbydesign-designsystem-helpers.d.ts.map +1 -1
  158. package/types/kirbydesign-designsystem-icon.d.ts +63 -59
  159. package/types/kirbydesign-designsystem-icon.d.ts.map +1 -1
  160. package/types/kirbydesign-designsystem-item-group.d.ts +6 -9
  161. package/types/kirbydesign-designsystem-item-group.d.ts.map +1 -1
  162. package/types/kirbydesign-designsystem-item-sliding.d.ts +30 -26
  163. package/types/kirbydesign-designsystem-item-sliding.d.ts.map +1 -1
  164. package/types/kirbydesign-designsystem-item.d.ts +93 -54
  165. package/types/kirbydesign-designsystem-item.d.ts.map +1 -1
  166. package/types/kirbydesign-designsystem-kirby-app.d.ts +18 -19
  167. package/types/kirbydesign-designsystem-kirby-app.d.ts.map +1 -1
  168. package/types/kirbydesign-designsystem-list.d.ts +387 -263
  169. package/types/kirbydesign-designsystem-list.d.ts.map +1 -1
  170. package/types/kirbydesign-designsystem-loading-overlay.d.ts +35 -24
  171. package/types/kirbydesign-designsystem-loading-overlay.d.ts.map +1 -1
  172. package/types/kirbydesign-designsystem-menu.d.ts +119 -69
  173. package/types/kirbydesign-designsystem-menu.d.ts.map +1 -1
  174. package/types/kirbydesign-designsystem-modal.d.ts +577 -455
  175. package/types/kirbydesign-designsystem-modal.d.ts.map +1 -1
  176. package/types/kirbydesign-designsystem-page.d.ts +304 -226
  177. package/types/kirbydesign-designsystem-page.d.ts.map +1 -1
  178. package/types/kirbydesign-designsystem-popover.d.ts +48 -40
  179. package/types/kirbydesign-designsystem-popover.d.ts.map +1 -1
  180. package/types/kirbydesign-designsystem-progress-circle.d.ts +60 -38
  181. package/types/kirbydesign-designsystem-progress-circle.d.ts.map +1 -1
  182. package/types/kirbydesign-designsystem-radio.d.ts +147 -98
  183. package/types/kirbydesign-designsystem-radio.d.ts.map +1 -1
  184. package/types/kirbydesign-designsystem-range.d.ts +90 -45
  185. package/types/kirbydesign-designsystem-range.d.ts.map +1 -1
  186. package/types/kirbydesign-designsystem-reorder-list.d.ts +44 -32
  187. package/types/kirbydesign-designsystem-reorder-list.d.ts.map +1 -1
  188. package/types/kirbydesign-designsystem-router-outlet.d.ts +23 -18
  189. package/types/kirbydesign-designsystem-router-outlet.d.ts.map +1 -1
  190. package/types/kirbydesign-designsystem-section-header.d.ts +5 -8
  191. package/types/kirbydesign-designsystem-section-header.d.ts.map +1 -1
  192. package/types/kirbydesign-designsystem-segmented-control.d.ts +123 -100
  193. package/types/kirbydesign-designsystem-segmented-control.d.ts.map +1 -1
  194. package/types/kirbydesign-designsystem-shared-floating.d.ts +183 -128
  195. package/types/kirbydesign-designsystem-shared-floating.d.ts.map +1 -1
  196. package/types/kirbydesign-designsystem-shared-portal.d.ts +29 -28
  197. package/types/kirbydesign-designsystem-shared-portal.d.ts.map +1 -1
  198. package/types/kirbydesign-designsystem-shared.d.ts +143 -139
  199. package/types/kirbydesign-designsystem-shared.d.ts.map +1 -1
  200. package/types/kirbydesign-designsystem-slide-button.d.ts +43 -34
  201. package/types/kirbydesign-designsystem-slide-button.d.ts.map +1 -1
  202. package/types/kirbydesign-designsystem-slide.d.ts +80 -59
  203. package/types/kirbydesign-designsystem-slide.d.ts.map +1 -1
  204. package/types/kirbydesign-designsystem-spinner.d.ts +13 -14
  205. package/types/kirbydesign-designsystem-spinner.d.ts.map +1 -1
  206. package/types/kirbydesign-designsystem-tab-navigation.d.ts +78 -55
  207. package/types/kirbydesign-designsystem-tab-navigation.d.ts.map +1 -1
  208. package/types/kirbydesign-designsystem-tabs.d.ts +50 -45
  209. package/types/kirbydesign-designsystem-tabs.d.ts.map +1 -1
  210. package/types/kirbydesign-designsystem-testing-base.d.ts +2430 -815
  211. package/types/kirbydesign-designsystem-testing-base.d.ts.map +1 -1
  212. package/types/kirbydesign-designsystem-testing-jasmine.d.ts +9 -10
  213. package/types/kirbydesign-designsystem-testing-jasmine.d.ts.map +1 -1
  214. package/types/kirbydesign-designsystem-testing-jest.d.ts +9 -10
  215. package/types/kirbydesign-designsystem-testing-jest.d.ts.map +1 -1
  216. package/types/kirbydesign-designsystem-testing.d.ts +52 -58
  217. package/types/kirbydesign-designsystem-testing.d.ts.map +1 -1
  218. package/types/kirbydesign-designsystem-toast.d.ts +25 -31
  219. package/types/kirbydesign-designsystem-toast.d.ts.map +1 -1
  220. package/types/kirbydesign-designsystem-toggle-button.d.ts +62 -56
  221. package/types/kirbydesign-designsystem-toggle-button.d.ts.map +1 -1
  222. package/types/kirbydesign-designsystem-toggle.d.ts +71 -63
  223. package/types/kirbydesign-designsystem-toggle.d.ts.map +1 -1
  224. package/types/kirbydesign-designsystem-types.d.ts +15 -22
  225. package/types/kirbydesign-designsystem-types.d.ts.map +1 -1
  226. package/types/kirbydesign-designsystem.d.ts +135 -123
  227. package/types/kirbydesign-designsystem.d.ts.map +1 -1
  228. package/accordion/package.json +0 -4
  229. package/action-group/package.json +0 -4
  230. package/avatar/package.json +0 -4
  231. package/badge/package.json +0 -4
  232. package/button/package.json +0 -4
  233. package/calendar/package.json +0 -4
  234. package/card/package.json +0 -4
  235. package/chart/package.json +0 -4
  236. package/checkbox/package.json +0 -4
  237. package/config/package.json +0 -4
  238. package/data-table/package.json +0 -4
  239. package/divider/package.json +0 -4
  240. package/dropdown/package.json +0 -4
  241. package/empty-state/package.json +0 -4
  242. package/fab-sheet/package.json +0 -4
  243. package/flag/package.json +0 -4
  244. package/form-field/package.json +0 -4
  245. package/gesture/package.json +0 -4
  246. package/header/package.json +0 -4
  247. package/helpers/package.json +0 -4
  248. package/helpers/scss/package.json +0 -4
  249. package/icon/package.json +0 -4
  250. package/item/package.json +0 -4
  251. package/item-group/package.json +0 -4
  252. package/item-sliding/package.json +0 -4
  253. package/kirby-app/package.json +0 -4
  254. package/list/package.json +0 -4
  255. package/loading-overlay/package.json +0 -4
  256. package/menu/package.json +0 -4
  257. package/modal/package.json +0 -4
  258. package/page/package.json +0 -4
  259. package/popover/package.json +0 -4
  260. package/progress-circle/package.json +0 -4
  261. package/radio/package.json +0 -4
  262. package/range/package.json +0 -4
  263. package/reorder-list/package.json +0 -4
  264. package/router-outlet/package.json +0 -4
  265. package/section-header/package.json +0 -4
  266. package/segmented-control/package.json +0 -4
  267. package/shared/floating/package.json +0 -4
  268. package/shared/package.json +0 -4
  269. package/shared/portal/package.json +0 -4
  270. package/slide/package.json +0 -4
  271. package/slide-button/package.json +0 -4
  272. package/spinner/package.json +0 -4
  273. package/tab-navigation/package.json +0 -4
  274. package/tabs/package.json +0 -4
  275. package/testing/package.json +0 -4
  276. package/testing-base/package.json +0 -4
  277. package/testing-jasmine/package.json +0 -4
  278. package/testing-jest/package.json +0 -4
  279. package/toast/package.json +0 -4
  280. package/toggle/package.json +0 -4
  281. package/toggle-button/package.json +0 -4
  282. package/types/package.json +0 -4
@@ -1,206 +1,440 @@
1
- import * as i0 from '@angular/core';
2
- import { HostBinding, Input, ChangeDetectionStrategy, Component, HostListener, Directive, NgModule } from '@angular/core';
3
- import * as i1 from '@kirbydesign/designsystem/shared';
4
- import { ThemeColorDirective } from '@kirbydesign/designsystem/shared';
5
- import { CommonModule } from '@angular/common';
6
-
7
- class CardFooterComponent {
8
- constructor() {
9
- this.hasPadding = true;
10
- }
11
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: CardFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: CardFooterComponent, isStandalone: true, selector: "kirby-card-footer", inputs: { hasPadding: "hasPadding" }, host: { properties: { "class.has-padding": "this.hasPadding" } }, ngImport: i0, template: "<footer>\n <ng-content></ng-content>\n</footer>\n", styles: [":host{display:block;padding:var(--kirby-spacing-s);padding:0;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;overflow:hidden;backface-visibility:hidden;transform:translateZ(0)}:host.has-padding{padding:var(--kirby-spacing-s)}footer{display:inherit;flex:inherit}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: CardFooterComponent, decorators: [{
15
- type: Component,
16
- args: [{ selector: 'kirby-card-footer', changeDetection: ChangeDetectionStrategy.OnPush, template: "<footer>\n <ng-content></ng-content>\n</footer>\n", styles: [":host{display:block;padding:var(--kirby-spacing-s);padding:0;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;overflow:hidden;backface-visibility:hidden;transform:translateZ(0)}:host.has-padding{padding:var(--kirby-spacing-s)}footer{display:inherit;flex:inherit}\n"] }]
17
- }], propDecorators: { hasPadding: [{
18
- type: HostBinding,
19
- args: ['class.has-padding']
20
- }, {
21
- type: Input
22
- }] } });
23
-
24
- class CardHeaderComponent {
25
- constructor() {
26
- this.flagged = null;
27
- this.hasPadding = true;
28
- }
29
- get _cssClass() {
30
- return [this.flagged, this.flagged ? 'flagged' : null];
31
- }
32
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: CardHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.23", type: CardHeaderComponent, isStandalone: true, selector: "kirby-card-header", inputs: { title: "title", subtitle: "subtitle", isTitleBold: "isTitleBold", flagged: "flagged", hasPadding: "hasPadding" }, host: { properties: { "class.has-padding": "this.hasPadding", "class": "this._cssClass" } }, ngImport: i0, template: "@if (title) {\n <p class=\"title\" [class.bold]=\"isTitleBold\">{{ title }}</p>\n}\n@if (subtitle) {\n <p class=\"subtitle\">{{ subtitle }}</p>\n}\n<ng-content></ng-content>\n", styles: [":host{display:block;border-top-left-radius:var(--kirby-border-radius-n);border-top-right-radius:var(--kirby-border-radius-n);text-align:center;padding:0;color:var(--kirby-card-header-color);background-color:var(--kirby-card-header-background-color);line-height:normal}:host.has-padding{padding:var(--kirby-internal-card-header-padding, var(--kirby-spacing-s))}:host.success{--kirby-card-header-background-color: var(--kirby-success-tint)}:host.warning{--kirby-card-header-background-color: var(--kirby-warning-tint)}:host.danger{--kirby-card-header-background-color: var(--kirby-danger-tint)}:host.info{--kirby-card-header-background-color: var(--kirby-semi-light)}:host{--kirby-card-header-color: var(--kirby-black)}.title{margin-bottom:var(--kirby-internal-card-header-margin-bottom, var(--kirby-spacing-s));line-height:var(--kirby-internal-card-header-line-height)}.title.bold{font-weight:var(--kirby-font-weight-bold)}.subtitle{font-size:var(--kirby-font-size-s);margin-bottom:0}:host:has(.subtitle) .title{margin-top:var(--kirby-spacing-xxxs)}:host(.flagged){--kirby-internal-card-header-padding: var(--kirby-spacing-xxxxs) var(--kirby-spacing-xxs)}:host(.flagged) p{--kirby-internal-card-header-line-height: var(--kirby-line-height-n);--kirby-internal-card-header-margin-bottom: 0px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
- }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: CardHeaderComponent, decorators: [{
36
- type: Component,
37
- args: [{ selector: 'kirby-card-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (title) {\n <p class=\"title\" [class.bold]=\"isTitleBold\">{{ title }}</p>\n}\n@if (subtitle) {\n <p class=\"subtitle\">{{ subtitle }}</p>\n}\n<ng-content></ng-content>\n", styles: [":host{display:block;border-top-left-radius:var(--kirby-border-radius-n);border-top-right-radius:var(--kirby-border-radius-n);text-align:center;padding:0;color:var(--kirby-card-header-color);background-color:var(--kirby-card-header-background-color);line-height:normal}:host.has-padding{padding:var(--kirby-internal-card-header-padding, var(--kirby-spacing-s))}:host.success{--kirby-card-header-background-color: var(--kirby-success-tint)}:host.warning{--kirby-card-header-background-color: var(--kirby-warning-tint)}:host.danger{--kirby-card-header-background-color: var(--kirby-danger-tint)}:host.info{--kirby-card-header-background-color: var(--kirby-semi-light)}:host{--kirby-card-header-color: var(--kirby-black)}.title{margin-bottom:var(--kirby-internal-card-header-margin-bottom, var(--kirby-spacing-s));line-height:var(--kirby-internal-card-header-line-height)}.title.bold{font-weight:var(--kirby-font-weight-bold)}.subtitle{font-size:var(--kirby-font-size-s);margin-bottom:0}:host:has(.subtitle) .title{margin-top:var(--kirby-spacing-xxxs)}:host(.flagged){--kirby-internal-card-header-padding: var(--kirby-spacing-xxxxs) var(--kirby-spacing-xxs)}:host(.flagged) p{--kirby-internal-card-header-line-height: var(--kirby-line-height-n);--kirby-internal-card-header-margin-bottom: 0px}\n"] }]
38
- }], propDecorators: { title: [{
39
- type: Input
40
- }], subtitle: [{
41
- type: Input
42
- }], isTitleBold: [{
43
- type: Input
44
- }], flagged: [{
45
- type: Input
46
- }], hasPadding: [{
47
- type: HostBinding,
48
- args: ['class.has-padding']
49
- }, {
50
- type: Input
51
- }], _cssClass: [{
52
- type: HostBinding,
53
- args: ['class']
54
- }] } });
55
-
56
- class CardAsButtonDirective {
57
- constructor(clickableElement) {
58
- this.clickableElement = clickableElement;
59
- this.role = 'button';
60
- this.tabindex = 0;
61
- this._pressed = false;
62
- }
63
- _onKeydownHandler(event) {
64
- if (event.currentTarget !== event.target)
65
- return; // Do not handle keydown events for nested elements - let event bubbling take place as normal
66
- this._pressed = true;
67
- this.clickableElement.nativeElement.click(event);
68
- /*
69
- * Prevent default event from firing so the UA wont
70
- * catch this event and e.g. scroll the page on space,
71
- * which is the default behavior in major browsers
72
- */
73
- event.preventDefault();
74
- }
75
- _onInactiveHandler() {
76
- this._pressed = false;
77
- }
78
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: CardAsButtonDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
79
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.23", type: CardAsButtonDirective, isStandalone: true, selector: "kirby-card[click]", host: { listeners: { "keydown.space": "_onKeydownHandler($event)", "keydown.enter": "_onKeydownHandler($event)", "keyup.space": "_onInactiveHandler()", "keyup.enter": "_onInactiveHandler()", "blur": "_onInactiveHandler()" }, properties: { "attr.role": "this.role", "attr.tabindex": "this.tabindex", "class.interaction-state-active": "this._pressed" } }, ngImport: i0 }); }
80
- }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: CardAsButtonDirective, decorators: [{
82
- type: Directive,
83
- args: [{
84
- // eslint-disable-next-line @angular-eslint/directive-selector
85
- selector: 'kirby-card[click]',
86
- }]
87
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { role: [{
88
- type: HostBinding,
89
- args: ['attr.role']
90
- }], tabindex: [{
91
- type: HostBinding,
92
- args: ['attr.tabindex']
93
- }], _pressed: [{
94
- type: HostBinding,
95
- args: ['class.interaction-state-active']
96
- }], _onKeydownHandler: [{
97
- type: HostListener,
98
- args: ['keydown.space', ['$event']]
99
- }, {
100
- type: HostListener,
101
- args: ['keydown.enter', ['$event']]
102
- }], _onInactiveHandler: [{
103
- type: HostListener,
104
- args: ['keyup.space']
105
- }, {
106
- type: HostListener,
107
- args: ['keyup.enter']
108
- }, {
109
- type: HostListener,
110
- args: ['blur']
111
- }] } });
112
-
113
- class CardComponent {
114
- set backgroundImageUrl(value) {
115
- this._backgroundImage = `url('${value}')`;
116
- }
117
- set sizes(value) {
118
- if (typeof value === 'string') {
119
- console.error('Sizes property cannot be a string. Please ensure the size property is bound as an expression:\n[sizes]="{...}"');
120
- }
121
- this.sizesSortedByBreakpoint = this.sortSizesByBreakpoint(value);
122
- }
123
- constructor(elementRef, resizeObserverService, renderer) {
124
- this.elementRef = elementRef;
125
- this.resizeObserverService = resizeObserverService;
126
- this.renderer = renderer;
127
- this.sizesSortedByBreakpoint = this.sortSizesByBreakpoint({
128
- small: 360,
129
- medium: 720,
130
- large: 1024,
131
- });
132
- this.variant = 'elevated';
133
- }
134
- ngOnInit() {
135
- this.resizeObserverService.observe(this.elementRef, (entry) => this.handleResize(entry));
136
- }
137
- ngOnDestroy() {
138
- this.resizeObserverService.unobserve(this.elementRef);
139
- }
140
- sortSizesByBreakpoint(sizes) {
141
- return Object.entries(sizes).sort(this.compareSizesByBreakpoint);
142
- }
143
- compareSizesByBreakpoint(a, b) {
144
- return a[1] > b[1] ? 1 : b[1] > a[1] ? -1 : 0;
145
- }
146
- handleResize(entry) {
147
- const sizeAttributeName = 'size';
148
- const smallestBreakpointName = this.sizesSortedByBreakpoint[0][0];
149
- const smallestBreakpointWidth = this.sizesSortedByBreakpoint[0][1];
150
- if (entry.contentRect.width < smallestBreakpointWidth) {
151
- this.renderer.setAttribute(entry.target, sizeAttributeName, `<${smallestBreakpointName}`);
152
- }
153
- else {
154
- this.sizesSortedByBreakpoint.forEach(([size, width]) => {
155
- if (entry.contentRect.width >= width) {
156
- this.renderer.setAttribute(entry.target, sizeAttributeName, size);
157
- }
158
- });
159
- }
160
- }
161
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: CardComponent, deps: [{ token: i0.ElementRef }, { token: i1.ResizeObserverService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
162
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.23", type: CardComponent, isStandalone: true, selector: "kirby-card", inputs: { title: "title", subtitle: "subtitle", backgroundImageUrl: "backgroundImageUrl", hasPadding: "hasPadding", sizes: "sizes", variant: "variant" }, host: { properties: { "style.--kirby-card-background-image": "this._backgroundImage", "class": "this.variant" } }, ngImport: i0, template: "<div class=\"state-layer\" aria-hidden=\"true\"></div>\n<div class=\"content-layer\">\n <ng-content select=\"kirby-card-header\"></ng-content>\n <div class=\"content-wrapper\" [class.padding]=\"hasPadding\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"kirby-card-footer\"></ng-content>\n</div>\n", styles: [".kirby-line-clamp{display:-webkit-box;-webkit-line-clamp:var(--line-clamp, none);-webkit-box-orient:vertical;overflow:hidden}ion-item-option.primary{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}ion-item-option.secondary{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}ion-item-option.tertiary{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}ion-item-option.success{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}ion-item-option.warning{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}ion-item-option.danger{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}ion-item-option.white-overlay{background-color:var(--kirby-white-overlay);color:var(--kirby-white-overlay-contrast)}ion-item-option.light{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}ion-item-option.medium{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}ion-item-option.dark{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}ion-item-option.dark-overlay{background-color:var(--kirby-dark-overlay);color:var(--kirby-dark-overlay-contrast)}:host{--kirby-card-main-background-color: var(--kirby-white);--kirby-card-main-color: var(--kirby-white-contrast);--kirby-card-footer-background-color: var(--kirby-white);--kirby-card-footer-color: var(--kirby-white-contrast);--kirby-inputs-background-color: var(--kirby-dark-overlay);--kirby-inputs-background-color-hover: var(--kirby-dark-overlay-10);--kirby-inputs-background-color-active: var(--kirby-dark-overlay-20);--kirby-inputs-color: var(--kirby-black);--kirby-inputs-indicator-background-color: var(--kirby-black);--kirby-inputs-indicator-color: var(--kirby-white);--kirby-inputs-placeholder-color: var(--kirby-semi-dark);--kirby-inputs-color-hover: var(--kirby-semi-dark);--kirby-inputs-elevation: none;--kirby-divider-color: var(--kirby-background-color)}:host.kirby-color-brightness-light{--kirby-inputs-background-color: var(--kirby-white);--kirby-inputs-background-color-hover: var(--kirby-dark-overlay-10);--kirby-inputs-background-color-active: var(--kirby-dark-overlay-20);--kirby-inputs-color: var(--kirby-black);--kirby-inputs-indicator-background-color: var(--kirby-black);--kirby-inputs-indicator-color: var(--kirby-white);--kirby-inputs-placeholder-color: var(--kirby-semi-dark);--kirby-inputs-color-hover: var(--kirby-semi-dark);--kirby-divider-color: var(--kirby-medium);--kirby-inputs-elevation: var(--kirby-elevation-2)}:host.kirby-color-brightness-dark{--kirby-inputs-background-color: var(--kirby-white-overlay);--kirby-inputs-background-color-hover: var(--kirby-white-overlay-30);--kirby-inputs-background-color-active: var(--kirby-white-overlay-40);--kirby-inputs-color: var(--kirby-white);--kirby-inputs-indicator-background-color: var(--kirby-white);--kirby-inputs-indicator-color: var(--kirby-black);--kirby-inputs-placeholder-color: var(--kirby-white-overlay-50);--kirby-inputs-color-hover: var(--kirby-white-overlay-50);--kirby-inputs-elevation: none}@media(hover:hover){:host.kirby-color-brightness-dark[role=button]:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black-contrast);cursor:pointer}}:host.kirby-color-brightness-dark[role=button]:active,:host.kirby-color-brightness-dark[role=button].interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black-contrast)}:host .content-layer{display:inherit;flex-direction:inherit;justify-content:inherit}:host{border-radius:var(--kirby-border-radius-n);box-shadow:var(--kirby-elevation-2);color:var(--kirby-card-main-color);background-color:var(--kirby-card-main-background-color);background-image:var(--kirby-card-background-image);background-repeat:var(--kirby-card-background-repeat, no-repeat);background-position:var(--kirby-card-background-position, center);background-size:var(--kirby-card-background-size, cover);border:var(--kirby-card-border, none);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative;z-index:var(--kirby-z-index-default);width:var(--kirby-card-width, auto)}:host.flat{box-shadow:none}:host.outlined{background-color:transparent;border:var(--kirby-card-border, 1px solid var(--kirby-medium));box-shadow:none}:host.outlined:has(kirby-card-header.flagged){border:none}:host.outlined:has(kirby-card-header.flagged) .content-wrapper{border-block-end:var(--kirby-card-border, 1px solid var(--kirby-medium));border-inline-start:var(--kirby-card-border, 1px solid var(--kirby-medium));border-inline-end:var(--kirby-card-border, 1px solid var(--kirby-medium));border-bottom-left-radius:var(--kirby-border-radius-n);border-bottom-right-radius:var(--kirby-border-radius-n)}:host[role=button]{--state-layer-opacity: 0;--state-layer-background-color: var(--kirby-black);position:relative}:host[role=button] .content-layer{position:relative;z-index:var(--content-layer-z-index, var(--kirby-z-index-default))}:host[role=button] .state-layer{position:absolute;inset:-0;overflow:hidden;pointer-events:none;border-radius:inherit;z-index:calc(var(--kirby-z-index-default) + 1)}:host[role=button] .state-layer:before{transition:all 80ms linear 0ms;content:\"\";position:absolute;pointer-events:none;inset:0;border-radius:inherit;opacity:var(--state-layer-opacity, 0);background-color:var(--state-layer-background-color, var(--kirby-black))}@media(hover:hover){:host[role=button]:hover{--state-layer-opacity: .04;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host[role=button]:active,:host[role=button].interaction-state-active{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black)}:host[role=button]:focus-visible{transition:all 80ms linear 0ms;box-shadow:var(--kirby-elevation-2),var(--kirby-focus-ring-md-inset)}:host[role=button]{outline:none}.content-wrapper ::ng-deep>*{--kirby-content-border-top-radius: 0;--kirby-content-border-bottom-radius: 0}.content-wrapper ::ng-deep>:first-child{--kirby-content-border-top-radius: var(--kirby-border-radius-n)}.content-wrapper ::ng-deep>:last-child{--kirby-content-border-bottom-radius: var(--kirby-border-radius-n)}.content-wrapper.padding{padding-top:var(--kirby-card-padding-top, var(--kirby-spacing-s));padding-bottom:var(--kirby-card-padding-bottom, var(--kirby-spacing-s));padding-inline:var(--kirby-spacing-s)}:host:has(kirby-card-header) .content-wrapper ::ng-deep>:first-child{--kirby-content-border-top-radius: 0}:host:has(kirby-card-footer) .content-wrapper ::ng-deep>:last-child{--kirby-content-border-bottom-radius: 0}.content-layer{height:100%}:host(:not(.outlined)).primary{--kirby-card-main-background-color: var(--kirby-primary);--kirby-card-main-color: var(--kirby-primary-contrast)}:host(:not(.outlined)).secondary{--kirby-card-main-background-color: var(--kirby-secondary);--kirby-card-main-color: var(--kirby-secondary-contrast)}:host(:not(.outlined)).tertiary{--kirby-card-main-background-color: var(--kirby-tertiary);--kirby-card-main-color: var(--kirby-tertiary-contrast)}:host(:not(.outlined)).success{--kirby-card-main-background-color: var(--kirby-success);--kirby-card-main-color: var(--kirby-success-contrast)}:host(:not(.outlined)).warning{--kirby-card-main-background-color: var(--kirby-warning);--kirby-card-main-color: var(--kirby-warning-contrast)}:host(:not(.outlined)).danger{--kirby-card-main-background-color: var(--kirby-danger);--kirby-card-main-color: var(--kirby-danger-contrast)}:host(:not(.outlined)).white-overlay{--kirby-card-main-background-color: var(--kirby-white-overlay);--kirby-card-main-color: var(--kirby-white-overlay-contrast)}:host(:not(.outlined)).light{--kirby-card-main-background-color: var(--kirby-light);--kirby-card-main-color: var(--kirby-light-contrast)}:host(:not(.outlined)).medium{--kirby-card-main-background-color: var(--kirby-medium);--kirby-card-main-color: var(--kirby-medium-contrast)}:host(:not(.outlined)).dark{--kirby-card-main-background-color: var(--kirby-dark);--kirby-card-main-color: var(--kirby-dark-contrast)}:host(:not(.outlined)).dark-overlay{--kirby-card-main-background-color: var(--kirby-dark-overlay);--kirby-card-main-color: var(--kirby-dark-overlay-contrast)}\n"] }); }
163
- }
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: CardComponent, decorators: [{
165
- type: Component,
166
- args: [{ selector: 'kirby-card', template: "<div class=\"state-layer\" aria-hidden=\"true\"></div>\n<div class=\"content-layer\">\n <ng-content select=\"kirby-card-header\"></ng-content>\n <div class=\"content-wrapper\" [class.padding]=\"hasPadding\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"kirby-card-footer\"></ng-content>\n</div>\n", styles: [".kirby-line-clamp{display:-webkit-box;-webkit-line-clamp:var(--line-clamp, none);-webkit-box-orient:vertical;overflow:hidden}ion-item-option.primary{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}ion-item-option.secondary{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}ion-item-option.tertiary{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}ion-item-option.success{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}ion-item-option.warning{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}ion-item-option.danger{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}ion-item-option.white-overlay{background-color:var(--kirby-white-overlay);color:var(--kirby-white-overlay-contrast)}ion-item-option.light{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}ion-item-option.medium{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}ion-item-option.dark{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}ion-item-option.dark-overlay{background-color:var(--kirby-dark-overlay);color:var(--kirby-dark-overlay-contrast)}:host{--kirby-card-main-background-color: var(--kirby-white);--kirby-card-main-color: var(--kirby-white-contrast);--kirby-card-footer-background-color: var(--kirby-white);--kirby-card-footer-color: var(--kirby-white-contrast);--kirby-inputs-background-color: var(--kirby-dark-overlay);--kirby-inputs-background-color-hover: var(--kirby-dark-overlay-10);--kirby-inputs-background-color-active: var(--kirby-dark-overlay-20);--kirby-inputs-color: var(--kirby-black);--kirby-inputs-indicator-background-color: var(--kirby-black);--kirby-inputs-indicator-color: var(--kirby-white);--kirby-inputs-placeholder-color: var(--kirby-semi-dark);--kirby-inputs-color-hover: var(--kirby-semi-dark);--kirby-inputs-elevation: none;--kirby-divider-color: var(--kirby-background-color)}:host.kirby-color-brightness-light{--kirby-inputs-background-color: var(--kirby-white);--kirby-inputs-background-color-hover: var(--kirby-dark-overlay-10);--kirby-inputs-background-color-active: var(--kirby-dark-overlay-20);--kirby-inputs-color: var(--kirby-black);--kirby-inputs-indicator-background-color: var(--kirby-black);--kirby-inputs-indicator-color: var(--kirby-white);--kirby-inputs-placeholder-color: var(--kirby-semi-dark);--kirby-inputs-color-hover: var(--kirby-semi-dark);--kirby-divider-color: var(--kirby-medium);--kirby-inputs-elevation: var(--kirby-elevation-2)}:host.kirby-color-brightness-dark{--kirby-inputs-background-color: var(--kirby-white-overlay);--kirby-inputs-background-color-hover: var(--kirby-white-overlay-30);--kirby-inputs-background-color-active: var(--kirby-white-overlay-40);--kirby-inputs-color: var(--kirby-white);--kirby-inputs-indicator-background-color: var(--kirby-white);--kirby-inputs-indicator-color: var(--kirby-black);--kirby-inputs-placeholder-color: var(--kirby-white-overlay-50);--kirby-inputs-color-hover: var(--kirby-white-overlay-50);--kirby-inputs-elevation: none}@media(hover:hover){:host.kirby-color-brightness-dark[role=button]:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black-contrast);cursor:pointer}}:host.kirby-color-brightness-dark[role=button]:active,:host.kirby-color-brightness-dark[role=button].interaction-state-active{--state-layer-opacity: .16;--state-layer-background-color: var(--kirby-black-contrast)}:host .content-layer{display:inherit;flex-direction:inherit;justify-content:inherit}:host{border-radius:var(--kirby-border-radius-n);box-shadow:var(--kirby-elevation-2);color:var(--kirby-card-main-color);background-color:var(--kirby-card-main-background-color);background-image:var(--kirby-card-background-image);background-repeat:var(--kirby-card-background-repeat, no-repeat);background-position:var(--kirby-card-background-position, center);background-size:var(--kirby-card-background-size, cover);border:var(--kirby-card-border, none);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative;z-index:var(--kirby-z-index-default);width:var(--kirby-card-width, auto)}:host.flat{box-shadow:none}:host.outlined{background-color:transparent;border:var(--kirby-card-border, 1px solid var(--kirby-medium));box-shadow:none}:host.outlined:has(kirby-card-header.flagged){border:none}:host.outlined:has(kirby-card-header.flagged) .content-wrapper{border-block-end:var(--kirby-card-border, 1px solid var(--kirby-medium));border-inline-start:var(--kirby-card-border, 1px solid var(--kirby-medium));border-inline-end:var(--kirby-card-border, 1px solid var(--kirby-medium));border-bottom-left-radius:var(--kirby-border-radius-n);border-bottom-right-radius:var(--kirby-border-radius-n)}:host[role=button]{--state-layer-opacity: 0;--state-layer-background-color: var(--kirby-black);position:relative}:host[role=button] .content-layer{position:relative;z-index:var(--content-layer-z-index, var(--kirby-z-index-default))}:host[role=button] .state-layer{position:absolute;inset:-0;overflow:hidden;pointer-events:none;border-radius:inherit;z-index:calc(var(--kirby-z-index-default) + 1)}:host[role=button] .state-layer:before{transition:all 80ms linear 0ms;content:\"\";position:absolute;pointer-events:none;inset:0;border-radius:inherit;opacity:var(--state-layer-opacity, 0);background-color:var(--state-layer-background-color, var(--kirby-black))}@media(hover:hover){:host[role=button]:hover{--state-layer-opacity: .04;--state-layer-background-color: var(--kirby-black);cursor:pointer}}:host[role=button]:active,:host[role=button].interaction-state-active{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black)}:host[role=button]:focus-visible{transition:all 80ms linear 0ms;box-shadow:var(--kirby-elevation-2),var(--kirby-focus-ring-md-inset)}:host[role=button]{outline:none}.content-wrapper ::ng-deep>*{--kirby-content-border-top-radius: 0;--kirby-content-border-bottom-radius: 0}.content-wrapper ::ng-deep>:first-child{--kirby-content-border-top-radius: var(--kirby-border-radius-n)}.content-wrapper ::ng-deep>:last-child{--kirby-content-border-bottom-radius: var(--kirby-border-radius-n)}.content-wrapper.padding{padding-top:var(--kirby-card-padding-top, var(--kirby-spacing-s));padding-bottom:var(--kirby-card-padding-bottom, var(--kirby-spacing-s));padding-inline:var(--kirby-spacing-s)}:host:has(kirby-card-header) .content-wrapper ::ng-deep>:first-child{--kirby-content-border-top-radius: 0}:host:has(kirby-card-footer) .content-wrapper ::ng-deep>:last-child{--kirby-content-border-bottom-radius: 0}.content-layer{height:100%}:host(:not(.outlined)).primary{--kirby-card-main-background-color: var(--kirby-primary);--kirby-card-main-color: var(--kirby-primary-contrast)}:host(:not(.outlined)).secondary{--kirby-card-main-background-color: var(--kirby-secondary);--kirby-card-main-color: var(--kirby-secondary-contrast)}:host(:not(.outlined)).tertiary{--kirby-card-main-background-color: var(--kirby-tertiary);--kirby-card-main-color: var(--kirby-tertiary-contrast)}:host(:not(.outlined)).success{--kirby-card-main-background-color: var(--kirby-success);--kirby-card-main-color: var(--kirby-success-contrast)}:host(:not(.outlined)).warning{--kirby-card-main-background-color: var(--kirby-warning);--kirby-card-main-color: var(--kirby-warning-contrast)}:host(:not(.outlined)).danger{--kirby-card-main-background-color: var(--kirby-danger);--kirby-card-main-color: var(--kirby-danger-contrast)}:host(:not(.outlined)).white-overlay{--kirby-card-main-background-color: var(--kirby-white-overlay);--kirby-card-main-color: var(--kirby-white-overlay-contrast)}:host(:not(.outlined)).light{--kirby-card-main-background-color: var(--kirby-light);--kirby-card-main-color: var(--kirby-light-contrast)}:host(:not(.outlined)).medium{--kirby-card-main-background-color: var(--kirby-medium);--kirby-card-main-color: var(--kirby-medium-contrast)}:host(:not(.outlined)).dark{--kirby-card-main-background-color: var(--kirby-dark);--kirby-card-main-color: var(--kirby-dark-contrast)}:host(:not(.outlined)).dark-overlay{--kirby-card-main-background-color: var(--kirby-dark-overlay);--kirby-card-main-color: var(--kirby-dark-overlay-contrast)}\n"] }]
167
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.ResizeObserverService }, { type: i0.Renderer2 }], propDecorators: { title: [{
168
- type: Input
169
- }], subtitle: [{
170
- type: Input
171
- }], _backgroundImage: [{
172
- type: HostBinding,
173
- args: ['style.--kirby-card-background-image']
174
- }], backgroundImageUrl: [{
175
- type: Input
176
- }], hasPadding: [{
177
- type: Input
178
- }], sizes: [{
179
- type: Input
180
- }], variant: [{
181
- type: HostBinding,
182
- args: ['class']
183
- }, {
184
- type: Input
185
- }] } });
186
-
187
- const imports = [CardComponent, CardFooterComponent, CardHeaderComponent, CardAsButtonDirective];
188
- class CardModule {
189
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: CardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
190
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: CardModule, imports: [CommonModule, ThemeColorDirective, CardComponent, CardFooterComponent, CardHeaderComponent, CardAsButtonDirective], exports: [CardComponent, CardFooterComponent, CardHeaderComponent, CardAsButtonDirective, ThemeColorDirective] }); }
191
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: CardModule, imports: [CommonModule] }); }
192
- }
193
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: CardModule, decorators: [{
194
- type: NgModule,
195
- args: [{
196
- imports: [CommonModule, ThemeColorDirective, ...imports],
197
- exports: [...imports, ThemeColorDirective],
198
- }]
199
- }] });
200
-
201
- /**
202
- * Generated bundle index. Do not edit.
203
- */
204
-
1
+ import * as i0 from "@angular/core";
2
+ import { ChangeDetectionStrategy, Component, Directive, HostBinding, HostListener, Input, NgModule, inject } from "@angular/core";
3
+ import * as i1 from "@kirbydesign/designsystem/shared";
4
+ import { ThemeColorDirective } from "@kirbydesign/designsystem/shared";
5
+ import { CommonModule } from "@angular/common";
6
+ var CardFooterComponent = class CardFooterComponent {
7
+ constructor() {
8
+ this.hasPadding = true;
9
+ }
10
+ static {
11
+ this.ɵfac = i0.ɵɵngDeclareFactory({
12
+ minVersion: "12.0.0",
13
+ version: "22.2.2",
14
+ ngImport: i0,
15
+ type: CardFooterComponent,
16
+ deps: [],
17
+ target: i0.ɵɵFactoryTarget.Component
18
+ });
19
+ }
20
+ static {
21
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
22
+ minVersion: "14.0.0",
23
+ version: "22.2.2",
24
+ type: CardFooterComponent,
25
+ isStandalone: true,
26
+ selector: "kirby-card-footer",
27
+ inputs: { hasPadding: "hasPadding" },
28
+ host: { properties: { "class.has-padding": "this.hasPadding" } },
29
+ ngImport: i0,
30
+ template: "<footer>\n <ng-content></ng-content>\n</footer>\n",
31
+ styles: [":host{display:block;padding:var(--kirby-spacing-s);padding:0;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;overflow:hidden;backface-visibility:hidden;transform:translateZ(0)}:host.has-padding{padding:var(--kirby-spacing-s)}footer{display:inherit;flex:inherit}\n"],
32
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
33
+ });
34
+ }
35
+ };
36
+ i0.ɵɵngDeclareClassMetadata({
37
+ minVersion: "12.0.0",
38
+ version: "22.2.2",
39
+ ngImport: i0,
40
+ type: CardFooterComponent,
41
+ decorators: [{
42
+ type: Component,
43
+ args: [{
44
+ selector: "kirby-card-footer",
45
+ changeDetection: ChangeDetectionStrategy.OnPush,
46
+ template: "<footer>\n <ng-content></ng-content>\n</footer>\n",
47
+ styles: [":host{display:block;padding:var(--kirby-spacing-s);padding:0;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;overflow:hidden;backface-visibility:hidden;transform:translateZ(0)}:host.has-padding{padding:var(--kirby-spacing-s)}footer{display:inherit;flex:inherit}\n"]
48
+ }]
49
+ }],
50
+ propDecorators: { hasPadding: [{
51
+ type: HostBinding,
52
+ args: ["class.has-padding"]
53
+ }, { type: Input }] }
54
+ });
55
+ var CardHeaderComponent = class CardHeaderComponent {
56
+ constructor() {
57
+ this.flagged = null;
58
+ this.hasPadding = true;
59
+ }
60
+ get _cssClass() {
61
+ return [this.flagged, this.flagged ? "flagged" : null];
62
+ }
63
+ static {
64
+ this.ɵfac = i0.ɵɵngDeclareFactory({
65
+ minVersion: "12.0.0",
66
+ version: "22.2.2",
67
+ ngImport: i0,
68
+ type: CardHeaderComponent,
69
+ deps: [],
70
+ target: i0.ɵɵFactoryTarget.Component
71
+ });
72
+ }
73
+ static {
74
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
75
+ minVersion: "17.0.0",
76
+ version: "22.2.2",
77
+ type: CardHeaderComponent,
78
+ isStandalone: true,
79
+ selector: "kirby-card-header",
80
+ inputs: {
81
+ title: "title",
82
+ subtitle: "subtitle",
83
+ isTitleBold: "isTitleBold",
84
+ flagged: "flagged",
85
+ hasPadding: "hasPadding"
86
+ },
87
+ host: { properties: {
88
+ "class.has-padding": "this.hasPadding",
89
+ "class": "this._cssClass"
90
+ } },
91
+ ngImport: i0,
92
+ template: "@if (title) {\n <p class=\"title\" [class.bold]=\"isTitleBold\">{{ title }}</p>\n}\n@if (subtitle) {\n <p class=\"subtitle\">{{ subtitle }}</p>\n}\n<ng-content></ng-content>\n",
93
+ styles: [":host{display:block;text-align:center;padding:0;color:var(--kirby-card-header-color);background-color:var(--kirby-card-header-background-color);line-height:normal}:host.has-padding{padding:var(--kirby-internal-card-header-padding, var(--kirby-spacing-s))}:host.success{--kirby-card-header-background-color: var(--kirby-color-fill-success-quiet);--kirby-card-header-color: var(--kirby-color-content-success-quiet)}:host.warning{--kirby-card-header-background-color: var(--kirby-color-fill-warning-quiet);--kirby-card-header-color: var(--kirby-color-content-warning-quiet)}:host.danger{--kirby-card-header-background-color: var(--kirby-color-fill-danger-quiet);--kirby-card-header-color: var(--kirby-color-content-danger-quiet)}:host.info{--kirby-card-header-background-color: var(--kirby-color-fill-neutral);--kirby-card-header-color: var(--kirby-color-content-neutral)}.title{margin-bottom:var(--kirby-internal-card-header-margin-bottom, var(--kirby-spacing-s));line-height:var(--kirby-internal-card-header-line-height)}.title.bold{font-weight:var(--kirby-font-weight-bold)}.subtitle{font-size:var(--kirby-font-size-s);margin-bottom:0}:host:has(.subtitle) .title{margin-top:var(--kirby-spacing-xxxs)}:host(.flagged){--kirby-internal-card-header-padding: var(--kirby-spacing-xxxxs) var(--kirby-spacing-xxs)}:host(.flagged) p{--kirby-internal-card-header-line-height: var(--kirby-line-height-n);--kirby-internal-card-header-margin-bottom: 0px}\n"],
94
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
95
+ });
96
+ }
97
+ };
98
+ i0.ɵɵngDeclareClassMetadata({
99
+ minVersion: "12.0.0",
100
+ version: "22.2.2",
101
+ ngImport: i0,
102
+ type: CardHeaderComponent,
103
+ decorators: [{
104
+ type: Component,
105
+ args: [{
106
+ selector: "kirby-card-header",
107
+ changeDetection: ChangeDetectionStrategy.OnPush,
108
+ template: "@if (title) {\n <p class=\"title\" [class.bold]=\"isTitleBold\">{{ title }}</p>\n}\n@if (subtitle) {\n <p class=\"subtitle\">{{ subtitle }}</p>\n}\n<ng-content></ng-content>\n",
109
+ styles: [":host{display:block;text-align:center;padding:0;color:var(--kirby-card-header-color);background-color:var(--kirby-card-header-background-color);line-height:normal}:host.has-padding{padding:var(--kirby-internal-card-header-padding, var(--kirby-spacing-s))}:host.success{--kirby-card-header-background-color: var(--kirby-color-fill-success-quiet);--kirby-card-header-color: var(--kirby-color-content-success-quiet)}:host.warning{--kirby-card-header-background-color: var(--kirby-color-fill-warning-quiet);--kirby-card-header-color: var(--kirby-color-content-warning-quiet)}:host.danger{--kirby-card-header-background-color: var(--kirby-color-fill-danger-quiet);--kirby-card-header-color: var(--kirby-color-content-danger-quiet)}:host.info{--kirby-card-header-background-color: var(--kirby-color-fill-neutral);--kirby-card-header-color: var(--kirby-color-content-neutral)}.title{margin-bottom:var(--kirby-internal-card-header-margin-bottom, var(--kirby-spacing-s));line-height:var(--kirby-internal-card-header-line-height)}.title.bold{font-weight:var(--kirby-font-weight-bold)}.subtitle{font-size:var(--kirby-font-size-s);margin-bottom:0}:host:has(.subtitle) .title{margin-top:var(--kirby-spacing-xxxs)}:host(.flagged){--kirby-internal-card-header-padding: var(--kirby-spacing-xxxxs) var(--kirby-spacing-xxs)}:host(.flagged) p{--kirby-internal-card-header-line-height: var(--kirby-line-height-n);--kirby-internal-card-header-margin-bottom: 0px}\n"]
110
+ }]
111
+ }],
112
+ propDecorators: {
113
+ title: [{ type: Input }],
114
+ subtitle: [{ type: Input }],
115
+ isTitleBold: [{ type: Input }],
116
+ flagged: [{ type: Input }],
117
+ hasPadding: [{
118
+ type: HostBinding,
119
+ args: ["class.has-padding"]
120
+ }, { type: Input }],
121
+ _cssClass: [{
122
+ type: HostBinding,
123
+ args: ["class"]
124
+ }]
125
+ }
126
+ });
127
+ var CardAsButtonDirective = class CardAsButtonDirective {
128
+ constructor(clickableElement) {
129
+ this.clickableElement = clickableElement;
130
+ this.role = "button";
131
+ this.tabindex = 0;
132
+ this._pressed = false;
133
+ }
134
+ _onKeydownHandler(event) {
135
+ if (event.currentTarget !== event.target) return;
136
+ this._pressed = true;
137
+ this.clickableElement.nativeElement.click(event);
138
+ event.preventDefault();
139
+ }
140
+ _onInactiveHandler() {
141
+ this._pressed = false;
142
+ }
143
+ static {
144
+ this.ɵfac = i0.ɵɵngDeclareFactory({
145
+ minVersion: "12.0.0",
146
+ version: "22.2.2",
147
+ ngImport: i0,
148
+ type: CardAsButtonDirective,
149
+ deps: [{ token: i0.ElementRef }],
150
+ target: i0.ɵɵFactoryTarget.Directive
151
+ });
152
+ }
153
+ static {
154
+ this.ɵdir = i0.ɵɵngDeclareDirective({
155
+ minVersion: "14.0.0",
156
+ version: "22.2.2",
157
+ type: CardAsButtonDirective,
158
+ isStandalone: true,
159
+ selector: "kirby-card[click]",
160
+ host: {
161
+ listeners: {
162
+ "keydown.space": "_onKeydownHandler($event)",
163
+ "keydown.enter": "_onKeydownHandler($event)",
164
+ "keyup.space": "_onInactiveHandler()",
165
+ "keyup.enter": "_onInactiveHandler()",
166
+ "blur": "_onInactiveHandler()"
167
+ },
168
+ properties: {
169
+ "attr.role": "this.role",
170
+ "attr.tabindex": "this.tabindex",
171
+ "class.interaction-state-active": "this._pressed"
172
+ }
173
+ },
174
+ ngImport: i0
175
+ });
176
+ }
177
+ };
178
+ i0.ɵɵngDeclareClassMetadata({
179
+ minVersion: "12.0.0",
180
+ version: "22.2.2",
181
+ ngImport: i0,
182
+ type: CardAsButtonDirective,
183
+ decorators: [{
184
+ type: Directive,
185
+ args: [{ selector: "kirby-card[click]" }]
186
+ }],
187
+ ctorParameters: () => [{ type: i0.ElementRef }],
188
+ propDecorators: {
189
+ role: [{
190
+ type: HostBinding,
191
+ args: ["attr.role"]
192
+ }],
193
+ tabindex: [{
194
+ type: HostBinding,
195
+ args: ["attr.tabindex"]
196
+ }],
197
+ _pressed: [{
198
+ type: HostBinding,
199
+ args: ["class.interaction-state-active"]
200
+ }],
201
+ _onKeydownHandler: [{
202
+ type: HostListener,
203
+ args: ["keydown.space", ["$event"]]
204
+ }, {
205
+ type: HostListener,
206
+ args: ["keydown.enter", ["$event"]]
207
+ }],
208
+ _onInactiveHandler: [
209
+ {
210
+ type: HostListener,
211
+ args: ["keyup.space"]
212
+ },
213
+ {
214
+ type: HostListener,
215
+ args: ["keyup.enter"]
216
+ },
217
+ {
218
+ type: HostListener,
219
+ args: ["blur"]
220
+ }
221
+ ]
222
+ }
223
+ });
224
+ const variantSurfaces = {
225
+ elevated: "raised",
226
+ flat: "raised",
227
+ outlined: "base",
228
+ base: "base",
229
+ raised: "raised",
230
+ brand: "brand"
231
+ };
232
+ var CardComponent = class CardComponent {
233
+ set backgroundImageUrl(value) {
234
+ this._backgroundImage = `url('${value}')`;
235
+ }
236
+ set sizes(value) {
237
+ if (typeof value === "string") console.error("Sizes property cannot be a string. Please ensure the size property is bound as an expression:\n[sizes]=\"{...}\"");
238
+ this.sizesSortedByBreakpoint = this.sortSizesByBreakpoint(value);
239
+ }
240
+ get hostClasses() {
241
+ const surface = this.surface;
242
+ return surface ? `${this.variant} kirby-surface-${surface}` : this.variant;
243
+ }
244
+ get surface() {
245
+ const theme = this.themeColor;
246
+ if (!theme || theme.isDefault) return variantSurfaces[this.variant];
247
+ if (theme.isLight) return "base";
248
+ if (theme.isWhite) return "raised";
249
+ if (theme.isPrimary || theme.isSecondary || theme.isTertiary || theme.isDark) return "brand";
250
+ return null;
251
+ }
252
+ constructor(elementRef, resizeObserverService, renderer) {
253
+ this.elementRef = elementRef;
254
+ this.resizeObserverService = resizeObserverService;
255
+ this.renderer = renderer;
256
+ this.themeColor = inject(ThemeColorDirective, {
257
+ optional: true,
258
+ self: true
259
+ });
260
+ this.sizesSortedByBreakpoint = this.sortSizesByBreakpoint({
261
+ small: 360,
262
+ medium: 720,
263
+ large: 1024
264
+ });
265
+ this.variant = "raised";
266
+ }
267
+ ngOnInit() {
268
+ this.resizeObserverService.observe(this.elementRef, (entry) => this.handleResize(entry));
269
+ }
270
+ ngOnDestroy() {
271
+ this.resizeObserverService.unobserve(this.elementRef);
272
+ }
273
+ sortSizesByBreakpoint(sizes) {
274
+ return Object.entries(sizes).sort(this.compareSizesByBreakpoint);
275
+ }
276
+ compareSizesByBreakpoint(a, b) {
277
+ return a[1] > b[1] ? 1 : b[1] > a[1] ? -1 : 0;
278
+ }
279
+ handleResize(entry) {
280
+ const sizeAttributeName = "size";
281
+ const smallestBreakpointName = this.sizesSortedByBreakpoint[0][0];
282
+ const smallestBreakpointWidth = this.sizesSortedByBreakpoint[0][1];
283
+ if (entry.contentRect.width < smallestBreakpointWidth) this.renderer.setAttribute(entry.target, sizeAttributeName, `<${smallestBreakpointName}`);
284
+ else this.sizesSortedByBreakpoint.forEach(([size, width]) => {
285
+ if (entry.contentRect.width >= width) this.renderer.setAttribute(entry.target, sizeAttributeName, size);
286
+ });
287
+ }
288
+ static {
289
+ this.ɵfac = i0.ɵɵngDeclareFactory({
290
+ minVersion: "12.0.0",
291
+ version: "22.2.2",
292
+ ngImport: i0,
293
+ type: CardComponent,
294
+ deps: [
295
+ { token: i0.ElementRef },
296
+ { token: i1.ResizeObserverService },
297
+ { token: i0.Renderer2 }
298
+ ],
299
+ target: i0.ɵɵFactoryTarget.Component
300
+ });
301
+ }
302
+ static {
303
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
304
+ minVersion: "16.1.0",
305
+ version: "22.2.2",
306
+ type: CardComponent,
307
+ isStandalone: true,
308
+ selector: "kirby-card",
309
+ inputs: {
310
+ title: "title",
311
+ subtitle: "subtitle",
312
+ backgroundImageUrl: "backgroundImageUrl",
313
+ hasPadding: "hasPadding",
314
+ sizes: "sizes",
315
+ variant: [
316
+ "variant",
317
+ "variant",
318
+ (value) => value ?? "raised"
319
+ ]
320
+ },
321
+ host: { properties: {
322
+ "style.--kirby-card-background-image": "this._backgroundImage",
323
+ "class": "this.hostClasses"
324
+ } },
325
+ ngImport: i0,
326
+ template: "<ng-content select=\"kirby-card-header\"></ng-content>\n<div class=\"content-wrapper\" [class.padding]=\"hasPadding\">\n <ng-content></ng-content>\n</div>\n<ng-content select=\"kirby-card-footer\"></ng-content>\n",
327
+ styles: [".kirby-line-clamp{display:-webkit-box;-webkit-line-clamp:var(--line-clamp, none);-webkit-box-orient:vertical;overflow:hidden}ion-item-option.success{background-color:var(--kirby-color-fill-success);color:var(--kirby-color-content-success)}@media(hover:hover){ion-item-option.success:hover{background-color:var(--kirby-color-fill-success-hover);color:var(--kirby-color-content-success-hover)}}ion-item-option.success:active{background-color:var(--kirby-color-fill-success-active);color:var(--kirby-color-content-success-active)}ion-item-option.warning{background-color:var(--kirby-color-fill-warning);color:var(--kirby-color-content-warning)}@media(hover:hover){ion-item-option.warning:hover{background-color:var(--kirby-color-fill-warning-hover);color:var(--kirby-color-content-warning-hover)}}ion-item-option.warning:active{background-color:var(--kirby-color-fill-warning-active);color:var(--kirby-color-content-warning-active)}ion-item-option.danger{background-color:var(--kirby-color-fill-danger);color:var(--kirby-color-content-danger)}@media(hover:hover){ion-item-option.danger:hover{background-color:var(--kirby-color-fill-danger-hover);color:var(--kirby-color-content-danger-hover)}}ion-item-option.danger:active{background-color:var(--kirby-color-fill-danger-active);color:var(--kirby-color-content-danger-active)}:host{--kirby-card-main-background-color: var(--kirby-color-fill-base);--kirby-card-main-color: var(--kirby-color-content-base);--kirby-card-main-border-color: var(--kirby-color-border-base-quiet);--kirby-card-border-width: 1px;--kirby-card-footer-background-color: var(--kirby-color-fill-base);--kirby-card-footer-color: var(--kirby-color-content-base);--kirby-inputs-background-color: var(--kirby-dark-overlay);--kirby-inputs-background-color-hover: var(--kirby-dark-overlay-10);--kirby-inputs-background-color-active: var(--kirby-dark-overlay-20);--kirby-inputs-color: var(--kirby-black);--kirby-inputs-indicator-background-color: var(--kirby-black);--kirby-inputs-indicator-color: var(--kirby-white);--kirby-inputs-placeholder-color: var(--kirby-semi-dark);--kirby-inputs-color-hover: var(--kirby-semi-dark);--kirby-inputs-elevation: none;--kirby-divider-color: var(--kirby-background-color)}:host.kirby-color-brightness-light{--kirby-inputs-background-color: var(--kirby-white);--kirby-inputs-background-color-hover: var(--kirby-dark-overlay-10);--kirby-inputs-background-color-active: var(--kirby-dark-overlay-20);--kirby-inputs-color: var(--kirby-black);--kirby-inputs-indicator-background-color: var(--kirby-black);--kirby-inputs-indicator-color: var(--kirby-white);--kirby-inputs-placeholder-color: var(--kirby-semi-dark);--kirby-inputs-color-hover: var(--kirby-semi-dark);--kirby-divider-color: var(--kirby-medium);--kirby-inputs-elevation: var(--kirby-elevation-2)}:host.kirby-color-brightness-dark{--kirby-inputs-background-color: var(--kirby-white-overlay);--kirby-inputs-background-color-hover: var(--kirby-white-overlay-30);--kirby-inputs-background-color-active: var(--kirby-white-overlay-40);--kirby-inputs-color: var(--kirby-white);--kirby-inputs-indicator-background-color: var(--kirby-white);--kirby-inputs-indicator-color: var(--kirby-black);--kirby-inputs-placeholder-color: var(--kirby-white-overlay-50);--kirby-inputs-color-hover: var(--kirby-white-overlay-50);--kirby-inputs-elevation: none}:host{border-radius:var(--kirby-border-radius-n);color:var(--kirby-card-main-color);background-color:var(--kirby-card-main-background-color);background-image:var(--kirby-card-background-image);background-repeat:var(--kirby-card-background-repeat, no-repeat);background-position:var(--kirby-card-background-position, center);background-size:var(--kirby-card-background-size, cover);border:var(--kirby-card-border, var(--kirby-card-border-width) solid var(--kirby-card-main-border-color));box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative;z-index:var(--kirby-z-index-default);width:var(--kirby-card-width, auto)}:host.outlined{--kirby-card-main-background-color: transparent}:host.outlined:has(kirby-card-header.flagged){border:none}:host.outlined:has(kirby-card-header.flagged) .content-wrapper{border-block-end:var(--kirby-card-border, var(--kirby-card-border-width) solid var(--kirby-card-main-border-color));border-inline-start:var(--kirby-card-border, var(--kirby-card-border-width) solid var(--kirby-card-main-border-color));border-inline-end:var(--kirby-card-border, var(--kirby-card-border-width) solid var(--kirby-card-main-border-color));border-bottom-left-radius:var(--kirby-border-radius-n);border-bottom-right-radius:var(--kirby-border-radius-n)}:host[role=button]{cursor:pointer;outline:none}@media(hover:hover){:host[role=button]:hover{--kirby-card-main-background-color: var(--kirby-color-fill-base-hover);--kirby-card-main-color: var(--kirby-color-content-base-hover);--kirby-card-main-border-color: var(--kirby-color-border-base-quiet-hover)}}:host[role=button]:active,:host[role=button].interaction-state-active{--kirby-card-main-background-color: var(--kirby-color-fill-base-active);--kirby-card-main-color: var(--kirby-color-content-base-active);--kirby-card-main-border-color: var(--kirby-color-border-base-quiet-active)}:host[role=button]:focus-visible{transition:all 80ms linear 0ms;box-shadow:var(--kirby-focus-ring-md-combined-inset);--kirby-card-border: var(--kirby-card-border-width) solid var(--kirby-color-border-focus)}.content-wrapper ::ng-deep>*{--kirby-content-border-top-radius: 0;--kirby-content-border-bottom-radius: 0}.content-wrapper ::ng-deep>:first-child{--kirby-content-border-top-radius: calc( var(--kirby-border-radius-n) - var(--kirby-card-border-width) )}.content-wrapper ::ng-deep>:last-child{--kirby-content-border-bottom-radius: calc( var(--kirby-border-radius-n) - var(--kirby-card-border-width) )}.content-wrapper.padding{padding-top:var(--kirby-card-padding-top, var(--kirby-spacing-s));padding-bottom:var(--kirby-card-padding-bottom, var(--kirby-spacing-s));padding-inline:var(--kirby-spacing-s)}:host:has(kirby-card-header) .content-wrapper ::ng-deep>:first-child{--kirby-content-border-top-radius: 0}:host:has(kirby-card-footer) .content-wrapper ::ng-deep>:last-child{--kirby-content-border-bottom-radius: 0}:host(.success:not(.outlined)){--kirby-card-main-background-color: var(--kirby-color-fill-success);--kirby-card-main-color: var(--kirby-color-content-success);--kirby-card-main-border-color: var(--kirby-color-border-success)}@media(hover:hover){:host(.success:not(.outlined))[role=button]:hover{--kirby-card-main-background-color: var(--kirby-color-fill-success-hover);--kirby-card-main-color: var(--kirby-color-content-success-hover);--kirby-card-main-border-color: var(--kirby-color-border-success-hover)}}:host(.success:not(.outlined))[role=button]:active,:host(.success:not(.outlined))[role=button].interaction-state-active{--kirby-card-main-background-color: var(--kirby-color-fill-success-active);--kirby-card-main-color: var(--kirby-color-content-success-active);--kirby-card-main-border-color: var(--kirby-color-border-success-active)}:host(.warning:not(.outlined)){--kirby-card-main-background-color: var(--kirby-color-fill-warning);--kirby-card-main-color: var(--kirby-color-content-warning);--kirby-card-main-border-color: var(--kirby-color-border-warning)}@media(hover:hover){:host(.warning:not(.outlined))[role=button]:hover{--kirby-card-main-background-color: var(--kirby-color-fill-warning-hover);--kirby-card-main-color: var(--kirby-color-content-warning-hover);--kirby-card-main-border-color: var(--kirby-color-border-warning-hover)}}:host(.warning:not(.outlined))[role=button]:active,:host(.warning:not(.outlined))[role=button].interaction-state-active{--kirby-card-main-background-color: var(--kirby-color-fill-warning-active);--kirby-card-main-color: var(--kirby-color-content-warning-active);--kirby-card-main-border-color: var(--kirby-color-border-warning-active)}:host(.danger:not(.outlined)){--kirby-card-main-background-color: var(--kirby-color-fill-danger);--kirby-card-main-color: var(--kirby-color-content-danger);--kirby-card-main-border-color: var(--kirby-color-border-danger)}@media(hover:hover){:host(.danger:not(.outlined))[role=button]:hover{--kirby-card-main-background-color: var(--kirby-color-fill-danger-hover);--kirby-card-main-color: var(--kirby-color-content-danger-hover);--kirby-card-main-border-color: var(--kirby-color-border-danger-hover)}}:host(.danger:not(.outlined))[role=button]:active,:host(.danger:not(.outlined))[role=button].interaction-state-active{--kirby-card-main-background-color: var(--kirby-color-fill-danger-active);--kirby-card-main-color: var(--kirby-color-content-danger-active);--kirby-card-main-border-color: var(--kirby-color-border-danger-active)}:host(.medium:not(.outlined)){--kirby-card-main-background-color: var(--kirby-color-fill-neutral);--kirby-card-main-color: var(--kirby-color-content-neutral);--kirby-card-main-border-color: var(--kirby-color-border-neutral)}\n"],
328
+ changeDetection: i0.ChangeDetectionStrategy.Eager
329
+ });
330
+ }
331
+ };
332
+ i0.ɵɵngDeclareClassMetadata({
333
+ minVersion: "12.0.0",
334
+ version: "22.2.2",
335
+ ngImport: i0,
336
+ type: CardComponent,
337
+ decorators: [{
338
+ type: Component,
339
+ args: [{
340
+ selector: "kirby-card",
341
+ changeDetection: ChangeDetectionStrategy.Eager,
342
+ template: "<ng-content select=\"kirby-card-header\"></ng-content>\n<div class=\"content-wrapper\" [class.padding]=\"hasPadding\">\n <ng-content></ng-content>\n</div>\n<ng-content select=\"kirby-card-footer\"></ng-content>\n",
343
+ styles: [".kirby-line-clamp{display:-webkit-box;-webkit-line-clamp:var(--line-clamp, none);-webkit-box-orient:vertical;overflow:hidden}ion-item-option.success{background-color:var(--kirby-color-fill-success);color:var(--kirby-color-content-success)}@media(hover:hover){ion-item-option.success:hover{background-color:var(--kirby-color-fill-success-hover);color:var(--kirby-color-content-success-hover)}}ion-item-option.success:active{background-color:var(--kirby-color-fill-success-active);color:var(--kirby-color-content-success-active)}ion-item-option.warning{background-color:var(--kirby-color-fill-warning);color:var(--kirby-color-content-warning)}@media(hover:hover){ion-item-option.warning:hover{background-color:var(--kirby-color-fill-warning-hover);color:var(--kirby-color-content-warning-hover)}}ion-item-option.warning:active{background-color:var(--kirby-color-fill-warning-active);color:var(--kirby-color-content-warning-active)}ion-item-option.danger{background-color:var(--kirby-color-fill-danger);color:var(--kirby-color-content-danger)}@media(hover:hover){ion-item-option.danger:hover{background-color:var(--kirby-color-fill-danger-hover);color:var(--kirby-color-content-danger-hover)}}ion-item-option.danger:active{background-color:var(--kirby-color-fill-danger-active);color:var(--kirby-color-content-danger-active)}:host{--kirby-card-main-background-color: var(--kirby-color-fill-base);--kirby-card-main-color: var(--kirby-color-content-base);--kirby-card-main-border-color: var(--kirby-color-border-base-quiet);--kirby-card-border-width: 1px;--kirby-card-footer-background-color: var(--kirby-color-fill-base);--kirby-card-footer-color: var(--kirby-color-content-base);--kirby-inputs-background-color: var(--kirby-dark-overlay);--kirby-inputs-background-color-hover: var(--kirby-dark-overlay-10);--kirby-inputs-background-color-active: var(--kirby-dark-overlay-20);--kirby-inputs-color: var(--kirby-black);--kirby-inputs-indicator-background-color: var(--kirby-black);--kirby-inputs-indicator-color: var(--kirby-white);--kirby-inputs-placeholder-color: var(--kirby-semi-dark);--kirby-inputs-color-hover: var(--kirby-semi-dark);--kirby-inputs-elevation: none;--kirby-divider-color: var(--kirby-background-color)}:host.kirby-color-brightness-light{--kirby-inputs-background-color: var(--kirby-white);--kirby-inputs-background-color-hover: var(--kirby-dark-overlay-10);--kirby-inputs-background-color-active: var(--kirby-dark-overlay-20);--kirby-inputs-color: var(--kirby-black);--kirby-inputs-indicator-background-color: var(--kirby-black);--kirby-inputs-indicator-color: var(--kirby-white);--kirby-inputs-placeholder-color: var(--kirby-semi-dark);--kirby-inputs-color-hover: var(--kirby-semi-dark);--kirby-divider-color: var(--kirby-medium);--kirby-inputs-elevation: var(--kirby-elevation-2)}:host.kirby-color-brightness-dark{--kirby-inputs-background-color: var(--kirby-white-overlay);--kirby-inputs-background-color-hover: var(--kirby-white-overlay-30);--kirby-inputs-background-color-active: var(--kirby-white-overlay-40);--kirby-inputs-color: var(--kirby-white);--kirby-inputs-indicator-background-color: var(--kirby-white);--kirby-inputs-indicator-color: var(--kirby-black);--kirby-inputs-placeholder-color: var(--kirby-white-overlay-50);--kirby-inputs-color-hover: var(--kirby-white-overlay-50);--kirby-inputs-elevation: none}:host{border-radius:var(--kirby-border-radius-n);color:var(--kirby-card-main-color);background-color:var(--kirby-card-main-background-color);background-image:var(--kirby-card-background-image);background-repeat:var(--kirby-card-background-repeat, no-repeat);background-position:var(--kirby-card-background-position, center);background-size:var(--kirby-card-background-size, cover);border:var(--kirby-card-border, var(--kirby-card-border-width) solid var(--kirby-card-main-border-color));box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative;z-index:var(--kirby-z-index-default);width:var(--kirby-card-width, auto)}:host.outlined{--kirby-card-main-background-color: transparent}:host.outlined:has(kirby-card-header.flagged){border:none}:host.outlined:has(kirby-card-header.flagged) .content-wrapper{border-block-end:var(--kirby-card-border, var(--kirby-card-border-width) solid var(--kirby-card-main-border-color));border-inline-start:var(--kirby-card-border, var(--kirby-card-border-width) solid var(--kirby-card-main-border-color));border-inline-end:var(--kirby-card-border, var(--kirby-card-border-width) solid var(--kirby-card-main-border-color));border-bottom-left-radius:var(--kirby-border-radius-n);border-bottom-right-radius:var(--kirby-border-radius-n)}:host[role=button]{cursor:pointer;outline:none}@media(hover:hover){:host[role=button]:hover{--kirby-card-main-background-color: var(--kirby-color-fill-base-hover);--kirby-card-main-color: var(--kirby-color-content-base-hover);--kirby-card-main-border-color: var(--kirby-color-border-base-quiet-hover)}}:host[role=button]:active,:host[role=button].interaction-state-active{--kirby-card-main-background-color: var(--kirby-color-fill-base-active);--kirby-card-main-color: var(--kirby-color-content-base-active);--kirby-card-main-border-color: var(--kirby-color-border-base-quiet-active)}:host[role=button]:focus-visible{transition:all 80ms linear 0ms;box-shadow:var(--kirby-focus-ring-md-combined-inset);--kirby-card-border: var(--kirby-card-border-width) solid var(--kirby-color-border-focus)}.content-wrapper ::ng-deep>*{--kirby-content-border-top-radius: 0;--kirby-content-border-bottom-radius: 0}.content-wrapper ::ng-deep>:first-child{--kirby-content-border-top-radius: calc( var(--kirby-border-radius-n) - var(--kirby-card-border-width) )}.content-wrapper ::ng-deep>:last-child{--kirby-content-border-bottom-radius: calc( var(--kirby-border-radius-n) - var(--kirby-card-border-width) )}.content-wrapper.padding{padding-top:var(--kirby-card-padding-top, var(--kirby-spacing-s));padding-bottom:var(--kirby-card-padding-bottom, var(--kirby-spacing-s));padding-inline:var(--kirby-spacing-s)}:host:has(kirby-card-header) .content-wrapper ::ng-deep>:first-child{--kirby-content-border-top-radius: 0}:host:has(kirby-card-footer) .content-wrapper ::ng-deep>:last-child{--kirby-content-border-bottom-radius: 0}:host(.success:not(.outlined)){--kirby-card-main-background-color: var(--kirby-color-fill-success);--kirby-card-main-color: var(--kirby-color-content-success);--kirby-card-main-border-color: var(--kirby-color-border-success)}@media(hover:hover){:host(.success:not(.outlined))[role=button]:hover{--kirby-card-main-background-color: var(--kirby-color-fill-success-hover);--kirby-card-main-color: var(--kirby-color-content-success-hover);--kirby-card-main-border-color: var(--kirby-color-border-success-hover)}}:host(.success:not(.outlined))[role=button]:active,:host(.success:not(.outlined))[role=button].interaction-state-active{--kirby-card-main-background-color: var(--kirby-color-fill-success-active);--kirby-card-main-color: var(--kirby-color-content-success-active);--kirby-card-main-border-color: var(--kirby-color-border-success-active)}:host(.warning:not(.outlined)){--kirby-card-main-background-color: var(--kirby-color-fill-warning);--kirby-card-main-color: var(--kirby-color-content-warning);--kirby-card-main-border-color: var(--kirby-color-border-warning)}@media(hover:hover){:host(.warning:not(.outlined))[role=button]:hover{--kirby-card-main-background-color: var(--kirby-color-fill-warning-hover);--kirby-card-main-color: var(--kirby-color-content-warning-hover);--kirby-card-main-border-color: var(--kirby-color-border-warning-hover)}}:host(.warning:not(.outlined))[role=button]:active,:host(.warning:not(.outlined))[role=button].interaction-state-active{--kirby-card-main-background-color: var(--kirby-color-fill-warning-active);--kirby-card-main-color: var(--kirby-color-content-warning-active);--kirby-card-main-border-color: var(--kirby-color-border-warning-active)}:host(.danger:not(.outlined)){--kirby-card-main-background-color: var(--kirby-color-fill-danger);--kirby-card-main-color: var(--kirby-color-content-danger);--kirby-card-main-border-color: var(--kirby-color-border-danger)}@media(hover:hover){:host(.danger:not(.outlined))[role=button]:hover{--kirby-card-main-background-color: var(--kirby-color-fill-danger-hover);--kirby-card-main-color: var(--kirby-color-content-danger-hover);--kirby-card-main-border-color: var(--kirby-color-border-danger-hover)}}:host(.danger:not(.outlined))[role=button]:active,:host(.danger:not(.outlined))[role=button].interaction-state-active{--kirby-card-main-background-color: var(--kirby-color-fill-danger-active);--kirby-card-main-color: var(--kirby-color-content-danger-active);--kirby-card-main-border-color: var(--kirby-color-border-danger-active)}:host(.medium:not(.outlined)){--kirby-card-main-background-color: var(--kirby-color-fill-neutral);--kirby-card-main-color: var(--kirby-color-content-neutral);--kirby-card-main-border-color: var(--kirby-color-border-neutral)}\n"]
344
+ }]
345
+ }],
346
+ ctorParameters: () => [
347
+ { type: i0.ElementRef },
348
+ { type: i1.ResizeObserverService },
349
+ { type: i0.Renderer2 }
350
+ ],
351
+ propDecorators: {
352
+ title: [{ type: Input }],
353
+ subtitle: [{ type: Input }],
354
+ _backgroundImage: [{
355
+ type: HostBinding,
356
+ args: ["style.--kirby-card-background-image"]
357
+ }],
358
+ backgroundImageUrl: [{ type: Input }],
359
+ hasPadding: [{ type: Input }],
360
+ sizes: [{ type: Input }],
361
+ variant: [{
362
+ type: Input,
363
+ args: [{ transform: (value) => value ?? "raised" }]
364
+ }],
365
+ hostClasses: [{
366
+ type: HostBinding,
367
+ args: ["class"]
368
+ }]
369
+ }
370
+ });
371
+ const imports = [
372
+ CardComponent,
373
+ CardFooterComponent,
374
+ CardHeaderComponent,
375
+ CardAsButtonDirective
376
+ ];
377
+ var CardModule = class CardModule {
378
+ static {
379
+ this.ɵfac = i0.ɵɵngDeclareFactory({
380
+ minVersion: "12.0.0",
381
+ version: "22.2.2",
382
+ ngImport: i0,
383
+ type: CardModule,
384
+ deps: [],
385
+ target: i0.ɵɵFactoryTarget.NgModule
386
+ });
387
+ }
388
+ static {
389
+ this.ɵmod = i0.ɵɵngDeclareNgModule({
390
+ minVersion: "14.0.0",
391
+ version: "22.2.2",
392
+ ngImport: i0,
393
+ type: CardModule,
394
+ imports: [
395
+ CommonModule,
396
+ ThemeColorDirective,
397
+ CardComponent,
398
+ CardFooterComponent,
399
+ CardHeaderComponent,
400
+ CardAsButtonDirective
401
+ ],
402
+ exports: [
403
+ CardComponent,
404
+ CardFooterComponent,
405
+ CardHeaderComponent,
406
+ CardAsButtonDirective,
407
+ ThemeColorDirective
408
+ ]
409
+ });
410
+ }
411
+ static {
412
+ this.ɵinj = i0.ɵɵngDeclareInjector({
413
+ minVersion: "12.0.0",
414
+ version: "22.2.2",
415
+ ngImport: i0,
416
+ type: CardModule,
417
+ imports: [CommonModule]
418
+ });
419
+ }
420
+ };
421
+ i0.ɵɵngDeclareClassMetadata({
422
+ minVersion: "12.0.0",
423
+ version: "22.2.2",
424
+ ngImport: i0,
425
+ type: CardModule,
426
+ decorators: [{
427
+ type: NgModule,
428
+ args: [{
429
+ imports: [
430
+ CommonModule,
431
+ ThemeColorDirective,
432
+ ...imports
433
+ ],
434
+ exports: [...imports, ThemeColorDirective]
435
+ }]
436
+ }]
437
+ });
205
438
  export { CardAsButtonDirective, CardComponent, CardFooterComponent, CardHeaderComponent, CardModule };
206
- //# sourceMappingURL=kirbydesign-designsystem-card.mjs.map
439
+
440
+ //# sourceMappingURL=kirbydesign-designsystem-card.mjs.map