@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,63 +1,99 @@
1
- import * as i0 from '@angular/core';
2
- import { Injectable } from '@angular/core';
3
- import * as i1 from '@ionic/angular';
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.23", 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.23", ngImport: i0, type: ToastHelper }); }
35
- }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", 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.23", 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.23", ngImport: i0, type: ToastController }); }
53
- }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", 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.2",
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.2",
48
+ ngImport: i0,
49
+ type: ToastHelper
50
+ });
51
+ }
52
+ };
53
+ i0.ɵɵngDeclareClassMetadata({
54
+ minVersion: "12.0.0",
55
+ version: "22.2.2",
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.2",
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.2",
84
+ ngImport: i0,
85
+ type: ToastController
86
+ });
87
+ }
88
+ };
89
+ i0.ɵɵngDeclareClassMetadata({
90
+ minVersion: "12.0.0",
91
+ version: "22.2.2",
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';\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.23", 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.23", 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.23", 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.23", ngImport: i0, type: ToggleButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
112
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.23", ngImport: i0, type: ToggleButtonModule, imports: [CommonModule, ToggleButtonComponent], exports: [ToggleButtonComponent] }); }
113
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.23", ngImport: i0, type: ToggleButtonModule, imports: [CommonModule] }); }
114
- }
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.23", 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.2",
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.2",
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.2",
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.2",
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.2",
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.2",
135
+ ngImport: i0,
136
+ type: ToggleButtonModule,
137
+ imports: [CommonModule]
138
+ });
139
+ }
140
+ };
141
+ i0.ɵɵngDeclareClassMetadata({
142
+ minVersion: "12.0.0",
143
+ version: "22.2.2",
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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"}