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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. package/README.md +7 -0
  2. package/fesm2022/kirbydesign-designsystem-accordion.mjs +246 -135
  3. package/fesm2022/kirbydesign-designsystem-accordion.mjs.map +1 -1
  4. package/fesm2022/kirbydesign-designsystem-action-group.mjs +229 -134
  5. package/fesm2022/kirbydesign-designsystem-action-group.mjs.map +1 -1
  6. package/fesm2022/kirbydesign-designsystem-avatar.mjs +102 -55
  7. package/fesm2022/kirbydesign-designsystem-avatar.mjs.map +1 -1
  8. package/fesm2022/kirbydesign-designsystem-badge.mjs +85 -42
  9. package/fesm2022/kirbydesign-designsystem-badge.mjs.map +1 -1
  10. package/fesm2022/kirbydesign-designsystem-button.mjs +203 -170
  11. package/fesm2022/kirbydesign-designsystem-button.mjs.map +1 -1
  12. package/fesm2022/kirbydesign-designsystem-calendar.mjs +524 -516
  13. package/fesm2022/kirbydesign-designsystem-calendar.mjs.map +1 -1
  14. package/fesm2022/kirbydesign-designsystem-card.mjs +439 -205
  15. package/fesm2022/kirbydesign-designsystem-card.mjs.map +1 -1
  16. package/fesm2022/kirbydesign-designsystem-chart.mjs +1388 -1469
  17. package/fesm2022/kirbydesign-designsystem-chart.mjs.map +1 -1
  18. package/fesm2022/kirbydesign-designsystem-checkbox.mjs +223 -176
  19. package/fesm2022/kirbydesign-designsystem-checkbox.mjs.map +1 -1
  20. package/fesm2022/kirbydesign-designsystem-config.mjs +50 -96
  21. package/fesm2022/kirbydesign-designsystem-config.mjs.map +1 -1
  22. package/fesm2022/kirbydesign-designsystem-data-table.mjs +180 -83
  23. package/fesm2022/kirbydesign-designsystem-data-table.mjs.map +1 -1
  24. package/fesm2022/kirbydesign-designsystem-divider.mjs +46 -19
  25. package/fesm2022/kirbydesign-designsystem-divider.mjs.map +1 -1
  26. package/fesm2022/kirbydesign-designsystem-dropdown.mjs +878 -752
  27. package/fesm2022/kirbydesign-designsystem-dropdown.mjs.map +1 -1
  28. package/fesm2022/kirbydesign-designsystem-empty-state.mjs +175 -91
  29. package/fesm2022/kirbydesign-designsystem-empty-state.mjs.map +1 -1
  30. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs +213 -85
  31. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs.map +1 -1
  32. package/fesm2022/kirbydesign-designsystem-flag.mjs +67 -33
  33. package/fesm2022/kirbydesign-designsystem-flag.mjs.map +1 -1
  34. package/fesm2022/kirbydesign-designsystem-form-field.mjs +1260 -891
  35. package/fesm2022/kirbydesign-designsystem-form-field.mjs.map +1 -1
  36. package/fesm2022/kirbydesign-designsystem-gesture.mjs +38 -23
  37. package/fesm2022/kirbydesign-designsystem-gesture.mjs.map +1 -1
  38. package/fesm2022/kirbydesign-designsystem-header.mjs +422 -182
  39. package/fesm2022/kirbydesign-designsystem-header.mjs.map +1 -1
  40. package/fesm2022/kirbydesign-designsystem-helpers-scss.mjs +16 -14
  41. package/fesm2022/kirbydesign-designsystem-helpers-scss.mjs.map +1 -1
  42. package/fesm2022/kirbydesign-designsystem-helpers.mjs +251 -361
  43. package/fesm2022/kirbydesign-designsystem-helpers.mjs.map +1 -1
  44. package/fesm2022/kirbydesign-designsystem-icon.mjs +881 -296
  45. package/fesm2022/kirbydesign-designsystem-icon.mjs.map +1 -1
  46. package/fesm2022/kirbydesign-designsystem-item-group.mjs +52 -23
  47. package/fesm2022/kirbydesign-designsystem-item-group.mjs.map +1 -1
  48. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs +147 -43
  49. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs.map +1 -1
  50. package/fesm2022/kirbydesign-designsystem-item.mjs +395 -151
  51. package/fesm2022/kirbydesign-designsystem-item.mjs.map +1 -1
  52. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs +136 -54
  53. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs.map +1 -1
  54. package/fesm2022/kirbydesign-designsystem-list.mjs +1188 -697
  55. package/fesm2022/kirbydesign-designsystem-list.mjs.map +1 -1
  56. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs +166 -76
  57. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs.map +1 -1
  58. package/fesm2022/kirbydesign-designsystem-menu.mjs +420 -311
  59. package/fesm2022/kirbydesign-designsystem-menu.mjs.map +1 -1
  60. package/fesm2022/kirbydesign-designsystem-modal.mjs +2476 -1912
  61. package/fesm2022/kirbydesign-designsystem-modal.mjs.map +1 -1
  62. package/fesm2022/kirbydesign-designsystem-page.mjs +1526 -905
  63. package/fesm2022/kirbydesign-designsystem-page.mjs.map +1 -1
  64. package/fesm2022/kirbydesign-designsystem-popover.mjs +204 -169
  65. package/fesm2022/kirbydesign-designsystem-popover.mjs.map +1 -1
  66. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs +209 -158
  67. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs.map +1 -1
  68. package/fesm2022/kirbydesign-designsystem-radio.mjs +537 -365
  69. package/fesm2022/kirbydesign-designsystem-radio.mjs.map +1 -1
  70. package/fesm2022/kirbydesign-designsystem-range.mjs +207 -150
  71. package/fesm2022/kirbydesign-designsystem-range.mjs.map +1 -1
  72. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs +217 -104
  73. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs.map +1 -1
  74. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs +113 -38
  75. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs.map +1 -1
  76. package/fesm2022/kirbydesign-designsystem-section-header.mjs +56 -18
  77. package/fesm2022/kirbydesign-designsystem-section-header.mjs.map +1 -1
  78. package/fesm2022/kirbydesign-designsystem-segmented-control.mjs +276 -232
  79. package/fesm2022/kirbydesign-designsystem-segmented-control.mjs.map +1 -1
  80. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs +328 -382
  81. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs.map +1 -1
  82. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs +73 -84
  83. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs.map +1 -1
  84. package/fesm2022/kirbydesign-designsystem-shared.mjs +665 -531
  85. package/fesm2022/kirbydesign-designsystem-shared.mjs.map +1 -1
  86. package/fesm2022/kirbydesign-designsystem-slide-button.mjs +140 -91
  87. package/fesm2022/kirbydesign-designsystem-slide-button.mjs.map +1 -1
  88. package/fesm2022/kirbydesign-designsystem-slide.mjs +360 -158
  89. package/fesm2022/kirbydesign-designsystem-slide.mjs.map +1 -1
  90. package/fesm2022/kirbydesign-designsystem-spinner.mjs +90 -32
  91. package/fesm2022/kirbydesign-designsystem-spinner.mjs.map +1 -1
  92. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs +348 -181
  93. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs.map +1 -1
  94. package/fesm2022/kirbydesign-designsystem-tabs.mjs +286 -121
  95. package/fesm2022/kirbydesign-designsystem-tabs.mjs.map +1 -1
  96. package/fesm2022/kirbydesign-designsystem-testing-base.mjs +6234 -3164
  97. package/fesm2022/kirbydesign-designsystem-testing-base.mjs.map +1 -1
  98. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs +118 -95
  99. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs.map +1 -1
  100. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs +128 -101
  101. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs.map +1 -1
  102. package/fesm2022/kirbydesign-designsystem-testing.mjs +236 -243
  103. package/fesm2022/kirbydesign-designsystem-testing.mjs.map +1 -1
  104. package/fesm2022/kirbydesign-designsystem-toast.mjs +98 -62
  105. package/fesm2022/kirbydesign-designsystem-toast.mjs.map +1 -1
  106. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs +155 -127
  107. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs.map +1 -1
  108. package/fesm2022/kirbydesign-designsystem-toggle.mjs +180 -150
  109. package/fesm2022/kirbydesign-designsystem-toggle.mjs.map +1 -1
  110. package/fesm2022/kirbydesign-designsystem-types.mjs +39 -24
  111. package/fesm2022/kirbydesign-designsystem-types.mjs.map +1 -1
  112. package/fesm2022/kirbydesign-designsystem.mjs +516 -407
  113. package/fesm2022/kirbydesign-designsystem.mjs.map +1 -1
  114. package/icons/svg/megaphone.svg +3 -0
  115. package/icons/svg/person-blocked.svg +3 -0
  116. package/icons/svg/person-check.svg +3 -0
  117. package/icons/svg/person-close.svg +3 -0
  118. package/icons/svg/person-cloud.svg +3 -0
  119. package/icons/svg/person-power.svg +3 -0
  120. package/icons/svg/person-warning.svg +3 -0
  121. package/icons/svg/phone-device-pin.svg +3 -0
  122. package/icons/svg/phone-device.svg +3 -2
  123. package/package.json +10 -10
  124. package/readme.md +37 -0
  125. package/types/kirbydesign-designsystem-accordion.d.ts +72 -39
  126. package/types/kirbydesign-designsystem-accordion.d.ts.map +1 -1
  127. package/types/kirbydesign-designsystem-action-group.d.ts +46 -39
  128. package/types/kirbydesign-designsystem-action-group.d.ts.map +1 -1
  129. package/types/kirbydesign-designsystem-avatar.d.ts +62 -26
  130. package/types/kirbydesign-designsystem-avatar.d.ts.map +1 -1
  131. package/types/kirbydesign-designsystem-badge.d.ts +30 -19
  132. package/types/kirbydesign-designsystem-badge.d.ts.map +1 -1
  133. package/types/kirbydesign-designsystem-button.d.ts +70 -45
  134. package/types/kirbydesign-designsystem-button.d.ts.map +1 -1
  135. package/types/kirbydesign-designsystem-calendar.d.ts +193 -132
  136. package/types/kirbydesign-designsystem-calendar.d.ts.map +1 -1
  137. package/types/kirbydesign-designsystem-card.d.ts +130 -66
  138. package/types/kirbydesign-designsystem-card.d.ts.map +1 -1
  139. package/types/kirbydesign-designsystem-chart.d.ts +198 -172
  140. package/types/kirbydesign-designsystem-chart.d.ts.map +1 -1
  141. package/types/kirbydesign-designsystem-checkbox.d.ts +102 -68
  142. package/types/kirbydesign-designsystem-checkbox.d.ts.map +1 -1
  143. package/types/kirbydesign-designsystem-config.d.ts +17 -21
  144. package/types/kirbydesign-designsystem-config.d.ts.map +1 -1
  145. package/types/kirbydesign-designsystem-data-table.d.ts +46 -26
  146. package/types/kirbydesign-designsystem-data-table.d.ts.map +1 -1
  147. package/types/kirbydesign-designsystem-divider.d.ts +11 -9
  148. package/types/kirbydesign-designsystem-divider.d.ts.map +1 -1
  149. package/types/kirbydesign-designsystem-dropdown.d.ts +219 -166
  150. package/types/kirbydesign-designsystem-dropdown.d.ts.map +1 -1
  151. package/types/kirbydesign-designsystem-empty-state.d.ts +58 -35
  152. package/types/kirbydesign-designsystem-empty-state.d.ts.map +1 -1
  153. package/types/kirbydesign-designsystem-fab-sheet.d.ts +34 -28
  154. package/types/kirbydesign-designsystem-fab-sheet.d.ts.map +1 -1
  155. package/types/kirbydesign-designsystem-flag.d.ts +18 -13
  156. package/types/kirbydesign-designsystem-flag.d.ts.map +1 -1
  157. package/types/kirbydesign-designsystem-form-field.d.ts +409 -242
  158. package/types/kirbydesign-designsystem-form-field.d.ts.map +1 -1
  159. package/types/kirbydesign-designsystem-gesture.d.ts +41 -46
  160. package/types/kirbydesign-designsystem-gesture.d.ts.map +1 -1
  161. package/types/kirbydesign-designsystem-header.d.ts +102 -64
  162. package/types/kirbydesign-designsystem-header.d.ts.map +1 -1
  163. package/types/kirbydesign-designsystem-helpers-scss.d.ts +6 -8
  164. package/types/kirbydesign-designsystem-helpers-scss.d.ts.map +1 -1
  165. package/types/kirbydesign-designsystem-helpers.d.ts +83 -97
  166. package/types/kirbydesign-designsystem-helpers.d.ts.map +1 -1
  167. package/types/kirbydesign-designsystem-icon.d.ts +63 -59
  168. package/types/kirbydesign-designsystem-icon.d.ts.map +1 -1
  169. package/types/kirbydesign-designsystem-item-group.d.ts +6 -9
  170. package/types/kirbydesign-designsystem-item-group.d.ts.map +1 -1
  171. package/types/kirbydesign-designsystem-item-sliding.d.ts +30 -26
  172. package/types/kirbydesign-designsystem-item-sliding.d.ts.map +1 -1
  173. package/types/kirbydesign-designsystem-item.d.ts +93 -54
  174. package/types/kirbydesign-designsystem-item.d.ts.map +1 -1
  175. package/types/kirbydesign-designsystem-kirby-app.d.ts +18 -19
  176. package/types/kirbydesign-designsystem-kirby-app.d.ts.map +1 -1
  177. package/types/kirbydesign-designsystem-list.d.ts +392 -263
  178. package/types/kirbydesign-designsystem-list.d.ts.map +1 -1
  179. package/types/kirbydesign-designsystem-loading-overlay.d.ts +35 -24
  180. package/types/kirbydesign-designsystem-loading-overlay.d.ts.map +1 -1
  181. package/types/kirbydesign-designsystem-menu.d.ts +119 -69
  182. package/types/kirbydesign-designsystem-menu.d.ts.map +1 -1
  183. package/types/kirbydesign-designsystem-modal.d.ts +578 -455
  184. package/types/kirbydesign-designsystem-modal.d.ts.map +1 -1
  185. package/types/kirbydesign-designsystem-page.d.ts +308 -226
  186. package/types/kirbydesign-designsystem-page.d.ts.map +1 -1
  187. package/types/kirbydesign-designsystem-popover.d.ts +48 -40
  188. package/types/kirbydesign-designsystem-popover.d.ts.map +1 -1
  189. package/types/kirbydesign-designsystem-progress-circle.d.ts +59 -61
  190. package/types/kirbydesign-designsystem-progress-circle.d.ts.map +1 -1
  191. package/types/kirbydesign-designsystem-radio.d.ts +147 -98
  192. package/types/kirbydesign-designsystem-radio.d.ts.map +1 -1
  193. package/types/kirbydesign-designsystem-range.d.ts +90 -45
  194. package/types/kirbydesign-designsystem-range.d.ts.map +1 -1
  195. package/types/kirbydesign-designsystem-reorder-list.d.ts +44 -32
  196. package/types/kirbydesign-designsystem-reorder-list.d.ts.map +1 -1
  197. package/types/kirbydesign-designsystem-router-outlet.d.ts +23 -18
  198. package/types/kirbydesign-designsystem-router-outlet.d.ts.map +1 -1
  199. package/types/kirbydesign-designsystem-section-header.d.ts +5 -8
  200. package/types/kirbydesign-designsystem-section-header.d.ts.map +1 -1
  201. package/types/kirbydesign-designsystem-segmented-control.d.ts +123 -100
  202. package/types/kirbydesign-designsystem-segmented-control.d.ts.map +1 -1
  203. package/types/kirbydesign-designsystem-shared-floating.d.ts +183 -128
  204. package/types/kirbydesign-designsystem-shared-floating.d.ts.map +1 -1
  205. package/types/kirbydesign-designsystem-shared-portal.d.ts +29 -28
  206. package/types/kirbydesign-designsystem-shared-portal.d.ts.map +1 -1
  207. package/types/kirbydesign-designsystem-shared.d.ts +143 -139
  208. package/types/kirbydesign-designsystem-shared.d.ts.map +1 -1
  209. package/types/kirbydesign-designsystem-slide-button.d.ts +43 -34
  210. package/types/kirbydesign-designsystem-slide-button.d.ts.map +1 -1
  211. package/types/kirbydesign-designsystem-slide.d.ts +80 -59
  212. package/types/kirbydesign-designsystem-slide.d.ts.map +1 -1
  213. package/types/kirbydesign-designsystem-spinner.d.ts +13 -14
  214. package/types/kirbydesign-designsystem-spinner.d.ts.map +1 -1
  215. package/types/kirbydesign-designsystem-tab-navigation.d.ts +78 -55
  216. package/types/kirbydesign-designsystem-tab-navigation.d.ts.map +1 -1
  217. package/types/kirbydesign-designsystem-tabs.d.ts +50 -45
  218. package/types/kirbydesign-designsystem-tabs.d.ts.map +1 -1
  219. package/types/kirbydesign-designsystem-testing-base.d.ts +2435 -815
  220. package/types/kirbydesign-designsystem-testing-base.d.ts.map +1 -1
  221. package/types/kirbydesign-designsystem-testing-jasmine.d.ts +9 -10
  222. package/types/kirbydesign-designsystem-testing-jasmine.d.ts.map +1 -1
  223. package/types/kirbydesign-designsystem-testing-jest.d.ts +9 -10
  224. package/types/kirbydesign-designsystem-testing-jest.d.ts.map +1 -1
  225. package/types/kirbydesign-designsystem-testing.d.ts +52 -58
  226. package/types/kirbydesign-designsystem-testing.d.ts.map +1 -1
  227. package/types/kirbydesign-designsystem-toast.d.ts +25 -31
  228. package/types/kirbydesign-designsystem-toast.d.ts.map +1 -1
  229. package/types/kirbydesign-designsystem-toggle-button.d.ts +62 -56
  230. package/types/kirbydesign-designsystem-toggle-button.d.ts.map +1 -1
  231. package/types/kirbydesign-designsystem-toggle.d.ts +71 -63
  232. package/types/kirbydesign-designsystem-toggle.d.ts.map +1 -1
  233. package/types/kirbydesign-designsystem-types.d.ts +15 -22
  234. package/types/kirbydesign-designsystem-types.d.ts.map +1 -1
  235. package/types/kirbydesign-designsystem.d.ts +135 -123
  236. package/types/kirbydesign-designsystem.d.ts.map +1 -1
  237. package/accordion/package.json +0 -4
  238. package/action-group/package.json +0 -4
  239. package/avatar/package.json +0 -4
  240. package/badge/package.json +0 -4
  241. package/button/package.json +0 -4
  242. package/calendar/package.json +0 -4
  243. package/card/package.json +0 -4
  244. package/chart/package.json +0 -4
  245. package/checkbox/package.json +0 -4
  246. package/config/package.json +0 -4
  247. package/data-table/package.json +0 -4
  248. package/divider/package.json +0 -4
  249. package/dropdown/package.json +0 -4
  250. package/empty-state/package.json +0 -4
  251. package/fab-sheet/package.json +0 -4
  252. package/flag/package.json +0 -4
  253. package/form-field/package.json +0 -4
  254. package/gesture/package.json +0 -4
  255. package/header/package.json +0 -4
  256. package/helpers/package.json +0 -4
  257. package/helpers/scss/package.json +0 -4
  258. package/icon/package.json +0 -4
  259. package/item/package.json +0 -4
  260. package/item-group/package.json +0 -4
  261. package/item-sliding/package.json +0 -4
  262. package/kirby-app/package.json +0 -4
  263. package/list/package.json +0 -4
  264. package/loading-overlay/package.json +0 -4
  265. package/menu/package.json +0 -4
  266. package/modal/package.json +0 -4
  267. package/page/package.json +0 -4
  268. package/popover/package.json +0 -4
  269. package/progress-circle/package.json +0 -4
  270. package/radio/package.json +0 -4
  271. package/range/package.json +0 -4
  272. package/reorder-list/package.json +0 -4
  273. package/router-outlet/package.json +0 -4
  274. package/section-header/package.json +0 -4
  275. package/segmented-control/package.json +0 -4
  276. package/shared/floating/package.json +0 -4
  277. package/shared/package.json +0 -4
  278. package/shared/portal/package.json +0 -4
  279. package/slide/package.json +0 -4
  280. package/slide-button/package.json +0 -4
  281. package/spinner/package.json +0 -4
  282. package/tab-navigation/package.json +0 -4
  283. package/tabs/package.json +0 -4
  284. package/testing/package.json +0 -4
  285. package/testing-base/package.json +0 -4
  286. package/testing-jasmine/package.json +0 -4
  287. package/testing-jest/package.json +0 -4
  288. package/toast/package.json +0 -4
  289. package/toggle/package.json +0 -4
  290. package/toggle-button/package.json +0 -4
  291. package/types/package.json +0 -4
@@ -1,388 +1,334 @@
1
- import * as i0 from '@angular/core';
2
- import { EventEmitter, HostListener, Output, Input, Directive } from '@angular/core';
3
- import { computePosition, offset, flip, shift, autoPlacement, autoUpdate } from '@floating-ui/dom';
4
- import { DesignTokenHelper } from '@kirbydesign/core';
5
- import { from } from 'rxjs';
6
- import * as i1 from '@kirbydesign/designsystem/shared/portal';
7
- import { PortalDirective } from '@kirbydesign/designsystem/shared/portal';
8
-
1
+ import * as i0 from "@angular/core";
2
+ import { Directive, EventEmitter, HostListener, Input, Output, RendererStyleFlags2 } from "@angular/core";
3
+ import { autoPlacement, autoUpdate, computePosition, flip, offset, shift, size } from "@floating-ui/dom";
4
+ import { DesignTokenHelper } from "@kirbydesign/core";
5
+ import { from } from "rxjs";
6
+ import * as i1 from "@kirbydesign/designsystem/shared/portal";
7
+ import { PortalDirective } from "@kirbydesign/designsystem/shared/portal";
9
8
  var FloatingOffset;
10
- (function (FloatingOffset) {
11
- FloatingOffset[FloatingOffset["none"] = 0] = "none";
12
- FloatingOffset[FloatingOffset["small"] = 4] = "small";
13
- FloatingOffset[FloatingOffset["medium"] = 8] = "medium";
9
+ (function(FloatingOffset) {
10
+ FloatingOffset[FloatingOffset["none"] = 0] = "none";
11
+ FloatingOffset[FloatingOffset["small"] = 4] = "small";
12
+ FloatingOffset[FloatingOffset["medium"] = 8] = "medium";
14
13
  })(FloatingOffset || (FloatingOffset = {}));
15
14
  var OutletSelector;
16
- (function (OutletSelector) {
17
- OutletSelector["tag"] = "tag";
18
- OutletSelector["id"] = "id";
19
- OutletSelector["class"] = "class";
20
- OutletSelector["name"] = "name";
15
+ (function(OutletSelector) {
16
+ OutletSelector["tag"] = "tag";
17
+ OutletSelector["id"] = "id";
18
+ OutletSelector["class"] = "class";
19
+ OutletSelector["name"] = "name";
21
20
  })(OutletSelector || (OutletSelector = {}));
22
- /**
23
- * @summary FloatingDirective is a utility that lets you declarative anchor "popup" containers to another element.
24
- *
25
- * Uses floating-ui, with this directive wraps the functionality: https://floating-ui.com/docs/getting-started
26
- *
27
- * Uses PortalDirective to enable functionality for portaling the floated content. This should be used when needed
28
- * and not as the default option.
29
- */
30
- class FloatingDirective {
31
- /**
32
- * Reference to the element for which the host should anchor to
33
- * */
34
- set reference(ref) {
35
- this.tearDownReferenceElementEventHandling();
36
- this._reference = ref;
37
- this.setupEventHandling();
38
- if (this.isShown) {
39
- this.autoUpdatePosition();
40
- }
41
- }
42
- get reference() {
43
- return this._reference;
44
- }
45
- /**
46
- * How the host should be placed relative to the reference. Can be affected by middleware
47
- * */
48
- set placement(placement) {
49
- this._placement = placement;
50
- if (this.isShown) {
51
- this.updateHostElementPosition();
52
- }
53
- }
54
- get placement() {
55
- return this._placement;
56
- }
57
- /**
58
- * The strategy for how the host should be positioned.
59
- * */
60
- set strategy(strategy) {
61
- this._strategy = strategy;
62
- if (this.isShown) {
63
- this.updateHostElementPosition();
64
- }
65
- }
66
- get strategy() {
67
- return this._strategy;
68
- }
69
- /**
70
- * Defines when the host should be displayed/hidden, i.e. click will attach a click listener to the reference
71
- * that makes the host toggle display. Supports multiple triggers, to provide functionality for combinations
72
- * like click/focus.
73
- * */
74
- set triggers(eventTriggers) {
75
- this._triggers = eventTriggers;
76
- this.tearDownReferenceElementEventHandling();
77
- this.setupEventHandling();
78
- }
79
- get triggers() {
80
- return this._triggers;
81
- }
82
- /**
83
- * The HTMLElement for which the content should portal into.
84
- * Providing an outlet enables the portal, if nothing is provided, the provided strategy is used.
85
- * This should be used when there's issues with the stacking context, and not as a default option.
86
- * */
87
- set DOMPortalOutlet(outlet) {
88
- this._providedPortalOutlet = outlet;
89
- this.portalDirective.outlet =
90
- this.DOMPortalOutlet ?? this.getOutletElement(this.portalOutletConfig);
91
- }
92
- get DOMPortalOutlet() {
93
- return this._providedPortalOutlet;
94
- }
95
- /**
96
- * Defines how to automatically find and assign DOMPortalOutlet if none is provided in DOMPortalOutlet.
97
- * If nothing is provided here and in DOMPortalOutlet, the provided strategy is used
98
- * */
99
- set portalOutletConfig(config) {
100
- this._portalOutletConfig = config;
101
- if (!this.DOMPortalOutlet) {
102
- this.portalDirective.outlet = this.getOutletElement(config);
103
- }
104
- }
105
- get portalOutletConfig() {
106
- return this._portalOutletConfig;
107
- }
108
- onEscapeKeyPressed() {
109
- if (this.closeOnEscapeKey) {
110
- this.hide();
111
- }
112
- }
113
- constructor(elementRef, renderer, portalDirective) {
114
- this.elementRef = elementRef;
115
- this.renderer = renderer;
116
- this.portalDirective = portalDirective;
117
- /**
118
- * Prevent host from being toggled if set.
119
- * */
120
- this.isDisabled = false;
121
- /**
122
- * Displaces the floating element from its core placement along the specified axes.
123
- * */
124
- this.offset = FloatingOffset.none;
125
- /**
126
- * Moves the floating element along the specified axes in order to keep it in view.
127
- * This does not always work as expected, so don't "just" set it.
128
- * */
129
- this.shift = false;
130
- /**
131
- * Chooses the placement that has the most space available automatically.
132
- * */
133
- this.autoPlacement = false;
134
- /**
135
- * Enables hiding the host by events. See variable names.
136
- * */
137
- this.closeOnSelect = true;
138
- this.closeOnEscapeKey = true;
139
- this.closeOnBackdrop = true;
140
- /**
141
- * Enables the option to be notified when the host changes display. The new display value is provided.
142
- * */
143
- this.displayChanged = new EventEmitter();
144
- this._placement = 'bottom-start';
145
- this._strategy = 'absolute';
146
- this._triggers = ['click'];
147
- this.isShown = false;
148
- this.disposeTriggerEventListeners = [];
149
- this.triggerEventMap = new Map([
150
- ['click', [{ event: 'click', method: this.toggleShow.bind(this) }]],
151
- [
152
- 'hover',
153
- [
154
- { event: 'mouseenter', method: this.show.bind(this) },
155
- { event: 'mouseleave', method: this.hide.bind(this) },
156
- ],
157
- ],
158
- [
159
- 'focus',
160
- [
161
- { event: 'focus', method: this.show.bind(this) },
162
- { event: 'blur', method: this.hide.bind(this) },
163
- ],
164
- ],
165
- ]);
166
- this.HTMLElements = {
167
- id: (value) => Array.of(document.getElementById(value)),
168
- class: (value) => Array.from(document.getElementsByClassName(value)),
169
- name: (value) => Array.from(document.getElementsByName(value)),
170
- tag: (value) => Array.from(document.getElementsByTagName(value)),
171
- default: () => null,
172
- };
173
- }
174
- ngOnInit() {
175
- this.addFloatStylingToHostElement();
176
- }
177
- /* Should be accessible for programmatically setting display */
178
- show() {
179
- if (this.isDisabled) {
180
- return;
181
- }
182
- this.attachDocumentClickEventHandler();
183
- this.attachHostClickEventHandler();
184
- this.renderer.setStyle(this.elementRef.nativeElement, 'display', 'block');
185
- this.isShown = true;
186
- this.autoUpdatePosition();
187
- this.displayChanged.emit(this.isShown);
188
- }
189
- /* Should be accessible for programmatically setting display */
190
- hide() {
191
- if (this.isDisabled || !this.isShown) {
192
- return;
193
- }
194
- this.removeAutoUpdaterRef();
195
- this.tearDownDocumentClickEventHandling();
196
- this.renderer.setStyle(this.elementRef.nativeElement, 'display', 'none');
197
- this.isShown = false;
198
- this.displayChanged.emit(this.isShown);
199
- }
200
- /* Should be accessible for programmatically setting display */
201
- toggleShow() {
202
- if (this.isShown) {
203
- this.hide();
204
- }
205
- else {
206
- this.show();
207
- }
208
- }
209
- addFloatStylingToHostElement() {
210
- this.renderer.setStyle(this.elementRef.nativeElement, 'left', `0px`);
211
- this.renderer.setStyle(this.elementRef.nativeElement, 'top', `0px`);
212
- this.renderer.setStyle(this.elementRef.nativeElement, 'position', this.strategy);
213
- this.renderer.setStyle(this.elementRef.nativeElement, 'z-index', DesignTokenHelper.zLayer('popover'));
214
- this.setDisplayStyling();
215
- }
216
- setDisplayStyling() {
217
- this.renderer.setStyle(this.elementRef.nativeElement, 'display', this.isShown ? `block` : `none`);
218
- }
219
- updateHostElementPosition() {
220
- if (!this.reference) {
221
- return;
222
- }
223
- const config = {
224
- placement: this.placement,
225
- middleware: this.getMiddlewareConfig(),
226
- strategy: this.strategy,
227
- };
228
- from(computePosition(this.reference?.nativeElement, this.elementRef.nativeElement, config)).subscribe(({ x, y }) => this.setPositionStylingOnHostElement(x, y));
229
- }
230
- getMiddlewareConfig() {
231
- const middleware = [];
232
- middleware.push(offset(this.offset));
233
- middleware.push(flip());
234
- if (this.shift) {
235
- middleware.push(shift({ padding: parseInt(DesignTokenHelper.size('s')) }));
236
- }
237
- if (this.autoPlacement) {
238
- middleware.push(autoPlacement());
239
- }
240
- return middleware;
241
- }
242
- autoUpdatePosition() {
243
- this.removeAutoUpdaterRef();
244
- if (!this.reference) {
245
- return;
246
- }
247
- this.autoUpdaterRef = autoUpdate(this.reference?.nativeElement, this.elementRef.nativeElement, this.updateHostElementPosition.bind(this));
248
- }
249
- setPositionStylingOnHostElement(xPosition, yPosition) {
250
- this.renderer.setStyle(this.elementRef.nativeElement, 'left', `${xPosition}px`);
251
- this.renderer.setStyle(this.elementRef.nativeElement, 'top', `${yPosition}px`);
252
- this.setDisplayStyling();
253
- }
254
- setupEventHandling() {
255
- if (!this.reference || !this.triggers) {
256
- return;
257
- }
258
- this.triggers.forEach((trigger) => this.attachTriggerEventToReferenceElement(trigger));
259
- }
260
- attachDocumentClickEventHandler() {
261
- if (this.disposeDocumentClickListener) {
262
- return;
263
- }
264
- this.disposeDocumentClickListener = this.renderer.listen('document', 'mousedown', (event) => this.handleClickOutsideHostElement(event));
265
- }
266
- attachHostClickEventHandler() {
267
- if (this.disposeHostClickListener || !this.closeOnSelect) {
268
- return;
269
- }
270
- this.disposeHostClickListener = this.renderer.listen(this.elementRef.nativeElement, 'click', () => this.handleClickInsideHostElement());
271
- }
272
- attachTriggerEventToReferenceElement(trigger) {
273
- const events = this.triggerEventMap.get(trigger);
274
- if (!events) {
275
- throw new Error(`${trigger} is missing event definition(s)`);
276
- }
277
- events.forEach((event) => {
278
- const disposeTriggerEventListener = this.renderer.listen(this.reference?.nativeElement, event.event, event.method);
279
- this.disposeTriggerEventListeners.push(disposeTriggerEventListener);
280
- });
281
- }
282
- handleClickInsideHostElement() {
283
- if (this.closeOnSelect) {
284
- this.hide();
285
- }
286
- }
287
- handleClickOutsideHostElement(event) {
288
- if (event.target instanceof Node) {
289
- const clickedOnHost = this.elementRef.nativeElement.contains(event.target);
290
- if (clickedOnHost)
291
- return;
292
- const clickedOnReferenceWithClickTriggerEnabled = this.reference?.nativeElement.contains(event.target) && this.triggers.includes('click');
293
- if (this.closeOnBackdrop && !clickedOnReferenceWithClickTriggerEnabled) {
294
- this.hide();
295
- }
296
- }
297
- }
298
- getOutletElement(config) {
299
- if (!config || !config.selector || !config.value) {
300
- return null;
301
- }
302
- const elements = this.getHTMLElements(config);
303
- if (!elements || elements.length === 0) {
304
- throw Error(`Could not locate HTMLElement for ${config.selector}. Did you misspell it?`);
305
- }
306
- if (elements.length > 1) {
307
- throw Error(`Multiple HTMLElements found for ${config.selector}.
21
+ var FloatingDirective = class FloatingDirective {
22
+ set reference(ref) {
23
+ this.tearDownReferenceElementEventHandling();
24
+ this._reference = ref;
25
+ this.setupEventHandling();
26
+ if (this.isShown) this.autoUpdatePosition();
27
+ }
28
+ get reference() {
29
+ return this._reference;
30
+ }
31
+ set placement(placement) {
32
+ this._placement = placement;
33
+ if (this.isShown) this.updateHostElementPosition();
34
+ }
35
+ get placement() {
36
+ return this._placement;
37
+ }
38
+ set strategy(strategy) {
39
+ this._strategy = strategy;
40
+ if (this.isShown) this.updateHostElementPosition();
41
+ }
42
+ get strategy() {
43
+ return this._strategy;
44
+ }
45
+ set triggers(eventTriggers) {
46
+ this._triggers = eventTriggers;
47
+ this.tearDownReferenceElementEventHandling();
48
+ this.setupEventHandling();
49
+ }
50
+ get triggers() {
51
+ return this._triggers;
52
+ }
53
+ set DOMPortalOutlet(outlet) {
54
+ this._providedPortalOutlet = outlet;
55
+ this.portalDirective.outlet = this.DOMPortalOutlet ?? this.getOutletElement(this.portalOutletConfig);
56
+ }
57
+ get DOMPortalOutlet() {
58
+ return this._providedPortalOutlet;
59
+ }
60
+ set portalOutletConfig(config) {
61
+ this._portalOutletConfig = config;
62
+ if (!this.DOMPortalOutlet) this.portalDirective.outlet = this.getOutletElement(config);
63
+ }
64
+ get portalOutletConfig() {
65
+ return this._portalOutletConfig;
66
+ }
67
+ onEscapeKeyPressed() {
68
+ if (this.closeOnEscapeKey) this.hide();
69
+ }
70
+ constructor(elementRef, renderer, portalDirective) {
71
+ this.elementRef = elementRef;
72
+ this.renderer = renderer;
73
+ this.portalDirective = portalDirective;
74
+ this.isDisabled = false;
75
+ this.offset = FloatingOffset.none;
76
+ this.shift = false;
77
+ this.autoPlacement = false;
78
+ this.closeOnSelect = true;
79
+ this.closeOnEscapeKey = true;
80
+ this.closeOnBackdrop = true;
81
+ this.displayChanged = new EventEmitter();
82
+ this._placement = "bottom-start";
83
+ this._strategy = "absolute";
84
+ this._triggers = ["click"];
85
+ this.isShown = false;
86
+ this.disposeTriggerEventListeners = [];
87
+ this.triggerEventMap = /* @__PURE__ */ new Map([
88
+ ["click", [{
89
+ event: "click",
90
+ method: this.toggleShow.bind(this)
91
+ }]],
92
+ ["hover", [{
93
+ event: "mouseenter",
94
+ method: this.show.bind(this)
95
+ }, {
96
+ event: "mouseleave",
97
+ method: this.hide.bind(this)
98
+ }]],
99
+ ["focus", [{
100
+ event: "focus",
101
+ method: this.show.bind(this)
102
+ }, {
103
+ event: "blur",
104
+ method: this.hide.bind(this)
105
+ }]]
106
+ ]);
107
+ this.HTMLElements = {
108
+ id: (value) => Array.of(document.getElementById(value)),
109
+ class: (value) => Array.from(document.getElementsByClassName(value)),
110
+ name: (value) => Array.from(document.getElementsByName(value)),
111
+ tag: (value) => Array.from(document.getElementsByTagName(value)),
112
+ default: () => null
113
+ };
114
+ }
115
+ ngOnInit() {
116
+ this.addFloatStylingToHostElement();
117
+ }
118
+ show() {
119
+ if (this.isDisabled) return;
120
+ this.attachDocumentClickEventHandler();
121
+ this.attachHostClickEventHandler();
122
+ this.renderer.setStyle(this.elementRef.nativeElement, "display", "block");
123
+ this.isShown = true;
124
+ this.autoUpdatePosition();
125
+ this.displayChanged.emit(this.isShown);
126
+ }
127
+ hide() {
128
+ if (this.isDisabled || !this.isShown) return;
129
+ this.removeAutoUpdaterRef();
130
+ this.tearDownDocumentClickEventHandling();
131
+ this.renderer.setStyle(this.elementRef.nativeElement, "display", "none");
132
+ this.isShown = false;
133
+ this.renderer.removeStyle(this.elementRef.nativeElement, "--kirby-floating-available-height", RendererStyleFlags2.DashCase);
134
+ this.displayChanged.emit(this.isShown);
135
+ }
136
+ toggleShow() {
137
+ if (this.isShown) this.hide();
138
+ else this.show();
139
+ }
140
+ addFloatStylingToHostElement() {
141
+ this.renderer.setStyle(this.elementRef.nativeElement, "left", `0px`);
142
+ this.renderer.setStyle(this.elementRef.nativeElement, "top", `0px`);
143
+ this.renderer.setStyle(this.elementRef.nativeElement, "position", this.strategy);
144
+ this.renderer.setStyle(this.elementRef.nativeElement, "z-index", DesignTokenHelper.zLayer("popover"));
145
+ this.setDisplayStyling();
146
+ }
147
+ setDisplayStyling() {
148
+ this.renderer.setStyle(this.elementRef.nativeElement, "display", this.isShown ? `block` : `none`);
149
+ }
150
+ updateHostElementPosition() {
151
+ if (!this.reference) return;
152
+ const config = {
153
+ placement: this.placement,
154
+ middleware: this.getMiddlewareConfig(),
155
+ strategy: this.strategy
156
+ };
157
+ from(computePosition(this.reference?.nativeElement, this.elementRef.nativeElement, config)).subscribe(({ x, y }) => this.setPositionStylingOnHostElement(x, y));
158
+ }
159
+ getMiddlewareConfig() {
160
+ const middleware = [];
161
+ const padding = parseInt(DesignTokenHelper.size("s"));
162
+ middleware.push(offset(this.offset));
163
+ middleware.push(flip({ padding }));
164
+ if (this.shift) middleware.push(shift({ padding }));
165
+ middleware.push(size({
166
+ padding,
167
+ apply: ({ availableHeight, elements }) => {
168
+ if (!this.isShown) return;
169
+ this.renderer.setStyle(elements.floating, "--kirby-floating-available-height", `${Math.max(0, availableHeight)}px`, RendererStyleFlags2.DashCase);
170
+ }
171
+ }));
172
+ if (this.autoPlacement) middleware.push(autoPlacement());
173
+ return middleware;
174
+ }
175
+ autoUpdatePosition() {
176
+ this.removeAutoUpdaterRef();
177
+ if (!this.reference) return;
178
+ this.autoUpdaterRef = autoUpdate(this.reference?.nativeElement, this.elementRef.nativeElement, this.updateHostElementPosition.bind(this));
179
+ }
180
+ setPositionStylingOnHostElement(xPosition, yPosition) {
181
+ this.renderer.setStyle(this.elementRef.nativeElement, "left", `${xPosition}px`);
182
+ this.renderer.setStyle(this.elementRef.nativeElement, "top", `${yPosition}px`);
183
+ this.setDisplayStyling();
184
+ }
185
+ setupEventHandling() {
186
+ if (!this.reference || !this.triggers) return;
187
+ this.triggers.forEach((trigger) => this.attachTriggerEventToReferenceElement(trigger));
188
+ }
189
+ attachDocumentClickEventHandler() {
190
+ if (this.disposeDocumentClickListener) return;
191
+ this.disposeDocumentClickListener = this.renderer.listen("document", "mousedown", (event) => this.handleClickOutsideHostElement(event));
192
+ }
193
+ attachHostClickEventHandler() {
194
+ if (this.disposeHostClickListener || !this.closeOnSelect) return;
195
+ this.disposeHostClickListener = this.renderer.listen(this.elementRef.nativeElement, "click", () => this.handleClickInsideHostElement());
196
+ }
197
+ attachTriggerEventToReferenceElement(trigger) {
198
+ const events = this.triggerEventMap.get(trigger);
199
+ if (!events) throw new Error(`${trigger} is missing event definition(s)`);
200
+ events.forEach((event) => {
201
+ const disposeTriggerEventListener = this.renderer.listen(this.reference?.nativeElement, event.event, event.method);
202
+ this.disposeTriggerEventListeners.push(disposeTriggerEventListener);
203
+ });
204
+ }
205
+ handleClickInsideHostElement() {
206
+ if (this.closeOnSelect) this.hide();
207
+ }
208
+ handleClickOutsideHostElement(event) {
209
+ if (event.target instanceof Node) {
210
+ if (this.elementRef.nativeElement.contains(event.target)) return;
211
+ const clickedOnReferenceWithClickTriggerEnabled = this.reference?.nativeElement.contains(event.target) && this.triggers.includes("click");
212
+ if (this.closeOnBackdrop && !clickedOnReferenceWithClickTriggerEnabled) this.hide();
213
+ }
214
+ }
215
+ getOutletElement(config) {
216
+ if (!config || !config.selector || !config.value) return null;
217
+ const elements = this.getHTMLElements(config);
218
+ if (!elements || elements.length === 0) throw Error(`Could not locate HTMLElement for ${config.selector}. Did you misspell it?`);
219
+ if (elements.length > 1) throw Error(`Multiple HTMLElements found for ${config.selector}.
308
220
  This can lead to unintended behaviours. Provide an unique outlet`);
309
- }
310
- return elements[0];
311
- }
312
- getHTMLElements(config) {
313
- return (this.HTMLElements[config.selector](config.value) || this.HTMLElements['default'](config.value));
314
- }
315
- tearDownReferenceElementEventHandling() {
316
- this.disposeTriggerEventListeners.forEach((disposeTriggerEventListener) => disposeTriggerEventListener?.());
317
- this.disposeTriggerEventListeners = [];
318
- }
319
- tearDownDocumentClickEventHandling() {
320
- if (this.disposeDocumentClickListener) {
321
- this.disposeDocumentClickListener();
322
- this.disposeDocumentClickListener = null;
323
- }
324
- if (this.disposeHostClickListener) {
325
- this.disposeHostClickListener();
326
- this.disposeHostClickListener = null;
327
- }
328
- }
329
- removeAutoUpdaterRef() {
330
- if (this.autoUpdaterRef) {
331
- this.autoUpdaterRef();
332
- }
333
- }
334
- ngOnDestroy() {
335
- this.tearDownDocumentClickEventHandling();
336
- this.tearDownReferenceElementEventHandling();
337
- this.removeAutoUpdaterRef();
338
- }
339
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: FloatingDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.PortalDirective }], target: i0.ɵɵFactoryTarget.Directive }); }
340
- /** @nocollapse */ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.18", type: FloatingDirective, isStandalone: true, selector: "[kirbyFloating]", inputs: { reference: "reference", placement: "placement", strategy: "strategy", triggers: "triggers", DOMPortalOutlet: "DOMPortalOutlet", portalOutletConfig: "portalOutletConfig", isDisabled: "isDisabled", offset: "offset", shift: "shift", autoPlacement: "autoPlacement", closeOnSelect: "closeOnSelect", closeOnEscapeKey: "closeOnEscapeKey", closeOnBackdrop: "closeOnBackdrop" }, outputs: { displayChanged: "displayChanged" }, host: { listeners: { "document:keydown.escape": "onEscapeKeyPressed()" } }, providers: [PortalDirective], hostDirectives: [{ directive: i1.PortalDirective }], ngImport: i0 }); }
341
- }
342
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.18", ngImport: i0, type: FloatingDirective, decorators: [{
343
- type: Directive,
344
- args: [{
345
- selector: '[kirbyFloating]',
346
- providers: [PortalDirective],
347
- hostDirectives: [PortalDirective],
348
- standalone: true,
349
- }]
350
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.PortalDirective }], propDecorators: { reference: [{
351
- type: Input
352
- }], placement: [{
353
- type: Input
354
- }], strategy: [{
355
- type: Input
356
- }], triggers: [{
357
- type: Input
358
- }], DOMPortalOutlet: [{
359
- type: Input
360
- }], portalOutletConfig: [{
361
- type: Input
362
- }], isDisabled: [{
363
- type: Input
364
- }], offset: [{
365
- type: Input
366
- }], shift: [{
367
- type: Input
368
- }], autoPlacement: [{
369
- type: Input
370
- }], closeOnSelect: [{
371
- type: Input
372
- }], closeOnEscapeKey: [{
373
- type: Input
374
- }], closeOnBackdrop: [{
375
- type: Input
376
- }], displayChanged: [{
377
- type: Output
378
- }], onEscapeKeyPressed: [{
379
- type: HostListener,
380
- args: ['document:keydown.escape']
381
- }] } });
382
-
383
- /**
384
- * Generated bundle index. Do not edit.
385
- */
386
-
221
+ return elements[0];
222
+ }
223
+ getHTMLElements(config) {
224
+ return this.HTMLElements[config.selector](config.value) || this.HTMLElements["default"](config.value);
225
+ }
226
+ tearDownReferenceElementEventHandling() {
227
+ this.disposeTriggerEventListeners.forEach((disposeTriggerEventListener) => disposeTriggerEventListener?.());
228
+ this.disposeTriggerEventListeners = [];
229
+ }
230
+ tearDownDocumentClickEventHandling() {
231
+ if (this.disposeDocumentClickListener) {
232
+ this.disposeDocumentClickListener();
233
+ this.disposeDocumentClickListener = null;
234
+ }
235
+ if (this.disposeHostClickListener) {
236
+ this.disposeHostClickListener();
237
+ this.disposeHostClickListener = null;
238
+ }
239
+ }
240
+ removeAutoUpdaterRef() {
241
+ if (this.autoUpdaterRef) this.autoUpdaterRef();
242
+ }
243
+ ngOnDestroy() {
244
+ this.tearDownDocumentClickEventHandling();
245
+ this.tearDownReferenceElementEventHandling();
246
+ this.removeAutoUpdaterRef();
247
+ }
248
+ static {
249
+ this.ɵfac = i0.ɵɵngDeclareFactory({
250
+ minVersion: "12.0.0",
251
+ version: "22.2.3",
252
+ ngImport: i0,
253
+ type: FloatingDirective,
254
+ deps: [
255
+ { token: i0.ElementRef },
256
+ { token: i0.Renderer2 },
257
+ { token: i1.PortalDirective }
258
+ ],
259
+ target: i0.ɵɵFactoryTarget.Directive
260
+ });
261
+ }
262
+ static {
263
+ this.ɵdir = i0.ɵɵngDeclareDirective({
264
+ minVersion: "14.0.0",
265
+ version: "22.2.3",
266
+ type: FloatingDirective,
267
+ isStandalone: true,
268
+ selector: "[kirbyFloating]",
269
+ inputs: {
270
+ reference: "reference",
271
+ placement: "placement",
272
+ strategy: "strategy",
273
+ triggers: "triggers",
274
+ DOMPortalOutlet: "DOMPortalOutlet",
275
+ portalOutletConfig: "portalOutletConfig",
276
+ isDisabled: "isDisabled",
277
+ offset: "offset",
278
+ shift: "shift",
279
+ autoPlacement: "autoPlacement",
280
+ closeOnSelect: "closeOnSelect",
281
+ closeOnEscapeKey: "closeOnEscapeKey",
282
+ closeOnBackdrop: "closeOnBackdrop"
283
+ },
284
+ outputs: { displayChanged: "displayChanged" },
285
+ host: { listeners: { "document:keydown.escape": "onEscapeKeyPressed()" } },
286
+ providers: [PortalDirective],
287
+ hostDirectives: [{ directive: i1.PortalDirective }],
288
+ ngImport: i0
289
+ });
290
+ }
291
+ };
292
+ i0.ɵɵngDeclareClassMetadata({
293
+ minVersion: "12.0.0",
294
+ version: "22.2.3",
295
+ ngImport: i0,
296
+ type: FloatingDirective,
297
+ decorators: [{
298
+ type: Directive,
299
+ args: [{
300
+ selector: "[kirbyFloating]",
301
+ providers: [PortalDirective],
302
+ hostDirectives: [PortalDirective],
303
+ standalone: true
304
+ }]
305
+ }],
306
+ ctorParameters: () => [
307
+ { type: i0.ElementRef },
308
+ { type: i0.Renderer2 },
309
+ { type: i1.PortalDirective }
310
+ ],
311
+ propDecorators: {
312
+ reference: [{ type: Input }],
313
+ placement: [{ type: Input }],
314
+ strategy: [{ type: Input }],
315
+ triggers: [{ type: Input }],
316
+ DOMPortalOutlet: [{ type: Input }],
317
+ portalOutletConfig: [{ type: Input }],
318
+ isDisabled: [{ type: Input }],
319
+ offset: [{ type: Input }],
320
+ shift: [{ type: Input }],
321
+ autoPlacement: [{ type: Input }],
322
+ closeOnSelect: [{ type: Input }],
323
+ closeOnEscapeKey: [{ type: Input }],
324
+ closeOnBackdrop: [{ type: Input }],
325
+ displayChanged: [{ type: Output }],
326
+ onEscapeKeyPressed: [{
327
+ type: HostListener,
328
+ args: ["document:keydown.escape"]
329
+ }]
330
+ }
331
+ });
387
332
  export { FloatingDirective, FloatingOffset, OutletSelector };
388
- //# sourceMappingURL=kirbydesign-designsystem-shared-floating.mjs.map
333
+
334
+ //# sourceMappingURL=kirbydesign-designsystem-shared-floating.mjs.map