@kirbydesign/designsystem 9.5.0 → 9.7.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 (560) hide show
  1. package/accordion/accordion-item.component.d.ts +2 -1
  2. package/avatar/avatar.component.d.ts +4 -1
  3. package/button/button.component.d.ts +1 -1
  4. package/card/card-as-button/card-as-button.directive.d.ts +2 -3
  5. package/card/card.component.d.ts +9 -2
  6. package/checkbox/checkbox.component.d.ts +8 -4
  7. package/esm2022/accordion/accordion-item.component.mjs +8 -5
  8. package/esm2022/accordion/accordion.directive.mjs +4 -4
  9. package/esm2022/accordion/accordion.module.mjs +5 -5
  10. package/esm2022/accordion/kirbydesign-designsystem-accordion.mjs +1 -1
  11. package/esm2022/accordion/public_api.mjs +1 -1
  12. package/esm2022/action-group/action-group.component.mjs +4 -4
  13. package/esm2022/action-group/kirbydesign-designsystem-action-group.mjs +1 -1
  14. package/esm2022/action-group/public_api.mjs +1 -1
  15. package/esm2022/avatar/avatar.component.mjs +12 -6
  16. package/esm2022/avatar/kirbydesign-designsystem-avatar.mjs +1 -1
  17. package/esm2022/avatar/public_api.mjs +1 -1
  18. package/esm2022/badge/badge.component.mjs +4 -4
  19. package/esm2022/badge/kirbydesign-designsystem-badge.mjs +1 -1
  20. package/esm2022/badge/public_api.mjs +1 -1
  21. package/esm2022/button/button.component.mjs +5 -5
  22. package/esm2022/button/kirbydesign-designsystem-button.mjs +1 -1
  23. package/esm2022/button/public_api.mjs +1 -1
  24. package/esm2022/calendar/calendar.component.mjs +4 -4
  25. package/esm2022/calendar/helpers/calendar-cell.model.mjs +1 -1
  26. package/esm2022/calendar/helpers/calendar-options.model.mjs +1 -1
  27. package/esm2022/calendar/helpers/calendar.helper.mjs +4 -4
  28. package/esm2022/calendar/kirbydesign-designsystem-calendar.mjs +1 -1
  29. package/esm2022/calendar/options/calendar-year-navigator-config.mjs +1 -1
  30. package/esm2022/calendar/public_api.mjs +1 -1
  31. package/esm2022/card/card-as-button/card-as-button.directive.mjs +6 -9
  32. package/esm2022/card/card-flag-level.mjs +1 -1
  33. package/esm2022/card/card-footer/card-footer.component.mjs +5 -5
  34. package/esm2022/card/card-header/card-header.component.mjs +4 -4
  35. package/esm2022/card/card.component.mjs +27 -9
  36. package/esm2022/card/card.module.mjs +5 -5
  37. package/esm2022/card/kirbydesign-designsystem-card.mjs +1 -1
  38. package/esm2022/card/public_api.mjs +1 -1
  39. package/esm2022/chart/chart/chart.component.mjs +4 -4
  40. package/esm2022/chart/chart/index.mjs +1 -1
  41. package/esm2022/chart/chart-config/chart-bar-config/chart-bar-config.mjs +1 -1
  42. package/esm2022/chart/chart-config/chart-base-config.mjs +1 -1
  43. package/esm2022/chart/chart-config/chart-stock-config/chart-stock-config.mjs +1 -1
  44. package/esm2022/chart/chart-config/chart-stock-config/data-label-position/data-label-position.mjs +1 -1
  45. package/esm2022/chart/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.mjs +1 -1
  46. package/esm2022/chart/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.model.mjs +1 -1
  47. package/esm2022/chart/charts.module.mjs +5 -5
  48. package/esm2022/chart/kirbydesign-designsystem-chart.mjs +1 -1
  49. package/esm2022/chart/public_api.mjs +1 -1
  50. package/esm2022/chart/shared/base-chart/base-chart.component.mjs +4 -4
  51. package/esm2022/chart/shared/base-chart/index.mjs +1 -1
  52. package/esm2022/chart/shared/chart-config-service/chart-config.service.mjs +4 -4
  53. package/esm2022/chart/shared/chart-config-service/configs/annotations.config.mjs +1 -1
  54. package/esm2022/chart/shared/chart-config-service/configs/global-defaults.config.mjs +1 -1
  55. package/esm2022/chart/shared/chart-config-service/configs/interaction-functions-extensions.config.mjs +1 -1
  56. package/esm2022/chart/shared/chart-config-service/configs/type.config.mjs +1 -1
  57. package/esm2022/chart/shared/chart-config-service/index.mjs +1 -1
  58. package/esm2022/chart/shared/chart-js-service/annotations.delegate.mjs +1 -1
  59. package/esm2022/chart/shared/chart-js-service/chart-js.service.mjs +4 -4
  60. package/esm2022/chart/shared/chart-js-service/chartjs-plugin-marker/chartjs-plugin-marker.mjs +1 -1
  61. package/esm2022/chart/shared/chart-js-service/configured-chart-js.mjs +1 -1
  62. package/esm2022/chart/shared/chart-js-service/index.mjs +1 -1
  63. package/esm2022/chart/shared/chart-js-service/test-utils.mjs +1 -1
  64. package/esm2022/chart/shared/charts.types.mjs +1 -1
  65. package/esm2022/chart/shared/index.mjs +1 -1
  66. package/esm2022/chart/stock-chart/index.mjs +1 -1
  67. package/esm2022/chart/stock-chart/stock-chart-js.service.mjs +4 -4
  68. package/esm2022/chart/stock-chart/stock-chart.component.mjs +4 -4
  69. package/esm2022/checkbox/checkbox.component.mjs +18 -11
  70. package/esm2022/checkbox/kirbydesign-designsystem-checkbox.mjs +1 -1
  71. package/esm2022/checkbox/public_api.mjs +1 -1
  72. package/esm2022/data-table/data-table.module.mjs +5 -5
  73. package/esm2022/data-table/kirbydesign-designsystem-data-table.mjs +1 -1
  74. package/esm2022/data-table/public_api.mjs +1 -1
  75. package/esm2022/data-table/sortable/sortable.component.mjs +4 -4
  76. package/esm2022/data-table/table/table.component.mjs +4 -4
  77. package/esm2022/data-table/table-row/table-row.component.mjs +4 -4
  78. package/esm2022/divider/divider.component.mjs +4 -4
  79. package/esm2022/divider/kirbydesign-designsystem-divider.mjs +1 -1
  80. package/esm2022/divider/public_api.mjs +1 -1
  81. package/esm2022/dropdown/dropdown.component.mjs +5 -5
  82. package/esm2022/dropdown/dropdown.module.mjs +5 -5
  83. package/esm2022/dropdown/dropdown.types.mjs +1 -1
  84. package/esm2022/dropdown/keyboard-handler.service.mjs +4 -4
  85. package/esm2022/dropdown/kirbydesign-designsystem-dropdown.mjs +1 -1
  86. package/esm2022/dropdown/public_api.mjs +1 -1
  87. package/esm2022/empty-state/empty-state.component.mjs +4 -4
  88. package/esm2022/empty-state/empty-state.module.mjs +5 -5
  89. package/esm2022/empty-state/kirbydesign-designsystem-empty-state.mjs +1 -1
  90. package/esm2022/empty-state/public_api.mjs +1 -1
  91. package/esm2022/fab-sheet/fab-sheet.component.mjs +4 -4
  92. package/esm2022/fab-sheet/kirbydesign-designsystem-fab-sheet.mjs +1 -1
  93. package/esm2022/fab-sheet/public_api.mjs +1 -1
  94. package/esm2022/flag/flag.component.mjs +4 -4
  95. package/esm2022/flag/kirbydesign-designsystem-flag.mjs +1 -1
  96. package/esm2022/flag/public_api.mjs +1 -1
  97. package/esm2022/form-field/directives/affix/affix.directive.mjs +4 -4
  98. package/esm2022/form-field/directives/date/date-input.directive.mjs +4 -4
  99. package/esm2022/form-field/directives/decimal-mask/decimal-mask.directive.mjs +4 -4
  100. package/esm2022/form-field/form-field-message/form-field-message.component.mjs +4 -4
  101. package/esm2022/form-field/form-field.component.mjs +4 -4
  102. package/esm2022/form-field/form-field.module.mjs +5 -5
  103. package/esm2022/form-field/input/input.component.mjs +4 -4
  104. package/esm2022/form-field/input-counter/input-counter.component.mjs +4 -4
  105. package/esm2022/form-field/kirbydesign-designsystem-form-field.mjs +1 -1
  106. package/esm2022/form-field/public_api.mjs +1 -1
  107. package/esm2022/form-field/textarea/textarea.component.mjs +4 -4
  108. package/esm2022/header/header.component.mjs +23 -16
  109. package/esm2022/header/header.module.mjs +5 -5
  110. package/esm2022/header/kirbydesign-designsystem-header.mjs +1 -1
  111. package/esm2022/header/public_api.mjs +1 -1
  112. package/esm2022/helpers/chart-config-has-type.mjs +1 -1
  113. package/esm2022/helpers/color-helper.mjs +1 -1
  114. package/esm2022/helpers/deep-copy.mjs +1 -1
  115. package/esm2022/helpers/design-token-helper.mjs +1 -1
  116. package/esm2022/helpers/element-has-ancestor.mjs +1 -1
  117. package/esm2022/helpers/ionic-element-part-helper.mjs +4 -4
  118. package/esm2022/helpers/kirby-animation.mjs +1 -1
  119. package/esm2022/helpers/kirbydesign-designsystem-helpers.mjs +1 -1
  120. package/esm2022/helpers/line-clamp-helper.mjs +4 -4
  121. package/esm2022/helpers/merge-deep.mjs +1 -1
  122. package/esm2022/helpers/platform.service.mjs +4 -4
  123. package/esm2022/helpers/public_api.mjs +1 -1
  124. package/esm2022/helpers/scss/kirbydesign-designsystem-helpers-scss.mjs +1 -1
  125. package/esm2022/helpers/scss/public_api.mjs +1 -1
  126. package/esm2022/helpers/scss/scss-helper.mjs +1 -1
  127. package/esm2022/helpers/string-helper.mjs +1 -1
  128. package/esm2022/helpers/theme-color.type.mjs +1 -1
  129. package/esm2022/helpers/unique-id-generator.helper.mjs +1 -1
  130. package/esm2022/icon/icon-registry.service.mjs +4 -4
  131. package/esm2022/icon/icon-settings.mjs +1 -1
  132. package/esm2022/icon/icon.component.mjs +4 -4
  133. package/esm2022/icon/icon.module.mjs +5 -5
  134. package/esm2022/icon/kirby-icon-settings.mjs +1 -1
  135. package/esm2022/icon/kirbydesign-designsystem-icon.mjs +1 -1
  136. package/esm2022/icon/public_api.mjs +1 -1
  137. package/esm2022/item/item.component.mjs +41 -8
  138. package/esm2022/item/item.module.mjs +5 -5
  139. package/esm2022/item/kirbydesign-designsystem-item.mjs +1 -1
  140. package/esm2022/item/label/label.component.mjs +4 -4
  141. package/esm2022/item/public_api.mjs +1 -1
  142. package/esm2022/item-group/item-group.component.mjs +4 -4
  143. package/esm2022/item-group/kirbydesign-designsystem-item-group.mjs +1 -1
  144. package/esm2022/item-group/public_api.mjs +1 -1
  145. package/esm2022/item-sliding/item-sliding.component.mjs +4 -4
  146. package/esm2022/item-sliding/item-sliding.types.mjs +1 -1
  147. package/esm2022/item-sliding/kirbydesign-designsystem-item-sliding.mjs +1 -1
  148. package/esm2022/item-sliding/public_api.mjs +1 -1
  149. package/esm2022/kirby-app/kirby-app.component.mjs +4 -4
  150. package/esm2022/kirby-app/kirby-app.module.mjs +5 -5
  151. package/esm2022/kirby-app/kirbydesign-designsystem-kirby-app.mjs +1 -1
  152. package/esm2022/kirby-app/public_api.mjs +1 -1
  153. package/esm2022/kirby-ionic-module/kirby-ionic.module.mjs +5 -5
  154. package/esm2022/kirby-ionic-module/kirbydesign-designsystem-kirby-ionic-module.mjs +1 -1
  155. package/esm2022/kirby-ionic-module/public_api.mjs +1 -1
  156. package/esm2022/kirbydesign-designsystem.mjs +1 -1
  157. package/esm2022/lib/components/index.mjs +1 -1
  158. package/esm2022/lib/components/page-local-navigation/index.mjs +1 -1
  159. package/esm2022/lib/components/page-local-navigation/page-local-navigation-item.mjs +1 -1
  160. package/esm2022/lib/components/page-local-navigation/page-local-navigation.component.mjs +4 -4
  161. package/esm2022/lib/components/segmented-control/segment-item.mjs +1 -1
  162. package/esm2022/lib/components/segmented-control/segmented-control.component.mjs +5 -5
  163. package/esm2022/lib/directives/index.mjs +1 -1
  164. package/esm2022/lib/directives/key-handler/key-handler.directive.mjs +4 -4
  165. package/esm2022/lib/directives/modal-router-link/modal-router-link.directive.mjs +4 -4
  166. package/esm2022/lib/index.mjs +1 -1
  167. package/esm2022/lib/kirby-experimental.module.mjs +5 -5
  168. package/esm2022/lib/kirby.module.mjs +5 -5
  169. package/esm2022/list/directives/index.mjs +1 -1
  170. package/esm2022/list/directives/infinite-scroll.directive.mjs +4 -4
  171. package/esm2022/list/directives/list-item-color.directive.mjs +4 -4
  172. package/esm2022/list/directives/scroll.model.mjs +1 -1
  173. package/esm2022/list/helpers/index.mjs +1 -1
  174. package/esm2022/list/helpers/list-helper.mjs +4 -4
  175. package/esm2022/list/kirbydesign-designsystem-list.mjs +1 -1
  176. package/esm2022/list/list-experimental/index.mjs +1 -1
  177. package/esm2022/list/list-experimental/list-experimental.component.mjs +4 -4
  178. package/esm2022/list/list-header/index.mjs +1 -1
  179. package/esm2022/list/list-header/list-header.component.mjs +4 -4
  180. package/esm2022/list/list-item/index.mjs +1 -1
  181. package/esm2022/list/list-item/list-item.component.mjs +5 -5
  182. package/esm2022/list/list-section-header/index.mjs +1 -1
  183. package/esm2022/list/list-section-header/list-section-header.component.mjs +4 -4
  184. package/esm2022/list/list-swipe-action.mjs +1 -1
  185. package/esm2022/list/list-swipe-action.type.mjs +1 -1
  186. package/esm2022/list/list.component.mjs +5 -5
  187. package/esm2022/list/list.directive.mjs +13 -13
  188. package/esm2022/list/list.event.mjs +1 -1
  189. package/esm2022/list/list.module.mjs +18 -12
  190. package/esm2022/list/public_api.mjs +1 -1
  191. package/esm2022/loading-overlay/kirbydesign-designsystem-loading-overlay.mjs +1 -1
  192. package/esm2022/loading-overlay/loading-overlay.component.mjs +4 -4
  193. package/esm2022/loading-overlay/loading-overlay.service.mjs +4 -4
  194. package/esm2022/loading-overlay/public_api.mjs +1 -1
  195. package/esm2022/menu/kirbydesign-designsystem-menu.mjs +1 -1
  196. package/esm2022/menu/menu.component.mjs +4 -4
  197. package/esm2022/menu/public_api.mjs +1 -1
  198. package/esm2022/modal/kirbydesign-designsystem-modal.mjs +1 -1
  199. package/esm2022/modal/modal/action-sheet/action-sheet.component.mjs +4 -4
  200. package/esm2022/modal/modal/action-sheet/config/action-sheet-config.mjs +1 -1
  201. package/esm2022/modal/modal/action-sheet/config/action-sheet-item.mjs +1 -1
  202. package/esm2022/modal/modal/action-sheet/index.mjs +1 -1
  203. package/esm2022/modal/modal/alert/alert.component.mjs +4 -4
  204. package/esm2022/modal/modal/alert/config/alert-config.mjs +1 -1
  205. package/esm2022/modal/modal/alert/index.mjs +1 -1
  206. package/esm2022/modal/modal/footer/modal-footer.component.mjs +5 -5
  207. package/esm2022/modal/modal/index.mjs +1 -1
  208. package/esm2022/modal/modal/modal-component/modal.component.mjs +12 -19
  209. package/esm2022/modal/modal/services/action-sheet.helper.mjs +4 -4
  210. package/esm2022/modal/modal/services/alert.helper.mjs +4 -4
  211. package/esm2022/modal/modal/services/can-dismiss-modal-guard.mjs +31 -0
  212. package/esm2022/modal/modal/services/can-dismiss.helper.mjs +4 -4
  213. package/esm2022/modal/modal/services/index.mjs +2 -1
  214. package/esm2022/modal/modal/services/modal-animation-builder.service.mjs +4 -4
  215. package/esm2022/modal/modal/services/modal.controller.mjs +12 -8
  216. package/esm2022/modal/modal/services/modal.helper.mjs +24 -26
  217. package/esm2022/modal/modal-navigation.service.mjs +25 -14
  218. package/esm2022/modal/modal-wrapper/compact/index.mjs +1 -1
  219. package/esm2022/modal/modal-wrapper/compact/modal-compact-wrapper.component.mjs +4 -4
  220. package/esm2022/modal/modal-wrapper/config/drawer-supplementary-action.mjs +1 -1
  221. package/esm2022/modal/modal-wrapper/config/index.mjs +1 -1
  222. package/esm2022/modal/modal-wrapper/config/modal-config.helper.mjs +1 -1
  223. package/esm2022/modal/modal-wrapper/config/modal-config.mjs +1 -1
  224. package/esm2022/modal/modal-wrapper/index.mjs +1 -1
  225. package/esm2022/modal/modal-wrapper/modal-elements-mover.delegate.mjs +1 -1
  226. package/esm2022/modal/modal-wrapper/modal-wrapper.component.mjs +5 -5
  227. package/esm2022/modal/modal.interfaces.mjs +4 -4
  228. package/esm2022/modal/public_api.mjs +1 -1
  229. package/esm2022/modal/v2/footer/footer.component.mjs +5 -5
  230. package/esm2022/modal/v2/kirby-modal.module.mjs +5 -5
  231. package/esm2022/modal/v2/kirbydesign-designsystem-modal-v2.mjs +1 -1
  232. package/esm2022/modal/v2/modal/modal.component.mjs +5 -5
  233. package/esm2022/modal/v2/modal-routing/modal-routing.component.mjs +4 -4
  234. package/esm2022/modal/v2/public_api.mjs +1 -1
  235. package/esm2022/modal/v2/services/modal.controller.mjs +4 -4
  236. package/esm2022/modal/v2/wrapper/wrapper.component.mjs +5 -5
  237. package/esm2022/page/kirbydesign-designsystem-page.mjs +1 -1
  238. package/esm2022/page/page-footer/page-footer.component.mjs +5 -5
  239. package/esm2022/page/page.component.mjs +38 -35
  240. package/esm2022/page/page.module.mjs +5 -5
  241. package/esm2022/page/public_api.mjs +1 -1
  242. package/esm2022/popover/kirbydesign-designsystem-popover.mjs +1 -1
  243. package/esm2022/popover/popover.component.mjs +4 -4
  244. package/esm2022/popover/public_api.mjs +1 -1
  245. package/esm2022/progress-circle/kirbydesign-designsystem-progress-circle.mjs +1 -1
  246. package/esm2022/progress-circle/progress-circle-ring.component.mjs +4 -4
  247. package/esm2022/progress-circle/progress-circle.component.mjs +4 -4
  248. package/esm2022/progress-circle/public_api.mjs +1 -1
  249. package/esm2022/public-api.mjs +1 -1
  250. package/esm2022/radio/kirbydesign-designsystem-radio.mjs +1 -1
  251. package/esm2022/radio/public_api.mjs +1 -1
  252. package/esm2022/radio/radio-group/radio-group.component.mjs +4 -4
  253. package/esm2022/radio/radio-module.mjs +5 -5
  254. package/esm2022/radio/radio.component.mjs +17 -10
  255. package/esm2022/range/kirbydesign-designsystem-range.mjs +1 -1
  256. package/esm2022/range/public_api.mjs +1 -1
  257. package/esm2022/range/range.component.mjs +6 -6
  258. package/esm2022/reorder-list/kirbydesign-designsystem-reorder-list.mjs +1 -1
  259. package/esm2022/reorder-list/public_api.mjs +1 -1
  260. package/esm2022/reorder-list/reorder-event.mjs +1 -1
  261. package/esm2022/reorder-list/reorder-list.component.mjs +4 -4
  262. package/esm2022/router-outlet/kirbydesign-designsystem-router-outlet.mjs +1 -1
  263. package/esm2022/router-outlet/public_api.mjs +1 -1
  264. package/esm2022/router-outlet/router-outlet.component.mjs +4 -4
  265. package/esm2022/router-outlet/router-outlet.module.mjs +5 -5
  266. package/esm2022/section-header/kirbydesign-designsystem-section-header.mjs +1 -1
  267. package/esm2022/section-header/public_api.mjs +1 -1
  268. package/esm2022/section-header/section-header.component.mjs +4 -4
  269. package/esm2022/shared/component-configuration.mjs +1 -1
  270. package/esm2022/shared/component-loader.directive.mjs +4 -4
  271. package/esm2022/shared/dynamic-component.mjs +1 -1
  272. package/esm2022/shared/fit-heading/fit-heading.directive.mjs +4 -4
  273. package/esm2022/shared/fit-heading/index.mjs +1 -1
  274. package/esm2022/shared/floating/floating.directive.mjs +4 -4
  275. package/esm2022/shared/floating/kirbydesign-designsystem-shared-floating.mjs +1 -1
  276. package/esm2022/shared/floating/public_api.mjs +1 -1
  277. package/esm2022/shared/kirbydesign-designsystem-shared.mjs +1 -1
  278. package/esm2022/shared/portal/kirbydesign-designsystem-shared-portal.mjs +1 -1
  279. package/esm2022/shared/portal/portal.directive.mjs +4 -4
  280. package/esm2022/shared/portal/public_api.mjs +1 -1
  281. package/esm2022/shared/public_api.mjs +1 -1
  282. package/esm2022/shared/resize-observer/resize-observer.factory.mjs +4 -4
  283. package/esm2022/shared/resize-observer/resize-observer.service.mjs +4 -4
  284. package/esm2022/shared/theme-color/theme-color.directive.mjs +4 -4
  285. package/esm2022/slide/kirbydesign-designsystem-slide.mjs +1 -1
  286. package/esm2022/slide/public_api.mjs +1 -1
  287. package/esm2022/slide/slide-stretch-height.directive.mjs +4 -4
  288. package/esm2022/slide/slide.directive.mjs +4 -4
  289. package/esm2022/slide/slide.module.mjs +5 -5
  290. package/esm2022/slide/slides.component.mjs +4 -4
  291. package/esm2022/slide-button/kirbydesign-designsystem-slide-button.mjs +1 -1
  292. package/esm2022/slide-button/public_api.mjs +1 -1
  293. package/esm2022/slide-button/slide-button.component.mjs +5 -5
  294. package/esm2022/spinner/kirbydesign-designsystem-spinner.mjs +1 -1
  295. package/esm2022/spinner/public_api.mjs +1 -1
  296. package/esm2022/spinner/spinner.component.mjs +4 -4
  297. package/esm2022/spinner/spinner.module.mjs +5 -5
  298. package/esm2022/tab-navigation/kirbydesign-designsystem-tab-navigation.mjs +1 -1
  299. package/esm2022/tab-navigation/public_api.mjs +1 -1
  300. package/esm2022/tab-navigation/tab-navigation/tab-navigation.component.mjs +4 -4
  301. package/esm2022/tab-navigation/tab-navigation-item/tab-navigation-item.component.mjs +4 -4
  302. package/esm2022/tab-navigation/tab-navigation.module.mjs +5 -5
  303. package/esm2022/tabs/kirbydesign-designsystem-tabs.mjs +1 -1
  304. package/esm2022/tabs/public_api.mjs +1 -1
  305. package/esm2022/tabs/tab-button/tab-button.component.mjs +5 -5
  306. package/esm2022/tabs/tab-button/tab-button.events.mjs +1 -1
  307. package/esm2022/tabs/tabs.component.mjs +4 -4
  308. package/esm2022/tabs/tabs.module.mjs +5 -5
  309. package/esm2022/tabs/tabs.service.mjs +4 -4
  310. package/esm2022/testing/element-css-custom-matchers.mjs +1 -1
  311. package/esm2022/testing/kirbydesign-designsystem-testing.mjs +1 -1
  312. package/esm2022/testing/public_api.mjs +1 -1
  313. package/esm2022/testing/test-helper.mjs +5 -5
  314. package/esm2022/testing-base/kirbydesign-designsystem-testing-base.mjs +1 -1
  315. package/esm2022/testing-base/lib/components/index.mjs +1 -1
  316. package/esm2022/testing-base/lib/components/mock.accordion-item.component.mjs +6 -4
  317. package/esm2022/testing-base/lib/components/mock.action-group.component.mjs +6 -4
  318. package/esm2022/testing-base/lib/components/mock.action-sheet.component.mjs +6 -4
  319. package/esm2022/testing-base/lib/components/mock.alert.component.mjs +6 -4
  320. package/esm2022/testing-base/lib/components/mock.avatar.component.mjs +6 -4
  321. package/esm2022/testing-base/lib/components/mock.badge.component.mjs +6 -4
  322. package/esm2022/testing-base/lib/components/mock.base-chart.component.mjs +6 -4
  323. package/esm2022/testing-base/lib/components/mock.button.component.mjs +6 -4
  324. package/esm2022/testing-base/lib/components/mock.calendar.component.mjs +6 -4
  325. package/esm2022/testing-base/lib/components/mock.card-footer.component.mjs +6 -4
  326. package/esm2022/testing-base/lib/components/mock.card-header.component.mjs +6 -4
  327. package/esm2022/testing-base/lib/components/mock.card.component.mjs +6 -4
  328. package/esm2022/testing-base/lib/components/mock.chart.component.mjs +6 -4
  329. package/esm2022/testing-base/lib/components/mock.checkbox.component.mjs +6 -4
  330. package/esm2022/testing-base/lib/components/mock.divider.component.mjs +6 -4
  331. package/esm2022/testing-base/lib/components/mock.dropdown.component.mjs +6 -4
  332. package/esm2022/testing-base/lib/components/mock.empty-state.component.mjs +6 -4
  333. package/esm2022/testing-base/lib/components/mock.fab-sheet.component.mjs +6 -4
  334. package/esm2022/testing-base/lib/components/mock.flag.component.mjs +6 -4
  335. package/esm2022/testing-base/lib/components/mock.footer.component.mjs +6 -4
  336. package/esm2022/testing-base/lib/components/mock.form-field-message.component.mjs +6 -4
  337. package/esm2022/testing-base/lib/components/mock.form-field.component.mjs +6 -4
  338. package/esm2022/testing-base/lib/components/mock.header.component.mjs +12 -10
  339. package/esm2022/testing-base/lib/components/mock.icon.component.mjs +6 -4
  340. package/esm2022/testing-base/lib/components/mock.input-counter.component.mjs +6 -4
  341. package/esm2022/testing-base/lib/components/mock.input.component.mjs +6 -4
  342. package/esm2022/testing-base/lib/components/mock.item-group.component.mjs +6 -4
  343. package/esm2022/testing-base/lib/components/mock.item-sliding.component.mjs +6 -4
  344. package/esm2022/testing-base/lib/components/mock.item.component.mjs +6 -4
  345. package/esm2022/testing-base/lib/components/mock.kirby-app.component.mjs +6 -4
  346. package/esm2022/testing-base/lib/components/mock.label.component.mjs +6 -4
  347. package/esm2022/testing-base/lib/components/mock.list-experimental.component.mjs +6 -4
  348. package/esm2022/testing-base/lib/components/mock.list-header.component.mjs +6 -4
  349. package/esm2022/testing-base/lib/components/mock.list-item.component.mjs +6 -4
  350. package/esm2022/testing-base/lib/components/mock.list-section-header.component.mjs +6 -4
  351. package/esm2022/testing-base/lib/components/mock.list.component.mjs +6 -4
  352. package/esm2022/testing-base/lib/components/mock.loading-overlay.component.mjs +6 -4
  353. package/esm2022/testing-base/lib/components/mock.menu.component.mjs +6 -4
  354. package/esm2022/testing-base/lib/components/mock.modal-compact-wrapper.component.mjs +6 -4
  355. package/esm2022/testing-base/lib/components/mock.modal-footer.component.mjs +6 -4
  356. package/esm2022/testing-base/lib/components/mock.modal-routing.component.mjs +6 -4
  357. package/esm2022/testing-base/lib/components/mock.modal-wrapper.component.mjs +6 -4
  358. package/esm2022/testing-base/lib/components/mock.modal.component.mjs +6 -4
  359. package/esm2022/testing-base/lib/components/mock.page-footer.component.mjs +6 -4
  360. package/esm2022/testing-base/lib/components/mock.page-local-navigation.component.mjs +6 -4
  361. package/esm2022/testing-base/lib/components/mock.page.component.mjs +44 -34
  362. package/esm2022/testing-base/lib/components/mock.popover.component.mjs +6 -4
  363. package/esm2022/testing-base/lib/components/mock.progress-circle-ring.component.mjs +6 -4
  364. package/esm2022/testing-base/lib/components/mock.progress-circle.component.mjs +6 -4
  365. package/esm2022/testing-base/lib/components/mock.radio-group.component.mjs +6 -4
  366. package/esm2022/testing-base/lib/components/mock.radio.component.mjs +6 -4
  367. package/esm2022/testing-base/lib/components/mock.range.component.mjs +6 -4
  368. package/esm2022/testing-base/lib/components/mock.reorder-list.component.mjs +6 -4
  369. package/esm2022/testing-base/lib/components/mock.router-outlet.component.mjs +6 -4
  370. package/esm2022/testing-base/lib/components/mock.section-header.component.mjs +6 -4
  371. package/esm2022/testing-base/lib/components/mock.segmented-control.component.mjs +6 -4
  372. package/esm2022/testing-base/lib/components/mock.slide-button.component.mjs +6 -4
  373. package/esm2022/testing-base/lib/components/mock.slides.component.mjs +6 -4
  374. package/esm2022/testing-base/lib/components/mock.spinner.component.mjs +6 -4
  375. package/esm2022/testing-base/lib/components/mock.stock-chart.component.mjs +6 -4
  376. package/esm2022/testing-base/lib/components/mock.tab-button.component.mjs +6 -4
  377. package/esm2022/testing-base/lib/components/mock.tab-navigation-item.component.mjs +6 -4
  378. package/esm2022/testing-base/lib/components/mock.tab-navigation.component.mjs +6 -4
  379. package/esm2022/testing-base/lib/components/mock.table-row.component.mjs +6 -4
  380. package/esm2022/testing-base/lib/components/mock.table.component.mjs +6 -4
  381. package/esm2022/testing-base/lib/components/mock.tabs.component.mjs +6 -4
  382. package/esm2022/testing-base/lib/components/mock.textarea.component.mjs +6 -4
  383. package/esm2022/testing-base/lib/components/mock.toggle-button.component.mjs +6 -4
  384. package/esm2022/testing-base/lib/components/mock.toggle.component.mjs +6 -4
  385. package/esm2022/testing-base/lib/components/mock.wrapper.component.mjs +6 -4
  386. package/esm2022/testing-base/lib/directives/index.mjs +1 -1
  387. package/esm2022/testing-base/lib/directives/mock.accordion.directive.mjs +4 -4
  388. package/esm2022/testing-base/lib/directives/mock.affix.directive.mjs +4 -4
  389. package/esm2022/testing-base/lib/directives/mock.card-as-button.directive.mjs +4 -4
  390. package/esm2022/testing-base/lib/directives/mock.component-loader.directive.mjs +4 -4
  391. package/esm2022/testing-base/lib/directives/mock.date-input.directive.mjs +4 -4
  392. package/esm2022/testing-base/lib/directives/mock.decimal-mask.directive.mjs +4 -4
  393. package/esm2022/testing-base/lib/directives/mock.fit-heading.directive.mjs +4 -4
  394. package/esm2022/testing-base/lib/directives/mock.floating.directive.mjs +4 -4
  395. package/esm2022/testing-base/lib/directives/mock.infinite-scroll.directive.mjs +4 -4
  396. package/esm2022/testing-base/lib/directives/mock.key-handler.directive.mjs +4 -4
  397. package/esm2022/testing-base/lib/directives/mock.list-item-color.directive.mjs +4 -4
  398. package/esm2022/testing-base/lib/directives/mock.list.directive.mjs +13 -13
  399. package/esm2022/testing-base/lib/directives/mock.modal-router-link.directive.mjs +4 -4
  400. package/esm2022/testing-base/lib/directives/mock.portal.directive.mjs +4 -4
  401. package/esm2022/testing-base/lib/directives/mock.slide.directive.mjs +4 -4
  402. package/esm2022/testing-base/lib/directives/mock.theme-color.directive.mjs +4 -4
  403. package/esm2022/testing-base/lib/index.mjs +1 -1
  404. package/esm2022/testing-base/lib/kirby-testing-base.module.mjs +5 -5
  405. package/esm2022/testing-base/lib/mock-components.mjs +1 -1
  406. package/esm2022/testing-base/lib/mock-directives.mjs +1 -1
  407. package/esm2022/testing-base/public_api.mjs +1 -1
  408. package/esm2022/testing-jasmine/kirbydesign-designsystem-testing-jasmine.mjs +1 -1
  409. package/esm2022/testing-jasmine/lib/kirby-testing.module.mjs +5 -5
  410. package/esm2022/testing-jasmine/lib/mock-providers.mjs +1 -1
  411. package/esm2022/testing-jasmine/public_api.mjs +1 -1
  412. package/esm2022/testing-jest/kirbydesign-designsystem-testing-jest.mjs +1 -1
  413. package/esm2022/testing-jest/lib/kirby-testing.module.mjs +5 -5
  414. package/esm2022/testing-jest/lib/mock-providers.mjs +1 -1
  415. package/esm2022/testing-jest/public_api.mjs +1 -1
  416. package/esm2022/toast/config/toast-config.mjs +1 -1
  417. package/esm2022/toast/kirbydesign-designsystem-toast.mjs +1 -1
  418. package/esm2022/toast/public_api.mjs +1 -1
  419. package/esm2022/toast/services/indexs.mjs +1 -1
  420. package/esm2022/toast/services/toast.controller.mjs +4 -4
  421. package/esm2022/toast/services/toast.helper.mjs +4 -4
  422. package/esm2022/toggle/kirbydesign-designsystem-toggle.mjs +1 -1
  423. package/esm2022/toggle/public_api.mjs +1 -1
  424. package/esm2022/toggle/toggle.component.mjs +22 -9
  425. package/esm2022/toggle-button/kirbydesign-designsystem-toggle-button.mjs +1 -1
  426. package/esm2022/toggle-button/public_api.mjs +1 -1
  427. package/esm2022/toggle-button/toggle-button.component.mjs +4 -4
  428. package/esm2022/toggle-button/toggle-button.module.mjs +5 -5
  429. package/esm2022/types/event-listener-dispose-fn.mjs +1 -1
  430. package/esm2022/types/kirbydesign-designsystem-types.mjs +1 -1
  431. package/esm2022/types/public_api.mjs +1 -1
  432. package/esm2022/types/window-ref.mjs +4 -4
  433. package/fesm2022/kirbydesign-designsystem-accordion.mjs +14 -11
  434. package/fesm2022/kirbydesign-designsystem-accordion.mjs.map +1 -1
  435. package/fesm2022/kirbydesign-designsystem-action-group.mjs +3 -3
  436. package/fesm2022/kirbydesign-designsystem-action-group.mjs.map +1 -1
  437. package/fesm2022/kirbydesign-designsystem-avatar.mjs +11 -5
  438. package/fesm2022/kirbydesign-designsystem-avatar.mjs.map +1 -1
  439. package/fesm2022/kirbydesign-designsystem-badge.mjs +3 -3
  440. package/fesm2022/kirbydesign-designsystem-badge.mjs.map +1 -1
  441. package/fesm2022/kirbydesign-designsystem-button.mjs +4 -4
  442. package/fesm2022/kirbydesign-designsystem-button.mjs.map +1 -1
  443. package/fesm2022/kirbydesign-designsystem-calendar.mjs +6 -6
  444. package/fesm2022/kirbydesign-designsystem-calendar.mjs.map +1 -1
  445. package/fesm2022/kirbydesign-designsystem-card.mjs +42 -27
  446. package/fesm2022/kirbydesign-designsystem-card.mjs.map +1 -1
  447. package/fesm2022/kirbydesign-designsystem-chart.mjs +22 -22
  448. package/fesm2022/kirbydesign-designsystem-chart.mjs.map +1 -1
  449. package/fesm2022/kirbydesign-designsystem-checkbox.mjs +17 -10
  450. package/fesm2022/kirbydesign-designsystem-checkbox.mjs.map +1 -1
  451. package/fesm2022/kirbydesign-designsystem-data-table.mjs +13 -13
  452. package/fesm2022/kirbydesign-designsystem-data-table.mjs.map +1 -1
  453. package/fesm2022/kirbydesign-designsystem-divider.mjs +3 -3
  454. package/fesm2022/kirbydesign-designsystem-divider.mjs.map +1 -1
  455. package/fesm2022/kirbydesign-designsystem-dropdown.mjs +11 -11
  456. package/fesm2022/kirbydesign-designsystem-dropdown.mjs.map +1 -1
  457. package/fesm2022/kirbydesign-designsystem-empty-state.mjs +7 -7
  458. package/fesm2022/kirbydesign-designsystem-empty-state.mjs.map +1 -1
  459. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs +3 -3
  460. package/fesm2022/kirbydesign-designsystem-fab-sheet.mjs.map +1 -1
  461. package/fesm2022/kirbydesign-designsystem-flag.mjs +3 -3
  462. package/fesm2022/kirbydesign-designsystem-flag.mjs.map +1 -1
  463. package/fesm2022/kirbydesign-designsystem-form-field.mjs +28 -28
  464. package/fesm2022/kirbydesign-designsystem-form-field.mjs.map +1 -1
  465. package/fesm2022/kirbydesign-designsystem-header.mjs +26 -19
  466. package/fesm2022/kirbydesign-designsystem-header.mjs.map +1 -1
  467. package/fesm2022/kirbydesign-designsystem-helpers-scss.mjs.map +1 -1
  468. package/fesm2022/kirbydesign-designsystem-helpers.mjs +9 -9
  469. package/fesm2022/kirbydesign-designsystem-helpers.mjs.map +1 -1
  470. package/fesm2022/kirbydesign-designsystem-icon.mjs +10 -10
  471. package/fesm2022/kirbydesign-designsystem-icon.mjs.map +1 -1
  472. package/fesm2022/kirbydesign-designsystem-item-group.mjs +3 -3
  473. package/fesm2022/kirbydesign-designsystem-item-group.mjs.map +1 -1
  474. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs +3 -3
  475. package/fesm2022/kirbydesign-designsystem-item-sliding.mjs.map +1 -1
  476. package/fesm2022/kirbydesign-designsystem-item.mjs +65 -33
  477. package/fesm2022/kirbydesign-designsystem-item.mjs.map +1 -1
  478. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs +7 -7
  479. package/fesm2022/kirbydesign-designsystem-kirby-app.mjs.map +1 -1
  480. package/fesm2022/kirbydesign-designsystem-kirby-ionic-module.mjs +4 -4
  481. package/fesm2022/kirbydesign-designsystem-kirby-ionic-module.mjs.map +1 -1
  482. package/fesm2022/kirbydesign-designsystem-list.mjs +55 -49
  483. package/fesm2022/kirbydesign-designsystem-list.mjs.map +1 -1
  484. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs +6 -6
  485. package/fesm2022/kirbydesign-designsystem-loading-overlay.mjs.map +1 -1
  486. package/fesm2022/kirbydesign-designsystem-menu.mjs +3 -3
  487. package/fesm2022/kirbydesign-designsystem-menu.mjs.map +1 -1
  488. package/fesm2022/kirbydesign-designsystem-modal-v2.mjs +22 -22
  489. package/fesm2022/kirbydesign-designsystem-modal-v2.mjs.map +1 -1
  490. package/fesm2022/kirbydesign-designsystem-modal.mjs +124 -91
  491. package/fesm2022/kirbydesign-designsystem-modal.mjs.map +1 -1
  492. package/fesm2022/kirbydesign-designsystem-page.mjs +45 -42
  493. package/fesm2022/kirbydesign-designsystem-page.mjs.map +1 -1
  494. package/fesm2022/kirbydesign-designsystem-popover.mjs +3 -3
  495. package/fesm2022/kirbydesign-designsystem-popover.mjs.map +1 -1
  496. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs +6 -6
  497. package/fesm2022/kirbydesign-designsystem-progress-circle.mjs.map +1 -1
  498. package/fesm2022/kirbydesign-designsystem-radio.mjs +23 -16
  499. package/fesm2022/kirbydesign-designsystem-radio.mjs.map +1 -1
  500. package/fesm2022/kirbydesign-designsystem-range.mjs +5 -5
  501. package/fesm2022/kirbydesign-designsystem-range.mjs.map +1 -1
  502. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs +3 -3
  503. package/fesm2022/kirbydesign-designsystem-reorder-list.mjs.map +1 -1
  504. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs +7 -7
  505. package/fesm2022/kirbydesign-designsystem-router-outlet.mjs.map +1 -1
  506. package/fesm2022/kirbydesign-designsystem-section-header.mjs +3 -3
  507. package/fesm2022/kirbydesign-designsystem-section-header.mjs.map +1 -1
  508. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs +3 -3
  509. package/fesm2022/kirbydesign-designsystem-shared-floating.mjs.map +1 -1
  510. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs +3 -3
  511. package/fesm2022/kirbydesign-designsystem-shared-portal.mjs.map +1 -1
  512. package/fesm2022/kirbydesign-designsystem-shared.mjs +15 -15
  513. package/fesm2022/kirbydesign-designsystem-shared.mjs.map +1 -1
  514. package/fesm2022/kirbydesign-designsystem-slide-button.mjs +4 -4
  515. package/fesm2022/kirbydesign-designsystem-slide-button.mjs.map +1 -1
  516. package/fesm2022/kirbydesign-designsystem-slide.mjs +13 -13
  517. package/fesm2022/kirbydesign-designsystem-slide.mjs.map +1 -1
  518. package/fesm2022/kirbydesign-designsystem-spinner.mjs +7 -7
  519. package/fesm2022/kirbydesign-designsystem-spinner.mjs.map +1 -1
  520. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs +10 -10
  521. package/fesm2022/kirbydesign-designsystem-tab-navigation.mjs.map +1 -1
  522. package/fesm2022/kirbydesign-designsystem-tabs.mjs +14 -14
  523. package/fesm2022/kirbydesign-designsystem-tabs.mjs.map +1 -1
  524. package/fesm2022/kirbydesign-designsystem-testing-base.mjs +455 -307
  525. package/fesm2022/kirbydesign-designsystem-testing-base.mjs.map +1 -1
  526. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs +4 -4
  527. package/fesm2022/kirbydesign-designsystem-testing-jasmine.mjs.map +1 -1
  528. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs +4 -4
  529. package/fesm2022/kirbydesign-designsystem-testing-jest.mjs.map +1 -1
  530. package/fesm2022/kirbydesign-designsystem-testing.mjs +4 -4
  531. package/fesm2022/kirbydesign-designsystem-testing.mjs.map +1 -1
  532. package/fesm2022/kirbydesign-designsystem-toast.mjs +6 -6
  533. package/fesm2022/kirbydesign-designsystem-toast.mjs.map +1 -1
  534. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs +7 -7
  535. package/fesm2022/kirbydesign-designsystem-toggle-button.mjs.map +1 -1
  536. package/fesm2022/kirbydesign-designsystem-toggle.mjs +20 -7
  537. package/fesm2022/kirbydesign-designsystem-toggle.mjs.map +1 -1
  538. package/fesm2022/kirbydesign-designsystem-types.mjs +3 -3
  539. package/fesm2022/kirbydesign-designsystem-types.mjs.map +1 -1
  540. package/fesm2022/kirbydesign-designsystem.mjs +21 -21
  541. package/fesm2022/kirbydesign-designsystem.mjs.map +1 -1
  542. package/header/header.component.d.ts +5 -2
  543. package/item/item.component.d.ts +11 -2
  544. package/list/list.module.d.ts +1 -1
  545. package/modal/modal/modal-component/modal.component.d.ts +5 -5
  546. package/modal/modal/services/can-dismiss-modal-guard.d.ts +2 -0
  547. package/modal/modal/services/index.d.ts +1 -0
  548. package/modal/modal/services/modal.controller.d.ts +2 -0
  549. package/modal/modal/services/modal.helper.d.ts +3 -4
  550. package/modal/modal-navigation.service.d.ts +1 -0
  551. package/modal/modal.interfaces.d.ts +1 -0
  552. package/package.json +51 -51
  553. package/radio/radio.component.d.ts +8 -4
  554. package/scss/base/_design-tokens.scss +1 -0
  555. package/scss/themes/design-tokens.scss +1 -0
  556. package/testing-base/lib/components/mock.avatar.component.d.ts +1 -1
  557. package/testing-base/lib/components/mock.button.component.d.ts +1 -1
  558. package/testing-jest/lib/mock-providers.d.ts +28 -28
  559. package/toggle/toggle.component.d.ts +8 -4
  560. package/README.md +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"kirbydesign-designsystem-dropdown.mjs","sources":["../../../../libs/designsystem/dropdown/src/dropdown.types.ts","../../../../libs/designsystem/dropdown/src/keyboard-handler.service.ts","../../../../libs/designsystem/dropdown/src/dropdown.component.ts","../../../../libs/designsystem/dropdown/src/dropdown.component.html","../../../../libs/designsystem/dropdown/src/dropdown.module.ts","../../../../libs/designsystem/dropdown/src/kirbydesign-designsystem-dropdown.ts"],"sourcesContent":["export enum OpenState {\n closed,\n opening,\n open,\n}\n\nexport enum VerticalDirection {\n up,\n down,\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class KeyboardHandlerService {\n handle(event: KeyboardEvent, selectedIndex: number, maxIndex: number, cyclicIndex = false) {\n let newIndex = -1;\n switch (event.key) {\n case 'ArrowUp':\n case 'ArrowLeft':\n if (selectedIndex === 0 && cyclicIndex) {\n newIndex = maxIndex;\n } else {\n // Select previous item:\n newIndex = selectedIndex - 1;\n }\n break;\n case 'ArrowDown':\n case 'ArrowRight':\n if (selectedIndex === undefined || (selectedIndex === maxIndex && cyclicIndex)) {\n // None selected, select first item:\n newIndex = 0;\n } else if (selectedIndex < maxIndex) {\n // Select next item:\n newIndex = selectedIndex + 1;\n }\n break;\n case 'Home':\n // Select first item:\n newIndex = 0;\n break;\n case 'End':\n // Select last item:\n newIndex = maxIndex;\n break;\n default:\n break;\n }\n return newIndex;\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Output,\n QueryList,\n Renderer2,\n RendererStyleFlags2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CardComponent } from '@kirbydesign/designsystem/card';\nimport { DesignTokenHelper } from '@kirbydesign/designsystem/helpers';\nimport { ItemComponent } from '@kirbydesign/designsystem/item';\nimport { ListItemTemplateDirective } from '@kirbydesign/designsystem/list';\nimport { HorizontalDirection, PopoverComponent } from '@kirbydesign/designsystem/popover';\nimport { ButtonComponent } from '@kirbydesign/designsystem/button';\nimport { EventListenerDisposeFn } from '@kirbydesign/designsystem/types';\nimport { ResizeObserverService } from '@kirbydesign/designsystem/shared';\n\nimport { OpenState, VerticalDirection } from './dropdown.types';\nimport { KeyboardHandlerService } from './keyboard-handler.service';\n\n@Component({\n selector: 'kirby-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DropdownComponent),\n multi: true,\n },\n ],\n})\nexport class DropdownComponent implements AfterViewInit, OnDestroy, ControlValueAccessor {\n static readonly OPEN_DELAY_IN_MS = 100;\n private state = OpenState.closed;\n private horizontalDirection: HorizontalDirection | `${HorizontalDirection}` =\n HorizontalDirection.right;\n private verticalDirection: VerticalDirection | `${VerticalDirection}` = VerticalDirection.down;\n\n private _items: string[] | any[] = [];\n get items(): string[] | any[] {\n return this._items;\n }\n\n @Input() set items(value: string[] | any[]) {\n this._items = value;\n this._value = this.items[this.selectedIndex] || null;\n }\n\n private _selectedIndex: number = -1;\n get selectedIndex(): number {\n return this._selectedIndex;\n }\n\n @Input() set selectedIndex(value: number) {\n if (this._selectedIndex != value) {\n this._selectedIndex = value;\n this.focusedIndex = this._selectedIndex;\n this._value = this.items[this.selectedIndex] || null;\n }\n }\n\n // _focusedIndex keeps track of which element has focus and will be selected\n // if it is activated (by pressing ENTER or SPACE key)\n private _focusedIndex: number = -1;\n get focusedIndex(): number {\n return this._focusedIndex;\n }\n\n @Input() set focusedIndex(value: number) {\n if (this._focusedIndex !== value) {\n this._focusedIndex = value;\n this.scrollItemIntoView(this._focusedIndex);\n }\n }\n\n @Input()\n itemTextProperty = 'text';\n\n @Input()\n placeholder = 'Please select:';\n\n @Input() set popout(direction: HorizontalDirection | `${HorizontalDirection}`) {\n this.horizontalDirection = direction || HorizontalDirection.right;\n }\n\n get popout() {\n return this.horizontalDirection;\n }\n\n @Input()\n attentionLevel: '1' | '2' | '3' = '3';\n\n @Input()\n expand?: 'block';\n\n @Input()\n disabled = false;\n\n @HostBinding('attr.disabled')\n get _isDisabled() {\n return this.disabled ? 'disabled' : null;\n }\n\n @HostBinding('class.error')\n @Input()\n hasError: boolean;\n\n @Input()\n size: 'sm' | 'md' = 'md';\n\n @Input()\n tabindex = 0;\n\n @HostBinding('class.with-popover')\n @Input()\n usePopover = false;\n\n @HostBinding('attr.tabindex')\n get _tabindex() {\n return this.disabled ? -1 : this.tabindex;\n }\n\n // Prevent Ionic blur on scroll\n @HostBinding('attr.no-blur')\n get _noBlurOnScroll() {\n return true;\n }\n\n /**\n * Emitted when an item is selected (tap on mobile, click/keypress on web)\n */\n @Output() change: EventEmitter<string | any> = new EventEmitter<string | any>();\n\n private _value: string | any = null;\n get value(): string | any {\n return this._value;\n }\n\n get selectedText(): string {\n return this.getTextFromItem(this.value);\n }\n\n @HostBinding('class.expand')\n get _isBlockLevel() {\n return this.expand === 'block';\n }\n\n @HostBinding('attr.role')\n _role = 'listbox';\n\n @HostBinding('class.is-opening')\n get _isOpening(): boolean {\n return this.state === OpenState.opening;\n }\n\n @HostBinding('class.is-open')\n get isOpen(): boolean {\n return this.state === OpenState.open;\n }\n\n @HostBinding('class.popout-left')\n get _popoutLeft() {\n return this.horizontalDirection === HorizontalDirection.left;\n }\n\n @HostBinding('class.popout-up')\n get _popoutUp() {\n return this.verticalDirection === VerticalDirection.up;\n }\n\n /* The 'clicked' class is applied through Hostbinding to prevent the dropdown from getting a focus ring on click.\n There is a bug that causes the dropdown to get a focus ring on click, if it is the first element that is interacted with\n after the page is loaded. If the user interacts with any other element before, then the dropdown won't get a focus ring.\n See issue: https://github.com/kirbydesign/designsystem/issues/2477.\n\n This solution can potentially be refactored, when popover is not experimental anymore. Then it could be possible \n to close the dropdown when the popover backdrop is clicked, instead of relying on the blur event, which is utilized\n by this line below: this.elementRef.nativeElement.focus(). Right now this forces the blur event to be triggered, when\n clicking outside of the dropdown.\n */\n @HostBinding('class.clicked')\n clicked = false;\n\n @ContentChild(ListItemTemplateDirective, { static: true, read: TemplateRef })\n itemTemplate: TemplateRef<any>;\n @ContentChildren(ListItemTemplateDirective, { read: ElementRef })\n slottedItems: QueryList<ElementRef<HTMLElement>>;\n @ViewChild(CardComponent, { read: ElementRef })\n cardElement: ElementRef<HTMLElement>;\n @ViewChild(PopoverComponent)\n popover?: PopoverComponent;\n @ViewChild(ButtonComponent, { static: true, read: ElementRef })\n buttonElement: ElementRef<HTMLElement>;\n @ViewChildren(ItemComponent, { read: ElementRef })\n kirbyItemsDefault: QueryList<ElementRef<HTMLElement>>;\n\n _kirbyItemsSlotted: QueryList<ElementRef<HTMLElement>>;\n @ContentChildren(ItemComponent, { read: ElementRef })\n set kirbyItemsSlotted(kirbyItems: QueryList<ElementRef<HTMLElement>>) {\n const hasSlottedItems = this.itemClickUnlisten?.length > 0;\n if (hasSlottedItems) {\n this.unlistenAllSlottedItems();\n }\n\n // Setup a click listener for each new slotted items\n kirbyItems.forEach((kirbyItem, index) => {\n this.renderer.setAttribute(kirbyItem.nativeElement, 'role', 'option');\n const unlisten: EventListenerDisposeFn = this.renderer.listen(\n kirbyItem.nativeElement,\n 'click',\n () => {\n this.onItemSelect(index);\n }\n );\n\n this.itemClickUnlisten.push(unlisten);\n });\n\n this._kirbyItemsSlotted = kirbyItems;\n }\n\n get kirbyItemsSlotted(): QueryList<ElementRef<HTMLElement>> {\n return this._kirbyItemsSlotted;\n }\n\n private itemClickUnlisten: EventListenerDisposeFn[] = [];\n private intersectionObserverRef: IntersectionObserver;\n private showDropdownTimeoutId: ReturnType<typeof setTimeout>;\n\n constructor(\n private renderer: Renderer2,\n private elementRef: ElementRef<HTMLElement>,\n private changeDetectorRef: ChangeDetectorRef,\n private keyboardHandlerService: KeyboardHandlerService,\n private resizeObserverService: ResizeObserverService\n ) {}\n\n onToggle(event: MouseEvent) {\n event.stopPropagation();\n\n this.clicked = true;\n\n if (!this.isOpen) {\n this.elementRef.nativeElement.focus();\n }\n this.toggle();\n }\n\n toggle() {\n if (this.disabled) {\n return;\n }\n this.isOpen ? this.close() : this.open();\n }\n\n onButtonMouseEvent(event: Event) {\n // Prevent button focus;\n event.preventDefault();\n }\n\n /* Utility that makes it easier to set styles on card element\n when using popover*/\n private setPopoverCardStyle(style: string, value: string) {\n if (!this.usePopover) return;\n\n this.renderer.setStyle(\n this.cardElement.nativeElement,\n style,\n value,\n RendererStyleFlags2.DashCase\n );\n }\n\n ngAfterViewInit() {\n if (this.usePopover && this.expand === 'block') {\n const { width: initialWidth } = this.elementRef.nativeElement.getBoundingClientRect();\n this.setPopoverCardStyle('max-width', 'initial');\n this.setPopoverCardStyle('min-width', 'initial');\n // Ensure initial width is set even if the resize observer callback also fires initially:\n this.setPopoverCardStyle('--kirby-card-width', `${initialWidth}px`);\n\n this.resizeObserverService.observe(this.elementRef, (entry) => {\n const newWidth = entry.contentRect.width;\n if (newWidth > 0) {\n this.setPopoverCardStyle('--kirby-card-width', `${newWidth}px`);\n }\n });\n }\n this.initializeAlignment();\n }\n\n private initializeAlignment() {\n if (this.usePopover) return;\n if (!this.intersectionObserverRef) {\n // Get the design token size of the button. In the button stylesheet a medium button height is utils.size(xl)\n // and a small button height is utils.size(\"l\")\n const designTokenSizeHeight = this.size === 'md' ? 'xl' : 'l';\n\n // Setting the rootMargin equal to the height of the button\n // allows the Intersection Observer Callback to be called\n // even if the dropdown button is intersecting with the viewport\n const options = {\n rootMargin: DesignTokenHelper.size(designTokenSizeHeight),\n };\n const callback: IntersectionObserverCallback = (entries) => {\n // Only apply alignment when opening:\n if (this.state !== OpenState.opening) {\n return;\n }\n\n // Cancel any pending timer to show dropdown:\n clearTimeout(this.showDropdownTimeoutId);\n const entry = entries[0];\n const isVisible = entry.boundingClientRect.width > 0;\n if (isVisible && entry.intersectionRatio < 1) {\n this.setHorizontalDirection(entry);\n this.setVerticalDirection(entry);\n }\n this.showDropdown();\n this.changeDetectorRef.detectChanges();\n };\n this.intersectionObserverRef = new IntersectionObserver(callback, options);\n this.intersectionObserverRef.observe(this.cardElement.nativeElement);\n }\n }\n\n private setHorizontalDirection(entry: IntersectionObserverEntry) {\n // If popout direction is set to right, and the entry is cut off to the right by ${entry.boundingClientRect.right - entry.intersectionRect.right}px\n // it is set to popout left instead, and vice versa for popout direction left\n if (this.horizontalDirection === HorizontalDirection.right) {\n if (entry.boundingClientRect.right > entry.rootBounds.right) {\n this.horizontalDirection = HorizontalDirection.left;\n }\n } else {\n if (entry.boundingClientRect.left < entry.rootBounds.left) {\n this.horizontalDirection = HorizontalDirection.right;\n }\n }\n }\n\n private setVerticalDirection(entry: IntersectionObserverEntry) {\n if (entry.boundingClientRect.top < 0) {\n // entry is cut off at the top by ${entry.boundingClientRect.top}px\n // open downwards:\n this.verticalDirection = VerticalDirection.down;\n }\n if (entry.boundingClientRect.bottom > entry.rootBounds.bottom) {\n // entry is cut off at the bottom by ${entry.boundingClientRect.bottom - entry.intersectionRect.bottom}px\n const containerOffsetTop = this.elementRef.nativeElement.getBoundingClientRect().top;\n const SPACING = 5; //TODO: Get from SCSS\n // Check if the card can fit on top of button:\n if (containerOffsetTop > entry.target.clientHeight + SPACING) {\n // open upwards:\n this.verticalDirection = VerticalDirection.up;\n }\n }\n }\n\n open() {\n if (this.disabled) {\n return;\n }\n if (!this.isOpen) {\n this.state = OpenState.opening;\n // ensures that the dropdown is opened in case the IntersectionObserverCallback isn't invoked\n this.showDropdownTimeoutId = setTimeout(\n () => this.showDropdown(),\n DropdownComponent.OPEN_DELAY_IN_MS\n );\n\n // Move focus to selected item (if any)\n this.focusedIndex = this.selectedIndex;\n }\n }\n\n private showDropdown() {\n if (this.state === OpenState.opening) {\n this.state = OpenState.open;\n this.popover?.show();\n this.scrollItemIntoView(this.selectedIndex);\n this.changeDetectorRef.markForCheck();\n }\n }\n\n close() {\n if (this.disabled) {\n return;\n }\n if (this.isOpen) {\n this.state = OpenState.closed;\n // Reset vertical direction to default\n this.verticalDirection = VerticalDirection.down;\n this.popover?.hide();\n }\n }\n\n onItemSelect(index: number) {\n this.selectItem(index);\n this.close();\n }\n\n private _onChange: (value: any) => void = () => {};\n private _onTouched = () => {};\n\n /**\n * Sets the select's value. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param value New value to be written to the model.\n */\n writeValue(value: any): void {\n this._selectItemByValue(value);\n }\n\n /**\n * Saves a callback function to be invoked when the select's value\n * changes from user input. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the value changes.\n */\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n /**\n * Saves a callback function to be invoked when the select is blurred\n * by the user. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the component has been touched.\n */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /**\n * Disables the select. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param isDisabled Sets whether the component is disabled.\n */\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n private selectItem(index: number) {\n if (index != this.selectedIndex) {\n this.selectedIndex = index;\n this.focusedIndex = index;\n this.change.emit(this.value);\n this._onChange(this.value);\n }\n }\n\n private _selectItemByValue(value: string | any) {\n this.selectedIndex = this.items.indexOf(value);\n }\n\n getTextFromItem(item: string | any) {\n if (!item) {\n return null;\n }\n return typeof item === 'string' ? item : item[this.itemTextProperty];\n }\n\n scrollItemIntoView(index: number) {\n const kirbyItems =\n this.kirbyItemsSlotted && this.kirbyItemsSlotted.length\n ? this.kirbyItemsSlotted\n : this.kirbyItemsDefault;\n if (kirbyItems && kirbyItems.length) {\n const selectedKirbyItem = kirbyItems.toArray()[index];\n if (selectedKirbyItem && selectedKirbyItem.nativeElement) {\n const itemElement = selectedKirbyItem.nativeElement;\n itemElement.scrollIntoView({ block: 'nearest' });\n }\n }\n }\n\n @HostListener('keydown.tab', ['$event'])\n _onTab(event: KeyboardEvent) {\n if (this.isOpen) {\n event.preventDefault();\n this.close();\n }\n\n if (this.clicked) {\n // Remove the 'clicked' class (Hostbinding) if the user has previously opened the dropdown by clicking,\n // since the class prevents the focus ring from showing,\n // which is expected to happen, when using the tab key\n this.clicked = false;\n }\n }\n\n @HostListener('mousedown', ['$event'])\n _onMouseDown(event: MouseEvent) {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n\n @HostListener('touchstart', ['$event'])\n _onTouchStart(event: TouchEvent) {\n if (this.isOpen) {\n event.stopPropagation();\n }\n }\n\n @HostListener('focus')\n _onFocus() {\n if (this.disabled) {\n this.elementRef.nativeElement.blur();\n }\n }\n\n _onPopoverWillHide() {\n this.state = OpenState.closed;\n this.elementRef.nativeElement.focus();\n }\n\n @HostListener('keydown.enter')\n @HostListener('keydown.escape')\n _onEnterOrEscape() {\n this.close();\n this._onTouched();\n }\n\n _onPopoverClick() {\n this.close();\n }\n\n @HostListener('blur', ['$event'])\n _onBlur() {\n if (this.usePopover) return;\n this.close();\n this._onTouched();\n }\n\n @HostListener('keydown.enter', ['$event'])\n @HostListener('keydown.space', ['$event'])\n _onEnterOrSpace(event: KeyboardEvent) {\n event.preventDefault();\n event.stopPropagation();\n\n if (this.isOpen) {\n this.selectItem(this.focusedIndex);\n }\n\n this.toggle();\n }\n\n @HostListener('keydown.arrowup', ['$event'])\n @HostListener('keydown.arrowdown', ['$event'])\n @HostListener('keydown.arrowleft', ['$event'])\n @HostListener('keydown.arrowright', ['$event'])\n _onArrowKeys(event: KeyboardEvent) {\n if (this.disabled) return false;\n\n // Mirror default HTML5 select behaviour - prevent left/right arrows when open:\n if (this.isOpen && (event.key === 'ArrowLeft' || event.key === 'ArrowRight')) {\n return false;\n }\n\n if (!this.isOpen) {\n // Avoid page scroll\n event.preventDefault();\n this.open();\n\n // If no selected item then focus first or last item\n if (this.selectedIndex < 0) {\n switch (event.key) {\n case 'ArrowUp':\n this.focusedIndex = this.items.length - 1;\n break;\n case 'ArrowDown':\n this.focusedIndex = 0;\n break;\n default:\n break;\n }\n }\n\n return false;\n }\n\n const newFocusedIndex = this.keyboardHandlerService.handle(\n event,\n this.focusedIndex,\n this.items.length - 1\n );\n\n if (newFocusedIndex > -1) {\n this.focusedIndex = newFocusedIndex;\n }\n\n return false;\n }\n\n @HostListener('keydown.home', ['$event'])\n @HostListener('keydown.end', ['$event'])\n _onHomeEndKeys(event: KeyboardEvent) {\n if (this.disabled) return;\n if (!this.isOpen) return;\n\n const newFocusedIndex = this.keyboardHandlerService.handle(\n event,\n this.focusedIndex,\n this.items.length - 1\n );\n if (newFocusedIndex > -1) {\n this.focusedIndex = newFocusedIndex;\n }\n return false;\n }\n\n private unlistenAllSlottedItems() {\n let unlistenItem: () => void;\n while ((unlistenItem = this.itemClickUnlisten.pop()) !== undefined) {\n unlistenItem();\n }\n }\n\n ngOnDestroy(): void {\n this.unlistenAllSlottedItems();\n this.resizeObserverService.unobserve(this.elementRef);\n if (this.intersectionObserverRef) {\n this.intersectionObserverRef.disconnect();\n }\n }\n}\n","<button\n kirby-button\n [size]=\"size\"\n [attentionLevel]=\"attentionLevel\"\n tabindex=\"-1\"\n (click)=\"onToggle($event)\"\n (mousedown)=\"onButtonMouseEvent($event)\"\n [disabled]=\"disabled\"\n type=\"button\"\n>\n <span class=\"text\">{{ selectedText || placeholder }}</span>\n <kirby-icon [name]=\"isOpen ? 'arrow-up' : 'arrow-down'\"></kirby-icon>\n</button>\n\n<ng-container *ngTemplateOutlet=\"usePopover ? popoverTemplate : itemWrapperTemplate\"></ng-container>\n\n<ng-template #popoverTemplate>\n <kirby-popover\n [target]=\"buttonElement\"\n [popout]=\"popout\"\n (click)=\"_onPopoverClick()\"\n (willHide)=\"_onPopoverWillHide()\"\n >\n <ng-container *ngTemplateOutlet=\"itemWrapperTemplate\"></ng-container>\n </kirby-popover>\n</ng-template>\n\n<ng-template #itemWrapperTemplate>\n <kirby-card>\n <ng-container *ngFor=\"let item of items; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate || defaultItemTemplate;\n context: {\n $implicit: item,\n selected: i === selectedIndex,\n focused: i === focusedIndex,\n index: i\n }\n \"\n ></ng-container>\n </ng-container>\n </kirby-card>\n</ng-template>\n\n<ng-template\n #defaultItemTemplate\n let-item\n let-selected=\"selected\"\n let-index=\"index\"\n let-focused=\"focused\"\n>\n <kirby-item\n [selectable]=\"true\"\n [selected]=\"selected\"\n (click)=\"onItemSelect(index)\"\n [class.focused]=\"focused\"\n role=\"option\"\n >\n <!-- Tabindex fixes issue with popover dropdown not working in safari -->\n <h3 tabindex=\"0\">{{ getTextFromItem(item) }}</h3>\n <kirby-icon *ngIf=\"selected\" name=\"checkmark-selected\" slot=\"end\"></kirby-icon>\n </kirby-item>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ButtonComponent } from '@kirbydesign/designsystem/button';\nimport { CardModule } from '@kirbydesign/designsystem/card';\nimport { FormFieldModule } from '@kirbydesign/designsystem/form-field';\nimport { IconModule } from '@kirbydesign/designsystem/icon';\nimport { ItemModule } from '@kirbydesign/designsystem/item';\nimport { PopoverComponent } from '@kirbydesign/designsystem/popover';\n\nimport { DropdownComponent } from './dropdown.component';\nimport { KeyboardHandlerService } from './keyboard-handler.service';\n\nconst declarations = [DropdownComponent];\n\n@NgModule({\n imports: [\n CardModule,\n IconModule,\n ItemModule,\n FormFieldModule,\n PopoverComponent,\n ButtonComponent,\n CommonModule,\n ],\n declarations: [...declarations],\n exports: [...declarations],\n providers: [KeyboardHandlerService],\n})\nexport class DropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.KeyboardHandlerService"],"mappings":"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"}
1
+ {"version":3,"file":"kirbydesign-designsystem-dropdown.mjs","sources":["../../dropdown/src/dropdown.types.ts","../../dropdown/src/keyboard-handler.service.ts","../../dropdown/src/dropdown.component.ts","../../dropdown/src/dropdown.component.html","../../dropdown/src/dropdown.module.ts","../../dropdown/src/kirbydesign-designsystem-dropdown.ts"],"sourcesContent":["export enum OpenState {\n closed,\n opening,\n open,\n}\n\nexport enum VerticalDirection {\n up,\n down,\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class KeyboardHandlerService {\n handle(event: KeyboardEvent, selectedIndex: number, maxIndex: number, cyclicIndex = false) {\n let newIndex = -1;\n switch (event.key) {\n case 'ArrowUp':\n case 'ArrowLeft':\n if (selectedIndex === 0 && cyclicIndex) {\n newIndex = maxIndex;\n } else {\n // Select previous item:\n newIndex = selectedIndex - 1;\n }\n break;\n case 'ArrowDown':\n case 'ArrowRight':\n if (selectedIndex === undefined || (selectedIndex === maxIndex && cyclicIndex)) {\n // None selected, select first item:\n newIndex = 0;\n } else if (selectedIndex < maxIndex) {\n // Select next item:\n newIndex = selectedIndex + 1;\n }\n break;\n case 'Home':\n // Select first item:\n newIndex = 0;\n break;\n case 'End':\n // Select last item:\n newIndex = maxIndex;\n break;\n default:\n break;\n }\n return newIndex;\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Output,\n QueryList,\n Renderer2,\n RendererStyleFlags2,\n TemplateRef,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { CardComponent } from '@kirbydesign/designsystem/card';\nimport { DesignTokenHelper } from '@kirbydesign/designsystem/helpers';\nimport { ItemComponent } from '@kirbydesign/designsystem/item';\nimport { ListItemTemplateDirective } from '@kirbydesign/designsystem/list';\nimport { HorizontalDirection, PopoverComponent } from '@kirbydesign/designsystem/popover';\nimport { ButtonComponent } from '@kirbydesign/designsystem/button';\nimport { EventListenerDisposeFn } from '@kirbydesign/designsystem/types';\nimport { ResizeObserverService } from '@kirbydesign/designsystem/shared';\n\nimport { OpenState, VerticalDirection } from './dropdown.types';\nimport { KeyboardHandlerService } from './keyboard-handler.service';\n\n@Component({\n selector: 'kirby-dropdown',\n templateUrl: './dropdown.component.html',\n styleUrls: ['./dropdown.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => DropdownComponent),\n multi: true,\n },\n ],\n})\nexport class DropdownComponent implements AfterViewInit, OnDestroy, ControlValueAccessor {\n static readonly OPEN_DELAY_IN_MS = 100;\n private state = OpenState.closed;\n private horizontalDirection: HorizontalDirection | `${HorizontalDirection}` =\n HorizontalDirection.right;\n private verticalDirection: VerticalDirection | `${VerticalDirection}` = VerticalDirection.down;\n\n private _items: string[] | any[] = [];\n get items(): string[] | any[] {\n return this._items;\n }\n\n @Input() set items(value: string[] | any[]) {\n this._items = value;\n this._value = this.items[this.selectedIndex] || null;\n }\n\n private _selectedIndex: number = -1;\n get selectedIndex(): number {\n return this._selectedIndex;\n }\n\n @Input() set selectedIndex(value: number) {\n if (this._selectedIndex != value) {\n this._selectedIndex = value;\n this.focusedIndex = this._selectedIndex;\n this._value = this.items[this.selectedIndex] || null;\n }\n }\n\n // _focusedIndex keeps track of which element has focus and will be selected\n // if it is activated (by pressing ENTER or SPACE key)\n private _focusedIndex: number = -1;\n get focusedIndex(): number {\n return this._focusedIndex;\n }\n\n @Input() set focusedIndex(value: number) {\n if (this._focusedIndex !== value) {\n this._focusedIndex = value;\n this.scrollItemIntoView(this._focusedIndex);\n }\n }\n\n @Input()\n itemTextProperty = 'text';\n\n @Input()\n placeholder = 'Please select:';\n\n @Input() set popout(direction: HorizontalDirection | `${HorizontalDirection}`) {\n this.horizontalDirection = direction || HorizontalDirection.right;\n }\n\n get popout() {\n return this.horizontalDirection;\n }\n\n @Input()\n attentionLevel: '1' | '2' | '3' = '3';\n\n @Input()\n expand?: 'block';\n\n @Input()\n disabled = false;\n\n @HostBinding('attr.disabled')\n get _isDisabled() {\n return this.disabled ? 'disabled' : null;\n }\n\n @HostBinding('class.error')\n @Input()\n hasError: boolean;\n\n @Input()\n size: 'sm' | 'md' = 'md';\n\n @Input()\n tabindex = 0;\n\n @HostBinding('class.with-popover')\n @Input()\n usePopover = false;\n\n @HostBinding('attr.tabindex')\n get _tabindex() {\n return this.disabled ? -1 : this.tabindex;\n }\n\n // Prevent Ionic blur on scroll\n @HostBinding('attr.no-blur')\n get _noBlurOnScroll() {\n return true;\n }\n\n /**\n * Emitted when an item is selected (tap on mobile, click/keypress on web)\n */\n @Output() change: EventEmitter<string | any> = new EventEmitter<string | any>();\n\n private _value: string | any = null;\n get value(): string | any {\n return this._value;\n }\n\n get selectedText(): string {\n return this.getTextFromItem(this.value);\n }\n\n @HostBinding('class.expand')\n get _isBlockLevel() {\n return this.expand === 'block';\n }\n\n @HostBinding('attr.role')\n _role = 'listbox';\n\n @HostBinding('class.is-opening')\n get _isOpening(): boolean {\n return this.state === OpenState.opening;\n }\n\n @HostBinding('class.is-open')\n get isOpen(): boolean {\n return this.state === OpenState.open;\n }\n\n @HostBinding('class.popout-left')\n get _popoutLeft() {\n return this.horizontalDirection === HorizontalDirection.left;\n }\n\n @HostBinding('class.popout-up')\n get _popoutUp() {\n return this.verticalDirection === VerticalDirection.up;\n }\n\n /* The 'clicked' class is applied through Hostbinding to prevent the dropdown from getting a focus ring on click.\n There is a bug that causes the dropdown to get a focus ring on click, if it is the first element that is interacted with\n after the page is loaded. If the user interacts with any other element before, then the dropdown won't get a focus ring.\n See issue: https://github.com/kirbydesign/designsystem/issues/2477.\n\n This solution can potentially be refactored, when popover is not experimental anymore. Then it could be possible \n to close the dropdown when the popover backdrop is clicked, instead of relying on the blur event, which is utilized\n by this line below: this.elementRef.nativeElement.focus(). Right now this forces the blur event to be triggered, when\n clicking outside of the dropdown.\n */\n @HostBinding('class.clicked')\n clicked = false;\n\n @ContentChild(ListItemTemplateDirective, { static: true, read: TemplateRef })\n itemTemplate: TemplateRef<any>;\n @ContentChildren(ListItemTemplateDirective, { read: ElementRef })\n slottedItems: QueryList<ElementRef<HTMLElement>>;\n @ViewChild(CardComponent, { read: ElementRef })\n cardElement: ElementRef<HTMLElement>;\n @ViewChild(PopoverComponent)\n popover?: PopoverComponent;\n @ViewChild(ButtonComponent, { static: true, read: ElementRef })\n buttonElement: ElementRef<HTMLElement>;\n @ViewChildren(ItemComponent, { read: ElementRef })\n kirbyItemsDefault: QueryList<ElementRef<HTMLElement>>;\n\n _kirbyItemsSlotted: QueryList<ElementRef<HTMLElement>>;\n @ContentChildren(ItemComponent, { read: ElementRef })\n set kirbyItemsSlotted(kirbyItems: QueryList<ElementRef<HTMLElement>>) {\n const hasSlottedItems = this.itemClickUnlisten?.length > 0;\n if (hasSlottedItems) {\n this.unlistenAllSlottedItems();\n }\n\n // Setup a click listener for each new slotted items\n kirbyItems.forEach((kirbyItem, index) => {\n this.renderer.setAttribute(kirbyItem.nativeElement, 'role', 'option');\n const unlisten: EventListenerDisposeFn = this.renderer.listen(\n kirbyItem.nativeElement,\n 'click',\n () => {\n this.onItemSelect(index);\n }\n );\n\n this.itemClickUnlisten.push(unlisten);\n });\n\n this._kirbyItemsSlotted = kirbyItems;\n }\n\n get kirbyItemsSlotted(): QueryList<ElementRef<HTMLElement>> {\n return this._kirbyItemsSlotted;\n }\n\n private itemClickUnlisten: EventListenerDisposeFn[] = [];\n private intersectionObserverRef: IntersectionObserver;\n private showDropdownTimeoutId: ReturnType<typeof setTimeout>;\n\n constructor(\n private renderer: Renderer2,\n private elementRef: ElementRef<HTMLElement>,\n private changeDetectorRef: ChangeDetectorRef,\n private keyboardHandlerService: KeyboardHandlerService,\n private resizeObserverService: ResizeObserverService\n ) {}\n\n onToggle(event: MouseEvent) {\n event.stopPropagation();\n\n this.clicked = true;\n\n if (!this.isOpen) {\n this.elementRef.nativeElement.focus();\n }\n this.toggle();\n }\n\n toggle() {\n if (this.disabled) {\n return;\n }\n this.isOpen ? this.close() : this.open();\n }\n\n onButtonMouseEvent(event: Event) {\n // Prevent button focus;\n event.preventDefault();\n }\n\n /* Utility that makes it easier to set styles on card element\n when using popover*/\n private setPopoverCardStyle(style: string, value: string) {\n if (!this.usePopover) return;\n\n this.renderer.setStyle(\n this.cardElement.nativeElement,\n style,\n value,\n RendererStyleFlags2.DashCase\n );\n }\n\n ngAfterViewInit() {\n if (this.usePopover && this.expand === 'block') {\n const { width: initialWidth } = this.elementRef.nativeElement.getBoundingClientRect();\n this.setPopoverCardStyle('max-width', 'initial');\n this.setPopoverCardStyle('min-width', 'initial');\n // Ensure initial width is set even if the resize observer callback also fires initially:\n this.setPopoverCardStyle('--kirby-card-width', `${initialWidth}px`);\n\n this.resizeObserverService.observe(this.elementRef, (entry) => {\n const newWidth = entry.contentRect.width;\n if (newWidth > 0) {\n this.setPopoverCardStyle('--kirby-card-width', `${newWidth}px`);\n }\n });\n }\n this.initializeAlignment();\n }\n\n private initializeAlignment() {\n if (this.usePopover) return;\n if (!this.intersectionObserverRef) {\n // Get the design token size of the button. In the button stylesheet a medium button height is utils.size(xl)\n // and a small button height is utils.size(\"l\")\n const designTokenSizeHeight = this.size === 'md' ? 'xl' : 'l';\n\n // Setting the rootMargin equal to the height of the button\n // allows the Intersection Observer Callback to be called\n // even if the dropdown button is intersecting with the viewport\n const options = {\n rootMargin: DesignTokenHelper.size(designTokenSizeHeight),\n };\n const callback: IntersectionObserverCallback = (entries) => {\n // Only apply alignment when opening:\n if (this.state !== OpenState.opening) {\n return;\n }\n\n // Cancel any pending timer to show dropdown:\n clearTimeout(this.showDropdownTimeoutId);\n const entry = entries[0];\n const isVisible = entry.boundingClientRect.width > 0;\n if (isVisible && entry.intersectionRatio < 1) {\n this.setHorizontalDirection(entry);\n this.setVerticalDirection(entry);\n }\n this.showDropdown();\n this.changeDetectorRef.detectChanges();\n };\n this.intersectionObserverRef = new IntersectionObserver(callback, options);\n this.intersectionObserverRef.observe(this.cardElement.nativeElement);\n }\n }\n\n private setHorizontalDirection(entry: IntersectionObserverEntry) {\n // If popout direction is set to right, and the entry is cut off to the right by ${entry.boundingClientRect.right - entry.intersectionRect.right}px\n // it is set to popout left instead, and vice versa for popout direction left\n if (this.horizontalDirection === HorizontalDirection.right) {\n if (entry.boundingClientRect.right > entry.rootBounds.right) {\n this.horizontalDirection = HorizontalDirection.left;\n }\n } else {\n if (entry.boundingClientRect.left < entry.rootBounds.left) {\n this.horizontalDirection = HorizontalDirection.right;\n }\n }\n }\n\n private setVerticalDirection(entry: IntersectionObserverEntry) {\n if (entry.boundingClientRect.top < 0) {\n // entry is cut off at the top by ${entry.boundingClientRect.top}px\n // open downwards:\n this.verticalDirection = VerticalDirection.down;\n }\n if (entry.boundingClientRect.bottom > entry.rootBounds.bottom) {\n // entry is cut off at the bottom by ${entry.boundingClientRect.bottom - entry.intersectionRect.bottom}px\n const containerOffsetTop = this.elementRef.nativeElement.getBoundingClientRect().top;\n const SPACING = 5; //TODO: Get from SCSS\n // Check if the card can fit on top of button:\n if (containerOffsetTop > entry.target.clientHeight + SPACING) {\n // open upwards:\n this.verticalDirection = VerticalDirection.up;\n }\n }\n }\n\n open() {\n if (this.disabled) {\n return;\n }\n if (!this.isOpen) {\n this.state = OpenState.opening;\n // ensures that the dropdown is opened in case the IntersectionObserverCallback isn't invoked\n this.showDropdownTimeoutId = setTimeout(\n () => this.showDropdown(),\n DropdownComponent.OPEN_DELAY_IN_MS\n );\n\n // Move focus to selected item (if any)\n this.focusedIndex = this.selectedIndex;\n }\n }\n\n private showDropdown() {\n if (this.state === OpenState.opening) {\n this.state = OpenState.open;\n this.popover?.show();\n this.scrollItemIntoView(this.selectedIndex);\n this.changeDetectorRef.markForCheck();\n }\n }\n\n close() {\n if (this.disabled) {\n return;\n }\n if (this.isOpen) {\n this.state = OpenState.closed;\n // Reset vertical direction to default\n this.verticalDirection = VerticalDirection.down;\n this.popover?.hide();\n }\n }\n\n onItemSelect(index: number) {\n this.selectItem(index);\n this.close();\n }\n\n private _onChange: (value: any) => void = () => {};\n private _onTouched = () => {};\n\n /**\n * Sets the select's value. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param value New value to be written to the model.\n */\n writeValue(value: any): void {\n this._selectItemByValue(value);\n }\n\n /**\n * Saves a callback function to be invoked when the select's value\n * changes from user input. Part of the ControlValueAccessor interface\n * required to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the value changes.\n */\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n /**\n * Saves a callback function to be invoked when the select is blurred\n * by the user. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param fn Callback to be triggered when the component has been touched.\n */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /**\n * Disables the select. Part of the ControlValueAccessor interface required\n * to integrate with Angular's core forms API.\n *\n * @param isDisabled Sets whether the component is disabled.\n */\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n private selectItem(index: number) {\n if (index != this.selectedIndex) {\n this.selectedIndex = index;\n this.focusedIndex = index;\n this.change.emit(this.value);\n this._onChange(this.value);\n }\n }\n\n private _selectItemByValue(value: string | any) {\n this.selectedIndex = this.items.indexOf(value);\n }\n\n getTextFromItem(item: string | any) {\n if (!item) {\n return null;\n }\n return typeof item === 'string' ? item : item[this.itemTextProperty];\n }\n\n scrollItemIntoView(index: number) {\n const kirbyItems =\n this.kirbyItemsSlotted && this.kirbyItemsSlotted.length\n ? this.kirbyItemsSlotted\n : this.kirbyItemsDefault;\n if (kirbyItems && kirbyItems.length) {\n const selectedKirbyItem = kirbyItems.toArray()[index];\n if (selectedKirbyItem && selectedKirbyItem.nativeElement) {\n const itemElement = selectedKirbyItem.nativeElement;\n itemElement.scrollIntoView({ block: 'nearest' });\n }\n }\n }\n\n @HostListener('keydown.tab', ['$event'])\n _onTab(event: KeyboardEvent) {\n if (this.isOpen) {\n event.preventDefault();\n this.close();\n }\n\n if (this.clicked) {\n // Remove the 'clicked' class (Hostbinding) if the user has previously opened the dropdown by clicking,\n // since the class prevents the focus ring from showing,\n // which is expected to happen, when using the tab key\n this.clicked = false;\n }\n }\n\n @HostListener('mousedown', ['$event'])\n _onMouseDown(event: MouseEvent) {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }\n\n @HostListener('touchstart', ['$event'])\n _onTouchStart(event: TouchEvent) {\n if (this.isOpen) {\n event.stopPropagation();\n }\n }\n\n @HostListener('focus')\n _onFocus() {\n if (this.disabled) {\n this.elementRef.nativeElement.blur();\n }\n }\n\n _onPopoverWillHide() {\n this.state = OpenState.closed;\n this.elementRef.nativeElement.focus();\n }\n\n @HostListener('keydown.enter')\n @HostListener('keydown.escape')\n _onEnterOrEscape() {\n this.close();\n this._onTouched();\n }\n\n _onPopoverClick() {\n this.close();\n }\n\n @HostListener('blur', ['$event'])\n _onBlur() {\n if (this.usePopover) return;\n this.close();\n this._onTouched();\n }\n\n @HostListener('keydown.enter', ['$event'])\n @HostListener('keydown.space', ['$event'])\n _onEnterOrSpace(event: KeyboardEvent) {\n event.preventDefault();\n event.stopPropagation();\n\n if (this.isOpen) {\n this.selectItem(this.focusedIndex);\n }\n\n this.toggle();\n }\n\n @HostListener('keydown.arrowup', ['$event'])\n @HostListener('keydown.arrowdown', ['$event'])\n @HostListener('keydown.arrowleft', ['$event'])\n @HostListener('keydown.arrowright', ['$event'])\n _onArrowKeys(event: KeyboardEvent) {\n if (this.disabled) return false;\n\n // Mirror default HTML5 select behaviour - prevent left/right arrows when open:\n if (this.isOpen && (event.key === 'ArrowLeft' || event.key === 'ArrowRight')) {\n return false;\n }\n\n if (!this.isOpen) {\n // Avoid page scroll\n event.preventDefault();\n this.open();\n\n // If no selected item then focus first or last item\n if (this.selectedIndex < 0) {\n switch (event.key) {\n case 'ArrowUp':\n this.focusedIndex = this.items.length - 1;\n break;\n case 'ArrowDown':\n this.focusedIndex = 0;\n break;\n default:\n break;\n }\n }\n\n return false;\n }\n\n const newFocusedIndex = this.keyboardHandlerService.handle(\n event,\n this.focusedIndex,\n this.items.length - 1\n );\n\n if (newFocusedIndex > -1) {\n this.focusedIndex = newFocusedIndex;\n }\n\n return false;\n }\n\n @HostListener('keydown.home', ['$event'])\n @HostListener('keydown.end', ['$event'])\n _onHomeEndKeys(event: KeyboardEvent) {\n if (this.disabled) return;\n if (!this.isOpen) return;\n\n const newFocusedIndex = this.keyboardHandlerService.handle(\n event,\n this.focusedIndex,\n this.items.length - 1\n );\n if (newFocusedIndex > -1) {\n this.focusedIndex = newFocusedIndex;\n }\n return false;\n }\n\n private unlistenAllSlottedItems() {\n let unlistenItem: () => void;\n while ((unlistenItem = this.itemClickUnlisten.pop()) !== undefined) {\n unlistenItem();\n }\n }\n\n ngOnDestroy(): void {\n this.unlistenAllSlottedItems();\n this.resizeObserverService.unobserve(this.elementRef);\n if (this.intersectionObserverRef) {\n this.intersectionObserverRef.disconnect();\n }\n }\n}\n","<button\n kirby-button\n [size]=\"size\"\n [attentionLevel]=\"attentionLevel\"\n tabindex=\"-1\"\n (click)=\"onToggle($event)\"\n (mousedown)=\"onButtonMouseEvent($event)\"\n [disabled]=\"disabled\"\n type=\"button\"\n>\n <span class=\"text\">{{ selectedText || placeholder }}</span>\n <kirby-icon [name]=\"isOpen ? 'arrow-up' : 'arrow-down'\"></kirby-icon>\n</button>\n\n<ng-container *ngTemplateOutlet=\"usePopover ? popoverTemplate : itemWrapperTemplate\"></ng-container>\n\n<ng-template #popoverTemplate>\n <kirby-popover\n [target]=\"buttonElement\"\n [popout]=\"popout\"\n (click)=\"_onPopoverClick()\"\n (willHide)=\"_onPopoverWillHide()\"\n >\n <ng-container *ngTemplateOutlet=\"itemWrapperTemplate\"></ng-container>\n </kirby-popover>\n</ng-template>\n\n<ng-template #itemWrapperTemplate>\n <kirby-card>\n <ng-container *ngFor=\"let item of items; let i = index\">\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate || defaultItemTemplate;\n context: {\n $implicit: item,\n selected: i === selectedIndex,\n focused: i === focusedIndex,\n index: i\n }\n \"\n ></ng-container>\n </ng-container>\n </kirby-card>\n</ng-template>\n\n<ng-template\n #defaultItemTemplate\n let-item\n let-selected=\"selected\"\n let-index=\"index\"\n let-focused=\"focused\"\n>\n <kirby-item\n [selectable]=\"true\"\n [selected]=\"selected\"\n (click)=\"onItemSelect(index)\"\n [class.focused]=\"focused\"\n role=\"option\"\n >\n <!-- Tabindex fixes issue with popover dropdown not working in safari -->\n <h3 tabindex=\"0\">{{ getTextFromItem(item) }}</h3>\n <kirby-icon *ngIf=\"selected\" name=\"checkmark-selected\" slot=\"end\"></kirby-icon>\n </kirby-item>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { ButtonComponent } from '@kirbydesign/designsystem/button';\nimport { CardModule } from '@kirbydesign/designsystem/card';\nimport { FormFieldModule } from '@kirbydesign/designsystem/form-field';\nimport { IconModule } from '@kirbydesign/designsystem/icon';\nimport { ItemModule } from '@kirbydesign/designsystem/item';\nimport { PopoverComponent } from '@kirbydesign/designsystem/popover';\n\nimport { DropdownComponent } from './dropdown.component';\nimport { KeyboardHandlerService } from './keyboard-handler.service';\n\nconst declarations = [DropdownComponent];\n\n@NgModule({\n imports: [\n CardModule,\n IconModule,\n ItemModule,\n FormFieldModule,\n PopoverComponent,\n ButtonComponent,\n CommonModule,\n ],\n declarations: [...declarations],\n exports: [...declarations],\n providers: [KeyboardHandlerService],\n})\nexport class DropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.KeyboardHandlerService"],"mappings":"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"}
@@ -35,10 +35,10 @@ class EmptyStateComponent {
35
35
  }
36
36
  });
37
37
  }
38
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: EmptyStateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: EmptyStateComponent, selector: "kirby-empty-state", inputs: { iconName: "iconName", customIconName: "customIconName", title: "title", subtitle: "subtitle" }, queries: [{ propertyName: "slottedButtons", predicate: ButtonComponent }], ngImport: i0, template: "<article>\n <div *ngIf=\"iconName || customIconName\" class=\"icon-outline\">\n <kirby-icon [name]=\"iconName\" size=\"lg\"></kirby-icon>\n </div>\n <h3 *ngIf=\"title\" class=\"title\">{{ title }}</h3>\n <p *ngIf=\"subtitle\" class=\"subtitle\">{{ subtitle }}</p>\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n</article>\n", styles: ["article{max-width:330px;margin:auto;display:flex;flex-direction:column;justify-content:center;text-align:center}.icon-outline{width:96px;height:96px;margin-left:auto;margin-right:auto;margin-bottom:24px;display:flex;flex-direction:column;justify-content:center;border:4px solid var(--kirby-medium);border-radius:50%}kirby-icon{color:var(--kirby-medium)}h3.title{margin-bottom:8px}p.subtitle{margin-bottom:24px;white-space:pre-wrap}:host(.primary) .icon-outline{border-color:var(--kirby-primary)}:host(.primary) kirby-icon{color:var(--kirby-primary)}:host(.secondary) .icon-outline{border-color:var(--kirby-secondary)}:host(.secondary) kirby-icon{color:var(--kirby-secondary)}:host(.tertiary) .icon-outline{border-color:var(--kirby-tertiary)}:host(.tertiary) kirby-icon{color:var(--kirby-tertiary)}:host(.success) .icon-outline{border-color:var(--kirby-success)}:host(.success) kirby-icon{color:var(--kirby-success)}:host(.warning) .icon-outline{border-color:var(--kirby-warning)}:host(.warning) kirby-icon{color:var(--kirby-warning)}:host(.danger) .icon-outline{border-color:var(--kirby-danger)}:host(.danger) kirby-icon{color:var(--kirby-danger)}:host(.white-overlay) .icon-outline{border-color:var(--kirby-white-overlay)}:host(.white-overlay) kirby-icon{color:var(--kirby-white-overlay)}:host(.light) .icon-outline{border-color:var(--kirby-light)}:host(.light) kirby-icon{color:var(--kirby-light)}:host(.medium) .icon-outline{border-color:var(--kirby-medium)}:host(.medium) kirby-icon{color:var(--kirby-medium)}:host(.dark) .icon-outline{border-color:var(--kirby-dark)}:host(.dark) kirby-icon{color:var(--kirby-dark)}:host(.dark-overlay) .icon-outline{border-color:var(--kirby-dark-overlay)}:host(.dark-overlay) kirby-icon{color:var(--kirby-dark-overlay)}\n"], dependencies: [{ kind: "component", type: i1.IconComponent, selector: "kirby-icon", inputs: ["size", "name", "customName"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EmptyStateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: EmptyStateComponent, selector: "kirby-empty-state", inputs: { iconName: "iconName", customIconName: "customIconName", title: "title", subtitle: "subtitle" }, queries: [{ propertyName: "slottedButtons", predicate: ButtonComponent }], ngImport: i0, template: "<article>\n <div *ngIf=\"iconName || customIconName\" class=\"icon-outline\">\n <kirby-icon [name]=\"iconName\" size=\"lg\"></kirby-icon>\n </div>\n <h3 *ngIf=\"title\" class=\"title\">{{ title }}</h3>\n <p *ngIf=\"subtitle\" class=\"subtitle\">{{ subtitle }}</p>\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n</article>\n", styles: ["article{max-width:330px;margin:auto;display:flex;flex-direction:column;justify-content:center;text-align:center}.icon-outline{width:96px;height:96px;margin-left:auto;margin-right:auto;margin-bottom:24px;display:flex;flex-direction:column;justify-content:center;border:4px solid var(--kirby-medium);border-radius:50%}kirby-icon{color:var(--kirby-medium)}h3.title{margin-bottom:8px}p.subtitle{margin-bottom:24px;white-space:pre-wrap}:host(.primary) .icon-outline{border-color:var(--kirby-primary)}:host(.primary) kirby-icon{color:var(--kirby-primary)}:host(.secondary) .icon-outline{border-color:var(--kirby-secondary)}:host(.secondary) kirby-icon{color:var(--kirby-secondary)}:host(.tertiary) .icon-outline{border-color:var(--kirby-tertiary)}:host(.tertiary) kirby-icon{color:var(--kirby-tertiary)}:host(.success) .icon-outline{border-color:var(--kirby-success)}:host(.success) kirby-icon{color:var(--kirby-success)}:host(.warning) .icon-outline{border-color:var(--kirby-warning)}:host(.warning) kirby-icon{color:var(--kirby-warning)}:host(.danger) .icon-outline{border-color:var(--kirby-danger)}:host(.danger) kirby-icon{color:var(--kirby-danger)}:host(.white-overlay) .icon-outline{border-color:var(--kirby-white-overlay)}:host(.white-overlay) kirby-icon{color:var(--kirby-white-overlay)}:host(.light) .icon-outline{border-color:var(--kirby-light)}:host(.light) kirby-icon{color:var(--kirby-light)}:host(.medium) .icon-outline{border-color:var(--kirby-medium)}:host(.medium) kirby-icon{color:var(--kirby-medium)}:host(.dark) .icon-outline{border-color:var(--kirby-dark)}:host(.dark) kirby-icon{color:var(--kirby-dark)}:host(.dark-overlay) .icon-outline{border-color:var(--kirby-dark-overlay)}:host(.dark-overlay) kirby-icon{color:var(--kirby-dark-overlay)}\n"], dependencies: [{ kind: "component", type: i1.IconComponent, selector: "kirby-icon", inputs: ["size", "name", "customName"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: EmptyStateComponent, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EmptyStateComponent, decorators: [{
42
42
  type: Component,
43
43
  args: [{ selector: 'kirby-empty-state', changeDetection: ChangeDetectionStrategy.OnPush, template: "<article>\n <div *ngIf=\"iconName || customIconName\" class=\"icon-outline\">\n <kirby-icon [name]=\"iconName\" size=\"lg\"></kirby-icon>\n </div>\n <h3 *ngIf=\"title\" class=\"title\">{{ title }}</h3>\n <p *ngIf=\"subtitle\" class=\"subtitle\">{{ subtitle }}</p>\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n</article>\n", styles: ["article{max-width:330px;margin:auto;display:flex;flex-direction:column;justify-content:center;text-align:center}.icon-outline{width:96px;height:96px;margin-left:auto;margin-right:auto;margin-bottom:24px;display:flex;flex-direction:column;justify-content:center;border:4px solid var(--kirby-medium);border-radius:50%}kirby-icon{color:var(--kirby-medium)}h3.title{margin-bottom:8px}p.subtitle{margin-bottom:24px;white-space:pre-wrap}:host(.primary) .icon-outline{border-color:var(--kirby-primary)}:host(.primary) kirby-icon{color:var(--kirby-primary)}:host(.secondary) .icon-outline{border-color:var(--kirby-secondary)}:host(.secondary) kirby-icon{color:var(--kirby-secondary)}:host(.tertiary) .icon-outline{border-color:var(--kirby-tertiary)}:host(.tertiary) kirby-icon{color:var(--kirby-tertiary)}:host(.success) .icon-outline{border-color:var(--kirby-success)}:host(.success) kirby-icon{color:var(--kirby-success)}:host(.warning) .icon-outline{border-color:var(--kirby-warning)}:host(.warning) kirby-icon{color:var(--kirby-warning)}:host(.danger) .icon-outline{border-color:var(--kirby-danger)}:host(.danger) kirby-icon{color:var(--kirby-danger)}:host(.white-overlay) .icon-outline{border-color:var(--kirby-white-overlay)}:host(.white-overlay) kirby-icon{color:var(--kirby-white-overlay)}:host(.light) .icon-outline{border-color:var(--kirby-light)}:host(.light) kirby-icon{color:var(--kirby-light)}:host(.medium) .icon-outline{border-color:var(--kirby-medium)}:host(.medium) kirby-icon{color:var(--kirby-medium)}:host(.dark) .icon-outline{border-color:var(--kirby-dark)}:host(.dark) kirby-icon{color:var(--kirby-dark)}:host(.dark-overlay) .icon-outline{border-color:var(--kirby-dark-overlay)}:host(.dark-overlay) kirby-icon{color:var(--kirby-dark-overlay)}\n"] }]
44
44
  }], propDecorators: { iconName: [{
@@ -56,11 +56,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImpor
56
56
 
57
57
  const declarations = [EmptyStateComponent];
58
58
  class EmptyStateModule {
59
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: EmptyStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
60
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.9", ngImport: i0, type: EmptyStateModule, declarations: [EmptyStateComponent], imports: [IconModule, CommonModule, ThemeColorDirective], exports: [EmptyStateComponent, ThemeColorDirective] }); }
61
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: EmptyStateModule, imports: [IconModule, CommonModule] }); }
59
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EmptyStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
60
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: EmptyStateModule, declarations: [EmptyStateComponent], imports: [IconModule, CommonModule, ThemeColorDirective], exports: [EmptyStateComponent, ThemeColorDirective] }); }
61
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EmptyStateModule, imports: [IconModule, CommonModule] }); }
62
62
  }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: EmptyStateModule, decorators: [{
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: EmptyStateModule, decorators: [{
64
64
  type: NgModule,
65
65
  args: [{
66
66
  imports: [IconModule, CommonModule, ThemeColorDirective],
@@ -1 +1 @@
1
- {"version":3,"file":"kirbydesign-designsystem-empty-state.mjs","sources":["../../../../libs/designsystem/empty-state/src/empty-state.component.ts","../../../../libs/designsystem/empty-state/src/empty-state.component.html","../../../../libs/designsystem/empty-state/src/empty-state.module.ts","../../../../libs/designsystem/empty-state/src/kirbydesign-designsystem-empty-state.ts"],"sourcesContent":["import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Input,\n QueryList,\n} from '@angular/core';\nimport { ButtonComponent } from '@kirbydesign/designsystem/button';\n\nconst CUSTOM_ICON_NAME_DEPRECATION_WARNING =\n 'Deprecation warning: The customIconName input property of \"kirby-empty-state\" is deprecated and will be removed in v10. The iconName input property already supports custom icons registered via the iconRegistryService.';\n\n@Component({\n selector: 'kirby-empty-state',\n templateUrl: './empty-state.component.html',\n styleUrls: ['./empty-state.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EmptyStateComponent implements AfterContentInit {\n @Input() iconName: string;\n @Input() set customIconName(customName: string) {\n this.iconName = customName;\n console.warn(CUSTOM_ICON_NAME_DEPRECATION_WARNING);\n }\n @Input() title: string;\n @Input() subtitle: string;\n\n @ContentChildren(ButtonComponent)\n private slottedButtons: QueryList<ButtonComponent>;\n\n ngAfterContentInit() {\n this.enforceAttentionLevelRules();\n\n /* setTimeout prevents ExpressionChangedAfterItHasBeenCheckedError when changing attention \n levels of slotted buttons in this.enforceAttentionLevelRules */\n this.slottedButtons.changes.subscribe(() => {\n setTimeout(() => this.enforceAttentionLevelRules());\n });\n }\n\n /** Enforces that all slotted buttons will have their attention\n * level set to 3, except the first button if it has\n * level 1.\n */\n private enforceAttentionLevelRules() {\n this.slottedButtons.forEach((button, index) => {\n if (index === 0 && (button.attentionLevel === undefined || button.attentionLevel === '1')) {\n return;\n }\n\n if (button.attentionLevel !== '3') {\n button.attentionLevel = '3';\n }\n });\n }\n}\n","<article>\n <div *ngIf=\"iconName || customIconName\" class=\"icon-outline\">\n <kirby-icon [name]=\"iconName\" size=\"lg\"></kirby-icon>\n </div>\n <h3 *ngIf=\"title\" class=\"title\">{{ title }}</h3>\n <p *ngIf=\"subtitle\" class=\"subtitle\">{{ subtitle }}</p>\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n</article>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { IconModule } from '@kirbydesign/designsystem/icon';\nimport { ThemeColorDirective } from '@kirbydesign/designsystem/shared';\nimport { EmptyStateComponent } from './empty-state.component';\n\nconst declarations = [EmptyStateComponent];\n\n@NgModule({\n imports: [IconModule, CommonModule, ThemeColorDirective],\n declarations: [...declarations],\n exports: [...declarations, ThemeColorDirective],\n})\nexport class EmptyStateModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kirbydesign-designsystem-empty-state.mjs","sources":["../../empty-state/src/empty-state.component.ts","../../empty-state/src/empty-state.component.html","../../empty-state/src/empty-state.module.ts","../../empty-state/src/kirbydesign-designsystem-empty-state.ts"],"sourcesContent":["import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Input,\n QueryList,\n} from '@angular/core';\nimport { ButtonComponent } from '@kirbydesign/designsystem/button';\n\nconst CUSTOM_ICON_NAME_DEPRECATION_WARNING =\n 'Deprecation warning: The customIconName input property of \"kirby-empty-state\" is deprecated and will be removed in v10. The iconName input property already supports custom icons registered via the iconRegistryService.';\n\n@Component({\n selector: 'kirby-empty-state',\n templateUrl: './empty-state.component.html',\n styleUrls: ['./empty-state.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EmptyStateComponent implements AfterContentInit {\n @Input() iconName: string;\n @Input() set customIconName(customName: string) {\n this.iconName = customName;\n console.warn(CUSTOM_ICON_NAME_DEPRECATION_WARNING);\n }\n @Input() title: string;\n @Input() subtitle: string;\n\n @ContentChildren(ButtonComponent)\n private slottedButtons: QueryList<ButtonComponent>;\n\n ngAfterContentInit() {\n this.enforceAttentionLevelRules();\n\n /* setTimeout prevents ExpressionChangedAfterItHasBeenCheckedError when changing attention \n levels of slotted buttons in this.enforceAttentionLevelRules */\n this.slottedButtons.changes.subscribe(() => {\n setTimeout(() => this.enforceAttentionLevelRules());\n });\n }\n\n /** Enforces that all slotted buttons will have their attention\n * level set to 3, except the first button if it has\n * level 1.\n */\n private enforceAttentionLevelRules() {\n this.slottedButtons.forEach((button, index) => {\n if (index === 0 && (button.attentionLevel === undefined || button.attentionLevel === '1')) {\n return;\n }\n\n if (button.attentionLevel !== '3') {\n button.attentionLevel = '3';\n }\n });\n }\n}\n","<article>\n <div *ngIf=\"iconName || customIconName\" class=\"icon-outline\">\n <kirby-icon [name]=\"iconName\" size=\"lg\"></kirby-icon>\n </div>\n <h3 *ngIf=\"title\" class=\"title\">{{ title }}</h3>\n <p *ngIf=\"subtitle\" class=\"subtitle\">{{ subtitle }}</p>\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n</article>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { IconModule } from '@kirbydesign/designsystem/icon';\nimport { ThemeColorDirective } from '@kirbydesign/designsystem/shared';\nimport { EmptyStateComponent } from './empty-state.component';\n\nconst declarations = [EmptyStateComponent];\n\n@NgModule({\n imports: [IconModule, CommonModule, ThemeColorDirective],\n declarations: [...declarations],\n exports: [...declarations, ThemeColorDirective],\n})\nexport class EmptyStateModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -50,10 +50,10 @@ class FabSheetComponent {
50
50
  }
51
51
  this.changeDetectorRef.detectChanges();
52
52
  }
53
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: FabSheetComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
54
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: FabSheetComponent, isStandalone: true, selector: "kirby-fab-sheet", inputs: { disabled: "disabled", horizontalAlignment: "horizontalAlignment" }, host: { properties: { "class.is-open": "this.isFabSheetOpen" } }, queries: [{ propertyName: "actionSheet", first: true, predicate: ActionSheetComponent, descendants: true }], viewQueries: [{ propertyName: "ionFabButton", first: true, predicate: IonFabButton, descendants: true, read: ElementRef, static: true }, { propertyName: "ionFab", first: true, predicate: IonFab, descendants: true, static: true }], ngImport: i0, template: "<ion-backdrop\n [class.backdrop-visible]=\"isFabSheetOpen\"\n [stopPropagation]=\"false\"\n (ionBackdropTap)=\"hideActions()\"\n (click)=\"hideActions()\"\n></ion-backdrop>\n<ion-fab>\n <ion-fab-button\n (click)=\"onFabButtonClick()\"\n [disabled]=\"disabled\"\n [attr.disabled]=\"disabled ? true : null\"\n tabindex=\"-1\"\n >\n <ng-content select=\"kirby-icon\"></ng-content>\n </ion-fab-button>\n <ion-fab-list\n *ngIf=\"actionSheet\"\n side=\"top\"\n class=\"{{ horizontalAlignment }}\"\n (click)=\"onFabListClick()\"\n >\n <ng-content select=\"kirby-action-sheet\"></ng-content>\n </ion-fab-list>\n</ion-fab>\n", styles: [":host{--kirby-action-sheet-margin-horizontal: 16px}ion-fab-button{--box-shadow: 0 0 5px 0 rgba(28, 28, 28, .04), 0 10px 15px -10px rgba(28, 28, 28, .15);width:64px;height:64px;-webkit-user-select:none;user-select:none}@media (hover: hover){ion-fab-button:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);--background-hover: var(--state-layer-background-color);--background-hover-opacity: var(--state-layer-opacity)}}ion-fab-button:active,ion-fab-button.ion-activated{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);--background-activated: var(--state-layer-background-color);--background-activated-opacity: var(--state-layer-opacity)}ion-fab-button::part(native):after{transition:all 80ms linear 0ms}@media (hover: hover) and (pointer: fine){ion-fab-button{outline:none;border-radius:999px}ion-fab-button:focus{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}ion-fab-button:focus:not(:focus-visible){box-shadow:0 0 0 0 transparent}ion-fab-button:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}ion-fab-button[disabled]{--background: var(--kirby-semi-light);--box-shadow: none;opacity:1}ion-fab{position:fixed;bottom:16px;right:16px}:host-context(.fixed-content) ion-fab{position:absolute}ion-backdrop{visibility:hidden;opacity:0;transition:opacity .75s;position:fixed;z-index:999}ion-backdrop.backdrop-visible{visibility:visible;opacity:.4}@media (min-width: 768px){ion-backdrop.backdrop-visible{opacity:0}}ion-fab-list{margin-top:76px;margin-bottom:76px;right:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IonBackdrop, selector: "ion-backdrop", inputs: ["stopPropagation", "tappable", "visible"] }, { kind: "component", type: IonFab, selector: "ion-fab", inputs: ["activated", "edge", "horizontal", "vertical"] }, { kind: "component", type: IonFabButton, selector: "ion-fab-button", inputs: ["activated", "closeIcon", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "show", "size", "target", "translucent", "type"] }, { kind: "component", type: IonFabList, selector: "ion-fab-list", inputs: ["activated", "side"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
53
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FabSheetComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
54
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FabSheetComponent, isStandalone: true, selector: "kirby-fab-sheet", inputs: { disabled: "disabled", horizontalAlignment: "horizontalAlignment" }, host: { properties: { "class.is-open": "this.isFabSheetOpen" } }, queries: [{ propertyName: "actionSheet", first: true, predicate: ActionSheetComponent, descendants: true }], viewQueries: [{ propertyName: "ionFabButton", first: true, predicate: IonFabButton, descendants: true, read: ElementRef, static: true }, { propertyName: "ionFab", first: true, predicate: IonFab, descendants: true, static: true }], ngImport: i0, template: "<ion-backdrop\n [class.backdrop-visible]=\"isFabSheetOpen\"\n [stopPropagation]=\"false\"\n (ionBackdropTap)=\"hideActions()\"\n (click)=\"hideActions()\"\n></ion-backdrop>\n<ion-fab>\n <ion-fab-button\n (click)=\"onFabButtonClick()\"\n [disabled]=\"disabled\"\n [attr.disabled]=\"disabled ? true : null\"\n tabindex=\"-1\"\n >\n <ng-content select=\"kirby-icon\"></ng-content>\n </ion-fab-button>\n <ion-fab-list\n *ngIf=\"actionSheet\"\n side=\"top\"\n class=\"{{ horizontalAlignment }}\"\n (click)=\"onFabListClick()\"\n >\n <ng-content select=\"kirby-action-sheet\"></ng-content>\n </ion-fab-list>\n</ion-fab>\n", styles: [":host{--kirby-action-sheet-margin-horizontal: 16px}ion-fab-button{--box-shadow: 0 0 5px 0 rgba(28, 28, 28, .04), 0 10px 15px -10px rgba(28, 28, 28, .15);width:64px;height:64px;-webkit-user-select:none;user-select:none}@media (hover: hover){ion-fab-button:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);--background-hover: var(--state-layer-background-color);--background-hover-opacity: var(--state-layer-opacity)}}ion-fab-button:active,ion-fab-button.ion-activated{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);--background-activated: var(--state-layer-background-color);--background-activated-opacity: var(--state-layer-opacity)}ion-fab-button::part(native):after{transition:all 80ms linear 0ms}@media (hover: hover) and (pointer: fine){ion-fab-button{outline:none;border-radius:999px}ion-fab-button:focus{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}ion-fab-button:focus:not(:focus-visible){box-shadow:0 0 0 0 transparent}ion-fab-button:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}ion-fab-button[disabled]{--background: var(--kirby-semi-light);--box-shadow: none;opacity:1}ion-fab{position:fixed;bottom:16px;right:16px}:host-context(.fixed-content) ion-fab{position:absolute}ion-backdrop{visibility:hidden;opacity:0;transition:opacity .75s;position:fixed;z-index:999}ion-backdrop.backdrop-visible{visibility:visible;opacity:.4}@media (min-width: 768px){ion-backdrop.backdrop-visible{opacity:0}}ion-fab-list{margin-top:76px;margin-bottom:76px;right:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IonBackdrop, selector: "ion-backdrop", inputs: ["stopPropagation", "tappable", "visible"] }, { kind: "component", type: IonFab, selector: "ion-fab", inputs: ["activated", "edge", "horizontal", "vertical"] }, { kind: "component", type: IonFabButton, selector: "ion-fab-button", inputs: ["activated", "closeIcon", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "show", "size", "target", "translucent", "type"] }, { kind: "component", type: IonFabList, selector: "ion-fab-list", inputs: ["activated", "side"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
55
55
  }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: FabSheetComponent, decorators: [{
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FabSheetComponent, decorators: [{
57
57
  type: Component,
58
58
  args: [{ standalone: true, imports: [CommonModule, IonBackdrop, IonFab, IonFabButton, IonFabList], selector: 'kirby-fab-sheet', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ion-backdrop\n [class.backdrop-visible]=\"isFabSheetOpen\"\n [stopPropagation]=\"false\"\n (ionBackdropTap)=\"hideActions()\"\n (click)=\"hideActions()\"\n></ion-backdrop>\n<ion-fab>\n <ion-fab-button\n (click)=\"onFabButtonClick()\"\n [disabled]=\"disabled\"\n [attr.disabled]=\"disabled ? true : null\"\n tabindex=\"-1\"\n >\n <ng-content select=\"kirby-icon\"></ng-content>\n </ion-fab-button>\n <ion-fab-list\n *ngIf=\"actionSheet\"\n side=\"top\"\n class=\"{{ horizontalAlignment }}\"\n (click)=\"onFabListClick()\"\n >\n <ng-content select=\"kirby-action-sheet\"></ng-content>\n </ion-fab-list>\n</ion-fab>\n", styles: [":host{--kirby-action-sheet-margin-horizontal: 16px}ion-fab-button{--box-shadow: 0 0 5px 0 rgba(28, 28, 28, .04), 0 10px 15px -10px rgba(28, 28, 28, .15);width:64px;height:64px;-webkit-user-select:none;user-select:none}@media (hover: hover){ion-fab-button:hover{--state-layer-opacity: .08;--state-layer-background-color: var(--kirby-black);--background-hover: var(--state-layer-background-color);--background-hover-opacity: var(--state-layer-opacity)}}ion-fab-button:active,ion-fab-button.ion-activated{--state-layer-opacity: .12;--state-layer-background-color: var(--kirby-black);--background-activated: var(--state-layer-background-color);--background-activated-opacity: var(--state-layer-opacity)}ion-fab-button::part(native):after{transition:all 80ms linear 0ms}@media (hover: hover) and (pointer: fine){ion-fab-button{outline:none;border-radius:999px}ion-fab-button:focus{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}ion-fab-button:focus:not(:focus-visible){box-shadow:0 0 0 0 transparent}ion-fab-button:focus-visible{transition:all 80ms linear 0ms;box-shadow:0 0 0 2px var(--kirby-background-color),0 0 0 4px #4d90fe}}ion-fab-button[disabled]{--background: var(--kirby-semi-light);--box-shadow: none;opacity:1}ion-fab{position:fixed;bottom:16px;right:16px}:host-context(.fixed-content) ion-fab{position:absolute}ion-backdrop{visibility:hidden;opacity:0;transition:opacity .75s;position:fixed;z-index:999}ion-backdrop.backdrop-visible{visibility:visible;opacity:.4}@media (min-width: 768px){ion-backdrop.backdrop-visible{opacity:0}}ion-fab-list{margin-top:76px;margin-bottom:76px;right:0}\n"] }]
59
59
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: Document, decorators: [{
@@ -1 +1 @@
1
- {"version":3,"file":"kirbydesign-designsystem-fab-sheet.mjs","sources":["../../../../libs/designsystem/fab-sheet/src/fab-sheet.component.ts","../../../../libs/designsystem/fab-sheet/src/fab-sheet.component.html","../../../../libs/designsystem/fab-sheet/src/kirbydesign-designsystem-fab-sheet.ts"],"sourcesContent":["import { CommonModule, DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport { ActionSheetComponent } from '@kirbydesign/designsystem/modal';\nimport { IonBackdrop, IonFab, IonFabButton, IonFabList } from '@ionic/angular/standalone';\n\n@Component({\n standalone: true,\n imports: [CommonModule, IonBackdrop, IonFab, IonFabButton, IonFabList],\n selector: 'kirby-fab-sheet',\n templateUrl: './fab-sheet.component.html',\n styleUrls: ['./fab-sheet.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FabSheetComponent implements AfterContentInit, AfterViewInit {\n @Input() disabled: boolean = false;\n @Input() horizontalAlignment: 'left' | 'center' | 'right' = 'right';\n\n private _isFabSheetOpen: boolean = false;\n @HostBinding('class.is-open')\n get isFabSheetOpen() {\n return this._isFabSheetOpen;\n }\n\n @ContentChild(ActionSheetComponent, { static: false }) actionSheet: ActionSheetComponent;\n\n @ViewChild(IonFabButton, { static: true, read: ElementRef })\n ionFabButton: ElementRef<HTMLElement>;\n\n @ViewChild(IonFab, { static: true })\n ionFab: IonFab;\n\n constructor(\n private changeDetectorRef: ChangeDetectorRef,\n private renderer: Renderer2,\n @Inject(DOCUMENT) private document: Document\n ) {}\n\n ngAfterContentInit(): void {\n if (this.actionSheet) {\n this.actionSheet.hideCancel = true;\n }\n }\n\n ngAfterViewInit(): void {\n this.renderer.removeClass(this.document.body, 'backdrop-no-scroll');\n }\n\n hideActions() {\n this.ionFab.close().then(() => this.fabSheetStateChanged(false));\n }\n\n onFabButtonClick() {\n setTimeout(() => {\n this.fabSheetStateChanged(this.ionFab.activated);\n });\n }\n\n onFabListClick() {\n this.ionFab.close().then(() => {\n this.fabSheetStateChanged(false);\n });\n }\n\n fabSheetStateChanged(isOpen: boolean) {\n this._isFabSheetOpen = isOpen;\n if (this.isFabSheetOpen) {\n this.renderer.addClass(this.document.body, 'fab-sheet-active');\n this.renderer.addClass(this.document.body, 'backdrop-no-scroll');\n } else {\n this.renderer.removeClass(this.document.body, 'fab-sheet-active');\n this.renderer.removeClass(this.document.body, 'backdrop-no-scroll');\n }\n\n this.changeDetectorRef.detectChanges();\n }\n}\n","<ion-backdrop\n [class.backdrop-visible]=\"isFabSheetOpen\"\n [stopPropagation]=\"false\"\n (ionBackdropTap)=\"hideActions()\"\n (click)=\"hideActions()\"\n></ion-backdrop>\n<ion-fab>\n <ion-fab-button\n (click)=\"onFabButtonClick()\"\n [disabled]=\"disabled\"\n [attr.disabled]=\"disabled ? true : null\"\n tabindex=\"-1\"\n >\n <ng-content select=\"kirby-icon\"></ng-content>\n </ion-fab-button>\n <ion-fab-list\n *ngIf=\"actionSheet\"\n side=\"top\"\n class=\"{{ horizontalAlignment }}\"\n (click)=\"onFabListClick()\"\n >\n <ng-content select=\"kirby-action-sheet\"></ng-content>\n </ion-fab-list>\n</ion-fab>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kirbydesign-designsystem-fab-sheet.mjs","sources":["../../fab-sheet/src/fab-sheet.component.ts","../../fab-sheet/src/fab-sheet.component.html","../../fab-sheet/src/kirbydesign-designsystem-fab-sheet.ts"],"sourcesContent":["import { CommonModule, DOCUMENT } from '@angular/common';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n Renderer2,\n ViewChild,\n} from '@angular/core';\nimport { ActionSheetComponent } from '@kirbydesign/designsystem/modal';\nimport { IonBackdrop, IonFab, IonFabButton, IonFabList } from '@ionic/angular/standalone';\n\n@Component({\n standalone: true,\n imports: [CommonModule, IonBackdrop, IonFab, IonFabButton, IonFabList],\n selector: 'kirby-fab-sheet',\n templateUrl: './fab-sheet.component.html',\n styleUrls: ['./fab-sheet.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FabSheetComponent implements AfterContentInit, AfterViewInit {\n @Input() disabled: boolean = false;\n @Input() horizontalAlignment: 'left' | 'center' | 'right' = 'right';\n\n private _isFabSheetOpen: boolean = false;\n @HostBinding('class.is-open')\n get isFabSheetOpen() {\n return this._isFabSheetOpen;\n }\n\n @ContentChild(ActionSheetComponent, { static: false }) actionSheet: ActionSheetComponent;\n\n @ViewChild(IonFabButton, { static: true, read: ElementRef })\n ionFabButton: ElementRef<HTMLElement>;\n\n @ViewChild(IonFab, { static: true })\n ionFab: IonFab;\n\n constructor(\n private changeDetectorRef: ChangeDetectorRef,\n private renderer: Renderer2,\n @Inject(DOCUMENT) private document: Document\n ) {}\n\n ngAfterContentInit(): void {\n if (this.actionSheet) {\n this.actionSheet.hideCancel = true;\n }\n }\n\n ngAfterViewInit(): void {\n this.renderer.removeClass(this.document.body, 'backdrop-no-scroll');\n }\n\n hideActions() {\n this.ionFab.close().then(() => this.fabSheetStateChanged(false));\n }\n\n onFabButtonClick() {\n setTimeout(() => {\n this.fabSheetStateChanged(this.ionFab.activated);\n });\n }\n\n onFabListClick() {\n this.ionFab.close().then(() => {\n this.fabSheetStateChanged(false);\n });\n }\n\n fabSheetStateChanged(isOpen: boolean) {\n this._isFabSheetOpen = isOpen;\n if (this.isFabSheetOpen) {\n this.renderer.addClass(this.document.body, 'fab-sheet-active');\n this.renderer.addClass(this.document.body, 'backdrop-no-scroll');\n } else {\n this.renderer.removeClass(this.document.body, 'fab-sheet-active');\n this.renderer.removeClass(this.document.body, 'backdrop-no-scroll');\n }\n\n this.changeDetectorRef.detectChanges();\n }\n}\n","<ion-backdrop\n [class.backdrop-visible]=\"isFabSheetOpen\"\n [stopPropagation]=\"false\"\n (ionBackdropTap)=\"hideActions()\"\n (click)=\"hideActions()\"\n></ion-backdrop>\n<ion-fab>\n <ion-fab-button\n (click)=\"onFabButtonClick()\"\n [disabled]=\"disabled\"\n [attr.disabled]=\"disabled ? true : null\"\n tabindex=\"-1\"\n >\n <ng-content select=\"kirby-icon\"></ng-content>\n </ion-fab-button>\n <ion-fab-list\n *ngIf=\"actionSheet\"\n side=\"top\"\n class=\"{{ horizontalAlignment }}\"\n (click)=\"onFabListClick()\"\n >\n <ng-content select=\"kirby-action-sheet\"></ng-content>\n </ion-fab-list>\n</ion-fab>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -10,12 +10,12 @@ class FlagComponent {
10
10
  get _cssClass() {
11
11
  return [this.themeColor, this.size];
12
12
  }
13
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: FlagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.9", type: FlagComponent, isStandalone: true, selector: "kirby-flag", inputs: { size: "size", themeColor: "themeColor" }, host: { properties: { "class": "this._cssClass" } }, ngImport: i0, template: `
13
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FlagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: FlagComponent, isStandalone: true, selector: "kirby-flag", inputs: { size: "size", themeColor: "themeColor" }, host: { properties: { "class": "this._cssClass" } }, ngImport: i0, template: `
15
15
  <ng-content></ng-content>
16
16
  `, isInline: true, styles: [":host{display:inline-block;background-color:var(--kirby-flag-background-color, transparent);color:var(--kirby-flag-color, var(--kirby-white-contrast));border:1px solid var(--kirby-flag-border-color, var(--kirby-medium));border-radius:4px;font-size:16px;padding:2px 8px;font-weight:500;line-height:1.375}:host.sm{font-size:14px;line-height:1.2857142857}:host.xs{font-size:12px;line-height:1.1666666667;padding-left:4px;padding-right:4px}:host(.success){--kirby-flag-background-color: var(--kirby-decoration-color-green-30);--kirby-flag-color: var(--kirby-black);--kirby-flag-border-color: var(--kirby-flag-background-color)}:host(.warning){--kirby-flag-background-color: var(--kirby-decoration-color-yellow-30);--kirby-flag-color: var(--kirby-black);--kirby-flag-border-color: var(--kirby-flag-background-color)}:host(.danger){--kirby-flag-background-color: var(--kirby-decoration-color-red-30);--kirby-flag-color: var(--kirby-black);--kirby-flag-border-color: var(--kirby-flag-background-color)}:host(.semi-light){--kirby-flag-background-color: var(--kirby-semi-light);--kirby-flag-color: var(--kirby-black);--kirby-flag-border-color: var(--kirby-flag-background-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.9", ngImport: i0, type: FlagComponent, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FlagComponent, decorators: [{
19
19
  type: Component,
20
20
  args: [{ standalone: true, imports: [CommonModule], selector: 'kirby-flag', template: `
21
21
  <ng-content></ng-content>
@@ -1 +1 @@
1
- {"version":3,"file":"kirbydesign-designsystem-flag.mjs","sources":["../../../../libs/designsystem/flag/src/flag.component.ts","../../../../libs/designsystem/flag/src/kirbydesign-designsystem-flag.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nexport type FlagThemeColor = 'success' | 'warning' | 'danger' | 'semi-light' | 'transparent';\n\n@Component({\n standalone: true,\n imports: [CommonModule],\n selector: 'kirby-flag',\n template: `\n <ng-content></ng-content>\n `,\n styleUrls: ['./flag.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FlagComponent {\n @Input() size: 'xs' | 'sm' | 'md' = 'md';\n @Input() themeColor: FlagThemeColor = 'transparent';\n\n @HostBinding('class')\n get _cssClass() {\n return [this.themeColor, this.size];\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;MAea,aAAa,CAAA;AAV1B,IAAA,WAAA,GAAA;QAWW,IAAI,CAAA,IAAA,GAAuB,IAAI,CAAC;QAChC,IAAU,CAAA,UAAA,GAAmB,aAAa,CAAC;AAMrD,KAAA;AAJC,IAAA,IACI,SAAS,GAAA;QACX,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;KACrC;iIAPU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAb,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EANd,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,spCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAJS,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAQX,aAAa,EAAA,UAAA,EAAA,CAAA;kBAVzB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,WACP,CAAC,YAAY,CAAC,EAAA,QAAA,EACb,YAAY,EACZ,QAAA,EAAA,CAAA;;GAET,EAEgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,spCAAA,CAAA,EAAA,CAAA;8BAGtC,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAGF,SAAS,EAAA,CAAA;sBADZ,WAAW;uBAAC,OAAO,CAAA;;;ACnBtB;;AAEG;;;;"}
1
+ {"version":3,"file":"kirbydesign-designsystem-flag.mjs","sources":["../../flag/src/flag.component.ts","../../flag/src/kirbydesign-designsystem-flag.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, HostBinding, Input } from '@angular/core';\n\nexport type FlagThemeColor = 'success' | 'warning' | 'danger' | 'semi-light' | 'transparent';\n\n@Component({\n standalone: true,\n imports: [CommonModule],\n selector: 'kirby-flag',\n template: `\n <ng-content></ng-content>\n `,\n styleUrls: ['./flag.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class FlagComponent {\n @Input() size: 'xs' | 'sm' | 'md' = 'md';\n @Input() themeColor: FlagThemeColor = 'transparent';\n\n @HostBinding('class')\n get _cssClass() {\n return [this.themeColor, this.size];\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;MAea,aAAa,CAAA;AAV1B,IAAA,WAAA,GAAA;QAWW,IAAI,CAAA,IAAA,GAAuB,IAAI,CAAC;QAChC,IAAU,CAAA,UAAA,GAAmB,aAAa,CAAC;AAMrD,KAAA;AAJC,IAAA,IACI,SAAS,GAAA;QACX,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;KACrC;kIAPU,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAb,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,aAAa,EANd,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,spCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAJS,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAQX,aAAa,EAAA,UAAA,EAAA,CAAA;kBAVzB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,IAAI,WACP,CAAC,YAAY,CAAC,EAAA,QAAA,EACb,YAAY,EACZ,QAAA,EAAA,CAAA;;GAET,EAEgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,spCAAA,CAAA,EAAA,CAAA;8BAGtC,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAGF,SAAS,EAAA,CAAA;sBADZ,WAAW;uBAAC,OAAO,CAAA;;;ACnBtB;;AAEG;;;;"}