@kirbydesign/designsystem 11.11.4 → 12.0.0-dev-286cdc0

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 (291) hide show
  1. package/README.md +7 -0
  2. package/fesm2022/kirbydesign-designsystem-accordion.mjs +246 -135
  3. package/fesm2022/kirbydesign-designsystem-accordion.mjs.map +1 -1
  4. package/fesm2022/kirbydesign-designsystem-action-group.mjs +229 -134
  5. package/fesm2022/kirbydesign-designsystem-action-group.mjs.map +1 -1
  6. package/fesm2022/kirbydesign-designsystem-avatar.mjs +102 -55
  7. package/fesm2022/kirbydesign-designsystem-avatar.mjs.map +1 -1
  8. package/fesm2022/kirbydesign-designsystem-badge.mjs +85 -42
  9. package/fesm2022/kirbydesign-designsystem-badge.mjs.map +1 -1
  10. package/fesm2022/kirbydesign-designsystem-button.mjs +203 -170
  11. package/fesm2022/kirbydesign-designsystem-button.mjs.map +1 -1
  12. package/fesm2022/kirbydesign-designsystem-calendar.mjs +524 -516
  13. package/fesm2022/kirbydesign-designsystem-calendar.mjs.map +1 -1
  14. package/fesm2022/kirbydesign-designsystem-card.mjs +439 -205
  15. package/fesm2022/kirbydesign-designsystem-card.mjs.map +1 -1
  16. package/fesm2022/kirbydesign-designsystem-chart.mjs +1388 -1469
  17. package/fesm2022/kirbydesign-designsystem-chart.mjs.map +1 -1
  18. package/fesm2022/kirbydesign-designsystem-checkbox.mjs +223 -176
  19. package/fesm2022/kirbydesign-designsystem-checkbox.mjs.map +1 -1
  20. package/fesm2022/kirbydesign-designsystem-config.mjs +50 -96
  21. package/fesm2022/kirbydesign-designsystem-config.mjs.map +1 -1
  22. package/fesm2022/kirbydesign-designsystem-data-table.mjs +180 -83
  23. package/fesm2022/kirbydesign-designsystem-data-table.mjs.map +1 -1
  24. package/fesm2022/kirbydesign-designsystem-divider.mjs +46 -19
  25. package/fesm2022/kirbydesign-designsystem-divider.mjs.map +1 -1
  26. package/fesm2022/kirbydesign-designsystem-dropdown.mjs +878 -752
  27. package/fesm2022/kirbydesign-designsystem-dropdown.mjs.map +1 -1
  28. package/fesm2022/kirbydesign-designsystem-empty-state.mjs +175 -91
  29. package/fesm2022/kirbydesign-designsystem-empty-state.mjs.map +1 -1
  30. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs +213 -85
  31. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs.map +1 -1
  32. package/fesm2022/kirbydesign-designsystem-flag.mjs +67 -33
  33. package/fesm2022/kirbydesign-designsystem-flag.mjs.map +1 -1
  34. package/fesm2022/kirbydesign-designsystem-form-field.mjs +1260 -891
  35. package/fesm2022/kirbydesign-designsystem-form-field.mjs.map +1 -1
  36. package/fesm2022/kirbydesign-designsystem-gesture.mjs +38 -23
  37. package/fesm2022/kirbydesign-designsystem-gesture.mjs.map +1 -1
  38. package/fesm2022/kirbydesign-designsystem-header.mjs +422 -182
  39. package/fesm2022/kirbydesign-designsystem-header.mjs.map +1 -1
  40. package/fesm2022/kirbydesign-designsystem-helpers-scss.mjs +16 -14
  41. package/fesm2022/kirbydesign-designsystem-helpers-scss.mjs.map +1 -1
  42. package/fesm2022/kirbydesign-designsystem-helpers.mjs +251 -361
  43. package/fesm2022/kirbydesign-designsystem-helpers.mjs.map +1 -1
  44. package/fesm2022/kirbydesign-designsystem-icon.mjs +881 -296
  45. package/fesm2022/kirbydesign-designsystem-icon.mjs.map +1 -1
  46. package/fesm2022/kirbydesign-designsystem-item-group.mjs +52 -23
  47. package/fesm2022/kirbydesign-designsystem-item-group.mjs.map +1 -1
  48. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs +147 -43
  49. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs.map +1 -1
  50. package/fesm2022/kirbydesign-designsystem-item.mjs +395 -151
  51. package/fesm2022/kirbydesign-designsystem-item.mjs.map +1 -1
  52. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs +136 -54
  53. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs.map +1 -1
  54. package/fesm2022/kirbydesign-designsystem-list.mjs +1188 -697
  55. package/fesm2022/kirbydesign-designsystem-list.mjs.map +1 -1
  56. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs +166 -76
  57. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs.map +1 -1
  58. package/fesm2022/kirbydesign-designsystem-menu.mjs +420 -311
  59. package/fesm2022/kirbydesign-designsystem-menu.mjs.map +1 -1
  60. package/fesm2022/kirbydesign-designsystem-modal.mjs +2476 -1912
  61. package/fesm2022/kirbydesign-designsystem-modal.mjs.map +1 -1
  62. package/fesm2022/kirbydesign-designsystem-page.mjs +1526 -905
  63. package/fesm2022/kirbydesign-designsystem-page.mjs.map +1 -1
  64. package/fesm2022/kirbydesign-designsystem-popover.mjs +204 -169
  65. package/fesm2022/kirbydesign-designsystem-popover.mjs.map +1 -1
  66. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs +209 -158
  67. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs.map +1 -1
  68. package/fesm2022/kirbydesign-designsystem-radio.mjs +537 -365
  69. package/fesm2022/kirbydesign-designsystem-radio.mjs.map +1 -1
  70. package/fesm2022/kirbydesign-designsystem-range.mjs +207 -150
  71. package/fesm2022/kirbydesign-designsystem-range.mjs.map +1 -1
  72. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs +217 -104
  73. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs.map +1 -1
  74. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs +113 -38
  75. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs.map +1 -1
  76. package/fesm2022/kirbydesign-designsystem-section-header.mjs +56 -18
  77. package/fesm2022/kirbydesign-designsystem-section-header.mjs.map +1 -1
  78. package/fesm2022/kirbydesign-designsystem-segmented-control.mjs +276 -232
  79. package/fesm2022/kirbydesign-designsystem-segmented-control.mjs.map +1 -1
  80. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs +328 -382
  81. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs.map +1 -1
  82. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs +73 -84
  83. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs.map +1 -1
  84. package/fesm2022/kirbydesign-designsystem-shared.mjs +665 -531
  85. package/fesm2022/kirbydesign-designsystem-shared.mjs.map +1 -1
  86. package/fesm2022/kirbydesign-designsystem-slide-button.mjs +140 -91
  87. package/fesm2022/kirbydesign-designsystem-slide-button.mjs.map +1 -1
  88. package/fesm2022/kirbydesign-designsystem-slide.mjs +360 -158
  89. package/fesm2022/kirbydesign-designsystem-slide.mjs.map +1 -1
  90. package/fesm2022/kirbydesign-designsystem-spinner.mjs +90 -32
  91. package/fesm2022/kirbydesign-designsystem-spinner.mjs.map +1 -1
  92. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs +348 -181
  93. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs.map +1 -1
  94. package/fesm2022/kirbydesign-designsystem-tabs.mjs +286 -121
  95. package/fesm2022/kirbydesign-designsystem-tabs.mjs.map +1 -1
  96. package/fesm2022/kirbydesign-designsystem-testing-base.mjs +6234 -3164
  97. package/fesm2022/kirbydesign-designsystem-testing-base.mjs.map +1 -1
  98. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs +118 -95
  99. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs.map +1 -1
  100. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs +128 -101
  101. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs.map +1 -1
  102. package/fesm2022/kirbydesign-designsystem-testing.mjs +236 -243
  103. package/fesm2022/kirbydesign-designsystem-testing.mjs.map +1 -1
  104. package/fesm2022/kirbydesign-designsystem-toast.mjs +98 -62
  105. package/fesm2022/kirbydesign-designsystem-toast.mjs.map +1 -1
  106. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs +155 -127
  107. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs.map +1 -1
  108. package/fesm2022/kirbydesign-designsystem-toggle.mjs +180 -150
  109. package/fesm2022/kirbydesign-designsystem-toggle.mjs.map +1 -1
  110. package/fesm2022/kirbydesign-designsystem-types.mjs +39 -24
  111. package/fesm2022/kirbydesign-designsystem-types.mjs.map +1 -1
  112. package/fesm2022/kirbydesign-designsystem.mjs +516 -407
  113. package/fesm2022/kirbydesign-designsystem.mjs.map +1 -1
  114. package/icons/svg/megaphone.svg +3 -0
  115. package/icons/svg/person-blocked.svg +3 -0
  116. package/icons/svg/person-check.svg +3 -0
  117. package/icons/svg/person-close.svg +3 -0
  118. package/icons/svg/person-cloud.svg +3 -0
  119. package/icons/svg/person-power.svg +3 -0
  120. package/icons/svg/person-warning.svg +3 -0
  121. package/icons/svg/phone-device-pin.svg +3 -0
  122. package/icons/svg/phone-device.svg +3 -2
  123. package/package.json +10 -10
  124. package/readme.md +37 -0
  125. package/types/kirbydesign-designsystem-accordion.d.ts +72 -39
  126. package/types/kirbydesign-designsystem-accordion.d.ts.map +1 -1
  127. package/types/kirbydesign-designsystem-action-group.d.ts +46 -39
  128. package/types/kirbydesign-designsystem-action-group.d.ts.map +1 -1
  129. package/types/kirbydesign-designsystem-avatar.d.ts +62 -26
  130. package/types/kirbydesign-designsystem-avatar.d.ts.map +1 -1
  131. package/types/kirbydesign-designsystem-badge.d.ts +30 -19
  132. package/types/kirbydesign-designsystem-badge.d.ts.map +1 -1
  133. package/types/kirbydesign-designsystem-button.d.ts +70 -45
  134. package/types/kirbydesign-designsystem-button.d.ts.map +1 -1
  135. package/types/kirbydesign-designsystem-calendar.d.ts +193 -132
  136. package/types/kirbydesign-designsystem-calendar.d.ts.map +1 -1
  137. package/types/kirbydesign-designsystem-card.d.ts +130 -66
  138. package/types/kirbydesign-designsystem-card.d.ts.map +1 -1
  139. package/types/kirbydesign-designsystem-chart.d.ts +198 -172
  140. package/types/kirbydesign-designsystem-chart.d.ts.map +1 -1
  141. package/types/kirbydesign-designsystem-checkbox.d.ts +102 -68
  142. package/types/kirbydesign-designsystem-checkbox.d.ts.map +1 -1
  143. package/types/kirbydesign-designsystem-config.d.ts +17 -21
  144. package/types/kirbydesign-designsystem-config.d.ts.map +1 -1
  145. package/types/kirbydesign-designsystem-data-table.d.ts +46 -26
  146. package/types/kirbydesign-designsystem-data-table.d.ts.map +1 -1
  147. package/types/kirbydesign-designsystem-divider.d.ts +11 -9
  148. package/types/kirbydesign-designsystem-divider.d.ts.map +1 -1
  149. package/types/kirbydesign-designsystem-dropdown.d.ts +219 -166
  150. package/types/kirbydesign-designsystem-dropdown.d.ts.map +1 -1
  151. package/types/kirbydesign-designsystem-empty-state.d.ts +58 -35
  152. package/types/kirbydesign-designsystem-empty-state.d.ts.map +1 -1
  153. package/types/kirbydesign-designsystem-fab-sheet.d.ts +34 -28
  154. package/types/kirbydesign-designsystem-fab-sheet.d.ts.map +1 -1
  155. package/types/kirbydesign-designsystem-flag.d.ts +18 -13
  156. package/types/kirbydesign-designsystem-flag.d.ts.map +1 -1
  157. package/types/kirbydesign-designsystem-form-field.d.ts +409 -242
  158. package/types/kirbydesign-designsystem-form-field.d.ts.map +1 -1
  159. package/types/kirbydesign-designsystem-gesture.d.ts +41 -46
  160. package/types/kirbydesign-designsystem-gesture.d.ts.map +1 -1
  161. package/types/kirbydesign-designsystem-header.d.ts +102 -64
  162. package/types/kirbydesign-designsystem-header.d.ts.map +1 -1
  163. package/types/kirbydesign-designsystem-helpers-scss.d.ts +6 -8
  164. package/types/kirbydesign-designsystem-helpers-scss.d.ts.map +1 -1
  165. package/types/kirbydesign-designsystem-helpers.d.ts +83 -97
  166. package/types/kirbydesign-designsystem-helpers.d.ts.map +1 -1
  167. package/types/kirbydesign-designsystem-icon.d.ts +63 -59
  168. package/types/kirbydesign-designsystem-icon.d.ts.map +1 -1
  169. package/types/kirbydesign-designsystem-item-group.d.ts +6 -9
  170. package/types/kirbydesign-designsystem-item-group.d.ts.map +1 -1
  171. package/types/kirbydesign-designsystem-item-sliding.d.ts +30 -26
  172. package/types/kirbydesign-designsystem-item-sliding.d.ts.map +1 -1
  173. package/types/kirbydesign-designsystem-item.d.ts +93 -54
  174. package/types/kirbydesign-designsystem-item.d.ts.map +1 -1
  175. package/types/kirbydesign-designsystem-kirby-app.d.ts +18 -19
  176. package/types/kirbydesign-designsystem-kirby-app.d.ts.map +1 -1
  177. package/types/kirbydesign-designsystem-list.d.ts +392 -263
  178. package/types/kirbydesign-designsystem-list.d.ts.map +1 -1
  179. package/types/kirbydesign-designsystem-loading-overlay.d.ts +35 -24
  180. package/types/kirbydesign-designsystem-loading-overlay.d.ts.map +1 -1
  181. package/types/kirbydesign-designsystem-menu.d.ts +119 -69
  182. package/types/kirbydesign-designsystem-menu.d.ts.map +1 -1
  183. package/types/kirbydesign-designsystem-modal.d.ts +578 -455
  184. package/types/kirbydesign-designsystem-modal.d.ts.map +1 -1
  185. package/types/kirbydesign-designsystem-page.d.ts +308 -226
  186. package/types/kirbydesign-designsystem-page.d.ts.map +1 -1
  187. package/types/kirbydesign-designsystem-popover.d.ts +48 -40
  188. package/types/kirbydesign-designsystem-popover.d.ts.map +1 -1
  189. package/types/kirbydesign-designsystem-progress-circle.d.ts +59 -61
  190. package/types/kirbydesign-designsystem-progress-circle.d.ts.map +1 -1
  191. package/types/kirbydesign-designsystem-radio.d.ts +147 -98
  192. package/types/kirbydesign-designsystem-radio.d.ts.map +1 -1
  193. package/types/kirbydesign-designsystem-range.d.ts +90 -45
  194. package/types/kirbydesign-designsystem-range.d.ts.map +1 -1
  195. package/types/kirbydesign-designsystem-reorder-list.d.ts +44 -32
  196. package/types/kirbydesign-designsystem-reorder-list.d.ts.map +1 -1
  197. package/types/kirbydesign-designsystem-router-outlet.d.ts +23 -18
  198. package/types/kirbydesign-designsystem-router-outlet.d.ts.map +1 -1
  199. package/types/kirbydesign-designsystem-section-header.d.ts +5 -8
  200. package/types/kirbydesign-designsystem-section-header.d.ts.map +1 -1
  201. package/types/kirbydesign-designsystem-segmented-control.d.ts +123 -100
  202. package/types/kirbydesign-designsystem-segmented-control.d.ts.map +1 -1
  203. package/types/kirbydesign-designsystem-shared-floating.d.ts +183 -128
  204. package/types/kirbydesign-designsystem-shared-floating.d.ts.map +1 -1
  205. package/types/kirbydesign-designsystem-shared-portal.d.ts +29 -28
  206. package/types/kirbydesign-designsystem-shared-portal.d.ts.map +1 -1
  207. package/types/kirbydesign-designsystem-shared.d.ts +143 -139
  208. package/types/kirbydesign-designsystem-shared.d.ts.map +1 -1
  209. package/types/kirbydesign-designsystem-slide-button.d.ts +43 -34
  210. package/types/kirbydesign-designsystem-slide-button.d.ts.map +1 -1
  211. package/types/kirbydesign-designsystem-slide.d.ts +80 -59
  212. package/types/kirbydesign-designsystem-slide.d.ts.map +1 -1
  213. package/types/kirbydesign-designsystem-spinner.d.ts +13 -14
  214. package/types/kirbydesign-designsystem-spinner.d.ts.map +1 -1
  215. package/types/kirbydesign-designsystem-tab-navigation.d.ts +78 -55
  216. package/types/kirbydesign-designsystem-tab-navigation.d.ts.map +1 -1
  217. package/types/kirbydesign-designsystem-tabs.d.ts +50 -45
  218. package/types/kirbydesign-designsystem-tabs.d.ts.map +1 -1
  219. package/types/kirbydesign-designsystem-testing-base.d.ts +2435 -815
  220. package/types/kirbydesign-designsystem-testing-base.d.ts.map +1 -1
  221. package/types/kirbydesign-designsystem-testing-jasmine.d.ts +9 -10
  222. package/types/kirbydesign-designsystem-testing-jasmine.d.ts.map +1 -1
  223. package/types/kirbydesign-designsystem-testing-jest.d.ts +9 -10
  224. package/types/kirbydesign-designsystem-testing-jest.d.ts.map +1 -1
  225. package/types/kirbydesign-designsystem-testing.d.ts +52 -58
  226. package/types/kirbydesign-designsystem-testing.d.ts.map +1 -1
  227. package/types/kirbydesign-designsystem-toast.d.ts +25 -31
  228. package/types/kirbydesign-designsystem-toast.d.ts.map +1 -1
  229. package/types/kirbydesign-designsystem-toggle-button.d.ts +62 -56
  230. package/types/kirbydesign-designsystem-toggle-button.d.ts.map +1 -1
  231. package/types/kirbydesign-designsystem-toggle.d.ts +71 -63
  232. package/types/kirbydesign-designsystem-toggle.d.ts.map +1 -1
  233. package/types/kirbydesign-designsystem-types.d.ts +15 -22
  234. package/types/kirbydesign-designsystem-types.d.ts.map +1 -1
  235. package/types/kirbydesign-designsystem.d.ts +135 -123
  236. package/types/kirbydesign-designsystem.d.ts.map +1 -1
  237. package/accordion/package.json +0 -4
  238. package/action-group/package.json +0 -4
  239. package/avatar/package.json +0 -4
  240. package/badge/package.json +0 -4
  241. package/button/package.json +0 -4
  242. package/calendar/package.json +0 -4
  243. package/card/package.json +0 -4
  244. package/chart/package.json +0 -4
  245. package/checkbox/package.json +0 -4
  246. package/config/package.json +0 -4
  247. package/data-table/package.json +0 -4
  248. package/divider/package.json +0 -4
  249. package/dropdown/package.json +0 -4
  250. package/empty-state/package.json +0 -4
  251. package/fab-sheet/package.json +0 -4
  252. package/flag/package.json +0 -4
  253. package/form-field/package.json +0 -4
  254. package/gesture/package.json +0 -4
  255. package/header/package.json +0 -4
  256. package/helpers/package.json +0 -4
  257. package/helpers/scss/package.json +0 -4
  258. package/icon/package.json +0 -4
  259. package/item/package.json +0 -4
  260. package/item-group/package.json +0 -4
  261. package/item-sliding/package.json +0 -4
  262. package/kirby-app/package.json +0 -4
  263. package/list/package.json +0 -4
  264. package/loading-overlay/package.json +0 -4
  265. package/menu/package.json +0 -4
  266. package/modal/package.json +0 -4
  267. package/page/package.json +0 -4
  268. package/popover/package.json +0 -4
  269. package/progress-circle/package.json +0 -4
  270. package/radio/package.json +0 -4
  271. package/range/package.json +0 -4
  272. package/reorder-list/package.json +0 -4
  273. package/router-outlet/package.json +0 -4
  274. package/section-header/package.json +0 -4
  275. package/segmented-control/package.json +0 -4
  276. package/shared/floating/package.json +0 -4
  277. package/shared/package.json +0 -4
  278. package/shared/portal/package.json +0 -4
  279. package/slide/package.json +0 -4
  280. package/slide-button/package.json +0 -4
  281. package/spinner/package.json +0 -4
  282. package/tab-navigation/package.json +0 -4
  283. package/tabs/package.json +0 -4
  284. package/testing/package.json +0 -4
  285. package/testing-base/package.json +0 -4
  286. package/testing-jasmine/package.json +0 -4
  287. package/testing-jest/package.json +0 -4
  288. package/toast/package.json +0 -4
  289. package/toggle/package.json +0 -4
  290. package/toggle-button/package.json +0 -4
  291. package/types/package.json +0 -4
@@ -1,63 +1,99 @@
1
- import * as i0 from '@angular/core';
2
- import { Injectable } from '@angular/core';
3
- import * as i1 from '@ionic/angular/standalone';
4
-
5
- class ToastHelper {
6
- static { this.CSS_CLASS = 'kirby-toast'; }
7
- static { this.DURATION_IN_MS = 4000; }
8
- constructor(toastController) {
9
- this.toastController = toastController;
10
- }
11
- async showToast(config) {
12
- const toast = await this.toastController.create({
13
- animated: config.animated,
14
- message: config.message,
15
- position: 'top',
16
- duration: config.durationInMs ?? ToastHelper.DURATION_IN_MS,
17
- cssClass: this.getCssClass(config.messageType),
18
- });
19
- await toast.present();
20
- return {
21
- dismiss: toast.dismiss.bind(toast),
22
- onWillDismiss: toast.onWillDismiss(),
23
- onDidDismiss: toast.onDidDismiss(),
24
- };
25
- }
26
- getCssClass(messageType) {
27
- let cssClass = ToastHelper.CSS_CLASS;
28
- if (messageType) {
29
- cssClass += ' ' + messageType;
30
- }
31
- return cssClass;
32
- }
33
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: ToastHelper, deps: [{ token: i1.ToastController }], target: i0.ɵɵFactoryTarget.Injectable }); }
34
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: ToastHelper }); }
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: ToastHelper, decorators: [{
37
- type: Injectable
38
- }], ctorParameters: () => [{ type: i1.ToastController }] });
39
-
40
- class ToastController {
41
- constructor(toastHelper) {
42
- this.toastHelper = toastHelper;
43
- }
44
- async showToast(config, onCloseToast) {
45
- const overlay = await this.toastHelper.showToast(config);
46
- if (onCloseToast) {
47
- overlay.onDidDismiss.then(() => onCloseToast());
48
- }
49
- return overlay;
50
- }
51
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: ToastController, deps: [{ token: ToastHelper }], target: i0.ɵɵFactoryTarget.Injectable }); }
52
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: ToastController }); }
53
- }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: ToastController, decorators: [{
55
- type: Injectable
56
- }], ctorParameters: () => [{ type: ToastHelper }] });
57
-
58
- /**
59
- * Generated bundle index. Do not edit.
60
- */
61
-
1
+ import * as i0 from "@angular/core";
2
+ import { Injectable } from "@angular/core";
3
+ import * as i1 from "@ionic/angular";
4
+ var ToastHelper = class ToastHelper {
5
+ static {
6
+ this.CSS_CLASS = "kirby-toast";
7
+ }
8
+ static {
9
+ this.DURATION_IN_MS = 4e3;
10
+ }
11
+ constructor(toastController) {
12
+ this.toastController = toastController;
13
+ }
14
+ async showToast(config) {
15
+ const toast = await this.toastController.create({
16
+ animated: config.animated,
17
+ message: config.message,
18
+ position: "top",
19
+ duration: config.durationInMs ?? ToastHelper.DURATION_IN_MS,
20
+ cssClass: this.getCssClass(config.messageType)
21
+ });
22
+ await toast.present();
23
+ return {
24
+ dismiss: toast.dismiss.bind(toast),
25
+ onWillDismiss: toast.onWillDismiss(),
26
+ onDidDismiss: toast.onDidDismiss()
27
+ };
28
+ }
29
+ getCssClass(messageType) {
30
+ let cssClass = ToastHelper.CSS_CLASS;
31
+ if (messageType) cssClass += " " + messageType;
32
+ return cssClass;
33
+ }
34
+ static {
35
+ this.ɵfac = i0.ɵɵngDeclareFactory({
36
+ minVersion: "12.0.0",
37
+ version: "22.2.3",
38
+ ngImport: i0,
39
+ type: ToastHelper,
40
+ deps: [{ token: i1.ToastController }],
41
+ target: i0.ɵɵFactoryTarget.Injectable
42
+ });
43
+ }
44
+ static {
45
+ this.ɵprov = i0.ɵɵngDeclareInjectable({
46
+ minVersion: "12.0.0",
47
+ version: "22.2.3",
48
+ ngImport: i0,
49
+ type: ToastHelper
50
+ });
51
+ }
52
+ };
53
+ i0.ɵɵngDeclareClassMetadata({
54
+ minVersion: "12.0.0",
55
+ version: "22.2.3",
56
+ ngImport: i0,
57
+ type: ToastHelper,
58
+ decorators: [{ type: Injectable }],
59
+ ctorParameters: () => [{ type: i1.ToastController }]
60
+ });
61
+ var ToastController = class ToastController {
62
+ constructor(toastHelper) {
63
+ this.toastHelper = toastHelper;
64
+ }
65
+ async showToast(config, onCloseToast) {
66
+ const overlay = await this.toastHelper.showToast(config);
67
+ if (onCloseToast) overlay.onDidDismiss.then(() => onCloseToast());
68
+ return overlay;
69
+ }
70
+ static {
71
+ this.ɵfac = i0.ɵɵngDeclareFactory({
72
+ minVersion: "12.0.0",
73
+ version: "22.2.3",
74
+ ngImport: i0,
75
+ type: ToastController,
76
+ deps: [{ token: ToastHelper }],
77
+ target: i0.ɵɵFactoryTarget.Injectable
78
+ });
79
+ }
80
+ static {
81
+ this.ɵprov = i0.ɵɵngDeclareInjectable({
82
+ minVersion: "12.0.0",
83
+ version: "22.2.3",
84
+ ngImport: i0,
85
+ type: ToastController
86
+ });
87
+ }
88
+ };
89
+ i0.ɵɵngDeclareClassMetadata({
90
+ minVersion: "12.0.0",
91
+ version: "22.2.3",
92
+ ngImport: i0,
93
+ type: ToastController,
94
+ decorators: [{ type: Injectable }],
95
+ ctorParameters: () => [{ type: ToastHelper }]
96
+ });
62
97
  export { ToastController, ToastHelper };
63
- //# sourceMappingURL=kirbydesign-designsystem-toast.mjs.map
98
+
99
+ //# sourceMappingURL=kirbydesign-designsystem-toast.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"kirbydesign-designsystem-toast.mjs","sources":["../../toast/src/services/toast.helper.ts","../../toast/src/services/toast.controller.ts","../../toast/src/kirbydesign-designsystem-toast.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ToastController } from '@ionic/angular/standalone';\nimport { Overlay } from '@kirbydesign/designsystem/modal';\n\nimport { MessageType, ToastConfig } from '../config/toast-config';\n\n@Injectable()\nexport class ToastHelper {\n static CSS_CLASS = 'kirby-toast';\n static DURATION_IN_MS = 4000;\n\n constructor(private toastController: ToastController) {}\n\n public async showToast(config: ToastConfig): Promise<Overlay> {\n const toast = await this.toastController.create({\n animated: config.animated,\n message: config.message,\n position: 'top',\n duration: config.durationInMs ?? ToastHelper.DURATION_IN_MS,\n cssClass: this.getCssClass(config.messageType),\n });\n await toast.present();\n return {\n dismiss: toast.dismiss.bind(toast),\n onWillDismiss: toast.onWillDismiss(),\n onDidDismiss: toast.onDidDismiss(),\n };\n }\n\n private getCssClass(messageType: MessageType): string {\n let cssClass = ToastHelper.CSS_CLASS;\n\n if (messageType) {\n cssClass += ' ' + messageType;\n }\n\n return cssClass;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Overlay } from '@kirbydesign/designsystem/modal';\n\nimport { ToastConfig } from '../config/toast-config';\n\nimport { ToastHelper } from './toast.helper';\n\n@Injectable()\nexport class ToastController {\n constructor(private toastHelper: ToastHelper) {}\n\n public async showToast(config: ToastConfig, onCloseToast?: () => void): Promise<Overlay> {\n const overlay = await this.toastHelper.showToast(config);\n if (onCloseToast) {\n overlay.onDidDismiss.then(() => onCloseToast());\n }\n return overlay;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.ToastHelper"],"mappings":";;;;MAOa,WAAW,CAAA;aACf,IAAA,CAAA,SAAS,GAAG,aAAH,CAAiB;aAC1B,IAAA,CAAA,cAAc,GAAG,IAAH,CAAQ;AAE7B,IAAA,WAAA,CAAoB,eAAgC,EAAA;QAAhC,IAAA,CAAA,eAAe,GAAf,eAAe;IAAoB;IAEhD,MAAM,SAAS,CAAC,MAAmB,EAAA;QACxC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;YAC9C,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,MAAM,CAAC,OAAO;AACvB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,QAAQ,EAAE,MAAM,CAAC,YAAY,IAAI,WAAW,CAAC,cAAc;YAC3D,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;AAC/C,SAAA,CAAC;AACF,QAAA,MAAM,KAAK,CAAC,OAAO,EAAE;QACrB,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AAClC,YAAA,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE;AACpC,YAAA,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE;SACnC;IACH;AAEQ,IAAA,WAAW,CAAC,WAAwB,EAAA;AAC1C,QAAA,IAAI,QAAQ,GAAG,WAAW,CAAC,SAAS;QAEpC,IAAI,WAAW,EAAE;AACf,YAAA,QAAQ,IAAI,GAAG,GAAG,WAAW;QAC/B;AAEA,QAAA,OAAO,QAAQ;IACjB;kIA9BW,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;sIAAX,WAAW,EAAA,CAAA,CAAA;;4FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB;;;MCEY,eAAe,CAAA;AAC1B,IAAA,WAAA,CAAoB,WAAwB,EAAA;QAAxB,IAAA,CAAA,WAAW,GAAX,WAAW;IAAgB;AAExC,IAAA,MAAM,SAAS,CAAC,MAAmB,EAAE,YAAyB,EAAA;QACnE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC;QACxD,IAAI,YAAY,EAAE;YAChB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,YAAY,EAAE,CAAC;QACjD;AACA,QAAA,OAAO,OAAO;IAChB;kIATW,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;sIAAf,eAAe,EAAA,CAAA,CAAA;;4FAAf,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B;;;ACPD;;AAEG;;;;"}
1
+ {"version":3,"file":"kirbydesign-designsystem-toast.mjs","names":[],"sources":["../../toast/src/services/toast.helper.ts","../../toast/src/services/toast.controller.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { ToastController } from '@ionic/angular';\nimport { Overlay } from '@kirbydesign/designsystem/modal';\n\nimport { MessageType, ToastConfig } from '../config/toast-config';\n\n@Injectable()\nexport class ToastHelper {\n static CSS_CLASS = 'kirby-toast';\n static DURATION_IN_MS = 4000;\n\n constructor(private toastController: ToastController) {}\n\n public async showToast(config: ToastConfig): Promise<Overlay> {\n const toast = await this.toastController.create({\n animated: config.animated,\n message: config.message,\n position: 'top',\n duration: config.durationInMs ?? ToastHelper.DURATION_IN_MS,\n cssClass: this.getCssClass(config.messageType),\n });\n await toast.present();\n return {\n dismiss: toast.dismiss.bind(toast),\n onWillDismiss: toast.onWillDismiss(),\n onDidDismiss: toast.onDidDismiss(),\n };\n }\n\n private getCssClass(messageType: MessageType): string {\n let cssClass = ToastHelper.CSS_CLASS;\n\n if (messageType) {\n cssClass += ' ' + messageType;\n }\n\n return cssClass;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Overlay } from '@kirbydesign/designsystem/modal';\n\nimport { ToastConfig } from '../config/toast-config';\n\nimport { ToastHelper } from './toast.helper';\n\n@Injectable()\nexport class ToastController {\n constructor(private toastHelper: ToastHelper) {}\n\n public async showToast(config: ToastConfig, onCloseToast?: () => void): Promise<Overlay> {\n const overlay = await this.toastHelper.showToast(config);\n if (onCloseToast) {\n overlay.onDidDismiss.then(() => onCloseToast());\n }\n return overlay;\n }\n}\n"],"mappings":";;;AAOA,IAAa,cAAb,MAAa,YAAW;CACf;EAAA,KAAA,YAAY;CAAc;CAC1B;EAAA,KAAA,iBAAiB;CAAK;CAE7B,YAAoB,iBAAgC;EAAhC,KAAA,kBAAA;CAAmC;CAEhD,MAAM,UAAU,QAAmB;EACxC,MAAM,QAAQ,MAAM,KAAK,gBAAgB,OAAO;GAC9C,UAAU,OAAO;GACjB,SAAS,OAAO;GAChB,UAAU;GACV,UAAU,OAAO,gBAAgB,YAAY;GAC7C,UAAU,KAAK,YAAY,OAAO,WAAW;EAC9C,CAAA;EACD,MAAM,MAAM,QAAO;EACnB,OAAO;GACL,SAAS,MAAM,QAAQ,KAAK,KAAK;GACjC,eAAe,MAAM,cAAa;GAClC,cAAc,MAAM,aAAY;EACjC;CACH;CAEQ,YAAY,aAAwB;EAC1C,IAAI,WAAW,YAAY;EAE3B,IAAI,aACF,YAAY,MAAM;EAGpB,OAAO;CACT;CA9BW;EAAA,KAAA,OAAA,GAAA,mBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,UAAA;GAAA,MAAA;GAAW,MAAA,CAAA,EAAA,OAAA,GAAA,gBAAA,CAAA;GAAA,QAAA,GAAA,gBAAA;EAAA,CAAA;CAAA;CAAX;EAAA,KAAA,QAAA,GAAA,sBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,UAAA;GAAA,MAAA;EAAW,CAAA;CAAA;;AAAX,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAW,YAAA,CAAA,EADvB,MAAA,WAAA,CAAA;;;ACED,IAAa,kBAAb,MAAa,gBAAe;CAC1B,YAAoB,aAAwB;EAAxB,KAAA,cAAA;CAA2B;CAExC,MAAM,UAAU,QAAqB,cAAyB;EACnE,MAAM,UAAU,MAAM,KAAK,YAAY,UAAU,MAAM;EACvD,IAAI,cACF,QAAQ,aAAa,WAAW,aAAY,CAAE;EAEhD,OAAO;CACT;CATW;EAAA,KAAA,OAAA,GAAA,mBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,UAAA;GAAA,MAAA;GAAe,MAAA,CAAA,EAAA,OAAA,YAAA,CAAA;GAAA,QAAA,GAAA,gBAAA;EAAA,CAAA;CAAA;CAAf;EAAA,KAAA,QAAA,GAAA,sBAAA;GAAA,YAAA;GAAA,SAAA;GAAA,UAAA;GAAA,MAAA;EAAe,CAAA;CAAA;;AAAf,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAe,YAAA,CAAA,EAD3B,MAAA,WAAA,CAAA"}
@@ -1,128 +1,156 @@
1
- import * as i0 from '@angular/core';
2
- import { EventEmitter, forwardRef, HostListener, Output, Input, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { CommonModule } from '@angular/common';
5
-
6
- class ToggleButtonComponent {
7
- constructor(elementRef, cdr) {
8
- this.elementRef = elementRef;
9
- this.cdr = cdr;
10
- this.checkChanged = new EventEmitter();
11
- // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-empty-function
12
- this.onChange = (_checked) => { };
13
- // eslint-disable-next-line no-empty-function, @typescript-eslint/no-empty-function
14
- this.onTouched = () => { };
15
- }
16
- onClick(event) {
17
- const targetElement = event.target;
18
- const buttonEnabled = targetElement.closest('button[kirby-button]:not(:disabled)');
19
- if (!buttonEnabled)
20
- return;
21
- this.checked = !this.checked;
22
- this.onChange(this.checked);
23
- this.onTouched();
24
- this.checkChanged.emit(this.checked);
25
- this.focusToggledButton();
26
- }
27
- onFocusOut() {
28
- this.onTouched();
29
- }
30
- focusToggledButton() {
31
- // force re-render to ensure that the new button is in the dom
32
- this.cdr.detectChanges();
33
- const buttonToFocus = this.elementRef.nativeElement.querySelector('button[kirby-button]');
34
- buttonToFocus?.focus();
35
- }
36
- /**
37
- * Sets the toggle button's value. Part of the ControlValueAccessor interface
38
- * required to integrate with Angular's core forms API.
39
- *
40
- * @param checked New value to be written to the model.
41
- */
42
- writeValue(checked) {
43
- if (this.checked !== checked) {
44
- this.checked = checked;
45
- this.cdr.markForCheck();
46
- }
47
- }
48
- /**
49
- * Saves a callback function to be invoked when the toggle button's value
50
- * changes from user input. Part of the ControlValueAccessor interface
51
- * required to integrate with Angular's core forms API.
52
- *
53
- * @param fn Callback to be triggered when the value changes.
54
- */
55
- registerOnChange(fn) {
56
- this.onChange = fn;
57
- }
58
- /**
59
- * Saves a callback function to be invoked when the toggle button is blurred
60
- * by the user. Part of the ControlValueAccessor interface required
61
- * to integrate with Angular's core forms API.
62
- *
63
- * @param fn Callback to be triggered when the component has been touched.
64
- */
65
- registerOnTouched(fn) {
66
- this.onTouched = fn;
67
- }
68
- /**
69
- * Disables the toggle button. Part of the ControlValueAccessor interface required
70
- * to integrate with Angular's core forms API.
71
- *
72
- * @param isDisabled Sets whether the component is disabled.
73
- */
74
- setDisabledState(isDisabled) {
75
- this.elementRef.nativeElement
76
- .querySelector('button[kirby-button]')
77
- ?.toggleAttribute('disabled', isDisabled);
78
- this.cdr.markForCheck();
79
- }
80
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: ToggleButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
81
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.18", type: ToggleButtonComponent, isStandalone: true, selector: "kirby-toggle-button", inputs: { checked: "checked" }, outputs: { checkChanged: "checkChanged" }, host: { listeners: { "click": "onClick($event)", "focusout": "onFocusOut()" } }, providers: [
82
- {
83
- provide: NG_VALUE_ACCESSOR,
84
- useExisting: forwardRef((() => ToggleButtonComponent)),
85
- multi: true,
86
- },
87
- ], ngImport: i0, template: "@if (!checked) {\n <ng-content select=\"button[kirby-button][unchecked]\"></ng-content>\n}\n@if (checked) {\n <ng-content select=\"button[kirby-button][checked]\"></ng-content>\n}\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
88
- }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: ToggleButtonComponent, decorators: [{
90
- type: Component,
91
- args: [{ selector: 'kirby-toggle-button', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
92
- {
93
- provide: NG_VALUE_ACCESSOR,
94
- useExisting: forwardRef((() => ToggleButtonComponent)),
95
- multi: true,
96
- },
97
- ], template: "@if (!checked) {\n <ng-content select=\"button[kirby-button][unchecked]\"></ng-content>\n}\n@if (checked) {\n <ng-content select=\"button[kirby-button][checked]\"></ng-content>\n}\n" }]
98
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { checked: [{
99
- type: Input
100
- }], checkChanged: [{
101
- type: Output
102
- }], onClick: [{
103
- type: HostListener,
104
- args: ['click', ['$event']]
105
- }], onFocusOut: [{
106
- type: HostListener,
107
- args: ['focusout']
108
- }] } });
109
-
110
- class ToggleButtonModule {
111
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: ToggleButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
112
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.18", ngImport: i0, type: ToggleButtonModule, imports: [CommonModule, ToggleButtonComponent], exports: [ToggleButtonComponent] }); }
113
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: ToggleButtonModule, imports: [CommonModule] }); }
114
- }
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: ToggleButtonModule, decorators: [{
116
- type: NgModule,
117
- args: [{
118
- imports: [CommonModule, ToggleButtonComponent],
119
- exports: [ToggleButtonComponent],
120
- }]
121
- }] });
122
-
123
- /**
124
- * Generated bundle index. Do not edit.
125
- */
126
-
1
+ import * as i0 from "@angular/core";
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, NgModule, Output, forwardRef } from "@angular/core";
3
+ import { NG_VALUE_ACCESSOR } from "@angular/forms";
4
+ import { CommonModule } from "@angular/common";
5
+ var ToggleButtonComponent = class ToggleButtonComponent {
6
+ constructor(elementRef, cdr) {
7
+ this.elementRef = elementRef;
8
+ this.cdr = cdr;
9
+ this.checkChanged = new EventEmitter();
10
+ this.onChange = (_checked) => {};
11
+ this.onTouched = () => {};
12
+ }
13
+ onClick(event) {
14
+ if (!event.target.closest("button[kirby-button]:not(:disabled)")) return;
15
+ this.checked = !this.checked;
16
+ this.onChange(this.checked);
17
+ this.onTouched();
18
+ this.checkChanged.emit(this.checked);
19
+ this.focusToggledButton();
20
+ }
21
+ onFocusOut() {
22
+ this.onTouched();
23
+ }
24
+ focusToggledButton() {
25
+ this.cdr.detectChanges();
26
+ this.elementRef.nativeElement.querySelector("button[kirby-button]")?.focus();
27
+ }
28
+ writeValue(checked) {
29
+ if (this.checked !== checked) {
30
+ this.checked = checked;
31
+ this.cdr.markForCheck();
32
+ }
33
+ }
34
+ registerOnChange(fn) {
35
+ this.onChange = fn;
36
+ }
37
+ registerOnTouched(fn) {
38
+ this.onTouched = fn;
39
+ }
40
+ setDisabledState(isDisabled) {
41
+ this.elementRef.nativeElement.querySelector("button[kirby-button]")?.toggleAttribute("disabled", isDisabled);
42
+ this.cdr.markForCheck();
43
+ }
44
+ static {
45
+ this.ɵfac = i0.ɵɵngDeclareFactory({
46
+ minVersion: "12.0.0",
47
+ version: "22.2.3",
48
+ ngImport: i0,
49
+ type: ToggleButtonComponent,
50
+ deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }],
51
+ target: i0.ɵɵFactoryTarget.Component
52
+ });
53
+ }
54
+ static {
55
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
56
+ minVersion: "17.0.0",
57
+ version: "22.2.3",
58
+ type: ToggleButtonComponent,
59
+ isStandalone: true,
60
+ selector: "kirby-toggle-button",
61
+ inputs: { checked: "checked" },
62
+ outputs: { checkChanged: "checkChanged" },
63
+ host: { listeners: {
64
+ "click": "onClick($event)",
65
+ "focusout": "onFocusOut()"
66
+ } },
67
+ providers: [{
68
+ provide: NG_VALUE_ACCESSOR,
69
+ useExisting: forwardRef((() => ToggleButtonComponent)),
70
+ multi: true
71
+ }],
72
+ ngImport: i0,
73
+ template: "@if (!checked) {\n <ng-content select=\"button[kirby-button][unchecked]\"></ng-content>\n}\n@if (checked) {\n <ng-content select=\"button[kirby-button][checked]\"></ng-content>\n}\n",
74
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
75
+ });
76
+ }
77
+ };
78
+ i0.ɵɵngDeclareClassMetadata({
79
+ minVersion: "12.0.0",
80
+ version: "22.2.3",
81
+ ngImport: i0,
82
+ type: ToggleButtonComponent,
83
+ decorators: [{
84
+ type: Component,
85
+ args: [{
86
+ selector: "kirby-toggle-button",
87
+ changeDetection: ChangeDetectionStrategy.OnPush,
88
+ providers: [{
89
+ provide: NG_VALUE_ACCESSOR,
90
+ useExisting: forwardRef((() => ToggleButtonComponent)),
91
+ multi: true
92
+ }],
93
+ template: "@if (!checked) {\n <ng-content select=\"button[kirby-button][unchecked]\"></ng-content>\n}\n@if (checked) {\n <ng-content select=\"button[kirby-button][checked]\"></ng-content>\n}\n"
94
+ }]
95
+ }],
96
+ ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }],
97
+ propDecorators: {
98
+ checked: [{ type: Input }],
99
+ checkChanged: [{ type: Output }],
100
+ onClick: [{
101
+ type: HostListener,
102
+ args: ["click", ["$event"]]
103
+ }],
104
+ onFocusOut: [{
105
+ type: HostListener,
106
+ args: ["focusout"]
107
+ }]
108
+ }
109
+ });
110
+ var ToggleButtonModule = class ToggleButtonModule {
111
+ static {
112
+ this.ɵfac = i0.ɵɵngDeclareFactory({
113
+ minVersion: "12.0.0",
114
+ version: "22.2.3",
115
+ ngImport: i0,
116
+ type: ToggleButtonModule,
117
+ deps: [],
118
+ target: i0.ɵɵFactoryTarget.NgModule
119
+ });
120
+ }
121
+ static {
122
+ this.ɵmod = i0.ɵɵngDeclareNgModule({
123
+ minVersion: "14.0.0",
124
+ version: "22.2.3",
125
+ ngImport: i0,
126
+ type: ToggleButtonModule,
127
+ imports: [CommonModule, ToggleButtonComponent],
128
+ exports: [ToggleButtonComponent]
129
+ });
130
+ }
131
+ static {
132
+ this.ɵinj = i0.ɵɵngDeclareInjector({
133
+ minVersion: "12.0.0",
134
+ version: "22.2.3",
135
+ ngImport: i0,
136
+ type: ToggleButtonModule,
137
+ imports: [CommonModule]
138
+ });
139
+ }
140
+ };
141
+ i0.ɵɵngDeclareClassMetadata({
142
+ minVersion: "12.0.0",
143
+ version: "22.2.3",
144
+ ngImport: i0,
145
+ type: ToggleButtonModule,
146
+ decorators: [{
147
+ type: NgModule,
148
+ args: [{
149
+ imports: [CommonModule, ToggleButtonComponent],
150
+ exports: [ToggleButtonComponent]
151
+ }]
152
+ }]
153
+ });
127
154
  export { ToggleButtonComponent, ToggleButtonModule };
128
- //# sourceMappingURL=kirbydesign-designsystem-toggle-button.mjs.map
155
+
156
+ //# sourceMappingURL=kirbydesign-designsystem-toggle-button.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"kirbydesign-designsystem-toggle-button.mjs","sources":["../../toggle-button/src/toggle-button.component.ts","../../toggle-button/src/toggle-button.component.html","../../toggle-button/src/toggle-button.module.ts","../../toggle-button/src/kirbydesign-designsystem-toggle-button.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Input,\n Output,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'kirby-toggle-button',\n templateUrl: './toggle-button.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleButtonComponent),\n multi: true,\n },\n ],\n})\nexport class ToggleButtonComponent implements ControlValueAccessor {\n @Input() checked: boolean;\n @Output() checkChanged = new EventEmitter<boolean>();\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private cdr: ChangeDetectorRef\n ) {}\n\n @HostListener('click', ['$event'])\n onClick(event: PointerEvent) {\n const targetElement = event.target as HTMLElement;\n const buttonEnabled = targetElement.closest('button[kirby-button]:not(:disabled)');\n\n if (!buttonEnabled) return;\n\n this.checked = !this.checked;\n this.onChange(this.checked);\n this.onTouched();\n this.checkChanged.emit(this.checked);\n this.focusToggledButton();\n }\n\n @HostListener('focusout')\n onFocusOut() {\n this.onTouched();\n }\n\n focusToggledButton() {\n // force re-render to ensure that the new button is in the dom\n this.cdr.detectChanges();\n\n const buttonToFocus = this.elementRef.nativeElement.querySelector(\n 'button[kirby-button]'\n ) as HTMLButtonElement;\n\n buttonToFocus?.focus();\n }\n\n /**\n * Sets the toggle button's value. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param checked New value to be written to the model.\n */\n writeValue(checked: boolean): void {\n if (this.checked !== checked) {\n this.checked = checked;\n this.cdr.markForCheck();\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-empty-function\n private onChange = (_checked: boolean) => {};\n // eslint-disable-next-line no-empty-function, @typescript-eslint/no-empty-function\n private onTouched = () => {};\n\n /**\n * Saves a callback function to be invoked when the toggle button's value\n * changes from user input. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the value changes.\n */\n registerOnChange(fn: (checked: boolean) => void): void {\n this.onChange = fn;\n }\n\n /**\n * Saves a callback function to be invoked when the toggle button is blurred\n * by the user. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the component has been touched.\n */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /**\n * Disables the toggle button. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param isDisabled Sets whether the component is disabled.\n */\n setDisabledState(isDisabled: boolean): void {\n this.elementRef.nativeElement\n .querySelector('button[kirby-button]')\n ?.toggleAttribute('disabled', isDisabled);\n this.cdr.markForCheck();\n }\n}\n","@if (!checked) {\n <ng-content select=\"button[kirby-button][unchecked]\"></ng-content>\n}\n@if (checked) {\n <ng-content select=\"button[kirby-button][checked]\"></ng-content>\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ToggleButtonComponent } from './toggle-button.component';\n\n@NgModule({\n imports: [CommonModule, ToggleButtonComponent],\n exports: [ToggleButtonComponent],\n})\nexport class ToggleButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kirbydesign-designsystem-toggle-button.mjs","names":[],"sources":["../../toggle-button/src/toggle-button.component.ts","../../toggle-button/src/toggle-button.component.html","../../toggle-button/src/toggle-button.module.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Input,\n Output,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\n@Component({\n selector: 'kirby-toggle-button',\n templateUrl: './toggle-button.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleButtonComponent),\n multi: true,\n },\n ],\n})\nexport class ToggleButtonComponent implements ControlValueAccessor {\n @Input() checked: boolean;\n @Output() checkChanged = new EventEmitter<boolean>();\n\n constructor(\n private elementRef: ElementRef<HTMLElement>,\n private cdr: ChangeDetectorRef\n ) {}\n\n @HostListener('click', ['$event'])\n onClick(event: PointerEvent) {\n const targetElement = event.target as HTMLElement;\n const buttonEnabled = targetElement.closest('button[kirby-button]:not(:disabled)');\n\n if (!buttonEnabled) return;\n\n this.checked = !this.checked;\n this.onChange(this.checked);\n this.onTouched();\n this.checkChanged.emit(this.checked);\n this.focusToggledButton();\n }\n\n @HostListener('focusout')\n onFocusOut() {\n this.onTouched();\n }\n\n focusToggledButton() {\n // force re-render to ensure that the new button is in the dom\n this.cdr.detectChanges();\n\n const buttonToFocus = this.elementRef.nativeElement.querySelector(\n 'button[kirby-button]'\n ) as HTMLButtonElement;\n\n buttonToFocus?.focus();\n }\n\n /**\n * Sets the toggle button's value. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param checked New value to be written to the model.\n */\n writeValue(checked: boolean): void {\n if (this.checked !== checked) {\n this.checked = checked;\n this.cdr.markForCheck();\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, no-empty-function\n private onChange = (_checked: boolean) => {};\n // eslint-disable-next-line no-empty-function, @typescript-eslint/no-empty-function\n private onTouched = () => {};\n\n /**\n * Saves a callback function to be invoked when the toggle button's value\n * changes from user input. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the value changes.\n */\n registerOnChange(fn: (checked: boolean) => void): void {\n this.onChange = fn;\n }\n\n /**\n * Saves a callback function to be invoked when the toggle button is blurred\n * by the user. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the component has been touched.\n */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /**\n * Disables the toggle button. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param isDisabled Sets whether the component is disabled.\n */\n setDisabledState(isDisabled: boolean): void {\n this.elementRef.nativeElement\n .querySelector('button[kirby-button]')\n ?.toggleAttribute('disabled', isDisabled);\n this.cdr.markForCheck();\n }\n}\n","@if (!checked) {\n <ng-content select=\"button[kirby-button][unchecked]\"></ng-content>\n}\n@if (checked) {\n <ng-content select=\"button[kirby-button][checked]\"></ng-content>\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ToggleButtonComponent } from './toggle-button.component';\n\n@NgModule({\n imports: [CommonModule, ToggleButtonComponent],\n exports: [ToggleButtonComponent],\n})\nexport class ToggleButtonModule {}\n"],"mappings":"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"}