@kirbydesign/designsystem 11.11.2 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (290) hide show
  1. package/fesm2022/kirbydesign-designsystem-accordion.mjs +246 -135
  2. package/fesm2022/kirbydesign-designsystem-accordion.mjs.map +1 -1
  3. package/fesm2022/kirbydesign-designsystem-action-group.mjs +229 -134
  4. package/fesm2022/kirbydesign-designsystem-action-group.mjs.map +1 -1
  5. package/fesm2022/kirbydesign-designsystem-avatar.mjs +98 -55
  6. package/fesm2022/kirbydesign-designsystem-avatar.mjs.map +1 -1
  7. package/fesm2022/kirbydesign-designsystem-badge.mjs +85 -42
  8. package/fesm2022/kirbydesign-designsystem-badge.mjs.map +1 -1
  9. package/fesm2022/kirbydesign-designsystem-button.mjs +203 -170
  10. package/fesm2022/kirbydesign-designsystem-button.mjs.map +1 -1
  11. package/fesm2022/kirbydesign-designsystem-calendar.mjs +524 -516
  12. package/fesm2022/kirbydesign-designsystem-calendar.mjs.map +1 -1
  13. package/fesm2022/kirbydesign-designsystem-card.mjs +407 -205
  14. package/fesm2022/kirbydesign-designsystem-card.mjs.map +1 -1
  15. package/fesm2022/kirbydesign-designsystem-chart.mjs +1388 -1469
  16. package/fesm2022/kirbydesign-designsystem-chart.mjs.map +1 -1
  17. package/fesm2022/kirbydesign-designsystem-checkbox.mjs +215 -176
  18. package/fesm2022/kirbydesign-designsystem-checkbox.mjs.map +1 -1
  19. package/fesm2022/kirbydesign-designsystem-config.mjs +50 -96
  20. package/fesm2022/kirbydesign-designsystem-config.mjs.map +1 -1
  21. package/fesm2022/kirbydesign-designsystem-data-table.mjs +180 -83
  22. package/fesm2022/kirbydesign-designsystem-data-table.mjs.map +1 -1
  23. package/fesm2022/kirbydesign-designsystem-divider.mjs +46 -19
  24. package/fesm2022/kirbydesign-designsystem-divider.mjs.map +1 -1
  25. package/fesm2022/kirbydesign-designsystem-dropdown.mjs +878 -752
  26. package/fesm2022/kirbydesign-designsystem-dropdown.mjs.map +1 -1
  27. package/fesm2022/kirbydesign-designsystem-empty-state.mjs +164 -91
  28. package/fesm2022/kirbydesign-designsystem-empty-state.mjs.map +1 -1
  29. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs +213 -85
  30. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs.map +1 -1
  31. package/fesm2022/kirbydesign-designsystem-flag.mjs +67 -33
  32. package/fesm2022/kirbydesign-designsystem-flag.mjs.map +1 -1
  33. package/fesm2022/kirbydesign-designsystem-form-field.mjs +1260 -891
  34. package/fesm2022/kirbydesign-designsystem-form-field.mjs.map +1 -1
  35. package/fesm2022/kirbydesign-designsystem-gesture.mjs +38 -23
  36. package/fesm2022/kirbydesign-designsystem-gesture.mjs.map +1 -1
  37. package/fesm2022/kirbydesign-designsystem-header.mjs +422 -182
  38. package/fesm2022/kirbydesign-designsystem-header.mjs.map +1 -1
  39. package/fesm2022/kirbydesign-designsystem-helpers-scss.mjs +16 -14
  40. package/fesm2022/kirbydesign-designsystem-helpers-scss.mjs.map +1 -1
  41. package/fesm2022/kirbydesign-designsystem-helpers.mjs +251 -361
  42. package/fesm2022/kirbydesign-designsystem-helpers.mjs.map +1 -1
  43. package/fesm2022/kirbydesign-designsystem-icon.mjs +881 -296
  44. package/fesm2022/kirbydesign-designsystem-icon.mjs.map +1 -1
  45. package/fesm2022/kirbydesign-designsystem-item-group.mjs +52 -23
  46. package/fesm2022/kirbydesign-designsystem-item-group.mjs.map +1 -1
  47. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs +147 -43
  48. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs.map +1 -1
  49. package/fesm2022/kirbydesign-designsystem-item.mjs +395 -151
  50. package/fesm2022/kirbydesign-designsystem-item.mjs.map +1 -1
  51. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs +136 -54
  52. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs.map +1 -1
  53. package/fesm2022/kirbydesign-designsystem-list.mjs +1182 -697
  54. package/fesm2022/kirbydesign-designsystem-list.mjs.map +1 -1
  55. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs +166 -76
  56. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs.map +1 -1
  57. package/fesm2022/kirbydesign-designsystem-menu.mjs +420 -311
  58. package/fesm2022/kirbydesign-designsystem-menu.mjs.map +1 -1
  59. package/fesm2022/kirbydesign-designsystem-modal.mjs +2467 -1912
  60. package/fesm2022/kirbydesign-designsystem-modal.mjs.map +1 -1
  61. package/fesm2022/kirbydesign-designsystem-page.mjs +1505 -905
  62. package/fesm2022/kirbydesign-designsystem-page.mjs.map +1 -1
  63. package/fesm2022/kirbydesign-designsystem-popover.mjs +204 -169
  64. package/fesm2022/kirbydesign-designsystem-popover.mjs.map +1 -1
  65. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs +209 -158
  66. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs.map +1 -1
  67. package/fesm2022/kirbydesign-designsystem-radio.mjs +537 -365
  68. package/fesm2022/kirbydesign-designsystem-radio.mjs.map +1 -1
  69. package/fesm2022/kirbydesign-designsystem-range.mjs +207 -150
  70. package/fesm2022/kirbydesign-designsystem-range.mjs.map +1 -1
  71. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs +217 -104
  72. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs.map +1 -1
  73. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs +113 -38
  74. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs.map +1 -1
  75. package/fesm2022/kirbydesign-designsystem-section-header.mjs +56 -18
  76. package/fesm2022/kirbydesign-designsystem-section-header.mjs.map +1 -1
  77. package/fesm2022/kirbydesign-designsystem-segmented-control.mjs +276 -232
  78. package/fesm2022/kirbydesign-designsystem-segmented-control.mjs.map +1 -1
  79. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs +319 -382
  80. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs.map +1 -1
  81. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs +73 -84
  82. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs.map +1 -1
  83. package/fesm2022/kirbydesign-designsystem-shared.mjs +665 -531
  84. package/fesm2022/kirbydesign-designsystem-shared.mjs.map +1 -1
  85. package/fesm2022/kirbydesign-designsystem-slide-button.mjs +140 -91
  86. package/fesm2022/kirbydesign-designsystem-slide-button.mjs.map +1 -1
  87. package/fesm2022/kirbydesign-designsystem-slide.mjs +360 -157
  88. package/fesm2022/kirbydesign-designsystem-slide.mjs.map +1 -1
  89. package/fesm2022/kirbydesign-designsystem-spinner.mjs +90 -32
  90. package/fesm2022/kirbydesign-designsystem-spinner.mjs.map +1 -1
  91. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs +348 -181
  92. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs.map +1 -1
  93. package/fesm2022/kirbydesign-designsystem-tabs.mjs +286 -121
  94. package/fesm2022/kirbydesign-designsystem-tabs.mjs.map +1 -1
  95. package/fesm2022/kirbydesign-designsystem-testing-base.mjs +6232 -3164
  96. package/fesm2022/kirbydesign-designsystem-testing-base.mjs.map +1 -1
  97. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs +118 -95
  98. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs.map +1 -1
  99. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs +128 -101
  100. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs.map +1 -1
  101. package/fesm2022/kirbydesign-designsystem-testing.mjs +236 -243
  102. package/fesm2022/kirbydesign-designsystem-testing.mjs.map +1 -1
  103. package/fesm2022/kirbydesign-designsystem-toast.mjs +98 -62
  104. package/fesm2022/kirbydesign-designsystem-toast.mjs.map +1 -1
  105. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs +155 -127
  106. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs.map +1 -1
  107. package/fesm2022/kirbydesign-designsystem-toggle.mjs +180 -150
  108. package/fesm2022/kirbydesign-designsystem-toggle.mjs.map +1 -1
  109. package/fesm2022/kirbydesign-designsystem-types.mjs +39 -24
  110. package/fesm2022/kirbydesign-designsystem-types.mjs.map +1 -1
  111. package/fesm2022/kirbydesign-designsystem.mjs +516 -407
  112. package/fesm2022/kirbydesign-designsystem.mjs.map +1 -1
  113. package/icons/svg/megaphone.svg +3 -0
  114. package/icons/svg/person-blocked.svg +3 -0
  115. package/icons/svg/person-check.svg +3 -0
  116. package/icons/svg/person-close.svg +3 -0
  117. package/icons/svg/person-cloud.svg +3 -0
  118. package/icons/svg/person-power.svg +3 -0
  119. package/icons/svg/person-warning.svg +3 -0
  120. package/icons/svg/phone-device-pin.svg +3 -0
  121. package/icons/svg/phone-device.svg +3 -2
  122. package/package.json +11 -11
  123. package/readme.md +37 -0
  124. package/types/kirbydesign-designsystem-accordion.d.ts +72 -39
  125. package/types/kirbydesign-designsystem-accordion.d.ts.map +1 -1
  126. package/types/kirbydesign-designsystem-action-group.d.ts +46 -39
  127. package/types/kirbydesign-designsystem-action-group.d.ts.map +1 -1
  128. package/types/kirbydesign-designsystem-avatar.d.ts +58 -26
  129. package/types/kirbydesign-designsystem-avatar.d.ts.map +1 -1
  130. package/types/kirbydesign-designsystem-badge.d.ts +30 -19
  131. package/types/kirbydesign-designsystem-badge.d.ts.map +1 -1
  132. package/types/kirbydesign-designsystem-button.d.ts +70 -45
  133. package/types/kirbydesign-designsystem-button.d.ts.map +1 -1
  134. package/types/kirbydesign-designsystem-calendar.d.ts +193 -132
  135. package/types/kirbydesign-designsystem-calendar.d.ts.map +1 -1
  136. package/types/kirbydesign-designsystem-card.d.ts +120 -66
  137. package/types/kirbydesign-designsystem-card.d.ts.map +1 -1
  138. package/types/kirbydesign-designsystem-chart.d.ts +198 -172
  139. package/types/kirbydesign-designsystem-chart.d.ts.map +1 -1
  140. package/types/kirbydesign-designsystem-checkbox.d.ts +96 -68
  141. package/types/kirbydesign-designsystem-checkbox.d.ts.map +1 -1
  142. package/types/kirbydesign-designsystem-config.d.ts +17 -21
  143. package/types/kirbydesign-designsystem-config.d.ts.map +1 -1
  144. package/types/kirbydesign-designsystem-data-table.d.ts +46 -26
  145. package/types/kirbydesign-designsystem-data-table.d.ts.map +1 -1
  146. package/types/kirbydesign-designsystem-divider.d.ts +11 -9
  147. package/types/kirbydesign-designsystem-divider.d.ts.map +1 -1
  148. package/types/kirbydesign-designsystem-dropdown.d.ts +219 -166
  149. package/types/kirbydesign-designsystem-dropdown.d.ts.map +1 -1
  150. package/types/kirbydesign-designsystem-empty-state.d.ts +47 -35
  151. package/types/kirbydesign-designsystem-empty-state.d.ts.map +1 -1
  152. package/types/kirbydesign-designsystem-fab-sheet.d.ts +34 -28
  153. package/types/kirbydesign-designsystem-fab-sheet.d.ts.map +1 -1
  154. package/types/kirbydesign-designsystem-flag.d.ts +18 -13
  155. package/types/kirbydesign-designsystem-flag.d.ts.map +1 -1
  156. package/types/kirbydesign-designsystem-form-field.d.ts +409 -242
  157. package/types/kirbydesign-designsystem-form-field.d.ts.map +1 -1
  158. package/types/kirbydesign-designsystem-gesture.d.ts +41 -46
  159. package/types/kirbydesign-designsystem-gesture.d.ts.map +1 -1
  160. package/types/kirbydesign-designsystem-header.d.ts +102 -64
  161. package/types/kirbydesign-designsystem-header.d.ts.map +1 -1
  162. package/types/kirbydesign-designsystem-helpers-scss.d.ts +6 -8
  163. package/types/kirbydesign-designsystem-helpers-scss.d.ts.map +1 -1
  164. package/types/kirbydesign-designsystem-helpers.d.ts +83 -97
  165. package/types/kirbydesign-designsystem-helpers.d.ts.map +1 -1
  166. package/types/kirbydesign-designsystem-icon.d.ts +63 -59
  167. package/types/kirbydesign-designsystem-icon.d.ts.map +1 -1
  168. package/types/kirbydesign-designsystem-item-group.d.ts +6 -9
  169. package/types/kirbydesign-designsystem-item-group.d.ts.map +1 -1
  170. package/types/kirbydesign-designsystem-item-sliding.d.ts +30 -26
  171. package/types/kirbydesign-designsystem-item-sliding.d.ts.map +1 -1
  172. package/types/kirbydesign-designsystem-item.d.ts +93 -54
  173. package/types/kirbydesign-designsystem-item.d.ts.map +1 -1
  174. package/types/kirbydesign-designsystem-kirby-app.d.ts +18 -19
  175. package/types/kirbydesign-designsystem-kirby-app.d.ts.map +1 -1
  176. package/types/kirbydesign-designsystem-list.d.ts +382 -263
  177. package/types/kirbydesign-designsystem-list.d.ts.map +1 -1
  178. package/types/kirbydesign-designsystem-loading-overlay.d.ts +35 -24
  179. package/types/kirbydesign-designsystem-loading-overlay.d.ts.map +1 -1
  180. package/types/kirbydesign-designsystem-menu.d.ts +119 -69
  181. package/types/kirbydesign-designsystem-menu.d.ts.map +1 -1
  182. package/types/kirbydesign-designsystem-modal.d.ts +577 -455
  183. package/types/kirbydesign-designsystem-modal.d.ts.map +1 -1
  184. package/types/kirbydesign-designsystem-page.d.ts +304 -226
  185. package/types/kirbydesign-designsystem-page.d.ts.map +1 -1
  186. package/types/kirbydesign-designsystem-popover.d.ts +48 -40
  187. package/types/kirbydesign-designsystem-popover.d.ts.map +1 -1
  188. package/types/kirbydesign-designsystem-progress-circle.d.ts +59 -61
  189. package/types/kirbydesign-designsystem-progress-circle.d.ts.map +1 -1
  190. package/types/kirbydesign-designsystem-radio.d.ts +147 -98
  191. package/types/kirbydesign-designsystem-radio.d.ts.map +1 -1
  192. package/types/kirbydesign-designsystem-range.d.ts +90 -45
  193. package/types/kirbydesign-designsystem-range.d.ts.map +1 -1
  194. package/types/kirbydesign-designsystem-reorder-list.d.ts +44 -32
  195. package/types/kirbydesign-designsystem-reorder-list.d.ts.map +1 -1
  196. package/types/kirbydesign-designsystem-router-outlet.d.ts +23 -18
  197. package/types/kirbydesign-designsystem-router-outlet.d.ts.map +1 -1
  198. package/types/kirbydesign-designsystem-section-header.d.ts +5 -8
  199. package/types/kirbydesign-designsystem-section-header.d.ts.map +1 -1
  200. package/types/kirbydesign-designsystem-segmented-control.d.ts +123 -100
  201. package/types/kirbydesign-designsystem-segmented-control.d.ts.map +1 -1
  202. package/types/kirbydesign-designsystem-shared-floating.d.ts +183 -128
  203. package/types/kirbydesign-designsystem-shared-floating.d.ts.map +1 -1
  204. package/types/kirbydesign-designsystem-shared-portal.d.ts +29 -28
  205. package/types/kirbydesign-designsystem-shared-portal.d.ts.map +1 -1
  206. package/types/kirbydesign-designsystem-shared.d.ts +143 -139
  207. package/types/kirbydesign-designsystem-shared.d.ts.map +1 -1
  208. package/types/kirbydesign-designsystem-slide-button.d.ts +43 -34
  209. package/types/kirbydesign-designsystem-slide-button.d.ts.map +1 -1
  210. package/types/kirbydesign-designsystem-slide.d.ts +80 -59
  211. package/types/kirbydesign-designsystem-slide.d.ts.map +1 -1
  212. package/types/kirbydesign-designsystem-spinner.d.ts +13 -14
  213. package/types/kirbydesign-designsystem-spinner.d.ts.map +1 -1
  214. package/types/kirbydesign-designsystem-tab-navigation.d.ts +78 -55
  215. package/types/kirbydesign-designsystem-tab-navigation.d.ts.map +1 -1
  216. package/types/kirbydesign-designsystem-tabs.d.ts +50 -45
  217. package/types/kirbydesign-designsystem-tabs.d.ts.map +1 -1
  218. package/types/kirbydesign-designsystem-testing-base.d.ts +2430 -815
  219. package/types/kirbydesign-designsystem-testing-base.d.ts.map +1 -1
  220. package/types/kirbydesign-designsystem-testing-jasmine.d.ts +9 -10
  221. package/types/kirbydesign-designsystem-testing-jasmine.d.ts.map +1 -1
  222. package/types/kirbydesign-designsystem-testing-jest.d.ts +9 -10
  223. package/types/kirbydesign-designsystem-testing-jest.d.ts.map +1 -1
  224. package/types/kirbydesign-designsystem-testing.d.ts +52 -58
  225. package/types/kirbydesign-designsystem-testing.d.ts.map +1 -1
  226. package/types/kirbydesign-designsystem-toast.d.ts +25 -31
  227. package/types/kirbydesign-designsystem-toast.d.ts.map +1 -1
  228. package/types/kirbydesign-designsystem-toggle-button.d.ts +62 -56
  229. package/types/kirbydesign-designsystem-toggle-button.d.ts.map +1 -1
  230. package/types/kirbydesign-designsystem-toggle.d.ts +71 -63
  231. package/types/kirbydesign-designsystem-toggle.d.ts.map +1 -1
  232. package/types/kirbydesign-designsystem-types.d.ts +15 -22
  233. package/types/kirbydesign-designsystem-types.d.ts.map +1 -1
  234. package/types/kirbydesign-designsystem.d.ts +135 -123
  235. package/types/kirbydesign-designsystem.d.ts.map +1 -1
  236. package/accordion/package.json +0 -4
  237. package/action-group/package.json +0 -4
  238. package/avatar/package.json +0 -4
  239. package/badge/package.json +0 -4
  240. package/button/package.json +0 -4
  241. package/calendar/package.json +0 -4
  242. package/card/package.json +0 -4
  243. package/chart/package.json +0 -4
  244. package/checkbox/package.json +0 -4
  245. package/config/package.json +0 -4
  246. package/data-table/package.json +0 -4
  247. package/divider/package.json +0 -4
  248. package/dropdown/package.json +0 -4
  249. package/empty-state/package.json +0 -4
  250. package/fab-sheet/package.json +0 -4
  251. package/flag/package.json +0 -4
  252. package/form-field/package.json +0 -4
  253. package/gesture/package.json +0 -4
  254. package/header/package.json +0 -4
  255. package/helpers/package.json +0 -4
  256. package/helpers/scss/package.json +0 -4
  257. package/icon/package.json +0 -4
  258. package/item/package.json +0 -4
  259. package/item-group/package.json +0 -4
  260. package/item-sliding/package.json +0 -4
  261. package/kirby-app/package.json +0 -4
  262. package/list/package.json +0 -4
  263. package/loading-overlay/package.json +0 -4
  264. package/menu/package.json +0 -4
  265. package/modal/package.json +0 -4
  266. package/page/package.json +0 -4
  267. package/popover/package.json +0 -4
  268. package/progress-circle/package.json +0 -4
  269. package/radio/package.json +0 -4
  270. package/range/package.json +0 -4
  271. package/reorder-list/package.json +0 -4
  272. package/router-outlet/package.json +0 -4
  273. package/section-header/package.json +0 -4
  274. package/segmented-control/package.json +0 -4
  275. package/shared/floating/package.json +0 -4
  276. package/shared/package.json +0 -4
  277. package/shared/portal/package.json +0 -4
  278. package/slide/package.json +0 -4
  279. package/slide-button/package.json +0 -4
  280. package/spinner/package.json +0 -4
  281. package/tab-navigation/package.json +0 -4
  282. package/tabs/package.json +0 -4
  283. package/testing/package.json +0 -4
  284. package/testing-base/package.json +0 -4
  285. package/testing-jasmine/package.json +0 -4
  286. package/testing-jest/package.json +0 -4
  287. package/toast/package.json +0 -4
  288. package/toggle/package.json +0 -4
  289. package/toggle-button/package.json +0 -4
  290. package/types/package.json +0 -4
@@ -1,388 +1,278 @@
1
- import { DesignTokenHelper } from '@kirbydesign/core';
2
- export { ColorHelper, DesignTokenHelper, camelToKebabCase, capitalizeFirstLetter, kebabToCamelCase, kebabToTitleCase } from '@kirbydesign/core';
3
- import * as i0 from '@angular/core';
4
- import { Injectable, RendererStyleFlags2 } from '@angular/core';
5
- import * as i1 from '@kirbydesign/designsystem/types';
6
- import { componentOnReady } from '@ionic/core';
7
-
8
- /*
9
- Utility function to check if a given element
10
- has an ancestor with a specific node name.
11
-
12
- Can be given a 'stopNodeName' to limit the search
13
- as to not climb all the way up through the DOM tree.
14
-
15
- Returns true when element has the ancestorNodeName
16
- or an ancestor has the ancestorNodeName.
17
-
18
- Returns false otherwise.
19
- */
1
+ import { ColorHelper, DesignTokenHelper, camelToKebabCase, capitalizeFirstLetter, kebabToCamelCase, kebabToTitleCase } from "@kirbydesign/core";
2
+ import * as i0 from "@angular/core";
3
+ import { Injectable, RendererStyleFlags2 } from "@angular/core";
4
+ import * as i1 from "@kirbydesign/designsystem/types";
5
+ import { componentOnReady } from "@ionic/core";
20
6
  const elementHasAncestor = (element, ancestorNodeName, stopNodeName) => {
21
- switch (element?.nodeName) {
22
- case undefined:
23
- case stopNodeName?.toUpperCase():
24
- return false;
25
- case ancestorNodeName.toUpperCase():
26
- return true;
27
- default:
28
- return elementHasAncestor(element.parentElement, ancestorNodeName, stopNodeName);
29
- }
7
+ if (!element) return false;
8
+ switch (element?.nodeName) {
9
+ case void 0:
10
+ case stopNodeName?.toUpperCase(): return false;
11
+ case ancestorNodeName.toUpperCase(): return true;
12
+ default: return elementHasAncestor(element.parentElement, ancestorNodeName, stopNodeName);
13
+ }
30
14
  };
31
- /*
32
- * Utility function to find the closest ancestor modal and
33
- * get the element with a dialog role from within its shadow root.
34
- */
35
15
  function getIonModalDialogAncestor(currentElement) {
36
- const ionModalElement = currentElement.closest('ion-modal');
37
- const modalElementDialog = ionModalElement?.shadowRoot?.querySelector('[role="dialog"]');
38
- return modalElementDialog;
16
+ return currentElement.closest("ion-modal")?.shadowRoot?.querySelector("[role=\"dialog\"]") ?? void 0;
39
17
  }
40
-
41
- /* Function based on https://github.com/angular/components/blob/main/src/cdk/observers/observe-content.ts
42
- * Angular may add, remove, or edit comment nodes during change detection. We don't care about
43
- * these changes because they don't affect the user-preceived content, and worse it can cause
44
- * infinite change detection cycles where the change detection updates a comment, triggering the
45
- * MutationObserver, triggering another change detection and kicking the cycle off again. */
46
18
  function shouldIgnoreMutationRecord(record) {
47
- // Ignore changes to comment text.
48
- if (record.type === 'characterData' && record.target instanceof Comment) {
49
- return true;
50
- }
51
- // Ignore addition / removal of comments.
52
- if (record.type === 'childList') {
53
- for (let i = 0; i < record.addedNodes.length; i++) {
54
- if (!(record.addedNodes[i] instanceof Comment)) {
55
- return false;
56
- }
57
- }
58
- for (let i = 0; i < record.removedNodes.length; i++) {
59
- if (!(record.removedNodes[i] instanceof Comment)) {
60
- return false;
61
- }
62
- }
63
- return true;
64
- }
65
- // Observe everything else.
66
- return false;
19
+ if (record.type === "characterData" && record.target instanceof Comment) return true;
20
+ if (record.type === "childList") {
21
+ for (let i = 0; i < record.addedNodes.length; i++) if (!(record.addedNodes[i] instanceof Comment)) return false;
22
+ for (let i = 0; i < record.removedNodes.length; i++) if (!(record.removedNodes[i] instanceof Comment)) return false;
23
+ return true;
24
+ }
25
+ return false;
67
26
  }
68
- /**
69
- * Creates a MutationObserver and observes content changes in a given element.
70
- * The provided callback is called when changes are detected.
71
- *
72
- * @returns function - an unobserve function that can be called to disconnect the created observer.
73
- */
74
27
  function observeContent(observedElement, contentChangedCallback) {
75
- const mutationObserver = new MutationObserver((mutations) => {
76
- const filteredMutations = mutations.filter((mutation) => !shouldIgnoreMutationRecord(mutation));
77
- if (filteredMutations.length > 0) {
78
- contentChangedCallback();
79
- }
80
- });
81
- mutationObserver.observe(observedElement, {
82
- characterData: true,
83
- childList: true,
84
- subtree: true,
85
- });
86
- return () => {
87
- mutationObserver.disconnect();
88
- };
28
+ const mutationObserver = new MutationObserver((mutations) => {
29
+ if (mutations.filter((mutation) => !shouldIgnoreMutationRecord(mutation)).length > 0) contentChangedCallback();
30
+ });
31
+ mutationObserver.observe(observedElement, {
32
+ characterData: true,
33
+ childList: true,
34
+ subtree: true
35
+ });
36
+ return () => {
37
+ mutationObserver.disconnect();
38
+ };
89
39
  }
90
-
91
- class PlatformService {
92
- constructor(windowRef) {
93
- this.windowRef = windowRef;
94
- }
95
- isTouch() {
96
- const isTouchDeviceQuery = '(pointer: coarse)'; // No check for `hover: none`, as Samsung Galaxy will return false on `hover: none` media query
97
- return this.windowRef.nativeWindow.matchMedia(isTouchDeviceQuery).matches;
98
- }
99
- isPhabletOrBigger() {
100
- const query = `(min-width: ${DesignTokenHelper.breakpoints.medium})`;
101
- return this.windowRef.nativeWindow.matchMedia(query).matches;
102
- }
103
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: PlatformService, deps: [{ token: i1.WindowRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
104
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: PlatformService, providedIn: 'root' }); }
105
- }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: PlatformService, decorators: [{
107
- type: Injectable,
108
- args: [{
109
- providedIn: 'root',
110
- }]
111
- }], ctorParameters: () => [{ type: i1.WindowRef }] });
112
-
113
- /*
114
- Type guard is needed as of chart.js@3.8.1. The config type has been updated to a union type,
115
- and the newly added type 'ChartConfigurationCustomTypesPerDataset' does not contain the 'type' property.
116
- Typescript will throw an error, when trying to access a property that doesn't exist on all union types,
117
- unless a type guard is used.
118
- */
40
+ var PlatformService = class PlatformService {
41
+ constructor(windowRef) {
42
+ this.windowRef = windowRef;
43
+ }
44
+ isTouch() {
45
+ return this.windowRef.nativeWindow.matchMedia("(pointer: coarse)").matches;
46
+ }
47
+ isPhabletOrBigger() {
48
+ const query = `(min-width: ${DesignTokenHelper.breakpoints.medium})`;
49
+ return this.windowRef.nativeWindow.matchMedia(query).matches;
50
+ }
51
+ static {
52
+ this.ɵfac = i0.ɵɵngDeclareFactory({
53
+ minVersion: "12.0.0",
54
+ version: "22.2.2",
55
+ ngImport: i0,
56
+ type: PlatformService,
57
+ deps: [{ token: i1.WindowRef }],
58
+ target: i0.ɵɵFactoryTarget.Injectable
59
+ });
60
+ }
61
+ static {
62
+ this.ɵprov = i0.ɵɵngDeclareInjectable({
63
+ minVersion: "12.0.0",
64
+ version: "22.2.2",
65
+ ngImport: i0,
66
+ type: PlatformService,
67
+ providedIn: "root"
68
+ });
69
+ }
70
+ };
71
+ i0.ɵɵngDeclareClassMetadata({
72
+ minVersion: "12.0.0",
73
+ version: "22.2.2",
74
+ ngImport: i0,
75
+ type: PlatformService,
76
+ decorators: [{
77
+ type: Injectable,
78
+ args: [{ providedIn: "root" }]
79
+ }],
80
+ ctorParameters: () => [{ type: i1.WindowRef }]
81
+ });
119
82
  const chartConfigHasType = (config) => {
120
- return 'type' in config;
83
+ return "type" in config;
121
84
  };
122
-
123
- /*
124
- Copied from https://github.com/ykdr8/ts-deepcopy.
125
-
126
- MIT License
127
-
128
- Copyright (c) 2017 ykdr2017
129
-
130
- Permission is hereby granted, free of charge, to any person obtaining a copy
131
- of this software and associated documentation files (the "Software"), to deal
132
- in the Software without restriction, including without limitation the rights
133
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
134
- copies of the Software, and to permit persons to whom the Software is
135
- furnished to do so, subject to the following conditions:
136
-
137
- The above copyright notice and this permission notice shall be included in all
138
- copies or substantial portions of the Software.
139
-
140
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
141
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
142
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
143
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
144
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
145
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
146
- SOFTWARE.
147
- */
148
85
  function deepCopy(tgt) {
149
- let cp;
150
- if (tgt === null) {
151
- cp = tgt;
152
- }
153
- else if (tgt instanceof Date) {
154
- cp = new Date(tgt.getTime());
155
- }
156
- else if (Array.isArray(tgt)) {
157
- cp = [];
158
- tgt.forEach((v) => {
159
- cp.push(v);
160
- });
161
- cp = cp.map((n) => deepCopy(n));
162
- }
163
- else if (typeof tgt === 'object') {
164
- cp = { ...tgt };
165
- Object.keys(cp).forEach((k) => {
166
- cp[k] = deepCopy(cp[k]);
167
- });
168
- }
169
- else {
170
- cp = tgt;
171
- }
172
- return cp;
86
+ let cp;
87
+ if (tgt === null) cp = tgt;
88
+ else if (tgt instanceof Date) cp = new Date(tgt.getTime());
89
+ else if (Array.isArray(tgt)) {
90
+ cp = [];
91
+ tgt.forEach((v) => {
92
+ cp.push(v);
93
+ });
94
+ cp = cp.map((n) => deepCopy(n));
95
+ } else if (typeof tgt === "object") {
96
+ cp = { ...tgt };
97
+ Object.keys(cp).forEach((k) => {
98
+ cp[k] = deepCopy(cp[k]);
99
+ });
100
+ } else cp = tgt;
101
+ return cp;
173
102
  }
174
-
175
- /**
176
- * Performs a deep merge of objects and returns new object. Does not modify
177
- * objects (immutable).
178
- * It merges from into object to the left
179
- * eg. mergeDeep({a: 'will be overridden', b: 'some val'}, {a: 'new val'}) => {a: 'new val', b: 'some val'}
180
- *
181
- * @param originalObject object - Object to override,
182
- * @param overrideObject object - Object to override "toOverride" values with
183
- * @param config object - Configuration for how to merge.
184
- * mergeArrays determines if it should merge or override arrays
185
- * @returns object - New object with merged key/values
186
- */
187
103
  function mergeDeep(originalObject, overrideObject, config = { mergeArrays: false }) {
188
- const isObject = (obj) => obj && typeof obj === 'object';
189
- return [originalObject, overrideObject].reduce((mergedObject, obj) => {
190
- Object.keys(obj).forEach((key) => {
191
- const mergedObjectValue = mergedObject[key];
192
- const overrideObjectValue = obj[key];
193
- if (Array.isArray(mergedObjectValue) && Array.isArray(overrideObjectValue)) {
194
- mergedObject[key] = config.mergeArrays
195
- ? mergedObjectValue.concat(overrideObjectValue)
196
- : overrideObjectValue;
197
- }
198
- else if (isObject(mergedObjectValue) && isObject(overrideObjectValue)) {
199
- mergedObject[key] = mergeDeep(mergedObjectValue, overrideObjectValue);
200
- }
201
- else {
202
- mergedObject[key] = overrideObjectValue;
203
- }
204
- });
205
- return mergedObject;
206
- }, {});
104
+ const isObject = (obj) => obj && typeof obj === "object";
105
+ return [originalObject, overrideObject].reduce((mergedObject, obj) => {
106
+ Object.keys(obj).forEach((key) => {
107
+ const mergedObjectValue = mergedObject[key];
108
+ const overrideObjectValue = obj[key];
109
+ if (Array.isArray(mergedObjectValue) && Array.isArray(overrideObjectValue)) mergedObject[key] = config.mergeArrays ? mergedObjectValue.concat(overrideObjectValue) : overrideObjectValue;
110
+ else if (isObject(mergedObjectValue) && isObject(overrideObjectValue)) mergedObject[key] = mergeDeep(mergedObjectValue, overrideObjectValue);
111
+ else mergedObject[key] = overrideObjectValue;
112
+ });
113
+ return mergedObject;
114
+ }, {});
207
115
  }
208
116
  function mergeDeepAll(...objects) {
209
- const objectsWithoutUndefined = objects.filter((object) => object !== undefined);
210
- return objectsWithoutUndefined.reduce((originalObject, overrideObject) => mergeDeep(originalObject, overrideObject));
117
+ return objects.filter((object) => object !== void 0).reduce((originalObject, overrideObject) => mergeDeep(originalObject, overrideObject));
211
118
  }
212
-
213
- class UniqueIdGenerator {
214
- static { this.registry = new Map(); }
215
- constructor(scope) {
216
- this.scope = scope;
217
- this.id = 0;
218
- }
219
- static scopedTo(scope) {
220
- let scopedGenerator = UniqueIdGenerator.registry.get(scope);
221
- if (!scopedGenerator) {
222
- scopedGenerator = new UniqueIdGenerator(scope);
223
- UniqueIdGenerator.registry.set(scope, scopedGenerator);
224
- }
225
- return scopedGenerator;
226
- }
227
- next() {
228
- return `${this.scope}-${this.id++}`;
229
- }
230
- }
231
-
232
- class StringSearchHelper {
233
- static getIndexByFirstMatchingStartString(searchString, words, startIndex) {
234
- searchString = searchString.toLowerCase();
235
- const wordsStartingWithMatchString = words
236
- .map((word, index) => {
237
- return { word: word.toLowerCase(), index };
238
- })
239
- .filter((match) => match.word.startsWith(searchString));
240
- if (wordsStartingWithMatchString.length === 0) {
241
- return -1;
242
- }
243
- const firstWordStartingWithChar = wordsStartingWithMatchString[0];
244
- const nextWordStartingWithChar = wordsStartingWithMatchString.find((wordAndIndex) => wordAndIndex.index >= startIndex);
245
- return nextWordStartingWithChar?.index ?? firstWordStartingWithChar.index;
246
- }
247
- static isPrintableCharacter(key) {
248
- return key.length === 1 && /\S/.test(key);
249
- }
250
- }
251
-
119
+ var UniqueIdGenerator = class UniqueIdGenerator {
120
+ static {
121
+ this.registry = /* @__PURE__ */ new Map();
122
+ }
123
+ constructor(scope) {
124
+ this.scope = scope;
125
+ this.id = 0;
126
+ }
127
+ static scopedTo(scope) {
128
+ let scopedGenerator = UniqueIdGenerator.registry.get(scope);
129
+ if (!scopedGenerator) {
130
+ scopedGenerator = new UniqueIdGenerator(scope);
131
+ UniqueIdGenerator.registry.set(scope, scopedGenerator);
132
+ }
133
+ return scopedGenerator;
134
+ }
135
+ next() {
136
+ return `${this.scope}-${this.id++}`;
137
+ }
138
+ };
139
+ var StringSearchHelper = class {
140
+ static getIndexByFirstMatchingStartString(searchString, words, startIndex) {
141
+ searchString = searchString.toLowerCase();
142
+ const wordsStartingWithMatchString = words.map((word, index) => {
143
+ return {
144
+ word: word.toLowerCase(),
145
+ index
146
+ };
147
+ }).filter((match) => match.word.startsWith(searchString));
148
+ if (wordsStartingWithMatchString.length === 0) return -1;
149
+ const firstWordStartingWithChar = wordsStartingWithMatchString[0];
150
+ return wordsStartingWithMatchString.find((wordAndIndex) => wordAndIndex.index >= startIndex)?.index ?? firstWordStartingWithChar.index;
151
+ }
152
+ static isPrintableCharacter(key) {
153
+ return key.length === 1 && /\S/.test(key);
154
+ }
155
+ };
252
156
  const config = Object.freeze({
253
- className: 'kirby-line-clamp',
254
- lineClamp: '--line-clamp',
255
- lineHeight: '--line-height',
157
+ className: "kirby-line-clamp",
158
+ lineClamp: "--line-clamp",
159
+ lineHeight: "--line-height"
160
+ });
161
+ var LineClampHelper = class LineClampHelper {
162
+ constructor(renderer) {
163
+ this.renderer = renderer;
164
+ }
165
+ setMaxLines(element, maxLines) {
166
+ this.renderer.setStyle(element, config.lineClamp, maxLines, RendererStyleFlags2.DashCase);
167
+ this.renderer.addClass(element, config.className);
168
+ }
169
+ setLineHeight(element, lineHeight) {
170
+ this.renderer.setStyle(element, config.lineHeight, lineHeight, RendererStyleFlags2.DashCase);
171
+ }
172
+ removeLineClamp(element) {
173
+ this.renderer.removeClass(element, config.className);
174
+ this.renderer.removeStyle(element, config.lineClamp);
175
+ this.renderer.removeStyle(element, config.lineHeight);
176
+ }
177
+ static {
178
+ this.ɵfac = i0.ɵɵngDeclareFactory({
179
+ minVersion: "12.0.0",
180
+ version: "22.2.2",
181
+ ngImport: i0,
182
+ type: LineClampHelper,
183
+ deps: [{ token: i0.Renderer2 }],
184
+ target: i0.ɵɵFactoryTarget.Injectable
185
+ });
186
+ }
187
+ static {
188
+ this.ɵprov = i0.ɵɵngDeclareInjectable({
189
+ minVersion: "12.0.0",
190
+ version: "22.2.2",
191
+ ngImport: i0,
192
+ type: LineClampHelper
193
+ });
194
+ }
195
+ };
196
+ i0.ɵɵngDeclareClassMetadata({
197
+ minVersion: "12.0.0",
198
+ version: "22.2.2",
199
+ ngImport: i0,
200
+ type: LineClampHelper,
201
+ decorators: [{ type: Injectable }],
202
+ ctorParameters: () => [{ type: i0.Renderer2 }]
256
203
  });
257
- class LineClampHelper {
258
- constructor(renderer) {
259
- this.renderer = renderer;
260
- }
261
- setMaxLines(element, maxLines) {
262
- this.renderer.setStyle(element, config.lineClamp, maxLines, RendererStyleFlags2.DashCase);
263
- this.renderer.addClass(element, config.className);
264
- }
265
- setLineHeight(element, lineHeight) {
266
- // Only necessary for the fallback solution to work
267
- this.renderer.setStyle(element, config.lineHeight, lineHeight, RendererStyleFlags2.DashCase);
268
- }
269
- removeLineClamp(element) {
270
- this.renderer.removeClass(element, config.className);
271
- this.renderer.removeStyle(element, config.lineClamp);
272
- this.renderer.removeStyle(element, config.lineHeight);
273
- }
274
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: LineClampHelper, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
275
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: LineClampHelper }); }
276
- }
277
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: LineClampHelper, decorators: [{
278
- type: Injectable
279
- }], ctorParameters: () => [{ type: i0.Renderer2 }] });
280
-
281
- /* eslint-disable @typescript-eslint/no-namespace */
282
204
  var KirbyAnimation;
283
- (function (KirbyAnimation) {
284
- let Duration;
285
- (function (Duration) {
286
- // Duration in milliseconds
287
- Duration[Duration["QUICK"] = parseInt(DesignTokenHelper.transitionDuration('quick'))] = "QUICK";
288
- Duration[Duration["SHORT"] = parseInt(DesignTokenHelper.transitionDuration('short'))] = "SHORT";
289
- Duration[Duration["LONG"] = parseInt(DesignTokenHelper.transitionDuration('long'))] = "LONG";
290
- Duration[Duration["EXTRA_LONG"] = parseInt(DesignTokenHelper.transitionDuration('extraLong'))] = "EXTRA_LONG";
291
- })(Duration = KirbyAnimation.Duration || (KirbyAnimation.Duration = {}));
292
- KirbyAnimation.Easing = DesignTokenHelper.transitionEasings();
205
+ (function(KirbyAnimation) {
206
+ (function(Duration) {
207
+ Duration[Duration["QUICK"] = parseInt(DesignTokenHelper.transitionDuration("quick"))] = "QUICK";
208
+ Duration[Duration["SHORT"] = parseInt(DesignTokenHelper.transitionDuration("short"))] = "SHORT";
209
+ Duration[Duration["LONG"] = parseInt(DesignTokenHelper.transitionDuration("long"))] = "LONG";
210
+ Duration[Duration["EXTRA_LONG"] = parseInt(DesignTokenHelper.transitionDuration("extraLong"))] = "EXTRA_LONG";
211
+ })(KirbyAnimation.Duration || (KirbyAnimation.Duration = {}));
212
+ KirbyAnimation.Easing = DesignTokenHelper.transitionEasings();
293
213
  })(KirbyAnimation || (KirbyAnimation = {}));
294
-
295
- class IonicElementPartHelper {
296
- constructor(renderer) {
297
- this.renderer = renderer;
298
- }
299
- async setPart(partName, ionicElementRef, selector) {
300
- // Ensure custom element has been defined and rendered
301
- await customElements.whenDefined(ionicElementRef.nativeElement.localName);
302
- const customElement = await new Promise((resolve) => {
303
- componentOnReady(ionicElementRef.nativeElement, (element) => resolve(element));
304
- });
305
- const partElement = customElement.shadowRoot.querySelector(selector);
306
- if (!partElement)
307
- return;
308
- this.renderer.setAttribute(partElement, 'part', partName);
309
- }
310
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: IonicElementPartHelper, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable }); }
311
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: IonicElementPartHelper }); }
312
- }
313
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: IonicElementPartHelper, decorators: [{
314
- type: Injectable
315
- }], ctorParameters: () => [{ type: i0.Renderer2 }] });
316
-
317
- /**
318
- * Extends the methods of provided ControlValueAccessors.
319
- *
320
- * This utility wraps the control value accessor methods to add custom behavior while preserving
321
- * the original functionality. Its used to:
322
- * - Emit kirbyChange when values are written programmatically
323
- * - Transform or normalize values before they're passed to form controls to work with inputmasking
324
- *
325
- * @param accessors - Array of ControlValueAccessors to extend, typically injected via `NG_VALUE_ACCESSOR`
326
- * @param config - Configuration specifying which methods to extend and how
327
- *
328
- * @example
329
- * // Simple usage - emit changes when writeValue is called
330
- * extendValueAccessors(this.valueAccessors, {
331
- * writeValue: {
332
- * afterWriteValue: (value) => this.kirbyChange.emit(value)
333
- * }
334
- * });
335
- *
336
- * @example
337
- * // Advanced usage - transform values in registerOnChange
338
- * extendValueAccessors(this.valueAccessors, {
339
- * writeValue: {
340
- * afterWriteValue: (value) => this.updateDisplay(value)
341
- * },
342
- * registerOnChange: {
343
- * transformValue: (value) => this.normalizeValue(value)
344
- * }
345
- * });
346
- */
214
+ var IonicElementPartHelper = class IonicElementPartHelper {
215
+ constructor(renderer) {
216
+ this.renderer = renderer;
217
+ }
218
+ async setPart(partName, ionicElementRef, selector) {
219
+ await customElements.whenDefined(ionicElementRef.nativeElement.localName);
220
+ const partElement = (await new Promise((resolve) => {
221
+ componentOnReady(ionicElementRef.nativeElement, (element) => resolve(element));
222
+ })).shadowRoot?.querySelector(selector);
223
+ if (!partElement) return;
224
+ this.renderer.setAttribute(partElement, "part", partName);
225
+ }
226
+ static {
227
+ this.ɵfac = i0.ɵɵngDeclareFactory({
228
+ minVersion: "12.0.0",
229
+ version: "22.2.2",
230
+ ngImport: i0,
231
+ type: IonicElementPartHelper,
232
+ deps: [{ token: i0.Renderer2 }],
233
+ target: i0.ɵɵFactoryTarget.Injectable
234
+ });
235
+ }
236
+ static {
237
+ this.ɵprov = i0.ɵɵngDeclareInjectable({
238
+ minVersion: "12.0.0",
239
+ version: "22.2.2",
240
+ ngImport: i0,
241
+ type: IonicElementPartHelper
242
+ });
243
+ }
244
+ };
245
+ i0.ɵɵngDeclareClassMetadata({
246
+ minVersion: "12.0.0",
247
+ version: "22.2.2",
248
+ ngImport: i0,
249
+ type: IonicElementPartHelper,
250
+ decorators: [{ type: Injectable }],
251
+ ctorParameters: () => [{ type: i0.Renderer2 }]
252
+ });
347
253
  function extendValueAccessors(accessors, config) {
348
- if (!accessors)
349
- return;
350
- accessors.forEach((accessor) => {
351
- if (config.writeValue) {
352
- extendWriteValue(accessor, config.writeValue);
353
- }
354
- if (config.registerOnChange) {
355
- extendRegisterOnChange(accessor, config.registerOnChange);
356
- }
357
- });
254
+ if (!accessors) return;
255
+ accessors.forEach((accessor) => {
256
+ if (config.writeValue) extendWriteValue(accessor, config.writeValue);
257
+ if (config.registerOnChange) extendRegisterOnChange(accessor, config.registerOnChange);
258
+ });
358
259
  }
359
260
  function extendWriteValue(accessor, extension) {
360
- const originalWriteValue = accessor.writeValue?.bind(accessor);
361
- accessor.writeValue = (value) => {
362
- if (originalWriteValue) {
363
- originalWriteValue(value);
364
- }
365
- extension.afterWriteValue(value);
366
- };
261
+ const originalWriteValue = accessor.writeValue?.bind(accessor);
262
+ accessor.writeValue = (value) => {
263
+ if (originalWriteValue) originalWriteValue(value);
264
+ extension.afterWriteValue(value);
265
+ };
367
266
  }
368
267
  function extendRegisterOnChange(accessor, extension) {
369
- const originalRegisterOnChange = accessor.registerOnChange?.bind(accessor);
370
- if (originalRegisterOnChange) {
371
- accessor.registerOnChange = (fn) => {
372
- const wrappedFn = (value) => {
373
- fn(extension.transformValue(value));
374
- };
375
- originalRegisterOnChange(wrappedFn);
376
- };
377
- }
268
+ const originalRegisterOnChange = accessor.registerOnChange?.bind(accessor);
269
+ if (originalRegisterOnChange) accessor.registerOnChange = (fn) => {
270
+ const wrappedFn = (value) => {
271
+ fn(extension.transformValue(value));
272
+ };
273
+ originalRegisterOnChange(wrappedFn);
274
+ };
378
275
  }
276
+ export { ColorHelper, DesignTokenHelper, IonicElementPartHelper, KirbyAnimation, LineClampHelper, PlatformService, StringSearchHelper, UniqueIdGenerator, camelToKebabCase, capitalizeFirstLetter, chartConfigHasType, deepCopy, elementHasAncestor, extendValueAccessors, getIonModalDialogAncestor, kebabToCamelCase, kebabToTitleCase, mergeDeep, mergeDeepAll, observeContent };
379
277
 
380
- // re-export helpers from core, to preserve backwards compatability
381
- // of 'designsystem' library
382
-
383
- /**
384
- * Generated bundle index. Do not edit.
385
- */
386
-
387
- export { IonicElementPartHelper, KirbyAnimation, LineClampHelper, PlatformService, StringSearchHelper, UniqueIdGenerator, chartConfigHasType, deepCopy, elementHasAncestor, extendValueAccessors, getIonModalDialogAncestor, mergeDeep, mergeDeepAll, observeContent };
388
- //# sourceMappingURL=kirbydesign-designsystem-helpers.mjs.map
278
+ //# sourceMappingURL=kirbydesign-designsystem-helpers.mjs.map